1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9001],{1525:(e,t,n)=>{n.d(t,{EA:()=>m,Up:()=>p,_K:()=>w,FL:()=>x,NI:()=>h,wx:()=>v,c8:()=>g,s3:()=>y,pU:()=>b,HI:()=>T,d1:()=>I,Iv:()=>C,h9:()=>F,al:()=>A,CJ:()=>k,Js:()=>M,RI:()=>R,ln:()=>N,iu:()=>S,O4:()=>j,hn:()=>E});var a=n(85339),o=n(17583),r=n(2920),l=n(84153),i=n(56573);let s={"glass-bay":[1.6,2.9,.06],"slide-door":[1.46,2.34,.212],"trading-post":[1.6,1.4,.72],"ceiling-strip":[2.4,.07,.1],"floor-guide":[2.4,.012,.06],"tech-column":[.39,2.9,.39],"vent-grille":[.6,.3,.045],"hull-rib-panel":[2,2.9,.085],"holo-table":[1.6,1.416,1.6]},c={"mat:brushed-steel":{kind:"brushed-steel",repeat:[2,2],scale:.4},"mat:dark-steel":{kind:"dark-steel",repeat:[3,3],scale:.45},"mat:hull-paint":{kind:"hull-paint",repeat:[2,2],scale:.35},"mat:glass":{kind:"glass",repeat:[1,1],scale:.15}},d="function"==typeof setTimeout?e=>{setTimeout(e,0)}:e=>{Promise.resolve().then(e)},u=null;async function f(e){let{GLTFLoader:t}=await Promise.resolve().then(n.bind(n,56121)),o=await new t().loadAsync(e),l=new Set,i=e=>{if(l.has(e))return;if(l.add(e),"mat:led-cool"===e.name){e.emissive.setHex(0xffc98a),e.needsUpdate=!0;return}let t=c[e.name];if(!t)return;let n=(0,r.ru)(t.kind,{repeat:t.repeat});n&&(e.normalMap=n.normalMap,e.roughnessMap=n.roughnessMap,e.roughness=1,e.normalScale.set(t.scale,t.scale),e.needsUpdate=!0)},s=new Map;for(let e of(o.scene.updateMatrixWorld(!0),o.scene.children)){let t=e.name.replace(/^futur[:_]?/,""),n=[],o=new a.kn4().copy(e.matrixWorld).invert();e.traverse(e=>{if(e instanceof a.eaF)for(let t of Array.isArray(e.material)?e.material:[e.material])t instanceof a._4j&&(t.envMapIntensity=1,t.side=a.hB5,i(t)),n.push({geometry:e.geometry,material:t,matrix:e.matrixWorld.clone().premultiply(o)})}),n.length&&s.set(t,n)}return s}let p=2.9;o.s_;let m=.12,h=2.1,g=.9,v=.14,b=1.1,w=1.2,y=.12,x=.9,M=e=>i.iU[e],k=e=>i.iU[e]+p;function S(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Math.min((0,o.$j)(e),o.tH)-t;return n>0?n:0}function A(e){let t=new a.YJl;t.name="YACHT_ROOMS";let n=new Set,o=new Set,l=!1,i=e=>(n.add(e),e),s=e=>(o.add(e),e),c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s((0,r.MT)(e,t))},p=e=>s(new a._4j(e)),m={panel:c("walnut",{tint:0xa8907a,envMapIntensity:.5}),wood:c("teak-dark",{tint:0x9d8464,envMapIntensity:.45}),deck:c("teak",{envMapIntensity:.35}),structure:c("dark-steel",{tint:0x9aa3a8,metalness:.3,envMapIntensity:.95}),recess:c("dark-steel",{tint:2567475,metalness:.04,envMapIntensity:.12}),door:c("plaster",{tint:0xc4bcab,metalness:.04,normalScale:new a.I9Y(.15,.15),envMapIntensity:.55}),bronze:c("brass",{envMapIntensity:1.1}),steel:c("brushed-steel",{envMapIntensity:1.15}),linen:c("fabric",{tint:0xc8bda6,envMapIntensity:.3}),plaster:c("plaster",{tint:0xe6ddc9,envMapIntensity:.22,emissive:4867644,emissiveIntensity:.35}),carpet:c("carpet",{tint:7826780,envMapIntensity:.1}),marble:c("marble",{envMapIntensity:.8}),glass:c("glass",{envMapIntensity:1.2}),cove:p({color:0xffe3b4,emissive:0xffc98a,emissiveIntensity:2.2,roughness:.4,metalness:.04,side:a.$EB}),screen:p({color:9163497,emissive:6929112,emissiveIntensity:1.6,roughness:.35,metalness:.05})},h=i(new a.iNn(1,1,1)),g=i(new a.Ho_(.5,.5,1,16,1)),v=function(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=null!=(t=n.url)?t:"/world/futur/cof-futur.glb",r=[],l=[],i=new a.B69,s=!1,c=!1,p=Promise.resolve(),m=0,h=0,g=t=>{e.userData.futurKit=t};function v(){c||s||(c=!0,d(()=>{c=!1,p=p.then(()=>b()).catch(e=>{var t;console.error("[futur-kit] echec",e),g("error:"+String(null!=(t=null==e?void 0:e.message)?t:e))})}))}async function b(){var t,i,c;let d;if(s||0===r.length)return;try{u=null!=u?u:f(o),d=await u}catch(e){u=null,g("fallback"),null==(i=n.onError)||i.call(n,e);return}if(s)return;let p=r.splice(0,r.length);e.updateMatrixWorld(!0);let v=new a.kn4().copy(e.matrixWorld).invert(),b=new Map;for(let e of p){let t=null!=(c=b.get(e.piece))?c:[];t.push(e),b.set(e.piece,t)}for(let[t,n]of b){let o=d.get(t);if(!o){console.warn("[futur-kit] piece absente du GLB",t,[...d.keys()].join(","));continue}for(let[r,i]of o.entries()){let o=new a.ZLX(i.geometry,i.material,n.length);o.name="futur-".concat(t,"-").concat(r,"-").concat(l.length),o.castShadow=!0,o.receiveShadow=!0,n.forEac
1h((t,n)=>{t.parent.updateMatrixWorld(!0);let a=t.parent===e?t.matrix.clone():t.matrix.clone().premultiply(v.clone().multiply(t.parent.matrixWorld));o.setMatrixAt(n,a.multiply(i.matrix))}),o.instanceMatrix.needsUpdate=!0,o.computeBoundingSphere(),e.add(o),l.push(o)}for(let e of n)e.fallback&&(e.fallback.visible=!1),m++}g("glb:".concat(m,"/").concat(h,":").concat([...d.keys()].length)),null==(t=n.onReady)||t.call(n)}return g("attente"),{place:function(t,n){var a,o,l;let c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;if(s)return;i.position.set(n.position[0],n.position[1],n.position[2]),i.rotation.set(0,null!=(a=n.rotation)?a:0,0);let d=null!=(o=n.scale)?o:1;i.scale.set(d*(null!=(l=n.stretchX)?l:1),d,d),i.updateMatrix(),r.push({piece:t,matrix:i.matrix.clone(),parent:c,fallback:n.fallback}),h++,v()},flush:()=>(v(),new Promise(e=>d(e)).then(()=>p)),dispose(){for(let e of(s=!0,l))e.removeFromParent(),e.dispose();l.length=0,r.length=0,g("dispose")}}}(t);return e&&e.add(t),{root:t,mat:m,unitBox:h,unitCylinder:g,futur:v,track:i,own:s,finish:c,box:function(e,t,n,o){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,l=new a.eaF(h,m[t]);return l.position.set(n[0],n[1],n[2]),l.scale.set(Math.abs(o[0])||.001,Math.abs(o[1])||.001,Math.abs(o[2])||.001),l.rotation.y=r,l.castShadow=!0,l.receiveShadow=!0,e.add(l),l},rod:function(e,t,n,o,r){let l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"y",i=new a.eaF(g,m[t]);i.position.set(n[0],n[1],n[2]);let s=Math.abs(2*o)||.001;return i.scale.set(s,Math.abs(r)||.001,s),"x"===l?i.rotation.z=Math.PI/2:"z"===l&&(i.rotation.x=Math.PI/2),i.castShadow=!0,i.receiveShadow=!0,e.add(i),i},dispose(){if(!l){for(let e of(l=!0,v.dispose(),t.removeFromParent(),t.traverse(e=>{e.isInstancedMesh&&e.dispose()}),n))e.dispose();for(let e of o)e.dispose();n.clear(),o.clear()}}}}function E(e,t){let n=t[0]-e[0],a=t[1]-e[1],o=Math.hypot(n,a),r=o>1e-9?n/o:1,l=o>1e-9?a/o:0,i=Math.atan2(-l,r),s=[-l,r];return{yaw:i,length:o,u:[r,l],n:s,at:function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return[e[0]+r*t+s[0]*n,e[1]+l*t+s[1]*n]}}}function I(e,t,n){let{id:o,deck:r,from:l,to:i,height:c=p,thickness:d=m,doors:u=[],plinth:f=!0,dado:b=!0,returnDepth:w=.25,returnSide:k=1,face:S="panel"}=n,A=M(r),I=E(l,i),P=new a.YJl;P.name="bulkhead:".concat(o),t.add(P);let z=[];if(I.length<1e-6)return{group:P,obstacles:z,frame:I};let D=u.map((e,t)=>{var n;return"number"==typeof e?{at:e,id:String(t)}:{...e,id:null!=(n=e.id)?n:String(t)}}).map(e=>{var t;return{...e,width:null!=(t=e.width)?t:g}}).filter(e=>Number.isFinite(e.at)&&e.at-e.width/2>-.01&&e.at+e.width/2<I.length+.01).sort((e,t)=>e.at-t.at),R=0,C=0,F="panel"===S||"linen"===S?"hull-rib-panel":"glass"===S?"glass-bay":null,j=null!==F&&.06>Math.abs(c-p),T=(t,n)=>{let r=n-t;if(r<.02)return;let l=I.at((t+n)/2),i=I.yaw;e.box(P,S,[l[0],A+c/2,l[1]],[r,c,d],i);let u=new a.YJl;if(u.name="bulkhead-trim:".concat(o,"-").concat(C),P.add(u),f&&e.box(u,"wood",[l[0],A+y/2,l[1]],[r,y,d+.04],i),b&&e.box(u,"wood",[l[0],A+x,l[1]],[r,.055,d+.05],i),j&&F){let n=s[F][0],a=Math.max(1,Math.round(r/n)),o=r/a,l=d/2+.045;for(let r=0;r<a;r++){let a=t+(r+.5)*o;for(let t of[-1,1]){let s=I.at(a,t*l);e.futur.place(F,{position:[s[0],A,s[1]],rotation:t>0?i+Math.PI:i,stretchX:o/n,fallback:0===r&&t<0?u:void 0},P)}}}z.push({id:"".concat(o,"-").concat(C++),center:l,half:[r/2,d/2],rotation:i})};for(let t of D){T(R,t.at-t.width/2);let n=function(e,t,n){let{id:o,deck:r,center:l,yaw:i,width:s=g,height:c=h,thickness:d=m,wallHeight:u=p,leafOpen:f=.62,leafSide:b=1}=n,w=M(r),y=new a.YJl;y.name="door:".concat(o),t.add(y),y.position.set(l[0],w,l[1]),y.rotation.y=i;let x=s/2,k=x+v,S=new a.YJl;S.name="door-legacy",y.add(S);let A=d+.03;e.box(S,"structure",[-(x+v/2),c/2,0],[v,c,A]),e.box(S,"structure",[x+v/2,c/2,0],[v,c,A]),e.box(S,"structure",[0,c+.05,0],[s+2*v,.1,A]),e.box(S,"recess",[0,c/2,0],[s,c,.55*d]);let I=Math.max(0,u-c-.1);I>.01&&e.box(y,"panel",[0,c+.1+I/2,0],[s+2*v,I,d]),e.box(S,"bronze",[0,.008,0],[s,.016,d+.02]);let P=new a.YJl;P.position.set(-x,0,0),P.rotation.y=-b*Math.abs(f),S.add(P),e.box(P,"door",[s/2,c/2,0],[s-.01,c-.02,.045]),e.box(P,"bronze",[s/2,c-.02,0],[s-.01,.014,.049]),e.rod(P,"bronze",[s-.11,1.05,.0575*b],.014,.16,"y"),e.rod(P,"bronze",[s-.11,1.05,.040499999999999994*b],.011,.04,"z"),.02>Math.abs(c-h)&&s>.5&&s<1.8&&e.futur.place("slide-door",{position:[0,0,0],stretchX:s/g,fallback:S},y);let z=E(l,[l[0]+Math.cos(i),l[1]-Math.sin(i)]),D=[v/2,d/2];
1return{group:y,obstacles:[{id:"".concat(o,"-jamb-a"),center:z.at(-(k-v/2)),half:D,rotation:i},{id:"".concat(o,"-jamb-b"),center:z.at(k-v/2),half:D,rotation:i}]}}(e,P,{id:"".concat(o,"-door-").concat(t.id),deck:r,center:I.at(t.at),yaw:I.yaw,width:t.width,height:t.height,thickness:d,wallHeight:c,leafOpen:t.leafOpen,leafSide:t.leafSide});z.push(...n.obstacles),R=t.at+t.width/2}if(T(R,I.length),w>.02){let t=I.yaw+Math.PI/2;for(let[n,a]of[["a",0],["b",I.length]]){let r=I.at(a,w/2*k);e.box(P,S,[r[0],A+c/2,r[1]],[w,c,d],t),f&&e.box(P,"wood",[r[0],A+y/2,r[1]],[w,y,d+.04],t),z.push({id:"".concat(o,"-return-").concat(n),center:r,half:[w/2,d/2],rotation:t})}}return{group:P,obstacles:z,frame:I}}let P=(e,t,n)=>Number.isFinite(n)&&n>=2?Math.min(64,Math.round(n)):Math.max(2,Math.min(64,Math.round(Math.abs(t-e)/2)));function z(e,t,n,o,r){let l=o+1,i=[],s=[],c=[],d=[],u=r?-1:1;for(let a=0;a<l;a++){let o=e+(t-e)*a/(l-1),r=S(o,n);i.push(-r,0,o,r,0,o),s.push(-r,o,r,o),c.push(0,u,0,0,u,0)}for(let e=0;e<l-1;e++){let t=2*e,n=t+1,a=t+2,o=t+3;r?d.push(t,n,a,n,o,a):d.push(t,a,n,n,a,o)}let f=new a.LoY;return f.setAttribute("position",new a.qtW(i,3)),f.setAttribute("uv",new a.qtW(s,2)),f.setAttribute("normal",new a.qtW(c,3)),f.setIndex(d),f.computeBoundingSphere(),f}function D(e,t,n,o,r,l,i){let c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"ceiling-strip",d=s[c][0],u="ceiling-strip"===c?-s[c][1]:0;for(let s=0;s<i;s++){let f=o+(r-o)*s/i,p=o+(r-o)*(s+1)/i,m=(f+p)/2,h=S(m,l+.22);if(h<=0)continue;let g=Math.abs(p-f)+.02;for(let o of[-1,1]){let r=new a.YJl;r.name="cove-legacy",t.add(r),e.box(r,"cove",[o*h,n,m],[.06,.05,g]),e.futur.place(c,{position:[o*h,n+u,m],rotation:Math.PI/2,stretchX:g/d,fallback:r},t)}}}function R(e,t,n){let{id:o,deck:r,zStart:l,zEnd:i,inset:s=0,role:c="carpet",cove:d=!1}=n,u=P(l,i,n.segments),f=M(r),p=new a.YJl;p.name="floor:".concat(o),p.position.y=f,t.add(p);let m=new a.eaF(e.track(z(l,i,s,u,!1)),e.mat[c]);m.receiveShadow=!0,p.add(m);for(let t=0;t<u;t++){let n=l+(i-l)*(t+.5)/u,a=S(n,s);if(a<=0)continue;let o=Math.abs(i-l)/u+.02;for(let t of[-1,1])e.box(p,"deck",[t*(a-.14),.006,n],[.28,.012,o])}return d&&D(e,p,.05,l,i,s,u,"floor-guide"),p}function C(e,t,n){let{id:o,deck:r,zStart:l,zEnd:i,inset:s=0,role:c="plaster",cove:d=!0,coffers:u=!0,cofferPitch:f=2.4}=n,p=P(l,i,n.segments),m=new a.YJl;m.name="ceiling:".concat(o),m.position.y=k(r),t.add(m);let h=new a.eaF(e.track(z(l,i,s,p,!0)),e.mat[c]);if(h.receiveShadow=!0,m.add(h),u){let t=Math.max(1,Math.min(48,Math.floor(Math.abs(i-l)/Math.max(.6,f))));for(let n=1;n<=t;n++){let a=l+(i-l)*n/(t+1),o=S(a,s+.1);o<=0||e.box(m,"wood",[0,-.07,a],[2*o,.14,.18])}}return d&&D(e,m,-.12,l,i,s,p,"ceiling-strip"),m}function F(e,t,n){let{id:o,deck:r,zStart:l,zEnd:i,width:c=w,x:d=0,portDoors:u=[],starboardDoors:f=[],walls:h=!0}=n,g=M(r),v=new a.YJl;v.name="corridor:".concat(o),t.add(v);let b=[],y=Math.min(l,i),x=Math.max(l,i),k=c/2,S=x-y;if(S<.1)return{group:v,obstacles:b};if(e.box(v,"carpet",[d,g+.004,(y+x)/2],[c,.008,S]),e.box(v,"deck",[d-k+.09,g+.008,(y+x)/2],[.18,.016,S]),e.box(v,"deck",[d+k-.09,g+.008,(y+x)/2],[.18,.016,S]),h){let t=I(e,v,{id:"".concat(o,"-port"),deck:r,from:[d-k,y],to:[d-k,x],doors:u.filter(e=>e>y&&e<x).map(e=>({at:e-y,id:"z".concat(e.toFixed(1))})),returnDepth:0,face:"panel"}),n=I(e,v,{id:"".concat(o,"-star"),deck:r,from:[d+k,y],to:[d+k,x],doors:f.filter(e=>e>y&&e<x).map(e=>({at:e-y,id:"z".concat(e.toFixed(1)),leafSide:-1})),returnDepth:0,face:"panel"});for(let a of(b.push(...t.obstacles,...n.obstacles),[-1,1]))e.rod(v,"steel",[d+a*(k-.05),g+.9,(y+x)/2],.022,S,"z")}for(let t of[-1,1]){let n=new a.YJl;n.name="corridor-cove-legacy",v.add(n),e.box(n,"cove",[d+t*(k-.12),g+p-.12,(y+x)/2],[.07,.05,S]),e.futur.place("ceiling-strip",{position:[d+t*(k-.12),g+p-s["ceiling-strip"][1],(y+x)/2],rotation:Math.PI/2,stretchX:S/s["ceiling-strip"][0],fallback:n},v)}if(h){let t=Math.max(1,Math.round(S/6));for(let n=0;n<t;n++){let a=y+(n+.5)*S/t;for(let t of[-1,1])e.futur.place("vent-grille",{position:[d+t*(k-m/2-.02),g+2.2,a],rotation:t<0?-Math.PI/2:Math.PI/2},v)}}return{group:v,obstacles:b}}function j(e,t){let n=[],a=new Set,o=t=>{if(!t)return;if(Array.isArray(t)){for(let e of t)o(e);return}if("obstacles"in t){for(let e of t.obstacles)o(e);return}if(!t.center||!t.center.every(Number.isFinite))return;let[r,i]=t.center;if(Math.abs(r)>S(i)+l.Bt)return;
1if("radius"in t){if(!Number.isFinite(t.radius)||t.radius<=0)return}else if(!t.half.every(e=>Number.isFinite(e)&&e>0))return;let s=t.id.startsWith("".concat(e.id,":"))?t.id:"".concat(e.id,":").concat(t.id);a.has(s)||(a.add(s),n.push({...t,id:s}))};for(let e of t)o(e);return n}let T=new Map,O={"d0-accueil-iron":{colonnes:2,situation:!0},"d0-restaurant":{colonnes:2},"d0-fumoir":{colonnes:2},"d1-salon-avant":{colonnes:2},"d1-seance":{colonnes:2},"d1-trading-floor":{colonnes:4,postes:4},"d2-academy-labo":{colonnes:2,postes:2},"d2-studio-postes":{colonnes:2,postes:2},"d3-bureaux":{colonnes:2,postes:2},"d3-direction":{colonnes:2,postes:1},"d4-skydeck":{}};function N(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!e.id)throw Error("registerRoom: id manquant");if(T.has(e.id))throw Error("registerRoom: id d\xe9j\xe0 pris â ".concat(e.id));if(!(e.zEnd>e.zStart))throw Error("registerRoom(".concat(e.id,"): zEnd doit \xeatre > zStart"));if(0>=S(e.zStart)||0>=S(e.zEnd))throw Error("registerRoom(".concat(e.id,"): hors coque â z ").concat(e.zStart,"â¦").concat(e.zEnd));let o={spec:e,build:(e,o,r)=>{let l=t(e,o,r);return!function(e,t,n,o){var r,l;let i=O[n.id];if(!i)return;let c=M(n.deck),d=n.zEnd-n.zStart,u=new a.YJl;u.name="futur-signature:".concat(n.id),t.add(u);let f=null!=(r=i.colonnes)?r:0;for(let t=0;t<f;t++){let a=n.zStart+d*(t+1)/(f+1),o=S(a,.9);if(!(o<=1))for(let t of[-1,1])e.futur.place("tech-column",{position:[t*o,c,a],rotation:t<0?-Math.PI/2:Math.PI/2},u)}i.situation&&e.futur.place("holo-table",{position:[0,c,n.zStart+d/3]},u);let p=null!=(l=null!=o?o:i.postes)?l:0;for(let t=0;t<p;t++){let a=n.zStart+2*d/3+(t%2==0?-.9:.9),o=(t<2?-1:1)*(2.4+1.9*Math.floor(t/2));Math.abs(o)+s["trading-post"][0]/2>S(a,.4)||e.futur.place("trading-post",{position:[o,c,a],rotation:t<2?0:Math.PI},u)}}(e,l.group,r,n.signaturePostes),l}};return T.set(e.id,o),o}},2920:(e,t,n)=>{n.d(t,{H0:()=>E,MT:()=>A,US:()=>I,ru:()=>S});var a=n(85339);let o=(e,t,n)=>e<t?t:e>n?n:e,r=(e,t,n)=>e+(t-e)*n,l=e=>e*e*(3-2*e);function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=0|o((e>>16&255)*t+n,0,255),l=0|o((e>>8&255)*t+n,0,255),i=0|o((255&e)*t+n,0,255);return a>=1?"rgb(".concat(r,",").concat(l,",").concat(i,")"):"rgba(".concat(r,",").concat(l,",").concat(i,",").concat(a,")")}let s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=0|o(e,0,255);return t>=1?"rgb(".concat(n,",").concat(n,",").concat(n,")"):"rgba(".concat(n,",").concat(n,",").concat(n,",").concat(t,")")};function c(e,t,n){let a=new Float32Array(e*t);for(let e=0;e<a.length;e++)a[e]=n();return a}function d(e,t,n,a,o){let i=Math.floor(a),s=Math.floor(o),c=l(a-i),d=l(o-s),u=(i%t+t)%t,f=(s%n+n)%n,p=(u+1)%t,m=(f+1)%n,h=e[f*t+u],g=e[f*t+p],v=e[m*t+u],b=e[m*t+p];return r(r(h,g,c),r(v,b,c),d)}function u(e){if("undefined"==typeof document)return null;let t=document.createElement("canvas");t.width=e,t.height=e;let n=t.getContext("2d");return n?{canvas:t,ctx:n}:null}function f(e,t,n,a,i){let s=Math.max(1,i.planks),u=[],f=0;for(let e=0;e<s;e++){let e=.74+.52*a();u.push(e),f+=e}let p=[0],m=0;for(let e=0;e<s;e++)m+=u[e]/f*n,p.push(e===s-1?n:Math.round(m));let h=new Int32Array(n),g=new Float32Array(n),v=new Float32Array(n);for(let e=0;e<n;e++){let t=0;for(;t<s-1&&e>=p[t+1];)t++;h[e]=t;let a=p[t],o=Math.max(1,p[t+1]-a);g[e]=(e-a)/o;let r=1/0;for(let t=0;t<p.length;t++){let a=Math.abs(e-p[t]);r=Math.min(r,a,n-a)}v[e]=r}let b=new Float32Array(s);for(let e=0;e<s;e++)b[e]=a()-.5;let w=Math.max(8,n>>3),y=Math.max(32,n>>1),x=Math.max(64,n),M=c(w,3,a),k=c(y,8,a),S=c(x,20,a),A=c(8,4,a),E=new Float32Array(4*i.knots);for(let e=0;e<i.knots;e++)E[4*e]=a()*n,E[4*e+1]=a()*n,E[4*e+2]=(3.5+7*a())*(n/512),E[4*e+3]=1+.6*a();let I=i.base>>16&255,P=i.base>>8&255,z=255&i.base,D=i.dark>>16&255,R=i.dark>>8&255,C=255&i.dark,F=i.warm>>16&255,j=i.warm>>8&255,T=255&i.warm,O=i.joint>>16&255,N=i.joint>>8&255,U=255&i.joint,L=n/2,q=n/512*1.7,B=n/512*3.1,_=e.data;for(let e=0;e<n;e++)for(let a=0;a<n;a++){let c=e*n+a,u=h[a],f=g[a],p=(d(A,8,4,a/n*8,e/n*4)-.5)*i.wobble,m=a+p,W=.4*d(M,w,3,m/n*w,e/n*3)+.34*d(k,y,8,m/n*y,e/n*8)+.26*d(S,x,20,m/n*x,e/n*20);W=l(o((W-.28)/.46,0,1));let H=b[u],Y=i.dome*(1-Math.pow(Math.abs(2*f-1),2.4)),$=1+.1*H+.09*Y,V=(W-.5)*2*i.contrast,J=(V>0?r(I,F,V):r(I,D,-V))*$,G=(V>0?r(P,j,V):r(P,R,-V))*$,Z=(V>0?r(z,T,V):r(z,C,-V))*$,X=.52+.2*Y+(W-.5)*.17;for(let t=0;t<E.length;t+=4){let o=3.4*E[t+2],i=e-E[t+1];if(i>L?i-=n:i<-L&&(i+=n),i>o||i<-o)continue;let s=a-E[t];s>L?s-=n:s<-L&&(s+=n);let c=Math.sqrt((s/=E[t+3])*s+i*i);if(c>=o)continue;let d=1-l(c/o),u=.5*Math.sin(c/E[t+2]*7.5)+.5,f=d*(.3+.42*u);J=r(J,.72*D,f),G=r(G,.72*R,f),Z=r(Z,.72*C,f),X=r(X,.4+.08*u,.65*f)}if(s>1){let e=v[a];if(e<2*B){let t=1-l(o((e-.4*q)/(1.4*q),0,1));J=r(J,O,t),G=r(G,N,t),Z=r(Z,U,t),X=r(X,.04,t);let n=.5*Math.exp(-Math.pow((e-B)/(.55*B),2));
1J=r(J,F,.45*n),G=r(G,j,.45*n),Z=r(Z,T,.45*n),X=Math.min(1,X+.1*n)}}let K=4*c;_[K]=o(J,0,255),_[K+1]=o(G,0,255),_[K+2]=o(Z,0,255),_[K+3]=255,t[c]=o(X,0,1)}}function p(e,t,n,a,r,l){let i=Math.max(64,n>>1),s=Math.max(128,n),u=c(6,i,a),f=c(18,s,a),p=c(3,Math.max(32,n>>2),a),m=c(26,12,a),h=c(7,7,a),g=Math.max(32,n>>2),v=r>>16&255,b=r>>8&255,w=255&r,y=e.data;for(let e=0;e<n;e++)for(let a=0;a<n;a++){let r=e*n+a,c=.55+.8*d(m,26,12,a/n*26,e/n*12),x=((d(u,6,i,a/n*6,e/n*i)-.5)*.58+(d(f,18,s,a/n*18,e/n*s)-.5)*.44+(d(p,3,g,a/n*3,e/n*g)-.5)*.5)*c,M=1+.19*x;l>0&&(M*=1+(d(h,7,7,a/n*7,e/n*7)-.5)*l);let k=4*r;y[k]=o(v*M,0,255),y[k+1]=o(b*M,0,255),y[k+2]=o(w*M,0,255),y[k+3]=255,t[r]=o(.5+.85*x,0,1)}}function m(e,t){let n=(e-(1-t)/2)/t;if(n<=0||n>=1)return 0;let a=2*n-1;return Math.sqrt(Math.max(0,1-a*a))}function h(e,t,n,a,l){let[i,s]=l.periods,u=c(i,i,a),f=c(s,s,a),p=Math.max(32,n>>2),m=Math.max(64,n>>1),h=l.fibre>0?c(p,p,a):u,g=l.fibre>0?c(m,m,a):u,v=l.color>>16&255,b=l.color>>8&255,w=255&l.color,y=e.data;for(let e=0;e<n;e++)for(let a=0;a<n;a++){let c=.64*d(u,i,i,a/n*i,e/n*i)+.36*d(f,s,s,a/n*s,e/n*s);l.fibre>0&&(c=c*(1-l.fibre)+(.55*d(h,p,p,a/n*p,e/n*p)+.45*d(g,m,m,a/n*m,e/n*m))*l.fibre);let x=(c-.5)*2,M=1+x*l.contrast,k=e*n+a,S=4*k;y[S]=o(v*M+x*l.hue[0],0,255),y[S+1]=o(b*M+x*l.hue[1],0,255),y[S+2]=o(w*M+x*l.hue[2],0,255),y[S+3]=255,t[k]=o(r(l.hLow,l.hHigh,c),0,1)}}let g={teak:{color:0x9a7048,roughness:.62,metalness:0,bump:.3,soften:1,normalScale:.9,roughRange:[.5,.82],seed:518721,env:.85,pixels:(e,t,n,a)=>f(e,t,n,a,{base:0x9a7048,warm:0xc79f68,dark:5979170,joint:1182727,planks:7,knots:4,wobble:2.2,dome:1,contrast:.34})},"teak-dark":{color:6965808,roughness:.66,metalness:0,bump:.3,soften:1,normalScale:.9,roughRange:[.54,.86],seed:518722,env:.45,pixels:(e,t,n,a)=>f(e,t,n,a,{base:6965808,warm:0x99713f,dark:3481362,joint:788228,planks:6,knots:3,wobble:2.2,dome:1,contrast:.36})},walnut:{color:5913126,roughness:.35,metalness:.02,bump:.14,soften:2,normalScale:.5,roughRange:[.26,.47],seed:518723,env:.5,clearcoat:.62,clearcoatRoughness:.1,pixels:(e,t,n,a)=>f(e,t,n,a,{base:5913126,warm:9856060,dark:2561292,joint:1182213,planks:1,knots:2,wobble:12,dome:0,contrast:.5})},"brushed-steel":{color:0xb9bec4,roughness:.34,metalness:.92,bump:.13,soften:0,normalScale:.4,roughRange:[.24,.46],seed:356666,env:1.15,pixels:(e,t,n,a)=>p(e,t,n,a,0xb9bec4,0)},"dark-steel":{color:2830390,roughness:.42,metalness:.88,bump:.09,soften:1,normalScale:.3,roughRange:[.34,.52],seed:356667,env:.95,pixels:(e,t,n,a)=>p(e,t,n,a,2830390,.14)},brass:{color:0xc9a24f,roughness:.38,metalness:.95,bump:.13,soften:0,normalScale:.42,roughRange:[.28,.52],seed:356668,env:1.1,pixels:(e,t,n,a)=>p(e,t,n,a,0xc9a24f,.18)},fabric:{color:0xd8cfbb,roughness:.86,metalness:0,bump:.42,soften:1,normalScale:1,roughRange:[.74,.96],seed:72423,env:.3,pixels:(e,t,n,a)=>(function(e,t,n,a){let r=Math.max(8,Math.round(n/6)),l=n/r,i=new Float32Array(r),s=new Float32Array(r),c=new Float32Array(r),d=new Float32Array(r);for(let e=0;e<r;e++)i[e]=.9+.2*a(),s[e]=.88+.22*a(),c[e]=.08>a()?.96:.74+.12*a(),d[e]=.08>a()?.96:.74+.12*a();let u=e.data;for(let e=0;e<n;e++){let a=e/l,f=Math.floor(a)%r,p=a-Math.floor(a);for(let a=0;a<n;a++){let h=a/l,g=Math.floor(h)%r,v=m(h-Math.floor(h),c[g]),b=m(p,d[f]),w=(g+f&1)==1,y=w?v:b,x=w?b:v,M=y>0?.62+.52*y:x>0?.42+.3*x:.3,k=w?i[g]:s[f],S=(e*n+a)*4;u[S]=o(216*M*k,0,255),u[S+1]=o(207*M*k,0,255),u[S+2]=o(187*M*k,0,255),u[S+3]=255,t[e*n+a]=o(y>0?.36+.6*y:x>0?.14+.26*x:.06,0,1)}}})(e,t,n,a)},leather:{color:5454123,roughness:.58,metalness:.05,bump:.46,soften:1,normalScale:.95,roughRange:[.44,.74],seed:0xc0ffee,env:.4,pixels:(e,t,n,a)=>(function(e,t,n,a){let r=Math.max(5,Math.round(n/64)),i=function(e,t,n){let a=Math.max(2,Math.round(e/t)),o=e/a,r=new Float32Array(a*a),l=new Float32Array(a*a);for(let e=0;e<a;e++)for(let t=0;t<a;t++)r[e*a+t]=(t+.12+.76*n())*o,l[e*a+t]=(e+.12+.76*n())*o;let i=new Float32Array(e*e),s=e/2;for(let t=0;t<e;t++){let n=Math.min(a-1,Math.floor(t/o));for(let c=0;c<e;c++){let d=Math.min(a-1,Math.floor(c/o)),u=1/0,f=1/0;for(let o=-1;o<=1;o++)for(let i=-1;i<=1;i++){let p=((n+o)%a+a)%a*a+((d+i)%a+a)%a,m=r[p]-c,h=l[p]-t;m>s?m-=e:m<-s&&(m+=e),h>s?h-=e:h<-s&&(h+=e);let g=m*m+h*h;g<u?(f=u,u=g):g<f&&(f=g)}i[t*e+c]=Math.sqrt(f)-Math.sqrt(u)}}return i}(n,r,a),s=Math.max(64,n>>1),u=c(s,s,a),f=c(9,9,a),p=.4*r,m=e.data;for(let e=0;e<n;e++)for(let a=0;a<n;a++){let r=e*n+a,c=l(o(i[r]/p,0,1)),h=d(u,s,s,a/n*s,e/n*s),g=d(f,9,9,a/n*9,e/n*9),v=h>.84?(h-.84)/.16:0,b=.58+.46*c+(g-.5)*.15-.2*v,w=4*r;m[w]=o(83*b*1.66,0,255),m[w+1]=o(57*b*1.7,0,255),m[w+2]=o(43*b*1.74,0,255),m[w+3]=255,t[r]=o(.22+.66*c+(g-.5)*.12-.24*v,0,1)}})(e,t,n,a)},carpet:{color:5919560,roughness:.95,metalness:0,bump:.4,soften:1,normalScale:1,roughRange:[.88,1],seed:174848,env:.12,pixels:(e,t,n,a)=>h(e,t,n,a,{color:5919560,periods:[40,128],contrast:.26,hue:[10,8,5],fibre:.62,hLow:.12,hHigh:.92})},marble:{color:0xe9e4da,roughness:.22,metalness:.02,bump:.1,soften:1,normalScale:.35,roughRange:[.16,.36],seed:238002,env:.7,clearcoat:.45,clearcoatRoughness:.06,pixels:(e,t,n,a)=>h(e,t,n,a,{color:0xece7dd,periods:[8,28],contrast:.065,hue:[4,3,6],fibre:0,hLow:.66,hHigh:.8}),paint:function(e,t,n,a){e.lineCap="round",e.lineJoin="round",t.lineCap="round",t.lineJoin="round";let o=(o,r,l,c)=>{let d=a()*n,u=[d,d],f=o;for(let e=0;e<6;e++){let e=[];for(let t=0;t<u.length-1;t++)e.push(u[t],(u[t]+u[t+1])/2+(a()-.5)*f);e.push(u[u.length-1]),u=e,f*=.54}let p=n/(u.length-1),m=u[u.length-1];for(let a of[-n,0,n])for(let o of[[4.2*r,.24*l],[1.8*r,.52*l],[.65*r,l]])for(let r of[e,t]){r.beginPath(),r.moveTo(0,u[0]+a);for(let e=1;e<u.length-1;e++)r.quadraticCurveTo(e*p,u[e]+a,e*p+p/2,(u[e]+u[e+1])/2+a);r.lineTo(n,m+a),r.lineWidth=o[0],r.strokeStyle=r===e?i(c,1,0,o[1]):s(96,.9*o[1]),r.stroke()}};for(let e=0;e<6;e++)o(.26*n,1.2+1.8*a(),.26+.22*a(),5133923);for(let e=0;e<12;e++)o(.13*n,.4+.5*a(),.11+.11*a(),8817815)}},plaster:{color:0xe2ddd2,roughness:.9,metalness:0,bump:.08,soften:2,normalScale:.45,roughRange:[.84,.96],seed:643265,env:.28,pixels:(e,t,n,a)=>h(e,t,n,a,{color:0xe2ddd2,periods:[12,56],contrast:.055,hue:[3,3,4],fibre:0,hLow:.48,hHigh:.74}),paint:function(e,t,n,a){e.lineCap="round",t.lineCap="round";for(let o=0;o<22;o++){let o=a()*n,r=a()*n,l=n*(.1+.4*a()),c=a()*Math.PI*2,d=c+.5+1.2*a(),u=.5>a();for(let f of(e.globalAlpha=.02+.03*a(),e.lineWidth=n*(.012+.05*a()),e.strokeStyle=u?i(0xffffff):i(9340793),t.globalAlpha=.06,t.lineWidth=e.lineWidth,t.strokeStyle=u?s(196):s(118),[e,t]))for(let e=-1;e<=1;e++)for(let t=-1;t<=1;t++)(e||t)&&(o+e*n<-l||o+e*n>n+l||r+t*n<-l||r+t*n>n+l)||(f.beginPath(),f.arc(o+e*n,r+t*n,l,c,d),f.stroke())}e.globalAlpha=1,t.globalAlpha=1}},"hull-paint":{color:1777702,roughness:.18,metalness:.35,bump:.05,soften:2,normalScale:.2,roughRange:[.14,.26],seed:311457,env:.9,clearcoat:.85,clearcoatRoughness:.05,pixels:(e,t,n,a)=>h(e,t,n,a,{color:1777702,periods:[28,112],contrast:.16,hue:[3,4,6],fibre:0,hLow:.54,hHigh:.68})},glass:{color:0xc3d6d8,roughness:.06,metalness:.1,bump:.03,soften:2,normalScale:.15,roughRange:[.04,.12],seed:399957,env:1.25,extra:{transparent:!0,opacity:.26,side:a.$EB,depthWrite:!1},pixels:(e,t,n,a)=>h(e,t,n,a,{color:0xe8f2f2,periods:[8,30],contrast:.035,hue:[2,3,3],fibre:0,hLow:.58,hHigh:.65})},lacquer:{color:0xd6cfc0,roughness:.3,metalness:.03,bump:.045,soften:2,normalScale:.3,roughRange:[.22,.34],seed:109758,env:.55,clearcoat:.9,clearcoatRoughness:.08,pixels:(e,t,n,a)=>
1h(e,t,n,a,{color:0xd6cfc0,periods:[10,44],contrast:.028,hue:[2,2,3],fibre:0,hLow:.55,hHigh:.66})},"smoked-glass":{color:2765368,roughness:.05,metalness:.12,bump:.02,soften:2,normalScale:.12,roughRange:[.03,.09],seed:399958,env:1.05,extra:{transparent:!0,opacity:.55,side:a.$EB,depthWrite:!1},pixels:(e,t,n,a)=>h(e,t,n,a,{color:2765368,periods:[8,30],contrast:.05,hue:[2,3,4],fibre:0,hLow:.58,hHigh:.65})}};Object.freeze(Object.fromEntries(["teak","teak-dark","walnut","brushed-steel","dark-steel","brass","fabric","leather","carpet","marble","plaster","hull-paint","glass","lacquer","smoked-glass"].map(e=>[e,g[e].env])));let v=e=>g[e],b=new Map,w=new Map,y=new Set,x=null,M=null;function k(e,t){let n=new a.GOR(e);return n.wrapS=n.wrapT=a.GJx,t&&(n.colorSpace=a.er$),n.anisotropy=4,n.generateMipmaps=!0,n.minFilter=a.$_I,n.magFilter=a.k6q,n.needsUpdate=!0,n}function S(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!v(e))return null;let n=256===t.size||1024===t.size?t.size:512,a=function(e,t){let n="".concat(e,":").concat(t),a=b.get(n);if(a)return a;let l=v(e);if(!l)return null;try{let e,a=u(t);if(!a)return null;let i=(e=l.seed+t>>>0,()=>{let t=Math.imul((e=e+0x6d2b79f5>>>0)^e>>>15,1|e);return(((t=t+Math.imul(t^t>>>7,61|t)^t)^t>>>14)>>>0)/0x100000000}),s=a.ctx.createImageData(t,t),c=new Float32Array(t*t);if(l.pixels(s,c,t,i),a.ctx.putImageData(s,0,0),l.paint){let e=u(t);if(!e)return null;let n=e.ctx.createImageData(t,t),r=new Uint8Array(t*t);for(let e=0,a=t*t;e<a;e++){let t=o(Math.round(255*c[e]),0,255);r[e]=t,n.data[4*e]=n.data[4*e+1]=n.data[4*e+2]=t,n.data[4*e+3]=255}e.ctx.putImageData(n,0,0),l.paint(a.ctx,e.ctx,t,i);let s=e.ctx.getImageData(0,0,t,t).data;for(let e=0,n=t*t;e<n;e++)c[e]=o(c[e]+(s[4*e]-r[e])/255,0,1)}let d=function(e,t,n,a){let l=u(t),i=u(t);if(!l||!i)return null;let s=l.ctx.createImageData(t,t),c=i.ctx.createImageData(t,t),d=new Int32Array(t),f=new Int32Array(t);for(let e=0;e<t;e++)d[e]=(e-1+t)%t,f[e]=(e+1)%t;let p=new Float32Array(t*t),m=new Float32Array(t*t),h=0,g=1/0,v=-1/0;for(let n=0;n<t;n++){let a=d[n]*t,o=n*t,r=f[n]*t;for(let n=0;n<t;n++){let t=d[n],l=f[n],i=e[a+t],s=e[a+n],c=e[a+l],u=e[o+t],b=e[o+l],w=e[r+t],y=e[r+n],x=e[r+l],M=c+2*b+x-(i+2*u+w),k=w+2*y+x-(i+2*s+c),S=o+n;p[S]=M,m[S]=k,h+=Math.abs(M)+Math.abs(k);let A=e[S];A<g&&(g=A),A>v&&(v=A)}}let b=h/(t*t),w=b>1e-6?n/b:0,y=v-g>1e-4?v-g:1,x=a[0],M=a[1];for(let n=0,a=t*t;n<a;n++){let t=-p[n]*w,a=m[n]*w,l=1/Math.sqrt(t*t+a*a+1);t*=l,a*=l;let i=4*n;s.data[i]=o((.5*t+.5)*255,0,255),s.data[i+1]=o((.5*a+.5)*255,0,255),s.data[i+2]=o((.5*l+.5)*255,0,255),s.data[i+3]=255;let d=(e[n]-g)/y;c.data[i]=c.data[i+1]=c.data[i+2]=o(255*r(M,x,d),0,255),c.data[i+3]=255}return l.ctx.putImageData(s,0,0),i.ctx.putImageData(c,0,0),{normal:l.canvas,rough:i.canvas}}(function(e,t,n){if(n<1)return e;let a=Math.round(n),o=2*a+1,r=new Int32Array(t+2*a);for(let e=0;e<r.length;e++)r[e]=((e-a)%t+t)%t;let l=new Float32Array(t*t),i=new Float32Array(t*t);for(let n=0;n<t;n++){let a=n*t;for(let n=0;n<t;n++){let t=0;for(let l=0;l<o;l++)t+=e[a+r[n+l]];l[a+n]=t/o}}for(let e=0;e<t;e++)for(let n=0;n<t;n++){let a=0;for(let i=0;i<o;i++)a+=l[r[n+i]*t+e];i[n*t+e]=a/o}return i}(c,t,l.soften),t,l.bump,l.roughRange);if(!d)return null;let f={map:k(a.canvas,!0),normalMap:k(d.normal,!1),roughnessMap:k(d.rough,!1)};return b.set(n,f),f}catch(e){return null}}(e,n);if(!a)return null;let l=t.repeat,i=l&&Number.isFinite(l[0])?l[0]:1,s=l&&Number.isFinite(l[1])?l[1]:1;if(1===i&&1===s)return a;let c="".concat(e,":").concat(n,":").concat(i.toFixed(3),":").concat(s.toFixed(3)),d=w.get(c);if(d)return d;let f={map:a.map.clone(),normalMap:a.normalMap.clone(),roughnessMap:a.roughnessMap.clone()};for(let e of[f.map,f.normalMap,f.roughnessMap])e.repeat.set(i,s),e.needsUpdate=!0;return w.set(c,f),f}function A(e){var t,n,o;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=null!=(t=v(e))?t:g.plaster,{repeat:i,size:s,tint:c,...d}=r,u=S(e,{repeat:i,size:s,tint:c}),f={color:"number"==typeof c?c:u?0xffffff:l.color,roughness:u?1:l.roughness,metalness:l.metalness,envMapIntensity:l.env,...null!=(n=l.extra)?n:{},...u?{map:u.map,normalMap:u.normalMap,roughnessMap:u.roughnessMap}:{},...d},p=l.clearcoat?new a.uSd({...f,clearcoat:l.clearcoat,clearcoatRoughness:null!=(o=l.clearcoatRoughness)?o:.1}):new a._4j(f);return u&&void 0===d.normalScale&&p.normalScale.set(l.normalScale,l.normalScale),p.name="surface:".concat(e),p}function E(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.38,n=Number.isFinite(e)&&e>0?e:1,r=Number.isFinite(t)?o(t,0,1):.38;M||(M=new a.bdM(1,1));let i=function(){if(x)return x;let e=u(128);if(!e)return null;let t=e.ctx.createRadialGradient(64,64,0,64,64,64);for(let e=0;e<=12;e++){let n=e/12;t.addColorStop(n,"rgba(0,0,0,".concat(((1-l(n))*.72).toFixed(4),")"))}return e.ctx.fillStyle=t,e.ctx.fillRect(0,0,128,128),(x=new a.GOR(e.canvas)).colorSpace
1=a.er$,x.needsUpdate=!0,x}(),s=new a.V9B({color:0xffffff,transparent:!0,opacity:r,depthWrite:!1,...i?{map:i}:{}});y.add(s);let c=new a.eaF(M,s);return c.name="contact-shadow",c.rotation.x=-Math.PI/2,c.position.y=.002,c.scale.set(2*n,2*n,1),c.renderOrder=-1,c.castShadow=!1,c.receiveShadow=!1,c.visible=null!==i,c}function I(){for(let e of w.values())e.map.dispose(),e.normalMap.dispose(),e.roughnessMap.dispose();for(let e of(w.clear(),b.values()))e.map.dispose(),e.normalMap.dispose(),e.roughnessMap.dispose();for(let e of(b.clear(),y))e.dispose();y.clear(),x&&(x.dispose(),x=null),M&&(M.dispose(),M=null)}},18512:(e,t,n)=>{n.d(t,{L:()=>o,y:()=>r});var a=n(85339);let o={screen:[-.05,1.17,.28],screenYaw:-(.75*Math.PI),chair:[-.05,0,-.65],standing:[-3.1,0,.1],keyboard:[.1,.761,.1]};function r(e,t,n){var r;let{shapes:l,surfaces:i}=n,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},c=!0===s.compact,d=null!=(r=s.seatSurface)?r:i.fabric,u=new a.YJl;u.name="Workstation ".concat(t.id),u.position.set(t.position[0],t.position[1],t.position[2]),u.rotation.y=t.rotation,e.add(u);let f=function(e,n,o,r){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:u,c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:l.box,d=new a.eaF(c,"string"==typeof n?i[n]:n);return d.name="".concat(t.id,"-").concat(e),d.position.set(...o),d.scale.set(...r),d.castShadow=!0,d.receiveShadow=!0,s.add(d),d},p=s.library;if(p)p.place("desk",{position:[0,0,.25],rotation:Math.PI},u);else{let e=(e,t,n)=>[e,t,n];for(let t of(f("desktop","navy",e(0,.732,.25),e(1.72,.036,.79)),f("desktop-inlay","wood",e(0,.7515,.25),e(1.66,.003,.73)),f("front-edge","gold",e(0,.72,.25-.395+.006),e(1.66,.006,.008)),[-.78,.78]))f("leg","navy",e(t,.357,.25),e(.045,.714,.4187)),f("foot","dark",e(t,.022,.25),e(.12,.044,.6162000000000001))}let m=new a.YJl;m.name="Monitor ".concat(t.id),m.position.set(...o.screen),m.rotation.y=o.screenYaw,u.add(m),f("monitor-casing","navy",[0,0,-.02],[.9,.378,.05],m),f("monitor-rim","gold",[0,0,.012],[.87,.348,.006],m);let h=f("screen","dark",[0,0,.018],[.85,.85/3.9*1.4,1],m,l.plane);h.name="large-screen-".concat(t.id),h.userData.agentId=t.id,h.castShadow=!1,h.receiveShadow=!1,f("monitor-back-inset","dark",[0,0,-.046],[.68,.257,.008],m);let g=o.screen[1]-.25;f("monitor-stem","navy",[-.05,(.75+g)/2,.28],[.06,g-.75,.05]),f("monitor-foot","dark",[-.05,.761,.28],[.3,.022,.2]);let[v,b,w]=o.keyboard;if(f("keyboard","dark",[v,b,w],[.44,.022,.15]),!c)for(let e=0;e<4;e++)for(let t=0;t<12;t++)f("key","ivory",[v+(t-5.5)*.0345,.774,w+(e-1.5)*.0335],[.028,.005,.026]);if(f("mouse-pad","fabric",[v+.36,.752,w-.02],[.26,.004,.22]),f("mouse","ivory",[v+.36,.774,w-.04],[.065,.038,.11]),!c&&!p){f("side-controller-pedestal","wood",[-.62,.775,.1],[.24,.05,.3]),f("side-controller","dark",[-.62,.808,.1],[.22,.016,.28]);for(let e=0;e<3;e++)for(let t=0;t<9;t++)f("side-key","ivory",[-.62+(e-1)*.062,.75+.07,.1+(t-4)*.029],[.03,.005,.022])}f("computer","dark",[.72,.225,.3],[.2,.45,.45]);for(let e=0;e<4;e++)f("computer-vent","glass",[.72,.4-.045*e,.527],[.13,.012,.006]);f("computer-port","ivory",[.72,.32,.527],[.025,.01,.006]);let y=new a.YJl;if(y.name="Chair ".concat(t.id),y.position.set(...o.chair),y.rotation.y=Math.atan2(o.screen[0]-o.chair[0],o.screen[2]-o.chair[2]),u.add(y),p)p.place("chair-task",{position:[0,0,0],rotation:Math.PI},y);else{let e=(e,t,n)=>[e,t,n];for(let t of(f("seat",d,e(0,.395,0),e(.48,.09,.47),y),f("chair-back",d,e(0,.73,-.22),e(.48,.58,.07),y).rotation.x=-.09,f("lumbar","navy",e(0,.6,-.175),e(.38,.09,.045),y),f("headrest",d,e(0,1.06,-.235),e(.26,.13,.075),y),[-.29,.29]))f("arm-support","navy",e(t,.545,.02),e(.03,.2,.03),y),f("armrest",d,e(t,.66,.02),e(.06,.035,.28),y);f("chair-column","navy",e(0,.195,0),e(.06,.3,.06),y,l.cylinder);for(let t=0;t<5;t++){let n=t*Math.PI*.4;f("chair-spoke","navy",e(.13*Math.sin(n),.055,.13*Math.cos(n)),e(.03,.035,.27),y).rotation.y=n,f("chair-wheel","dark",e(.26*Math.sin(n),.032,.26*Math.cos(n)),e(.055,.062,.055),y)}}return f("task-light-stem","gold",[.74,.955,.42],[.018,.41,.018]),f("task-light","navy",[.62,1.18,.42],[.3,.028,.075]),f("task-light-diffuser","glow",[.62,1.163,.42],[.24,.01,.052]),u.userData.workstation={screenFacing:"operator-and-chair",chairFacing:"screen",keyboardOnDesktop:!0},{desk:u,screen:h,chair:y,display:m}}},22997:(e,t,n)=>{n.d(t,{s:()=>o});var a=n(85339);function o(e){var t,n;let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=Math.max(2,null!=(t=o.minCount)?t:4),l=null!=(n=o.namePrefix)?n:"lot";e.updateMatrixWorld(!0);let i=new a.kn4().copy(e.matrixWorld).invert(),s=new Map,c=0;e.traverse(e=>{if(!e.isMesh||!e.visible||(c+=1,!function(e){var t;if(!e.isMesh||e.isInstancedMesh||e.isSkinnedMesh||(null==(t=e.userData)?void 0:t.noBatch)||!e.visible||Array.isArray(e.material))return!1;let n=e.material;return!!n&&!n.transparent}(e)))return;let t=function(e){let t=e.material;return[e.geometry.uuid,t.uuid,e.castShadow?"c1":"c0",e.receiveShadow?"r1":"r0",e.renderOrder,e.frustumCulled?"f1":"f0",e.layers.mask].join("|")}(e),n=s.get(t);n?n.push(e):s.set(t,[e])});let d=[],u=new a.kn4,f=0;for(let t of s.values()){if(t.length<r)continue;let n=t[0],o=new a.ZLX(n.geometry,n.material,t.length);o.name="".concat(l,":").concat(n.material.name||"mat","\xd7").concat(t.length),o.castShadow=n.castShadow,o.receiveShadow=n.receiveShadow,o.renderOrder=n.renderOrder,o.frustumCulled=n.frustumCulled,o.layers.mask=n.layers.mask,o.instanceMatrix.setUsage(a.agE),t.forEach((e,t)=>{u.multiplyMatrices(i,e.matrixWorld),o.setMatrixAt(t,u),e.removeFromParent()}),o.instanceMatrix.needsUpdate=!0,o.computeBoundingSphere(),e.add(o),d.push(o),f+=t.length}return{before:c,after:c-f+d.length,created:d.length,absorbed:f,batches:d}}},64325:(e,t,n)=>{n.d(t,{$i:()=>d,CW:()=>v,E9:()=>h,Ps:()=>M,Sx:()=>w,X1:()=>y,Z5:()=>s,_0:()=>D,aC:()=>g,fM:()=>R,fk:()=>p,jY:()=>x,ke:()=>m,l6:()=>l,le:()=>z,pC:()=>f,qV:()=>u,s$:()=>i,wx:()=>c});var a=n(56573),o=n(84153),r=n(17583);let l=.9,i=r.NI,s=.045,c=.06,d=i+.06,u=r.cv,f=1.42,p=d+.17,m=.52*Math.PI,h=2.2,g=3,v=1.7,b=Object.freeze({"d0-plage-arriere":"public","d0-cabines":"public","d0-sport":"public","d0-cinema":"public","d0-restaurant":"public","d0-fumoir":"member","d1-cantine":"public","d1-observatoire":"public","d1-seance":"public","d1-embarquement":"public","d1-lounge":"public","d1-bibliotheque":"public","d1-poste-membre":"member","d2-academy":"public","d2-labo":"public","d2-galerie":"public","d2-studio":"public","d2-postes-prives":"member","d3-bureaux":"owner","d3-archives":"owner","d3-regie":"owner","d4-pavillon":"public","d4-bar":"public","d4-bains":"public"}),w=Object.freeze({public:"",member:"R\xe9serv\xe9 aux membres du Desk",owner:"R\xe9serv\xe9 au capitaine"}),y=7332784,x=0xe0a13c,M=(e,t)=>"owner"===e.access?!t.owner:"member"===e.access&&!t.member,k=Object.freeze({"d0-plage-arriere":"PLAGE ARRI\xc8RE \xb7 SPA","d0-cabines":"CABINES VIP","d0-sport":"SALLE DE SPORT","d0-cinema":"NEXUS CIN\xc9MA","d0-restaurant":"RESTAURANT \xb7 CANTINE","d0-fumoir":"FUMOIR CHICHA","d1-cantine":"LA CANTINE","d1-observatoire":"OBSERVATOIRE","d1-seance":"SALLE DE S\xc9ANCE","d1-embarquement":"EMBARQUEMENT","d1-lounge":"LE LOUNGE","d1-bibliotheque":"BIBLIOTH\xc8QUE","d1-poste-membre":"MON POSTE PRIV\xc9","d2-academy":"ACADEMY","d2-labo":"LABO \xb7 RECHERCHE","d2-galerie":"GALERIE SUR LE VIDE","d2-studio":"STUDIO","d2-postes-prives":"POSTES PRIV\xc9S","d3-bureaux":"BUREAUX","d3-archives":"ARCHIVES","d3-regie":"LA R\xc9GIE","d4-pavillon":"PAVILLON DE BRIEFING","d4-bar":"BAR DU SKY DECK","d4-bains":"BAINS DE SOLEIL"}),S=Object.freeze({"d1-lounge":-1,"d1-bibliotheque":1,"d2-academy":-1,"d2-labo":1}),A=a.Cv.map(e=>{var t,n,a;return{id:e.id,deck:e.deck,label:e.label,sign:null!=(t=k[e.id])?t:e.label.toUpperCase(),at:e.at,into:e.into,access:null!=(n=b[e.id])?n:"public",kind:"room",hinge:null!=(a=S[e.id])?a:1}}),E=a.sv.center[1]-a.sv.half[1],I=a.sv.center[1]+a.sv.half[1],P=a.$i.center[1]-a.$i.half[1],z=[...A,...a.BO.flatMap(e=>[{id:"core-escalier-arriere-".concat(e),deck:e,label:"Escalier â vol\xe9e arri\xe8re",sign:"ESCALIER",at:[0,E],into:[0,-1],access:"public",kind:"core",hinge:1},{id:"core-escalier-avant-".concat(e),deck:e,label:"Escalier â vol\xe9e avant",sign:"ESCALIER",at:[0,I],into:[0,1],access:"public",kind:"core",hinge:-1},..."d1"===e?[]:[{id:"core-ascenseur-".concat(e),deck:e,label:"Ascenseur",sign:"ASCENSEUR",at:[a.$i.center[0],P],into:[0,-1],access:"public",kind:"core",hinge:1}]]),{id:"d1-cabine-capitaine",deck:"d1",label:"Cabine du capitaine",sign:"CABINE DU CAPITAINE",at:[o.E6.center[0],o.E6.
1center[1]+o.E6.depthFront],into:[0,-1],access:"owner",kind:"room",hinge:1}],D=e=>[e.at[0]-e.into[0]*a.gH,e.at[1]-e.into[1]*a.gH],R=e=>Math.atan2(e.into[0],e.into[1])},87235:(e,t,n)=>{n.d(t,{TR:()=>s,dV:()=>i,eA:()=>d,i_:()=>l});var a=n(17583),o=n(84153);let r=[{id:"restaurant",label:"Restaurant \xb7 cantine",deck:"D0",zFrom:-41,zTo:-25,clearHeight:2.9,doorZ:-25,access:"public"},{id:"chicha",label:"Fumoir chicha",deck:"D0",zFrom:-23,zTo:-8,clearHeight:2.9,doorZ:-8,access:"membre"},{id:"trading-floor",label:"Trading floor \xb7 12 postes",deck:"D1",zFrom:-41,zTo:-6,clearHeight:2.9,doorZ:-6,access:"membre"},{id:"seance",label:"Salle de s\xe9ance",deck:"D1",zFrom:2,zTo:20,clearHeight:5.8,doorZ:2,access:"public"},{id:"academy",label:"Academy \xb7 labo \xb7 studio",deck:"D2",zFrom:-30,zTo:-6,clearHeight:2.9,doorZ:-6,access:"public"},{id:"bureaux",label:"Bureaux",deck:"D3",zFrom:-34,zTo:-6,clearHeight:2.9,doorZ:-6,access:"membre"},{id:"owner-cabin",label:"Cabine du capitaine",deck:"D1",zFrom:o.E6.center[1]-o.E6.depthBack,zTo:o.E6.center[1]+o.E6.depthFront,clearHeight:2.9,doorZ:null,access:"owner"},{id:"sky-deck",label:"Sky deck",deck:"D4",zFrom:-26,zTo:16,clearHeight:2.9,doorZ:16,access:"public"}];function l(e,t){return t<e.zFrom||t>e.zTo?0:(0,a.$j)(t)}function i(e){let t={z:e.zFrom,halfBeam:1/0};for(let n=e.zFrom;n<=e.zTo;n+=.25){let e=(0,a.$j)(n);e<t.halfBeam&&(t={z:n,halfBeam:e})}return t}function s(e){let t=0;for(let n=e.zFrom;n<=e.zTo;n+=.25)t+=2*(0,a.$j)(n)*.25;return t}let c={D0:-a.s_,D1:0,D2:a.s_,D3:+(2*a.s_).toFixed(2),D4:+(3*a.s_).toFixed(2)},d=r.map(e=>({...e,y:c[e.deck]}))},99001:(e,t,n)=>{n.r(t),n.d(t,{createActivityTimeline:()=>tS,default:()=>tA});var a=n(95155),o=n(12115),r=n(47650),l=n(21964),i=n(4986),s=n(23280),c=n(84153),d=n(17583);let u=(e,t,n)=>Math.max(t,Math.min(n,e)),f=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Number.isFinite(e)?e:t},p=e=>Math.atan2(Math.sin(f(e)),Math.cos(f(e))),m=(e,t)=>Math.max(.5,(0,d.$j)(f(e))-t.clearance),h=e=>Math.max(.5,d.dw/2-e.clearance);var g=n(1102),v=n(92824),b=n(83772),w=n(85339);let y=new w.Pq0,x=new w.PTz,M=new w.Pq0;class k extends w.B69{constructor(e=document.createElement("div")){super(),this.isCSS3DObject=!0,this.element=e,this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.element.style.userSelect="none",this.element.setAttribute("draggable",!1),this.addEventListener("removed",function(){this.traverse(function(e){e.element instanceof e.element.ownerDocument.defaultView.Element&&null!==e.element.parentNode&&e.element.remove()})})}copy(e,t){return super.copy(e,t),this.element=e.element.cloneNode(!0),this}}let S=new w.kn4,A=new w.kn4;class E{constructor(e={}){let t,n,a,o,r=this,l={camera:{style:""},objects:new WeakMap},i=void 0!==e.element?e.element:document.createElement("div");i.style.overflow="hidden",this.domElement=i;let s=document.createElement("div");s.style.transformOrigin="0 0",s.style.pointerEvents="none",i.appendChild(s);let c=document.createElement("div");function d(e){return 1e-10>Math.abs(e)?0:e}function u(e){let t=e.elements;return"matrix3d("+d(t[0])+","+d(-t[1])+","+d(t[2])+","+d(t[3])+","+d(t[4])+","+d(-t[5])+","+d(t[6])+","+d(t[7])+","+d(t[8])+","+d(-t[9])+","+d(t[10])+","+d(t[11])+","+d(t[12])+","+d(-t[13])+","+d(t[14])+","+d(t[15])+")"}function f(e){let t=e.elements;return"translate(-50%,-50%)"+("matrix3d("+d(t[0])+","+d(t[1])+","+d(t[2])+","+d(t[3])+","+d(-t[4])+","+d(-t[5])+","+d(-t[6])+","+d(-t[7])+","+d(t[8])+","+d(t[9])+","+d(t[10])+","+d(t[11])+","+d(t[12])+","+d(t[13])+","+d(t[14])+","+d(t[15]))+")"}
1c.style.transformStyle="preserve-3d",s.appendChild(c),this.getSize=function(){return{width:t,height:n}},this.render=function(e,i){let p,m,h=i.projectionMatrix.elements[5]*o;i.view&&i.view.enabled?(s.style.transform=`translate( ${-i.view.offsetX*(t/i.view.width)}px, ${-i.view.offsetY*(n/i.view.height)}px )`,s.style.transform+=`scale( ${i.view.fullWidth/i.view.width}, ${i.view.fullHeight/i.view.height} )`):s.style.transform="",!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),null===i.parent&&!0===i.matrixWorldAutoUpdate&&i.updateMatrixWorld(),i.isOrthographicCamera&&(p=-(i.right+i.left)/2,m=(i.top+i.bottom)/2);let g=i.view&&i.view.enabled?i.view.height/i.view.fullHeight:1,v=i.isOrthographicCamera?`scale( ${g} )scale(`+h+")translate("+d(p)+"px,"+d(m)+"px)"+u(i.matrixWorldInverse):`scale( ${g} )translateZ(`+h+"px)"+u(i.matrixWorldInverse),b=(i.isPerspectiveCamera?"perspective("+h+"px) ":"")+v+"translate("+a+"px,"+o+"px)";l.camera.style!==b&&(c.style.transform=b,l.camera.style=b),function e(t,n,a,o){if(!1===t.visible)return void function e(t){t.isCSS3DObject&&(t.element.style.display="none");for(let n=0,a=t.children.length;n<a;n++)e(t.children[n])}(t);if(t.isCSS3DObject){let e=!0===t.layers.test(a.layers),o=t.element;if(o.style.display=!0===e?"":"none",!0===e){let e;t.onBeforeRender(r,n,a),t.isCSS3DSprite?(S.copy(a.matrixWorldInverse),S.transpose(),0!==t.rotation2D&&S.multiply(A.makeRotationZ(t.rotation2D)),t.matrixWorld.decompose(y,x,M),S.setPosition(y),S.scale(M),S.elements[3]=0,S.elements[7]=0,S.elements[11]=0,S.elements[15]=1,e=f(S)):e=f(t.matrixWorld);let i=l.objects.get(t);if(void 0===i||i.style!==e){o.style.transform=e;let n={style:e};l.objects.set(t,n)}o.parentNode!==c&&c.appendChild(o),t.onAfterRender(r,n,a)}}for(let r=0,l=t.children.length;r<l;r++)e(t.children[r],n,a,o)}(e,e,i,v)},this.setSize=function(e,r){t=e,n=r,a=t/2,o=n/2,i.style.width=e+"px",i.style.height=r+"px",s.style.width=e+"px",s.style.height=r+"px",c.style.width=e+"px",c.style.height=r+"px"}}}var I=n(64325),P=n(18512),z=n(56573);let D=["seance-main","seance-side","member-alcove","cinema"],R={deck:"d1",zStart:2},C={deck:"d2",zStart:20,zEnd:30},F={deck:"d1",zEnd:20},j=e=>z.iU[e],T=e=>Math.max(0,Math.min(d.tH,(0,d.$j)(e)));function O(){let e=R.deck,t=j(e),n=R.zStart+.08,a=T(R.zStart),o=Math.min(6,2*a-1.6),r=Math.min(2.4,Math.max(0,a-o/2-.5)),l=o/2+r/2+.24,i=[{id:"seance-main",role:"seance-main",deck:e,position:[0,t+1.55,n],rotationY:0,size:[o,2]}];return r>=1.2&&l+r/2<=a&&(i.push({id:"seance-port",role:"seance-side",deck:e,position:[-l,t+1.5,n],rotationY:0,size:[r,1.35]}),i.push({id:"seance-starboard",role:"seance-side",deck:e,position:[l,t+1.5,n],rotationY:0,size:[r,1.35]})),i}let N={"seance-main":O,"seance-side":O,"member-alcove":function(){let e=C.deck,t=j(e),n=[];for(let a=0;a<3;a++){let o=C.zStart+2.2+2.6*a,r=Math.max(0,T(o)-.9);r<=0||o>=C.zEnd||n.push({id:"member-alcove-".concat(a),role:"member-alcove",deck:e,position:[-r,t+1.18,o],rotationY:Math.PI/2,size:[1.3,.78]})}return n},cinema:function(){let e=F.deck,t=j(e),n=F.zEnd-.1,a=Math.min(7.2,2*T(F.zEnd)-1.2);return a<3?[]:[{id:"cinema-main",role:"cinema",deck:e,position:[0,t+2.6,n],rotationY:Math.PI,size:[a,9*a/16]}]}},U=new Map;function L(e){let[t,n,a]=e.position;if(![t,n,a,e.rotationY,e.size[0],e.size[1]].every(Number.isFinite)||e.size[0]<=0||e.size[1]<=0)return!1;let o=T(a);if(o<=0||Math.abs(t)>o)return!1;let r=j(e.deck);return n-e.size[1]/2>=r-.01&&n+e.size[1]/2<=r+2.9+.01}function q(e){let t=[...U.values()].flat().filter(t=>t.role===e);return t.length?t:N[e]().filter(t=>t.role===e).filter(L)}var B=n(88383);let _=(e,t)=>Math.atan2(-e,-t),W=(e,t)=>Math.hypot(e[0]-t[0],e[1]-t[1]),H=new Set(["iron"]),Y=Object.freeze({"seance-main":"Le grand \xe9cran de la s\xe9ance","seance-side":"L'\xe9cran lat\xe9ral","member-alcove":"\xc9cran du poste priv\xe9",cinema:"L'\xe9cran du cin\xe9ma"}),$="#6fe3b0";var V=n(87548),J=n(2920),G=n(56121);let Z=[{id:"marco",url:"/world/canon/marco.webp",image:[1672,941],crop:[203,18,242,598]},{id:"iron",url:"/world/canon/iron.webp",image:[1672,941],crop:[185,24,272,579]},{id:"jarod",url:"/world/canon/jarod.webp",image:[1402,1122],crop:[10,16,370,1065]},{id:"nova",url:"/world/canon/nova.webp",image:[1672,941],crop:[174,17,257,605]},{id:"kaia",url:"/world/canon/kaia.webp",image:[1536,1024],crop:[50,35,312,865]},{id:"sonic",url:"/world/canon/sonic.webp",image:[1672,941],crop:[222,18,234,600]},{id:"erwin",url:"/world/canon/erwin.webp",image:[1672,941],crop:[226,16,250,624]}],X={marco:[[.49,1],[.6,.975],[.65,.9],[.6,.86],[.82,.83],[.91,.73],[.95,.58],[.82,.42],[.8,.32],[.77,.14],[.88,.06],[.83,0],[.61,0],[.59,.12],[.52,.36],[.42,.44],[.38,.3],[.37,.13],[.37,.07],[.3,.03],[.03,.02],[.06,.06],[.15,.1],[.21,.2],[.24,.4],[.2,.55],[.07,.61],[0,.69],[.02,.75],[.09,.76],[.13,.8],[.28,.85],[.38,.86],[.34,.9],[.36,.96]],iron:[[.48,1],[.58,.98],[.62,.91],[.59,.87],[.83,.85],[.94,.75],[.99,.62],[.96,.46],[.86,.43],[.82,.53],[.81,.48],[.8,.29],[.79,.12],[.84,.02],[.79,0],[.62,0],[.61,.12],[.5,.4],[.46,.48],[.42,.38],[.35,.15],[.36,.08],[.3,.03],[.04,.03],[.03,.08],[.13,.14],[.18,.36],[.16,.49],[.16,.52],[.12,.42],[.02,.44],[.02,.6],[.02,.67],[.07,.77],[.2,.84],[.38,.88],[.39,.92],[.39,.97]],jarod:[[.52,.995],[.625,.95],[.625,.88],[.62,.85],[.81,.82],[.96,.7],[.98,.5],[.9,.44],[.82,.47],[.8,.36],[.83,.1],[.9,.01],[.68,0],[.61,.1],[.48,.43],[.43,.29],[.28,.09],[.3,.01],[.02,0],[.04,.07],[.15,.2],[.12,.46],[.03,.44],[.01,.68],[.15,.81],[.39,.8
16],[.36,.9],[.41,.98]],nova:[[.6,1],[.7,.95],[.74,.85],[.89,.81],[.96,.72],[.96,.52],[.88,.43],[.84,.48],[.84,.2],[.9,.025],[.83,0],[.66,0],[.67,.13],[.59,.28],[.49,.44],[.46,.43],[.43,.23],[.35,.1],[.38,.06],[.31,.015],[.07,.02],[.09,.06],[.22,.14],[.24,.32],[.28,.45],[.31,.57],[.23,.65],[.13,.67],[.02,.75],[.01,.81],[.04,.84],[.08,.84],[.14,.8],[.19,.76],[.27,.76],[.42,.83],[.5,.85],[.47,.9],[.47,.96]],kaia:[[.5,1],[.61,.98],[.64,.92],[.71,.85],[.81,.79],[.86,.69],[.95,.49],[.93,.44],[.87,.43],[.85,.5],[.8,.53],[.77,.45],[.83,.26],[.83,.11],[.94,.025],[.92,0],[.72,0],[.68,.06],[.65,.18],[.51,.43],[.44,.43],[.38,.22],[.31,.1],[.3,.05],[.22,.01],[0,.01],[.03,.07],[.12,.12],[.16,.3],[.22,.47],[.19,.51],[.15,.45],[.09,.44],[.03,.49],[.09,.65],[.17,.78],[.26,.85],[.24,.91],[.35,.97]],sonic:[[.49,1],[.62,.97],[.64,.9],[.6,.87],[.82,.82],[.92,.71],[.97,.48],[.91,.43],[.83,.43],[.81,.5],[.82,.42],[.8,.3],[.8,.11],[.92,.025],[.85,0],[.7,0],[.64,.1],[.56,.32],[.49,.47],[.42,.35],[.32,.15],[.36,.08],[.3,.03],[0,.025],[.04,.07],[.18,.14],[.21,.35],[.23,.49],[.17,.52],[.13,.43],[.04,.46],[.02,.55],[.13,.75],[.26,.82],[.4,.87],[.38,.92],[.4,.98]],erwin:[[.46,.995],[.61,.98],[.68,.94],[.67,.88],[.63,.85],[.84,.8],[.93,.71],[.98,.56],[.93,.46],[.88,.39],[.79,.4],[.82,.3],[.83,.17],[.88,.05],[.84,.005],[.65,0],[.62,.04],[.58,.19],[.54,.3],[.49,.44],[.43,.32],[.4,.21],[.38,.11],[.32,.045],[.09,.015],[.025,.035],[.06,.07],[.22,.12],[.26,.25],[.27,.37],[.23,.42],[.16,.39],[.07,.4],[.025,.46],[.04,.58],[.1,.7],[.2,.8],[.34,.85],[.31,.9],[.3,.96]]},K=new w.Pq0;function Q(e,t,n,a,o,r){let l=2*Math.PI*o/4,i=Math.max(r-2*o,0),s=Math.PI/4;K.copy(t),K[a]=0,K.normalize();let c=.5*l/(l+i),d=1-K.angleTo(e)/s;return 1===Math.sign(K[n])?d*c:i/(l+i)+c+c*(1-d)}class ee extends w.iNn{constructor(e=1,t=1,n=1,a=2,o=.1){let r=2*a+1;if(o=Math.min(e/2,t/2,n/2,o),super(1,1,1,r,r,r),this.type="RoundedBoxGeometry",this.parameters={width:e,height:t,depth:n,segments:a,radius:o},1===r)return;let l=this.toNonIndexed();this.index=null,this.attributes.position=l.attributes.position,this.attributes.normal=l.attributes.normal,this.attributes.uv=l.attributes.uv;let i=new w.Pq0,s=new w.Pq0,c=new w.Pq0(e,t,n).divideScalar(2).subScalar(o),d=this.attributes.position.array,u=this.attributes.normal.array,f=this.attributes.uv.array,p=d.length/6,m=new w.Pq0,h=.5/r;for(let a=0,r=0;a<d.length;a+=3,r+=2)switch(i.fromArray(d,a),s.copy(i),s.x-=Math.sign(s.x)*h,s.y-=Math.sign(s.y)*h,s.z-=Math.sign(s.z)*h,s.normalize(),d[a+0]=c.x*Math.sign(i.x)+s.x*o,d[a+1]=c.y*Math.sign(i.y)+s.y*o,d[a+2]=c.z*Math.sign(i.z)+s.z*o,u[a+0]=s.x,u[a+1]=s.y,u[a+2]=s.z,Math.floor(a/p)){case 0:m.set(1,0,0),f[r+0]=Q(m,s,"z","y",o,n),f[r+1]=1-Q(m,s,"y","z",o,t);break;case 1:m.set(-1,0,0),f[r+0]=1-Q(m,s,"z","y",o,n),f[r+1]=1-Q(m,s,"y","z",o,t);break;case 2:m.set(0,1,0),f[r+0]=1-Q(m,s,"x","z",o,e),f[r+1]=Q(m,s,"z","x",o,n);break;case 3:m.set(0,-1,0),f[r+0]=1-Q(m,s,"x","z",o,e),f[r+1]=1-Q(m,s,"z","x",o,n);break;case 4:m.set(0,0,1),f[r+0]=1-Q(m,s,"x","y",o,e),f[r+1]=1-Q(m,s,"y","x",o,t);break;case 5:m.set(0,0,-1),f[r+0]=Q(m,s,"x","y",o,e),f[r+1]=1-Q(m,s,"y","x",o,t)}}static fromJSON(e){return new ee(e.width,e.height,e.depth,e.segments,e.radius)}}let et={horizontal:1},en=new w.Pq0(-24,7,-35).normalize(),ea="\nfloat cofPow8(float x){ float a = x * x; a = a * a; return a * a; }\nfloat cofPow16(float x){ float a = cofPow8(x); return a * a; }\nfloat cofPow128(float x){ float a = cofPow16(x); a = a * a; a = a * a; return a * a; }\n",eo="\nuniform vec3 sunDirection;\nuniform float time;\n\n/** Cirrus : une nappe projet\xe9e sur un plan haut, donc naturellement \xe9tir\xe9e vers l'horizon.\n * Le diviseur est born\xe9 haut (0.20) : sans \xe7a la projection explose pr\xe8s de l'horizon et la nappe s'\xe9tale\n * en une longue bavure diagonale â c'est ce qu'on voyait \xe0 la premi\xe8re recette. */\nfloat cofCirrus(vec3 d){\n vec2 p = d.xz / max(d.y, 0.20) * 1.55 + vec2(time * 0.0030, time * 0.0011);\n float v = sin(p.x * 0.62 + sin(p.y * 0.94) * 2.4) * sin(p.y * 2.35 + sin(p.x * 0.48) * 1.6);\n v += 0.55 * sin(p.x * 1.71 - 1.7 + sin(p.y * 2.30) * 2.1) * sin(p.y * 5.10 + 0.8);\n // Seuil haut : seules les cr\xeates du bruit passent, donc des filaments et beaucoup de ciel nu.\n // Un seuil bas donnait deux larges bavures mauves en travers du ciel, ce qui lit \xab salissure \xbb, pas cirrus.\n return clamp(v * 1.25 - 0.62, 0.0, 1.0);\n}\n\n/** Couleur de l'horizon seule : le chaud ne s'\xe9tale que dans l'azimut du soleil (diffusion vers l'avant).\n * Sortie isol\xe9e pour que la mer, les c\xf4tes et le d\xf4me convergent tous vers EXACTEMENT la m\xeame valeur. */\nvec3 cofHorizon(vec3 d){\n float sun = max(dot(d, sunDirection), 0.0);\n float t = clamp(sun * 0.5 + 0.5, 0.0, 1.0);\n float t2 = t * t;\n float toward = t2 * t2 * t;\n return mix(vec3(0.186, 0.238, 0.296), vec3(0.815, 0.470, 0.188), toward * 0.88);\n}\n\nvec3 cofSky(vec3 d, float clouds){\n float up = clamp(d.y, 0.0, 1.0);\n float sun = max(dot(d, sunDirection), 0.0);\n vec3 horizon = cofHorizon(d);\n // La brume ne monte que sur les vingt premiers degr\xe9s : c'est elle qui noie la ligne d'horizon.\n float lift = exp(-up * 8.2);\n vec3 color = mix(vec3(0.092, 0.198, 0.348), vec3(0.028, 0.094, 0.254), sqrt(up));\n color = mix(color, horizon, lift);
1\n // Aureole large tr\xe8s faible, halo de Mie serr\xe9, puis la corona juste autour du disque.\n // (Premi\xe8re recette : un cofPow8 \xe0 0.50 d\xe9lavait tout le ciel sur 40\xb0 autour du soleil.)\n color += vec3(0.30, 0.22, 0.12) * cofPow8(sun) * (0.14 + 0.46 * lift);\n color += vec3(0.46, 0.31, 0.15) * cofPow16(sun) * cofPow8(sun) * (0.22 + 0.78 * lift);\n color += vec3(0.90, 0.66, 0.34) * cofPow128(sun) * 2.0;\n if (clouds > 0.0 && d.y > 0.10) {\n float c = cofCirrus(d) * clouds * smoothstep(0.10, 0.46, d.y);\n // Les cirrus prennent la lumi\xe8re rasante : blancs au z\xe9nith, cuivr\xe9s dans l'axe du soleil.\n float t = clamp(sun * 0.5 + 0.5, 0.0, 1.0);\n vec3 lit = mix(vec3(0.60, 0.645, 0.705), vec3(1.62, 1.08, 0.64), t * t * t * t);\n color = mix(color, lit, c * 0.50);\n }\n return color;\n}\n\n/** Tramage : sans lui un d\xe9grad\xe9 de ciel se d\xe9coupe en bandes sur 8 bits â le tell \xab 1995 \xbb le plus courant. */\nfloat cofDither(vec2 fragment){\n return fract(sin(dot(fragment, vec2(12.9898, 78.233))) * 43758.5453) - 0.5;\n}\n",er="\nvec3 cofWater(vec2 q, float t, float detail){\n vec3 f = vec3(0.0);\n float p = q.x * 0.118 + q.y * 0.066 + t * 0.31; float c = cos(p);\n f.x += 0.2589 * 0.118 * c; f.y += 0.2589 * 0.066 * c; f.z += 0.2589 * sin(p);\n p = q.y * 0.192 - q.x * 0.084 - t * 0.26; c = cos(p);\n f.x -= 0.1431 * 0.084 * c; f.y += 0.1431 * 0.192 * c; f.z += 0.1431 * sin(p);\n // Au loin et en rasant les trois octaves courtes ne p\xe8sent plus rien \xe0 l'\xe9cran : six transcendantes\n // par pixel pour moins de 2 % de pente. C'est la bande d'horizon, donc beaucoup de pixels.\n if (detail <= 0.02) return f;\n // D\xe9formation par la houle longue. L'amplitude doit valoir une bonne fraction de la longueur d'onde des\n // octaves courtes (~3.9 u) pour les d\xe9caler vraiment ; \xe0 0.9 u la grille en losanges restait lisible.\n vec2 w = q + f.z * vec2(5.8, -4.2);\n float a = 0.0732 * detail;\n p = w.x * 0.413 - w.y * 0.629 - t * 0.77; c = cos(p);\n f.x += a * 0.413 * c; f.y -= a * 0.629 * c; f.z += a * sin(p);\n // Seconde d\xe9formation, par la ride moyenne cette fois : c'est elle qui casse le velours c\xf4tel\xe9.\n w += f.z * vec2(-3.4, 4.6);\n a = 0.0379 * detail;\n p = w.x * 1.631 + w.y * 1.117 + t * 1.19; c = cos(p);\n f.x += a * 1.631 * c; f.y += a * 1.117 * c; f.z += a * sin(p);\n a = 0.0152 * detail * detail;\n p = w.x * 0.343 + w.y * 3.926 + t * 1.83; c = cos(p);\n f.x += a * 0.343 * c; f.y += a * 3.926 * c; f.z += a * sin(p);\n return f;\n}\n",el=Math.PI-2.2,ei=2*el/12,es=16.4*Math.tan(ei/2),ec=e=>5===e||6===e,ed=z.iU.d2-.12,eu=[0,.9,2.2,4,6,7.6,8.7],ef=[0,4.5,9,13.5,16.8,19.05],ep=[.86,.9,.98,1.08,1.18,1.26],em=[8.8,10.8,12.8,14.4,15.6],eh=[1.02,1,.98,.91,.82],eg=[15.6,16.8,17.8,18.55],ev=[.98,.9,.78,.62];var eb=n(91115);let ew={marco:1.85,iron:1.92,jarod:1.87,nova:1.78,kaia:1.75,sonic:1.83,erwin:1.84,david:1.8},ey=Math.PI/2,ex=[0,1.2,-1.2,2.4,-2.4],eM=Object.fromEntries(["marco","iron","jarod","nova","kaia","sonic","erwin","david"].map(e=>[e,"marco"===e||"nova"===e?ex.filter(e=>1.2!==e):ex])),ek={idle:"COF_Idle",walk:"COF_Walk",work:"COF_Work",turn:"COF_Turn"},eS=["marco","iron","jarod","nova","kaia","sonic","erwin","david"],eA=e=>{let t=w.cj9.clamp(e,0,1);return t*t*(3-2*t)},eE=e=>!!e&&[e.x,e.y,e.z].every(Number.isFinite),eI={"mat:fabric":{kind:"fabric",repeat:[4,4],scale:.85},"mat:leather":{kind:"leather",repeat:[3,3],scale:.7},"mat:wood":{kind:"walnut",repeat:[2,2],scale:.5},"mat:metal":{kind:"brushed-steel",repeat:[2,2],scale:.45},"mat:gold":{kind:"brass",repeat:[2,2],scale:.4},"mat:dark":{kind:"dark-steel",repeat:[3,3],scale:.5},"mat:stone":{kind:"marble",repeat:[1.5,1.5],scale:.35},"mat:cream":{kind:"fabric",repeat:[5,5],scale:.9},"mat:marble":{kind:"marble",repeat:[1,1],scale:.3},"mat:rug":{kind:"carpet",repeat:[6,6],scale:1},"mat:lacquer":{kind:"dark-steel",repeat:[2,2],scale:.35},"mat:glass":{kind:"glass",repeat:[1,1],scale:.2}};var eP=n(78907);let ez={status:"loading",journal:null,leaderboard:null},eD=e=>"number"==typeof e&&Number.isFinite(e)?e:0;function eR(e){var t,n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),o=e.journal,r=Array.isArray(null==o?void 0:o.trades)?o.trades:[],l=Array.isArray(null==o?void 0:o.accounts)?o.accounts:[],i=new Set(l.map(e=>"string"==typeof(null==e?void 0:e.currency)?e.currency.trim():"").filter(
1Boolean)),s={status:e.status,connected:l.length>0||r.length>0,day:0,week:0,month:0,trades:0,rank:null,currency:1===i.size?[...i][0]:""};for(let e of r){if(!e||"close"!==e.kind)continue;let t=Date.parse(String(e.closedAt));if(!Number.isFinite(t)||t>a)continue;let n=a-t,o=eD(e.net);n<=2592e6&&(s.month+=o,s.trades++),n<=6048e5&&(s.week+=o),n<=864e5&&(s.day+=o)}let c=null==(n=e.leaderboard)||null==(t=n.me)?void 0:t.rank;return s.rank="number"==typeof c&&Number.isInteger(c)&&c>0?c:null,s}let eC=new Intl.NumberFormat("fr-FR",{minimumFractionDigits:2,maximumFractionDigits:2,signDisplay:"exceptZero"}),eF=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return eC.format(eD(e))+(t?" "+t:"")};function ej(e){return"loading"===e.status?["Chargement de ton journalâ¦"]:"unavailable"===e.status?["Journal indisponible pour le moment"]:e.connected?["AUJOURDâHUI",eF(e.day,e.currency),"7 JOURS",eF(e.week,e.currency),"30 JOURS",eF(e.month,e.currency),"TRADES 30 J \xb7 ".concat(e.trades),e.rank?"CLASSEMENT DU JOUR \xb7 #".concat(e.rank):"CLASSEMENT DU JOUR \xb7 â"]:["Connecte ton MT4/MT5 dans Journal","Tes r\xe9sultats sâafficheront ici."]}function eT(e,t){let n=document.createElement("canvas");n.width=e,n.height=t;let a=n.getContext("2d"),o=new w.GOR(n);o.colorSpace=w.er$,o.anisotropy=2;let r=new w.V9B({map:o,toneMapped:!1});return{context:a,texture:o,material:r}}async function eO(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:fetch,t=arguments.length>1?arguments[1]:void 0,n=()=>({status:"unavailable",journal:null,leaderboard:null});if(null==t?void 0:t.aborted)return n();let a={cache:"no-store",credentials:"same-origin",signal:t},o=null,r=null,l="unavailable";try{let t=await e("/api/desk/journal",a);if(t.ok){let e=await t.json();e&&Array.isArray(e.trades)&&(o={accounts:Array.isArray(e.accounts)?e.accounts:[],trades:e.trades},l="ready")}}catch(e){}if(null==t?void 0:t.aborted)return n();try{let t=await e("/api/desk/leaderboard?period=day",a);if(t.ok){var i;let e=await t.json(),n=null==e||null==(i=e.me)?void 0:i.rank;r={me:{rank:"number"==typeof n?n:null}}}}catch(e){}return(null==t?void 0:t.aborted)?n():{status:l,journal:o,leaderboard:r}}let eN=()=>({status:"loading",journal:null,leaderboard:null}),eU={checkedAt:"",panels:[]};function eL(e){let t=d.dw/2;return e<=-t||e>=t?0:((0,d.$j)(e)+d.mH)*Math.sin(Math.min(1,(t-Math.abs(e))/4)*Math.PI/2)}function eq(e){let t=e.getAttribute("uv");if(t){for(let e=0;e<t.count;e++){let n=t.getX(e),a=t.getY(e);t.setXY(e,a,n)}t.needsUpdate=!0}return e}var eB=n(87235),e_=n(1525),eW=n(22997);function eH(e){let t=0,n=0,a=0,o=0,r=0;e.updateMatrixWorld(!0);let l=[e];for(;l.length>0;){var i,s;let e=l.pop();if(!e.visible)continue;for(let t of e.children)l.push(t);if(e.isLine){r+=1;continue}if(!e.isMesh)continue;let c=e.geometry,d=Math.floor((c.index?c.index.count:null!=(s=null==(i=c.attributes.position)?void 0:i.count)?s:0)/3);e.isInstancedMesh?(n+=1,a+=e.count,o+=d*e.count):(t+=1,o+=d)}return{appels:t+n+r,meshes:t,instancies:n,instances:a,triangles:o}}let eY=Object.freeze({D0:"d0",D1:"d1",D2:"d2",D3:"d3",D4:"d4"}),e$=new WeakMap,eV=0;function eJ(e){let t=e$.get(e);return t||(t=new Map,e$.set(e,t)),t}function eG(e,t,n){if(0===n.length)return 0;let a="d1"===t?c.t2:z.$N[t],o=eJ(a),r=new Map;for(let e of a)r.has(e.id)||r.set(e.id,e);let l=e.tenue.get(a);l||(l=new Set,e.tenue.set(a,l));let i=0;for(let t of n){let n=r.get(t.id);if(n){let t=o.get(n);t&&(t.add(e.id),l.add(n));continue}r.set(t.id,t),a.push(t),o.set(t,new Set([e.id])),l.add(t),i+=1}return i>0&&(0,s.EX)(),i}let eZ=[{envelope:"restaurant",specId:"d0-restaurant",load:()=>n.e(7638).then(n.bind(n,7638))},{envelope:"chicha",specId:"d0-fumoir",load:()=>n.e(8079).then(n.bind(n,58079))},{envelope:"trading-floor",specId:"d1-trading-floor",load:()=>n.e(2199).then(n.bind(n,52199)),live:async()=>(await n.e(2199).then(n.bind(n,52199))).attachTradingFloorLive({})},{envelope:"academy",specId:"d2-academy-labo",load:()=>n.e(7123).then(n.bind(n,7123))},{envelope:"bureaux",specId:"d3-bureaux",load:()=>n.e(5477).then(n.bind(n,65477))},{envelope:"sky-deck",specId:"d4-skydeck",load:()=>n.e(2239).then(n.bind(n,72239))}],eX=e=>eB.eA.find(t=>
1t.id===e),eK=(e,t)=>t<e.zFrom?e.zFrom-t:t>e.zTo?t-e.zTo:0;var eQ=n(13370),e0=n(41907);let e1={state:"loading",reason:"chargement",label:"",notes:[],questions:[]},e2={"seance-main":[1920,640],"seance-side":[1024,576],"member-alcove":[1024,614],cinema:[1920,1080]};function e5(){if("undefined"==typeof document)return null;let e=document.createElement("canvas");e.width=1024,e.height=512;let t=e.getContext("2d");if(!t)return null;let n=Math.hypot(-24,7,-35),a=(.5+Math.atan2(-35/n,-24/n)/(2*Math.PI))*1024,o=(.5-Math.asin(7/n)/Math.PI)*512,r=t.createLinearGradient(0,0,0,256);r.addColorStop(0,"#16375f"),r.addColorStop(.42,"#4d84ae"),r.addColorStop(.8,"#a6c5d6"),r.addColorStop(1,"#e8d5b8"),t.fillStyle=r,t.fillRect(0,0,1024,256);let l=t.createRadialGradient(a,o,0,a,o,320);l.addColorStop(0,"rgba(255,241,208,.95)"),l.addColorStop(.11,"rgba(255,226,170,.5)"),l.addColorStop(.42,"rgba(255,214,150,.15)"),l.addColorStop(1,"rgba(255,200,140,0)"),t.fillStyle=l,t.fillRect(0,0,1024,330),t.fillStyle="#fffdf2",t.beginPath(),t.arc(a,o,12,0,2*Math.PI),t.fill();let i=t.createLinearGradient(0,256,0,512);i.addColorStop(0,"#d2dbd4"),i.addColorStop(.05,"#6e99a3"),i.addColorStop(.34,"#2b5e6f"),i.addColorStop(1,"#0c2836"),t.fillStyle=i,t.fillRect(0,256,1024,256);let s=t.createRadialGradient(a,262,0,a,262,220);s.addColorStop(0,"rgba(255,226,170,.45)"),s.addColorStop(1,"rgba(255,214,150,0)"),t.fillStyle=s,t.fillRect(0,256,1024,190),t.globalAlpha=.06,t.fillStyle="#eaf3f5";for(let e=0;e<90;e++){let n=258+248*Math.pow(e/90,1.8);t.fillRect(0,n,1024,Math.max(1,e/90*3))}t.globalAlpha=1;let c=new w.GOR(e);
1return c.mapping=w.wfO,c.colorSpace=w.er$,c}var e4=n(99342);let e3=["visitor","member","desk","vip_standard","vip_premium","vip_elite","broker","owner"],e6=["marco","iron","jarod","nova","kaia","sonic","erwin","david"],e8=/^#[0-9a-f]{6}$/i,e9=e=>"object"==typeof e&&null!==e,e7={tier:"visitor",label:"",accent:"#9cabb9",authenticated:!1,owner:!1,deskAllowed:!1,agents:Object.fromEntries(e6.map(e=>[e,{allowed:!1,configured:!1}]))};function te(e){var t;return(null!=(t=null==e?void 0:e.positions)?t:[]).filter(e=>e&&!0===e.declenche)}function tt(e){var t,n;return(null==e||null==(n=e.sources)||null==(t=n.bougies)?void 0:t.status)==="fresh"}let tn=(e,t,n,a)=>({agentId:e,destination:t,fact:n,source:a}),ta="lib/desk-live.ts:149 positions[].declenche",to="lib/desk-live.ts:183 clotures_jour",tr="lib/desk-live.ts:103 marco.lecture",tl="lib/desk-live.ts:110 sources.bougies.status",ti="lib/world-access.ts:64 agents[].configured",ts="lib/world-access.ts:42 membership.tier";function tc(e,t,n){if(!e)return null;let a=null,o=1/0;for(let r of t){if(!n.includes(r.id))continue;let t=Math.hypot(r.point[0]-e[0],r.point[1]-e[1]);t<o&&(o=t,a=r.id)}return a}let td=["lounge","library","observatory","canteen","desk-iron"],tu={visitor:"Bienvenue \xe0 bord. Iron vous montre le pont et le Desk.",member:"Bon retour. Votre espace est ouvert, Iron vous y conduit.",desk:"Votre Desk est reconnu. Marco travaille, ses \xe9crans sont \xe0 vous.",broker:"Votre acc\xe8s broker est reconnu. Le Desk est ouvert.",vip_standard:"Bon retour. Le briefing et les analyses vous attendent.",vip_premium:"Bon retour. Votre cockpit avanc\xe9 est pr\xeat.",vip_elite:"Bon retour. La table Elite est dress\xe9e.",owner:"\xc0 vos ordres. Le bord est \xe0 vous."},tf={visitor:"iron",member:"iron",desk:"iron",broker:"iron",vip_standard:"marco",vip_premium:"marco",vip_elite:"marco",owner:"erwin"};var tp=n(11041);let tm=c.YU.map(e=>({id:e.id,point:e.point})),th=z.iU.d1;async function tg(e,t,n){let a=await t(e,{credentials:"same-origin",cache:"no-store",signal:n});return a.ok?a.json():null}var tv=n(96807),tb=n(59494),tw=n(68362),ty=n(43086),tx=n(47735);let tM=[],tk=[];function tS(){let e=new Map,t=new Map,n=e=>{for(let[n,a]of t)(a.expiresAt<=e||Date.parse(a.event.occurredAt)>e)&&t.delete(n);return[...t.values()]};return{active:n,receive(a,o){for(let[t,a]of(n(o),e))o-a>9e5&&e.delete(t);for(let n of a){if(!n||"string"!=typeof n.id||!n.id||n.id.length>200||"runtime_event_received"!==n.kind||!v.UZ.some(e=>e.id===n.agent)||"string"!=typeof n.occurredAt)continue;let a=Date.parse(n.occurredAt);if(!Number.isFinite(a)||a>o||o-a>=9e5||e.has(n.id))continue;e.set(n.id,o);let r=t.get(n.agent);r&&Date.parse(r.event.occurredAt)>=a||t.set(n.agent,{event:{id:n.id,agent:n.agent,occurredAt:n.occurredAt,kind:"runtime_event_received"},expiresAt:Math.min(o+1e4,a+9e5)})}}}}function tA(e){let{memberProfile:t=null,members:y=tk,memberDesk:x=!1,ownerCabin:M=!1,cabinEntry:S=0,placeEntry:A=null,onNearSeat:R,onOpenMemberDesk:C,onVisitorPosition:F,freeCamera:j=!1,onFreeCameraExit:T,onOpenMarkets:O,destination:N,agentId:U,reducedMotion:L,onSelectAgent:K,onReady:Q,onUnavailable:ex,speakingAgent:eD=null,onTravelChange:eC,interactionSequence:eF=0,overviewPaused:eB=!1,activityEvents:e$=tM,dialogueFeed:tA=null,dialogueEnabled:tE=!1}=e,[tI,tP]=(0,o.useState)(null),tz=(0,o.useRef)(j),tD=(0,o.useRef)({profile:t,members:y,desk:x}),tR=(0,o.useRef)({open:M}),tC=(0,o.useRef)(F);(0,o.useEffect)(()=>{tC.current=F},[F]);let tF=(0,o.useRef)(null),tj=(0,o.useRef)(null),tT=(0,o.useRef)({destination:N,agentId:U,reducedMotion:L}),tO=(0,o.useRef)(e$),tN=(0,o.useRef)({feed:tA,enabled:tE}),tU=(0,o.useRef)(eB),tL=(0,o.useRef)({onSelectAgent:K,onReady:Q,onUnavailable:ex,onTravelChange:eC,onFreeCameraExit:T,onOpenMarkets:O,onOpenMemberDesk:C,onNearSeat:R});return(0,o.useEffect)(()=>{tL.current={onSelectAgent:K,onReady:Q,onUnavailable:ex,onTravelChange:eC,onFreeCameraExit:T,onOpenMarkets:O,onOpenMemberDesk:C,onNearSeat:R}},[K,Q,ex,eC,T,O,C]),(0,o.useEffect)(()=>{tU.current=eB},[eB]),(0,o.useEffect)(()=>{let e,t,a,o,r,b,y,x,M,S,A,R,C,F,j,T,O,N,U,L,K=tF.current;if(!K)return;let Q=!1,ex=!1,eD=!1,eC=0,eF=0,eB=new w.Pq0,e$=99,tM=-1/0,tk=0,tA=0,tE=0,tI=0,tq=(0,tv.j2)({onLent:()=>{K.dataset.repli="images-lentes"}}),tB=(0,tp.V)(()=>!0===tD.current.desk),t_=["HQ_REAR_INTERIOR_SHELL","COF Nexus \xb7 command hall, gallery and workstations"],tW=null,tH=!0,tY=tT.current,t$=K.clientWidth<760,tV=0,tJ=0,tG=0,tZ=null,tX=1,tK=0,tQ=0,t0=null,t1=0,t2=0,t5=[],t4=tS(),t3=0,t6=null,t8=[],t9="",t7=null,ne=0,nt=null,nn=new Map,na=new w.tBo,no=new w.Pq0,nr=(0,tx.m2)(),nl=tN.current.enabled,ni=!1,ns=Date.now(),nc=new w.Pq0,nd=new w.Z58,nu=new w.ubm(51,1,.15,260),nf=new w.Pq0,np=new w.Pq0,nm=new w.Pq0,nh=new w.Pq0,ng=new w.Pq0,nv=nu.fov,nb=nu.fov,nw=.85,ny=new w.tBo,nx=new w.I9Y,nM=null;function nk(){var e,t,n,a,r,l;if(!Q&&!ex){for(let e of(ex=!0,cancelAnimationFrame(eC),eC=0,K.dataset.sceneState="unavailable",A&&clearTimeout(A),R&&clearInterval(R),nB(),U&&clearTimeout(U),L&&(L.element.hidden=!0),null==o||o.setDialoguePair(null,null),nn.values())
1)e.element.hidden=!0;null==(e=(t=tL.current).onTravelChange)||e.call(t,!1),null==b||b.setEnabled(!1),null==M||M.dispose(),null==(n=(a=tL.current).onFreeCameraExit)||n.call(a),null==(r=(l=tL.current).onUnavailable)||r.call(l)}}function nS(){Q||ex||document.hidden||(0,tw.us)()||eC||(eC=requestAnimationFrame(nD))}function nA(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=Date.now(),n=t4.active(t),a=new Map(n.map(e=>[e.event.agent,e]));for(let[e,t]of nn){var o;(null==(o=a.get(e))?void 0:o.event.id)!==t.id&&(t.element.getAnimations().forEach(e=>e.cancel()),t.element.remove(),nn.delete(e))}for(let{event:e}of n){if(nn.has(e.agent))continue;let t=document.createElement("div");t.className="cof-activity-bubble",t.hidden=!0,t.style.pointerEvents="none",t.style.animation="none";let n=v.UZ.find(t=>t.id===e.agent),a=new Date(e.occurredAt);t.textContent="Activit\xe9 re\xe7ue \xb7 ".concat(a.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit"})),t.setAttribute("role","note"),t.setAttribute("aria-label","".concat(n.name," â activit\xe9 re\xe7ue le ").concat(a.toLocaleString("fr-FR"))),t.dataset.eventId=e.id,t.style.setProperty("--activity-accent",n.color),K.appendChild(t),tY.reducedMotion||t.animate([{opacity:0},{opacity:1}],{duration:280,easing:"ease-out"}),nn.set(e.agent,{id:e.id,element:t,position:new w.Pq0,occluded:!1,lastOcclusion:0})}e&&(A&&clearTimeout(A),A=void 0,n.length&&(A=setTimeout(()=>{Q||ex||(nA(!0),nS())},Math.max(1,Math.min(...n.map(e=>e.expiresAt))-t))))}function nE(e){Q||ex||(null==o||o.setAgentActivity(e),t4.receive(e,Date.now()),nA(!0),nS())}function nI(){let e=nl?nr.current(Date.now()):null;if((null==L?void 0:L.id)===(null==e?void 0:e.turn.id))return;if(L&&(L.element.getAnimations().forEach(e=>e.cancel()),L.element.remove(),L=void 0),ni=!1,!e){null==o||o.setDialoguePair(null,null);return}let{turn:t,index:n,total:a}=e,r=v.UZ.find(e=>e.id===t.agent),l=v.UZ.find(e=>e.id===t.recipient),i=document.createElement("div");i.className="cof-dialogue-bubble",i.hidden=!0,i.style.pointerEvents="none",i.setAttribute("role","note");let s=(e,t)=>"erwin"===e?"ERWIN \xb7 PERSONA IA":t;i.setAttribute("aria-label","".concat(s(r.id,r.name)," \xe0 ").concat(s(l.id,l.name)," : ").concat(t.text)),i.dataset.exchangeId=e.exchangeId,i.dataset.turnId=t.id,i.style.setProperty("--dialogue-accent",r.color);let c=document.createElement("div");c.className="cof-dialogue-bubble__heading";let d=document.createElement("strong");d.textContent=s(r.id,r.name);let u=document.createElement("span");u.textContent="â ".concat(s(l.id,l.name));let f=document.createElement("small");f.textContent="".concat(n+1," / ").concat(a),c.append(d,u,f);let p=document.createElement("p");p.textContent=t.text;let m=document.createElement("small");m.className="cof-dialogue-bubble__receipt",m.textContent="\xc9change IA \xb7 ".concat(new Date(t.occurredAt).toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit"})),i.append(c,p,m),K.appendChild(i),tY.reducedMotion||i.animate([{opacity:0},{opacity:1}],{duration:250,easing:"ease-out"}),L={id:t.id,agent:t.agent,recipient:t.recipient,element:i,position:new w.Pq0,occluded:!1,lastOcclusion:0}}function nP(){U&&clearTimeout(U),U=void 0,!Q&&!ex&&!document.hidden&&nl&&nr.current(Date.now())&&(U=setTimeout(()=>{U=void 0,nS(),nP()},1e3))}function nz(e,t){Q||ex||(null==o||o.setAgentDialogue((null==e?void 0:e.status)==="fresh"?e.turns:[]),nl=t,t&&(null==e?void 0:e.status)!=="unavailable"?nr.receive(e,Date.now()):nr.clear(),nI(),nP(),nS())}function nD(t){var n,r,l,s,d,g,k,A,E,R,C,F,j,O,N,U,$,V,J,G,Z,X,ee,et,en,ea,eo,er,el;if(eC=0,Q||ex||document.hidden||(0,tw.us)()||(null==a?void 0:a.paused)||!e||!
1o||!tK||!tQ)return void tq.pause();if(tV&&t-tV<32&&!tY.reducedMotion)return void nS();if(tq.image(t))return void nk();let ei=performance.now(),es=tV?Math.min((t-tV)/1e3,.05):0,ec=tV?Math.min((t-tV)/1e3,.4):0;tV=t,tJ+=es;let ed=tX<1;if(null==nt?void 0:nt.pose){let e=nt.pose.position,t=nt.pose.target;nu.position.set(e[0],e[1],e[2]),nf.set(t[0],t[1],t[2]),e$=0}else if(null==b?void 0:b.enabled)b.update(ec);else{if(tX<1){tX=Math.min(1,tX+es/nw);let e=(0,v.Az)(tX);nu.position.set(...(0,v.qQ)(np.toArray(),nm.toArray(),tX)),nf.lerpVectors(nh,ng,e),nu.fov=w.cj9.lerp(nv,nb,e),nu.updateProjectionMatrix(),1===tX&&(null==(n=(r=tL.current).onTravelChange)||n.call(r,!1,"".concat(tY.destination,"-").concat(tY.agentId)))}if(null===tZ&&(tG=(0,v.FN)(tG,es,{destination:tY.destination,reducedMotion:tY.reducedMotion,hidden:document.hidden,paused:tU.current,travelling:ed})),"accueil"===tY.destination&&!ed){let e=(0,v.dK)(tG,t$);nu.position.set(...e.position),nf.set(...e.target)}}let eu=null==b?void 0:b.getState(),ef=!!x&&1.25>nu.position.distanceTo(x.group.position);if(null==x||x.update(eu,es,!!(null==b?void 0:b.enabled)&&e$>0&&!ef),t-t3>300){t3=t;let e=null;if((null==b?void 0:b.enabled)&&(null==eu?void 0:eu.mode)==="visitor"){let[t,,n]=eu.position,a=null!=(l=eu.deck)?l:"main";"d1"===a&&tD.current.desk&&2.6>Math.hypot(t-3.1,n-16.2)?e="member":"d1"===a&&tR.current.open&&(null==o?void 0:o.ownerCabinEntry)&&2.8>Math.hypot(t-o.ownerCabinEntry.point[0],n-o.ownerCabinEntry.point[1])&&(e="owner")}K.dataset.nearSeat=null!=e?e:"none",e!==t6&&(t6=e,null==(s=(d=tL.current).onNearSeat)||s.call(d,e))}if(T&&t-ne>150){ne=t;let e={member:!!tD.current.desk,owner:!!tR.current.open},n="".concat(e.member,"/").concat(e.owner);if(n!==t9&&(t9=n,t8=function(e){let{rights:t,desk:n=!1}=e;return[...v.UZ.map(e=>{let[t,n]=(0,c.bM)(e,P.L.standing[0],P.L.standing[2]);return{id:"agent-".concat(e.id),kind:"agent",deck:"d1",point:[t,n],radius:2.9,verb:"Parler \xe0",label:"".concat(e.name," \xb7 ").concat(e.label),access:H.has(e.id)?"public":"member",yaw:_(e.position[0]-t,e.position[2]-n),payload:e.id}}),...n?c.tz.map(e=>{let[t,n]=(0,c.bM)(e,P.L.chair[0],P.L.chair[2]),[a,o]=(0,c.bM)(e,P.L.standing[0],P.L.standing[2]),[r,l]=(0,c.bM)(e,P.L.screen[0],P.L.screen[2]),i=z.iU.d1;return{id:"seat-".concat(e.id),kind:"seat",deck:"d1",point:[a,o],radius:2.6,verb:"S'asseoir",label:"Mon poste de trading",access:"member",yaw:_(r-a,l-o),seat:{point:[t,n],eye:B.zM.eyeSeated,look:[r,i+P.L.screen[1],l]},payload:e.id}}):[],...D.flatMap(q).map(e=>{var t;let[n,,a]=e.position,o=[n+1.9*Math.sin(e.rotationY),a+1.9*Math.cos(e.rotationY)];return{id:"screen-".concat(e.id),kind:"screen",deck:e.deck,point:o,radius:2.4,verb:"Agrandir",label:null!=(t=Y[e.role])?t:"\xc9cran de march\xe9",access:"public",yaw:_(n-o[0],a-o[1]),payload:e.role}}),...I.le.filter(e=>(0,I.Ps)(e,t)).map(e=>{let t=(0,I._0)(e);return{id:"door-".concat(e.id),kind:"door",deck:e.deck,point:t,radius:2.2,verb:"Ferm\xe9",label:e.label,access:e.access,yaw:(0,I.fM)(e),payload:e.id}})]}({rights:e,desk:e.member})),nt)T.set({interaction:{...nt.interaction,id:"".concat(nt.interaction.id,"-lever"),verb:"Se lever",label:"du poste"},distance:0,locked:!1,reason:""},null);else if((null==b?void 0:b.enabled)&&(null==eu?void 0:eu.mode)==="visitor"){let t=(eo=t8,(er=nd.userData.actorPositions)?eo.map(e=>{if("agent"!==e.kind||!e.payload)return e;let t=er[e.payload];if(!Array.isArray(t)||t.length<3)return e;let[n,,a]=t;return Number.isFinite(n)&&Number.isFinite(a)?{...e,point:[n,a]}:e}):[...eo]),n={position:eu.position,yaw:eu.yaw,deck:eu.deck},a=null!=(el=function(e,t,n,a){var o;let r,l=null!=(o=t.deck)?o:"d1",[i,,s]=t.position,[c,d]=[-Math.sin(r=t.yaw),-Math.cos(r)],u=[];for(let t of e){if(t.deck!==l)continue;let e=t.id===a,o=W([i,s],t.point);if(o>t.radius+.7*!!e||o>.35&&((t.point[0]-i)*c+(t.point[1]-s)*d)/o<-.15&&!e)continue;let r="owner"===t.access?!n.owner:"member"===t.access&&!n.member;u.push({interaction:t,distance:o,locked:r,reason:r?I.Sx[t.access]:""})}return u.sort((e,t)=>e.distance-.45*(e.interaction.id===a)-(t.distance-.45*(t.interaction.id===a)))}(t,n,e,t7)[0])?el:null;t7=null!=(g=null==a?void 0:a.interaction.id)?g:null,T.set(a,a?null:function(e,t){var n;let a=null!=(n=t.deck)?n:"d1",[o,,r]=t.position,l=null;for(let t of e){if(t.deck!==a||"door"===t.kind)continue;let e=W([o,r],t.point);(!l||e<l.distance)&&(l={interaction:t,distance:e,locked:!1,reason:""})}return l}(t,n))}else t7=null,T.set(null,null);K.dataset.interaction=null!=t7?t7:nt?"assis":"none"}if((null==b?void 0:b.enabled)&&(null==eu?void 0:eu.mode)==="visitor"&&t-tM>=500){tM=t;try{null==(k=tC.current)||k.call(tC,function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.Wi,a=f(e[2]);return{x:u(f(e[0])/m(a,n),-1,1),z:u(a/h(n),-1,1),heading:p(t)}}(eu.position,eu.yaw))}catch(e){}null==y||y.setVisitorPosition(eB.set(eu.position[0],eu.position[1],eu.position[2]))}nu.lookAt(nf),o.update(tJ,tY.reducedMotion,nu),null==M||M.update(nu,es,tK,tQ,tY.reducedMotion);try{if(e.shadowMap.autoUpdate=!1,t-tA>(t$?260:150)&&(e.shadowMap.needsUpdate=!0,tA=t),e.info.reset(),tW&&tH?tW.render(tJ):e.render(nd,nu),null==S||S.render(nu),t-t1>750&&(t1=t,K.dataset.drawCalls=String(e.info.render.calls),K.dataset.triangles=String(e.info.render.triangles),K.dataset.architecture=null!=(E=nd.userData.architecture)?E:"",K.dataset.riggedActors=null!=(R=nd.userData.r
1iggedActors)?R:"",K.dataset.actorStates=null!=(C=nd.userData.actorStates)?C:"",K.dataset.rigResults=JSON.stringify(null!=(F=nd.userData.rigResults)?F:[]),K.dataset.actorNavigation=JSON.stringify(null!=(j=nd.userData.actorNavigation)?j:{}),K.dataset.sharedSpaces=JSON.stringify(null!=(O=nd.userData.sharedSpaces)?O:{}),K.dataset.workstationScreens=JSON.stringify(null!=(N=nd.userData.workstationScreens)?N:{}),K.dataset.davidRepresentation=JSON.stringify(null!=(U=nd.userData.davidRepresentation)?U:{}),K.dataset.actorPositions=JSON.stringify(null!=($=nd.userData.actorPositions)?$:{}),K.dataset.marketScreens=null!=(V=nd.userData.marketScreenState)?V:"",K.dataset.mascot=JSON.stringify(null!=(J=nd.userData.cofMascot)?J:{}),K.dataset.roomDesign=null!=(G=nd.userData.roomDesign)?G:"",K.dataset.cameraMode=(null==b?void 0:b.enabled)?"visitor":"guided",K.dataset.visitorAvatar=String(!!(null==x?void 0:x.group.visible)),K.dataset.visitorRig=x?x.rigged?x.motion:"fallback":"none",K.dataset.renderBudget=JSON.stringify({targetFps:30,pixelRatio:e.getPixelRatio(),renderMs:Math.round(tk),shadows:e.shadowMap.enabled,post:!!tW&&tH,tier:t$?"mobile":"desktop",modeles:(()=>{try{let e=0,t=0;for(let n of performance.getEntriesByType("resource"))/\.glb(\?|$)/.test(n.name)&&(t++,e+=n.transferSize||0);return{fichiers:t,mo:Number((e/1048576).toFixed(2))}}catch(e){return null}})(),emprise:eD&&tE>240?(()=>{let e=nd.userData.emprise;if(void 0!==e)return e;try{let e=new w.NRn,t=!1;for(let n of t_){let a=nd.getObjectByName(n);a&&(e.union(new w.NRn().setFromObject(a)),t=!0)}if(!t||e.isEmpty())return null;let n={demiBau:Number(Math.max(Math.abs(e.min.x),Math.abs(e.max.x)).toFixed(2)),hauteur:Number(e.max.y.toFixed(2)),longueur:Number((e.max.z-e.min.z).toFixed(2))};return nd.userData.emprise=n,n}catch(e){return nd.userData.emprise=null,null}})():void 0}),K.dataset.freeCamera=JSON.stringify((null==b?void 0:b.enabled)?b.getState():null),K.dataset.deck=(null==b?void 0:b.enabled)&&null!=(Z=null==(A=b.getState())?void 0:A.deck)?Z:"d1",K.dataset.camera=nu.position.toArray().map(e=>e.toFixed(2)).join(","),K.dataset.overviewOrbit=JSON.stringify({periodSeconds:180,frozen:null!==tZ,phaseSeconds:Number(tG.toFixed(3)),moving:!(null==b?void 0:b.enabled)&&"accueil"===tY.destination&&!tY.reducedMotion&&!tU.current&&1===tX}),K.dataset.dialoguePair=JSON.stringify(null!=(X=nd.userData.dialoguePair)?X:null),K.dataset.dialogueVisible=String(ni)),t-t2>40||tY.reducedMotion){t2=t,nA();let e=Date.now();nr.advance(Math.min(1100,Math.max(0,e-ns)),ni&&nl&&!document.hidden&&1===tX,e),ns=e,ni=!1,nI();let n=[],a=K.getBoundingClientRect();for(let e of document.querySelectorAll(".cw-arrival,.cw-encounter,dialog[open],.cw-mobile-menu,.cw-tour,.cw-desk-shortcuts,.cw-team-dialogue-control,.cw-runtime-status,.cw-market-briefing[open]")){let t=e.getBoundingClientRect();t.width&&t.height&&n.push({left:t.left-a.left,right:t.right-a.left,top:t.top-a.top,bottom:t.bottom-a.top})}let r=nn.size||L?["COF Shared Spaces","ENV_ARCHITECTURE","ENV_DESKS","HQ_REAR_INTERIOR_SHELL","COF Nexus \xb7 command hall, gallery and workstations"].map(e=>nd.getObjectByName(e)).filter(e=>!!e):[];if(L){let e=L;e.element.hidden=!0;let a=null==(ee=nd.getObjectByName("rigged-".concat(e.agent)))?void 0:ee.getObjectByName("Head");if(a&&1===tX&&nl){a.getWorldPosition(e.position),e.position.y+=.64,nc.copy(e.position).project(nu);let o=(.5*nc.x+.5)*tK,l=(-(.5*nc.y)+.5)*tQ;if(nc.z>-1&&nc.z<1&&o>0&&o<tK&&l>118&&l<tQ-145&&((!e.lastOcclusion||t-e.lastOcclusion>200)&&(e.lastOcclusion=t,no.copy(e.position).sub(nu.position),na.near=.15,na.far=Math.max(.15,no.length()-.15),na.set(nu.position,no.normalize()),e.occluded=na.intersectObjects(r,!0).some(e=>{var t,n;let a=e.object;for(;a;){if(!a.visible)return!1;a=a.parent}let o=e.object,r=Array.isArray(o.material)?o.material[null!=(n=null==(t=e.face)?void 0:t.materialIndex)?n:0]:o.material;return r&&(!r.transparent||r.opacity>=.5)})),!e.occluded)){e.element.hidden=!1;let t=e.element.offsetWidth||280,a=e.element.offsetHeight||150,r=(0,tx.aU)({anchorX:o,anchorY:l,width:tK,height:tQ,labelWidth:t,labelHeight:a,occupied:n});r&&(n.push(r.rect),e.element.style.transform="translate(-50%, -100%) translate(".concat(r.x.toFixed(1),"px, ").concat(r.y.toFixed(1),"px)")),e.element.hidden=!r,ni=!!r}}}for(let e of(o.setDialoguePair(ni?L.agent:null,ni?L.recipient:null),t5)){let t;if(!(("accueil"===tY.destination||(null==b?void 0:b.enabled))&&1===tX)){e.element.hidden=!0;continue}let a=o.pickables.find(t=>t.userData.actorProxy&&t.userData.agentId===e.id);a&&(a.getWorldPosition(e.position),e.position.y+=1.9),nc.copy(e.position).project(nu);let r=(.5*nc.x+.5)*tK,l=(-(.5*nc.y)+.5)*tQ;if(e.element.hidden=nc.z>1||nc.z<-1||r<18||r>tK-18||l<115||l>tQ-160,e.element.hidden)continue;let i=e.element.offsetWidth||150,s=e.element.offsetHeight||29,c=w.
1cj9.clamp(r,i/2+12,tK-i/2-12);for(let e of[0,-1,1,-2,2,-3,3]){let a=l+e*(s+8),o={left:c-i/2,right:c+i/2,top:a-s,bottom:a};if(!(o.top<118)&&!(o.bottom>tQ-155)&&!n.some(e=>o.left<e.right+8&&o.right>e.left-8&&o.top<e.bottom+6&&o.bottom>e.top-6)){t=a,n.push(o);break}}if(void 0===t){e.element.hidden=!0;continue}e.element.style.transform="translate(-50%, -100%) translate(".concat(c.toFixed(1),"px, ").concat(t.toFixed(1),"px)")}for(let[e,a]of nn){if(a.element.hidden=!0,tX<1)continue;let o=nd.getObjectByName("rigged-".concat(e));if(!o||!o.visible)continue;let l=o.getObjectByName("Head");if(l)l.getWorldPosition(a.position),a.position.y+=.6;else{let t=null==(et=nd.userData.actorPositions)?void 0:et[e];if(!Array.isArray(t)||3!==t.length||!t.every(Number.isFinite))continue;a.position.set(t[0],t[1]+3.65,t[2])}nc.copy(a.position).project(nu);let i=(.5*nc.x+.5)*tK,s=(-(.5*nc.y)+.5)*tQ-32;if(nc.z<-1||nc.z>1||i<18||i>tK-18||s<118||s>tQ-155||((!a.lastOcclusion||t-a.lastOcclusion>200)&&(a.lastOcclusion=t,no.copy(a.position).sub(nu.position),na.near=.15,na.far=Math.max(.15,no.length()-.15),na.set(nu.position,no.normalize()),a.occluded=na.intersectObjects(r,!0).some(e=>{var t,n;let a=e.object;for(;a;){if(!a.visible)return!1;a=a.parent}let o=e.object,r=Array.isArray(o.material)?o.material[null!=(n=null==(t=e.face)?void 0:t.materialIndex)?n:0]:o.material;return r&&(!r.transparent||r.opacity>=.5)})),a.occluded))continue;a.element.hidden=!1;let c=a.element.offsetWidth||172,d=a.element.offsetHeight||26,u={left:i-c/2,right:i+c/2,top:s-d,bottom:s};if(u.left<12||u.right>tK-12||n.some(e=>u.left<e.right+8&&u.right>e.left-8&&u.top<e.bottom+6&&u.bottom>e.top-6)){a.element.hidden=!0;continue}n.push(u),a.element.style.transform="translate(-50%, -100%) translate(".concat(i.toFixed(1),"px, ").concat(s.toFixed(1),"px)")}}eD||ex||(eD=!0,K.dataset.sceneState="ready",null==(en=(ea=tL.current).onReady)||en.call(ea))}catch(e){nk()}tk=.9*tk+(performance.now()-ei)*.1,++tE>90&&((tI=tk>34?Math.min(tI+1,240):Math.max(tI-1,-240))>60&&e.getPixelRatio()>1?(e.setPixelRatio(1),null==tW||tW.setSize(tK,tQ,1),tI=0):tI>120&&tW&&tH?(tH=!1,tI=0):tI>190&&e.shadowMap.enabled?(e.shadowMap.enabled=!1,tI=0):tI<-180&&(e.shadowMap.enabled?tW&&!tH&&(tH=!0,tI=0):(e.shadowMap.enabled=!0,e.shadowMap.needsUpdate=!0,tI=0))),(!tY.reducedMotion||(null==b?void 0:b.enabled)||(null==M?void 0:M.moving))&&!ex?nS():tq.pause()}function nR(e,t,n){var a,r,l;let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(tY={destination:e,agentId:t,reducedMotion:n},null==b?void 0:b.enabled)return void nS();let s="accueil"===e?(0,v.dK)(tG,t$):(0,v.t6)(e,t,t$,tK&&tQ?tK/tQ:void 0);np.copy(nu.position),nh.copy(nf),nm.set(...s.position),ng.set(...s.target);let c="accueil"===e?null:(0,v.hy)(e,t).id;null==o||o.setActive(c);let d="accueil"===e?null:(0,v.hy)(e,t);if(d&&o){let e=o.pickables.find(e=>e.userData.actorProxy&&e.userData.agentId===d.id);if(e){let t=e.getWorldPosition(new w.Pq0),n=Math.sin(d.rotation),a=Math.cos(d.rotation),o=d.position[0]-3.1*a+.1*n,r=d.position[2]+3.1*n+.1*a,l=new w.Pq0(t.x-o,0,t.z-r);nm.add(l),ng.add(l)}}let u=c&&"exterieur"!==e;null==o||o.setEncounterCamera(u?nm:null);let f=u?null==o||null==(a=o.pickables.find(e=>e.userData.actorProxy&&e.userData.agentId===c))?void 0:a.getWorldPosition(new w.Pq0):void 0;null==M||M.setEncounter(f?{lens:[nm.x,nm.z],agent:[f.x,f.z]}:null),nv=nu.fov,nb=s.fov,nw=(0,v.Ay)(np.distanceTo(nm)),tX=n||i?1:0,null==(r=(l=tL.current).onTravelChange)||r.call(l,tX<1,1===tX?"".concat(e,"-").concat(t):void 0),1===tX&&(nu.position.copy(nm),nf.copy(ng),nu.fov=nb,nu.updateProjectionMatrix()),K.dataset.destination=e,K.dataset.agent=null!=c?c:"overview",nS()}function nC(){if(!e||Q)return;let t=K.getBoundingClientRect();tK=Math.round(t.width),tQ=Math.round(t.height),tK&&tQ&&(t$=tK<760,e.setPixelRatio(Math.min(window.devicePixelRatio||1,t$?1.5:1.25)),e.setSize(tK,tQ,!1),null==tW||tW.setSize(tK,tQ,e.getPixelRatio()),null==S||S.resize(tK,tQ),nu.aspect=tK/tQ,(null==b?void 0:b.enabled)&&eF&&(nu.fov=(0,i.z2)(eF,nu.aspect)),nu.updateProjectionMatrix(),nR(tY.destination,tY.agentId,tY.reducedMotion,!0),nS())}function nF(t){if(!e||!o)return null;let n=e.domElement.getBoundingClientRect();if(!n.width||!n.height)return null;nx.set((t.clientX-n.left)/n.width*2-1,-(2*((t.clientY-n.top)/n.height))+1),ny.setFromCamera(nx,nu);let a=nd.getObjectByName("market-observations-wall"),r=o.pickables.filter(e=>e.visible);a&&r.push(a);let l=ny.intersectObjects(r,!1)[0];if(null==l?void 0:l.object.userData.memberDesk)return"__member-desk";if(null==l?void 0:l.object.userData.marketPanel){for(let e=l.object;e;e=e.parent)if(!e.visible)return null;let e=ny.far;try{ny.far=Math.min(e,Math.max(ny.near,l.distance-.02));let t=[];if(nd.traverseVisible(e=>{e instanceof w.eaF&&e!==l.object&&!e.userData.actorProxy&&!e.userData.pickProxy&&(Array.isArray(e.material)?e.material:[e.material]).some(e=>e.visible&&e.colorWrite&&e.opacity>0)&&t.push(e)}),ny.intersectObjects(t,!1).some(e=>{var t,n;let a=e.object,o=Array.isArray(a.material)?a.material[null!=(n=null==(t=e.face)?void 0:t.materialIndex)?n:0]:a.material;return!!o&&o.visible&&o.colorWrite&&o.opacity>0}))return null}finally{ny.far=e}return"__markets"}return"string"==typeof(null==l?void 0:l.object.userData.agentId)?l.object.userData.agentId:null}function nj(e){if((null==b?void 0:b.enabled)||"touch"===e.pointerType)return;let t=nF(e);t!==t0&&(t0=t,K.style.cursor=t?"pointer":"default")}function nT(e){nM={x:e.clientX,y:e.clientY}}function nO(e){var t,n,a,o;if(!nM||Math.hypot(e.clientX-nM.x,e.clientY-nM.y)>8){nM=null;return}nM=null;let r=nF(e);"__markets"===r?null==(t=(n=tL.current).onOpenMarkets)||t.call(n):"__member-desk"===r?null==(a=(o=tL.current).onOpenMemberDesk)||a.call(o):r&&tL.current.onSelectAgent(r)}function nN(){nM=null,t0=null,K.style.cursor="default"}function nU(e){e.preventDefault(),null!=a&&a.ownsLoss()||nk()}function nL(){if(Q||ex||!e)return;let n=t;t=nq(),null==n||n.dispose(),e.shadowMap.needsUpdate=!0,null==a||a.restored()}function nq(){let t=e5(),n=new V.BdL(e);try{let e=t?n.fromEquirectangular(t):void 0;return e&&(nd.environment=e.texture,nd.environmentIntensity=1.05),e}
1finally{null==t||t.dispose(),n.dispose()}}function nB(){C&&clearInterval(C),C=void 0,null==F||F.abort(),F=void 0}async function n_(){if(Q||ex||document.hidden||!o)return;null==F||F.abort();let e=new AbortController;F=e;try{if(await o.loadMemberDesk(e.signal),Q||F!==e)return;nS()}catch(e){}}function nW(){O&&clearInterval(O),O=void 0,null==N||N.abort(),N=void 0}async function nH(){if(Q||ex||document.hidden||!o)return;null==N||N.abort();let e=new AbortController;N=e;try{if(await o.loadOwnerCabin(e.signal),Q||N!==e)return;nS()}catch(e){}}function nY(e){if(null==o||o.setOwnerCabin(e),!e)return void nW();O||(nH(),O=setInterval(()=>{nH()},12e4))}function n$(){tq.pause(),document.hidden?null==o||o.cancelMarketRefresh():null==o||o.refreshDisplays(),cancelAnimationFrame(eC),eC=0,tV=0,ns=Date.now(),ni=!1,document.hidden&&L&&(L.element.hidden=!0),nP(),document.hidden||nS()}let nV=(0,tw.pC)(()=>{tV=0,tq.pause(),nS()});try{if(e=new V.JeP({alpha:!0,antialias:!0,powerPreference:"high-performance",preserveDrawingBuffer:!1,failIfMajorPerformanceCaveat:!0}),(0,tv._1)((0,tv.s$)(e.getContext())))throw Error("rendu logiciel");e.setClearColor(396568,1),e.outputColorSpace=w.er$,e.toneMapping=w.FV,e.toneMappingExposure=.98,e.shadowMap.enabled=!0,e.shadowMap.type=t$?w.QP0:w.Wk7,t=nq();let A=(()=>{try{return new URLSearchParams(window.location.search)}catch(e){return null}})(),I=(null==A?void 0:A.get("post"))||"",D=(null==A?void 0:A.get("light"))||"",F=(null==A?void 0:A.has("freeze"))?Number(A.get("freeze")||0):null;null!==F&&Number.isFinite(F)&&(tG=tZ=(F%180+180)%180),tH=!!(tW="off"===I?null:(0,tb.p)(e,nd,nu,{msaa:"nomsaa"===I||t$?0:4,strength:"nobloom"===I?0:void 0,bloomScale:"full"===I?1:t$?.4:.5})),e.info.autoReset=!1,e.debug.onShaderError=nk,e.domElement.setAttribute("aria-hidden","true"),e.domElement.style.cssText="position:relative;z-index:1;display:block;width:100%;height:100%;touch-action:pan-y",e.domElement.addEventListener("webglcontextlost",nU),e.domElement.addEventListener("webglcontextrestored",nL),a=(0,ty.XK)(window,e,{pause(){tq.pause(),cancelAnimationFrame(eC),eC=0,K.dataset.visitHold="held"},resume(){delete K.dataset.visitHold,tV=0,tq.pause(),nS()},giveUp(){nk()}}),e.domElement.addEventListener("pointermove",nj),e.domElement.addEventListener("pointerdown",nT),e.domElement.addEventListener("pointerup",nO),e.domElement.addEventListener("pointerleave",nN),e.domElement.addEventListener("pointercancel",nN),K.appendChild(e.domElement),K.dataset.sceneState="loading",o=function(e,t){var a,o,r;let i,u,f,p,m,h,g=function(e){let t=new w.YJl;t.name="HQ_REAR_INTERIOR_SHELL";let n=new Set,a=new Set,o=new Set,r=!1,l=e=>{let t=new w._4j(e);return a.add(t),t},i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,J.MT)(e,t);return a.add(n),n},s=i("plaster",{side:w.$EB,vertexColors:!0,tint:0xcac2b1,envMapIntensity:.35}),c=i("hull-paint",{side:w.$EB,vertexColors:!0,envMapIntensity:.9}),d=i("carpet",{vertexColors:!0,tint:7826780,roughness:.96,envMapIntensity:.1}),u=i("teak-dark",{vertexColors:!0,tint:5917239,roughness:1,envMapIntensity:.1}),f={tint:0xe6ddc9,envMapIntensity:.22,emissive:4867644,emissiveIntensity:.9},p=i("plaster",{side:w.$EB,vertexColors:!0,...f}),m={panel:i("walnut",{repeat:[2,2],tint:0xa8907a,roughness:.5,envMapIntensity:.5}),wood:i("teak-dark",{repeat:[2,2],tint:0x9d8464,roughness:.55,envMapIntensity:.45}),structure:i("dark-steel",{tint:0x9aa3a8,roughness:.45,metalness:.3,envMapIntensity:.95}),recess:i("dark-steel",{tint:2567475,roughness:.88,metalness:.04,envMapIntensity:.12}),door:i("plaster",{repeat:[3,3],tint:0xc4bcab,roughness:.34,metalness:.04,normalScale:new w.I9Y(.15,.15),envMapIntensity:.55}),linen:i("fabric",{repeat:[4,4],tint:0xc8bda6,roughness:.94,envMapIntensity:.3}),bronze:i("brass",{envMapIntensity:1.1}),steel:i("brushed-steel",{envMapIntensity:1.15}),plaster:i("plaster",f),coolLight:l({color:9163497,emissive:6929112,emissiveIntensity:1.6,roughness:.35,metalness:.05}),warmLight:l({color:0xffe1ac,emissive:0xffcd87,emissiveIntensity:1.8,roughness:.32,metalness:.05})},h=l({color:0xffe3b4,emissive:0xffc98a,emissiveIntensity:2.2,roughness:.4,metalness:.04,side:w.$EB}),g=new ee(1,1,1,1,.035),v=new w.Ho_(.5,.5,1,14,1);n.add(g),n.add(v);let b={box:g,rod:v},y=new Map,x=new w.B69,M=function(e,t,n,a){var o;let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;x.position.set(...n),x.scale.set(...a),x.rotation.set(0,r,0),x.updateMatrix();let l="".concat(e,":").concat(t),i=null!=(o=y.get(l))?o:{shape:e,kind:t,matrices:[]};
1i.matrices.push(x.matrix.clone()),y.set(l,i)},k=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return M("box",e,t,n,a)},S=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return[Math.sin(e)*t+Math.cos(e)*a,n,Math.cos(e)*t-1-Math.sin(e)*a]},A=function(e,t,n,a,o){let r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;return k(e,S(t,n,a,r),o,t)},E=function(e,t,n,a,o){let r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;return M("rod",e,S(t,n,a,r),o,t)},I=function(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{p:e,u:t,v:n,s:a}};function P(e,a,o){let r=[],l=[],i=[],s=e=>{r.push(e.p[0],e.p[1],e.p[2]),l.push(e.u,e.v),i.push(e.s,e.s,e.s)},c=(e,t,n)=>{s(e),s(t),s(n)};o((e,t,n,a)=>{c(e,t,n),c(e,n,a)},c);let d=new w.LoY;d.setAttribute("position",new w.qtW(r,3)),d.setAttribute("uv",new w.qtW(l,2)),d.setAttribute("color",new w.qtW(i,3)),d.computeVertexNormals(),d.computeBoundingSphere(),n.add(d);let u=new w.eaF(d,a);return u.name=e,u.receiveShadow=!0,t.add(u),u}let z=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:72;return-el+e/t*el*2},D=e=>.6+.44*Math.min(1,e/2.6)+.26*Math.min(1,Math.max(0,(e-6.3)/2.4))**2;P("Rear pressure envelope and ceiling",s,e=>{for(let t=0;t<72;t++){let n=z(t),a=z(t+1),o=18.7*n/2.2,r=18.7*a/2.2;for(let t=0;t<eu.length-1;t++){let l=eu[t],i=eu[t+1];e(I(S(n,18.7,l),o,l/2.2,D(l)),I(S(n,18.7,i),o,i/2.2,D(i)),I(S(a,18.7,i),r,i/2.2,D(i)),I(S(a,18.7,l),r,l/2.2,D(l)))}}}),P("Rear ceiling field",p,(e,t)=>{let n=e=>[e[0]/2.6,(e[2]+1)/2.6],a=(e,t,a)=>{let o=S(e,t,8.7),[r,l]=n(o);return I(o,r,l,a)};for(let o=0;o<72;o++){let r=z(o),l=z(o+1);for(let o=0;o<ef.length-1;o++){let i=ef[o],s=ef[o+1],c=ep[o],d=ep[o+1];if(0===i){let e=[0,8.7,-1],[o,i]=n(e);t(a(l,s,d),a(r,s,d),I(e,o,i,c));continue}e(a(l,s,d),a(r,s,d),a(r,i,c),a(l,i,c))}}}),P("Rear superstructure hull",c,(e,t)=>{for(let n=0;n<72;n++){let a=z(n),o=z(n+1),r=19.05*a/3.4,l=19.05*o/3.4;e(I(S(a,19.05,0),r,0,.74),I(S(o,19.05,0),l,0,.74),I(S(o,19.05,8.94),l,2.6294117647058823,1.06),I(S(a,19.05,8.94),r,2.6294117647058823,1.06));let i=e=>{let t=S(e,19.05,8.94);return I(t,t[0]/3.4,(t[2]+1)/3.4,1.02)};t(I([0,8.94,-1],0,0,.96),i(a),i(o))}for(let t of[-el,el]){let n=S(t,18.7,0),a=S(t,19.05,0);e(I(n,0,0,.7),I(a,.10294117647058823,0,.7),I(S(t,19.05,8.94),.10294117647058823,2.6294117647058823,1),I(S(t,18.7,8.94),0,2.6294117647058823,1)),e(I([0,8.7,-1],0,0,.88),I([0,8.94,-1],0,.07058823529411765,.92),I(S(t,19.05,8.94),5.602941176470589,.07058823529411765,.98),I(S(t,19.05,8.7),5.602941176470589,0,.94))}}),P("Rear ceiling cove",p,e=>{let t=[[18.62,8.16,1.34],[18.44,8.36,1.28],[18.06,8.7,1.05]];for(let n=0;n<72;n++){let a=z(n),o=z(n+1);for(let n=0;n<t.length-1;n++){let[r,l,i]=t[n],[s,c,d]=t[n+1],u=.28*n,f=(n+1)*.28;e(I(S(a,r,l),a*r/2.2,u,i),I(S(a,s,c),a*s/2.2,f,d),I(S(o,s,c),o*s/2.2,f,d),I(S(o,r,l),o*r/2.2,u,i))}}}),P("Rear cove light band",h,e=>{for(let t=0;t<72;t++){let n=z(t),a=z(t+1);e(I(S(a,18.48,8.235),1,1),I(S(n,18.48,8.235),0,1),I(S(n,18.08,8.235),0,0),I(S(a,18.08,8.235),1,0))}}),P("Rear salon carpet",d,e=>{let t=(e,t,n)=>I(S(e,t,.046),e*t/.95,t/.95,n);for(let n=0;n<72;n++){let a=z(n),o=z(n+1);for(let n=0;n<em.length-1;n++){let r=em[n],l=em[n+1];e(t(a,r,eh[n]),t(a,l,eh[n+1]),t(o,l,eh[n+1]),t(o,r,eh[n]))}}}),P("Rear teak perimeter",u,e=>{let t=(e,t,n)=>I(S(e,t,.038),t/.62,e*t/.62,n);for(let n=0;n<72;n++){let a=z(n),o=z(n+1);for(let n=0;n<eg.length-1;n++){let r=eg[n],l=eg[n+1];e(t(a,r,ev[n]),t(a,l,ev[n+1]),t(o,l,ev[n+1]),t(o,r,ev[n]))}}}),P("Rear floor brass reglet",m.bronze,e=>{for(let t=0;t<72;t++){let n=z(t),a=z(t+1),o=(e,t)=>I(S(e,t,.052),e*t/.45,(t-15.54)/.45);e(o(n,15.54),o(n,15.66),o(a,15.66),o(a,15.54))}});for(let e=0;e<12;e++){let t=-el+(e+.5)*ei;if(A("wood",t,18.57,.28,[es+.02,.54,.18]),A("bronze",t,18.465,.55,[es-.04,.026,.024]),A("wood",t,8.2,7.99,[es+.02,.3,.22]),A("bronze",t,18.44,7.82,[es-.05,.026,.026]),!ec(e)){let n=(e,n,a)=>{let o=(e+n)/2,r=n-e;for(let e of(A("recess",t,18.59,o,[es-.11,r+.16,.1]),A("panel",t,18.5,o,[es-.29,r,.15]),A(a,t,18.452,o,[es-.62,r-.3,.075]),[-1,1]))A("bronze",t,18.44,o,[.024,r-.19,.02],e*((es-.62)/2+.055)),A("bronze",t,18.44,o+e*((r-.3)/2+.055),[es-.51,.022,.02])};for(let e of(n(.62,2.78,"linen"),n(3.06,7.8,"door"),A("wood",t,18.55,ed,[es+.02,.24,.2]),A("bronze",t,18.44,ed-.145,[es-.05,.024,.024]),A("recess",t,18.39,5.43,[.12,4.1,.055],-(.35*es)),A("warmLight",t,18.35,5.43,[.026,3.9,.018],-(.35*es)),[1.05,7.45]))for(let n of[
1-1,1])A("steel",t,18.4,e,[.05,.05,.023],n*(es/2-.27));if(A("steel",t,18.375,.88,[.06,.06,.18]),e%3==1){A("recess",t,18.5,.3,[.9,.3,.05]);for(let e=0;e<4;e++)A("steel",t,18.487,.18+.08*e,[.84,.022,.032])}}for(let n of(A("plaster",t,15.42,8.63,[2.28,.11,4.87]),A("recess",t,15.42,8.555,[.12,.028,3.86]),A(e%3==0?"warmLight":"coolLight",t,15.42,8.528,[.025,.018,3.68]),A("plaster",t,10.87,8.64,[1.55,.09,3.62]),A("recess",t,10.87,8.565,[.1,.03,2.9]),A("coolLight",t,10.87,8.545,[.022,.016,2.75]),[-1,1]))E("bronze",t,15,8.555,[.18,.05,.18],n*es*.3),E("warmLight",t,15,8.528,[.12,.028,.12],n*es*.3);if(e%3==1){A("recess",t,11.6,8.57,[.36,.035,1.5]);for(let e=0;e<4;e++)A("recess",t,11.6+(e-1.5)*.34,8.552,[.3,.012,.1])}}for(let e=0;e<=12;e++){if(6===e)continue;let t=-el+e*ei;A("structure",t,18.61,(.55+7.99-.15)/2,[.115,7.29,.2]),A("bronze",t,18.5,(.55+7.99-.15)/2,[.032,7.140000000000001,.028]),A("structure",t,13.9,8.56,[.26,.28,9.2]),A("bronze",t,13.9,8.418,[.1,.028,9])}let R=(e,a)=>{let o=[];for(let t=0;t<=26;t++){let[n,r,l]=S(e+t/26*(a-e),18.3,.88);o.push(new w.Pq0(n,r,l))}let r=new w.j6(new w.B6O(o),54,.05,8,!1);n.add(r);let l=new w.eaF(r,m.steel);l.name="Rear handrail",t.add(l)};for(let e of(R(-el+.1,-ei-.04),R(ei+.04,el-.1),k("recess",[0,3.05,17.55],[5.84,6.08,.18]),[-1,1])){for(let t of(k("structure",[2.74*e,2.94,17.27],[.32,5.7,.51]),k("bronze",[2.53*e,2.92,16.986],[.035,5.46,.036]),k("panel",[1.215*e,2.73,17.43],[2.39,5.28,.14]),k("door",[1.23*e,3.16,17.329],[1.87,3.79,.053]),[-1,1]))k("bronze",[1.23*e+.985*t,3.16,17.318],[.022,3.93,.02]),k("bronze",[1.23*e,3.16+1.945*t,17.318],[1.99,.022,.02]);k("recess",[1.23*e,.62,17.327],[2.055,.72,.052]),k("bronze",[1.23*e,1.06,17.29],[2.08,.025,.026]),k("recess",[.235*e,2.5,17.28],[.19,.84,.04]),
1k("bronze",[.235*e,2.5,17.21],[.055,.57,.092]),k("warmLight",[2.99*e,3.28,17.15],[.037,3.35,.036])}k("structure",[0,5.94,17.29],[5.82,.34,.56]),k("warmLight",[0,5.735,16.982],[4.87,.035,.038]),k("recess",[0,6.65,17.58],[5.14,.98,.095]),k("bronze",[0,6.7,17.503],[.62,.055,.032]),k("bronze",[0,6.55,17.503],[.37,.045,.032]),k("bronze",[0,.045,17.25],[5.57,.06,.64]),k("recess",[0,2.73,17.327],[.031,5.3,.038]);let C=(e,n,a)=>{let o=(0,J.H0)(e,n);o.position.set(...a),t.add(o)};for(let e=0;e<12;e++)C(1.5,.42,S(-el+(e+.5)*ei,17.7,.058));for(let e of[-1,1])C(.95,.5,[2.74*e,.06,17.27]);function F(e,r,l,i){let s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Math.PI;if("undefined"==typeof document)return;let c=document.createElement("canvas");c.width=1024,c.height=192;let d=c.getContext("2d");if(!d)return;d.clearRect(0,0,c.width,c.height),d.textAlign="center",d.fillStyle="#e4dfd0",d.font="500 67px sans-serif",d.fillText(e,512,84),d.fillStyle="#92b4c6",d.font="21px monospace",d.fillText(r,512,137),d.fillStyle="#aa9168",d.fillRect(462,162,100,2);let u=new w.GOR(c);u.colorSpace=w.er$,u.anisotropy=2,o.add(u);let f=new w.V9B({map:u,transparent:!0,depthWrite:!1,toneMapped:!1});a.add(f);let p=new w.bdM(l,192*l/1024);n.add(p);let m=new w.YJl;m.name="Architectural wayfinding \xb7 ".concat(e),m.position.set(...i),m.rotation.y=s;let h=new w.eaF(p,f);h.position.z=.004,m.add(h);let g=new w.eaF(p,f);g.position.z=-.004,g.rotation.y=Math.PI,m.add(g),t.add(m)}for(let e of(C(2.4,.35,[0,.058,17.32]),F("COFIATRADING","NEXUS YACHT / HUMAN \xd7 AI",4.55,[0,6.66,17.44]),[-1,1])){let t=.66*e;F(e<0?"RESEARCH":"ACADEMY",e<0?"NOVA / MARCO":"KA\xcfA / SONIC",2.65,[18.31*Math.sin(t),6.31,18.31*Math.cos(t)-1],t+Math.PI)}for(let[,e]of y){let n=new w.ZLX(b[e.shape],m[e.kind],e.matrices.length);n.name="box"===e.shape?"Rear ".concat(e.kind):"Rear ".concat(e.kind," fittings"),e.matrices.forEach((e,t)=>n.setMatrixAt(t,e)),n.instanceMatrix.needsUpdate=!0,n.instanceMatrix.setUsage(w.agE),n.computeBoundingBox(),n.computeBoundingSphere(),n.receiveShadow=!0,t.add(n)}return t.position.z=et.horizontal-1,t.scale.setScalar(.4416),t.updateMatrixWorld(!0),e.add(t),{root:t,dispose(){if(!r){for(let e of(r=!0,t.removeFromParent(),t.children))e.isInstancedMesh&&e.dispose();for(let e of n)e.dispose();for(let e of a)e.dispose();for(let e of o)e.dispose()}}}}(e),b=function(e,t){let n,a,o,r,l=!1,i=!1,s=[],c=[],d=[],u=[],f=[],p=new Intl.NumberFormat("fr-FR",{maximumFractionDigits:2}),m=new Intl.DateTimeFormat("fr-FR",{timeZone:"UTC",day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"});function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1600,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:900,n=document.createElement("canvas");n.width=e,n.height=t;let a=n.getContext("2d");null==a||a.scale(e/1600,e/1600);let o=new w.GOR(n);o.colorSpace=w.er$,o.anisotropy=4,d.push(o);let r=new w.V9B({map:o,toneMapped:!1});return u.push(r),{texture:o,material:r,context:a}}let g=h(),b=h(),y=v.UZ.map(e=>({station:e,...h(1950,700)}));function x(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#75cce6",n=e.createLinearGradient(0,0,1600,900);n.addColorStop(0,"#12313c"),n.addColorStop(1,"#041019"),e.fillStyle=n,e.fillRect(0,0,1600,900),e.fillStyle=t,e.fillRect(56,51,5,34),e.font="600 22px sans-serif",e.fillText("COFIATRADING",78,77),e.fillStyle="#547c8c",e.font="18px monospace",e.textAlign="right",e.fillText("HUMAN \xd7 AI",1540,77),e.textAlign="left"}function M(e,t,n,a,o,r,l){var i,s;let c=e.font,d=Number(null!=(s=null==(i=c.match(/([\d.]+)px/))?void 0:i[1])?s:26),u=()=>{let n=[],a="";for(let r of t.split(/\s+/)){a&&e.measureText("".concat(a," ").concat(r)).width>o&&(n.push(a),a="");let t=r;for(;e.measureText(t).width>o&&t.length>1;){let a=t.length-1;for(;a>1&&e.measureText(t.slice(0,a)).width>o;)a--;n.push(t.slice(0,a)),t=t.slice(a)}a=a?"".concat(a," ").concat(t):t}return a&&n.push(a),n},f=u(),p=d;for(;f.length>l&&p>18;)p=Math.max(18,p-1),e.font=c.replace(/([\d.]+)px/,"".concat(p,"px")),f=u();let m=Math.min(r,r*(l-1)/Math.max(1,f.length-1));f.forEach((t,o)=>e.fillText(t,n,a+o*m)),e.font=c}let k={marco:"btc",iron:"gold",nova:"eth",sonic:"eth",jarod:"btc",kaia:"gold",erwin:"btc",david:"eth"};
1function S(e){let{context:t,station:n,texture:a}=e;if(!t)return;x(t,n.color),t.fillStyle="#ecf4f3",t.font="600 62px sans-serif",t.fillText(n.name,56,174),t.fillStyle=n.color,t.font="25px sans-serif",t.fillText(n.label,58,220);let r=[...c].reverse().find(e=>e.agent===n.id),l=s.find(e=>e.agent===n.id);t.fillStyle="#7ca0b0",t.font="18px monospace",t.fillText(r?"\xc9CHANGE PUBLIC \xb7 ".concat(m.format(new Date(r.occurredAt))," UTC"):l?"\xc9V\xc9NEMENT RE\xc7U \xb7 ".concat(m.format(new Date(l.occurredAt))," UTC"):"ESPACE DE RENCONTRE",58,292),t.fillStyle="#b5cdd7",t.font="26px sans-serif",M(t,r?r.text:l?"Consultez les informations publiques disponibles pour cet agent.":"Rencontrez cet agent pour d\xe9couvrir son r\xf4le et les informations disponibles.",58,341,865,42,4);let d=null==o?void 0:o.assets.find(e=>e.id===k[n.id]);if(t.fillStyle="#1c3c4a",t.fillRect(966,131,2,378),d)t.fillStyle="#86acba",t.font="18px sans-serif",t.fillText("REP\xc8RE MARCH\xc9 / ".concat(d.label.toUpperCase()),1012,166),t.fillStyle="#e6f0f1",t.font="500 52px sans-serif",t.fillText(d.available&&null!==d.price?p.format(d.price):"Indisponible",1012,234),t.fillStyle="#779aa9",t.font="20px sans-serif",t.fillText(d.unit,1012,270),function(e,t,n,a,o,r){if(t.candles.length<2){e.fillStyle="#6d93a3",e.font="19px sans-serif",e.fillText(t.available?"Prix observ\xe9 \xb7 historique non charg\xe9":"Source momentan\xe9ment indisponible",1012,369.4);return}let l=t.candles,i=Math.min(...l.map(e=>e.low)),s=Math.max(...l.map(e=>e.high)),c=Math.max((s-i)*.12,1e-4*s),d=i-c,u=s+c,f=l[0].time,p=Math.max(3600,l[l.length-1].time-f),m=e=>411-(e-d)/(u-d)*r;e.lineWidth=1,e.strokeStyle="#26434d";for(let t=0;t<4;t++){let o=a+r*t/3;e.beginPath(),e.moveTo(1012,o),e.lineTo(n+528,o),e.stroke()}let h=Math.max(2,Math.min(9,528/l.length*.45));l.forEach(t=>{e.strokeStyle=e.fillStyle=t.close>=t.open?"#76dbc0":"#da8f97";let a=n+4+(t.time-f)/p*(o-8);e.lineWidth=1.5,e.beginPath(),e.moveTo(a,m(t.high)),e.lineTo(a,m(t.low)),e.stroke(),e.fillRect(a-h/2,m(Math.max(t.open,t.close)),h,Math.max(2,Math.abs(m(t.close)-m(t.open))))})}(t,d,1012,307,528,104),t.fillStyle=d.stale?"#bca579":"#72bcae",t.font="17px monospace",t.fillText(d.available?d.stale?"DERNI\xc8RE COTATION":"delayed"===d.quoteNature?"COURS POTENTIELLEMENT DIFF\xc9R\xc9":"indicative"===d.quoteNature?"PRIX INDICATIF":"PRIX OBSERV\xc9":"INDISPONIBLE",1012,453),t.fillStyle="#6f94a7",t.font="18px sans-serif",t.fillText(d.source+(d.asOf?" \xb7 ".concat(m.format(new Date(d.asOf))," UTC"):""),1012,489);else t.fillStyle="#718c9b",t.font="22px sans-serif",M(t,i?"Cours momentan\xe9ment indisponibles.":"Connexion aux sources publiquesâ¦",1012,268,528,34,3);a.needsUpdate=!0}function A(){let e=g.context;e&&(x(e),e.fillStyle="#e7f2f5",e.font="600 76px sans-serif",e.fillText("TRADINGVIEW",56,233),e.font="34px sans-serif",e.fillStyle="#b3cbd4",e.fillText("Les march\xe9s, dans votre Desk.",59,301),e.fillStyle="#78a5b6",e.font="27px sans-serif",e.fillText("OR / US 100 CFD / BTC / ETH / AAPL / NVDA",59,441),e.fillStyle="#dfc38a",e.font="500 37px sans-serif",e.fillText("Ouvrir les graphiques â",59,619),e.fillStyle="#6c91a1",e.font="24px sans-serif",e.fillText("Cotations affich\xe9es directement par TradingView",59,690),e.fillText("Disponibilit\xe9 et d\xe9lai selon le march\xe9.",59,732),g.texture.needsUpdate=!0),y.forEach(S),function(){let e=b.context;if(!e)return;x(e,"#d5b879"),e.fillStyle="#e8edee",e.font="600 46px sans-serif",e.fillText("PREUVES DU DESK",58,184),e.fillStyle="#88a8b6",e.font="25px sans-serif",e.fillText("Journal public Marco \xb7 cat\xe9gories dâ\xe9v\xe9nements",58,231);let t=(null==r?void 0:r.available)?r.counts:null;[["CL\xd4TURES MASTER",null==t?void 0:t.masterClosed],["SIMULATIONS",null==t?void 0:t.simulationOnly],["HISTORIQUE NON RAPPROCH\xc9",null==t?void 0:t.historicalUnreconciled]].forEach((t,n)=>{let[a,o]=t,r=58+508*n;e.fillStyle="#7397a7",e.font="18px monospace",e.fillText(a,r,332),e.fillStyle="#e0e9eb",e.font="500 83px sans-serif",e.fillText(void 0===o?"â":String(o),r,435)}),e.fillStyle="#708f9d",e.font="22px sans-serif",e.fillText((null==r?void 0:r.asOf)?"Relev\xe9 export\xe9 le ".concat(m.format(new Date(r.asOf))," UTC"):"Relev\xe9 public momentan\xe9ment indisponible",58,510),e.font="500 37px sans-serif",e.fillStyle="#c9dce4",e.fillText("C
1ourbe financi\xe8re indisponible",58,640),e.font="25px sans-serif",e.fillStyle="#839fab",M(e,"Ces \xe9v\xe9nements ne mesurent ni un rendement broker ni le r\xe9sultat d'un copieur.",58,689,1430,39,2),e.fillStyle="#658392",e.font="20px sans-serif",e.fillText("Les performances pass\xe9es ne pr\xe9jugent pas des performances futures.",58,815),b.texture.needsUpdate=!0}()}function E(){if(l)return Promise.resolve();if(a)return a;let s=n=new AbortController,c=setTimeout(()=>s.abort(),12e3);return a=(async()=>{try{var n,d,u;let t=await Promise.allSettled(["/api/world-market","/api/world-results"].map(async e=>{let t=await fetch(e,{signal:s.signal,cache:"no-store"});return{ok:t.ok,payload:await t.json()}}));if(l)return;let a=t[0];o="fulfilled"===a.status&&function(e){if(!e||"object"!=typeof e)return!1;let t=new Set(["btc","eth","gold"]);return"boolean"==typeof e.available&&Array.isArray(e.assets)&&3===e.assets.length&&e.assets.every(e=>!!e&&!!t.delete(e.id)&&"string"==typeof e.label&&"string"==typeof e.source&&"string"==typeof e.unit&&"boolean"==typeof e.stale&&!!Array.isArray(e.candles)&&!(e.candles.length>48)&&(e.available?"number"==typeof e.price&&Number.isFinite(e.price)&&e.price>0&&"string"==typeof e.asOf&&Number.isFinite(Date.parse(e.asOf))&&e.candles.every((e,t,n)=>e&&[e.time,e.open,e.high,e.low,e.close].every(Number.isFinite)&&e.low>0&&e.high>=Math.max(e.open,e.close)&&e.low<=Math.min(e.open,e.close)&&(0===t||e.time>n[t-1].time)):null===e.price&&null===e.asOf&&0===e.candles.length))}(a.value.payload)&&(a.value.ok||!a.value.payload.available)?a.value.payload:void 0;let c=t[1];r="fulfilled"===c.status&&(u=c.value.payload)&&"object"==typeof u&&(!1===u.available?null===u.counts:!0===u.available&&"string"==typeof u.asOf&&Number.isFinite(Date.parse(u.asOf))&&!!u.counts&&3===Object.values(u.counts).length&&[u.counts.masterClosed,u.counts.simulationOnly,u.counts.historicalUnreconciled].every(e=>Number.isSafeInteger(e)&&e>=0&&e<=5e3))&&(c.value.ok||!c.value.payload.available)?c.value.payload:void 0,i=!0,e.userData.marketScreenState=(null==o?void 0:o.available)?"snapshot":"unavailable",e.userData.marketScreenAsOf=null!=(n=null==o?void 0:o.fetchedAt)?n:null,e.userData.marketScreenSource="Coinbase Exchange / Gold API",e.userData.wallMarketSource="TradingView embed",e.userData.publicResultsState=(null==r?void 0:r.available)?"available":"unavailable",e.userData.publicResultsCounts=null!=(d=null==r?void 0:r.counts)?d:null}catch(t){if(l)return;o=void 0,r=void 0,i=!0,e.userData.marketScreenState="unavailable"}finally{clearTimeout(c),a=void 0,l||(A(),t())}})()}function I(e){return e.filter(e=>v.UZ.some(t=>t.id===e.agent)&&Number.isFinite(Date.parse(e.occurredAt))).slice(-16)}return A(),{marketMaterial:g.material,resultsMaterial:b.material,identityMaterial(e){var t,n;return null!=(n=null==(t=y.find(t=>t.station.id===e))?void 0:t.material)?n:y[0].material},attach(t){t.traverse(t=>{if(!(t instanceof w.eaF)||Array.isArray(t.material)||"AO_DESK_Screen Glass"!==t.material.name)return;let n=function(e){var t,n;let a=e.index?e.toNonIndexed():e.clone(),o=a.getAttribute("position"),r=a.getAttribute("uv"),l=new Map,i=new w.Pq0,s=new w.Pq0,c=new w.Pq0,d=new w.Pq0,u=new w.Pq0,f=new w.Pq0,p=new Map;for(let e=0;e<o.count;e+=3){if(i.fromBufferAttribute(o,e),s.fromBufferAttribute(o,e+1),c.fromBufferAttribute(o,e+2),u.subVectors(s,i).cross(d.subVectors(c,i)),.5*u.length()<.03||(u.normalize(),f.copy(i).add(s).add(c).multiplyScalar(1/3),f.y<1.6))continue;let n=v.UZ.reduce((e,t)=>Math.hypot(f.x-t.position[0],f.z-t.position[2])<Math.hypot(f.x-e.position[0],f.z-e.position[2])?t:e),a=Math.cos(n.rotation),r=Math.sin(n.rotation);if(u.x*r+u.z*a<.6)continue;let m=.55>Math.abs((f.x-n.position[0])*a-(f.z-n.position[2])*r)?1:n.index+2,h="".concat(n.id,"/").concat(u.x.toFixed(3),"/").concat(u.y.toFixed(3),"/").concat(u.z.toFixed(3),"/").concat(u.dot(f).toFixed(3)),g=null!=(t=l.get(h))?t:{indices:[],normal:u.clone(),slot:m};g.indices.push(e,e+1,e+2),l.set(h,g),p.set(e,m)}for(let e of l.values()){let t=new w.Pq0().crossVectors(new w.Pq0(0,1,0),e.normal).normalize(),n=new w.Pq0().crossVectors(e.normal,t).normalize(),a=1/0,l=-1/0,s=1/0,c=-1/0;for(let d of e.indices.map(e=>{i.fromBufferAttribute(o,e);let r=i.dot(t),d=i.dot(n);return a=Math.min(a,r),l=Math.max(l,r),s=Math.min(s,d),c=Math.max(c,d),{index:e,x:r,y:d}}))r.setXY(d.index,(d.x-a)/(l-a),(d.y-s)/(c-s))}let m=Array.from({length:v.UZ.length+2},()=>[]);for(let e=0;e<o.count;e+=3)m[null!=(n=p.get(e))?n:0].push(e,e+1,e+2);a.clearGroups();let h=[];return m.forEach((e,t)=>{e.length&&(a.addGroup(h.length,e.length,t),h.push(...e))}),a.setIndex(h),r.needsUpdate=!0,{geometry:a,screenCount:l.size}}(t.geometry);f.push(n.geometry),t.geometry=n.geometry,t.material=[t.material,g.material,...y.map(e=>e.material)],e.userData.marketScreenCount=n.screenCount})}
1,attachLargeScreens(t){t.forEach(e=>{var t,n;let{agentId:a,mesh:o}=e;o.material=null!=(n=null==(t=y.find(e=>e.station.id===a))?void 0:t.material)?n:g.material}),e.userData.largeAgentScreenCount=t.length},attachMarketWalls(e){e.forEach(e=>{e.material=g.material})},attachResultsSurface(e){b.material.transparent=!0,b.material.opacity=.94,b.material.depthWrite=!1,e.traverse(e=>{e instanceof w.eaF&&(e.material=b.material)})},setAgentActivity(e){l||(s=I(e),y.forEach(S),t())},setAgentDialogue(e){l||(c=I(e).filter(e=>"string"==typeof e.text&&e.text.length<=240),y.forEach(S),t())},load:()=>i?Promise.resolve():E(),refresh:E,cancelRefresh(){null==n||n.abort()},dispose(){l=!0,null==n||n.abort(),d.forEach(e=>e.dispose()),u.forEach(e=>e.dispose()),f.forEach(e=>e.dispose())}}}(e,t.onTextureReady),y=function(e,t){let a=new w.YJl;a.name="COF Shared Spaces";let o=new Set,r=new Set,l=new Set,i=new ee(1,1,1,1,.045),s=new w.Ho_(1,1,1,28),d=new w.bdM(1,1),u=new w.Gu$(1,20,12);for(let e of[i,s,d,u])o.add(e);let f=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.55,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.1,a=new w._4j({color:e,roughness:t,metalness:n});return r.add(a),a},p=f(1647403,.54,.3),m=f(791578,.68,.16),h=f(3614495,.72),g=f(9336656,.48,.68),b=f(3357762,.94),y=f(0xdacfb7,.9),x=f(9542553,.65),M=f(5862785,.25,.3);f(4023640,.85);let k=new w.V9B({color:0xffe0a6,toneMapped:!1});r.add(k);let S=function(e,t,n,o){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a,l=new w.eaF(e,t);return l.position.set(n[0],n[1],n[2]),l.scale.set(o[0],o[1],o[2]),l.castShadow=!0,l.receiveShadow=!0,r.add(l),l},A=[],E=[],I=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=[],o=[],r=new w.B69,l=!1,i=!1;async function s(){var r,s,c;let d;if(i||l||0===a.length)return void console.info("[salon-furniture] rien a poser",{committed:i,disposed:l,pending:a.length});i=!0;try{let{GLTFLoader:e}=await Promise.resolve().then(n.bind(n,56121));d=await new e().loadAsync("/world/furniture/cof-furniture.glb")}catch(n){e.userData.salonFurniture="fallback",null==(s=t.onError)||s.call(t);return}if(l)return;console.info("[salon-furniture] GLB charge",d.scene.children.map(e=>e.name).join(","));let u=new Set,f=new Map;for(let e of(d.scene.updateMatrixWorld(!0),d.scene.children)){let t=e.name.replace(/^furniture[:_]?/,""),n=[];e.traverse(t=>{if(t instanceof w.eaF)for(let a of Array.isArray(t.material)?t.material:[t.material]){a instanceof w._4j&&(a.envMapIntensity=1,a.side=w.hB5,function(e){if(u.has(e))return;u.add(e);let t=eI[e.name];if(!t)return;let n=(0,J.ru)(t.kind,{repeat:t.repeat});n&&(e.normalMap=n.normalMap,e.roughnessMap=n.roughnessMap,e.roughness=1,e.normalScale.set(t.scale,t.scale),e.needsUpdate=!0)}(a));let o=t.matrixWorld.clone().premultiply(new w.kn4().copy(e.matrixWorld).invert());n.push({geometry:t.geometry,material:a,matrix:o})}}),n.length&&f.set(t,n)}let p=new Map;for(let e of a){let t=null!=(c=p.get(e.piece))?c:[];t.push(e),p.set(e.piece,t)}let m=0;for(let[t,n]of p){let a=f.get(t);if(a){for(let[r,l]of a.entries()){let a=new w.ZLX(l.geometry,l.material,n.length);a.name="furniture-".concat(t,"-").concat(r),a.castShadow=!0,a.receiveShadow=!0,n.forEach((t,n)=>{let o=t.parent===e?t.matrix.clone():t.matrix.clone().premultiply(t.parent.matrixWorld);a.setMatrixAt(n,o.multiply(l.matrix))}),a.instanceMatrix.needsUpdate=!0,a.computeBoundingSphere(),e.add(a),o.push(a)}for(let e of n)e.fallback&&(e.fallback.visible=!1),m++}}e.userData.salonFurniture="glb:".concat(m,"/").concat(a.length,":").concat([...f.keys()].length),console.info("[salon-furniture] pose",e.userData.salonFurniture),null==(r=t.onReady)||r.call(t)}return{place:function(t,n){var o,l;let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e;r.position.set(...n.position),r.rotation.set(0,null!=(o=n.rotation)?o:0,0);let s=null!=(l=n.scale)?l:1;r.scale.set(s,s,s),r.updateMatrix(),a.push({piece:t,matrix:r.matrix.clone(),parent:i,fallback:n.fallback})},commit:()=>s().catch(t=>{console.error("[salon-furniture] echec",t),e.userData.salonFurniture="error:"+String(t&&t.message?t.message:t)}),dispose(){for(let e of(l=!0,o))for(let t of(e.removeFromParent(),e.dispose(),e.geometry.dispose(),Array.isArray(e.material)?e.material:[e.material]))t.dispose();o.length=0,a.length=0}}}(e,{onReady:t});function z(e,t,n,o,i,s){let c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,u=document.createElement("canvas");u.width=1024,u.height=256;let f=u.getContext("2d");f&&(f.fillStyle="#10232e",f.fillRect(0,0,1024,256),f.fillStyle="#c4ab78",f.fillRect(48,45,5,163),f.font="600 53px sans-serif",f.fillStyle="#edf2f0",f.fillText(e,84,115),f.font="27px sans-serif",f.fillStyle="#aebdbe",f.fillText(t,84,173));let p=new w.GOR(u);
1p.colorSpace=w.er$,l.add(p);let m=new w.V9B({map:p,toneMapped:!1,side:w.hB5});r.add(m);let h=new w.YJl;h.position.set(n,o,i),h.rotation.y=c,a.add(h);let g=S(d,m,[0,0,.006],[s,s/4,1],h);g.castShadow=!1,g.receiveShadow=!1;let v=S(d,m,[0,0,-.006],[s,s/4,1],h);return v.rotation.y=Math.PI,v.castShadow=!1,v.receiveShadow=!1,h}for(let e of v.UZ){let{desk:t,screen:n}=(0,P.y)(a,e,{shapes:{box:i,cylinder:s,plane:d},surfaces:{navy:p,dark:m,wood:h,gold:g,fabric:b,ivory:x,glass:M,glow:k}},{library:I});I.place("lamp-desk",{position:[-1.15,1.25,.55],rotation:0},t),A.push({agentId:e.id,mesh:n}),E.push(n);let o=z(e.name,e.label,0,0,0,1.32);a.remove(o),t.add(o),o.position.set(.6,1.18,1.222)}let D=(0,eP.yX)();for(let e of D)I.place(e.piece,{position:e.position,rotation:e.rotation,scale:e.scale});function R(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[0,0,0],o=(e=>{let t=D.find(t=>t.id===e);if(!t)throw Error("salon-plan: ".concat(e," absent"));return t})(e),r=new w.YJl;r.name=t,r.rotation.y=o.rotation;let l=Math.cos(o.rotation),i=Math.sin(o.rotation);return r.position.set(o.position[0]+l*n[0]+i*n[2],n[1],o.position[2]-i*n[0]+l*n[2]),a.add(r),r}S(i,y,[-.22,.4,.18],[.34,.02,.24],R("salon-table","Central conversation table"));let C=new w.YJl;C.name="Public journal wall",C.position.set(-20.8,1.75,-6),C.rotation.y=Math.PI/2,a.add(C),S(i,p,[0,0,-.1],[3.44,2.04,.16],C);let F=S(d,m,[0,0,0],[3.2,1.8,1],C);F.name="verified-results-hologram",F.castShadow=!1,F.receiveShadow=!1;let j=new w.eaF(d,m);for(let e of(j.name="verified-results-hologram-back",j.rotation.y=Math.PI,j.position.z=-.014,F.add(j),[-1.66,1.66]))S(i,g,[e,0,.012],[.012,1.88,.012],C);for(let e of[-.94,.94])S(i,g,[0,e,.012],[3.32,.012,.012],C);let T=[];for(let e of(S(i,p,[0,1.75,-20],[7.4,2.1,.18]),[-3.72,3.72]))S(i,M,[e,1.75,-19.85],[.018,2,.025]);S(i,m,[0,.62,-20],[7.4,.12,.6]);let O=S(d,m,[0,1.75,-19.87],[7.1,1.8,1]);for(let t of(O.name="market-observations-wall",T.push(O),e.userData.resultsProjection="side-wall-public-journal",c.GT)){let[e,n]=t.center;S(s,f(t.color,.96),[e,.008,n],[4.9,.012,3.65]).name="zone-".concat(t.id),z(t.label,t.subtitle,e,3.35,n+2.5,5.45,Math.PI);let o=new w.HiM(t.color,22,10,2);o.position.set(e,4.8,n),a.add(o),S(s,p,[e,4.92,n],[1.05,.11,1.05]),S(s,k,[e,4.85,n],[.95,.025,.95])}let N=e=>c.t2.find(t=>t.id===e);function U(e,t,n,a){var o;let r=N(e),[l,c]=r.center,d="radius"in r?S(s,a,[l,t,c],[r.radius,n,r.radius]):S(i,a,[l,t,c],[2*r.half[0],n,2*r.half[1]]);return d.name=e,"rotation"in r&&(d.rotation.y=null!=(o=r.rotation)?o:0),d}U("canteen-counter",.65,1.3,p),U("canteen-counter",1.34,.1,h);{let e=N("canteen-counter"),t=new w.YJl;for(let n of(t.name="canteen-coffee-station",t.position.set(e.center[0],0,e.center[1]),a.add(t),S(i,m,[0,1.72,-.1],[.8,.65,.48],t),S(i,f(8753809,.28,.7),[0,1.74,.15],[.56,.35,.04],t),[-1.9,-1.45,1.3]))S(s,x,[n,1.48,0],[.12,.22,.12],t),S(s,x,[n,1.38,0],[.22,.024,.22],t)}let L=R("lounge-table","lounge-shisha",[0,0,1]);S(u,M,[0,.31,0],[.23,.31,.23],L),S(s,g,[0,.66,0],[.042,.55,.042],L),S(s,g,[0,.94,0],[.2,.026,.2],L),S(s,m,[0,1.02,0],[.09,.12,.09],L);let q=new w.B6O([new w.Pq0(.11,.63,0),new w.Pq0(.48,.44,.1),new w.Pq0(.67,.09,.21),new w.Pq0(1,.11,.3)]),B=new w.j6(q,20,.027,6,!1);for(let e of(o.add(B),S(B,m,[0,0,0],[1,1,1],L),["library-shelf-a","library-shelf-b"])){let t=N(e);if(!("half"in t))continue;let n=t.half[0]>t.half[1];U(e,1.5,3,h);for(let e=0;e<4;e++)for(let a=0;a<13;a++){let o=(a-6)*.3,r=.35+a%3*.08;S(i,a%3==0?p:a%3==1?y:b,n?[t.center[0]+o,.48+.66*e,t.center[1]-.5]:[t.center[0]+.5,.48+.66*e,t.center[1]+o],n?[.2,r,.18]:[.18,r,.2])}}S(i,y,[.1,.663,0],[.64,.035,.43],R("library-table","library-reading")),a.updateMatrixWorld(!0),I.commit();let _=new Map;for(let[e,t]of(a.traverse(e=>{var t;if(!(e instanceof w.eaF)||e.geometry===d||Array.isArray(e.material))return;let n="".concat(e.geometry.uuid,"/").concat(e.material.uuid),a=null!=(t=_.get(n))?t:{geometry:e.geometry,material:e.material,matrices:[],originals:[]};a.matrices.push(e.matrixWorld.clone()),a.originals.push(e),_.set(n,a)}),_)){let n=new w.ZLX(t.geometry,t.material,t.matrices.length);for(let a of(n.name="shared-furniture-".concat(e),t.matrices.forEac
1h((e,t)=>n.setMatrixAt(t,e)),n.computeBoundingSphere(),n.castShadow=!0,n.receiveShadow=!0,t.originals))a.removeFromParent();a.add(n)}return e.add(a),e.userData.sharedSpaces=c.GT.map(e=>e.id).join(","),e.userData.workstationScreens=A.length,e.userData.davidRepresentation="rigged-model-loading",{screenSurfaces:A,marketWalls:T,resultsSurface:F,pickables:E,resources:{shapes:{box:i,cylinder:s,plane:d},surfaces:{navy:p,dark:m,wood:h,gold:g,fabric:b,ivory:x,glass:M,glow:k}},dispose(){I.dispose(),a.removeFromParent(),a.traverse(e=>{e instanceof w.ZLX&&e.dispose()}),o.forEach(e=>e.dispose()),r.forEach(e=>e.dispose()),l.forEach(e=>e.dispose())}}}(e,t.onTextureReady);b.attachLargeScreens(y.screenSurfaces),b.attachMarketWalls(y.marketWalls),b.attachResultsSurface(y.resultsSurface);let x=(a=y.resources,o=t.onTextureReady,u=null,f=!1,p=eU,m=null,h=!1,{get loaded(){return null!==u},get open(){return f},setOpen(e){h||(f=e,null==u||u.setOpen(e))},setData(e){h||(p=e,null==u||u.setData(e))},load(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:fetch,r=arguments.length>1?arguments[1]:void 0;return h?Promise.resolve(eU):m||(m=(async()=>{let l,i=!1;try{var s;let e=await t("/api/owner/cabin-manifest",{cache:"no-store",signal:r});i=e.ok&&!!(s=await e.json())&&"object"==typeof s&&!0===s.ok}catch(e){return m=null,eU}if(!i||h||(null==r?void 0:r.aborted))return eU;try{l=await n.e(631).then(n.bind(n,10631))}catch(e){return m=null,eU}if(h||(null==r?void 0:r.aborted))return eU;u=l.createOwnerCabin(e,a,o),f&&u.setOpen(!0),p.panels.length>0&&u.setData(p);let c=await l.loadOwnerCabinData(t,r);return h||(null==r?void 0:r.aborted)?eU:(p=c,u.setData(c),c)})())},dispose(){h||(h=!0,null==u||u.dispose(),u=null,m=null)}}),M=function(e,t){var n,a,o;let r=new w.YJl;r.name="COF Nexus yacht \xb7 decks, hull, transit",e.add(r);let l=new Set,i=new Set,s=new Set,c=e=>(l.add(e),e),u=e=>(i.add(e),e),f=c(new w.iNn(1,1,1)),p=c(new ee(1,1,1,1,.075)),m=c(new ee(1,1,1,2,.24)),h=c(new w.bdM(1,1)),g=c(new w.Ho_(1,1,1,24)),v=c(new w.Ho_(1,1,1,10)),b=c(new w.Ho_(1,1,1,14)),y=c(new w.Ho_(.74,1,1,12)),x=c(new w.Gu$(1,16,10)),M=c(new w.O3Y(1,.1,6,18)),k=c(new w.O3Y(1,.09,6,16,Math.PI)),S=c(new w.Ho_(.55,1,1,14,1,!0)),A=c(function(){let e=[],t=[],n=[];for(let n=0;n<=7;n++){let a=n/7,o=.13*Math.sin(Math.pow(a,.62)*Math.PI)+.006,r=-.42*a*a,l=.055*(1-a);for(let n=0;n<3;n++)e.push((n-1)*o,a,r+(1===n?l:0)),t.push(n/2,a)}for(let e=0;e<7;e++)for(let t=0;t<2;t++){let a=3*e+t;n.push(a,a+3,a+1,a+1,a+3,a+4)}let a=new w.LoY;return a.setIndex(n),a.setAttribute("position",new w.qtW(e,3)),a.setAttribute("uv",new w.qtW(t,2)),a.computeVertexNormals(),a.computeBoundingSphere(),a}()),E=c(function(){let e=[],t=[],n=[];for(let n=0;n<=5;n++){let a=n/5;for(let n=0;n<=32;n++){let o=n/32*Math.PI*2,r=1+.055*Math.cos(8*o)*a,l=Math.sin(a*Math.PI*.52)*r,i=-.34*Math.pow(a,1.7)-.03*Math.cos(8*o)*a*a;e.push(Math.cos(o)*l,i,Math.sin(o)*l),t.push(n/32*3,1.5*a)}}for(let e=0;e<5;e++)for(let t=0;t<32;t++){let a=33*e+t,o=a+32+1;n.push(a,o,a+1,a+1,o,o+1)}let a=new w.LoY;return a.setIndex(n),a.setAttribute("position",new w.qtW(e,3)),a.setAttribute("uv",new w.qtW(t,2)),a.computeVertexNormals(),a.computeBoundingSphere(),a}()),I=new Map;function P(e){var t,n,a,o;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=r.repeat,i="".concat(e,"|").concat(l?"".concat(l[0],"x").concat(l[1]):"1","|").concat(null!=(t=r.tint)?t:"","|").concat(null!=(n=r.side)?n:"","|").concat(null!=(a=r.roughness)?a:"","|").concat(null!=(o=r.envMapIntensity)?o:""),s=I.get(i);return s||(s=u((0,J.MT)(e,r)),I.set(i,s)),s}let D=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.3,a=(0,J.ru)("hull-paint",{repeat:t}),o=u(new w._4j({color:e,roughness:1,metalness:n,...a?{normalMap:a.normalMap,roughnessMap:a.roughnessMap}:{roughness:.24}}));return a&&o.normalScale.set(.4,.4),o},R=P("teak",{repeat:[Math.max(1,Math.round(32.5)),Math.max(1,Math.round(13.932980599647266))]}),C=P("teak",{repeat:[1.1904761904761905,.8818342151675485]}),F=P("plaster",{repeat:[.22,.22],envMapIntensity:.3,normalScale:new w.I9Y(.3,.3)}),j=P("teak",{repeat:[.18,.5]}),T=P("teak-dark"),O=P("walnut"),N=P("walnut",{envMapIntensity:.4}),U=P("walnut",{repeat:[1,6]}),L=P("brushed-steel",{roughness:.95}),q=P("dark-steel",{roughness:.95}),B=P("brass",{roughness:.92}),_=P("brass",{roughness:.92,envMapIntensity:.45}),W=P("fabric",{repeat:[2,2]}),H=P("fabric",{repeat:[2,2],side:w.$EB,envMapIntensity:.5}),Y=P("fabric",{repeat:[9,4],envMapIntensity:.4}),$=P("fabric"),V=P("leather"),G=P("leather",{envMapIntensity:.45}),Z=(n=P("carpet",{repeat:[24,24],envMapIntensity:.3}),n.map&&n.color.multiplyScalar(1.85),n),X=P("fabric",{repeat:[8,46],tint:0xa9b6c6,envMapIntensity:.3}),K=P("marble",{repeat:[2,2]}),Q=P("plaster",{repeat:[4,2],envMapIntensity:.3,normalScale:new w.I9Y(.35,.35)}),et=P("plaster",{repeat:[6,30],envMapIntensity:.3,emissive:3419168,normalScale:new w.I9Y(.22,.22)}),en=P("glass"),ea=D(0xe7e3d6,[8,5]);D(0xefe9dc,[8,5],.05);let eo=D(1779507,[6,3],.36),er=u(new w._4j({color:5208650,roughness:.72,side:w.$EB})),el=(0,J.ru)("fabric");el&&(er.normalMap=el.normalMap,er.roughnessMap=el.roughnessMap,er.normalScale.set(.35,.35));let ei=(0,J.ru)("marble",{repeat:[2,2]}),es=u(new w._4j({color:3115686,transparent:!0,opacity:.8,roughness:.35,metalness:.16,...ei?{normalMap:ei.normalMap,roughnessMap:ei.roughnessMap}:{}}
1));ei&&es.normalScale.set(.55,.55);let{glow:ec}=t.surfaces,ed=u(new w.V9B({color:0xff4a3d,toneMapped:!1})),eu=u(new w.V9B({color:4063098,toneMapped:!1})),ef=new Map,ep=new w.B69;function em(e,t,n,a,o){let r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[0,0,0],l=!(arguments.length>6)||void 0===arguments[6]||arguments[6],i="".concat(t.id,":").concat(n.uuid,":").concat(+!!l),s=ef.get(i);s||(s={name:e,shape:t,surface:n,matrices:[],shadow:l},ef.set(i,s)),ep.position.set(...a),ep.scale.set(...o),ep.rotation.set(...r),ep.updateMatrix(),s.matrices.push(ep.matrix.clone())}let eh=function(e,t,n,a){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[0,0,0],l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:r,i=!(arguments.length>6)||void 0===arguments[6]||arguments[6],s=new w.eaF(e,t);return s.position.set(...n),s.scale.set(...a),s.rotation.set(...o),s.castShadow=i,s.receiveShadow=!0,l.add(s),s},eg=(e,t,n)=>{let a=Math.hypot(e,t,n)||1;return[0,Math.atan2(n/a,-e/a),Math.acos(Math.max(-1,Math.min(1,t/a)))]},ev=function(e,t,n,a){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:a,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:.4,i=(0,J.H0)(Math.max(a,o),l);return i.position.set(e,t+.03,n),i.scale.set(2*a,2*o,1),r.add(i),i},eb=function(e,t,n,a,o,c){let d=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,u=function(e,t,n,a){let o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"dark",r="dark"===o?{bg:"#0d1a24",fg:"#edf2f0",low:"#aebdbe",bar:"#c4ab78"}:"brass"===o?{bg:"#3a2f18",fg:"#f4e5b8",low:"#c9b078",bar:"#e6ce8c"}:{bg:"#f1ead9",fg:"#10232e",low:"#4a5a60",bar:"#b08d4a"},l=null;if("undefined"!=typeof document){let n=document.createElement("canvas");n.width=1024,n.height=256;let a=n.getContext("2d");a&&(a.fillStyle=r.bg,a.fillRect(0,0,1024,256),a.fillStyle=r.bar,a.fillRect(48,45,5,163),a.font="600 58px sans-serif",a.fillStyle=r.fg,a.fillText(e,84,118),a.font="28px sans-serif",a.fillStyle=r.low,a.fillText(t,84,176),(l=new w.GOR(n)).colorSpace
1=w.er$)}let i=new w.V9B({color:l?0xffffff:1911603,toneMapped:!1,side:w.hB5,...l?{map:l}:{}}),s=new w.bdM(n,a),c=new w.YJl,d=new w.eaF(s,i);d.position.z=.005,d.castShadow=!1,d.receiveShadow=!1,c.add(d);let u=new w.eaF(s,i);return u.position.z=-.005,u.rotation.y=Math.PI,u.castShadow=!1,u.receiveShadow=!1,c.add(u),{mesh:c,texture:l,material:i,geometry:s}}(e,t,n,a,o);return u.mesh.position.set(...c),u.mesh.rotation.y=d,r.add(u.mesh),l.add(u.geometry),i.add(u.material),u.texture&&s.add(u.texture),u};function ew(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,o=(n,a,o,l)=>{let i=new w.B6O(e.map(e=>new w.Pq0(e.x,t+n,e.z))),s=c(new w.j6(i,Math.max(12,2*e.length),a,l?8:5,!1));l&&(s=eq(s));let d=new w.eaF(s,o);d.name="Nexus rail",d.castShadow=!1,d.receiveShadow=!0,r.add(d)};if(o(1.06,.075,U,!0),"cable"===n)for(let e of[.34,.6,.86])o(e,.013,L,!1);for(let o=0;o<e.length;o+=a){let r=e[o];if(em("rail-post",y,L,[r.x,t+.53,r.z],[.05,1.06,.05]),em("rail-shoe",b,L,[r.x,t+.035,r.z],[.11,.07,.11],[0,0,0],!1),"glass"===n&&o+a<e.length){let n=e[o+a],l=r.clone().add(n).multiplyScalar(.5);em("rail-glass",f,en,[l.x,t+.52,l.z],[r.distanceTo(n)-.1,.84,.022],[0,-Math.atan2(n.z-r.z,n.x-r.x),0],!1)}}}function ey(e,t,n){let a=n-.75,o=a+-.7512804051402927*.84/2,r=t+.45+.554385842543385/2;for(let a of[-1,1]){for(let o of(em("lounger-rail",p,j,[e+.49*a,t+.4,n+.15],[.09,.12,2.86]),[-1.12,1.42]))em("lounger-leg",y,j,[e+.44*a,t+.2,n+o],[.055,.4,.055]),em("lounger-glide",b,q,[e+.44*a,t+.022,n+o],[.075,.045,.075],[0,0,0],!1);em("lounger-armrail",p,j,[e+.49*a,r,o],[.08,.84,.1],[-.85,0,0])}for(let a of[-1.22,1.52])em("lounger-cross",p,j,[e,t+.4,n+a],[1.04,.09,.09]);for(let a=0;a<9;a++)em("lounger-slat",f,j,[e,t+.455,n-.7+.28*a],[.96,.035,.19]);for(let l of(em("lounger-hinge",v,B,[e,t+.45,a],[.04,1.1,.04],[0,0,Math.PI/2],!1),em("lounger-strut",f,j,[e,t+.66,a-.5],[.04,.6,.04],[.86,0,0]),em("lounger-back",p,j,[e,r,o],[.98,.84,.06],[-.85,0,0]),em("lounger-pad",m,W,[e,t+.56,n+.42],[1.04,.19,2.16]),em("lounger-back-pad",m,W,[e,r- -.06761523646262634,o+.0593984831296484],[1,.17,.78],[-.85,0,0]),[-.3,.42,1.14]))em("lounger-seam",f,V,[e,t+.65,n+l],[.96,.02,.04],[0,0,0],!1);for(let a of[-1,1])em("lounger-piping",v,V,[e+.52*a,t+.56,n+.42],[.028,2.16,.028],[Math.PI/2,0,0],!1);for(let a of(em("lounger-bolster",m,V,[e,t+.74,n-.42],[.52,.2,.36],[-.3,0,0]),em("lounger-towel",m,$,[e,t+.67,n+1.18],[.56,.06,.44],[0,.06,0]),em("lounger-towel",m,$,[e,t+.71,n+1.16],[.52,.05,.4],[0,-.05,0]),em("lounger-tray",p,j,[e+.76,t+.62,n-.35],[.38,.05,.34]),[-1,1]))em("lounger-bracket",f,B,[e+.61,t+.55,n-.35+.11*a],[.3,.03,.03]);em("lounger-glass",v,en,[e+.76,t+.72,n-.35],[.055,.17,.055],[0,0,0],!1),ev(e,t,n+.15,1,1.62,.44)}let ex=e=>new w.wAk([new w.I9Y(e.xFrom,-e.zFrom),new w.I9Y(e.xTo,-e.zFrom),new w.I9Y(e.xTo,-e.zTo),new w.I9Y(e.xFrom,-e.zTo)]),eM={xFrom:z.sv.center[0]-z.sv.half[0],xTo:z.sv.center[0]+z.sv.half[0],zFrom:z.sv.center[1]-z.sv.half[1],zTo:z.sv.center[1]+z.sv.half[1]},ek={xFrom:z.$i.center[0]-z.$i.half[0],xTo:z.$i.center[0]+z.$i.half[0],zFrom:z.$i.center[1]-z.$i.half[1],zTo:z.$i.center[1]+z.$i.half[1]},eS={xFrom:-z.xU.halfWidth,xTo:z.xU.halfWidth,zFrom:z.xU.zFrom,zTo:z.xU.zTo},eA=new w.eaF(c(function(){let e=[[-.6,1],[-2.2,.985],[-3.8,.93],[-5.2,.72],[-6.4,.36]],t=[];for(let e=-43.5;e<=43.5;e+=1.25)t.push(e);let n=[],a=[],o=e=>{n.push(e[0],e[1],e[2]),a.push((e[2]+44)/6,e[1]/3)},r=(e,t,n)=>{o(e),o(t),o(n)},l=(e,t,n,a)=>{r(e,t,n),r(e,n,a)},i=(t,n,a)=>[a*eL(t)*e[n][1],e[n][0],t];for(let n=0;n<t.length-1;n++)for(let a=0;a<e.length-1;a++)for(let e of[1,-1]){let o=i(t[n],a,e),r=i(t[n+1],a,e),s=i(t[n+1],a+1,e),c=i(t[n],a+1,e);e>0?l(o,r,s,c):l(o,c,s,r)}let s=e.length-1;for(let e=0;e<t.length-1;e++){let n=i(t[e],s,1),a=i(t[e+1],s,1),o=i(t[e+1],s,-1);l(n,i(t[e],s,-1),o,a)}let c=new w.LoY;return c.setAttribute("position",new w.qtW(n,3)),c.setAttribute("uv",new w.qtW(a,2)),c.computeVertexNormals(),c.computeBoundingSphere(),c}()),ea);eA.name="Nexus hull",eA.receiveShadow=!0,r.add(eA);let eE=new w.eaF(c(new w.QCA(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=[];for(let o=e;o<=t;o+=1.25)a.push(new w.I9Y(eL(o)*n,-o));for(let o=t;o>=e;o-=1.25)a.push(new w.I9Y(-eL(o)*n,-o));return new w.ypk(a)}(-43,43,.945),{depth:.5,bevelEnabled:!1})),eo);eE.name="Nexus boot stripe",eE.rotation.x=-Math.PI/2,eE.position.y=-4.9,r.add(eE);for(let e=-34;e<=26;e+=3.2)for(let t of[-1,1]){let n=t*eL(e)*.99;em("porthole-rim",v,B,[n,z.iU.d0+1.5,e],[.42,.08,.42],[0,0,Math.PI/2],!1),em("porthole-glass",v,en,[.995*n,z.iU.d0+1.5,e],[.33,.1,.33],[0,0,Math.PI/2],!1)}eh(f,R,[0,z.iU.d0-.28,-42],[10,.26,3.2],[0,0,0],r,!1),eh(f,B,[0,z.iU.d0-.1,-43.4],[10,.06,.08]);for(let e=0;e<3;e++)eh(f,R,[0,z.iU.d0-.15-.2*e,-40.2+.35*e],[5,.14,.4]);let eI=new w.YJl;function eP(e,t,n,a,o,r){let l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.12,i=arguments.length>7&&void 0!==arguments[7]?arguments[7]:2.2;for(let s=e;s<t-.01;s+=i){let e=Math.min(s+i,t);for(let t of[-1,1]){let i=t*((0,d.$j)(s)-n),c=t*((0,d.$j)(e)-n),u=c-i,p=e-s;em("superstructure",f,r,[(i+c)/2,a+o/2,(s+e)/2],[l,o,Math.hypot(u,p)],[0,Math.atan2(u,p),0])}}}function ez(e,t,n,a,o){let r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:.2,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.5;eP(e,t,n,a,r,o,l)}for(let e of(eI.position.set(3.6,z.iU.d0+.05,-39),r.add(eI),eh(x,ea,[0,0,0],[.9,.5,2.4],[0,0,0],eI),eh(f,eo,[0,.35,.2],[1.2,.35,2.2],[0,0,0],eI),eh(f,en,[0,.75,-.4],[1.1,.4,.7],[0,0,0],eI),ev(3.6,z.iU.d0-.16,-39,1.3,2.6,.34),em("nav-light",x,ed,[-6.4,z.iU.d1+1.35,-30],[.14,.14,.14],[0,0,0],!1),em("nav-light-g",x,eu,[6.4,z.iU.d1+1.35,-30],[.14,.14,.14],[0,0,0],!1),eh(g,ea,[0,z.iU.d1+1.9,-42.6],[.04,2.6,.04]),eh(f,eo,[.55,z.iU.d1+2.85,-42.6],[1.1,.7,.02]),[{deck:"d1",zA:-40,zF:28,inset:.35,allege:1,baie:1.55},{deck:"d2",zA:-28,zF:17,inset:1.15,allege:.95,baie:1.5},{deck:"d3",zA:-20,zF:5,inset:1.95,allege:.95,baie:1.45}])){let t=z.iU[e.deck];for(let[n,a]of(eP(e.zA,e.zF,e.inset,t,e.allege,ea),eP(e.zA,e.zF,e.inset-.02,t+e.allege,e.baie,en,.05),!function(e,t,n,a,o){let r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2.2;for(let l=e;l<=t+.01;l+=r)for(let e of[-1,1])em("mullion",f,q,[e*((0,d.$j)(l)-n),a+o/2,l],[.16,o,.1])}(e.zA,e.zF,e.inset-.04,t+e.allege,e.baie,4.4),eP(e.zA,e.zF,e.inset,t+e.allege+e.baie,d.s_-e.allege-e.baie-.3,ea),ez(e.zA,e.zF,e.inset-.06,t+e.allege-.07,B,.06,.14),ez(e.zA,e.zF,e.inset-.12,t+d.s_-.34,ea,.22,.62),[[e.zA,-1],[e.zF,1]])){let o=(0,d.$j)(n)-e.inset;if(a<0){for(let e of(em("poupe-baie",f,en,[0,t+1.45,n-.06],[1.86*o,2.5,.06],[0,0,0],!1),em("poupe-montant",f,q,[0,t+1.45,n-.1],[.12,2.5,.12]),[-1,1]))em("poupe-jambage",f,ea,[e*(o-.07),t+d.s_/2-.15,n-.06],[.14,d.s_-.3,.14]);em("poupe-linteau",f,ea,[0,t+2.85,n-.06],[2*o,.5,.14]),em("poupe-seuil",f,B,[0,t+.03,n-.06],[1.9*o,.06,.16
1],[0,0,0],!1)}else em("pignon",f,ea,[0,t+d.s_/2-.15,n+.06],[2*o,d.s_-.3,.12]),em("pignon-baie",f,en,[0,t+e.allege+e.baie/2,n+.13],[1.5*o,e.baie,.05],[0,0,0],!1)}}eP(-42,30,.05,z.iU.d1,1.05,ea,.16,2.2),ez(-42,30,.02,z.iU.d1+1.06,B,.07,.16);for(let e=30;e<42;e+=1.5){let t=1.05+(e-30)*.085,n=(0,d.$j)(e);for(let a of[-1,1]){let o=Math.min(e+1.5,42),r=a*n,l=a*(0,d.$j)(o);em("etrave",f,ea,[(r+l)/2,z.iU.d1+t/2,(e+o)/2],[.18,t,Math.hypot(l-r,o-e)],[0,Math.atan2(l-r,o-e),0])}}for(let e of(em("brion",f,ea,[0,z.iU.d1+.6,42.4],[.4,2.6,2.2],[.42,0,0]),em("tableau",f,ea,[0,z.iU.d1-1.1,-43.4],[13.2,4.2,.3]),eb("COFIATRADING","MONACO",7.2,1.8,"dark",[0,z.iU.d1-.55,-43.6],Math.PI),[-1,1]))em("ecubier",v,q,[e*((0,d.$j)(36)-.1),z.iU.d1-.55,36],[.34,.3,.34],[0,0,Math.PI/2],!1),em("ancre-jas",f,q,[e*((0,d.$j)(36)+.12),z.iU.d1-.55,36],[.12,1.5,.5],[0,0,0]),em("ancre-patte",f,q,[e*((0,d.$j)(36)+.12),z.iU.d1-1.25,36.3],[.12,.5,1.2],[.5,0,0]);em("davier",p,L,[0,z.iU.d1+1.2,40.6],[1.6,.3,1.1]),em("guindeau",p,L,[0,z.iU.d1+.5,38.4],[1.3,.7,1]);{let e=(0,d.$j)(-6);em("coupee-plateforme",f,j,[e+1.5,z.iU.d1-2.4,-6],[2.4,.12,1.2]);for(let t=0;t<8;t++)em("coupee-marche",f,j,[e+.35+.28*t,z.iU.d1-2.3+.3*t,-6],[.34,.05,1.1]);for(let t of[-.55,.55]){let n=new w.B6O([new w.Pq0(e+.2,z.iU.d1+.9,-6+t),new w.Pq0(e+2.6,z.iU.d1-1.5,-6+t)]),a=new w.eaF(c(new w.j6(n,6,.035,6,!1)),L);a.name="Nexus rail",a.castShadow=!1,r.add(a)}em("coupee-portillon",f,B,[e-.05,z.iU.d1+.55,-6],[.1,1,1.3],[0,0,0],!1)}{let e=z.iU.d4+2.9;for(let t of[-1,1])em("mat-jambe",p,ea,[2.2*t,e+1.4,-12],[.32,2.8,.34],[0,0,-(.12*t)]),em("mat-contrefiche",f,ea,[1.75*t,e+2.5,-11.1],[.18,.18,2.1],[-.42,0,0]);for(let t of(em("mat-traverse",p,ea,[0,e+2.95,-12],[5.2,.34,.7]),em("mat-fut",y,ea,[0,e+4.1,-12],[.22,2.1,.22]),em("radar-socle",b,q,[0,e+5.2,-12],[.34,.26,.34]),em("radar-plateau",p,ea,[0,e+5.5,-12],[3.4,.16,.4]),[-1.9,1.9]))em("antenne",y,q,[t,e+4.1,-12],[.05,2.1,.05]);for(let t of[-.5,.5])em("projecteur",b,ec,[2.2*t,e+2.75,-11.7],[.16,.08,.16],[Math.PI/2,0,0],!1);em("feu-mat",x,ec,[0,e+6.4,-12],[.1,.1,.1],[0,0,0],!1)}for(let e of z.BO){let t=z.iU[e],[n,a]=z.fb[e],o="d0"===e?[]:[eM,ek];"d2"===e&&o.push(eS);let l=new w.eaF(c(new w.QCA(function(e,t,n){let a=[];for(let n=e;n<=t;n+=1)a.push(new w.I9Y((0,d.$j)(n),-n));for(let n=t;n>=e;n-=1)a.push(new w.I9Y(-(0,d.$j)(n),-n));let o=new w.ypk(a);for(let e of n)o.holes.push(ex(e));return o}(n,a,o),{depth:.3,bevelEnabled:!1})),"d4"===e?C:F);l.name="Nexus deck ".concat(e," \xb7 plancher"),l.rotation.x=-Math.PI/2,l.position.y=t-.3-.06*("d1"===e),l.receiveShadow=!0,r.add(l)}let eD=[];{let e=z.xU.halfWidth+.12,t=z.xU.zFrom-.12,n=z.xU.zTo+.12;for(let a=t;a<=n;a+=1.75)eD.push(new w.Pq0(-e,0,a));for(let t=-e+1.4;t<=e;t+=1.4)eD.push(new w.Pq0(t,0,n));for(let a=n-1.75;a>=t;a-=1.75)eD.push(new w.Pq0(e,0,a));for(let n=e-1.4;n>=-e;n-=1.4)eD.push(new w.Pq0(n,0,t));eD.push(new w.Pq0(-e,0,t))}ew(eD,z.iU.d2,"glass",1),eb("SALON AVANT \xb7 DOUBLE HAUTEUR","5,80 m sous plafond \xb7 la galerie D2 en fait le tour",5.2,1.3,"cream",[0,z.iU.d2+1.9,z.xU.zTo+.4],0);let eR=[];{let[e,t]=z.fb.d4;for(let n=t;n>=e;n-=2.2)eR.push(new w.Pq0(-(0,d.$j)(n)+.25,0,n));for(let n=e;n<=t;n+=2.2)eR.push(new w.Pq0((0,d.$j)(n)-.25,0,n))}ew(eR.slice(0,eR.length/2),z.iU.d4,"cable",1),ew(eR.slice(eR.length/2),z.iU.d4,"cable",1);let eC=z.sv.center[1]-z.sv.half[1],eF=z.cC*z.Rl;for(let e=0;e<z.BO.length-1;e++){let t=z.iU[z.BO[e]];for(let e=0;e<z.cC;e++){let n=t+(e+1)*z.G$,a=eC+e*z.Rl+z.Rl/2;em("stair-riser",f,q,[0,n-z.G$/2,a-z.Rl/2],[2.9,z.G$,.05]),em("stair-tread",f,j,[0,n,a],[2.86,.05,z.Rl+.04]),em("stair-nosing",f,B,[0,n+.028,a+z.Rl/2],[2.84,.026,.045],[0,0,0],!1)}for(let e of[-1,1]){let n=new w.B6O([new w.Pq0(1.45*e,t+1.06,eC),new w.Pq0(1.45*e,t+d.s_+1.06,eC+eF)]),a=new w.eaF(eq(c(new w.j6(n,8,.045,7,!1))),U);a.name="Nexus stair rail",a.castShadow=!1,a.receiveShadow=!0,r.add(a);for(let n=0;n<5;n++){let a=n/4;em("stair-post",y,L,[1.45*e,t+.53+d.s_*a,eC+eF*a],[.04,1.06,.04])}em("stair-stringer",f,N,[1.5*e,t+d.s_/2,eC+eF/2],[.1,.34,Math.hypot(eF,d.s_)],[-Math.atan2(d.s_,eF),0,0])}}{let[e,t]=z.$i.center,[n,a]=z.$i.half,o=z.iU.d0,l=z.iU.d4+2.9,i=l-o;for(let l of[-1,1])eh(f,en,[e+l*n,o+i/2,t],[.04,i,2*a],[0,0,0],r,!1);for(let l of(eh(f,en,[e,o+i/2,t+a],[2*n,i,.04],[0,0,0],r,!1),[-1,1]))for(let r of[-1,1])eh(f,B,[e+l*(n+.03),o+i/2,t+r*(a+.03)],[.08,i,.08]);for(let r of(eh(f,ea,[e,l+.12,t],[2*n+.3,.24,2*a+.3]),eh(f,q,[e,o-.02,t],[2*n+.2,.06,2*a+.2]),z.BO)){let o=z.iU[r];em("elevator-floor",f,K,[e,o+.025,t],[2*n-.1,.05,2*a-.1],[0,0,0],!1),eh(f,N,[e,o+1.06,t-a],[2*n-.1,2.12,.06]),eh(f,B,[e,o+2.3,t-a-.01],[2*n,.1,.14]),eb("ASCENSEUR",z.ko[r],1.9,.475,"cream",[e,o+2.64,t-a-.05],0),"d4"!==r&&em("elevator-pad-up",v,ec,[z.no[0],o+.012,z.no[1]],[z.U8.elevator,.012,z.U8.elevator],[0,0,0],!1),"d0"!==r&&em("elevator-pad-down",v,ec,[z.yB[0],o+.012,z.yB[1]],[z.U8.elevator,.012,z.U8.elevator],[0,0,0],!1)}}for(let e of z.BO){let t=z.iU[e];"d4"!==e&&em("landing-up",v,ec,[z.Kx[0],t+.012,z.Kx[1]],[z.U8.stairs,.012,z.U8.stairs],[0,0,0],!1),"d0"!==e&&em("landing-down",v,ec,[z.ZT[0],t+.012,z.ZT[1]],[z.U8.stairs,.012,z.U8.stairs],[0,0,0],!1),eb(z.ko[e].split(" \xb7 ")[0],null!=(a=z.ko[e].split(" \xb7 ")[1])?a:"",1.6,.4,"brass",[0,t+2.5,z.sv.center[1]-z.sv.half[1]-.06],0)}let ej=z.iU.d0;for(let e of(em("corridor-runner",h,X,[0,ej+.008,-21],[5.16,24,1],[
1-Math.PI/2,0,0],!1),[-1,1]))em("corridor-border",f,j,[2.62*e,ej+.007,-21],[.34,.014,24],[0,0,0],!1),em("corridor-runner-edge",f,_,[2.5*e,ej+.014,-21],[.05,.018,24],[0,0,0],!1);for(let e of(em("d0-ceiling",f,et,[0,ej+2.9,-7],[13.4,.08,70],[0,0,0],!1),[-1,1])){em("corridor-cove",f,ec,[1.66*e,ej+2.73,-21],[.05,.05,23.6],[0,0,0],!1),em("corridor-bandeau",p,et,[2.2*e,ej+2.7,-21],[1.1,.26,23.6],[0,0,0],!1);for(let t=-32;t<=-10;t+=2.4)em("corridor-downlight-rim",b,_,[2.2*e,ej+2.565,t],[.1,.02,.1],[0,0,0],!1),em("corridor-downlight",b,ec,[2.2*e,ej+2.552,t],[.075,.012,.075],[0,0,0],!1)}for(let e of(z.K2.forEach((e,t)=>{for(let n of[-1,1]){for(let t of(eh(f,Q,[4.3*n,ej+1.37,e],[3.2,2.74,3.2],[0,0,0],r,!1),em("cabin-cap",f,_,[4.3*n,ej+2.76,e],[3.25,.04,3.25],[0,0,0],!1),[-1,1]))em("door-jamb",p,N,[2.7*n,ej+1.17,e+.505*t],[.1,2.34,.11]);for(let t of(em("door-head",p,N,[2.7*n,ej+2.29,e],[.1,.11,1.12]),em("door-sill",f,_,[n*(2.7+.035),ej+.013,e],[.17,.026,.92],[0,0,0],!1),em("cabin-door",p,N,[n*(2.7+.035),ej+1.05,e],[.055,2.1,.9]),[.56,1.5]))em("door-panel",p,N,[n*(2.7-.005),ej+t,e],[.024,.76,.58]);em("cabin-handle",p,_,[2.64*n,ej+1.02,e+.28],[.05,.05,.26],[0,0,0],!1);let a=2*t+(n<0?1:2);eb("CABINE ".concat(a),a%2?"B\xe2bord \xb7 membre VIP":"Tribord \xb7 membre VIP",.5,.125,"brass",[n*(2.7-.002),ej+1.66,e],n<0?Math.PI/2:-Math.PI/2)}}),[-1,1]))for(let t of[-33,-29,-25,-21,-17,-13,-9.5])em("corridor-plinth",p,N,[2.7*e,ej+.1,t],[.13,.2,2.4]),em("corridor-panel",p,Y,[e*(2.7+.015),ej+.74,t],[.035,1,2]),em("corridor-rail",p,N,[2.68*e,ej+1.34,t],[.14,.1,2.4]),em("corridor-upper",f,Q,[2.73*e,ej+2,t],[.03,1.24,2.4],[0,0,0],!1),em("sconce-plate",p,_,[2.7*e,o=ej+1.78,t],[.035,.32,.11]),em("sconce-arm",v,_,[2.62*e,o,t],[.026,.17,.026],[0,0,Math.PI/2],!1),em("sconce-shade",S,$,[2.5*e,o+.13,t],[.16,.22,.16]),em("sconce-light",b,ec,[2.5*e,o+.03,t],[.13,.012,.13],[0,0,0],!1);for(let e of(em("pool-basin",f,K,[-3.2,ej+.28,-37],[4.8,.56,7],[0,0,0]),em("pool-water",f,es,[-3.2,ej+.585,-37],[4.2,.05,6.4],[0,0,0],!1),[-1,1]))em("pool-coping",p,K,[-3.2,ej+.6,-37+3.29*e],[4.8,.15,.42]);for(let e of[-1,1])em("pool-coping",p,K,[-3.2+2.19*e,ej+.6,-37],[.42,.15,6.16]);for(let e of(em("pool-grab",k,B,[-1.2,ej+.67,-34.4],[.4,.4,.4],[0,Math.PI/2,0],!1),ev(-3.2,ej,-37,2.6,3.8,.3),[2.6,4.4]))ey(e,ej,-36);for(let e of(eh(f,T,[3.6,ej+1.2,-38.6],[3.2,2.4,3.2],[0,0,0],r,!1),em("sauna-door",f,en,[3.6,ej+1.05,-36.98],[1.3,2,.05],[0,0,0],!1),[-1,1]))em("sauna-door-frame",p,B,[3.6+.7*e,ej+1.05,-36.98],[.08,2.1,.1]);for(let e of(em("sauna-lamp",b,ec,[3.6,ej+2.02,-37],[.16,.02,.16],[Math.PI/2,0,0],!1),eb("SPA & SAUNA","Plage arri\xe8re \xb7 r\xe9cup\xe9ration",3.2,.8,"cream",[3.6,ej+2.55,-36.94],0),[-3.6,3.6])){for(let t of(em("bench-frame",p,q,[e,ej+.24,8],[.9,.12,2.3]),[-1,1]))em("bench-leg",f,L,[e,ej+.12,8+.95*t],[.75,.24,.09]);em("bench-pad",m,G,[e,ej+.38,8],[.86,.18,2.22]),ev(e,ej,8,.62,1.5,.36)}em("rack",p,q,[0,ej+.5,12],[3,.9,.9]);for(let e=0;e<4;e++)for(let t of(em("dumbbell-bar",v,L,[-1+.65*e,ej+1.05,12],[.035,.52,.035],[0,0,Math.PI/2],!1),[-1,1]))em("dumbbell-plate",b,q,[-1+.65*e+.2*t,ej+1.05,12],[.11,.09,.11],[0,0,Math.PI/2],!1);ev(0,ej,12,1.7,.7,.36),eb("SALLE DE SPORT","Avant la s\xe9ance",2.6,.65,"cream",[0,ej+2.4,13.4],Math.PI),em("screen-frame",p,q,[0,ej+1.9,25.7],[7,4,.32]),eb("NEXUS CIN\xc9MA","Les lives et les replays du Desk, sur grand \xe9cran",6.4,3,"dark",[0,ej+1.9,25.45],Math.PI),em("cinema-ceiling",f,et,[0,ej+2.83,20],[11,.06,13],[0,0,0],!1);for(let e=0;e<3;
1e++){let t=.12*e,n=17+1.6*e;for(let e of(em("seat-riser",f,q,[0,ej+.01+t/2,n],[8,Math.max(.02,t),1.6],[0,0,0],!1),[-3.2,-1.6,0,1.6,3.2]))em("seat-base",p,q,[e,ej+.1+t,n],[.92,.2,.82]),em("seat-pad",m,G,[e,ej+.32+t,n],[.88,.22,.8]),em("seat-back",m,G,[e,ej+.68+t,n-.42],[.88,.78,.2],[-.13,0,0]);ev(0,ej+t,n,3.2,.62,.34)}em("projector",p,q,[0,ej+2.5,14.5],[.42,.32,.42]),em("projector-beam",x,ec,[0,ej+2.5,14.8],[.06,.06,.06],[0,0,0],!1);let eT=z.iU.d2;for(let e of(em("academy-table",p,N,[0,eT+.72,-22],[3.4,.08,1.8]),[-1,1]))em("academy-table-leg",y,L,[1.4*e,eT+.36,-22],[.09,.72,.09]);for(let e of(ev(0,eT,-22,1.8,1,.4),[-1,1]))for(let t of[-24.2,-22,-19.8])em("academy-seat",m,G,[2.4*e,eT+.44,t],[.6,.12,.6]),em("academy-seat-back",m,G,[2.72*e,eT+.76,t],[.08,.56,.56]),em("academy-seat-foot",y,L,[2.4*e,eT+.2,t],[.07,.4,.07]);for(let e of(eb("ACADEMY","Ka\xefa \xb7 les parcours, les replays, la m\xe9thode",4.2,1.05,"cream",[0,eT+2.1,-26.4],Math.PI),[-1,1])){for(let t of(em("lab-bench",p,q,[5.2*e,eT+.74,-13],[2.2,.08,6.4]),[-2.6,0,2.6]))em("lab-bench-leg",f,L,[5.2*e,eT+.37,-13+t],[2,.74,.08]);for(let t of[-2.2,-.4,1.4,3.2])em("lab-screen",f,q,[5.4*e,eT+1.1,-13+t],[.06,.66,1.2],[0,e<0?.2:-.2,0]);ev(5.2*e,eT,-13,1.2,3.4,.38)}em("lab-print",p,N,[0,eT+.5,-9],[2.4,1,1.2]),eb("LABO \xb7 RECHERCHE","Nova et Marco : les observations, les preuves",3.6,.9,"cream",[0,eT+2.1,-6.4],Math.PI),em("studio-booth",p,N,[-2.4,eT+1.3,25.5],[3,2.6,3]),em("studio-glass",f,en,[-2.4,eT+1.5,24.05],[2,1.6,.04],[0,0,0],!1),eb("STUDIO","Nova \xb7 lâenregistrement",1.8,.45,"brass",[-2.4,eT+2.2,23.95],Math.PI);for(let e=0;e<2;e++){for(let t of(em("private-desk",p,N,[2.4,eT+.74,24.5+2*e],[1.76,.06,.9]),[-1,1]))em("private-desk-leg",y,L,[2.4+.8*t,eT+.37,24.5+2*e],[.06,.74,.06]);em("private-screen",f,q,[2.4,eT+1.06,24.8+2*e],[.92,.54,.04],[0,0,0],!1),ev(2.4,eT,24.5+2*e,.95,.5,.38)}eb("POSTES PRIV\xc9S","Ta place \xe0 bord",2.4,.6,"cream",[0,eT+2.1,28.6],Math.PI);let eO=z.iU.d3;for(let e of(eh(f,Q,[0,eO+1.45,-18],[8.4,2.9,.24],[0,0,0],r,!1),[-1,1]))eh(f,Q,[4.2*e,eO+1.45,-12.5],[.24,2.9,11.2],[0,0,0],r,!1);for(let e of[-1,1])eh(f,Q,[2.85*e,eO+1.45,-7],[2.9,2.9,.24],[0,0,0],r,!1);for(let e of[-1,1])em("archives-door-jamb",p,N,[1.4*e,eO+1.17,-7],[.12,2.34,.24]);for(let e of(em("archives-door-head",p,N,[0,eO+2.4,-7],[2.9,.24,.24]),[-1,1]))for(let t of(em("archives-rayon",p,N,[3*e,eO+1.1,-15.6],[1.1,2.2,4.4]),[.5,1.1,1.7]))em("archives-shelf-line",f,_,[2.44*e,eO+t,-15.6],[.05,.03,4.3],[0,0,0],!1);for(let e of(em("archives-table",p,N,[0,eO+.74,-12],[2.8,.08,1.5]),[-1,1]))em("archives-table-leg",y,L,[1.1*e,eO+.37,-12],[.09,.74,.09]);em("archives-rug",h,Z,[0,eO+.006,-12.5],[6,7,1],[-Math.PI/2,0,0],!1),ev(0,eO,-12,1.5,.85,.4),eb("ARCHIVES \xb7 M\xc9MOIRE LONGUE","D3 \xb7 ce que la maison a mesur\xe9, dat\xe9 et gard\xe9",3.6,.9,"brass",[0,eO+2.1,-6.85],0),em("regie-console",p,q,[0,eO+.55,12.6],[5.2,1.1,1.2]),em("regie-top",p,N,[0,eO+1.14,12.6],[5.3,.08,1.3]);for(let e=0;e<5;e++)em("regie-screen",f,q,[-2+ +e,eO+1.6,13],[.9,.54,.04],[0,0,0],!1);for(let e of[-1,1])em("regie-baie",p,q,[3.4*e,eO+1,9.6],[1.4,2,2.4]),em("regie-baie-glow",f,ec,[3.4*e,eO+1,8.4],[1.1,1.6,.03],[0,0,0],!1);ev(0,eO,12.6,2.7,.7,.4),eb("R\xc9GIE","Les flux, les cam\xe9ras, les diffusions",2.6,.65,"cream",[0,eO+2.2,14.2],Math.PI);let eN=z.iU.d4;for(let e of[-1,1])em("deck-margin",f,T,[0,eN+.024,z.YN.center[1]+e*(z.YN.halfDepth-.2)],[2*z.YN.halfWidth,.03,.34],[0,0,0],!1);for(let e of(em("deck-king-plank",f,T,[0,eN+.024,z.YN.center[1]],[.28,.03,2*z.YN.halfDepth-.7],[0,0,0],!1),em("bar-plinth",f,q,[-3,eN+.07,-15],[4.4,.14,.94]),em("bar-body",p,O,[-3,eN+.58,-15],[4.34,.92,.9]),[-1.4,0,1.4]))em("bar-panel",p,O,[-3+e,eN+.58,-14.52],[1.2,.62,.03]);for(let e of(em("bar-top",p,K,[-3,eN+1,-15],[4.6,.11,1.22]),em("bar-nosing",f,B,[-3,eN+.96,-14.39],[4.62,.035,.04],[0,0,0],!1),em("bar-footrail",v,B,[-3,eN+.25,-14.46],[.045,3.6,.045],[0,0,Math.PI/2],!1),em("back-bar",f,K,[-3,eN+1.2,-16.4],[4.4,2.2,.14]),[1.55,2]))em("back-shelf",f,j,[-3,eN+e,-16.2],[4,.07,.36]),em("back-shelf-light",f,ec,[-3,eN+e-.05,-16.05],[3.8,.02,.05],[0,0,0],!1);for(let e=0;e<9;e++)em("bottle",v,en,[-4.8+.45*e,eN+1.75,-16.22],[.07,.34,.07],[0,0,0],!1);for(let e of[-4.4,-3,-1.6])em("stool-base",b,q,[e,eN+.028,-13.7],[.33,.055,.33]),em("stool-column",y,L,[e,eN+.37,-13.7],[.075,.68,.075]),em("stool-footring",M,B,[e,eN+.26,-13.7],[.22,.22,.22],[Math.PI/2,0,0],!1),em("stool-collar",b,B,[e,eN+.69,-13.7],[.13,.03,.13],[0,0,0],!1),em("stool-seat",m,V,[e,eN+.76,-13.7],[.46,.15,.46]),ev(e,eN,-13.7,.42,.42,.34);for(let e of(ev(-3,eN,-15,2.4,.8,.42),em("spa-drum",g,j,[3.2,eN+.45,-16],[1.9,.9,1.9]),em("spa-liner",g,K,[3.2,eN+.48,-16],[1.66,.78,1.66],[0,0,0],!1),em("spa-water",g,es,[3.2,eN+.89,-16],[1.62,.06,1.62],[0,0,0],!1),em("spa-coping",M,K,[3.2,eN+.95,-16],[1.98,1.98,1.2],[Math.PI/2,0,0]),[-1,1]))em("spa-headrest",m,V,[3.2+.7*e,eN+1.06,-17.3],[.44,.11,.28],[-.2,0,0]);for(let e of(em("spa-step",f,j,[3.2,eN+.1,-13.9],[1.7,.2,.5]),em("spa-step",f,j,[3.2,eN+.3,-14.2],[1.5,.2,.44]),ev(3.2,eN,-16,2.2,2.2,.46),[-1,1]))em("pavillon-post",v,B,[4.6*e,eN+1.3,-20.5],[.07,2.6,.07]),em("pavillon-beam",f,j,[4.6*e,eN+2.62,-19],[.12,.12,3.2]);for(let e of(em("pavillon-roof",f,H,[0,eN+2.68,-20],[9.6,.06,4.4]),eb("SKY DECK","D4 \xb7 terrasse, bar, briefings au grand air",5.2,1.3,"dark",[0,eN+2.2,-22.3],0),[-4.2,-2.2,2.2,4.2]))ey(e,eN,8.6);for(let e of(em("table-top",p,j,[0,eN+.44,8.6],[1.18,.09,.74]),em("table-inlay",f,K,[0,eN+.487,8.6],[.92,.015,.5],[0,0,0],!1),em("table-shelf",f,j,[0,eN+.17,8.6],[1,.035,.6]),[-1,1]))for(let t of[-1,1])em("table-leg",y,L,[0+.5*e,eN+.22,8.6+.29*t],[.05,.44,.05],[.045*t,0,-(.05*e)]);for(let e of(em("table-tray",f,B,[.22,eN+.5,8.6],[.3,.015,.24],[0,0,0],!1),[-.06,.08]))em("table-glass",v,en,[.22+e,eN+.58,8.6+.6*e],[.05,.16,.05],[0,0,0],!1);for(let e of(ev(0,eN,8.6,.78,.56,.4),[-2,4])){em("parasol-base",b,q,[-5,eN+.05,e],[.3,.1,.3]),em("parasol-ring",M,B,[-5,eN+.1,e],[.27,.27,.27],[Math.PI/2,0,0],!1),em("parasol-pole",y,L,[-5,eN+1.55,e],[.05,3.06,.05]),em("parasol-hub",b,B,[-5,eN+2.94,e],[.12,.08,.12],[0,0,0],!1),em("parasol-canopy",E,H,[-5,eN+3.06,e],[1.62,1.35,1.62]);for(let t=0;t<8;t++){let n=t*Math.PI/4,a=1.46*Math.cos(n),o=1.46*Math.sin(n);em("parasol-rib",f,L,[-5+a/2,eN+2.95+-.2,e+o/2],[.018,Math.hypot(a,-.4,o),.018],eg(a,-.4,o),!1)}em("parasol-finial",x,B,[-5,eN+3.14,e],[.07,.1,.07],[0,0,0],!1),ev(-5,eN,e,.55,.55,.34)}for(let e of[-5,5])!function(e,t,n){for(let[n,a]of(em("planter-body",y,j,[e,t+.46,-9],[.78,.92,.78],[Math.PI,0,0]),[[.18,.64],[.8,.79]]))em("planter-band",M,B,[e,t+n,-9],[a,a,.55],[Math.PI/2,0,0],!1);em("planter-rim",b,T,[e,t+.93,n],[.82,.07,.82]),em("planter-soil",b,q,[e,t+.92,n],[.7,.06,.7],[0,0,0],!1);for(let a=0;a<13;a++){let o=2.39996*a,r=.3+a%3*.2,l=1.15+a%4*.22,i=Math.sin(r)*Math.cos(o),s=Math.sin(r)*Math.sin(o);em("planter-leaf",A,er,[e+.14*i,t+.93,n+.14*s],[l,l,l],eg(i,Math.cos(r),s))}for(let a=0;a<4;a++){let o=1.7*a+.6,r=.8134155047893737*Math.cos(o),l=.8134155047893737*Math.sin(o);em("planter-leaf",A,er,[e+.22*r,t+.9,n+.22*l],[.56,.56,.56],eg(r,.5816830894638835,l))}ev(e,t,n,.95,.95,.42)}(e,eN,-9);for(let[e,t,n]of[[0,ej+2.3,-24],[0,ej+2.3,18],[0,z.iU.d2+2.3,-16],[0,z.iU.d2+2.3,20],[0,z.iU.d3+2.3,-12],[3.2,z.iU.d2+2.3,1.5]]){let a=new w.HiM(0xffdfb6,34,21,2);a.position.set(e,t,n),r.add(a)}for(let[e,t]of ef){let n=new w.ZLX(t.shape,t.surface,t.matrices.length);n.name="Nexus decks ".concat(t.name," [").concat(e,"]"),t.matrices.forEac
1h((e,t)=>n.setMatrixAt(t,e)),n.instanceMatrix.needsUpdate=!0,n.instanceMatrix.setUsage(w.agE),n.computeBoundingSphere(),n.castShadow=t.shadow,n.receiveShadow=!0,r.add(n)}e.userData.yachtDecks=z.BO.join(",");let eU=0;return r.traverse(e=>{e instanceof w.eaF&&eU++}),{root:r,get meshCount(){return eU},dispose(){r.removeFromParent(),r.traverse(e=>{e instanceof w.ZLX&&e.dispose()}),l.forEach(e=>e.dispose()),i.forEach(e=>e.dispose()),s.forEach(e=>e.dispose())}}}(e,y.resources),k=function(e){var t;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(0,e_.al)(e),r=new Set,l=new Set,i={},c={},u=[],f=[],p=new Map,m=null!=(t=a.rights)?t:{member:!1,owner:!1},h=0,g=!1,v={id:++eV,tenue:new Map},b=new w.Pq0,y=(e,t)=>{var n;t>0&&(c[e]=(null!=(n=c[e])?n:0)+t)},x=null,M=!1,k=0,S=null,A=!1,E=!1,I=!1;return{update(t,s,c){if(g||(c.getWorldPosition(b),!Number.isFinite(b.x)||!Number.isFinite(b.z)))return;let P=Math.max(0,Math.min(.25,t-h));for(let e of(h=t,eZ)){if(r.has(e.specId))continue;let t=eX(e.envelope);if(!t){i[e.specId]="emprise \xab ".concat(e.envelope," \xbb absente de ROOM_ENVELOPES");continue}!(Math.abs(b.y-z.iU[eY[t.deck]])>6)&&(eK(t,b.z)>18||function(e,t){r.has(e.specId)||l.has(e.specId)||i[e.specId]||(l.add(e.specId),e.load().then(async()=>{if(g)return;let n=e_.HI.get(e.specId);if(!n){i[e.specId]="absent de ROOM_BUILDERS apr\xe8s import de ".concat(e.envelope);return}let a=n.build(o,o.root,n.spec);if(a.group&&a.group!==o.root?(f.push(function(e,t){let n=eH(t);!function(e){let t=0,n=w.eaF.prototype.onBeforeRender,a=w.eaF.prototype.onAfterRender;e.traverse(e=>{var o;e.isMesh&&(e.onBeforeRender!==n||e.onAfterRender!==a)&&(e.userData=null!=(o=e.userData)?o:{},e.userData.noBatch||(e.userData.noBatch=!0,t+=1))})}(t);let a=(0,eW.s)(t,{minCount:4,namePrefix:e}),o=function(e,t){e.updateMatrixWorld(!0);let n=new w.kn4().copy(e.matrixWorld).invert(),a=new Map;e.traverse(e=>{var t,n;if(!e.isMesh||!e.visible||e.isInstancedMesh||e.isSkinnedMesh||(null==(t=e.userData)?void 0:t.noBatch)||Array.isArray(e.material))return;let o=e.material;if(!o||o.transparent||e.geometry.morphAttributes&&Object.keys(e.geometry.morphAttributes).length>0||e.geometry.groups.length>1)return;let r=[o.uuid,Object.keys((n=e.geometry).attributes).sort().map(e=>"".concat(e,":").concat(n.attributes[e].itemSize)).join(",")+(n.index?"|i":"|d"),e.castShadow?"c1":"c0",e.receiveShadow?"r1":"r0",e.renderOrder,e.layers.mask].join("|"),l=a.get(r);l?l.push(e):a.set(r,[e])});let o=[],r=0,l=0,i=new w.kn4;for(let s of a.values()){if(s.length<2)continue;let a=[];for(let e of s){let t=e.geometry.clone();i.multiplyMatrices(n,e.matrixWorld),t.applyMatrix4(i),a.push(t)}let c=function(e){let t=e[0],n=Object.keys(t.attributes),a=new w.LoY;for(let o of n){let n=t.attributes[o],r=0;for(let t of e)r+=t.attributes[o].count;let l=new Float32Array(r*n.itemSize),i=0;for(let t of e){let e=t.attributes[o];for(let t=0;t<e.count*e.itemSize;t++)l[i+t]=e.array[t];i+=e.count*e.itemSize}a.setAttribute(o,new w.THS(l,n.itemSize,n.normalized))}if(t.index){let t=0,n=0;for(let n of e){if(!n.index)return null;t+=n.index.count}let o=new Uint32Array(t),r=0;for(let t of e){let e=t.index;for(let t=0;t<e.count;t++)o[r+t]=e.array[t]+n;r+=e.count,n+=t.attributes.position.count}a.setIndex(new w.THS(o,1))}return a.computeBoundingSphere(),a}(a);for(let e of a)e.dispose();if(!c)continue;let d=s[0],u=new w.eaF(c,d.material);for(let e of(u.name="".concat(t,":fusion:").concat(d.material.name||"mat","\xd7").concat(s.length),u.castShadow=d.castShadow,u.receiveShadow=d.receiveShadow,u.renderOrder=d.renderOrder,u.layers.mask=d.layers.mask,u.matrixAutoUpdate=!1,s))e.removeFromParent();e.add(u),o.push(c),r+=1,l+=s.length}return{fusions:r,fusionnes:l,geometries:o}}(t,e),r=eH(t);return{id:e,avant:n.appels,apres:r.appels,lots:a.created,absorbes:a.absorbed,fusions:o.fusions,fusionnes:o.fusionnes,aLiberer:o.geometries,trianglesAvant:n.triangles,trianglesApres:r.triangles}}(e.specId,a.group)),p.set(e.specId,{groupe:a.group,room:t})):i["".concat(e.specId,":budget")]="la pi\xe8ce rend le parent, pas son groupe : ni all\xe9g\xe9e ni occult\xe9e",r.add(e.specId),y(eY[t.deck],eG(v,eY[t.deck],a.obstacles)),e.live){let t=await e.live();
1if(g){null==t||t.dispose();return}t&&u.push(t)}}).catch(t=>{i[e.specId]=t instanceof Error?t.message:String(t)}).finally(()=>{l.delete(e.specId)}))}(e,t))}for(let[,{groupe:e,room:t}]of p){let n=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:34;return e>=-.6&&e<d.s_+.6&&t<=n}(b.y-z.iU[eY[t.deck]],eK(t,b.z));e.visible!==n&&(e.visible=n)}for(let r of(!function(){var t,a;if(!x){if(M||i["open-decks"])return;M=!0,n.e(8659).then(n.bind(n,18659)).then(t=>{g||(x=t.attachOpenDecks(e,{}))}).catch(e=>{i["open-decks"]=e instanceof Error?e.message:String(e)}).finally(()=>{M=!1});return}x.update(b);let o=null==(t=x.built)?void 0:t.obstacles;if(!o||o.length===k)return;let r=o.slice(k);k=o.length;let l=new Map;for(let e of r)for(let t of function(e){if("open-decks:escalier-d2-d3"===e)return["d2","d3"];let t=/^open-decks:(d[0-4])-/.exec(e);return t?[t[1]]:["d1"]}(e.id)){let n=null!=(a=l.get(t))?a:[];n.push(e),l.set(t,n)}for(let[e,t]of l)y(e,eG(v,e,t))}(),!function(t,a,o){if(!S){if(A||i.circulation)return;A=!0,n.e(7242).then(n.bind(n,87242)).then(t=>{g||(S=t.createCirculation(e,{rights:m}))}).catch(e=>{i.circulation=e instanceof Error?e.message:String(e)}).finally(()=>{A=!1});return}S.update(t,a,o)}(t,s,c),!function(){var e;if(E||I||i["annonce-wall"])return;let t=eX("seance");if(!t||Math.abs(b.y-z.iU[eY[t.deck]])>6||eK(t,b.z)>18)return;I=!0;let r=null!=(e=a.fetchImpl)?e:"function"==typeof fetch?fetch:null;if(!r){i["annonce-wall"]="pas de fetch dans cet environnement";return}(async()=>{var e;let[{buildAnnonceWall:t},a]=await Promise.all([n.e(5417).then(n.bind(n,5417)),r("/api/annonces",{credentials:"same-origin"})]);if(!a.ok)throw Error("/api/annonces â HTTP ".concat(a.status));let l=(null!=(e=(await a.json()).annonces)?e:[]).map(e=>{var t,n;return{titre:e.titre,corps:e.corps,porte:null!=(n=null==(t=e.porte)?void 0:t.label)?n:"",accent:e.accent}});if(g||0===l.length){0===l.length&&(i["annonce-wall"]="aucune annonce servie : mur non pos\xe9");return}t(o,l,{parent:o.root}),E=!0})().catch(e=>{i["annonce-wall"]=e instanceof Error?e.message:String(e)}).finally(()=>{I=!1})}(),u))r.frame(P,b)},setRights(e){m=e,null==S||S.setRights(e)},blocking(){var e;return null!=(e=null==S?void 0:S.blocking())?e:null},report(){let e=0;return o.root.traverse(t=>{t.isMesh&&(e+=1)}),{rooms:[...r],meshes:e,appels:eH(o.root).appels,bilans:[...f],occultees:[...p].filter(e=>{let[,t]=e;return!t.groupe.visible}).map(e=>{let[t]=e;return t}),obstacles:{...c},failed:{...i},openDecks:null!==x,circulation:null!==S,annonceWall:E}},dispose(){if(!g){for(let e of(g=!0,!function(e){let t=0;for(let[n,a]of e.tenue){let o=eJ(n);for(let r of a){let a=o.get(r);if(!a||(a.delete(e.id),a.size>0))continue;o.delete(r);let l=n.indexOf(r);-1!==l&&(n.splice(l,1),t+=1)}}e.tenue.clear(),t>0&&(0,s.EX)()}(v),u))e.dispose();for(let e of(u.length=0,null==S||S.dispose(),S=null,null==x||x.dispose(),x=null,f))for(let t of e.aLiberer)t.dispose();p.clear(),f.length=0,o.dispose(),o.root.removeFromParent(),o.root.clear()}}}}(e,{rights:{member:!1,owner:!1}}),S=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(e){var t,n;let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=new w.YJl;o.name="desk-in-world",e.add(o);let r=new w.bdM(1,1),l=null!=(t=a.roles)?t:Object.keys(e2),i=[],s=new Set;for(let e of l)for(let t of q(e)){if(s.has(t.id))continue;s.add(t.id);let[e,n]=e2[t.role],a=function(e,t){if("undefined"==typeof document)return null;let n=document.createElement("canvas");return n.width=e,n.height=t,n}(e,n),l=a?a.getContext("2d"):null,c=a?new w.GOR(a):null;c&&(c.colorSpace=w.er$,c.anisotropy=4);let d=new w.V9B(c?{map:c,toneMapped:!1}:{color:399393,toneMapped:!1}),u=new w.eaF(r,d);u.name="desk-screen:".concat(t.id),u.scale.set(t.size[0],t.size[1],1),u.position.set(t.position[0],t.position[1],t.position[2]),u.rotation.y=t.rotationY,u.userData.deskScreen=t.role,u.userData.deskHref="member-alcove"===t.role?"/desk/vip#journal":"/desk/vip",u.userData.deskVitrine="/desk",o.add(u),i.push({anchor:t,mesh:u,texture:c,material:d,context:l,width:e,height:n,key:""})}let c=eQ.KI,d=e1,u=ez,f=null!=(n=a.alias)?n:"",p=!1,m=0;function h(){var e;if(p)return;let t=!1;m=0;let n={alias:f,dashboard:ej(eR(u)),notes:d};for(let e of i){let a=e.anchor.role,o=function(e){var t,n,a,o,r,l,i,s,p;if("member-alcove"===e)return[f,u.status,ej(eR(u)).join("|"),d.state,d.label,d.notes.map(e=>e.id+e.revision).join(",")].join("\n");let m=c.live;return[e,c.state,c.reason,c.symbole,c.tf,c.barsAsOf,c.bars.length,c.levels.map(e=>"".concat(e.kind,":").concat(e.value)).join(","),null!=(o=null==(t=c.focus)?void 0:t.id)?o:"",null!=(r=null==(n=c.focus)?void 0:n.r_flottant)?r:"",null!=(l=null==m?void 0:m.genere_utc)?l:"",null!=(i=null==m?void 0:m.cumul.r_jour)?i:"",null!=(s=null==m?void 0:m.courbe.length)?s:0,null!=(p=null==m||null==(a=m.fil[0])?void 0:a.utc)?p:""].join("\n")}(a)+("seance-side"===a?"#".concat(m):""),r="seance-side"===a?m++%2==0?"instruments":"fil":"instruments";if(o===e.key)continue;e.key=o;let l=e.context;l&&(l.clearRect(0,0,e.width,e.height),"seance-main"===a?(0,e0.lE)(l,e.width,e.height,c):"seance-side"===a?(0,e0.ns)(l,e.width,e.height,c,r):"member-alcove"===a?(0,e0.Vb)(l,e.width,e.height,n):(0,e0.Yj)(l,e.width,e.height,c),e.texture&&(e.texture.needsUpdate=!0),t=!0)}t&&(null==(e=a.onRepaint)||e.call(a))}return h(),{group:o,get panels(){return i.map(e=>e.mesh)},get count(){return i.length},setFeed(e){c=e,h()},setNotes(e){d=e,h()},setMemberDesk(e){u=e,h()},setAlias(e){f=e,h()},repaint:h,dispose(){if(!p){for(let t of(p=!0,i)){var e;t.mesh.removeFromParent(),t.material.dispose(),null==(e=t.texture)||e.dispose()}r.dispose(),o.removeFromParent()}}}}(e,t),a=function(e){var t;let n,a,o=Math.max(5e3,null!=(t=e.intervalMs)?t:2e4),r=!1,l=()=>
1"undefined"==typeof document||"hidden"!==document.visibilityState;async function i(){if(!r){if(l()){null==a||a.abort();let t=(a=new AbortController).signal;try{let n=await (0,eQ.G6)({fetchImpl:e.fetchImpl,signal:t});if(r||e.onFeed(n),e.onNotes&&"locked"!==n.state){let n=await (0,eQ.Il)({fetchImpl:e.fetchImpl,signal:t,market:e.market});r||e.onNotes(n)}}catch(e){}}r||(n=setTimeout(i,o))}}i();let s=()=>{l()&&!r&&(clearTimeout(n),i())};return"undefined"!=typeof document&&document.addEventListener("visibilitychange",s),{stop(){r=!0,clearTimeout(n),null==a||a.abort(),"undefined"!=typeof document&&document.removeEventListener("visibilitychange",s)}}}({intervalMs:t.intervalMs,fetchImpl:t.fetchImpl,market:t.market,onFeed:e=>n.setFeed(e),onNotes:e=>n.setNotes(e)});return{world:n,dispose(){a.stop(),n.dispose()}}}(e);e.userData.ownerCabin="closed";let A=function(e){let t=new w.YJl;t.name="COF-Mascot",t.visible=!1,t.userData.scenic=!0,t.userData.reaction="rest",e.add(t);let n=new Set,a=new Set,o=function(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=new w._4j({color:e,metalness:t,roughness:n,emissive:o,emissiveIntensity:.75*!!o});return a.add(r),r},r=o(0xa6b7c5,.72,.29),l=o(1059910,.62,.32),i=o(0xba9451,.78,.28),s=o(1515560,.42,.39),c=o(133651,.34,.16),d=o(8908287,.22,.25,4376558);function u(e,t,a){let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,i=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";n.add(t);let s=new w.eaF(t,a);return s.position.set(o,r,l),s.name=i,s.castShadow=!0,s.receiveShadow=!0,e.add(s),s}let f=function(e,t,n,a,o,r){let l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,i=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0,s=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:"";return u(e,function(e,t,n,a){let o=new w.iNn(e,t,n,4,4,4),r=o.getAttribute("position"),l=o.getAttribute("normal"),i=new w.Pq0(e/2-a,t/2-a,n/2-a),s=new w.Pq0,c=new w.Pq0,d=new w.Pq0;for(let e=0;e<r.count;e++)s.fromBufferAttribute(r,e),c.set(w.cj9.clamp(s.x,-i.x,i.x),w.cj9.clamp(s.y,-i.y,i.y),w.cj9.clamp(s.z,-i.z,i.z)),d.copy(s).sub(c).normalize(),s.copy(c).addScaledVector(d,a),r.setXYZ(e,s.x,s.y,s.z),l.setXYZ(e,d.x,d.y,d.z);return o.computeBoundingSphere(),o}(t,n,a,o),r,l,i,s,c)},p=new w.Gu$(.021,12,8);for(let e of[-1,1])f(t,.077,.04,.101,.015,l,.049*e,.027,.012),f(t,.052,.009,.065,.004,i,.049*e,.05,.023),u(t,new w.Ho_(.02,.023,.063,12),r,.049*e,.082,0),u(t,p,s,.049*e,.11,0);for(let e of(f(t,.192,.155,.126,.031,l,0,.181,0,"Mascot-body"),f(t,.137,.094,.023,.014,r,0,.178,.068),f(t,.033,.042,.009,.008,d,0,.186,.083),[-1,1]))f(t,.042,.009,.009,.003,i,.037*e,.187,.085).rotation.z=.43*e;for(let e=-1;e<=1;e++)f(t,.018,.006,.006,.002,s,.023*e,.145,.082);u(t,new w.Ho_(.032,.035,.026,12),i,0,.269,0);let m=new w.YJl;m.name="Mascot-head",m.position.set(0,.336,.006),t.add(m),f(m,.251,.149,.15,.04,r,0,0,0),f(m,.218,.105,.025,.023,c,0,-.001,.074);let h=[];for(let e of[-1,1])h.push(f(m,.043,.044,.009,.014,d,.052*e,.002,.09)),f(m,.047,.006,.007,.002,i,.052*e,.038,.088).rotation.z=-.12*e,u(m,new w.Ho_(.032,.032,.026,16),l,.132*e,0,0).rotation.z=Math.PI/2,u(m,new w.Ho_(.021,.021,.004,16),i,.148*e,0,0).rotation.z=Math.PI/2;f(m,.029,.006,.005,.002,d,0,-.032,.089);let g=new w.YJl;g.position.set(-.081,.064,-.015),m.add(g),u(g,new w.Ho_(.005,.006,.065,8),i,0,.0325,0),u(g,new w.O3Y(.018,.004,5,16),r,0,.074,0),u(g,new w.Gu$(.008,8,6),d,0,.074,0);let v=[];for(let e of[-1,1]){let n=new w.YJl;for(let a of(n.name=1===e?"Mascot-right-hand":"Mascot-left-hand",n.position.set(.117*e,.221,0),t.add(n),v.push(n),u(n,p,i),f(n,.031,.072,.039,.01,r,.014*e,-.046,.001),u(n,p,s,.014*e,-.085,.002),[-1,1]))f(n,.009,.024,.027,.004,l,.014*e+.014*a,-.106,.009)}let b=!1,y,x=0,M=!1,k=0,S=null,A=0,E=!1,I=!1,P=0,z=new w.Pq0,D=new w.Pq0,R=()=>{m.rotation.set(0,0,0),g.rotation.set(0,0,0),v[0].rotation.set(0,0,-.13),v[1].rotation.set(0,0,.13),h.forEach((e,t)=>{e.scale.y=1,e.position.x=(0===t?-1:1)*.052})};return{update:function(e,n,a){if(b||!Number.isFinite(e))return;let o=void 0===y?0:e-y;if(y=e,a.paused)return;let r=o>=0&&o<=.25?o:0;
1if(!eE(a.ironShoulder)){t.visible=!1,E=!1,M=!1;return}let l=a.ironShoulder;if(t.visible||t.position.copy(l),t.visible=!0,x+=r,n){E=!1,M=!1,t.position.copy(l),t.rotation.set(0,0,0),R(),t.userData.reaction="rest";return}M&&(z.copy(t.position),D.copy(eE(a.target)?a.target:l),E=!0,I=null===S,M=!1,A=0,P=k%5,t.userData.reaction=["salutation","inclinaison","scan","complicit\xe9","orbite"][P]);let i=Math.min(1,(A+=r)/(I?1.25:2.9));E&&i<1?t.position.copy(I?function(e,t,n){let a=Math.max(e.y,t.y)+.8,o=new w.Pq0(e.x,a,e.z),r=new w.Pq0(t.x,a,t.z);return n<.25?e.clone().lerp(o,eA(n/.25)):n<.75?o.lerp(r,eA((n-.25)/.5)):r.lerp(t,eA((n-.75)/.25))}(z,l,i):function(e,t,n,a){let o=Number.isFinite(a)?w.cj9.clamp(a,0,1):0,r=Math.max(e.y,t.y,n.y)+1.1,l=new w.Pq0(e.x,r,e.z),i=new w.Pq0(n.x+.85,n.y+.34,n.z),s=new w.Pq0(i.x,r,i.z),c=new w.Pq0(t.x,r,t.z);if(o<.15)return e.clone().lerp(l,eA(o/.15));if(o<.32)return l.lerp(s,eA((o-.15)/.17));if(o<.42)return s.lerp(i,eA((o-.32)/.1));if(o<.65){let e=eA((o-.42)/.23)*Math.PI*2;return new w.Pq0(n.x+.85*Math.cos(e),i.y,n.z+.85*Math.sin(e))}return o<.74?i.lerp(s,eA((o-.65)/.09)):o<.9?s.lerp(c,eA((o-.74)/.16)):c.lerp(t,eA((o-.9)/.1))}(z,l,D,i)):(E=!1,t.position.copy(l),t.userData.reaction="rest");let s=E?D:eE(a.target)?a.target:null;if(t.rotation.set(0,s?Math.atan2(s.x-t.position.x,s.z-t.position.z):Math.atan2(-t.position.x,10-t.position.z),0),R(),E&&!I){let e=Math.sin(i*Math.PI);t.rotation.z=.06*Math.sin(i*Math.PI*2)*e,m.rotation.z=(1===P?.27:.1)*Math.sin(i*Math.PI*4)*e,m.rotation.x=-.08*e,(0===P||3===P)&&(v[1].rotation.z=.13+e*(1.65+.26*Math.sin(i*Math.PI*12))),2===P&&(g.rotation.z=.38*Math.sin(i*Math.PI*8)*e,m.rotation.y=.23*Math.sin(i*Math.PI*4)*e),4===P&&(v[0].rotation.z=-.13-.55*e,v[1].rotation.z=.13+.55*e);let n=.006*Math.sin(i*Math.PI*2);h.forEach(e=>e.position.x+=n)}let c=x%5.4;if(c>5.15){let e=Math.sin((c-5.15)/.25*Math.PI);h.forEach(t=>t.scale.y=1-.87*e)}},react:function(e){if(!b){if(null===e&&!E){M=!1;return}M=!0,S=e,k++}},dispose:function(){if(!b){for(let e of(b=!0,t.removeFromParent(),n))e.dispose();for(let e of a)e.dispose();n.clear(),a.clear()}}}}(e),E=e.getObjectByName("COF-Mascot"),I=new Set,D=new Set,R=new Set,C=[...y.pickables],F=[],j=[],T=!1,O=null,N=function(e){let t,n=null,a=0,o=0,r=eN(),l=!1;function i(){a+=1,o+=1,null==t||t.abort(),t=void 0,r=eN()}return{get data(){return r},setMember(t){l||t===n||(i(),n=t,e.onData(r))},async load(i){let s;if(l||!n||(null==i?void 0:i.aborted))return eN();null==t||t.abort();let c=new AbortController;t=c;let d=n,u=a,f=++o,p=()=>c.abort();null==i||i.addEventListener("abort",p,{once:!0});try{s=await e.load(c.signal)}catch(e){s={status:"unavailable",journal:null,leaderboard:null}}finally{null==i||i.removeEventListener("abort",p),t===c&&(t=void 0)}return l||c.signal.aborted||(null==i?void 0:i.aborted)||d!==n||u!==a||f!==o?eN():(r=s,e.onData(r),r)},dispose(){l||(l=!0,i(),n=null)}}}({load:e=>eO(fetch,e),onData:e=>null==i?void 0:i.setData(e)});function U(e){return I.add(e),e}function L(e){return D.add(e),e}e.userData.memberDesk="none",b.load();let B=U(new w.iNn(1,1,1));U(new w.Ho_(1,1,1,32)),U(new w.bdM(1,1));let _=L(new w._4j({color:1582899,roughness:.46,metalness:.38})),W=L(new w._4j({color:528154,roughness:.67,metalness:.6})),H=L(new w._4j({color:4675430,roughness:.35,metalness:.77})),Y=L(new w.V9B({color:7919103,toneMapped:!1})),$=L(new w.V9B({color:1588310,toneMapped:!1}));L(new w.V9B({color:0xc9e9ff,toneMapped:!1}));let V=new Map,K=new w.B69,Q=new w.B69;function ex(e,t,n,a){var o,r;let l=V.get(e);l||(l={geometry:t,material:n,matrices:[]},V.set(e,l)),K.position.set(...a.position),K.scale.set(...null!=(o=a.scale)?o:[1,1,1]),K.rotation.set(...null!=(r=a.rotation)?r:[0,0,0]),K.updateMatrix();let i=K.matrix.clone();a.station&&(Q.position.set(a.station.position[0],a.station.position[1],a.station.position[2]),Q.rotation.set(0,a.station.rotation,0),Q.updateMatrix(),i.premultiply(Q.matrix)),l.matrices.push(i)}function eD(t,n,a){var o,r;let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e,i=new w.eaF(t,n);return i.position.set(...a.position),i.scale.set(...null!=(o=a.scale)?o:[1,1,1]),i.rotation.set(...null!=(r=a.rotation)?r:[0,0,0]),l.add(i),i}function eC(t,n,a,o){let r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:e;return eD(U(new w.rKP(t,t+n,128)),a,{position:[0,o,0],rotation:[-Math.PI/2,0,0]},r)}let eF=document.createElement("canvas");eF.width=eF.height=128;let eB=eF.getContext("2d");if(eB){let e=eB.createRadialGradient(64,64,0,64,64,64);e.addColorStop(0,"rgba(150,220,255,.6)"),e.addColorStop(.2,"rgba(80,170,255,.22)"),e.addColorStop(1,"rgba(0,80,255,0)"),eB.fillStyle=e,eB.fillRect(0,0,128,128)}r=new w.GOR(eF),R.add(r);let e$=e5();e$?(R.add(e$),e.background=e$,e.userData.cofSky=e$):e.background=new w.Q1f(0xb6d0d2),e.fog=new w.cRK(0xa9c2ce,.0016),e.add(new w.dth(0xdfe9ee,6969670,.6));let e4=new w.ZyN(0xffe5bf,3.45);e4.position.set(-24,7,-35),e4.castShadow=!0,e4.shadow.mapSize.set(2048,2048),e4.shadow.camera.left=-31,e4.shadow.camera.right=31,e4.shadow.camera.top=31,e4.shadow.camera.bottom=-31,e4.shadow.camera.near=.5,e4.shadow.camera.far=70,e4.shadow.bias=-1e-4,e4.shadow.normalBias=.035,e4.shadow.radius=2,e.add(e4);let e3=new w.ZyN(0xffe5ce,.9);
1e3.position.set(-3,7,17),e3.target.position.set(0,1.7,-3),e.add(e3,e3.target);let e6=new w.ZyN(0xf0cba0,.52);e6.position.set(14,5,8),e.add(e6);let e8=function(e){let t=new w.YJl;t.name="COF Nexus yacht \xb7 Mediterranean salon",e.add(t),e.userData.environment="nexus-yacht";let n=new Set,a=new Set,o=!1,r=null,l=0;function i(e,o,r){n.add(o),a.add(r);let l=new w.eaF(o,r);return l.name=e,t.add(l),l}let s={value:en.clone()},c=i("Nexus Mediterranean sky",new w.Gu$(185,48,28),new w.BKk({side:w.hsX,depthWrite:!1,depthTest:!1,fog:!1,uniforms:{time:{value:0},sunDirection:s},vertexShader:"varying vec3 direction; void main(){direction=position;gl_Position=projectionMatrix*modelViewMatrix*vec4(position,1.);}",fragmentShader:ea+eo+"\n varying vec3 direction;\n void main(){\n vec3 d=normalize(direction);\n // Pas de sortie anticip\xe9e sous l'horizon : elle cr\xe9erait exactement la ligne de coupe qu'on chasse.\n // Le co\xfbt de base est tenu (un exp, un sqrt) ; seuls les cirrus sont derri\xe8re une branche.\n vec3 color=cofSky(d,1.);\n // Disque solaire en HDR (~0.45\xb0 de rayon) : c'est ACES qui lui donne son rolloff, pas un aplat blanc.\n float sun=max(dot(d,sunDirection),0.);\n color+=vec3(11.5,9.6,7.4)*smoothstep(0.999935,0.999975,sun);\n gl_FragColor=vec4(color,1.);\n #include <tonemapping_fragment>\n gl_FragColor.rgb+=cofDither(gl_FragCoord.xy)*0.0035;\n #include <colorspace_fragment>\n }"}));c.renderOrder=-10;let d=i("Nexus ocean",new w.bdM(760,760,110,110),new w.BKk({uniforms:{time:{value:0},sunDirection:s},fog:!1,vertexShader:er+"\n uniform float time; varying vec3 world; varying float wave;\n void main(){\n vec3 p=position;\n // Le plan est couch\xe9 (rotation.x=-PI/2) : p.x est world.x, -p.y est world.z.\n // detail=0 : seule la houle longue d\xe9forme le maillage, les rides courtes seraient sous-\xe9chantillonn\xe9es.\n wave=cofWater(vec2(p.x,-p.y),time,0.).z; p.z+=wave;\n world=(modelMatrix*vec4(p,1.)).xyz; gl_Position=projectionMatrix*viewMatrix*vec4(world,1.);\n }",fragmentShader:ea+eo+er+"\n varying vec3 world;\n void main(){\n vec3 toEye=cameraPosition-world;\n float distanceToEye=length(toEye);\n vec3 eye=toEye/max(distanceToEye,1e-4);\n // Azimut du pixel vu de la cam\xe9ra : la mer rejoint EXACTEMENT la couleur du ciel \xe0 l'horizon.\n vec2 az=-eye.xz; float azimuth=max(length(az),1e-4);\n vec3 haze=cofHorizon(vec3(az.x/azimuth,0.,az.y/azimuth));\n float veil=smoothstep(45.,240.,distanceToEye);\n // Au-del\xe0 du voile il n'y a plus rien \xe0 calculer : c'est la brume, et \xe7a \xe9vite de payer la houle\n // sur la bande d'horizon, qui couvre beaucoup de pixels pour z\xe9ro d\xe9tail visible.\n // Seuil tr\xe8s haut : \xe0 0.995 la marche restait visible sous le chemin du soleil, qui est lumineux.\n if(veil>0.9995){\n gl_FragColor=vec4(haze*0.88+vec3(0.,0.006,0.013),1.);\n #include <tonemapping_fragment>\n #include <colorspace_fragment>\n return;\n }\n // Le niveau de d\xe9tail d\xe9pend de la distance ET de l'angle de vue : en rasant, une p\xe9riode de vague\n // se projette sur deux ou trois pixels et la mer se met \xe0 moirer en velours c\xf4tel\xe9. eye.y ~ 0 en\n // rasant : on \xe9teint les rides courtes bien avant que le moir\xe9 n'apparaisse.\n float detail=(1.-smoothstep(22.,140.,distanceToEye))*clamp(eye.y*4.5,0.,1.);\n vec3 field=cofWater(world.xz,time,detail);\n // Normale exacte d'un champ de hauteur : (-dH/dx, 1, -dH/dz). Aucun facteur d'exag\xe9ration â\n // c'est en en mettant un (7.4) que la mer devenait de la t\xf4le \xe0 la premi\xe8re recette.\n vec3 normal=normalize(vec3(-field.x,1.,-field.y));\n // Fresnel de Schlick : \xe0 l'horizon l'eau devient un miroir, au pied du bastingage elle devient profonde.\n // C'est ce seul terme qui s\xe9pare \xab de l'eau \xbb d'\xab une bande de d\xe9grad\xe9 plat \xbb.\n float grazing=1.-clamp(dot(eye,normal),0.,1.);\n float g2=grazing*grazing;\n float fresnel=0.02+0.98*g2*g2*grazing;\n vec3 reflected=reflect(-eye,normal); reflected.y=abs(reflected.y);\n vec3 mirror=cofSky(reflected,0.);\n // Corps de l'eau : bleu profond de M\xe9diterran\xe9e, qui s'\xe9claircit sur le dos des vagues.\n vec3 body=mix(vec3(0.007,0.030,0.049),vec3(0.015,0.062,0.081),clamp(0.5+field.z*1.6,0.,1.));\n vec3 color=mix(body,mirror,fresnel);\n // Chemin du soleil : la nappe large (normale presque plate) plus les paillettes (normale perturb\xe9e).\n // half est un mot RESERVE en GLSL ES : ne jamais renommer halfway en half.\n vec3 halfway=normalize(sunDirection+eye);\n float sheen=max(dot(mix(vec3(0.,1.,0.),normal,0.35),halfway),0.);\n float glint=max(dot(normal,halfway),0.);\n // Le reflet du ciel porte D\xc9J\xc0 la corona du soleil : la sp\xe9culaire ne fait que la casser en \xe9clats.\
1n // Trop forte, elle sature \xe0 blanc et la saturation transforme un motif doux en cellules dures.\n // Pond\xe9r\xe9e par le Fresnel : pas de reflet l\xe0 o\xf9 on voit le fond de l'eau.\n color+=vec3(1.20,0.90,0.52)*cofPow16(sheen)*cofPow8(sheen)*0.30*fresnel;\n // Exposant 256 : des points de lumi\xe8re, pas les plaques blanches de la premi\xe8re recette.\n float sparkle=cofPow128(glint); sparkle*=sparkle;\n color+=vec3(1.85,1.42,0.86)*sparkle*0.42*detail*fresnel;\n // Fin sillage lat\xe9ral : le yacht avance doucement pendant que le pont reste stable.\n float aft=max(0.,world.z+4.);\n float lane=abs(abs(world.x)-(24.+aft*.10));\n // NE PAS reformater la ligne suivante : tests/yacht-environment.test.cjs cherche /float wake=/.\n float wake=exp(-lane*lane/(.22+aft*.035))*smoothstep(-6.,8.,world.z)*(1.-smoothstep(55.,110.,world.z));\n float foam=.68+.32*sin(world.z*1.7-time*1.1+sin(world.x));\n color=mix(color,vec3(0.46,0.54,0.55),wake*foam*.16);\n // Perspective a\xe9rienne : convergence vers la brume, donc pas de ligne de coupe au raccord.\n color=mix(color,haze*0.88+vec3(0.,0.006,0.013),veil);\n gl_FragColor=vec4(color,1.);\n #include <tonemapping_fragment>\n #include <colorspace_fragment>\n }"}));d.rotation.x=-Math.PI/2,d.position.y=-3.8;let u=new w._4j({color:0xd3d0c1,roughness:.44,metalness:.13}),f=new w._4j({color:9332295,roughness:.81,metalness:.02}),p=new w._4j({color:0xb29868,roughness:.28,metalness:.74}),m=new w._4j({color:0xc0d9d5,transparent:!0,opacity:.13,roughness:.12,depthWrite:!1}),h=new w.ypk;h.moveTo(-23,22),h.lineTo(-23,33),h.bezierCurveTo(-23,44,-12,56,0,61),h.bezierCurveTo(12,56,23,44,23,33),h.lineTo(23,22),h.closePath();let g=i("Nexus foredeck",new w.QCA(h,{depth:1.4,bevelEnabled:!0,bevelSegments:3,steps:1,bevelSize:.3,bevelThickness:.2,curveSegments:28}),u);g.rotation.x=-Math.PI/2,g.position.y=-1.8,g.receiveShadow=!0;let v=i("Nexus teak foredeck",new w.MSw(h,28),f);v.rotation.x=-Math.PI/2,v.position.y=-.18,v.receiveShadow=!0;let b=new w.iNn(1,1,1);n.add(b);let y=new w.ZLX(b,f,96);y.name="Nexus salon teak planks";let x=new w.B69;for(let e=0;e<96;e++){let t=(e-47.5)*.51,n=2*Math.sqrt(Math.max(0,24.6*24.6-t*t));x.position.set(t,.018,-1),x.scale.set(.494,.028,n),x.updateMatrix(),y.setMatrixAt(e,x.matrix);let a=7919*e%97/97;y.setColorAt(e,new w.Q1f(9332295).offsetHSL(0,(a-.5)*.05,(a-.5)*.09))}y.instanceColor&&(y.instanceColor.needsUpdate=!0),y.receiveShadow=!0,y.computeBoundingSphere(),t.add(y);let M=[];for(let e=0;e<=44;e++){let t=e/44*Math.PI;M.push(new w.Pq0(-23*Math.cos(t),.92,-28-31*Math.sin(t)))}i("Nexus bow handrail",new w.j6(new w.B6O(M),96,.055,8,!1),p);for(let e=0;e<M.length;e+=2){let t=M[e],n=i("Nexus railing post",new w.Ho_(.045,.045,1.08,8),u);if(n.position.copy(t),n.position.y=.36,e+2<M.length){let n=M[e+2],a=t.clone().add(n).multiplyScalar(.5),o=i("Nexus windscreen",new w.iNn(t.distanceTo(n)-.08,.84,.025),m);o.position.copy(a),o.position.y=.37,o.rotation.y=-Math.atan2(n.z-t.z,n.x-t.x)}}let k=new w.BKk({uniforms:{time:{value:0},sunDirection:s},fog:!1,vertexShader:"\n varying vec3 world; varying vec3 slope;\n void main(){ world=(modelMatrix*vec4(position,1.)).xyz; slope=normalize(mat3(modelMatrix)*normal);\n gl_Position=projectionMatrix*viewMatrix*vec4(world,1.); }",fragmentShader:ea+eo+"\n varying vec3 world; varying vec3 slope;\n void main(){\n vec3 toEye=cameraPosition-world; float distanceToEye=length(toEye);\n vec3 eye=toEye/max(distanceToEye,1e-4);\n vec2 az=-eye.xz; float azimuth=max(length(az),1e-4);\n vec3 haze=cofHorizon(vec3(az.x/azimuth,0.,az.y/azimuth));\n float lambert=clamp(dot(normalize(slope),sunDirection)*.5+.58,0.,1.15);\n vec3 land=mix(vec3(0.014,0.022,0.021),vec3(0.055,0.053,0.038),lambert);\n // La brume qui voile une c\xf4te est TOUJOURS plus sombre que le ciel derri\xe8re : sinon la terre\n // devient plus lumineuse que l'air et se d\xe9coupe en falaise blanche (premi\xe8re recette).\n vec3 veil=haze*0.70+vec3(0.,0.004,0.011);\n vec3 color=mix(land,veil,0.50+0.34*smoothstep(60.,210.,distanceToEye));\n // Le pied de la c\xf4te se noie dans la brume marine, jamais une d\xe9coupe franche sur l'eau.\n color=mix(veil*0.96,color,smoothstep(-4.4,1.6,world.y));\n gl_FragColor=vec4(color,1.);\n #include <tonemapping_fragment>\n #include <colorspace_fragment>\n }"});for(let[e,t,n,a,o]of[[-86,-118,30,6,10],[-43,-145,38,8,12],[65,-126,42,5,10]]){let r=new w.Gu$(1,28,14),l=r.attributes.position;for(let n=0;n<l.count;
1n++){let a=l.getX(n),o=l.getY(n),r=l.getZ(n),i=1+.17*Math.sin(5.3*a+.1*t)+.11*Math.sin(7.9*r+.07*e)+.06*Math.sin(13.1*a+9.4*r);l.setXYZ(n,a*i,o*Math.max(.55,i),r*i)}l.needsUpdate=!0,r.computeVertexNormals();let s=i("Distant Mediterranean coast",r,k);s.position.set(e,-4,t),s.scale.set(n,a,o)}return{materials:{ivory:u,teak:f,brass:p,glass:m},update(e,t){if(o||!Number.isFinite(e))return;let n=null===r?Math.max(0,e):Math.max(0,Math.min(.1,e-r));r=e,t||(l+=n,d.material.uniforms.time.value=l,c.material.uniforms.time.value=l,k.uniforms.time.value=l)},dispose(){o||(o=!0,t.removeFromParent(),t.traverse(e=>{e instanceof w.ZLX&&e.dispose()}),n.forEach(e=>e.dispose()),a.forEach(e=>e.dispose()))}}}(e),e9=function(e,t){let n=new w.YJl;n.name="COF Nexus \xb7 command hall, gallery and workstations";let a=new Set,o=new Set,r=e=>{let t=new w._4j(e);return o.add(t),t},l={navy:r({color:0xc6c4b7,roughness:.47,metalness:.18}),dark:r({color:331287,roughness:.47,metalness:.36}),alloy:r({color:0xb2b9b5,roughness:.28,metalness:.68}),gold:r({color:0xa1844c,roughness:.27,metalness:.77}),cyan:r({color:0xd0b486,emissive:9533519,emissiveIntensity:.5,roughness:.35,metalness:.12}),white:r({color:0xbecbce,emissive:9219253,emissiveIntensity:1.25,roughness:.32,metalness:.1}),glass:r({color:2777715,transparent:!0,opacity:.18,roughness:.19,metalness:.55,depthWrite:!1})},i=new ee(1,1,1,1,.025);a.add(i);let s=new w.Ho_(1,1,1,24);a.add(s);let c=new w.O3Y(1,.025,6,24);a.add(c);let d=new Map,u=new w.B69,f=new w.B69;function p(e,t,n){var a;let o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[0,0,0],r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:i,s=arguments.length>5?arguments[5]:void 0;u.position.set(...t),u.scale.set(...n),u.rotation.set(...o),u.updateMatrix();let c=u.matrix.clone();s&&(f.position.set(...s.position),f.rotation.set(0,s.rotation,0),f.updateMatrix(),c.premultiply(f.matrix));let p="".concat(e,"/").concat(r.uuid),m=null!=(a=d.get(p))?a:{shape:r,surface:l[e],matrices:[]};m.matrices.push(c),d.set(p,m)}function m(e,t,n,a,o,r,l){let i=Math.ceil((r-o)*14);for(let s=0;s<i;s++){let c=o+(s+.5)/i*(r-o),d=e*(r-o)/i;p(l,[Math.sin(c)*e,n,-Math.cos(c)*e-1],[d+.035,a,t],[0,-c,0])}}for(let e of[-2.65,-2.14,-1.62,-1.1,1.1,1.62,2.14,2.65]){let t=23.4*Math.sin(e),n=-(23.4*Math.cos(e))-1;for(let e of(p("navy",[t,6,n],[.42,11.8,.42],[0,0,0],s),p("dark",[t,.21,n],[.89,.42,.89],[0,0,0],s),p("alloy",[t,.5,n],[.68,.2,.68],[0,0,0],s),[.63,4.12,10.88,11.81]))p("gold",[t,e,n],[.445,.065,.445],[0,0,0],s);for(let a of[-1,1])p("gold",[t+Math.cos(e)*a*.31,6.13,n+Math.sin(e)*a*.31],[.035,10.1,.05],[0,-e,0]),p("cyan",[t-.43*Math.sin(e)+Math.cos(e)*a*.16,7.7,n+.43*Math.cos(e)+Math.sin(e)*a*.16],[.026,3.8,.035],[0,-e,0])}m(22.45,3.3,3.95,.32,1.48,2*Math.PI-1.48,"navy"),m(20.82,.12,4.07,.11,1.48,2*Math.PI-1.48,"gold"),m(20.85,.055,3.81,.055,1.48,2*Math.PI-1.48,"cyan"),m(20.84,.08,5.27,.08,1.48,2*Math.PI-1.48,"gold");for(let e=0;e<=28;e++){let t=1.48+e/28*(2*Math.PI-2.96);if(p("alloy",[20.84*Math.sin(t),4.64,-(20.84*Math.cos(t))-1],[.06,1.24,.075],[0,-t,0]),e<28){let e=t+(2*Math.PI-2.96)/56;p("glass",[20.84*Math.sin(e),4.66,-(20.84*Math.cos(e))-1],[2.35,1.05,.025],[0,-e,0])}}for(let e of[-1,1])for(let t=0;t<14;t++)p("navy",[18.5*e,.14+.28*t,6+.5*t],[2.2,.28,.54]),p("gold",[18.5*e,.29+.28*t,5.77+.5*t],[2.13,.028,.055]);for(let[e,t]of(m(14.7,.045,.012,.019,0,2*Math.PI,"gold"),m(19.05,.065,.014,.019,0,2*Math.PI,"alloy"),m(19.18,.018,.025,.015,0,2*Math.PI,"cyan"),d)){let a=new w.ZLX(t.shape,t.surface,t.matrices.length);a.name="Nexus ".concat(e.split("/")[0]),t.matrices.forEach((e,t)=>a.setMatrixAt(t,e)),a.instanceMatrix.needsUpdate=!0,a.instanceMatrix.setUsage(w.agE),a.computeBoundingSphere(),a.castShadow=e.startsWith("navy/"),a.receiveShadow=!0,n.add(a)}return n.scale.setScalar(.2803),n.updateMatrixWorld(!0),e.add(n),{update(e,t){},dispose(){n.removeFromParent(),n.traverse(e=>{e instanceof w.ZLX&&e.dispose()}),a.forEach(e=>e.dispose()),o.forEach(e=>e.dispose())}}}(e,(b.marketMaterial,b.identityMaterial));F.push(eD(U(new w.Ho_(26.5,27.2,.55,96)),_,{position:[0,-.32,-1]})),F.push(eC(3.55,.018,$,.016)),F.push(eC(10.5,.025,$,.019)),F.push(eC(17.6,.045,Y,.021)),F.push(eC(18.05,.012,$,.021));let e7=[];for(let e=-16;e<=16;e+=2){let t=Math.sqrt(342.25-e*e);e7.push(e,.014,-t-1,e,.014,t-1),e7.push(-t,.014,e-1,t,.014,e-1)}let te=U(new w.LoY);te.setAttribute("position",new w.qtW(e7,3));let tt=new w.DXC(te,L(new w.mrM({color:2441811,transparent:!0,opacity:.37})));e.add(tt),F.push(tt);for(let e=0;e<36;e++){let t=e/36*Math.PI*2,n=18*Math.sin(t),a=18*Math.cos(t)-1;ex("deck-joints",B,W,{position:[n,-.01,a],scale:[.16,.12,2.1],rotation:[0,t,0]}),ex("deck-lights",B,Y,{position:[.955*n,.03,(a+1)*.955-1],scale:[.05,.025,.55],rotation:[0,t,0]})}for(let e=0;e<9;e++){let t=-(.62*Math.PI)+e/8*Math.PI*1.24,n=18.5*Math.sin(t),a=-(18.5*Math.cos(t))-1;ex("pillars",B,_,{position:[n,4.8,a],scale:[.56,9.6,.7],rotation:[0,-t,0]}),ex("pillar-inlays",B,$,{position:[.984*n,4.8,(a+1)*.984-1],scale:[.065,8.1,.14],rotation:[0,-t,0]}),ex("pillar-foot",B,H,{position:[n,.42,a],scale:[.85,.84,1.08],rotation:[0,-t,0]})}for(let e of[-15,-7,2,11])for(let t=0;t<24;t++){let n=t/24*Math.PI,a=(t+1)/24*Math.PI,o=18.4*Math.cos(n),r=10.6*Math.sin(n),l=18.4*Math.cos(a),i=10.6*Math.sin(a),s=Math.atan2(i-r,l-o),c=Math.hypot(l-o,i-r),d=(o+l)/2,u=(r+i)/2;ex("ribs",B,_,{position:[d,u,e],scale:[c+.02,.2,.4],rotation:[0,0,s]}),t>1&&t<21&&ex("rib-light",B,$,{position:[d,u-.13,e+.23],scale:[.76*c,.035,.03],rotation:[0,0,s]})}for(let[t,n]of(ex("window-base",B,_,{position:[0,.75,-18.2],scale:[24,1.5,.7]}),ex("window-light",B,Y,{position:[0,1.54,-17.9],scale:[23,.045,.055]}),ex("window-top",B,_,{position:[0,10.4,-18],scale:[27,.35,.8]}),V)){let a=new w.ZLX(n.geometry,n.material,n.matrices.length);
1a.name=t,n.matrices.forEach((e,t)=>a.setMatrixAt(t,e)),a.instanceMatrix.needsUpdate=!0,a.computeBoundingSphere(),e.add(a),/^(deck-|pillars$|pillar-|ribs$|rib-|window-|station-platform$|station-table$|station-lower$|station-legs$|station-feet$|station-front$|chair-|wing-casing$)/.test(t)&&F.push(a)}let tn=function(e,t,n){let a=[],o=[],r=[],l=[],i=[],s=!1,c=new Set;for(let c of t){let t=v.UZ.find(e=>e.id===c.id);if(!t)continue;let u=new w.Tap().load(c.url,e=>{if(s)return void e.dispose();n.onReady()},void 0,()=>{s||n.onError()});u.colorSpace=w.er$,u.anisotropy=2,a.push(u);let[f,p]=c.image,[m,h,g,b]=c.crop,y=new w.IUQ(m/f,1-(h+b)/p,g/f,b/p),x="erwin"===c.id?1.84:1.85,M=x*g/b,k=new w.bdM(M,x,20,40);o.push(k);let S=X[c.id],A=Array.from({length:48},(e,t)=>{var n;return new w.I9Y(...null!=(n=S[t])?n:S[0])});function d(e){let t=new w.BKk({uniforms:{map:{value:u},crop:{value:y},outline:{value:A},outlineCount:{value:S.length},time:{value:0},walking:{value:+!!e}},vertexShader:"uniform float time;uniform float walking;varying vec2 vUv;\n void main(){\n vUv=uv;vec3 p=position;\n float leg=1.-smoothstep(.40,.54,uv.y);\n float side=uv.x<.5?-1.:1.;\n float stepPhase=time*6.2+side*1.5707963;\n float stride=sin(stepPhase);\n p.x+=walking*leg*stride*.105;\n p.z+=walking*leg*stride*.14;\n p.y+=walking*leg*max(0.,stride)*.11;\n p.y+=walking*abs(sin(time*6.2))*.024;\n float arm=smoothstep(.24,.43,abs(uv.x-.5))*smoothstep(.47,.65,uv.y)*(1.-smoothstep(.79,.87,uv.y));\n p.x+=walking*arm*sin(stepPhase)*.035;\n gl_Position=projectionMatrix*modelViewMatrix*vec4(p,1.);\n }",fragmentShader:"uniform sampler2D map;uniform vec4 crop;uniform vec2 outline[48];uniform int outlineCount;varying vec2 vUv;\n void main(){\n bool inside=false;float edgeDistance=1.;\n for(int i=0;i<48;i++){\n if(i>=outlineCount)break;\n vec2 a=outline[i];vec2 b=outline[i==0?outlineCount-1:i-1];\n if((a.y>vUv.y)!=(b.y>vUv.y)){\n float crossing=(b.x-a.x)*(vUv.y-a.y)/(b.y-a.y)+a.x;\n if(vUv.x<crossing)inside=!inside;\n }\n vec2 segment=b-a;float t=clamp(dot(vUv-a,segment)/max(dot(segment,segment),.000001),0.,1.);\n edgeDistance=min(edgeDistance,length(vUv-(a+segment*t)));\n }\n if(!inside)discard;\n float alpha=smoothstep(0.,.004,edgeDistance);\n vec3 color=texture2D(map,crop.xy+vUv*crop.zw).rgb;\n gl_FragColor=vec4(color,alpha);\n #include <colorspace_fragment>\n }",transparent:!0,depthWrite:!0,side:w.$EB,toneMapped:!1});return r.push(t),t}let E=d(!1),I=d(!0),P=new w.eaF(k,E),z=new w.Pq0(t.position[0],x/2+.11,t.position[2]);z.x-=.35*Math.sin(t.rotation),z.z-=.35*Math.cos(t.rotation),"erwin"===c.id&&(z.x=t.position[0]-3.1*Math.cos(t.rotation)+.1*Math.sin(t.rotation),z.z=t.position[2]+3.1*Math.sin(t.rotation)+.1*Math.cos(t.rotation)),P.position.copy(z),P.rotation.y=t.rotation,P.userData.agentId=t.id;let D=new w.eaF(k,I);D.position.copy(z),D.visible=!1,D.userData.agentId=t.id,e.add(P,D),i.push(P,D);let R=new w.Pq0(t.position[0],0,t.position[2]+1).normalize(),C=new w.Pq0(-R.z,0,R.x);l.push({id:t.id,index:t.index,desk:P,walker:D,deskMaterial:E,walkMaterial:I,home:z,outward:R,tangent:C})}return{pickables:i,setReplaced(e){for(let t of(c.add(e),l))t.id===e&&(t.desk.visible=!1,t.walker.visible=!1)},update(e,t,n,a){for(let n of l){if(c.has(n.id)){n.desk.visible=!1,n.walker.visible=!1;continue}n.index,n.desk.visible=!0,n.walker.visible=!1,n.desk.position.y=n.home.y+(t?0:.008*Math.sin(.75*e+n.index)),"erwin"===n.id&&(n.desk.rotation.y=Math.atan2(a.position.x-n.home.x,a.position.z-n.home.z))}},dispose(){for(let e of(s=!0,a))e.dispose();for(let e of o)e.dispose();for(let e of r)e.dispose();for(let t of l)e.remove(t.desk,t.walker)}}}(e,Z,{onReady:t.onTextureReady,onError:t.onTextureError});C.push(...tn.pickables);let ta=new Map,to=new w.Pq0,tr=new w.Pq0,tl=new w.Pq0,ti=new w.Pq0,ts=null,tc=function(e,t,n){let a=eS.map(e=>({agentId:e,url:"/world/characters/".concat(e,".glb"),canonicalReference:"/world/canon/".concat(e,".webp"),position:(0,c.ER)(e),height:ew[e],rotation:v.UZ.find(t=>
1t.id===e).rotation+ey,clips:ek,locomotion:{speed:.83,strideLength:1.1206*ew[e],turnSpeed:1.05}})),o=(0,eb.DH)(e,a),r=new Map,l=new w.Pq0,i=e=>{var t;let n,a=o.getActor(e);a.object.updateMatrixWorld(!0);let i=1/0;for(let a of null!=(t=r.get(e))?t:[])n!==a.mesh&&(a.mesh.skeleton.update(),n=a.mesh),a.mesh.getVertexPosition(a.vertex,l).applyMatrix4(a.mesh.matrixWorld),i=Math.min(i,l.y);Number.isFinite(i)&&(a.object.position.y+=(a.object.position,-.0015-i))},d=new Map,u=!1,f=null,p=0,m=null,h=null,g=s.Ln,b=!1,y=new w.Pq0(0,4,18),x=e=>{let t=o.getActor(e).object.position;return[t.x,t.z]},M=()=>[...d.keys()].map(e=>{let t=o.getActor(e);return{id:e,position:x(e),target:t.target?[t.target[0],t.target[2]]:void 0}}),k=(e,t)=>{let n=o.getActor(e);o.moveTo(e,[t[0],n.object.position.y,t[1]])},S=(e,t)=>M().some(n=>{if(n.id===e)return!1;let a=d.get(n.id).destination.point;return 1.5>Math.hypot(n.position[0]-t[0],n.position[1]-t[1])||1.5>Math.hypot(a[0]-t[0],a[1]-t[1])});function A(e,t){return[t,...[1.65,3.3].flatMap(e=>Array.from({length:16},(n,a)=>[t[0]+Math.cos(a*Math.PI/8)*e,t[1]+Math.sin(a*Math.PI/8)*e]))].filter(t=>(0,s.mA)(t)&&!S(e,t)&&!E(t))}let E=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v.H3;return!!(f&&h&&(0,v.v7)(h,x(f),e,t))},I=e=>e.some((t,n)=>{if(E(t))return!0;let a=e[n+1];if(!a)return!1;let o=Math.ceil(Math.hypot(a[0]-t[0],a[1]-t[1])/.3);for(let e=1;e<o;e++)if(E([t[0]+(a[0]-t[0])*e/o,t[1]+(a[1]-t[1])*e/o]))return!0;return!1});function P(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"scenic",a=d.get(e),r=c.YU.find(e=>e.id===t);if(!a||!r||e===f||(null==m?void 0:m.includes(e))||t==="desk-".concat(f))return!1;for(let t of A(e,r.point)){let l=(0,s.pw)(x(e),t,g);if(l)return o.setState(e,"idle"),a.path=l.slice(1),a.destination={...r,point:t},a.source=n,a.wait=.4,a.blocked=0,a.retry=0,!0}return!1}let z=()=>{e.userData.actorStates=[...d.keys()].map(e=>"".concat(e,":").concat(o.getActor(e).state)).join(","),e.userData.actorPositions=Object.fromEntries([...d.keys()].map(e=>[e,o.getActor(e).object.position.toArray().map(e=>Number(e.toFixed(3)))])),e.userData.actorNavigation=Object.fromEntries([...d].map(e=>{let[t,n]=e;return[t,{destination:n.destination.id,source:n.source,remaining:n.path.length,waitingForPassage:n.blocked>0}]}))};function D(e,t,n){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1.3,r=o.getActor(e),l=Math.atan2(Math.sin(t-r.object.rotation.y),Math.cos(t-r.object.rotation.y));return r.object.rotation.y=(0,eb.vx)(r.object.rotation.y,t,a,n),Math.abs(l)}e.userData.riggedActors="",o.ready.then(a=>{if(!u){for(let n of(e.userData.rigResults=a,a)){if("loaded"!==n.status)continue;let e=n.agentId;r.set(e,function(e){e.updateMatrixWorld(!0);let t=[],n=new w.Pq0;return e.traverse(e=>{if(!e.isSkinnedMesh)return;e.skeleton.update();let a=e.geometry.getAttribute("skinIndex"),o=e.geometry.getAttribute("skinWeight");for(let r of["Left","Right"]){let l=[];for(let t=0;t<a.count;t++){let i=0;for(let n=0;n<4;n++){let l=e.skeleton.bones[a.getComponent(t,n)];(l.name===r+"Foot"||l.name===r+"ToeBase")&&(i+=o.getComponent(t,n))}i<.5||(e.getVertexPosition(t,n).applyMatrix4(e.matrixWorld),l.push({vertex:t,point:n.clone()}))}let i=Math.min(...l.map(e=>e.point.y)),s=l.filter(e=>e.point.y<i+.07),c=new Set;for(let e of[Math.PI/12,Math.PI/6,Math.PI/4,Math.PI/3,5*Math.PI/12,Math.PI/2])for(let t=0;t<32;t++){let n=t*Math.PI/16,a=new w.Pq0(Math.cos(n)*Math.cos(e),Math.sin(e),Math.sin(n)*Math.cos(e)),o=1/0,r=-1;for(let e of s){let t=e.point.dot(a);t<o&&(o=t,r=e.vertex)}r>=0&&c.add(r)}for(let n of c)t.push({mesh:e,vertex:n})}}),t}(o.getActor(e).object)),i(e),d.set(e,{path:[],destination:c.YU.find(t=>t.id==="desk-".concat(e)),wait:"marco"===e?3:9+4*eS.indexOf(e),visits:0,blocked:0,retry:0,source:"scenic"}),o.setState(e,f===e?"idle":"work"),f===e&&o.setPresentation(e,!0),t(e)}e.userData.soleSampleCounts=Object.fromEntries([...r].map(e=>{let[t,n]=e;return[t,n.length]})),e.userData.riggedActors=[...d.keys()].join(","),n()}});let R=e=>{let t=o.getActor(e).object.position,n=null!=h?h:[y.x,y.z];return Math.atan2(n[0]-t.x,n[1]-t.z)+.35},C=new Set;function F(){let t=!!(f&&h&&.3>Math.hypot(y.x-h[0],y.z-h[1]));for(let e of d.keys()){let n=t&&e!==f&&E(x(e),.45);o.getActor(e).object.visible=!n,n?C.add(e):C.delete(e)}e.userData.encounterHidden=[...C].join(",")}return{pickables:o.pickables,update(e,t){let n=Math.max(0,Math.min(.1,e-p));if(p=e,t)for(let[e,t]of d){let n=o.getActor(e);n.target&&(t.path.unshift([n.target[0],n.target[2]]),o.setState(e,"idle"))}if(o.setReducedMotion(t),t){for(let e of d.keys())e===f&&(o.getActor(e).object.rotation.y=R(e),o.setPresentation(e,!0)),i(e);F(),z();return}let a=M(),r=a.filter(e=>(0,s.RN)(e,a)).map(e=>e.id);for(let[t,u]of(o.setMovementBlocked(r),o.update(n),d)){var l,c;let d=o.getActor(t);if(i(t),r.includes(t)){if(u.blocked+=n,u.retry-=n,u.blocked>1.2&&u.retry<=0&&d.target){u.retry=1.5+.13*eS.indexOf(t);let e=a.filter(e=>e.id!==t);for(let n of A(t,u.destination.point)){let a=(0,s.Ud)(x(t),n,e,g);if(a){o.setState(t,"idle"),u.path=a.slice(1),u.destination={...u.destination,point:n},u.wait=.25,u.blocked=0;break}}}continue}if(u.blocked=0,d.target)continue;if(t===f){let e=D(t,R(t),n,2.4);o.setPresentation(t,e<.45),e>=.45&&o.setState(t,"turn");continue}if(null==m?void 0:m.includes(t)){let e=o.getActor(m[0]===t?m[1]:m[0]);if(e){let a=D(t,Math.atan2(e.object.position.x-d.object.position.x,e.object.position.z-d.object.position.z),n);o.setState(t,a>.3?"turn":"idle");continue}}if(u.path.length){u.wait-=n,u.wait<=0&&(k(t,u.path.shift()),u.path.length||(u.wait=u.destination.id.startsWith("market-")?26:14+eS.indexOf(t)%3*3));continue}let p=D(t,null!=(l=u.destination.facing)?l:d.object.rotation.y,n),h=u.destination.id==="desk-".concat(t)&&(e+2.4*eS.indexOf(t))%18<4.5;if(o.setState(t,p>.08?"turn":h?"work":"idle"),u.wait-=n,u.wait>0)continue;u.visits++;
1let v=(c=u.visits,"marco"===t?c%3==0?"desk-marco":"market-briefing":"jarod"===t?["market-coordination","desk-iron","desk-nova","desk-kaia","desk-sonic","desk-david","desk-erwin","desk-marco"][Math.max(0,c-1)%8]:c%3!=0?"desk-".concat(t):"kaia"===t?"library":"iron"===t?"desk-david":"david"===t?"desk-iron":"nova"===t?"desk-sonic":"canteen");P(t,v==="desk-".concat(f)?"canteen":v)||(u.wait=3)}F(),z()},setActive(e){if(null===e||eS.includes(e)||(e=null),f===e)return;let t=f;if(t&&o.setPresentation(t,!1),f=e,t&&P(t,"desk-".concat(t)),h=null,g=s.Ln,b=!1,e){let t=d.get(e);t&&(t.path=[]),o.setPresentation(e,!1),o.setState(e,"idle");let r=o.getActor(e);if(r&&t){var n,a;let o=(null!=(n=eM[e])?n:[0]).map(t=>((e,t,n)=>{let a=v.UZ.find(t=>t.id===e),o=Math.sin(a.rotation),r=Math.cos(a.rotation);return[a.position[0]+r*t+o*n,0,a.position[2]-o*t+r*n]})(e,-3.1+t,.1)).filter(e=>(0,s.mA)([e[0],e[2]])),l=null!=(a=o.find(t=>!S(e,[t[0],t[2]])))?a:o.find(t=>M().every(n=>n.id===e||Math.hypot(n.position[0]-t[0],n.position[1]-t[2])>1.2));l&&(Math.hypot(l[0]-r.object.position.x,l[2]-r.object.position.z)>.05&&(r.object.position.x=l[0],r.object.position.z=l[2],i(e),b=!0),t.destination={...c.YU.find(t=>t.id==="desk-".concat(e)),point:[l[0],l[2]]})}for(let[t,n]of d)t!==e&&n.destination.id==="desk-".concat(e)&&P(t,"desk-".concat(t),n.source)}},setEncounterCamera(e){if(!(h=e&&f?[e.x,e.z]:null)||!f||!o.getActor(f)){g=s.Ln;return}let t=x(f),n=Math.hypot(t[0]-h[0],t[1]-h[1]),a=Math.max(1,Math.ceil((n-.45)/.25));for(let[e,r]of(g={...s.Ln,obstacles:[...s.Ln.obstacles,...Array.from({length:a+1},(e,o)=>({id:"encounter-".concat(o),center:[h[0]+(t[0]-h[0])*o/a*(n-.45)/n,h[1]+(t[1]-h[1])*o/a*(n-.45)/n],radius:Math.max(.02,v.H3-s.Ln.clearance)}))]},b&&(o.getActor(f).object.rotation.y=R(f),b=!1),d)){if(e===f)continue;let t=o.getActor(e);if(!t)continue;let n=[x(e),...t.target?[[t.target[0],t.target[2]]]:[],...r.path],a=r.destination.id==="desk-".concat(f);(a||I(n)||E(r.destination.point))&&P(e,a?"desk-".concat(e):r.destination.id,r.source)}},setAgentDestination:(e,t)=>P(e,t,"public-agent"),setSpeaking(e){o.setSpeaking(e)},setDialoguePair(t,n){var a;m=t&&n&&t!==n&&eS.includes(t)&&eS.includes(n)?[t,n]:null,e.userData.dialoguePair=null!=(a=null==m?void 0:m.join(":"))?a:""},setVisitorPosition(e){y.copy(e),o.setVisitorPosition(e)},dispose(){u=!0,r.clear(),o.dispose()}}}(e,t=>{var n,a,o;tn.setReplaced(t),"david"===t&&(e.userData.davidRepresentation="rigged-3d");for(let e=C.length-1;e>=0;e--)C[e].userData.agentId===t&&tn.pickables.includes(C[e])&&C.splice(e,1);let r=e.getObjectByName("rigged-".concat(t));r&&ta.set(t,{root:r,shoulder:null!=(n=r.getObjectByName("RightArm"))?n:r.getObjectByName("RightShoulder"),spine:null!=(o=null!=(a=r.getObjectByName("Spine02"))?a:r.getObjectByName("Spine2"))?o:r.getObjectByName("Spine")})},t.onTextureReady),td=0;return e.userData.architecture="procedural",new G.GLTFLoader().load("/world/architecture/orbital-command-center.glb",n=>{let a=new Set,o=new Set,r=new Set,l=new Set;if(n.scene.traverse(e=>{if(!(e instanceof w.eaF))return;e.castShadow=!0,e.receiveShadow=!0;let t=(e,t,n,a)=>{let o=(0,J.ru)(t,{repeat:n});o&&(e.normalMap=o.normalMap,e.roughnessMap=o.roughnessMap,e.roughness=1,e.normalScale.set(a,a),R.add(o.normalMap),R.add(o.roughnessMap),e.needsUpdate=!0)};for(let n of(a.add(e.geometry),Array.isArray(e.material)?e.material:[e.material]))for(let e of(o.add(n),n instanceof w._4j&&!l.has(n)&&(l.add(n),/Deck Graphite|Deck Titanium|Edge Graphite/.test(n.name)?(n.roughness=.27,n.metalness=.54,n.color.multiplyScalar(1.14),n.envMapIntensity=1.18,t(n,"dark-steel",[6,6],.55)):/Blue Steel|Satin Alloy/.test(n.name)?(n.color.setHex(/Blue Steel/.test(n.name)?2242368:0xc9c7bc),n.roughness=.3,n.metalness=.59,n.envMapIntensity=.9,t(n,"brushed-steel",[5,5],.5)):/Screen Glass/.test(n.name)?(n.roughness=.15,n.metalness=.25):/Soft Upholstery/.test(n.name)?(n.roughness=.84,n.metalness=.02,n.envMapIntensity=.5,t(n,"fabric",[4,4],.85)):/Ceramic Ivory/.test(n.name)&&(n.color.setHex(0xd9d3c3),n.roughness=.4,n.metalness=.08,t(n,"plaster",[3,3],.4)),n.aoMap&&(n.aoMapIntensity=.78),/Cyan Light|White Light/.test(n.name)&&(n.emissiveIntensity=1.5)),Object.values(n)))e instanceof w.gPd&&r.add(e)}),T){for(let e of a)e.dispose();for(let e of o)e.dispose();for(let e of r)e.dispose();return}for(let e of a)I.add(e);for(let e of o)D.add(e);for(let e of r)R.add(e);!function(e){let t=e.getObjectByName("ENV_ARCHITECTURE");if(t){let e;e=0,t.traverse(t=>{var n,a,o,r;if(!(t instanceof w.eaF)||!/^ARCH__/.test(t.name)||/^ARCH__Deck_/.test(t.name))return;let l=t.geometry,i=l.getAttribute("position"),s=l.getIndex();if(!i||l.groups.length>1)return;let c=null!=(n=null==s?void 0:s.count)?n:i.count,d=[],u=e=>i.getY(e)>=-.004&&1.2>=i.getY(e)&&3.2>=Math.hypot(i.getX(e),i.getZ(e)+1.5),f=0;for(let e=0;e<c;e+=3){let t=null!=(a=null==s?void 0:s.getX(e))?a:e,n=null!=(o=null==s?void 0:s.getX(e+1))?o:e+1,l=null!=(r=null==s?void 0:s.getX(e+2))?r:e+2;u(t)&&u(n)&&u(l)?f++:d.push(t,n,l)}if(!f)return;let p=l.clone();p.setIndex(d),p.clearGroups(),1===l.groups.length&&p.addGroup(0,d.length,l.groups[0].materialIndex),p.computeBoundingSphere(),t.geometry=p;let m=()=>{p.dispose(),l.removeEventListener("dispose",m)};l.addEventListener("dispose",m),e+=f}),t.userData.retiredPodiumTriangles=e;let n={ARCH__Deck_Graphite:9332295,ARCH__Deck_Titanium:7755839};t.traverse(e=>{if(!(e instanceof w.eaF)||!(e.name in n))return;let t=t=>{if(!(t instanceof w._4j))return t;let a=t.clone();a.color.setHex(n[e.name]),a.roughness=.78,a.metalness=.16;let o=()=>{a.dispose(),t.removeEventListener("dispose",o)};return t.addEventListener("dispose",o),a};e.material=Array.isArray(e.material)?e.material.map(t):t(e.material)}),t.position.z=-1}e.scale.setScalar(.2803),e.updateMatrixWorld(!0)}(n.scene);let i=n.scene.getObjectByName("ENV_DESKS");for(let t of(i&&(i.visible=!1),e.add(n.scene),F))t.visible=!1;e.userData.architecture="blender-gltf",e.userData.roomDesign="nexus-yacht-mediterranean",t.onTextureReady()},void 0,()=>{T||(e.userData.architecture="procedural-fallback")}),{get pickables(){for(;td<tc.pickables.length;
1)C.push(tc.pickables[td++]);return C},update(t,n,a){var o,r;tn.update(t,n,O,a),tc.setVisitorPosition(a.position),tc.update(t,n),e8.update(t,n),e9.update(t,n),k.update(t,n,a);let l=ta.get("iron"),i=ta.get(null!=(o=null!=ts?ts:O)?o:"iron"),s=null,c=null;(null==l?void 0:l.shoulder)&&(l.shoulder.getWorldPosition(to),(null!=(r=l.spine)?r:l.root).getWorldPosition(tr),tl.copy(to).sub(tr),tl.y=0,tl.normalize().multiplyScalar(.1),to.add(tl),to.y+=.02,s=to),(null==i?void 0:i.spine)&&(i.spine.getWorldPosition(ti),ti.y+=.16,c=ti),A.update(t,n,{ironShoulder:O?null:s,target:c}),E&&(e.userData.cofMascot={phase:E.userData.reaction,visible:E.visible,target:ts,position:E.position.toArray()})},setActive(e){for(let t of(O=e,tc.setActive(e),j))t.material.opacity=t.id===e?.82:t.base},setEncounterCamera(e){tc.setEncounterCamera(e)},setSpeaking(e){tc.setSpeaking(e)},setAgentDestination:(e,t)=>tc.setAgentDestination(e,t),setAgentActivity(e){b.setAgentActivity(e)},setAgentDialogue(e){b.setAgentDialogue(e)},setMemberDesk(t){var n,a,o;if(!T){if(N.setMember(null!=(a=null==t?void 0:t.id)?a:null),!t){if(!i)return;let t=C.indexOf(i.screen);t>=0&&C.splice(t,1),i.dispose(),i=void 0,e.userData.memberDesk="none";return}k.setRights({member:!0,owner:!1}),i?i.setProfile(t):((i=function(e,t){let{profile:n,resources:a,slot:o=0}=t,r=c.tz[Math.min(Math.max(0,o),c.tz.length-1)],i=new w._4j({color:3160126,roughness:.94,metalness:.05}),{desk:s,screen:d}=(0,P.y)(e,{id:"member-desk",position:r.position,rotation:r.rotation},a,{compact:!0,seatSurface:i});
1s.userData.memberDesk={slot:r.id},d.name="member-desk-screen",delete d.userData.agentId,d.userData.memberDesk=!0;let u=eT(512,184);d.material=u.material;let f=eT(512,128),p=new w.eaF(a.shapes.plane,f.material);p.name="member-desk-nameplate",p.position.set(.6,1.18,1.222),p.scale.set(1.32,.33,1),p.castShadow=!1,p.receiveShadow=!1,s.add(p);let m=n,h=ez,g="",v="",b=!1;function y(){if(b)return;let e=function(e){let t=String(e.alias||"Membre").trim().slice(0,20).toUpperCase();return"".concat(t," \xb7 ").concat(String(e.badge||"Desk").toUpperCase())}(m);if(e!==g){var t;g=e,f.context&&(t=f.context,t.fillStyle="#10232e",t.fillRect(0,0,512,128),t.fillStyle="#c4ab78",t.fillRect(24,26,4,76),t.textAlign="left",t.fillStyle="#edf2f0",t.font="600 40px sans-serif",t.fillText(e,46,80,440)),f.texture.needsUpdate=!0}let n=eR(h),a=ej(n),o=e+"\n"+a.join("\n");o!==v&&(v=o,u.context&&function(e,t,n,a){let o=e.createLinearGradient(0,0,512,184);if(o.addColorStop(0,"#12313c"),o.addColorStop(1,"#041019"),e.fillStyle=o,e.fillRect(0,0,512,184),e.textAlign="left",e.fillStyle="#c4ab78",e.fillRect(20,18,3,22),e.fillStyle="#ecf4f3",e.font="600 22px sans-serif",e.fillText("MON DESK",32,36),e.textAlign="right",e.fillStyle="#7ca0b0",e.font="13px monospace",e.fillText(a,492,34,260),e.textAlign="left",t.length<=2){e.fillStyle="#e6f0f1",e.font="500 24px sans-serif",e.fillText(t[0],32,92,450),t[1]&&(e.fillStyle="#86acba",e.font="16px sans-serif",e.fillText(t[1],32,124,450)),e.fillStyle="#536c81",e.font="12px monospace",e.fillText("COFIATRADING \xb7 DESK PERSONNEL",32,166);return}let r=[n.day,n.week,n.month];for(let n=0;n<3;n++){let a=32+156*n;e.fillStyle="#86acba",e.font="12px sans-serif",e.fillText(t[2*n],a,72),e.fillStyle=r[n]>0?"#72d6b0":r[n]<0?"#e08a8a":"#e6f0f1",e.font="600 24px sans-serif",e.fillText(t[2*n+1],a,104,146)}e.fillStyle="#1c3c4a",e.fillRect(32,124,448,1),e.fillStyle="#b5cdd7",e.font="14px monospace",e.fillText(t[6],32,150),e.textAlign="right",e.fillText(t[7],480,150),e.textAlign="left",e.fillStyle="#536c81",e.font="12px monospace",e.fillText("COFIATRADING \xb7 DESK PERSONNEL",32,172)}(u.context,a,n,e),u.texture.needsUpdate=!0);let r=Object.prototype.hasOwnProperty.call(l.FJ,m.outfit)?l.FJ[m.outfit]:3160126;i.color.getHex()!==r&&i.color.setHex(r)}y();let x=0;return s.traverse(e=>{e instanceof w.eaF&&x++}),{desk:s,screen:d,get meshCount(){return x},get lines(){return ej(eR(h))},setProfile(e){e.id!==m.id&&(h={status:"loading",journal:null,leaderboard:null}),m=e,y()},setData(e){h=e,y()},dispose(){if(!b)for(let e of(b=!0,s.removeFromParent(),i.dispose(),[u,f]))e.material.dispose(),e.texture.dispose()}}}(e,{profile:t,resources:y.resources})).setData(N.data),C.push(i.screen)),e.userData.memberDesk={slot:null!=(o=null==(n=i.desk.userData.memberDesk)?void 0:n.slot)?o:"me",alias:t.alias,meshes:i.meshCount}}},loadMemberDesk:async e=>N.load(e),ownerCabinEntry:{point:c.E6.entry,yaw:c.E6.entryYaw,pitch:c.E6.entryPitch},setOwnerCabin(t){T||(x.setOpen(t),e.userData.ownerCabin=t?"open":"closed")},loadOwnerCabin:async e=>T?{checkedAt:"",panels:[]}:x.load(fetch,e),worldRooms(){let t=k.report();return e.userData.worldRooms=t,t},refreshDisplays(){b.refresh()},cancelMarketRefresh(){b.cancelRefresh()},setDialoguePair(e,t){tc.setDialoguePair(e,t)},react(e){ts=e,A.react(e),t.onTextureReady()},dispose(){for(let e of(T=!0,N.dispose(),S.dispose(),x.dispose(),k.dispose(),M.dispose(),null==i||i.dispose(),i=void 0,e8.dispose(),e9.dispose(),A.dispose(),b.dispose(),y.dispose(),tc.dispose(),tn.dispose(),g.dispose(),R))e.dispose();for(let e of I)e.dispose();for(let e of D)e.dispose();e.traverse(e=>{e instanceof w.ZLX&&e.dispose()}),e.clear()}}}(nd,{onTextureReady:nS,onTextureError:nk}),"face"===D&&nd.traverse(e=>{e.isDirectionalLight&&e.castShadow&&e.position.set(6,12,34)}),(S=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"market-observations-wall",a=t.getObjectByName(n);if(!a)return null;let o=document.createElement("div");o.className="cof-tradingview-wall",o.style.cssText="width:1200px;height:675px;pointer-events:none;backface-visibility:hidden;overflow:hidden;background:#07131e",o.setAttribute("aria-hidden","true"),o.inert=!0;let r=new w.Z58,l=new k(o);a.updateWorldMatrix(!0,!1),a.getWorldPosition(l.position),a.getWorldQuaternion(l.quaternion);let i=a.getWorldScale(new w.Pq0);l.scale.set(i.x/1200,i.y/675,1),r.add(l);let s=new E;s.domElement.style.cssText="position:absolute;inset:0;pointer-events:none;z-index:0;
1overflow:hidden",e.prepend(s.domElement);let c=a.material,d=new w.V9B({color:0,opacity:0,transparent:!1,blending:w.XIg,side:w.hB5});return a.material=d,a.userData.marketPanel=!0,{element:o,resize:(e,t)=>s.setSize(e,t),render:e=>s.render(r,e),dispose(){a.material=c,d.dispose(),r.remove(l),s.domElement.remove()}}}(K,nd))&&tP(S.element),x=(0,l.Uh)(),nd.add(x.group),M=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:()=>{},a=new Map,o=!1,r,d=!1,b=e=>{let t=a.get(e);t&&(t.plaque.dispose(),t.avatar.dispose(),a.delete(e))};function w(e){for(let[t,n]of a)n.expiresAt<=e&&b(t)}let y=null;return{setMembers:function(e,d){if(o)return;let v=Date.now(),y=new Map,x=new Set;for(let t of d){if(y.size>=12)break;if(!t||"string"!=typeof t.id||t.id.length>80||!t.profile||"string"!=typeof t.profile.id||t.profile.id===(null==e?void 0:e.id)||x.has(t.profile.id)||"string"!=typeof t.profile.alias||t.profile.alias.length>80||!Number.isFinite(t.expiresAt)||!Number.isFinite(t.updatedAt)||t.expiresAt<=v||t.updatedAt>v+5e3||t.expiresAt-t.updatedAt>6e4)continue;let n=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Wi;if(!e||![e.x,e.z,e.heading].every(Number.isFinite))return null;let n=u(e.z,-1,1)*h(t),a=function(e){var t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.Wi,a=u(f(e[1],0),-h(n)+.01,h(n)-.01),o=m(a,n)-.01,r=u(f(e[0]),-o,o),l=[r,a];if((0,s.mA)(l,n))return l;for(let e=.2;e<=8;e+=.2)for(let t=0;t<48;t++){let o=t*Math.PI/24,l=[r+Math.cos(o)*e,a+Math.sin(o)*e];if((0,s.mA)(l,n))return l}return null!=(t=c.YU.map(e=>e.point).find(e=>(0,s.mA)(e,n)))?t:null}([u(e.x,-1,1)*m(n,t),n],t);return a?{position:[a[0],0,a[1]],heading:p(e.heading)}:null}(t.position);n&&(x.add(t.profile.id),y.set(t.id,{member:t,pose:n}))}for(let e of a.keys())y.has(e)||b(e);for(let[e,{member:n,pose:o}]of y){let r=a.get(e);if(!r){let i=(0,l.Uh)();i.group.name="cof-member-"+e,i.group.userData.role="member",t.add(i.group),i.update({position:o.position,yaw:o.heading,pitch:0,speed:2.8,mode:"visitor"},0,!0);let s=(0,g.z)({hauteurAuSol:3.25});s.suivre(o.position[0],o.position[2]),t.add(s.objet),r={avatar:i,plaque:s,target:o,path:[],expiresAt:n.expiresAt,profileId:n.profile.id},a.set(e,r)}if(r.avatar.setAppearance(n.profile),r.plaque.ecrire(n.profile.alias,n.profile.badge,"Capitaine"===n.profile.badge),r.expiresAt=n.expiresAt,Math.hypot(r.target.position[0]-o.position[0],r.target.position[2]-o.position[2])>.025){var M,k;let e=[r.avatar.group.position.x,r.avatar.group.position.z],t=[o.position[0],o.position[2]];r.path=null!=(k=null==(M=(0,s.pw)(e,t,i.Wi))?void 0:M.slice(1))?k:[]}r.target=o}!function e(){r&&clearTimeout(r),r=void 0,!o&&a.size&&(r=setTimeout(()=>{w(Date.now()),e(),n()},Math.min(Math.max(1,Math.min(...[...a.values()].map(e=>e.expiresAt))-Date.now()),6e4)))}(),n()},setEncounter(e){y=e},get size(){return a.size},get moving(){return d},update(e,t,n,r){let l=arguments.length>4&&void 0!==arguments[4]&&arguments[4],c=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Date.now();if(o)return;w(c),d=!1;let u=Math.max(0,Math.min(Number.isFinite(t)?t:0,.1));for(let e of a.values()){let t=e.avatar.group,n=[t.position.x,t.position.z],a=n;if(l)a=[e.target.position[0],e.target.position[2]],e.path=[];else if(e.path.length){let t=e.path[0],o=Math.hypot(t[0]-n[0],t[1]-n[1]);if(o<.06)e.path.shift(),a=t;else{let e=Math.min(o*(1-Math.exp(-(7*u))),4.2*u)/o,r=[n[0]+(t[0]-n[0])*e,n[1]+(t[1]-n[1])*e];(0,s.RA)(n,r,i.Wi)&&(a=r)}}let o=l?e.target.heading:function(e,t,n){let a=1-Math.exp(-(9*Math.max(0,Math.min(f(n),.1)))),o=p(t-e);return p(e+o*a)}(t.rotation.y,e.target.heading,u);e.avatar.update({position:[a[0],0,a[1]],yaw:o,pitch:0,speed:2.8,mode:"visitor"},u,!0),(e.path.length||Math.abs(Math.atan2(Math.sin(o-e.target.heading),Math.cos(o-e.target.heading)))>.015)&&(d=!0),e.plaque.suivre(a[0],a[1]);let r=!!y&&(0,v.v7)(y.lens,y.agent,a,.45);t.visible=!r,e.plaque.objet.visible=!r}},dispose(){if(!o){for(let e of(o=!0,r&&clearTimeout(r),a.keys()))b(e);d=!1}}}}(K,nd,nS),y=function(e){var t,n,a;let o,r,{scene:l,room:i}=e,s=null!=(t=e.fetchImpl)?t:function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return fetch(...t)},c=Math.max(5e3,null!=(n=e.intervalMs)?n:12e3),d=null!=(a=e.now)?a:()=>Date.now(),u=!1,f=e7,p=!1,m=null,h=null,g=d(),v=new w.Pq0(0,0,0),b=!1,y={position:new w.Pq0,ms:0},x=null,M="",k=null,S=new w.Q1f;function A(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(u)return;let n=d();!t&&(n-y.ms<2e3||b&&3>y.position.distanceTo(v))||(y.ms=n,y.position.copy(v),function(t){if(x=t,t.signature!==M){var n;for(let e of(M=t.signature,t.crew))e.accepted=i.setAgentDestination(e.agentId,e.destination);let a=t.welcome,o=a?tm.find(e=>e.id===a.target):void 0;a&&o?((e,t)=>
1{if(!k){let e=new w.rKP(.52,.78,40),t=new w.V9B({transparent:!0,opacity:.55,depthWrite:!1,side:w.$EB,blending:w.EZo,toneMapped:!1});(k=new w.eaF(e,t)).name="ship-welcome-halo",k.rotation.x=-Math.PI/2,k.renderOrder=3,k.frustumCulled=!0,l.add(k)}k.position.set(e[0],th+.03,e[1]),k.material.color.copy(S.set(t).convertSRGBToLinear()),k.visible=!0})(o.point,a.accent):k&&(k.visible=!1),null==(n=e.onChange)||n.call(e)}l.userData.shipIntelligence={tier:t.tier,accent:t.accent,viewerResolved:p,outside:t.outside,liveSeenAt:h?new Date(h).toISOString():null,censured:t.censured,welcome:t.welcome?{greeter:t.welcome.greeter,target:t.welcome.target,line:t.welcome.line}:null,crew:t.crew.map(e=>({agent:e.agentId,destination:e.destination,fact:e.fact,source:e.source,accepted:!0===e.accepted})),signature:t.signature}}(function(e){var t,n,a;let o=0,r=(function(e){var t,n;let{viewer:a,live:o}=e,r=te(o),l=null!=(n=null==o?void 0:o.clotures_jour)?n:[],i=null!==e.visitor.aboardSeconds&&e.visitor.aboardSeconds<=120,s=[];if(r.length){let e=[...new Set(r.map(e=>e.symbole))].join(", ");s.push(tn("marco","desk-marco","".concat(r.length," position(s) d\xe9clench\xe9e(s) : ").concat(e),ta))}else l.length?s.push(tn("marco","market-briefing","".concat(l.length," cl\xf4ture(s) tranch\xe9e(s) aujourd'hui, il d\xe9briefe"),to)):tt(o)?s.push(tn("marco","observatory","aucune position d\xe9clench\xe9e, le feed est frais : il observe",tl)):s.push(tn("marco","desk-marco","aucun fait de march\xe9 lisible : il reste \xe0 son poste",tl));let c=i&&!a.deskAllowed?tc(e.visitor.point,e.destinations,td):null;return c?s.push(tn("iron",c,"un nouveau venu (".concat(a.label||"visiteur",") est \xe0 bord depuis moins de ").concat(120," s"),ts)):s.push(tn("iron","desk-iron","personne ne vient d'embarquer : il tient l'accueil","components/world/scene/world-layout.ts:111 desk-<agent>")),r.length>=2?s.push(tn("jarod","market-coordination","".concat(r.length," positions d\xe9clench\xe9es en m\xeame temps"),ta)):s.push(tn("jarod","desk-jarod","moins de deux positions ouvertes : il reste \xe0 son poste",ta)),(null==o||null==(t=o.marco)?void 0:t.lecture)?s.push(tn("nova","desk-nova","la lecture ".concat(o.marco.lecture.symbole," est publi\xe9e"),tr)):s.push(tn("nova","library","aucune lecture de march\xe9 publi\xe9e : elle cherche",tr)),a.agents.david.configured?s.push(tn("david","desk-david","le serveur le d\xe9clare configur\xe9 : il est disponible",ti)):s.push(tn("david","canteen","le serveur ne le d\xe9clare pas configur\xe9 : il n'est pas \xe0 son poste",ti)),a.deskAllowed?s.push(tn("kaia","desk-kaia","le visiteur a d\xe9j\xe0 le Desk : elle tient son poste",ts)):s.push(tn("kaia","library","celui qui regarde est ".concat(a.label||a.tier," : elle pr\xe9pare l'Academy"),ts)),l.length?s.push(tn("sonic","market-briefing","".concat(l.length," cl\xf4ture(s) \xe0 relayer"),to)):s.push(tn("sonic","desk-sonic","rien n'a \xe9t\xe9 tranch\xe9 aujourd'hui",to)),a.owner?s.push(tn("erwin","market-briefing","le propri\xe9taire est \xe0 bord",ts)):s.push(tn("erwin","desk-erwin","le propri\xe9taire n'est pas \xe0 bord",ts)),s})(e).filter(e=>!(0,e4.ug)(e.fact)||(o++,!1)),l=function(e){var t,n;let a=e.visitor.aboardSeconds;if(null===a||a>120)return null;let{viewer:o}=e,r=tf[o.tier],l=(null==(t=o.agents[r])?void 0:t.allowed)?r:"iron",i=tu[o.tier];return(0,e4.ug)(i)?null:{greeter:l,line:i,target:o.deskAllowed?"desk-marco":null!=(n=tc(e.visitor.point,e.destinations,td))?n:"lounge",accent:o.accent,untilMs:e.nowMs+1e3*Math.max(0,120-a)}}(e),i=l&&(0,e4.ug)(l.line)?(o++,null):l,s={positionsOuvertes:te(e.live).length,cloturesJour:(null!=(a=null==(t=e.live)?void 0:t.clotures_jour)?a:[]).length,marcheFrais:tt(e.live),releveUtc:"string"==typeof(null==(n=e.live)?void 0:n.genere_utc)?e.live.genere_utc:null},c=[e.viewer.tier,r.map(e=>"".concat(e.agentId,">").concat(e.destination)).join("|"),i?"".concat(i.greeter,">").concat(i.target):"-"].join("/");return{tier:e.viewer.tier,accent:e.viewer.accent,crew:r,welcome:i,outside:s,censured:o,signature:c}}({viewer:f,live:m,destinations:tm,nowMs:n,visitor:{point:b?[v.x,v.z]:null,aboardSeconds:Math.round((n-g)/1e3)}})))}let E=()=>
1"undefined"==typeof document||"hidden"!==document.visibilityState;async function I(){if(!u){if(E()){null==r||r.abort();let t=(r=new AbortController).signal,[n,a]=await Promise.allSettled([tg("/api/world-access",s,t),(0,tp.w)()?tg("/api/desk/live-desk",s,t):Promise.resolve(null)]);if(!u){if("fulfilled"===n.status){let e=function(e){let t;if(!e9(e))return null;let n=e9(e.membership)?e.membership:null;if(!n||(t=n.tier,!e3.some(e=>e===t)))return null;let a=e9(e.desk)?e.desk:null,o=e9(e.agents)?e.agents:{},r=Object.fromEntries(e6.map(e=>{let t=e9(o[e])?o[e]:null;return[e,{allowed:(null==t?void 0:t.allowed)===!0,configured:(null==t?void 0:t.configured)===!0}]}));return{tier:n.tier,label:"string"==typeof n.label?n.label:"",accent:"string"==typeof n.accent&&e8.test(n.accent)?n.accent:"#9cabb9",authenticated:!0===e.authenticated,owner:!0===e.owner,deskAllowed:(null==a?void 0:a.allowed)===!0,agents:r}}(n.value);e&&(f=e,p=!0)}if("fulfilled"===a.status&&null!==a.value){var e;let t=(e=a.value,(0,eQ.In)(e)?e:null);t&&(m=t,h=d())}A(!0)}}u||(o=setTimeout(()=>{I()},c))}}let P=()=>{E()&&!u&&(clearTimeout(o),I())};return"undefined"!=typeof document&&document.addEventListener("visibilitychange",P),I(),{setVisitorPosition(e){!u&&e.toArray().every(Number.isFinite)&&(v.copy(e),b=!0,A())},intent:()=>x,refresh(){P()},dispose(){u=!0,clearTimeout(o),null==r||r.abort(),"undefined"!=typeof document&&document.removeEventListener("visibilitychange",P),k&&(l.remove(k),k.geometry.dispose(),k.material.dispose(),k=null),delete l.userData.shipIntelligence}}}({scene:nd,room:o,onChange:nS}),T=function(e,t){let n=e.ownerDocument,a=null,o=!1,r=null,l=!0,s=n.createElement("div");s.className="cof-action-hud",s.dataset.interaction="none",s.style.cssText='position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;font:500 13px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;max-width:min(92vw,420px);text-align:center';let c=n.createElement("button");c.type="button",c.hidden=!0,c.style.cssText='pointer-events:auto;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(8,16,28,.82);color:#eef4ff;backdrop-filter:blur(8px);cursor:pointer;font:600 14px/1 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.01em;box-shadow:0 8px 26px rgba(0,0,0,.42)';let d=n.createElement("i");d.style.cssText="width:8px;height:8px;border-radius:50%;flex:0 0 auto;background:"+$;let u=n.createElement("span"),f=n.createElement("kbd");f.textContent="E",f.style.cssText="font:600 11px/1 ui-monospace,SFMono-Regular,monospace;padding:3px 6px;border-radius:5px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);flex:0 0 auto",c.append(d,u,f);let p=n.createElement("p");p.style.cssText='margin:0;padding:5px 11px;border-radius:999px;color:rgba(228,238,255,.78);background:rgba(8,16,28,.55);font:500 12px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif',p.hidden=!0,s.append(c,p),e.appendChild(s);let m=()=>{l&&a&&o&&t(a)},h=e=>{e.preventDefault(),e.stopPropagation(),m()},g=e=>{var t,n;!(!l||!a||e.metaKey||e.ctrlKey||e.altKey||"e"!==e.key&&"E"!==e.key&&"Enter"!==e.key||(0,i.l4)(e.target))&&("Enter"===e.key&&(null==(n=e.target)||null==(t=n.closest)?void 0:t.call(n,'button,a,[role="button"]'))||(e.preventDefault(),m()))};c.addEventListener("click",h),n.addEventListener("keydown",g);let v=(e,t)=>{if(a=l?e:null,!l||!e){o=!1,c.hidden=!0,r=null,s.dataset.interaction="none";let e=l?t:null;e?(p.hidden=!1,p.textContent="".concat(e.interaction.label," \xb7 ").concat(Math.round(e.distance)," m â avancez"),s.dataset.nearest=e.interaction.id):(p.hidden=!0,delete s.dataset.nearest);return}let{interaction:n,locked:i,reason:m}=e,h=o=!i&&"door"!==n.kind;c.hidden=!1,c.disabled=!h,c.style.opacity=h?"1":".82",c.style.cursor=h?"pointer":"default",d.style.background=i||"door"===n.kind?"#e0a13c":$,u.textContent="".concat(n.verb," ").concat(n.label),f.hidden=!h,c.setAttribute("aria-label","".concat(n.verb," ").concat(n.label).concat(i?" â ".concat(m):"")),p.hidden=!i&&!m,(i||m)&&(p.textContent=m||"Acc\xe8s r\xe9serv\xe9"),r=n.id,s.dataset.interaction=n.id,s.dataset.interactionKind=n.kind,s.dataset.interactionLocked=String(i),delete s.dataset.nearest};return{set:v,get shownId(){return r},setEnabled(e){l=e,e||v(null,null)},dispose(){c.removeEventListener("click",h),n.removeEventListener("keydown",g),s.remove()}}}(K,e=>{var t,n,a,o;let{interaction:r}=e;if(nt){nt=null,e$=99,null==b||b.look(0,0),nS();return}switch(r.kind){case"seat":{let e=function(e){if(!e.seat)return null;let t=z.iU[e.deck],{point:n,eye:a,look:o}=e.seat;return{position:[n[0],t+a,n[1]],target:o}}(r);e&&(nt={interaction:r,pose:e});break}case"agent":r.payload&&tL.current.onSelectAgent(r.payload);break;
1case"desk":null==(t=(n=tL.current).onOpenMemberDesk)||t.call(n);break;case"screen":null==(a=(o=tL.current).onOpenMarkets)||a.call(o)}nS()});let O=(e,t,n)=>{null==x||x.setAppearance(e),null==M||M.setMembers(e,t),function(e,t){let n=t&&!!e;if(null==o||o.setMemberDesk(n?e:null),!n)return nB();C||(n_(),C=setInterval(()=>{n_()},12e4))}(e,n),nS()};O(tD.current.profile,tD.current.members,tD.current.desk),nY(tR.current.open),b=(0,i.CO)({mode:"visitor",element:e.domElement,getPose:()=>({position:nu.position.toArray(),target:nf.toArray(),fov:nu.fov}),setPose:e=>{var t;nu.position.set(...e.position),nf.set(...e.target),eF=e.fov,nu.fov=(0,i.z2)(e.fov,nu.aspect),nu.updateProjectionMatrix(),e$=null!=(t=e.boom)?t:99},onInput:nS,onExit:()=>{var e,t;return null==(e=(t=tL.current).onFreeCameraExit)?void 0:e.call(t)},onPortal:()=>{try{tY.reducedMotion||K.animate([{opacity:.15},{opacity:1}],{duration:520,easing:"ease-out"})}catch(e){}nS()}});let N=e=>{var t,n;let a=null==(n=e.target)||null==(t=n.closest)?void 0:t.call(n,"[data-free-camera-deck]"),o=null==a?void 0:a.getAttribute("data-free-camera-deck");if(o&&b&&(e.preventDefault(),b.enabled||U(!0),b.goToDeck(o))){try{tY.reducedMotion||K.animate([{opacity:.15},{opacity:1}],{duration:520,easing:"ease-out"})}catch(e){}nS()}};for(let e of(document.addEventListener("click",N),j=()=>document.removeEventListener("click",N),nR(tY.destination,tY.agentId,tY.reducedMotion,!0),v.UZ)){let t=document.createElement("button");t.type="button",t.className="cof-scene-beacon",t.hidden=!0,t.setAttribute("aria-label","Rencontrer ".concat(e.name," dans la salle")),t.style.setProperty("--beacon-accent",e.color);let n=document.createElement("i"),a=document.createElement("span");a.textContent=e.name;let o=document.createElement("small");o.textContent=e.label,t.append(n,a,o),t.addEventListener("click",()=>tL.current.onSelectAgent(e.id)),K.appendChild(t);let r=Math.sin(e.rotation),l=Math.cos(e.rotation);t5.push({id:e.id,element:t,position:new w.Pq0(e.position[0]-3.1*l+.1*r,3.7,e.position[2]+3.1*r+.1*l)})}(r=new ResizeObserver(nC)).observe(K),document.addEventListener("visibilitychange",n$),R=setInterval(()=>{document.hidden||null==o||o.refreshDisplays()},6e4),window.addEventListener("resize",nC),nC();let U=e=>{if(e){var t,n;tX=1,nM=null,null==o||o.setActive(null),null==(t=(n=tL.current).onTravelChange)||t.call(n,!1,"".concat(tY.destination,"-").concat(tY.agentId))}null==b||b.setEnabled(e),e||null==o||o.setActive("accueil"===tY.destination?null:(0,v.hy)(tY.destination,tY.agentId).id),nS()};U(tz.current),tj.current={setMembers:O,setFreeCamera:U,setOwnerCabin:e=>{nY(e),nS()},enterCabin:()=>{let e=null==o?void 0:o.ownerCabinEntry;b&&e&&tR.current.open&&(b.enabled||U(!0),b.teleport([e.point[0],0,e.point[1]],e.yaw,e.pitch),nS())},goToPlace:e=>{var t;b&&("owner"!==e.access||tR.current.open)&&(b.enabled||U(!0),b.teleport([e.point[0],0,e.point[1]],e.yaw,null!=(t=e.pitch)?t:.12,e.deck)&&(K.dataset.place=e.id),nS())},setView:nR,setActivity:nE,setDialogue:nz,react:e=>{null==o||o.react(e),nS()},setSpeaking:e=>{null==o||o.setSpeaking(e),nS()}},nE(tO.current),nz(tN.current.feed,tN.current.enabled)}catch(e){nk()}return()=>{for(let e of(Q=!0,tB(),tj.current=null,nV(),null==a||a.dispose(),cancelAnimationFrame(eC),A&&clearTimeout(A),R&&clearInterval(R),nB(),U&&clearTimeout(U),L&&(L.element.getAnimations().forEach(e=>e.cancel()),L.element.remove()),null==o||o.setDialoguePair(null,null),null==T||T.dispose(),null==y||y.dispose(),null==b||b.dispose(),null==x||x.dispose(),null==M||M.dispose(),null==S||S.dispose(),nn.values()))e.element.getAnimations().forEach(e=>e.cancel()),e.element.remove();if(nn.clear(),null==r||r.disconnect(),t5.forEach(e=>e.element.remove()),document.removeEventListener("visibilitychange",n$),window.removeEventListener("resize",nC),e){let n=e.domElement;n.removeEventListener("webglcontextlost",nU),n.removeEventListener("webglcontextrestored",nL),n.removeEventListener("pointermove",nj),n.removeEventListener("pointerdown",nT),n.removeEventListener("pointerup",nO),n.removeEventListener("pointerleave",nN),n.removeEventListener("pointercancel",nN),null==j||j(),nW(),null==o||o.dispose(),(0,J.US)(),null==tW||tW.dispose(),null==t||t.dis
1pose(),e.dispose(),e.forceContextLoss(),n.remove()}}},[]),(0,o.useEffect)(()=>{var e;tD.current={profile:t,members:y,desk:x},null==(e=tj.current)||e.setMembers(t,y,x)},[t,y,x]),(0,o.useEffect)(()=>{var e;tR.current={open:M},null==(e=tj.current)||e.setOwnerCabin(M)},[M]),(0,o.useEffect)(()=>{var e;S&&(null==(e=tj.current)||e.enterCabin())},[S]),(0,o.useEffect)(()=>{var e;A&&(null==(e=tj.current)||e.goToPlace(A.target))},[A]),(0,o.useEffect)(()=>{var e;null==(e=tj.current)||e.setFreeCamera(j)},[j]),(0,o.useEffect)(()=>{var e;null==(e=tj.current)||e.setView(N,U,L)},[N,U,L]),(0,o.useEffect)(()=>{var e;null==(e=tj.current)||e.setSpeaking(eD)},[eD]),(0,o.useEffect)(()=>{var e;eF&&(null==(e=tj.current)||e.react(U))},[eF,U]),(0,o.useEffect)(()=>{var e;null==(e=tj.current)||e.setActivity(e$)},[e$]),(0,o.useEffect)(()=>{var e;null==(e=tj.current)||e.setDialogue(tA,tE)},[tA,tE]),(0,a.jsx)("div",{ref:tF,className:"cof-webgl-scene",style:{position:"absolute",inset:0,overflow:"hidden"},children:tI&&(0,r.createPortal)((0,a.jsx)(b.T,{variant:"wall",onExpand:O}),tI)})}}}]);
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.