bit-office 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +5075 -0
- package/dist/index.js.map +1 -0
- package/dist/web/out/404.html +7 -0
- package/dist/web/out/Office Tileset/LICENSE.txt +14 -0
- package/dist/web/out/Office Tileset/Office Designs/Office Level 1.png +0 -0
- package/dist/web/out/Office Tileset/Office Designs/Office Level 2.png +0 -0
- package/dist/web/out/Office Tileset/Office Designs/Office Level 3.5.png +0 -0
- package/dist/web/out/Office Tileset/Office Designs/Office Level 3.jpeg +0 -0
- package/dist/web/out/Office Tileset/Office Designs/Office Level 3.png +0 -0
- package/dist/web/out/Office Tileset/Office Designs/Office Level 4.png +0 -0
- package/dist/web/out/Office Tileset/Office Palette/Office Palette Large.png +0 -0
- package/dist/web/out/Office Tileset/Office Palette/Office Palette Medium.png +0 -0
- package/dist/web/out/Office Tileset/Office Palette/Office Palette Small.png +0 -0
- package/dist/web/out/Office Tileset/Office Tileset All 16x16 no shadow.png +0 -0
- package/dist/web/out/Office Tileset/Office Tileset All 16x16.png +0 -0
- package/dist/web/out/Office Tileset/Office Tileset All 32x32 no shadow.png +0 -0
- package/dist/web/out/Office Tileset/Office Tileset All 32x32.png +0 -0
- package/dist/web/out/Office Tileset/Office Tileset All 48x48 no shadow.png +0 -0
- package/dist/web/out/Office Tileset/Office Tileset All 48x48.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/A2 Office Floors.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/A4 Office Walls.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/A5 Office Floors & Walls.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/B-C-D-E Office 1 No Shadows.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/B-C-D-E Office 1.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/B-C-D-E Office 2 No Shadows.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/B-C-D-E Office 2.png +0 -0
- package/dist/web/out/Office Tileset/Office VX Ace/README.txt +2 -0
- package/dist/web/out/_next/static/chunks/176.7af67c16b9732441.js +1 -0
- package/dist/web/out/_next/static/chunks/29.3e7650727aadf8c2.js +1 -0
- package/dist/web/out/_next/static/chunks/290.d0fe5fb72a5068b2.js +1 -0
- package/dist/web/out/_next/static/chunks/325ca9c7-f84e7e4973790fdf.js +1 -0
- package/dist/web/out/_next/static/chunks/4d67e943-e6a0fd3b5c397505.js +1 -0
- package/dist/web/out/_next/static/chunks/757.6b9b9f11f348e673.js +1 -0
- package/dist/web/out/_next/static/chunks/810.44213c6355518b0b.js +1 -0
- package/dist/web/out/_next/static/chunks/904.8b3ff312a1556d6a.js +1 -0
- package/dist/web/out/_next/static/chunks/977-26ddf708be8caf79.js +1 -0
- package/dist/web/out/_next/static/chunks/989-f3ebca68e0b5e7ee.js +1 -0
- package/dist/web/out/_next/static/chunks/app/_not-found/page-0f7c77f58dea5cf2.js +1 -0
- package/dist/web/out/_next/static/chunks/app/layout-7ca1be140a482711.js +1 -0
- package/dist/web/out/_next/static/chunks/app/office/page-880d13f3a18654a9.js +1 -0
- package/dist/web/out/_next/static/chunks/app/page-94da9de9b62f4f4d.js +1 -0
- package/dist/web/out/_next/static/chunks/app/pair/page-389c78f078318d25.js +1 -0
- package/dist/web/out/_next/static/chunks/framework-bec628f2b7cc8f6d.js +1 -0
- package/dist/web/out/_next/static/chunks/main-3ed3b5510eeb64f8.js +1 -0
- package/dist/web/out/_next/static/chunks/main-app-4f4b0701adf58469.js +1 -0
- package/dist/web/out/_next/static/chunks/pages/_app-f4d560c9dbc22e4e.js +1 -0
- package/dist/web/out/_next/static/chunks/pages/_error-492bd157be5771d5.js +1 -0
- package/dist/web/out/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
- package/dist/web/out/_next/static/chunks/webpack-1075fa19d83199c2.js +1 -0
- package/dist/web/out/_next/static/y7YWx1Z8eZ7VPIAjor5oQ/_buildManifest.js +1 -0
- package/dist/web/out/_next/static/y7YWx1Z8eZ7VPIAjor5oQ/_ssgManifest.js +1 -0
- package/dist/web/out/assets/characters/char_0.png +0 -0
- package/dist/web/out/assets/characters/char_1.png +0 -0
- package/dist/web/out/assets/characters/char_2.png +0 -0
- package/dist/web/out/assets/characters/char_3.png +0 -0
- package/dist/web/out/assets/characters/char_4.png +0 -0
- package/dist/web/out/assets/characters/char_5.png +0 -0
- package/dist/web/out/assets/walls.png +0 -0
- package/dist/web/out/icons/icon-192.png +0 -0
- package/dist/web/out/icons/icon-512.png +0 -0
- package/dist/web/out/index.html +7 -0
- package/dist/web/out/index.txt +18 -0
- package/dist/web/out/manifest.json +13 -0
- package/dist/web/out/office.html +7 -0
- package/dist/web/out/office.txt +18 -0
- package/dist/web/out/pair.html +7 -0
- package/dist/web/out/pair.txt +18 -0
- package/dist/web/out/pixel-agents-layout.json +2802 -0
- package/dist/web/out/sw.js +1 -0
- package/dist/web/out/workbox-5194662c.js +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[823],{1204:(e,t,r)=>{"use strict";r.d(t,{FH:()=>s,Ii:()=>f,PT:()=>c,WC:()=>u,iH:()=>h,iZ:()=>d,qZ:()=>a,si:()=>p,vk:()=>g});var n=r(5195),o=r(2243),l=r(9892),i=r(9631);function s(e,t,r,l,i){let s=r*e.cols+t;if(s<0||s>=e.tiles.length)return e;let a=e.tileColors||Array(e.tiles.length).fill(null),c=null!=i?i:l===n.nb.WALL||l===n.nb.VOID?null:{...o.ql};if(e.tiles[s]===l){let t=a[s];if(null===c&&null===t||c&&t&&c.h===t.h&&c.s===t.s&&c.b===t.b&&c.c===t.c&&!!c.colorize==!!t.colorize)return e}let d=[...e.tiles];d[s]=l;let u=[...a];return u[s]=c,{...e,tiles:d,tileColors:u}}function a(e,t){return f(e,t.type,t.col,t.row)?{...e,furniture:[...e.furniture,t]}:e}function c(e,t){let r=e.furniture.filter(e=>e.uid!==t);return r.length===e.furniture.length?e:{...e,furniture:r}}function d(e,t,r,n){let o=e.furniture.find(e=>e.uid===t);return o&&f(e,o.type,r,n,t)?{...e,furniture:e.furniture.map(e=>e.uid===t?{...e,col:r,row:n}:e)}:e}function u(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"cw",n=e.furniture.find(e=>e.uid===t);if(!n)return e;let o=(0,l.UV)(n.type,r);return o?{...e,furniture:e.furniture.map(e=>e.uid===t?{...e,type:o}:e)}:e}function p(e,t){let r=(0,l.Um)(e);return(null==r?void 0:r.canPlaceOnWalls)?t-(r.footprintH-1):t}function f(e,t,r,o,s){let a=(0,l.Um)(t);if(!a)return!1;if(a.canPlaceOnWalls){let t=o+a.footprintH-1;if(r<0||r+a.footprintW>e.cols||t<0||t>=e.rows)return!1}else if(r<0||o<0||r+a.footprintW>e.cols||o+a.footprintH>e.rows)return!1;let c=a.backgroundTiles||0;for(let t=0;t<a.footprintH;t++)if(!(t<c)&&!(o+t<0)&&(!a.canPlaceOnWalls||!(t<a.footprintH-1)))for(let l=0;l<a.footprintW;l++){let i=(o+t)*e.cols+(r+l),s=e.tiles[i];if(a.canPlaceOnWalls){if(s!==n.nb.WALL)return!1}else if(s===n.nb.VOID||s===n.nb.WALL)return!1}let d=(0,i.Pg)(e.furniture,s),u=null;if(a.canPlaceOnSurfaces)for(let t of(u=new Set,e.furniture)){if(t.uid===s)continue;let e=(0,l.Um)(t.type);if(e&&e.isDesk)for(let r=0;r<e.footprintH;r++)for(let n=0;n<e.footprintW;n++)u.add("".concat(t.col+n,",").concat(t.row+r))}let p=a.backgroundTiles||0;for(let e=0;e<a.footprintH;e++)if(!(e<p)&&!(o+e<0))for(let t=0;t<a.footprintW;t++){let n="".concat(r+t,",").concat(o+e);if(d.has(n)&&!(null==u?void 0:u.has(n)))return!1}return!0}function g(e,t){let{cols:r,rows:o,tiles:l,furniture:i,tileColors:s}=e,a=s||Array(l.length).fill(null),c=r,d=o,u=0,p=0;if("right"===t?c=r+1:"left"===t?(c=r+1,u=1):"down"===t?d=o+1:"up"===t&&(d=o+1,p=1),c>n.Tj||d>n.pX)return null;let f=Array(c*d).fill(n.nb.VOID),g=Array(c*d).fill(null);for(let e=0;e<o;e++)for(let t=0;t<r;t++){let n=e*r+t,o=(e+p)*c+(t+u);f[o]=l[n],g[o]=a[n]}let h=i.map(e=>({...e,col:e.col+u,row:e.row+p}));return{layout:{...e,cols:c,rows:d,tiles:f,tileColors:g,furniture:h},shift:{col:u,row:p}}}function h(e,t,r){for(let n of e.furniture){let e=(0,l.Um)(n.type);if(e){for(let o=0;o<e.footprintH;o++)for(let l=0;l<e.footprintW;l++)if(n.col+l===t&&n.row+o===r)return n}}return null}},1661:(e,t,r)=>{"use strict";r.d(t,{LN:()=>o,Zg:()=>l,fu:()=>a});let n=new Map;function o(e,t,r){let o=n.get(e);if(o)return o;let l=r.colorize?function(e,t){let{h:r,s:n,b:o,c:l}=t,s=[];for(let t of e){let e=[];for(let s of t){if(""===s){e.push("");continue}let t=parseInt(s.slice(1,3),16),a=(.299*t+.587*parseInt(s.slice(3,5),16)+.114*parseInt(s.slice(5,7),16))/255;0!==l&&(a=.5+(100+l)/100*(a-.5)),0!==o&&(a+=o/200);let c=i(r,n/100,a=Math.max(0,Math.min(1,a)));e.push(c)}s.push(e)}return s}(t,r):a(t,r);return n.set(e,l),l}function l(){n.clear()}function i(e,t,r){let n=(1-Math.abs(2*r-1))*t,o=e/60,l=n*(1-Math.abs(o%2-1)),i=0,a=0,c=0;o<1?(i=n,a=l,c=0):o<2?(i=l,a=n,c=0):o<3?(i=0,a=n,c=l):o<4?(i=0,a=l,c=n):o<5?(i=l,a=0,c=n):(i=n,a=0,c=l);let d=r-n/2,u=Math.round((i+d)*255),p=Math.round((a+d)*255),f=Math.round((c+d)*255);return"#".concat(s(u).toString(16).padStart(2,"0")).concat(s(p).toString(16).padStart(2,"0")).concat(s(f).toString(16).padStart(2,"0")).toUpperCase()}function s(e){return Math.max(0,Math.min(255,e))}function a(e,t){let{h:r,s:n,b:o,c:l}=t,s=[];for(let t of e){let e=[];for(let s of t){if(""===s){e.push("");continue}let t=parseInt(s.slice(1,3),16),[a,c,d]=function(e,t,r){let n=e/255,o=t/255,l=r/255,i=Math.max(n,o,l),s=Math.min(n,o,l),a=(i+s)/2;if(i===s)return[0,0,a];let c=i-s;return[i===n?((o-l)/c+6*(o<l))*60:i===o?((l-n)/c+2)*60:((n-o)/c+4)*60,a>.5?c/(2-i-s):c/(i+s),a]}(t,parseInt(s.slice(3,5),16),parseInt(s.slice(5,7),16)),u=((a+r)%360+360)%360,p=Math.max(0,Math.min(1,c+n/100)),f=d;0!==l&&(f=.5+(100+l)/100*(f-.5)),0!==o&&(f+=o/200);let g=i(u,p,f=Math.max(0,Math.min(1,f)));e.push(g)}s.push(e)}return s}},2243:(e,t,r)=>{"use strict";r.d(t,{$L:()=>X,AL:()=>V,BD:()=>er,BZ:()=>b,DH:()=>en,F2:()=>D,Ii:()=>ee,M1:()=>k,M_:()=>es,Mo:()=>J,Nd:()=>W,Ns:()=>ef,O1:()=>H,O9:()=>el,Ot:()=>h,PA:()=>B,Pk:()=>eb,R_:()=>Y,Rb:()=>f,S3:()=>d,SS:()=>N,Sg:()=>I,TE:()=>Q,Tj:()=>i,W3:()=>S,W7:()=>R,WJ:()=>w,WK:()=>ei,Wn:()=>v,Ww:()=>y,XE:()=>a,Xo:()=>eu,YK:()=>l,YX:()=>j,ZV:()=>eo,Zz:()=>et,dn:()=>n,e7:()=>ey,fJ:()=>G,fS:()=>ek,gB:()=>T,gD:()=>q,gi:()=>E,hI:()=>A,he:()=>g,i:()=>K,iE:()=>O,ic:()=>ea,k2:()=>eh,k8:()=>p,l0:()=>L,lY:()=>c,n6:()=>F,o3:()=>eg,oj:()=>$,ou:()=>ep,p7:()=>ed,pX:()=>s,pr:()=>Z,q3:()=>z,qD:()=>_,ql:()=>eS,qt:()=>ec,v3:()=>M,vU:()=>x,wN:()=>m,wh:()=>o,wj:()=>u,y9:()=>P,zY:()=>U,zw:()=>C});let n=16,o=21,l=21,i=64,s=64,a=48,c=.15,d=.3,u=2,p=20,f=3,g=6,h=120,y=240,b=.3,k=6,S=16,m=24,x=30,T=180,A=.3,C="#ccffcc",W=.6,E=.5,v=.33,w=.66,O=6,I=.5,D=.001,H=1,P=.5,_=.5,R=.25,F=[4,3],L=6,j=3,Y=.45,N=1.5,U=.5,M=.5,B=10,X=24,z="#808080",V="rgba(255,255,255,0.12)",G="rgba(255,255,255,0.08)",K=[2,2],J="rgba(60, 130, 220, 0.25)",Z="rgba(60, 130, 220, 0.5)",q="rgba(255, 255, 255, 0.06)",Q="#00ff00",$="#ff0000",ee="#007fd4",et="rgba(200, 50, 50, 0.85)",er="rgba(50, 120, 200, 0.85)",en=1,eo=10,el=.1,ei=2,es=.3,ea=6,ec=45,ed=271,eu=3,ep=2,ef=8,eg=24,eh=50,ey=500,eb={h:35,s:30,b:15,c:0},ek={h:240,s:25,b:0,c:0},eS={h:0,s:0,b:0,c:0}},2988:(e,t,r)=>{"use strict";r.d(t,{$D:()=>f,Cr:()=>K,Ih:()=>J,L$:()=>a,SJ:()=>c,US:()=>l,VQ:()=>g,WN:()=>i,Zc:()=>p,bn:()=>z,iK:()=>s,mY:()=>u,mr:()=>d});var n=r(5195),o=r(1661);let l=(()=>{let e="#8B6914",t="#A07828",r="#B8922E",n="#6B4E0A",o=[];o.push(Array(32).fill("")),o.push(["",...Array(30).fill(e),""]);for(let n=0;n<4;n++)o.push(["",e,...Array(28).fill(n<1?t:r),e,""]);o.push(["",n,...Array(28).fill(e),n,""]);for(let t=0;t<6;t++)o.push(["",e,...Array(28).fill(r),e,""]);o.push(["",e,...Array(28).fill(t),e,""]);for(let t=0;t<6;t++)o.push(["",e,...Array(28).fill(r),e,""]);o.push(["",n,...Array(28).fill(e),n,""]);for(let n=0;n<4;n++)o.push(["",e,...Array(28).fill(n>2?t:r),e,""]);o.push(["",...Array(30).fill(e),""]);for(let e=0;e<4;e++){let e=Array(32).fill("");e[1]=n,e[2]=n,e[29]=n,e[30]=n,o.push(e)}return o.push(Array(32).fill("")),o.push(Array(32).fill("")),o})(),i=(()=>{let e="#3D8B37",t="#2D6B27",r="#6B4E0A",n="#B85C3A",o="#8B4422";return[["","","","","","",e,e,"","","","","","","",""],["","","","","",e,e,e,e,"","","","","","",""],["","","","",e,e,t,e,e,e,"","","","","",""],["","","",e,e,t,e,e,t,e,e,"","","","",""],["","",e,e,e,e,e,e,e,e,e,e,"","","",""],["",e,e,t,e,e,e,e,e,e,t,e,e,"","",""],["",e,e,e,e,t,e,e,t,e,e,e,e,"","",""],["","",e,e,e,e,e,e,e,e,e,e,"","","",""],["","","",e,e,e,t,e,e,e,e,"","","","",""],["","","","",e,e,e,e,e,e,"","","","","",""],["","","","","",e,e,e,e,"","","","","","",""],["","","","","","",r,r,"","","","","","","",""],["","","","","","",r,r,"","","","","","","",""],["","","","","","",r,r,"","","","","","","",""],["","","","","",o,o,o,o,o,"","","","","",""],["","","","",o,n,n,n,n,n,o,"","","","",""],["","","","",o,n,n,n,n,n,o,"","","","",""],["","","","",o,n,n,n,n,n,o,"","","","",""],["","","","",o,n,n,n,n,n,o,"","","","",""],["","","","",o,n,n,n,n,n,o,"","","","",""],["","","","",o,n,n,n,n,n,o,"","","","",""],["","","","","",o,n,n,n,o,"","","","","",""],["","","","","","",o,o,o,"","","","","","",""],["","","","","","","","","","","","","","","",""]]})(),s=(()=>{let e="#8B6914",t="#6B4E0A",r="#CC4444",n="#4477AA",o="#44AA66",l="#CCAA33",i="#9955AA";return[["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,""],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,r,r,n,n,o,o,l,l,r,r,n,n,t,e],[e,t,r,r,n,n,o,o,l,l,r,r,n,n,t,e],[e,t,r,r,n,n,o,o,l,l,r,r,n,n,t,e],[e,t,r,r,n,n,o,o,l,l,r,r,n,n,t,e],[e,t,r,r,n,n,o,o,l,l,r,r,n,n,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,i,i,l,l,n,n,o,o,i,i,r,r,t,e],[e,t,i,i,l,l,n,n,o,o,i,i,r,r,t,e],[e,t,i,i,l,l,n,n,o,o,i,i,r,r,t,e],[e,t,i,i,l,l,n,n,o,o,i,i,r,r,t,e],[e,t,i,i,l,l,n,n,o,o,i,i,r,r,t,e],[e,t,i,i,l,l,n,n,o,o,i,i,r,r,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,o,o,r,r,i,i,n,n,l,l,o,o,t,e],[e,t,o,o,r,r,i,i,n,n,l,l,o,o,t,e],[e,t,o,o,r,r,i,i,n,n,l,l,o,o,t,e],[e,t,o,o,r,r,i,i,n,n,l,l,o,o,t,e],[e,t,o,o,r,r,i,i,n,n,l,l,o,o,t,e],[e,t,o,o,r,r,i,i,n,n,l,l,o,o,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e],[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,""]]})(),a=(()=>{let e="#CCDDEE",t="#88BBDD",r="#999999",n="#666666";return[["","","","","","","","","","","","","","","",""],["","","","","",r,r,r,r,r,r,"","","","",""],["","","","",r,t,t,t,t,t,t,r,"","","",""],["","","","",r,t,t,t,t,t,t,r,"","","",""],["","","","",r,t,t,t,t,t,t,r,"","","",""],["","","","",r,t,t,t,t,t,t,r,"","","",""],["","","","",r,t,t,t,t,t,t,r,"","","",""],["","","","","",r,r,r,r,r,r,"","","","",""],["","","","","",r,e,e,e,e,r,"","","","",""],["","","","","",r,e,e,e,e,r,"","","","",""],["","","","","",r,e,e,e,e,r,"","","","",""],["","","","","",r,e,e,e,e,r,"","","","",""],["","","","","",r,e,e,e,e,r,"","","","",""],["","","","",r,r,e,e,e,e,r,r,"","","",""],["","","","",r,e,e,e,e,e,e,r,"","","",""],["","","","",r,e,e,e,e,e,e,r,"","","",""],["","","","",r,r,r,r,r,r,r,r,"","","",""],["","","","","",r,n,n,n,n,r,"","","","",""],["","","","","",r,n,n,n,n,r,"","","","",""],["","","","","",r,n,n,n,n,r,"","","","",""],["","","","",r,r,n,n,n,n,r,r,"","","",""],["","","","",r,n,n,n,n,n,n,r,"","","",""],["","","","",r,r,r,r,r,r,r,r,"","","",""],["","","","","","","","","","","","","","","",""]]})(),c=(()=>{let e="#AAAAAA",t="#EEEEFF",r="#CC4444",n="#4477AA";return[["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,r,r,r,t,t,t,t,t,n,n,n,n,t,t,t,t,t,t,t,r,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,n,n,t,t,r,t,t,t,t,t,t,e,""],["",e,t,t,t,t,r,r,r,r,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,n,n,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,n,n,n,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,r,r,r,t,t,t,t,t,t,t,e,""],["",e,t,r,r,t,t,t,t,t,t,t,t,t,t,t,n,n,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,n,n,n,t,t,t,t,t,t,t,t,t,t,t,t,t,r,r,r,r,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,t,e,""],["",e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,""],["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""]]})(),d=(()=>{let e="#8B6914",t="#6B4E0A",r="#5C3D0A",n="#A07828";return[["","","","","",t,t,t,t,t,t,"","","","",""],["","","","",t,r,r,r,r,r,r,t,"","","",""],["","","","",t,r,n,n,n,n,r,t,"","","",""],["","","","",t,r,n,n,n,n,r,t,"","","",""],["","","","",t,r,n,n,n,n,r,t,"","","",""],["","","","",t,r,n,n,n,n,r,t,"","","",""],["","","","",t,r,n,n,n,n,r,t,"","","",""],["","","","",t,r,n,n,n,n,r,t,"","","",""],["","","","",t,r,n,n,n,n,r,t,"","","",""],["","","","",t,r,r,r,r,r,r,t,"","","",""],["","","","","",t,t,t,t,t,t,"","","","",""],["","","","","","",t,e,e,t,"","","","","",""],["","","","","","",t,e,e,t,"","","","","",""],["","","","","",t,t,t,t,t,t,"","","","",""],["","","","","",t,"","","","",t,"","","","",""],["","","","","",t,"","","","",t,"","","","",""]]})(),u=(()=>{let e="#555555",t="#3A3A5C",r="#6688CC",n="#444444";return[["","","",e,e,e,e,e,e,e,e,e,e,"","",""],["","","",e,t,t,t,t,t,t,t,t,e,"","",""],["","","",e,t,r,r,r,r,r,r,t,e,"","",""],["","","",e,t,r,r,r,r,r,r,t,e,"","",""],["","","",e,t,r,r,r,r,r,r,t,e,"","",""],["","","",e,t,r,r,r,r,r,r,t,e,"","",""],["","","",e,t,r,r,r,r,r,r,t,e,"","",""],["","","",e,t,r,r,r,r,r,r,t,e,"","",""],["","","",e,t,t,t,t,t,t,t,t,e,"","",""],["","","",e,e,e,e,e,e,e,e,e,e,"","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","","",n,n,"","","","","","",""],["","","","","","",n,n,n,n,"","","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","","","","","","","","","","","",""]]})(),p=(()=>{let e="#FFDD55",t="#FFEE88",r="#888888",n="#555555",o="#FFFFCC";return[["","","","","","","","","","","","","","","",""],["","","","","","",o,o,o,o,"","","","","",""],["","","","","",o,e,e,e,e,o,"","","","",""],["","","","",o,e,e,t,t,e,e,o,"","","",""],["","","","",e,e,t,t,t,t,e,e,"","","",""],["","","","",e,e,t,t,t,t,e,e,"","","",""],["","","","","",e,e,e,e,e,e,"","","","",""],["","","","","","",r,r,r,r,"","","","","",""],["","","","","","","",r,r,"","","","","","",""],["","","","","","","",r,r,"","","","","","",""],["","","","","","","",r,r,"","","","","","",""],["","","","","","","",r,r,"","","","","","",""],["","","","","","",r,r,r,r,"","","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","",n,n,n,n,n,n,"","","","",""],["","","","","","","","","","","","","","","",""]]})(),f=(()=>{let e="#555566",t="#EEEEFF",r="#CCA700";return[[e,e,e,e,e,e,e,e,e,e,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,r,t,r,t,r,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,e,e,e,e,e,e,e,e,e,e],["","","","",e,e,e,"","","",""],["","","","","",e,"","","","",""],["","","","","","","","","","",""]]})(),g=(()=>{let e="#555566",t="#EEEEFF",r="#44BB66";return[["",e,e,e,e,e,e,e,e,e,""],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,r,t,e],[e,t,t,t,t,t,t,r,t,t,e],[e,t,t,r,t,t,r,t,t,t,e],[e,t,t,t,r,r,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],[e,t,t,t,t,t,t,t,t,t,e],["",e,e,e,e,e,e,e,e,e,""],["","","","",e,e,e,"","","",""],["","","","","",e,"","","","",""],["","","","","","","","","","",""]]})(),h=[{skin:"#FFCC99",shirt:"#4488CC",pants:"#334466",hair:"#553322",shoes:"#222222"},{skin:"#FFCC99",shirt:"#CC4444",pants:"#333333",hair:"#FFD700",shoes:"#222222"},{skin:"#DEB887",shirt:"#44AA66",pants:"#334444",hair:"#222222",shoes:"#333333"},{skin:"#FFCC99",shirt:"#AA55CC",pants:"#443355",hair:"#AA4422",shoes:"#222222"},{skin:"#DEB887",shirt:"#CCAA33",pants:"#444433",hair:"#553322",shoes:"#333333"},{skin:"#FFCC99",shirt:"#FF8844",pants:"#443322",hair:"#111111",shoes:"#222222"}],y="hair",b="skin",k="shirt",S="pants",m="shoes",x="#FFFFFF";function T(e,t){return e.map(e=>e.map(e=>""===e?"":e===x?x:e===y?t.hair:e===b?t.skin:e===k?t.shirt:e===S?t.pants:e===m?t.shoes:e))}let A=[["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,x,b,b,x,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","",S,S,"","","","",S,S,"","","",""],["","","","",S,S,"","","","",S,S,"","","",""],["","","","",m,m,"","","","","",m,m,"","",""],["","","","",m,m,"","","","","",m,m,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],C=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,x,b,b,x,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],W=[["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,x,b,b,x,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","",m,m,"","","","","","",S,S,"","",""],["","","",m,m,"","","","","","",S,S,"","",""],["","","","","","","","","","",m,m,"","","",""],["","","","","","","","","","",m,m,"","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],E=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,x,b,b,x,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","",b,b,k,k,k,k,k,k,b,b,"","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],v=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,x,b,b,x,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,b,"","",""],["","","","",b,k,k,k,k,k,k,"",b,"","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],w=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,x,b,b,x,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],O=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,x,b,b,x,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],I=[["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","",S,S,"","","","",S,S,"","","",""],["","","","",S,S,"","","","",S,S,"","","",""],["","","",m,m,"","","","","","",m,m,"","",""],["","","",m,m,"","","","","","",m,m,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],D=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],H=[["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","",m,m,"","","","","","",S,S,"","",""],["","","",m,m,"","","","","","",S,S,"","",""],["","","","","","","","","","",m,m,"","","",""],["","","","","","","","","","",m,m,"","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],P=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","",b,b,k,k,k,k,k,k,b,b,"","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],_=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,b,"","",""],["","","","",b,k,k,k,k,k,k,"",b,"","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],R=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],F=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","",y,y,y,y,"","","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",y,y,y,y,y,y,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","",b,b,b,b,b,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",k,k,k,k,k,k,k,k,"","","",""],["","","","",b,k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,S,S,S,S,"","","","",""],["","","","","",S,S,"","",S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],L=[["","","","","","","","","","","","","","","",""],["","","","","","","",y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,x,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",b,k,k,k,k,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",S,S,"","","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","",S,S,"","","",S,S,"","","",""],["","","","","",S,S,"","","",S,S,"","","",""],["","","","","",m,m,"","","","",m,m,"","",""],["","","","","",m,m,"","","","",m,m,"","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],j=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,x,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",b,k,k,k,k,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",S,S,"","","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",m,m,"",m,m,"","","","",""],["","","","","","",m,m,"",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],Y=[["","","","","","","","","","","","","","","",""],["","","","","","","",y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,x,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",b,k,k,k,k,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",S,S,"","","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","","","",S,S,S,"","","","",""],["","","","","","","","",S,S,S,"","","","",""],["","","","","",m,m,"","",m,m,"","","","",""],["","","","","",m,m,"","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],N=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,x,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,b,"","","",""],["","","","","",k,k,k,k,k,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",S,S,"","","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",m,m,"",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],U=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,x,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"",b,"","",""],["","","","","",k,k,k,k,k,"","",b,"","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",S,S,"","","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",m,m,"",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],M=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,x,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",b,k,k,k,k,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",S,S,"","","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",m,m,"",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],B=[["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","",y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",y,y,y,y,y,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,x,b,"","","","",""],["","","","","","",b,b,b,b,b,"","","","",""],["","","","","","",b,b,b,b,"","","","","",""],["","","","","","","",k,k,k,"","","","","",""],["","","","","","",k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",k,k,k,k,k,k,"","","","",""],["","","","","",b,k,k,k,k,b,"","","","",""],["","","","","","",k,k,k,k,"","","","","",""],["","","","","","","",S,S,"","","","","","",""],["","","","","","",S,S,S,S,"","","","","",""],["","","","","","",S,S,"",S,S,"","","","",""],["","","","","","",m,m,"",m,m,"","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""],["","","","","","","","","","","","","","","",""]],X=null;function z(e){X=e,G.clear()}function V(e){return e.map(e=>[...e].reverse())}let G=new Map;function K(e){return X?X[e%X.length].down[1]:null}function J(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,l="".concat(e,":").concat(r),i=G.get(l);if(i)return i;if(X){let r=X[e%X.length],o=r.down,l=r.up,i=r.right;t={walk:{[n.OP.DOWN]:[o[0],o[1],o[2],o[1]],[n.OP.UP]:[l[0],l[1],l[2],l[1]],[n.OP.RIGHT]:[i[0],i[1],i[2],i[1]],[n.OP.LEFT]:[V(i[0]),V(i[1]),V(i[2]),V(i[1])]},typing:{[n.OP.DOWN]:[o[3],o[4]],[n.OP.UP]:[l[3],l[4]],[n.OP.RIGHT]:[i[3],i[4]],[n.OP.LEFT]:[V(i[3]),V(i[4])]},reading:{[n.OP.DOWN]:[o[5],o[6]],[n.OP.UP]:[l[5],l[6]],[n.OP.RIGHT]:[i[5],i[6]],[n.OP.LEFT]:[V(i[5]),V(i[6])]}}}else{let r=h[e%h.length],o=e=>T(e,r),l=e=>T(e.map(e=>[...e].reverse()),r);t={walk:{[n.OP.DOWN]:[o(A),o(C),o(W),o(C)],[n.OP.UP]:[o(I),o(D),o(H),o(D)],[n.OP.RIGHT]:[o(L),o(j),o(Y),o(j)],[n.OP.LEFT]:[l(L),l(j),l(Y),l(j)]},typing:{[n.OP.DOWN]:[o(E),o(v)],[n.OP.UP]:[o(P),o(_)],[n.OP.RIGHT]:[o(N),o(U)],[n.OP.LEFT]:[l(N),l(U)]},reading:{[n.OP.DOWN]:[o(w),o(O)],[n.OP.UP]:[o(R),o(F)],[n.OP.RIGHT]:[o(M),o(B)],[n.OP.LEFT]:[l(M),l(B)]}}}return 0!==r&&(t=function(e,t){let r={h:t,s:0,b:0,c:0},l=e=>(0,o.fu)(e,r),i=e=>[l(e[0]),l(e[1]),l(e[2]),l(e[3])],s=e=>[l(e[0]),l(e[1])];return{walk:{[n.OP.DOWN]:i(e.walk[n.OP.DOWN]),[n.OP.UP]:i(e.walk[n.OP.UP]),[n.OP.RIGHT]:i(e.walk[n.OP.RIGHT]),[n.OP.LEFT]:i(e.walk[n.OP.LEFT])},typing:{[n.OP.DOWN]:s(e.typing[n.OP.DOWN]),[n.OP.UP]:s(e.typing[n.OP.UP]),[n.OP.RIGHT]:s(e.typing[n.OP.RIGHT]),[n.OP.LEFT]:s(e.typing[n.OP.LEFT])},reading:{[n.OP.DOWN]:s(e.reading[n.OP.DOWN]),[n.OP.UP]:s(e.reading[n.OP.UP]),[n.OP.RIGHT]:s(e.reading[n.OP.RIGHT]),[n.OP.LEFT]:s(e.reading[n.OP.LEFT])}}}(t,r)),G.set(l,t),t}},4296:(e,t,r)=>{"use strict";r.d(t,{F:()=>h,Q:()=>u});var n=r(2988),o=r(4777),l=r(5055);let i=["down","up","right"];function s(e){return new Promise((t,r)=>{let n=new Image;n.crossOrigin="anonymous",n.onload=()=>t(n),n.onerror=t=>r(Error("Failed to load image: ".concat(e," — ").concat(t))),n.src=e})}function a(e,t,r,n,o){let l=document.createElement("canvas");l.width=n,l.height=o;let i=l.getContext("2d"),s=e.naturalWidth,a=e.naturalHeight,c=Math.max(0,t),d=Math.max(0,r),u=Math.min(t+n,s)-c,p=Math.min(r+o,a)-d;u>0&&p>0&&i.drawImage(e,c,d,u,p,c-t,d-r,u,p);let{data:f}=i.getImageData(0,0,n,o),g=[];for(let e=0;e<o;e++){let t=[];for(let r=0;r<n;r++){let o=(e*n+r)*4,l=f[o],i=f[o+1],s=f[o+2];f[o+3]<128?t.push(""):t.push("#".concat(l.toString(16).padStart(2,"0")).concat(i.toString(16).padStart(2,"0")).concat(s.toString(16).padStart(2,"0")).toUpperCase())}g.push(t)}return g}async function c(){let e=[];for(let t=0;t<6;t++){let r=await s("/assets/characters/char_".concat(t,".png")),n={down:[],up:[],right:[]};for(let e=0;e<i.length;e++){let t=i[e],o=32*e,l=[];for(let e=0;e<7;e++){let t=16*e;l.push(a(r,t,o,16,32))}n[t]=l}e.push(n)}return e}async function d(){let e=await s("/assets/walls.png"),t=[];for(let r=0;r<16;r++){let n=r%4*16,o=32*Math.floor(r/4);t.push(a(e,n,o,16,32))}return t}let u=[{id:"ASSET_4",label:"Wooden Counter",srcX:128,srcY:0,srcW:48,srcH:32,footprintW:3,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_7",label:"White Counter",srcX:80,srcY:23,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_15",label:"Plastic Counter",srcX:128,srcY:64,srcW:48,srcH:32,footprintW:3,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_NEW_106",label:"Wooden Table",srcX:16,srcY:-9,srcW:48,srcH:32,footprintW:3,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_27_A",label:"Large Table",srcX:16,srcY:528,srcW:32,srcH:64,footprintW:2,footprintH:4,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_46",label:"Vertical Table",srcX:16,srcY:288,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!0,category:"desks"},{id:"ASSET_NEW_112",label:"Coffee Table",srcX:48,srcY:624,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!0,category:"desks",backgroundTiles:1},{id:"ASSET_50_0_0",label:"Wood Coffee Table",srcX:64,srcY:299,srcW:32,srcH:16,footprintW:2,footprintH:1,isDesk:!0,category:"desks"},{id:"ASSET_17",label:"Wooden Bookshelf",srcX:112,srcY:512,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_18",label:"Full Bookshelf",srcX:144,srcY:512,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_27_B_A_A",label:"Bookshelf Tall",srcX:128,srcY:183,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_27_B_A_B_A",label:"Full Bookshelf Tall",srcX:144,srcY:183,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_27_B_A_B_B_A",label:"Cabinet Tall",srcX:160,srcY:183,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_28",label:"White Bookshelf",srcX:192,srcY:184,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_41_0_1",label:"Fridge",srcX:208,srcY:264,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_139",label:"Crates",srcX:224,srcY:447,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"storage",backgroundTiles:1},{id:"ASSET_32",label:"Chair Front",srcX:0,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_38",label:"Chair Back",srcX:16,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_33",label:"Chair Right",srcX:32,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_34",label:"Chair Left",srcX:48,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_35",label:"Office Chair Front",srcX:64,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_39",label:"Office Chair Back",srcX:80,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_36",label:"Office Chair Right",srcX:96,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_37",label:"Office Chair Left",srcX:112,srcY:258,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_49",label:"Stool",srcX:0,srcY:290,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"chairs"},{id:"ASSET_NEW_110",label:"Large Chair Right",srcX:16,srcY:624,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"chairs"},{id:"ASSET_NEW_111",label:"Large Chair Left",srcX:32,srcY:624,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"chairs"},{id:"ASSET_90",label:"Computer + Coffee",srcX:192,srcY:358,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_74",label:"CRT Monitor Off",srcX:128,srcY:360,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_76",label:"CRT Monitor On",srcX:160,srcY:360,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_78",label:"Monitor Off",srcX:192,srcY:359,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_79",label:"Monitor On",srcX:224,srcY:359,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0},{id:"ASSET_107",label:"Laptop Off",srcX:128,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_108",label:"Laptop On",srcX:144,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_99",label:"Laptop Left",srcX:177,srcY:386,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_109",label:"Laptop Back",srcX:192,srcY:386,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_61",label:"Telephone",srcX:192,srcY:304,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_123",label:"Server",srcX:131,srcY:417,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_126",label:"Printer",srcX:216,srcY:423,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"electronics",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_63",label:"Wood Window",srcX:32,srcY:319,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_64",label:"White Window",srcX:64,srcY:319,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_80",label:"Small Window Wood",srcX:80,srcY:351,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_81",label:"Small Window White",srcX:96,srcY:351,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_83",label:"Clock White",srcX:0,srcY:360,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_84",label:"Clock Color",srcX:15,srcY:352,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_101",label:"Painting",srcX:0,srcY:384,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_102",label:"Painting 2",srcX:32,srcY:384,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_103",label:"Small Painting",srcX:64,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_118",label:"Chart 1",srcX:32,srcY:415,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_122",label:"Chalkboard",srcX:0,srcY:415,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_134",label:"Chart 2",srcX:0,srcY:448,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"wall",canPlaceOnWalls:!0},{id:"ASSET_140",label:"White Plant",srcX:96,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_141",label:"White Plant 2",srcX:112,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_142",label:"Plant",srcX:64,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_143",label:"Plant 2",srcX:80,srcY:448,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",backgroundTiles:1},{id:"ASSET_72",label:"Red Book",srcX:163,srcY:336,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"decor",canPlaceOnSurfaces:!0},{id:"ASSET_100",label:"Paper",srcX:240,srcY:384,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"decor",canPlaceOnSurfaces:!0,backgroundTiles:1},{id:"ASSET_40",label:"Vending Machine",srcX:224,srcY:264,srcW:32,srcH:32,footprintW:2,footprintH:2,isDesk:!1,category:"misc",backgroundTiles:1},{id:"ASSET_42",label:"Water Cooler",srcX:142,srcY:264,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"misc",backgroundTiles:1},{id:"ASSET_44",label:"Bin",srcX:130,srcY:278,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"misc"},{id:"ASSET_51",label:"Coffee Mug",srcX:225,srcY:299,srcW:16,srcH:16,footprintW:1,footprintH:1,isDesk:!1,category:"misc",canPlaceOnSurfaces:!0},{id:"ASSET_55",label:"Coffee Machine",srcX:161,srcY:309,srcW:16,srcH:32,footprintW:1,footprintH:2,isDesk:!1,category:"misc",canPlaceOnSurfaces:!0,backgroundTiles:1}],p={ASSET_17:{fill:"#8B6914",edge:"#5B4910"},ASSET_18:{fill:"#7B5910",edge:"#4B3908"},ASSET_27_A:{fill:"#D4C090",edge:"#B8A070"},ASSET_NEW_106:{fill:"#C8B480",edge:"#A89460"},ASSET_NEW_110:{fill:"#9B5050",edge:"#6B3030"},ASSET_NEW_111:{fill:"#9B5050",edge:"#6B3030"},ASSET_NEW_112:{fill:"#D4C090",edge:"#B8A070"}};async function f(){let e=await s("/Office%20Tileset/Office%20Tileset%20All%2016x16.png"),t=new Map;for(let r of u){let n=a(e,r.srcX,r.srcY,r.srcW,r.srcH);if(function(e){for(let t of e)for(let e of t)if(""!==e)return!1;return!0}(n)){let e=p[r.id];e&&t.set(r.id,function(e,t,r,n){let o=[];for(let l=0;l<t;l++){let i=[];for(let o=0;o<e;o++)0===o||o===e-1||0===l||l===t-1?i.push(n):i.push(r);o.push(i)}return o}(r.srcW,r.srcH,e.fill,e.edge))}else t.set(r.id,n)}return{sprites:t}}async function g(){try{let e=await fetch("/pixel-agents-layout.json");if(!e.ok)return null;let t=await e.json();if(t&&1===t.version&&Array.isArray(t.tiles))return t;return null}catch(e){return null}}async function h(){let[e,t,r,i]=await Promise.all([c(),d(),f(),g()]),s=function(){let e=[],t=[{base:"#C8B896",accent:"#B8A886"},{base:"#D4C4A0",accent:"#C4B490"},{base:"#B0A888",accent:"#A09878"},{base:"#A89078",accent:"#988068"},{base:"#C0B898",accent:"#B0A888"},{base:"#B8A890",accent:"#A89880"},{base:"#D0C0A0",accent:"#C0B090"}];for(let r=0;r<7;r++){let{base:n,accent:o}=t[r],l=[];for(let e=0;e<16;e++){let t=[];for(let r=0;r<16;r++){let l=(r+e)%4==0||(3*r+7*e)%11==0;t.push(l?o:n)}l.push(t)}e.push(l)}return e}();return(0,n.bn)(e),(0,l.ZZ)(t),(0,o.Di)(s),{characters:e,walls:t,floors:s,tilesetSprites:r.sprites,layout:i}}},4777:(e,t,r)=>{"use strict";r.d(t,{$0:()=>c,Di:()=>a,QQ:()=>d,To:()=>u,ty:()=>s});var n=r(1661),o=r(2243);let l=Array.from({length:o.dn},()=>Array(o.dn).fill(o.q3)),i=[],s="#3A3A5C";function a(e){i=e,(0,n.Zg)()}function c(){return!0}function d(){return i.length>0?i.length:1}function u(e,t){let r="floor-".concat(e,"-").concat(t.h,"-").concat(t.s,"-").concat(t.b,"-").concat(t.c),o=function(e){let t=e-1;return t<0?null:t<i.length?i[t]:0===i.length&&e>=1?l:null}(e);return o?(0,n.LN)(r,o,{...t,colorize:!0}):Array.from({length:16},()=>Array(16).fill("#FF00FF"))}},5055:(e,t,r)=>{"use strict";r.d(t,{BN:()=>s,ZZ:()=>i,og:()=>c,vb:()=>a});var n=r(5195),o=r(1661);let l=null;function i(e){l=e}function s(){return null!==l}function a(e,t,r){if(!l)return[];let i=e.length,s=i>0?e[0].length:0,a=null!=r?r:s,c=[];for(let r=0;r<i;r++)for(let i=0;i<s;i++){if(e[r][i]!==n.nb.WALL)continue;let s=r*a+i,d=null==t?void 0:t[s],u=d?function(e,t,r,i){if(!l)return null;let s=r.length,a=s>0?r[0].length:0,c=0;t>0&&r[t-1][e]===n.nb.WALL&&(c|=1),e<a-1&&r[t][e+1]===n.nb.WALL&&(c|=2),t<s-1&&r[t+1][e]===n.nb.WALL&&(c|=4),e>0&&r[t][e-1]===n.nb.WALL&&(c|=8);let d=l[c];if(!d)return null;let u="wall-".concat(c,"-").concat(i.h,"-").concat(i.s,"-").concat(i.b,"-").concat(i.c);return{sprite:(0,o.LN)(u,d,{...i,colorize:!0}),offsetY:n.dn-d.length}}(i,r,e,d):function(e,t,r){if(!l)return null;let o=r.length,i=o>0?r[0].length:0,s=0;t>0&&r[t-1][e]===n.nb.WALL&&(s|=1),e<i-1&&r[t][e+1]===n.nb.WALL&&(s|=2),t<o-1&&r[t+1][e]===n.nb.WALL&&(s|=4),e>0&&r[t][e-1]===n.nb.WALL&&(s|=8);let a=l[s];return a?{sprite:a,offsetY:n.dn-a.length}:null}(i,r,e);u&&c.push({sprite:u.sprite,x:i*n.dn,y:r*n.dn+u.offsetY,zY:(r+1)*n.dn})}return c}function c(e){let{h:t,s:r,b:n,c:o}=e,l=.5;0!==o&&(l=.5+(100+o)/100*(l-.5)),0!==n&&(l+=n/200);let i=r/100*(1-Math.abs(2*(l=Math.max(0,Math.min(1,l)))-1)),s=t/60,a=i*(1-Math.abs(s%2-1)),c=0,d=0,u=0;s<1?(c=i,d=a,u=0):s<2?(c=a,d=i,u=0):s<3?(c=0,d=i,u=a):s<4?(c=0,d=a,u=i):s<5?(c=a,d=0,u=i):(c=i,d=0,u=a);let p=l-i/2,f=e=>Math.max(0,Math.min(255,Math.round((e+p)*255)));return"#".concat(f(c).toString(16).padStart(2,"0")).concat(f(d).toString(16).padStart(2,"0")).concat(f(u).toString(16).padStart(2,"0"))}},5149:(e,t,r)=>{"use strict";r.r(t),r.d(t,{clearConnection:()=>i,getConnection:()=>l,getGatewayHttpUrl:()=>s,saveConnection:()=>o});let n="arcade_connection";function o(e){localStorage.setItem(n,JSON.stringify(e))}function l(){let e=localStorage.getItem(n);if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function i(){localStorage.removeItem(n)}function s(){let e=l();return(null==e?void 0:e.wsUrl)?e.wsUrl.replace(/^ws(s?):\/\//,"http$1://"):window.location.origin}},5195:(e,t,r)=>{"use strict";r.d(t,{JM:()=>s,Lp:()=>l,OP:()=>i,Pz:()=>n.BZ,Tj:()=>n.Tj,VF:()=>a,YK:()=>n.YK,dn:()=>n.dn,nb:()=>o,pX:()=>n.pX,wh:()=>n.wh});var n=r(2243);let o={WALL:0,FLOOR_1:1,FLOOR_2:2,FLOOR_3:3,FLOOR_4:4,FLOOR_5:5,FLOOR_6:6,FLOOR_7:7,VOID:8},l={IDLE:"idle",WALK:"walk",TYPE:"type"},i={DOWN:0,LEFT:1,RIGHT:2,UP:3},s={DESK:"desk",BOOKSHELF:"bookshelf",PLANT:"plant",COOLER:"cooler",WHITEBOARD:"whiteboard",CHAIR:"chair",PC:"pc",LAMP:"lamp",TS_DESK_WOOD:"ts-desk-wood",TS_DESK_GRAY:"ts-desk-gray",TS_TABLE_LONG:"ts-table-long",TS_BOOKSHELF:"ts-bookshelf",TS_CABINET:"ts-cabinet",TS_BOOKSHELF_COLOR:"ts-bookshelf-color",TS_COUCH_RED:"ts-couch-red",TS_COUCH_BLUE:"ts-couch-blue",TS_CHAIR_GREEN:"ts-chair-green",TS_CHAIR_OFFICE:"ts-chair-office",TS_COMPUTER:"ts-computer",TS_LAPTOP:"ts-laptop",TS_MONITOR:"ts-monitor",TS_PHONE:"ts-phone",TS_PLANT:"ts-plant",TS_PLANT_TALL:"ts-plant-tall",TS_PAINTING:"ts-painting",TS_FRAME_SMALL:"ts-frame-small",TS_CLOCK:"ts-clock",TS_COOLER:"ts-cooler",TS_BOXES:"ts-boxes",TS_WHITEBOARD:"ts-whiteboard"},a={SELECT:"select",TILE_PAINT:"tile_paint",WALL_PAINT:"wall_paint",ERASE:"erase",FURNITURE_PLACE:"furniture_place",FURNITURE_PICK:"furniture_pick",EYEDROPPER:"eyedropper"}},8012:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>es});var n=r(206),o=r(1406),l=r(4717),i=r(8474),s=r(9984),a=r(6353);let c=a.k5(["idle","working","waiting_approval","done","error"]),d=a.k5(["low","med","high"]),u=a.k5(["yes","no"]),p=a.Ik({type:a.eu("RUN_TASK"),agentId:a.Yj(),taskId:a.Yj(),prompt:a.Yj(),repoPath:a.Yj().optional(),name:a.Yj().optional(),role:a.Yj().optional(),personality:a.Yj().optional()}),f=a.Ik({type:a.eu("APPROVAL_DECISION"),approvalId:a.Yj(),decision:u}),g=a.Ik({type:a.eu("CANCEL_TASK"),agentId:a.Yj(),taskId:a.Yj()}),h=a.Ik({type:a.eu("PING")}),y=a.Ik({type:a.eu("CREATE_AGENT"),agentId:a.Yj(),name:a.Yj(),role:a.Yj(),palette:a.ai().optional(),personality:a.Yj().optional()}),b=a.Ik({type:a.eu("FIRE_AGENT"),agentId:a.Yj()}),k=a.Ik({type:a.eu("OPEN_FILE"),path:a.Yj()});a.gM("type",[p,f,g,h,y,b,k]);let S=a.Ik({type:a.eu("AGENT_STATUS"),agentId:a.Yj(),status:c,details:a.Yj().optional()}),m=a.Ik({type:a.eu("TASK_STARTED"),agentId:a.Yj(),taskId:a.Yj(),prompt:a.Yj()}),x=a.Ik({type:a.eu("LOG_APPEND"),agentId:a.Yj(),taskId:a.Yj(),stream:a.k5(["stdout","stderr"]),chunk:a.Yj()}),T=a.Ik({type:a.eu("APPROVAL_NEEDED"),approvalId:a.Yj(),agentId:a.Yj(),taskId:a.Yj(),title:a.Yj(),summary:a.Yj(),riskLevel:d}),A=a.Ik({summary:a.Yj(),changedFiles:a.YO(a.Yj()),diffStat:a.Yj(),testResult:a.k5(["passed","failed","unknown"]),nextSuggestion:a.Yj().optional()}),C=a.Ik({type:a.eu("TASK_DONE"),agentId:a.Yj(),taskId:a.Yj(),result:A}),W=a.Ik({type:a.eu("TASK_FAILED"),agentId:a.Yj(),taskId:a.Yj(),error:a.Yj()}),E=a.Ik({type:a.eu("AGENT_CREATED"),agentId:a.Yj(),name:a.Yj(),role:a.Yj(),palette:a.ai().optional(),personality:a.Yj().optional()}),v=a.Ik({type:a.eu("AGENT_FIRED"),agentId:a.Yj()}),w=a.gM("type",[S,m,x,T,C,W,E,v]);var O=r(5149);let I=null,D=null,H=null,P=null,_=null;function R(){P&&(clearTimeout(P),P=null),H&&(H.onopen=null,H.onmessage=null,H.onclose=null,H.onerror=null,H.close(),H=null)}let F=null;function L(e){if("ws"===F)!function(e){if(!H||H.readyState!==WebSocket.OPEN)return console.warn("[WS] Not connected, dropping command:",e.type);console.log("[WS] Sending command:",e.type,e),H.send(JSON.stringify(e))}(e);else if("ably"===F){if(!D)throw Error("Not connected");console.log("[Web] Sending command:",e.type,e),D.publish(e.type,e).then(()=>console.log("[Web] Command published OK"),e=>console.error("[Web] Command publish failed:",e))}else console.error("[Connection] No active transport")}function j(){"ws"===F?(_=null,R()):"ably"===F&&function(){if(!I)return;let e=I.connection.state;"connected"===e||"disconnected"===e||"suspended"===e?I.close():("connecting"===e||"initialized"===e)&&(I.connection.once("connected",()=>null==I?void 0:I.close()),I.connection.once("failed",()=>{})),I=null,D=null}(),F=null}var Y=r(2001),N=r(7441);let U=[{palette:0,name:"Alex",role:"Frontend Dev",description:"UI components, React/Next.js/CSS",personality:"You speak in a friendly, casual, encouraging, and natural tone."},{palette:1,name:"Mia",role:"Backend Dev",description:"APIs, database, server logic",personality:"You speak formally, professionally, in an organized and concise manner."},{palette:2,name:"Leo",role:"Fullstack Dev",description:"End-to-end, frontend + backend",personality:"You are aggressive, action-first, always pursuing speed and efficiency."},{palette:3,name:"Sophie",role:"Code Reviewer",description:"Review PRs, find bugs, quality",personality:"You teach patiently, explain the reasoning, and guide like a mentor."},{palette:4,name:"Yuki",role:"QA / Tester",description:"Write tests, edge cases",personality:"You are extremely concise, no fluff, straight to the result."},{palette:5,name:"Marcus",role:"Architect",description:"System design, refactoring",personality:"You speak formally, professionally, in an organized and concise manner."}];var M=r(2988),B=r(5195),X=r(2243);class z{pushUndo(e){this.undoStack.push(e),this.undoStack.length>X.k2&&this.undoStack.shift()}popUndo(){return this.undoStack.pop()||null}pushRedo(e){this.redoStack.push(e),this.redoStack.length>X.k2&&this.redoStack.shift()}popRedo(){return this.redoStack.pop()||null}clearRedo(){this.redoStack=[]}clearSelection(){this.selectedFurnitureUid=null}clearGhost(){this.ghostCol=-1,this.ghostRow=-1,this.ghostValid=!1}startDrag(e,t,r,n,o){this.dragUid=e,this.dragStartCol=t,this.dragStartRow=r,this.dragOffsetCol=n,this.dragOffsetRow=o,this.isDragMoving=!1}clearDrag(){this.dragUid=null,this.isDragMoving=!1}reset(){this.activeTool=B.VF.SELECT,this.selectedFurnitureUid=null,this.ghostCol=-1,this.ghostRow=-1,this.ghostValid=!1,this.isDragging=!1,this.wallDragAdding=null,this.undoStack=[],this.redoStack=[],this.isDirty=!1,this.dragUid=null,this.isDragMoving=!1}constructor(){this.isEditMode=!1,this.activeTool=B.VF.SELECT,this.selectedTileType=B.nb.FLOOR_1,this.selectedFurnitureType="desk",this.floorColor={...X.Pk},this.wallColor={...X.fS},this.wallDragAdding=null,this.pickedFurnitureColor=null,this.ghostCol=-1,this.ghostRow=-1,this.ghostValid=!1,this.selectedFurnitureUid=null,this.isDragging=!1,this.undoStack=[],this.redoStack=[],this.isDirty=!1,this.dragUid=null,this.dragStartCol=0,this.dragStartRow=0,this.dragOffsetCol=0,this.dragOffsetRow=0,this.isDragMoving=!1}}var V=r(1204),G=r(9892);let K="arcade-office-layout";var J=r(9631),Z=r(5282);let q=(0,Z.default)(()=>r.e(904).then(r.bind(r,6904)),{loadableGenerated:{webpack:()=>[6904]},ssr:!1}),Q=(0,Z.default)(()=>r.e(810).then(r.bind(r,9810)),{loadableGenerated:{webpack:()=>[9810]},ssr:!1});(0,Z.default)(()=>r.e(290).then(r.bind(r,9290)),{loadableGenerated:{webpack:()=>[9290]},ssr:!1});let $=(0,Z.default)(()=>r.e(29).then(r.bind(r,6029)),{loadableGenerated:{webpack:()=>[6029]},ssr:!1}),ee=(0,Z.default)(()=>r.e(757).then(r.bind(r,3757)),{loadableGenerated:{webpack:()=>[3757]},ssr:!1}),et={idle:{color:"#6b7280",label:"Idle"},working:{color:"#3b82f6",label:"Working..."},waiting_approval:{color:"#f97316",label:"Needs Approval"},done:{color:"#22c55e",label:"Done"},error:{color:"#ef4444",label:"Error"}},er=/((?:open\s+)?\/[\w./-]+\.\w+)/g;function en(e){let{logLine:t}=e;return(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:8},children:(0,n.jsxs)("div",{style:{padding:"10px 14px",borderRadius:"16px 16px 16px 4px",backgroundColor:"#1e1e3a",color:"#6ee7b7",fontSize:13,fontFamily:"monospace",maxWidth:"100%",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:[(0,n.jsx)("span",{style:{opacity:.5,marginRight:6},children:">"}),t||"Thinking..."]})})}function eo(e){let{msg:t}=e;return"user"===t.role?(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:8},children:(0,n.jsx)("div",{style:{maxWidth:"80%",padding:"10px 14px",borderRadius:"16px 16px 4px 16px",backgroundColor:"#4f46e5",color:"#fff",fontSize:14,wordBreak:"break-word"},children:t.text})}):"system"===t.role?(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:8},children:(0,n.jsx)("div",{style:{maxWidth:"80%",padding:"10px 14px",borderRadius:"16px 16px 16px 4px",backgroundColor:"#3b1111",border:"1px solid #ef444444",color:"#f87171",fontSize:14,wordBreak:"break-word"},children:t.text})}):(0,n.jsx)("div",{style:{display:"flex",justifyContent:"flex-start",marginBottom:8},children:(0,n.jsxs)("div",{style:{maxWidth:"85%",padding:"10px 14px",borderRadius:"16px 16px 16px 4px",backgroundColor:"#1e1e3a",color:"#ddd",fontSize:14,wordBreak:"break-word",overflow:"hidden",minWidth:0},className:"chat-markdown",children:[(0,n.jsx)(N.oz,{components:{pre(e){let{children:t}=e;return(0,n.jsx)("div",{style:{overflowX:"auto",margin:"6px 0",WebkitOverflowScrolling:"touch"},children:t})},code(e){var t;let{className:r,children:o,...l}=e,i=String(o).replace(/\n$/,""),s=(null==r?void 0:r.includes("language-"))||i.includes("\n"),a=i.match(/^open\s+(\/\S+)/),c=a?null:i.match(/^(\/[\w./-]+\.\w+)$/),d=null!=(t=null==a?void 0:a[1])?t:null==c?void 0:c[1];return d?(0,n.jsxs)("pre",{onClick:()=>L({type:"OPEN_FILE",path:d}),style:{backgroundColor:"#0d0d1f",padding:"8px 10px",borderRadius:6,fontSize:12,cursor:"pointer",border:"1px solid #2a2a4a",display:"flex",alignItems:"center",gap:8,whiteSpace:"pre"},title:"Click to open",children:[(0,n.jsx)("span",{style:{fontSize:14},children:"\uD83D\uDD17"}),(0,n.jsx)("code",{style:{fontFamily:"monospace",color:"#818cf8"},...l,children:i})]}):s?(0,n.jsx)("pre",{style:{backgroundColor:"#0d0d1f",padding:"8px 10px",borderRadius:6,fontSize:12,whiteSpace:"pre"},children:(0,n.jsx)("code",{style:{fontFamily:"monospace",color:"#a5b4fc"},...l,children:o})}):(0,n.jsx)("code",{style:{backgroundColor:"#0d0d1f",padding:"1px 5px",borderRadius:4,fontFamily:"monospace",color:"#a5b4fc",fontSize:13},...l,children:o})},table(e){let{children:t}=e;return(0,n.jsx)("div",{style:{overflowX:"auto",margin:"6px 0",WebkitOverflowScrolling:"touch"},children:(0,n.jsx)("table",{style:{borderCollapse:"collapse",fontSize:13,whiteSpace:"nowrap"},children:t})})},th(e){let{children:t}=e;return(0,n.jsx)("th",{style:{padding:"4px 10px",borderBottom:"1px solid #444",textAlign:"left",color:"#e2e8f0"},children:t})},td(e){let{children:t}=e;return(0,n.jsx)("td",{style:{padding:"4px 10px",borderBottom:"1px solid #222"},children:t})},p(e){let{children:t}=e;return(0,n.jsx)("p",{style:{margin:"4px 0"},children:function e(t){if("string"==typeof t){let e=t.split(er);return 1===e.length?t:e.map((e,t)=>{if(er.test(e)){er.lastIndex=0;let r=e.replace(/^open\s+/,"");return(0,n.jsx)("span",{onClick:()=>{L({type:"OPEN_FILE",path:r})},style:{color:"#818cf8",textDecoration:"underline",cursor:"pointer",fontFamily:"monospace",fontSize:13},title:"Click to open",children:e},t)}return e})}return Array.isArray(t)?t.map((t,r)=>"string"==typeof t?e(t):t):t}(t)})},ul(e){let{children:t}=e;return(0,n.jsx)("ul",{style:{margin:"4px 0",paddingLeft:18},children:t})},ol(e){let{children:t}=e;return(0,n.jsx)("ol",{style:{margin:"4px 0",paddingLeft:18},children:t})},a(e){let{href:t,children:r}=e;return(0,n.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",style:{color:"#818cf8",textDecoration:"underline"},children:r})},strong(e){let{children:t}=e;return(0,n.jsx)("strong",{style:{color:"#f0f0f0"},children:t})}},children:t.text}),t.result&&t.result.changedFiles.length>0&&(0,n.jsxs)("div",{style:{marginTop:8,padding:"8px 10px",borderRadius:8,backgroundColor:"#0f1a2f",fontSize:12},children:[(0,n.jsxs)("div",{style:{color:"#888",marginBottom:4},children:["Changed ",t.result.changedFiles.length," files"]}),t.result.changedFiles.slice(0,5).map((e,t)=>(0,n.jsx)("div",{style:{fontFamily:"monospace",color:"#a5b4fc"},children:e},t)),t.result.changedFiles.length>5&&(0,n.jsxs)("div",{style:{color:"#888"},children:["...and ",t.result.changedFiles.length-5," more"]})]})]})})}function el(e){let{palette:t,zoom:r=3,ready:l}=e,i=(0,o.useRef)(null);return(0,o.useEffect)(()=>{var e,n;let o=i.current;if(!o)return;let l=(0,M.Cr)(t);if(!l)return;let s=l.length,a=null!=(n=null==(e=l[0])?void 0:e.length)?n:0;o.width=a*r,o.height=s*r;let c=o.getContext("2d");if(c){c.clearRect(0,0,o.width,o.height);for(let e=0;e<s;e++)for(let t=0;t<a;t++){let n=l[e][t];n&&(c.fillStyle=n,c.fillRect(t*r,e*r,r,r))}}},[t,r,l]),(0,n.jsx)("canvas",{ref:i,style:{width:16*r,height:32*r,imageRendering:"pixelated"}})}function ei(e){let{onHire:t,onClose:r,assetsReady:o}=e;return(0,n.jsx)("div",{onClick:r,style:{position:"fixed",inset:0,backgroundColor:"rgba(0,0,0,0.6)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:100},children:(0,n.jsxs)("div",{onClick:e=>e.stopPropagation(),style:{backgroundColor:"#16162a",borderRadius:14,padding:"16px 16px 12px",width:"90%",maxWidth:320,border:"1px solid #333"},children:[(0,n.jsx)("h2",{style:{fontSize:16,margin:"0 0 10px",textAlign:"center"},children:"Hire Agent"}),(0,n.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:U.map(e=>(0,n.jsxs)("button",{onClick:()=>t(e.name,e.description,e.palette,e.personality),style:{display:"flex",alignItems:"center",gap:10,padding:"5px 10px",borderRadius:8,border:"1px solid #333",backgroundColor:"#0a0a1a",cursor:"pointer",textAlign:"left",transition:"background-color 0.15s"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="#1a1a3a"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#0a0a1a"},children:[(0,n.jsx)(el,{palette:e.palette,zoom:2,ready:o}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"#e2e8f0"},children:e.name}),(0,n.jsxs)("div",{style:{fontSize:11,color:"#888"},children:[e.role," \xb7 ",e.description]})]})]},e.palette))}),(0,n.jsx)("button",{onClick:r,style:{width:"100%",marginTop:8,padding:"8px",borderRadius:8,border:"1px solid #333",backgroundColor:"transparent",color:"#666",fontSize:12,cursor:"pointer"},children:"Cancel"})]})})}function es(){var e;let t=(0,l.useRouter)(),{agents:r,connected:a,addUserMessage:c}=(0,i.f)(),[d,u]=(0,o.useState)(null),[p,f]=(0,o.useState)(!1),[g,h]=(0,o.useState)(!1),[y,b]=(0,o.useState)(""),k=(0,o.useRef)(null),[S,m]=(0,o.useState)(!1),[x,T]=(0,o.useState)(!1),[A,C]=(0,o.useState)(!0),[,W]=(0,o.useState)(0),E=(0,o.useRef)(new z),v=(0,o.useRef)(null),N=(0,o.useRef)(1),U=(0,o.useRef)({x:0,y:0}),[M,Z]=(0,o.useState)(!1);(0,o.useEffect)(()=>{try{let e=localStorage.getItem("arcade-sound-enabled");null!==e&&C(JSON.parse(e))}catch(e){}},[]);let{handleTileClick:er,handleRightClick:es,handleDeleteSelected:ea,handleRotateSelected:ec,handleDragStart:ed,handleDragMove:eu,handleDragEnd:ep,updateGhost:ef,handleUndo:eg,handleRedo:eh,handleImportLayout:ey,handleSelectedFurnitureColorChange:eb}=function(e,t,r){let n=(0,o.useRef)(null),l=(0,o.useCallback)(()=>{var e,r;return null!=(r=null==(e=t.current)?void 0:e.layout)?r:null},[t]),i=(0,o.useCallback)(o=>{let l=t.current;l&&(l.setLayout(o),e.current.isDirty=!0,r(),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{try{localStorage.setItem(K,JSON.stringify(o))}catch(e){}},X.e7))},[t,e,r]),s=(0,o.useCallback)((t,n)=>{var o,s,a,c;let d=e.current,u=l();if(!u)return;let p=d.activeTool;if(t<0||t>=u.cols||n<0||n>=u.rows){let e=null;if(n<0?e="up":n>=u.rows?e="down":t<0?e="left":t>=u.cols&&(e="right"),e){d.pushUndo(u),d.clearRedo();let t=(0,V.vk)(u,e);t&&i(t.layout)}return}switch(p){case B.VF.TILE_PAINT:d.pushUndo(u),d.clearRedo(),i((0,V.FH)(u,t,n,d.selectedTileType,d.floorColor));break;case B.VF.WALL_PAINT:{d.pushUndo(u),d.clearRedo();let e=n*u.cols+t;u.tiles[e]===B.nb.WALL?i((0,V.FH)(u,t,n,B.nb.FLOOR_1,d.floorColor)):i((0,V.FH)(u,t,n,B.nb.WALL,d.wallColor));break}case B.VF.ERASE:{d.pushUndo(u),d.clearRedo();let e=(0,V.iH)(u,t,n),r=u;e&&(r=(0,V.PT)(r,e.uid)),i(r=(0,V.FH)(r,t,n,B.nb.VOID));break}case B.VF.FURNITURE_PLACE:if(d.selectedFurnitureType){let e=(0,G.Um)(d.selectedFurnitureType);if(e){let r=e.canPlaceOnWalls?(0,V.si)(d.selectedFurnitureType,n):n;if((0,V.Ii)(u,d.selectedFurnitureType,t,r)){d.pushUndo(u),d.clearRedo();let e={uid:"f-".concat((0,Y.Ak)(6)),type:d.selectedFurnitureType,col:t,row:r,...d.pickedFurnitureColor?{color:d.pickedFurnitureColor}:{}};i((0,V.qZ)(u,e))}}}break;case B.VF.SELECT:{let e=(0,V.iH)(u,t,n);d.selectedFurnitureUid=null!=(o=null==e?void 0:e.uid)?o:null,r();break}case B.VF.EYEDROPPER:{let e=n*u.cols+t,o=u.tiles[e];if(void 0!==o&&o!==B.nb.WALL&&o!==B.nb.VOID){d.selectedTileType=o;let t=null==(s=u.tileColors)?void 0:s[e];t&&(d.floorColor={...t}),d.activeTool=B.VF.TILE_PAINT}else if(o===B.nb.WALL){let t=null==(a=u.tileColors)?void 0:a[e];t&&(d.wallColor={...t}),d.activeTool=B.VF.WALL_PAINT}r();break}case B.VF.FURNITURE_PICK:{let e=(0,V.iH)(u,t,n);e&&(d.selectedFurnitureType=e.type,d.pickedFurnitureColor=null!=(c=e.color)?c:null,d.activeTool=B.VF.FURNITURE_PLACE,r())}}},[e,l,i,r]),a=(0,o.useCallback)((t,r)=>{let n=l();if(!n||t<0||t>=n.cols||r<0||r>=n.rows)return;let o=e.current;o.pushUndo(n),o.clearRedo();let s=(0,V.iH)(n,t,r),a=n;s&&(a=(0,V.PT)(a,s.uid)),i(a=(0,V.FH)(a,t,r,B.nb.VOID))},[e,l,i]),c=(0,o.useCallback)(()=>{let t=e.current,n=l();n&&t.selectedFurnitureUid&&(t.pushUndo(n),t.clearRedo(),i((0,V.PT)(n,t.selectedFurnitureUid)),t.selectedFurnitureUid=null,r())},[e,l,i,r]),d=(0,o.useCallback)(()=>{let t=e.current,r=l();if(!r||!t.selectedFurnitureUid)return;let n=r.furniture.find(e=>e.uid===t.selectedFurnitureUid);n&&(0,G.ZZ)(n.type)&&(t.pushUndo(r),t.clearRedo(),i((0,V.WC)(r,t.selectedFurnitureUid)))},[e,l,i]),u=(0,o.useCallback)((t,r)=>{let n=e.current,o=l();if(!o)return;let i=(0,V.iH)(o,t,r);i&&(n.selectedFurnitureUid=i.uid,n.startDrag(i.uid,t,r,t-i.col,r-i.row),n.pushUndo(o),n.clearRedo())},[e,l]),p=(0,o.useCallback)((t,r)=>{let n=e.current;if(!n.dragUid)return;n.isDragMoving=!0;let o=l();if(!o)return;let i=t-n.dragOffsetCol,s=r-n.dragOffsetRow,a=o.furniture.find(e=>e.uid===n.dragUid);a&&((0,G.Um)(a.type),n.ghostCol=i,n.ghostRow=s,n.ghostValid=(0,V.Ii)(o,a.type,i,s,n.dragUid))},[e,l]),f=(0,o.useCallback)((t,r)=>{let n=e.current;if(!n.dragUid)return;let o=n.dragUid,s=n.isDragMoving;if(n.clearDrag(),n.clearGhost(),!s)return;let a=l();if(!a)return;let c=t-n.dragOffsetCol,d=r-n.dragOffsetRow;i((0,V.iZ)(a,o,c,d))},[e,l,i]),g=(0,o.useCallback)((t,r)=>{let n=e.current;if(!n.dragUid)if(n.activeTool===B.VF.FURNITURE_PLACE&&n.selectedFurnitureType){let e=l();if(!e)return;let o=(0,G.Um)(n.selectedFurnitureType);if(!o)return;let i=o.canPlaceOnWalls?(0,V.si)(n.selectedFurnitureType,r):r;n.ghostCol=t,n.ghostRow=i,n.ghostValid=(0,V.Ii)(e,n.selectedFurnitureType,t,i)}else n.ghostCol=t,n.ghostRow=r,n.ghostValid=!1},[e,l]),h=(0,o.useCallback)(()=>{let t=e.current,r=l();if(!r)return;let n=t.popUndo();n&&(t.pushRedo(r),i(n))},[e,l,i]),y=(0,o.useCallback)(()=>{let t=e.current,r=l();if(!r)return;let n=t.popRedo();n&&(t.pushUndo(r),i(n))},[e,l,i]);return{handleTileClick:s,handleRightClick:a,handleDeleteSelected:c,handleRotateSelected:d,handleDragStart:u,handleDragMove:p,handleDragEnd:f,updateGhost:g,handleUndo:h,handleRedo:y,handleImportLayout:(0,o.useCallback)(t=>{let r=e.current,n=l();n&&(r.pushUndo(n),r.clearRedo()),i(t)},[e,l,i]),handleSelectedFurnitureColorChange:(0,o.useCallback)(t=>{let r=e.current,n=l();if(!n||!r.selectedFurnitureUid)return;r.pushUndo(n),r.clearRedo();let o=n.furniture.map(e=>e.uid===r.selectedFurnitureUid?{...e,color:null!=t?t:void 0}:e);i({...n,furniture:o})},[e,l,i])}}(E,v,(0,o.useCallback)(()=>{W(e=>e+1)},[])),ek=(0,o.useCallback)(()=>{m(e=>{let t=!e;return t||E.current.reset(),t})},[]);!function(e){let{editMode:t,editorRef:r,onUndo:n,onRedo:l,onDeleteSelected:i,onRotateSelected:s,onExitEditMode:a}=e;(0,o.useEffect)(()=>{if(!t)return;let e=e=>{let t=e.ctrlKey||e.metaKey;if(t&&"z"===e.key&&!e.shiftKey){e.preventDefault(),n();return}if(t&&"y"===e.key||t&&"z"===e.key&&e.shiftKey){e.preventDefault(),l();return}if("Delete"===e.key||"Backspace"===e.key){r.current.selectedFurnitureUid&&(e.preventDefault(),i());return}if("r"===e.key||"R"===e.key){r.current.selectedFurnitureUid&&(e.preventDefault(),s());return}if("Escape"===e.key)return void(r.current.selectedFurnitureUid?r.current.selectedFurnitureUid=null:a());let o={1:B.VF.SELECT,2:B.VF.TILE_PAINT,3:B.VF.WALL_PAINT,4:B.VF.ERASE,5:B.VF.FURNITURE_PLACE,6:B.VF.EYEDROPPER};if(o[e.key]){r.current.activeTool=o[e.key],r.current.selectedFurnitureUid=null;return}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,r,n,l,i,s,a])}({editMode:S,editorRef:E,onUndo:eg,onRedo:eh,onDeleteSelected:ea,onRotateSelected:ec,onExitEditMode:ek});let eS=(0,o.useCallback)(()=>{let e=function(){try{let e=localStorage.getItem(K);if(!e)return null;let t=JSON.parse(e);if(t&&1===t.version)return t}catch(e){}return null}();if(e&&v.current){let t=(0,J._m)(e);v.current.setLayout(t),W(e=>e+1)}Z(!0)},[]);(0,o.useEffect)(()=>{var e,r;let n=(0,O.getConnection)();if(!n)return void t.push("/pair");return i.f.getState().hydrate(),(j(),"ws"===n.mode&&n.wsUrl)?(F="ws",e=n.wsUrl,R(),_=e,function e(){if(!_)return;let t=new WebSocket(_);t.onopen=()=>{console.log("[WS] Connected"),i.f.getState().setConnected(!0),t.readyState===WebSocket.OPEN&&t.send(JSON.stringify({type:"PING"}))},t.onmessage=e=>{try{let t=w.parse(JSON.parse(e.data));i.f.getState().handleEvent(t)}catch(e){console.error("[WS] Invalid event:",e)}},t.onclose=()=>{console.log("[WS] Disconnected"),i.f.getState().setConnected(!1),H===t&&_&&(H=null,P=setTimeout(e,2e3))},t.onerror=()=>{},H=t}()):"ably"===n.mode&&(F="ably",r=n.machineId,(I=new s.Realtime({authCallback:async(e,t)=>{try{let e=(0,O.getGatewayHttpUrl)(),n=await fetch("".concat(e,"/ably/token"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:r})});if(!n.ok)throw Error("Token request failed");let o=await n.json();t(null,o)}catch(e){t(e instanceof Error?e.message:String(e),null)}}})).connection.on("connected",()=>{i.f.getState().setConnected(!0),I.channels.get("machine:".concat(r,":commands")).publish("PING",{type:"PING"})}),I.connection.on("disconnected",()=>{i.f.getState().setConnected(!1)}),I.channels.get("machine:".concat(r,":events")).subscribe(e=>{try{let t=w.parse(e.data);i.f.getState().handleEvent(t)}catch(e){console.error("[Web] Invalid event:",e)}}),D=I.channels.get("machine:".concat(r,":commands"))),()=>{j()}},[t]);let em=d?r.get(d):null;(null==em?void 0:em.status)==="working"||null==em||em.status,(0,o.useEffect)(()=>{var e;null==(e=k.current)||e.scrollIntoView({behavior:"smooth"})},[null==em||null==(e=em.messages)?void 0:e.length,null==em?void 0:em.status]);let ex=(0,o.useCallback)(e=>{u(e),h(!0)},[]),eT=(0,o.useCallback)((e,t,n,o)=>{let l=Array.from(r.values()).filter(t=>t.name===e||t.name.match(new RegExp("^".concat(e," \\d+$")))),i=0===l.length?e:"".concat(e," ").concat(l.length+1),s="agent-".concat((0,Y.Ak)(6));L({type:"CREATE_AGENT",agentId:s,name:i,role:t,palette:n,personality:o}),u(s),h(!0),f(!1)},[r]),eA=(0,o.useCallback)(e=>{var t,n;confirm("Fire ".concat(null!=(n=null==(t=r.get(e))?void 0:t.name)?n:e,"?"))&&(L({type:"FIRE_AGENT",agentId:e}),d===e&&(u(null),h(!1)))},[d,r]),eC=(0,o.useCallback)(()=>{if(!d||!y.trim())return;let e=r.get(d),t=(0,Y.Ak)();c(d,t,y.trim()),L({type:"RUN_TASK",agentId:d,taskId:t,prompt:y.trim(),name:null==e?void 0:e.name,role:null==e?void 0:e.role,personality:null==e?void 0:e.personality}),b("")},[d,y,c,r]);(0,o.useCallback)(()=>{d&&L({type:"CANCEL_TASK",agentId:d,taskId:""})},[d]);let eW=(0,o.useCallback)((e,t)=>{L({type:"APPROVAL_DECISION",approvalId:e,decision:t})},[]);(0,o.useCallback)(e=>{N.current=Math.max(X.DH,Math.min(X.ZV,e)),W(e=>e+1)},[]);let eE=Array.from(r.values()),ev=E.current,[ew,eO]=(0,o.useState)(!1);(0,o.useEffect)(()=>{let e=window.matchMedia("(max-width: 768px)");eO(e.matches);let t=e=>eO(e.matches);return e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]);let eI=g&&null!==d;return(0,n.jsxs)("div",{style:{height:"100vh",width:"100vw",position:"relative",overflow:"hidden",display:"flex"},children:[(0,n.jsxs)("div",{style:{flex:1,position:"relative",minWidth:0},children:[(0,n.jsx)(q,{onAgentClick:ex,selectedAgent:d,editMode:S,editorRef:E,stateRef:v,zoomRef:N,panRef:U,onTileClick:er,onTileRightClick:es,onGhostMove:ef,onDragStart:ed,onDragMove:eu,onDragEnd:ep,onDeleteBtnClick:ea,onRotateBtnClick:ec,onAssetsLoaded:eS}),(0,n.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,zIndex:10,padding:"10px 16px",display:"flex",alignItems:"center",gap:12,background:"linear-gradient(to bottom, rgba(10,10,26,0.85) 0%, rgba(10,10,26,0) 100%)",pointerEvents:"none"},children:(0,n.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,pointerEvents:"auto"},children:[(0,n.jsx)("h1",{style:{fontSize:16,margin:0,fontWeight:600},children:"Bit Office"}),(0,n.jsx)("span",{style:{fontSize:10,padding:"2px 8px",borderRadius:10,backgroundColor:a?"#052e16":"#450a0a",color:a?"#22c55e":"#ef4444"},children:a?"Online":"Offline"}),S&&(0,n.jsx)("span",{style:{fontSize:10,padding:"2px 8px",borderRadius:10,backgroundColor:"#1a1a4a",color:"#a5b4fc"},children:"Edit Mode"})]})}),S&&(0,n.jsx)(Q,{activeTool:ev.activeTool,selectedTileType:ev.selectedTileType,selectedFurnitureType:ev.selectedFurnitureType,selectedFurnitureUid:ev.selectedFurnitureUid,selectedFurnitureColor:(()=>{var e;if(!ev.selectedFurnitureUid||!v.current)return null;let t=v.current.layout.furniture.find(e=>e.uid===ev.selectedFurnitureUid);return null!=(e=null==t?void 0:t.color)?e:null})(),floorColor:ev.floorColor,wallColor:ev.wallColor,onToolChange:e=>{ev.activeTool=e,ev.clearSelection(),W(e=>e+1)},onTileTypeChange:e=>{ev.selectedTileType=e,W(e=>e+1)},onFloorColorChange:e=>{ev.floorColor=e,W(e=>e+1)},onWallColorChange:e=>{ev.wallColor=e,W(e=>e+1)},onSelectedFurnitureColorChange:eb,onFurnitureTypeChange:e=>{ev.selectedFurnitureType=e,ev.activeTool=B.VF.FURNITURE_PLACE,W(e=>e+1)}}),!ew&&(0,n.jsx)(ee,{editMode:S,onToggleEditMode:ek,onOpenSettings:()=>T(!0)})]}),!ew&&(0,n.jsxs)("div",{style:{width:"33vw",minWidth:300,maxWidth:500,flexShrink:0,height:"100vh",backgroundColor:"#0c0c1a",borderLeft:"1px solid #222",display:"flex",flexDirection:"column",overflow:"hidden"},children:[(0,n.jsx)("button",{onClick:()=>f(!0),style:{margin:"12px 12px 4px",padding:"10px",borderRadius:10,border:"1px dashed #4f46e5",backgroundColor:"transparent",color:"#a5b4fc",fontSize:13,fontWeight:600,cursor:"pointer",flexShrink:0,transition:"background-color 0.15s"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor="rgba(79,70,229,0.1)"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="transparent"},children:"+ Hire Agent"}),(0,n.jsx)("div",{style:{flex:1,overflowY:"auto",padding:"4px 0"},children:eE.map(e=>{var t,o;let l=null!=(t=et[e.status])?t:et.idle,i=g&&d===e.agentId,s=r.get(e.agentId),a=(null==s?void 0:s.status)==="working"||(null==s?void 0:s.status)==="waiting_approval";return(0,n.jsxs)("div",{style:{display:"flex",flexDirection:"column",borderBottom:"1px solid #1a1a2e"},children:[(0,n.jsxs)("button",{onClick:()=>{i?h(!1):(u(e.agentId),h(!0))},style:{display:"flex",alignItems:"center",gap:10,padding:"10px 14px",background:i?"#16162e":"transparent",border:"none",cursor:"pointer",textAlign:"left",width:"100%",transition:"background-color 0.15s",...i?{position:"sticky",top:0,zIndex:2,backgroundColor:"#16162e"}:{}},onMouseEnter:e=>{i||(e.currentTarget.style.backgroundColor="#111125")},onMouseLeave:e=>{i||(e.currentTarget.style.backgroundColor="transparent")},children:[(0,n.jsx)(el,{palette:null!=(o=e.palette)?o:0,zoom:2,ready:M}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:13,fontWeight:600,color:"#e2e8f0",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.name}),(0,n.jsx)("div",{style:{fontSize:11,color:"#666",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:e.role})]}),(0,n.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",backgroundColor:l.color,flexShrink:0}}),(0,n.jsx)("span",{onClick:t=>{t.stopPropagation(),eA(e.agentId)},style:{fontSize:11,color:"#555",cursor:"pointer",lineHeight:1,padding:"4px",flexShrink:0},children:"✕"})]}),i&&s&&(0,n.jsxs)("div",{style:{flex:1,display:"flex",flexDirection:"column",backgroundColor:"#0a0a18",minHeight:0,height:"calc(100vh - 200px)",maxHeight:"calc(100vh - 160px)"},children:[(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"12px 14px",display:"flex",flexDirection:"column"},children:[0===s.messages.length&&(0,n.jsx)("div",{style:{textAlign:"center",color:"#555",padding:20,fontSize:13},children:"Send a message to get started"}),s.messages.map(e=>(0,n.jsx)(eo,{msg:e},e.id)),a&&!s.pendingApproval&&(0,n.jsx)(en,{logLine:s.lastLogLine}),s.pendingApproval&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:14,borderRadius:12,backgroundColor:"#2d1b00",border:"1px solid #f97316"},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:"bold",color:"#f97316",marginBottom:4},children:s.pendingApproval.title}),(0,n.jsx)("div",{style:{fontSize:13,color:"#ccc",marginBottom:10},children:s.pendingApproval.summary}),(0,n.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,n.jsx)("button",{onClick:()=>eW(s.pendingApproval.approvalId,"yes"),style:{flex:1,padding:"10px",borderRadius:8,border:"none",backgroundColor:"#22c55e",color:"#fff",cursor:"pointer",fontWeight:"bold",fontSize:14},children:"Approve"}),(0,n.jsx)("button",{onClick:()=>eW(s.pendingApproval.approvalId,"no"),style:{flex:1,padding:"10px",borderRadius:8,border:"none",backgroundColor:"#ef4444",color:"#fff",cursor:"pointer",fontWeight:"bold",fontSize:14},children:"Reject"})]})]}),(0,n.jsx)("div",{ref:k})]}),(0,n.jsx)("div",{style:{padding:"10px 12px",borderTop:"1px solid #1a1a2e",backgroundColor:"#0a0a18",flexShrink:0},children:(0,n.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,n.jsx)("input",{value:y,onChange:e=>b(e.target.value),onKeyDown:e=>"Enter"===e.key&&eC(),placeholder:"Send a message...",style:{flex:1,padding:"10px 12px",borderRadius:8,border:"1px solid #222",backgroundColor:"#12122a",color:"#fff",fontSize:14,outline:"none"},autoFocus:!0}),(0,n.jsx)("button",{onClick:eC,disabled:!y.trim(),style:{padding:"10px 16px",borderRadius:8,border:"none",backgroundColor:y.trim()?"#4f46e5":"#222",color:"#fff",fontSize:14,cursor:y.trim()?"pointer":"default"},children:"Send"})]})})]})]},e.agentId)})})]}),ew&&eE.length>0&&!eI&&(0,n.jsxs)("div",{style:{position:"absolute",bottom:0,left:0,right:0,zIndex:20,padding:"8px 12px",display:"flex",alignItems:"center",gap:8,background:"linear-gradient(to top, rgba(10,10,26,0.95) 0%, rgba(10,10,26,0.7) 80%, transparent 100%)",overflowX:"auto"},children:[(0,n.jsx)("button",{onClick:()=>f(!0),style:{width:44,height:44,borderRadius:"50%",flexShrink:0,border:"2px dashed #4f46e5",backgroundColor:"rgba(79,70,229,0.15)",color:"#a5b4fc",fontSize:20,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center"},children:"+"}),eE.map(e=>{var t,r;let o=null!=(t=et[e.status])?t:et.idle;return(0,n.jsxs)("button",{onClick:()=>{u(e.agentId),h(!0)},style:{position:"relative",flexShrink:0,width:44,height:44,borderRadius:"50%",border:d===e.agentId?"2px solid #4f46e5":"2px solid #333",backgroundColor:"#0c0c1a",cursor:"pointer",padding:0,display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden"},children:[(0,n.jsx)(el,{palette:null!=(r=e.palette)?r:0,zoom:1,ready:M}),(0,n.jsx)("span",{style:{position:"absolute",bottom:2,right:2,width:8,height:8,borderRadius:"50%",backgroundColor:o.color,border:"1px solid #0c0c1a"}})]},e.agentId)})]}),ew&&eI&&(()=>{var e,t;let o=d?r.get(d):null;if(!o)return null;let l=null!=(e=et[o.status])?e:et.idle,i="working"===o.status||"waiting_approval"===o.status;return(0,n.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:30,backgroundColor:"#0a0a18",display:"flex",flexDirection:"column"},children:[(0,n.jsxs)("div",{onClick:()=>h(!1),style:{padding:"12px 14px",borderBottom:"1px solid #1a1a2e",display:"flex",alignItems:"center",gap:10,flexShrink:0,backgroundColor:"#0e0e20",cursor:"pointer"},children:[(0,n.jsx)("span",{style:{fontSize:16,color:"#888",marginRight:4},children:"←"}),(0,n.jsx)(el,{palette:null!=(t=o.palette)?t:0,zoom:2,ready:M}),(0,n.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:600,color:"#e2e8f0"},children:o.name}),(0,n.jsx)("div",{style:{fontSize:11,color:"#888"},children:o.role})]}),(0,n.jsx)("span",{style:{fontSize:11,padding:"2px 8px",borderRadius:10,backgroundColor:l.color+"22",color:l.color,flexShrink:0},children:l.label})]}),(0,n.jsxs)("div",{style:{flex:1,overflowY:"auto",padding:"12px 14px",display:"flex",flexDirection:"column"},children:[0===o.messages.length&&(0,n.jsx)("div",{style:{textAlign:"center",color:"#555",padding:20,fontSize:13},children:"Send a message to get started"}),o.messages.map(e=>(0,n.jsx)(eo,{msg:e},e.id)),i&&!o.pendingApproval&&(0,n.jsx)(en,{logLine:o.lastLogLine}),o.pendingApproval&&(0,n.jsxs)("div",{style:{marginBottom:8,padding:14,borderRadius:12,backgroundColor:"#2d1b00",border:"1px solid #f97316"},children:[(0,n.jsx)("div",{style:{fontSize:14,fontWeight:"bold",color:"#f97316",marginBottom:4},children:o.pendingApproval.title}),(0,n.jsx)("div",{style:{fontSize:13,color:"#ccc",marginBottom:10},children:o.pendingApproval.summary}),(0,n.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,n.jsx)("button",{onClick:()=>eW(o.pendingApproval.approvalId,"yes"),style:{flex:1,padding:"10px",borderRadius:8,border:"none",backgroundColor:"#22c55e",color:"#fff",cursor:"pointer",fontWeight:"bold",fontSize:14},children:"Approve"}),(0,n.jsx)("button",{onClick:()=>eW(o.pendingApproval.approvalId,"no"),style:{flex:1,padding:"10px",borderRadius:8,border:"none",backgroundColor:"#ef4444",color:"#fff",cursor:"pointer",fontWeight:"bold",fontSize:14},children:"Reject"})]})]}),(0,n.jsx)("div",{ref:k})]}),(0,n.jsx)("div",{style:{padding:"10px 12px",borderTop:"1px solid #1a1a2e",backgroundColor:"#0a0a18",flexShrink:0},children:(0,n.jsxs)("div",{style:{display:"flex",gap:8},children:[(0,n.jsx)("input",{value:y,onChange:e=>b(e.target.value),onKeyDown:e=>"Enter"===e.key&&eC(),placeholder:"Send a message...",style:{flex:1,padding:"10px 12px",borderRadius:8,border:"1px solid #222",backgroundColor:"#12122a",color:"#fff",fontSize:14,outline:"none"},autoFocus:!0}),(0,n.jsx)("button",{onClick:eC,disabled:!y.trim(),style:{padding:"10px 16px",borderRadius:8,border:"none",backgroundColor:y.trim()?"#4f46e5":"#222",color:"#fff",fontSize:14,cursor:y.trim()?"pointer":"default"},children:"Send"})]})})]})})(),p&&(0,n.jsx)(ei,{onHire:eT,onClose:()=>f(!1),assetsReady:M}),v.current&&(0,n.jsx)($,{isOpen:x,onClose:()=>T(!1),layout:v.current.layout,onImportLayout:ey,soundEnabled:A,onSoundEnabledChange:C})]})}},8208:(e,t,r)=>{Promise.resolve().then(r.bind(r,8012))},8474:(e,t,r)=>{"use strict";r.d(t,{f:()=>c});var n=r(9576);let o="arcade-chat-history";function l(e){try{let t=[];for(let[,r]of e)(r.messages.length>0||r.name!==r.agentId)&&t.push({agentId:r.agentId,name:r.name,role:r.role,palette:r.palette,personality:r.personality,messages:r.messages});localStorage.setItem(o,JSON.stringify(t))}catch(e){}}function i(){try{let e=localStorage.getItem(o);if(!e)return new Map;let t=JSON.parse(e),r=new Map;for(let e of t)r.set(e.agentId,e);return r}catch(e){return new Map}}function s(e){try{let t=localStorage.getItem(o);if(!t)return;let r=JSON.parse(t);localStorage.setItem(o,JSON.stringify(r.filter(t=>t.agentId!==e)))}catch(e){}}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return{agentId:e,name:t,role:r,status:"idle",currentTaskId:null,currentPrompt:null,pendingApproval:null,messages:[],lastLogLine:null}}let c=(0,n.v)((e,t)=>({agents:new Map,connected:!1,hydrated:!1,setConnected:t=>e({connected:t}),hydrate:()=>{if(t().hydrated)return;let r=i();if(0===r.size)return void e({hydrated:!0});e(e=>{let t=new Map(e.agents);for(let[e,n]of r)t.has(e)||t.set(e,{...a(e,n.name,n.role),palette:n.palette,personality:n.personality,messages:n.messages});return{agents:t,hydrated:!0}})},getAgent:e=>{var r;return null!=(r=t().agents.get(e))?r:a(e)},removeAgent:t=>{e(e=>{let r=new Map(e.agents);return r.delete(t),s(t),{agents:r}})},addUserMessage:(t,r,n)=>{e(e=>{var o;let i=new Map(e.agents),s=null!=(o=i.get(t))?o:a(t);return i.set(t,{...s,messages:[...s.messages,{id:r,role:"user",text:n,timestamp:Date.now()}]}),l(i),{agents:i}})},handleEvent:t=>{e(e=>{var r,n,o,c,d,u,p,f,g;let h=new Map(e.agents);switch(t.type){case"AGENT_CREATED":{let e=h.get(t.agentId);if(e)h.set(t.agentId,{...e,name:t.name,role:t.role,palette:null!=(r=t.palette)?r:e.palette,personality:null!=(n=t.personality)?n:e.personality});else{let e=i().get(t.agentId),r=a(t.agentId,t.name,t.role);r.palette=null!=(o=t.palette)?o:null==e?void 0:e.palette,r.personality=null!=(c=t.personality)?c:null==e?void 0:e.personality,e&&(r.messages=e.messages),h.set(t.agentId,r)}l(h);break}case"AGENT_FIRED":h.delete(t.agentId),s(t.agentId);break;case"AGENT_STATUS":{let e=null!=(d=h.get(t.agentId))?d:a(t.agentId);h.set(t.agentId,{...e,status:t.status});break}case"TASK_STARTED":{let e=null!=(u=h.get(t.agentId))?u:a(t.agentId);h.set(t.agentId,{...e,status:"working",currentTaskId:t.taskId,currentPrompt:t.prompt,pendingApproval:null,lastLogLine:null});break}case"APPROVAL_NEEDED":{let e=null!=(p=h.get(t.agentId))?p:a(t.agentId);h.set(t.agentId,{...e,status:"waiting_approval",pendingApproval:{approvalId:t.approvalId,title:t.title,summary:t.summary,riskLevel:t.riskLevel}});break}case"TASK_DONE":{let e=null!=(f=h.get(t.agentId))?f:a(t.agentId),r=t.taskId+"-reply";if(e.messages.some(e=>e.id===r))break;h.set(t.agentId,{...e,status:"done",currentTaskId:null,pendingApproval:null,lastLogLine:null,messages:[...e.messages,{id:r,role:"agent",text:t.result.summary,timestamp:Date.now(),result:t.result}]}),l(h);break}case"TASK_FAILED":{let e=null!=(g=h.get(t.agentId))?g:a(t.agentId),r=t.taskId+"-error";if(e.messages.some(e=>e.id===r))break;h.set(t.agentId,{...e,status:"error",currentTaskId:null,pendingApproval:null,lastLogLine:null,messages:[...e.messages,{id:r,role:"system",text:t.error,timestamp:Date.now()}]}),l(h);break}case"LOG_APPEND":{let e=h.get(t.agentId);e&&h.set(t.agentId,{...e,lastLogLine:t.chunk})}}return{agents:h}})}}))},9631:(e,t,r)=>{"use strict";r.d(t,{AI:()=>g,CW:()=>y,Co:()=>f,Kf:()=>S,MB:()=>p,Pg:()=>h,_m:()=>m,hF:()=>k,kr:()=>b});var n=r(5195),o=r(9892),l=r(1661);let i={h:210,s:20,b:22,c:0},s={h:35,s:30,b:15,c:0},a={h:150,s:15,b:20,c:0},c={h:30,s:40,b:25,c:0},d={h:195,s:10,b:18,c:0},u={h:270,s:15,b:20,c:0};function p(e){let t=[];for(let r=0;r<e.rows;r++){let n=[];for(let t=0;t<e.cols;t++)n.push(e.tiles[r*e.cols+t]);t.push(n)}return t}function f(e){let t=new Map;for(let r of e){let e=(0,o.Um)(r.type);if(!e||!e.isDesk)continue;let l=r.row*n.dn+e.sprite.length;for(let n=0;n<e.footprintH;n++)for(let o=0;o<e.footprintW;o++){let e="".concat(r.col+o,",").concat(r.row+n),i=t.get(e);(void 0===i||l>i)&&t.set(e,l)}}let r=[];for(let i of e){let e=(0,o.Um)(i.type);if(!e)continue;let s=i.col*n.dn,a=i.row*n.dn,c=a+e.sprite.length;if("chairs"===e.category&&(c="back"===e.orientation?(i.row+1)*n.dn+1:(i.row+1)*n.dn),e.canPlaceOnSurfaces)for(let r=0;r<e.footprintH;r++)for(let n=0;n<e.footprintW;n++){let e=t.get("".concat(i.col+n,",").concat(i.row+r));void 0!==e&&e+.5>c&&(c=e+.5)}let d=e.sprite;if(i.color){let{h:t,s:r,b:n,c:o}=i.color;d=(0,l.LN)("furn-".concat(i.type,"-").concat(t,"-").concat(r,"-").concat(n,"-").concat(o,"-").concat(+!!i.color.colorize),e.sprite,i.color)}r.push({sprite:d,x:s,y:a,zY:c})}return r}function g(e,t){let r=new Set;for(let n of e){let e=(0,o.Um)(n.type);if(!e)continue;let l=e.backgroundTiles||0;for(let o=0;o<e.footprintH;o++)if(!(o<l))for(let l=0;l<e.footprintW;l++){let e="".concat(n.col+l,",").concat(n.row+o);t&&t.has(e)||r.add(e)}}return r}function h(e,t){return g(t?e.filter(e=>e.uid!==t):e)}function y(e){let t=new Map,r=new Set;for(let t of e){let e=(0,o.Um)(t.type);if(e&&e.isDesk)for(let n=0;n<e.footprintH;n++)for(let o=0;o<e.footprintW;o++)r.add("".concat(t.col+o,",").concat(t.row+n))}let l=[{dc:0,dr:-1,facing:n.OP.UP},{dc:0,dr:1,facing:n.OP.DOWN},{dc:-1,dr:0,facing:n.OP.LEFT},{dc:1,dr:0,facing:n.OP.RIGHT}];for(let i of e){let e=(0,o.Um)(i.type);if(!e||"chairs"!==e.category)continue;let s=0;for(let o=0;o<e.footprintH;o++)for(let a=0;a<e.footprintW;a++){let c=i.col+a,d=i.row+o,u=n.OP.DOWN;if(e.orientation)u=function(e){switch(e){case"front":default:return n.OP.DOWN;case"back":return n.OP.UP;case"left":return n.OP.LEFT;case"right":return n.OP.RIGHT}}(e.orientation);else for(let e of l)if(r.has("".concat(c+e.dc,",").concat(d+e.dr))){u=e.facing;break}let p=0===s?i.uid:"".concat(i.uid,":").concat(s);t.set(p,{uid:p,seatCol:c,seatRow:d,facingDir:u,assigned:!1}),s++}}return t}function b(){let e=n.wh,t=n.YK,r=n.nb.WALL,o=n.nb.FLOOR_1;n.nb.VOID;let l=[],i=[],s={h:195,s:10,b:18,c:0};for(let n=0;n<t;n++)for(let a=0;a<e;a++){let c=0===n||n===t-1||0===a||a===e-1?r:o;l.push(c),i.push(c===o?s:null)}return{version:1,cols:e,rows:t,tiles:l,tileColors:i,furniture:[{uid:"desk-1",type:n.JM.DESK,col:3,row:3},{uid:"desk-2",type:n.JM.DESK,col:7,row:3},{uid:"desk-3",type:n.JM.DESK,col:3,row:7},{uid:"desk-4",type:n.JM.DESK,col:7,row:7},{uid:"ch-1",type:n.JM.CHAIR,col:3,row:5},{uid:"ch-2",type:n.JM.CHAIR,col:7,row:5},{uid:"ch-3",type:n.JM.CHAIR,col:3,row:9},{uid:"ch-4",type:n.JM.CHAIR,col:7,row:9},{uid:"plant-1",type:n.JM.PLANT,col:1,row:1},{uid:"shelf-1",type:n.JM.BOOKSHELF,col:12,row:1}]}}function k(e){return JSON.stringify(e)}function S(e){try{let t=JSON.parse(e);if(t&&1===t.version&&Array.isArray(t.tiles)&&Array.isArray(t.furniture))return x(t)}catch(e){}return null}function m(e){return x(e)}function x(e){if(e.tileColors&&e.tileColors.length===e.tiles.length)return e;let t=[];for(let r of e.tiles)switch(r){case 0:t.push(null);break;case 1:t.push(i);break;case 2:t.push(s);break;case 3:t.push(a);break;case 4:t.push(c);break;case 5:t.push(d);break;case 6:t.push(u);break;default:t.push(r>0?{h:0,s:0,b:0,c:0}:null)}return{...e,tileColors:t}}},9892:(e,t,r)=>{"use strict";r.d(t,{UV:()=>h,Um:()=>f,ZZ:()=>y,Ze:()=>k,Zl:()=>b,ar:()=>p,xr:()=>g});var n=r(5195),o=r(2988),l=r(4296);let i=[{type:n.JM.DESK,label:"Desk",footprintW:2,footprintH:2,sprite:o.US,isDesk:!0,category:"desks"},{type:n.JM.BOOKSHELF,label:"Bookshelf",footprintW:1,footprintH:2,sprite:o.iK,isDesk:!1,category:"storage"},{type:n.JM.PLANT,label:"Plant",footprintW:1,footprintH:1,sprite:o.WN,isDesk:!1,category:"decor"},{type:n.JM.COOLER,label:"Cooler",footprintW:1,footprintH:1,sprite:o.L$,isDesk:!1,category:"misc"},{type:n.JM.WHITEBOARD,label:"Whiteboard",footprintW:2,footprintH:1,sprite:o.SJ,isDesk:!1,category:"decor"},{type:n.JM.CHAIR,label:"Chair",footprintW:1,footprintH:1,sprite:o.mr,isDesk:!1,category:"chairs"},{type:n.JM.PC,label:"PC",footprintW:1,footprintH:1,sprite:o.mY,isDesk:!1,category:"electronics"},{type:n.JM.LAMP,label:"Lamp",footprintW:1,footprintH:1,sprite:o.Zc,isDesk:!1,category:"decor"}],s=[{id:"desks",label:"Desks"},{id:"chairs",label:"Chairs"},{id:"storage",label:"Storage"},{id:"electronics",label:"Tech"},{id:"decor",label:"Decor"},{id:"wall",label:"Wall"},{id:"misc",label:"Misc"}],a=new Map,c=new Map,d=new Map,u=new Map;function p(e){for(let n of l.Q){var t,r;let o=e.get(n.id);if(!o)continue;let l=i.findIndex(e=>e.type===n.id),s=(t=n,r=o,{type:t.id,label:t.label,footprintW:t.footprintW,footprintH:t.footprintH,sprite:r,isDesk:t.isDesk,category:t.category,canPlaceOnSurfaces:t.canPlaceOnSurfaces,backgroundTiles:t.backgroundTiles,canPlaceOnWalls:t.canPlaceOnWalls,...t.orientation?{orientation:t.orientation}:{}});l>=0?i[l]=s:i.push(s)}let n=new Map;for(let e of l.Q)if(e.groupId&&e.orientation){if(e.state&&"off"!==e.state)continue;let t=n.get(e.groupId);t||(t=new Map,n.set(e.groupId,t)),t.set(e.orientation,e.id)}let o=["front","right","back","left"];for(let e of n.values()){if(e.size<2)continue;let t=o.filter(t=>e.has(t));if(t.length<2)continue;let r={};for(let n of t)r[n]=e.get(n);let n={orientations:t,members:r};for(let e of Object.values(r))a.set(e,n)}let s=new Map;for(let e of l.Q)if(e.groupId&&e.state){let t="".concat(e.groupId,"|").concat(e.orientation||""),r=s.get(t);r||(r=new Map,s.set(t,r)),r.set(e.state,e.id)}for(let e of s.values()){let t=e.get("on"),r=e.get("off");t&&r&&(c.set(t,r),c.set(r,t),d.set(r,t),u.set(t,r))}for(let e of l.Q)if(e.groupId&&e.orientation&&"on"===e.state){let t=c.get(e.id);if(t){let e=a.get(t);if(e){let t={};for(let r of e.orientations){let n=e.members[r],o=c.get(n);t[r]=null!=o?o:n}let r={orientations:e.orientations,members:t};for(let e of Object.values(t))a.has(e)||a.set(e,r)}}}}function f(e){return i.find(t=>t.type===e)}function g(e){var t;return null!=(t=d.get(e))?t:e}function h(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cw",r=a.get(e);if(!r)return null;let n=r.orientations.map(e=>r.members[e]),o=n.indexOf(e);if(-1===o)return null;let l=(o+("cw"===t?1:-1)+n.length)%n.length;return n[l]}function y(e){return a.has(e)}function b(e){return i.filter(t=>t.category===e)}function k(){let e=new Set;for(let t of i)t.category&&e.add(t.category);return s.filter(t=>e.has(t.id))}}},e=>{e.O(0,[284,989,235,977,358],()=>e(e.s=8208)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{140:(e,t,n)=>{"use strict";function r(e){let{reason:t,children:n}=e;return n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return r}}),n(7568)},458:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return r.workAsyncStorageInstance}});let r=n(4161)},607:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let r=n(8531)._(n(2663));function l(e,t){var n;let l={};"function"==typeof e&&(l.loader=e);let u={...l,...t};return(0,r.default)({...u,modules:null==(n=u.loadableGenerated)?void 0:n.modules})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2663:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let r=n(206),l=n(1406),u=n(140);function o(e){return{default:e&&"default"in e?e.default:e}}n(9825);let a={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},i=function(e){let t={...a,...e},n=(0,l.lazy)(()=>t.loader().then(o)),i=t.loading;function c(e){let o=i?(0,r.jsx)(i,{isLoading:!0,pastDelay:!0,error:null}):null,a=!t.ssr||!!t.loading,c=a?l.Suspense:l.Fragment,s=t.ssr?(0,r.jsxs)(r.Fragment,{children:[null,(0,r.jsx)(n,{...e})]}):(0,r.jsx)(u.BailoutToCSR,{reason:"next/dynamic",children:(0,r.jsx)(n,{...e})});return(0,r.jsx)(c,{...a?{fallback:o}:{},children:s})}return c.displayName="LoadableComponent",c}},4161:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return r}});let r=(0,n(4847).createAsyncLocalStorage)()},4717:(e,t,n)=>{"use strict";var r=n(4121);n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}})},4847:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),!function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{bindSnapshot:function(){return o},createAsyncLocalStorage:function(){return u},createSnapshot:function(){return a}});let n=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class r{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}static bind(e){return e}}let l="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function u(){return l?new l:new r}function o(e){return l?l.bind(e):r.bind(e)}function a(){return l?l.snapshot():function(e,...t){return e(...t)}}},5149:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearConnection:()=>o,getConnection:()=>u,getGatewayHttpUrl:()=>a,saveConnection:()=>l});let r="arcade_connection";function l(e){localStorage.setItem(r,JSON.stringify(e))}function u(){let e=localStorage.getItem(r);if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function o(){localStorage.removeItem(r)}function a(){let e=u();return(null==e?void 0:e.wsUrl)?e.wsUrl.replace(/^ws(s?):\/\//,"http$1://"):window.location.origin}},5282:(e,t,n)=>{"use strict";n.d(t,{default:()=>l.a});var r=n(607),l=n.n(r)},7899:(e,t,n)=>{Promise.resolve().then(n.bind(n,8967))},8967:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var r=n(206),l=n(1406),u=n(4717);let o=(0,n(5282).default)(()=>n.e(176).then(n.bind(n,2176)),{loadableGenerated:{webpack:()=>[2176]},ssr:!1});function a(){let e=(0,u.useRouter)(),[t,a]=(0,l.useState)(!0);(0,l.useEffect)(()=>{try{let{getConnection:t}=n(5149);t()&&(a(!1),e.replace("/office"))}catch(e){}},[e]);let i=(0,l.useCallback)(()=>{a(!1),e.replace("/pair")},[e]);return t?(0,r.jsx)(o,{onComplete:i}):null}},9825:(e,t,n)=>{"use strict";function r(e){let{moduleIds:t}=e;return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return r}}),n(206),n(7995),n(458),n(1423)}},e=>{e.O(0,[235,977,358],()=>e(e.s=7899)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[863],{4717:(e,t,n)=>{"use strict";var o=n(4121);n.o(o,"useRouter")&&n.d(t,{useRouter:function(){return o.useRouter}})},5149:(e,t,n)=>{"use strict";n.r(t),n.d(t,{clearConnection:()=>a,getConnection:()=>i,getGatewayHttpUrl:()=>l,saveConnection:()=>r});let o="arcade_connection";function r(e){localStorage.setItem(o,JSON.stringify(e))}function i(){let e=localStorage.getItem(o);if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}function a(){localStorage.removeItem(o)}function l(){let e=i();return(null==e?void 0:e.wsUrl)?e.wsUrl.replace(/^ws(s?):\/\//,"http$1://"):window.location.origin}},8428:(e,t,n)=>{Promise.resolve().then(n.bind(n,9600))},9600:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var o=n(206),r=n(1406),i=n(4717);function a(){let[e,t]=(0,r.useState)("localhost:9090"),[a,l]=(0,r.useState)(""),[c,s]=(0,r.useState)(""),[d,u]=(0,r.useState)(!1),[f,h]=(0,r.useState)(!1),[p,g]=(0,r.useState)(!1),m=(0,i.useRouter)();async function y(e){try{let t=e.includes("://")?e:"http://".concat(e),n=await fetch("".concat(t,"/connect"),{signal:AbortSignal.timeout(1e3)});h(n.ok)}catch(e){h(!1),g(!0)}}async function x(){s(""),u(!0);try{let o=e.includes("://")?e:"http://".concat(e),r=await fetch("".concat(o,"/connect")),i=await r.json();if(!r.ok){var t;s(null!=(t=i.error)?t:"Quick connect failed");return}let{saveConnection:a}=await Promise.resolve().then(n.bind(n,5149));a({mode:"ws",machineId:i.machineId,wsUrl:i.wsUrl}),m.push("/office")}catch(e){s("Cannot reach gateway.")}finally{u(!1)}}async function b(t){t.preventDefault(),s(""),u(!0);try{let t=e.includes("://")?e:"http://".concat(e),r=await fetch("".concat(t,"/pair/validate"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a.trim()})}),i=await r.json();if(!r.ok){var o;s(null!=(o=i.error)?o:"Failed to pair");return}let{saveConnection:l}=await Promise.resolve().then(n.bind(n,5149));l({mode:"ws",machineId:i.machineId,wsUrl:i.wsUrl}),m.push("/office")}catch(e){s("Cannot reach gateway. Check the address.")}finally{u(!1)}}return(0,r.useEffect)(()=>{let{getConnection:e}=n(5149);if(e())return void m.push("/office");y("localhost:9090")},[m]),(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",minHeight:"100vh",padding:24},children:[(0,o.jsx)("h1",{style:{fontSize:28,marginBottom:8},children:"Bit Office"}),(0,o.jsx)("p",{style:{color:"#aaa",marginBottom:32},children:"Connect to your Gateway"}),f&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("button",{onClick:x,disabled:d,style:{padding:"14px 32px",borderRadius:8,border:"none",backgroundColor:"#22c55e",color:"#fff",fontSize:18,cursor:"pointer",fontWeight:600,marginBottom:16,width:"100%",maxWidth:320},children:d?"Connecting...":"Quick Connect"}),(0,o.jsx)("button",{onClick:()=>g(!0),style:{background:"none",border:"none",color:"#555",fontSize:13,cursor:"pointer",marginBottom:16,textDecoration:"underline"},children:"Manual connect"})]}),!f&&!p&&(0,o.jsx)("p",{style:{color:"#666",fontSize:14},children:"Looking for gateway..."}),p&&(0,o.jsxs)("form",{onSubmit:b,style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:320},children:[(0,o.jsx)("label",{style:{fontSize:13,color:"#888"},children:"Gateway Address"}),(0,o.jsx)("input",{type:"text",value:e,onChange:e=>{t(e.target.value),y(e.target.value)},placeholder:"localhost:9090",style:{fontSize:16,padding:"12px 16px",borderRadius:8,border:"2px solid #444",backgroundColor:"#222",color:"#fff",marginTop:-8}}),(0,o.jsx)("label",{style:{fontSize:13,color:"#888"},children:"Pair Code"}),(0,o.jsx)("input",{type:"text",value:a,onChange:e=>l(e.target.value.toUpperCase()),placeholder:"PAIR CODE",maxLength:6,style:{fontSize:32,textAlign:"center",letterSpacing:8,padding:"12px 16px",borderRadius:8,border:"2px solid #444",backgroundColor:"#222",color:"#fff",marginTop:-8}}),(0,o.jsx)("button",{type:"submit",disabled:d||a.length<6||!e.trim(),style:{padding:"12px 24px",borderRadius:8,border:"none",backgroundColor:a.length>=6&&e.trim()?"#4f46e5":"#333",color:"#fff",fontSize:18,cursor:a.length>=6?"pointer":"default"},children:d?"Pairing...":"Connect"})]}),c&&(0,o.jsx)("p",{style:{color:"#ef4444",textAlign:"center",marginTop:16},children:c})]})}}},e=>{e.O(0,[235,977,358],()=>e(e.s=8428)),_N_E=e.O()}]);
|