1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,20389,e=>{"use strict";var t=e.i(23847);async function r(){try{var e,r;let n=await (0,t.getSession)(),i=(e=n?.userServiceData?.locale,r=n?.userServiceData?.locale_source,"user"===r&&e?.startsWith("nn")?"/nn":"user"===r&&e?.startsWith("en")?"/gb":"/nb");document.cookie=`logout_locale=${encodeURIComponent(i)}; Path=/; Max-Age=120; SameSite=Lax`;let o=await fetch("/api/auth/federated-logout"),l=await o.json();if(console.log("federatedLogout response:",l),o.ok){await (0,t.signOut)({redirect:!1}),window.location.href=l.url;return}throw Error(l.error)}catch(e){console.log(e),alert(e),await (0,t.signOut)({redirect:!1}),window.location.href="/"}}e.s(["default",0,r])},15870,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return u},urlObjectKeys:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(9136)._(e.r(75279)),l=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",a=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:r&&(u=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(u+=":"+e.port)),a&&"object"==typeof a&&(a=String(o.urlQueryToSearchParams(a)));let c=e.search||a&&`?${a}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==u?(u="//"+(u||""),i&&"/"!==i[0]&&(i="/"+i)):u||(u=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${u}${i}${c}${s}`}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function u(e){return s(e)}},20967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(18319);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22335,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(97333),i=e.r(69114);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},5313,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},8393,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return x}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(9136),l=e.r(98993),s=o._(e.r(18319)),a=e.r(15870),u=e.r(82751),c=e.r(20967),f=e.r(97333),h=e.r(81810);e.r(9645);let d=e.r(12798),p=e.r(50114),m=e.r(22335),y=e.r(59518);function g(t){var r,n;let i,o,g,[x,v]=(0,s.useOptimistic)(p.IDLE_LINK_STATUS),w=(0,s.useRef)(null),{href:k,as:j,children:_,prefetch:O=null,passHref:$,replace:I,shallow:A,scroll:N,onClick:T,onMouseEnter:E,onTouchStart:M,legacyBehavior:C=!1,onNavigate:P,transitionTypes:L,ref:S,unstable_dynamicOnHover:R,...U}=t;i=_,C&&("string"==typeof i||"number"==typeof i)&&(i=(0,l.jsx)("a",{children:i}));let B=s.default.useContext(u.AppRouterContext),D=!1!==O,W=!1!==O?null===(n=O)||"auto"===n?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,F="string"==typeof(r=j||k)?r:(0,a.formatUrl)(r);if(C){if(i?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>
1` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=s.default.Children.only(i)}let H=C?o&&"object"==typeof o&&o.ref:S,K=s.default.useCallback(e=>(null!==B&&(w.current=(0,p.mountLinkInstance)(e,F,B,W,D,v)),()=>{w.current&&((0,p.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,p.unmountPrefetchableInstance)(e)}),[D,F,B,W,v]),z={ref:(0,c.useMergedRef)(K,H),onClick(t){C||"function"!=typeof T||T(t),C&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!B||t.defaultPrevented||function(t,r,n,i,o,l,a){if("u">typeof window){let u,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((u=t.currentTarget.getAttribute("target"))&&"_self"!==u||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,m.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(8766);s.default.startTransition(()=>{f(r,i?"replace":"push",!1===o?d.ScrollBehavior.NoScroll:d.ScrollBehavior.Default,n.current,a)})}}(t,F,w,I,N,P,L)},onMouseEnter(e){C||"function"!=typeof E||E(e),C&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),B&&D&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)},onTouchStart:function(e){C||"function"!=typeof M||M(e),C&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),B&&D&&(0,p.onNavigationIntent)(e.currentTarget,!0===R)}};return(0,f.isAbsoluteUrl)(F)?z.href=F:C&&!$&&("a"!==o.type||"href"in o.props)||(z.href=(0,h.addBasePath)(F)),g=C?s.default.cloneElement(o,z):(0,l.jsx)("a",{...U,...z,children:i}),(0,l.jsx)(b.Provider,{value:x,children:g})}e.r(5313);let b=(0,s.createContext)(p.IDLE_LINK_STATUS),x=()=>(0,s.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98304,e=>{"use strict";var t=e.i(98993),r=e.i(23847),n=e.i(79568),i=e.i(18319);e.s(["default",0,function(){let{t:e}=(0,n.useTranslationFromUrl)(),[o,l]=(0,i.useState)(!1),s=(0,i.useRef)(null),a=(0,i.useRef)(null),u=(0,i.useRef)(null);return(0,i.useEffect)(()=>{if(o)return u.current?.focus(),document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){s.current&&!s.current.contains(e.target)&&l(!1)}},[o]),(0,t.jsxs)("div",{className:"relative",ref:s,onBlur:function(e){e.relatedTarget&&!e.currentTarget.contains(e.relatedTarget)&&l(!1)},onKeyDown:function(e){"Escape"===e.key&&o&&(l(!1),a.current?.focus())},children:[(0,t.jsxs)("button",{ref:a,onClick:()=>l(e=>!e),"aria-expanded":o,"aria-haspopup":"menu",className:"h-8 py-1 px-4 cursor-pointer flex items-center gap-1 rounded-full text-sm font-semibold bg-primary text-black hover:bg-primary-600 active:bg-primary-800 outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2",children:[e("log_in"),(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),o&&(0,t.jsxs)("div",{role:"menu",className:"absolute right-0 mt-2 w-56 bg-white rounded-lg shadow-lg border border-gray-200 py-1 z-50",children:[(0,t.jsx)("button",{ref:u,role:"menuitem",onClick:()=>{l(!1);let e=`${window.location.origin}/auth/callback`;console.log("DEBUG: Login button clicked",{provider:"feide",callbackUrl:e}),(0,r.signIn)("feide",{callbackUrl:e})},className:"w-full cursor-pointer text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:bg-gray-100",children:e("log_in_feide")}),(0,t.jsx)("button",{role:"menuitem",onClick:()=>{l(!1);let e=`${window.location.origin}/auth/callback`;console.log("DEBUG: Login button clicked",{provider:"keycloak",callbackUrl:e}),(0,r.signIn)("keycloak",{callbackUrl:e})},className:"w-full cursor-pointer text-left px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:bg-gray-100",children:e("log_in_without_feide")})]})]})}])},53738,e=>{"use strict";var t=e.i(98993),r=e.i(79568);e.s(["default",0,function(){let{t:e}=(0,r.useTranslationFromUrl)();return(0,t.jsx)("a",{id:"skip-to-main",href:"#main-content",className:"jump-to-main visually-hidden-focusable",children:(0,t.jsx)("span",{children:e("skip_to_main")})})}])},7031,e=>{"use strict";var t={0:8203,1:8204,2:8205,3:8290,4:8291,5:8288,6:65279,7:8289,8:119155,9:119156,a:119157,b:119158,c:119159,d:119160,e:119161,f:119162},r={0:8203,1:8204,2:8205,3:65279};[,,,,].fill(String.fromCodePoint(r[0])).join(""),Object.fromEntries(Object.entries(r).map(e=>e.reverse())),Object.fromEntries(Object.entries(t).map(e=>e.reverse()));var n=`${Object.values(t).map(e=>`\\u{${e.toString(16)}}`).join("")}`,i=RegExp(`[${n}]{4,}`,"gu");e.s(["isRecord",0,function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)},"stegaClean",0,function(e){var t,r;return e&&JSON.parse({cleaned:(t=JSON.stringify(e)).replace(i,""),encoded:(null==(r=t.match(i))?void 0:r[0])||""}.cleaned)}])},62776,e=>{"use strict";var t,r,n;let i,o,l="image-Tb9Ew8CXIwaY6R1kjMvI0uRR-2000x3000-jpg";function s(e){return`image-${e.split("/").slice(-1)[0]}`.replace(/\.([a-z]+)$/,"-$1")}let a=[["width","w"],["height","h"],["format","fm"],["download","dl"],["blur","blur"],["sharpen","sharp"],["
1invert","invert"],["orientation","or"],["minHeight","min-h"],["maxHeight","max-h"],["minWidth","min-w"],["maxWidth","max-w"],["quality","q"],["fit","fit"],["crop","crop"],["saturation","sat"],["auto","auto"],["dpr","dpr"],["pad","pad"],["frame","frame"]],u=["clip","crop","fill","fillmax","max","scale","min"],c=["top","bottom","left","right","center","focalpoint","entropy"],f=["format"];function h(e){let{apiHost:t,projectId:r,dataset:n}=e,i={baseUrl:(t||"https://api.sanity.io").replace(/^https:\/\/api\./,"https://cdn.")},o=e["~experimental_resource"];if(o?.type==="media-library"){if("string"!=typeof o.id||0===o.id.length)throw Error('Media library clients must include an id in "~experimental_resource"');return{...i,mediaLibraryId:o.id}}return{...i,projectId:r,dataset:n}}function d(e){return e&&"config"in e&&"function"==typeof e.config?h(e.config()):e&&"clientConfig"in e&&"object"==typeof e.clientConfig?h(e.clientConfig):e||{}}class p{options;constructor(e,t){this.options=e?{...e.options||{},...t||{}}:{...t||{}}}withOptions(e){return new p(this,function(e,t){let r=t.baseUrl||e.baseUrl,n={baseUrl:r};for(let e in t)t.hasOwnProperty(e)&&(n[function(e){for(let t of a){let[r,n]=t;if(e===r||e===n)return r}return e}(e)]=t[e]);return{baseUrl:r,...n}}(this.options,e))}image(e){return this.withOptions({source:e})}dataset(e){return this.withOptions({dataset:e})}projectId(e){return this.withOptions({projectId:e})}withClient(e){let t=d(e),r={...this.options};return delete r.baseUrl,delete r.projectId,delete r.dataset,delete r.mediaLibraryId,new p(null,{...t,...r})}bg(e){return this.withOptions({bg:e})}dpr(e){return this.withOptions(e&&1!==e?{dpr:e}:{})}width(e){return this.withOptions({width:e})}height(e){return this.withOptions({height:e})}focalPoint(e,t){return this.withOptions({focalPoint:{x:e,y:t}})}maxWidth(e){return this.withOptions({maxWidth:e})}minWidth(e){return this.withOptions({minWidth:e})}maxHeight(e){return this.withOptions({maxHeight:e})}minHeight(e){return this.withOptions({minHeight:e})}size(e,t){return this.withOptions({width:e,height:t})}blur(e){return this.withOptions({blur:e})}sharpen(e){return this.withOptions({sharpen:e})}rect(e,t,r,n){return this.withOptions({rect:{left:e,top:t,width:r,height:n}})}format(e){return this.withOptions({format:e})}invert(e){return this.withOptions({invert:e})}orientation(e){return this.withOptions({orientation:e})}quality(e){return this.withOptions({quality:e})}forceDownload(e){return this.withOptions({download:e})}flipHorizontal(){return this.withOptions({flipHorizontal:!0})}flipVertical(){return this.withOptions({flipVertical:!0})}ignoreImageParams(){return this.withOptions({ignoreImageParams:!0})}fit(e){if(-1===u.indexOf(e))throw Error(`Invalid fit mode "${e}"`);return this.withOptions({fit:e})}crop(e){if(-1===c.indexOf(e))throw Error(`Invalid crop mode "${e}"`);return this.withOptions({crop:e})}saturation(e){return this.withOptions({saturation:e})}auto(e){if(-1===f.indexOf(e))throw Error(`Invalid auto mode "${e}"`);return this.withOptions({auto:e})}pad(e){return this.withOptions({pad:e})}vanityName(e){return this.withOptions({vanityName:e})}frame(e){if(1!==e)throw Error(`Invalid frame value "${e}"`);return this.withOptions({frame:e})}url(){return function(e){let t={...e||{}},r=t.source;delete t.source;let n=function(e){var t;let r;if(!e)return null;if("string"==typeof e&&(t=e,/^https?:\/\//.test(`${t}`)))r={asset:{_ref:s(e)}};else if("string"==typeof e)r={asset:{_ref:e}};else if(e&&"string"==typeof e._ref)r={asset:e};else if(e&&"string"==typeof e._id)r={asset:{_ref:e._id||""}};else if(e&&e.asset&&"string"==typeof e.asset.url)r={asset:{_ref:s(e.asset.url)}};else{if("object"!=typeof e.asset)return null;r={...e}}return e.crop&&(r.crop=e.crop),e.hotspot&&(r.hotspot=e.hotspot),function(e){if(e.crop&&e.hotspot)return e;let t={...e};return t.crop||(t.crop={left:0,top:0,bottom:0,right:0}),t.hotspot||(t.hotspot={x:.5,y:.5,height:1,width:1}),t}(r)}(r);if(!n){if(r&&"object"==typeof r&&null!==r&&r._upload&&(!r.asset||!r.asset._ref))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8HwQACfsD/QNViZkAAAAASUVORK5CYII=";throw Error(`Unable to resolve image URL from source (${JSON.stringify(r)})`)}let i=function(e){let[,t,r,n]=e.split("-");if(!t||!r||!n)throw Error(`Malformed asset _ref '${e}'. Expected an id like "${l}".`);let[i,o]=r.split("x"),s=+i,a=+o;if(!(isFinite(s)&&isFinite(a)))throw Error(`Malformed asset _ref '${e}'. Expected an id like "${l}".`);return{id:t,width:s,height:a,format:n}}(n.asset._ref||n.asset._id||""),o=Math.round(n.crop.left*i.width),u=Math.round(n.crop.top*i.height),c={left:o,top:u,width:Math.round(i.width-n.crop.right*i.width-o),height:Math.round(i.height-n.crop.bottom*i.height-u)},f=n.hotspot.height*i.height/2,h=n.hotspot.width*i.width/2,d=n.hotspot.x*i.width,p=n.hotspot.y*i.height;
1return t.rect||t.focalPoint||t.ignoreImageParams||t.crop||(t={...t,...function(e,t){let r,n=t.width,i=t.height;if(!(n&&i))return{width:n,height:i,rect:e.crop};let o=e.crop,l=e.hotspot,s=n/i;if(o.width/o.height>s){let e=Math.round(o.height),t=Math.round(e*s),n=Math.max(0,Math.round(o.top)),i=Math.max(0,Math.round(Math.round((l.right-l.left)/2+l.left)-t/2));i<o.left?i=o.left:i+t>o.left+o.width&&(i=o.left+o.width-t),r={left:i,top:n,width:t,height:e}}else{let e=o.width,t=Math.round(e/s),n=Math.max(0,Math.round(o.left)),i=Math.max(0,Math.round(Math.round((l.bottom-l.top)/2+l.top)-t/2));i<o.top?i=o.top:i+t>o.top+o.height&&(i=o.top+o.height-t),r={left:n,top:i,width:e,height:t}}return{width:n,height:i,rect:r}}({crop:c,hotspot:{left:d-h,top:p-f,right:d+h,bottom:p+f}},t)}),function(e){let t=(e.baseUrl||"https://cdn.sanity.io").replace(/\/+$/,""),r=e.vanityName?`/${e.vanityName}`:"",n=`${e.asset.id}-${e.asset.width}x${e.asset.height}.${e.asset.format}${r}`,i=e.mediaLibraryId?`${t}/media-libraries/${e.mediaLibraryId}/images/${n}`:`${t}/images/${e.projectId}/${e.dataset}/${n}`,o=[];if(e.rect){let{left:t,top:r,width:n,height:i}=e.rect;(0!==t||0!==r||i!==e.asset.height||n!==e.asset.width)&&o.push(`rect=${t},${r},${n},${i}`)}e.bg&&o.push(`bg=${e.bg}`),e.focalPoint&&(o.push(`fp-x=${e.focalPoint.x}`),o.push(`fp-y=${e.focalPoint.y}`));let l=[e.flipHorizontal&&"h",e.flipVertical&&"v"].filter(Boolean).join("");return l&&o.push(`flip=${l}`),a.forEach(t=>{let[r,n]=t;"u">typeof e[r]?o.push(`${n}=${encodeURIComponent(e[r])}`):"u">typeof e[n]&&o.push(`${n}=${encodeURIComponent(e[n])}`)}),0===o.length?i:`${i}?${o.join("&")}`}({...t,asset:i})}(this.options)}toString(){return this.url()}}let m=(t=["The default export of @sanity/image-url has been deprecated. Use the named export `createImageUrlBuilder` instead."],r=(...e)=>{console.warn(t.join(" "),...e)},i=!1,(...e)=>(i||(o=r(...e),i=!0),o)),y=(n=function(e){return new p(null,d(e))},function(e){return m(),n(e)});e.s(["default",0,y],62776)},56482,53175,e=>{"use strict";var t=e.i(98993);function r(e){return"span"===e._type&&"text"in e&&"string"==typeof e.text&&(typeof e.marks>"u"||Array.isArray(e.marks)&&e.marks.every(e=>"string"==typeof e))}function n(e){return"string"==typeof e._type&&"@"!==e._type[0]&&(!("markDefs"in e)||!e.markDefs||Array.isArray(e.markDefs)&&e.markDefs.every(e=>"string"==typeof e._key))&&"children"in e&&Array.isArray(e.children)&&e.children.every(e=>"object"==typeof e&&"_type"in e)}function i(e){return n(e)&&"listItem"in e&&"string"==typeof e.listItem&&(typeof e.level>"u"||"number"==typeof e.level)}function o(e){return"@list"===e._type}function l(e){return"@span"===e._type}function s(e){return"@text"===e._type}let a=["strong","em","code","underline","strike-through"];function u(e,t,n){if(!r(e)||!e.marks||!e.marks.length)return[];let i=e.marks.slice(),o={};return i.forEach(e=>{o[e]=1;for(let i=t+1;i<n.length;i++){let t=n[i];if(t&&r(t)&&Array.isArray(t.marks)&&-1!==t.marks.indexOf(e))o[e]++;else break}}),i.sort((e,t)=>(function(e,t,r){let n=e[t],i=e[r];if(n!==i)return i-n;let o=a.indexOf(t),l=a.indexOf(r);return o!==l?o-l:t.localeCompare(r)})(o,e,t))}function c(e){let{children:t}=e,n=e.markDefs??[];if(!t||!t.length)return[];let i=t.map(u),o={_type:"@span",children:[],markType:"<unknown>"},l=[o];for(let e=0;e<t.length;e++){let o=t[e];if(!o)continue;let s=i[e]||[],a=1;if(l.length>1)for(;a<l.length;a++){let e=l[a]?.markKey||"",t=s.indexOf(e);if(-1===t)break;s.splice(t,1)}let u=(l=l.slice(0,a))[l.length-1];if(u){for(let e of s){let t=n?.find(t=>t._key===e),r=t?t._type:e,i={_type:"@span",_key:o._key,children:[],markDef:t,markType:r,markKey:e};u.children.push(i),l.push(i),u=i}if(r(o)){let e=o.text.split(` 2`);for(let t=e.length;t-- >1;)e.splice(t,0,` 3`);u.children=u.children.concat(e.map(e=>({_type:"@text",text:e})))}else u.children=u.children.concat(o)}}return o.children}function f(e,t){let r,n=[];for(let s=0;s<e.length;s++){let a=e[s];if(a){var o,l;if(!i(a)){n.push(a),r=void 0;continue}if(!r){r=h(a,s,t),n.push(r);continue}if(o=a,l=r,(o.level||1)===l.level&&o.listItem===l.listItem){r.children.push(a);continue}if((a.level||1)>r.level){let e=h(a,s,t);
3if("html"===t){let t=r.children[r.children.length-1],n={...t,children:[...t.children,e]};r.children[r.children.length-1]=n}else r.children.push(e);r=e;continue}if((a.level||1)<r.level){let e=n[n.length-1],i=e&&d(e,a);if(i){(r=i).children.push(a);continue}r=h(a,s,t),n.push(r);continue}if(a.listItem!==r.listItem){let e=n[n.length-1],i=e&&d(e,{level:a.level||1});if(i&&i.listItem===a.listItem){(r=i).children.push(a);continue}r=h(a,s,t),n.push(r);continue}console.warn("Unknown state encountered for block",a),n.push(a)}}return n}function h(e,t,r){return{_type:"@list",_key:`${e._key||`${t}`}-parent`,mode:r,level:e.level||1,listItem:e.listItem,children:[e]}}function d(e,t){let n=t.level||1,i=t.listItem||"normal",l="string"==typeof t.listItem;if(o(e)&&(e.level||1)===n&&l&&(e.listItem||"normal")===i)return e;if(!("children"in e))return;let s=e.children[e.children.length-1];return s&&!r(s)?d(s,t):void 0}function p(e){let t="";return e.children.forEach(e=>{s(e)?t+=e.text:l(e)&&(t+=p(e))}),t}let m=/^\s/,y=/\s$/,g="html";e.s(["LIST_NEST_MODE_HTML",0,g,"buildMarksTree",0,c,"isPortableTextBlock",0,n,"isPortableTextListItemBlock",0,i,"isPortableTextToolkitList",0,o,"isPortableTextToolkitSpan",0,l,"isPortableTextToolkitTextNode",0,s,"nestLists",0,f,"spanToPlainText",0,p,"toPlainText",0,function(e){let t=Array.isArray(e)?e:[e],i="";return t.forEach((e,o)=>{if(!n(e))return;let l=!1;e.children.forEach(e=>{r(e)?(i+=l&&i&&!y.test(i)&&!m.test(e.text)?" ":"",i+=e.text,l=!1):l=!0}),o!==t.length-1&&(i+=` 4 5`)}),i}],53175);var b=e.i(18319);let x={textDecoration:"underline"},v=(e,t)=>`[@portabletext/react] Unknown ${e}, specify a component for it in the \`components.${t}\` prop`,w=e=>v(`block type "${e}"`,"types");function k(e){console.warn(e)}let j={display:"none"},_={types:{},block:{normal:({children:e})=>(0,t.jsx)("p",{children:e}),blockquote:({children:e})=>(0,t.jsx)("blockquote",{children:e}),h1:({children:e})=>(0,t.jsx)("h1",{children:e}),h2:({children:e})=>(0,t.jsx)("h2",{children:e}),h3:({children:e})=>(0,t.jsx)("h3",{children:e}),h4:({children:e})=>(0,t.jsx)("h4",{children:e}),h5:({children:e})=>(0,t.jsx)("h5",{children:e}),h6:({children:e})=>(0,t.jsx)("h6",{children:e})},marks:{em:({children:e})=>(0,t.jsx)("em",{children:e}),strong:({children:e})=>(0,t.jsx)("strong",{children:e}),code:({children:e})=>(0,t.jsx)("code",{children:e}),underline:({children:e})=>(0,t.jsx)("span",{style:x,children:e}),"strike-through":({children:e})=>(0,t.jsx)("del",{children:e}),link:({children:e,value:r})=>(0,t.jsx)("a",{href:r?.href,children:e})},list:{number:({children:e})=>(0,t.jsx)("ol",{children:e}),bullet:({children:e})=>(0,t.jsx)("ul",{children:e})},listItem:({children:e})=>(0,t.jsx)("li",{children:e}),hardBreak:()=>(0,t.jsx)("br",{}),unknownType:({value:e,isInline:r})=>{let n=w(e._type);return r?(0,t.jsx)("span",{style:j,children:n}):(0,t.jsx)("div",{style:j,children:n})},unknownMark:({markType:e,children:r})=>(0,t.jsx)("span",{className:`unknown__pt__mark__${e}`,children:r}),unknownList:({children:e})=>(0,t.jsx)("ul",{children:e}),unknownListItem:({children:e})=>(0,t.jsx)("li",{children:e}),unknownBlockStyle:({children:e})=>(0,t.jsx)("p",{children:e})};function O(e,t,r){let n=t[r],i=e[r];return"function"==typeof n||n&&"function"==typeof i?n:n?{...i,...n}:i}function $(e){let{node:t,index:r,isInline:n,renderNode:i}=e,o=c(t).map((e,t)=>i({node:e,isInline:!0,index:t,renderNode:i}));return{_key:t._key||`block-${r}`,children:o,index:r,isInline:n,node:t}}function I(){}e.s(["PortableText",0,function({value:e,components:r,listNestingMode:a,onMissingComponent:u=k}){let c=u||I,h=f(Array.isArray(e)?e:[e],a||g),d=(0,b.useMemo)(()=>r?function(e,t){let{block:r,list:n,listItem:i,marks:o,types:l,...s}=t;return{...e,block:O(e,t,"block"),list:O(e,t,"list"),listItem:O(e,t,"listItem"),marks:O(e,t,"marks"),types:O(e,t,"types"),...s}}(_,r):_,[r]),m=(0,b.useMemo)(()=>{var e,r;return e=d,r=c,function a(u){var c,f,h,d,m,y,g,b;let x,k,{node:j,index:_,isInline:O}=u,I=j._key||`node-${_}`;return o(j)?function(n,i,o){let l=n.children.map((e,t)=>a({node:e._key?e:{...e,_key:`li-${i}-${t}`},index:t,isInline:!1})),s=e.list,u=("function"==typeof s?s:s[n.listItem])||e.unknownList;if(u===e.unknownList){let e=n.listItem||"bullet";r(v(`list style "${e}"`,"list"),{nodeType:"listStyle",type:e})}return(0,t.jsx)(u,{value:n,index:i,isInline:!1,renderNode:a,children:l},o)}(j,_,I):i(j)?function(n,i,o){let l=$({node:n,index:i,isInline:!1,renderNode:a}),s=e.listItem,u=("function"==typeof s?s:s[n.listItem])||e.unknownListItem;if(u===e.unknownListItem){let e=n.listItem||"bullet";r(v(`list item style "${e}"`,"listItem"),{type:e,nodeType:"listItemStyle"})}let c=l.children;if(n.style&&"normal"!==n.style){let{listItem:e,...t}=n;c=a({node:t,index:i,isInline:!1})}return(0,t.jsx)(u,{value:n,index:i,isInline:!1,renderNode:a,children:c},o)}(j,_,I):l(j)?function(n,i){let{markDef:o,markType:l,markKey:s}=n,u=e.marks[l]||e.unknownMark,c=n.children.map((e,t)=>a({node:e,index:t,isInline:!0}));return u===e.unknownMark&&r(v(`mark type "${l}"`,"marks"),{nodeType:"mark",type:l}),(0,t.jsx)(u,{text:p(n),value:o,markType:l,markKey:s,renderNode:a,children:c},i)}(j,I):j._type in e.types?(c=j,f=_,h=I,d=O,(x=e.types[c._type])?(0,t.jsx)(x,{value:c,isInline:d,index:f,renderNode:a},h):null):n(j)?function(n,i,o,l){let{_key:s,...u}=$({node:n,index:i,isInline:l,renderNode:a}),c=u.node.style||"normal",f=("function"==typeof e.block?e.block:e.block[c])||e.unknownBlockStyle;return f===e.unknownBlockStyle&&r(v(`block style "${c}"`,"block"),{nodeType:"blockStyle",type:c}),(0,t.jsx)(f,{...u,value:u.node,renderNode:a},o)}(j,_,I,O):s(j)?function(r,n){if(r.text===` 6`){let r=e.hardBreak;return r?(0,t.jsx)(r,{},n):` 7`}return r.text}(j,I):(m=j,y=_,g=I,b=O,r(w(m._type),{nodeType:"block",type:m._type}),k=e.unknownType,(0,t.jsx)(k,{value:m,isInline:b,index:y,renderNode:a},g))}},[d,c]),y=h.map((e,t)=>m({node:e,index:t,isInline:!1,renderNode:m}));return(0,t.jsx)(t.Fragment,{children:y})}],56482)},23336,e=>{"use strict";e.s(["default",()=>c]);var t=e.i(98993),r=e.i(56482),n=e.i(27656),i=e.i(80498),o=e.i(8393),l=e.i(62776);let{projectId:s,dataset:a}=e.i(75122).sanity.config(),u={block:{h2:({children:e})=>(0,t.jsx)("h2",{className:"text-2xl font-bold mb-6",children:e}),h3:({children:e})=>(0,t.jsx)("h3",{className:"text-xl font-semibold mb-4",children:e}),h4:({children:e})=>(0,t.jsx)("h4",{className:"text-lg font-semibold mb-2",children:e})},marks:{sub:({children:e})=>(0,t.jsx)("sub",{children:e}),sup:({children:e})=>(0,t.jsx)("sup",{children:e}),strong:({children:e})=>(0,t.jsx)("strong",{children:e}),em:({children:e})=>(0,t.jsx)("em",{children:e}),link:({value:e,children:r})=>{let n=e?.href||"";return n?.startsWith("http://")||n?.startsWith("https://")?(0,t.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 hover:text-blue-800 underline outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2",children:r}):(0,t.jsx)(o.default,{href:n,className:"text-blue-600 hover:text-blue-800 underline outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2",children:r})}},list:{bullet:({children:e})=>(0,t.jsx)("ul",{className:"list-disc list-inside space-y-2 mb-4",children:e}),number:({children:e})=>(0,t.jsx)("ol",{className:"list-decimal list-inside space-y-2 mb-4",children:e})},listItem:{bullet:({children:e})=>(0,t.jsx)("li",{className:"ml-4",children:e}),number:({children:e})=>(0,t.jsx)("li",{className:"ml-4",children:e})},types:{table:({value:e})=>(0,t.jsx)(n.default,{rows:e.rows,showBorders:e.showBorders,compactMode:e.compactMode,alignCenterAllCells:e.alignCenterAllCells,cellMinWidth:e.cellMinWidth,autoWidth:e.autoWidth}),imageBlock:({value:e})=>{let r=!!e?.image?.image?.asset?._ref,n=r?e.image.image:e?.image,o=r?e.image?.alt:e?.alt,u=r?e.image?.caption:e?.caption,f=r?e.image?.width:e?.width;if(!n?.asset?._ref)return null;let h=(s&&a?(0,l.default)({projectId:s,dataset:a}).image(n):null)?.url();if(!h)return null;let d=`rounded-lg ${{full:"w-full",75:"w-3/4",50:"w-1/2",25:"w-1/4",fit:"w-auto max-w-full"}[f]??"w-full"}`;return(0,t.jsxs)("div",{className:"fit"===f?"my-6 inline-block":"my-6",children:[(0,t.jsx)(i.default,{src:h,alt:o||"",width:800,height:600,className:d}),u&&(0,t.jsx)("div",{className:"text-sm text-gray-600 mt-2 text-center prose prose-sm max-w-none",children:(0,t.jsx)(c,{value:u})})]})},documentLink:({value:e})=>{let r=e?.file?.asset?._ref,n=r?function(e){if(!s||!a||"string"!=typeof e||!e.startsWith("file-"))return null;let t=e.split("-");if(t.length<3)return null;let r=t[t.length-1],n=t.slice(1,-1).join("-");return`https://cdn.sanity.io/files/${s}/${a}/${n}.${r}`}(r):null;if(!n)return null;let i=("string"==typeof e?.title&&e.title.trim().length>0?e.title.trim():e?.file?.asset?.originalFilename)||"PDF";return(0,t.jsx)("div",{className:"my-4",children:(0,t.jsxs)("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-blue-600 hover:text-blue-800 underline outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2",children:[(0,t.jsx)("span",{children:i}),(0,t.jsx)("span",{className:"text-xs text-gray-500",children:"(PDF)"})]})})}}};function c(e){return(0,t.jsx)(r.PortableText,{components:u,...e})}},27656,e=>{"use strict";e.s(["default",()=>i]);var t=e.i(98993),r=e.i(18319),n=e.i(23336);function i({rows:e,showBorders:o,compactMode:l,alignCenterAllCells:s,cellMinWidth:a,autoWidth:u}){let c=(0,r.useRef)(null),[f,h]=(0,r.useState)(!1),[d,p]=(0,r.useState)(!1),m=(0,r.useCallback)(()=>
7{let e=c.current;e&&(h(e.scrollWidth-e.scrollLeft-e.clientWidth>1),p(e.scrollLeft>1))},[]);return((0,r.useEffect)(()=>(m(),window.addEventListener("resize",m),()=>window.removeEventListener("resize",m)),[m]),e&&0!==e.length)?(0,t.jsxs)("div",{className:"my-0 grid my-6 relative",children:[(0,t.jsx)("div",{ref:c,className:"overflow-x-auto",onScroll:m,children:(0,t.jsx)("table",{className:o?"border border-gray-300":"",style:{marginTop:0,...u?{width:"auto"}:{minWidth:"100%"}},children:(0,t.jsx)("tbody",{children:e.map(e=>(0,t.jsx)("tr",{children:e.cells.map(e=>{let r=e.isHeader?"th":"td",i=e.cellAlign??(s?"center":void 0);return(0,t.jsx)(r,{className:[e.isHeader?"bg-gray-50 font-semibold":"",o?"border border-gray-300":""].filter(Boolean).join(" "),style:{textAlign:i,minWidth:a?`${a}px`:void 0,padding:l?0:void 0},children:(0,t.jsx)(n.default,{value:e.content})},e._key)})},e._key))})})}),d&&(0,t.jsx)("div",{className:"pointer-events-none absolute left-0 top-0 bottom-0 w-4",style:{background:"linear-gradient(to left, transparent, rgba(0,0,0,0.3))"}}),f&&(0,t.jsx)("div",{className:"pointer-events-none absolute right-0 top-0 bottom-0 w-4",style:{background:"linear-gradient(to right, transparent, rgba(0,0,0,0.3))"}})]}):null}},51109,e=>{"use strict";var t=e.i(18319);e.s(["default",0,function({htmlLang:e}){return(0,t.useEffect)(()=>{document.documentElement.lang=e},[e]),null}])},419,e=>{"use strict";var t=e.i(98993),r=e.i(18319),n=e.i(68629),i=e.i(23336),o=e.i(96366),l=e.i(79568);e.s(["default",0,function({field:e,curriculum:s,programLanguage:a}){let[u,c]=(0,r.useState)(!1),f=(0,r.useRef)(null),h=(0,r.useRef)(null),{isOpen:d,open:p,close:m}=(0,o.useModal)(),{t:y}=(0,l.useTranslationFromUrl)(a),g=()=>{m(),h.current?.focus()};return((0,r.useEffect)(()=>{function e(e){f.current&&!f.current.contains(e.target)&&c(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),s)?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"relative",ref:f,children:[(0,t.jsxs)("button",{type:"button",ref:h,onClick:()=>c(e=>!e),className:"h-8 py-1 px-4 cursor-pointer flex items-center rounded-full text-sm font-semibold text-gray-900 bg-white border border-gray-300 hover:bg-gray-100 active:bg-gray-300 outline-none focus-visible:outline-solid focus-visible:border-primary-500 focus-visible:outline-2 focus-visible:border-2 focus-visible:outline-white",children:[e,(0,t.jsx)("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),u&&(0,t.jsx)("div",{className:"absolute left-1/2 top-full mt-2 w-52 -translate-x-1/2 bg-white rounded-lg shadow-lg border border-gray-200 py-1 z-50",children:(0,t.jsx)("button",{type:"button",onClick:()=>{c(!1),p()},className:"cursor-pointer w-full text-center px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 active:bg-gray-300 outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2",children:y("curriculum_connection")})})]}),(0,t.jsxs)(n.default,{isOpen:d,onClose:g,title:y("curriculum_connection"),size:"xl",children:[Array.isArray(s)?(0,t.jsx)(i.default,{value:s}):s&&(0,t.jsx)("div",{children:s}),(0,t.jsx)("div",{className:"flex justify-end space-x-3",children:(0,t.jsx)("button",{type:"button",onClick:g,disabled:!1,className:"cursor-pointer px-4 py-2 text-sm font-medium text-gray-700 bg-gray-100 border border-gray-300 rounded-md hover:bg-gray-200 active:bg-gray-300 disabled:opacity-50 disabled:cursor-not-allowed outline-none focus-visible:outline-solid focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2",children:y("close")})})]})]}):(0,t.jsx)("div",{className:"relative",children:(0,t.jsx)("div",{className:"px-2.5 py-0.5 text-xs whitespace-nowrapflex items-center rounded-full text-gray-900 bg-white border border-gray-300",children:e})})}])},10727,e=>{e.v(t=>Promise.all(["static/chunks/0suwa47y5pqcy.js"].map(t=>e.l(t))).then(()=>t(90101)))},75962,e=>{e.v(t=>Promise.all(["static/chunks/14crfu.e~kax8.js"].map(t=>e.l(t))).then(()=>t(77693)))}]);
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.