1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[701],{70701:function(e,t,n){n.r(t),n.d(t,{default:function(){return J}});var r=n(27573),a=n(7653),i=n(97551),o=n(92929),l=n(19821),s=n(4154),c=n(34789),u=n(57221),d=n(65802),h=n(78813),p=n(23607),f=n(83733),x=n(95977),m=n(22247),v=n(53528),w=n(98882),g=n(10607),b=n(30906),y=n(67256);let k={duration:.32,ease:[.4,0,.2,1]};function j(e){var t;let{variant:n,config:i,rect:o,onClose:l,onDirtyChange:s,onSubmitted:c}=e,u=null!==(t=null==i?void 0:i.steps)&&void 0!==t?t:[],d=u.length,[h,p]=(0,a.useState)(0),[f,x]=(0,a.useState)(1),[m,j]=(0,a.useState)({}),[S,C]=(0,a.useState)(new Set),[P,z]=(0,a.useState)("form"),N=(0,a.useRef)(null),M=u[h],E=h===d-1,Z=(h+1)/d*100,O="done"!==P&&Object.values(m).some(e=>Array.isArray(e)?e.length>0:"string"==typeof e&&""!==e.trim());(0,a.useEffect)(()=>{null==s||s(O)},[O,s]),(0,a.useEffect)(()=>()=>null==s?void 0:s(!1),[s]);let T=(0,a.useCallback)((e,t)=>{j(n=>({...n,[e]:t})),C(t=>{if(!t.has(e))return t;let n=new Set(t);return n.delete(e),n})},[]),D=(0,a.useCallback)(()=>{var e,t;let n=new Set;for(let r of null!==(e=null==M?void 0:M.fields)&&void 0!==e?e:[]){let e=m[r.name];if("radio"===r.type||"checkbox"===r.type){let a=Array.isArray(e)?e:[];for(let e of(r.required&&0===a.length&&n.add(r.name),null!==(t=r.options)&&void 0!==t?t:[])){if(!e.allowsCustomText||!a.includes(e.value))continue;let t=(0,b.Q)(r.name,e.value);("string"==typeof m[t]?m[t].trim():"")||n.add(t)}}else if(r.required){let t="string"==typeof e?e.trim():"";t&&("email"!==r.type||/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t.trim()))||n.add(r.name)}}return C(n),0===n.size},[M,m]),R=(0,a.useCallback)(async()=>{z("submitting");try{(await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({variant:n,data:m})})).ok?(z("done"),null==c||c(m)):z("error")}catch(e){z("error")}},[n,m,c]),F=(0,a.useCallback)(()=>{if(D()){if(E){R();return}x(1),p(e=>Math.min(e+1,d-1))}},[D,E,R,d]),V=(0,a.useCallback)(()=>{if(0===h){l();return}x(-1),C(new Set),p(e=>Math.max(e-1,0))},[h,l]);if((0,a.useEffect)(()=>{let e=e=>{"Escape"===e.key&&l()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[l]),(0,a.useEffect)(()=>{var e;let t=null===(e=N.current)||void 0===e?void 0:e.querySelector("input, textarea, button");if(!t)return;let n="INPUT"===t.tagName||"TEXTAREA"===t.tagName,r=navigator.maxTouchPoints>0||window.matchMedia("(hover: none)").matches;n&&r||t.focus()},[h]),!o||!M)return null;let A=o.width/1213,B=o.height/A;return(0,r.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"partner"===n?"Partner with us form":"Join our team form",className:"pointer-events-auto absolute z-[60] overflow-hidden rounded-[10px] bg-black",style:{left:o.left,top:o.top,width:o.width,height:o.height},children:(0,r.jsx)("div",{className:"absolute left-0 top-0 origin-top-left",style:{width:1213,height:B,transform:"scale(".concat(A,")")},children:(0,r.jsx)("div",{className:"flex h-full flex-col px-[100px] pb-[56px] pt-[56px]",children:"done"===P?(0,r.jsxs)("div",{className:"flex flex-1 flex-col items-center justify-center gap-[20px] text-center",children:[(0,r.jsx)("h2",{className:"font-sans font-normal text-[40px] leading-[1.2] text-white",children:"Thanks â we'll be in touch."}),(0,r.jsx)("p",{className:"font-mono text-[16px] uppercase tracking-[0.32px] text-white/60",children:"Your message is on its way to the studio."}),(0,r.jsx)("button",{type:"button",onClick:l,className:"mt-[12px] cursor-pointer rounded-[10px] border border-solid border-white bg-white/20 px-[28px] py-[18px] font-sans font-semibold text-[20px] uppercase tracking-[0.4px] text-white can-hover:hover:bg-white/30",children:"Close"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-[28px]",children:[(0,r.jsx)("div",{className:"relative h-[6px] flex-1 overflow-hidden rounded-full bg-white/20",children:(0,r.jsx)(v.E.div,{className:"absolute inset-y-0 left-0 rounded-full",style:{backgroundColor:"#92efff"},initial:!1,animate:{width:"".concat(Z,"%")},transition:k})}),(0,r.jsxs)("span",{className:"whitespace-nowrap font-mono text-[20px] text-white",children:[h+1,"/",d]})]}),(0,r.jsx)("div",{className:"relative flex-1 overflow-hidden",children:(0,r.jsx)(w.M,{mode:"wait",custom:f,children:(0,r.jsxs)(v.E.div,{custom:f,initial:{opacity:0,x:40*f}
1,animate:{opacity:1,x:0},exit:{opacity:0,x:-40*f},transition:k,className:"absolute inset-0 flex flex-col pt-[44px]",ref:N,children:[(0,r.jsx)("h2",{className:"font-sans font-normal text-[28px] leading-[1.3] text-white",children:M.title}),M.subtitle&&(0,r.jsx)("p",{className:"mt-[10px] font-mono text-[13px] uppercase tracking-[0.26px] text-white/50",children:M.subtitle}),(0,r.jsx)("div",{className:"mt-[40px]",children:(0,r.jsx)(y.p,{step:M,values:m,onChange:T,errors:S})})]},h)})}),(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("button",{type:"button",onClick:V,className:"flex cursor-pointer items-center gap-[6px] font-sans font-semibold text-[24px] text-white can-hover:hover:opacity-70",children:[(0,r.jsx)("svg",{viewBox:"0 0 18 18",className:"size-[18px]","aria-hidden":"true",children:(0,r.jsx)("path",{d:"M11 3l-6 6 6 6",stroke:"#fff",strokeWidth:"1.8",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"})}),"Back"]}),(0,r.jsx)("button",{type:"button",onClick:F,disabled:"submitting"===P,className:(0,g.Z)("rounded-[10px] border border-solid border-white bg-white/20 px-[28px] py-[18px] font-sans font-semibold text-[20px] uppercase tracking-[0.4px] text-white transition-colors can-hover:hover:bg-white/30","submitting"===P?"cursor-wait opacity-60":"cursor-pointer"),children:E?"submitting"===P?"Sendingâ¦":"Submit":"Next"})]}),"error"===P&&(0,r.jsx)("p",{className:"mt-[12px] text-right font-mono text-[13px] uppercase tracking-[0.26px] text-[#ff6b6b]",children:"Something went wrong â please try again."})]})})})})}var S=n(50230),C=n(6247),P=n(91617);let z=(0,a.lazy)(()=>Promise.all([n.e(4837),n.e(3795)]).then(n.bind(n,43795)).then(e=>({default:e.LightRig}))),N=[{type:"ambient",intensity:.3999999999999999,color:"#d1b09b"},{type:"directional",position:[1.75,.5,1],intensity:3.6,color:"#eed2ff",castShadow:!0,shadowBias:0,shadowNormalBias:.01,shadowRadius:4,shadowMapSize:4096,shadowNear:.01,shadowFar:19,shadowCameraSize:1},{type:"hemisphere",position:[0,2,5],intensity:.19999999999999996,color:"#f7d6ff",groundColor:"#f80101"}],M={files:"/hdri/GSG_HC005_A017_HDRISTUDIOvol2017.png",intensity:1.8,rotationY:1.0472,showBackground:!1,backgroundBlur:.11},E=new h.Vector3(0,0,3),Z=new h.Vector3(0,0,0),O="power3.inOut",T={lateral:[0,0],lookOffset:[0,0,0],fill:.85};function D(e,t){let n=null;return e.traverse(e=>{!n&&e.userData[t]&&(n=e)}),n}let R={main:{lateral:[0,0],lookOffset:[0,0,0],fill:.65,centerMesh:e=>D(e,"isMainScreen"),roll:0,pitch:.01,yaw:0},slideshow:{lateral:[1.6,-.18],lookOffset:[.01,.16,0],fill:.78,roll:0,pitch:-.04,yaw:0},tamagotchi:{lateral:[1.2,-.18],lookOffset:[0,0,0],fill:.35,centerMesh:e=>D(e,"isTamagotchiScreen"),roll:0,pitch:0,yaw:0},soundboard:{lateral:[-2,0],lookOffset:[0,.04,0],fill:.85,centerMesh:e=>D(e,"isSoundboard"),roll:0,pitch:0,yaw:0}},F=e=>D(e,"isReceipt"),V=new h.Vector3(.94,1.58,2.42),A=new h.Vector3(-.09,0,-.08),B=new h.Vector3(-.42,.36,-1);function L(e,t,n){var r;let a=x.b$[t],i=null;if(e.traverse(e=>{i||e.name!==a||(i=e)}),!i)return null;let o=i,l=n&&null!==(r=n(o))&&void 0!==r?r:o,s=new h.Box3().setFromObject(l);return{center:s.getCenter(new h.Vector3),size:s.getSize(new h.Vector3)}}function _(e){let{active:t,onRect:n}=e,{scene:r,camera:o,size:l}=(0,i.D)(),s=(0,a.useRef)(null),c=(0,a.useRef)("");return(0,i.F)(()=>{if(!t)return;if(!s.current){let e=null;if(r.traverse(t=>{!e&&t.userData.isMainScreen&&(e=t)}),s.current=e,!e)return}let e=s.current;if(!e)return;let a=new h.Box3().setFromObject(e);if(a.isEmpty())return;let{min:i,max:u}=a,d=1/0,p=1/0,f=-1/0,x=-1/0,m=new h.Vector3;for(let e=0;e<8;e++){m.set(1&e?u.x:i.x,2&e?u.y:i.y,4&e?u.z:i.z),m.project(o);let t=(m.x+1)/2*l.width,n=(1-m.y)/2*l.height;t<d&&(d=t),t>f&&(f=t),n<p&&(p=n),n>x&&(x=n)}let v={left:d,top:p,width:f-d,height:x-p},w="".concat(Math.round(d),",").concat(Math.round(p),",").concat(Math.round(v.width),",").concat(Math.round(v.height));w!==c.current&&(c.current=w,n(v))}),(0,a.useEffect)(()=>{t||(c.current="",n(null))},[t,n]),null}function I(e){let{activeDevice:t,freezeParallax:n,receiptView:r}=e,{camera:o,pointer:l,scene:s}=(0,i.D)(),c=(0,p.J)(),u=(0,a.useRef)(Z.clone()),d=(0,a.useRef)(!1),x=(0,a.useRef)(new h.Vector3(0,1,0)),m=(0,a.useRef)({value:0}),v=(0,a.useRef)({value:0}),w=(0,a.useRef)({value:0}),g=(0,a.useRef)({value:450});return(0,a.useEffect)(()=>
1{if(f.ZP.killTweensOf(o.position),f.ZP.killTweensOf(u.current),f.ZP.killTweensOf(x.current),f.ZP.killTweensOf(m.current),f.ZP.killTweensOf(v.current),f.ZP.killTweensOf(w.current),f.ZP.killTweensOf(g.current),r&&"main"===t){let e=L(s,"main",F);if(!e)return;d.current=!0,f.ZP.to(x.current,{x:B.x,y:B.y,z:B.z,duration:1.1,ease:O}),f.ZP.to(o.position,{x:e.center.x+V.x,y:e.center.y+V.y,z:e.center.z+V.z,duration:1.1,ease:O}),f.ZP.to(g.current,{value:1920,duration:1.1,ease:O,onUpdate:()=>{o.zoom=g.current.value,o.updateProjectionMatrix()}}),f.ZP.to(u.current,{x:e.center.x+A.x,y:e.center.y+A.y,z:e.center.z+A.z,duration:1.1,ease:O}),f.ZP.to(m.current,{value:0,duration:1.1,ease:O}),f.ZP.to(v.current,{value:0,duration:1.1,ease:O}),f.ZP.to(w.current,{value:0,duration:1.1,ease:O});return}if(x.current.set(0,1,0),t){var e,n,a,i,l;let r=null!==(e=R[t])&&void 0!==e?e:T,c=L(s,t,r.centerMesh);if(!c)return;let h=function(e,t,n){let r=t.right-t.left,a=t.top-t.bottom;return Math.min(r*n/e.x,a*n/e.y)}(c.size,o,null!==(n=r.fill)&&void 0!==n?n:.85);d.current=!0,f.ZP.to(o.position,{x:c.center.x+r.lateral[0],y:c.center.y+r.lateral[1],z:c.center.z+E.z,duration:1.1,ease:O}),f.ZP.to(g.current,{value:h,duration:1.1,ease:O,onUpdate:()=>{o.zoom=g.current.value,o.updateProjectionMatrix()}}),f.ZP.to(u.current,{x:c.center.x+r.lookOffset[0],y:c.center.y+r.lookOffset[1],z:c.center.z+r.lookOffset[2],duration:1.1,ease:O}),f.ZP.to(m.current,{value:null!==(a=r.roll)&&void 0!==a?a:0,duration:1.1,ease:O}),f.ZP.to(v.current,{value:null!==(i=r.pitch)&&void 0!==i?i:0,duration:1.1,ease:O}),f.ZP.to(w.current,{value:null!==(l=r.yaw)&&void 0!==l?l:0,duration:1.1,ease:O})}else f.ZP.to(o.position,{x:E.x,y:E.y,z:E.z,duration:1.1,ease:O,onComplete:()=>{d.current=!1}}),f.ZP.to(u.current,{x:Z.x,y:Z.y,z:Z.z,duration:1.1,ease:O}),f.ZP.to(m.current,{value:0,duration:1.1,ease:O}),f.ZP.to(v.current,{value:0,duration:1.1,ease:O}),f.ZP.to(w.current,{value:0,duration:1.1,ease:O}),f.ZP.to(g.current,{value:450,duration:1.1,ease:O,onUpdate:()=>{o.zoom=g.current.value,o.updateProjectionMatrix()}})},[t,r,o,s]),(0,i.F)((e,t)=>{if(!d.current&&!c&&!n){let e=1.1*l.x,n=.75*l.y,r=1-Math.exp(-5*t);o.position.x=h.MathUtils.lerp(o.position.x,e,r),o.position.y=h.MathUtils.lerp(o.position.y,n,r)}o.up.copy(x.current),o.lookAt(u.current),0!==m.current.value&&o.rotateZ(m.current.value),0!==v.current.value&&o.rotateX(v.current.value),0!==w.current.value&&o.rotateY(w.current.value)}),null}function U(){return(0,r.jsx)("mesh",{children:(0,r.jsx)("meshStandardMaterial",{color:"#C692FF",wireframe:!0})})}function q(e){let{onDeviceClick:t,centerOn:n,mouseParallax:i,activeDevice:o,tamagotchiVideos:s,internshipVideoActive:c,internshipVideoClosed:h,internshipOpenings:p,slideshowImages:f,soundboardSounds:m,contactForms:v,formOpen:w,projectorActive:g,onScreenRect:b,onToggleChange:y,soundEnabled:k,receiptData:j,receiptView:S}=e;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.Suspense,{fallback:(0,r.jsx)(U,{}),children:(0,r.jsx)(x.ZP,{onDeviceClick:t,scale:2.5,position:[0,0,0],centerOn:n,activeDevice:o,tamagotchiVideos:s,internshipVideoActive:c,internshipVideoClosed:h,internshipOpenings:p,slideshowImages:f,soundboardSounds:m,contactForms:v,onToggleChange:y,soundEnabled:k,receiptData:j,formOpen:w})}),b&&(0,r.jsx)(_,{active:!!g,onRect:b}),(0,r.jsx)(u.x,{children:(0,r.jsx)(d.B,{aoRadius:.5,intensity:2,distanceFalloff:.5,quality:"performance",aoSamples:16,denoiseSamples:8})}),i?(0,r.jsx)(I,{activeDevice:o,freezeParallax:w||S,receiptView:S}):(0,r.jsx)(l.z,{enablePan:!1,enableZoom:!0,minDistance:1,maxDistance:12,minPolarAngle:Math.PI/4,maxPolarAngle:Math.PI/1.5})]})}function H(e){let{rect:t,children:n}=e,a=t.width/1213,i=t.height/a;return(0,r.jsx)("div",{className:"pointer-events-none absolute z-[60]",style:{left:t.left,top:t.top,width:t.width,height:t.height},children:(0,r.jsx)("div",{className:"absolute left-0 top-0 origin-top-left",style:{width:1213,height:i,transform:"scale(".concat(a,")")},children:n})})}function J(){let{centerOn:e,mouseParallax:t,tamagotchiVideos:n,internshipVideoActive:i,internshipVideoClosed:l,internshipOpenings:c,slideshowImages:u,soundboardSounds:d,partnerForm:p,joinForm:f,lightRig:x,autoOpenForm:v}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},w={partner:p,join:f},[g,b]=(0,a.useState)(null),[y,k]=(0,a.useState)(null),[E,Z]=(0,a.useState)(!1),[O,T]=(0,a.useState)("partner"),[D,R]=(0,a.useState)(!1),[F,V]=(0,a.useState)(!1),[A,B]=(0,a.useState)(!1),[L,_]=(0,a.useState)(null),{state:I}=(0,P.cT)(),U=function(){let[e,t]=(0,a.useState)(1.75);return(0,a.useEffect)(()=>{let e=()=>Math.min(1.75,Math.max(.75,Math.sqrt(45e5/(window.innerWidth*window.innerHeight))));t(e());let n=()=>t(e());
1return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),e}(),J=(0,a.useCallback)(e=>{b(e)},[]),W=(0,a.useCallback)(()=>{b(null)},[]),X=(0,a.useCallback)(()=>{E&&D?V(!0):W()},[E,D,W]),Y=(0,a.useCallback)(e=>{k(e)},[]),G=(0,a.useCallback)(e=>{T(e)},[]),$=(0,a.useCallback)(()=>Z(!0),[]),K=(0,a.useCallback)(()=>Z(!1),[]),Q=(0,a.useCallback)(e=>{_({variant:O,values:e}),B(!0),Z(!1)},[O]);(0,a.useEffect)(()=>{"main"!==g&&(Z(!1),V(!1),B(!1),_(null))},[g]),(0,a.useEffect)(()=>{if(!g)return;let e=e=>{if("Escape"===e.key){if(F){V(!1);return}X()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g,F,X]);let{progress:ee,active:et,loaded:en}=(0,s.S)(),[er,ea]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(er||!v||!(en>0&&!et&&ee>=100))return;let e=setTimeout(()=>ea(!0),2500);return()=>clearTimeout(e)},[er,v,en,et,ee]),(0,a.useEffect)(()=>{if(!v||!er)return;T(v),b("main");let e=setTimeout(()=>Z(!0),1300);return()=>clearTimeout(e)},[v,er]);let ei="main"===g;return(0,r.jsxs)("div",{role:"img","aria-label":"Interactive 3D scene with devices",className:"relative isolate h-[calc(100vh+122px)] w-full -mt-[122px]",children:[(0,r.jsxs)(o.Xz,{shadows:"percentage",orthographic:!0,className:"absolute inset-0",dpr:U,camera:{position:[0,0,3],zoom:450,near:-10,far:100},gl:{antialias:!1,powerPreference:"high-performance",toneMapping:h.ACESFilmicToneMapping,toneMappingExposure:1.2},style:{background:"transparent"},children:[(0,r.jsx)(q,{onDeviceClick:J,centerOn:e,mouseParallax:t,activeDevice:g,tamagotchiVideos:n,internshipVideoActive:i,internshipVideoClosed:l,internshipOpenings:c,slideshowImages:u,soundboardSounds:d,contactForms:w,formOpen:E,projectorActive:ei,onScreenRect:Y,onToggleChange:G,soundEnabled:"on"===I,receiptData:L,receiptView:A}),x?(0,r.jsx)(a.Suspense,{fallback:null,children:(0,r.jsx)(z,{initialLights:N,initialEnvironment:M})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(C.HF,{lights:N}),(0,r.jsx)(a.Suspense,{fallback:null,children:(0,r.jsx)(C.DH,{config:M})})]})]}),t&&ei&&!E&&!A&&y&&(0,r.jsx)(H,{rect:y,children:(0,r.jsx)("button",{type:"button",onClick:$,"aria-label":"Start contact form",className:"pointer-events-auto absolute bottom-[56px] right-[40px] flex cursor-pointer items-center rounded-[10px] bg-white p-[18px] transition-transform can-hover:hover:scale-105",children:(0,r.jsx)("span",{className:"px-[10px] font-sans font-semibold text-[20px] uppercase tracking-[0.4px] text-black",children:"Start"})})}),t&&ei&&E&&(0,r.jsx)(j,{variant:O,config:w[O],rect:y,onClose:K,onDirtyChange:R,onSubmitted:Q}),t&&ei&&F&&(0,r.jsx)(S.o,{rect:y,onConfirm:()=>{V(!1),W()},onCancel:()=>V(!1)}),g&&!F&&(0,r.jsx)("button",{type:"button",onClick:X,className:"absolute left-9 top-[284px] z-[70] flex h-[79px] w-[79px] cursor-pointer items-center justify-center rounded-[12px] border-2 border-black bg-[#F0BF2C] text-black shadow-[0_4px_12px_rgba(0,0,0,0.18)] transition-transform can-hover:hover:scale-105","aria-label":"Back to overview",children:(0,r.jsx)("svg",{"aria-hidden":"true",width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",stroke:"currentColor",strokeWidth:"3",children:(0,r.jsx)("path",{d:"M30 10L10 30M10 10l20 20"})})}),(0,r.jsx)(m.i,{})]})}c.L.preload(x.fK)}}]);
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.