From 5312ce2928afc8137915e7e672ce069de23f4cda Mon Sep 17 00:00:00 2001 From: evroon Date: Mon, 7 Jul 2025 13:59:13 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20evroon/b?= =?UTF-8?q?racket@06d41791f9d23c83f24dc67418fe459ddafe418f=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 4 ++-- 404/index.html | 4 ++-- .../_buildManifest.js | 0 .../_ssgManifest.js | 0 _next/static/chunks/684-2f7c32efdc20d567.js | 1 - _next/static/chunks/684-b08e78c9cdd61710.js | 1 + ...d615965e59a2.js => main-1bc2f3e9e610f99b.js} | 2 +- _pagefind/index/en_1d2e978.pf_index | Bin 0 -> 12796 bytes _pagefind/index/en_cac3de7.pf_index | Bin 12806 -> 0 bytes _pagefind/pagefind-entry.json | 2 +- _pagefind/pagefind.en_74c8d42972.pf_meta | Bin 0 -> 202 bytes _pagefind/pagefind.en_e818ac5f9a.pf_meta | Bin 202 -> 0 bytes docs/api/index.html | 6 +++--- docs/api/index.txt | 6 +++--- docs/community/contributing/index.html | 6 +++--- docs/community/contributing/index.txt | 6 +++--- docs/community/development/index.html | 10 +++++----- docs/community/development/index.txt | 6 +++--- docs/deployment/cloud-services/index.html | 6 +++--- docs/deployment/cloud-services/index.txt | 6 +++--- docs/deployment/docker/index.html | 6 +++--- docs/deployment/docker/index.txt | 6 +++--- docs/deployment/index.html | 10 +++++----- docs/deployment/index.txt | 6 +++--- docs/deployment/nomad/index.html | 6 +++--- docs/deployment/nomad/index.txt | 6 +++--- docs/deployment/systemd/index.html | 6 +++--- docs/deployment/systemd/index.txt | 6 +++--- docs/index.html | 8 ++++---- docs/index.txt | 6 +++--- docs/running-bracket/configuration/index.html | 6 +++--- docs/running-bracket/configuration/index.txt | 6 +++--- docs/running-bracket/faq/index.html | 6 +++--- docs/running-bracket/faq/index.txt | 6 +++--- docs/running-bracket/quickstart/index.html | 6 +++--- docs/running-bracket/quickstart/index.txt | 6 +++--- docs/usage/guide/index.html | 6 +++--- docs/usage/guide/index.txt | 6 +++--- docs/usage/terminology/index.html | 6 +++--- docs/usage/terminology/index.txt | 6 +++--- index.html | 6 +++--- index.txt | 4 ++-- 42 files changed, 101 insertions(+), 101 deletions(-) rename _next/static/{T2wmQs7xuL_uWhQ94OcwG => Xw7tuYg5b8RvSSBgL5-k_}/_buildManifest.js (100%) rename _next/static/{T2wmQs7xuL_uWhQ94OcwG => Xw7tuYg5b8RvSSBgL5-k_}/_ssgManifest.js (100%) delete mode 100644 _next/static/chunks/684-2f7c32efdc20d567.js create mode 100644 _next/static/chunks/684-b08e78c9cdd61710.js rename _next/static/chunks/{main-975dd615965e59a2.js => main-1bc2f3e9e610f99b.js} (60%) create mode 100644 _pagefind/index/en_1d2e978.pf_index delete mode 100644 _pagefind/index/en_cac3de7.pf_index create mode 100644 _pagefind/pagefind.en_74c8d42972.pf_meta delete mode 100644 _pagefind/pagefind.en_e818ac5f9a.pf_meta diff --git a/404.html b/404.html index 64ee651b..a1dda91c 100644 --- a/404.html +++ b/404.html @@ -1,4 +1,4 @@ -404: This page could not be found.Skip to Content

404

This page could not be found.

\ No newline at end of file +}Skip to Content

404

This page could not be found.

\ No newline at end of file diff --git a/404/index.html b/404/index.html index 64ee651b..a1dda91c 100644 --- a/404/index.html +++ b/404/index.html @@ -1,4 +1,4 @@ -404: This page could not be found.Skip to Content

404

This page could not be found.

\ No newline at end of file +}Skip to Content

404

This page could not be found.

\ No newline at end of file diff --git a/_next/static/T2wmQs7xuL_uWhQ94OcwG/_buildManifest.js b/_next/static/Xw7tuYg5b8RvSSBgL5-k_/_buildManifest.js similarity index 100% rename from _next/static/T2wmQs7xuL_uWhQ94OcwG/_buildManifest.js rename to _next/static/Xw7tuYg5b8RvSSBgL5-k_/_buildManifest.js diff --git a/_next/static/T2wmQs7xuL_uWhQ94OcwG/_ssgManifest.js b/_next/static/Xw7tuYg5b8RvSSBgL5-k_/_ssgManifest.js similarity index 100% rename from _next/static/T2wmQs7xuL_uWhQ94OcwG/_ssgManifest.js rename to _next/static/Xw7tuYg5b8RvSSBgL5-k_/_ssgManifest.js diff --git a/_next/static/chunks/684-2f7c32efdc20d567.js b/_next/static/chunks/684-2f7c32efdc20d567.js deleted file mode 100644 index a620e9a4..00000000 --- a/_next/static/chunks/684-2f7c32efdc20d567.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[684],{214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return n}}),r(6361),r(427);let n=e=>(e.startsWith("/"),e);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},300:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useSyncDevRenderIndicator",{enumerable:!0,get:function(){return n}});let r=e=>e(),n=()=>r;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},427:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},589:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},666:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function u(){throw Error("setTimeout has not been defined")}function l(){throw Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===u||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:u}catch(e){t=u}try{r="function"==typeof clearTimeout?clearTimeout:l}catch(e){r=l}}();var i=[],c=!1,s=-1;function f(){c&&n&&(c=!1,n.length?i=n.concat(i):s=-1,i.length&&d())}function d(){if(!c){var e=a(f);c=!0;for(var t=i.length;t;){for(n=i,i=[];++s1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectBoundary:function(){return f},RedirectErrorBoundary:function(){return s}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(8999),a=r(6825),i=r(2210);function c(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{n===i.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class s extends u.default.Component{static getDerivedStateFromError(e){if((0,i.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(c,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function f(e){let{children:t}=e,r=(0,l.useRouter)();return(0,o.jsx)(s,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},708:(e,t)=>{"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTML_LIMITED_BOT_UA_RE:function(){return n.HTML_LIMITED_BOT_UA_RE},HTML_LIMITED_BOT_UA_RE_STRING:function(){return u},getBotType:function(){return i},isBot:function(){return a}});let n=r(5072),o=/Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i,u=n.HTML_LIMITED_BOT_UA_RE.source;function l(e){return n.HTML_LIMITED_BOT_UA_RE.test(e)}function a(e){return o.test(e)||l(e)}function i(e){return o.test(e)?"dom":l(e)?"html":void 0}},878:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let n=r(4758),o=r(3118);function u(e,t,r,u){let{tree:l,seedData:a,head:i,isRootRender:c}=r;if(null===a)return!1;if(c){let r=a[1];t.loading=a[3],t.rsc=r,t.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,r,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},886:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return l},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let n=r(2115),o=(0,n.createContext)(null),u=(0,n.createContext)(null),l=(0,n.createContext)(null)},894:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return o}});let n=r(5155);function o(e){let{Component:t,searchParams:o,params:u,promises:l}=e;{let{createRenderSearchParamsFromClient:e}=r(7205),l=e(o),{createRenderParamsFromClient:a}=r(3558),i=a(u);return(0,n.jsx)(t,{params:i,searchParams:l})}}r(9837),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1127:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"matchSegment",{enumerable:!0,get:function(){return r}});let r=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1139:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(5227);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1315:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"assignLocation",{enumerable:!0,get:function(){return o}});let n=r(5929);function o(e,t){if(e.startsWith(".")){let r=t.origin+t.pathname;return new URL((r.endsWith("/")?r:r+"/")+e)}return new URL((0,n.addBasePath)(e),t.href)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1365:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{useReducer:function(){return a},useUnwrapState:function(){return l}});let n=r(6966)._(r(2115)),o=r(5122),u=r(300);function l(e){return(0,o.isThenable)(e)?(0,n.use)(e):e}function a(e){let[t,r]=n.default.useState(e.state),o=(0,u.useSyncDevRenderIndicator)();return[t,(0,n.useCallback)(t=>{o(()=>{e.dispatch(t,r)})},[e,o])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1426:(e,t,r)=>{"use strict";var n=r(9509),o=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),y=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,g={};function v(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}function m(){}function O(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var E=O.prototype=new m;E.constructor=O,b(E,v.prototype),E.isPureReactComponent=!0;var R=Array.isArray,P={H:null,A:null,T:null,S:null,V:null},j=Object.prototype.hasOwnProperty;function T(e,t,r,n,u,l){return{$$typeof:o,type:e,key:t,ref:void 0!==(r=l.ref)?r:null,props:l}}function S(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var M=/\/+/g;function w(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function x(){}function C(e,t,r){if(null==e)return e;var n=[],l=0;return!function e(t,r,n,l,a){var i,c,s,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case u:d=!0;break;case h:return e((d=t._init)(t._payload),r,n,l,a)}}if(d)return a=a(t),d=""===l?"."+w(t,0):l,R(a)?(n="",null!=d&&(n=d.replace(M,"$&/")+"/"),e(a,r,n,"",function(e){return e})):null!=a&&(S(a)&&(i=a,c=n+(null==a.key||t&&t.key===a.key?"":(""+a.key).replace(M,"$&/")+"/")+d,a=T(i.type,c,void 0,void 0,void 0,i.props)),r.push(a)),1;d=0;var p=""===l?".":l+":";if(R(t))for(var _=0;_{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{STATIC_STALETIME_MS:function(){return p},createSeededPrefetchCacheEntry:function(){return c},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let n=r(8586),o=r(9818),u=r(9154);function l(e,t,r){let n=e.pathname;return(t&&(n+=e.search),r)?""+r+"%"+n:n}function a(e,t,r){return l(e,t===o.PrefetchKind.FULL,r)}function i(e){let{url:t,nextUrl:r,tree:n,prefetchCache:u,kind:a,allowAliasing:i=!0}=e,c=function(e,t,r,n,u){for(let a of(void 0===t&&(t=o.PrefetchKind.TEMPORARY),[r,null])){let r=l(e,!0,a),i=l(e,!1,a),c=e.search?r:i,s=n.get(c);if(s&&u){if(s.url.pathname===e.pathname&&s.url.search!==e.search)return{...s,aliased:!0};return s}let f=n.get(i);if(u&&e.search&&t!==o.PrefetchKind.FULL&&f&&!f.key.includes("%"))return{...f,aliased:!0}}if(t!==o.PrefetchKind.FULL&&u){for(let t of n.values())if(t.url.pathname===e.pathname&&!t.key.includes("%"))return{...t,aliased:!0}}}(t,a,r,u,i);return c?(c.status=h(c),c.kind!==o.PrefetchKind.FULL&&a===o.PrefetchKind.FULL&&c.data.then(e=>{if(!(Array.isArray(e.flightData)&&e.flightData.some(e=>e.isRootRender&&null!==e.seedData)))return s({tree:n,url:t,nextUrl:r,prefetchCache:u,kind:null!=a?a:o.PrefetchKind.TEMPORARY})}),a&&c.kind===o.PrefetchKind.TEMPORARY&&(c.kind=a),c):s({tree:n,url:t,nextUrl:r,prefetchCache:u,kind:a||o.PrefetchKind.TEMPORARY})}function c(e){let{nextUrl:t,tree:r,prefetchCache:n,url:u,data:l,kind:i}=e,c=l.couldBeIntercepted?a(u,i,t):a(u,i),s={treeAtTimeOfPrefetch:r,data:Promise.resolve(l),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),staleTime:-1,key:c,status:o.PrefetchCacheEntryStatus.fresh,url:u};return n.set(c,s),s}function s(e){let{url:t,kind:r,tree:l,nextUrl:i,prefetchCache:c}=e,s=a(t,r),f=u.prefetchQueue.enqueue(()=>(0,n.fetchServerResponse)(t,{flightRouterState:l,nextUrl:i,prefetchKind:r}).then(e=>{let r;if(e.couldBeIntercepted&&(r=function(e){let{url:t,nextUrl:r,prefetchCache:n,existingCacheKey:o}=e,u=n.get(o);if(!u)return;let l=a(t,u.kind,r);return n.set(l,{...u,key:l}),n.delete(o),l}({url:t,existingCacheKey:s,nextUrl:i,prefetchCache:c})),e.prerendered){let t=c.get(null!=r?r:s);t&&(t.kind=o.PrefetchKind.FULL,-1!==e.staleTime&&(t.staleTime=e.staleTime))}return e})),d={treeAtTimeOfPrefetch:l,data:f,kind:r,prefetchTime:Date.now(),lastUsedTime:null,staleTime:-1,key:s,status:o.PrefetchCacheEntryStatus.fresh,url:t};return c.set(s,d),d}function f(e){for(let[t,r]of e)h(r)===o.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("0"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:r,lastUsedTime:n,staleTime:u}=e;return -1!==u?Date.now(){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BrowserResolvedMetadata",{enumerable:!0,get:function(){return o}});let n=r(2115);function o(e){let{promise:t}=e,{metadata:r,error:o}=(0,n.use)(t);return o?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1646:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1747:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(427);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},1818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findSourceMapURL",{enumerable:!0,get:function(){return r}});let r=void 0;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1822:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return r}});let r={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2004:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let n=r(5637);function o(e,t,r){for(let o in r[1]){let u=r[1][o][0],l=(0,n.createRouterCacheKey)(u),a=t.parallelRoutes.get(o);if(a){let t=new Map(a);t.delete(l),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2115:(e,t,r)=>{"use strict";e.exports=r(1426)},2210:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return u},isRedirectError:function(){return l}});let n=r(4420),o="NEXT_REDIRECT";var u=function(e){return e.push="push",e.replace="replace",e}({});function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,u]=t,l=t.slice(2,-2).join(";"),a=Number(t.at(-2));return r===o&&("replace"===u||"push"===u)&&"string"==typeof l&&!isNaN(a)&&a in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2223:(e,t)=>{"use strict";function r(e,t){var r=e.length;for(e.push(t);0>>1,o=e[n];if(0>>1;nu(i,r))cu(s,i)?(e[n]=s,e[c]=r,n=c):(e[n]=i,e[a]=r,n=a);else if(cu(s,r))e[n]=s,e[c]=r,n=c;else break}}return t}function u(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,b=!1,g=!1,v="function"==typeof setTimeout?setTimeout:null,m="function"==typeof clearTimeout?clearTimeout:null,O="undefined"!=typeof setImmediate?setImmediate:null;function E(e){for(var t=n(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,r(s,t);else break;t=n(f)}}function R(e){if(b=!1,E(e),!_){if(null!==n(s))_=!0,P||(P=!0,l());else{var t=n(f);null!==t&&A(R,t.startTime-e)}}}var P=!1,j=-1,T=5,S=-1;function M(){return!!g||!(t.unstable_now()-Se&&M());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,E(e),r=!0;break t}p===n(s)&&o(s),E(e)}else o(s);p=n(s)}if(null!==p)r=!0;else{var c=n(f);null!==c&&A(R,c.startTime-e),r=!1}}break e}finally{p=null,h=u,y=!1}r=void 0}}finally{r?l():P=!1}}}if("function"==typeof O)l=function(){O(w)};else if("undefined"!=typeof MessageChannel){var x=new MessageChannel,C=x.port2;x.port1.onmessage=w,l=function(){C.postMessage(null)}}else l=function(){v(w,0)};function A(e,r){j=v(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125a?(e.sortIndex=u,r(f,e),null===n(s)&&e===n(f)&&(b?(m(j),j=-1):b=!0,A(R,u-a))):(e.sortIndex=i,r(s,e),_||y||(_=!0,P||(P=!0,l()))),e},t.unstable_shouldYield=M,t.unstable_wrapCallback=function(e){var t=h;return function(){var r=h;h=t;try{return e.apply(this,arguments)}finally{h=r}}}},2312:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let n=r(5952),o=r(6420);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,r;let o=new Promise((e,n)=>{t=e,r=n}),u=async()=>{try{n._(this,l)[l]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,l)[l]--,n._(this,i)[i]()}};return n._(this,a)[a].push({promiseFn:o,task:u}),n._(this,i)[i](),o}bump(e){let t=n._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,a)[a].splice(t,1)[0];n._(this,a)[a].unshift(e),n._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),n._(this,u)[u]=e,n._(this,l)[l]=0,n._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(n._(this,l)[l]0){var t;null==(t=n._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldRenderRootLevelErrorOverlay",{enumerable:!0,get:function(){return r}});let r=()=>{var e;return!!(null==(e=window.__next_root_layout_missing_tags)?void 0:e.length)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2561:(e,t)=>{"use strict";function r(e){var t;let[r,n,o,u]=e.slice(-4),l=e.slice(0,-4);return{pathToSegment:l.slice(0,-1),segmentPath:l,segment:null!=(t=l[l.length-1])?t:"",tree:r,seedData:n,head:o,isHeadPartial:u,isRootRender:4===e.length}}function n(e){return e.slice(2)}function o(e){return"string"==typeof e?e:e.map(r)}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getFlightDataPartsFromPath:function(){return r},getNextFlightSegmentPath:function(){return n},normalizeFlightData:function(){return o}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2669:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(9248)},2691:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(5637);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];if(r.children){let[u,l]=r.children,a=t.parallelRoutes.get("children");if(a){let t=(0,n.createRouterCacheKey)(u),r=a.get(t);if(r){let n=e(r,l,o+"/"+t);if(n)return n}}}for(let u in r){if("children"===u)continue;let[l,a]=r[u],i=t.parallelRoutes.get(u);if(!i)continue;let c=(0,n.createRouterCacheKey)(l),s=i.get(c);if(!s)continue;let f=e(s,a,o+"/"+c);if(f)return f}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2816:(e,t)=>{"use strict";function r(e){let t=parseInt(e.slice(0,2),16),r=t>>1&63,n=Array(6);for(let e=0;e<6;e++){let t=r>>5-e&1;n[e]=1===t}return{type:1==(t>>7&1)?"use-cache":"server-action",usedArgs:n,hasRestArgs:1==(1&t)}}function n(e,t){let r=Array(e.length);for(let n=0;n=6&&t.hasRestArgs)&&(r[n]=e[n]);return r}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{extractInfoFromServerReferenceId:function(){return r},omitUnusedArgs:function(){return n}})},2830:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(8229)._(r(2115)).default.createContext({})},2858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=r(6494),o=r(2210);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3118:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{fillCacheWithNewSubTreeData:function(){return i},fillCacheWithNewSubTreeDataButOnlyLoading:function(){return c}});let n=r(2004),o=r(4758),u=r(5637),l=r(8291);function a(e,t,r,a,i){let{segmentPath:c,seedData:s,tree:f,head:d}=r,p=e,h=t;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},3269:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HEADER:function(){return n},FLIGHT_HEADERS:function(){return s},NEXT_DID_POSTPONE_HEADER:function(){return p},NEXT_HMR_REFRESH_HEADER:function(){return a},NEXT_IS_PRERENDER_HEADER:function(){return _},NEXT_REWRITTEN_PATH_HEADER:function(){return h},NEXT_REWRITTEN_QUERY_HEADER:function(){return y},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return l},NEXT_ROUTER_STALE_TIME_HEADER:function(){return d},NEXT_ROUTER_STATE_TREE_HEADER:function(){return o},NEXT_RSC_UNION_QUERY:function(){return f},NEXT_URL:function(){return i},RSC_CONTENT_TYPE_HEADER:function(){return c},RSC_HEADER:function(){return r}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Router-Segment-Prefetch",a="Next-HMR-Refresh",i="Next-Url",c="text/x-component",s=[r,o,u,a,l],f="_rsc",d="x-nextjs-stale-time",p="x-nextjs-postponed",h="x-nextjs-rewritten-path",y="x-nextjs-rewritten-query",_="x-nextjs-prerender";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3506:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"attachHydrationErrorState",{enumerable:!0,get:function(){return u}});let n=r(6465),o=r(9771);function u(e){let t={},r=(0,n.testReactHydrationWarning)(e.message),u=(0,n.isHydrationError)(e);if(!(u||r))return;let l=(0,o.getReactHydrationDiffSegments)(e.message);if(l){let a=l[1];t={...e.details,...o.hydrationErrorState,warning:(a&&!r?null:o.hydrationErrorState.warning)||[(0,n.getDefaultHydrationErrorMessage)()],notes:r?"":l[0],reactOutputComponentDiff:a},!o.hydrationErrorState.reactOutputComponentDiff&&a&&(o.hydrationErrorState.reactOutputComponentDiff=a),!a&&u&&o.hydrationErrorState.reactOutputComponentDiff&&(t.reactOutputComponentDiff=o.hydrationErrorState.reactOutputComponentDiff)}else o.hydrationErrorState.warning&&(t={...e.details,...o.hydrationErrorState}),o.hydrationErrorState.reactOutputComponentDiff&&(t.reactOutputComponentDiff=o.hydrationErrorState.reactOutputComponentDiff);e.details=t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3507:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return u}});let n=r(8946);function o(e){return void 0!==e}function u(e,t){var r,u;let l=null==(r=t.shouldScroll)||r,a=e.nextUrl;if(o(t.patchedTree)){let r=(0,n.computeChangedPath)(e.tree,t.patchedTree);r?a=r:a||(a=e.canonicalUrl)}return{canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!l&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:t.onlyHashChange||!1,hashFragment:l?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:l?null!=(u=null==t?void 0:t.scrollableSegments)?u:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:a}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3558:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=r(7829).makeUntrackedExoticParams;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3567:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return s}});let n=r(1139),o=r(4758),u=r(8946),l=r(1518),a=r(9818),i=r(4908),c=r(2561);function s(e){var t,r;let{initialFlightData:s,initialCanonicalUrlParts:f,initialParallelRoutes:d,location:p,couldBeIntercepted:h,postponed:y,prerendered:_}=e,b=f.join("/"),g=(0,c.getFlightDataPartsFromPath)(s[0]),{tree:v,seedData:m,head:O}=g,E={lazyData:null,rsc:null==m?void 0:m[1],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:d,loading:null!=(t=null==m?void 0:m[3])?t:null},R=p?(0,n.createHrefFromUrl)(p):b;(0,i.addRefreshMarkerToActiveParallelSegments)(v,R);let P=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(E,void 0,v,m,O,void 0);let j={tree:v,cache:E,prefetchCache:P,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:R,nextUrl:null!=(r=(0,u.extractPathFromFlightRouterState)(v)||(null==p?void 0:p.pathname))?r:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin);(0,l.createSeededPrefetchCacheEntry)({url:e,data:{flightData:[g],canonicalUrl:void 0,couldBeIntercepted:!!h,prerendered:_,postponed:y,staleTime:-1},tree:j.tree,prefetchCache:j.prefetchCache,nextUrl:j.nextUrl,kind:_?a.PrefetchKind.FULL:a.PrefetchKind.AUTO})}return j}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3612:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hmrRefreshReducer",{enumerable:!0,get:function(){return n}}),r(8586),r(1139),r(7442),r(9234),r(3894),r(3507),r(878),r(6158),r(6375),r(4108);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3668:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},3678:(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"forbidden",{enumerable:!0,get:function(){return n}}),r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{callServer:function(){return a},useServerActionDispatcher:function(){return l}});let n=r(2115),o=r(9818),u=null;function l(e){u=(0,n.useCallback)(t=>{(0,n.startTransition)(()=>{e({...t,type:o.ACTION_SERVER_ACTION})})},[e])}async function a(e,t){let r=u;if(!r)throw Object.defineProperty(Error("Invariant: missing action dispatcher."),"__NEXT_ERROR_CODE",{value:"E507",enumerable:!1,configurable:!0});return new Promise((n,o)=>{r({actionId:e,actionArgs:t,resolve:n,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3894:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return v},navigateReducer:function(){return function e(t,r){let{url:O,isExternalUrl:E,navigateType:R,shouldScroll:P,allowAliasing:j}=r,T={},{hash:S}=O,M=(0,o.createHrefFromUrl)(O),w="push"===R;if((0,_.prunePrefetchCache)(t.prefetchCache),T.preserveCustomHistoryState=!1,T.pendingPush=w,E)return v(t,T,O.toString(),w);if(document.getElementById("__next-page-redirect"))return v(t,T,M,w);let x=(0,_.getOrCreatePrefetchCacheEntry)({url:O,nextUrl:t.nextUrl,tree:t.tree,prefetchCache:t.prefetchCache,allowAliasing:j}),{treeAtTimeOfPrefetch:C,data:A}=x;return d.prefetchQueue.bump(A),A.then(d=>{let{flightData:_,canonicalUrl:E,postponed:R}=d,j=!1;if(x.lastUsedTime||(x.lastUsedTime=Date.now(),j=!0),x.aliased){let n=(0,g.handleAliasedPrefetchEntry)(t,_,O,T);return!1===n?e(t,{...r,allowAliasing:!1}):n}if("string"==typeof _)return v(t,T,_,w);let A=E?(0,o.createHrefFromUrl)(E):M;if(S&&t.canonicalUrl.split("#",1)[0]===A.split("#",1)[0])return T.onlyHashChange=!0,T.canonicalUrl=A,T.shouldScroll=P,T.hashFragment=S,T.scrollableSegments=[],(0,s.handleMutable)(t,T);let N=t.tree,D=t.cache,U=[];for(let e of _){let{pathToSegment:r,seedData:o,head:s,isHeadPartial:d,isRootRender:_}=e,g=e.tree,E=["",...r],P=(0,l.applyRouterStatePatchToTree)(E,N,g,M);if(null===P&&(P=(0,l.applyRouterStatePatchToTree)(E,C,g,M)),null!==P){if(o&&_&&R){let e=(0,y.startPPRNavigation)(D,N,g,o,s,d,!1,U);if(null!==e){if(null===e.route)return v(t,T,M,w);P=e.route;let r=e.node;null!==r&&(T.cache=r);let o=e.dynamicRequestTree;if(null!==o){let r=(0,n.fetchServerResponse)(O,{flightRouterState:o,nextUrl:t.nextUrl});(0,y.listenForDynamicRequest)(e,r)}}else P=g}else{if((0,i.isNavigatingToNewRootLayout)(N,P))return v(t,T,M,w);let n=(0,p.createEmptyCacheNode)(),o=!1;for(let t of(x.status!==c.PrefetchCacheEntryStatus.stale||j?o=(0,f.applyFlightData)(D,n,e,x):(o=function(e,t,r,n){let o=!1;for(let u of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),m(n).map(e=>[...r,...e])))(0,b.clearCacheNodeDataForSegmentPath)(e,t,u),o=!0;return o}(n,D,r,g),x.lastUsedTime=Date.now()),(0,a.shouldHardNavigate)(E,N)?(n.rsc=D.rsc,n.prefetchRsc=D.prefetchRsc,(0,u.invalidateCacheBelowFlightSegmentPath)(n,D,r),T.cache=n):o&&(T.cache=n,D=n),m(g))){let e=[...r,...t];e[e.length-1]!==h.DEFAULT_SEGMENT_KEY&&U.push(e)}}N=P}}return T.patchedTree=N,T.canonicalUrl=A,T.scrollableSegments=U,T.hashFragment=S,T.shouldScroll=P,(0,s.handleMutable)(t,T)},()=>t)}}});let n=r(8586),o=r(1139),u=r(4466),l=r(7442),a=r(5567),i=r(9234),c=r(9818),s=r(3507),f=r(878),d=r(9154),p=r(6158),h=r(8291),y=r(4150),_=r(1518),b=r(9880),g=r(5563);function v(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,s.handleMutable)(e,t)}function m(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of m(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}r(6005),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3942:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},3950:(e,t)=>{"use strict";function r(e,t){let r=e[e.length-1];(!r||r.stack!==t.stack)&&e.push(t)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"enqueueConsecutiveDedupedError",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3954:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(5444).handleGlobalErrors)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4074:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(427);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:u}=(0,n.parsePath)(e);return""+t+r+o+u}},4108:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasInterceptionRouteInCurrentTree",{enumerable:!0,get:function(){return function e(t){let[r,o]=t;if(Array.isArray(r)&&("di"===r[2]||"ci"===r[2])||"string"==typeof r&&(0,n.isInterceptionRouteAppPath)(r))return!0;if(o){for(let t in o)if(e(o[t]))return!0}return!1}}});let n=r(7755);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{abortTask:function(){return p},listenForDynamicRequest:function(){return d},startPPRNavigation:function(){return i},updateCacheNodeOnPopstateRestoration:function(){return function e(t,r){let n=r[1],o=t.parallelRoutes,l=new Map(o);for(let t in n){let r=n[t],a=r[0],i=(0,u.createRouterCacheKey)(a),c=o.get(t);if(void 0!==c){let n=c.get(i);if(void 0!==n){let o=e(n,r),u=new Map(c);u.set(i,o),l.set(t,u)}}}let a=t.rsc,i=_(a)&&"pending"===a.status;return{lazyData:null,rsc:a,head:t.head,prefetchHead:i?t.prefetchHead:[null,null],prefetchRsc:i?t.prefetchRsc:null,loading:t.loading,parallelRoutes:l}}}});let n=r(8291),o=r(1127),u=r(5637),l=r(9234),a={route:null,node:null,dynamicRequestTree:null,children:null};function i(e,t,r,l,i,f,d,p){return function e(t,r,l,i,f,d,p,h,y,_){let b=r[1],g=l[1],v=null!==f?f[2]:null;i||!0!==l[4]||(i=!0);let m=t.parallelRoutes,O=new Map(m),E={},R=null,P=!1,j={};for(let t in g){let r;let l=g[t],s=b[t],f=m.get(t),T=null!==v?v[t]:null,S=l[0],M=y.concat([t,S]),w=(0,u.createRouterCacheKey)(S),x=void 0!==s?s[0]:void 0,C=void 0!==f?f.get(w):void 0;if(null!==(r=S===n.DEFAULT_SEGMENT_KEY?void 0!==s?{route:s,node:null,dynamicRequestTree:null,children:null}:c(s,l,i,void 0!==T?T:null,d,p,M,_):h&&0===Object.keys(l[1]).length?c(s,l,i,void 0!==T?T:null,d,p,M,_):void 0!==s&&void 0!==x&&(0,o.matchSegment)(S,x)&&void 0!==C&&void 0!==s?e(C,s,l,i,T,d,p,h,M,_):c(s,l,i,void 0!==T?T:null,d,p,M,_))){if(null===r.route)return a;null===R&&(R=new Map),R.set(t,r);let e=r.node;if(null!==e){let r=new Map(f);r.set(w,e),O.set(t,r)}let n=r.route;E[t]=n;let o=r.dynamicRequestTree;null!==o?(P=!0,j[t]=o):j[t]=n}else E[t]=l,j[t]=l}if(null===R)return null;let T={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:O};return{route:s(l,E),node:T,dynamicRequestTree:P?s(l,j):null,children:R}}(e,t,r,!1,l,i,f,d,[],p)}function c(e,t,r,n,o,i,c,d){return!r&&(void 0===e||(0,l.isNavigatingToNewRootLayout)(e,t))?a:function e(t,r,n,o,l,a){if(null===r)return f(t,null,n,o,l,a);let i=t[1],c=r[4],d=0===Object.keys(i).length;if(c||o&&d)return f(t,r,n,o,l,a);let p=r[2],h=new Map,y=new Map,_={},b=!1;if(d)a.push(l);else for(let t in i){let r=i[t],c=null!==p?p[t]:null,s=r[0],f=l.concat([t,s]),d=(0,u.createRouterCacheKey)(s),g=e(r,c,n,o,f,a);h.set(t,g);let v=g.dynamicRequestTree;null!==v?(b=!0,_[t]=v):_[t]=r;let m=g.node;if(null!==m){let e=new Map;e.set(d,m),y.set(t,e)}}return{route:t,node:{lazyData:null,rsc:r[1],prefetchRsc:null,head:d?n:null,prefetchHead:null,loading:r[3],parallelRoutes:y},dynamicRequestTree:b?s(t,_):null,children:h}}(t,n,o,i,c,d)}function s(e,t){let r=[e[0],t];return 2 in e&&(r[2]=e[2]),3 in e&&(r[3]=e[3]),4 in e&&(r[4]=e[4]),r}function f(e,t,r,n,o,l){let a=s(e,e[1]);return a[3]="refetch",{route:e,node:function e(t,r,n,o,l,a){let i=t[1],c=null!==r?r[2]:null,s=new Map;for(let t in i){let r=i[t],f=null!==c?c[t]:null,d=r[0],p=l.concat([t,d]),h=(0,u.createRouterCacheKey)(d),y=e(r,void 0===f?null:f,n,o,p,a),_=new Map;_.set(h,y),s.set(t,_)}let f=0===s.size;f&&a.push(l);let d=null!==r?r[1]:null,p=null!==r?r[3]:null;return{lazyData:null,parallelRoutes:s,prefetchRsc:void 0!==d?d:null,prefetchHead:f?n:[null,null],loading:void 0!==p?p:null,rsc:b(),head:f?b():null}}(e,t,r,n,o,l),dynamicRequestTree:a,children:null}}function d(e,t){t.then(t=>{let{flightData:r}=t;if("string"!=typeof r){for(let t of r){let{segmentPath:r,tree:n,seedData:l,head:a}=t;l&&!function(e,t,r,n,l){let a=e;for(let e=0;e{p(e,t)})}function p(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)h(e.route,r,t);else for(let e of n.values())p(e,t);e.dynamicRequestTree=null}function h(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&h(t,c,r)}let l=t.rsc;_(l)&&(null===r?l.resolve(null):l.reject(r));let a=t.head;_(a)&&a.resolve(null)}let y=Symbol();function _(e){return e&&e.tag===y}function b(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=y,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4189:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},4420:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4466:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,r,u){let l=u.length<=2,[a,i]=u,c=(0,n.createRouterCacheKey)(i),s=r.parallelRoutes.get(a);if(!s)return;let f=t.parallelRoutes.get(a);if(f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f)),l){f.delete(c);return}let d=s.get(c),p=f.get(c);p&&d&&(p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes)},f.set(c,p)),e(p,d,(0,o.getNextFlightSegmentPath)(u)))}}});let n=r(5637),o=r(2561);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4486:(e,t,r)=>{"use strict";let n,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return U}});let u=r(8229),l=r(6966),a=r(5155);r(6446),r(6002),r(3954);let i=u._(r(2669)),c=l._(r(2115)),s=r(4979),f=r(2830),d=r(6698),p=r(9155),h=r(3806),y=r(1818),_=r(9692),b=u._(r(6158)),g=r(3567);r(5227);let v=r(5624);r(2332);let m=document,O=new TextEncoder,E=!1,R=!1,P=null;function j(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});o?o.enqueue(O.encode(e[1])):n.push(e[1])}else if(2===e[0])P=e[1];else if(3===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});let r=atob(e[1]),u=new Uint8Array(r.length);for(var t=0;t{e.enqueue("string"==typeof t?O.encode(t):t)}),E&&!R))null===e.desiredSize||e.desiredSize<0?e.error(Object.defineProperty(Error("The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection."),"__NEXT_ERROR_CODE",{value:"E117",enumerable:!1,configurable:!0})):e.close(),R=!0,n=void 0;o=e}(e)}}),w=(0,s.createFromReadableStream)(M,{callServer:h.callServer,findSourceMapURL:y.findSourceMapURL}),x=new Promise((e,t)=>{w.then(t=>{(0,v.setAppBuildId)(t.b),e((0,_.createMutableActionQueue)((0,g.createInitialRouterState)({initialFlightData:t.f,initialCanonicalUrlParts:t.c,initialParallelRoutes:new Map,location:window.location,couldBeIntercepted:t.i,postponed:t.s,prerendered:t.S})))},e=>t(e))});function C(){let e=(0,c.use)(w),t=(0,c.use)(x);return(0,a.jsx)(b.default,{actionQueue:t,globalErrorComponentAndStyles:e.G,assetPrefix:e.p})}let A=c.default.StrictMode;function N(e){let{children:t}=e;return t}let D={onRecoverableError:d.onRecoverableError,onCaughtError:p.onCaughtError,onUncaughtError:p.onUncaughtError};function U(){var e;let t=(0,a.jsx)(A,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(N,{children:(0,a.jsx)(C,{})})})});"__next_error__"===document.documentElement.id||(null==(e=window.__next_root_layout_missing_tags)?void 0:e.length)?i.default.createRoot(m,D).render(t):c.default.startTransition(()=>{i.default.hydrateRoot(m,t,{...D,formState:P})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4758:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,u,l,a,i){if(0===Object.keys(u[1]).length){t.head=a;return}for(let c in u[1]){let s;let f=u[1][c],d=f[0],p=(0,n.createRouterCacheKey)(d),h=null!==l&&void 0!==l[2][c]?l[2][c]:null;if(r){let n=r.parallelRoutes.get(c);if(n){let r;let u=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,l=new Map(n),s=l.get(p);r=null!==h?{lazyData:null,rsc:h[1],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==s?void 0:s.parallelRoutes)}:u&&s?{lazyData:s.lazyData,rsc:s.rsc,prefetchRsc:s.prefetchRsc,head:s.head,prefetchHead:s.prefetchHead,parallelRoutes:new Map(s.parallelRoutes),loading:s.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),loading:null},l.set(p,r),e(r,s,f,h||null,a,i),t.parallelRoutes.set(c,l);continue}}if(null!==h){let e=h[1],t=h[3];s={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else s={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let y=t.parallelRoutes.get(c);y?y.set(p,s):t.parallelRoutes.set(c,new Map([[p,s]])),e(s,void 0,f,h,a,i)}}}});let n=r(5637),o=r(9818);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4819:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let n=r(1139),o=r(8946);function u(e,t){var r;let{url:u,tree:l}=t,a=(0,n.createHrefFromUrl)(u),i=l||e.tree,c=e.cache;return{canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:c,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(i))?r:u.pathname}}r(4150),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4882:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(7102),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,r){let[n,o,,l]=t;for(let a in n.includes(u.PAGE_SEGMENT_KEY)&&"refresh"!==l&&(t[2]=r,t[3]="refresh"),o)e(o[a],r)}},refreshInactiveParallelSegments:function(){return l}});let n=r(878),o=r(8586),u=r(8291);async function l(e){let t=new Set;await a({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function a(e){let{state:t,updatedTree:r,updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c=r,canonicalUrl:s}=e,[,f,d,p]=r,h=[];if(d&&d!==s&&"refresh"===p&&!i.has(d)){i.add(d);let e=(0,o.fetchServerResponse)(new URL(d,location.origin),{flightRouterState:[c[0],c[1],c[2],"refetch"],nextUrl:l?t.nextUrl:null}).then(e=>{let{flightData:t}=e;if("string"!=typeof t)for(let e of t)(0,n.applyFlightData)(u,u,e)});h.push(e)}for(let e in f){let r=a({state:t,updatedTree:f[e],updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c,canonicalUrl:s});h.push(r)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4911:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AsyncMetadata:function(){return u},AsyncMetadataOutlet:function(){return a}});let n=r(5155),o=r(2115),u=r(1536).BrowserResolvedMetadata;function l(e){let{promise:t}=e,{error:r,digest:n}=(0,o.use)(t);if(r)throw n&&(r.digest=n),r;return null}function a(e){let{promise:t}=e;return(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(l,{promise:t})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4930:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{mountLinkInstance:function(){return c},onLinkVisibilityChanged:function(){return f},onNavigationIntent:function(){return d},pingVisibleLinks:function(){return h},unmountLinkInstance:function(){return s}}),r(9692);let n=r(6158),o=r(9818),u=r(6005),l="function"==typeof WeakMap?new WeakMap:new Map,a=new Set,i="function"==typeof IntersectionObserver?new IntersectionObserver(function(e){for(let t of e){let e=t.intersectionRatio>0;f(t.target,e)}},{rootMargin:"200px"}):null;function c(e,t,r,o){let u=null;try{if(u=(0,n.createPrefetchURL)(t),null===u)return}catch(e){("function"==typeof reportError?reportError:console.error)("Cannot prefetch '"+t+"' because it cannot be converted to a URL.");return}let a={prefetchHref:u.href,router:r,kind:o,isVisible:!1,wasHoveredOrTouched:!1,prefetchTask:null,cacheVersion:-1};void 0!==l.get(e)&&s(e),l.set(e,a),null!==i&&i.observe(e)}function s(e){let t=l.get(e);if(void 0!==t){l.delete(e),a.delete(t);let r=t.prefetchTask;null!==r&&(0,u.cancelPrefetchTask)(r)}null!==i&&i.unobserve(e)}function f(e,t){let r=l.get(e);void 0!==r&&(r.isVisible=t,t?a.add(r):a.delete(r),p(r))}function d(e){let t=l.get(e);void 0!==t&&void 0!==t&&(t.wasHoveredOrTouched=!0,p(t))}function p(e){let t=e.prefetchTask;if(!e.isVisible){null!==t&&(0,u.cancelPrefetchTask)(t);return}!function(e){(async()=>e.router.prefetch(e.prefetchHref,{kind:e.kind}))().catch(e=>{})}(e)}function h(e,t){let r=(0,u.getCurrentCacheVersion)();for(let n of a){let l=n.prefetchTask;if(null!==l&&n.cacheVersion===r&&l.key.nextUrl===e&&l.treeAtTimeOfPrefetch===t)continue;null!==l&&(0,u.cancelPrefetchTask)(l);let a=(0,u.createCacheKey)(n.prefetchHref,e),i=n.wasHoveredOrTouched?u.PrefetchPriority.Intent:u.PrefetchPriority.Default;n.prefetchTask=(0,u.schedulePrefetchTask)(a,t,n.kind===o.PrefetchKind.FULL,i),n.cacheVersion=(0,u.getCurrentCacheVersion)()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientSegmentRoot",{enumerable:!0,get:function(){return o}});let n=r(5155);function o(e){let{Component:t,slots:o,params:u,promise:l}=e;{let{createRenderParamsFromClient:e}=r(3558),l=e(u);return(0,n.jsx)(t,{...o,params:l})}}r(9837),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4979:(e,t,r)=>{"use strict";e.exports=r(7197)},5072:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTML_LIMITED_BOT_UA_RE",{enumerable:!0,get:function(){return r}});let r=/Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview/i},5122:(e,t)=>{"use strict";function r(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isThenable",{enumerable:!0,get:function(){return r}})},5128:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return c}});let n=r(8229),o=n._(r(2115)),u=n._(r(5807)),l=r(9148),a="react-stack-bottom-frame",i=RegExp("(at "+a+" )|("+a+"\\@)");function c(e){let t=(0,u.default)(e),r=t&&e.stack||"",n=t?e.message:"",a=r.split("\n"),c=a.findIndex(e=>i.test(e)),s=c>=0?a.slice(0,c).join("\n"):r,f=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return Object.assign(f,e),(0,l.copyNextErrorCode)(e,f),f.stack=s,function(e){if(!o.default.captureOwnerStack)return;let t=e.stack||"",r=o.default.captureOwnerStack();r&&!1===t.endsWith(r)&&(e.stack=t+=r)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5155:(e,t,r)=>{"use strict";e.exports=r(6897)},5169:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatConsoleArgs:function(){return u},parseConsoleArgs:function(){return l}});let n=r(8229)._(r(5807));function o(e,t){switch(typeof e){case"object":if(null===e)return"null";if(Array.isArray(e)){let r="[";if(t<1)for(let n=0;n0?"...":"";return r+"]"}{if(e instanceof Error)return e+"";let r=Object.keys(e),n="{";if(t<1)for(let u=0;u0?"...":"";return n+"}"}case"string":return JSON.stringify(e);default:return String(e)}}function u(e){let t,r;"string"==typeof e[0]?(t=e[0],r=1):(t="",r=0);let n="",u=!1;for(let l=0;l=e.length){n+=a;continue}let i=t[++l];switch(i){case"c":n=u?""+n+"]":"["+n,u=!u,r++;break;case"O":case"o":n+=o(e[r++],0);break;case"d":case"i":n+=parseInt(e[r++],10);break;case"f":n+=parseFloat(e[r++]);break;case"s":n+=String(e[r++]);break;default:n+="%"+i}}for(;r0?" ":"")+o(e[r],0);return n}function l(e){if(e.length>3&&"string"==typeof e[0]&&e[0].startsWith("%c%s%c ")&&"string"==typeof e[1]&&"string"==typeof e[2]&&"string"==typeof e[3]){let t=e[2],r=e[4];return{environmentName:t.trim(),error:(0,n.default)(r)?r:null}}return{environmentName:null,error:null}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5209:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},5227:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return a}});let n=r(8229)._(r(2115)),o=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(new Set)},5262:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},5415:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(5449),(0,r(6188).appBootstrap)(()=>{let{hydrate:e}=r(4486);r(6158),r(7555),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5444:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleClientError:function(){return g},handleGlobalErrors:function(){return E},useErrorHandler:function(){return v}});let n=r(8229),o=r(2115),u=r(3506),l=r(2858),a=r(9771),i=r(5169),c=n._(r(5807)),s=r(6043),f=r(3950),d=r(5128),p=globalThis.queueMicrotask||(e=>Promise.resolve().then(e)),h=[],y=[],_=[],b=[];function g(e,t,r){let n;if(void 0===r&&(r=!1),e&&(0,c.default)(e))n=r?(0,s.createUnhandledError)(e):e;else{let e=(0,i.formatConsoleArgs)(t),{environmentName:r}=(0,i.parseConsoleArgs)(t);n=(0,s.createUnhandledError)(e,r)}for(let e of(n=(0,d.getReactStitchedError)(n),(0,a.storeHydrationErrorStateFromConsoleArgs)(...t),(0,u.attachHydrationErrorState)(n),(0,f.enqueueConsecutiveDedupedError)(h,n),y))p(()=>{e(n)})}function v(e,t){(0,o.useEffect)(()=>(h.forEach(e),_.forEach(t),y.push(e),b.push(t),()=>{y.splice(y.indexOf(e),1),b.splice(b.indexOf(t),1),h.splice(0,h.length),_.splice(0,_.length)}),[e,t])}function m(e){if((0,l.isNextRouterError)(e.error))return e.preventDefault(),!1;e.error&&g(e.error,[])}function O(e){let t=null==e?void 0:e.reason;if((0,l.isNextRouterError)(t)){e.preventDefault();return}let r=t;for(let e of(r&&!(0,c.default)(r)&&(r=(0,s.createUnhandledError)(r+"")),_.push(r),b))e(r)}function E(){try{Error.stackTraceLimit=50}catch(e){}window.addEventListener("error",m),window.addEventListener("unhandledrejection",O)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5449:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3668);let n=r(589);{let e=r.u;r.u=function(){for(var t=arguments.length,r=Array(t),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let n=r(8586),o=r(1139),u=r(7442),l=r(9234),a=r(3894),i=r(3507),c=r(4758),s=r(6158),f=r(6375),d=r(4108),p=r(4908);function h(e,t){let{origin:r}=t,h={},y=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let b=(0,s.createEmptyCacheNode)(),g=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return b.lazyData=(0,n.fetchServerResponse)(new URL(y,r),{flightRouterState:[_[0],_[1],_[2],"refetch"],nextUrl:g?e.nextUrl:null}),b.lazyData.then(async r=>{let{flightData:n,canonicalUrl:s}=r;if("string"==typeof n)return(0,a.handleExternalUrl)(e,h,n,e.pushRef.pendingPush);for(let r of(b.lazyData=null,n)){let{tree:n,seedData:i,head:d,isRootRender:v}=r;if(!v)return console.log("REFRESH FAILED"),e;let m=(0,u.applyRouterStatePatchToTree)([""],_,n,e.canonicalUrl);if(null===m)return(0,f.handleSegmentMismatch)(e,t,n);if((0,l.isNavigatingToNewRootLayout)(_,m))return(0,a.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let O=s?(0,o.createHrefFromUrl)(s):void 0;if(s&&(h.canonicalUrl=O),null!==i){let e=i[1],t=i[3];b.rsc=e,b.prefetchRsc=null,b.loading=t,(0,c.fillLazyItemsTillLeafWithHead)(b,void 0,n,i,d,void 0),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:m,updatedCache:b,includeNextUrl:g,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=b,h.patchedTree=m,_=m}return(0,i.handleMutable)(e,h)},()=>e)}r(6005),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5563:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addSearchParamsToPageSegments:function(){return f},handleAliasedPrefetchEntry:function(){return s}});let n=r(8291),o=r(6158),u=r(7442),l=r(1139),a=r(5637),i=r(3118),c=r(3507);function s(e,t,r,s){let d,p=e.tree,h=e.cache,y=(0,l.createHrefFromUrl)(r);if("string"==typeof t)return!1;for(let e of t){if(!function e(t){if(!t)return!1;let r=t[2];if(t[3])return!0;for(let t in r)if(e(r[t]))return!0;return!1}(e.seedData))continue;let t=e.tree;t=f(t,Object.fromEntries(r.searchParams));let{seedData:l,isRootRender:c,pathToSegment:s}=e,_=["",...s];t=f(t,Object.fromEntries(r.searchParams));let b=(0,u.applyRouterStatePatchToTree)(_,p,t,y),g=(0,o.createEmptyCacheNode)();if(c&&l){let e=l[1];g.loading=l[3],g.rsc=e,function e(t,r,o,u){if(0!==Object.keys(o[1]).length)for(let l in o[1]){let i;let c=o[1][l],s=c[0],f=(0,a.createRouterCacheKey)(s),d=null!==u&&void 0!==u[2][l]?u[2][l]:null;if(null!==d){let e=d[1],t=d[3];i={lazyData:null,rsc:s.includes(n.PAGE_SEGMENT_KEY)?null:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else i={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let p=t.parallelRoutes.get(l);p?p.set(f,i):t.parallelRoutes.set(l,new Map([[f,i]])),e(i,r,c,d)}}(g,h,t,l)}else g.rsc=h.rsc,g.prefetchRsc=h.prefetchRsc,g.loading=h.loading,g.parallelRoutes=new Map(h.parallelRoutes),(0,i.fillCacheWithNewSubTreeDataButOnlyLoading)(g,h,e);b&&(p=b,h=g,d=!0)}return!!d&&(s.patchedTree=p,s.cache=h,s.canonicalUrl=y,s.hashFragment=r.hash,(0,c.handleMutable)(e,s))}function f(e,t){let[r,o,...u]=e;if(r.includes(n.PAGE_SEGMENT_KEY))return[(0,n.addSearchParamsIfPageSegment)(r,t),o,...u];let l={};for(let[e,r]of Object.entries(o))l[e]=f(r,t);return[r,l,...u]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5567:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[u,l]=r,[a,i]=t;return(0,o.matchSegment)(a,u)?!(t.length<=2)&&e((0,n.getNextFlightSegmentPath)(t),l[i]):!!Array.isArray(a)}}});let n=r(2561),o=r(1127);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5618:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return s},RedirectType:function(){return o.RedirectType},forbidden:function(){return l.forbidden},notFound:function(){return u.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return a.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow}});let n=r(6825),o=r(2210),u=r(8527),l=r(3678),a=r(9187),i=r(7599);class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class s extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5624:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getAppBuildId:function(){return o},setAppBuildId:function(){return n}});let r="";function n(e){r=e}function o(){return r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5637:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(8291);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return u}});let n=r(5209);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function u(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},5929:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let n=r(4074),o=r(214);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5952:(e,t,r)=>{"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:()=>n})},6002:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(6905).patchConsoleError)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6005:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NavigationResultTag:function(){return f},PrefetchPriority:function(){return d},bumpPrefetchTask:function(){return c},cancelPrefetchTask:function(){return i},createCacheKey:function(){return s},getCurrentCacheVersion:function(){return l},navigate:function(){return o},prefetch:function(){return n},revalidateEntireCache:function(){return u},schedulePrefetchTask:function(){return a}});let r=()=>{throw Object.defineProperty(Error("Segment Cache experiment is not enabled. This is a bug in Next.js."),"__NEXT_ERROR_CODE",{value:"E654",enumerable:!1,configurable:!0})},n=r,o=r,u=r,l=r,a=r,i=r,c=r,s=r;var f=function(e){return e[e.MPA=0]="MPA",e[e.Success=1]="Success",e[e.NoOp=2]="NoOp",e[e.Async=3]="Async",e}({}),d=function(e){return e[e.Intent=2]="Intent",e[e.Default=1]="Default",e[e.Background=0]="Background",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6043:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createUnhandledError:function(){return o},getUnhandledErrorType:function(){return l},isUnhandledConsoleOrRejection:function(){return u}});let r=Symbol.for("next.console.error.digest"),n=Symbol.for("next.console.error.type");function o(e,t){let o="string"==typeof e?Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}):e;return o[r]="NEXT_UNHANDLED_ERROR",o[n]="string"==typeof e?"string":"error",t&&!o.environmentName&&(o.environmentName=t),o}let u=e=>e&&"NEXT_UNHANDLED_ERROR"===e[r],l=e=>e[n];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6158:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createEmptyCacheNode:function(){return x},createPrefetchURL:function(){return M},default:function(){return D}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(5227),a=r(9818),i=r(1139),c=r(886),s=r(1365),f=n._(r(6614)),d=r(774),p=r(5929),h=r(7760),y=r(686),_=r(2691),b=r(1822),g=r(4882),v=r(7102),m=r(8946),O=r(8836),E=r(3806);r(6005);let R=r(6825),P=r(2210),j=r(9154);r(4930);let T={};function S(e){return e.origin!==window.location.origin}function M(e){let t;if((0,d.isBot)(window.navigator.userAgent))return null;try{t=new URL((0,p.addBasePath)(e),window.location.href)}catch(t){throw Object.defineProperty(Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL."),"__NEXT_ERROR_CODE",{value:"E234",enumerable:!1,configurable:!0})}return S(t)?null:t}function w(e){let{appRouterState:t}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:n}=t,o={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==n?(r.pendingPush=!1,window.history.pushState(o,"",n)):window.history.replaceState(o,"",n)},[t]),(0,u.useEffect)(()=>{},[t.nextUrl,t.tree]),null}function x(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null}}function C(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function A(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,u.useDeferredValue)(r,o)}function N(e){let t,{actionQueue:r,assetPrefix:n,globalError:i}=e,[d,O]=(0,s.useReducer)(r),{canonicalUrl:x}=(0,s.useUnwrapState)(d),{searchParams:N,pathname:D}=(0,u.useMemo)(()=>{let e=new URL(x,window.location.href);return{searchParams:e.searchParams,pathname:(0,v.hasBasePath)(e.pathname)?(0,g.removeBasePath)(e.pathname):e.pathname}},[x]),U=(0,u.useCallback)(e=>{let{previousTree:t,serverResponse:r}=e;(0,u.startTransition)(()=>{O({type:a.ACTION_SERVER_PATCH,previousTree:t,serverResponse:r})})},[O]),k=(0,u.useCallback)((e,t,r)=>{let n=new URL((0,p.addBasePath)(e),location.href);return O({type:a.ACTION_NAVIGATE,url:n,isExternalUrl:S(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t,allowAliasing:!0})},[O]);(0,E.useServerActionDispatcher)(O);let I=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let n=M(e);if(null!==n){var o;(0,j.prefetchReducer)(r.state,{type:a.ACTION_PREFETCH,url:n,kind:null!=(o=null==t?void 0:t.kind)?o:a.PrefetchKind.FULL})}},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;k(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;k(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,u.startTransition)(()=>{O({type:a.ACTION_REFRESH,origin:window.location.origin})})},hmrRefresh:()=>{throw Object.defineProperty(Error("hmrRefresh can only be used in development mode. Please use refresh instead."),"__NEXT_ERROR_CODE",{value:"E485",enumerable:!1,configurable:!0})}}),[r,O,k]);(0,u.useEffect)(()=>{window.next&&(window.next.router=I)},[I]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(T.pendingMpaPath=void 0,O({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[O]),(0,u.useEffect)(()=>{function e(e){let t="reason"in e?e.reason:e.error;if((0,P.isRedirectError)(t)){e.preventDefault();let r=(0,R.getURLFromRedirectError)(t);(0,R.getRedirectTypeFromError)(t)===P.RedirectType.push?I.push(r,{}):I.replace(r,{})}}return window.addEventListener("error",e),window.addEventListener("unhandledrejection",e),()=>{window.removeEventListener("error",e),window.removeEventListener("unhandledrejection",e)}},[I]);let{pushRef:H}=(0,s.useUnwrapState)(d);if(H.mpaNavigation){if(T.pendingMpaPath!==x){let e=window.location;H.pendingPush?e.assign(x):e.replace(x),T.pendingMpaPath=x}(0,u.use)(b.unresolvedThenable)}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{var t;let r=window.location.href,n=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,u.startTransition)(()=>{O({type:a.ACTION_RESTORE,url:new URL(null!=e?e:r,r),tree:n})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=C(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=C(e),o&&r(o)),t(e,n,o)};let n=e=>{if(e.state){if(!e.state.__NA){window.location.reload();return}(0,u.startTransition)(()=>{O({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:e.state.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[O]);let{cache:F,tree:B,nextUrl:W,focusAndScrollRef:$}=(0,s.useUnwrapState)(d),K=(0,u.useMemo)(()=>(0,_.findHeadInCache)(F,B[1]),[F,B]),X=(0,u.useMemo)(()=>(0,m.getSelectedParams)(B),[B]),z=(0,u.useMemo)(()=>({parentTree:B,parentCacheNode:F,parentSegmentPath:null,url:x}),[B,F,x]),G=(0,u.useMemo)(()=>({changeByServerResponse:U,tree:B,focusAndScrollRef:$,nextUrl:W}),[U,B,$,W]);if(null!==K){let[e,r]=K;t=(0,o.jsx)(A,{headCacheNode:e},r)}else t=null;let V=(0,o.jsxs)(y.RedirectBoundary,{children:[t,F.rsc,(0,o.jsx)(h.AppRouterAnnouncer,{tree:B})]});return V=(0,o.jsx)(f.ErrorBoundary,{errorComponent:i[0],errorStyles:i[1],children:V}),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{appRouterState:(0,s.useUnwrapState)(d)}),(0,o.jsx)(L,{}),(0,o.jsx)(c.PathParamsContext.Provider,{value:X,children:(0,o.jsx)(c.PathnameContext.Provider,{value:D,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:N,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:G,children:(0,o.jsx)(l.AppRouterContext.Provider,{value:I,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:z,children:V})})})})})})]})}function D(e){let{actionQueue:t,globalErrorComponentAndStyles:[r,n],assetPrefix:u}=e;return(0,O.useNavFailureHandler)(),(0,o.jsx)(f.ErrorBoundary,{errorComponent:f.default,children:(0,o.jsx)(N,{actionQueue:t,assetPrefix:u,globalError:[r,n]})})}let U=new Set,k=new Set;function L(){let[,e]=u.default.useState(0),t=U.size;return(0,u.useEffect)(()=>{let r=()=>e(e=>e+1);return k.add(r),t!==U.size&&r(),()=>{k.delete(r)}},[t,e]),[...U].map((e,t)=>(0,o.jsx)("link",{rel:"stylesheet",href:""+e,precedence:"next"},t))}globalThis._N_E_STYLE_LOAD=function(e){let t=U.size;return U.add(e),U.size!==t&&k.forEach(e=>e()),Promise.resolve()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6188:(e,t)=>{"use strict";function r(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,n]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(n)for(let e in n)"children"!==e&&o.setAttribute(e,n[e]);r?(o.src=r,o.onload=()=>e(),o.onerror=t):n&&(o.innerHTML=n.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return r}}),window.next={version:"15.2.4",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6206:(e,t,r)=>{"use strict";e.exports=r(2223)},6361:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},6375:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let n=r(3894);function o(e,t,r){return(0,n.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6420:(e,t,r)=>{"use strict";r.r(t),r.d(t,{_:()=>o});var n=0;function o(e){return"__private_"+n+++"_"+e}},6446:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},6465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NEXTJS_HYDRATION_ERROR_LINK:function(){return i},REACT_HYDRATION_ERROR_LINK:function(){return a},getDefaultHydrationErrorMessage:function(){return c},getHydrationErrorStackInfo:function(){return h},isHydrationError:function(){return s},isReactHydrationErrorMessage:function(){return f},testReactHydrationWarning:function(){return p}});let n=r(8229)._(r(5807)),o=/hydration failed|while hydrating|content does not match|did not match|HTML didn't match/i,u="Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:",l=[u,"A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:"],a="https://react.dev/link/hydration-mismatch",i="https://nextjs.org/docs/messages/react-hydration-error",c=()=>u;function s(e){return(0,n.default)(e)&&o.test(e.message)}function f(e){return l.some(t=>e.startsWith(t))}let d=[/^In HTML, (.+?) cannot be a child of <(.+?)>\.(.*)\nThis will cause a hydration error\.(.*)/,/^In HTML, (.+?) cannot be a descendant of <(.+?)>\.\nThis will cause a hydration error\.(.*)/,/^In HTML, text nodes cannot be a child of <(.+?)>\.\nThis will cause a hydration error\./,/^In HTML, whitespace text nodes cannot be a child of <(.+?)>\. Make sure you don't have any extra whitespace between tags on each line of your source code\.\nThis will cause a hydration error\./,/^Expected server HTML to contain a matching <(.+?)> in <(.+?)>\.(.*)/,/^Did not expect server HTML to contain a <(.+?)> in <(.+?)>\.(.*)/,/^Expected server HTML to contain a matching text node for "(.+?)" in <(.+?)>\.(.*)/,/^Did not expect server HTML to contain the text node "(.+?)" in <(.+?)>\.(.*)/,/^Text content did not match\. Server: "(.+?)" Client: "(.+?)"(.*)/];function p(e){return"string"==typeof e&&!!e&&(e.startsWith("Warning: ")&&(e=e.slice(9)),d.some(t=>t.test(e)))}function h(e){let t=p(e=(e=e.replace(/^Error: /,"")).replace("Warning: ",""));if(!f(e)&&!t)return{message:null,stack:e,diff:""};if(t){let[t,r]=e.split("\n\n");return{message:t.trim(),stack:"",diff:(r||"").trim()}}let r=e.indexOf("\n"),[n,o]=(e=e.slice(r+1).trim()).split(""+a),u=n.trim();if(!o||!(o.length>1))return{message:u,stack:o};{let e=[],t=[];return o.split("\n").forEach(r=>{""!==r.trim()&&(r.trim().startsWith("at ")?e.push(r):t.push(r))}),{message:u,diff:t.join("\n"),stack:e.join("\n")}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6494:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return a},getAccessFallbackHTTPStatus:function(){return l},isHTTPAccessFallbackError:function(){return u}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function l(e){return Number(e.digest.split(";")[1])}function a(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6614:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let n=r(8229),o=r(5155),u=n._(r(2115)),l=r(9921),a=r(2858);r(8836);let i=void 0,c={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function s(e){let{error:t}=e;if(i){let e=i.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}class f extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(s,{error:t}),(0,o.jsx)("div",{style:c.error,children:(0,o.jsxs)("div",{children:[(0,o.jsxs)("h2",{style:c.text,children:["Application error: a ",r?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",r?"server logs":"browser console"," for more information)."]}),r?(0,o.jsx)("p",{style:c.text,children:"Digest: "+r}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:u}=e,a=(0,l.useUntrackedPathname)();return t?(0,o.jsx)(f,{pathname:a,errorComponent:t,errorStyles:r,errorScripts:n,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6698:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return i}});let n=r(8229),o=r(5262),u=r(1646),l=r(5128),a=n._(r(5807)),i=(e,t)=>{let r=(0,a.default)(e)&&"cause"in e?e.cause:e,n=(0,l.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,u.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6825:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getRedirectError:function(){return l},getRedirectStatusCodeFromError:function(){return f},getRedirectTypeFromError:function(){return s},getURLFromRedirectError:function(){return c},permanentRedirect:function(){return i},redirect:function(){return a}});let n=r(4420),o=r(2210),u=void 0;function l(e,t,r){void 0===r&&(r=n.RedirectStatusCode.TemporaryRedirect);let u=Object.defineProperty(Error(o.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return u.digest=o.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",u}function a(e,t){var r;throw null!=t||(t=(null==u?void 0:null==(r=u.getStore())?void 0:r.isAction)?o.RedirectType.push:o.RedirectType.replace),l(e,t,n.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=o.RedirectType.replace),l(e,t,n.RedirectStatusCode.PermanentRedirect)}function c(e){return(0,o.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function s(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function f(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6897:(e,t)=>{"use strict";var r=Symbol.for("react.transitional.element");function n(e,t,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in n={},t)"key"!==u&&(n[u]=t[u]);else n=t;return{$$typeof:r,type:e,key:o,ref:void 0!==(t=n.ref)?t:null,props:n}}t.Fragment=Symbol.for("react.fragment"),t.jsx=n,t.jsxs=n},6905:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{originConsoleError:function(){return o},patchConsoleError:function(){return u}}),r(8229),r(5807);let n=r(2858);r(5444),r(5169);let o=globalThis.console.error;function u(){window.console.error=function(){let e;for(var t=arguments.length,r=Array(t),u=0;u{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var a=u?Object.getOwnPropertyDescriptor(e,l):null;a&&(a.get||a.set)?Object.defineProperty(o,l,a):o[l]=e[l]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})},6975:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return s}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(9921),a=r(6494);r(3230);let i=r(5227);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,a.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:u}=this.state,l={[a.HTTPAccessErrorStatus.NOT_FOUND]:e,[a.HTTPAccessErrorStatus.FORBIDDEN]:t,[a.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(u){let i=u===a.HTTPAccessErrorStatus.NOT_FOUND&&e,c=u===a.HTTPAccessErrorStatus.FORBIDDEN&&t,s=u===a.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return i||c||s?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,l[u]]}):n}return n}constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}}function s(e){let{notFound:t,forbidden:r,unauthorized:n,children:a}=e,s=(0,l.useUntrackedPathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t||r||n?(0,o.jsx)(c,{pathname:s,notFound:t,forbidden:r,unauthorized:n,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7102:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(1747);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7197:(e,t,r)=>{"use strict";e.exports=r(9062)},7205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=r(8324).makeUntrackedExoticSearchParams;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let n=r(9133),o=r(8291);function u(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},7442:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,r,n,i){let c;let[s,f,d,p,h]=r;if(1===t.length){let e=a(r,n);return(0,l.addRefreshMarkerToActiveParallelSegments)(e,i),e}let[y,_]=t;if(!(0,u.matchSegment)(y,s))return null;if(2===t.length)c=a(f[_],n);else if(null===(c=e((0,o.getNextFlightSegmentPath)(t),f[_],n,i)))return null;let b=[t[0],{...f,[_]:c},d,p];return h&&(b[4]=!0),(0,l.addRefreshMarkerToActiveParallelSegments)(b,i),b}}});let n=r(8291),o=r(2561),u=r(1127),l=r(4908);function a(e,t){let[r,o]=e,[l,i]=t;if(l===n.DEFAULT_SEGMENT_KEY&&r!==n.DEFAULT_SEGMENT_KEY)return e;if((0,u.matchSegment)(r,l)){let t={};for(let e in o)void 0!==i[e]?t[e]=a(o[e],i[e]):t[e]=o[e];for(let e in i)!t[e]&&(t[e]=i[e]);let n=[r,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7541:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{describeHasCheckingStringProperty:function(){return o},describeStringPropertyAccess:function(){return n},wellKnownProperties:function(){return u}});let r=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function n(e,t){return r.test(t)?"`"+e+"."+t+"`":"`"+e+"["+JSON.stringify(t)+"]`"}function o(e,t){let r=JSON.stringify(t);return"`Reflect.has("+e+", "+r+")`, `"+r+" in "+e+"`, or similar"}let u=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","toJSON","$$typeof","__esModule"])},7555:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return j}});let n=r(8229),o=r(6966),u=r(5155),l=o._(r(2115)),a=n._(r(7650)),i=r(5227),c=r(8586),s=r(1822),f=r(6614),d=r(1127),p=r(4189),h=r(686),y=r(6975),_=r(5637),b=r(4108),g=a.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v=["bottom","height","left","right","top","width","x","y"];function m(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class O extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r=function(e){var t;return"top"===e?document.body:null!=(t=document.getElementById(e))?t:document.getElementsByName(e)[0]}(n)),!r)r=(0,g.findDOMNode)(this);if(!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return v.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(n){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!m(r,t)&&(e.scrollTop=0,m(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function E(e){let{segmentPath:t,children:r}=e,n=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!n)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,u.jsx)(O,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function R(e){let{tree:t,segmentPath:r,cacheNode:n,url:o}=e,a=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!a)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let{changeByServerResponse:f,tree:p}=a,h=null!==n.prefetchRsc?n.prefetchRsc:n.rsc,y=(0,l.useDeferredValue)(n.rsc,h),_="object"==typeof y&&null!==y&&"function"==typeof y.then?(0,l.use)(y):y;if(!_){let e=n.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,u=2===t.length;if((0,d.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(u){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...r],p),u=(0,b.hasInterceptionRouteInCurrentTree)(p);n.lazyData=e=(0,c.fetchServerResponse)(new URL(o,location.origin),{flightRouterState:t,nextUrl:u?a.nextUrl:null}).then(e=>((0,l.startTransition)(()=>{f({previousTree:p,serverResponse:e})}),e)),(0,l.use)(e)}(0,l.use)(s.unresolvedThenable)}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{parentTree:t,parentCacheNode:n,parentSegmentPath:r,url:o},children:_})}function P(e){let t,{loading:r,children:n}=e;if(t="object"==typeof r&&null!==r&&"function"==typeof r.then?(0,l.use)(r):r){let e=t[0],r=t[1],o=t[2];return(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[r,o,e]}),children:n})}return(0,u.jsx)(u.Fragment,{children:n})}function j(e){let{parallelRouterKey:t,error:r,errorStyles:n,errorScripts:o,templateStyles:a,templateScripts:c,template:s,notFound:d,forbidden:p,unauthorized:b}=e,g=(0,l.useContext)(i.LayoutRouterContext);if(!g)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:v,parentCacheNode:m,parentSegmentPath:O,url:j}=g,T=m.parallelRoutes,S=T.get(t);S||(S=new Map,T.set(t,S));let M=v[0],w=v[1][t],x=w[0],C=null===O?[t]:O.concat([M,t]),A=(0,_.createRouterCacheKey)(x),N=(0,_.createRouterCacheKey)(x,!0),D=S.get(A);if(void 0===D){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};D=e,S.set(A,e)}let U=m.loading;return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(E,{segmentPath:C,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:n,errorScripts:o,children:(0,u.jsx)(P,{loading:U,children:(0,u.jsx)(y.HTTPAccessFallbackBoundary,{notFound:d,forbidden:p,unauthorized:b,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(R,{url:j,tree:w,cacheNode:D,segmentPath:C})})})})})}),children:[a,c,s]},N)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=r(6966)._(r(2115)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},7599:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n=r(7865).unstable_rethrow;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7650:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(8730)},7755:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return l},isInterceptionRouteAppPath:function(){return u}});let n=r(7276),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,r,u;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,u]=e.split(r,2);break}if(!t||!r||!u)throw Object.defineProperty(Error("Invalid interception route: "+e+". Must be in the format //(..|...|..)(..)/"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":u="/"===t?"/"+u:t+"/"+u;break;case"(..)":if("/"===t)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});u=l.slice(0,-2).concat(u).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:t,interceptedRoute:u}}},7760:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AppRouterAnnouncer",{enumerable:!0,get:function(){return l}});let n=r(2115),o=r(7650),u="next-route-announcer";function l(e){let{tree:t}=e,[r,l]=(0,n.useState)(null);(0,n.useEffect)(()=>(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,n.useState)(""),c=(0,n.useRef)(void 0);return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),r?(0,o.createPortal)(a,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return s}});let n=r(1139),o=r(7442),u=r(9234),l=r(3894),a=r(878),i=r(3507),c=r(6158);function s(e,t){let{serverResponse:{flightData:r,canonicalUrl:s}}=t,f={};if(f.preserveCustomHistoryState=!1,"string"==typeof r)return(0,l.handleExternalUrl)(e,f,r,e.pushRef.pendingPush);let d=e.tree,p=e.cache;for(let t of r){let{segmentPath:r,tree:i}=t,h=(0,o.applyRouterStatePatchToTree)(["",...r],d,i,e.canonicalUrl);if(null===h)return e;if((0,u.isNavigatingToNewRootLayout)(d,h))return(0,l.handleExternalUrl)(e,f,e.canonicalUrl,e.pushRef.pendingPush);let y=s?(0,n.createHrefFromUrl)(s):void 0;y&&(f.canonicalUrl=y);let _=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(p,_,t),f.patchedTree=h,f.cache=_,p=_,d=h}return(0,i.handleMutable)(e,f)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7829:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeUntrackedExoticParams",{enumerable:!0,get:function(){return u}});let n=r(7541),o=new WeakMap;function u(e){let t=o.get(e);if(t)return t;let r=Promise.resolve(e);return o.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7865:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=r(5262),o=r(2858);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8229:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},8287:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{METADATA_BOUNDARY_NAME:function(){return r},OUTLET_BOUNDARY_NAME:function(){return o},VIEWPORT_BOUNDARY_NAME:function(){return n}});let r="__next_metadata_boundary__",n="__next_viewport_boundary__",o="__next_outlet_boundary__"},8291:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(u)){let e=JSON.stringify(t);return"{}"!==e?u+"?"+e:u}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return l},PAGE_SEGMENT_KEY:function(){return u},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let u="__PAGE__",l="__DEFAULT__"},8324:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeUntrackedExoticSearchParams",{enumerable:!0,get:function(){return u}});let n=r(7541),o=new WeakMap;function u(e){let t=o.get(e);if(t)return t;let r=Promise.resolve(e);return o.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"notFound",{enumerable:!0,get:function(){return o}});let n=""+r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw e.digest=n,e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createFetch:function(){return y},createFromNextReadableStream:function(){return _},fetchServerResponse:function(){return h},urlToUrlWithoutFlightMarker:function(){return f}});let n=r(3269),o=r(3806),u=r(1818),l=r(9818),a=r(2561),i=r(5624),c=r(8969),{createFromReadableStream:s}=r(4979);function f(e){let t=new URL(e,location.origin);if(t.searchParams.delete(n.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function d(e){return{flightData:f(e).toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}let p=new AbortController;async function h(e,t){let{flightRouterState:r,nextUrl:o,prefetchKind:u}=t,c={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(r))};u===l.PrefetchKind.AUTO&&(c[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),o&&(c[n.NEXT_URL]=o);try{var s;let t=u?u===l.PrefetchKind.TEMPORARY?"high":"low":"auto";(e=new URL(e)).pathname.endsWith("/")?e.pathname+="index.txt":e.pathname+=".txt";let r=await y(e,c,t,p.signal),o=f(r.url),h=r.redirected?o:void 0,b=r.headers.get("content-type")||"",g=!!(null==(s=r.headers.get("vary"))?void 0:s.includes(n.NEXT_URL)),v=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),m=r.headers.get(n.NEXT_ROUTER_STALE_TIME_HEADER),O=null!==m?parseInt(m,10):-1,E=b.startsWith(n.RSC_CONTENT_TYPE_HEADER);if(E||(E=b.startsWith("text/plain")),!E||!r.ok||!r.body)return e.hash&&(o.hash=e.hash),d(o.toString());let R=v?function(e){let t=e.getReader();return new ReadableStream({async pull(e){for(;;){let{done:r,value:n}=await t.read();if(!r){e.enqueue(n);continue}return}}})}(r.body):r.body,P=await _(R);if((0,i.getAppBuildId)()!==P.b)return d(r.url);return{flightData:(0,a.normalizeFlightData)(P.f),canonicalUrl:h,couldBeIntercepted:g,prerendered:P.S,postponed:v,staleTime:O}}catch(t){return p.signal.aborted||console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),{flightData:e.toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}}function y(e,t,r,n){let o=new URL(e);return(0,c.setCacheBustingSearchParam)(o,t),fetch(o,{credentials:"same-origin",headers:t,priority:r||void 0,signal:n})}function _(e){return s(e,{callServer:o.callServer,findSourceMapURL:u.findSourceMapURL})}window.addEventListener("pagehide",()=>{p.abort()}),window.addEventListener("pageshow",()=>{p=new AbortController}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8709:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return w}});let n=r(3806),o=r(1818),u=r(3269),l=r(9818),a=r(1315),i=r(1139),c=r(3894),s=r(7442),f=r(9234),d=r(3507),p=r(4758),h=r(6158),y=r(4108),_=r(6375),b=r(4908),g=r(2561),v=r(6825),m=r(2210),O=r(1518),E=r(4882),R=r(7102),P=r(2816);r(6005);let{createFromFetch:j,createTemporaryReferenceSet:T,encodeReply:S}=r(4979);async function M(e,t,r){let l,i,{actionId:c,actionArgs:s}=r,f=T(),d=(0,P.extractInfoFromServerReferenceId)(c),p="use-cache"===d.type?(0,P.omitUnusedArgs)(s,d):s,h=await S(p,{temporaryReferences:f}),y=await fetch("",{method:"POST",headers:{Accept:u.RSC_CONTENT_TYPE_HEADER,[u.ACTION_HEADER]:c,[u.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(e.tree)),...t?{[u.NEXT_URL]:t}:{}},body:h}),_=y.headers.get("x-action-redirect"),[b,v]=(null==_?void 0:_.split(";"))||[];switch(v){case"push":l=m.RedirectType.push;break;case"replace":l=m.RedirectType.replace;break;default:l=void 0}let O=!!y.headers.get(u.NEXT_IS_PRERENDER_HEADER);try{let e=JSON.parse(y.headers.get("x-action-revalidated")||"[[],0,0]");i={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){i={paths:[],tag:!1,cookie:!1}}let E=b?(0,a.assignLocation)(b,new URL(e.canonicalUrl,window.location.href)):void 0,R=y.headers.get("content-type");if(null==R?void 0:R.startsWith(u.RSC_CONTENT_TYPE_HEADER)){let e=await j(Promise.resolve(y),{callServer:n.callServer,findSourceMapURL:o.findSourceMapURL,temporaryReferences:f});return b?{actionFlightData:(0,g.normalizeFlightData)(e.f),redirectLocation:E,redirectType:l,revalidatedParts:i,isPrerender:O}:{actionResult:e.a,actionFlightData:(0,g.normalizeFlightData)(e.f),redirectLocation:E,redirectType:l,revalidatedParts:i,isPrerender:O}}if(y.status>=400)throw Object.defineProperty(Error("text/plain"===R?await y.text():"An unexpected response was received from the server."),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return{redirectLocation:E,redirectType:l,revalidatedParts:i,isPrerender:O}}function w(e,t){let{resolve:r,reject:n}=t,o={},u=e.tree;o.preserveCustomHistoryState=!1;let a=e.nextUrl&&(0,y.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return M(e,a,t).then(async y=>{let g,{actionResult:P,actionFlightData:j,redirectLocation:T,redirectType:S,isPrerender:M,revalidatedParts:w}=y;if(T&&(S===m.RedirectType.replace?(e.pushRef.pendingPush=!1,o.pendingPush=!1):(e.pushRef.pendingPush=!0,o.pendingPush=!0),o.canonicalUrl=g=(0,i.createHrefFromUrl)(T,!1)),!j)return(r(P),T)?(0,c.handleExternalUrl)(e,o,T.href,e.pushRef.pendingPush):e;if("string"==typeof j)return r(P),(0,c.handleExternalUrl)(e,o,j,e.pushRef.pendingPush);let x=w.paths.length>0||w.tag||w.cookie;for(let n of j){let{tree:l,seedData:i,head:d,isRootRender:y}=n;if(!y)return console.log("SERVER ACTION APPLY FAILED"),r(P),e;let v=(0,s.applyRouterStatePatchToTree)([""],u,l,g||e.canonicalUrl);if(null===v)return r(P),(0,_.handleSegmentMismatch)(e,t,l);if((0,f.isNavigatingToNewRootLayout)(u,v))return r(P),(0,c.handleExternalUrl)(e,o,g||e.canonicalUrl,e.pushRef.pendingPush);if(null!==i){let t=i[1],r=(0,h.createEmptyCacheNode)();r.rsc=t,r.prefetchRsc=null,r.loading=i[3],(0,p.fillLazyItemsTillLeafWithHead)(r,void 0,l,i,d,void 0),o.cache=r,o.prefetchCache=new Map,x&&await (0,b.refreshInactiveParallelSegments)({state:e,updatedTree:v,updatedCache:r,includeNextUrl:!!a,canonicalUrl:o.canonicalUrl||e.canonicalUrl})}o.patchedTree=v,u=v}return T&&g?(x||((0,O.createSeededPrefetchCacheEntry)({url:T,data:{flightData:j,canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1},tree:e.tree,prefetchCache:e.prefetchCache,nextUrl:e.nextUrl,kind:M?l.PrefetchKind.FULL:l.PrefetchKind.AUTO}),o.prefetchCache=e.prefetchCache),n((0,v.getRedirectError)((0,R.hasBasePath)(g)?(0,E.removeBasePath)(g):g,S||m.RedirectType.push))):r(P),(0,d.handleMutable)(e,o)},t=>(n(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8730:(e,t,r)=>{"use strict";var n=r(2115);function o(e){var t="https://react.dev/errors/"+e;if(1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleHardNavError:function(){return o},useNavFailureHandler:function(){return u}}),r(2115);let n=r(1139);function o(e){return!!e&&!!window.next.__pendingUrl&&(0,n.createHrefFromUrl)(new URL(window.location.href))!==(0,n.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function u(){}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8946:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{computeChangedPath:function(){return s},extractPathFromFlightRouterState:function(){return c},getSelectedParams:function(){return function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],u=Array.isArray(t),l=u?t[1]:t;!(!l||l.startsWith(o.PAGE_SEGMENT_KEY))&&(u&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):u&&(r[t[0]]=t[1]),r=e(n,r))}return r}}});let n=r(7755),o=r(8291),u=r(1127),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[a(r)],l=null!=(t=e[1])?t:{},s=l.children?c(l.children):void 0;if(void 0!==s)u.push(s);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let r=c(t);void 0!==r&&u.push(r)}return i(u)}function s(e,t){let r=function e(t,r){let[o,l]=t,[i,s]=r,f=a(o),d=a(i);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(r))?p:""}for(let t in l)if(s[t]){let r=e(l[t],s[t]);if(null!==r)return a(i)+"/"+r}return null}(e,t);return null==r||"/"===r?r:i(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8969:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setCacheBustingSearchParam",{enumerable:!0,get:function(){return u}});let n=r(3942),o=r(3269),u=(e,t)=>{let r=(0,n.hexHash)([t[o.NEXT_ROUTER_PREFETCH_HEADER]||"0",t[o.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]||"0",t[o.NEXT_ROUTER_STATE_TREE_HEADER],t[o.NEXT_URL]].join(",")),u=e.search,l=(u.startsWith("?")?u.slice(1):u).split("&").filter(Boolean);l.push(o.NEXT_RSC_UNION_QUERY+"="+r),e.search=l.length?"?"+l.join("&"):""};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return h},usePathname:function(){return d},useRouter:function(){return p},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return _},useSelectedLayoutSegments:function(){return y},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let n=r(2115),o=r(5227),u=r(886),l=r(708),a=r(8291),i=r(5618),c=r(7568),s=void 0;function f(){let e=(0,n.useContext)(u.SearchParamsContext);return(0,n.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e])}function d(){return null==s||s("usePathname()"),(0,n.useContext)(u.PathnameContext)}function p(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function h(){return null==s||s("useParams()"),(0,n.useContext)(u.PathParamsContext)}function y(e){void 0===e&&(e="children"),null==s||s("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,l.getSegmentValue)(c);return!s||s.startsWith(a.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,r,!1,o))}(t.parentTree,e):null}function _(e){void 0===e&&(e="children"),null==s||s("useSelectedLayoutSegment()");let t=y(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===a.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9062:(e,t,r)=>{"use strict";var n=r(7650),o={stream:!0},u=new Map;function l(e){var t=r(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function a(){}function i(e){for(var t=e[1],n=[],o=0;oc||35===c||114===c||120===c?(s=c,c=3,a++):(s=0,c=3);continue;case 2:44===(y=l[a++])?c=4:f=f<<4|(96l.length&&(y=-1)}var _=l.byteOffset+a;if(-1{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},9148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{copyNextErrorCode:function(){return n},createDigestWithErrorCode:function(){return r},extractNextErrorCode:function(){return o}});let r=(e,t)=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e?`${t}@${e.__NEXT_ERROR_CODE}`:t,n=(e,t)=>{let r=o(e);r&&"object"==typeof t&&null!==t&&Object.defineProperty(t,"__NEXT_ERROR_CODE",{value:r,enumerable:!1,configurable:!0})},o=e=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e&&"string"==typeof e.__NEXT_ERROR_CODE?e.__NEXT_ERROR_CODE:"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest?e.digest.split("@").find(e=>e.startsWith("E")):void 0},9154:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return u},prefetchReducer:function(){return l}});let n=r(2312),o=r(1518),u=new n.PromiseQueue(5),l=function(e,t){(0,o.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;return(0,o.getOrCreatePrefetchCacheEntry)({url:r,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,allowAliasing:!0}),e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9155:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{onCaughtError:function(){return i},onUncaughtError:function(){return c}}),r(5128),r(5444);let n=r(2858),o=r(5262),u=r(1646),l=r(6905),a=r(6614);function i(e,t){var r;let u;let i=null==(r=t.errorBoundary)?void 0:r.constructor;if(u=u||i===a.ErrorBoundaryHandler&&t.errorBoundary.props.errorComponent===a.GlobalError)return c(e,t);(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,l.originConsoleError)(e)}function c(e,t){(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,u.reportGlobalError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9187:(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unauthorized",{enumerable:!0,get:function(){return n}}),r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9234:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,r){let n=t[0],o=r[0];if(Array.isArray(n)&&Array.isArray(o)){if(n[0]!==o[0]||n[2]!==o[2])return!0}else if(n!==o)return!0;if(t[4])return!r[4];if(r[4])return!0;let u=Object.values(t[1])[0],l=Object.values(r[1])[0];return!u||!l||e(u,l)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9509:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(666)},9665:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{MetadataBoundary:function(){return u},OutletBoundary:function(){return a},ViewportBoundary:function(){return l}});let n=r(8287),o={[n.METADATA_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.VIEWPORT_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.OUTLET_BOUNDARY_NAME]:function(e){let{children:t}=e;return t}},u=o[n.METADATA_BOUNDARY_NAME.slice(0)],l=o[n.VIEWPORT_BOUNDARY_NAME.slice(0)],a=o[n.OUTLET_BOUNDARY_NAME.slice(0)];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9692:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createMutableActionQueue:function(){return s},getCurrentAppRouterState:function(){return f}});let n=r(9818),o=r(9726),u=r(2115),l=r(5122);function a(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?i({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:n.ACTION_REFRESH,origin:window.location.origin},t)))}async function i(e){let{actionQueue:t,action:r,setState:n}=e,o=t.state;t.pending=r;let u=r.payload,i=t.action(o,u);function c(e){!r.discarded&&(t.state=e,a(t,n),r.resolve(e))}(0,l.isThenable)(i)?i.then(c,e=>{a(t,n),r.reject(e)}):c(i)}let c=null;function s(e){let t={state:e,dispatch:(e,r)=>(function(e,t,r){let o={resolve:r,reject:()=>{}};if(t.type!==n.ACTION_RESTORE){let e=new Promise((e,t)=>{o={resolve:e,reject:t}});(0,u.startTransition)(()=>{r(e)})}let l={payload:t,next:null,resolve:o.resolve,reject:o.reject};null===e.pending?(e.last=l,i({actionQueue:e,action:l,setState:r})):t.type===n.ACTION_NAVIGATE||t.type===n.ACTION_RESTORE?(e.pending.discarded=!0,l.next=e.pending.next,e.pending.payload.type===n.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),i({actionQueue:e,action:l,setState:r})):(null!==e.last&&(e.last.next=l),e.last=l)})(t,e,r),action:async(e,t)=>(0,o.reducer)(e,t),pending:null,last:null};if(null!==c)throw Object.defineProperty(Error("Internal Next.js Error: createMutableActionQueue was called more than once"),"__NEXT_ERROR_CODE",{value:"E624",enumerable:!1,configurable:!0});return c=t,t}function f(){return null!==c?c.state:null}},9726:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let n=r(9818),o=r(3894),u=r(7801),l=r(4819),a=r(5542),i=r(9154),c=r(3612),s=r(8709),f=function(e,t){switch(t.type){case n.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case n.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case n.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case n.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case n.ACTION_HMR_REFRESH:return(0,c.hmrRefreshReducer)(e,t);case n.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case n.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Object.defineProperty(Error("Unknown action"),"__NEXT_ERROR_CODE",{value:"E295",enumerable:!1,configurable:!0})}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getHydrationWarningType:function(){return a},getReactHydrationDiffSegments:function(){return s},hydrationErrorState:function(){return o},storeHydrationErrorStateFromConsoleArgs:function(){return f}});let n=r(6465),o={},u=new Set(["Warning: In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s","Warning: In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s","Warning: In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.","Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.","Warning: Expected server HTML to contain a matching <%s> in <%s>.%s","Warning: Did not expect server HTML to contain a <%s> in <%s>.%s"]),l=new Set(['Warning: Expected server HTML to contain a matching text node for "%s" in <%s>.%s','Warning: Did not expect server HTML to contain the text node "%s" in <%s>.%s']),a=e=>{if("string"!=typeof e)return"text";let t=e.startsWith("Warning: ")?e:"Warning: "+e;return i(t)?"tag":c(t)?"text-in-tag":"text"},i=e=>u.has(e),c=e=>l.has(e),s=e=>{if(e){let{message:t,diff:r}=(0,n.getHydrationErrorStackInfo)(e);if(t)return[t,r]}};function f(){for(var e=arguments.length,t=Array(e),r=0;r{e=e.trim();let[,l,a]=/at (\w+)( \((.*)\))?/.exec(e)||[];return a||(l===t&&-1===o?o=n:l!==r||-1!==u||(u=n)),a?"":l}).filter(Boolean).reverse(),c="";for(let e=0;e "+" ".repeat(Math.max(2*e-2,0)+2)+"<"+t+">\n":c+=" ".repeat(2*e+2)+"<"+t+">\n"}if("text"===l){let e=" ".repeat(2*i.length);c+="+ "+e+'"'+t+'"\n'+("- "+e+'"'+r)+'"\n'}else if("text-in-tag"===l){let e=" ".repeat(2*i.length);c+="> "+e+"<"+r+">\n"+("> "+e+'"'+t)+'"\n'}return c}(u,l,i,n):o.reactOutputComponentDiff=n,o.warning=r,o.serverContent=l,o.clientContent=i}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HMR_REFRESH:function(){return a},ACTION_NAVIGATE:function(){return n},ACTION_PREFETCH:function(){return l},ACTION_REFRESH:function(){return r},ACTION_RESTORE:function(){return o},ACTION_SERVER_ACTION:function(){return i},ACTION_SERVER_PATCH:function(){return u},PrefetchCacheEntryStatus:function(){return s},PrefetchKind:function(){return c}});let r="refresh",n="navigate",o="restore",u="server-patch",l="prefetch",a="hmr-refresh",i="server-action";var c=function(e){return e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary",e}({}),s=function(e){return e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9837:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"InvariantError",{enumerable:!0,get:function(){return r}});class r extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},9880:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,r,u){let l=u.length<=2,[a,i]=u,c=(0,o.createRouterCacheKey)(i),s=r.parallelRoutes.get(a),f=t.parallelRoutes.get(a);f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f));let d=null==s?void 0:s.get(c),p=f.get(c);if(l){p&&p.lazyData&&p!==d||f.set(c,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}if(!p||!d){p||f.set(c,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}return p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes),loading:p.loading},f.set(c,p)),e(p,d,(0,n.getNextFlightSegmentPath)(u))}}});let n=r(2561),o=r(5637);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=r(2115),o=r(886);function u(){return(0,n.useContext)(o.PathnameContext)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]); \ No newline at end of file diff --git a/_next/static/chunks/684-b08e78c9cdd61710.js b/_next/static/chunks/684-b08e78c9cdd61710.js new file mode 100644 index 00000000..54c4c941 --- /dev/null +++ b/_next/static/chunks/684-b08e78c9cdd61710.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[684],{214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return u}});let n=r(6361),o=r(427),u=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:u}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+u:t.endsWith("/")?""+t+r+u:t+"/"+r+u};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},300:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useSyncDevRenderIndicator",{enumerable:!0,get:function(){return n}});let r=e=>e(),n=()=>r;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},427:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},589:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},666:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function u(){throw Error("setTimeout has not been defined")}function l(){throw Error("clearTimeout has not been defined")}function a(e){if(t===setTimeout)return setTimeout(e,0);if((t===u||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:u}catch(e){t=u}try{r="function"==typeof clearTimeout?clearTimeout:l}catch(e){r=l}}();var i=[],c=!1,s=-1;function f(){c&&n&&(c=!1,n.length?i=n.concat(i):s=-1,i.length&&d())}function d(){if(!c){var e=a(f);c=!0;for(var t=i.length;t;){for(n=i,i=[];++s1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectBoundary:function(){return f},RedirectErrorBoundary:function(){return s}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(8999),a=r(6825),i=r(2210);function c(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{n===i.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class s extends u.default.Component{static getDerivedStateFromError(e){if((0,i.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(c,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function f(e){let{children:t}=e,r=(0,l.useRouter)();return(0,o.jsx)(s,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},708:(e,t)=>{"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},774:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTML_LIMITED_BOT_UA_RE:function(){return n.HTML_LIMITED_BOT_UA_RE},HTML_LIMITED_BOT_UA_RE_STRING:function(){return u},getBotType:function(){return i},isBot:function(){return a}});let n=r(5072),o=/Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i,u=n.HTML_LIMITED_BOT_UA_RE.source;function l(e){return n.HTML_LIMITED_BOT_UA_RE.test(e)}function a(e){return o.test(e)||l(e)}function i(e){return o.test(e)?"dom":l(e)?"html":void 0}},878:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let n=r(4758),o=r(3118);function u(e,t,r,u){let{tree:l,seedData:a,head:i,isRootRender:c}=r;if(null===a)return!1;if(c){let r=a[1];t.loading=a[3],t.rsc=r,t.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,r,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},886:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return l},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let n=r(2115),o=(0,n.createContext)(null),u=(0,n.createContext)(null),l=(0,n.createContext)(null)},894:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return o}});let n=r(5155);function o(e){let{Component:t,searchParams:o,params:u,promises:l}=e;{let{createRenderSearchParamsFromClient:e}=r(7205),l=e(o),{createRenderParamsFromClient:a}=r(3558),i=a(u);return(0,n.jsx)(t,{params:i,searchParams:l})}}r(9837),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1127:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"matchSegment",{enumerable:!0,get:function(){return r}});let r=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1139:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1295:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(5227);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1315:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"assignLocation",{enumerable:!0,get:function(){return o}});let n=r(5929);function o(e,t){if(e.startsWith(".")){let r=t.origin+t.pathname;return new URL((r.endsWith("/")?r:r+"/")+e)}return new URL((0,n.addBasePath)(e),t.href)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1365:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{useReducer:function(){return a},useUnwrapState:function(){return l}});let n=r(6966)._(r(2115)),o=r(5122),u=r(300);function l(e){return(0,o.isThenable)(e)?(0,n.use)(e):e}function a(e){let[t,r]=n.default.useState(e.state),o=(0,u.useSyncDevRenderIndicator)();return[t,(0,n.useCallback)(t=>{o(()=>{e.dispatch(t,r)})},[e,o])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1426:(e,t,r)=>{"use strict";var n=r(9509),o=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),l=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),s=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),y=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,g={};function v(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}function m(){}function O(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||_}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var E=O.prototype=new m;E.constructor=O,b(E,v.prototype),E.isPureReactComponent=!0;var R=Array.isArray,P={H:null,A:null,T:null,S:null,V:null},j=Object.prototype.hasOwnProperty;function T(e,t,r,n,u,l){return{$$typeof:o,type:e,key:t,ref:void 0!==(r=l.ref)?r:null,props:l}}function S(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var M=/\/+/g;function w(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function x(){}function C(e,t,r){if(null==e)return e;var n=[],l=0;return!function e(t,r,n,l,a){var i,c,s,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case u:d=!0;break;case h:return e((d=t._init)(t._payload),r,n,l,a)}}if(d)return a=a(t),d=""===l?"."+w(t,0):l,R(a)?(n="",null!=d&&(n=d.replace(M,"$&/")+"/"),e(a,r,n,"",function(e){return e})):null!=a&&(S(a)&&(i=a,c=n+(null==a.key||t&&t.key===a.key?"":(""+a.key).replace(M,"$&/")+"/")+d,a=T(i.type,c,void 0,void 0,void 0,i.props)),r.push(a)),1;d=0;var p=""===l?".":l+":";if(R(t))for(var _=0;_{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{STATIC_STALETIME_MS:function(){return p},createSeededPrefetchCacheEntry:function(){return c},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let n=r(8586),o=r(9818),u=r(9154);function l(e,t,r){let n=e.pathname;return(t&&(n+=e.search),r)?""+r+"%"+n:n}function a(e,t,r){return l(e,t===o.PrefetchKind.FULL,r)}function i(e){let{url:t,nextUrl:r,tree:n,prefetchCache:u,kind:a,allowAliasing:i=!0}=e,c=function(e,t,r,n,u){for(let a of(void 0===t&&(t=o.PrefetchKind.TEMPORARY),[r,null])){let r=l(e,!0,a),i=l(e,!1,a),c=e.search?r:i,s=n.get(c);if(s&&u){if(s.url.pathname===e.pathname&&s.url.search!==e.search)return{...s,aliased:!0};return s}let f=n.get(i);if(u&&e.search&&t!==o.PrefetchKind.FULL&&f&&!f.key.includes("%"))return{...f,aliased:!0}}if(t!==o.PrefetchKind.FULL&&u){for(let t of n.values())if(t.url.pathname===e.pathname&&!t.key.includes("%"))return{...t,aliased:!0}}}(t,a,r,u,i);return c?(c.status=h(c),c.kind!==o.PrefetchKind.FULL&&a===o.PrefetchKind.FULL&&c.data.then(e=>{if(!(Array.isArray(e.flightData)&&e.flightData.some(e=>e.isRootRender&&null!==e.seedData)))return s({tree:n,url:t,nextUrl:r,prefetchCache:u,kind:null!=a?a:o.PrefetchKind.TEMPORARY})}),a&&c.kind===o.PrefetchKind.TEMPORARY&&(c.kind=a),c):s({tree:n,url:t,nextUrl:r,prefetchCache:u,kind:a||o.PrefetchKind.TEMPORARY})}function c(e){let{nextUrl:t,tree:r,prefetchCache:n,url:u,data:l,kind:i}=e,c=l.couldBeIntercepted?a(u,i,t):a(u,i),s={treeAtTimeOfPrefetch:r,data:Promise.resolve(l),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),staleTime:-1,key:c,status:o.PrefetchCacheEntryStatus.fresh,url:u};return n.set(c,s),s}function s(e){let{url:t,kind:r,tree:l,nextUrl:i,prefetchCache:c}=e,s=a(t,r),f=u.prefetchQueue.enqueue(()=>(0,n.fetchServerResponse)(t,{flightRouterState:l,nextUrl:i,prefetchKind:r}).then(e=>{let r;if(e.couldBeIntercepted&&(r=function(e){let{url:t,nextUrl:r,prefetchCache:n,existingCacheKey:o}=e,u=n.get(o);if(!u)return;let l=a(t,u.kind,r);return n.set(l,{...u,key:l}),n.delete(o),l}({url:t,existingCacheKey:s,nextUrl:i,prefetchCache:c})),e.prerendered){let t=c.get(null!=r?r:s);t&&(t.kind=o.PrefetchKind.FULL,-1!==e.staleTime&&(t.staleTime=e.staleTime))}return e})),d={treeAtTimeOfPrefetch:l,data:f,kind:r,prefetchTime:Date.now(),lastUsedTime:null,staleTime:-1,key:s,status:o.PrefetchCacheEntryStatus.fresh,url:t};return c.set(s,d),d}function f(e){for(let[t,r]of e)h(r)===o.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("0"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:r,lastUsedTime:n,staleTime:u}=e;return -1!==u?Date.now(){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BrowserResolvedMetadata",{enumerable:!0,get:function(){return o}});let n=r(2115);function o(e){let{promise:t}=e,{metadata:r,error:o}=(0,n.use)(t);return o?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1646:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1747:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(427);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},1818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findSourceMapURL",{enumerable:!0,get:function(){return r}});let r=void 0;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1822:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return r}});let r={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2004:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let n=r(5637);function o(e,t,r){for(let o in r[1]){let u=r[1][o][0],l=(0,n.createRouterCacheKey)(u),a=t.parallelRoutes.get(o);if(a){let t=new Map(a);t.delete(l),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2115:(e,t,r)=>{"use strict";e.exports=r(1426)},2210:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return u},isRedirectError:function(){return l}});let n=r(4420),o="NEXT_REDIRECT";var u=function(e){return e.push="push",e.replace="replace",e}({});function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,u]=t,l=t.slice(2,-2).join(";"),a=Number(t.at(-2));return r===o&&("replace"===u||"push"===u)&&"string"==typeof l&&!isNaN(a)&&a in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2223:(e,t)=>{"use strict";function r(e,t){var r=e.length;for(e.push(t);0>>1,o=e[n];if(0>>1;nu(i,r))cu(s,i)?(e[n]=s,e[c]=r,n=c):(e[n]=i,e[a]=r,n=a);else if(cu(s,r))e[n]=s,e[c]=r,n=c;else break}}return t}function u(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,b=!1,g=!1,v="function"==typeof setTimeout?setTimeout:null,m="function"==typeof clearTimeout?clearTimeout:null,O="undefined"!=typeof setImmediate?setImmediate:null;function E(e){for(var t=n(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,r(s,t);else break;t=n(f)}}function R(e){if(b=!1,E(e),!_){if(null!==n(s))_=!0,P||(P=!0,l());else{var t=n(f);null!==t&&A(R,t.startTime-e)}}}var P=!1,j=-1,T=5,S=-1;function M(){return!!g||!(t.unstable_now()-Se&&M());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,E(e),r=!0;break t}p===n(s)&&o(s),E(e)}else o(s);p=n(s)}if(null!==p)r=!0;else{var c=n(f);null!==c&&A(R,c.startTime-e),r=!1}}break e}finally{p=null,h=u,y=!1}r=void 0}}finally{r?l():P=!1}}}if("function"==typeof O)l=function(){O(w)};else if("undefined"!=typeof MessageChannel){var x=new MessageChannel,C=x.port2;x.port1.onmessage=w,l=function(){C.postMessage(null)}}else l=function(){v(w,0)};function A(e,r){j=v(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125a?(e.sortIndex=u,r(f,e),null===n(s)&&e===n(f)&&(b?(m(j),j=-1):b=!0,A(R,u-a))):(e.sortIndex=i,r(s,e),_||y||(_=!0,P||(P=!0,l()))),e},t.unstable_shouldYield=M,t.unstable_wrapCallback=function(e){var t=h;return function(){var r=h;h=t;try{return e.apply(this,arguments)}finally{h=r}}}},2312:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let n=r(5952),o=r(6420);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,r;let o=new Promise((e,n)=>{t=e,r=n}),u=async()=>{try{n._(this,l)[l]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,l)[l]--,n._(this,i)[i]()}};return n._(this,a)[a].push({promiseFn:o,task:u}),n._(this,i)[i](),o}bump(e){let t=n._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,a)[a].splice(t,1)[0];n._(this,a)[a].unshift(e),n._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),n._(this,u)[u]=e,n._(this,l)[l]=0,n._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(n._(this,l)[l]0){var t;null==(t=n._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2332:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldRenderRootLevelErrorOverlay",{enumerable:!0,get:function(){return r}});let r=()=>{var e;return!!(null==(e=window.__next_root_layout_missing_tags)?void 0:e.length)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2561:(e,t)=>{"use strict";function r(e){var t;let[r,n,o,u]=e.slice(-4),l=e.slice(0,-4);return{pathToSegment:l.slice(0,-1),segmentPath:l,segment:null!=(t=l[l.length-1])?t:"",tree:r,seedData:n,head:o,isHeadPartial:u,isRootRender:4===e.length}}function n(e){return e.slice(2)}function o(e){return"string"==typeof e?e:e.map(r)}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getFlightDataPartsFromPath:function(){return r},getNextFlightSegmentPath:function(){return n},normalizeFlightData:function(){return o}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2669:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(9248)},2691:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(5637);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];if(r.children){let[u,l]=r.children,a=t.parallelRoutes.get("children");if(a){let t=(0,n.createRouterCacheKey)(u),r=a.get(t);if(r){let n=e(r,l,o+"/"+t);if(n)return n}}}for(let u in r){if("children"===u)continue;let[l,a]=r[u],i=t.parallelRoutes.get(u);if(!i)continue;let c=(0,n.createRouterCacheKey)(l),s=i.get(c);if(!s)continue;let f=e(s,a,o+"/"+c);if(f)return f}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2816:(e,t)=>{"use strict";function r(e){let t=parseInt(e.slice(0,2),16),r=t>>1&63,n=Array(6);for(let e=0;e<6;e++){let t=r>>5-e&1;n[e]=1===t}return{type:1==(t>>7&1)?"use-cache":"server-action",usedArgs:n,hasRestArgs:1==(1&t)}}function n(e,t){let r=Array(e.length);for(let n=0;n=6&&t.hasRestArgs)&&(r[n]=e[n]);return r}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{extractInfoFromServerReferenceId:function(){return r},omitUnusedArgs:function(){return n}})},2830:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(8229)._(r(2115)).default.createContext({})},2858:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=r(6494),o=r(2210);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3118:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{fillCacheWithNewSubTreeData:function(){return i},fillCacheWithNewSubTreeDataButOnlyLoading:function(){return c}});let n=r(2004),o=r(4758),u=r(5637),l=r(8291);function a(e,t,r,a,i){let{segmentPath:c,seedData:s,tree:f,head:d}=r,p=e,h=t;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},3269:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HEADER:function(){return n},FLIGHT_HEADERS:function(){return s},NEXT_DID_POSTPONE_HEADER:function(){return p},NEXT_HMR_REFRESH_HEADER:function(){return a},NEXT_IS_PRERENDER_HEADER:function(){return _},NEXT_REWRITTEN_PATH_HEADER:function(){return h},NEXT_REWRITTEN_QUERY_HEADER:function(){return y},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return l},NEXT_ROUTER_STALE_TIME_HEADER:function(){return d},NEXT_ROUTER_STATE_TREE_HEADER:function(){return o},NEXT_RSC_UNION_QUERY:function(){return f},NEXT_URL:function(){return i},RSC_CONTENT_TYPE_HEADER:function(){return c},RSC_HEADER:function(){return r}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Router-Segment-Prefetch",a="Next-HMR-Refresh",i="Next-Url",c="text/x-component",s=[r,o,u,a,l],f="_rsc",d="x-nextjs-stale-time",p="x-nextjs-postponed",h="x-nextjs-rewritten-path",y="x-nextjs-rewritten-query",_="x-nextjs-prerender";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3506:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"attachHydrationErrorState",{enumerable:!0,get:function(){return u}});let n=r(6465),o=r(9771);function u(e){let t={},r=(0,n.testReactHydrationWarning)(e.message),u=(0,n.isHydrationError)(e);if(!(u||r))return;let l=(0,o.getReactHydrationDiffSegments)(e.message);if(l){let a=l[1];t={...e.details,...o.hydrationErrorState,warning:(a&&!r?null:o.hydrationErrorState.warning)||[(0,n.getDefaultHydrationErrorMessage)()],notes:r?"":l[0],reactOutputComponentDiff:a},!o.hydrationErrorState.reactOutputComponentDiff&&a&&(o.hydrationErrorState.reactOutputComponentDiff=a),!a&&u&&o.hydrationErrorState.reactOutputComponentDiff&&(t.reactOutputComponentDiff=o.hydrationErrorState.reactOutputComponentDiff)}else o.hydrationErrorState.warning&&(t={...e.details,...o.hydrationErrorState}),o.hydrationErrorState.reactOutputComponentDiff&&(t.reactOutputComponentDiff=o.hydrationErrorState.reactOutputComponentDiff);e.details=t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3507:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return u}});let n=r(8946);function o(e){return void 0!==e}function u(e,t){var r,u;let l=null==(r=t.shouldScroll)||r,a=e.nextUrl;if(o(t.patchedTree)){let r=(0,n.computeChangedPath)(e.tree,t.patchedTree);r?a=r:a||(a=e.canonicalUrl)}return{canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!l&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:t.onlyHashChange||!1,hashFragment:l?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:l?null!=(u=null==t?void 0:t.scrollableSegments)?u:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:a}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3558:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderParamsFromClient",{enumerable:!0,get:function(){return n}});let n=r(7829).makeUntrackedExoticParams;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3567:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return s}});let n=r(1139),o=r(4758),u=r(8946),l=r(1518),a=r(9818),i=r(4908),c=r(2561);function s(e){var t,r;let{initialFlightData:s,initialCanonicalUrlParts:f,initialParallelRoutes:d,location:p,couldBeIntercepted:h,postponed:y,prerendered:_}=e,b=f.join("/"),g=(0,c.getFlightDataPartsFromPath)(s[0]),{tree:v,seedData:m,head:O}=g,E={lazyData:null,rsc:null==m?void 0:m[1],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:d,loading:null!=(t=null==m?void 0:m[3])?t:null},R=p?(0,n.createHrefFromUrl)(p):b;(0,i.addRefreshMarkerToActiveParallelSegments)(v,R);let P=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(E,void 0,v,m,O,void 0);let j={tree:v,cache:E,prefetchCache:P,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:R,nextUrl:null!=(r=(0,u.extractPathFromFlightRouterState)(v)||(null==p?void 0:p.pathname))?r:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin);(0,l.createSeededPrefetchCacheEntry)({url:e,data:{flightData:[g],canonicalUrl:void 0,couldBeIntercepted:!!h,prerendered:_,postponed:y,staleTime:-1},tree:j.tree,prefetchCache:j.prefetchCache,nextUrl:j.nextUrl,kind:_?a.PrefetchKind.FULL:a.PrefetchKind.AUTO})}return j}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3612:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hmrRefreshReducer",{enumerable:!0,get:function(){return n}}),r(8586),r(1139),r(7442),r(9234),r(3894),r(3507),r(878),r(6158),r(6375),r(4108);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3668:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},3678:(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"forbidden",{enumerable:!0,get:function(){return n}}),r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3806:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{callServer:function(){return a},useServerActionDispatcher:function(){return l}});let n=r(2115),o=r(9818),u=null;function l(e){u=(0,n.useCallback)(t=>{(0,n.startTransition)(()=>{e({...t,type:o.ACTION_SERVER_ACTION})})},[e])}async function a(e,t){let r=u;if(!r)throw Object.defineProperty(Error("Invariant: missing action dispatcher."),"__NEXT_ERROR_CODE",{value:"E507",enumerable:!1,configurable:!0});return new Promise((n,o)=>{r({actionId:e,actionArgs:t,resolve:n,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3894:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return v},navigateReducer:function(){return function e(t,r){let{url:O,isExternalUrl:E,navigateType:R,shouldScroll:P,allowAliasing:j}=r,T={},{hash:S}=O,M=(0,o.createHrefFromUrl)(O),w="push"===R;if((0,_.prunePrefetchCache)(t.prefetchCache),T.preserveCustomHistoryState=!1,T.pendingPush=w,E)return v(t,T,O.toString(),w);if(document.getElementById("__next-page-redirect"))return v(t,T,M,w);let x=(0,_.getOrCreatePrefetchCacheEntry)({url:O,nextUrl:t.nextUrl,tree:t.tree,prefetchCache:t.prefetchCache,allowAliasing:j}),{treeAtTimeOfPrefetch:C,data:A}=x;return d.prefetchQueue.bump(A),A.then(d=>{let{flightData:_,canonicalUrl:E,postponed:R}=d,j=!1;if(x.lastUsedTime||(x.lastUsedTime=Date.now(),j=!0),x.aliased){let n=(0,g.handleAliasedPrefetchEntry)(t,_,O,T);return!1===n?e(t,{...r,allowAliasing:!1}):n}if("string"==typeof _)return v(t,T,_,w);let A=E?(0,o.createHrefFromUrl)(E):M;if(S&&t.canonicalUrl.split("#",1)[0]===A.split("#",1)[0])return T.onlyHashChange=!0,T.canonicalUrl=A,T.shouldScroll=P,T.hashFragment=S,T.scrollableSegments=[],(0,s.handleMutable)(t,T);let N=t.tree,D=t.cache,U=[];for(let e of _){let{pathToSegment:r,seedData:o,head:s,isHeadPartial:d,isRootRender:_}=e,g=e.tree,E=["",...r],P=(0,l.applyRouterStatePatchToTree)(E,N,g,M);if(null===P&&(P=(0,l.applyRouterStatePatchToTree)(E,C,g,M)),null!==P){if(o&&_&&R){let e=(0,y.startPPRNavigation)(D,N,g,o,s,d,!1,U);if(null!==e){if(null===e.route)return v(t,T,M,w);P=e.route;let r=e.node;null!==r&&(T.cache=r);let o=e.dynamicRequestTree;if(null!==o){let r=(0,n.fetchServerResponse)(O,{flightRouterState:o,nextUrl:t.nextUrl});(0,y.listenForDynamicRequest)(e,r)}}else P=g}else{if((0,i.isNavigatingToNewRootLayout)(N,P))return v(t,T,M,w);let n=(0,p.createEmptyCacheNode)(),o=!1;for(let t of(x.status!==c.PrefetchCacheEntryStatus.stale||j?o=(0,f.applyFlightData)(D,n,e,x):(o=function(e,t,r,n){let o=!1;for(let u of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),m(n).map(e=>[...r,...e])))(0,b.clearCacheNodeDataForSegmentPath)(e,t,u),o=!0;return o}(n,D,r,g),x.lastUsedTime=Date.now()),(0,a.shouldHardNavigate)(E,N)?(n.rsc=D.rsc,n.prefetchRsc=D.prefetchRsc,(0,u.invalidateCacheBelowFlightSegmentPath)(n,D,r),T.cache=n):o&&(T.cache=n,D=n),m(g))){let e=[...r,...t];e[e.length-1]!==h.DEFAULT_SEGMENT_KEY&&U.push(e)}}N=P}}return T.patchedTree=N,T.canonicalUrl=A,T.scrollableSegments=U,T.hashFragment=S,T.shouldScroll=P,(0,s.handleMutable)(t,T)},()=>t)}}});let n=r(8586),o=r(1139),u=r(4466),l=r(7442),a=r(5567),i=r(9234),c=r(9818),s=r(3507),f=r(878),d=r(9154),p=r(6158),h=r(8291),y=r(4150),_=r(1518),b=r(9880),g=r(5563);function v(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,s.handleMutable)(e,t)}function m(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of m(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}r(6005),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3942:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},3950:(e,t)=>{"use strict";function r(e,t){let r=e[e.length-1];(!r||r.stack!==t.stack)&&e.push(t)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"enqueueConsecutiveDedupedError",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3954:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(5444).handleGlobalErrors)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4074:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(427);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:u}=(0,n.parsePath)(e);return""+t+r+o+u}},4108:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasInterceptionRouteInCurrentTree",{enumerable:!0,get:function(){return function e(t){let[r,o]=t;if(Array.isArray(r)&&("di"===r[2]||"ci"===r[2])||"string"==typeof r&&(0,n.isInterceptionRouteAppPath)(r))return!0;if(o){for(let t in o)if(e(o[t]))return!0}return!1}}});let n=r(7755);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4150:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{abortTask:function(){return p},listenForDynamicRequest:function(){return d},startPPRNavigation:function(){return i},updateCacheNodeOnPopstateRestoration:function(){return function e(t,r){let n=r[1],o=t.parallelRoutes,l=new Map(o);for(let t in n){let r=n[t],a=r[0],i=(0,u.createRouterCacheKey)(a),c=o.get(t);if(void 0!==c){let n=c.get(i);if(void 0!==n){let o=e(n,r),u=new Map(c);u.set(i,o),l.set(t,u)}}}let a=t.rsc,i=_(a)&&"pending"===a.status;return{lazyData:null,rsc:a,head:t.head,prefetchHead:i?t.prefetchHead:[null,null],prefetchRsc:i?t.prefetchRsc:null,loading:t.loading,parallelRoutes:l}}}});let n=r(8291),o=r(1127),u=r(5637),l=r(9234),a={route:null,node:null,dynamicRequestTree:null,children:null};function i(e,t,r,l,i,f,d,p){return function e(t,r,l,i,f,d,p,h,y,_){let b=r[1],g=l[1],v=null!==f?f[2]:null;i||!0!==l[4]||(i=!0);let m=t.parallelRoutes,O=new Map(m),E={},R=null,P=!1,j={};for(let t in g){let r;let l=g[t],s=b[t],f=m.get(t),T=null!==v?v[t]:null,S=l[0],M=y.concat([t,S]),w=(0,u.createRouterCacheKey)(S),x=void 0!==s?s[0]:void 0,C=void 0!==f?f.get(w):void 0;if(null!==(r=S===n.DEFAULT_SEGMENT_KEY?void 0!==s?{route:s,node:null,dynamicRequestTree:null,children:null}:c(s,l,i,void 0!==T?T:null,d,p,M,_):h&&0===Object.keys(l[1]).length?c(s,l,i,void 0!==T?T:null,d,p,M,_):void 0!==s&&void 0!==x&&(0,o.matchSegment)(S,x)&&void 0!==C&&void 0!==s?e(C,s,l,i,T,d,p,h,M,_):c(s,l,i,void 0!==T?T:null,d,p,M,_))){if(null===r.route)return a;null===R&&(R=new Map),R.set(t,r);let e=r.node;if(null!==e){let r=new Map(f);r.set(w,e),O.set(t,r)}let n=r.route;E[t]=n;let o=r.dynamicRequestTree;null!==o?(P=!0,j[t]=o):j[t]=n}else E[t]=l,j[t]=l}if(null===R)return null;let T={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:O};return{route:s(l,E),node:T,dynamicRequestTree:P?s(l,j):null,children:R}}(e,t,r,!1,l,i,f,d,[],p)}function c(e,t,r,n,o,i,c,d){return!r&&(void 0===e||(0,l.isNavigatingToNewRootLayout)(e,t))?a:function e(t,r,n,o,l,a){if(null===r)return f(t,null,n,o,l,a);let i=t[1],c=r[4],d=0===Object.keys(i).length;if(c||o&&d)return f(t,r,n,o,l,a);let p=r[2],h=new Map,y=new Map,_={},b=!1;if(d)a.push(l);else for(let t in i){let r=i[t],c=null!==p?p[t]:null,s=r[0],f=l.concat([t,s]),d=(0,u.createRouterCacheKey)(s),g=e(r,c,n,o,f,a);h.set(t,g);let v=g.dynamicRequestTree;null!==v?(b=!0,_[t]=v):_[t]=r;let m=g.node;if(null!==m){let e=new Map;e.set(d,m),y.set(t,e)}}return{route:t,node:{lazyData:null,rsc:r[1],prefetchRsc:null,head:d?n:null,prefetchHead:null,loading:r[3],parallelRoutes:y},dynamicRequestTree:b?s(t,_):null,children:h}}(t,n,o,i,c,d)}function s(e,t){let r=[e[0],t];return 2 in e&&(r[2]=e[2]),3 in e&&(r[3]=e[3]),4 in e&&(r[4]=e[4]),r}function f(e,t,r,n,o,l){let a=s(e,e[1]);return a[3]="refetch",{route:e,node:function e(t,r,n,o,l,a){let i=t[1],c=null!==r?r[2]:null,s=new Map;for(let t in i){let r=i[t],f=null!==c?c[t]:null,d=r[0],p=l.concat([t,d]),h=(0,u.createRouterCacheKey)(d),y=e(r,void 0===f?null:f,n,o,p,a),_=new Map;_.set(h,y),s.set(t,_)}let f=0===s.size;f&&a.push(l);let d=null!==r?r[1]:null,p=null!==r?r[3]:null;return{lazyData:null,parallelRoutes:s,prefetchRsc:void 0!==d?d:null,prefetchHead:f?n:[null,null],loading:void 0!==p?p:null,rsc:b(),head:f?b():null}}(e,t,r,n,o,l),dynamicRequestTree:a,children:null}}function d(e,t){t.then(t=>{let{flightData:r}=t;if("string"!=typeof r){for(let t of r){let{segmentPath:r,tree:n,seedData:l,head:a}=t;l&&!function(e,t,r,n,l){let a=e;for(let e=0;e{p(e,t)})}function p(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)h(e.route,r,t);else for(let e of n.values())p(e,t);e.dynamicRequestTree=null}function h(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&h(t,c,r)}let l=t.rsc;_(l)&&(null===r?l.resolve(null):l.reject(r));let a=t.head;_(a)&&a.resolve(null)}let y=Symbol();function _(e){return e&&e.tag===y}function b(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=y,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4189:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},4420:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4466:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,r,u){let l=u.length<=2,[a,i]=u,c=(0,n.createRouterCacheKey)(i),s=r.parallelRoutes.get(a);if(!s)return;let f=t.parallelRoutes.get(a);if(f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f)),l){f.delete(c);return}let d=s.get(c),p=f.get(c);p&&d&&(p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes)},f.set(c,p)),e(p,d,(0,o.getNextFlightSegmentPath)(u)))}}});let n=r(5637),o=r(2561);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4486:(e,t,r)=>{"use strict";let n,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return U}});let u=r(8229),l=r(6966),a=r(5155);r(6446),r(6002),r(3954);let i=u._(r(2669)),c=l._(r(2115)),s=r(4979),f=r(2830),d=r(6698),p=r(9155),h=r(3806),y=r(1818),_=r(9692),b=u._(r(6158)),g=r(3567);r(5227);let v=r(5624);r(2332);let m=document,O=new TextEncoder,E=!1,R=!1,P=null;function j(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});o?o.enqueue(O.encode(e[1])):n.push(e[1])}else if(2===e[0])P=e[1];else if(3===e[0]){if(!n)throw Object.defineProperty(Error("Unexpected server data: missing bootstrap script."),"__NEXT_ERROR_CODE",{value:"E18",enumerable:!1,configurable:!0});let r=atob(e[1]),u=new Uint8Array(r.length);for(var t=0;t{e.enqueue("string"==typeof t?O.encode(t):t)}),E&&!R))null===e.desiredSize||e.desiredSize<0?e.error(Object.defineProperty(Error("The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection."),"__NEXT_ERROR_CODE",{value:"E117",enumerable:!1,configurable:!0})):e.close(),R=!0,n=void 0;o=e}(e)}}),w=(0,s.createFromReadableStream)(M,{callServer:h.callServer,findSourceMapURL:y.findSourceMapURL}),x=new Promise((e,t)=>{w.then(t=>{(0,v.setAppBuildId)(t.b),e((0,_.createMutableActionQueue)((0,g.createInitialRouterState)({initialFlightData:t.f,initialCanonicalUrlParts:t.c,initialParallelRoutes:new Map,location:window.location,couldBeIntercepted:t.i,postponed:t.s,prerendered:t.S})))},e=>t(e))});function C(){let e=(0,c.use)(w),t=(0,c.use)(x);return(0,a.jsx)(b.default,{actionQueue:t,globalErrorComponentAndStyles:e.G,assetPrefix:e.p})}let A=c.default.StrictMode;function N(e){let{children:t}=e;return t}let D={onRecoverableError:d.onRecoverableError,onCaughtError:p.onCaughtError,onUncaughtError:p.onUncaughtError};function U(){var e;let t=(0,a.jsx)(A,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(N,{children:(0,a.jsx)(C,{})})})});"__next_error__"===document.documentElement.id||(null==(e=window.__next_root_layout_missing_tags)?void 0:e.length)?i.default.createRoot(m,D).render(t):c.default.startTransition(()=>{i.default.hydrateRoot(m,t,{...D,formState:P})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4758:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,u,l,a,i){if(0===Object.keys(u[1]).length){t.head=a;return}for(let c in u[1]){let s;let f=u[1][c],d=f[0],p=(0,n.createRouterCacheKey)(d),h=null!==l&&void 0!==l[2][c]?l[2][c]:null;if(r){let n=r.parallelRoutes.get(c);if(n){let r;let u=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,l=new Map(n),s=l.get(p);r=null!==h?{lazyData:null,rsc:h[1],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==s?void 0:s.parallelRoutes)}:u&&s?{lazyData:s.lazyData,rsc:s.rsc,prefetchRsc:s.prefetchRsc,head:s.head,prefetchHead:s.prefetchHead,parallelRoutes:new Map(s.parallelRoutes),loading:s.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),loading:null},l.set(p,r),e(r,s,f,h||null,a,i),t.parallelRoutes.set(c,l);continue}}if(null!==h){let e=h[1],t=h[3];s={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else s={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let y=t.parallelRoutes.get(c);y?y.set(p,s):t.parallelRoutes.set(c,new Map([[p,s]])),e(s,void 0,f,h,a,i)}}}});let n=r(5637),o=r(9818);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4819:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let n=r(1139),o=r(8946);function u(e,t){var r;let{url:u,tree:l}=t,a=(0,n.createHrefFromUrl)(u),i=l||e.tree,c=e.cache;return{canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:c,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(i))?r:u.pathname}}r(4150),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4882:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(7102),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4908:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,r){let[n,o,,l]=t;for(let a in n.includes(u.PAGE_SEGMENT_KEY)&&"refresh"!==l&&(t[2]=r,t[3]="refresh"),o)e(o[a],r)}},refreshInactiveParallelSegments:function(){return l}});let n=r(878),o=r(8586),u=r(8291);async function l(e){let t=new Set;await a({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function a(e){let{state:t,updatedTree:r,updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c=r,canonicalUrl:s}=e,[,f,d,p]=r,h=[];if(d&&d!==s&&"refresh"===p&&!i.has(d)){i.add(d);let e=(0,o.fetchServerResponse)(new URL(d,location.origin),{flightRouterState:[c[0],c[1],c[2],"refetch"],nextUrl:l?t.nextUrl:null}).then(e=>{let{flightData:t}=e;if("string"!=typeof t)for(let e of t)(0,n.applyFlightData)(u,u,e)});h.push(e)}for(let e in f){let r=a({state:t,updatedTree:f[e],updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c,canonicalUrl:s});h.push(r)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4911:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AsyncMetadata:function(){return u},AsyncMetadataOutlet:function(){return a}});let n=r(5155),o=r(2115),u=r(1536).BrowserResolvedMetadata;function l(e){let{promise:t}=e,{error:r,digest:n}=(0,o.use)(t);if(r)throw n&&(r.digest=n),r;return null}function a(e){let{promise:t}=e;return(0,n.jsx)(o.Suspense,{fallback:null,children:(0,n.jsx)(l,{promise:t})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4930:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{mountLinkInstance:function(){return c},onLinkVisibilityChanged:function(){return f},onNavigationIntent:function(){return d},pingVisibleLinks:function(){return h},unmountLinkInstance:function(){return s}}),r(9692);let n=r(6158),o=r(9818),u=r(6005),l="function"==typeof WeakMap?new WeakMap:new Map,a=new Set,i="function"==typeof IntersectionObserver?new IntersectionObserver(function(e){for(let t of e){let e=t.intersectionRatio>0;f(t.target,e)}},{rootMargin:"200px"}):null;function c(e,t,r,o){let u=null;try{if(u=(0,n.createPrefetchURL)(t),null===u)return}catch(e){("function"==typeof reportError?reportError:console.error)("Cannot prefetch '"+t+"' because it cannot be converted to a URL.");return}let a={prefetchHref:u.href,router:r,kind:o,isVisible:!1,wasHoveredOrTouched:!1,prefetchTask:null,cacheVersion:-1};void 0!==l.get(e)&&s(e),l.set(e,a),null!==i&&i.observe(e)}function s(e){let t=l.get(e);if(void 0!==t){l.delete(e),a.delete(t);let r=t.prefetchTask;null!==r&&(0,u.cancelPrefetchTask)(r)}null!==i&&i.unobserve(e)}function f(e,t){let r=l.get(e);void 0!==r&&(r.isVisible=t,t?a.add(r):a.delete(r),p(r))}function d(e){let t=l.get(e);void 0!==t&&void 0!==t&&(t.wasHoveredOrTouched=!0,p(t))}function p(e){let t=e.prefetchTask;if(!e.isVisible){null!==t&&(0,u.cancelPrefetchTask)(t);return}!function(e){(async()=>e.router.prefetch(e.prefetchHref,{kind:e.kind}))().catch(e=>{})}(e)}function h(e,t){let r=(0,u.getCurrentCacheVersion)();for(let n of a){let l=n.prefetchTask;if(null!==l&&n.cacheVersion===r&&l.key.nextUrl===e&&l.treeAtTimeOfPrefetch===t)continue;null!==l&&(0,u.cancelPrefetchTask)(l);let a=(0,u.createCacheKey)(n.prefetchHref,e),i=n.wasHoveredOrTouched?u.PrefetchPriority.Intent:u.PrefetchPriority.Default;n.prefetchTask=(0,u.schedulePrefetchTask)(a,t,n.kind===o.PrefetchKind.FULL,i),n.cacheVersion=(0,u.getCurrentCacheVersion)()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientSegmentRoot",{enumerable:!0,get:function(){return o}});let n=r(5155);function o(e){let{Component:t,slots:o,params:u,promise:l}=e;{let{createRenderParamsFromClient:e}=r(3558),l=e(u);return(0,n.jsx)(t,{...o,params:l})}}r(9837),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4979:(e,t,r)=>{"use strict";e.exports=r(7197)},5072:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTML_LIMITED_BOT_UA_RE",{enumerable:!0,get:function(){return r}});let r=/Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview/i},5122:(e,t)=>{"use strict";function r(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isThenable",{enumerable:!0,get:function(){return r}})},5128:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return c}});let n=r(8229),o=n._(r(2115)),u=n._(r(5807)),l=r(9148),a="react-stack-bottom-frame",i=RegExp("(at "+a+" )|("+a+"\\@)");function c(e){let t=(0,u.default)(e),r=t&&e.stack||"",n=t?e.message:"",a=r.split("\n"),c=a.findIndex(e=>i.test(e)),s=c>=0?a.slice(0,c).join("\n"):r,f=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return Object.assign(f,e),(0,l.copyNextErrorCode)(e,f),f.stack=s,function(e){if(!o.default.captureOwnerStack)return;let t=e.stack||"",r=o.default.captureOwnerStack();r&&!1===t.endsWith(r)&&(e.stack=t+=r)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5155:(e,t,r)=>{"use strict";e.exports=r(6897)},5169:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatConsoleArgs:function(){return u},parseConsoleArgs:function(){return l}});let n=r(8229)._(r(5807));function o(e,t){switch(typeof e){case"object":if(null===e)return"null";if(Array.isArray(e)){let r="[";if(t<1)for(let n=0;n0?"...":"";return r+"]"}{if(e instanceof Error)return e+"";let r=Object.keys(e),n="{";if(t<1)for(let u=0;u0?"...":"";return n+"}"}case"string":return JSON.stringify(e);default:return String(e)}}function u(e){let t,r;"string"==typeof e[0]?(t=e[0],r=1):(t="",r=0);let n="",u=!1;for(let l=0;l=e.length){n+=a;continue}let i=t[++l];switch(i){case"c":n=u?""+n+"]":"["+n,u=!u,r++;break;case"O":case"o":n+=o(e[r++],0);break;case"d":case"i":n+=parseInt(e[r++],10);break;case"f":n+=parseFloat(e[r++]);break;case"s":n+=String(e[r++]);break;default:n+="%"+i}}for(;r0?" ":"")+o(e[r],0);return n}function l(e){if(e.length>3&&"string"==typeof e[0]&&e[0].startsWith("%c%s%c ")&&"string"==typeof e[1]&&"string"==typeof e[2]&&"string"==typeof e[3]){let t=e[2],r=e[4];return{environmentName:t.trim(),error:(0,n.default)(r)?r:null}}return{environmentName:null,error:null}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5209:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},5227:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return a}});let n=r(8229)._(r(2115)),o=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(new Set)},5262:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},5415:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(5449),(0,r(6188).appBootstrap)(()=>{let{hydrate:e}=r(4486);r(6158),r(7555),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5444:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleClientError:function(){return g},handleGlobalErrors:function(){return E},useErrorHandler:function(){return v}});let n=r(8229),o=r(2115),u=r(3506),l=r(2858),a=r(9771),i=r(5169),c=n._(r(5807)),s=r(6043),f=r(3950),d=r(5128),p=globalThis.queueMicrotask||(e=>Promise.resolve().then(e)),h=[],y=[],_=[],b=[];function g(e,t,r){let n;if(void 0===r&&(r=!1),e&&(0,c.default)(e))n=r?(0,s.createUnhandledError)(e):e;else{let e=(0,i.formatConsoleArgs)(t),{environmentName:r}=(0,i.parseConsoleArgs)(t);n=(0,s.createUnhandledError)(e,r)}for(let e of(n=(0,d.getReactStitchedError)(n),(0,a.storeHydrationErrorStateFromConsoleArgs)(...t),(0,u.attachHydrationErrorState)(n),(0,f.enqueueConsecutiveDedupedError)(h,n),y))p(()=>{e(n)})}function v(e,t){(0,o.useEffect)(()=>(h.forEach(e),_.forEach(t),y.push(e),b.push(t),()=>{y.splice(y.indexOf(e),1),b.splice(b.indexOf(t),1),h.splice(0,h.length),_.splice(0,_.length)}),[e,t])}function m(e){if((0,l.isNextRouterError)(e.error))return e.preventDefault(),!1;e.error&&g(e.error,[])}function O(e){let t=null==e?void 0:e.reason;if((0,l.isNextRouterError)(t)){e.preventDefault();return}let r=t;for(let e of(r&&!(0,c.default)(r)&&(r=(0,s.createUnhandledError)(r+"")),_.push(r),b))e(r)}function E(){try{Error.stackTraceLimit=50}catch(e){}window.addEventListener("error",m),window.addEventListener("unhandledrejection",O)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5449:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3668);let n=r(589);{let e=r.u;r.u=function(){for(var t=arguments.length,r=Array(t),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let n=r(8586),o=r(1139),u=r(7442),l=r(9234),a=r(3894),i=r(3507),c=r(4758),s=r(6158),f=r(6375),d=r(4108),p=r(4908);function h(e,t){let{origin:r}=t,h={},y=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let b=(0,s.createEmptyCacheNode)(),g=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return b.lazyData=(0,n.fetchServerResponse)(new URL(y,r),{flightRouterState:[_[0],_[1],_[2],"refetch"],nextUrl:g?e.nextUrl:null}),b.lazyData.then(async r=>{let{flightData:n,canonicalUrl:s}=r;if("string"==typeof n)return(0,a.handleExternalUrl)(e,h,n,e.pushRef.pendingPush);for(let r of(b.lazyData=null,n)){let{tree:n,seedData:i,head:d,isRootRender:v}=r;if(!v)return console.log("REFRESH FAILED"),e;let m=(0,u.applyRouterStatePatchToTree)([""],_,n,e.canonicalUrl);if(null===m)return(0,f.handleSegmentMismatch)(e,t,n);if((0,l.isNavigatingToNewRootLayout)(_,m))return(0,a.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let O=s?(0,o.createHrefFromUrl)(s):void 0;if(s&&(h.canonicalUrl=O),null!==i){let e=i[1],t=i[3];b.rsc=e,b.prefetchRsc=null,b.loading=t,(0,c.fillLazyItemsTillLeafWithHead)(b,void 0,n,i,d,void 0),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:m,updatedCache:b,includeNextUrl:g,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=b,h.patchedTree=m,_=m}return(0,i.handleMutable)(e,h)},()=>e)}r(6005),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5563:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addSearchParamsToPageSegments:function(){return f},handleAliasedPrefetchEntry:function(){return s}});let n=r(8291),o=r(6158),u=r(7442),l=r(1139),a=r(5637),i=r(3118),c=r(3507);function s(e,t,r,s){let d,p=e.tree,h=e.cache,y=(0,l.createHrefFromUrl)(r);if("string"==typeof t)return!1;for(let e of t){if(!function e(t){if(!t)return!1;let r=t[2];if(t[3])return!0;for(let t in r)if(e(r[t]))return!0;return!1}(e.seedData))continue;let t=e.tree;t=f(t,Object.fromEntries(r.searchParams));let{seedData:l,isRootRender:c,pathToSegment:s}=e,_=["",...s];t=f(t,Object.fromEntries(r.searchParams));let b=(0,u.applyRouterStatePatchToTree)(_,p,t,y),g=(0,o.createEmptyCacheNode)();if(c&&l){let e=l[1];g.loading=l[3],g.rsc=e,function e(t,r,o,u){if(0!==Object.keys(o[1]).length)for(let l in o[1]){let i;let c=o[1][l],s=c[0],f=(0,a.createRouterCacheKey)(s),d=null!==u&&void 0!==u[2][l]?u[2][l]:null;if(null!==d){let e=d[1],t=d[3];i={lazyData:null,rsc:s.includes(n.PAGE_SEGMENT_KEY)?null:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else i={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let p=t.parallelRoutes.get(l);p?p.set(f,i):t.parallelRoutes.set(l,new Map([[f,i]])),e(i,r,c,d)}}(g,h,t,l)}else g.rsc=h.rsc,g.prefetchRsc=h.prefetchRsc,g.loading=h.loading,g.parallelRoutes=new Map(h.parallelRoutes),(0,i.fillCacheWithNewSubTreeDataButOnlyLoading)(g,h,e);b&&(p=b,h=g,d=!0)}return!!d&&(s.patchedTree=p,s.cache=h,s.canonicalUrl=y,s.hashFragment=r.hash,(0,c.handleMutable)(e,s))}function f(e,t){let[r,o,...u]=e;if(r.includes(n.PAGE_SEGMENT_KEY))return[(0,n.addSearchParamsIfPageSegment)(r,t),o,...u];let l={};for(let[e,r]of Object.entries(o))l[e]=f(r,t);return[r,l,...u]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5567:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[u,l]=r,[a,i]=t;return(0,o.matchSegment)(a,u)?!(t.length<=2)&&e((0,n.getNextFlightSegmentPath)(t),l[i]):!!Array.isArray(a)}}});let n=r(2561),o=r(1127);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5618:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return s},RedirectType:function(){return o.RedirectType},forbidden:function(){return l.forbidden},notFound:function(){return u.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return a.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow}});let n=r(6825),o=r(2210),u=r(8527),l=r(3678),a=r(9187),i=r(7599);class c extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class s extends URLSearchParams{append(){throw new c}delete(){throw new c}set(){throw new c}sort(){throw new c}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5624:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getAppBuildId:function(){return o},setAppBuildId:function(){return n}});let r="";function n(e){r=e}function o(){return r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5637:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(8291);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5807:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return u}});let n=r(5209);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function u(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},5929:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let n=r(4074),o=r(214);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5952:(e,t,r)=>{"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:()=>n})},6002:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(6905).patchConsoleError)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6005:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NavigationResultTag:function(){return f},PrefetchPriority:function(){return d},bumpPrefetchTask:function(){return c},cancelPrefetchTask:function(){return i},createCacheKey:function(){return s},getCurrentCacheVersion:function(){return l},navigate:function(){return o},prefetch:function(){return n},revalidateEntireCache:function(){return u},schedulePrefetchTask:function(){return a}});let r=()=>{throw Object.defineProperty(Error("Segment Cache experiment is not enabled. This is a bug in Next.js."),"__NEXT_ERROR_CODE",{value:"E654",enumerable:!1,configurable:!0})},n=r,o=r,u=r,l=r,a=r,i=r,c=r,s=r;var f=function(e){return e[e.MPA=0]="MPA",e[e.Success=1]="Success",e[e.NoOp=2]="NoOp",e[e.Async=3]="Async",e}({}),d=function(e){return e[e.Intent=2]="Intent",e[e.Default=1]="Default",e[e.Background=0]="Background",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6043:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createUnhandledError:function(){return o},getUnhandledErrorType:function(){return l},isUnhandledConsoleOrRejection:function(){return u}});let r=Symbol.for("next.console.error.digest"),n=Symbol.for("next.console.error.type");function o(e,t){let o="string"==typeof e?Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}):e;return o[r]="NEXT_UNHANDLED_ERROR",o[n]="string"==typeof e?"string":"error",t&&!o.environmentName&&(o.environmentName=t),o}let u=e=>e&&"NEXT_UNHANDLED_ERROR"===e[r],l=e=>e[n];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6158:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createEmptyCacheNode:function(){return x},createPrefetchURL:function(){return M},default:function(){return D}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(5227),a=r(9818),i=r(1139),c=r(886),s=r(1365),f=n._(r(6614)),d=r(774),p=r(5929),h=r(7760),y=r(686),_=r(2691),b=r(1822),g=r(4882),v=r(7102),m=r(8946),O=r(8836),E=r(3806);r(6005);let R=r(6825),P=r(2210),j=r(9154);r(4930);let T={};function S(e){return e.origin!==window.location.origin}function M(e){let t;if((0,d.isBot)(window.navigator.userAgent))return null;try{t=new URL((0,p.addBasePath)(e),window.location.href)}catch(t){throw Object.defineProperty(Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL."),"__NEXT_ERROR_CODE",{value:"E234",enumerable:!1,configurable:!0})}return S(t)?null:t}function w(e){let{appRouterState:t}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:n}=t,o={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==n?(r.pendingPush=!1,window.history.pushState(o,"",n)):window.history.replaceState(o,"",n)},[t]),(0,u.useEffect)(()=>{},[t.nextUrl,t.tree]),null}function x(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null}}function C(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function A(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,u.useDeferredValue)(r,o)}function N(e){let t,{actionQueue:r,assetPrefix:n,globalError:i}=e,[d,O]=(0,s.useReducer)(r),{canonicalUrl:x}=(0,s.useUnwrapState)(d),{searchParams:N,pathname:D}=(0,u.useMemo)(()=>{let e=new URL(x,window.location.href);return{searchParams:e.searchParams,pathname:(0,v.hasBasePath)(e.pathname)?(0,g.removeBasePath)(e.pathname):e.pathname}},[x]),U=(0,u.useCallback)(e=>{let{previousTree:t,serverResponse:r}=e;(0,u.startTransition)(()=>{O({type:a.ACTION_SERVER_PATCH,previousTree:t,serverResponse:r})})},[O]),k=(0,u.useCallback)((e,t,r)=>{let n=new URL((0,p.addBasePath)(e),location.href);return O({type:a.ACTION_NAVIGATE,url:n,isExternalUrl:S(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t,allowAliasing:!0})},[O]);(0,E.useServerActionDispatcher)(O);let I=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let n=M(e);if(null!==n){var o;(0,j.prefetchReducer)(r.state,{type:a.ACTION_PREFETCH,url:n,kind:null!=(o=null==t?void 0:t.kind)?o:a.PrefetchKind.FULL})}},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;k(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var r;k(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,u.startTransition)(()=>{O({type:a.ACTION_REFRESH,origin:window.location.origin})})},hmrRefresh:()=>{throw Object.defineProperty(Error("hmrRefresh can only be used in development mode. Please use refresh instead."),"__NEXT_ERROR_CODE",{value:"E485",enumerable:!1,configurable:!0})}}),[r,O,k]);(0,u.useEffect)(()=>{window.next&&(window.next.router=I)},[I]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(T.pendingMpaPath=void 0,O({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[O]),(0,u.useEffect)(()=>{function e(e){let t="reason"in e?e.reason:e.error;if((0,P.isRedirectError)(t)){e.preventDefault();let r=(0,R.getURLFromRedirectError)(t);(0,R.getRedirectTypeFromError)(t)===P.RedirectType.push?I.push(r,{}):I.replace(r,{})}}return window.addEventListener("error",e),window.addEventListener("unhandledrejection",e),()=>{window.removeEventListener("error",e),window.removeEventListener("unhandledrejection",e)}},[I]);let{pushRef:H}=(0,s.useUnwrapState)(d);if(H.mpaNavigation){if(T.pendingMpaPath!==x){let e=window.location;H.pendingPush?e.assign(x):e.replace(x),T.pendingMpaPath=x}(0,u.use)(b.unresolvedThenable)}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{var t;let r=window.location.href,n=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,u.startTransition)(()=>{O({type:a.ACTION_RESTORE,url:new URL(null!=e?e:r,r),tree:n})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=C(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=C(e),o&&r(o)),t(e,n,o)};let n=e=>{if(e.state){if(!e.state.__NA){window.location.reload();return}(0,u.startTransition)(()=>{O({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:e.state.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[O]);let{cache:F,tree:B,nextUrl:W,focusAndScrollRef:$}=(0,s.useUnwrapState)(d),K=(0,u.useMemo)(()=>(0,_.findHeadInCache)(F,B[1]),[F,B]),X=(0,u.useMemo)(()=>(0,m.getSelectedParams)(B),[B]),z=(0,u.useMemo)(()=>({parentTree:B,parentCacheNode:F,parentSegmentPath:null,url:x}),[B,F,x]),G=(0,u.useMemo)(()=>({changeByServerResponse:U,tree:B,focusAndScrollRef:$,nextUrl:W}),[U,B,$,W]);if(null!==K){let[e,r]=K;t=(0,o.jsx)(A,{headCacheNode:e},r)}else t=null;let V=(0,o.jsxs)(y.RedirectBoundary,{children:[t,F.rsc,(0,o.jsx)(h.AppRouterAnnouncer,{tree:B})]});return V=(0,o.jsx)(f.ErrorBoundary,{errorComponent:i[0],errorStyles:i[1],children:V}),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(w,{appRouterState:(0,s.useUnwrapState)(d)}),(0,o.jsx)(L,{}),(0,o.jsx)(c.PathParamsContext.Provider,{value:X,children:(0,o.jsx)(c.PathnameContext.Provider,{value:D,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:N,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:G,children:(0,o.jsx)(l.AppRouterContext.Provider,{value:I,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:z,children:V})})})})})})]})}function D(e){let{actionQueue:t,globalErrorComponentAndStyles:[r,n],assetPrefix:u}=e;return(0,O.useNavFailureHandler)(),(0,o.jsx)(f.ErrorBoundary,{errorComponent:f.default,children:(0,o.jsx)(N,{actionQueue:t,assetPrefix:u,globalError:[r,n]})})}let U=new Set,k=new Set;function L(){let[,e]=u.default.useState(0),t=U.size;return(0,u.useEffect)(()=>{let r=()=>e(e=>e+1);return k.add(r),t!==U.size&&r(),()=>{k.delete(r)}},[t,e]),[...U].map((e,t)=>(0,o.jsx)("link",{rel:"stylesheet",href:""+e,precedence:"next"},t))}globalThis._N_E_STYLE_LOAD=function(e){let t=U.size;return U.add(e),U.size!==t&&k.forEach(e=>e()),Promise.resolve()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6188:(e,t)=>{"use strict";function r(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,n]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(n)for(let e in n)"children"!==e&&o.setAttribute(e,n[e]);r?(o.src=r,o.onload=()=>e(),o.onerror=t):n&&(o.innerHTML=n.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return r}}),window.next={version:"15.2.4",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6206:(e,t,r)=>{"use strict";e.exports=r(2223)},6361:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},6375:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let n=r(3894);function o(e,t,r){return(0,n.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6420:(e,t,r)=>{"use strict";r.r(t),r.d(t,{_:()=>o});var n=0;function o(e){return"__private_"+n+++"_"+e}},6446:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},6465:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NEXTJS_HYDRATION_ERROR_LINK:function(){return i},REACT_HYDRATION_ERROR_LINK:function(){return a},getDefaultHydrationErrorMessage:function(){return c},getHydrationErrorStackInfo:function(){return h},isHydrationError:function(){return s},isReactHydrationErrorMessage:function(){return f},testReactHydrationWarning:function(){return p}});let n=r(8229)._(r(5807)),o=/hydration failed|while hydrating|content does not match|did not match|HTML didn't match/i,u="Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used:",l=[u,"A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:"],a="https://react.dev/link/hydration-mismatch",i="https://nextjs.org/docs/messages/react-hydration-error",c=()=>u;function s(e){return(0,n.default)(e)&&o.test(e.message)}function f(e){return l.some(t=>e.startsWith(t))}let d=[/^In HTML, (.+?) cannot be a child of <(.+?)>\.(.*)\nThis will cause a hydration error\.(.*)/,/^In HTML, (.+?) cannot be a descendant of <(.+?)>\.\nThis will cause a hydration error\.(.*)/,/^In HTML, text nodes cannot be a child of <(.+?)>\.\nThis will cause a hydration error\./,/^In HTML, whitespace text nodes cannot be a child of <(.+?)>\. Make sure you don't have any extra whitespace between tags on each line of your source code\.\nThis will cause a hydration error\./,/^Expected server HTML to contain a matching <(.+?)> in <(.+?)>\.(.*)/,/^Did not expect server HTML to contain a <(.+?)> in <(.+?)>\.(.*)/,/^Expected server HTML to contain a matching text node for "(.+?)" in <(.+?)>\.(.*)/,/^Did not expect server HTML to contain the text node "(.+?)" in <(.+?)>\.(.*)/,/^Text content did not match\. Server: "(.+?)" Client: "(.+?)"(.*)/];function p(e){return"string"==typeof e&&!!e&&(e.startsWith("Warning: ")&&(e=e.slice(9)),d.some(t=>t.test(e)))}function h(e){let t=p(e=(e=e.replace(/^Error: /,"")).replace("Warning: ",""));if(!f(e)&&!t)return{message:null,stack:e,diff:""};if(t){let[t,r]=e.split("\n\n");return{message:t.trim(),stack:"",diff:(r||"").trim()}}let r=e.indexOf("\n"),[n,o]=(e=e.slice(r+1).trim()).split(""+a),u=n.trim();if(!o||!(o.length>1))return{message:u,stack:o};{let e=[],t=[];return o.split("\n").forEach(r=>{""!==r.trim()&&(r.trim().startsWith("at ")?e.push(r):t.push(r))}),{message:u,diff:t.join("\n"),stack:e.join("\n")}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6494:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return a},getAccessFallbackHTTPStatus:function(){return l},isHTTPAccessFallbackError:function(){return u}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function l(e){return Number(e.digest.split(";")[1])}function a(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6614:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let n=r(8229),o=r(5155),u=n._(r(2115)),l=r(9921),a=r(2858);r(8836);let i=void 0,c={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function s(e){let{error:t}=e;if(i){let e=i.getStore();if((null==e?void 0:e.isRevalidate)||(null==e?void 0:e.isStaticGeneration))throw console.error(t),t}return null}class f extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(s,{error:t}),(0,o.jsx)("div",{style:c.error,children:(0,o.jsxs)("div",{children:[(0,o.jsxs)("h2",{style:c.text,children:["Application error: a ",r?"server":"client","-side exception has occurred while loading ",window.location.hostname," (see the"," ",r?"server logs":"browser console"," for more information)."]}),r?(0,o.jsx)("p",{style:c.text,children:"Digest: "+r}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:u}=e,a=(0,l.useUntrackedPathname)();return t?(0,o.jsx)(f,{pathname:a,errorComponent:t,errorStyles:r,errorScripts:n,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6698:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return i}});let n=r(8229),o=r(5262),u=r(1646),l=r(5128),a=n._(r(5807)),i=(e,t)=>{let r=(0,a.default)(e)&&"cause"in e?e.cause:e,n=(0,l.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,u.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6825:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getRedirectError:function(){return l},getRedirectStatusCodeFromError:function(){return f},getRedirectTypeFromError:function(){return s},getURLFromRedirectError:function(){return c},permanentRedirect:function(){return i},redirect:function(){return a}});let n=r(4420),o=r(2210),u=void 0;function l(e,t,r){void 0===r&&(r=n.RedirectStatusCode.TemporaryRedirect);let u=Object.defineProperty(Error(o.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return u.digest=o.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",u}function a(e,t){var r;throw null!=t||(t=(null==u?void 0:null==(r=u.getStore())?void 0:r.isAction)?o.RedirectType.push:o.RedirectType.replace),l(e,t,n.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=o.RedirectType.replace),l(e,t,n.RedirectStatusCode.PermanentRedirect)}function c(e){return(0,o.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function s(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function f(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6897:(e,t)=>{"use strict";var r=Symbol.for("react.transitional.element");function n(e,t,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in n={},t)"key"!==u&&(n[u]=t[u]);else n=t;return{$$typeof:r,type:e,key:o,ref:void 0!==(t=n.ref)?t:null,props:n}}t.Fragment=Symbol.for("react.fragment"),t.jsx=n,t.jsxs=n},6905:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{originConsoleError:function(){return o},patchConsoleError:function(){return u}}),r(8229),r(5807);let n=r(2858);r(5444),r(5169);let o=globalThis.console.error;function u(){window.console.error=function(){let e;for(var t=arguments.length,r=Array(t),u=0;u{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in e)if("default"!==l&&Object.prototype.hasOwnProperty.call(e,l)){var a=u?Object.getOwnPropertyDescriptor(e,l):null;a&&(a.get||a.set)?Object.defineProperty(o,l,a):o[l]=e[l]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})},6975:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return s}});let n=r(6966),o=r(5155),u=n._(r(2115)),l=r(9921),a=r(6494);r(3230);let i=r(5227);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,a.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:u}=this.state,l={[a.HTTPAccessErrorStatus.NOT_FOUND]:e,[a.HTTPAccessErrorStatus.FORBIDDEN]:t,[a.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(u){let i=u===a.HTTPAccessErrorStatus.NOT_FOUND&&e,c=u===a.HTTPAccessErrorStatus.FORBIDDEN&&t,s=u===a.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return i||c||s?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,l[u]]}):n}return n}constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}}function s(e){let{notFound:t,forbidden:r,unauthorized:n,children:a}=e,s=(0,l.useUntrackedPathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t||r||n?(0,o.jsx)(c,{pathname:s,notFound:t,forbidden:r,unauthorized:n,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7102:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(1747);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7197:(e,t,r)=>{"use strict";e.exports=r(9062)},7205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return n}});let n=r(8324).makeUntrackedExoticSearchParams;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let n=r(9133),o=r(8291);function u(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},7442:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,r,n,i){let c;let[s,f,d,p,h]=r;if(1===t.length){let e=a(r,n);return(0,l.addRefreshMarkerToActiveParallelSegments)(e,i),e}let[y,_]=t;if(!(0,u.matchSegment)(y,s))return null;if(2===t.length)c=a(f[_],n);else if(null===(c=e((0,o.getNextFlightSegmentPath)(t),f[_],n,i)))return null;let b=[t[0],{...f,[_]:c},d,p];return h&&(b[4]=!0),(0,l.addRefreshMarkerToActiveParallelSegments)(b,i),b}}});let n=r(8291),o=r(2561),u=r(1127),l=r(4908);function a(e,t){let[r,o]=e,[l,i]=t;if(l===n.DEFAULT_SEGMENT_KEY&&r!==n.DEFAULT_SEGMENT_KEY)return e;if((0,u.matchSegment)(r,l)){let t={};for(let e in o)void 0!==i[e]?t[e]=a(o[e],i[e]):t[e]=o[e];for(let e in i)!t[e]&&(t[e]=i[e]);let n=[r,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7541:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{describeHasCheckingStringProperty:function(){return o},describeStringPropertyAccess:function(){return n},wellKnownProperties:function(){return u}});let r=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function n(e,t){return r.test(t)?"`"+e+"."+t+"`":"`"+e+"["+JSON.stringify(t)+"]`"}function o(e,t){let r=JSON.stringify(t);return"`Reflect.has("+e+", "+r+")`, `"+r+" in "+e+"`, or similar"}let u=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","toJSON","$$typeof","__esModule"])},7555:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return j}});let n=r(8229),o=r(6966),u=r(5155),l=o._(r(2115)),a=n._(r(7650)),i=r(5227),c=r(8586),s=r(1822),f=r(6614),d=r(1127),p=r(4189),h=r(686),y=r(6975),_=r(5637),b=r(4108),g=a.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,v=["bottom","height","left","right","top","width","x","y"];function m(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class O extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r=function(e){var t;return"top"===e?document.body:null!=(t=document.getElementById(e))?t:document.getElementsByName(e)[0]}(n)),!r)r=(0,g.findDOMNode)(this);if(!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return v.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(n){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!m(r,t)&&(e.scrollTop=0,m(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function E(e){let{segmentPath:t,children:r}=e,n=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!n)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});return(0,u.jsx)(O,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function R(e){let{tree:t,segmentPath:r,cacheNode:n,url:o}=e,a=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!a)throw Object.defineProperty(Error("invariant global layout router not mounted"),"__NEXT_ERROR_CODE",{value:"E473",enumerable:!1,configurable:!0});let{changeByServerResponse:f,tree:p}=a,h=null!==n.prefetchRsc?n.prefetchRsc:n.rsc,y=(0,l.useDeferredValue)(n.rsc,h),_="object"==typeof y&&null!==y&&"function"==typeof y.then?(0,l.use)(y):y;if(!_){let e=n.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,u=2===t.length;if((0,d.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(u){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...r],p),u=(0,b.hasInterceptionRouteInCurrentTree)(p);n.lazyData=e=(0,c.fetchServerResponse)(new URL(o,location.origin),{flightRouterState:t,nextUrl:u?a.nextUrl:null}).then(e=>((0,l.startTransition)(()=>{f({previousTree:p,serverResponse:e})}),e)),(0,l.use)(e)}(0,l.use)(s.unresolvedThenable)}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{parentTree:t,parentCacheNode:n,parentSegmentPath:r,url:o},children:_})}function P(e){let t,{loading:r,children:n}=e;if(t="object"==typeof r&&null!==r&&"function"==typeof r.then?(0,l.use)(r):r){let e=t[0],r=t[1],o=t[2];return(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[r,o,e]}),children:n})}return(0,u.jsx)(u.Fragment,{children:n})}function j(e){let{parallelRouterKey:t,error:r,errorStyles:n,errorScripts:o,templateStyles:a,templateScripts:c,template:s,notFound:d,forbidden:p,unauthorized:b}=e,g=(0,l.useContext)(i.LayoutRouterContext);if(!g)throw Object.defineProperty(Error("invariant expected layout router to be mounted"),"__NEXT_ERROR_CODE",{value:"E56",enumerable:!1,configurable:!0});let{parentTree:v,parentCacheNode:m,parentSegmentPath:O,url:j}=g,T=m.parallelRoutes,S=T.get(t);S||(S=new Map,T.set(t,S));let M=v[0],w=v[1][t],x=w[0],C=null===O?[t]:O.concat([M,t]),A=(0,_.createRouterCacheKey)(x),N=(0,_.createRouterCacheKey)(x,!0),D=S.get(A);if(void 0===D){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};D=e,S.set(A,e)}let U=m.loading;return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(E,{segmentPath:C,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:n,errorScripts:o,children:(0,u.jsx)(P,{loading:U,children:(0,u.jsx)(y.HTTPAccessFallbackBoundary,{notFound:d,forbidden:p,unauthorized:b,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(R,{url:j,tree:w,cacheNode:D,segmentPath:C})})})})})}),children:[a,c,s]},N)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7568:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=r(6966)._(r(2115)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},7599:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n=r(7865).unstable_rethrow;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7650:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(8730)},7755:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return l},isInterceptionRouteAppPath:function(){return u}});let n=r(7276),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,r,u;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,u]=e.split(r,2);break}if(!t||!r||!u)throw Object.defineProperty(Error("Invalid interception route: "+e+". Must be in the format //(..|...|..)(..)/"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":u="/"===t?"/"+u:t+"/"+u;break;case"(..)":if("/"===t)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});u=l.slice(0,-2).concat(u).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:t,interceptedRoute:u}}},7760:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AppRouterAnnouncer",{enumerable:!0,get:function(){return l}});let n=r(2115),o=r(7650),u="next-route-announcer";function l(e){let{tree:t}=e,[r,l]=(0,n.useState)(null);(0,n.useEffect)(()=>(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,n.useState)(""),c=(0,n.useRef)(void 0);return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),r?(0,o.createPortal)(a,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7801:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return s}});let n=r(1139),o=r(7442),u=r(9234),l=r(3894),a=r(878),i=r(3507),c=r(6158);function s(e,t){let{serverResponse:{flightData:r,canonicalUrl:s}}=t,f={};if(f.preserveCustomHistoryState=!1,"string"==typeof r)return(0,l.handleExternalUrl)(e,f,r,e.pushRef.pendingPush);let d=e.tree,p=e.cache;for(let t of r){let{segmentPath:r,tree:i}=t,h=(0,o.applyRouterStatePatchToTree)(["",...r],d,i,e.canonicalUrl);if(null===h)return e;if((0,u.isNavigatingToNewRootLayout)(d,h))return(0,l.handleExternalUrl)(e,f,e.canonicalUrl,e.pushRef.pendingPush);let y=s?(0,n.createHrefFromUrl)(s):void 0;y&&(f.canonicalUrl=y);let _=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(p,_,t),f.patchedTree=h,f.cache=_,p=_,d=h}return(0,i.handleMutable)(e,f)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7829:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeUntrackedExoticParams",{enumerable:!0,get:function(){return u}});let n=r(7541),o=new WeakMap;function u(e){let t=o.get(e);if(t)return t;let r=Promise.resolve(e);return o.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7865:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=r(5262),o=r(2858);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8229:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},8287:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{METADATA_BOUNDARY_NAME:function(){return r},OUTLET_BOUNDARY_NAME:function(){return o},VIEWPORT_BOUNDARY_NAME:function(){return n}});let r="__next_metadata_boundary__",n="__next_viewport_boundary__",o="__next_outlet_boundary__"},8291:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(u)){let e=JSON.stringify(t);return"{}"!==e?u+"?"+e:u}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return l},PAGE_SEGMENT_KEY:function(){return u},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let u="__PAGE__",l="__DEFAULT__"},8324:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeUntrackedExoticSearchParams",{enumerable:!0,get:function(){return u}});let n=r(7541),o=new WeakMap;function u(e){let t=o.get(e);if(t)return t;let r=Promise.resolve(e);return o.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8527:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"notFound",{enumerable:!0,get:function(){return o}});let n=""+r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw e.digest=n,e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8586:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createFetch:function(){return y},createFromNextReadableStream:function(){return _},fetchServerResponse:function(){return h},urlToUrlWithoutFlightMarker:function(){return f}});let n=r(3269),o=r(3806),u=r(1818),l=r(9818),a=r(2561),i=r(5624),c=r(8969),{createFromReadableStream:s}=r(4979);function f(e){let t=new URL(e,location.origin);if(t.searchParams.delete(n.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function d(e){return{flightData:f(e).toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}let p=new AbortController;async function h(e,t){let{flightRouterState:r,nextUrl:o,prefetchKind:u}=t,c={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(r))};u===l.PrefetchKind.AUTO&&(c[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),o&&(c[n.NEXT_URL]=o);try{var s;let t=u?u===l.PrefetchKind.TEMPORARY?"high":"low":"auto";(e=new URL(e)).pathname.endsWith("/")?e.pathname+="index.txt":e.pathname+=".txt";let r=await y(e,c,t,p.signal),o=f(r.url),h=r.redirected?o:void 0,b=r.headers.get("content-type")||"",g=!!(null==(s=r.headers.get("vary"))?void 0:s.includes(n.NEXT_URL)),v=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),m=r.headers.get(n.NEXT_ROUTER_STALE_TIME_HEADER),O=null!==m?parseInt(m,10):-1,E=b.startsWith(n.RSC_CONTENT_TYPE_HEADER);if(E||(E=b.startsWith("text/plain")),!E||!r.ok||!r.body)return e.hash&&(o.hash=e.hash),d(o.toString());let R=v?function(e){let t=e.getReader();return new ReadableStream({async pull(e){for(;;){let{done:r,value:n}=await t.read();if(!r){e.enqueue(n);continue}return}}})}(r.body):r.body,P=await _(R);if((0,i.getAppBuildId)()!==P.b)return d(r.url);return{flightData:(0,a.normalizeFlightData)(P.f),canonicalUrl:h,couldBeIntercepted:g,prerendered:P.S,postponed:v,staleTime:O}}catch(t){return p.signal.aborted||console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),{flightData:e.toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}}function y(e,t,r,n){let o=new URL(e);return(0,c.setCacheBustingSearchParam)(o,t),fetch(o,{credentials:"same-origin",headers:t,priority:r||void 0,signal:n})}function _(e){return s(e,{callServer:o.callServer,findSourceMapURL:u.findSourceMapURL})}window.addEventListener("pagehide",()=>{p.abort()}),window.addEventListener("pageshow",()=>{p=new AbortController}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8709:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return w}});let n=r(3806),o=r(1818),u=r(3269),l=r(9818),a=r(1315),i=r(1139),c=r(3894),s=r(7442),f=r(9234),d=r(3507),p=r(4758),h=r(6158),y=r(4108),_=r(6375),b=r(4908),g=r(2561),v=r(6825),m=r(2210),O=r(1518),E=r(4882),R=r(7102),P=r(2816);r(6005);let{createFromFetch:j,createTemporaryReferenceSet:T,encodeReply:S}=r(4979);async function M(e,t,r){let l,i,{actionId:c,actionArgs:s}=r,f=T(),d=(0,P.extractInfoFromServerReferenceId)(c),p="use-cache"===d.type?(0,P.omitUnusedArgs)(s,d):s,h=await S(p,{temporaryReferences:f}),y=await fetch("",{method:"POST",headers:{Accept:u.RSC_CONTENT_TYPE_HEADER,[u.ACTION_HEADER]:c,[u.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(e.tree)),...t?{[u.NEXT_URL]:t}:{}},body:h}),_=y.headers.get("x-action-redirect"),[b,v]=(null==_?void 0:_.split(";"))||[];switch(v){case"push":l=m.RedirectType.push;break;case"replace":l=m.RedirectType.replace;break;default:l=void 0}let O=!!y.headers.get(u.NEXT_IS_PRERENDER_HEADER);try{let e=JSON.parse(y.headers.get("x-action-revalidated")||"[[],0,0]");i={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){i={paths:[],tag:!1,cookie:!1}}let E=b?(0,a.assignLocation)(b,new URL(e.canonicalUrl,window.location.href)):void 0,R=y.headers.get("content-type");if(null==R?void 0:R.startsWith(u.RSC_CONTENT_TYPE_HEADER)){let e=await j(Promise.resolve(y),{callServer:n.callServer,findSourceMapURL:o.findSourceMapURL,temporaryReferences:f});return b?{actionFlightData:(0,g.normalizeFlightData)(e.f),redirectLocation:E,redirectType:l,revalidatedParts:i,isPrerender:O}:{actionResult:e.a,actionFlightData:(0,g.normalizeFlightData)(e.f),redirectLocation:E,redirectType:l,revalidatedParts:i,isPrerender:O}}if(y.status>=400)throw Object.defineProperty(Error("text/plain"===R?await y.text():"An unexpected response was received from the server."),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return{redirectLocation:E,redirectType:l,revalidatedParts:i,isPrerender:O}}function w(e,t){let{resolve:r,reject:n}=t,o={},u=e.tree;o.preserveCustomHistoryState=!1;let a=e.nextUrl&&(0,y.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return M(e,a,t).then(async y=>{let g,{actionResult:P,actionFlightData:j,redirectLocation:T,redirectType:S,isPrerender:M,revalidatedParts:w}=y;if(T&&(S===m.RedirectType.replace?(e.pushRef.pendingPush=!1,o.pendingPush=!1):(e.pushRef.pendingPush=!0,o.pendingPush=!0),o.canonicalUrl=g=(0,i.createHrefFromUrl)(T,!1)),!j)return(r(P),T)?(0,c.handleExternalUrl)(e,o,T.href,e.pushRef.pendingPush):e;if("string"==typeof j)return r(P),(0,c.handleExternalUrl)(e,o,j,e.pushRef.pendingPush);let x=w.paths.length>0||w.tag||w.cookie;for(let n of j){let{tree:l,seedData:i,head:d,isRootRender:y}=n;if(!y)return console.log("SERVER ACTION APPLY FAILED"),r(P),e;let v=(0,s.applyRouterStatePatchToTree)([""],u,l,g||e.canonicalUrl);if(null===v)return r(P),(0,_.handleSegmentMismatch)(e,t,l);if((0,f.isNavigatingToNewRootLayout)(u,v))return r(P),(0,c.handleExternalUrl)(e,o,g||e.canonicalUrl,e.pushRef.pendingPush);if(null!==i){let t=i[1],r=(0,h.createEmptyCacheNode)();r.rsc=t,r.prefetchRsc=null,r.loading=i[3],(0,p.fillLazyItemsTillLeafWithHead)(r,void 0,l,i,d,void 0),o.cache=r,o.prefetchCache=new Map,x&&await (0,b.refreshInactiveParallelSegments)({state:e,updatedTree:v,updatedCache:r,includeNextUrl:!!a,canonicalUrl:o.canonicalUrl||e.canonicalUrl})}o.patchedTree=v,u=v}return T&&g?(x||((0,O.createSeededPrefetchCacheEntry)({url:T,data:{flightData:j,canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1},tree:e.tree,prefetchCache:e.prefetchCache,nextUrl:e.nextUrl,kind:M?l.PrefetchKind.FULL:l.PrefetchKind.AUTO}),o.prefetchCache=e.prefetchCache),n((0,v.getRedirectError)((0,R.hasBasePath)(g)?(0,E.removeBasePath)(g):g,S||m.RedirectType.push))):r(P),(0,d.handleMutable)(e,o)},t=>(n(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8730:(e,t,r)=>{"use strict";var n=r(2115);function o(e){var t="https://react.dev/errors/"+e;if(1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleHardNavError:function(){return o},useNavFailureHandler:function(){return u}}),r(2115);let n=r(1139);function o(e){return!!e&&!!window.next.__pendingUrl&&(0,n.createHrefFromUrl)(new URL(window.location.href))!==(0,n.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function u(){}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8946:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{computeChangedPath:function(){return s},extractPathFromFlightRouterState:function(){return c},getSelectedParams:function(){return function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],u=Array.isArray(t),l=u?t[1]:t;!(!l||l.startsWith(o.PAGE_SEGMENT_KEY))&&(u&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):u&&(r[t[0]]=t[1]),r=e(n,r))}return r}}});let n=r(7755),o=r(8291),u=r(1127),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[a(r)],l=null!=(t=e[1])?t:{},s=l.children?c(l.children):void 0;if(void 0!==s)u.push(s);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let r=c(t);void 0!==r&&u.push(r)}return i(u)}function s(e,t){let r=function e(t,r){let[o,l]=t,[i,s]=r,f=a(o),d=a(i);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(r))?p:""}for(let t in l)if(s[t]){let r=e(l[t],s[t]);if(null!==r)return a(i)+"/"+r}return null}(e,t);return null==r||"/"===r?r:i(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8969:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setCacheBustingSearchParam",{enumerable:!0,get:function(){return u}});let n=r(3942),o=r(3269),u=(e,t)=>{let r=(0,n.hexHash)([t[o.NEXT_ROUTER_PREFETCH_HEADER]||"0",t[o.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]||"0",t[o.NEXT_ROUTER_STATE_TREE_HEADER],t[o.NEXT_URL]].join(",")),u=e.search,l=(u.startsWith("?")?u.slice(1):u).split("&").filter(Boolean);l.push(o.NEXT_RSC_UNION_QUERY+"="+r),e.search=l.length?"?"+l.join("&"):""};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return h},usePathname:function(){return d},useRouter:function(){return p},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return _},useSelectedLayoutSegments:function(){return y},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let n=r(2115),o=r(5227),u=r(886),l=r(708),a=r(8291),i=r(5618),c=r(7568),s=void 0;function f(){let e=(0,n.useContext)(u.SearchParamsContext);return(0,n.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e])}function d(){return null==s||s("usePathname()"),(0,n.useContext)(u.PathnameContext)}function p(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function h(){return null==s||s("useParams()"),(0,n.useContext)(u.PathParamsContext)}function y(e){void 0===e&&(e="children"),null==s||s("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,l.getSegmentValue)(c);return!s||s.startsWith(a.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,r,!1,o))}(t.parentTree,e):null}function _(e){void 0===e&&(e="children"),null==s||s("useSelectedLayoutSegment()");let t=y(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===a.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9062:(e,t,r)=>{"use strict";var n=r(7650),o={stream:!0},u=new Map;function l(e){var t=r(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function a(){}function i(e){for(var t=e[1],n=[],o=0;oc||35===c||114===c||120===c?(s=c,c=3,a++):(s=0,c=3);continue;case 2:44===(y=l[a++])?c=4:f=f<<4|(96l.length&&(y=-1)}var _=l.byteOffset+a;if(-1{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},9148:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{copyNextErrorCode:function(){return n},createDigestWithErrorCode:function(){return r},extractNextErrorCode:function(){return o}});let r=(e,t)=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e?`${t}@${e.__NEXT_ERROR_CODE}`:t,n=(e,t)=>{let r=o(e);r&&"object"==typeof t&&null!==t&&Object.defineProperty(t,"__NEXT_ERROR_CODE",{value:r,enumerable:!1,configurable:!0})},o=e=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e&&"string"==typeof e.__NEXT_ERROR_CODE?e.__NEXT_ERROR_CODE:"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest?e.digest.split("@").find(e=>e.startsWith("E")):void 0},9154:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return u},prefetchReducer:function(){return l}});let n=r(2312),o=r(1518),u=new n.PromiseQueue(5),l=function(e,t){(0,o.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;return(0,o.getOrCreatePrefetchCacheEntry)({url:r,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,allowAliasing:!0}),e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9155:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{onCaughtError:function(){return i},onUncaughtError:function(){return c}}),r(5128),r(5444);let n=r(2858),o=r(5262),u=r(1646),l=r(6905),a=r(6614);function i(e,t){var r;let u;let i=null==(r=t.errorBoundary)?void 0:r.constructor;if(u=u||i===a.ErrorBoundaryHandler&&t.errorBoundary.props.errorComponent===a.GlobalError)return c(e,t);(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,l.originConsoleError)(e)}function c(e,t){(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,u.reportGlobalError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9187:(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unauthorized",{enumerable:!0,get:function(){return n}}),r(6494).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9234:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,r){let n=t[0],o=r[0];if(Array.isArray(n)&&Array.isArray(o)){if(n[0]!==o[0]||n[2]!==o[2])return!0}else if(n!==o)return!0;if(t[4])return!r[4];if(r[4])return!0;let u=Object.values(t[1])[0],l=Object.values(r[1])[0];return!u||!l||e(u,l)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9509:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(666)},9665:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{MetadataBoundary:function(){return u},OutletBoundary:function(){return a},ViewportBoundary:function(){return l}});let n=r(8287),o={[n.METADATA_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.VIEWPORT_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.OUTLET_BOUNDARY_NAME]:function(e){let{children:t}=e;return t}},u=o[n.METADATA_BOUNDARY_NAME.slice(0)],l=o[n.VIEWPORT_BOUNDARY_NAME.slice(0)],a=o[n.OUTLET_BOUNDARY_NAME.slice(0)];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9692:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createMutableActionQueue:function(){return s},getCurrentAppRouterState:function(){return f}});let n=r(9818),o=r(9726),u=r(2115),l=r(5122);function a(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?i({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:n.ACTION_REFRESH,origin:window.location.origin},t)))}async function i(e){let{actionQueue:t,action:r,setState:n}=e,o=t.state;t.pending=r;let u=r.payload,i=t.action(o,u);function c(e){!r.discarded&&(t.state=e,a(t,n),r.resolve(e))}(0,l.isThenable)(i)?i.then(c,e=>{a(t,n),r.reject(e)}):c(i)}let c=null;function s(e){let t={state:e,dispatch:(e,r)=>(function(e,t,r){let o={resolve:r,reject:()=>{}};if(t.type!==n.ACTION_RESTORE){let e=new Promise((e,t)=>{o={resolve:e,reject:t}});(0,u.startTransition)(()=>{r(e)})}let l={payload:t,next:null,resolve:o.resolve,reject:o.reject};null===e.pending?(e.last=l,i({actionQueue:e,action:l,setState:r})):t.type===n.ACTION_NAVIGATE||t.type===n.ACTION_RESTORE?(e.pending.discarded=!0,l.next=e.pending.next,e.pending.payload.type===n.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),i({actionQueue:e,action:l,setState:r})):(null!==e.last&&(e.last.next=l),e.last=l)})(t,e,r),action:async(e,t)=>(0,o.reducer)(e,t),pending:null,last:null};if(null!==c)throw Object.defineProperty(Error("Internal Next.js Error: createMutableActionQueue was called more than once"),"__NEXT_ERROR_CODE",{value:"E624",enumerable:!1,configurable:!0});return c=t,t}function f(){return null!==c?c.state:null}},9726:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let n=r(9818),o=r(3894),u=r(7801),l=r(4819),a=r(5542),i=r(9154),c=r(3612),s=r(8709),f=function(e,t){switch(t.type){case n.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case n.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case n.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case n.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case n.ACTION_HMR_REFRESH:return(0,c.hmrRefreshReducer)(e,t);case n.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case n.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Object.defineProperty(Error("Unknown action"),"__NEXT_ERROR_CODE",{value:"E295",enumerable:!1,configurable:!0})}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9771:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getHydrationWarningType:function(){return a},getReactHydrationDiffSegments:function(){return s},hydrationErrorState:function(){return o},storeHydrationErrorStateFromConsoleArgs:function(){return f}});let n=r(6465),o={},u=new Set(["Warning: In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s","Warning: In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s","Warning: In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.","Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.","Warning: Expected server HTML to contain a matching <%s> in <%s>.%s","Warning: Did not expect server HTML to contain a <%s> in <%s>.%s"]),l=new Set(['Warning: Expected server HTML to contain a matching text node for "%s" in <%s>.%s','Warning: Did not expect server HTML to contain the text node "%s" in <%s>.%s']),a=e=>{if("string"!=typeof e)return"text";let t=e.startsWith("Warning: ")?e:"Warning: "+e;return i(t)?"tag":c(t)?"text-in-tag":"text"},i=e=>u.has(e),c=e=>l.has(e),s=e=>{if(e){let{message:t,diff:r}=(0,n.getHydrationErrorStackInfo)(e);if(t)return[t,r]}};function f(){for(var e=arguments.length,t=Array(e),r=0;r{e=e.trim();let[,l,a]=/at (\w+)( \((.*)\))?/.exec(e)||[];return a||(l===t&&-1===o?o=n:l!==r||-1!==u||(u=n)),a?"":l}).filter(Boolean).reverse(),c="";for(let e=0;e "+" ".repeat(Math.max(2*e-2,0)+2)+"<"+t+">\n":c+=" ".repeat(2*e+2)+"<"+t+">\n"}if("text"===l){let e=" ".repeat(2*i.length);c+="+ "+e+'"'+t+'"\n'+("- "+e+'"'+r)+'"\n'}else if("text-in-tag"===l){let e=" ".repeat(2*i.length);c+="> "+e+"<"+r+">\n"+("> "+e+'"'+t)+'"\n'}return c}(u,l,i,n):o.reactOutputComponentDiff=n,o.warning=r,o.serverContent=l,o.clientContent=i}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9818:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HMR_REFRESH:function(){return a},ACTION_NAVIGATE:function(){return n},ACTION_PREFETCH:function(){return l},ACTION_REFRESH:function(){return r},ACTION_RESTORE:function(){return o},ACTION_SERVER_ACTION:function(){return i},ACTION_SERVER_PATCH:function(){return u},PrefetchCacheEntryStatus:function(){return s},PrefetchKind:function(){return c}});let r="refresh",n="navigate",o="restore",u="server-patch",l="prefetch",a="hmr-refresh",i="server-action";var c=function(e){return e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary",e}({}),s=function(e){return e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9837:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"InvariantError",{enumerable:!0,get:function(){return r}});class r extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},9880:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,r,u){let l=u.length<=2,[a,i]=u,c=(0,o.createRouterCacheKey)(i),s=r.parallelRoutes.get(a),f=t.parallelRoutes.get(a);f&&f!==s||(f=new Map(s),t.parallelRoutes.set(a,f));let d=null==s?void 0:s.get(c),p=f.get(c);if(l){p&&p.lazyData&&p!==d||f.set(c,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}if(!p||!d){p||f.set(c,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}return p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes),loading:p.loading},f.set(c,p)),e(p,d,(0,n.getNextFlightSegmentPath)(u))}}});let n=r(2561),o=r(5637);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=r(2115),o=r(886);function u(){return(0,n.useContext)(o.PathnameContext)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}}]); \ No newline at end of file diff --git a/_next/static/chunks/main-975dd615965e59a2.js b/_next/static/chunks/main-1bc2f3e9e610f99b.js similarity index 60% rename from _next/static/chunks/main-975dd615965e59a2.js rename to _next/static/chunks/main-1bc2f3e9e610f99b.js index 1bf3573d..60d89db4 100644 --- a/_next/static/chunks/main-975dd615965e59a2.js +++ b/_next/static/chunks/main-1bc2f3e9e610f99b.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[792],{303:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext({})},472:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=r(4252),o=r(7876),a=n._(r(4232)),i=r(2746);async function l(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,i.loadGetInitialProps)(t,r)}}class u extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}u.origGetInitialProps=l,u.getInitialProps=l,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},536:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},541:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(8040);function a(e,t,r){void 0===r&&(r=!0);let a=new URL((0,n.getLocationOrigin)()),i=t?new URL(t,a):e.startsWith(".")?new URL(window.location.href):a,{pathname:l,searchParams:u,search:s,hash:c,href:f,origin:d}=new URL(e,i);if(d!==a.origin)throw Object.defineProperty(Error("invariant: invalid relative URL, router received "+e),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{pathname:l,query:r?(0,o.searchParamsToUrlQuery)(u):void 0,search:s,hash:c,href:f.slice(d.length)}}},938:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},990:(e,t)=>{"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},1017:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1025:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(6023),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1226:()=>{},1291:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},1318:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return u},default:function(){return s}});let n=r(4252),o=r(7876),a=n._(r(4232)),i=r(4294),l={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},u=()=>{let{asPath:e}=(0,i.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e){if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1");r((null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent)||e)}}},[e]),(0,o.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:l,children:t})},s=u;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1533:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(6023);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},1827:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},1862:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return n}});let r=new WeakMap;function n(e,t){let n;if(!t)return{pathname:e};let o=r.get(t);o||(o=t.map(e=>e.toLowerCase()),r.set(t,o));let a=e.split("/",2);if(!a[1])return{pathname:e};let i=a[1].toLowerCase(),l=o.indexOf(i);return l<0?{pathname:e}:(n=t[l],{pathname:e=e.slice(n.length+1)||"/",detectedLocale:n})}},1921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let n=r(8040),o=r(8480),a=r(990),i=r(2746),l=r(8205),u=r(1533),s=r(3069),c=r(8069);function f(e,t,r){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,u.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,l.normalizePathTrailingSlash)(e.pathname);let t="";if((0,s.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:l}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,l)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1924:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},2092:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(2889),o=r(8205);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2326:(e,t)=>{"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},2455:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTML_LIMITED_BOT_UA_RE",{enumerable:!0,get:function(){return r}});let r=/Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview/i},2591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return a},isRedirectError:function(){return i}});let n=r(1017),o="NEXT_REDIRECT";var a=function(e){return e.push="push",e.replace="replace",e}({});function i(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,a]=t,i=t.slice(2,-2).join(";"),l=Number(t.at(-2));return r===o&&("replace"===a||"push"===a)&&"string"==typeof i&&!isNaN(l)&&l in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2616:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return g},NormalizeError:function(){return _},PageNotFoundError:function(){return m},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return u},getLocationOrigin:function(){return i},getURL:function(){return l},isAbsoluteUrl:function(){return a},isResSent:function(){return s},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return E}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function l(){let{href:e}=window.location,t=i();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+u(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class _ extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},2792:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let n=r(4252),o=r(2092),a=r(8069),i=n._(r(1827)),l=r(4591),u=r(9163),s=r(541),c=r(4902),f=r(7176);r(3802);class d{getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:f,query:d,search:p}=(0,s.parseRelativeUrl)(r),{pathname:h}=(0,s.parseRelativeUrl)(t),_=(0,c.removeTrailingSlash)(f);if("/"!==_[0])throw Object.defineProperty(Error('Route name should start with a "/", got "'+_+'"'),"__NEXT_ERROR_CODE",{value:"E303",enumerable:!1,configurable:!0});return(e=>{let t=(0,i.default)((0,c.removeTrailingSlash)((0,l.addLocale)(e,n)),".json");return(0,o.addBasePath)("/_next/data/"+this.buildId+t+p,!0)})(e.skipInterpolation?h:(0,u.isDynamicRoute)(_)?(0,a.interpolateAs)(f,h,d).result:_)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2850:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return u},TemplateContext:function(){return l}});let n=r(4252)._(r(4232)),o=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(null),l=n.default.createContext(null),u=n.default.createContext(new Set)},2889:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},2917:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});let n=()=>r;function o(e){r=e}},2959:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(938),o=r(8714);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},3069:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return n.getSortedRouteObjects},getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(3703),o=r(9163)},3090:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return a}});let n=r(4232),o=r(8477),a=e=>{let{children:t,type:r}=e,[a,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),a?(0,o.createPortal)(t,a):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3123:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},3132:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},3407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(1862),o=r(6292),a=r(3716);function i(e,t){var r,i;let{basePath:l,i18n:u,trailingSlash:s}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};l&&(0,a.pathHasPrefix)(c.pathname,l)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,l),c.basePath=l);let f=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");c.buildId=e[0],f="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=f)}if(u){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,u.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(f):(0,n.normalizeLocalePath)(f,u.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},3575:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return s}});let n=r(4252),o=n._(r(4232)),a=n._(r(6240)),i=r(8089),l="react-stack-bottom-frame",u=RegExp("(at "+l+" )|("+l+"\\@)");function s(e){let t=(0,a.default)(e),r=t&&e.stack||"",n=t?e.message:"",l=r.split("\n"),s=l.findIndex(e=>u.test(e)),c=s>=0?l.slice(0,s).join("\n"):r,f=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return Object.assign(f,e),(0,i.copyNextErrorCode)(e,f),f.stack=c,function(e){if(!o.default.captureOwnerStack)return;let t=e.stack||"",r=o.default.captureOwnerStack();r&&!1===t.endsWith(r)&&(e.stack=t+=r)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3670:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},3703:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return o},getSortedRoutes:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").'),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("…"))throw Object.defineProperty(Error("Detected a three-dot character ('…') at ('"+r+"'). Did you mean ('...')?"),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Object.defineProperty(Error("Segment names may not start or end with extra brackets ('"+r+"')."),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(r.startsWith("."))throw Object.defineProperty(Error("Segment names may not start with erroneous periods ('"+r+"')."),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function a(e,r){if(null!==e&&e!==r)throw Object.defineProperty(Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"')."),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});t.forEach(e=>{if(e===r)throw Object.defineProperty(Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Object.defineProperty(Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Object.defineProperty(Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).'),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").'),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});a(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(i)throw Object.defineProperty(Error('Optional route parameters are not yet supported ("'+e[0]+'").'),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}function o(e,t){let r={},o=[];for(let n=0;ne[r[t]])}},3716:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},3718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(8757),self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3776:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(4232),o=n.useLayoutEffect,a=n.useEffect;function i(e){let{headManager:t,reduceComponentsToState:r}=e;function i(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},3802:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return E},APP_CLIENT_INTERNALS:function(){return Q},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return g},BARREL_OPTIMIZATION_PREFIX:function(){return X},BLOCKED_PAGES:function(){return U},BUILD_ID_FILE:function(){return D},BUILD_MANIFEST:function(){return b},CLIENT_PUBLIC_FILES_PATH:function(){return k},CLIENT_REFERENCE_MANIFEST:function(){return W},CLIENT_STATIC_FILES_PATH:function(){return F},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return K},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return $},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return et},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return er},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return J},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return ee},COMPILER_INDEXES:function(){return a},COMPILER_NAMES:function(){return o},CONFIG_FILES:function(){return L},DEFAULT_RUNTIME_WEBPACK:function(){return en},DEFAULT_SANS_SERIF_FONT:function(){return eu},DEFAULT_SERIF_FONT:function(){return el},DEV_CLIENT_MIDDLEWARE_MANIFEST:function(){return N},DEV_CLIENT_PAGES_MANIFEST:function(){return C},DYNAMIC_CSS_MANIFEST:function(){return Y},EDGE_RUNTIME_WEBPACK:function(){return eo},EDGE_UNSUPPORTED_NODE_APIS:function(){return ep},EXPORT_DETAIL:function(){return O},EXPORT_MARKER:function(){return R},FUNCTIONS_CONFIG_MANIFEST:function(){return y},IMAGES_MANIFEST:function(){return T},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return z},MIDDLEWARE_BUILD_MANIFEST:function(){return q},MIDDLEWARE_MANIFEST:function(){return w},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return V},MODERN_BROWSERSLIST_TARGET:function(){return n.default},NEXT_BUILTIN_DOCUMENT:function(){return H},NEXT_FONT_MANIFEST:function(){return v},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return f},PHASE_EXPORT:function(){return u},PHASE_INFO:function(){return p},PHASE_PRODUCTION_BUILD:function(){return s},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return d},PRERENDER_MANIFEST:function(){return S},REACT_LOADABLE_MANIFEST:function(){return x},ROUTES_MANIFEST:function(){return j},RSC_MODULE_TYPES:function(){return ed},SERVER_DIRECTORY:function(){return M},SERVER_FILES_MANIFEST:function(){return A},SERVER_PROPS_ID:function(){return ei},SERVER_REFERENCE_MANIFEST:function(){return G},STATIC_PROPS_ID:function(){return ea},STATIC_STATUS_PAGES:function(){return es},STRING_LITERAL_DROP_BUNDLE:function(){return B},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return P},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST:function(){return I},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ef},UNDERSCORE_NOT_FOUND_ROUTE:function(){return i},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return l},WEBPACK_STATS:function(){return _}});let n=r(4252)._(r(6582)),o={client:"client",server:"server",edgeServer:"edge-server"},a={[o.client]:0,[o.server]:1,[o.edgeServer]:2},i="/_not-found",l=""+i+"/page",u="phase-export",s="phase-production-build",c="phase-production-server",f="phase-development-server",d="phase-test",p="phase-info",h="pages-manifest.json",_="webpack-stats.json",m="app-paths-manifest.json",g="app-path-routes-manifest.json",b="build-manifest.json",E="app-build-manifest.json",y="functions-config-manifest.json",P="subresource-integrity-manifest",v="next-font-manifest",R="export-marker.json",O="export-detail.json",S="prerender-manifest.json",j="routes-manifest.json",T="images-manifest.json",A="required-server-files.json",C="_devPagesManifest.json",w="middleware-manifest.json",I="_clientMiddlewareManifest.json",N="_devMiddlewareManifest.json",x="react-loadable-manifest.json",M="server",L=["next.config.js","next.config.mjs","next.config.ts"],D="BUILD_ID",U=["/_document","/_app","/_error"],k="public",F="static",B="__NEXT_DROP_CLIENT_FILE__",H="__NEXT_BUILTIN_DOCUMENT__",X="__barrel_optimize__",W="client-reference-manifest",G="server-reference-manifest",q="middleware-build-manifest",V="middleware-react-loadable-manifest",z="interception-route-rewrite-manifest",Y="dynamic-css-manifest",K="main",$=""+K+"-app",Q="app-pages-internals",J="react-refresh",Z="amp",ee="webpack",et="polyfills",er=Symbol(et),en="webpack-runtime",eo="edge-runtime-webpack",ea="__N_SSG",ei="__N_SSP",el={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},eu={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},es=["/500"],ec=1,ef=6e3,ed={client:"client",server:"server"},ep=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([K,J,Z,$]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3836:(e,t,r)=>{"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(3670),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return b},handleClientScriptLoad:function(){return _},initScriptLoader:function(){return m}});let n=r(4252),o=r(8365),a=r(7876),i=n._(r(8477)),l=o._(r(4232)),u=r(8831),s=r(9611),c=r(6959),f=new Map,d=new Set,p=e=>{if(i.default.preinit){e.forEach(e=>{i.default.preinit(e,{as:"style"})});return}{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},h=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:o=null,dangerouslySetInnerHTML:a,children:i="",strategy:l="afterInteractive",onError:u,stylesheets:c}=e,h=r||t;if(h&&d.has(h))return;if(f.has(t)){d.add(h),f.get(t).then(n,u);return}let _=()=>{o&&o(),d.add(h)},m=document.createElement("script"),g=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),n&&n.call(this,t),_()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){u&&u(e)});a?(m.innerHTML=a.__html||"",_()):i?(m.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",_()):t&&(m.src=t,f.set(t,g)),(0,s.setAttributesFromProps)(m,e),"worker"===l&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",l),c&&p(c),document.body.appendChild(m)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}):h(e)}function m(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");d.add(t)})}function g(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:s="afterInteractive",onError:f,stylesheets:p,..._}=e,{updateScripts:m,scripts:g,getIsSsr:b,appDir:E,nonce:y}=(0,l.useContext)(u.HeadManagerContext),P=(0,l.useRef)(!1);(0,l.useEffect)(()=>{let e=t||r;P.current||(o&&e&&d.has(e)&&o(),P.current=!0)},[o,t,r]);let v=(0,l.useRef)(!1);if((0,l.useEffect)(()=>{if(!v.current){if("afterInteractive"===s)h(e);else if("lazyOnload"===s)"complete"===document.readyState?(0,c.requestIdleCallback)(()=>h(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))});v.current=!0}},[e,s]),("beforeInteractive"===s||"worker"===s)&&(m?(g[s]=(g[s]||[]).concat([{id:t,src:r,onLoad:n,onReady:o,onError:f,..._}]),m(g)):b&&b()?d.add(t||r):b&&!b()&&h(e)),E){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===s)return r?(i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:y,crossOrigin:_.crossOrigin}:{as:"script",nonce:y,crossOrigin:_.crossOrigin}),(0,a.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{..._,id:t}])+")"}})):(_.dangerouslySetInnerHTML&&(_.children=_.dangerouslySetInnerHTML.__html,delete _.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{..._,id:t}])+")"}}));"afterInteractive"===s&&r&&i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:y,crossOrigin:_.crossOrigin}:{as:"script",nonce:y,crossOrigin:_.crossOrigin})}return null}Object.defineProperty(g,"__nextScript",{value:!0});let b=g;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4069:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=1e-4);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach(e=>{this.bitArray[e]=1})}contains(e){return this.getHashValues(e).every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r>>13,t=Math.imul(t,0x5bd1e995);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t=1e-4){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},4181:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return a}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function i(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4252:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},4294:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return a.default},createRouter:function(){return _},default:function(){return p},makePublicRouterInstance:function(){return m},useRouter:function(){return h},withRouter:function(){return u.default}});let n=r(4252),o=n._(r(4232)),a=n._(r(8276)),i=r(9948),l=n._(r(6240)),u=n._(r(8147)),s={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],f=["push","replace","reload","back","prefetch","beforePopState"];function d(){if(!s.router)throw Object.defineProperty(Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return s.router}Object.defineProperty(s,"events",{get:()=>a.default.events}),c.forEach(e=>{Object.defineProperty(s,e,{get:()=>d()[e]})}),f.forEach(e=>{s[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n{s.ready(()=>{a.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;ne()),s.readyCallbacks=[],s.router}function m(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=a.default.events,f.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),o=0;o{"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let o=r[n];if("query"===o){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let o=r[n];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},4547:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return i},isEqualNode:function(){return a}});let o=r(9611);function a(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let r=t.getAttribute("nonce");if(r&&!e.getAttribute("nonce")){let n=t.cloneNode(!0);return n.setAttribute("nonce",""),n.nonce=r,r===e.nonce&&e.isEqualNode(n)}}return e.isEqualNode(t)}function i(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let r=t.title?t.title[0]:null,o="";if(r){let{children:e}=r.props;o="string"==typeof e?e:Array.isArray(e)?e.join(""):""}o!==document.title&&(document.title=o),["meta","base","link","style","script"].forEach(e=>{n(e,t[e]||[])})}}}n=(e,t)=>{let r=document.querySelector("head");if(!r)return;let n=new Set(r.querySelectorAll(""+e+"[data-next-head]"));if("meta"===e){let e=r.querySelector("meta[charset]");null!==e&&n.add(e)}let i=[];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(8205);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(4252)._(r(9871));class o{end(e){if("ended"===this.state.state)throw Object.defineProperty(Error("Span has already ended"),"__NEXT_ERROR_CODE",{value:"E17",enumerable:!1,configurable:!0});this.state={state:"ended",endTime:null!=e?e:Date.now()},this.onSpanEnd(this)}constructor(e,t,r){var n,o;this.name=e,this.attributes=null!=(n=t.attributes)?n:{},this.startTime=null!=(o=t.startTime)?o:Date.now(),this.onSpanEnd=r,this.state={state:"inprogress"}}}class a{startSpan(e,t){return new o(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,n.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}}let i=new a;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4902:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},4980:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return l}});let n=r(4902),o=r(2889),a=r(7952),i=r(6711);function l(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},5195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return a}});let n=r(3069),o=r(5419);function a(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},5214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return _},getNamedRouteRegex:function(){return h},getRouteRegex:function(){return f},parseParameter:function(){return u}});let n=r(9308),o=r(7188),a=r(1924),i=r(4902),l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function u(e){let t=e.match(l);return t?s(t[2]):s(e)}function s(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function c(e,t,r){let n={},u=1,c=[];for(let f of(0,i.removeTrailingSlash)(e).slice(1).split("/")){let e=o.INTERCEPTION_ROUTE_MARKERS.find(e=>f.startsWith(e)),i=f.match(l);if(e&&i&&i[2]){let{key:t,optional:r,repeat:o}=s(i[2]);n[t]={pos:u++,repeat:o,optional:r},c.push("/"+(0,a.escapeStringRegexp)(e)+"([^/]+?)")}else if(i&&i[2]){let{key:e,repeat:t,optional:o}=s(i[2]);n[e]={pos:u++,repeat:t,optional:o},r&&i[1]&&c.push("/"+(0,a.escapeStringRegexp)(i[1]));let l=t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";r&&i[1]&&(l=l.substring(1)),c.push(l)}else c.push("/"+(0,a.escapeStringRegexp)(f));t&&i&&i[3]&&c.push((0,a.escapeStringRegexp)(i[3]))}return{parameterizedRoute:c.join(""),groups:n}}function f(e,t){let{includeSuffix:r=!1,includePrefix:n=!1,excludeOptionalTrailingSlash:o=!1}=void 0===t?{}:t,{parameterizedRoute:a,groups:i}=c(e,r,n),l=a;return o||(l+="(?:/)?"),{re:RegExp("^"+l+"$"),groups:i}}function d(e){let t,{interceptionMarker:r,getSafeRouteKey:n,segment:o,routeKeys:i,keyPrefix:l,backreferenceDuplicateKeys:u}=e,{key:c,optional:f,repeat:d}=s(o),p=c.replace(/\W/g,"");l&&(p=""+l+p);let h=!1;(0===p.length||p.length>30)&&(h=!0),isNaN(parseInt(p.slice(0,1)))||(h=!0),h&&(p=n());let _=p in i;l?i[p]=""+l+c:i[p]=c;let m=r?(0,a.escapeStringRegexp)(r):"";return t=_&&u?"\\k<"+p+">":d?"(?<"+p+">.+?)":"(?<"+p+">[^/]+?)",f?"(?:/"+m+t+")?":"/"+m+t}function p(e,t,r,u,s){let c;let f=(c=0,()=>{let e="",t=++c;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),p={},h=[];for(let c of(0,i.removeTrailingSlash)(e).slice(1).split("/")){let e=o.INTERCEPTION_ROUTE_MARKERS.some(e=>c.startsWith(e)),i=c.match(l);if(e&&i&&i[2])h.push(d({getSafeRouteKey:f,interceptionMarker:i[1],segment:i[2],routeKeys:p,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,backreferenceDuplicateKeys:s}));else if(i&&i[2]){u&&i[1]&&h.push("/"+(0,a.escapeStringRegexp)(i[1]));let e=d({getSafeRouteKey:f,segment:i[2],routeKeys:p,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0,backreferenceDuplicateKeys:s});u&&i[1]&&(e=e.substring(1)),h.push(e)}else h.push("/"+(0,a.escapeStringRegexp)(c));r&&i&&i[3]&&h.push((0,a.escapeStringRegexp)(i[3]))}return{namedParameterizedRoute:h.join(""),routeKeys:p}}function h(e,t){var r,n,o;let a=p(e,t.prefixRouteKeys,null!=(r=t.includeSuffix)&&r,null!=(n=t.includePrefix)&&n,null!=(o=t.backreferenceDuplicateKeys)&&o),i=a.namedParameterizedRoute;return t.excludeOptionalTrailingSlash||(i+="(?:/)?"),{...f(e,t),namedRegex:"^"+i+"$",routeKeys:a.routeKeys}}function _(e,t){let{parameterizedRoute:r}=c(e,!1,!1),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=p(e,!1,!1,!1,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},5364:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(5861)},5419:(e,t)=>{"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},5519:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(2746);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw Object.defineProperty(new n.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},i={};for(let[e,t]of Object.entries(r)){let r=o[t.pos];void 0!==r&&(t.repeat?i[e]=r.split("/").map(e=>a(e)):i[e]=a(r))}return i}}},5679:(e,t,r)=>{"use strict";var n=r(5364);Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return d}});let o=r(4252),a=r(8365),i=r(7876),l=a._(r(4232)),u=o._(r(3776)),s=r(303),c=r(8831),f=r(6807);function d(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(6079);let h=["name","httpEquiv","charSet","itemProp"];function _(e,t){let{inAmpMode:r}=t;return e.reduce(p,[]).reverse().concat(d(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=h.length;e{let o=e.key||t;if(n.env.__NEXT_OPTIMIZE_FONTS&&!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,l.default.cloneElement(e,t)}return l.default.cloneElement(e,{key:o})})}let m=function(e){let{children:t}=e,r=(0,l.useContext)(s.AmpStateContext),n=(0,l.useContext)(c.HeadManagerContext);return(0,i.jsx)(u.default,{reduceComponentsToState:_,headManager:n,inAmpMode:(0,f.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5842:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3718);let n=r(9525);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5861:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function a(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var u=[],s=!1,c=-1;function f(){s&&n&&(s=!1,n.length?u=n.concat(u):c=-1,u.length&&d())}function d(){if(!s){var e=l(f);s=!0;for(var t=u.length;t;){for(n=u,u=[];++c1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(4232),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},6023:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(3716);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6079:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},6240:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(8096);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},6292:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=r(3716);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},6582:e=>{"use strict";e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},6711:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});let n=r(2889),o=r(3716);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},6807:(e,t)=>{"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},6818:(e,t)=>{"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6959:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(4181),o=r(2591);function a(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7176:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createRouteLoader:function(){return m},getClientBuildManifest:function(){return h},isAssetError:function(){return c},markAssetError:function(){return s}}),r(4252),r(1827);let n=r(6818),o=r(6959),a=r(8757),i=r(536);function l(e,t,r){let n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);let a=new Promise(e=>{n=e});return t.set(e,{resolve:n,future:a}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):a}let u=Symbol("ASSET_LOAD_ERROR");function s(e){return Object.defineProperty(e,u,{})}function c(e){return e&&u in e}let f=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),d=()=>(0,a.getDeploymentIdQueryOrEmptyString)();function p(e,t,r){return new Promise((n,a)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(a),(0,o.requestIdleCallback)(()=>setTimeout(()=>{i||a(r)},t))})}function h(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):p(new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}}),3800,s(Object.defineProperty(Error("Failed to load client build manifest"),"__NEXT_ERROR_CODE",{value:"E273",enumerable:!1,configurable:!0})))}function _(e,t){return h().then(r=>{if(!(t in r))throw s(Object.defineProperty(Error("Failed to lookup route: "+t),"__NEXT_ERROR_CODE",{value:"E446",enumerable:!1,configurable:!0}));let o=r[t].map(t=>e+"/_next/"+(0,i.encodeURIPath)(t));return{scripts:o.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+d()),css:o.filter(e=>e.endsWith(".css")).map(e=>e+d())}})}function m(e){let t=new Map,r=new Map,n=new Map,a=new Map;function i(e){{var t;let n=r.get(e.toString());return n?n:document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(s(Object.defineProperty(Error("Failed to load script: "+e),"__NEXT_ERROR_CODE",{value:"E74",enumerable:!1,configurable:!0}))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n)}}function u(e){let t=n.get(e);return t||n.set(e,t=fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw Object.defineProperty(Error("Failed to load stylesheet: "+e),"__NEXT_ERROR_CODE",{value:"E189",enumerable:!1,configurable:!0});return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw s(e)})),t}return{whenEntrypoint:e=>l(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),a.delete(e))})},loadRoute(r,n){return l(r,a,()=>{let o;return p(_(e,r).then(e=>{let{scripts:n,css:o}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(i)),Promise.all(o.map(u))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,s(Object.defineProperty(Error("Route did not complete loading: "+r),"__NEXT_ERROR_CODE",{value:"E12",enumerable:!1,configurable:!0}))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==o?void 0:o())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():_(e,t).then(e=>Promise.all(f?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,o)=>{let a='\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]';if(document.querySelector(a))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>o(s(Object.defineProperty(Error("Failed to prefetch: "+t),"__NEXT_ERROR_CODE",{value:"E268",enumerable:!1,configurable:!0}))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,o.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7188:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(2959),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Object.defineProperty(Error("Invalid interception route: "+e+". Must be in the format //(..|...|..)(..)/"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?"/"+a:t+"/"+a;break;case"(..)":if("/"===t)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});a=i.slice(0,-2).concat(a).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:t,interceptedRoute:a}}},7207:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return u}});let n=r(4252),o=r(3123),a=r(4569),i=r(3575),l=n._(r(6240)),u=(e,t)=>{let r=(0,l.default)(e)&&"cause"in e?e.cause:e,n=(0,i.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,a.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTML_LIMITED_BOT_UA_RE:function(){return n.HTML_LIMITED_BOT_UA_RE},HTML_LIMITED_BOT_UA_RE_STRING:function(){return a},getBotType:function(){return u},isBot:function(){return l}});let n=r(2455),o=/Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i,a=n.HTML_LIMITED_BOT_UA_RE.source;function i(e){return n.HTML_LIMITED_BOT_UA_RE.test(e)}function l(e){return o.test(e)||i(e)}function u(e){return o.test(e)?"dom":i(e)?"html":void 0}},7539:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},7952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+r+t+o+a}},8040:(e,t)=>{"use strict";function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,n(e));else t.set(r,n(o));return t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(5519),o=r(5214);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),l=i.groups,u=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let s=Object.keys(l);return s.every(e=>{let t=u[e]||"",{repeat:r,optional:n}=l[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in u)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:s,result:a}}},8089:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{copyNextErrorCode:function(){return n},createDigestWithErrorCode:function(){return r},extractNextErrorCode:function(){return o}});let r=(e,t)=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e?`${t}@${e.__NEXT_ERROR_CODE}`:t,n=(e,t)=>{let r=o(e);r&&"object"==typeof t&&null!==t&&Object.defineProperty(t,"__NEXT_ERROR_CODE",{value:r,enumerable:!1,configurable:!0})},o=e=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e&&"string"==typeof e.__NEXT_ERROR_CODE?e.__NEXT_ERROR_CODE:"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest?e.digest.split("@").find(e=>e.startsWith("E")):void 0},8096:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},8147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(4252);let n=r(7876);r(4232);let o=r(4294);function a(e){function t(t){return(0,n.jsx)(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return n}}),r(4902),r(3670);let n=e=>(e.startsWith("/"),e);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8213:(e,t)=>{"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},8276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createKey:function(){return G},default:function(){return z},matchesMiddleware:function(){return D}});let n=r(4252),o=r(8365),a=r(4902),i=r(7176),l=r(3996),u=o._(r(6240)),s=r(5195),c=r(1862),f=n._(r(9871)),d=r(2746),p=r(9163),h=r(541);r(1226);let _=r(5519),m=r(5214),g=r(8480);r(2616);let b=r(3670),E=r(4591),y=r(3836),P=r(1025),v=r(2092),R=r(6023),O=r(1921),S=r(2326),j=r(3407),T=r(4980),A=r(4359),C=r(1533),w=r(7407),I=r(990),N=r(8069),x=r(3132),M=r(9308);function L(){return Object.assign(Object.defineProperty(Error("Route Cancelled"),"__NEXT_ERROR_CODE",{value:"E315",enumerable:!1,configurable:!0}),{cancelled:!0})}async function D(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,b.parsePath)(e.asPath),n=(0,R.hasBasePath)(r)?(0,P.removeBasePath)(r):r,o=(0,v.addBasePath)((0,E.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(o))}function U(e){let t=(0,d.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function k(e,t,r){let[n,o]=(0,O.resolveHref)(e,t,!0),a=(0,d.getLocationOrigin)(),i=n.startsWith(a),l=o&&o.startsWith(a);n=U(n),o=o?U(o):o;let u=i?n:(0,v.addBasePath)(n),s=r?U((0,O.resolveHref)(e,r)):o||n;return{url:u,as:l?s:(0,v.addBasePath)(s)}}function F(e,t){let r=(0,a.removeTrailingSlash)((0,s.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,m.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,a.removeTrailingSlash)(e))}async function B(e){if(!await D(e)||!e.fetchData)return null;let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!0},o=t.headers.get("x-nextjs-rewrite"),l=o||t.headers.get("x-nextjs-matched-path"),u=t.headers.get(M.MATCHED_PATH_HEADER);if(!u||l||u.includes("__next_data_catchall")||u.includes("/_error")||u.includes("/404")||(l=u),l){if(l.startsWith("/")){let t=(0,h.parseRelativeUrl)(l),u=(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),s=(0,a.removeTrailingSlash)(u.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(a=>{let[i,{__rewrites:l}]=a,f=(0,E.addLocale)(u.pathname,u.locale);if((0,p.isDynamicRoute)(f)||!o&&i.includes((0,c.normalizeLocalePath)((0,P.removeBasePath)(f),r.router.locales).pathname)){let r=(0,j.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});t.pathname=f=(0,v.addBasePath)(r.pathname)}if(!i.includes(s)){let e=F(s,i);e!==s&&(s=e)}let d=i.includes(s)?s:F((0,c.normalizeLocalePath)((0,P.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(d)){let e=(0,_.getRouteMatcher)((0,m.getRouteRegex)(d))(f);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:d}})}let t=(0,b.parsePath)(e);return Promise.resolve({type:"redirect-external",destination:""+(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""})+t.query+t.hash})}let s=t.headers.get("x-nextjs-redirect");if(s){if(s.startsWith("/")){let e=(0,b.parsePath)(s),t=(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:s})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}let H=Symbol("SSG_DATA_NOT_FOUND");function X(e){try{return JSON.parse(e)}catch(e){return null}}function W(e){let{dataHref:t,inflightCache:r,isPrefetch:n,hasMiddleware:o,isServerRender:a,parseJSON:l,persistCache:u,isBackground:s,unstable_skipClientCache:c}=e,{href:f}=new URL(t,window.location.href),d=e=>{var s;return(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(o=>!o.ok&&r>1&&o.status>=500?e(t,r-1,n):o)})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{},{}),method:null!=(s=null==e?void 0:e.method)?s:"GET"}).then(r=>r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:f}:r.text().then(e=>{if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:f};if(404===r.status){var n;if(null==(n=X(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:H},response:r,text:e,cacheKey:f}}let l=Object.defineProperty(Error("Failed to load static props"),"__NEXT_ERROR_CODE",{value:"E124",enumerable:!1,configurable:!0});throw a||(0,i.markAssetError)(l),l}return{dataHref:t,json:l?X(e):null,response:r,text:e,cacheKey:f}})).then(e=>(u&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[f],e)).catch(e=>{throw c||delete r[f],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e})};return c&&u?d({}).then(e=>("no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[f]=Promise.resolve(e)),e)):void 0!==r[f]?r[f]:r[f]=d(s?{method:"HEAD"}:{})}function G(){return Math.random().toString(36).slice(2,10)}function q(e){let{url:t,router:r}=e;if(t===(0,v.addBasePath)((0,E.addLocale)(r.asPath,r.locale)))throw Object.defineProperty(Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href),"__NEXT_ERROR_CODE",{value:"E282",enumerable:!1,configurable:!0});window.location.href=t}let V=e=>{let{route:t,router:r}=e,n=!1,o=r.clc=()=>{n=!0};return()=>{if(n){let e=Object.defineProperty(Error('Abort fetching component for route: "'+t+'"'),"__NEXT_ERROR_CODE",{value:"E483",enumerable:!1,configurable:!0});throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}};class z{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,n,o){{if(!this._bfl_s&&!this._bfl_d){let t,a;let{BloomFilter:l}=r(4069);try{({__routerFilterStatic:t,__routerFilterDynamic:a}=await (0,i.getClientBuildManifest)())}catch(t){if(console.error(t),o)return!0;return q({url:(0,v.addBasePath)((0,E.addLocale)(e,n||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}(null==t?void 0:t.numHashes)&&(this._bfl_s=new l(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==a?void 0:a.numHashes)&&(this._bfl_d=new l(a.numItems,a.errorRate),this._bfl_d.import(a))}let c=!1,f=!1;for(let{as:r,allowMatchCurrent:i}of[{as:e},{as:t}])if(r){let t=(0,a.removeTrailingSlash)(new URL(r,"http://n").pathname),d=(0,v.addBasePath)((0,E.addLocale)(t,n||this.locale));if(i||t!==(0,a.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var l,u,s;for(let e of(c=c||!!(null==(l=this._bfl_s)?void 0:l.contains(t))||!!(null==(u=this._bfl_s)?void 0:u.contains(d)),[t,d])){let t=e.split("/");for(let e=0;!f&&e{})}}}}return!1}async change(e,t,r,n,o){var s,c,f,O,S,j,T,w,x;let M,U;if(!(0,C.isLocalURL)(t))return q({url:t,router:this}),!1;let B=1===n._h;B||n.shallow||await this._bfl(r,void 0,n.locale);let X=B||n._shouldResolveHref||(0,b.parsePath)(t).pathname===(0,b.parsePath)(r).pathname,W={...this.state},G=!0!==this.isReady;this.isReady=!0;let V=this.isSsr;if(B||(this.isSsr=!1),B&&this.clc)return!1;let Y=W.locale;d.ST&&performance.mark("routeChange");let{shallow:K=!1,scroll:$=!0}=n,Q={shallow:K};this._inFlightRoute&&this.clc&&(V||z.events.emit("routeChangeError",L(),this._inFlightRoute,Q),this.clc(),this.clc=null),r=(0,v.addBasePath)((0,E.addLocale)((0,R.hasBasePath)(r)?(0,P.removeBasePath)(r):r,n.locale,this.defaultLocale));let J=(0,y.removeLocale)((0,R.hasBasePath)(r)?(0,P.removeBasePath)(r):r,W.locale);this._inFlightRoute=r;let Z=Y!==W.locale;if(!B&&this.onlyAHashChange(J)&&!Z){W.asPath=J,z.events.emit("hashChangeStart",r,Q),this.changeState(e,t,r,{...n,scroll:!1}),$&&this.scrollToHash(J);try{await this.set(W,this.components[W.route],null)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return z.events.emit("hashChangeComplete",r,Q),!0}let ee=(0,h.parseRelativeUrl)(t),{pathname:et,query:er}=ee;try{[M,{__rewrites:U}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return q({url:r,router:this}),!1}this.urlIsNew(J)||Z||(e="replaceState");let en=r;et=et?(0,a.removeTrailingSlash)((0,P.removeBasePath)(et)):et;let eo=(0,a.removeTrailingSlash)(et),ea=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname;if(null==(s=this.components[et])?void 0:s.__appRouter)return q({url:r,router:this}),new Promise(()=>{});let ei=!!(ea&&eo!==ea&&(!(0,p.isDynamicRoute)(eo)||!(0,_.getRouteMatcher)((0,m.getRouteRegex)(eo))(ea))),el=!n.shallow&&await D({asPath:r,locale:W.locale,router:this});if(B&&el&&(X=!1),X&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=F(et,M),ee.pathname===et||(et=ee.pathname,ee.pathname=(0,v.addBasePath)(et),el||(t=(0,g.formatWithValidation)(ee)))),!(0,C.isLocalURL)(r))return q({url:r,router:this}),!1;en=(0,y.removeLocale)((0,P.removeBasePath)(en),W.locale),eo=(0,a.removeTrailingSlash)(et);let eu=!1;if((0,p.isDynamicRoute)(eo)){let e=(0,h.parseRelativeUrl)(en),n=e.pathname,o=(0,m.getRouteRegex)(eo);eu=(0,_.getRouteMatcher)(o)(n);let a=eo===n,i=a?(0,N.interpolateAs)(eo,n,er):{};if(eu&&(!a||i.result))a?r=(0,g.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,I.omit)(er,i.params)})):Object.assign(er,eu);else{let e=Object.keys(o.groups).filter(e=>!er[e]&&!o.groups[e].optional);if(e.length>0&&!el)throw Object.defineProperty(Error((a?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+eo+"). ")+"Read more: https://nextjs.org/docs/messages/"+(a?"href-interpolation-failed":"incompatible-href-as")),"__NEXT_ERROR_CODE",{value:"E344",enumerable:!1,configurable:!0})}}B||z.events.emit("routeChangeStart",r,Q);let es="/404"===this.pathname||"/_error"===this.pathname;try{let a=await this.getRouteInfo({route:eo,pathname:et,query:er,as:r,resolvedAs:en,routeProps:Q,locale:W.locale,isPreview:W.isPreview,hasMiddleware:el,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:B&&!this.isFallback,isMiddlewareRewrite:ei});if(B||n.shallow||await this._bfl(r,"resolvedAs"in a?a.resolvedAs:void 0,W.locale),"route"in a&&el){eo=et=a.route||eo,Q.shallow||(er=Object.assign({},a.query||{},er));let e=(0,R.hasBasePath)(ee.pathname)?(0,P.removeBasePath)(ee.pathname):ee.pathname;if(eu&&et!==e&&Object.keys(eu).forEach(e=>{eu&&er[e]===eu[e]&&delete er[e]}),(0,p.isDynamicRoute)(et)){let e=!Q.shallow&&a.resolvedAs?a.resolvedAs:(0,v.addBasePath)((0,E.addLocale)(new URL(r,location.href).pathname,W.locale),!0);(0,R.hasBasePath)(e)&&(e=(0,P.removeBasePath)(e));let t=(0,m.getRouteRegex)(et),n=(0,_.getRouteMatcher)(t)(new URL(e,location.href).pathname);n&&Object.assign(er,n)}}if("type"in a){if("redirect-internal"===a.type)return this.change(e,a.newUrl,a.newAs,n);return q({url:a.destination,router:this}),new Promise(()=>{})}let i=a.Component;if(i&&i.unstable_scriptLoader&&[].concat(i.unstable_scriptLoader()).forEach(e=>{(0,l.handleClientScriptLoad)(e.props)}),(a.__N_SSG||a.__N_SSP)&&a.props){if(a.props.pageProps&&a.props.pageProps.__N_REDIRECT){n.locale=!1;let t=a.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==a.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=F(r.pathname,M);let{url:o,as:a}=k(this,t,t);return this.change(e,o,a,n)}return q({url:t,router:this}),new Promise(()=>{})}if(W.isPreview=!!a.props.__N_PREVIEW,a.props.notFound===H){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(a=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:W.locale,isPreview:W.isPreview,isNotFound:!0}),"type"in a)throw Object.defineProperty(Error("Unexpected middleware effect on /404"),"__NEXT_ERROR_CODE",{value:"E158",enumerable:!1,configurable:!0})}}B&&"/_error"===this.pathname&&(null==(f=self.__NEXT_DATA__.props)?void 0:null==(c=f.pageProps)?void 0:c.statusCode)===500&&(null==(O=a.props)?void 0:O.pageProps)&&(a.props.pageProps.statusCode=500);let s=n.shallow&&W.route===(null!=(S=a.route)?S:eo),d=null!=(j=n.scroll)?j:!B&&!s,g=null!=o?o:d?{x:0,y:0}:null,b={...W,route:eo,pathname:et,query:er,asPath:J,isFallback:!1};if(B&&es){if(a=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:W.locale,isPreview:W.isPreview,isQueryUpdating:B&&!this.isFallback}),"type"in a)throw Object.defineProperty(Error("Unexpected middleware effect on "+this.pathname),"__NEXT_ERROR_CODE",{value:"E225",enumerable:!1,configurable:!0});"/_error"===this.pathname&&(null==(w=self.__NEXT_DATA__.props)?void 0:null==(T=w.pageProps)?void 0:T.statusCode)===500&&(null==(x=a.props)?void 0:x.pageProps)&&(a.props.pageProps.statusCode=500);try{await this.set(b,a,g)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return!0}if(z.events.emit("beforeHistoryChange",r,Q),this.changeState(e,t,r,n),!(B&&!g&&!G&&!Z&&(0,A.compareRouterStates)(b,this.state))){try{await this.set(b,a,g)}catch(e){if(e.cancelled)a.error=a.error||e;else throw e}if(a.error)throw B||z.events.emit("routeChangeError",a.error,J,Q),a.error;B||z.events.emit("routeChangeComplete",r,Q),d&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,u.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,d.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:G()},"",r))}async handleRouteInfoError(e,t,r,n,o,a){if(e.cancelled)throw e;if((0,i.isAssetError)(e)||a)throw z.events.emit("routeChangeError",e,n,o),q({url:n,router:this}),L();console.error(e);try{let n;let{page:o,styleSheets:a}=await this.fetchComponent("/_error"),i={props:n,Component:o,styleSheets:a,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(o,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,u.default)(e)?e:Object.defineProperty(Error(e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),t,r,n,o,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:o,resolvedAs:i,routeProps:l,locale:s,hasMiddleware:f,isPreview:d,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:_,isNotFound:m}=e,b=t;try{var E,y,v,R;let e=this.components[b];if(l.shallow&&e&&this.route===b)return e;let t=V({route:b,router:this});f&&(e=void 0);let u=!e||"initial"in e?void 0:e,O={dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:m?"/404":i,locale:s}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},j=h&&!_?null:await B({fetchData:()=>W(O),asPath:m?"/404":i,locale:s,router:this}).catch(e=>{if(h)return null;throw e});if(j&&("/_error"===r||"/404"===r)&&(j.effect=void 0),h&&(j?j.json=self.__NEXT_DATA__.props:j={json:self.__NEXT_DATA__.props}),t(),(null==j?void 0:null==(E=j.effect)?void 0:E.type)==="redirect-internal"||(null==j?void 0:null==(y=j.effect)?void 0:y.type)==="redirect-external")return j.effect;if((null==j?void 0:null==(v=j.effect)?void 0:v.type)==="rewrite"){let t=(0,a.removeTrailingSlash)(j.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(t))&&(b=t,r=j.effect.resolvedHref,n={...n,...j.effect.parsedAs.query},i=(0,P.removeBasePath)((0,c.normalizeLocalePath)(j.effect.parsedAs.pathname,this.locales).pathname),e=this.components[b],l.shallow&&e&&this.route===b&&!f))return{...e,route:b}}if((0,S.isAPIRoute)(b))return q({url:o,router:this}),new Promise(()=>{});let T=u||await this.fetchComponent(b).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),A=null==j?void 0:null==(R=j.response)?void 0:R.headers.get("x-middleware-skip"),C=T.__N_SSG||T.__N_SSP;A&&(null==j?void 0:j.dataHref)&&delete this.sdc[j.dataHref];let{props:w,cacheKey:I}=await this._getData(async()=>{if(C){if((null==j?void 0:j.json)&&!A)return{cacheKey:j.cacheKey,props:j.json};let e=(null==j?void 0:j.dataHref)?j.dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:s}),t=await W({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:A?{}:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(T.Component,{pathname:r,query:n,asPath:o,locale:s,locales:this.locales,defaultLocale:this.defaultLocale})}});return T.__N_SSP&&O.dataHref&&I&&delete this.sdc[I],this.isPreview||!T.__N_SSG||h||W(Object.assign({},O,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),w.pageProps=Object.assign({},w.pageProps),T.props=w,T.route=b,T.query=n,T.resolvedAs=i,this.components[b]=T,T}catch(e){return this.handleRouteInfoError((0,u.getProperError)(e),r,n,o,l)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#",2),[n,o]=e.split("#",2);return!!o&&t===n&&r===o||t===n&&r!==o}scrollToHash(e){let[,t=""]=e.split("#",2);(0,x.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,w.isBot)(window.navigator.userAgent))return;let n=(0,h.parseRelativeUrl)(e),o=n.pathname,{pathname:i,query:l}=n,u=i,s=await this.pageLoader.getPageList(),c=t,f=void 0!==r.locale?r.locale||void 0:this.locale,d=await D({asPath:t,locale:f,router:this});n.pathname=F(n.pathname,s),(0,p.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(l,(0,_.getRouteMatcher)((0,m.getRouteRegex)(n.pathname))((0,b.parsePath)(t).pathname)||{}),d||(e=(0,g.formatWithValidation)(n)));let E=await B({fetchData:()=>W({dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:u,query:l}),skipInterpolation:!0,asPath:c,locale:f}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:f,router:this});if((null==E?void 0:E.effect.type)==="rewrite"&&(n.pathname=E.effect.resolvedHref,i=E.effect.resolvedHref,l={...l,...E.effect.parsedAs.query},c=E.effect.parsedAs.pathname,e=(0,g.formatWithValidation)(n)),(null==E?void 0:E.effect.type)==="redirect-external")return;let y=(0,a.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(y).then(t=>!!t&&W({dataHref:(null==E?void 0:E.json)?null==E?void 0:E.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:f}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](y)])}async fetchComponent(e){let t=V({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Object.defineProperty(Error("Loading initial props cancelled"),"__NEXT_ERROR_CODE",{value:"E405",enumerable:!1,configurable:!0});throw e.cancelled=!0,e}return e})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,d.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,r,{initialProps:n,pageLoader:o,App:i,wrapApp:l,Component:u,err:s,subscription:c,isFallback:f,locale:_,locales:m,defaultLocale:b,domainLocales:E,isPreview:y}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=G(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),(0,d.getURL)());return}if(n.__NA){window.location.reload();return}if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:o,as:a,options:i,key:l}=n;this._key=l;let{pathname:u}=(0,h.parseRelativeUrl)(o);(!this.isSsr||a!==(0,v.addBasePath)(this.asPath)||u!==(0,v.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",o,a,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let P=(0,a.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[P]={Component:u,initial:!0,props:n,err:s,__N_SSG:n&&n.__N_SSG,__N_SSP:n&&n.__N_SSP}),this.components["/_app"]={Component:i,styleSheets:[]},this.events=z.events,this.pageLoader=o;let R=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=c,this.clc=null,this._wrapApp=l,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!R&&!self.location.search),this.state={route:P,pathname:e,query:t,asPath:R?e:r,isPreview:!!y,locale:void 0,isFallback:f},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!r.startsWith("//")){let n={locale:_},o=(0,d.getURL)();this._initialMatchesMiddlewarePromise=D({router:this,locale:_,asPath:o}).then(a=>(n._shouldResolveHref=r!==e,this.changeState("replaceState",a?o:(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),o,n),a))}window.addEventListener("popstate",this.onPopState)}}z.events=(0,f.default)()},8365:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})},8480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return l},urlObjectKeys:function(){return i}});let n=r(8365)._(r(8040)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",l=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let c=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),""+a+s+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+l}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return a(e)}},8677:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(4252)._(r(4232)),o=r(7539),a=n.default.createContext(o.imageConfigDefault)},8714:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let a="__PAGE__",i="__DEFAULT__"},8757:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},8831:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext({})},9163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let n=r(7188),o=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,a=/\/\[[^/]+\](?=\/|$)/;function i(e,t){return(void 0===t&&(t=!0),(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),t)?a.test(e):o.test(e)}},9308:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return f},APP_DIR_ALIAS:function(){return I},CACHE_ONE_YEAR:function(){return R},DOT_NEXT_ALIAS:function(){return C},ESLINT_DEFAULT_DIRS:function(){return $},GSP_NO_RETURNED_VALUE:function(){return G},GSSP_COMPONENT_MEMBER_ERROR:function(){return z},GSSP_NO_RETURNED_VALUE:function(){return q},INFINITE_CACHE:function(){return O},INSTRUMENTATION_HOOK_FILENAME:function(){return T},MATCHED_PATH_HEADER:function(){return o},MIDDLEWARE_FILENAME:function(){return S},MIDDLEWARE_LOCATION_REGEXP:function(){return j},NEXT_BODY_SUFFIX:function(){return h},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return v},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return m},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return g},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return P},NEXT_CACHE_TAGS_HEADER:function(){return _},NEXT_CACHE_TAG_MAX_ITEMS:function(){return E},NEXT_CACHE_TAG_MAX_LENGTH:function(){return y},NEXT_DATA_SUFFIX:function(){return d},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return p},NEXT_QUERY_PARAM_PREFIX:function(){return r},NEXT_RESUME_HEADER:function(){return b},NON_STANDARD_NODE_ENV:function(){return Y},PAGES_DIR_ALIAS:function(){return A},PRERENDER_REVALIDATE_HEADER:function(){return a},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return i},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return k},ROOT_DIR_ALIAS:function(){return w},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return U},RSC_ACTION_ENCRYPTION_ALIAS:function(){return D},RSC_ACTION_PROXY_ALIAS:function(){return M},RSC_ACTION_VALIDATE_ALIAS:function(){return x},RSC_CACHE_WRAPPER_ALIAS:function(){return L},RSC_MOD_REF_PROXY_ALIAS:function(){return N},RSC_PREFETCH_SUFFIX:function(){return l},RSC_SEGMENTS_DIR_SUFFIX:function(){return u},RSC_SEGMENT_SUFFIX:function(){return s},RSC_SUFFIX:function(){return c},SERVER_PROPS_EXPORT_ERROR:function(){return W},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return B},SERVER_PROPS_SSG_CONFLICT:function(){return H},SERVER_RUNTIME:function(){return Q},SSG_FALLBACK_EXPORT_ERROR:function(){return K},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return F},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return X},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return V},WEBPACK_LAYERS:function(){return Z},WEBPACK_RESOURCE_QUERIES:function(){return ee}});let r="nxtP",n="nxtI",o="x-matched-path",a="x-prerender-revalidate",i="x-prerender-revalidate-if-generated",l=".prefetch.rsc",u=".segments",s=".segment.rsc",c=".rsc",f=".action",d=".json",p=".meta",h=".body",_="x-next-cache-tags",m="x-next-revalidated-tags",g="x-next-revalidate-tag-token",b="next-resume",E=128,y=256,P=1024,v="_N_T_",R=31536e3,O=0xfffffffe,S="middleware",j=`(?:src/)?${S}`,T="instrumentation",A="private-next-pages",C="private-dot-next",w="private-next-root-dir",I="private-next-app-dir",N="private-next-rsc-mod-ref-proxy",x="private-next-rsc-action-validate",M="private-next-rsc-server-reference",L="private-next-rsc-cache-wrapper",D="private-next-rsc-action-encryption",U="private-next-rsc-action-client-wrapper",k="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",F="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",B="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",H="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",X="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",W="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",G="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",q="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",V="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",z="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",Y='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',K="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",$=["app","pages","components","lib","src"],Q={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},J={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},Z={...J,GROUP:{builtinReact:[J.reactServerComponents,J.actionBrowser],serverOnly:[J.reactServerComponents,J.actionBrowser,J.instrument,J.middleware],neutralTarget:[J.apiNode,J.apiEdge],clientOnly:[J.serverSideRendering,J.appPagesBrowser],bundled:[J.reactServerComponents,J.actionBrowser,J.serverSideRendering,J.appPagesBrowser,J.shared,J.instrument,J.middleware],appPages:[J.reactServerComponents,J.serverSideRendering,J.appPagesBrowser,J.actionBrowser]}},ee={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},9341:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(4252),o=r(7876),a=n._(r(4232)),i=n._(r(5679)),l={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function u(e){let{req:t,res:r,err:n}=e;return{statusCode:r&&r.statusCode?r.statusCode:n?n.statusCode:404,hostname:window.location.hostname}}let s={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class c extends a.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||l[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:s.error,children:[(0,o.jsx)(i.default,{children:(0,o.jsx)("title",{children:e?e+": "+r:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:s.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:s.h1,children:e}):null,(0,o.jsx)("div",{style:s.wrap,children:(0,o.jsxs)("h2",{style:s.h2,children:[this.props.title||e?r:(0,o.jsxs)(o.Fragment,{children:["Application error: a client-side exception has occurred"," ",!!this.props.hostname&&(0,o.jsxs)(o.Fragment,{children:["while loading ",this.props.hostname]})," ","(see the browser console for more information)"]}),"."]})})]})]})}}c.displayName="ErrorPage",c.getInitialProps=u,c.origGetInitialProps=u,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9525:(e,t,r)=>{"use strict";let n,o,a,i,l,u,s,c,f,d,p,h;Object.defineProperty(t,"__esModule",{value:!0});let _=r(8365);Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{emitter:function(){return X},hydrate:function(){return eu},initialize:function(){return V},router:function(){return n},version:function(){return H}});let m=r(4252),g=r(7876);r(1291);let b=m._(r(4232)),E=m._(r(8944)),y=r(8831),P=m._(r(9871)),v=r(9948),R=r(3132),O=r(9163),S=r(8040),j=r(2917),T=r(2746),A=r(3090),C=m._(r(4547)),w=m._(r(2792)),I=r(1318),N=r(4294),x=r(6240),M=r(8677),L=r(1025),D=r(6023),U=r(2850),k=r(9609),F=r(5931),B=r(7207);r(4609),r(6999);let H="15.2.4",X=(0,P.default)(),W=e=>[].slice.call(e),G=!1;class q extends b.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(o.isFallback||o.nextExport&&((0,O.isDynamicRoute)(n.pathname)||location.search||G)||o.props&&o.props.__N_SSG&&(location.search||G))&&n.replace(n.pathname+"?"+String((0,S.assign)((0,S.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),a,{_h:1,shallow:!o.isFallback&&!G}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function V(e){void 0===e&&(e={}),o=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=o,h=o.defaultLocale;let t=o.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,j.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:o.runtimeConfig||{}}),a=(0,T.getURL)(),(0,D.hasBasePath)(a)&&(a=(0,L.removeBasePath)(a)),o.scriptLoader){let{initScriptLoader:e}=r(3996);e(o.scriptLoader)}i=new w.default(o.buildId,t);let s=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>s(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=s,(u=(0,C.default)()).getIsSsr=()=>n.isSsr,l=document.getElementById("__next"),{assetPrefix:t}}function z(e,t){return(0,g.jsx)(e,{...t})}function Y(e){var t;let{children:r}=e,o=b.default.useMemo(()=>(0,k.adaptForAppRouterInstance)(n),[]);return(0,g.jsx)(q,{fn:e=>$({App:f,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,g.jsx)(U.AppRouterContext.Provider,{value:o,children:(0,g.jsx)(F.SearchParamsContext.Provider,{value:(0,k.adaptForSearchParams)(n),children:(0,g.jsx)(k.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t,children:(0,g.jsx)(F.PathParamsContext.Provider,{value:(0,k.adaptForPathParams)(n),children:(0,g.jsx)(v.RouterContext.Provider,{value:(0,N.makePublicRouterInstance)(n),children:(0,g.jsx)(y.HeadManagerContext.Provider,{value:u,children:(0,g.jsx)(M.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0},children:r})})})})})})})})}let K=e=>t=>{let r={...t,Component:p,err:o.err,router:n};return(0,g.jsx)(Y,{children:z(e,r)})};function $(e){let{App:t,err:l}=e;return console.error(l),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:o,styleSheets:a}=n;return(null==s?void 0:s.Component)===o?Promise.resolve().then(()=>_._(r(9341))).then(n=>Promise.resolve().then(()=>_._(r(472))).then(r=>(e.App=t=r.default,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:o,styleSheets:a}}).then(r=>{var i;let{ErrorComponent:u,styleSheets:s}=r,c=K(t),f={Component:u,AppTree:c,router:n,ctx:{err:l,pathname:o.page,query:o.query,asPath:a,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,T.loadGetInitialProps)(t,f)).then(t=>ei({...e,err:l,Component:u,styleSheets:s,props:t}))})}function Q(e){let{callback:t}=e;return b.default.useLayoutEffect(()=>t(),[t]),null}let J={navigationStart:"navigationStart",beforeRender:"beforeRender",afterRender:"afterRender",afterHydrate:"afterHydrate",routeChange:"routeChange"},Z={hydration:"Next.js-hydration",beforeHydration:"Next.js-before-hydration",routeChangeToRender:"Next.js-route-change-to-render",render:"Next.js-render"},ee=null,et=!0;function er(){[J.beforeRender,J.afterHydrate,J.afterRender,J.routeChange].forEach(e=>performance.clearMarks(e))}function en(){T.ST&&(performance.mark(J.afterHydrate),performance.getEntriesByName(J.beforeRender,"mark").length&&(performance.measure(Z.beforeHydration,J.navigationStart,J.beforeRender),performance.measure(Z.hydration,J.beforeRender,J.afterHydrate)),d&&performance.getEntriesByName(Z.hydration).forEach(d),er())}function eo(){if(!T.ST)return;performance.mark(J.afterRender);let e=performance.getEntriesByName(J.routeChange,"mark");e.length&&(performance.getEntriesByName(J.beforeRender,"mark").length&&(performance.measure(Z.routeChangeToRender,e[0].name,J.beforeRender),performance.measure(Z.render,J.beforeRender,J.afterRender),d&&(performance.getEntriesByName(Z.render).forEach(d),performance.getEntriesByName(Z.routeChangeToRender).forEach(d))),er(),[Z.routeChangeToRender,Z.render].forEach(e=>performance.clearMeasures(e)))}function ea(e){let{callbacks:t,children:r}=e;return b.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),r}function ei(e){let t,{App:r,Component:o,props:a,err:i}=e,u="initial"in e?void 0:e.styleSheets;o=o||s.Component;let f={...a=a||s.props,Component:o,err:i,router:n};s=f;let d=!1,p=new Promise((e,r)=>{c&&c(),t=()=>{c=null,e()},c=()=>{d=!0,c=null;let e=Object.defineProperty(Error("Cancel rendering route"),"__NEXT_ERROR_CODE",{value:"E503",enumerable:!1,configurable:!0});e.cancelled=!0,r(e)}});function h(){t()}!function(){if(!u)return;let e=new Set(W(document.querySelectorAll("style[data-n-href]")).map(e=>e.getAttribute("data-n-href"))),t=document.querySelector("noscript[data-n-css]"),r=null==t?void 0:t.getAttribute("data-n-css");u.forEach(t=>{let{href:n,text:o}=t;if(!e.has(n)){let e=document.createElement("style");e.setAttribute("data-n-href",n),e.setAttribute("media","x"),r&&e.setAttribute("nonce",r),document.head.appendChild(e),e.appendChild(document.createTextNode(o))}})}();let _=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Q,{callback:function(){if(u&&!d){let e=new Set(u.map(e=>e.href)),t=W(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),W(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,R.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),(0,g.jsxs)(Y,{children:[z(r,f),(0,g.jsx)(A.Portal,{type:"next-route-announcer",children:(0,g.jsx)(I.RouteAnnouncer,{})})]})]});return!function(e,t){T.ST&&performance.mark(J.beforeRender);let r=t(et?en:eo);ee?(0,b.default.startTransition)(()=>{ee.render(r)}):(ee=E.default.hydrateRoot(e,r,{onRecoverableError:B.onRecoverableError}),et=!1)}(l,e=>(0,g.jsx)(ea,{callbacks:[e,h],children:(0,g.jsx)(b.default.StrictMode,{children:_})})),p}async function el(e){if(e.err&&(void 0===e.Component||!e.isHydratePass)){await $(e);return}try{await ei(e)}catch(r){let t=(0,x.getProperError)(r);if(t.cancelled)throw t;await $({...e,err:t})}}async function eu(e){let t=o.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;f=t,r&&r.reportWebVitals&&(d=e=>{let t,{id:n,name:o,startTime:a,value:i,duration:l,entryType:u,entries:s,attribution:c}=e,f=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);s&&s.length&&(t=s[0].startTime);let d={id:n||f,name:o,startTime:a||t,value:null==i?l:i,label:"mark"===u||"measure"===u?"custom":"web-vital"};c&&(d.attribution=c),r.reportWebVitals(d)});let n=await i.routeLoader.whenEntrypoint(o.page);if("error"in n)throw n.error;p=n.component}catch(e){t=(0,x.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(o.dynamicIds),n=(0,N.createRouter)(o.page,o.query,a,{initialProps:o.props,pageLoader:i,App:f,Component:p,wrapApp:K,err:t,isFallback:!!o.isFallback,subscription:(e,t,r)=>el(Object.assign({},e,{App:t,scroll:r})),locale:o.locale,locales:o.locales,defaultLocale:h,domainLocales:o.domainLocales,isPreview:o.isPreview}),G=await n._initialMatchesMiddlewarePromise;let r={App:f,initial:!0,Component:p,props:o.props,err:t,isHydratePass:!0};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),el(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathnameContextProviderAdapter:function(){return p},adaptForAppRouterInstance:function(){return c},adaptForPathParams:function(){return d},adaptForSearchParams:function(){return f}});let n=r(8365),o=r(7876),a=n._(r(4232)),i=r(5931),l=r(3069),u=r(8213),s=r(5214);function c(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},hmrRefresh(){},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function f(e){return e.isReady&&e.query?(0,u.asPathToSearchParams)(e.asPath):new URLSearchParams}function d(e){if(!e.isReady||!e.query)return null;let t={};for(let r of Object.keys((0,s.getRouteRegex)(e.pathname).groups))t[r]=e.query[r];return t}function p(e){let{children:t,router:r,...n}=e,u=(0,a.useRef)(n.isAutoExport),s=(0,a.useMemo)(()=>{let e;let t=u.current;if(t&&(u.current=!1),(0,l.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return(0,o.jsx)(i.PathnameContext.Provider,{value:s,children:t})}},9611:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setAttributesFromProps",{enumerable:!0,get:function(){return a}});let r={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},n=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function o(e){return["async","defer","noModule"].includes(e)}function a(e,t){for(let[a,i]of Object.entries(t)){if(!t.hasOwnProperty(a)||n.includes(a)||void 0===i)continue;let l=r[a]||a.toLowerCase();"SCRIPT"===e.tagName&&o(l)?e[l]=!!i:e.setAttribute(l,String(i)),(!1===i||"SCRIPT"===e.tagName&&o(l)&&(!i||"false"===i))&&(e.setAttribute(l,""),e.removeAttribute(l))}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9871:(e,t)=>{"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},9948:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext(null)}},e=>{var t=t=>e(e.s=t);e.O(0,[593],()=>t(5842)),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[792],{303:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext({})},472:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=r(4252),o=r(7876),a=n._(r(4232)),i=r(2746);async function l(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,i.loadGetInitialProps)(t,r)}}class u extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}u.origGetInitialProps=l,u.getInitialProps=l,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},536:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},541:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(8040);function a(e,t,r){void 0===r&&(r=!0);let a=new URL((0,n.getLocationOrigin)()),i=t?new URL(t,a):e.startsWith(".")?new URL(window.location.href):a,{pathname:l,searchParams:u,search:s,hash:c,href:f,origin:d}=new URL(e,i);if(d!==a.origin)throw Object.defineProperty(Error("invariant: invalid relative URL, router received "+e),"__NEXT_ERROR_CODE",{value:"E159",enumerable:!1,configurable:!0});return{pathname:l,query:r?(0,o.searchParamsToUrlQuery)(u):void 0,search:s,hash:c,href:f.slice(d.length)}}},938:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},990:(e,t)=>{"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},1017:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1025:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(6023),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1226:()=>{},1291:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},1318:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return u},default:function(){return s}});let n=r(4252),o=r(7876),a=n._(r(4232)),i=r(4294),l={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},u=()=>{let{asPath:e}=(0,i.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e){if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1");r((null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent)||e)}}},[e]),(0,o.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:l,children:t})},s=u;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1533:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(6023);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},1827:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},1862:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return n}});let r=new WeakMap;function n(e,t){let n;if(!t)return{pathname:e};let o=r.get(t);o||(o=t.map(e=>e.toLowerCase()),r.set(t,o));let a=e.split("/",2);if(!a[1])return{pathname:e};let i=a[1].toLowerCase(),l=o.indexOf(i);return l<0?{pathname:e}:(n=t[l],{pathname:e=e.slice(n.length+1)||"/",detectedLocale:n})}},1921:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return f}});let n=r(8040),o=r(8480),a=r(990),i=r(2746),l=r(8205),u=r(1533),s=r(3069),c=r(8069);function f(e,t,r){let f;let d="string"==typeof t?t:(0,o.formatWithValidation)(t),p=d.match(/^[a-zA-Z]{1,}:\/\//),h=p?d.slice(p[0].length):d;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+d+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);d=(p?p[0]:"")+t}if(!(0,u.isLocalURL)(d))return r?[d]:d;try{f=new URL(d.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){f=new URL("/","http://n")}try{let e=new URL(d,f);e.pathname=(0,l.normalizePathTrailingSlash)(e.pathname);let t="";if((0,s.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:l}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,l)}))}let i=e.origin===f.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[d]:d}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1924:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},2092:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(2889),o=r(8205);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2326:(e,t)=>{"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},2455:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTML_LIMITED_BOT_UA_RE",{enumerable:!0,get:function(){return r}});let r=/Mediapartners-Google|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview/i},2591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return a},isRedirectError:function(){return i}});let n=r(1017),o="NEXT_REDIRECT";var a=function(e){return e.push="push",e.replace="replace",e}({});function i(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,a]=t,i=t.slice(2,-2).join(";"),l=Number(t.at(-2));return r===o&&("replace"===a||"push"===a)&&"string"==typeof i&&!isNaN(l)&&l in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2616:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return g},NormalizeError:function(){return _},PageNotFoundError:function(){return m},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return u},getLocationOrigin:function(){return i},getURL:function(){return l},isAbsoluteUrl:function(){return a},isResSent:function(){return s},loadGetInitialProps:function(){return f},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return E}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function l(){let{href:e}=window.location,t=i();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function f(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await f(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+u(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class _ extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function E(e){return JSON.stringify({message:e.message,stack:e.stack})}},2792:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return d}});let n=r(4252),o=r(2092),a=r(8069),i=n._(r(1827)),l=r(4591),u=r(9163),s=r(541),c=r(4902),f=r(7176);r(3802);class d{getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:f,query:d,search:p}=(0,s.parseRelativeUrl)(r),{pathname:h}=(0,s.parseRelativeUrl)(t),_=(0,c.removeTrailingSlash)(f);if("/"!==_[0])throw Object.defineProperty(Error('Route name should start with a "/", got "'+_+'"'),"__NEXT_ERROR_CODE",{value:"E303",enumerable:!1,configurable:!0});return(e=>{let t=(0,i.default)((0,c.removeTrailingSlash)((0,l.addLocale)(e,n)),".json");return(0,o.addBasePath)("/_next/data/"+this.buildId+t+p,!0)})(e.skipInterpolation?h:(0,u.isDynamicRoute)(_)?(0,a.interpolateAs)(f,h,d).result:_)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2850:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return u},TemplateContext:function(){return l}});let n=r(4252)._(r(4232)),o=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(null),l=n.default.createContext(null),u=n.default.createContext(new Set)},2889:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},2917:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});let n=()=>r;function o(e){r=e}},2959:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(938),o=r(8714);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},3069:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return n.getSortedRouteObjects},getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(3703),o=r(9163)},3090:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return a}});let n=r(4232),o=r(8477),a=e=>{let{children:t,type:r}=e,[a,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),a?(0,o.createPortal)(t,a):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3123:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},3132:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},3407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(1862),o=r(6292),a=r(3716);function i(e,t){var r,i;let{basePath:l,i18n:u,trailingSlash:s}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};l&&(0,a.pathHasPrefix)(c.pathname,l)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,l),c.basePath=l);let f=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");c.buildId=e[0],f="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=f)}if(u){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,u.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(f):(0,n.normalizeLocalePath)(f,u.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},3575:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return s}});let n=r(4252),o=n._(r(4232)),a=n._(r(6240)),i=r(8089),l="react-stack-bottom-frame",u=RegExp("(at "+l+" )|("+l+"\\@)");function s(e){let t=(0,a.default)(e),r=t&&e.stack||"",n=t?e.message:"",l=r.split("\n"),s=l.findIndex(e=>u.test(e)),c=s>=0?l.slice(0,s).join("\n"):r,f=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return Object.assign(f,e),(0,i.copyNextErrorCode)(e,f),f.stack=c,function(e){if(!o.default.captureOwnerStack)return;let t=e.stack||"",r=o.default.captureOwnerStack();r&&!1===t.endsWith(r)&&(e.stack=t+=r)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3670:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},3703:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return o},getSortedRoutes:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").'),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("…"))throw Object.defineProperty(Error("Detected a three-dot character ('…') at ('"+r+"'). Did you mean ('...')?"),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Object.defineProperty(Error("Segment names may not start or end with extra brackets ('"+r+"')."),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(r.startsWith("."))throw Object.defineProperty(Error("Segment names may not start with erroneous periods ('"+r+"')."),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function a(e,r){if(null!==e&&e!==r)throw Object.defineProperty(Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"')."),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});t.forEach(e=>{if(e===r)throw Object.defineProperty(Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Object.defineProperty(Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Object.defineProperty(Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).'),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").'),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});a(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(i)throw Object.defineProperty(Error('Optional route parameters are not yet supported ("'+e[0]+'").'),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}function o(e,t){let r={},o=[];for(let n=0;ne[r[t]])}},3716:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},3718:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(8757),self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3776:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(4232),o=n.useLayoutEffect,a=n.useEffect;function i(e){let{headManager:t,reduceComponentsToState:r}=e;function i(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},3802:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return E},APP_CLIENT_INTERNALS:function(){return Q},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return g},BARREL_OPTIMIZATION_PREFIX:function(){return X},BLOCKED_PAGES:function(){return U},BUILD_ID_FILE:function(){return D},BUILD_MANIFEST:function(){return b},CLIENT_PUBLIC_FILES_PATH:function(){return k},CLIENT_REFERENCE_MANIFEST:function(){return W},CLIENT_STATIC_FILES_PATH:function(){return F},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return K},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return $},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return et},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return er},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return J},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return ee},COMPILER_INDEXES:function(){return a},COMPILER_NAMES:function(){return o},CONFIG_FILES:function(){return L},DEFAULT_RUNTIME_WEBPACK:function(){return en},DEFAULT_SANS_SERIF_FONT:function(){return eu},DEFAULT_SERIF_FONT:function(){return el},DEV_CLIENT_MIDDLEWARE_MANIFEST:function(){return N},DEV_CLIENT_PAGES_MANIFEST:function(){return C},DYNAMIC_CSS_MANIFEST:function(){return Y},EDGE_RUNTIME_WEBPACK:function(){return eo},EDGE_UNSUPPORTED_NODE_APIS:function(){return ep},EXPORT_DETAIL:function(){return O},EXPORT_MARKER:function(){return R},FUNCTIONS_CONFIG_MANIFEST:function(){return y},IMAGES_MANIFEST:function(){return T},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return z},MIDDLEWARE_BUILD_MANIFEST:function(){return q},MIDDLEWARE_MANIFEST:function(){return w},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return V},MODERN_BROWSERSLIST_TARGET:function(){return n.default},NEXT_BUILTIN_DOCUMENT:function(){return H},NEXT_FONT_MANIFEST:function(){return v},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return f},PHASE_EXPORT:function(){return u},PHASE_INFO:function(){return p},PHASE_PRODUCTION_BUILD:function(){return s},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return d},PRERENDER_MANIFEST:function(){return S},REACT_LOADABLE_MANIFEST:function(){return x},ROUTES_MANIFEST:function(){return j},RSC_MODULE_TYPES:function(){return ed},SERVER_DIRECTORY:function(){return M},SERVER_FILES_MANIFEST:function(){return A},SERVER_PROPS_ID:function(){return ei},SERVER_REFERENCE_MANIFEST:function(){return G},STATIC_PROPS_ID:function(){return ea},STATIC_STATUS_PAGES:function(){return es},STRING_LITERAL_DROP_BUNDLE:function(){return B},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return P},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST:function(){return I},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ef},UNDERSCORE_NOT_FOUND_ROUTE:function(){return i},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return l},WEBPACK_STATS:function(){return _}});let n=r(4252)._(r(6582)),o={client:"client",server:"server",edgeServer:"edge-server"},a={[o.client]:0,[o.server]:1,[o.edgeServer]:2},i="/_not-found",l=""+i+"/page",u="phase-export",s="phase-production-build",c="phase-production-server",f="phase-development-server",d="phase-test",p="phase-info",h="pages-manifest.json",_="webpack-stats.json",m="app-paths-manifest.json",g="app-path-routes-manifest.json",b="build-manifest.json",E="app-build-manifest.json",y="functions-config-manifest.json",P="subresource-integrity-manifest",v="next-font-manifest",R="export-marker.json",O="export-detail.json",S="prerender-manifest.json",j="routes-manifest.json",T="images-manifest.json",A="required-server-files.json",C="_devPagesManifest.json",w="middleware-manifest.json",I="_clientMiddlewareManifest.json",N="_devMiddlewareManifest.json",x="react-loadable-manifest.json",M="server",L=["next.config.js","next.config.mjs","next.config.ts"],D="BUILD_ID",U=["/_document","/_app","/_error"],k="public",F="static",B="__NEXT_DROP_CLIENT_FILE__",H="__NEXT_BUILTIN_DOCUMENT__",X="__barrel_optimize__",W="client-reference-manifest",G="server-reference-manifest",q="middleware-build-manifest",V="middleware-react-loadable-manifest",z="interception-route-rewrite-manifest",Y="dynamic-css-manifest",K="main",$=""+K+"-app",Q="app-pages-internals",J="react-refresh",Z="amp",ee="webpack",et="polyfills",er=Symbol(et),en="webpack-runtime",eo="edge-runtime-webpack",ea="__N_SSG",ei="__N_SSP",el={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},eu={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},es=["/500"],ec=1,ef=6e3,ed={client:"client",server:"server"},ep=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([K,J,Z,$]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3836:(e,t,r)=>{"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(3670),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3996:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return b},handleClientScriptLoad:function(){return _},initScriptLoader:function(){return m}});let n=r(4252),o=r(8365),a=r(7876),i=n._(r(8477)),l=o._(r(4232)),u=r(8831),s=r(9611),c=r(6959),f=new Map,d=new Set,p=e=>{if(i.default.preinit){e.forEach(e=>{i.default.preinit(e,{as:"style"})});return}{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},h=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:o=null,dangerouslySetInnerHTML:a,children:i="",strategy:l="afterInteractive",onError:u,stylesheets:c}=e,h=r||t;if(h&&d.has(h))return;if(f.has(t)){d.add(h),f.get(t).then(n,u);return}let _=()=>{o&&o(),d.add(h)},m=document.createElement("script"),g=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),n&&n.call(this,t),_()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){u&&u(e)});a?(m.innerHTML=a.__html||"",_()):i?(m.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",_()):t&&(m.src=t,f.set(t,g)),(0,s.setAttributesFromProps)(m,e),"worker"===l&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",l),c&&p(c),document.body.appendChild(m)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}):h(e)}function m(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");d.add(t)})}function g(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:s="afterInteractive",onError:f,stylesheets:p,..._}=e,{updateScripts:m,scripts:g,getIsSsr:b,appDir:E,nonce:y}=(0,l.useContext)(u.HeadManagerContext),P=(0,l.useRef)(!1);(0,l.useEffect)(()=>{let e=t||r;P.current||(o&&e&&d.has(e)&&o(),P.current=!0)},[o,t,r]);let v=(0,l.useRef)(!1);if((0,l.useEffect)(()=>{if(!v.current){if("afterInteractive"===s)h(e);else if("lazyOnload"===s)"complete"===document.readyState?(0,c.requestIdleCallback)(()=>h(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))});v.current=!0}},[e,s]),("beforeInteractive"===s||"worker"===s)&&(m?(g[s]=(g[s]||[]).concat([{id:t,src:r,onLoad:n,onReady:o,onError:f,..._}]),m(g)):b&&b()?d.add(t||r):b&&!b()&&h(e)),E){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===s)return r?(i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:y,crossOrigin:_.crossOrigin}:{as:"script",nonce:y,crossOrigin:_.crossOrigin}),(0,a.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{..._,id:t}])+")"}})):(_.dangerouslySetInnerHTML&&(_.children=_.dangerouslySetInnerHTML.__html,delete _.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{..._,id:t}])+")"}}));"afterInteractive"===s&&r&&i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:y,crossOrigin:_.crossOrigin}:{as:"script",nonce:y,crossOrigin:_.crossOrigin})}return null}Object.defineProperty(g,"__nextScript",{value:!0});let b=g;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4069:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=1e-4);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach(e=>{this.bitArray[e]=1})}contains(e){return this.getHashValues(e).every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r>>13,t=Math.imul(t,0x5bd1e995);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t=1e-4){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},4181:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return a}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function i(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4252:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},4294:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return a.default},createRouter:function(){return _},default:function(){return p},makePublicRouterInstance:function(){return m},useRouter:function(){return h},withRouter:function(){return u.default}});let n=r(4252),o=n._(r(4232)),a=n._(r(8276)),i=r(9948),l=n._(r(6240)),u=n._(r(8147)),s={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],f=["push","replace","reload","back","prefetch","beforePopState"];function d(){if(!s.router)throw Object.defineProperty(Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return s.router}Object.defineProperty(s,"events",{get:()=>a.default.events}),c.forEach(e=>{Object.defineProperty(s,e,{get:()=>d()[e]})}),f.forEach(e=>{s[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n{s.ready(()=>{a.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;ne()),s.readyCallbacks=[],s.router}function m(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=a.default.events,f.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),o=0;o{"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let o=r[n];if("query"===o){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let o=r[n];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},4547:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return i},isEqualNode:function(){return a}});let o=r(9611);function a(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let r=t.getAttribute("nonce");if(r&&!e.getAttribute("nonce")){let n=t.cloneNode(!0);return n.setAttribute("nonce",""),n.nonce=r,r===e.nonce&&e.isEqualNode(n)}}return e.isEqualNode(t)}function i(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let r=t.title?t.title[0]:null,o="";if(r){let{children:e}=r.props;o="string"==typeof e?e:Array.isArray(e)?e.join(""):""}o!==document.title&&(document.title=o),["meta","base","link","style","script"].forEach(e=>{n(e,t[e]||[])})}}}n=(e,t)=>{let r=document.querySelector("head");if(!r)return;let n=new Set(r.querySelectorAll(""+e+"[data-next-head]"));if("meta"===e){let e=r.querySelector("meta[charset]");null!==e&&n.add(e)}let i=[];for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4591:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(8205);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(4252)._(r(9871));class o{end(e){if("ended"===this.state.state)throw Object.defineProperty(Error("Span has already ended"),"__NEXT_ERROR_CODE",{value:"E17",enumerable:!1,configurable:!0});this.state={state:"ended",endTime:null!=e?e:Date.now()},this.onSpanEnd(this)}constructor(e,t,r){var n,o;this.name=e,this.attributes=null!=(n=t.attributes)?n:{},this.startTime=null!=(o=t.startTime)?o:Date.now(),this.onSpanEnd=r,this.state={state:"inprogress"}}}class a{startSpan(e,t){return new o(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,n.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}}let i=new a;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4902:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},4980:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return l}});let n=r(4902),o=r(2889),a=r(7952),i=r(6711);function l(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},5195:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return a}});let n=r(3069),o=r(5419);function a(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},5214:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return _},getNamedRouteRegex:function(){return h},getRouteRegex:function(){return f},parseParameter:function(){return u}});let n=r(9308),o=r(7188),a=r(1924),i=r(4902),l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function u(e){let t=e.match(l);return t?s(t[2]):s(e)}function s(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function c(e,t,r){let n={},u=1,c=[];for(let f of(0,i.removeTrailingSlash)(e).slice(1).split("/")){let e=o.INTERCEPTION_ROUTE_MARKERS.find(e=>f.startsWith(e)),i=f.match(l);if(e&&i&&i[2]){let{key:t,optional:r,repeat:o}=s(i[2]);n[t]={pos:u++,repeat:o,optional:r},c.push("/"+(0,a.escapeStringRegexp)(e)+"([^/]+?)")}else if(i&&i[2]){let{key:e,repeat:t,optional:o}=s(i[2]);n[e]={pos:u++,repeat:t,optional:o},r&&i[1]&&c.push("/"+(0,a.escapeStringRegexp)(i[1]));let l=t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";r&&i[1]&&(l=l.substring(1)),c.push(l)}else c.push("/"+(0,a.escapeStringRegexp)(f));t&&i&&i[3]&&c.push((0,a.escapeStringRegexp)(i[3]))}return{parameterizedRoute:c.join(""),groups:n}}function f(e,t){let{includeSuffix:r=!1,includePrefix:n=!1,excludeOptionalTrailingSlash:o=!1}=void 0===t?{}:t,{parameterizedRoute:a,groups:i}=c(e,r,n),l=a;return o||(l+="(?:/)?"),{re:RegExp("^"+l+"$"),groups:i}}function d(e){let t,{interceptionMarker:r,getSafeRouteKey:n,segment:o,routeKeys:i,keyPrefix:l,backreferenceDuplicateKeys:u}=e,{key:c,optional:f,repeat:d}=s(o),p=c.replace(/\W/g,"");l&&(p=""+l+p);let h=!1;(0===p.length||p.length>30)&&(h=!0),isNaN(parseInt(p.slice(0,1)))||(h=!0),h&&(p=n());let _=p in i;l?i[p]=""+l+c:i[p]=c;let m=r?(0,a.escapeStringRegexp)(r):"";return t=_&&u?"\\k<"+p+">":d?"(?<"+p+">.+?)":"(?<"+p+">[^/]+?)",f?"(?:/"+m+t+")?":"/"+m+t}function p(e,t,r,u,s){let c;let f=(c=0,()=>{let e="",t=++c;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),p={},h=[];for(let c of(0,i.removeTrailingSlash)(e).slice(1).split("/")){let e=o.INTERCEPTION_ROUTE_MARKERS.some(e=>c.startsWith(e)),i=c.match(l);if(e&&i&&i[2])h.push(d({getSafeRouteKey:f,interceptionMarker:i[1],segment:i[2],routeKeys:p,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,backreferenceDuplicateKeys:s}));else if(i&&i[2]){u&&i[1]&&h.push("/"+(0,a.escapeStringRegexp)(i[1]));let e=d({getSafeRouteKey:f,segment:i[2],routeKeys:p,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0,backreferenceDuplicateKeys:s});u&&i[1]&&(e=e.substring(1)),h.push(e)}else h.push("/"+(0,a.escapeStringRegexp)(c));r&&i&&i[3]&&h.push((0,a.escapeStringRegexp)(i[3]))}return{namedParameterizedRoute:h.join(""),routeKeys:p}}function h(e,t){var r,n,o;let a=p(e,t.prefixRouteKeys,null!=(r=t.includeSuffix)&&r,null!=(n=t.includePrefix)&&n,null!=(o=t.backreferenceDuplicateKeys)&&o),i=a.namedParameterizedRoute;return t.excludeOptionalTrailingSlash||(i+="(?:/)?"),{...f(e,t),namedRegex:"^"+i+"$",routeKeys:a.routeKeys}}function _(e,t){let{parameterizedRoute:r}=c(e,!1,!1),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=p(e,!1,!1,!1,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},5364:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(5861)},5419:(e,t)=>{"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},5519:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(2746);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw Object.defineProperty(new n.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},i={};for(let[e,t]of Object.entries(r)){let r=o[t.pos];void 0!==r&&(t.repeat?i[e]=r.split("/").map(e=>a(e)):i[e]=a(r))}return i}}},5679:(e,t,r)=>{"use strict";var n=r(5364);Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return d}});let o=r(4252),a=r(8365),i=r(7876),l=a._(r(4232)),u=o._(r(3776)),s=r(303),c=r(8831),f=r(6807);function d(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===l.default.Fragment?e.concat(l.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(6079);let h=["name","httpEquiv","charSet","itemProp"];function _(e,t){let{inAmpMode:r}=t;return e.reduce(p,[]).reverse().concat(d(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=h.length;e{let o=e.key||t;if(n.env.__NEXT_OPTIMIZE_FONTS&&!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,l.default.cloneElement(e,t)}return l.default.cloneElement(e,{key:o})})}let m=function(e){let{children:t}=e,r=(0,l.useContext)(s.AmpStateContext),n=(0,l.useContext)(c.HeadManagerContext);return(0,i.jsx)(u.default,{reduceComponentsToState:_,headManager:n,inAmpMode:(0,f.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5842:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3718);let n=r(9525);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5861:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function a(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var u=[],s=!1,c=-1;function f(){s&&n&&(s=!1,n.length?u=n.concat(u):c=-1,u.length&&d())}function d(){if(!s){var e=l(f);s=!0;for(var t=u.length;t;){for(n=u,u=[];++c1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(4232),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},6023:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(3716);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6079:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},6240:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(8096);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Object.defineProperty(Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},6292:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=r(3716);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},6582:e=>{"use strict";e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},6711:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});let n=r(2889),o=r(3716);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},6807:(e,t)=>{"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},6818:(e,t)=>{"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6959:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6999:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(4181),o=r(2591);function a(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7176:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createRouteLoader:function(){return m},getClientBuildManifest:function(){return h},isAssetError:function(){return c},markAssetError:function(){return s}}),r(4252),r(1827);let n=r(6818),o=r(6959),a=r(8757),i=r(536);function l(e,t,r){let n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);let a=new Promise(e=>{n=e});return t.set(e,{resolve:n,future:a}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):a}let u=Symbol("ASSET_LOAD_ERROR");function s(e){return Object.defineProperty(e,u,{})}function c(e){return e&&u in e}let f=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),d=()=>(0,a.getDeploymentIdQueryOrEmptyString)();function p(e,t,r){return new Promise((n,a)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(a),(0,o.requestIdleCallback)(()=>setTimeout(()=>{i||a(r)},t))})}function h(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):p(new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}}),3800,s(Object.defineProperty(Error("Failed to load client build manifest"),"__NEXT_ERROR_CODE",{value:"E273",enumerable:!1,configurable:!0})))}function _(e,t){return h().then(r=>{if(!(t in r))throw s(Object.defineProperty(Error("Failed to lookup route: "+t),"__NEXT_ERROR_CODE",{value:"E446",enumerable:!1,configurable:!0}));let o=r[t].map(t=>e+"/_next/"+(0,i.encodeURIPath)(t));return{scripts:o.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+d()),css:o.filter(e=>e.endsWith(".css")).map(e=>e+d())}})}function m(e){let t=new Map,r=new Map,n=new Map,a=new Map;function i(e){{var t;let n=r.get(e.toString());return n?n:document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(s(Object.defineProperty(Error("Failed to load script: "+e),"__NEXT_ERROR_CODE",{value:"E74",enumerable:!1,configurable:!0}))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n)}}function u(e){let t=n.get(e);return t||n.set(e,t=fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw Object.defineProperty(Error("Failed to load stylesheet: "+e),"__NEXT_ERROR_CODE",{value:"E189",enumerable:!1,configurable:!0});return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw s(e)})),t}return{whenEntrypoint:e=>l(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),a.delete(e))})},loadRoute(r,n){return l(r,a,()=>{let o;return p(_(e,r).then(e=>{let{scripts:n,css:o}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(i)),Promise.all(o.map(u))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,s(Object.defineProperty(Error("Route did not complete loading: "+r),"__NEXT_ERROR_CODE",{value:"E12",enumerable:!1,configurable:!0}))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==o?void 0:o())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():_(e,t).then(e=>Promise.all(f?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,o)=>{let a='\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]';if(document.querySelector(a))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>o(s(Object.defineProperty(Error("Failed to prefetch: "+t),"__NEXT_ERROR_CODE",{value:"E268",enumerable:!1,configurable:!0}))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,o.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7188:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(2959),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Object.defineProperty(Error("Invalid interception route: "+e+". Must be in the format //(..|...|..)(..)/"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?"/"+a:t+"/"+a;break;case"(..)":if("/"===t)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+e+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});a=i.slice(0,-2).concat(a).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:t,interceptedRoute:a}}},7207:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return u}});let n=r(4252),o=r(3123),a=r(4569),i=r(3575),l=n._(r(6240)),u=(e,t)=>{let r=(0,l.default)(e)&&"cause"in e?e.cause:e,n=(0,i.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,a.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7407:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTML_LIMITED_BOT_UA_RE:function(){return n.HTML_LIMITED_BOT_UA_RE},HTML_LIMITED_BOT_UA_RE_STRING:function(){return a},getBotType:function(){return u},isBot:function(){return l}});let n=r(2455),o=/Googlebot|Google-PageRenderer|AdsBot-Google|googleweblight|Storebot-Google/i,a=n.HTML_LIMITED_BOT_UA_RE.source;function i(e){return n.HTML_LIMITED_BOT_UA_RE.test(e)}function l(e){return o.test(e)||i(e)}function u(e){return o.test(e)?"dom":i(e)?"html":void 0}},7539:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},7952:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=r(3670);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+r+t+o+a}},8040:(e,t)=>{"use strict";function r(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function n(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,o]of Object.entries(e))if(Array.isArray(o))for(let e of o)t.append(r,n(e));else t.set(r,n(o));return t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(5519),o=r(5214);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),l=i.groups,u=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let s=Object.keys(l);return s.every(e=>{let t=u[e]||"",{repeat:r,optional:n}=l[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in u)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:s,result:a}}},8089:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{copyNextErrorCode:function(){return n},createDigestWithErrorCode:function(){return r},extractNextErrorCode:function(){return o}});let r=(e,t)=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e?`${t}@${e.__NEXT_ERROR_CODE}`:t,n=(e,t)=>{let r=o(e);r&&"object"==typeof t&&null!==t&&Object.defineProperty(t,"__NEXT_ERROR_CODE",{value:r,enumerable:!1,configurable:!0})},o=e=>"object"==typeof e&&null!==e&&"__NEXT_ERROR_CODE"in e&&"string"==typeof e.__NEXT_ERROR_CODE?e.__NEXT_ERROR_CODE:"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest?e.digest.split("@").find(e=>e.startsWith("E")):void 0},8096:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},8147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(4252);let n=r(7876);r(4232);let o=r(4294);function a(e){function t(t){return(0,n.jsx)(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8205:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(4902),o=r(3670),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+a:t.endsWith("/")?""+t+r+a:t+"/"+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8213:(e,t)=>{"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},8276:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createKey:function(){return G},default:function(){return z},matchesMiddleware:function(){return D}});let n=r(4252),o=r(8365),a=r(4902),i=r(7176),l=r(3996),u=o._(r(6240)),s=r(5195),c=r(1862),f=n._(r(9871)),d=r(2746),p=r(9163),h=r(541);r(1226);let _=r(5519),m=r(5214),g=r(8480);r(2616);let b=r(3670),E=r(4591),y=r(3836),P=r(1025),v=r(2092),R=r(6023),O=r(1921),S=r(2326),j=r(3407),T=r(4980),A=r(4359),C=r(1533),w=r(7407),I=r(990),N=r(8069),x=r(3132),M=r(9308);function L(){return Object.assign(Object.defineProperty(Error("Route Cancelled"),"__NEXT_ERROR_CODE",{value:"E315",enumerable:!1,configurable:!0}),{cancelled:!0})}async function D(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,b.parsePath)(e.asPath),n=(0,R.hasBasePath)(r)?(0,P.removeBasePath)(r):r,o=(0,v.addBasePath)((0,E.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(o))}function U(e){let t=(0,d.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function k(e,t,r){let[n,o]=(0,O.resolveHref)(e,t,!0),a=(0,d.getLocationOrigin)(),i=n.startsWith(a),l=o&&o.startsWith(a);n=U(n),o=o?U(o):o;let u=i?n:(0,v.addBasePath)(n),s=r?U((0,O.resolveHref)(e,r)):o||n;return{url:u,as:l?s:(0,v.addBasePath)(s)}}function F(e,t){let r=(0,a.removeTrailingSlash)((0,s.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,m.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,a.removeTrailingSlash)(e))}async function B(e){if(!await D(e)||!e.fetchData)return null;let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!0},o=t.headers.get("x-nextjs-rewrite"),l=o||t.headers.get("x-nextjs-matched-path"),u=t.headers.get(M.MATCHED_PATH_HEADER);if(!u||l||u.includes("__next_data_catchall")||u.includes("/_error")||u.includes("/404")||(l=u),l){if(l.startsWith("/")){let t=(0,h.parseRelativeUrl)(l),u=(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),s=(0,a.removeTrailingSlash)(u.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(a=>{let[i,{__rewrites:l}]=a,f=(0,E.addLocale)(u.pathname,u.locale);if((0,p.isDynamicRoute)(f)||!o&&i.includes((0,c.normalizeLocalePath)((0,P.removeBasePath)(f),r.router.locales).pathname)){let r=(0,j.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});t.pathname=f=(0,v.addBasePath)(r.pathname)}if(!i.includes(s)){let e=F(s,i);e!==s&&(s=e)}let d=i.includes(s)?s:F((0,c.normalizeLocalePath)((0,P.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(d)){let e=(0,_.getRouteMatcher)((0,m.getRouteRegex)(d))(f);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:d}})}let t=(0,b.parsePath)(e);return Promise.resolve({type:"redirect-external",destination:""+(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""})+t.query+t.hash})}let s=t.headers.get("x-nextjs-redirect");if(s){if(s.startsWith("/")){let e=(0,b.parsePath)(s),t=(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:s})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}let H=Symbol("SSG_DATA_NOT_FOUND");function X(e){try{return JSON.parse(e)}catch(e){return null}}function W(e){let{dataHref:t,inflightCache:r,isPrefetch:n,hasMiddleware:o,isServerRender:a,parseJSON:l,persistCache:u,isBackground:s,unstable_skipClientCache:c}=e,{href:f}=new URL(t,window.location.href),d=e=>{var s;return(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(o=>!o.ok&&r>1&&o.status>=500?e(t,r-1,n):o)})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{},{}),method:null!=(s=null==e?void 0:e.method)?s:"GET"}).then(r=>r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:f}:r.text().then(e=>{if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:f};if(404===r.status){var n;if(null==(n=X(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:H},response:r,text:e,cacheKey:f}}let l=Object.defineProperty(Error("Failed to load static props"),"__NEXT_ERROR_CODE",{value:"E124",enumerable:!1,configurable:!0});throw a||(0,i.markAssetError)(l),l}return{dataHref:t,json:l?X(e):null,response:r,text:e,cacheKey:f}})).then(e=>(u&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[f],e)).catch(e=>{throw c||delete r[f],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e})};return c&&u?d({}).then(e=>("no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[f]=Promise.resolve(e)),e)):void 0!==r[f]?r[f]:r[f]=d(s?{method:"HEAD"}:{})}function G(){return Math.random().toString(36).slice(2,10)}function q(e){let{url:t,router:r}=e;if(t===(0,v.addBasePath)((0,E.addLocale)(r.asPath,r.locale)))throw Object.defineProperty(Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href),"__NEXT_ERROR_CODE",{value:"E282",enumerable:!1,configurable:!0});window.location.href=t}let V=e=>{let{route:t,router:r}=e,n=!1,o=r.clc=()=>{n=!0};return()=>{if(n){let e=Object.defineProperty(Error('Abort fetching component for route: "'+t+'"'),"__NEXT_ERROR_CODE",{value:"E483",enumerable:!1,configurable:!0});throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}};class z{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,n,o){{if(!this._bfl_s&&!this._bfl_d){let t,a;let{BloomFilter:l}=r(4069);try{({__routerFilterStatic:t,__routerFilterDynamic:a}=await (0,i.getClientBuildManifest)())}catch(t){if(console.error(t),o)return!0;return q({url:(0,v.addBasePath)((0,E.addLocale)(e,n||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}(null==t?void 0:t.numHashes)&&(this._bfl_s=new l(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==a?void 0:a.numHashes)&&(this._bfl_d=new l(a.numItems,a.errorRate),this._bfl_d.import(a))}let c=!1,f=!1;for(let{as:r,allowMatchCurrent:i}of[{as:e},{as:t}])if(r){let t=(0,a.removeTrailingSlash)(new URL(r,"http://n").pathname),d=(0,v.addBasePath)((0,E.addLocale)(t,n||this.locale));if(i||t!==(0,a.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var l,u,s;for(let e of(c=c||!!(null==(l=this._bfl_s)?void 0:l.contains(t))||!!(null==(u=this._bfl_s)?void 0:u.contains(d)),[t,d])){let t=e.split("/");for(let e=0;!f&&e{})}}}}return!1}async change(e,t,r,n,o){var s,c,f,O,S,j,T,w,x;let M,U;if(!(0,C.isLocalURL)(t))return q({url:t,router:this}),!1;let B=1===n._h;B||n.shallow||await this._bfl(r,void 0,n.locale);let X=B||n._shouldResolveHref||(0,b.parsePath)(t).pathname===(0,b.parsePath)(r).pathname,W={...this.state},G=!0!==this.isReady;this.isReady=!0;let V=this.isSsr;if(B||(this.isSsr=!1),B&&this.clc)return!1;let Y=W.locale;d.ST&&performance.mark("routeChange");let{shallow:K=!1,scroll:$=!0}=n,Q={shallow:K};this._inFlightRoute&&this.clc&&(V||z.events.emit("routeChangeError",L(),this._inFlightRoute,Q),this.clc(),this.clc=null),r=(0,v.addBasePath)((0,E.addLocale)((0,R.hasBasePath)(r)?(0,P.removeBasePath)(r):r,n.locale,this.defaultLocale));let J=(0,y.removeLocale)((0,R.hasBasePath)(r)?(0,P.removeBasePath)(r):r,W.locale);this._inFlightRoute=r;let Z=Y!==W.locale;if(!B&&this.onlyAHashChange(J)&&!Z){W.asPath=J,z.events.emit("hashChangeStart",r,Q),this.changeState(e,t,r,{...n,scroll:!1}),$&&this.scrollToHash(J);try{await this.set(W,this.components[W.route],null)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return z.events.emit("hashChangeComplete",r,Q),!0}let ee=(0,h.parseRelativeUrl)(t),{pathname:et,query:er}=ee;try{[M,{__rewrites:U}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return q({url:r,router:this}),!1}this.urlIsNew(J)||Z||(e="replaceState");let en=r;et=et?(0,a.removeTrailingSlash)((0,P.removeBasePath)(et)):et;let eo=(0,a.removeTrailingSlash)(et),ea=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname;if(null==(s=this.components[et])?void 0:s.__appRouter)return q({url:r,router:this}),new Promise(()=>{});let ei=!!(ea&&eo!==ea&&(!(0,p.isDynamicRoute)(eo)||!(0,_.getRouteMatcher)((0,m.getRouteRegex)(eo))(ea))),el=!n.shallow&&await D({asPath:r,locale:W.locale,router:this});if(B&&el&&(X=!1),X&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=F(et,M),ee.pathname===et||(et=ee.pathname,ee.pathname=(0,v.addBasePath)(et),el||(t=(0,g.formatWithValidation)(ee)))),!(0,C.isLocalURL)(r))return q({url:r,router:this}),!1;en=(0,y.removeLocale)((0,P.removeBasePath)(en),W.locale),eo=(0,a.removeTrailingSlash)(et);let eu=!1;if((0,p.isDynamicRoute)(eo)){let e=(0,h.parseRelativeUrl)(en),n=e.pathname,o=(0,m.getRouteRegex)(eo);eu=(0,_.getRouteMatcher)(o)(n);let a=eo===n,i=a?(0,N.interpolateAs)(eo,n,er):{};if(eu&&(!a||i.result))a?r=(0,g.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,I.omit)(er,i.params)})):Object.assign(er,eu);else{let e=Object.keys(o.groups).filter(e=>!er[e]&&!o.groups[e].optional);if(e.length>0&&!el)throw Object.defineProperty(Error((a?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+eo+"). ")+"Read more: https://nextjs.org/docs/messages/"+(a?"href-interpolation-failed":"incompatible-href-as")),"__NEXT_ERROR_CODE",{value:"E344",enumerable:!1,configurable:!0})}}B||z.events.emit("routeChangeStart",r,Q);let es="/404"===this.pathname||"/_error"===this.pathname;try{let a=await this.getRouteInfo({route:eo,pathname:et,query:er,as:r,resolvedAs:en,routeProps:Q,locale:W.locale,isPreview:W.isPreview,hasMiddleware:el,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:B&&!this.isFallback,isMiddlewareRewrite:ei});if(B||n.shallow||await this._bfl(r,"resolvedAs"in a?a.resolvedAs:void 0,W.locale),"route"in a&&el){eo=et=a.route||eo,Q.shallow||(er=Object.assign({},a.query||{},er));let e=(0,R.hasBasePath)(ee.pathname)?(0,P.removeBasePath)(ee.pathname):ee.pathname;if(eu&&et!==e&&Object.keys(eu).forEach(e=>{eu&&er[e]===eu[e]&&delete er[e]}),(0,p.isDynamicRoute)(et)){let e=!Q.shallow&&a.resolvedAs?a.resolvedAs:(0,v.addBasePath)((0,E.addLocale)(new URL(r,location.href).pathname,W.locale),!0);(0,R.hasBasePath)(e)&&(e=(0,P.removeBasePath)(e));let t=(0,m.getRouteRegex)(et),n=(0,_.getRouteMatcher)(t)(new URL(e,location.href).pathname);n&&Object.assign(er,n)}}if("type"in a){if("redirect-internal"===a.type)return this.change(e,a.newUrl,a.newAs,n);return q({url:a.destination,router:this}),new Promise(()=>{})}let i=a.Component;if(i&&i.unstable_scriptLoader&&[].concat(i.unstable_scriptLoader()).forEach(e=>{(0,l.handleClientScriptLoad)(e.props)}),(a.__N_SSG||a.__N_SSP)&&a.props){if(a.props.pageProps&&a.props.pageProps.__N_REDIRECT){n.locale=!1;let t=a.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==a.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=F(r.pathname,M);let{url:o,as:a}=k(this,t,t);return this.change(e,o,a,n)}return q({url:t,router:this}),new Promise(()=>{})}if(W.isPreview=!!a.props.__N_PREVIEW,a.props.notFound===H){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(a=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:W.locale,isPreview:W.isPreview,isNotFound:!0}),"type"in a)throw Object.defineProperty(Error("Unexpected middleware effect on /404"),"__NEXT_ERROR_CODE",{value:"E158",enumerable:!1,configurable:!0})}}B&&"/_error"===this.pathname&&(null==(f=self.__NEXT_DATA__.props)?void 0:null==(c=f.pageProps)?void 0:c.statusCode)===500&&(null==(O=a.props)?void 0:O.pageProps)&&(a.props.pageProps.statusCode=500);let s=n.shallow&&W.route===(null!=(S=a.route)?S:eo),d=null!=(j=n.scroll)?j:!B&&!s,g=null!=o?o:d?{x:0,y:0}:null,b={...W,route:eo,pathname:et,query:er,asPath:J,isFallback:!1};if(B&&es){if(a=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:W.locale,isPreview:W.isPreview,isQueryUpdating:B&&!this.isFallback}),"type"in a)throw Object.defineProperty(Error("Unexpected middleware effect on "+this.pathname),"__NEXT_ERROR_CODE",{value:"E225",enumerable:!1,configurable:!0});"/_error"===this.pathname&&(null==(w=self.__NEXT_DATA__.props)?void 0:null==(T=w.pageProps)?void 0:T.statusCode)===500&&(null==(x=a.props)?void 0:x.pageProps)&&(a.props.pageProps.statusCode=500);try{await this.set(b,a,g)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return!0}if(z.events.emit("beforeHistoryChange",r,Q),this.changeState(e,t,r,n),!(B&&!g&&!G&&!Z&&(0,A.compareRouterStates)(b,this.state))){try{await this.set(b,a,g)}catch(e){if(e.cancelled)a.error=a.error||e;else throw e}if(a.error)throw B||z.events.emit("routeChangeError",a.error,J,Q),a.error;B||z.events.emit("routeChangeComplete",r,Q),d&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,u.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,d.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:G()},"",r))}async handleRouteInfoError(e,t,r,n,o,a){if(e.cancelled)throw e;if((0,i.isAssetError)(e)||a)throw z.events.emit("routeChangeError",e,n,o),q({url:n,router:this}),L();console.error(e);try{let n;let{page:o,styleSheets:a}=await this.fetchComponent("/_error"),i={props:n,Component:o,styleSheets:a,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(o,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,u.default)(e)?e:Object.defineProperty(Error(e+""),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0}),t,r,n,o,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:o,resolvedAs:i,routeProps:l,locale:s,hasMiddleware:f,isPreview:d,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:_,isNotFound:m}=e,b=t;try{var E,y,v,R;let e=this.components[b];if(l.shallow&&e&&this.route===b)return e;let t=V({route:b,router:this});f&&(e=void 0);let u=!e||"initial"in e?void 0:e,O={dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:m?"/404":i,locale:s}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},j=h&&!_?null:await B({fetchData:()=>W(O),asPath:m?"/404":i,locale:s,router:this}).catch(e=>{if(h)return null;throw e});if(j&&("/_error"===r||"/404"===r)&&(j.effect=void 0),h&&(j?j.json=self.__NEXT_DATA__.props:j={json:self.__NEXT_DATA__.props}),t(),(null==j?void 0:null==(E=j.effect)?void 0:E.type)==="redirect-internal"||(null==j?void 0:null==(y=j.effect)?void 0:y.type)==="redirect-external")return j.effect;if((null==j?void 0:null==(v=j.effect)?void 0:v.type)==="rewrite"){let t=(0,a.removeTrailingSlash)(j.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(t))&&(b=t,r=j.effect.resolvedHref,n={...n,...j.effect.parsedAs.query},i=(0,P.removeBasePath)((0,c.normalizeLocalePath)(j.effect.parsedAs.pathname,this.locales).pathname),e=this.components[b],l.shallow&&e&&this.route===b&&!f))return{...e,route:b}}if((0,S.isAPIRoute)(b))return q({url:o,router:this}),new Promise(()=>{});let T=u||await this.fetchComponent(b).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),A=null==j?void 0:null==(R=j.response)?void 0:R.headers.get("x-middleware-skip"),C=T.__N_SSG||T.__N_SSP;A&&(null==j?void 0:j.dataHref)&&delete this.sdc[j.dataHref];let{props:w,cacheKey:I}=await this._getData(async()=>{if(C){if((null==j?void 0:j.json)&&!A)return{cacheKey:j.cacheKey,props:j.json};let e=(null==j?void 0:j.dataHref)?j.dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:s}),t=await W({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:A?{}:this.sdc,persistCache:!d,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(T.Component,{pathname:r,query:n,asPath:o,locale:s,locales:this.locales,defaultLocale:this.defaultLocale})}});return T.__N_SSP&&O.dataHref&&I&&delete this.sdc[I],this.isPreview||!T.__N_SSG||h||W(Object.assign({},O,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),w.pageProps=Object.assign({},w.pageProps),T.props=w,T.route=b,T.query=n,T.resolvedAs=i,this.components[b]=T,T}catch(e){return this.handleRouteInfoError((0,u.getProperError)(e),r,n,o,l)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#",2),[n,o]=e.split("#",2);return!!o&&t===n&&r===o||t===n&&r!==o}scrollToHash(e){let[,t=""]=e.split("#",2);(0,x.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,w.isBot)(window.navigator.userAgent))return;let n=(0,h.parseRelativeUrl)(e),o=n.pathname,{pathname:i,query:l}=n,u=i,s=await this.pageLoader.getPageList(),c=t,f=void 0!==r.locale?r.locale||void 0:this.locale,d=await D({asPath:t,locale:f,router:this});n.pathname=F(n.pathname,s),(0,p.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(l,(0,_.getRouteMatcher)((0,m.getRouteRegex)(n.pathname))((0,b.parsePath)(t).pathname)||{}),d||(e=(0,g.formatWithValidation)(n)));let E=await B({fetchData:()=>W({dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:u,query:l}),skipInterpolation:!0,asPath:c,locale:f}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:f,router:this});if((null==E?void 0:E.effect.type)==="rewrite"&&(n.pathname=E.effect.resolvedHref,i=E.effect.resolvedHref,l={...l,...E.effect.parsedAs.query},c=E.effect.parsedAs.pathname,e=(0,g.formatWithValidation)(n)),(null==E?void 0:E.effect.type)==="redirect-external")return;let y=(0,a.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(y).then(t=>!!t&&W({dataHref:(null==E?void 0:E.json)?null==E?void 0:E.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:f}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](y)])}async fetchComponent(e){let t=V({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Object.defineProperty(Error("Loading initial props cancelled"),"__NEXT_ERROR_CODE",{value:"E405",enumerable:!1,configurable:!0});throw e.cancelled=!0,e}return e})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,d.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,r,{initialProps:n,pageLoader:o,App:i,wrapApp:l,Component:u,err:s,subscription:c,isFallback:f,locale:_,locales:m,defaultLocale:b,domainLocales:E,isPreview:y}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=G(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),(0,d.getURL)());return}if(n.__NA){window.location.reload();return}if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:o,as:a,options:i,key:l}=n;this._key=l;let{pathname:u}=(0,h.parseRelativeUrl)(o);(!this.isSsr||a!==(0,v.addBasePath)(this.asPath)||u!==(0,v.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",o,a,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let P=(0,a.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[P]={Component:u,initial:!0,props:n,err:s,__N_SSG:n&&n.__N_SSG,__N_SSP:n&&n.__N_SSP}),this.components["/_app"]={Component:i,styleSheets:[]},this.events=z.events,this.pageLoader=o;let R=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=c,this.clc=null,this._wrapApp=l,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!R&&!self.location.search),this.state={route:P,pathname:e,query:t,asPath:R?e:r,isPreview:!!y,locale:void 0,isFallback:f},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!r.startsWith("//")){let n={locale:_},o=(0,d.getURL)();this._initialMatchesMiddlewarePromise=D({router:this,locale:_,asPath:o}).then(a=>(n._shouldResolveHref=r!==e,this.changeState("replaceState",a?o:(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),o,n),a))}window.addEventListener("popstate",this.onPopState)}}z.events=(0,f.default)()},8365:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=a?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})},8480:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return l},urlObjectKeys:function(){return i}});let n=r(8365)._(r(8040)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",l=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let c=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==s?(s="//"+(s||""),i&&"/"!==i[0]&&(i="/"+i)):s||(s=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),""+a+s+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+l}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return a(e)}},8677:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(4252)._(r(4232)),o=r(7539),a=n.default.createContext(o.imageConfigDefault)},8714:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let a="__PAGE__",i="__DEFAULT__"},8757:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},8831:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext({})},9163:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let n=r(7188),o=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,a=/\/\[[^/]+\](?=\/|$)/;function i(e,t){return(void 0===t&&(t=!0),(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),t)?a.test(e):o.test(e)}},9308:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return f},APP_DIR_ALIAS:function(){return I},CACHE_ONE_YEAR:function(){return R},DOT_NEXT_ALIAS:function(){return C},ESLINT_DEFAULT_DIRS:function(){return $},GSP_NO_RETURNED_VALUE:function(){return G},GSSP_COMPONENT_MEMBER_ERROR:function(){return z},GSSP_NO_RETURNED_VALUE:function(){return q},INFINITE_CACHE:function(){return O},INSTRUMENTATION_HOOK_FILENAME:function(){return T},MATCHED_PATH_HEADER:function(){return o},MIDDLEWARE_FILENAME:function(){return S},MIDDLEWARE_LOCATION_REGEXP:function(){return j},NEXT_BODY_SUFFIX:function(){return h},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return v},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return m},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return g},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return P},NEXT_CACHE_TAGS_HEADER:function(){return _},NEXT_CACHE_TAG_MAX_ITEMS:function(){return E},NEXT_CACHE_TAG_MAX_LENGTH:function(){return y},NEXT_DATA_SUFFIX:function(){return d},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return p},NEXT_QUERY_PARAM_PREFIX:function(){return r},NEXT_RESUME_HEADER:function(){return b},NON_STANDARD_NODE_ENV:function(){return Y},PAGES_DIR_ALIAS:function(){return A},PRERENDER_REVALIDATE_HEADER:function(){return a},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return i},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return k},ROOT_DIR_ALIAS:function(){return w},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return U},RSC_ACTION_ENCRYPTION_ALIAS:function(){return D},RSC_ACTION_PROXY_ALIAS:function(){return M},RSC_ACTION_VALIDATE_ALIAS:function(){return x},RSC_CACHE_WRAPPER_ALIAS:function(){return L},RSC_MOD_REF_PROXY_ALIAS:function(){return N},RSC_PREFETCH_SUFFIX:function(){return l},RSC_SEGMENTS_DIR_SUFFIX:function(){return u},RSC_SEGMENT_SUFFIX:function(){return s},RSC_SUFFIX:function(){return c},SERVER_PROPS_EXPORT_ERROR:function(){return W},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return B},SERVER_PROPS_SSG_CONFLICT:function(){return H},SERVER_RUNTIME:function(){return Q},SSG_FALLBACK_EXPORT_ERROR:function(){return K},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return F},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return X},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return V},WEBPACK_LAYERS:function(){return Z},WEBPACK_RESOURCE_QUERIES:function(){return ee}});let r="nxtP",n="nxtI",o="x-matched-path",a="x-prerender-revalidate",i="x-prerender-revalidate-if-generated",l=".prefetch.rsc",u=".segments",s=".segment.rsc",c=".rsc",f=".action",d=".json",p=".meta",h=".body",_="x-next-cache-tags",m="x-next-revalidated-tags",g="x-next-revalidate-tag-token",b="next-resume",E=128,y=256,P=1024,v="_N_T_",R=31536e3,O=0xfffffffe,S="middleware",j=`(?:src/)?${S}`,T="instrumentation",A="private-next-pages",C="private-dot-next",w="private-next-root-dir",I="private-next-app-dir",N="private-next-rsc-mod-ref-proxy",x="private-next-rsc-action-validate",M="private-next-rsc-server-reference",L="private-next-rsc-cache-wrapper",D="private-next-rsc-action-encryption",U="private-next-rsc-action-client-wrapper",k="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",F="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",B="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",H="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",X="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",W="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",G="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",q="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",V="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",z="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",Y='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',K="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",$=["app","pages","components","lib","src"],Q={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},J={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},Z={...J,GROUP:{builtinReact:[J.reactServerComponents,J.actionBrowser],serverOnly:[J.reactServerComponents,J.actionBrowser,J.instrument,J.middleware],neutralTarget:[J.apiNode,J.apiEdge],clientOnly:[J.serverSideRendering,J.appPagesBrowser],bundled:[J.reactServerComponents,J.actionBrowser,J.serverSideRendering,J.appPagesBrowser,J.shared,J.instrument,J.middleware],appPages:[J.reactServerComponents,J.serverSideRendering,J.appPagesBrowser,J.actionBrowser]}},ee={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},9341:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(4252),o=r(7876),a=n._(r(4232)),i=n._(r(5679)),l={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function u(e){let{req:t,res:r,err:n}=e;return{statusCode:r&&r.statusCode?r.statusCode:n?n.statusCode:404,hostname:window.location.hostname}}let s={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class c extends a.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||l[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:s.error,children:[(0,o.jsx)(i.default,{children:(0,o.jsx)("title",{children:e?e+": "+r:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:s.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:s.h1,children:e}):null,(0,o.jsx)("div",{style:s.wrap,children:(0,o.jsxs)("h2",{style:s.h2,children:[this.props.title||e?r:(0,o.jsxs)(o.Fragment,{children:["Application error: a client-side exception has occurred"," ",!!this.props.hostname&&(0,o.jsxs)(o.Fragment,{children:["while loading ",this.props.hostname]})," ","(see the browser console for more information)"]}),"."]})})]})]})}}c.displayName="ErrorPage",c.getInitialProps=u,c.origGetInitialProps=u,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9525:(e,t,r)=>{"use strict";let n,o,a,i,l,u,s,c,f,d,p,h;Object.defineProperty(t,"__esModule",{value:!0});let _=r(8365);Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{emitter:function(){return X},hydrate:function(){return eu},initialize:function(){return V},router:function(){return n},version:function(){return H}});let m=r(4252),g=r(7876);r(1291);let b=m._(r(4232)),E=m._(r(8944)),y=r(8831),P=m._(r(9871)),v=r(9948),R=r(3132),O=r(9163),S=r(8040),j=r(2917),T=r(2746),A=r(3090),C=m._(r(4547)),w=m._(r(2792)),I=r(1318),N=r(4294),x=r(6240),M=r(8677),L=r(1025),D=r(6023),U=r(2850),k=r(9609),F=r(5931),B=r(7207);r(4609),r(6999);let H="15.2.4",X=(0,P.default)(),W=e=>[].slice.call(e),G=!1;class q extends b.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(o.isFallback||o.nextExport&&((0,O.isDynamicRoute)(n.pathname)||location.search||G)||o.props&&o.props.__N_SSG&&(location.search||G))&&n.replace(n.pathname+"?"+String((0,S.assign)((0,S.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),a,{_h:1,shallow:!o.isFallback&&!G}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function V(e){void 0===e&&(e={}),o=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=o,h=o.defaultLocale;let t=o.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,j.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:o.runtimeConfig||{}}),a=(0,T.getURL)(),(0,D.hasBasePath)(a)&&(a=(0,L.removeBasePath)(a)),o.scriptLoader){let{initScriptLoader:e}=r(3996);e(o.scriptLoader)}i=new w.default(o.buildId,t);let s=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>s(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=s,(u=(0,C.default)()).getIsSsr=()=>n.isSsr,l=document.getElementById("__next"),{assetPrefix:t}}function z(e,t){return(0,g.jsx)(e,{...t})}function Y(e){var t;let{children:r}=e,o=b.default.useMemo(()=>(0,k.adaptForAppRouterInstance)(n),[]);return(0,g.jsx)(q,{fn:e=>$({App:f,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,g.jsx)(U.AppRouterContext.Provider,{value:o,children:(0,g.jsx)(F.SearchParamsContext.Provider,{value:(0,k.adaptForSearchParams)(n),children:(0,g.jsx)(k.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t,children:(0,g.jsx)(F.PathParamsContext.Provider,{value:(0,k.adaptForPathParams)(n),children:(0,g.jsx)(v.RouterContext.Provider,{value:(0,N.makePublicRouterInstance)(n),children:(0,g.jsx)(y.HeadManagerContext.Provider,{value:u,children:(0,g.jsx)(M.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0},children:r})})})})})})})})}let K=e=>t=>{let r={...t,Component:p,err:o.err,router:n};return(0,g.jsx)(Y,{children:z(e,r)})};function $(e){let{App:t,err:l}=e;return console.error(l),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:o,styleSheets:a}=n;return(null==s?void 0:s.Component)===o?Promise.resolve().then(()=>_._(r(9341))).then(n=>Promise.resolve().then(()=>_._(r(472))).then(r=>(e.App=t=r.default,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:o,styleSheets:a}}).then(r=>{var i;let{ErrorComponent:u,styleSheets:s}=r,c=K(t),f={Component:u,AppTree:c,router:n,ctx:{err:l,pathname:o.page,query:o.query,asPath:a,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,T.loadGetInitialProps)(t,f)).then(t=>ei({...e,err:l,Component:u,styleSheets:s,props:t}))})}function Q(e){let{callback:t}=e;return b.default.useLayoutEffect(()=>t(),[t]),null}let J={navigationStart:"navigationStart",beforeRender:"beforeRender",afterRender:"afterRender",afterHydrate:"afterHydrate",routeChange:"routeChange"},Z={hydration:"Next.js-hydration",beforeHydration:"Next.js-before-hydration",routeChangeToRender:"Next.js-route-change-to-render",render:"Next.js-render"},ee=null,et=!0;function er(){[J.beforeRender,J.afterHydrate,J.afterRender,J.routeChange].forEach(e=>performance.clearMarks(e))}function en(){T.ST&&(performance.mark(J.afterHydrate),performance.getEntriesByName(J.beforeRender,"mark").length&&(performance.measure(Z.beforeHydration,J.navigationStart,J.beforeRender),performance.measure(Z.hydration,J.beforeRender,J.afterHydrate)),d&&performance.getEntriesByName(Z.hydration).forEach(d),er())}function eo(){if(!T.ST)return;performance.mark(J.afterRender);let e=performance.getEntriesByName(J.routeChange,"mark");e.length&&(performance.getEntriesByName(J.beforeRender,"mark").length&&(performance.measure(Z.routeChangeToRender,e[0].name,J.beforeRender),performance.measure(Z.render,J.beforeRender,J.afterRender),d&&(performance.getEntriesByName(Z.render).forEach(d),performance.getEntriesByName(Z.routeChangeToRender).forEach(d))),er(),[Z.routeChangeToRender,Z.render].forEach(e=>performance.clearMeasures(e)))}function ea(e){let{callbacks:t,children:r}=e;return b.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),r}function ei(e){let t,{App:r,Component:o,props:a,err:i}=e,u="initial"in e?void 0:e.styleSheets;o=o||s.Component;let f={...a=a||s.props,Component:o,err:i,router:n};s=f;let d=!1,p=new Promise((e,r)=>{c&&c(),t=()=>{c=null,e()},c=()=>{d=!0,c=null;let e=Object.defineProperty(Error("Cancel rendering route"),"__NEXT_ERROR_CODE",{value:"E503",enumerable:!1,configurable:!0});e.cancelled=!0,r(e)}});function h(){t()}!function(){if(!u)return;let e=new Set(W(document.querySelectorAll("style[data-n-href]")).map(e=>e.getAttribute("data-n-href"))),t=document.querySelector("noscript[data-n-css]"),r=null==t?void 0:t.getAttribute("data-n-css");u.forEach(t=>{let{href:n,text:o}=t;if(!e.has(n)){let e=document.createElement("style");e.setAttribute("data-n-href",n),e.setAttribute("media","x"),r&&e.setAttribute("nonce",r),document.head.appendChild(e),e.appendChild(document.createTextNode(o))}})}();let _=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Q,{callback:function(){if(u&&!d){let e=new Set(u.map(e=>e.href)),t=W(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),W(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,R.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),(0,g.jsxs)(Y,{children:[z(r,f),(0,g.jsx)(A.Portal,{type:"next-route-announcer",children:(0,g.jsx)(I.RouteAnnouncer,{})})]})]});return!function(e,t){T.ST&&performance.mark(J.beforeRender);let r=t(et?en:eo);ee?(0,b.default.startTransition)(()=>{ee.render(r)}):(ee=E.default.hydrateRoot(e,r,{onRecoverableError:B.onRecoverableError}),et=!1)}(l,e=>(0,g.jsx)(ea,{callbacks:[e,h],children:(0,g.jsx)(b.default.StrictMode,{children:_})})),p}async function el(e){if(e.err&&(void 0===e.Component||!e.isHydratePass)){await $(e);return}try{await ei(e)}catch(r){let t=(0,x.getProperError)(r);if(t.cancelled)throw t;await $({...e,err:t})}}async function eu(e){let t=o.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;f=t,r&&r.reportWebVitals&&(d=e=>{let t,{id:n,name:o,startTime:a,value:i,duration:l,entryType:u,entries:s,attribution:c}=e,f=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);s&&s.length&&(t=s[0].startTime);let d={id:n||f,name:o,startTime:a||t,value:null==i?l:i,label:"mark"===u||"measure"===u?"custom":"web-vital"};c&&(d.attribution=c),r.reportWebVitals(d)});let n=await i.routeLoader.whenEntrypoint(o.page);if("error"in n)throw n.error;p=n.component}catch(e){t=(0,x.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(o.dynamicIds),n=(0,N.createRouter)(o.page,o.query,a,{initialProps:o.props,pageLoader:i,App:f,Component:p,wrapApp:K,err:t,isFallback:!!o.isFallback,subscription:(e,t,r)=>el(Object.assign({},e,{App:t,scroll:r})),locale:o.locale,locales:o.locales,defaultLocale:h,domainLocales:o.domainLocales,isPreview:o.isPreview}),G=await n._initialMatchesMiddlewarePromise;let r={App:f,initial:!0,Component:p,props:o.props,err:t,isHydratePass:!0};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),el(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9609:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathnameContextProviderAdapter:function(){return p},adaptForAppRouterInstance:function(){return c},adaptForPathParams:function(){return d},adaptForSearchParams:function(){return f}});let n=r(8365),o=r(7876),a=n._(r(4232)),i=r(5931),l=r(3069),u=r(8213),s=r(5214);function c(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},hmrRefresh(){},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function f(e){return e.isReady&&e.query?(0,u.asPathToSearchParams)(e.asPath):new URLSearchParams}function d(e){if(!e.isReady||!e.query)return null;let t={};for(let r of Object.keys((0,s.getRouteRegex)(e.pathname).groups))t[r]=e.query[r];return t}function p(e){let{children:t,router:r,...n}=e,u=(0,a.useRef)(n.isAutoExport),s=(0,a.useMemo)(()=>{let e;let t=u.current;if(t&&(u.current=!1),(0,l.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return(0,o.jsx)(i.PathnameContext.Provider,{value:s,children:t})}},9611:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setAttributesFromProps",{enumerable:!0,get:function(){return a}});let r={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},n=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function o(e){return["async","defer","noModule"].includes(e)}function a(e,t){for(let[a,i]of Object.entries(t)){if(!t.hasOwnProperty(a)||n.includes(a)||void 0===i)continue;let l=r[a]||a.toLowerCase();"SCRIPT"===e.tagName&&o(l)?e[l]=!!i:e.setAttribute(l,String(i)),(!1===i||"SCRIPT"===e.tagName&&o(l)&&(!i||"false"===i))&&(e.setAttribute(l,""),e.removeAttribute(l))}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9871:(e,t)=>{"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},9948:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(4252)._(r(4232)).default.createContext(null)}},e=>{var t=t=>e(e.s=t);e.O(0,[593],()=>t(5842)),_N_E=e.O()}]); \ No newline at end of file diff --git a/_pagefind/index/en_1d2e978.pf_index b/_pagefind/index/en_1d2e978.pf_index new file mode 100644 index 0000000000000000000000000000000000000000..d1313d5bee2224dfd361b2c86bbc145b84bfd46e GIT binary patch literal 12796 zcmVlqwt9LlpCSml2m&D?Bsf44NE}&+oO3jA-Y~m6 zy1m_H!<~+-zEc(;vdB5-3rT|FoKz3&guO;1mU>IzSV z-byMT<>FGdC!5JGx-59Xre;~IZ1?K1wr#lEP&lT0wb{+4XU$w>TWpv4xy{U~)fd?| ziW)s`Cn48w4aNX|Jq!!xr>{;kH+(lt04>ZnZX3v`AzYII^RLUmf>|j&d z`EhpPrqvW2Vzb-LoH=s{t<%kaY$yId!;Z%PC)xCNv$?t3n44`g|1-yS@IM>c)b@*H zloxGkjvw#~zmfGYs@}_H=giq|Htz)=VA{EhWIp|pP3_?S4vkH9Cx0JeQ#&SqUt?3L zbL^;9-A0?E%!B4B^Gow9^R@XCsdiGMNo{7;5{$d0ImKLM?l&J~9V>MT2?QY}jqWmUYcWm@sP= zn6jyxC8Q1|^#G~QNqs}Xh7@d0!KoCSL&4J&ygJ%w%9|2*4%38ox9!GJ=h z%WP}rVuJn55#|K*U30oQ+ni@EGS``V&BNw-+cDH_)-`v5-dNMdAUOWnz-ChEqIGmM zx05=Ef<2|fR2!wzT$p4q+m9`uQyUf zD;#o}Be*d(oyuC<%4DC}z0e$EPPc7KdC99t{fENI-3v**Lh4`GYBoFMwquURadep! z{@Ty3VucUJEZ@?thBd{F-Y83sg|*>Rvs#a zU1hUXP{ayFjx!mv%#P+iH^PzZhGl0LG-{w^GgE1b85DB-68p>c#U->a?lSYte6;Ov zJMi~bW^4RC+xEKmJyBmO#-<&~<_WE~vL$&}N!4ltAhCZvUtVv`bM~i7nMLkoC^(Na z(QB1X1#-xWv1b(>q08*?Kh-4NKLUFOQ)Ia zbaMzAH#NO>!1e9HqM}Tr8ub+F^-52zR`#SjR7jV#Rq5BLMb(~al#grm>LPgu#g!`7 z%ER)(YjTX23lncC0<{AuUj#`?A~)u0Q2~#FF(1GIl!k?Ox3#Uj%TvsaLYCRG>+{TC z@O>#&9E2Y3SU%0XHr+gHeu_6gGVej>G~`{Jsr6)2^;A!`4Av<5)jew$(*O51F zQh`;=x=kC@PR;zlyw$yWf(@L=>mhF5#wo_O_04Q^plx2lif0dVqIuf<(6*f0ZN^SC zlT5eS%M?rnM}4)q&AbgglD4hr+Jqr5Husr_pdvTIBJMF?lWHL~nbhH=hDgB#T~6v* z3U;9&OTk$bd_#IH>A9qjAbl!@6DZt_!o4Xxkix6jVx2~MU(&Boc$jTp!t0xlIUWW7 zc3_pwW@G5iJ!~gd-nky{I35zwenj|My+Gj=a!%8jLM5oMOk(YB0}qzU^@69^p8Pmi zF3D^2YYbP3m)KE5UF%>IIQ*&R7~8a>tJTcIPRC;6ox5)xWt*2yHDKWj@JVErN|T3#*!KXG$rNKEEe zHst1=WrSC;ol2z|Wnxig<1u_ST5LzLsoUQ)%wltgc~V$*AE61rz)GjZ=8#gPE+KUv z1(%aPm-Jl}Zc5=JP7v0Gs8pkr47(0EzqSlSU<-Ja4EHx1ID52#TTq9H)C-=dN6O;A za%W;TFdJbPwMvvp(1|*Q8)|XBl<0>pQgcXeOnMgSLr5l1+l1LBtm}jnNM)IM2C8ZU+X4ctXJWI^EH$^I<$m%S7<#gxDCO0#O zV_Wx`AKMl_w4=?%P8p9i*V?uV+@darK6=``Y(6#rAT^%U7Nqtfbu|U^DcGCzqojXM z;SLlob8rW;@IBkXR5;A!fg~JrOc8T1!{*XaCe^5U6R9RraG`rO0knytk~h!_n(8!c zCCZhnzDcJ^KZb2bg;am+S{>(a%DtS;3%|t$bKF}uCPVlp;S)U7Q=ZQ<;ESj}AXBoP z{IPk<{LFlSPBEi(C2c>$IlpW(>A3FUjlq1yR0$^Ek^OFdEN6Nb2}uvcs8wdSIva^D zvqQI0oo11_mehKrHn$2W>uBb|7W0bvm&0`}He5R0Of_@3aWkB36G*2(#2p-G?C!K+ zyLk#M*adWU5O>?c0a3-I5pXX7u?LNO4$aA=oWh!Vw%ON~ ze7hGvPoXny*|+Da6Txe*t$-mG--yZT~zcvcv9 zp1H^~{S6{HlX;xgtzfxE-3cMXU~>?uUsA9h1z(V^Q@98MGPu}DeGA+wx2I2SD-&m1 zvy&MDP2q?!r~QP2b_(7i4NY_dg*yqe?+7tTWjrz7w>f~cOrz)p{vexW(B`#im$2wo zewD9FpQ~&JCU&JA#SFK-IS4Xyi&Z@IMKHKpgvWi@EiCsV+rnbI3*4l0;8cAi(CNG8 zEZcS-{`jH!gw%XeF{!IaeL?}I>LUFn>7SAQlEUc}?n`0Twhuem-wnpp3G1QeEb~7i ztXuK28T2sy+HD>-ww@`Z*kpE@60}B_xdevr9*6cApkHb3!{68PXVu6GEiRFRdw?5j z(Xhziw({KzI?NOy5-xfF>F1&=Ys+FfHUV(#oRH`reHl&zH;Rc}?%$Xyz6On?g+;c(+yAWpH7 z9&%8?^Z;x-7CjCIDuNfb%&c-e(upG|!eff6LyjTVlesq*Vot{(r8&Rw2RFAJg8*x0{kUC7M( zinMra)#@0iccg`lVJm~#$M`fWU~qRd!;Yx~KKAOc6WzrST^xRwnalbE=mnas%dk(e zIaUVf%?qnm*Y0qojPx*1R;~3wKJ#(nvMm;x&lS1cNVc}KJ>^?H*No`GPE~y6TBT1i3dXO~0_HBr1=o2^~ zv5#$E%&3~cMw{{&{X#>A)KLZqybjzw++~izXeWu9tw3=(dD;T9!FCP-t(%3DHV2$+ z72a*T#CaYI&1s|#A@w+^&q)1_f(?1{cF zY#*#S{yNuug~(sH8-?>Jyid4vj?J=9?SoIhcF_grp1KG?cSI9U zvMtLPq-=x8++pSj5NL{X7RH;MWVgH61^n%Qx$@83K5p~w`-u1cx&_rT{OCNH$0;}p z6GyoeWX)6ZVA*ZMJP%)l#kHBg$;BS^kzP#tD`uP@+6)3dBe9okR7?#f8tqDKHR>yS zyRfazWur>8Hl+Il*HA12Mlda!o#!7q&%fFGbIrn9ue0D{g&b)}FZQ142JS2E`fF(O z&^@^g{?-XzZx-Uk z-#C|co%P(hnuJZy5@@v&EOix+TXW%7$3n5J|9-3=%^Y*`$9$ygm>G#M?t#_gxlyZm z-rd19RMwuDx`0zx?`P z$_(n*Whd8TAUTCU+L4$1K_**cD+rBzmW$3bd)<6I?5$<{8&xZ zz0f}g`ee}%B_8k1ct2Q5CF*X0Z@$T95k4G98Z?teBpVU&6Dai2*g@`8i)H0) zc*w>H!9KIOD3^=bMUstNZ_`nJ*voLUsF{68KR{t9mVXkWeh!>&hcI+5it7ayA;++h zj5*{b=~D{G<|BlA*M=J5N<_t2gqVlk!u%Y;(6%MK_#O%h6#RnpI;8h-2G5ibHoOB7 zuuN2}c`-T4MkA5(E*B{8Vw4>9RqB8U&h*Vh{8@IhEq0S&x~1q;f?Ou*Z+DDZ@=BJ% zGKD}i0OrNGhQN+%Bcghk)SoFRQBbAeaXGQ9DPT3|G{_+<*$8Ywv@n$!v8oLjycf$`m;#zzD%fF9 zNoMS3&KE(tR=OPnvxt9IBYg5#nCulmrkvi}4vc}|CBDKanW&O5*^4|`%n=J0akSLL0hNiZebf&ZMB5_}dKb54Ev8Ivmm} z5&uk1lAjEJqB05)Y65uO~o z3y1B_BUEci079gCqFd4!L5@=a6CCG1Nx>gT&%oB=g`Um_VYo8ex8>sZO(C_uSj{bv zsyxlXhYs1_G-0ca!2)jB8UjvY%-^KoQ(5aZq8DdkigIjLci;RO8tob--?#|@I^}G zdb0UG8a_tDW$qBxmmTk67v$i(K;QSVZ{`m9I;48C`4s!wj%wT6JQQD4<@9ZvlRFa9Og(aF)u;OE)1H(--Sln%hq|q zhf{4j&!CnWW;vI9@%4&$8r2rZaCnG_@;MxUnKn?=@(=< z7u!D9rRKdlFGV|Gd5t)mY-NV9=7vtr1Gk^Rtz|uACuelus%#<8VTE#)v4*(PSJ^D0 zLb=4$|HmR2T*?;x1hGYEs3s;Efte;5ksrjoughQeM_y>>2z|*dV}j!bWM44%G-0jx zNF6}oskTs98~%bTlVxM;{OF5VGjJFTP-UvQoX^VKhbf{|;-4(zr(#9Cwl)mD1;7lN zs*zvhmBP-@P$Fy@P4*p_a(<1q3jyPritG?wF?gS&BD)NewDj1COA5m&EM4%?& zpgCMHyf%9Etw6H`vJ#70bvIOqTBP)8gCcocA`);HL*_G!f3_D6KTO&1#8`fi7#XrvSAO?hi- z)_}TBChLqWS1UkN4h$tplb=#B#-^QnJnWqD*YT8FBIkUO5cVFYK}N&%X>sXC>o`v_ z5M1nd=}dDSg-tdW!`Z0Tz5UgD>^*O8{t2Z=YC5Uo zNkK{7K0^J{etXfK?QUyV|{;& zNh6JSulWt!;!a6xIFP;x+?^;cxd@aJZYcl(#Qkx$kwC}~L4^|AGVe5%Jx07#7~}vR zAg;$=`n&nDGU9)RJvQ%aEo>qWI3>|1Iex>`?i5XlFKcmv%dT**>kL>NN|@BWdYlu- ziNY+exq<7hyrokNylZfZs7>76EaxHp>z!n^U;8t11X!G0();KX%bCGY2V( zbHNg$oe_a|UTgUMRWV&%(&13QSI8z8zykkHCY&$9lNn}Dgby66JY!zMupCL~F!RmT z9+h3`(&Mci7`z@q=v@g@urmcepx`wMKBC~Sq{on+MjE(bi1Zf}4pMlIZC~af)38|% z6@HhwhedG#QU?II$l56&kS^GXtPgv`L%j_BZ?nFNsYQ}9P744S$@w2qq-dHAa98dNp#~no9&IFB;FHVY@t~OhewRj zfYXU=j4pLO#(}NG9Kl-lI?&tVxrm=q$@BR(>MbFzU|r#2@DtLHlYR=yybI}>f_qiY z<-C#jv(Lf0F8*a>#3%ZRn1JgsU#Xk`_zV51+~VdLNc^w>!L(v3lax$7Wb??T<{NCN zTx@eT_^MOV@ z)!cQ&a9{4I9&%fM68#7d#$$OTsQWZVVdFX^VzU4^|7k%Q%U}=KVf)g?Bj)%2DnLcf z%IDf(hdPBtF$3eqQ3C$)RPOZ!AD5bc^NclD0_RRUC#=!nZXB-@Mfzu(?Mw9ni7_qK z!@hX$qa6|(D>`Ai@43PvhEYmjOdEe!iamrr&gS{4!s*r~v6?wF)H%32O0XqAH+cUT z6rp=hau21f&Ge-zez2K55n!ITv^%qMU$Z&8*XAkMsh7-;*qt)JF#ltIPik9I-4tXf zxR~_8q_d=Jq|YLKKIscc-%R>W(m>Krkp77D-zaRS5MUDN_y&cSb7r8AW6t|ic!cC( zw>BxLL9DjEmg$2XY`QPI$mtD(KO?`Z3qXV@oFd;uD{hl1dZDLCI=WjT3!%q2LwLm&xFlVVp)S!8C_~rh`d& zSO~o`g{y3CwDAZ^^Ap}^vy9k$!fPjyMPL4PzPL|Em}5yjMZuP&du8`iEMjP`TDR5d zeLVHY`GkfGFk}>EmkCi`m2FNJ+H7k2Wr~uUVm(Pzs540e&&;IoB-zXi!7W<=XJksz zz!I_1Gh~db&8;#<({Au5g}JqHRpCypfQUj~giLMh2uIng3o{wq(*Sv8wOYbkM-(F@Or zeIy!cQywSDP3`0BvfD}F|2t8zJp~6-aD^OB&YZ!kt0&3%TijE@yBlDIZFsB!PtrT( z_~-gs1>oW%Dco5!He&y!Mqk<~W#_G*PQfAymWk?l(Y%TjN4lI_<*LM7B>7?U9=K$Z zn5yI9l!oF2IPP)=TmSk1$R+^IN9?Q{FL-4(%X>+klKxO59#|zKS%n1NdKF{RthT=o=f4) zw*5R;F1i;2RfmH;m*DVjHV>J{ouYo*Vf`^!#(s!xosaE&Ba|>AGc%E1&H&snExSCZ zNta72ggwqRe-xU2Um_G6x!sSIt@_Z(6x+5M-V>=KNu5OMyQFfY-X--{3OXq`nt~-1 z+)jFH(rZXRP2oKvEpG_Zo+=zqSVSq~GZN}6Qh%giGYa}C+=#-Od{N{+Nx0xrSwo-K z2u*OgD0rWAr}PDfluO0fcYaegaj`Jo)}Ao}QWsG$*GAm4sG(i#XtrF5 zN>a_T%*Ooi?OK*)Ht(8hMK6;#2t&`7?HQXZBgeq<(kvB)7y8*ZCN)gzJP^C;iy(KG z0et1g67w@z$Puopmeh`<(xiS(!6XW{qu?M4en$Eo(nv=8s*+n}&eO4@YIekS>U%-A zDv-;6N88z(PnD85`DAQ^pW_6VsQa<2*jOLKnif$ASpCOCBNhj7?Ya)}8fPyq*s9$@d^7=^co(9CLANVbB%Twu?f@Rbude zzpptpvX)bX6Nj;vVk((MA4~dLPypTx2M#>+_}H~HYH`}9Bme>UE5H#4VxA#&JE=!0 zs8BFS!KI`xrSNpo*IU6dJckvaH*54!QsdEfDc6vb8bxX>sm)0(CWZ68nAG*8ZX@*~ zsUMSii_}M?ensjxq<~`oLg7Vx8|YQO695T9xQpYb%?@?6h`nl+K*wkw1wxlnJ#mZr z@ku!@B|hvgd`ZRcNdJ|>@f5Bv^g14UE0>FjOYnxYUd^plcRI`yIi$Ahd7N@+Scv`w7os3KRJ+ydW~dcFNf?M&(e3MP;)QFsPUw;J`wWiE48 z{%dD=5t-VM^fDg2oB{sx47I{H)RJ;VvMtM`=8aQ{uIjDN_mCohMdHvs0jK5>d&+;k z;`#tD{GWrw2=fSRIf#kbFCn24V zy_NGq193TzkxlI3hFah*CAdt^OB}mn*+JNFM0M#HYr+Bf70$tH2lti3 zu-jVnIqXm^ICc-2ZfC5>0Z$J)F;3MLP>60H>ow(tB3{3Q3Slkm08JgZMc)1ipCQ*< z_7Q~fu&FjWrQvd^O~PAvj5EE0*gOUx$B}_u;9kK~s)Bl>oC@5CC25>@*;)jAb-Dms zacyUD>YU=pqBWt{J>~`TkxJt^`D8oU57`{QD<_f2Z9R22b+0G7 zFMB1^ZSE%hW73H409<`6;n02IV5PZaLaJS|Nbh8mQif?FRkPf{>&qr4+lagLdFgoE zeNjy8=ol;}%0%vFqAL*?OW{QRBFowPCQ0o^Bej4WR>;XkGJo4t4ch$Ln`OgtMeS(* z1TyUBT*co&>1F(_!ujT~TqGsy5@fO1{JMm`XH zCJ)eHmKhn~Tppckz$iG7f?f)W6r4%H5C!*A@DI{cNN-PiM}$DTT+A?y5YhL|4-r!? zxS_D1L~p+;E5F<>NZ!OrQhIIR)j_|4`?^A0rKgLvID5~x5r*4<{%qdB}?gR=LM z@>e0o?q27Hq!FaKio1-2$3>mp9EIQIx3Aiq)aZHby`w9l;#-O@o1bvG1|q%XQr6FOpBL3O*DeuYn0emaf9-O9$_-owHGyMfw_(N5tw7aMWf(X*22NNddus0WBQM8lInCg$+=Dh# zi=t(&|N4T+V_2>hQRsJy@3x)!ovbW;;^)bsSd)xyr9y?E?35P#{^e zuc#6Ak39l_dIS5oKi9wUgw=kpb@t%Ffs!*ruIOGN$=hXiWzTRQ8SHH)ja+tHjoBP+ zc3|gYDW@+sAhibtr%^bK!fv6-3p{PTQSsA0fexD&OJd?S5GqMZ+=GtAay@~^ zGfA`b78^;T`eK{rE6Afnp9vM9ENkwTLYvs~96zzU&?@DjiGF6Sw+u3quT>(1mlH6z z4L+zunK;X|3WHWq@I<$EpsbX8g5b z2tNLHx2TcbJCsA5kYUO59Sk1`|Grh8|;#?JQ?_zu>13O<8MK(F*5|KBsjBpzs_x(k8eh)W?j)3U_X@IPuk$MOXl z!3`_`W&rRu66a}KZzvw(-{Lp|C*4T*ja>KJ3#)FVYd{HJlxAR=4bDR~OJO>mvSt5n zHh-LRgNagd1 zp8_Nw)dt|{4oSdnOX!cs;R3&HzVbWSk%9v#@MVzCU{OphE{I*qx5)?13Ud>P@|qJt z1Rrn01g;0zJ6z&4pWyE1_-N%fPmq%I?M7pW&my-dL<3R)?cNWsPwY)Ziv6wIVx9tGc}piDuXf`t^U zARUlipY$fAFQIT0g`+84hr&%LT*5x=zZplKYTKD2e0z$2Kjc{idb3;#FM6)kE|9wT zG7?y>iEA0_(MS^aKp!qDaoe}+KRSI>tX@c!d^Ri=mw02>$N}`_&WaugwDOpF+WZ)q zqA!Gn_eP9Li!B7v?t1moxZwqWn_JPW+=Rwh8-b8^6x_W@Gq*+anv$d?A;KY=pl1nS(IJ zcioS)RH0jjFwH7+F)zxzXIswa;(*-%&<{5!;C%zSXV~0=y!un-O;;=TUE8|S6*YEa zCj(|NGX1NOHNBEkvuk?Y8ur3Y4#DRu@#aEv75McoM0XzpH2u>2k zq-vxVky=6OMp93bdXv<9q<%)~7Zhj;S|}Jz!8i)mp?_?x5gq3Lc;U!Iw`cfX(|o1%P{sbSvrcq&FbF8R_Yyw;{a?>D@^mMEX$D z$B;gWbeZ%b(o0ESMEXk7P=Ys+zJoMkYfqAXhV=8KUnBiC>0grml=N>&|C7RI3MWxG zg~BZS9$4=X zxVEcs2yfaB{xO}l&ap@jZG-&Sj%FA4OFPGcm{*uvp`jl!PnhR`^M4Gr@xJ-M{MvkN z{_gPfx@KFzmC?&xCW=4a)y(T&-2{*WCXAEBZWuU`YG?L$szvU??jZo=8C&3Hpu*(W zYSi~!PY+&^OV(?P^d<@x-O=aM;nMR|)ySv!>R_MyVSSv!eaz#Ab13X`lT`f`aW}~o z?#o(~+%BI->S@t}OWpK?BIxbnMD1!$cKrvFK;v`#7?+ZQuW9^ETw5u+o2!niPNJ1b zyX7nA#HjIZ6Js2D3=zC+ab4EPjkQf6#wVL0L7=i=>3SJz0-1@HcAWTp zb0}2dsSu)T%;%gKZF9HxH|9(83f@jr2eQrua~@uQU_LaTIjx{u##%k>UQTlRYeH(g z3Fk0+9F)Xt+k6fb>3FD-Ex=I+0$U6~zE?mn-*APpP2D7cS;M=1D`^kmXIlRkj-(WDEc&mjE^3KfO3 zC_I_M6%^j@E={b*_xsFBmn;gA!fn7hzhvIR5q9FOYQpQecJwmt$oG37MBS@9aT17S zdUS9zH1pb*2NjH&BQMeU_M^kt!_;Wr5 zhf}yAh1WY9GS2M7Wj=K-M)ZNAlYRZnv8+E17f7@x1PSq?TG6E~&voWxdvI+Uk+(~s zE#L=3bDV+kkH&sEHa6NxZCXl{xXvl655$>~D>%PFw}G-$ckqSl#-AF=p2ivI8m+DKZ@7}d> zqcjrA5hPVb_lm!u_DA<)Z_N&vwumL?d9?xcc66dR4g*%!W@*C9_&LkJjlyZMV`P|j zG0aQ;Ld9q)56Cqt`RYgw@KOs;ytw3l|JFwu@rxGmU)p>^dwKFZAEO~G4Y#M7pn8 z;_4kvooD*lQyD4V!c&~wE97E_W-0J&$Qy*^y}sYa_MxE|r$-9aL%F+wur&PnOoSm= zC$@4hwpmhr`F_qSam2XE*H!n&DR0%Dl{Wu74KGTJeio$XVW~el4!el?hKmcHz>x1p z;T=MNX*TLF7aM*4heuvB?_=dZwCVmN${4J%*@0B4?(?Rf2_^0`pURvPt{o?qbORvA zRspH*C{HqHy8_+WHZ#D<4@XrXiw=Gs^sdYkHa+0O6%)}Or9A^5XLEAz_FGlO*@1}N ztxkV4W1ukND#LHf@ne+4VD{zLZ1>%=KasPz5({)I8-zxDht#ejvfu0o}G|m+K50GCM?jV#Kn)I;@c6zl4IzD0~omg#YPt7?;V> z%t7yF3Cp!ebE{Osx!+Q{40`nk&LRVV?m-$!{~-#OI+9KhO)?jg#opZ@{RdfD56Byr zN+XwXfA2%?w^R7A^jOS`sTYA53=I5NEl+kZ#YryZfBs@H#lJ5Xu1#B( zZ3bB|4o10)xqKHFFOX65cWyI-<%VcYxGkTG$Qk#uke|5w4&%`uZYBH}g5KC1@t!7k zSB)!5obDWBt~EE=mZk2yodLRUfOGPpRIv6yKc30KSm&8-X1c&fCjy3@Wsr*PB!#fz zEKRwVGQ?Nb-Tak`P50id_G@`IuP`E9H84-z_fsHq9O~y*+Ih<}TCAAx=BPckYG{WT^ z)D8}_1s;q8yFR*chs}I^*J^*>o7&9p9zD-LAU^l?HLH?WoAc9!H~6QyHvjcCm)!KN O&i@beL+b&ERR917HwF{{ literal 0 HcmV?d00001 diff --git a/_pagefind/index/en_cac3de7.pf_index b/_pagefind/index/en_cac3de7.pf_index deleted file mode 100644 index cceadab3d7ad607214a2f881db1a695da5877d97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12806 zcmV+hGWpFPiwFP!00002|80DCfE>lKx29(<-zg&KA_#FzMMCY@Biae$~~p!tZ;3fUd(-cUM=g>MbR* zVJ0f1yVI%k;!D(vCNaYpWxCdmFpWc9nu6h7YxQm>Ib-@_(`q{P&rNDZrMlQO8Vvd~ zO=6}@*PENhCET?k1sim&C2x^Q&YXdHL!A_~GoXA3vdC4SZ zJAhxigKP+>{(O_3J$w6^d=`9wW#=rG_57DjVh8tkpiQDH{`+8)*fIY5Dw9Z@ZHBGx z(!M@Y->;w2ztq3d-|0V**GgUod0QF}NNCra=qY*+qn2Wgt@T2Eg}zsRY62`d#xz`n zuRBI-Y*%;cX?l*{OYf@>*T?IV^=bMny+&W4uhDnw2lWf4aor|eI%wKJZ;Iv8dVwzL zs$NRoA>`dh-dE&(PihlVTah}2)Y+t-A@w4u_sCyB{_iPh!RhCkChSOWr*G1a>K~hC z?7=rJ%ewSNSa&~tkj`r$0|?TS^fvln(>BJNb=i0PL~4%QWI&UDkiKi)>`4 z7RzaOCvTf9w`+y!parH+mpi^n?)V0to{Pf1#TK6+yD*WeMtzQw)Jz_)))ILm6mp3@ zveqVbZIz`t~zz_jnN~IqtcEj^zcw1hxFHuM>wl_j*4f%|xa4{}- zJeX?H7Kt#MD~2-?xk7ekB0MD#O;3l>oJ5qHla9h%vA9^sU^X_%qw$AfB9n-E77G?% z4`}I-`=JPnf z3cjd4$sb4l3FI#%{|xePreHG)s{Bp9*gt3m6!`Uf^4iFo09;JchnTiylXQBDJ{Ut= z=pNH==XPULVX9URyK~iQsk>4sI@BE^s7sr&%&S$xa(6k*MwM!Lv5Y}*CGwTxkWlZ| z^4*(qo0ke-?EuW@fs%sojlNPi@L`bPeYk+akkIZl!OBe2!iQa`ua{G=(SO1Bg+zV; za=2~9B>mmNIqqLjz zrm3!vuaoDnv zo~aKoYB~Od(5vXD^}AhbM;qUAe=x}1+nI)?{O>#rKMay-T(>D8-=)7JuZg_zHc^8@&%=aJuQ1IkJDc@f?0E$Cv2)kW!*KNz^}Unyvz>Yh z=IpN@fjF6{J16N`46igOB=@x3+Hs(~Np|5TN$=(@XSi`bi<#y-njPE52rv=aF|2dH0aIl>BqZzk`A; zD0oOvw7F%34ZtepFd<;afbuKLfdtk~SJ;iT3DCb8-)g0e9X5{;o_bL>|E;|fy|LaD zr>K;|RBWAi3%R2bWec%<=p=78`J0hHgZzWZUqt@L6s!PFDwSHVu}h8??KB?36Ws%R zg^a3^*j&}I<-bkiO8j#Vc`5R~A@2{Q#*?~&{L3ilrQkX_;ie)Qr8-f zkh*K-SP^y$Zswa115wP5N||IbTxo{E8fbZ)c1KZo;tO6toASb}Eh%W{PFk`7= zUrpYITyS|YJDs=L(G8M@LY@XX{S~?d91ob8qWy}jdvt} zolxOieF4K++YFMcRV@>;O{@%_c|BU=^D40UQJ`|*dRNoNe>STSUX=U!+1)kQ~aFsq4W<5lossBf~bQ|6_ z8$FD_R+EK}t)_Ab_Cz~%0leR-FM=Yx%bIy?pkJ=6ne(-TcDm8gcs5R2lWHTs zlY5JWP;@AWjxpA1J1ZemXQ#f-^w?IqQmmDoRz)XIslhRUF$j~!9_n2nCtphrT2nxG z!`NohXcs~~7OE+PkF{K{#uen@F@eMfrRtU|nI`!lF#jahz3m}>4O&0AV7(gKtWd{YFJ;M1X>Cc6vFVJ7>fA9u*POUs- znqZj2@~uKBZlV`Lw39{QaJG9F=~em*zL|ER6#E(Oza9Zv%lj`BEM_g@r(6DLv)z@b z;t;OSgXeB3Mm<65c~T$Bgj&Ap1lwM=qY6*O#dhuxM6Gj(deua3oMj;s>ub{EY^xSa zKt1&yR)#HX#XiEfS&AG34q2jBeC_2S%eqUzy14vKJ%`yJ)(b>kr)KwKE9?xmHgBw4 zwkNb89+ZQw;>F69Zt!O|ie0uPg7Z1Tmz&Dbb~X!tFq7TIaFJ8EM`6rP-KtAm6TM+E< zkLO^;-VCEpaL5*Rn1Tgfh21^WsgDMP6NQ;3iq*^9>MK&;lKK<*5C$LcTE_wNyOTNuoW)uaA+Q?-dnF;qtzeU~Uo{2+u}b$hIZVUNj2t2FFDRQP;&=wG1)4F!DJ1h-z(Uy}c>NyO^+PbNwyD!F74wzEU}K0=nWp%bCh z@z*)}TLb`u-6)tx!96C;KD7%z{n|zstb6`;C*pZo9)l$c)`q;{1>YADJkGQ(XZvP5 z1mzCZhXZ#Ltg|pm?4Ox99}vG?Ph( zrEq;n_i5XaFT#vqf@-uFX|zs%V4eO(_z{*k-e$(d4mr}0T;e>_jqO*y{mQrVeaLis zz~7pjOfESo1X|(Gd#c4!Yyc;CbqI^Rot27BBW5e<%02zjHBmCI54V(g(A- z!nGt0kdG_J1$-k8X}RxobYcPE6G!jC)}BXxAzgN4q=N zj?(%Y^UmWPRbqiD*L1x}ri+8J`Cujmp+LJ`cC#x^Tud#MJ>)^FoiOI@gu`UQyW-PM zh2PdL+>yZtJz*IqKCiC5+SxnT&+Ffd3L7;>biGw$FqB^8$WQ(UDr~sP3l!0Wq7a75 zE?$;}Uo@p3P6-Ek8DmSVthp8Zv!$i$Cfyhbgj2HauL`rZk7{O$Mnww zKWTJ?vB!HO#s>lMG0FTp@eVNInAGh>{;q!9t!?iDc(3Xr!YU zVPBd|n8`%!BFRCnHOVkL z6~`t=ny?-z@3evPPPUT6-cl7Ng4KD`<2bZG4X251x@DMD0AI%9Z+Ac~I3Y_xk%Akr z*+MoSRS?**KE<|(PUD+OEq2R;UASFk-D~l2kiL%86o%91jHe&LMCbB92(th@;WZLS?K) zOe~G=c+xNUBj}%sqm;X)U3O%Pm;ny42-47|QmiU!wWBnal}RIVUvWz1NDL(wTKg693?mh`%v=z+d646^mcFK#ERP|^D?W`I=irme)J!o@ zC5dVc7isBwqD`o_Nbn?;3Hu%2J}nDBhQ*?MxYT%p(0vdyVGk7y@VNemwH^YIN|q2W z)wjy_PmtK$g~-P(Ld5G!3nnkL)MVHINW}5O@8#+a5u@GzlGC48^ZY_=pusOf%aXg0 z*6s|UT!{k^!qsE#PKFD?KS}BjTQQsw| z0;g36Oxr5^)$RyhoB%ueDx^JL)9>p~L{aX`$1Sf9=(;e-pyQ-tfJ-D07}pH(G{hus zF;S+R=nav`gZJ%=iIIk{(Cg&Zf%;-WGtyv0{#hm$I})p84Q*q+&4`1oMd-+e*|>Qk z?2k*WRnj=x27R0LG|ZS`npR@_tX%B+PwUq~H6?rGRvY@=0LbV=^#5k`--9m_!q?;V z6X^I19hb;i_po=dky(&|?*e(>%f6YtOu0MII_iJHt)#wCN$Y&k>*Hl6>HXTM0`{BbD?v1Un2j0@?SK) zc1p#0b&iX6!1iiUIzGx&p~+3``Wqr6IkoF%&oaHTr&1=D<*-7r%(jL&)>oJ`qC%Ni z)&IvJ7+gr_-2#z8Xs9A88G)Gwn|87Cc%i*Y#b5V@j%jCG5<#j3OHUG9likv2A*~O| z+n<6{OfI)R`~_Dg%?jB1(HF2};4m0Wm5KUNzAFuJJT|71D0@+I-wTCmb&7&GW9 zhi;RX3pqnV+1+}=T`AWpjD_$0Q>5#XcsRgW9n1GaCtb z5*>)^l-M$Bl$b-xC9#<_(z#;ARWcyv7kg+=@tppZ?tV76k|eNu5H}`3+{s?|F#=QD zjWyZJ2}X)}d>&F*9kw^k4*n8X)8Z1)_<#Dp>RT4_Bq;ero_7>i!2r&GgrCNVY@3RU z=5WE#597=KE07iI)v}!l4YWR{;B1ET1cT46pCT$eES9q_G&8F{R{Htu`rXOeTV}QLZ}uKi{@pkw+)QACe@it&uW9cagUNd7F?oQIzxqV9_e+sc`bU zkc@a#|55POwB{q*1)oR3YyZQrH+GCzs9sJXL*0L zP9lwWxBd;>Vr!jm4nLQhpGC4V^ilgNiDF-ZQ` z6bw*swn;8P>Hr2VvUVOUkWT1^v~gR_9IVAY(X~z;{{-t5im?HIzPr4e>^l9iAEppY%O_HC$fwLTSbE*cT!tv6`%v)B}?kJzPxftAijJ@7&p3vJ~6LqPmQ#LXnVpC#lb zQGx56@)~8V10OH(8N=Ybk=5C=AW~&Jf4BWTHZR1fpF!*Rt>KRgwMCLsbsG(R~rn z#-w@^B?oLeF9b8sY1*A3)Egw8pMZdBT(=c_+WILdnwRw(>{97p=>O5bCvO^gU8GW^ zE+qdT^3&v3$Ul?(bICuC{2R%?oqQP8kCXo?`G2FJl>*q6Nb1)pxRmn;y&QhtkAlN_ zx7GDTuXZrW-t=NCH#GhX-Kow462gS5DM40)8;-~td8iQUEAIr8>xB`*p>wAQ4#jk_ z99zV%%y8)q+xBfsrs#^bMbF?)sFOIA`Y^sJCZjkUt^{R!rlFjAeTf;Ezh| zz%Q|8#T?}P5(4=WTR)-yMIK@gQ_1_9yzfYDPUb$GPk%?PIMl`F@0oBi;+ z*zM}J6`N3bPE)#Sh7085OMzH?w7^)lb=umxa!G5NuXh)cg`!N-OCh*L$gIKfZR*_m zm*;~Y!UCe=NYZm~pnYsTQU5A%%n?etOG(M*(eqz(uOF&kZeP=5#l8YiIVi^e(* zUTMP`Ta`Hnf7WyqXi@c-BE0ed5JXl@F zk~*D~A+>_kxumWpbq6U#%U&S$Q}TzAzdiXdrgkI0oBVsof1dpRA^+bLG*eKb;2a8W z6uM3!=4{pPmN>jsZv@e3Z{aL!>kr3H_C*NmTpZ_nVV3F0D|d+Nnu2k|xa@RBO|n>6 zDdcgE{-Ztk2tnx+5~tWy7~vh$xE2l)c}I|UB6%m1mm%*1^8QMyozzjJmXf-a{B6l! zNB%Pu+$D4{K{mEVi1rkrc)}(MDW@s(jwZe(?~kOmB-Ka3rW90oP8=?{Sf<|Oa(n-!9O54bnCF$W8vSY~O`uJVo9Gq~-`2!qwrK1*hyzN7S@I6ljY?9MZ*7SdeO# z1s$pFc|+u_k$XD|mSM73c14i83xFP3 z|7KfLOWuy;CCU3Wsd1#XCv_mHpOODQ`A9w|WQ&Ij%P!SFlQmDniOT7^?)2{l-pa6C z{yW;v-h84E$H~Xz7~GCxyTrQ}JFnL`*m{W}sh5CFEwvJ^P9iLFbk9YS-j~fsPHk5N z89$XvLHy2H%GSs>Y-D4Vn$$YT7q{CE>+m(oTc5PlEy!7J!amU~$K!0~=D4RX3j6J0 z*7C!Zx{Zzfv02k9av_Z%P)tDk%1(EX(&e+sJBqws^4=rWLh4cSk0t+Y3Kmdsr<~y< z{<<97`S*)%!Oi&OU2JkZgoIcrE|6MI!F&oX;&0g0vr_CO&|xlqlrdy0UWcqjGtZiz z+X_3*;%`{CDM>wKN{NAfF2ow!#XpAptAPP{GaNW@rpITtr&fuQE+qjIfWI1W5_%g*|L4V!d6v9e z$$OYoiPQk8i^;#3g43`A%w~x`OlmwDFXrlT@`jN&g1oKBTS6Z0_d@cnCGQsUULx-; z^4=xyQ}TXA-fzf*>G~H6F5ss@uk-T(a1g>>96xQcMn;Q7Hd;k(wYw+~rWC5NThxb7 zicul4^Rv?k(HfVVcMwwO!4YS)DPPwZ9Xw)aJ%KOFDi1GvvOZs zZHoZbCgd+?;KdZ|KSxk2T?fN$7R}JQTx#ApnP{utdff~u0&ox69)~mYkXiU&LtG!= znExxF7-1eMcs!7i*n*GnE<8-bu9QFCOPmT?usHhQss9&+Vjfpmy)^NC2O<7~yO z;GjWL9^!c(Z9y%tj}mMq=VcD@G4CL3SQlM>ggxPc+zw}B*qVFG1+)WV>@Cz4L{=ehCr6QrKEDRag!(`X_vbTyN1u z5Jo|#ns8yw=2Dx5!qALTJyMr7LN-m7B9&QShu|rdfxTf?1a8WlG}5_jtzvw2*Z^C8 z{bX_Ktl&taH^$dp`bGVzNtIc4a772w75F>tnCp7^WP3RenGBB=<4B~xg$z%#!(;82 zJucI|54KDRW69y_1eh872vD&9DGBl0%F)Ay4Ub-0_(G zA|LC~;n+-=3hm28TOu%mg0cKXnzQ%KlG+XHwSXL4$jC!7_uAAOFxmAl%ZB8M+EM%o zc-XDEn!kb2OSxBt^Yo$d!@)i55J=Lo)5Z)9w^-q4EK>4(zMyA~-A%g?a}f!T3{Q;e z9`|P^0vP08(zQ6LG?#%nEc7V1_*fzc5=s{zC0Vo%2&dx~A>KSx0m1qV`) zq#&Z;N_1@TA}N8WfTE>Uy=<{h!OT0V^58^d`j*9yxdJ1`ETN^08zo1o*G z+?KHbafW^p0_Q=~x`xxUh|BK;hc$#bexrU;zYj@wKZd*OfeNH!?HdNagTvbu2z$pV ze|5q(ARi$aS8TRBPpOB=yj@JzU9*$#z4oOOslCZRfczBsCGzj&=uDnZu&)7C6m5-> zz0ALp|1S!TrQl>9ecfcFM$buaDWc+6im&RQaJdE|y~RS>t#ps$*cRI_5n$w}FSBy) zPW^~}!M=a(wC>7vTn06oV`R5r$B?bCs-?NgbJCq{V$rPU(2#7D)lJ`uiTo0K4QSmlV_N>#aUwXGG*$C3IQ`6EpZ zW100iMe@dqx`g!!9h!D-zYDycW3kjG(4S+SM$ug9BocHA(EC zO*8|}2m{n9*vH(x{*4zb_c^Jv2Lp$d%#Zzm(p}jn+}qaQOQIPrD^Mek-PU5Y1}V4W zJ63vQ^7bHgDg~1$=n^dL0Jj6nR%<1<>;o3z9o*T+##p0O5-m1_A69Y+rkEDlZl;ne z*7E5=XDjbV{zDYZkvjDddE|cy>x{<%a>ck>E*RowEw21o0UC(XVKPyUP3|9&_j6LC z06oeUY9)8$d7jrBt2 z*`BhMBjo)LsZB{uB6Sj}kI9GiGnYYBnFW_fTA~c=uxW{;ByO=!kR&N_7bfP5)!00q zPCj#Qz7{8{FEmMhf;>#*nP6d0%&@N%8bz09xW(>5iJw7%ks-(tG58Dlt>kx*zbW}!k&o!)Jn{|s_mckr z`7e?GYYOrdlqpz5!C4fnrr=z=85T?p5)YLEsIMsSDYyeTuQCDI*x`8a#}jsXnQKwF zYd*w>H%3Z{?$ZyFx{CZm$v>47GlvM8E)uj>EoqMdR{3+LQj6wOExc;zZe=zv7?xrK zjzo3u%yn7(PJtg~jUx3WL;_|d2l)SvAjUDEdUY29!6BDIaHeIcEx&(Qe}(ODA)~*7 zu&S0}@YZ7IX`0g)5AbhsAP8TnC41}7{pMrWwPXcWf@7tr*k+CMP)$;pj#j$p#%A)z z8C&SpC=p?NTw=e&6>)BbT==_==1#N=v@!s$2T?Zfey)|S!>z0y>DX}YHd%XJugFj*JHV|-4aB_oDYq&;?iVVyMk`G8I^sS?pI{nzgZzw% zf6(JOj=Qd##2ymo>Kbj`z}DpTk!Q%eguFY*dz`#iNev^_OlmBt%}8xQYBH(mq~?-3 znN*QfmDD0qE6G>nZ$$p)D46f9+@_TOw+p29m~x0?~uY!*med=UvO z+r_nv)vyvj=sCcJi3;5J!}^a7F}>5(T%zEzVUf7Ro7qkdps%pn^8i>YkLYLgTSyOm zEhM}b!diiN(JV+u!PL24*rs4#g(5fc0r|+9e?-BqRttA*Ap5yk)|g;Yh&G*LhAp>` zzqf?td#!%W#*Qc3A||~ZY^A+m<|{6)&>ZjH5xMgHY?v0;pldMy&eF?ZN4*1!A5)3!SI+?>(>y;X2u#dx^dHGPl04){jwkOV^3vp0$XiU_O7gBJ?@980Ox}m&{fxX{ zkn%}2k?J5dlGGSdQ%UVkYF|=ElL|?lMQRx-ge|Wmbq%STNZm&2PEz-gLO|qmQqV)c zCk1QFBfpvaQRHt-{+8rVA%8pacOidw@((2c5b}>E|3vbOwS(ST~S= z8~F%*JxTtvUCVlU|P@RvWwl|0Ud@bDC2TZ*F*Xy zT)|WN$F>;pWYfk!r_<6t0_mackRRJo?_z%g=NR19W%_2w>xcB?`gu46Z$WH)q(9cb z*5B#BoAwnp-Nc{ls^@mCZRoHj_6B+y8(bj5$R&1Lonll>{#LZe``JCj0D0ErxEoes z{A)GdqjqLtiA1abP8)Pi45M4OMH`WoczPcKaKn=O|n{qm_UM} zsTDUqPagu=dkVPpD*Y8_L|g2m{>}K&JfEWhNpA(Or=blw?wnqOX&>uP^p{p3_)Q~B zFk}bE*=GkE@P8!By`A zejC8)uGP2MTHc0HdJ{0=4fx^($it6qvM4}aw+8L}vVIpA)V`e0%a3}%IbCbpO$Pvb z4Zr|Ankr(M&N{del6n10tPuL8Ufl=cJ%_<=2j4q`tojOMTbb$J0HS`)zsbY8V5Hs~ zDjzx#SxTFH#_pQI^atSP4%6MRxre~?kCJyNdB>7hC2tjZ_meuF)On$vbg ziv=@Z^xIv+XGrf?2TGxHH$D*FecTx_u*v>K{svfKpcJK?pt+rYG0b{i$yyw$JII8! z-b8O)efNQhYK3|zM=Yr_rkC6UwLjV)d*d~H4K(d&F)~K>wV7qYkpNg)pQQ;d;dYvT z8->$iM+=w_0On=)prT!h0W!5xwp_0PUS{Bl=a;(Q`e>BY^$&jFBZ)9ZtGF@tS8nX@ zd~|?lA3#h+LYwJYC6SHo;wcORc1yGSi3CKtS6igCAt>mHd&7^zI^aoMtG~0w?k$Kk z1|oJFQN^%z7gc~?ns-3(CaI)S>it;F&nJFbB<)hhmV+X}W%4**&I2(ls%?R6z@ zEG)aigRL#-F>=C^u!nofv!{*O9Bl2QBTd%D=8X&9cZlU2)+)97lZt zy>wq9UmFyXIs)mwCW))JSt*|CV^5`CyoFX2zbmZQL2RyTGJ>$YllOa@UUcN6WW7+` zljj-;OT(W}g#f{_u$hCgO_J)%_HkB;BgW0HuDUNuIIZ@aOnOO%x}@0XSP9k7z@HD| z6cN90vB48q3j0!Un;>A43HyrqTCe-zkvH{6*!e3a*%wC{)jE^zPZX*yZ~CQR;vW5l zT;_@TEL(#+({5p;>|lmmLnMlIW0;+(eolT^4i& zk$1O0s47nPhwN^3xR)9Ixw@+izb(VfFpk0O!^5oi?Y2J`<~~t2Jpg(5K6$&!1zpa+ z`ZZ+3EY~6-9rlY2pd?||Af#bND|8zNwOXO;1W48VEq)Q+|pSH>u#_S&CBe6e7!7^FtZn>hGaEg0HGRIW^`MFT+b*)zh&6sLcaW3Cl0810^~W6 zaEGniMoMn&pTC0iO6-S#DNCm#7~OJoNYfS1nI^Ai+s4<$nHR zAi=*c=dG`eDw-6sU>uCH4|Dk~E(VZMb1!dG1I3z1P1xUG!0Ba+njj*!LTE>c8^pg$ z`MG`fFbZGWvUUE=9uUO|u&K_}$g8%KhbZ9;@{kA2k#{KkW;$~6w(hkXQuPdwL+diT`p$3-u7gMQiLk_tFtEO| zH7sKwoI0c`Y-q$xizXb&Yq%dWXe$mZ+`LL*c@SG3y0KSmcAPISkip to Content
DocsAPI

API

+}Skip to Content
DocsAPI

API

Bracket has a REST API powered by FastAPI. The frontend sends requests to this API to the backend. The backend then does the actual processing (usually by querying the database). For normal usage of Bracket, you most likely don’t need to use the API. @@ -26,4 +26,4 @@ choose whatever you like best:

Last updated on
\ No newline at end of file +
Last updated on
\ No newline at end of file diff --git a/docs/api/index.txt b/docs/api/index.txt index 08cf36ea..9c613d65 100644 --- a/docs/api/index.txt +++ b/docs/api/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","api",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","api","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","api","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","mrQ-Cs-uQDtDj8FJ4yGkd",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","api",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","api","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","api","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","l8VURbAFwt9leVeqKhTLW",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,10 +18,10 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["API","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Bracket has a REST API powered by FastAPI. The frontend sends requests to this API to the backend.\nThe backend then does the actual processing (usually by querying the database).\nFor normal usage of Bracket, you most likely don’t need to use the API.\nOnly in case you want to manipulate the state of Bracket via scripts/"}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The API specification is publicly available. FastAPI serves it in two versions,\nchoose whatever you like best:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["$","a",null,{"href":"https://api.bracketapp.nl/redoc","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["ReDoc",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]}],"\n",["$","li",null,{"className":"x:my-2","children":["$","a",null,{"href":"https://api.bracketapp.nl/docs","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Swagger UI",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]}],"\n"]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["API","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Bracket has a REST API powered by FastAPI. The frontend sends requests to this API to the backend.\nThe backend then does the actual processing (usually by querying the database).\nFor normal usage of Bracket, you most likely don’t need to use the API.\nOnly in case you want to manipulate the state of Bracket via scripts/"}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The API specification is publicly available. FastAPI serves it in two versions,\nchoose whatever you like best:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["$","a",null,{"href":"https://api.bracketapp.nl/redoc","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["ReDoc",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]}],"\n",["$","li",null,{"className":"x:my-2","children":["$","a",null,{"href":"https://api.bracketapp.nl/docs","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Swagger UI",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]}],"\n"]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/community/contributing/index.html b/docs/community/contributing/index.html index 68d3ed8c..4d657312 100644 --- a/docs/community/contributing/index.html +++ b/docs/community/contributing/index.html @@ -1,4 +1,4 @@ -ContributingSkip to Content
DocsCommunityContributing

Contributing

+}Skip to Content
DocsCommunityContributing

Contributing

If you’re using Bracket and would like to help support its development, that would be greatly appreciated!

Several areas that we need a bit of help with at the moment are:

@@ -42,4 +42,4 @@ translation for you, and then carefully check and correct any mistakes.

See README.

Star History

Star History Chart -
Last updated on
\ No newline at end of file +
Last updated on
\ No newline at end of file diff --git a/docs/community/contributing/index.txt b/docs/community/contributing/index.txt index 0c6ad42c..c7e3ecd9 100644 --- a/docs/community/contributing/index.txt +++ b/docs/community/contributing/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","community","contributing",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","community/contributing","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","community/contributing","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","rJVlobQ04wQh9ZF8_wh4b",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","community","contributing",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","community/contributing","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","community/contributing","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","z1x7Cke6-ASf7TsAiVXC0",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,11 +18,11 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Translating","id":"translating","depth":2},{"value":"Adding translations (via crowdin)","id":"adding-translations-via-crowdin","depth":3},{"value":"Manually adding translations","id":"manually-adding-translations","depth":3},{"value":"Contributors","id":"contributors","depth":2},{"value":"Star History","id":"star-history","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Contributing","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"If you’re using Bracket and would like to help support its development, that would be greatly\nappreciated!"}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Several areas that we need a bit of help with at the moment are:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["⭐ ",["$","strong",null,{"children":"Star Bracket"}]," on GitHub"]}],"\n",["$","li",null,{"className":"x:my-2","children":["🌐 ",["$","strong",null,{"children":"Translating"}],": Help make Bracket available to non-native English speakers by adding your\nlanguage. See ",["$","a",null,{"href":"#translating","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"Translating"}]," below."]}],"\n",["$","li",null,{"className":"x:my-2","children":["📣 ",["$","strong",null,{"children":"Spread the word"}]," by sharing Bracket to help new users discover it"]}],"\n",["$","li",null,{"className":"x:my-2","children":["🖥️ ",["$","strong",null,{"children":"Submit a PR"}]," to add a new feature, fix a bug, extend/update the docs or something else"]}],"\n"]}],"\n",["$","h2",null,{"id":"translating","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Translating",["$","$L1b",null,{"id":"translating"}]]}],"\n",["$","h3",null,{"id":"adding-translations-via-crowdin","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Adding translations (via crowdin)",["$","$L1b",null,{"id":"adding-translations-via-crowdin"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Bracket uses ",["$","a",null,{"href":"https://crowdin.com/project/bracket","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["crowdin",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," for translations. You can add/improve\ntranslations here in your language."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"If you want to add a new language, please create an issue and I will add the language to Crowdin."}],"\n",["$","h3",null,{"id":"manually-adding-translations","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Manually adding translations",["$","$L1b",null,{"id":"manually-adding-translations"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["You can add a translation by copying the English ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"en"}]," locale\n(",["$","a",null,{"href":"https://github.com/evroon/bracket/tree/master/frontend/public/locales","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["here",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],") directory.\nRename the directory to the name of your locale, and start translating the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"common.json"}]," file inside\nthe directory. It might be useful to use an online tool (Google ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"translate json file"}],") to do the\ntranslation for you, and then carefully check and correct any mistakes."]}],"\n",["$","h2",null,{"id":"contributors","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Contributors",["$","$L1b",null,{"id":"contributors"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["See ",["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["README",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"."]}],"\n",["$","h2",null,{"id":"star-history","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Star History",["$","$L1b",null,{"id":"star-history"}]]}],"\n",["$","a",null,{"href":"https://star-history.com/#evroon/bracket&Date","children":["$","picture",null,{"children":[["$","source",null,{"media":"(prefers-color-scheme: dark)","srcSet":"https://api.star-history.com/svg?repos=evroon/bracket&type=Date&theme=dark"}],["$","source",null,{"media":"(prefers-color-scheme: light)","srcSet":"https://api.star-history.com/svg?repos=evroon/bracket&type=Date"}],["$","img",null,{"alt":"Star History Chart","src":"https://api.star-history.com/svg?repos=evroon/bracket&type=Date"}]]}]}],"\n"]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Translating","id":"translating","depth":2},{"value":"Adding translations (via crowdin)","id":"adding-translations-via-crowdin","depth":3},{"value":"Manually adding translations","id":"manually-adding-translations","depth":3},{"value":"Contributors","id":"contributors","depth":2},{"value":"Star History","id":"star-history","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Contributing","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"If you’re using Bracket and would like to help support its development, that would be greatly\nappreciated!"}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Several areas that we need a bit of help with at the moment are:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["⭐ ",["$","strong",null,{"children":"Star Bracket"}]," on GitHub"]}],"\n",["$","li",null,{"className":"x:my-2","children":["🌐 ",["$","strong",null,{"children":"Translating"}],": Help make Bracket available to non-native English speakers by adding your\nlanguage. See ",["$","a",null,{"href":"#translating","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"Translating"}]," below."]}],"\n",["$","li",null,{"className":"x:my-2","children":["📣 ",["$","strong",null,{"children":"Spread the word"}]," by sharing Bracket to help new users discover it"]}],"\n",["$","li",null,{"className":"x:my-2","children":["🖥️ ",["$","strong",null,{"children":"Submit a PR"}]," to add a new feature, fix a bug, extend/update the docs or something else"]}],"\n"]}],"\n",["$","h2",null,{"id":"translating","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Translating",["$","$L1b",null,{"id":"translating"}]]}],"\n",["$","h3",null,{"id":"adding-translations-via-crowdin","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Adding translations (via crowdin)",["$","$L1b",null,{"id":"adding-translations-via-crowdin"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Bracket uses ",["$","a",null,{"href":"https://crowdin.com/project/bracket","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["crowdin",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," for translations. You can add/improve\ntranslations here in your language."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"If you want to add a new language, please create an issue and I will add the language to Crowdin."}],"\n",["$","h3",null,{"id":"manually-adding-translations","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Manually adding translations",["$","$L1b",null,{"id":"manually-adding-translations"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["You can add a translation by copying the English ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"en"}]," locale\n(",["$","a",null,{"href":"https://github.com/evroon/bracket/tree/master/frontend/public/locales","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["here",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],") directory.\nRename the directory to the name of your locale, and start translating the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"common.json"}]," file inside\nthe directory. It might be useful to use an online tool (Google ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"translate json file"}],") to do the\ntranslation for you, and then carefully check and correct any mistakes."]}],"\n",["$","h2",null,{"id":"contributors","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Contributors",["$","$L1b",null,{"id":"contributors"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["See ",["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["README",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"."]}],"\n",["$","h2",null,{"id":"star-history","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Star History",["$","$L1b",null,{"id":"star-history"}]]}],"\n",["$","a",null,{"href":"https://star-history.com/#evroon/bracket&Date","children":["$","picture",null,{"children":[["$","source",null,{"media":"(prefers-color-scheme: dark)","srcSet":"https://api.star-history.com/svg?repos=evroon/bracket&type=Date&theme=dark"}],["$","source",null,{"media":"(prefers-color-scheme: light)","srcSet":"https://api.star-history.com/svg?repos=evroon/bracket&type=Date"}],["$","img",null,{"alt":"Star History Chart","src":"https://api.star-history.com/svg?repos=evroon/bracket&type=Date"}]]}]}],"\n"]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/community/development/index.html b/docs/community/development/index.html index 77805910..798d68d4 100644 --- a/docs/community/development/index.html +++ b/docs/community/development/index.html @@ -1,4 +1,4 @@ -DevelopmentSkip to Content
DocsCommunityDevelopment

Development

+}Skip to Content
DocsCommunityDevelopment

Development

This guide explains how to run Bracket without Docker. They cover database setup, configuration and how to run the frontend and backend. If you quickly want to get up and running, please read -quickstart.

+quickstart.

Database

First create a bracket cluster:

sudo pg_createcluster -u postgres -p 5532 13 bracket @@ -33,7 +33,7 @@ how to run the frontend and backend. If you quickly want to get up and running,
  • bracket_prod: for a production database
  • The database URL can be specified per environment in the .env files (see -config).

    +config).

    Running the frontend and backend

    To run Bracket (frontend and backend) locally without Docker, one needs yarn and pipenv.

    The following starts the frontend and backend for local development in the root @@ -61,4 +61,4 @@ and then run:

    cp process-compose-example.yml process-compose.yml process-compose up -d

    Press CTRL + C (or F10) to exit.

    -

    You can adjust the config by editing process-compose.yml.

    Last updated on
    \ No newline at end of file +

    You can adjust the config by editing process-compose.yml.

    Last updated on
    \ No newline at end of file diff --git a/docs/community/development/index.txt b/docs/community/development/index.txt index 6d47fa7e..6d3dd4fe 100644 --- a/docs/community/development/index.txt +++ b/docs/community/development/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","community","development",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","community/development","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","community/development","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","7hkHfCWvv7vY8He-eGSDs",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","community","development",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","community/development","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","community/development","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","vExnGdB09-A9nel0B8LlL",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,12 +18,12 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] 1c:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Database","id":"database","depth":2},{"value":"Running the frontend and backend","id":"running-the-frontend-and-backend","depth":2},{"value":"Frontend","id":"frontend","depth":3},{"value":"Backend","id":"backend","depth":3},{"value":"Alternative: running Bracket via process-compose","id":"alternative-running-bracket-via-process-compose","depth":3}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Development","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This guide explains how to run Bracket without Docker. They cover database setup, configuration and\nhow to run the frontend and backend. If you quickly want to get up and running, please read\n",["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"quickstart"}],"."]}],"\n",["$","h2",null,{"id":"database","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Database",["$","$L1b",null,{"id":"database"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["First create a ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket"}]," cluster:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"sudo"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" pg_createcluster"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -u"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" postgres"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -p"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 5532"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 13"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"pg_ctlcluster"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 13"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" start"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Subsequently, create a new ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket_dev"}]," database. First connect via ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"sudo -Hu postgres psql -p 5532"}],", and then run:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"CREATE"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" USER"}],["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" bracket_dev"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" WITH"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" PASSWORD"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" 'bracket_dev'"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":";"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"CREATE"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" DATABASE"}],["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" bracket_dev"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" OWNER"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" bracket_dev;"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"You can do the same but replace the user and database name with:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket_ci"}],": for running tests"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket_prod"}],": for a production database"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["The database URL can be specified per environment in the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".env"}]," files (see\n",["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"config"}],")."]}],"\n",["$","h2",null,{"id":"running-the-frontend-and-backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Running the frontend and backend",["$","$L1b",null,{"id":"running-the-frontend-and-backend"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To run Bracket (frontend and backend) locally without Docker, one needs ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"yarn"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"pipenv"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The following starts the frontend and backend for local development in the root\ndirectory of Bracket:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"./run.sh"}]}]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["If either the frontend or backend doesn’t shut down correctly, you can run (on Linux)\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"killall gunicorn node"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["But ",["$","strong",null,{"children":"be careful"}]," that this will also kill other gunicorn and node processes."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"In case you want to run the frontend and backend yourself, see the following\ntwo sections."}],"\n",["$","h3",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"cd"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"yarn"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" run"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" dev"}]]}]]}]]}]]}],"\n",["$","h3",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"cd"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"pipenv"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" install"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -d"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"pipenv"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" shell"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"./run.sh"}]}]]}]]}]]}],"\n",["$","h3",null,{"id":"alternative-running-bracket-via-process-compose","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Alternative: running Bracket via process-compose",["$","$L1b",null,{"id":"alternative-running-bracket-via-process-compose"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Alternatively, you can use ",["$","a",null,{"href":"https://github.com/F1bonacc1/process-compose","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["process-compose",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," to run\nthe app locally. It works similarly to docker-compose, except it works with non-containerized\napplications."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Just install it according to the ",["$","a",null,{"href":"https://f1bonacc1.github.io/process-compose/installation/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["docs",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"\nand then run:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"cp"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" process-compose-example.yml"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" process-compose.yml"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"process-compose"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" up"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -d"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Press CTRL + C (or F10) to exit."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["You can adjust the config by editing ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"process-compose.yml"}],"."]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Database","id":"database","depth":2},{"value":"Running the frontend and backend","id":"running-the-frontend-and-backend","depth":2},{"value":"Frontend","id":"frontend","depth":3},{"value":"Backend","id":"backend","depth":3},{"value":"Alternative: running Bracket via process-compose","id":"alternative-running-bracket-via-process-compose","depth":3}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Development","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This guide explains how to run Bracket without Docker. They cover database setup, configuration and\nhow to run the frontend and backend. If you quickly want to get up and running, please read\n",["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"quickstart"}],"."]}],"\n",["$","h2",null,{"id":"database","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Database",["$","$L1b",null,{"id":"database"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["First create a ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket"}]," cluster:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"sudo"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" pg_createcluster"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -u"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" postgres"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -p"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 5532"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 13"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"pg_ctlcluster"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 13"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" start"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Subsequently, create a new ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket_dev"}]," database. First connect via ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"sudo -Hu postgres psql -p 5532"}],", and then run:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"CREATE"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" USER"}],["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" bracket_dev"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" WITH"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" PASSWORD"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" 'bracket_dev'"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":";"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"CREATE"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" DATABASE"}],["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" bracket_dev"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" OWNER"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" bracket_dev;"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"You can do the same but replace the user and database name with:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket_ci"}],": for running tests"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket_prod"}],": for a production database"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["The database URL can be specified per environment in the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".env"}]," files (see\n",["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"config"}],")."]}],"\n",["$","h2",null,{"id":"running-the-frontend-and-backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Running the frontend and backend",["$","$L1b",null,{"id":"running-the-frontend-and-backend"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To run Bracket (frontend and backend) locally without Docker, one needs ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"yarn"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"pipenv"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The following starts the frontend and backend for local development in the root\ndirectory of Bracket:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"./run.sh"}]}]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["If either the frontend or backend doesn’t shut down correctly, you can run (on Linux)\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"killall gunicorn node"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["But ",["$","strong",null,{"children":"be careful"}]," that this will also kill other gunicorn and node processes."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"In case you want to run the frontend and backend yourself, see the following\ntwo sections."}],"\n",["$","h3",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"cd"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"yarn"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" run"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" dev"}]]}]]}]]}]]}],"\n",["$","h3",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"cd"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"pipenv"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" install"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -d"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"pipenv"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" shell"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"./run.sh"}]}]]}]]}]]}],"\n",["$","h3",null,{"id":"alternative-running-bracket-via-process-compose","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Alternative: running Bracket via process-compose",["$","$L1b",null,{"id":"alternative-running-bracket-via-process-compose"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Alternatively, you can use ",["$","a",null,{"href":"https://github.com/F1bonacc1/process-compose","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["process-compose",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," to run\nthe app locally. It works similarly to docker-compose, except it works with non-containerized\napplications."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Just install it according to the ",["$","a",null,{"href":"https://f1bonacc1.github.io/process-compose/installation/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["docs",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"\nand then run:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"cp"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" process-compose-example.yml"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" process-compose.yml"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"process-compose"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" up"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -d"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Press CTRL + C (or F10) to exit."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["You can adjust the config by editing ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"process-compose.yml"}],"."]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/deployment/cloud-services/index.html b/docs/deployment/cloud-services/index.html index a342d4b8..a20c8fca 100644 --- a/docs/deployment/cloud-services/index.html +++ b/docs/deployment/cloud-services/index.html @@ -1,4 +1,4 @@ -Cloud servicesSkip to Content
    DocsDeploymentCloud services

    Cloud services

    +}Skip to Content
    DocsDeploymentCloud services

    Cloud services

    Vercel

    To deploy the frontend to Vercel, use the following link:

    https://vercel.com/new/project?template=https://github.com/evroon/bracket
    -

    Make sure to select the frontend directory as root directory, and use Next.js as framework.

    Last updated on
    \ No newline at end of file +

    Make sure to select the frontend directory as root directory, and use Next.js as framework.

    Last updated on
    \ No newline at end of file diff --git a/docs/deployment/cloud-services/index.txt b/docs/deployment/cloud-services/index.txt index 962b62c5..82532db5 100644 --- a/docs/deployment/cloud-services/index.txt +++ b/docs/deployment/cloud-services/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","deployment","cloud-services",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/cloud-services","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/cloud-services","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","RddNTzR3fDQTcvqT6-Tad",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","deployment","cloud-services",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/cloud-services","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/cloud-services","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","6FuHu_NTbFAP_AmVeuhE8",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,12 +18,12 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] 1c:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Vercel","id":"vercel","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Cloud services","$undefined"]}],"\n",["$","h2",null,{"id":"vercel","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Vercel",["$","$L1b",null,{"id":"vercel"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"To deploy the frontend to Vercel, use the following link:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":["$","span",null,{"children":"https://vercel.com/new/project?template=https://github.com/evroon/bracket"}]}]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Make sure to select the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"frontend"}]," directory as root directory, and use Next.js as framework."]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Vercel","id":"vercel","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Cloud services","$undefined"]}],"\n",["$","h2",null,{"id":"vercel","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Vercel",["$","$L1b",null,{"id":"vercel"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"To deploy the frontend to Vercel, use the following link:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":["$","span",null,{"children":"https://vercel.com/new/project?template=https://github.com/evroon/bracket"}]}]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Make sure to select the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"frontend"}]," directory as root directory, and use Next.js as framework."]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/deployment/docker/index.html b/docs/deployment/docker/index.html index 3c688866..1306e461 100644 --- a/docs/deployment/docker/index.html +++ b/docs/deployment/docker/index.html @@ -1,4 +1,4 @@ -DockerSkip to Content

    Docker

    +}Skip to Content

    Docker

    This section describes how to deploy Bracket (frontend and backend) to docker using docker-compose.

    1. Install Docker and docker compose

    First, make sure you have docker and docker compose installed.

    @@ -86,4 +86,4 @@ load them via 5. Access the application

    Run it using docker compose up -d in the same directory as the file. -Access Bracket at http://localhost:3000.

    Last updated on
    \ No newline at end of file +Access Bracket at http://localhost:3000.

    Last updated on
    \ No newline at end of file diff --git a/docs/deployment/docker/index.txt b/docs/deployment/docker/index.txt index a99b4f64..f284ae9f 100644 --- a/docs/deployment/docker/index.txt +++ b/docs/deployment/docker/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","deployment","docker",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/docker","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/docker","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","GKICyJ0j_21AnhnE2MNpp",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","deployment","docker",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/docker","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/docker","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","RMbcjtUM09A0G9BhVvdf0",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,12 +18,12 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] 1c:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"1. Install Docker and docker compose","id":"1-install-docker-and-docker-compose","depth":2},{"value":"2. Store the docker-compose.yml file","id":"2-store-the-docker-composeyml-file","depth":2},{"value":"3. Set up the environment variables","id":"3-set-up-the-environment-variables","depth":2},{"value":"4. Update volume bindings","id":"4-update-volume-bindings","depth":2},{"value":"5. Access the application","id":"5-access-the-application","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Docker","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This section describes how to deploy Bracket (frontend and backend) to docker using docker-compose."}],"\n",["$","h2",null,{"id":"1-install-docker-and-docker-compose","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["1. Install Docker and docker compose",["$","$L1b",null,{"id":"1-install-docker-and-docker-compose"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"First, make sure you have docker and docker compose installed."}],"\n",["$","h2",null,{"id":"2-store-the-docker-composeyml-file","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["2. Store the docker-compose.yml file",["$","$L1b",null,{"id":"2-store-the-docker-composeyml-file"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Then, store the following YAML in a file called ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," in an empty directory."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The highlighted lines will be discussed in the next steps."}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"services"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" bracket-frontend"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"ghcr.io/evroon/bracket-frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" container_name"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket-frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"3000:3000\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" environment"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" NODE_ENV"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"production\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" NEXT_PUBLIC_API_BASE_URL"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"http://your-site.com:8400\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"10000000-ffff-ffff-ffff-000000000001\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" restart"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"unless-stopped"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" bracket-backend"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"ghcr.io/evroon/bracket-backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" container_name"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket-backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"8400:8400\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" environment"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" ENVIRONMENT"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"PRODUCTION\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" PG_DSN"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"postgresql://bracket_prod:bracket_prod@postgres:5432/bracket_prod\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" CORS_ORIGINS"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"https://your-site.com"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" JWT_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"change_me"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" volumes"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"./backend/static:/app/static"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" restart"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"unless-stopped"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" depends_on"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"postgres"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" postgres"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"postgres"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" restart"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"always"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" environment"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" POSTGRES_DB"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket_prod"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" POSTGRES_USER"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket_prod"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" POSTGRES_PASSWORD"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket_prod"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" volumes"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"./postgres:/var/lib/postgresql/data"}]]}]]}]]}]]}],"\n",["$","h2",null,{"id":"3-set-up-the-environment-variables","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["3. Set up the environment variables",["$","$L1b",null,{"id":"3-set-up-the-environment-variables"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Replace the lines that are highlighted in the code block from the previous step."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Replace the following values for ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket-frontend"}],":"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}],": The address of your backend. The frontend will send\nrequests to this address."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],": Either leave empty to disable it or\n",["$","a",null,{"href":"https://dashboard.hcaptcha.com/signup","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["signup for hCaptcha",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],", create a site and\nput the site key here"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Replace the following values for ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket-backend"}],":"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PG_DSN"}],": The DSN with format ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"postgresql://:@:/"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}],": Put the address of your frontend here, it’s used to make sure incoming requests\ncan only come from your actual frontend"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"JWT_SECRET"}],": Generate a secret to create JWTs using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"openssl rand -hex 32"}]]}],"\n"]}],"\n",["$","div",null,{"className":"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-orange-100 x:bg-orange-50 x:text-orange-800 x:dark:border-orange-400/30 x:dark:bg-orange-400/20 x:dark:text-orange-300","children":[["$","div",null,{"className":"x:select-none x:text-xl x:ps-3 x:pe-2","style":{"fontFamily":"\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""},"data-pagefind-ignore":"all","children":"💡"}],["$","div",null,{"className":"x:w-full x:min-w-0 x:leading-7","children":["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Note that your ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," file now contains secrets.\nIf you want a more secure setup, you can store secrets in separate files on the host and\nload them via ",["$","a",null,{"href":"https://docs.docker.com/compose/use-secrets/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["docker secrets",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"."]}]}]]}],"\n",["$","h2",null,{"id":"4-update-volume-bindings","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["4. Update volume bindings",["$","$L1b",null,{"id":"4-update-volume-bindings"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Bracket needs two volume bindings: for the backend and for the database."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Update the two volume binding paths to point to a directory where you want to store the\npersistent data."}],"\n",["$","h2",null,{"id":"5-access-the-application","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["5. Access the application",["$","$L1b",null,{"id":"5-access-the-application"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Run it using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker compose up -d"}]," in the same directory as the file.\nAccess Bracket at ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"http://localhost:3000"}],"."]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"1. Install Docker and docker compose","id":"1-install-docker-and-docker-compose","depth":2},{"value":"2. Store the docker-compose.yml file","id":"2-store-the-docker-composeyml-file","depth":2},{"value":"3. Set up the environment variables","id":"3-set-up-the-environment-variables","depth":2},{"value":"4. Update volume bindings","id":"4-update-volume-bindings","depth":2},{"value":"5. Access the application","id":"5-access-the-application","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Docker","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This section describes how to deploy Bracket (frontend and backend) to docker using docker-compose."}],"\n",["$","h2",null,{"id":"1-install-docker-and-docker-compose","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["1. Install Docker and docker compose",["$","$L1b",null,{"id":"1-install-docker-and-docker-compose"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"First, make sure you have docker and docker compose installed."}],"\n",["$","h2",null,{"id":"2-store-the-docker-composeyml-file","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["2. Store the docker-compose.yml file",["$","$L1b",null,{"id":"2-store-the-docker-composeyml-file"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Then, store the following YAML in a file called ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," in an empty directory."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The highlighted lines will be discussed in the next steps."}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"services"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" bracket-frontend"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"ghcr.io/evroon/bracket-frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" container_name"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket-frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"3000:3000\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" environment"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" NODE_ENV"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"production\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" NEXT_PUBLIC_API_BASE_URL"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"http://your-site.com:8400\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"10000000-ffff-ffff-ffff-000000000001\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" restart"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"unless-stopped"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" bracket-backend"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"ghcr.io/evroon/bracket-backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" container_name"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket-backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"8400:8400\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" environment"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" ENVIRONMENT"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"PRODUCTION\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" PG_DSN"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"postgresql://bracket_prod:bracket_prod@postgres:5432/bracket_prod\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" CORS_ORIGINS"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"https://your-site.com"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" JWT_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"change_me"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" volumes"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"./backend/static:/app/static"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" restart"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"unless-stopped"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" depends_on"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"postgres"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" postgres"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"postgres"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" restart"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"always"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" environment"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" POSTGRES_DB"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket_prod"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" POSTGRES_USER"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket_prod"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" POSTGRES_PASSWORD"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":": "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"bracket_prod"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":" volumes"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":":"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" - "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"./postgres:/var/lib/postgresql/data"}]]}]]}]]}]]}],"\n",["$","h2",null,{"id":"3-set-up-the-environment-variables","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["3. Set up the environment variables",["$","$L1b",null,{"id":"3-set-up-the-environment-variables"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Replace the lines that are highlighted in the code block from the previous step."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Replace the following values for ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket-frontend"}],":"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}],": The address of your backend. The frontend will send\nrequests to this address."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],": Either leave empty to disable it or\n",["$","a",null,{"href":"https://dashboard.hcaptcha.com/signup","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["signup for hCaptcha",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],", create a site and\nput the site key here"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Replace the following values for ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"bracket-backend"}],":"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PG_DSN"}],": The DSN with format ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"postgresql://:@:/"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}],": Put the address of your frontend here, it’s used to make sure incoming requests\ncan only come from your actual frontend"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"JWT_SECRET"}],": Generate a secret to create JWTs using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"openssl rand -hex 32"}]]}],"\n"]}],"\n",["$","div",null,{"className":"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-orange-100 x:bg-orange-50 x:text-orange-800 x:dark:border-orange-400/30 x:dark:bg-orange-400/20 x:dark:text-orange-300","children":[["$","div",null,{"className":"x:select-none x:text-xl x:ps-3 x:pe-2","style":{"fontFamily":"\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""},"data-pagefind-ignore":"all","children":"💡"}],["$","div",null,{"className":"x:w-full x:min-w-0 x:leading-7","children":["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Note that your ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," file now contains secrets.\nIf you want a more secure setup, you can store secrets in separate files on the host and\nload them via ",["$","a",null,{"href":"https://docs.docker.com/compose/use-secrets/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["docker secrets",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"."]}]}]]}],"\n",["$","h2",null,{"id":"4-update-volume-bindings","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["4. Update volume bindings",["$","$L1b",null,{"id":"4-update-volume-bindings"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Bracket needs two volume bindings: for the backend and for the database."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Update the two volume binding paths to point to a directory where you want to store the\npersistent data."}],"\n",["$","h2",null,{"id":"5-access-the-application","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["5. Access the application",["$","$L1b",null,{"id":"5-access-the-application"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Run it using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker compose up -d"}]," in the same directory as the file.\nAccess Bracket at ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"http://localhost:3000"}],"."]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/deployment/index.html b/docs/deployment/index.html index 0b6086d7..090ebc81 100644 --- a/docs/deployment/index.html +++ b/docs/deployment/index.html @@ -1,4 +1,4 @@ -DeploymentSkip to Content
    DocsDeploymentDeployment

    Deployment

    +}Skip to Content
    DocsDeploymentDeployment

    Deployment

    The guides in this directory explain how to run Bracket in production. If you quickly want to get up -and running, please read quickstart.md.

    +and running, please read quickstart.md.

    Configuration

    Backend configuration

    The following configuration variables need to be adjusted for the backend to run it in production:

    @@ -35,7 +35,7 @@ default values.
  • SENTRY_DSN: The Sentry DSN for monitoring and error tracking
  • BASE_URL: The base url of the API used for SSO
  • -

    See the config docs for more information.

    +

    See the config docs for more information.

    Frontend configuration

    The following configuration variables need to be adjusted for the frontend to run it in production:

      @@ -51,4 +51,4 @@ be disabled for your site.

      Running in production

      There’s a few ways to run Bracket (frontend and backend) in production, such as via docker-compose and Nomad. The frontend can also be deployed to a cloud service like Vercel. See the other pages in -this category for more details per platform.

    Last updated on
    \ No newline at end of file +this category for more details per platform.

    Last updated on
    \ No newline at end of file diff --git a/docs/deployment/index.txt b/docs/deployment/index.txt index 511e83b6..e79aae58 100644 --- a/docs/deployment/index.txt +++ b/docs/deployment/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","deployment",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","JytYHWNW3jrW_mVR8w16r",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","deployment",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","OkA04_fF7P7mWf4YiUP-o",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,11 +18,11 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Configuration","id":"configuration","depth":2},{"value":"Backend configuration","id":"backend-configuration","depth":3},{"value":"Frontend configuration","id":"frontend-configuration","depth":3},{"value":"Running in production","id":"running-in-production","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Deployment","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["The guides in this directory explain how to run Bracket in production. If you quickly want to get up\nand running, please read ",["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"quickstart.md"}],"."]}],"\n",["$","h2",null,{"id":"configuration","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Configuration",["$","$L1b",null,{"id":"configuration"}]]}],"\n",["$","h3",null,{"id":"backend-configuration","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Backend configuration",["$","$L1b",null,{"id":"backend-configuration"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The following configuration variables need to be adjusted for the backend to run it in production:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"JWT_SECRET"}],": Create a random secret using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"openssl rand -hex 32"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}],": Set frontend domain names for CORS.\nFor example: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS=https://frontend.bracket.com"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_EMAIL"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_PASSWORD"}],": It’s important to not leave the admin credentials to the\ndefault values."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ALLOW_INSECURE_HTTP_SSO"}],": Must be set to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"false"}]]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Optional:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"SENTRY_DSN"}],": The ",["$","a",null,{"href":"https://sentry.io","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Sentry",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," DSN for monitoring and error tracking"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BASE_URL"}],": The base url of the API used for SSO"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["See ",["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"the config docs"}]," for more information."]}],"\n",["$","h3",null,{"id":"frontend-configuration","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Frontend configuration",["$","$L1b",null,{"id":"frontend-configuration"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The following configuration variables need to be adjusted for the frontend to run it in production:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}],": The base URL of the backend API to which the frontend sends requests.\nFor example: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://api.bracket.com"}]]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Optional:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],": The HCaptcha key used for captcha challenges when creating new\naccounts. You get the secret when you create a new site in HCaptcha. If left blank, HCaptcha will\nbe disabled for your site."]}],"\n"]}],"\n",["$","h2",null,{"id":"running-in-production","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Running in production",["$","$L1b",null,{"id":"running-in-production"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"There’s a few ways to run Bracket (frontend and backend) in production, such as via docker-compose\nand Nomad. The frontend can also be deployed to a cloud service like Vercel. See the other pages in\nthis category for more details per platform."}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Configuration","id":"configuration","depth":2},{"value":"Backend configuration","id":"backend-configuration","depth":3},{"value":"Frontend configuration","id":"frontend-configuration","depth":3},{"value":"Running in production","id":"running-in-production","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Deployment","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["The guides in this directory explain how to run Bracket in production. If you quickly want to get up\nand running, please read ",["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"quickstart.md"}],"."]}],"\n",["$","h2",null,{"id":"configuration","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Configuration",["$","$L1b",null,{"id":"configuration"}]]}],"\n",["$","h3",null,{"id":"backend-configuration","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Backend configuration",["$","$L1b",null,{"id":"backend-configuration"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The following configuration variables need to be adjusted for the backend to run it in production:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"JWT_SECRET"}],": Create a random secret using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"openssl rand -hex 32"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}],": Set frontend domain names for CORS.\nFor example: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS=https://frontend.bracket.com"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_EMAIL"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_PASSWORD"}],": It’s important to not leave the admin credentials to the\ndefault values."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ALLOW_INSECURE_HTTP_SSO"}],": Must be set to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"false"}]]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Optional:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"SENTRY_DSN"}],": The ",["$","a",null,{"href":"https://sentry.io","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Sentry",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," DSN for monitoring and error tracking"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BASE_URL"}],": The base url of the API used for SSO"]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["See ",["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"the config docs"}]," for more information."]}],"\n",["$","h3",null,{"id":"frontend-configuration","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Frontend configuration",["$","$L1b",null,{"id":"frontend-configuration"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"The following configuration variables need to be adjusted for the frontend to run it in production:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}],": The base URL of the backend API to which the frontend sends requests.\nFor example: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://api.bracket.com"}]]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Optional:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],": The HCaptcha key used for captcha challenges when creating new\naccounts. You get the secret when you create a new site in HCaptcha. If left blank, HCaptcha will\nbe disabled for your site."]}],"\n"]}],"\n",["$","h2",null,{"id":"running-in-production","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Running in production",["$","$L1b",null,{"id":"running-in-production"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"There’s a few ways to run Bracket (frontend and backend) in production, such as via docker-compose\nand Nomad. The frontend can also be deployed to a cloud service like Vercel. See the other pages in\nthis category for more details per platform."}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/deployment/nomad/index.html b/docs/deployment/nomad/index.html index d901e538..e1e94dd7 100644 --- a/docs/deployment/nomad/index.html +++ b/docs/deployment/nomad/index.html @@ -1,4 +1,4 @@ -NomadSkip to Content

    Nomad

    +}Skip to Content

    Nomad

    This section describes how to deploy Bracket (frontend and backend) to Nomad.

    First, make sure you have a running Nomad cluster. See the @@ -110,4 +110,4 @@ on how to achieve that.

    } } } -}
    Last updated on
    \ No newline at end of file +}
    Last updated on
    \ No newline at end of file diff --git a/docs/deployment/nomad/index.txt b/docs/deployment/nomad/index.txt index 1bb75ce7..8d8a0c9c 100644 --- a/docs/deployment/nomad/index.txt +++ b/docs/deployment/nomad/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","deployment","nomad",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/nomad","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/nomad","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","cCsf9AHqbcniXcfd4gv3F",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","deployment","nomad",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/nomad","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/nomad","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","KGx9p934I9ExjhuLZSr0U",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,12 +18,12 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] 1c:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Backend","id":"backend","depth":2},{"value":"Frontend","id":"frontend","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Nomad","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This section describes how to deploy Bracket (frontend and backend) to\n",["$","a",null,{"href":"https://www.nomadproject.io","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Nomad",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["First, make sure you have a running Nomad cluster. See the\n",["$","a",null,{"href":"https://developer.hashicorp.com/nomad/tutorials/enterprise/production-deployment-guide-vm-with-consul","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["production deployment guide",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," ","\non how to achieve that."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Then, you can use the following files describing the tasks for the backend and frontend."}],"\n",["$","h2",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"job"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"bracket-backend\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" datacenters"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"*\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" group"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"servers\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" count"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 1"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" network"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"uvicorn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" to"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 8400"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" service"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" provider"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"nomad\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"uvicorn\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" task"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"api\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" driver"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"docker\""}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" env"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ENVIRONMENT"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"PRODUCTION\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" PG_DSN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"postgresql://bracket_prod:bracket_prod@postgres:5432/bracket_prod\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" JWT_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"38af87ade31804cc115166f605586a57c6533eeb4342e66c5229f44a76afdde4\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" AUTO_RUN_MIGRATIONS"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"false\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" config"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"ghcr.io/evroon/bracket-backend\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"uvicorn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" command"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"pipenv\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" args"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"run\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"uvicorn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"bracket.app:app\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"--port\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \""}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"$${"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NOMAD_PORT_uvicorn"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"}"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"--host\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"0.0.0.0\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ]"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" resources"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" cpu"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 256"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" memory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 512"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"}"}]}]]}]]}]]}],"\n",["$","h2",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"job"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"bracket-frontend\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" datacenters"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"*\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" group"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"servers\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" count"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 1"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" network"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"nextjs\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" { }"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" service"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" provider"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"nomad\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"nextjs\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" task"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"api\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" driver"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"docker\""}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" env"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" NEXT_PUBLIC_API_BASE_URL"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"https://my.bracketdomain.com\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"xxxxx\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" NODE_ENV"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"production\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" config"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"ghcr.io/evroon/bracket-frontend\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"nextjs\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" args"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"yarn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":", "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"start\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":", "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"-p\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":", "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\""}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"$${"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NOMAD_PORT_nextjs"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"}"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" resources"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" cpu"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 256"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" memory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 512"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"}"}]}]]}]]}]]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Backend","id":"backend","depth":2},{"value":"Frontend","id":"frontend","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Nomad","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This section describes how to deploy Bracket (frontend and backend) to\n",["$","a",null,{"href":"https://www.nomadproject.io","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Nomad",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["First, make sure you have a running Nomad cluster. See the\n",["$","a",null,{"href":"https://developer.hashicorp.com/nomad/tutorials/enterprise/production-deployment-guide-vm-with-consul","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["production deployment guide",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," ","\non how to achieve that."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Then, you can use the following files describing the tasks for the backend and frontend."}],"\n",["$","h2",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"job"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"bracket-backend\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" datacenters"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"*\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" group"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"servers\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" count"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 1"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" network"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"uvicorn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" to"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 8400"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" service"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" provider"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"nomad\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"uvicorn\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" task"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"api\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" driver"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"docker\""}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" env"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ENVIRONMENT"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"PRODUCTION\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" PG_DSN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"postgresql://bracket_prod:bracket_prod@postgres:5432/bracket_prod\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" JWT_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"38af87ade31804cc115166f605586a57c6533eeb4342e66c5229f44a76afdde4\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" AUTO_RUN_MIGRATIONS"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"false\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" config"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"ghcr.io/evroon/bracket-backend\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"uvicorn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" command"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"pipenv\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" args"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"run\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"uvicorn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"bracket.app:app\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"--port\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \""}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"$${"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NOMAD_PORT_uvicorn"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"}"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"--host\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"0.0.0.0\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":","}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ]"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" resources"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" cpu"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 256"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" memory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 512"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"}"}]}]]}]]}]]}],"\n",["$","h2",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"job"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"bracket-frontend\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" datacenters"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"*\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" group"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"servers\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" count"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 1"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" network"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"nextjs\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" { }"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" service"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" provider"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"nomad\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" port"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"nextjs\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" task"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" \"api\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" driver"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"docker\""}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" env"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" NEXT_PUBLIC_API_BASE_URL"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"https://my.bracketdomain.com\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"xxxxx\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" NODE_ENV"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"production\""}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" config"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" image"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" \"ghcr.io/evroon/bracket-frontend\""}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ports"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"nextjs\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" args"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" ["}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"yarn\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":", "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"start\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":", "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\"-p\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":", "}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\""}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"$${"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NOMAD_PORT_nextjs"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"}"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"\""}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"]"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":" resources"}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" {"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" cpu"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 256"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" memory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":" ="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" 512"}]]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":" }"}]}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"}"}]}]]}]]}]]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/deployment/systemd/index.html b/docs/deployment/systemd/index.html index 65cca742..cb3d885b 100644 --- a/docs/deployment/systemd/index.html +++ b/docs/deployment/systemd/index.html @@ -1,4 +1,4 @@ -SystemdSkip to Content

    Systemd

    +}Skip to Content

    Systemd

    This section describes how to deploy Bracket (frontend and backend) as a Systemd service on Linux.

    This assumes:

      @@ -63,4 +63,4 @@ Below is a simple example of the service files for the backend and frontend:

      RestartSec=2s [Install] -WantedBy=multi-user.target
    Last updated on
    \ No newline at end of file +WantedBy=multi-user.target
    Last updated on
    \ No newline at end of file diff --git a/docs/deployment/systemd/index.txt b/docs/deployment/systemd/index.txt index fcb8d24e..fd3eb41e 100644 --- a/docs/deployment/systemd/index.txt +++ b/docs/deployment/systemd/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","deployment","systemd",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/systemd","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/systemd","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","yJBeYtaR-SOPa8sWis3mI",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","deployment","systemd",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","deployment/systemd","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","deployment/systemd","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","he0-MQL9mPG7Ck9IlQlL9",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,12 +18,12 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] 1c:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Backend","id":"backend","depth":2},{"value":"Frontend","id":"frontend","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Systemd","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This section describes how to deploy Bracket (frontend and backend) as a Systemd service on Linux."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This assumes:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["You have installed ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"yarn"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"pipenv"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":"You have a PostgreSQL cluster running."}],"\n",["$","li",null,{"className":"x:my-2","children":["You have cloned Bracket in ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"/var/lib/bracket"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":["You have created a new user called Bracket with the permissions to read\nand write in ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"/var/lib/bracket"}],"."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Now, You can run the application using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"systemd.service"}]," files.\nBelow is a simple example of the service files for the backend and frontend:"]}],"\n",["$","h2",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Unit]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Description"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"Bracket backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"syslog.target"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"network.target"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Service]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Type"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"simple"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"User"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WorkingDirectory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"/var/lib/bracket/backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"ExecStart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"pipenv run gunicorn -k uvicorn.workers.UvicornWorker bracket.app:app --bind localhost:8400 --workers "}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"1"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Environment"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},"children":"ENVIRONMENT"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"PRODUCTION"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"TimeoutSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"15"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Restart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"always"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"RestartSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"2s"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Install]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WantedBy"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"multi-user.target"}]]}]]}]]}]]}],"\n",["$","h2",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Unit]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Description"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"Bracket frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"syslog.target"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"network.target"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Service]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Type"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"simple"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"User"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WorkingDirectory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"/var/lib/bracket/frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"ExecStart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"/usr/local/bin/yarn start"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Environment"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},"children":"NODE_ENV"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"production"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"TimeoutSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"15"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Restart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"always"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"RestartSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"2s"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Install]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WantedBy"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"multi-user.target"}]]}]]}]]}]]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Backend","id":"backend","depth":2},{"value":"Frontend","id":"frontend","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Systemd","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This section describes how to deploy Bracket (frontend and backend) as a Systemd service on Linux."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This assumes:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["You have installed ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"yarn"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"pipenv"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":"You have a PostgreSQL cluster running."}],"\n",["$","li",null,{"className":"x:my-2","children":["You have cloned Bracket in ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"/var/lib/bracket"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":["You have created a new user called Bracket with the permissions to read\nand write in ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"/var/lib/bracket"}],"."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Now, You can run the application using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"systemd.service"}]," files.\nBelow is a simple example of the service files for the backend and frontend:"]}],"\n",["$","h2",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Unit]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Description"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"Bracket backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"syslog.target"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"network.target"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Service]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Type"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"simple"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"User"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WorkingDirectory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"/var/lib/bracket/backend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"ExecStart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"pipenv run gunicorn -k uvicorn.workers.UvicornWorker bracket.app:app --bind localhost:8400 --workers "}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"1"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Environment"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},"children":"ENVIRONMENT"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"PRODUCTION"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"TimeoutSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"15"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Restart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"always"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"RestartSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"2s"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Install]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WantedBy"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"multi-user.target"}]]}]]}]]}]]}],"\n",["$","h2",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Unit]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Description"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"Bracket frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"syslog.target"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"After"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"network.target"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Service]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Type"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"simple"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"User"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WorkingDirectory"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"/var/lib/bracket/frontend"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"ExecStart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"/usr/local/bin/yarn start"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Environment"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#E36209","--shiki-dark":"#FFAB70"},"children":"NODE_ENV"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"production"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"TimeoutSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"15"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"Restart"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"always"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"RestartSec"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"2s"}]]}],"\n",["$","span",null,{"children":" "}],"\n",["$","span",null,{"children":["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"[Install]"}]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#22863A","--shiki-dark":"#85E89D"},"children":"WantedBy"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"multi-user.target"}]]}]]}]]}]]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/index.html b/docs/index.html index 6417c5a5..67d79bcd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,4 +1,4 @@ -IntroductionSkip to Content
    DocsIntroduction

    Introduction

    +}Skip to Content
    DocsIntroduction

    Introduction

    Bracket is a tournament system meant to be easy to use. Bracket is written in async Python (with FastAPI) and Next.js as frontend using the Mantine library.

    @@ -48,5 +48,5 @@ starts with Swiss and determines a winner based on a knockoff (elimination) stag experience to a project with a real purpose.

    Quickstart

    To get started in selfhosting Bracket, follow the steps described -in quickstart.

    -

    To learn how to organize a tournament in Bracket, read the usage guide.

    Last updated on
    \ No newline at end of file +in quickstart.

    +

    To learn how to organize a tournament in Bracket, read the usage guide.

    Last updated on
    \ No newline at end of file diff --git a/docs/index.txt b/docs/index.txt index c4873d67..98ee9f64 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","hFjlpRfqGQjWedZeMmbty",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","L7dLCF3oLsPCP0i-KamTu",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,11 +18,11 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Overview of features","id":"overview-of-features","depth":2},{"value":"Why does this exist?","id":"why-does-this-exist","depth":2},{"value":"Quickstart","id":"quickstart","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Introduction","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Bracket",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," is a tournament system meant to be easy to use. Bracket\nis written in async Python (with ",["$","a",null,{"href":"https://fastapi.tiangolo.com","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["FastAPI",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],") and\n",["$","a",null,{"href":"https://nextjs.org/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Next.js",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," as frontend using the ",["$","a",null,{"href":"https://mantine.dev/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Mantine",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," library."]}],"\n",["$","h2",null,{"id":"overview-of-features","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Overview of features",["$","$L1b",null,{"id":"overview-of-features"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"It has the following features:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Supports ",["$","strong",null,{"children":"single elimination, round-robin and swiss"}]," formats."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Build your tournament structure"}]," with multiple stages that can have multiple groups/brackets in\nthem."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Drag-and-drop matches"}]," to different courts or reschedule them to another start time."]}],"\n",["$","li",null,{"className":"x:my-2","children":["Various ",["$","strong",null,{"children":"dashboard pages"}]," are available that can be presented to the public, customized with a\nlogo."]}],"\n",["$","li",null,{"className":"x:my-2","children":["Create/update ",["$","strong",null,{"children":"teams"}],", and add players to ",["$","strong",null,{"children":"teams"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":["Create ",["$","strong",null,{"children":"multiple clubs"}],", with ",["$","strong",null,{"children":"multiple tournaments"}]," per club."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Swiss tournaments"}]," can be handled dynamically, with automatic scheduling of matches."]}],"\n"]}],"\n",["$","h2",null,{"id":"why-does-this-exist","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Why does this exist?",["$","$L1b",null,{"id":"why-does-this-exist"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"There are plenty of tournament systems to be found online. So why does Bracket exist?"}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","strong",null,{"children":"Firstly"}],", there are ",["$","strong",null,{"children":"no complete open-source tournament systems to be found"}]," ",["$","a",null,{"href":"https://github.com/search?q=tournament%20system&type=repositories","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["on\ngithub",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],". Let me know if you find\none, I will list it here as alternative to Bracket. Furthermore, the closed-source tournament\nsystems that can be found online are typically payware, and ",["$","strong",null,{"children":"quite expensive"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","strong",null,{"children":"Secondly"}],", there is a ",["$","strong",null,{"children":"lack of tournament systems that support Swiss tournaments"}],". There are a\nfew that exist, but they’re typically quite ancient projects. Furthermore, AFAIK the Swiss\ntournament systems that exist usually only support Swiss, no other types of tournament elements\n(round-robin, elimination etc.). That is quite a limitation when you want to host a tournament that\nstarts with Swiss and determines a winner based on a knockoff (elimination) stage."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","strong",null,{"children":"Finally"}],", I developed this project to learn more about Next.js and apply my Python (e.g. FastAPI)\nexperience to a project with a real purpose."]}],"\n",["$","h2",null,{"id":"quickstart","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Quickstart",["$","$L1b",null,{"id":"quickstart"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To get started in selfhosting Bracket, follow the steps described\nin ",["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"quickstart"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To learn how to organize a tournament in Bracket, read the ",["$","$L14",null,{"href":"/docs/usage/guide","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"usage guide"}],"."]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Overview of features","id":"overview-of-features","depth":2},{"value":"Why does this exist?","id":"why-does-this-exist","depth":2},{"value":"Quickstart","id":"quickstart","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Introduction","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Bracket",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," is a tournament system meant to be easy to use. Bracket\nis written in async Python (with ",["$","a",null,{"href":"https://fastapi.tiangolo.com","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["FastAPI",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],") and\n",["$","a",null,{"href":"https://nextjs.org/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Next.js",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," as frontend using the ",["$","a",null,{"href":"https://mantine.dev/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Mantine",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," library."]}],"\n",["$","h2",null,{"id":"overview-of-features","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Overview of features",["$","$L1b",null,{"id":"overview-of-features"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"It has the following features:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Supports ",["$","strong",null,{"children":"single elimination, round-robin and swiss"}]," formats."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Build your tournament structure"}]," with multiple stages that can have multiple groups/brackets in\nthem."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Drag-and-drop matches"}]," to different courts or reschedule them to another start time."]}],"\n",["$","li",null,{"className":"x:my-2","children":["Various ",["$","strong",null,{"children":"dashboard pages"}]," are available that can be presented to the public, customized with a\nlogo."]}],"\n",["$","li",null,{"className":"x:my-2","children":["Create/update ",["$","strong",null,{"children":"teams"}],", and add players to ",["$","strong",null,{"children":"teams"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":["Create ",["$","strong",null,{"children":"multiple clubs"}],", with ",["$","strong",null,{"children":"multiple tournaments"}]," per club."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Swiss tournaments"}]," can be handled dynamically, with automatic scheduling of matches."]}],"\n"]}],"\n",["$","h2",null,{"id":"why-does-this-exist","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Why does this exist?",["$","$L1b",null,{"id":"why-does-this-exist"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"There are plenty of tournament systems to be found online. So why does Bracket exist?"}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","strong",null,{"children":"Firstly"}],", there are ",["$","strong",null,{"children":"no complete open-source tournament systems to be found"}]," ",["$","a",null,{"href":"https://github.com/search?q=tournament%20system&type=repositories","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["on\ngithub",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],". Let me know if you find\none, I will list it here as alternative to Bracket. Furthermore, the closed-source tournament\nsystems that can be found online are typically payware, and ",["$","strong",null,{"children":"quite expensive"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","strong",null,{"children":"Secondly"}],", there is a ",["$","strong",null,{"children":"lack of tournament systems that support Swiss tournaments"}],". There are a\nfew that exist, but they’re typically quite ancient projects. Furthermore, AFAIK the Swiss\ntournament systems that exist usually only support Swiss, no other types of tournament elements\n(round-robin, elimination etc.). That is quite a limitation when you want to host a tournament that\nstarts with Swiss and determines a winner based on a knockoff (elimination) stage."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":[["$","strong",null,{"children":"Finally"}],", I developed this project to learn more about Next.js and apply my Python (e.g. FastAPI)\nexperience to a project with a real purpose."]}],"\n",["$","h2",null,{"id":"quickstart","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Quickstart",["$","$L1b",null,{"id":"quickstart"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To get started in selfhosting Bracket, follow the steps described\nin ",["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"quickstart"}],"."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To learn how to organize a tournament in Bracket, read the ",["$","$L14",null,{"href":"/docs/usage/guide","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"usage guide"}],"."]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/running-bracket/configuration/index.html b/docs/running-bracket/configuration/index.html index 01287e91..1ecd6ae7 100644 --- a/docs/running-bracket/configuration/index.html +++ b/docs/running-bracket/configuration/index.html @@ -1,4 +1,4 @@ -ConfigurationSkip to Content
    DocsRunning BracketConfiguration

    Configuration

    +}Skip to Content
    DocsRunning BracketConfiguration

    Configuration

    Backend

    Copy ci.env to prod.env and fill in the values:

      @@ -67,4 +67,4 @@ analytics NEXT_PUBLIC_API_BASE_URL='https://api.bracket.com' ANALYTICS_SCRIPT_SRC='https://analytics.bracket.com/script.js' ANALYTICS_DATA_DOMAIN='bracket.com' -ANALYTICS_DATA_WEBSITE_ID='bracket.com'
    Last updated on
    \ No newline at end of file +ANALYTICS_DATA_WEBSITE_ID='bracket.com'
    Last updated on
    \ No newline at end of file diff --git a/docs/running-bracket/configuration/index.txt b/docs/running-bracket/configuration/index.txt index 7491df0b..39209508 100644 --- a/docs/running-bracket/configuration/index.txt +++ b/docs/running-bracket/configuration/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","running-bracket","configuration",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","running-bracket/configuration","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","running-bracket/configuration","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","FWkUBKLuw5_J1OWPwOP_5",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","running-bracket","configuration",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","running-bracket/configuration","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","running-bracket/configuration","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","IWXAKefUM1zFE9DwaSU6p",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,12 +18,12 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] 1c:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Backend","id":"backend","depth":2},{"value":"Backend: Example configuration file","id":"backend-example-configuration-file","depth":3},{"value":"Frontend","id":"frontend","depth":2},{"value":"Frontend: Example configuration file","id":"frontend-example-configuration-file","depth":3}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Configuration","$undefined"]}],"\n",["$","h2",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Copy ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ci.env"}]," to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"prod.env"}]," and fill in the values:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PG_DSN"}],": The URL of the PostgreSQL database"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"JWT_SECRET"}],": Create a random secret using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"openssl rand -hex 32"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGIN_REGEX"}],": Specify allowed frontend domain names for CORS (see the\n",["$","a",null,{"href":"https://fastapi.tiangolo.com/tutorial/cors/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["FastAPI docs",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],")"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_EMAIL"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_PASSWORD"}],": The credentials of the admin user, which is created when\ninitializing the database"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"SENTRY_DSN"}],": The ",["$","a",null,{"href":"https://sentry.io","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Sentry",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," DSN for monitoring and error tracking"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BASE_URL"}],": The base url of the API used for SSO"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ALLOW_USER_REGISTRATION"}],": Can be used to disallow user registration in the web app, currently\nused for production while bracket is still in beta"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ALLOW_INSECURE_HTTP_SSO"}],": Should not be used in production. Allows use of INSECURE requests for\nSSO auth."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"AUTO_RUN_MIGRATIONS"}],": Whether to run (alembic) migrations automatically on startup or not.\nMigrations can be applied manually using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"pipenv run alembic upgrade head"}],"."]}],"\n"]}],"\n",["$","h3",null,{"id":"backend-example-configuration-file","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Backend: Example configuration file",["$","$L1b",null,{"id":"backend-example-configuration-file"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This is an example of how the config file should look like:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"PG_DSN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'postgresql://bracket_ci:bracket_ci@localhost:5532/bracket_ci'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"JWT_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'60eed5c5dc7a919b8595a23d6c42ddd8274e4feea651dc028d9bee495bbb9acd'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"CORS_ORIGINS"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://bracket.mydomain.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"CORS_ORIGIN_REGEX"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://.*\\.vercel\\.app'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ADMIN_EMAIL"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'admin@example.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ADMIN_PASSWORD"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'some unused password'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"SENTRY_DSN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'my sentry dsn'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ALLOW_USER_REGISTRATION"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"false"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ALLOW_INSECURE_HTTP_SSO"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"false"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"CAPTCHA_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'xxx'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"AUTO_RUN_MIGRATIONS"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"true"}]]}]]}]]}]]}],"\n",["$","h2",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],": The HCaptcha key used for captcha challenges when creating new\naccounts. You get the secret when you create a new site in HCaptcha."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}],": The base URL of the backend API to which the frontend sends requests.\nFor example: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://api.bracket.com"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ANALYTICS_DATA_DOMAIN"}],": The ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"data-domain"}]," attribute passed to the script for Plausible\nanalytics"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ANALYTICS_DATA_WEBSITE_ID"}],": The ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"data-website-id"}]," attribute passed to the script for Umami\nanalytics"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ANALYTICS_SCRIPT_SRC"}],": The URL to the script for analytics purposes."]}],"\n"]}],"\n",["$","h3",null,{"id":"frontend-example-configuration-file","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Frontend: Example configuration file",["$","$L1b",null,{"id":"frontend-example-configuration-file"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["You can store the config in ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".env.local"}]," (as described in the ",["$","a",null,{"href":"https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables#loading-environment-variables","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Next docs",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],")."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This is an example of how the config file should look like:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'10000000-ffff-ffff-ffff-000000000001'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NEXT_PUBLIC_API_BASE_URL"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://api.bracket.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ANALYTICS_SCRIPT_SRC"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://analytics.bracket.com/script.js'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ANALYTICS_DATA_DOMAIN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'bracket.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ANALYTICS_DATA_WEBSITE_ID"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'bracket.com'"}]]}]]}]]}]]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"Backend","id":"backend","depth":2},{"value":"Backend: Example configuration file","id":"backend-example-configuration-file","depth":3},{"value":"Frontend","id":"frontend","depth":2},{"value":"Frontend: Example configuration file","id":"frontend-example-configuration-file","depth":3}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Configuration","$undefined"]}],"\n",["$","h2",null,{"id":"backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Backend",["$","$L1b",null,{"id":"backend"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Copy ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ci.env"}]," to ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"prod.env"}]," and fill in the values:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"PG_DSN"}],": The URL of the PostgreSQL database"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"JWT_SECRET"}],": Create a random secret using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"openssl rand -hex 32"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGIN_REGEX"}],": Specify allowed frontend domain names for CORS (see the\n",["$","a",null,{"href":"https://fastapi.tiangolo.com/tutorial/cors/","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["FastAPI docs",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],")"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_EMAIL"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ADMIN_PASSWORD"}],": The credentials of the admin user, which is created when\ninitializing the database"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"SENTRY_DSN"}],": The ",["$","a",null,{"href":"https://sentry.io","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Sentry",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}]," DSN for monitoring and error tracking"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"BASE_URL"}],": The base url of the API used for SSO"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ALLOW_USER_REGISTRATION"}],": Can be used to disallow user registration in the web app, currently\nused for production while bracket is still in beta"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ALLOW_INSECURE_HTTP_SSO"}],": Should not be used in production. Allows use of INSECURE requests for\nSSO auth."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"AUTO_RUN_MIGRATIONS"}],": Whether to run (alembic) migrations automatically on startup or not.\nMigrations can be applied manually using ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"pipenv run alembic upgrade head"}],"."]}],"\n"]}],"\n",["$","h3",null,{"id":"backend-example-configuration-file","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Backend: Example configuration file",["$","$L1b",null,{"id":"backend-example-configuration-file"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This is an example of how the config file should look like:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"PG_DSN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'postgresql://bracket_ci:bracket_ci@localhost:5532/bracket_ci'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"JWT_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'60eed5c5dc7a919b8595a23d6c42ddd8274e4feea651dc028d9bee495bbb9acd'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"CORS_ORIGINS"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://bracket.mydomain.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"CORS_ORIGIN_REGEX"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://.*\\.vercel\\.app'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ADMIN_EMAIL"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'admin@example.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ADMIN_PASSWORD"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'some unused password'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"SENTRY_DSN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'my sentry dsn'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ALLOW_USER_REGISTRATION"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"false"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ALLOW_INSECURE_HTTP_SSO"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"false"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"CAPTCHA_SECRET"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'xxx'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"AUTO_RUN_MIGRATIONS"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"true"}]]}]]}]]}]]}],"\n",["$","h2",null,{"id":"frontend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["Frontend",["$","$L1b",null,{"id":"frontend"}]]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],": The HCaptcha key used for captcha challenges when creating new\naccounts. You get the secret when you create a new site in HCaptcha."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}],": The base URL of the backend API to which the frontend sends requests.\nFor example: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://api.bracket.com"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ANALYTICS_DATA_DOMAIN"}],": The ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"data-domain"}]," attribute passed to the script for Plausible\nanalytics"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ANALYTICS_DATA_WEBSITE_ID"}],": The ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"data-website-id"}]," attribute passed to the script for Umami\nanalytics"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","code",null,{"className":"nextra-code","dir":"ltr","children":"ANALYTICS_SCRIPT_SRC"}],": The URL to the script for analytics purposes."]}],"\n"]}],"\n",["$","h3",null,{"id":"frontend-example-configuration-file","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Frontend: Example configuration file",["$","$L1b",null,{"id":"frontend-example-configuration-file"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["You can store the config in ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":".env.local"}]," (as described in the ",["$","a",null,{"href":"https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables#loading-environment-variables","target":"_blank","rel":"noreferrer","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":["Next docs",[" ",["$","svg",null,{"fill":"none","stroke":"currentColor","strokeLinecap":"round","strokeLinejoin":"round","strokeWidth":1.7,"viewBox":"0 0 24 24","height":"1em","className":"x:inline x:align-baseline x:shrink-0","children":[["$","path",null,{"d":"M7 17L17 7"}],["$","path",null,{"d":"M7 7h10v10"}]]}]]]}],")."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"This is an example of how the config file should look like:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NEXT_PUBLIC_HCAPTCHA_SITE_KEY"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'10000000-ffff-ffff-ffff-000000000001'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"NEXT_PUBLIC_API_BASE_URL"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://api.bracket.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ANALYTICS_SCRIPT_SRC"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'https://analytics.bracket.com/script.js'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ANALYTICS_DATA_DOMAIN"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'bracket.com'"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#24292E","--shiki-dark":"#E1E4E8"},"children":"ANALYTICS_DATA_WEBSITE_ID"}],["$","span",null,{"style":{"--shiki-light":"#D73A49","--shiki-dark":"#F97583"},"children":"="}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":"'bracket.com'"}]]}]]}]]}]]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/running-bracket/faq/index.html b/docs/running-bracket/faq/index.html index 8efca009..38198109 100644 --- a/docs/running-bracket/faq/index.html +++ b/docs/running-bracket/faq/index.html @@ -1,4 +1,4 @@ -FAQSkip to Content

    FAQ

    +}Skip to Content

    FAQ

    I ran Bracket with the default docker-compose.yml but I can’t connect to the backend?

    This is likely because you are trying to access Bracket on a different address than http://localhost:3000 in the browser. In that case, two things need to be changed:

    @@ -25,4 +25,4 @@ html {
  • You will also need to update CORS_ORIGINS to the address of the frontend, e.g. https://app.example.org.
  • -

    Please consult configuration docs for more information.

    Last updated on
    \ No newline at end of file +

    Please consult configuration docs for more information.

    Last updated on
    \ No newline at end of file diff --git a/docs/running-bracket/faq/index.txt b/docs/running-bracket/faq/index.txt index 9adb8e7c..0fa9062e 100644 --- a/docs/running-bracket/faq/index.txt +++ b/docs/running-bracket/faq/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","running-bracket","faq",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","running-bracket/faq","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","running-bracket/faq","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","a_hu03LYAUpn2mMD1RjF4",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","running-bracket","faq",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","running-bracket/faq","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","running-bracket/faq","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","mvvt40k9VxwK5GQ2w9hME",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,11 +18,11 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":[["$","$1",".0",{"children":["I ran Bracket with the default ",["$","code",".1",{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," but I can’t connect to the backend?"]}]],"id":"i-ran-bracket-with-the-default-docker-composeyml-but-i-cant-connect-to-the-backend","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["FAQ","$undefined"]}],"\n",["$","h2",null,{"id":"i-ran-bracket-with-the-default-docker-composeyml-but-i-cant-connect-to-the-backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":[["I ran Bracket with the default ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," but I can’t connect to the backend?"],["$","$L1b",null,{"id":"i-ran-bracket-with-the-default-docker-composeyml-but-i-cant-connect-to-the-backend"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This is likely because you are trying to access Bracket on a different address than\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"http://localhost:3000"}]," in the browser. In that case, two things need to be changed:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Change ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}]," to the address of the backend, e.g ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://api.example.org"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":["You will also need to update ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}]," to the address of the frontend, e.g.\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://app.example.org"}],"."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Please consult ",["$","$L14",null,{"href":"configuration","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"configuration docs"}]," for more information."]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":[["$","$1",".0",{"children":["I ran Bracket with the default ",["$","code",".1",{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," but I can’t connect to the backend?"]}]],"id":"i-ran-bracket-with-the-default-docker-composeyml-but-i-cant-connect-to-the-backend","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["FAQ","$undefined"]}],"\n",["$","h2",null,{"id":"i-ran-bracket-with-the-default-docker-composeyml-but-i-cant-connect-to-the-backend","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":[["I ran Bracket with the default ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker-compose.yml"}]," but I can’t connect to the backend?"],["$","$L1b",null,{"id":"i-ran-bracket-with-the-default-docker-composeyml-but-i-cant-connect-to-the-backend"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This is likely because you are trying to access Bracket on a different address than\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"http://localhost:3000"}]," in the browser. In that case, two things need to be changed:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Change ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"NEXT_PUBLIC_API_BASE_URL"}]," to the address of the backend, e.g ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://api.example.org"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":["You will also need to update ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"CORS_ORIGINS"}]," to the address of the frontend, e.g.\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://app.example.org"}],"."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Please consult ",["$","$L14",null,{"href":"configuration","className":"x:focus-visible:nextra-focus x:text-primary-600 x:underline x:hover:no-underline x:decoration-from-font x:[text-underline-position:from-font]","children":"configuration docs"}]," for more information."]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/running-bracket/quickstart/index.html b/docs/running-bracket/quickstart/index.html index e5338372..b437b151 100644 --- a/docs/running-bracket/quickstart/index.html +++ b/docs/running-bracket/quickstart/index.html @@ -1,4 +1,4 @@ -QuickstartSkip to Content

    Quickstart

    +}Skip to Content

    Quickstart

    To quickly run bracket to see how it works, clone it and run docker compose up:

    git clone git@github.com:evroon/bracket.git cd bracket @@ -28,4 +28,4 @@ be able to view bracket at http://localhost:
  • Password: aeGhoe1ahng2Aezai0Dei6Aih6dieHoo.
  • To insert dummy rows into the database, run:

    -
    sudo docker exec bracket-backend pipenv run ./cli.py create-dev-db
    Last updated on
    \ No newline at end of file +
    sudo docker exec bracket-backend pipenv run ./cli.py create-dev-db
    Last updated on
    \ No newline at end of file diff --git a/docs/running-bracket/quickstart/index.txt b/docs/running-bracket/quickstart/index.txt index a2768bc6..e18911f0 100644 --- a/docs/running-bracket/quickstart/index.txt +++ b/docs/running-bracket/quickstart/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","running-bracket","quickstart",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","running-bracket/quickstart","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","running-bracket/quickstart","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","xbZaYZ5xqti5hb2TGD2XR",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","running-bracket","quickstart",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","running-bracket/quickstart","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","running-bracket/quickstart","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","bsagbgewTyW3LR1DtPRn3",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,11 +18,11 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Quickstart","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To quickly run bracket to see how it works, clone it and run ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker compose up"}],":"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1b",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"git"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" clone"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" git@github.com:evroon/bracket.git"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"cd"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"sudo"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" docker"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" compose"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" up"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -d"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This will start the backend and frontend of Bracket, as well as a postgres instance. You should now\nbe able to view bracket at ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"http://localhost:3000"}],". You can log in with the following credentials:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Username: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"test@example.org"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":["Password: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"aeGhoe1ahng2Aezai0Dei6Aih6dieHoo"}],"."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"To insert dummy rows into the database, run:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1b",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"sudo"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" docker"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" exec"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket-backend"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" pipenv"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" run"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" ./cli.py"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" create-dev-db"}]]}]}]]}]]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Quickstart","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To quickly run bracket to see how it works, clone it and run ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"docker compose up"}],":"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1b",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"git"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" clone"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" git@github.com:evroon/bracket.git"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":"cd"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket"}]]}],"\n",["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"sudo"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" docker"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" compose"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" up"}],["$","span",null,{"style":{"--shiki-light":"#005CC5","--shiki-dark":"#79B8FF"},"children":" -d"}]]}]]}]]}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This will start the backend and frontend of Bracket, as well as a postgres instance. You should now\nbe able to view bracket at ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"http://localhost:3000"}],". You can log in with the following credentials:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Username: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"test@example.org"}]]}],"\n",["$","li",null,{"className":"x:my-2","children":["Password: ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"aeGhoe1ahng2Aezai0Dei6Aih6dieHoo"}],"."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"To insert dummy rows into the database, run:"}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1b",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":["$","span",null,{"children":[["$","span",null,{"style":{"--shiki-light":"#6F42C1","--shiki-dark":"#B392F0"},"children":"sudo"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" docker"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" exec"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" bracket-backend"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" pipenv"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" run"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" ./cli.py"}],["$","span",null,{"style":{"--shiki-light":"#032F62","--shiki-dark":"#9ECBFF"},"children":" create-dev-db"}]]}]}]]}]]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/usage/guide/index.html b/docs/usage/guide/index.html index 5495fb55..ca32aa02 100644 --- a/docs/usage/guide/index.html +++ b/docs/usage/guide/index.html @@ -1,4 +1,4 @@ -Usage guideSkip to Content
    DocsUsageUsage guide

    Usage guide

    +}Skip to Content
    DocsUsageUsage guide

    Usage guide

    Setting up a tournament in a tournament management system like Bracket typically involves several key steps. Below is a general guide on how to set up a tournament step-by-step.

    This guide assumes you are logged in to Bracket. This guide also assumes you use the demo of Bracket @@ -136,4 +136,4 @@ results.

    At the end of the tournament:

    • Announce Winners: View the standings page on the dashboard to see who the winners are
    • -
    Last updated on
    \ No newline at end of file +
    Last updated on
    \ No newline at end of file diff --git a/docs/usage/guide/index.txt b/docs/usage/guide/index.txt index f56139f2..a76427a0 100644 --- a/docs/usage/guide/index.txt +++ b/docs/usage/guide/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","usage","guide",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","usage/guide","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","usage/guide","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","QnaMGYgKop_Dqj9o0Iv8N",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","usage","guide",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","usage/guide","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","usage/guide","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","iW9Xq5LYuMIKErgxr_LfK",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,12 +18,12 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] 1b:I[9443,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"HeadingAnchor"] 1c:I[8033,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ToggleWordWrapButton"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"1. Create a New Tournament","id":"1-create-a-new-tournament","depth":2},{"value":"2. Register Teams and Players","id":"2-register-teams-and-players","depth":2},{"value":"Adding Players","id":"adding-players","depth":3},{"value":"Adding Teams","id":"adding-teams","depth":3},{"value":"3. Create Your Tournament Structure","id":"3-create-your-tournament-structure","depth":2},{"value":"5. Add Courts and Schedule Matches","id":"5-add-courts-and-schedule-matches","depth":2},{"value":"Create courts","id":"create-courts","depth":3},{"value":"Schedule matches","id":"schedule-matches","depth":3},{"value":"6. Define Rules and Scoring","id":"6-define-rules-and-scoring","depth":2},{"value":"7. Launch the Tournament","id":"7-launch-the-tournament","depth":2},{"value":"8. Start and Track Matches","id":"8-start-and-track-matches","depth":2},{"value":"9. Finalize the Tournament","id":"9-finalize-the-tournament","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Usage guide","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Setting up a tournament in a tournament management system like Bracket typically involves several\nkey steps. Below is a general guide on how to set up a tournament step-by-step."}],"\n",["$","div",null,{"className":"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200","children":[["$","div",null,{"className":"x:select-none x:text-xl x:ps-3 x:pe-2","style":{"fontFamily":"\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""},"data-pagefind-ignore":"all","children":["$","svg",null,{"viewBox":"0 0 20 20","fill":"currentColor","height":"20","className":"x:mt-1","children":["$","path",null,{"fillRule":"evenodd","d":"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"}]}]}],["$","div",null,{"className":"x:w-full x:min-w-0 x:leading-7","children":["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This guide assumes you are logged in to Bracket. This guide also assumes you use the demo of Bracket\n(",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://www.bracketapp.nl"}],"). If you are selfhosting Bracket, just use your own domain instead."]}]}]]}],"\n",["$","h2",null,{"id":"1-create-a-new-tournament","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["1. Create a New Tournament",["$","$L1b",null,{"id":"1-create-a-new-tournament"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["From the homepage (e.g. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://www.bracketapp.nl"}],"), press the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Create Tournament"}]," button.\nEnter the tournament’s metadata:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Tournament Name:"}]," Choose a clear, descriptive name."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Club"}]," Select the club you want this tournament to be part of. A club is nothing more than a\ncollection of tournaments that a user has access to. A default club was created when you created\nyour account. If you want to link this tournament to a new club, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"/clubs"}]," page."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Dashboard Link:"}]," The suffix of the URL (slug) where your tournament will be presented to the\npublic. For example, if you enter ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"my_tournament"}],", the outside world will be able to view the\nrankings and matches at ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://www.bracketapp.nl/tournaments/my_tournament/dashboard"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Start Time:"}]," The start time of the tournament decides when the first match will be played."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Match Duration:"}]," Default duration of matches. Can be customized per match."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Time Between Matches:"}]," Default time between matches, useful when teams have to move between\ncourts between matches which takes some time. Can be customized per match."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Allow anyone to see the dashboard of rounds and matches:"}]," Whether the dashboard is publicly\naccessible"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Allow players to be in multiple teams"}],": Usually players are only part of one team and Bracket\nwill not allow you to add players to be in multiple teams because that’s usually not what you\nwant. This option overrides that behavior and does allow one player to be in multiple teams."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Automatically assign courts to matches"}],": Whether you want to manually assign courts to matches\nor not."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Press ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Save"}]," when you’re finished. These settings can all be changed later."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Now you should have been able to create a tournament and you’re on the page of the tournament. In\nthe sidebar (menu on the left on desktop or at the top on mobile), you can navigate to different\npages responsible for different aspects of the tournament (courts, teams etc.)."}],"\n",["$","h2",null,{"id":"2-register-teams-and-players","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["2. Register Teams and Players",["$","$L1b",null,{"id":"2-register-teams-and-players"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"You need to add the teams (and optionally players) who will participate in the tournament."}],"\n",["$","div",null,{"className":"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200","children":[["$","div",null,{"className":"x:select-none x:text-xl x:ps-3 x:pe-2","style":{"fontFamily":"\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""},"data-pagefind-ignore":"all","children":"$5:props:children:1:props:children:1:props:children:4:props:children:0:props:children"}],["$","div",null,{"className":"x:w-full x:min-w-0 x:leading-7","children":[["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Adding players is optional and for display purposes only."}],["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Players are part of teams and therefore it can be useful to add players in the system to know which\nplayer plays in which team. In case you are organising a tournament where every person plays for\nthemselves, create teams with the names of these persons and don’t add any players to those teams."}]]}]]}],"\n",["$","h3",null,{"id":"adding-players","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Adding Players",["$","$L1b",null,{"id":"adding-players"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To add players, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Players"}]," page by clicking on the icon in the sidebar. Press the\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Add Player"}]," button. You can either create a single player or multiple players at once. To create\nmultiple players at once, put every player on a separate line, like this:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":["$","span",null,{"children":"Alex"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"Bob"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"Charlie"}]}]]}]]}]]}],"\n",["$","h3",null,{"id":"adding-teams","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Adding Teams",["$","$L1b",null,{"id":"adding-teams"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Adding teams works basically the same, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Teams"}]," page by clicking on the icon in the\nsidebar. Press the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Add Team"}]," button."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"You can either create a single team or multiple teams at once. To create a single team, enter the\nname. You can specify whether this team is active or not (this only matters for Swiss stage items\nand determines whether the team will be able to be scheduled in the next Swiss round or not)."}],"\n",["$","h2",null,{"id":"3-create-your-tournament-structure","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["3. Create Your Tournament Structure",["$","$L1b",null,{"id":"3-create-your-tournament-structure"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Now, decide on the format of your tournament. Bracket currently supports:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Single Elimination:"}]," Teams compete in matches, and the loser is eliminated after each round."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Round Robin:"}]," Every team plays against every other team exactly once."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Swiss:"}]," Teams play a set number of rounds, and the number of rounds is based on the number of\nteams. This is a more advanced type of tournament, because the matches (who plays vs who) are not\nknown at the start of the tournament, but created dynamically during the tournament based on the\noutcome of the previous rounds."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To create the tournament structure, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Stages"}]," page. Every stage consists of stage items."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"A common tournament consists of a group stage which contains multiple round-robing stage items (\ncalled pools), followed by a knock-out stage that consists of one or more single elimination stage\nitems. This requires the following steps:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Create the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Add Stage"}]," button twice to create two stages"]}],"\n",["$","li",null,{"className":"x:my-2","children":["In the first stage, create two stage items and select the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Round Robin"}]," type with half of the\nteams in your tournament each."]}],"\n",["$","li",null,{"className":"x:my-2","children":["In the second stage, create one stage item and select the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Single Elimination"}]," type with 2 teams\nadvancing from the previous stage."]}],"\n",["$","li",null,{"className":"x:my-2","children":"Assign all teams randomly to the round robin stage items in the first stage by clicking on the\nempty slots."}],"\n",["$","li",null,{"className":"x:my-2","children":["Assign ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"1st of Round Robin"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"2nd of Round Robin"}]," to the slots of the single elimination\nstage item."]}],"\n"]}],"\n",["$","h2",null,{"id":"5-add-courts-and-schedule-matches","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["5. Add Courts and Schedule Matches",["$","$L1b",null,{"id":"5-add-courts-and-schedule-matches"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To schedule the matches (assign the start time and courts), go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Planning"}]," page."]}],"\n",["$","h3",null,{"id":"create-courts","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Create courts",["$","$L1b",null,{"id":"create-courts"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Add all the courts of your tournament before scheduling matches. You just need to provide a name."}],"\n",["$","h3",null,{"id":"schedule-matches","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Schedule matches",["$","$L1b",null,{"id":"schedule-matches"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Press the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Schedule All Unscheduled Matches"}]," button. This will automatically assign courts and start\ntimes to all matches from the stage items you defined in the previous section."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Make sure that:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":"There are no conflicting matches (matches where the same team plays on multiple courts at the same\ntime)"}],"\n",["$","li",null,{"className":"x:my-2","children":"The planning is efficient by distributing the matches over all courts evenly."}],"\n",["$","li",null,{"className":"x:my-2","children":"The matches are scheduled in order of stage. E.g. group stage matches should be before the\nknock-off\nmatches since the knock-offs depend on the results of the group stage."}],"\n"]}],"\n",["$","h2",null,{"id":"6-define-rules-and-scoring","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["6. Define Rules and Scoring",["$","$L1b",null,{"id":"6-define-rules-and-scoring"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["In the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Ranking"}]," page, you can customize the ranking or create more rankings that can be assigned\nto individual matches. The ranking determines the final standing of each stage item. You can define\nthe points for a win, draw or loss. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Award points for match score"}]," adds the score of each team to\ntheir standing (e.g. if the result of a match was 21-5, team 1 receives 21 points and team 2\nreceives 5 points)."]}],"\n",["$","h2",null,{"id":"7-launch-the-tournament","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["7. Launch the Tournament",["$","$L1b",null,{"id":"7-launch-the-tournament"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Once all the teams are added and the bracket is set, you can launch the tournament. There is nothing\nyou need to do in Bracket, everything should be set up by now."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Ensure that:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Dashboard:"}]," Enable the public dashboard so participants and spectators can view the matches and\nresults live."]}],"\n"]}],"\n",["$","h2",null,{"id":"8-start-and-track-matches","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["8. Start and Track Matches",["$","$L1b",null,{"id":"8-start-and-track-matches"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"As the tournament progresses:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Track Scores:"}]," After each match, you’ll need to input scores or results. You can do this in\nthe ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Results"}]," page"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Next Stage:"}]," At the end of each stage (once all matches in the stage items have been played),\npress the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Next Stage"}]," button. This will show which teams will be assigned to the stage items of\nthe next stage."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Communicate with Players:"}]," Keep participants informed about upcoming matches, any delays, and\nresults."]}],"\n"]}],"\n",["$","h2",null,{"id":"9-finalize-the-tournament","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["9. Finalize the Tournament",["$","$L1b",null,{"id":"9-finalize-the-tournament"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"At the end of the tournament:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Announce Winners:"}]," View the standings page on the dashboard to see who the winners are"]}],"\n"]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[{"value":"1. Create a New Tournament","id":"1-create-a-new-tournament","depth":2},{"value":"2. Register Teams and Players","id":"2-register-teams-and-players","depth":2},{"value":"Adding Players","id":"adding-players","depth":3},{"value":"Adding Teams","id":"adding-teams","depth":3},{"value":"3. Create Your Tournament Structure","id":"3-create-your-tournament-structure","depth":2},{"value":"5. Add Courts and Schedule Matches","id":"5-add-courts-and-schedule-matches","depth":2},{"value":"Create courts","id":"create-courts","depth":3},{"value":"Schedule matches","id":"schedule-matches","depth":3},{"value":"6. Define Rules and Scoring","id":"6-define-rules-and-scoring","depth":2},{"value":"7. Launch the Tournament","id":"7-launch-the-tournament","depth":2},{"value":"8. Start and Track Matches","id":"8-start-and-track-matches","depth":2},{"value":"9. Finalize the Tournament","id":"9-finalize-the-tournament","depth":2}]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Usage guide","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Setting up a tournament in a tournament management system like Bracket typically involves several\nkey steps. Below is a general guide on how to set up a tournament step-by-step."}],"\n",["$","div",null,{"className":"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200","children":[["$","div",null,{"className":"x:select-none x:text-xl x:ps-3 x:pe-2","style":{"fontFamily":"\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""},"data-pagefind-ignore":"all","children":["$","svg",null,{"viewBox":"0 0 20 20","fill":"currentColor","height":"20","className":"x:mt-1","children":["$","path",null,{"fillRule":"evenodd","d":"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z"}]}]}],["$","div",null,{"className":"x:w-full x:min-w-0 x:leading-7","children":["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["This guide assumes you are logged in to Bracket. This guide also assumes you use the demo of Bracket\n(",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://www.bracketapp.nl"}],"). If you are selfhosting Bracket, just use your own domain instead."]}]}]]}],"\n",["$","h2",null,{"id":"1-create-a-new-tournament","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["1. Create a New Tournament",["$","$L1b",null,{"id":"1-create-a-new-tournament"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["From the homepage (e.g. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://www.bracketapp.nl"}],"), press the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Create Tournament"}]," button.\nEnter the tournament’s metadata:"]}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Tournament Name:"}]," Choose a clear, descriptive name."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Club"}]," Select the club you want this tournament to be part of. A club is nothing more than a\ncollection of tournaments that a user has access to. A default club was created when you created\nyour account. If you want to link this tournament to a new club, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"/clubs"}]," page."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Dashboard Link:"}]," The suffix of the URL (slug) where your tournament will be presented to the\npublic. For example, if you enter ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"my_tournament"}],", the outside world will be able to view the\nrankings and matches at ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"https://www.bracketapp.nl/tournaments/my_tournament/dashboard"}],"."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Start Time:"}]," The start time of the tournament decides when the first match will be played."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Match Duration:"}]," Default duration of matches. Can be customized per match."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Time Between Matches:"}]," Default time between matches, useful when teams have to move between\ncourts between matches which takes some time. Can be customized per match."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Allow anyone to see the dashboard of rounds and matches:"}]," Whether the dashboard is publicly\naccessible"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Allow players to be in multiple teams"}],": Usually players are only part of one team and Bracket\nwill not allow you to add players to be in multiple teams because that’s usually not what you\nwant. This option overrides that behavior and does allow one player to be in multiple teams."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Automatically assign courts to matches"}],": Whether you want to manually assign courts to matches\nor not."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Press ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Save"}]," when you’re finished. These settings can all be changed later."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Now you should have been able to create a tournament and you’re on the page of the tournament. In\nthe sidebar (menu on the left on desktop or at the top on mobile), you can navigate to different\npages responsible for different aspects of the tournament (courts, teams etc.)."}],"\n",["$","h2",null,{"id":"2-register-teams-and-players","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["2. Register Teams and Players",["$","$L1b",null,{"id":"2-register-teams-and-players"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"You need to add the teams (and optionally players) who will participate in the tournament."}],"\n",["$","div",null,{"className":"nextra-callout x:overflow-x-auto x:mt-6 x:flex x:rounded-lg x:border x:py-2 x:pe-4 x:contrast-more:border-current! x:border-blue-200 x:bg-blue-100 x:text-blue-900 x:dark:border-blue-200/30 x:dark:bg-blue-900/30 x:dark:text-blue-200","children":[["$","div",null,{"className":"x:select-none x:text-xl x:ps-3 x:pe-2","style":{"fontFamily":"\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\""},"data-pagefind-ignore":"all","children":"$5:props:children:1:props:children:1:props:children:4:props:children:0:props:children"}],["$","div",null,{"className":"x:w-full x:min-w-0 x:leading-7","children":[["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Adding players is optional and for display purposes only."}],["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Players are part of teams and therefore it can be useful to add players in the system to know which\nplayer plays in which team. In case you are organising a tournament where every person plays for\nthemselves, create teams with the names of these persons and don’t add any players to those teams."}]]}]]}],"\n",["$","h3",null,{"id":"adding-players","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Adding Players",["$","$L1b",null,{"id":"adding-players"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To add players, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Players"}]," page by clicking on the icon in the sidebar. Press the\n",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Add Player"}]," button. You can either create a single player or multiple players at once. To create\nmultiple players at once, put every player on a separate line, like this:"]}],"\n",["$","div",null,{"data-pagefind-ignore":"all","className":"nextra-code x:relative x:not-first:mt-6","children":["$undefined",["$","pre",null,{"className":"x:group x:focus-visible:nextra-focus x:overflow-x-auto x:subpixel-antialiased x:text-[.9em] x:bg-white x:dark:bg-black x:py-4 x:ring-1 x:ring-inset x:ring-gray-300 x:dark:ring-neutral-700 x:contrast-more:ring-gray-900 x:contrast-more:dark:ring-gray-50 x:contrast-more:contrast-150 x:rounded-md not-prose","tabIndex":"0","children":[["$","div",null,{"className":"x:group-hover:opacity-100 x:group-focus:opacity-100 x:opacity-0 x:transition x:focus-within:opacity-100 x:flex x:gap-1 x:absolute x:right-4 x:top-2","children":[["$","$L1c",null,{"children":["$","svg",null,{"viewBox":"0 0 24 24","fill":"currentColor","height":"1em","children":["$","path",null,{"d":"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}]}]}],false]}],["$","code",null,{"className":"nextra-code","dir":"ltr","children":[["$","span",null,{"children":["$","span",null,{"children":"Alex"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"Bob"}]}],"\n",["$","span",null,{"children":["$","span",null,{"children":"Charlie"}]}]]}]]}]]}],"\n",["$","h3",null,{"id":"adding-teams","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Adding Teams",["$","$L1b",null,{"id":"adding-teams"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Adding teams works basically the same, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Teams"}]," page by clicking on the icon in the\nsidebar. Press the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Add Team"}]," button."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"You can either create a single team or multiple teams at once. To create a single team, enter the\nname. You can specify whether this team is active or not (this only matters for Swiss stage items\nand determines whether the team will be able to be scheduled in the next Swiss round or not)."}],"\n",["$","h2",null,{"id":"3-create-your-tournament-structure","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["3. Create Your Tournament Structure",["$","$L1b",null,{"id":"3-create-your-tournament-structure"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Now, decide on the format of your tournament. Bracket currently supports:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Single Elimination:"}]," Teams compete in matches, and the loser is eliminated after each round."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Round Robin:"}]," Every team plays against every other team exactly once."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Swiss:"}]," Teams play a set number of rounds, and the number of rounds is based on the number of\nteams. This is a more advanced type of tournament, because the matches (who plays vs who) are not\nknown at the start of the tournament, but created dynamically during the tournament based on the\noutcome of the previous rounds."]}],"\n"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To create the tournament structure, go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Stages"}]," page. Every stage consists of stage items."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"A common tournament consists of a group stage which contains multiple round-robing stage items (\ncalled pools), followed by a knock-out stage that consists of one or more single elimination stage\nitems. This requires the following steps:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":["Create the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Add Stage"}]," button twice to create two stages"]}],"\n",["$","li",null,{"className":"x:my-2","children":["In the first stage, create two stage items and select the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Round Robin"}]," type with half of the\nteams in your tournament each."]}],"\n",["$","li",null,{"className":"x:my-2","children":["In the second stage, create one stage item and select the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Single Elimination"}]," type with 2 teams\nadvancing from the previous stage."]}],"\n",["$","li",null,{"className":"x:my-2","children":"Assign all teams randomly to the round robin stage items in the first stage by clicking on the\nempty slots."}],"\n",["$","li",null,{"className":"x:my-2","children":["Assign ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"1st of Round Robin"}]," and ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"2nd of Round Robin"}]," to the slots of the single elimination\nstage item."]}],"\n"]}],"\n",["$","h2",null,{"id":"5-add-courts-and-schedule-matches","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["5. Add Courts and Schedule Matches",["$","$L1b",null,{"id":"5-add-courts-and-schedule-matches"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["To schedule the matches (assign the start time and courts), go to the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Planning"}]," page."]}],"\n",["$","h3",null,{"id":"create-courts","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Create courts",["$","$L1b",null,{"id":"create-courts"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Add all the courts of your tournament before scheduling matches. You just need to provide a name."}],"\n",["$","h3",null,{"id":"schedule-matches","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-8 x:text-2xl","children":["Schedule matches",["$","$L1b",null,{"id":"schedule-matches"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["Press the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Schedule All Unscheduled Matches"}]," button. This will automatically assign courts and start\ntimes to all matches from the stage items you defined in the previous section."]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Make sure that:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":"There are no conflicting matches (matches where the same team plays on multiple courts at the same\ntime)"}],"\n",["$","li",null,{"className":"x:my-2","children":"The planning is efficient by distributing the matches over all courts evenly."}],"\n",["$","li",null,{"className":"x:my-2","children":"The matches are scheduled in order of stage. E.g. group stage matches should be before the\nknock-off\nmatches since the knock-offs depend on the results of the group stage."}],"\n"]}],"\n",["$","h2",null,{"id":"6-define-rules-and-scoring","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["6. Define Rules and Scoring",["$","$L1b",null,{"id":"6-define-rules-and-scoring"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":["In the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Ranking"}]," page, you can customize the ranking or create more rankings that can be assigned\nto individual matches. The ranking determines the final standing of each stage item. You can define\nthe points for a win, draw or loss. ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Award points for match score"}]," adds the score of each team to\ntheir standing (e.g. if the result of a match was 21-5, team 1 receives 21 points and team 2\nreceives 5 points)."]}],"\n",["$","h2",null,{"id":"7-launch-the-tournament","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["7. Launch the Tournament",["$","$L1b",null,{"id":"7-launch-the-tournament"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Once all the teams are added and the bracket is set, you can launch the tournament. There is nothing\nyou need to do in Bracket, everything should be set up by now."}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Ensure that:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Dashboard:"}]," Enable the public dashboard so participants and spectators can view the matches and\nresults live."]}],"\n"]}],"\n",["$","h2",null,{"id":"8-start-and-track-matches","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["8. Start and Track Matches",["$","$L1b",null,{"id":"8-start-and-track-matches"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"As the tournament progresses:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Track Scores:"}]," After each match, you’ll need to input scores or results. You can do this in\nthe ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Results"}]," page"]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Next Stage:"}]," At the end of each stage (once all matches in the stage items have been played),\npress the ",["$","code",null,{"className":"nextra-code","dir":"ltr","children":"Next Stage"}]," button. This will show which teams will be assigned to the stage items of\nthe next stage."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Communicate with Players:"}]," Keep participants informed about upcoming matches, any delays, and\nresults."]}],"\n"]}],"\n",["$","h2",null,{"id":"9-finalize-the-tournament","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-semibold x:target:animate-[fade-in_1.5s] x:mt-10 x:border-b x:pb-1 x:text-3xl nextra-border","children":["9. Finalize the Tournament",["$","$L1b",null,{"id":"9-finalize-the-tournament"}]]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"At the end of the tournament:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Announce Winners:"}]," View the standings page on the dashboard to see who the winners are"]}],"\n"]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/docs/usage/terminology/index.html b/docs/usage/terminology/index.html index abaf4dd6..978662ad 100644 --- a/docs/usage/terminology/index.html +++ b/docs/usage/terminology/index.html @@ -1,4 +1,4 @@ -TerminologySkip to Content
    DocsUsageTerminology

    Terminology

    +}Skip to Content
    DocsUsageTerminology

    Terminology

    Here is a list of commonly used terms and their meanings:

    • Club: A collection of tournaments that a user has access to.
    • @@ -36,4 +36,4 @@ elimination stage items. etc.
    • Swiss: Teams play a set number of rounds, and the number of rounds is based on the number of teams.
    • -
    Last updated on
    \ No newline at end of file +
    Last updated on
    \ No newline at end of file diff --git a/docs/usage/terminology/index.txt b/docs/usage/terminology/index.txt index 2a3f3e2d..941332b8 100644 --- a/docs/usage/terminology/index.txt +++ b/docs/usage/terminology/index.txt @@ -7,7 +7,7 @@ b:I[9665,[],"MetadataBoundary"] d:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["","docs","usage","terminology",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","usage/terminology","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","usage/terminology","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","qs4PJx0pCDPqjroD-0qKl",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["","docs","usage","terminology",""],"i":false,"f":[[["",{"children":["docs",{"children":[["mdxPath","usage/terminology","oc"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["docs",["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["mdxPath","usage/terminology","oc"],["$","$1","c",{"children":[null,["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":["$L5","$undefined",null,["$","$L6",null,{"children":["$L7","$L8",null]}]]}],{},null,false]},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","66O2kltK4r6f4dvGl7aZ6",{"children":[["$","$L9",null,{"children":"$La"}],null]}],["$","$Lb",null,{"children":"$Lc"}]]}],false]],"m":"$undefined","G":["$d","$undefined"],"s":false,"S":true} e:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ThemeConfigProvider"] f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"LastUpdated"] 10:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,10 +18,10 @@ f:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunk 15:I[3063,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Image"] 16:I[5109,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientNavbar"] 18:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"MobileNav"] -17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +17:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Le",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Lf",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$L10",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L11",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L12",null,{}],"$undefined",["$","$L13",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L14",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L16",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$17"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L14",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L15",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L14",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L14",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L18",null,{}],["$","$L3",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 19:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"Sidebar"] 1a:I[2675,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","473","static/chunks/473-b44808edc5e5750f.js","847","static/chunks/app/docs/%5B%5B...mdxPath%5D%5D/page-854b64bf3951cebb.js"],"ClientWrapper"] -5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Terminology","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Here is a list of commonly used terms and their meanings:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Club"}],": A collection of tournaments that a user has access to."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Court:"}]," A court represents a physical court (e.g. badminton court) but can be generalized to\nany resource that’s needed to play a match (e.g. a map in an online game)."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Dashboard"}],": A page accessible by the public where they can see the progression and results of a\ntournament."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Ranking:"}]," A ranking determines the calculation of the final standings of a stage item. For\nexample, how many points a team gets when they win a match."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Round Robin:"}]," Every team plays against every other team exactly once."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Single Elimination:"}]," Teams compete in matches, and the loser is eliminated after each round."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Stage:"}]," A stage is simply a collection of stage items. Winners of these stage items proceed to\nthe next stage. A common tournament consists of a group stage which contains multiple round-robing\nstage items (called pools), followed by a knock-out stage that consists of one or more single\nelimination stage items."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Stage Item:"}]," A stage item is part of a stage and can be of type round robin, single elimination\netc."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Swiss:"}]," Teams play a set number of rounds, and the number of rounds is based on the number of\nteams."]}],"\n"]}]]}]]}]]}] +5:["$","div",null,{"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width)","children":[["$","$L19",null,{"toc":[]}],["$","$L1a",null,{"toc":"$5:props:children:0:props:toc","metadata":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"bottomContent":"$undefined","children":[["$","div",null,{"id":"nextra-skip-nav"}],["$","main",null,{"data-pagefind-body":true,"children":[["$","h1",null,{"id":"$undefined","className":"x:tracking-tight x:text-slate-900 x:dark:text-slate-100 x:font-bold x:mt-2 x:text-4xl","children":["Terminology","$undefined"]}],"\n",["$","p",null,{"className":"x:not-first:mt-6 x:leading-7","children":"Here is a list of commonly used terms and their meanings:"}],"\n",["$","ul",null,{"className":"x:[:is(ol,ul)_&]:my-3 x:not-first:mt-6 x:list-disc x:ms-6","children":["\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Club"}],": A collection of tournaments that a user has access to."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Court:"}]," A court represents a physical court (e.g. badminton court) but can be generalized to\nany resource that’s needed to play a match (e.g. a map in an online game)."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Dashboard"}],": A page accessible by the public where they can see the progression and results of a\ntournament."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Ranking:"}]," A ranking determines the calculation of the final standings of a stage item. For\nexample, how many points a team gets when they win a match."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Round Robin:"}]," Every team plays against every other team exactly once."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Single Elimination:"}]," Teams compete in matches, and the loser is eliminated after each round."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Stage:"}]," A stage is simply a collection of stage items. Winners of these stage items proceed to\nthe next stage. A common tournament consists of a group stage which contains multiple round-robing\nstage items (called pools), followed by a knock-out stage that consists of one or more single\nelimination stage items."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Stage Item:"}]," A stage item is part of a stage and can be of type round robin, single elimination\netc."]}],"\n",["$","li",null,{"className":"x:my-2","children":[["$","strong",null,{"children":"Swiss:"}]," Teams play a set number of rounds, and the number of rounds is based on the number of\nteams."]}],"\n"]}]]}]]}]]}] a:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 7:null 8:null diff --git a/index.html b/index.html index 838b4d3e..1d78bedd 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -Bracket | Open-source tournament systemSkip to Content
    Skip to Content

    Free and open-source tournament management

    Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public.

    Design of the Bracket dashboard

    About Bracket

    There are many tournament management systems available online. However, only few (if any) are open-source and free to use, while still being feature-rich. Bracket aims to fill this gap. Bracket enables you to set up a tournament with as much flexibility as possible, while still being easy to use.

    How It Works

    Add teams

    Register teams (and optionally players). You can upload a CSV file with all teams and players at once.

    Choose format

    Add swiss, elimination or round-robing items to the tournament. Multiple stages are supported.

    Schedule matches

    Use the drag&drop interface to choose the courts and start times of the matches.

    Track scores & publish

    Enter the scores, customize the ranking and show it to the world on a dashboard.

    Features

    Bracket is flexible, yet feature-rich.

    Public Dashboard

    Show the schedule and rankings to the public.

    Flexible Tournament Builder

    Add multiple swiss, single elimination and round-robin elements to the tournament.

    Drag & Drop Interface

    Drag-and-drop matches to different courts or reschedule them to another start time.

    About services

    Take control of your tournaments

    Keep your tournament software in your own hands: no vendor lock-in, no analytics data being collected, transparent & open-source software.

    Launch Demo
    \ No newline at end of file +}

    Free and open-source tournament management

    Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public.

    Design of the Bracket dashboard

    About Bracket

    There are many tournament management systems available online. However, only few (if any) are open-source and free to use, while still being feature-rich. Bracket aims to fill this gap. Bracket enables you to set up a tournament with as much flexibility as possible, while still being easy to use.

    How It Works

    Add teams

    Register teams (and optionally players). You can upload a CSV file with all teams and players at once.

    Choose format

    Add swiss, elimination or round-robing items to the tournament. Multiple stages are supported.

    Schedule matches

    Use the drag&drop interface to choose the courts and start times of the matches.

    Track scores & publish

    Enter the scores, customize the ranking and show it to the world on a dashboard.

    Features

    Bracket is flexible, yet feature-rich.

    Public Dashboard

    Show the schedule and rankings to the public.

    Flexible Tournament Builder

    Add multiple swiss, single elimination and round-robin elements to the tournament.

    Drag & Drop Interface

    Drag-and-drop matches to different courts or reschedule them to another start time.

    About services

    Take control of your tournaments

    Keep your tournament software in your own hands: no vendor lock-in, no analytics data being collected, transparent & open-source software.

    Launch Demo
    \ No newline at end of file diff --git a/index.txt b/index.txt index 1947e506..6096d9c7 100644 --- a/index.txt +++ b/index.txt @@ -7,7 +7,7 @@ a:I[9665,[],"MetadataBoundary"] c:I[6614,[],""] :HL["/_next/static/css/ef867125344a7121.css","style"] :HL["/_next/static/css/b00e1efaf312b06b.css","style"] -0:{"P":null,"b":"T2wmQs7xuL_uWhQ94OcwG","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","head",null,{"children":[["$","script",null,{"type":"application/ld+json","children":"{\"@context\": \"https://schema.org\",\"@type\": \"WebSite\",\"name\": \"Bracket\",\"alternativeName\": [\"Bracket | Open-source tournament system\", \"Bracket documentation\", \"docs.bracketapp.nl\"],\"url\": \"https://docs.bracketapp.nl\"}"}],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","section",null,{"className":"container place-items-center py-20 md:py-24 gap-10","children":[["$","div",null,{"className":"text-center lg:text-start space-y-6","children":[["$","main",null,{"className":"text-5xl md:text-6xl font-bold","children":["$","h1",null,{"className":"inline","children":"Free and open-source tournament management"}]}],["$","p",null,{"className":"text-xl text-muted-foreground md:w-10/12 mx-auto lg:mx-0","children":"Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public."}],["$","div",null,{"className":"space-y-4 md:space-y-0 md:space-x-4","children":[["$","$L3",null,{"href":"https://www.bracketapp.nl/demo","className":"w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":"32px","height":"32px","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"tabler-icon tabler-icon-rocket ","style":{"marginRight":"0.5rem","height":"32px"},"children":["$undefined",["$","path","svg-0",{"d":"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"}],["$","path","svg-1",{"d":"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"}],["$","path","svg-2",{"d":"M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}],"$undefined"]}],"Launch Demo"]}],["$","$L3",null,{"href":"/docs","className":"w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":"24px","height":"24px","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"tabler-icon tabler-icon-library ","style":{"marginRight":"0.5rem","height":"32px"},"children":["$undefined",["$","path","svg-0",{"d":"M7 3m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z"}],["$","path","svg-1",{"d":"M4.012 7.26a2.005 2.005 0 0 0 -1.012 1.737v10c0 1.1 .9 2 2 2h10c.75 0 1.158 -.385 1.5 -1"}],["$","path","svg-2",{"d":"M11 7h5"}],["$","path","svg-3",{"d":"M11 10h6"}],["$","path","svg-4",{"d":"M11 13h3"}],"$undefined"]}],"Read the docs"]}]]}]]}],["$","div",null,{"className":"shadow-sm"}]]}],["$","section",null,{"className":"container place-items-center py-20","children":["$","$L4",null,{"alt":"Design of the Bracket dashboard","src":"/_next/static/media/bracket-screenshot-design.61232b01.png","width":1000,"height":1000}]}],["$","section",null,{"id":"about","className":"container py-16","children":["$","div",null,{"className":"bg-muted/50 border border-border rounded-lg py-12","children":["$","div",null,{"className":"px-6 flex flex-col-reverse md:flex-row gap-8 md:gap-12","children":["$","div",null,{"className":"bg-green-0 flex flex-col justify-between","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold","children":[["$","span",null,{"className":"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text","children":["About"," "]}],"Bracket"]}],["$","p",null,{"className":"text-xl text-muted-foreground mt-4","children":"There are many tournament management systems available online. However, only few (if any) are open-source and free to use, while still being feature-rich. Bracket aims to fill this gap. Bracket enables you to set up a tournament with as much flexibility as possible, while still being easy to use."}]]}]}]}]}],["$","section",null,{"id":"howItWorks","className":"container text-center py-24 sm:py-32","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold ","children":["How It"," ",["$","span",null,{"className":"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text","children":["Works"," "]}]]}],["$","p",null,{"className":"md:w-3/4 mx-auto mt-4 mb-8 text-xl text-muted-foreground"}],["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8","children":[["$","div","Add teams",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"d":"M12 10C14.2091 10 16 8.20914 16 6 16 3.79086 14.2091 2 12 2 9.79086 2 8 3.79086 8 6 8 8.20914 9.79086 10 12 10ZM5.5 13C6.88071 13 8 11.8807 8 10.5 8 9.11929 6.88071 8 5.5 8 4.11929 8 3 9.11929 3 10.5 3 11.8807 4.11929 13 5.5 13ZM21 10.5C21 11.8807 19.8807 13 18.5 13 17.1193 13 16 11.8807 16 10.5 16 9.11929 17.1193 8 18.5 8 19.8807 8 21 9.11929 21 10.5ZM12 11C14.7614 11 17 13.2386 17 16V22H7V16C7 13.2386 9.23858 11 12 11ZM5 15.9999C5 15.307 5.10067 14.6376 5.28818 14.0056L5.11864 14.0204C3.36503 14.2104 2 15.6958 2 17.4999V21.9999H5V15.9999ZM22 21.9999V17.4999C22 15.6378 20.5459 14.1153 18.7118 14.0056 18.8993 14.6376 19 15.307 19 15.9999V21.9999H22Z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Add teams"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Register teams (and optionally players). You can upload a CSV file with all teams and players at once."}]]}],["$","div","Choose format",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 256 256","children":["$undefined",[["$","path","0",{"d":"M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Choose format"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Add swiss, elimination or round-robing items to the tournament. Multiple stages are supported."}]]}],["$","div","Schedule matches",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 16 16","children":["$undefined",[["$","path","0",{"d":"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z","children":[]}],["$","path","1",{"d":"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Schedule matches"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Use the drag&drop interface to choose the courts and start times of the matches."}]]}],["$","div","Track scores & publish",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"fill":"none","d":"M0 0h24v24H0z","children":[]}],["$","path","1",{"d":"M18 9h-2.5c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1H18c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1zm-.5 4.5H16v-3h1.5v3zm-8 1.5H5v-2.5c0-.55.45-1 1-1h2v-1H5V9h3.5c.55 0 1 .45 1 1v1.5c0 .55-.45 1-1 1h-2v1h3V15zm3.25-4h-1.5V9.5h1.5V11zm0 3.5h-1.5V13h1.5v1.5zM22 6v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h3V2h2v2h6V2h2v2h3c1.1 0 2 .9 2 2zm-2 12V6h-7.25v1.5h-1.5V6H4v12h7.25v-1.5h1.5V18H20z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Track scores & publish"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Enter the scores, customize the ranking and show it to the world on a dashboard."}]]}]]}]]}],["$","section",null,{"className":"container py-16","children":["$","div",null,{"className":"grid lg:grid-cols-[1fr_1fr] gap-8 place-items-center","children":[["$","div",null,{"children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold","children":"Features"}],["$","p",null,{"className":"text-muted-foreground text-xl mt-4 mb-8 ","children":"Bracket is flexible, yet feature-rich."}],["$","div",null,{"className":"flex flex-col gap-8","children":[["$","div","Public Dashboard",{"ref":"$undefined","className":"rounded-lg border border-border bg-card text-card-foreground shadow-xs","children":["$","div",null,{"ref":"$undefined","className":"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4","children":[["$","div",null,{"className":"mt-1 bg-primary/50 p-1 rounded-2xl","children":["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"fill":"none","d":"M0 0h24v24H0z","children":[]}],["$","path","1",{"d":"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":48,"width":48,"xmlns":"http://www.w3.org/2000/svg"}]}],["$","div",null,{"children":[["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight","children":"Public Dashboard"}],["$","p",null,{"ref":"$undefined","className":"text-muted-foreground text-md mt-2","children":"Show the schedule and rankings to the public."}]]}]]}]}],["$","div","Flexible Tournament Builder",{"ref":"$undefined","className":"rounded-lg border border-border bg-card text-card-foreground shadow-xs","children":["$","div",null,{"ref":"$undefined","className":"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4","children":[["$","div",null,{"className":"mt-1 bg-primary/50 p-1 rounded-2xl","children":["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 512 512","children":["$undefined",[["$","path","0",{"fill":"none","strokeLinecap":"round","strokeMiterlimit":"10","strokeWidth":"32","d":"M393.87 190a32.1 32.1 0 0 1-45.25 0l-26.57-26.57a32.09 32.09 0 0 1 0-45.26L382.19 58a1 1 0 0 0-.3-1.64c-38.82-16.64-89.15-8.16-121.11 23.57-30.58 30.35-32.32 76-21.12 115.84a31.93 31.93 0 0 1-9.06 32.08L64 380a48.17 48.17 0 1 0 68 68l153.86-167a31.93 31.93 0 0 1 31.6-9.13c39.54 10.59 84.54 8.6 114.72-21.19 32.49-32 39.5-88.56 23.75-120.93a1 1 0 0 0-1.6-.26z","children":[]}],["$","circle","1",{"cx":"96","cy":"416","r":"16","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":48,"width":48,"xmlns":"http://www.w3.org/2000/svg"}]}],["$","div",null,{"children":[["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight","children":"Flexible Tournament Builder"}],["$","p",null,{"ref":"$undefined","className":"text-muted-foreground text-md mt-2","children":"Add multiple swiss, single elimination and round-robin elements to the tournament."}]]}]]}]}],["$","div","Drag & Drop Interface",{"ref":"$undefined","className":"rounded-lg border border-border bg-card text-card-foreground shadow-xs","children":["$","div",null,{"ref":"$undefined","className":"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4","children":[["$","div",null,{"className":"mt-1 bg-primary/50 p-1 rounded-2xl","children":["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"d":"M16 13L22.9641 17.0622L19.9913 17.9129L22.116 21.5933L20.384 22.5933L18.2592 18.9129L16.0359 21.0622L16 13ZM14 6H16V8H21C21.5523 8 22 8.44772 22 9V13H20V10H10V20H14V22H9C8.44772 22 8 21.5523 8 21V16H6V14H8V9C8 8.44772 8.44772 8 9 8H14V6ZM4 14V16H2V14H4ZM4 10V12H2V10H4ZM4 6V8H2V6H4ZM4 2V4H2V2H4ZM8 2V4H6V2H8ZM12 2V4H10V2H12ZM16 2V4H14V2H16Z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":48,"width":48,"xmlns":"http://www.w3.org/2000/svg"}]}],["$","div",null,{"children":[["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight","children":"Drag & Drop Interface"}],["$","p",null,{"ref":"$undefined","className":"text-muted-foreground text-md mt-2","children":"Drag-and-drop matches to different courts or reschedule them to another start time."}]]}]]}]}]]}]]}],["$","$L4",null,{"width":200,"height":200,"src":"/_next/static/media/builder_preview.78c96554.png","className":"w-[500px] md:w-[600px] lg:w-[700px] pt-15 lg:pt-25 object-contain","alt":"About services"}]]}]}],["$","section",null,{"id":"cta","className":"bg-muted/50 py-16 my-24 sm:my-32","children":["$","div",null,{"className":"container lg:grid lg:grid-cols-2 place-items-center","children":[["$","div",null,{"className":"lg:col-start-1","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold ","children":["Take",["$","span",null,{"className":"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text","children":[" ","control"," "]}],"of your tournaments"]}],["$","p",null,{"className":"text-muted-foreground text-xl mt-4 mb-8 lg:mb-0","children":"Keep your tournament software in your own hands: no vendor lock-in, no analytics data being collected, transparent & open-source software."}]]}],["$","$L3",null,{"href":"https://www.bracketapp.nl/demo","className":"w-full md:w-auto inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":"32px","height":"32px","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"tabler-icon tabler-icon-rocket ","style":{"marginRight":"0.5rem","height":"32px"},"children":["$undefined",["$","path","svg-0",{"d":"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"}],["$","path","svg-1",{"d":"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"}],["$","path","svg-2",{"d":"M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}],"$undefined"]}],"Launch Demo"]}]]}]}]],"$undefined",null,["$","$L5",null,{"children":["$L6","$L7",null]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","pP5Crwjz0qwQ3XCVP_JA1",{"children":[["$","$L8",null,{"children":"$L9"}],null]}],["$","$La",null,{"children":"$Lb"}]]}],false]],"m":"$undefined","G":["$c","$undefined"],"s":false,"S":true} +0:{"P":null,"b":"Xw7tuYg5b8RvSSBgL5-k_","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/ef867125344a7121.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/b00e1efaf312b06b.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","head",null,{"children":[["$","script",null,{"type":"application/ld+json","children":"{\"@context\": \"https://schema.org\",\"@type\": \"WebSite\",\"name\": \"Bracket\",\"alternativeName\": [\"Bracket | Open-source tournament system\", \"Bracket documentation\", \"docs.bracketapp.nl\"],\"url\": \"https://docs.bracketapp.nl\"}"}],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","section",null,{"className":"container place-items-center py-20 md:py-24 gap-10","children":[["$","div",null,{"className":"text-center lg:text-start space-y-6","children":[["$","main",null,{"className":"text-5xl md:text-6xl font-bold","children":["$","h1",null,{"className":"inline","children":"Free and open-source tournament management"}]}],["$","p",null,{"className":"text-xl text-muted-foreground md:w-10/12 mx-auto lg:mx-0","children":"Build tournament setups, add teams, schedule matches, keep track of scores and present ranking live to the public."}],["$","div",null,{"className":"space-y-4 md:space-y-0 md:space-x-4","children":[["$","$L3",null,{"href":"https://www.bracketapp.nl/demo","className":"w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":"32px","height":"32px","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"tabler-icon tabler-icon-rocket ","style":{"marginRight":"0.5rem","height":"32px"},"children":["$undefined",["$","path","svg-0",{"d":"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"}],["$","path","svg-1",{"d":"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"}],["$","path","svg-2",{"d":"M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}],"$undefined"]}],"Launch Demo"]}],["$","$L3",null,{"href":"/docs","className":"w-full md:w-1/3 h-12 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":"24px","height":"24px","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"tabler-icon tabler-icon-library ","style":{"marginRight":"0.5rem","height":"32px"},"children":["$undefined",["$","path","svg-0",{"d":"M7 3m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z"}],["$","path","svg-1",{"d":"M4.012 7.26a2.005 2.005 0 0 0 -1.012 1.737v10c0 1.1 .9 2 2 2h10c.75 0 1.158 -.385 1.5 -1"}],["$","path","svg-2",{"d":"M11 7h5"}],["$","path","svg-3",{"d":"M11 10h6"}],["$","path","svg-4",{"d":"M11 13h3"}],"$undefined"]}],"Read the docs"]}]]}]]}],["$","div",null,{"className":"shadow-sm"}]]}],["$","section",null,{"className":"container place-items-center py-20","children":["$","$L4",null,{"alt":"Design of the Bracket dashboard","src":"/_next/static/media/bracket-screenshot-design.61232b01.png","width":1000,"height":1000}]}],["$","section",null,{"id":"about","className":"container py-16","children":["$","div",null,{"className":"bg-muted/50 border border-border rounded-lg py-12","children":["$","div",null,{"className":"px-6 flex flex-col-reverse md:flex-row gap-8 md:gap-12","children":["$","div",null,{"className":"bg-green-0 flex flex-col justify-between","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold","children":[["$","span",null,{"className":"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text","children":["About"," "]}],"Bracket"]}],["$","p",null,{"className":"text-xl text-muted-foreground mt-4","children":"There are many tournament management systems available online. However, only few (if any) are open-source and free to use, while still being feature-rich. Bracket aims to fill this gap. Bracket enables you to set up a tournament with as much flexibility as possible, while still being easy to use."}]]}]}]}]}],["$","section",null,{"id":"howItWorks","className":"container text-center py-24 sm:py-32","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold ","children":["How It"," ",["$","span",null,{"className":"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text","children":["Works"," "]}]]}],["$","p",null,{"className":"md:w-3/4 mx-auto mt-4 mb-8 text-xl text-muted-foreground"}],["$","div",null,{"className":"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8","children":[["$","div","Add teams",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"d":"M12 10C14.2091 10 16 8.20914 16 6 16 3.79086 14.2091 2 12 2 9.79086 2 8 3.79086 8 6 8 8.20914 9.79086 10 12 10ZM5.5 13C6.88071 13 8 11.8807 8 10.5 8 9.11929 6.88071 8 5.5 8 4.11929 8 3 9.11929 3 10.5 3 11.8807 4.11929 13 5.5 13ZM21 10.5C21 11.8807 19.8807 13 18.5 13 17.1193 13 16 11.8807 16 10.5 16 9.11929 17.1193 8 18.5 8 19.8807 8 21 9.11929 21 10.5ZM12 11C14.7614 11 17 13.2386 17 16V22H7V16C7 13.2386 9.23858 11 12 11ZM5 15.9999C5 15.307 5.10067 14.6376 5.28818 14.0056L5.11864 14.0204C3.36503 14.2104 2 15.6958 2 17.4999V21.9999H5V15.9999ZM22 21.9999V17.4999C22 15.6378 20.5459 14.1153 18.7118 14.0056 18.8993 14.6376 19 15.307 19 15.9999V21.9999H22Z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Add teams"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Register teams (and optionally players). You can upload a CSV file with all teams and players at once."}]]}],["$","div","Choose format",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 256 256","children":["$undefined",[["$","path","0",{"d":"M160,112h48a16,16,0,0,0,16-16V48a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16V64H128a24,24,0,0,0-24,24v32H72v-8A16,16,0,0,0,56,96H24A16,16,0,0,0,8,112v32a16,16,0,0,0,16,16H56a16,16,0,0,0,16-16v-8h32v32a24,24,0,0,0,24,24h16v16a16,16,0,0,0,16,16h48a16,16,0,0,0,16-16V160a16,16,0,0,0-16-16H160a16,16,0,0,0-16,16v16H128a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h16V96A16,16,0,0,0,160,112ZM56,144H24V112H56v32Zm104,16h48v48H160Zm0-112h48V96H160Z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Choose format"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Add swiss, elimination or round-robing items to the tournament. Multiple stages are supported."}]]}],["$","div","Schedule matches",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 16 16","children":["$undefined",[["$","path","0",{"d":"M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M2 2a1 1 0 0 0-1 1v1h14V3a1 1 0 0 0-1-1zm13 3H1v9a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1z","children":[]}],["$","path","1",{"d":"M11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-2 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Schedule matches"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Use the drag&drop interface to choose the courts and start times of the matches."}]]}],["$","div","Track scores & publish",{"ref":"$undefined","className":"rounded-lg border border-border text-card-foreground shadow-xs bg-muted/50","children":[["$","div",null,{"ref":"$undefined","className":"flex flex-col space-y-1.5 p-6","children":["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight grid gap-4 place-items-center","children":[["$","svg",null,{"stroke":"currentColor","fill":"#a581e9","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"fill":"none","d":"M0 0h24v24H0z","children":[]}],["$","path","1",{"d":"M18 9h-2.5c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1H18c.55 0 1-.45 1-1v-4c0-.55-.45-1-1-1zm-.5 4.5H16v-3h1.5v3zm-8 1.5H5v-2.5c0-.55.45-1 1-1h2v-1H5V9h3.5c.55 0 1 .45 1 1v1.5c0 .55-.45 1-1 1h-2v1h3V15zm3.25-4h-1.5V9.5h1.5V11zm0 3.5h-1.5V13h1.5v1.5zM22 6v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h3V2h2v2h6V2h2v2h3c1.1 0 2 .9 2 2zm-2 12V6h-7.25v1.5h-1.5V6H4v12h7.25v-1.5h1.5V18H20z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":64,"width":64,"xmlns":"http://www.w3.org/2000/svg"}],"Track scores & publish"]}]}],["$","div",null,{"ref":"$undefined","className":"p-6 pt-0","children":"Enter the scores, customize the ranking and show it to the world on a dashboard."}]]}]]}]]}],["$","section",null,{"className":"container py-16","children":["$","div",null,{"className":"grid lg:grid-cols-[1fr_1fr] gap-8 place-items-center","children":[["$","div",null,{"children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold","children":"Features"}],["$","p",null,{"className":"text-muted-foreground text-xl mt-4 mb-8 ","children":"Bracket is flexible, yet feature-rich."}],["$","div",null,{"className":"flex flex-col gap-8","children":[["$","div","Public Dashboard",{"ref":"$undefined","className":"rounded-lg border border-border bg-card text-card-foreground shadow-xs","children":["$","div",null,{"ref":"$undefined","className":"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4","children":[["$","div",null,{"className":"mt-1 bg-primary/50 p-1 rounded-2xl","children":["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"fill":"none","d":"M0 0h24v24H0z","children":[]}],["$","path","1",{"d":"M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":48,"width":48,"xmlns":"http://www.w3.org/2000/svg"}]}],["$","div",null,{"children":[["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight","children":"Public Dashboard"}],["$","p",null,{"ref":"$undefined","className":"text-muted-foreground text-md mt-2","children":"Show the schedule and rankings to the public."}]]}]]}]}],["$","div","Flexible Tournament Builder",{"ref":"$undefined","className":"rounded-lg border border-border bg-card text-card-foreground shadow-xs","children":["$","div",null,{"ref":"$undefined","className":"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4","children":[["$","div",null,{"className":"mt-1 bg-primary/50 p-1 rounded-2xl","children":["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 512 512","children":["$undefined",[["$","path","0",{"fill":"none","strokeLinecap":"round","strokeMiterlimit":"10","strokeWidth":"32","d":"M393.87 190a32.1 32.1 0 0 1-45.25 0l-26.57-26.57a32.09 32.09 0 0 1 0-45.26L382.19 58a1 1 0 0 0-.3-1.64c-38.82-16.64-89.15-8.16-121.11 23.57-30.58 30.35-32.32 76-21.12 115.84a31.93 31.93 0 0 1-9.06 32.08L64 380a48.17 48.17 0 1 0 68 68l153.86-167a31.93 31.93 0 0 1 31.6-9.13c39.54 10.59 84.54 8.6 114.72-21.19 32.49-32 39.5-88.56 23.75-120.93a1 1 0 0 0-1.6-.26z","children":[]}],["$","circle","1",{"cx":"96","cy":"416","r":"16","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":48,"width":48,"xmlns":"http://www.w3.org/2000/svg"}]}],["$","div",null,{"children":[["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight","children":"Flexible Tournament Builder"}],["$","p",null,{"ref":"$undefined","className":"text-muted-foreground text-md mt-2","children":"Add multiple swiss, single elimination and round-robin elements to the tournament."}]]}]]}]}],["$","div","Drag & Drop Interface",{"ref":"$undefined","className":"rounded-lg border border-border bg-card text-card-foreground shadow-xs","children":["$","div",null,{"ref":"$undefined","className":"flex-col p-6 space-y-1 flex md:flex-row justify-start items-start gap-4","children":[["$","div",null,{"className":"mt-1 bg-primary/50 p-1 rounded-2xl","children":["$","svg",null,{"stroke":"currentColor","fill":"currentColor","strokeWidth":"0","viewBox":"0 0 24 24","children":["$undefined",[["$","path","0",{"d":"M16 13L22.9641 17.0622L19.9913 17.9129L22.116 21.5933L20.384 22.5933L18.2592 18.9129L16.0359 21.0622L16 13ZM14 6H16V8H21C21.5523 8 22 8.44772 22 9V13H20V10H10V20H14V22H9C8.44772 22 8 21.5523 8 21V16H6V14H8V9C8 8.44772 8.44772 8 9 8H14V6ZM4 14V16H2V14H4ZM4 10V12H2V10H4ZM4 6V8H2V6H4ZM4 2V4H2V2H4ZM8 2V4H6V2H8ZM12 2V4H10V2H12ZM16 2V4H14V2H16Z","children":[]}]]],"className":"$undefined","style":{"color":"$undefined"},"height":48,"width":48,"xmlns":"http://www.w3.org/2000/svg"}]}],["$","div",null,{"children":[["$","h3",null,{"ref":"$undefined","className":"text-2xl font-semibold leading-none tracking-tight","children":"Drag & Drop Interface"}],["$","p",null,{"ref":"$undefined","className":"text-muted-foreground text-md mt-2","children":"Drag-and-drop matches to different courts or reschedule them to another start time."}]]}]]}]}]]}]]}],["$","$L4",null,{"width":200,"height":200,"src":"/_next/static/media/builder_preview.78c96554.png","className":"w-[500px] md:w-[600px] lg:w-[700px] pt-15 lg:pt-25 object-contain","alt":"About services"}]]}]}],["$","section",null,{"id":"cta","className":"bg-muted/50 py-16 my-24 sm:my-32","children":["$","div",null,{"className":"container lg:grid lg:grid-cols-2 place-items-center","children":[["$","div",null,{"className":"lg:col-start-1","children":[["$","h2",null,{"className":"text-3xl md:text-4xl font-bold ","children":["Take",["$","span",null,{"className":"bg-linear-to-b from-primary/70 to-primary text-transparent bg-clip-text","children":[" ","control"," "]}],"of your tournaments"]}],["$","p",null,{"className":"text-muted-foreground text-xl mt-4 mb-8 lg:mb-0","children":"Keep your tournament software in your own hands: no vendor lock-in, no analytics data being collected, transparent & open-source software."}]]}],["$","$L3",null,{"href":"https://www.bracketapp.nl/demo","className":"w-full md:w-auto inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2","children":[["$","svg",null,{"ref":"$undefined","xmlns":"http://www.w3.org/2000/svg","width":"32px","height":"32px","viewBox":"0 0 24 24","fill":"none","stroke":"currentColor","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round","className":"tabler-icon tabler-icon-rocket ","style":{"marginRight":"0.5rem","height":"32px"},"children":["$undefined",["$","path","svg-0",{"d":"M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"}],["$","path","svg-1",{"d":"M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"}],["$","path","svg-2",{"d":"M15 9m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}],"$undefined"]}],"Launch Demo"]}]]}]}]],"$undefined",null,["$","$L5",null,{"children":["$L6","$L7",null]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,["$","$1","_l7iwZNZToe42aQkC4Np9",{"children":[["$","$L8",null,{"children":"$L9"}],null]}],["$","$La",null,{"children":"$Lb"}]]}],false]],"m":"$undefined","G":["$c","$undefined"],"s":false,"S":true} d:I[5776,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"ThemeConfigProvider"] e:I[6666,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"LastUpdated"] f:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"Search"] @@ -18,7 +18,7 @@ f:I[145,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks 15:I[4502,["545","static/chunks/c16f53c3-0f690431eda1568e.js","992","static/chunks/992-9f2a834e5e28bf55.js","863","static/chunks/863-3c5350a764c734fc.js","188","static/chunks/188-9b5a23d4a5b2a9bf.js","473","static/chunks/473-b44808edc5e5750f.js","177","static/chunks/app/layout-8d9f5321477f1b35.js"],"MobileNav"] 16:I[7555,[],""] 17:I[1295,[],""] -14:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Ld",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Le",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$Lf",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L10",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L11",null,{}],"$undefined",["$","$L12",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1748641699000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1748641699000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1748641699000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1748641699000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1748641699000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1748641699000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1748641699000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1748641699000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1748641699000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1748641699000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1748641699000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1748641699000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1748641699000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1748641699000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L3",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L4",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L13",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$14"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L3",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L4",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L3",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L15",null,{}],["$","$L16",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L17",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] +14:T481,M12 3C7.0275 3 3 7.12937 3 12.2276C3 16.3109 5.57625 19.7597 9.15374 20.9824C9.60374 21.0631 9.77249 20.7863 9.77249 20.5441C9.77249 20.3249 9.76125 19.5982 9.76125 18.8254C7.5 19.2522 6.915 18.2602 6.735 17.7412C6.63375 17.4759 6.19499 16.6569 5.8125 16.4378C5.4975 16.2647 5.0475 15.838 5.80124 15.8264C6.51 15.8149 7.01625 16.4954 7.18499 16.7723C7.99499 18.1679 9.28875 17.7758 9.80625 17.5335C9.885 16.9337 10.1212 16.53 10.38 16.2993C8.3775 16.0687 6.285 15.2728 6.285 11.7432C6.285 10.7397 6.63375 9.9092 7.20749 9.26326C7.1175 9.03257 6.8025 8.08674 7.2975 6.81794C7.2975 6.81794 8.05125 6.57571 9.77249 7.76377C10.4925 7.55615 11.2575 7.45234 12.0225 7.45234C12.7875 7.45234 13.5525 7.55615 14.2725 7.76377C15.9937 6.56418 16.7475 6.81794 16.7475 6.81794C17.2424 8.08674 16.9275 9.03257 16.8375 9.26326C17.4113 9.9092 17.76 10.7281 17.76 11.7432C17.76 15.2843 15.6563 16.0687 13.6537 16.2993C13.98 16.5877 14.2613 17.1414 14.2613 18.0065C14.2613 19.2407 14.25 20.2326 14.25 20.5441C14.25 20.7863 14.4188 21.0746 14.8688 20.9824C16.6554 20.364 18.2079 19.1866 19.3078 17.6162C20.4077 16.0457 20.9995 14.1611 21 12.2276C21 7.12937 16.9725 3 12 3Z2:["$","html",null,{"lang":"en","dir":"ltr","suppressHydrationWarning":true,"className":"dark","children":[["$","head",null,{"children":[[["$","script",null,{"async":true,"src":"https://analytics.bracketapp.nl/script.js","data-website-id":"9c5b1839-5cbd-4d04-b95b-a217838898a9","data-domains":"docs.bracketapp.nl"}],["$","link",null,{"rel":"icon","href":"/favicon.svg"}]],["$","style",null,{"children":":root {\n --nextra-primary-hue: 212deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 45%;\n --nextra-bg: 250,250,250;\n --nextra-content-width: 90rem;\n}\n.dark {\n --nextra-primary-hue: 204deg;\n --nextra-primary-saturation: 100%;\n --nextra-primary-lightness: 55%;\n --nextra-bg: 17,17,17;\n}\n::selection {\n background: hsla(var(--nextra-primary-hue),var(--nextra-primary-saturation),var(--nextra-primary-lightness),.3);\n}\nhtml {\n background: rgb(var(--nextra-bg));\n}"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"rgb(250,250,250)"}],["$","meta",null,{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"rgb(17,17,17)"}],"$undefined"]}],["$","body",null,{"children":["$","$Ld",null,{"value":{"darkMode":true,"docsRepositoryBase":"https://github.com/evroon/bracket/tree/master/docs","editLink":"Edit this page","feedback":{"content":"Question? Give us feedback","labels":"feedback"},"i18n":[],"lastUpdated":["$","$Le",null,{}],"navigation":{"next":true,"prev":true},"search":["$","$Lf",null,{}],"sidebar":{"defaultMenuCollapseLevel":2,"defaultOpen":true,"toggleButton":true},"themeSwitch":{"dark":"Dark","light":"Light","system":"System"},"toc":{"backToTop":"Scroll to top","float":true,"title":"On This Page"}},"children":["$","$L10",null,{"attribute":"class","disableTransitionOnChange":true,"children":[["$","$L11",null,{}],"$undefined",["$","$L12",null,{"pageMap":[{"name":"index","route":"/","frontMatter":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","openGraph":{"title":"Bracket | Open-source tournament system","description":"Bracket is a free and open source tournament system. Set up a tournament, add teams, schedule matches, track scores and present live rankings.","locale":"en_US","url":"https://docs.bracketapp.nl","siteName":"Bracket","images":[{"url":"https://docs.bracketapp.nl/bracket-social-image.png"}]}},"title":"Bracket | Open-source tournament system"},{"name":"docs","route":"/docs","children":[{"name":"index","route":"/docs","frontMatter":{"title":"Introduction","filePath":"content/index.mdx","timestamp":1751896655000},"title":"Introduction"},{"name":"api","route":"/docs/api","frontMatter":{"title":"API","filePath":"content/api.mdx","timestamp":1751896655000},"title":"API"},{"name":"community","route":"/docs/community","children":[{"name":"contributing","route":"/docs/community/contributing","frontMatter":{"title":"Contributing","filePath":"content/community/contributing.mdx","timestamp":1751896655000},"title":"Contributing"},{"name":"development","route":"/docs/community/development","frontMatter":{"title":"Development","filePath":"content/community/development.mdx","timestamp":1751896655000},"title":"Development"}],"title":"Community"},{"name":"deployment","route":"/docs/deployment","children":[{"name":"index","route":"/docs/deployment","frontMatter":{"title":"Deployment","filePath":"content/deployment/index.mdx","timestamp":1751896655000},"title":"Deployment"},{"name":"cloud-services","route":"/docs/deployment/cloud-services","frontMatter":{"title":"Cloud services","filePath":"content/deployment/cloud-services.mdx","timestamp":1751896655000},"title":"Cloud services"},{"name":"docker","route":"/docs/deployment/docker","frontMatter":{"title":"Docker","filePath":"content/deployment/docker.mdx","timestamp":1751896655000},"title":"Docker"},{"name":"nomad","route":"/docs/deployment/nomad","frontMatter":{"title":"Nomad","filePath":"content/deployment/nomad.mdx","timestamp":1751896655000},"title":"Nomad"},{"name":"systemd","route":"/docs/deployment/systemd","frontMatter":{"title":"Systemd","filePath":"content/deployment/systemd.mdx","timestamp":1751896655000},"title":"Systemd"}],"title":"Deployment"},{"name":"running-bracket","route":"/docs/running-bracket","children":[{"name":"configuration","route":"/docs/running-bracket/configuration","frontMatter":{"title":"Configuration","filePath":"content/running-bracket/configuration.mdx","timestamp":1751896655000},"title":"Configuration"},{"name":"faq","route":"/docs/running-bracket/faq","frontMatter":{"title":"FAQ","filePath":"content/running-bracket/faq.mdx","timestamp":1751896655000},"title":"FAQ"},{"name":"quickstart","route":"/docs/running-bracket/quickstart","frontMatter":{"title":"Quickstart","filePath":"content/running-bracket/quickstart.mdx","timestamp":1751896655000},"title":"Quickstart"}],"title":"Running Bracket"},{"name":"usage","route":"/docs/usage","children":[{"name":"guide","route":"/docs/usage/guide","frontMatter":{"title":"Usage guide","filePath":"content/usage/guide.mdx","timestamp":1751896655000},"title":"Usage guide"},{"name":"terminology","route":"/docs/usage/terminology","frontMatter":{"title":"Terminology","filePath":"content/usage/terminology.mdx","timestamp":1751896655000},"title":"Terminology"}],"title":"Usage"}],"title":"Docs"}],"navbar":["$","header",null,{"className":"nextra-navbar x:sticky x:top-0 x:z-30 x:w-full x:bg-transparent x:print:hidden x:max-md:[.nextra-banner:not([class$=hidden])~&]:top-(--nextra-banner-height)","children":[["$","div",null,{"className":"nextra-navbar-blur x:absolute x:-z-1 x:size-full nextra-border x:border-b x:backdrop-blur-md x:bg-nextra-bg/70"}],["$","nav",null,{"style":{"height":"var(--nextra-navbar-height)"},"className":"x:mx-auto x:flex x:max-w-(--nextra-content-width) x:items-center x:gap-4 x:pl-[max(env(safe-area-inset-left),1.5rem)] x:pr-[max(env(safe-area-inset-right),1.5rem)] x:justify-end","children":[["$","$L3",null,{"href":"/","className":"x:flex x:items-center x:me-auto x:transition-opacity x:focus-visible:nextra-focus x:hover:opacity-75","children":[["$","$L4",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Preview of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}],["$","$L13",null,{"className":"","children":[["$","a",null,{"href":"https://github.com/evroon/bracket","target":"_blank","rel":"noreferrer","children":[["$","svg",null,{"fill":"currentColor","viewBox":"3 3 18 18","height":"24","children":["$","path",null,{"d":"$14"}]}],false],"className":"x:focus-visible:nextra-focus"}],"$undefined","$undefined"]}]]}]]}],"footer":["$","footer",null,{"id":"footer","children":[["$","hr",null,{"className":"w-11/12 mx-auto"}],["$","section",null,{"className":"container py-20 grid grid-cols-2 md:grid-cols-4 xl:grid-cols-6 gap-x-12 gap-y-8","children":[["$","div",null,{"className":"col-span-full xl:col-span-2","children":["$","$L3",null,{"href":"/","className":"font-bold text-xl flex","children":[["$","$L4",null,{"width":36,"height":36,"src":"/_next/static/media/logo.a521d262.svg","className":"mr-2","alt":"Logo of Bracket"}],["$","b",null,{"className":"text-3xl","children":"Bracket"}]]}]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Intro"}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs","className":"opacity-60 hover:opacity-100","children":"Introduction"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/running-bracket/quickstart","className":"opacity-60 hover:opacity-100","children":"Quickstart"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Running Bracket"}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/running-bracket/configuration","className":"opacity-60 hover:opacity-100","children":"Configuration"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/deployment","className":"opacity-60 hover:opacity-100","children":"Deployment"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"About"}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/usage/guide","className":"opacity-60 hover:opacity-100","children":"Usage"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/running-bracket/faq","className":"opacity-60 hover:opacity-100","children":"FAQ"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"https://github.com/evroon/bracket/blob/master/LICENSE","className":"opacity-60 hover:opacity-100","children":"License"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"https://github.com/evroon/bracket/releases","className":"opacity-60 hover:opacity-100","children":"Releases"}]}]]}],["$","div",null,{"className":"flex flex-col gap-2","children":[["$","h3",null,{"className":"font-bold text-lg","children":"Community"}],["$","div",null,{"children":["$","$L3",null,{"href":"https://github.com/evroon/bracket","className":"opacity-60 hover:opacity-100","children":"GitHub"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/community/contributing/","className":"opacity-60 hover:opacity-100","children":"Contributing"}]}],["$","div",null,{"children":["$","$L3",null,{"href":"/docs/community/development/","className":"opacity-60 hover:opacity-100","children":"Development"}]}]]}]]}],["$","section",null,{"className":"container pb-14 text-center","children":["$","h3",null,{"children":["Bracket - Open-source Tournament System.",["$","br",null,{}],"Licensed under AGPL-v3.0. Copyright © ",2025," ","Bracket. Built with Nextra."]}]}]]}],"children":[["$","$L15",null,{}],["$","$L16",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L17",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]]}]}]}]]}] 9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 6:null 7:null