1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f4eb229d-1621-4d3d-a92a-989645da4e43",e._sentryDebugIdIdentifier="sentry-dbid-f4eb229d-1621-4d3d-a92a-989645da4e43")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1918],{5230:(e,t,r)=>{r.d(t,{UserMenuExtrasProvider:()=>o,x:()=>l});var n=r(95155),a=r(12115);let i=a.createContext(null);function o(e){let{items:t,children:r}=e;return(0,n.jsx)(i.Provider,{value:t,children:r})}function l(){return a.useContext(i)}},17174:(e,t,r)=>{r.d(t,{u7:()=>a});var n=r(88845);function a(){if("undefined"==typeof document)return!1;try{if(document.cookie.split("; ").includes("".concat("session_present","=1")))return!0;return null!==window.localStorage.getItem(n.rp)}catch(e){return!1}}},26281:(e,t,r)=>{r.d(t,{J:()=>a});var n=r(32587);function a(){return n.Ii.isNativePlatform()}},57515:(e,t,r)=>{r.d(t,{AdminPanelSlotProvider:()=>o,D:()=>l});var n=r(95155),a=r(12115);let i=a.createContext(null);function o(e){let{panel:t,children:r}=e;return(0,n.jsx)(i.Provider,{value:t,children:r})}function l(){return a.useContext(i)}},62238:(e,t,r)=>{r.d(t,{H:()=>l,PWAInstallProvider:()=>o});var n=r(95155),a=r(12115);let i=(0,a.createContext)(void 0),o=e=>{let{children:t}=e,[r,o]=(0,a.useState)(null),[l,c]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let e=e=>{e.preventDefault(),o(e),c(!1)};return window.addEventListener("beforeinstallprompt",e),()=>{window.removeEventListener("beforeinstallprompt",e)}},[]),(0,n.jsx)(i.Provider,{value:{deferredPrompt:r,setDeferredPrompt:o,isInstalled:l,setIsInstalled:c},children:t})},l=()=>{let e=(0,a.useContext)(i);if(void 0===e)throw Error("usePWAInstall must be used within a PWAInstallProvider");return e}},66794:(e,t,r)=>{function n(e){return"light"===e||"dark"===e||"system"===e}function a(e){document.cookie="".concat("theme","=").concat(e).concat("; Path=/; Max-Age=".concat(31536e3,"; SameSite=Lax"))}r.d(t,{nk:()=>n,o:()=>a})},69661:(e,t,r)=>{r.d(t,{OfflineWarmProvider:()=>L,K:()=>C});var n=r(95155),a=r(12115),i=r(54174),o=r(29343),l=r(99848);function c(){return"0590b3e49f8c86e9bf36ee4fb5cbc9955941dd02"}let u="offline-warm-complete.v1",s="offline-warm-attempt.v1",d={mode:"auto",manifestPath:"/offline-warm-paths.json",userEnabledStorageKey:"offline-warm-user-enabled.v1",defaultEnabled:!0};var f=r(72668),h=r(7512);async function w(e,t){var r;let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==(r=n.signal)?void 0:r.aborted)throw new DOMException("Warming cancelled","AbortError");let a=(0,h.ed)().runNetwork("pwa:".concat(e),t,{...n,priority:"warming"});try{return await a.ready}finally{a.release()}}async function m(e,t){var r;let n=null==(r=e.body)?void 0:r.getReader();if(n){let e=0;try{for(;;){let r=await n.read();if(r.done)break;e+=r.value.byteLength,null==t||t(e)}}finally{n.releaseLock()}}return e.ok}function g(e){try{return new URL(e,"".concat(f.JR.replace(/\/+$/,""),"/")).toString()}catch(e){return null}}async function y(e){try{return await w("api:".concat(e),async(t,r)=>{let n=await fetch(e,{signal:t,credentials:"omit",redirect:"follow",headers:{Accept:"application/json"},priority:"low"});return m(n,r)})}catch(e){return!1}}async function v(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3;for(let r=0;r<t;r+=1){try{if(await w("asset:".concat(e),async(t,r)=>{let n=await fetch(e,{signal:t,credentials:"same-origin",redirect:"follow",priority:"low"});return m(n,r)}))return!0}catch(e){}r<t-1&&await new Promise(e=>setTimeout(e,250*(r+1)))}return!1}let p=0;async function b(e,t,r,n){var a;let i=null==(a=e.body)?void 0:a.getReader();if(!i){if(null==r?void 0:r.aborted)throw new DOMException("Warming cancelled","AbortError");return""}let o=()=>{i.cancel().catch(()=>void 0)};null==r||r.addEventListener("abort",o,{once:!0});try{let a=e.headers.get("content-length");if(null!==a&&/^\d+$/.test(a)&&Number(a)>t)throw RangeError("Warm document exceeds the HTML byte limit");let o=new Uint8Array(t),l=0;for(;;){if(null==r?void 0:r.aborted)throw new DOMException("Warming cancelled","AbortError");let{done:e,value:a}=await i.read();if(null==r?void 0:r.aborted)throw new DOMException("Warming cancelled","AbortError");
1if(e)break;if(a.byteLength>t-l)throw RangeError("Warm document exceeds the HTML byte limit");o.set(a,l),l+=a.byteLength,null==n||n(l)}return new TextDecoder().decode(o.subarray(0,l))}catch(e){throw o(),e}finally{null==r||r.removeEventListener("abort",o),i.releaseLock()}}async function k(e,t){var r;let n=null!=(r=t.maxBytes)?r:2097152;if(!Number.isSafeInteger(n)||n<=0||n>2097152)throw RangeError("Invalid warm document byte limit");return w("document:".concat(e,":").concat(p++),async(r,a)=>{var i;let l=await (null==(i=t.cachedResponse)?void 0:i.call(t));if(null==r?void 0:r.aborted)throw new DOMException("Warming cancelled","AbortError");let c=null!=l?l:await fetch(e,{signal:r,credentials:o.J4,redirect:"follow",headers:{Accept:o.XR},priority:"low"});if(!c.ok)return await m(c,a),{ok:!1};try{let e=await b(c,n,r,a);if(await t.consumeHtml(e,r),null==r?void 0:r.aborted)throw new DOMException("Warming cancelled","AbortError");return{ok:!0}}catch(e){return{ok:!1,bodyIncomplete:!0}}},{signal:t.signal,reservationBytes:8*n})}async function E(e,t,r){if(0===e.length)return;let n=0,a=async()=>{for(;!r();){let r=n;if(n+=1,r>=e.length)return;try{await t(e[r])}catch(e){}}};await Promise.all(Array.from({length:Math.min(6,e.length)},a))}let S=(0,a.createContext)(void 0);async function x(e){try{let t=await fetch(e,{cache:"no-store"});if(!t.ok)return null;return await t.json()}catch(e){return null}}async function I(e){let t,r;if("undefined"==typeof caches)return 0;try{t=await caches.open(o.c7)}catch(e){return 0}let n=window.location.origin;try{let e=await t.keys();r=new Set(e.map(e=>{try{let t=new URL(e.url);return t.pathname+t.search}catch(t){return e.url}}))}catch(e){return 0}let a=0;for(let t of e)try{let e=new URL(t,n);r.has(e.pathname+e.search)&&(a+=1)}catch(e){r.has(t)&&(a+=1)}return a}async function A(){if("undefined"==typeof caches)return 0;try{let e=await caches.open(o.Le);return(await e.keys()).length}catch(e){return 0}}async function P(){if("undefined"==typeof caches)return 0;try{let e=await caches.open(o.sZ);return(await e.keys()).length}catch(e){return 0}}function W(){try{window.localStorage.removeItem(u)}catch(e){}}async function M(){return"serviceWorker"in navigator&&(await navigator.serviceWorker.ready,!!navigator.serviceWorker.controller||new Promise(e=>{let t=setTimeout(()=>e(!!navigator.serviceWorker.controller),3e3);navigator.serviceWorker.addEventListener("controllerchange",()=>{clearTimeout(t),e(!0)},{once:!0})}))}function L(e){let{children:t,mode:f=d.mode,manifestPath:h=d.manifestPath,userEnabledStorageKey:w=d.userEnabledStorageKey,defaultEnabled:m=d.defaultEnabled}=e,{user:p,isLoading:b}=(0,i.Jd)(),L=(0,l.j)(),C=(0,a.useRef)(L),D=(0,a.useRef)(null);C.current=L;let[O,R]=(0,a.useState)(!1),[N,j]=(0,a.useState)(m),[_,J]=(0,a.useState)("idle"),[T,U]=(0,a.useState)(0),[V,G]=(0,a.useState)(0),[H,B]=(0,a.useState)(0),[K,Z]=(0,a.useState)(0),[F,$]=(0,a.useState)(!1);(0,a.useEffect)(()=>{$(!0)},[]);let q=F&&"serviceWorker"in navigator;(0,a.useEffect)(()=>{if(!F||!("serviceWorker"in navigator))return;let e=()=>Z(e=>e+1);return navigator.serviceWorker.addEventListener("controllerchange",e),()=>{navigator.serviceWorker.removeEventListener("controllerchange",e)}},[F]),(0,a.useEffect)(()=>{if(F){if("manual"===f)return void R(function(e){try{return"true"===window.localStorage.getItem(e)}catch(e){return!1}}(w));"optional"===f&&j(function(e,t){try{let r=window.localStorage.getItem(e);if(null===r)return t;return"true"===r}catch(e){return t}}(w,m))}},[m,f,F,w]);let X=(0,a.useCallback)(()=>{W(),J("idle"),U(0),G(0)},[]),z=(0,a.useCallback)(()=>{if("manual"===f){try{window.localStorage.setItem(w,"true")}catch(e){}R(!0),X(),B(e=>e+1)}},[f,X,w]),Q=(0,a.useCallback)(e=>{if("optional"===f){try{window.localStorage.setItem(w,e?"true":"false")}catch(e){}j(e),X(),(async()=>{if(!e)return await (0,o.Zp)();await (0,o.Zp)(),B(e=>e+1)})()}},[f,X,w]);(0,a.useEffect)(()=>{if(!F||"never"===f||L||!("serviceWorker"in navigator)||"never"===f||"optional"===f&&!N||"manual"===f&&!O||"logged-in-only"===f&&(b||!p)||function(){let e=navigator.connection;return!!((null==e?void 0:e.saveData)||"string"==typeof(null==e?void 0:e.effectiveType)&&/(^|\b)2g\b/.test(e.effectiveType))}())return;let e=!1,t=new AbortController,n=function(){let e,t=!1,n=0,a=new Map,i=t=>
1{for(let r of(null==e||e.terminate(),e=void 0,a.values()))r.reject(t);a.clear()};return{extract:(o,l)=>t?Promise.reject(new DOMException("Warming cancelled","AbortError")):new Promise((t,c)=>{try{e||((e=new Worker(r.tu(new URL(r.p+r.u(4203),r.b)))).onmessage=e=>{var t;let r=a.get(e.data.id);r&&(a.delete(e.data.id),e.data.error||!e.data.urls?r.reject(Error(null!=(t=e.data.error)?t:"Invalid discovery response")):r.resolve(e.data.urls))},e.onerror=e=>{e.preventDefault(),i(Error("Image discovery worker failed"))},e.onmessageerror=()=>i(Error("Invalid image discovery message")));let u=n++;a.set(u,{resolve:t,reject:c});try{e.postMessage({id:u,html:o,origin:l})}catch(e){a.delete(u),c(e)}}catch(e){c(e)}}),close(){t=!0,i(new DOMException("Warming cancelled","AbortError"))}}}(),a=!1;return(async()=>{var r,i,l;if(await ("complete"===document.readyState?Promise.resolve():new Promise(e=>{window.addEventListener("load",()=>e(),{once:!0})})),e||C.current||(D.current||(D.current=new Promise(e=>setTimeout(e,5e3))),await D.current,e||C.current))return;let d=await M();if(e||C.current)return;let f=await x(h);if(!f||!Array.isArray(f.paths)||0===f.paths.length)return;let w=window.location.origin,m=f.paths.filter(e=>"string"==typeof e&&e.length>0),p=m.length,b=new Map,S=e=>{let{key:t,width:r}=function(e,t){try{let r=new URL(e,t);return{key:function(e){if("/_next/image"===e.pathname){var t;return"img:".concat(null!=(t=e.searchParams.get("url"))?t:e.href)}return"static:".concat(e.pathname)}(r),width:function(e){let t=e.searchParams.get("w");if(!t)return 0;let r=Number.parseInt(t,10);return Number.isFinite(r)?r:0}(r)}}catch(t){return{key:"raw:".concat(e),width:0}}}(e,w),n=b.get(t);return(!n||r>n.width)&&b.set(t,{url:e,width:r}),t};for(let e of null!=(r=f.assets)?r:[])"string"==typeof e&&e.length>0&&S(e);let L=function(){try{let e=window.localStorage.getItem(u);if(!e)return null;let t=JSON.parse(e);if("string"!=typeof t.buildId||"string"!=typeof t.manifestGeneratedAt||"number"!=typeof t.total||"number"!=typeof t.cac
1hedDocs||"number"!=typeof t.cachedImages||"number"!=typeof t.imageCount||t.buildId!==c())return null;return t}catch(e){return null}}();if(L&&L.manifestGeneratedAt===f.generatedAt&&L.total===p){let t=await I(m),r=await A();if(e||C.current)return;if(L.cachedDocs>0&&t>=L.cachedDocs&&r>=L.cachedImages){e||(G(p),U(p),J("complete"));return}W()}if(!d)return;e||(W(),G(p),U(0),J("running"));let O=()=>e||C.current,R=window.location.pathname,N=m.includes(R),j=N?[R,...m.filter(e=>e!==R)]:m,_=function(e){try{let t=window.localStorage.getItem(s);if(!t)return!1;let r=JSON.parse(t);return r.buildId===c()&&r.manifestGeneratedAt===e}catch(e){return!1}}(f.generatedAt),T=null;if(_&&"undefined"!=typeof caches)try{T=await caches.open(o.c7)}catch(e){T=null}let V=0;if(_){let t=null!=(i=null==L?void 0:L.imageCount)?i:0;t>0&&!e&&G(p+t),V=await I(m)+Math.min(await A(),t),e||U(V)}let H=0,B=0,K=new Set;await E(j,async r=>{let i=r===R&&N;try{let e=T,o=await k(r,{signal:t.signal,cachedResponse:e?()=>e.match(r,{ignoreVary:!0}):void 0,consumeHtml:async(e,t)=>{if(!e)return;let r=await n.extract(e,w);if(null==t||!t.aborted)for(let e of r){let t=S(e);i&&K.add(t)}}});o.bodyIncomplete&&(a=!0),o.ok&&(B+=1)}catch(e){a=!0}H+=1,e||U(Math.max(H,V))},O),a||!(H>=j.length)||e||C.current||function(e){try{window.localStorage.setItem(s,JSON.stringify({buildId:c(),manifestGeneratedAt:e}))}catch(e){}}(f.generatedAt);let Z=Array.from(b.entries()),F=[...Z.filter(e=>{let[t]=e;return K.has(t)}),...Z.filter(e=>{let[t]=e;return!K.has(t)})].map(e=>{let[,t]=e;return t.url});F.length>0&&!e&&G(p+F.length);let $=0;await E(F,async t=>{let r=!1;try{_&&"undefined"!=typeof caches&&(r=!!await caches.match(t,{ignoreVary:!0})),r||(r=await v(t))}catch(e){}r&&t.startsWith("/_next/image")&&($+=1),H+=1,e||U(Math.max(H,V))},O);let q=(null!=(l=f.apiPaths)?l:[]).filter(e=>"string"==typeof e&&e.length>0).map(g).filter(e=>null!==e);q.length>0&&!e&&G(p+F.length+q.length);let X=0;if(await E(q,async t=>{await y(t)&&(X+=1),H+=1,e||U(Math.max(H,V))},O),e||C.current){e||J("idle");return}let z=await I(m),Q=await A(),Y=await P();if(e||C.current){e||J("idle");return}if(!a&&B>0&&z>=B&&Q>=$&&Y>=X){var ee={buildId:c(),manifestGeneratedAt:f.generatedAt,total:p,cachedDocs:z,cachedImages:Q,imageCount:F.length};try{window.localStorage.setItem(u,JSON.stringify(ee))}catch(e){}e||(G(p+F.length+q.length),U(p+F.length+q.length)),J("complete")}else W(),J("idle")})().catch(()=>{}).finally(()=>n.close()),()=>{e=!0,t.abort(),n.close()}},[F,f,h,O,N,p,b,L,H,K]);let Y=q?"never"!==f&&("optional"!==f||N)?"complete"===_?"complete":"running"===_?"warming":"manual"!==f||O?"optional"===f?"idle":"hidden":"prompt":"disabled":"hidden",ee=V>0?Math.min(1,T/V):0,et=(0,a.useMemo)(()=>({mode:f,visualState:Y,completed:T,total:V,fraction:ee,userEnabled:N,setUserEnabled:Q,startCaching:z}),[f,Y,T,V,ee,N,Q,z]);return(0,n.jsx)(S.Provider,{value:et,children:t})}function C(){let e=(0,a.useContext)(S);if(void 0===e)throw Error("useOfflineWarm must be used within an OfflineWarmProvider");return e}},69794:(e,t,r)=>{r.d(t,{ViewAsProvider:()=>s,d:()=>d});var n=r(95155),a=r(12115),i=r(54174),o=r(2975);let l="view-as",c={kind:"admin"},u=(0,a.createContext)(void 0);function s(e){let{children:t}=e,[r,s]=(0,a.useState)([]),d=(0,a.useCallback)(e=>s(t=>0===t.length&&0===e.length?t:e),[]),f=(0,i.Jd)(),h=f.user,[w,m]=(0,a.useState)(c);(0,a.useEffect)(()=>{m(function(){try{let e=window.sessionStorage.getItem(l);if(!e)return c;let t=JSON.parse(e);if((null==t?void 0:t.kind)==="user")return{kind:"user"};if((null==t?void 0:t.kind)==="partner"&&"string"==typeof t.orgSlug&&"string"==typeof t.label){let e=Array.isArray(t.capabilities)?t.capabilities.filter(e=>"string"==typeof e):void 0;return{kind:"partner",orgSlug:t.orgSlug,label:t.label,capabilities:e}}}catch(e){}return c}())},[]);let g=(0,a.useCallback)(e=>{m(e);try{"admin"===e.kind?window.sessionStorage.removeItem(l):window.sessionStorage.setItem(l,JSON.stringify(e))}catch(e){}},[]),y=(0,o.isAdmin)(h),v=y&&"admin"!==w.kind,p=(0,a.useMemo)(()=>{var e;return v&&h?{...f,user:"admin"===w.kind?h:"user"===w.kind?{...h,role:"user",capabilities:[],organisations:[]}:{...h,role:"user",capabilities:null!=(e=w.capabilities)?e:[],organisations:[{slug:w.orgSlug,name:w.label,logo_url:null}]}}:f},[f,h,w,v]),b=(0,a.useMemo)(()=>({mode:w,setMode:g,rawUser:h,available:y,simulating:v,partnerOptions:r,registerPartnerOptions:d}),[w,g,h,y,v,r,d]);return(0,n.jsx)(u.Provider,{value:b,children:(0,n.jsx)(i.Ay.Provider,{value:p,children:t})})}function d(){let e=(0,a.useContext)(u);
1if(void 0===e)throw Error("useViewAs must be used within a ViewAsProvider");return e}},98711:(e,t,r)=>{function n(e){let t=e.startsWith("#")?"/".concat(e):e,r=t.indexOf("#"),n=r>=0?t.slice(0,r)||"/":t||"/",a=r>=0?t.slice(r):"",i=a.replace(/^#/,"");return{target:t,path:n,hash:a,id:i}}function a(e){let t=e.split("?")[0],r=e=>e.endsWith("/")&&"/"!==e?e.slice(0,-1):e||"/",n=window.location.pathname||"/";return r(t)===r(n)}function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"smooth",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"push";if(!e)return!1;let n=document.getElementById(e);if(!n)return!1;let a="".concat(window.location.pathname).concat(window.location.search,"#").concat(e);return"push"===r&&window.location.hash!=="#".concat(e)?history.pushState(null,"",a):"replace"===r&&window.location.hash!=="#".concat(e)&&history.replaceState(null,"",a),requestAnimationFrame(()=>{n.scrollIntoView({behavior:t,block:"start"})}),!0}function o(e){let{path:t,hash:r,id:o}=n(e);if(r&&a(t)){if(!i(o,"smooth","push")){let e="".concat(window.location.pathname).concat(window.location.search).concat(r);window.location.hash!==r&&history.replaceState(null,"",e)}return}window.location.assign("".concat(t).concat(r))}r.d(t,{O8:()=>i,_G:()=>o,dy:()=>n,ys:()=>a})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.