1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9426],{39453:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__N_SSG:()=>x,default:()=>N});var r,l=n(37876),a=n(15878);let i=JSON.parse('{"id":"24c9a1f0-d033-45d2-8830-80fb8413fd19","name":"Job Type","created_at":"2025-08-11T07:47:23.605Z","updated_at":"2025-09-24T11:37:56.737Z","identifier":"title","category_values":[{"id":"ee912313-1e6c-4a33-8424-ab64f2747f31","title":{"en":"Contract"},"parent":{"id":null,"identifier":null},"created_at":"2025-09-11T08:32:53.818Z","updated_at":"2025-09-24T11:37:31.115Z"},{"id":"f78628af-66eb-4e82-962b-a0b48eee7e8b","title":{"en":"Permanent"},"parent":{"id":null,"identifier":null},"created_at":"2025-09-11T08:32:44.671Z","updated_at":"2025-09-24T11:37:56.735Z"}]}');var u=n(91006);let d={"\xa3":"GBP","â¬":"EUR",$:"USD"},s=[{pattern:/hour|hourly|p\/h/i,unitText:"HOUR"},{pattern:/daily|per day/i,unitText:"DAY"},{pattern:/week/i,unitText:"WEEK"},{pattern:/month/i,unitText:"MONTH"}],o=/\d[\d,.]*\s*k?/gi,p=e=>{let t=e.replace(/[,\s]/g,"");return Math.round(parseFloat(t)*(/k$/i.test(t)?1e3:1))},c={permanent:"FULL_TIME","full time":"FULL_TIME","part time":"PART_TIME",contract:"CONTRACTOR",temporary:"TEMPORARY",internship:"INTERN",placement:"INTERN"},_=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=e.map(e=>{let{title:t}=e;return c[String(null!=t?t:"").trim().toLowerCase()]}).filter(Boolean);return t.length?[...new Set(t)]:["FULL_TIME"]};var f=n(91832),T=n(12702),h=n(14012),g=n(55251),m=n(62867);let y="".concat((null!=(r=h.site_primary_domain_url)?r:"").replace(/\/$/,""),"/og-image.webp");function v(e){var t,n,r;let{url_slug:a}=e,c=(0,T.fh)(a),v=g.jobs.find(e=>(0,T.fh)(e.url_slug)===c),E=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let r=(0,u.A)(i),l=JSON.stringify(t);return r.filter(e=>l.includes(e.id))}(null==v?void 0:v.categories);return v?(0,l.jsx)(m.Wk,{useAppDir:!1,title:v.title,description:(0,f.K)(v.description),datePosted:v.published_at,baseSalary:(e=>{var t,n,r;let l=String(null!=e?e:""),a=(e=>{var t;let[n]=e.split("+");return[...new Set((null!=(t=n.match(o))?t:[]).map(p).filter(e=>e>0))].sort((e,t)=>e-t)})(l);return a.length?{currency:(e=>{var t,n;let[r]=null!=(t=e.match(/[£â¬$]/))?t:[];return null!=(n=d[r])?n:"GBP"})(l),unitText:(t=l,null!=(r=null==(n=s.find(e=>{let{pattern:n}=e;return n.test(t)}))?void 0:n.unitText)?r:"YEAR"),value:1===a.length?a[0]:[a[0],a[a.length-1]]}:null})(v.salary_package),hiringOrganization:{name:h.site_name,sameAs:h.site_primary_domain_url,logo:y},jobLocation:{addressRegion:null!=(r=null!=(n=v.location)?n:null==(t=v.addresses)?void 0:t[0])?r:"",addressCountry:""},validThrough:v.expires_at,employmentType:_(E)}):null}var E=n(23057),b=n(86724),x=!0;function N(e){let{canonical:t,data:n,title:r,url_slug:i,job_title_template:u,job_description_template:d}=e,s=(0,b.Be)();return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(E.A,{canonical:t,title:u,description:d}),(0,l.jsx)(v,{url_slug:i}),(0,l.jsx)(a.G0,{layout:s,children:(0,l.jsx)(a.xX,{content:n})})]})}},68671:(e,t,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/jobs/[url_slug]",function(){return n(39453)}])}},e=>{e.O(0,[8585,4938,8511,888,7121,6886,5183,636,6593,8792],()=>e(e.s=68671)),_N_E=e.O()}]);
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.