From ff6ce8adafa0ef0fdf5a4187b72abd7e6ce96a89 Mon Sep 17 00:00:00 2001 From: Brian Beck Date: Tue, 28 Oct 2025 13:47:59 -0700 Subject: [PATCH] add 1x download support --- docs/404.html | 2 +- docs/404/index.html | 2 +- .../_buildManifest.js | 0 .../_clientMiddlewareManifest.json | 0 .../_ssgManifest.js | 0 docs/_next/static/chunks/185de9d007942943.css | 1 + ...498d0f8e7ead48a.js => 2abf3874637c5516.js} | 2 +- docs/_next/static/chunks/2d0a1519f2fc6d9e.js | 1 - ...d9a6468f03a9b31.js => 502774dbda501837.js} | 2 +- ...c04e859c9299853.js => 5ab6fafee44106c4.js} | 2 +- ...3296be44174b494.js => 64f1e5c6f9fa52f6.js} | 2 +- docs/_next/static/chunks/c45ca2566aefbdb7.css | 1 - ...6e166ba82cc0d62.js => d92306cd027784a6.js} | 2 +- docs/_next/static/chunks/e233a54f1de7eeb5.js | 1 + docs/gallery/index.html | 2 +- docs/gallery/index.txt | 6 +- docs/index.html | 2 +- docs/index.txt | 4 +- src/app/gallery/gallery.module.css | 42 ++++-- src/app/gallery/page.tsx | 130 ++++++++++++++++-- src/exportUtils.ts | 7 +- src/useManifest.ts | 2 + 22 files changed, 172 insertions(+), 41 deletions(-) rename docs/_next/static/{J9hUTJgCvSDMXCjR51slX => HVLdZFp1rz0i50CxjnUcW}/_buildManifest.js (100%) rename docs/_next/static/{J9hUTJgCvSDMXCjR51slX => HVLdZFp1rz0i50CxjnUcW}/_clientMiddlewareManifest.json (100%) rename docs/_next/static/{J9hUTJgCvSDMXCjR51slX => HVLdZFp1rz0i50CxjnUcW}/_ssgManifest.js (100%) create mode 100644 docs/_next/static/chunks/185de9d007942943.css rename docs/_next/static/chunks/{c498d0f8e7ead48a.js => 2abf3874637c5516.js} (96%) delete mode 100644 docs/_next/static/chunks/2d0a1519f2fc6d9e.js rename docs/_next/static/chunks/{bd9a6468f03a9b31.js => 502774dbda501837.js} (99%) rename docs/_next/static/chunks/{0c04e859c9299853.js => 5ab6fafee44106c4.js} (69%) rename docs/_next/static/chunks/{53296be44174b494.js => 64f1e5c6f9fa52f6.js} (99%) delete mode 100644 docs/_next/static/chunks/c45ca2566aefbdb7.css rename docs/_next/static/chunks/{e6e166ba82cc0d62.js => d92306cd027784a6.js} (96%) create mode 100644 docs/_next/static/chunks/e233a54f1de7eeb5.js diff --git a/docs/404.html b/docs/404.html index bd60608..b032867 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1 +1 @@ -404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file diff --git a/docs/404/index.html b/docs/404/index.html index bd60608..b032867 100644 --- a/docs/404/index.html +++ b/docs/404/index.html @@ -1 +1 @@ -404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.T2 Model Viewer & Skinner

404

This page could not be found.

\ No newline at end of file diff --git a/docs/_next/static/J9hUTJgCvSDMXCjR51slX/_buildManifest.js b/docs/_next/static/HVLdZFp1rz0i50CxjnUcW/_buildManifest.js similarity index 100% rename from docs/_next/static/J9hUTJgCvSDMXCjR51slX/_buildManifest.js rename to docs/_next/static/HVLdZFp1rz0i50CxjnUcW/_buildManifest.js diff --git a/docs/_next/static/J9hUTJgCvSDMXCjR51slX/_clientMiddlewareManifest.json b/docs/_next/static/HVLdZFp1rz0i50CxjnUcW/_clientMiddlewareManifest.json similarity index 100% rename from docs/_next/static/J9hUTJgCvSDMXCjR51slX/_clientMiddlewareManifest.json rename to docs/_next/static/HVLdZFp1rz0i50CxjnUcW/_clientMiddlewareManifest.json diff --git a/docs/_next/static/J9hUTJgCvSDMXCjR51slX/_ssgManifest.js b/docs/_next/static/HVLdZFp1rz0i50CxjnUcW/_ssgManifest.js similarity index 100% rename from docs/_next/static/J9hUTJgCvSDMXCjR51slX/_ssgManifest.js rename to docs/_next/static/HVLdZFp1rz0i50CxjnUcW/_ssgManifest.js diff --git a/docs/_next/static/chunks/185de9d007942943.css b/docs/_next/static/chunks/185de9d007942943.css new file mode 100644 index 0000000..f461a11 --- /dev/null +++ b/docs/_next/static/chunks/185de9d007942943.css @@ -0,0 +1 @@ +.gallery-module__zlwOTG__GalleryPage{flex-direction:column}.gallery-module__zlwOTG__Tools{text-align:center;z-index:2;background:rgba(0,0,0,.7);flex:none;grid-template-columns:1fr auto 1fr;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:grid;position:-webkit-sticky;position:sticky;top:0}.gallery-module__zlwOTG__Tools select:focus{outline:none;box-shadow:0 0 1px 1px rgba(0,0,0,.5),0 0 2px 3px #98ffd4}.gallery-module__zlwOTG__HeaderEnd{justify-content:space-between;align-items:center;gap:20px;display:flex}.gallery-module__zlwOTG__DownloadSection{align-items:center;gap:8px;display:flex}.gallery-module__zlwOTG__PackVersion{color:rgba(127,180,166,.6);font-size:11px}.gallery-module__zlwOTG__DownloadButton{color:#f7ffdc;letter-spacing:-.03em;text-shadow:0 -1px rgba(25,39,34,.4);cursor:pointer;background:0 0,linear-gradient(#43a782,#0f5957);border:0;border-radius:4px;margin-left:3px;padding:4px 8px 5px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.gallery-module__zlwOTG__DownloadButton:active{transform:translateY(1px)}.gallery-module__zlwOTG__Back{color:#fff;justify-self:start;align-items:center;gap:4px;font-size:14px;text-decoration:none;display:inline-flex}.gallery-module__zlwOTG__IconLink{color:rgba(255,255,255,.3);place-content:center;justify-self:end;margin-left:auto;display:grid}.gallery-module__zlwOTG__IconLink:hover{color:#fff}.gallery-module__zlwOTG__Gallery{background:#0c1f28;flex:none;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));width:100%;display:grid}.gallery-module__zlwOTG__Skin{text-align:center;padding-bottom:32px;font-size:12px;position:relative;overflow:hidden}.gallery-module__zlwOTG__Preview{width:100%;height:auto;display:block}.gallery-module__zlwOTG__DownloadHiRes{align-items:center;gap:.5em;margin-left:auto;font-size:11px;display:flex}.gallery-module__zlwOTG__HiResSelect{font-size:11px}.gallery-module__zlwOTG__Detail{background:rgba(0,0,0,.2);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:5px 9px;display:flex;position:absolute;bottom:8px;left:6px;right:6px;box-shadow:inset 0 1px 10px rgba(0,0,0,.3)}.gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__DownloadSkin{color:#28d9b2;visibility:hidden;place-content:center;font-size:24px;display:grid}.gallery-module__zlwOTG__DownloadSkin{cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:17px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__DownloadSkin{visibility:visible}.gallery-module__zlwOTG__Name{white-space:nowrap;color:rgba(158,192,209,.9);border-radius:9999px;padding:3px 10px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__Name{color:#fff}@keyframes gallery-module__zlwOTG__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-module__zlwOTG__Spinner{flex:none;margin:auto;font-size:64px;animation:2s linear infinite gallery-module__zlwOTG__spin}.gallery-module__zlwOTG__DownloadSpinner{flex:none;margin:auto;font-size:20px;animation:2s linear infinite gallery-module__zlwOTG__spin}@media (max-width:1023px){.gallery-module__zlwOTG__Tools{grid-template-columns:auto auto 1fr;justify-content:space-between}}@media (max-width:719px){.gallery-module__zlwOTG__PackVersion{display:none}}@media (max-width:639px){.gallery-module__zlwOTG__Back .gallery-module__zlwOTG__Label,.gallery-module__zlwOTG__DownloadButton,.gallery-module__zlwOTG__DownloadHiRes{display:none}.gallery-module__zlwOTG__Tools{grid-template-columns:1fr auto 1fr}} diff --git a/docs/_next/static/chunks/c498d0f8e7ead48a.js b/docs/_next/static/chunks/2abf3874637c5516.js similarity index 96% rename from docs/_next/static/chunks/c498d0f8e7ead48a.js rename to docs/_next/static/chunks/2abf3874637c5516.js index c4dd373..b0d6fa4 100644 --- a/docs/_next/static/chunks/c498d0f8e7ead48a.js +++ b/docs/_next/static/chunks/2abf3874637c5516.js @@ -1 +1 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78631,(e,t,n)=>{!function(t,n){if("function"==typeof define&&define.amd){let t;void 0!==(t=n())&&e.v(t)}else n()}(e.e,function(){"use strict";function n(e,t,n){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){s(o.response,t,n)},o.onerror=function(){console.error("could not download file")},o.send()}function o(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:e.g.global===e.g?e.g:void 0,r=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!r?function(e,t,r){var s=i.URL||i.webkitURL,c=document.createElement("a");c.download=t=t||e.name||"download",c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?a(c):o(c.href)?n(e,t,r):a(c,c.target="_blank")):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){a(c)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"!=typeof e){var r;navigator.msSaveOrOpenBlob((void 0===(r=i)?r={autoBom:!1}:"object"!=typeof r&&(console.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),t)}else if(o(e))n(e,t,i);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout(function(){a(s)})}}:function(e,t,o,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return n(e,t,o);var s="application/octet-stream"===e.type,c=/constructor/i.test(i.HTMLElement)||i.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||r)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},u.readAsDataURL(e)}else{var f=i.URL||i.webkitURL,d=f.createObjectURL(e);a?a.location=d:location.href=d,a=null,setTimeout(function(){f.revokeObjectURL(d)},4e4)}});i.saveAs=s.saveAs=s,t.exports=s})},69642,e=>{"use strict";e.s(["collectFiles",()=>r,"createZipFile",()=>o,"savePngFile",()=>i,"saveZipFile",()=>a]);var t=e.i(71315),n=e.i(78631);function o(e){let n=new t.default;for(let t of e)n.file("textures/skins/".concat(t.name),t.data);return n}async function a(e,t){let o=await e.generateAsync({type:"blob"});(0,n.saveAs)(o,t)}function i(e,t){(0,n.saveAs)(e,t)}async function r(e){let{skipNotFound:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(await Promise.all(e.map(async e=>{let n="".concat("https://exogen.github.io/t2-skins/skins","/").concat(e),o=await fetch(n);if(!o.ok){if(t&&404===o.status)return null;throw Error("Response failed: ".concat(o.status," ").concat(o.statusText))}return{name:e,data:await o.arrayBuffer()}}))).filter(e=>null!=e)}}]); \ No newline at end of file +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,78631,(e,t,n)=>{!function(t,n){if("function"==typeof define&&define.amd){let t;void 0!==(t=n())&&e.v(t)}else n()}(e.e,function(){"use strict";function n(e,t,n){var o=new XMLHttpRequest;o.open("GET",e),o.responseType="blob",o.onload=function(){s(o.response,t,n)},o.onerror=function(){console.error("could not download file")},o.send()}function o(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function a(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:e.g.global===e.g?e.g:void 0,r=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=i.saveAs||("object"!=typeof window||window!==i?function(){}:"download"in HTMLAnchorElement.prototype&&!r?function(e,t,r){var s=i.URL||i.webkitURL,c=document.createElement("a");c.download=t=t||e.name||"download",c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?a(c):o(c.href)?n(e,t,r):a(c,c.target="_blank")):(c.href=s.createObjectURL(e),setTimeout(function(){s.revokeObjectURL(c.href)},4e4),setTimeout(function(){a(c)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,i){if(t=t||e.name||"download","string"!=typeof e){var r;navigator.msSaveOrOpenBlob((void 0===(r=i)?r={autoBom:!1}:"object"!=typeof r&&(console.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),t)}else if(o(e))n(e,t,i);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout(function(){a(s)})}}:function(e,t,o,a){if((a=a||open("","_blank"))&&(a.document.title=a.document.body.innerText="downloading..."),"string"==typeof e)return n(e,t,o);var s="application/octet-stream"===e.type,c=/constructor/i.test(i.HTMLElement)||i.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&c||r)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),a?a.location.href=e:location=e,a=null},u.readAsDataURL(e)}else{var f=i.URL||i.webkitURL,d=f.createObjectURL(e);a?a.location=d:location.href=d,a=null,setTimeout(function(){f.revokeObjectURL(d)},4e4)}});i.saveAs=s.saveAs=s,t.exports=s})},69642,e=>{"use strict";e.s(["collectFiles",()=>r,"createZipFile",()=>o,"savePngFile",()=>i,"saveZipFile",()=>a]);var t=e.i(71315),n=e.i(78631);function o(e){let n=new t.default;for(let t of e)n.file("textures/skins/".concat(t.name),t.data);return n}async function a(e,t){let o=await e.generateAsync({type:"blob"});(0,n.saveAs)(o,t)}function i(e,t){(0,n.saveAs)(e,t)}async function r(e){let{skipNotFound:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(await Promise.all(e.map(async e=>{let n="".concat("https://exogen.github.io/t2-skins/skins","/").concat(e),o=await fetch(n);if(!o.ok){if(t&&404===o.status)return null;throw Error("Response failed: ".concat(o.status," ").concat(o.statusText))}let a=await o.arrayBuffer();return{name:e.replace(/@1x\.png$/,".png"),data:a}}))).filter(e=>null!=e)}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/2d0a1519f2fc6d9e.js b/docs/_next/static/chunks/2d0a1519f2fc6d9e.js deleted file mode 100644 index e59e5c5..0000000 --- a/docs/_next/static/chunks/2d0a1519f2fc6d9e.js +++ /dev/null @@ -1 +0,0 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29402,(e,t,r)=>{var n,o,a="__lodash_hash_undefined__",l=1/0,i="[object Arguments]",u="[object Array]",c="[object Boolean]",s="[object Date]",f="[object Error]",d="[object Function]",p="[object Map]",h="[object Number]",_="[object Object]",v="[object Promise]",y="[object RegExp]",g="[object Set]",m="[object String]",b="[object Symbol]",j="[object WeakMap]",w="[object ArrayBuffer]",x="[object DataView]",O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,k=/^\w*$/,P=/^\./,S=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T=/\\(\\)?/g,C=/^\[object .+?Constructor\]$/,E=/^(?:0|[1-9]\d*)$/,A={};A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A[i]=A[u]=A[w]=A[c]=A[x]=A[s]=A[f]=A[d]=A[p]=A[h]=A[_]=A[y]=A[g]=A[m]=A[j]=!1;var L=e.g&&e.g.Object===Object&&e.g,N="object"==typeof self&&self&&self.Object===Object&&self,M=L||N||Function("return this")(),z=r&&!r.nodeType&&r,F=z&&t&&!t.nodeType&&t,G=F&&F.exports===z&&L.process,I=function(){try{return G&&G.binding("util")}catch(e){}}(),D=I&&I.isTypedArray;function R(e,t){for(var r=-1,n=e?e.length:0,o=Array(n);++r-1},eb.prototype.set=function(e,t){var r=this.__data__,n=eO(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},ej.prototype.clear=function(){this.__data__={hash:new em,map:new(el||eb),string:new em}},ej.prototype.delete=function(e){return eL(this,e).delete(e)},ej.prototype.get=function(e){return eL(this,e).get(e)},ej.prototype.has=function(e){return eL(this,e).has(e)},ej.prototype.set=function(e,t){return eL(this,e).set(e,t),this},ew.prototype.add=ew.prototype.push=function(e){return this.__data__.set(e,a),this},ew.prototype.has=function(e){return this.__data__.has(e)},ex.prototype.clear=function(){this.__data__=new eb},ex.prototype.delete=function(e){return this.__data__.delete(e)},ex.prototype.get=function(e){return this.__data__.get(e)},ex.prototype.has=function(e){return this.__data__.has(e)},ex.prototype.set=function(e,t){var r=this.__data__;if(r instanceof eb){var n=r.__data__;if(!el||n.length<199)return n.push([e,t]),this;r=this.__data__=new ej(n)}return r.set(e,t),this};var ek=function(e,t){return function(r,n){if(null==r)return r;if(!e$(r))return e(r,n);for(var o=r.length,a=-1,l=Object(r);(t?a--:++ai))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var s=-1,f=!0,d=1&o?new ew:void 0;for(a.set(e,t),a.set(t,e);++s-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}function eW(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eQ(e){return!!e&&"object"==typeof e}function eq(e){return"symbol"==typeof e||eQ(e)&&X.call(e)==b}var eJ=D?B(D):function(e){return eQ(e)&&eK(e.length)&&!!A[X.call(e)]};function eX(e){return e$(e)?function(e,t){var r=eV(e)||eH(e)?function(e,t){for(var r=-1,n=Array(e);++rt||a&&l&&u&&!i&&!c||n&&l&&u||!r&&u||!o)return 1;if(!n&&!a&&!c&&e=i)return u;return u*("desc"==r[n]?-1:1)}}return e.index-t.index}(e,t,r)});u--;)i[u]=i[u].value;return i}(e,t,r))}},97052,e=>{e.v({Back:"gallery-module__zlwOTG__Back",Detail:"gallery-module__zlwOTG__Detail",DownloadButton:"gallery-module__zlwOTG__DownloadButton",DownloadSection:"gallery-module__zlwOTG__DownloadSection",DownloadSkin:"gallery-module__zlwOTG__DownloadSkin",DownloadSpinner:"gallery-module__zlwOTG__DownloadSpinner",Gallery:"gallery-module__zlwOTG__Gallery",GalleryPage:"gallery-module__zlwOTG__GalleryPage",HeaderEnd:"gallery-module__zlwOTG__HeaderEnd",IconLink:"gallery-module__zlwOTG__IconLink",Label:"gallery-module__zlwOTG__Label",LoadInEditor:"gallery-module__zlwOTG__LoadInEditor",Name:"gallery-module__zlwOTG__Name",PackVersion:"gallery-module__zlwOTG__PackVersion",Preview:"gallery-module__zlwOTG__Preview",Skin:"gallery-module__zlwOTG__Skin",Spinner:"gallery-module__zlwOTG__Spinner",Tools:"gallery-module__zlwOTG__Tools",spin:"gallery-module__zlwOTG__spin"})},36159,(e,t,r)=>{"use strict";function n(){return null}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98183,(e,t,r)=>{"use strict";function n(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function l(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{formatUrl:function(){return a},formatWithValidation:function(){return i},urlObjectKeys:function(){return l}});let n=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",l=e.pathname||"",i=e.hash||"",u=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let s=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),s&&"?"!==s[0]&&(s="?"+s),""+a+c+(l=l.replace(/[?#]/g,encodeURIComponent))+(s=s.replace("#","%23"))+i}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return a(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DecodeError:function(){return _},MiddlewareNotFoundError:function(){return m},MissingStaticPage:function(){return g},NormalizeError:function(){return v},PageNotFoundError:function(){return y},SP:function(){return p},ST:function(){return h},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return s},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return f},stringifyError:function(){return b}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;aa.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function f(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,h=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class _ extends Error{}class v extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class m extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return v},useLinkStatus:function(){return g}});let n=e.r(90809),o=e.r(43476),a=n._(e.r(71645)),l=e.r(95057),i=e.r(8372),u=e.r(18581),c=e.r(18967),s=e.r(5550);e.r(33525);let f=e.r(91949),d=e.r(73668),p=e.r(99781);e.r(84508);let h=e.r(65165);function _(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function v(e){var t;let r,n,l,[v,g]=(0,a.useOptimistic)(f.IDLE_LINK_STATUS),m=(0,a.useRef)(null),{href:b,as:j,children:w,prefetch:x=null,passHref:O,replace:k,shallow:P,scroll:S,onClick:T,onMouseEnter:C,onTouchStart:E,legacyBehavior:A=!1,onNavigate:L,ref:N,unstable_dynamicOnHover:M,...z}=e;r=w,A&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let F=a.default.useContext(i.AppRouterContext),G=!1!==x,I=!1!==x?null===(t=x)||"auto"===t?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:R}=a.default.useMemo(()=>{let e=_(b);return{href:e,as:j?_(j):e}},[b,j]);A&&(n=a.default.Children.only(r));let B=A?n&&"object"==typeof n&&n.ref:N,U=a.default.useCallback(e=>(null!==F&&(m.current=(0,f.mountLinkInstance)(e,D,F,I,G,g)),()=>{m.current&&((0,f.unmountLinkForCurrentNavigation)(m.current),m.current=null),(0,f.unmountPrefetchableInstance)(e)}),[G,D,F,I,g]),H={ref:(0,u.useMergedRef)(U,B),onClick(e){A||"function"!=typeof T||T(e),A&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),F&&(e.defaultPrevented||function(e,t,r,n,o,l,i){let{nodeName:u}=e.currentTarget;if(!("A"===u.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,d.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}a.default.startTransition(()=>{(0,p.dispatchNavigateAction)(r||t,o?"replace":"push",null==l||l,n.current)})}}(e,D,R,m,k,S,L))},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),F&&G&&(0,f.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){A||"function"!=typeof E||E(e),A&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),F&&G&&(0,f.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,c.isAbsoluteUrl)(R)?H.href=R:A&&!O&&("a"!==n.type||"href"in n.props)||(H.href=(0,s.addBasePath)(R)),l=A?a.default.cloneElement(n,H):(0,o.jsx)("a",{...z,...H,children:r}),(0,o.jsx)(y.Provider,{value:v,children:l})}let y=(0,a.createContext)(f.IDLE_LINK_STATUS),g=()=>(0,a.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},25500,e=>{"use strict";e.s(["default",()=>b],25500);var t=e.i(43476),r=e.i(71645),n=e.i(40141);function o(e){return(0,n.GenIcon)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{opacity:"0.2",fillRule:"evenodd",clipRule:"evenodd",d:"M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M12 22C17.5228 22 22 17.5228 22 12H19C19 15.866 15.866 19 12 19V22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z",fill:"currentColor"},child:[]}]})(e)}var a=e.i(90106),l=e.i(11152),i=e.i(18566),u=e.i(29402),c=e.i(15768),s=e.i(97052),f=e.i(36159),d=e.i(22016),p=e.i(69642),h=e.i(53653),_=e.i(20592);let v=[];function y(e){return _.default.materials[e].map(e=>{var t;if(e.hidden||!1===e.selectable)return null;let r=null!=(t=e.file)?t:e.name;if(r)if("number"==typeof e.frameCount&&e.frameCount>1)return Array(e.frameCount).fill(r).map((e,t)=>{if(!(t>0))return e;{let r=/^(.+[^\d])(\d{2,})$/.exec(e);if(r){let e=r[1],n=r[2];return"".concat(e).concat(t.toString().padStart(n.length,"0"))}throw Error("frameCount > 0, but could not parse index")}});else return r}).flat().filter(e=>null!=e).map(e=>"".concat(e,".png"))}let g={lmale:0,mmale:1,lfemale:2,mfemale:3,hmale:4,lbioderm:5,mbioderm:6,hbioderm:7,energy:8,disc:9,chaingun:10,grenade_launcher:11,sniper:12,elf:13,shocklance:14,plasmathrower:15,missile:16,mortar:17,repair:18,targeting:19,vehicle_grav_scout:20,vehicle_grav_tank:21,turret_assaulttank_mortar:22,vehicle_land_mpbbase:23,vehicle_air_scout:24,vehicle_air_bomber:25,vehicle_air_hapc:26};function m(){var e,n,_;let m=(0,i.useRouter)(),b=(0,i.usePathname)(),j=(0,i.useSearchParams)(),[w,x]=(0,c.default)(),[O,k]=(0,r.useState)("lmale"),[P,S]=(0,r.useState)(!1),T="hfemale"===O?"hmale":O,C=null!=(_=null==(e=w.customSkins)?void 0:e[T])?_:v,E="new"===O,A=null==w||null==(n=w.packs)?void 0:n[O],L=null!=A;(0,r.useEffect)(()=>{if(A&&P){let e=!1;return(async()=>{let t=await (0,p.collectFiles)(A.files);if(!e){let r=(0,p.createZipFile)(t);await new Promise(e=>setTimeout(e,500)),e||await (0,p.saveZipFile)(r,"zSkinPack-".concat(O,"-v").concat(A.version,".vl2")),e||S(!1)}})(),()=>{e=!0,S(!1)}}},[P,A,O]);let N=(0,r.useMemo)(()=>{var e;return(0,u.default)(Object.keys(null!=(e=null==w?void 0:w.packs)?e:{}),e=>e.toLowerCase(),["asc"])},[w]),M=(0,r.useMemo)(()=>{var e,t;let r=E?null==w?void 0:w.newSkins:L?null==w||null==(t=w.packs)||null==(e=t[O])?void 0:e.skins:null;if(!r)return[];let n=[];return Object.entries(r).forEach(e=>{let[t,r]=e;n.push(...r.map(e=>({name:e,model:t})))}),(0,u.default)(n,[e=>e.name.toLowerCase(),e=>g[e.model]],["asc","asc"])},[E,L,O,w]),z=E||L?M:C,F=j.get("filter")||"lmale";return(0,r.useEffect)(()=>{S(!1),k(F)},[F]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f.default,{children:(0,t.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,t.jsxs)("main",{className:s.default.GalleryPage,children:[(0,t.jsxs)("div",{className:s.default.Tools,children:[(0,t.jsxs)(d.default,{className:s.default.Back,href:"../",children:[(0,t.jsx)(l.FaChevronLeft,{size:12,className:s.default.Icon})," ",(0,t.jsx)("span",{className:s.default.Label,children:"Back to Editor"})]}),(0,t.jsxs)("select",{tabIndex:0,id:"ModelSelect","aria-label":"Player model",onChange:e=>{m.push("".concat(b,"?filter=").concat(e.target.value))},value:O,children:[(0,t.jsx)("option",{value:"new",children:"All new skins ✨"}),(0,t.jsx)("optgroup",{label:"Packs",children:N.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsxs)("optgroup",{label:"Players","data-model-type":"player",children:[(0,t.jsx)("option",{value:"lmale",children:"Human Male β€’ Light"}),(0,t.jsx)("option",{value:"mmale",children:"Human Male β€’ Medium"}),(0,t.jsx)("option",{value:"hmale",children:"Human Male β€’ Heavy"}),(0,t.jsx)("option",{value:"lfemale",children:"Human Female β€’ Light"}),(0,t.jsx)("option",{value:"mfemale",children:"Human Female β€’ Medium"}),(0,t.jsx)("option",{value:"hfemale",children:"Human Female β€’ Heavy"}),(0,t.jsx)("option",{value:"lbioderm",children:"Bioderm β€’ Light"}),(0,t.jsx)("option",{value:"mbioderm",children:"Bioderm β€’ Medium"}),(0,t.jsx)("option",{value:"hbioderm",children:"Bioderm β€’ Heavy"})]}),(0,t.jsxs)("optgroup",{label:"Weapons","data-model-type":"weapon",children:[(0,t.jsx)("option",{value:"disc",children:"Disc Launcher"}),(0,t.jsx)("option",{value:"chaingun",children:"Chaingun"}),(0,t.jsx)("option",{value:"grenade_launcher",children:"Grenade Launcher"}),(0,t.jsx)("option",{value:"sniper",children:"Laser Rifle"}),(0,t.jsx)("option",{value:"plasmathrower",children:"Plasma Cannon"}),(0,t.jsx)("option",{value:"energy",children:"Blaster"}),(0,t.jsx)("option",{value:"shocklance",children:"Shocklance"}),(0,t.jsx)("option",{value:"elf",children:"ELF Projector"}),(0,t.jsx)("option",{value:"missile",children:"Missile Launcher"}),(0,t.jsx)("option",{value:"mortar",children:"Mortar"}),(0,t.jsx)("option",{value:"repair",children:"Repair Pack"}),(0,t.jsx)("option",{value:"targeting",children:"Targeting Laser"})]}),(0,t.jsxs)("optgroup",{label:"Vehicles","data-model-type":"vehicle",children:[(0,t.jsx)("option",{value:"vehicle_grav_scout",children:"Wildcat Grav Cycle"}),(0,t.jsx)("option",{value:"vehicle_grav_tank",children:"Beowulf Assault Tank"}),(0,t.jsx)("option",{value:"vehicle_land_mpbbase",children:"Jericho Mobile Point Base"}),(0,t.jsx)("option",{value:"vehicle_air_scout",children:"Shrike Scout Fighter"}),(0,t.jsx)("option",{value:"vehicle_air_bomber",children:"Thundersword Bomber"}),(0,t.jsx)("option",{value:"vehicle_air_hapc",children:"HAVOC Gunship Transport"})]})]}),(0,t.jsxs)("div",{className:s.default.HeaderEnd,children:[L?(0,t.jsxs)("div",{className:s.default.DownloadSection,children:[(0,t.jsx)("button",{type:"button",className:s.default.DownloadButton,onClick:async()=>{S(!0)},children:"Download"})," ",P?(0,t.jsx)(o,{className:s.default.DownloadSpinner}):(0,t.jsxs)("span",{className:s.default.PackVersion,children:["v",A.version," β€’ ",A.files.length.toLocaleString()," ",1===A.files.length?"file":"files"]})]}):null,(0,t.jsx)("a",{href:"https://github.com/exogen/t2-model-skinner",className:s.default.IconLink,children:(0,t.jsx)(l.FaGithub,{size:32})})]})]}),x?(0,t.jsx)("div",{className:s.default.Gallery,children:z.map(e=>{let r,n;"string"==typeof e?(r=e,n=T):(r=e.name,n=e.model);let o="".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(r),".").concat(n,".webp");return(0,t.jsxs)("div",{className:s.default.Skin,children:[(0,t.jsx)("img",{className:s.default.Preview,loading:"lazy",src:o,width:680,height:800,alt:r}),(0,t.jsxs)("div",{className:s.default.Detail,children:[(0,t.jsx)(d.default,{className:s.default.LoadInEditor,href:"/?m=".concat(n,"&s=").concat(encodeURIComponent(r)),children:(0,t.jsx)(a.BsBadge3dFill,{title:"Load in Editor","aria-label":"Load in Editor"})}),(0,t.jsx)("span",{className:s.default.Name,children:r}),(0,t.jsx)("button",{type:"button",className:s.default.DownloadSkin,title:"Download ".concat(r," skin"),"aria-label":"Download ".concat(r," skin"),onClick:async()=>{let e=(0,h.modelToModelType)(n),t=n.replace(/(?:^([a-z])|_([a-z]))/g,(e,t,r)=>(t||r).toUpperCase()),o="",a=[];switch(e){case"player":o="zPlayerSkin-".concat(r,".vl2"),a=h.modelTypes.player.filter(e=>w.customSkins[e].includes(r)).map(e=>"".concat(r,".").concat(e,".png"));break;case"weapon":o="zWeapon".concat(t,"-").concat(r,".vl2"),a=y(n).map(e=>"".concat(r,"/").concat(e));break;case"vehicle":o="z".concat(t,"-").concat(r,".vl2"),a=y(n).map(e=>"".concat(r,"/").concat(e))}if(a.length){let e=await (0,p.collectFiles)(a,{skipNotFound:!0}),t=(0,p.createZipFile)(e.map(e=>{let{name:t,data:r}=e;return{name:t.split("/").slice(-1)[0],data:r}}));await (0,p.saveZipFile)(t,o)}},children:(0,t.jsx)(l.FaDownload,{})})]})]},"".concat(r,":").concat(n))})}):(0,t.jsx)(o,{className:s.default.Spinner})]})]})}function b(){return(0,t.jsx)(r.Suspense,{children:(0,t.jsx)(m,{})})}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/bd9a6468f03a9b31.js b/docs/_next/static/chunks/502774dbda501837.js similarity index 99% rename from docs/_next/static/chunks/bd9a6468f03a9b31.js rename to docs/_next/static/chunks/502774dbda501837.js index c4a52d3..efec04a 100644 --- a/docs/_next/static/chunks/bd9a6468f03a9b31.js +++ b/docs/_next/static/chunks/502774dbda501837.js @@ -1 +1 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29947,e=>{e.v(JSON.parse('{"defaultSkins":{"lmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"lfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hfemale":[],"lbioderm":["Horde","Inferno","Storm"],"mbioderm":["Horde","Inferno","Storm"],"hbioderm":["Horde","Inferno","Storm"]},"modelDefaults":{"lmale":"Blood Eagle","mmale":"Blood Eagle","hmale":"Blood Eagle","lfemale":"Blood Eagle","mfemale":"Blood Eagle","hfemale":"Blood Eagle","lbioderm":"Storm","mbioderm":"Storm","hbioderm":"Storm","chaingun":"weapon_chaingun","disc":"weapon_disc","elf":"weapon_elf","energy":"weapon_energy","grenade_launcher":"weapon_grenade_launcher","mine":"mine","missile":"weapon_missile","mortar":"weapon_mortar","plasmathrower":"weapon_plasmathrower","repair":"weapon_repair","shocklance":"weapon_shocklance","sniper":"weapon_sniper","targeting":"weapon_targeting","vehicle_land_mpbbase":"vehicle_land_mpbbase","vehicle_grav_scout":"vehicle_grav_scout","vehicle_grav_tank":"vehicle_grav_tank","turret_assaulttank_mortar":"turret_assaulttank_mortar","vehicle_air_scout":"vehicle_air_scout","vehicle_air_bomber":"vehicle_air_bomber","vehicle_air_hapc":"vehicle_air_hapc"},"animationLabels":{"Forward":"Run Forward","Back":"Run Backward","Back0":"Run Backward","Root":"Idle","Root2":"Run Backward","Root3":"Idle","Idlepda":"Idle (PDA)","PDA":"Idle (PDA)","Root1":"Idle (PDA)","Jump":"Jump","Jump0":"Jump (Alternate)","Jump1":"Jump (Alternate)","Jump2":"Jump (Alternate)","Jump3":"Jump (Alternate)","Jet":"Jet","Fall":"Fall","Land":"Land","Land1":"Land (Alternate)","ski":"Ski","Side":"Strafe Left","Celwave":"Wave","Celbow":"Bow","Celdisco":"Dance","Celdance":"Dance","Celflex":"Flex","Celflex1":"Flex","Celrocky":"Awesome","Celjump":"Awesome","Celsalute":"Salute","celTaunt":"Too Bad","CelebrationGora":"Wave Arms","Celgora":"Wave Arms","CelebrationJump":"Bull Charge","Tauntbull":"Bull Charge","CelebrationJump0":"Celebrate","CelebrationJump4":"The Greatest","CelebrationRoar":"Roar","Celroar":"Roar","Celraor":"Roar","Celflex2":"Flex","celyeah":"Yeah","celtaunt":"Too Bad","Tauntbutt":"Butt","Tauntkiss":"Blow Kiss","Tauntbest":"The Greatest","Taunimp":"Move!","Tauntimp":"Move!","Sitting":"Sit","Scoutroot":"Gravcycle","Recoilde":"Recoil","Light_recoil":"Recoil","Dieforward":"Death (Fall Forward)","DeathForward":"Death (Fall Forward)","Dieslump":"Death (Slump)","DeathSlump":"Death (Slump)","Diespin":"Death (Spin)","DeathSpin":"Death (Spin)","diechest":"Death (Hold Chest)","Diechest":"Death (Hold Chest)","DeathChest":"Death (Hold Chest)","Dieback":"Death (Hold Back)","DeathBack":"Death (Hold Back)","Diehead":"Death (Hold Head)","DeathHead":"Death (Hold Head)","Dieknees":"Death (On Knees)","DeathKnees":"Death (On Knees)","Dieleglf":"Death (Left Leg Injury)","Dieleglft":"Death (Left Leg Injury)","DeathLegLeft":"Death (Left Leg Injury)","Dielegrt":"Death (Right Leg Injury)","Dielegtrt":"Death (Right Leg Injury)","DeathLegRight":"Death (Right Leg Injury)","Dielegrt0":"Death (Right Leg Injury)","Diesidelf":"Death (Left Side)","DeathSideLeft":"Death (Left Side)","Diesidert":"Death (Right Side)","DeathSideRight":"Death (Right Side)","Diesidert0":"Death (Right Side Alternate)"},"cameraOverrides":{"chaingun":{"target":"0m 0m 0m","fov":"12deg"},"plasmathrower":{"target":"0.002m -0.001m 0m","fov":"12deg"},"energy":{"fov":"31deg","orbit":"135deg 70deg 105%"},"hmale":{"fov":"24deg"},"hfemale":{"fov":"24deg"},"hbioderm":{"fov":"24deg"},"vehicle_grav_scout":{"orbit":"290deg 60deg 130%"},"vehicle_grav_tank":{"orbit":"290deg 60deg 130%"},"turret_assaulttank_mortar":{"orbit":"290deg 60deg 130%"},"vehicle_land_mpbbase":{"orbit":"290deg 60deg 130%"},"vehicle_air_scout":{"orbit":"290deg 60deg 130%"},"vehicle_air_bomber":{"orbit":"290deg 60deg 130%"},"vehicle_air_hapc":{"orbit":"290deg 60deg 130%"}},"animationLabelOverrides":{"mmale":{"Back":"Strafe Left"},"mfemale":{"Dielegrt":"Death (Slump)"},"lbioderm":{"Root":"Gravcycle"}},"materials":{"lmale":[{"name":"base","label":"Warrior","fileSuffix":".lmale"}],"mmale":[{"name":"base","label":"Warrior","fileSuffix":".mmale"}],"hmale":[{"name":"base","label":"Warrior","fileSuffix":".hmale"}],"lfemale":[{"name":"base","label":"Warrior","fileSuffix":".lfemale"}],"mfemale":[{"name":"base","label":"Warrior","fileSuffix":".mfemale"}],"lbioderm":[{"name":"base","label":"Warrior","fileSuffix":".lbioderm"}],"mbioderm":[{"name":"base","label":"Warrior","fileSuffix":".mbioderm"}],"hbioderm":[{"name":"base","label":"Warrior","fileSuffix":".hbioderm"}],"disc":[{"name":"weapon_disc","label":"Weapon"},{"name":"dcase00","label":"Disc Case","size":[256,256],"baseColorFactor":[1,1,1,0.7],"emissiveFactor":[1,1,1],"emissiveTexture":true,"alphaMode":"BLEND","metallicFactor":0,"roughnessFactor":1,"frameCount":6,"frameTimings":[21,1,1,1,1,1],"optional":true}],"chaingun":[{"label":"Chaingun","name":"weapon_chaingun"}],"grenade_launcher":[{"label":"Grenade Launcher","name":"weapon_grenade_launcher"}],"sniper":[{"label":"Weapon","name":"weapon_sniper"},{"label":"Green Light","name":"greenlight","hasDefault":false,"optional":true},{"label":"Red Light","name":"lite_red","hasDefault":false,"optional":true}],"plasmathrower":[{"label":"Rear & Barrel","name":"weapon_plasma10","file":"weapon_plasma1"},{"label":"Top & Front","name":"weapon_plasma21","file":"weapon_plasma2"},{"name":"weapon_plasma1","file":"weapon_plasma1","selectable":false},{"name":"weapon_plasma2","file":"weapon_plasma2","selectable":false}],"energy":[{"label":"Weapon","name":"blinn1","file":"weapon_energy"}],"shocklance":[{"label":"Weapon","name":"weapon_shocklance","size":[512,256]},{"label":"Glow","name":"weapon_shocklance_glow_","file":"weapon_shocklance_glow ","emissiveFactor":[1,1,1],"alphaMode":"MASK","alphaCutoff":255,"emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,128],"optional":true}],"elf":[{"label":"Weapon","name":"weapon_elf","file":"weapon_elf"},{"label":"Glow","name":"weapon_elf0","file":"weapon_elf"}],"missile":[{"label":"Weapon","name":"weapon_missile"}],"mortar":[{"label":"Weapon","name":"weapon_mortar"}],"repair":[{"label":"Weapon","name":"weapon_repair"}],"targeting":[{"label":"Weapon","name":"weapon_targeting"}],"mine":[{"label":"Weapon","name":"mine","size":[512,512],"metallicFactor":0,"roughnessFactor":1}],"vehicle_air_scout":[{"label":"Vehicle","name":"vehicle_air_scout0","file":"vehicle_air_scout"},{"name":"Unassigned","hidden":true,"hasDefault":false},{"name":"vehicle_air_scout","hidden":true,"hasDefault":false},{"label":"Flare","name":"shrikeflare2","emissiveFactor":[0,0,0],"alphaMode":"BLEND","emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,256],"optional":true}],"vehicle_air_bomber":[{"label":"Cockpit & Thrusters","name":"vehicle_air_bomber10","file":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Rear","name":"vehicle_air_bomber2","size":[256,512]},{"label":"Wings","name":"vehicle_air_bomber31","file":"vehicle_air_bomber3"},{"name":"vehicle_air_bomber1","size":[256,512],"selectable":false},{"name":"vehicle_air_bomber3","selectable":false}],"vehicle_air_hapc":[{"label":"Cockpit","name":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Wings","name":"vehicle_air_hpc2"},{"label":"Seats","name":"vehicle_air_hpc1"},{"label":"Thrusters","name":"vehicle_air_hpc30","file":"vehicle_air_hpc3"},{"name":"vehicle_air_hpc3","selectable":false}],"vehicle_grav_scout":[{"label":"Vehicle","name":"Vehicle_grav_scout0","file":"Vehicle_grav_scout","size":[512,256]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Pipes","name":"Vehicle_grav_scout_pipes1","file":"Vehicle_grav_scout_pipes","metallicFactor":0,"roughnessFactor":1},{"name":"Vehicle_grav_scout","hidden":true,"hasDefault":false},{"label":"Side Thrusters","name":"Vehicle_grav_scout_pipes","file":"Vehicle_grav_scout_pipes","emissiveFactor":[1,1,1],"alphaMode":"OPAQUE","metallicFactor":0,"roughnessFactor":1,"emissiveTexture":true,"selectable":false},{"label":"Windshield","name":"Vehicle_grav_scout_windshield","file":"Vehicle_grav_scout_windshield","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true},{"label":"Windshield Inner","name":"Vehicle_grav_scout_windshieldInner","file":"Vehicle_grav_scout_windshieldInner","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true}],"vehicle_grav_tank":[{"label":"Center","name":"Vehicle_grav_tank_bodyMain","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Sides","name":"vehicle_grav_tank_bodyside10","file":"vehicle_grav_tank_bodyside1","size":[256,512]},{"label":"Thrusters","name":"vehicle_grav_tank_bodyside21","file":"vehicle_grav_tank_bodyside2"},{"name":"vehicle_grav_tank_bodyside2","selectable":false},{"name":"vehicle_grav_tank_bodyside1","selectable":false}],"turret_assaulttank_mortar":[{"label":"Turret","name":"turret_assaulttank_mortar","file":"turret_assaultTank"}],"vehicle_land_mpbbase":[{"label":"Vehicle Front","name":"vehicle_land_mpb1"},{"label":"Vehicle Back","name":"vehicle_land_mpb2"},{"label":"Wheels","name":"Vehicle_Land_Assault_wheel","file":"Vehicle_Land_Assault_Wheel","size":[512,256],"optional":true}]},"animations":{"global":["Forward","Back","Jump","Jet","Fall","Land","ski","Root"],"lmale":["Idlepda","Side","Jump0","Land1","Recoilde","Celwave","Celdisco","Celflex","Celrocky","Celsalute","celTaunt","Taunimp","Tauntbest","Dieback","diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mmale":["Back0","Jump3","Recoilde","Celwave","Celdance","Celflex","Celrocky","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Diespin","Sitting"],"hmale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celdance","Celflex","Celjump","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dielegrt","Diesidelf","Diesidert","Diesidert0","Dieslump","Diespin"],"lfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdance","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdisco","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Dielegrt0","Diesidelf","Diesidert","Diespin","Sitting"],"lbioderm":["Root3","PDA","Jump2","Side","Light_recoil","CelebrationGora","CelebrationJump","CelebrationJump0","CelebrationJump4","CelebrationRoar","Salute","Celflex2","celyeah","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin","Sitting"],"mbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex1","Celgora","Celjump","Celroar","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathHead","DeathSideLeft","DeathSpin","Dieforward","Dieknees","Dieleglft","Dielegtrt","Diesidert","Dieslump","Sitting"],"hbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex2","Celgora","Celjump","Celraor","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin"]}}'))},67034,(e,t,r)=>{!function(){var e={675:function(e,t){"use strict";t.byteLength=function(e){var t=f(e),r=t[0],i=t[1];return(r+i)*3/4-i},t.toByteArray=function(e){var t,r,n=f(e),o=n[0],l=n[1],s=new a((o+l)*3/4-l),h=0,u=l>0?o-4:o;for(r=0;r>16&255,s[h++]=t>>8&255,s[h++]=255&t;return 2===l&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,s[h++]=255&t),1===l&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,s[h++]=t>>8&255,s[h++]=255&t),s},t.fromByteArray=function(e){for(var t,i=e.length,a=i%3,n=[],o=0,l=i-a;o>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return n.join("")}(e,o,o+16383>l?l:o+16383));return 1===a?n.push(r[(t=e[i-1])>>2]+r[t<<4&63]+"=="):2===a&&n.push(r[(t=(e[i-2]<<8)+e[i-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),n.join("")};for(var r=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=n.length;o0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var i=r===t?0:4-r%4;return[r,i]}i[45]=62,i[95]=63},72:function(e,t,r){"use strict";var i=r(675),a=r(783),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(e){if(e>0x7fffffff)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return h(e)}return f(e,t,r)}function f(e,t,r){if("string"==typeof e){var i=e,a=t;if(("string"!=typeof a||""===a)&&(a="utf8"),!l.isEncoding(a))throw TypeError("Unknown encoding: "+a);var n=0|p(i,a),f=o(n),s=f.write(i,a);return s!==n&&(f=f.slice(0,s)),f}if(ArrayBuffer.isView(e))return u(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(T(e,ArrayBuffer)||e&&T(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(T(e,SharedArrayBuffer)||e&&T(e.buffer,SharedArrayBuffer)))return function(e,t,r){var i;if(t<0||e.byteLength=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||T(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var a=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return A(e).length;default:if(a)return i?-1:B(e).length;t=(""+t).toLowerCase(),a=!0}}function d(e,t,r){var a,n,o,l=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var a="",n=t;n0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(n=r*=1)!=n&&(r=a?0:e.length-1),r<0&&(r=e.length+r),r>=e.length)if(a)return -1;else r=e.length-1;else if(r<0)if(!a)return -1;else r=0;if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:b(e,t,r,i,a);if("number"==typeof t){if(t&=255,"function"==typeof Uint8Array.prototype.indexOf)if(a)return Uint8Array.prototype.indexOf.call(e,t,r);else return Uint8Array.prototype.lastIndexOf.call(e,t,r);return b(e,[t],r,i,a)}throw TypeError("val must be string, number or Buffer")}function b(e,t,r,i,a){var n,o=1,l=e.length,f=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return -1;o=2,l/=2,f/=2,r/=2}function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(a){var h=-1;for(n=r;nl&&(r=l-f),n=r;n>=0;n--){for(var u=!0,c=0;cr&&(e+=" ... "),""},n&&(l.prototype[n]=l.prototype.inspect),l.prototype.compare=function(e,t,r,i,a){if(T(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===a&&(a=this.length),t<0||r>e.length||i<0||a>this.length)throw RangeError("out of range index");if(i>=a&&t>=r)return 0;if(i>=a)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,i>>>=0,a>>>=0,this===e)return 0;for(var n=a-i,o=r-t,f=Math.min(n,o),s=this.slice(i,a),h=e.slice(t,r),u=0;u239?4:s>223?3:s>191?2:1;if(a+u<=r)switch(u){case 1:s<128&&(h=s);break;case 2:(192&(n=e[a+1]))==128&&(f=(31&s)<<6|63&n)>127&&(h=f);break;case 3:n=e[a+1],o=e[a+2],(192&n)==128&&(192&o)==128&&(f=(15&s)<<12|(63&n)<<6|63&o)>2047&&(f<55296||f>57343)&&(h=f);break;case 4:n=e[a+1],o=e[a+2],l=e[a+3],(192&n)==128&&(192&o)==128&&(192&l)==128&&(f=(15&s)<<18|(63&n)<<12|(63&o)<<6|63&l)>65535&&f<1114112&&(h=f)}null===h?(h=65533,u=1):h>65535&&(h-=65536,i.push(h>>>10&1023|55296),h=56320|1023&h),i.push(h),a+=u}var c=i,p=c.length;if(p<=4096)return String.fromCharCode.apply(String,c);for(var d="",g=0;gr)throw RangeError("Trying to access beyond buffer length")}function _(e,t,r,i,a,n){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw RangeError("Index out of range")}function w(e,t,r,i,a,n){if(r+i>e.length||r<0)throw RangeError("Index out of range")}function D(e,t,r,i,n){return t*=1,r>>>=0,n||w(e,t,r,4,34028234663852886e22,-34028234663852886e22),a.write(e,t,r,i,23,4),r+4}function S(e,t,r,i,n){return t*=1,r>>>=0,n||w(e,t,r,8,17976931348623157e292,-17976931348623157e292),a.write(e,t,r,i,52,8),r+8}l.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a,n,o,l,f,s,h,u,c=this.length-t;if((void 0===r||r>c)&&(r=c),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var p=!1;;)switch(i){case"hex":return function(e,t,r,i){r=Number(r)||0;var a=e.length-r;i?(i=Number(i))>a&&(i=a):i=a;var n=t.length;i>n/2&&(i=n/2);for(var o=0;o>8,a.push(r%256),a.push(i);return a}(e,this.length-h),this,h,u);default:if(p)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||v(e,t,this.length);for(var i=this[e],a=1,n=0;++n>>=0,t>>>=0,r||v(e,t,this.length);for(var i=this[e+--t],a=1;t>0&&(a*=256);)i+=this[e+--t]*a;return i},l.prototype.readUInt8=function(e,t){return e>>>=0,t||v(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var i=this[e],a=1,n=0;++n=(a*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var i=t,a=1,n=this[e+--i];i>0&&(a*=256);)n+=this[e+--i]*a;return n>=(a*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readInt8=function(e,t){return(e>>>=0,t||v(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt16BE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||v(e,4,this.length),a.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||v(e,4,this.length),a.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||v(e,8,this.length),a.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||v(e,8,this.length),a.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,i){if(e*=1,t>>>=0,r>>>=0,!i){var a=Math.pow(2,8*r)-1;_(this,e,t,r,a,0)}var n=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,!i){var a=Math.pow(2,8*r)-1;_(this,e,t,r,a,0)}var n=r-1,o=1;for(this[t+n]=255&e;--n>=0&&(o*=256);)this[t+n]=e/o&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUInt16BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUInt32LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0xffffffff,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUInt32BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0xffffffff,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,i){if(e*=1,t>>>=0,!i){var a=Math.pow(2,8*r-1);_(this,e,t,r,a-1,-a)}var n=0,o=1,l=0;for(this[t]=255&e;++n>>=0,!i){var a=Math.pow(2,8*r-1);_(this,e,t,r,a-1,-a)}var n=r-1,o=1,l=0;for(this[t+n]=255&e;--n>=0&&(o*=256);)e<0&&0===l&&0!==this[t+n+1]&&(l=1),this[t+n]=(e/o|0)-l&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0x7fffffff,-0x80000000),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return S(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return S(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,i){if(!l.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw RangeError("Index out of range");if(i<0)throw RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,i),t);return a},l.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw TypeError("encoding must be a string");if("string"==typeof i&&!l.isEncoding(i))throw TypeError("Unknown encoding: "+i);if(1===e.length){var a,n=e.charCodeAt(0);("utf8"===i&&n<128||"latin1"===i)&&(e=n)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!a){if(r>56319||o+1===i){(t-=3)>-1&&n.push(239,191,189);continue}a=r;continue}if(r<56320){(t-=3)>-1&&n.push(239,191,189),a=r;continue}r=(a-55296<<10|r-56320)+65536}else a&&(t-=3)>-1&&n.push(239,191,189);if(a=null,r<128){if((t-=1)<0)break;n.push(r)}else if(r<2048){if((t-=2)<0)break;n.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;n.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;n.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return n}function E(e){for(var t=[],r=0;r=t.length)&&!(a>=e.length);++a)t[a+r]=e[a];return a}function T(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var x=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var i=16*r,a=0;a<16;++a)t[i+a]=e[r]+e[a];return t}()},783:function(e,t){t.read=function(e,t,r,i,a){var n,o,l=8*a-i-1,f=(1<>1,h=-7,u=r?a-1:0,c=r?-1:1,p=e[t+u];for(u+=c,n=p&(1<<-h)-1,p>>=-h,h+=l;h>0;n=256*n+e[t+u],u+=c,h-=8);for(o=n&(1<<-h)-1,n>>=-h,h+=i;h>0;o=256*o+e[t+u],u+=c,h-=8);if(0===n)n=1-s;else{if(n===f)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),n-=s}return(p?-1:1)*o*Math.pow(2,n-i)},t.write=function(e,t,r,i,a,n){var o,l,f,s=8*n-a-1,h=(1<>1,c=5960464477539062e-23*(23===a),p=i?0:n-1,d=i?1:-1,g=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(l=+!!isNaN(t),o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-o))<1&&(o--,f*=2),o+u>=1?t+=c/f:t+=c*Math.pow(2,1-u),t*f>=2&&(o++,f/=2),o+u>=h?(l=0,o=h):o+u>=1?(l=(t*f-1)*Math.pow(2,a),o+=u):(l=t*Math.pow(2,u-1)*Math.pow(2,a),o=0));a>=8;e[r+p]=255&l,p+=d,l/=256,a-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,s-=8);e[r+p-d]|=128*g}}},r={};function i(t){var a=r[t];if(void 0!==a)return a.exports;var n=r[t]={exports:{}},o=!0;try{e[t](n,n.exports,i),o=!1}finally{o&&delete r[t]}return n.exports}i.ab="/ROOT/node_modules/next/dist/compiled/buffer/",t.exports=i(72)}()},5993,e=>{e.v("/t2-model-skinner/_next/static/media/imageProcessing.worker.dbca7ab4.ts")},63871,e=>{"use strict";e.s(["ModelViewerContext",()=>r,"default",()=>i]);var t=e.i(71645);let r=t.default.createContext(null);function i(){let e=(0,t.useContext)(r);if(!e)throw Error("No ModelViewerContext.Provider");return e}r.displayName="ModelViewerContext"},91135,e=>{e.v(t=>Promise.all(["static/chunks/c498d0f8e7ead48a.js"].map(t=>e.l(t))).then(()=>t(69642)))},22143,e=>{e.v(t=>Promise.all(["static/chunks/2d6d26cb79779ffe.js"].map(t=>e.l(t))).then(()=>t(66641)))}]); \ No newline at end of file +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29947,e=>{e.v(JSON.parse('{"defaultSkins":{"lmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"lfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hfemale":[],"lbioderm":["Horde","Inferno","Storm"],"mbioderm":["Horde","Inferno","Storm"],"hbioderm":["Horde","Inferno","Storm"]},"modelDefaults":{"lmale":"Blood Eagle","mmale":"Blood Eagle","hmale":"Blood Eagle","lfemale":"Blood Eagle","mfemale":"Blood Eagle","hfemale":"Blood Eagle","lbioderm":"Storm","mbioderm":"Storm","hbioderm":"Storm","chaingun":"weapon_chaingun","disc":"weapon_disc","elf":"weapon_elf","energy":"weapon_energy","grenade_launcher":"weapon_grenade_launcher","mine":"mine","missile":"weapon_missile","mortar":"weapon_mortar","plasmathrower":"weapon_plasmathrower","repair":"weapon_repair","shocklance":"weapon_shocklance","sniper":"weapon_sniper","targeting":"weapon_targeting","vehicle_land_mpbbase":"vehicle_land_mpbbase","vehicle_grav_scout":"vehicle_grav_scout","vehicle_grav_tank":"vehicle_grav_tank","turret_assaulttank_mortar":"turret_assaulttank_mortar","vehicle_air_scout":"vehicle_air_scout","vehicle_air_bomber":"vehicle_air_bomber","vehicle_air_hapc":"vehicle_air_hapc"},"animationLabels":{"Forward":"Run Forward","Back":"Run Backward","Back0":"Run Backward","Root":"Idle","Root2":"Run Backward","Root3":"Idle","Idlepda":"Idle (PDA)","PDA":"Idle (PDA)","Root1":"Idle (PDA)","Jump":"Jump","Jump0":"Jump (Alternate)","Jump1":"Jump (Alternate)","Jump2":"Jump (Alternate)","Jump3":"Jump (Alternate)","Jet":"Jet","Fall":"Fall","Land":"Land","Land1":"Land (Alternate)","ski":"Ski","Side":"Strafe Left","Celwave":"Wave","Celbow":"Bow","Celdisco":"Dance","Celdance":"Dance","Celflex":"Flex","Celflex1":"Flex","Celrocky":"Awesome","Celjump":"Awesome","Celsalute":"Salute","celTaunt":"Too Bad","CelebrationGora":"Wave Arms","Celgora":"Wave Arms","CelebrationJump":"Bull Charge","Tauntbull":"Bull Charge","CelebrationJump0":"Celebrate","CelebrationJump4":"The Greatest","CelebrationRoar":"Roar","Celroar":"Roar","Celraor":"Roar","Celflex2":"Flex","celyeah":"Yeah","celtaunt":"Too Bad","Tauntbutt":"Butt","Tauntkiss":"Blow Kiss","Tauntbest":"The Greatest","Taunimp":"Move!","Tauntimp":"Move!","Sitting":"Sit","Scoutroot":"Gravcycle","Recoilde":"Recoil","Light_recoil":"Recoil","Dieforward":"Death (Fall Forward)","DeathForward":"Death (Fall Forward)","Dieslump":"Death (Slump)","DeathSlump":"Death (Slump)","Diespin":"Death (Spin)","DeathSpin":"Death (Spin)","diechest":"Death (Hold Chest)","Diechest":"Death (Hold Chest)","DeathChest":"Death (Hold Chest)","Dieback":"Death (Hold Back)","DeathBack":"Death (Hold Back)","Diehead":"Death (Hold Head)","DeathHead":"Death (Hold Head)","Dieknees":"Death (On Knees)","DeathKnees":"Death (On Knees)","Dieleglf":"Death (Left Leg Injury)","Dieleglft":"Death (Left Leg Injury)","DeathLegLeft":"Death (Left Leg Injury)","Dielegrt":"Death (Right Leg Injury)","Dielegtrt":"Death (Right Leg Injury)","DeathLegRight":"Death (Right Leg Injury)","Dielegrt0":"Death (Right Leg Injury)","Diesidelf":"Death (Left Side)","DeathSideLeft":"Death (Left Side)","Diesidert":"Death (Right Side)","DeathSideRight":"Death (Right Side)","Diesidert0":"Death (Right Side Alternate)"},"cameraOverrides":{"chaingun":{"target":"0m 0m 0m","fov":"12deg"},"plasmathrower":{"target":"0.002m -0.001m 0m","fov":"12deg"},"energy":{"fov":"31deg","orbit":"135deg 70deg 105%"},"hmale":{"fov":"24deg"},"hfemale":{"fov":"24deg"},"hbioderm":{"fov":"24deg"},"vehicle_grav_scout":{"orbit":"290deg 60deg 130%"},"vehicle_grav_tank":{"orbit":"290deg 60deg 130%"},"turret_assaulttank_mortar":{"orbit":"290deg 60deg 130%"},"vehicle_land_mpbbase":{"orbit":"290deg 60deg 130%"},"vehicle_air_scout":{"orbit":"290deg 60deg 130%"},"vehicle_air_bomber":{"orbit":"290deg 60deg 130%"},"vehicle_air_hapc":{"orbit":"290deg 60deg 130%"}},"animationLabelOverrides":{"mmale":{"Back":"Strafe Left"},"mfemale":{"Dielegrt":"Death (Slump)"},"lbioderm":{"Root":"Gravcycle"}},"materials":{"lmale":[{"name":"base","label":"Warrior","fileSuffix":".lmale"}],"mmale":[{"name":"base","label":"Warrior","fileSuffix":".mmale"}],"hmale":[{"name":"base","label":"Warrior","fileSuffix":".hmale"}],"lfemale":[{"name":"base","label":"Warrior","fileSuffix":".lfemale"}],"mfemale":[{"name":"base","label":"Warrior","fileSuffix":".mfemale"}],"lbioderm":[{"name":"base","label":"Warrior","fileSuffix":".lbioderm"}],"mbioderm":[{"name":"base","label":"Warrior","fileSuffix":".mbioderm"}],"hbioderm":[{"name":"base","label":"Warrior","fileSuffix":".hbioderm"}],"disc":[{"name":"weapon_disc","label":"Weapon"},{"name":"dcase00","label":"Disc Case","size":[256,256],"baseColorFactor":[1,1,1,0.7],"emissiveFactor":[1,1,1],"emissiveTexture":true,"alphaMode":"BLEND","metallicFactor":0,"roughnessFactor":1,"frameCount":6,"frameTimings":[21,1,1,1,1,1],"optional":true}],"chaingun":[{"label":"Chaingun","name":"weapon_chaingun"}],"grenade_launcher":[{"label":"Grenade Launcher","name":"weapon_grenade_launcher"}],"sniper":[{"label":"Weapon","name":"weapon_sniper"},{"label":"Green Light","name":"greenlight","hasDefault":false,"optional":true},{"label":"Red Light","name":"lite_red","hasDefault":false,"optional":true}],"plasmathrower":[{"label":"Rear & Barrel","name":"weapon_plasma10","file":"weapon_plasma1"},{"label":"Top & Front","name":"weapon_plasma21","file":"weapon_plasma2"},{"name":"weapon_plasma1","file":"weapon_plasma1","selectable":false},{"name":"weapon_plasma2","file":"weapon_plasma2","selectable":false}],"energy":[{"label":"Weapon","name":"blinn1","file":"weapon_energy"}],"shocklance":[{"label":"Weapon","name":"weapon_shocklance","size":[512,256]},{"label":"Glow","name":"weapon_shocklance_glow_","file":"weapon_shocklance_glow ","emissiveFactor":[1,1,1],"alphaMode":"MASK","alphaCutoff":255,"emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,128],"optional":true}],"elf":[{"label":"Weapon","name":"weapon_elf","file":"weapon_elf"},{"label":"Glow","name":"weapon_elf0","file":"weapon_elf"}],"missile":[{"label":"Weapon","name":"weapon_missile"}],"mortar":[{"label":"Weapon","name":"weapon_mortar"}],"repair":[{"label":"Weapon","name":"weapon_repair"}],"targeting":[{"label":"Weapon","name":"weapon_targeting"}],"mine":[{"label":"Weapon","name":"mine","size":[512,512],"metallicFactor":0,"roughnessFactor":1}],"vehicle_air_scout":[{"label":"Vehicle","name":"vehicle_air_scout0","file":"vehicle_air_scout"},{"name":"Unassigned","hidden":true,"hasDefault":false},{"name":"vehicle_air_scout","hidden":true,"hasDefault":false},{"label":"Flare","name":"shrikeflare2","emissiveFactor":[0,0,0],"alphaMode":"BLEND","emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,256],"optional":true}],"vehicle_air_bomber":[{"label":"Cockpit & Thrusters","name":"vehicle_air_bomber10","file":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Rear","name":"vehicle_air_bomber2","size":[256,512]},{"label":"Wings","name":"vehicle_air_bomber31","file":"vehicle_air_bomber3"},{"name":"vehicle_air_bomber1","size":[256,512],"selectable":false},{"name":"vehicle_air_bomber3","selectable":false}],"vehicle_air_hapc":[{"label":"Cockpit","name":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Wings","name":"vehicle_air_hpc2"},{"label":"Seats","name":"vehicle_air_hpc1"},{"label":"Thrusters","name":"vehicle_air_hpc30","file":"vehicle_air_hpc3"},{"name":"vehicle_air_hpc3","selectable":false}],"vehicle_grav_scout":[{"label":"Vehicle","name":"Vehicle_grav_scout0","file":"Vehicle_grav_scout","size":[512,256]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Pipes","name":"Vehicle_grav_scout_pipes1","file":"Vehicle_grav_scout_pipes","metallicFactor":0,"roughnessFactor":1},{"name":"Vehicle_grav_scout","hidden":true,"hasDefault":false},{"label":"Side Thrusters","name":"Vehicle_grav_scout_pipes","file":"Vehicle_grav_scout_pipes","emissiveFactor":[1,1,1],"alphaMode":"OPAQUE","metallicFactor":0,"roughnessFactor":1,"emissiveTexture":true,"selectable":false},{"label":"Windshield","name":"Vehicle_grav_scout_windshield","file":"Vehicle_grav_scout_windshield","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true},{"label":"Windshield Inner","name":"Vehicle_grav_scout_windshieldInner","file":"Vehicle_grav_scout_windshieldInner","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true}],"vehicle_grav_tank":[{"label":"Center","name":"Vehicle_grav_tank_bodyMain","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Sides","name":"vehicle_grav_tank_bodyside10","file":"vehicle_grav_tank_bodyside1","size":[256,512]},{"label":"Thrusters","name":"vehicle_grav_tank_bodyside21","file":"vehicle_grav_tank_bodyside2"},{"name":"vehicle_grav_tank_bodyside2","selectable":false},{"name":"vehicle_grav_tank_bodyside1","selectable":false}],"turret_assaulttank_mortar":[{"label":"Turret","name":"turret_assaulttank_mortar","file":"turret_assaultTank"}],"vehicle_land_mpbbase":[{"label":"Vehicle Front","name":"vehicle_land_mpb1"},{"label":"Vehicle Back","name":"vehicle_land_mpb2"},{"label":"Wheels","name":"Vehicle_Land_Assault_wheel","file":"Vehicle_Land_Assault_Wheel","size":[512,256],"optional":true}]},"animations":{"global":["Forward","Back","Jump","Jet","Fall","Land","ski","Root"],"lmale":["Idlepda","Side","Jump0","Land1","Recoilde","Celwave","Celdisco","Celflex","Celrocky","Celsalute","celTaunt","Taunimp","Tauntbest","Dieback","diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mmale":["Back0","Jump3","Recoilde","Celwave","Celdance","Celflex","Celrocky","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Diespin","Sitting"],"hmale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celdance","Celflex","Celjump","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dielegrt","Diesidelf","Diesidert","Diesidert0","Dieslump","Diespin"],"lfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdance","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdisco","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Dielegrt0","Diesidelf","Diesidert","Diespin","Sitting"],"lbioderm":["Root3","PDA","Jump2","Side","Light_recoil","CelebrationGora","CelebrationJump","CelebrationJump0","CelebrationJump4","CelebrationRoar","Salute","Celflex2","celyeah","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin","Sitting"],"mbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex1","Celgora","Celjump","Celroar","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathHead","DeathSideLeft","DeathSpin","Dieforward","Dieknees","Dieleglft","Dielegtrt","Diesidert","Dieslump","Sitting"],"hbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex2","Celgora","Celjump","Celraor","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin"]}}'))},67034,(e,t,r)=>{!function(){var e={675:function(e,t){"use strict";t.byteLength=function(e){var t=f(e),r=t[0],i=t[1];return(r+i)*3/4-i},t.toByteArray=function(e){var t,r,n=f(e),o=n[0],l=n[1],s=new a((o+l)*3/4-l),h=0,u=l>0?o-4:o;for(r=0;r>16&255,s[h++]=t>>8&255,s[h++]=255&t;return 2===l&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,s[h++]=255&t),1===l&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,s[h++]=t>>8&255,s[h++]=255&t),s},t.fromByteArray=function(e){for(var t,i=e.length,a=i%3,n=[],o=0,l=i-a;o>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return n.join("")}(e,o,o+16383>l?l:o+16383));return 1===a?n.push(r[(t=e[i-1])>>2]+r[t<<4&63]+"=="):2===a&&n.push(r[(t=(e[i-2]<<8)+e[i-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),n.join("")};for(var r=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=n.length;o0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var i=r===t?0:4-r%4;return[r,i]}i[45]=62,i[95]=63},72:function(e,t,r){"use strict";var i=r(675),a=r(783),n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(e){if(e>0x7fffffff)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return h(e)}return f(e,t,r)}function f(e,t,r){if("string"==typeof e){var i=e,a=t;if(("string"!=typeof a||""===a)&&(a="utf8"),!l.isEncoding(a))throw TypeError("Unknown encoding: "+a);var n=0|p(i,a),f=o(n),s=f.write(i,a);return s!==n&&(f=f.slice(0,s)),f}if(ArrayBuffer.isView(e))return u(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(T(e,ArrayBuffer)||e&&T(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(T(e,SharedArrayBuffer)||e&&T(e.buffer,SharedArrayBuffer)))return function(e,t,r){var i;if(t<0||e.byteLength=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||T(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;for(var a=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return A(e).length;default:if(a)return i?-1:B(e).length;t=(""+t).toLowerCase(),a=!0}}function d(e,t,r){var a,n,o,l=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var i=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>i)&&(r=i);for(var a="",n=t;n0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(n=r*=1)!=n&&(r=a?0:e.length-1),r<0&&(r=e.length+r),r>=e.length)if(a)return -1;else r=e.length-1;else if(r<0)if(!a)return -1;else r=0;if("string"==typeof t&&(t=l.from(t,i)),l.isBuffer(t))return 0===t.length?-1:b(e,t,r,i,a);if("number"==typeof t){if(t&=255,"function"==typeof Uint8Array.prototype.indexOf)if(a)return Uint8Array.prototype.indexOf.call(e,t,r);else return Uint8Array.prototype.lastIndexOf.call(e,t,r);return b(e,[t],r,i,a)}throw TypeError("val must be string, number or Buffer")}function b(e,t,r,i,a){var n,o=1,l=e.length,f=t.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(e.length<2||t.length<2)return -1;o=2,l/=2,f/=2,r/=2}function s(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(a){var h=-1;for(n=r;nl&&(r=l-f),n=r;n>=0;n--){for(var u=!0,c=0;cr&&(e+=" ... "),""},n&&(l.prototype[n]=l.prototype.inspect),l.prototype.compare=function(e,t,r,i,a){if(T(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===i&&(i=0),void 0===a&&(a=this.length),t<0||r>e.length||i<0||a>this.length)throw RangeError("out of range index");if(i>=a&&t>=r)return 0;if(i>=a)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,i>>>=0,a>>>=0,this===e)return 0;for(var n=a-i,o=r-t,f=Math.min(n,o),s=this.slice(i,a),h=e.slice(t,r),u=0;u239?4:s>223?3:s>191?2:1;if(a+u<=r)switch(u){case 1:s<128&&(h=s);break;case 2:(192&(n=e[a+1]))==128&&(f=(31&s)<<6|63&n)>127&&(h=f);break;case 3:n=e[a+1],o=e[a+2],(192&n)==128&&(192&o)==128&&(f=(15&s)<<12|(63&n)<<6|63&o)>2047&&(f<55296||f>57343)&&(h=f);break;case 4:n=e[a+1],o=e[a+2],l=e[a+3],(192&n)==128&&(192&o)==128&&(192&l)==128&&(f=(15&s)<<18|(63&n)<<12|(63&o)<<6|63&l)>65535&&f<1114112&&(h=f)}null===h?(h=65533,u=1):h>65535&&(h-=65536,i.push(h>>>10&1023|55296),h=56320|1023&h),i.push(h),a+=u}var c=i,p=c.length;if(p<=4096)return String.fromCharCode.apply(String,c);for(var d="",g=0;gr)throw RangeError("Trying to access beyond buffer length")}function _(e,t,r,i,a,n){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>a||te.length)throw RangeError("Index out of range")}function w(e,t,r,i,a,n){if(r+i>e.length||r<0)throw RangeError("Index out of range")}function D(e,t,r,i,n){return t*=1,r>>>=0,n||w(e,t,r,4,34028234663852886e22,-34028234663852886e22),a.write(e,t,r,i,23,4),r+4}function S(e,t,r,i,n){return t*=1,r>>>=0,n||w(e,t,r,8,17976931348623157e292,-17976931348623157e292),a.write(e,t,r,i,52,8),r+8}l.prototype.write=function(e,t,r,i){if(void 0===t)i="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)i=t,r=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var a,n,o,l,f,s,h,u,c=this.length-t;if((void 0===r||r>c)&&(r=c),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var p=!1;;)switch(i){case"hex":return function(e,t,r,i){r=Number(r)||0;var a=e.length-r;i?(i=Number(i))>a&&(i=a):i=a;var n=t.length;i>n/2&&(i=n/2);for(var o=0;o>8,a.push(r%256),a.push(i);return a}(e,this.length-h),this,h,u);default:if(p)throw TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||v(e,t,this.length);for(var i=this[e],a=1,n=0;++n>>=0,t>>>=0,r||v(e,t,this.length);for(var i=this[e+--t],a=1;t>0&&(a*=256);)i+=this[e+--t]*a;return i},l.prototype.readUInt8=function(e,t){return e>>>=0,t||v(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var i=this[e],a=1,n=0;++n=(a*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var i=t,a=1,n=this[e+--i];i>0&&(a*=256);)n+=this[e+--i]*a;return n>=(a*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readInt8=function(e,t){return(e>>>=0,t||v(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt16BE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||v(e,4,this.length),a.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||v(e,4,this.length),a.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||v(e,8,this.length),a.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||v(e,8,this.length),a.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,i){if(e*=1,t>>>=0,r>>>=0,!i){var a=Math.pow(2,8*r)-1;_(this,e,t,r,a,0)}var n=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,!i){var a=Math.pow(2,8*r)-1;_(this,e,t,r,a,0)}var n=r-1,o=1;for(this[t+n]=255&e;--n>=0&&(o*=256);)this[t+n]=e/o&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUInt16BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUInt32LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0xffffffff,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUInt32BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0xffffffff,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,i){if(e*=1,t>>>=0,!i){var a=Math.pow(2,8*r-1);_(this,e,t,r,a-1,-a)}var n=0,o=1,l=0;for(this[t]=255&e;++n>>=0,!i){var a=Math.pow(2,8*r-1);_(this,e,t,r,a-1,-a)}var n=r-1,o=1,l=0;for(this[t+n]=255&e;--n>=0&&(o*=256);)e<0&&0===l&&0!==this[t+n+1]&&(l=1),this[t+n]=(e/o|0)-l&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0x7fffffff,-0x80000000),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e*=1,t>>>=0,r||_(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return S(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return S(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,i){if(!l.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),t>=e.length&&(t=e.length),t||(t=0),i>0&&i=this.length)throw RangeError("Index out of range");if(i<0)throw RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-t=0;--n)e[n+t]=this[n+r];else Uint8Array.prototype.set.call(e,this.subarray(r,i),t);return a},l.prototype.fill=function(e,t,r,i){if("string"==typeof e){if("string"==typeof t?(i=t,t=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw TypeError("encoding must be a string");if("string"==typeof i&&!l.isEncoding(i))throw TypeError("Unknown encoding: "+i);if(1===e.length){var a,n=e.charCodeAt(0);("utf8"===i&&n<128||"latin1"===i)&&(e=n)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&r<57344){if(!a){if(r>56319||o+1===i){(t-=3)>-1&&n.push(239,191,189);continue}a=r;continue}if(r<56320){(t-=3)>-1&&n.push(239,191,189),a=r;continue}r=(a-55296<<10|r-56320)+65536}else a&&(t-=3)>-1&&n.push(239,191,189);if(a=null,r<128){if((t-=1)<0)break;n.push(r)}else if(r<2048){if((t-=2)<0)break;n.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;n.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;n.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return n}function E(e){for(var t=[],r=0;r=t.length)&&!(a>=e.length);++a)t[a+r]=e[a];return a}function T(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var x=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var i=16*r,a=0;a<16;++a)t[i+a]=e[r]+e[a];return t}()},783:function(e,t){t.read=function(e,t,r,i,a){var n,o,l=8*a-i-1,f=(1<>1,h=-7,u=r?a-1:0,c=r?-1:1,p=e[t+u];for(u+=c,n=p&(1<<-h)-1,p>>=-h,h+=l;h>0;n=256*n+e[t+u],u+=c,h-=8);for(o=n&(1<<-h)-1,n>>=-h,h+=i;h>0;o=256*o+e[t+u],u+=c,h-=8);if(0===n)n=1-s;else{if(n===f)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,i),n-=s}return(p?-1:1)*o*Math.pow(2,n-i)},t.write=function(e,t,r,i,a,n){var o,l,f,s=8*n-a-1,h=(1<>1,c=5960464477539062e-23*(23===a),p=i?0:n-1,d=i?1:-1,g=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(l=+!!isNaN(t),o=h):(o=Math.floor(Math.log(t)/Math.LN2),t*(f=Math.pow(2,-o))<1&&(o--,f*=2),o+u>=1?t+=c/f:t+=c*Math.pow(2,1-u),t*f>=2&&(o++,f/=2),o+u>=h?(l=0,o=h):o+u>=1?(l=(t*f-1)*Math.pow(2,a),o+=u):(l=t*Math.pow(2,u-1)*Math.pow(2,a),o=0));a>=8;e[r+p]=255&l,p+=d,l/=256,a-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,s-=8);e[r+p-d]|=128*g}}},r={};function i(t){var a=r[t];if(void 0!==a)return a.exports;var n=r[t]={exports:{}},o=!0;try{e[t](n,n.exports,i),o=!1}finally{o&&delete r[t]}return n.exports}i.ab="/ROOT/node_modules/next/dist/compiled/buffer/",t.exports=i(72)}()},5993,e=>{e.v("/t2-model-skinner/_next/static/media/imageProcessing.worker.dbca7ab4.ts")},63871,e=>{"use strict";e.s(["ModelViewerContext",()=>r,"default",()=>i]);var t=e.i(71645);let r=t.default.createContext(null);function i(){let e=(0,t.useContext)(r);if(!e)throw Error("No ModelViewerContext.Provider");return e}r.displayName="ModelViewerContext"},91135,e=>{e.v(t=>Promise.all(["static/chunks/2abf3874637c5516.js"].map(t=>e.l(t))).then(()=>t(69642)))},22143,e=>{e.v(t=>Promise.all(["static/chunks/2d6d26cb79779ffe.js"].map(t=>e.l(t))).then(()=>t(66641)))}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/0c04e859c9299853.js b/docs/_next/static/chunks/5ab6fafee44106c4.js similarity index 69% rename from docs/_next/static/chunks/0c04e859c9299853.js rename to docs/_next/static/chunks/5ab6fafee44106c4.js index f0eefff..53960ab 100644 --- a/docs/_next/static/chunks/0c04e859c9299853.js +++ b/docs/_next/static/chunks/5ab6fafee44106c4.js @@ -1 +1 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),n=["attr","size","title"];function c(){return(c=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,c({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}(e,n),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>n,"FaArrowUp",()=>c,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaTrashAlt",()=>h,"FaUnlock",()=>m]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},18566,(e,t,a)=>{t.exports=e.r(76562)},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let n=e!==a;return[e,n]}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>c]);var a=e.i(71315);let r=e.i(20592).default.materials,n=/^(\.|__MACOSX)/,c={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!n.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(n.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let n=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let n;if(a.fileSuffix?n=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(n=a.file||a.name),n){var c;let l=null!=(c=e.get(n))?c:[];l.push({modelName:t,material:a,index:r}),e.set(n,l)}});return e}());let n=e.split("/").slice(-1)[0],c=n.match(/^(.+)\.(PNG|png)$/);if(c){let r=c[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],n=a[2],c=parseInt(n,10),l="".concat(e).concat("0".padStart(n.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:c}))}return[]}(l[0]);if(i.length)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,c,l,i,o;let s=null!=(r=n.get(t.modelName))?r:new Map,u=null!=(c=s.get(a.skinName))?c:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),n.set(t.modelName,s)})}),n.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),n}}]); \ No newline at end of file +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),n=["attr","size","title"];function c(){return(c=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,c({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}(e,n),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>n,"FaArrowUp",()=>c,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaTrashAlt",()=>h,"FaUnlock",()=>m]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},18566,(e,t,a)=>{t.exports=e.r(76562)},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{},sizeMultiplier:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let n=e!==a;return[e,n]}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>c]);var a=e.i(71315);let r=e.i(20592).default.materials,n=/^(\.|__MACOSX)/,c={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!n.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(n.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let n=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let n;if(a.fileSuffix?n=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(n=a.file||a.name),n){var c;let l=null!=(c=e.get(n))?c:[];l.push({modelName:t,material:a,index:r}),e.set(n,l)}});return e}());let n=e.split("/").slice(-1)[0],c=n.match(/^(.+)\.(PNG|png)$/);if(c){let r=c[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],n=a[2],c=parseInt(n,10),l="".concat(e).concat("0".padStart(n.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:c}))}return[]}(l[0]);if(i.length)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,c,l,i,o;let s=null!=(r=n.get(t.modelName))?r:new Map,u=null!=(c=s.get(a.skinName))?c:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),n.set(t.modelName,s)})}),n.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),n}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/53296be44174b494.js b/docs/_next/static/chunks/64f1e5c6f9fa52f6.js similarity index 99% rename from docs/_next/static/chunks/53296be44174b494.js rename to docs/_next/static/chunks/64f1e5c6f9fa52f6.js index 47ad598..d79b77b 100644 --- a/docs/_next/static/chunks/53296be44174b494.js +++ b/docs/_next/static/chunks/64f1e5c6f9fa52f6.js @@ -1 +1 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},29947,e=>{e.v(JSON.parse('{"defaultSkins":{"lmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"lfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hfemale":[],"lbioderm":["Horde","Inferno","Storm"],"mbioderm":["Horde","Inferno","Storm"],"hbioderm":["Horde","Inferno","Storm"]},"modelDefaults":{"lmale":"Blood Eagle","mmale":"Blood Eagle","hmale":"Blood Eagle","lfemale":"Blood Eagle","mfemale":"Blood Eagle","hfemale":"Blood Eagle","lbioderm":"Storm","mbioderm":"Storm","hbioderm":"Storm","chaingun":"weapon_chaingun","disc":"weapon_disc","elf":"weapon_elf","energy":"weapon_energy","grenade_launcher":"weapon_grenade_launcher","mine":"mine","missile":"weapon_missile","mortar":"weapon_mortar","plasmathrower":"weapon_plasmathrower","repair":"weapon_repair","shocklance":"weapon_shocklance","sniper":"weapon_sniper","targeting":"weapon_targeting","vehicle_land_mpbbase":"vehicle_land_mpbbase","vehicle_grav_scout":"vehicle_grav_scout","vehicle_grav_tank":"vehicle_grav_tank","turret_assaulttank_mortar":"turret_assaulttank_mortar","vehicle_air_scout":"vehicle_air_scout","vehicle_air_bomber":"vehicle_air_bomber","vehicle_air_hapc":"vehicle_air_hapc"},"animationLabels":{"Forward":"Run Forward","Back":"Run Backward","Back0":"Run Backward","Root":"Idle","Root2":"Run Backward","Root3":"Idle","Idlepda":"Idle (PDA)","PDA":"Idle (PDA)","Root1":"Idle (PDA)","Jump":"Jump","Jump0":"Jump (Alternate)","Jump1":"Jump (Alternate)","Jump2":"Jump (Alternate)","Jump3":"Jump (Alternate)","Jet":"Jet","Fall":"Fall","Land":"Land","Land1":"Land (Alternate)","ski":"Ski","Side":"Strafe Left","Celwave":"Wave","Celbow":"Bow","Celdisco":"Dance","Celdance":"Dance","Celflex":"Flex","Celflex1":"Flex","Celrocky":"Awesome","Celjump":"Awesome","Celsalute":"Salute","celTaunt":"Too Bad","CelebrationGora":"Wave Arms","Celgora":"Wave Arms","CelebrationJump":"Bull Charge","Tauntbull":"Bull Charge","CelebrationJump0":"Celebrate","CelebrationJump4":"The Greatest","CelebrationRoar":"Roar","Celroar":"Roar","Celraor":"Roar","Celflex2":"Flex","celyeah":"Yeah","celtaunt":"Too Bad","Tauntbutt":"Butt","Tauntkiss":"Blow Kiss","Tauntbest":"The Greatest","Taunimp":"Move!","Tauntimp":"Move!","Sitting":"Sit","Scoutroot":"Gravcycle","Recoilde":"Recoil","Light_recoil":"Recoil","Dieforward":"Death (Fall Forward)","DeathForward":"Death (Fall Forward)","Dieslump":"Death (Slump)","DeathSlump":"Death (Slump)","Diespin":"Death (Spin)","DeathSpin":"Death (Spin)","diechest":"Death (Hold Chest)","Diechest":"Death (Hold Chest)","DeathChest":"Death (Hold Chest)","Dieback":"Death (Hold Back)","DeathBack":"Death (Hold Back)","Diehead":"Death (Hold Head)","DeathHead":"Death (Hold Head)","Dieknees":"Death (On Knees)","DeathKnees":"Death (On Knees)","Dieleglf":"Death (Left Leg Injury)","Dieleglft":"Death (Left Leg Injury)","DeathLegLeft":"Death (Left Leg Injury)","Dielegrt":"Death (Right Leg Injury)","Dielegtrt":"Death (Right Leg Injury)","DeathLegRight":"Death (Right Leg Injury)","Dielegrt0":"Death (Right Leg Injury)","Diesidelf":"Death (Left Side)","DeathSideLeft":"Death (Left Side)","Diesidert":"Death (Right Side)","DeathSideRight":"Death (Right Side)","Diesidert0":"Death (Right Side Alternate)"},"cameraOverrides":{"chaingun":{"target":"0m 0m 0m","fov":"12deg"},"plasmathrower":{"target":"0.002m -0.001m 0m","fov":"12deg"},"energy":{"fov":"31deg","orbit":"135deg 70deg 105%"},"hmale":{"fov":"24deg"},"hfemale":{"fov":"24deg"},"hbioderm":{"fov":"24deg"},"vehicle_grav_scout":{"orbit":"290deg 60deg 130%"},"vehicle_grav_tank":{"orbit":"290deg 60deg 130%"},"turret_assaulttank_mortar":{"orbit":"290deg 60deg 130%"},"vehicle_land_mpbbase":{"orbit":"290deg 60deg 130%"},"vehicle_air_scout":{"orbit":"290deg 60deg 130%"},"vehicle_air_bomber":{"orbit":"290deg 60deg 130%"},"vehicle_air_hapc":{"orbit":"290deg 60deg 130%"}},"animationLabelOverrides":{"mmale":{"Back":"Strafe Left"},"mfemale":{"Dielegrt":"Death (Slump)"},"lbioderm":{"Root":"Gravcycle"}},"materials":{"lmale":[{"name":"base","label":"Warrior","fileSuffix":".lmale"}],"mmale":[{"name":"base","label":"Warrior","fileSuffix":".mmale"}],"hmale":[{"name":"base","label":"Warrior","fileSuffix":".hmale"}],"lfemale":[{"name":"base","label":"Warrior","fileSuffix":".lfemale"}],"mfemale":[{"name":"base","label":"Warrior","fileSuffix":".mfemale"}],"lbioderm":[{"name":"base","label":"Warrior","fileSuffix":".lbioderm"}],"mbioderm":[{"name":"base","label":"Warrior","fileSuffix":".mbioderm"}],"hbioderm":[{"name":"base","label":"Warrior","fileSuffix":".hbioderm"}],"disc":[{"name":"weapon_disc","label":"Weapon"},{"name":"dcase00","label":"Disc Case","size":[256,256],"baseColorFactor":[1,1,1,0.7],"emissiveFactor":[1,1,1],"emissiveTexture":true,"alphaMode":"BLEND","metallicFactor":0,"roughnessFactor":1,"frameCount":6,"frameTimings":[21,1,1,1,1,1],"optional":true}],"chaingun":[{"label":"Chaingun","name":"weapon_chaingun"}],"grenade_launcher":[{"label":"Grenade Launcher","name":"weapon_grenade_launcher"}],"sniper":[{"label":"Weapon","name":"weapon_sniper"},{"label":"Green Light","name":"greenlight","hasDefault":false,"optional":true},{"label":"Red Light","name":"lite_red","hasDefault":false,"optional":true}],"plasmathrower":[{"label":"Rear & Barrel","name":"weapon_plasma10","file":"weapon_plasma1"},{"label":"Top & Front","name":"weapon_plasma21","file":"weapon_plasma2"},{"name":"weapon_plasma1","file":"weapon_plasma1","selectable":false},{"name":"weapon_plasma2","file":"weapon_plasma2","selectable":false}],"energy":[{"label":"Weapon","name":"blinn1","file":"weapon_energy"}],"shocklance":[{"label":"Weapon","name":"weapon_shocklance","size":[512,256]},{"label":"Glow","name":"weapon_shocklance_glow_","file":"weapon_shocklance_glow ","emissiveFactor":[1,1,1],"alphaMode":"MASK","alphaCutoff":255,"emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,128],"optional":true}],"elf":[{"label":"Weapon","name":"weapon_elf","file":"weapon_elf"},{"label":"Glow","name":"weapon_elf0","file":"weapon_elf"}],"missile":[{"label":"Weapon","name":"weapon_missile"}],"mortar":[{"label":"Weapon","name":"weapon_mortar"}],"repair":[{"label":"Weapon","name":"weapon_repair"}],"targeting":[{"label":"Weapon","name":"weapon_targeting"}],"mine":[{"label":"Weapon","name":"mine","size":[512,512],"metallicFactor":0,"roughnessFactor":1}],"vehicle_air_scout":[{"label":"Vehicle","name":"vehicle_air_scout0","file":"vehicle_air_scout"},{"name":"Unassigned","hidden":true,"hasDefault":false},{"name":"vehicle_air_scout","hidden":true,"hasDefault":false},{"label":"Flare","name":"shrikeflare2","emissiveFactor":[0,0,0],"alphaMode":"BLEND","emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,256],"optional":true}],"vehicle_air_bomber":[{"label":"Cockpit & Thrusters","name":"vehicle_air_bomber10","file":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Rear","name":"vehicle_air_bomber2","size":[256,512]},{"label":"Wings","name":"vehicle_air_bomber31","file":"vehicle_air_bomber3"},{"name":"vehicle_air_bomber1","size":[256,512],"selectable":false},{"name":"vehicle_air_bomber3","selectable":false}],"vehicle_air_hapc":[{"label":"Cockpit","name":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Wings","name":"vehicle_air_hpc2"},{"label":"Seats","name":"vehicle_air_hpc1"},{"label":"Thrusters","name":"vehicle_air_hpc30","file":"vehicle_air_hpc3"},{"name":"vehicle_air_hpc3","selectable":false}],"vehicle_grav_scout":[{"label":"Vehicle","name":"Vehicle_grav_scout0","file":"Vehicle_grav_scout","size":[512,256]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Pipes","name":"Vehicle_grav_scout_pipes1","file":"Vehicle_grav_scout_pipes","metallicFactor":0,"roughnessFactor":1},{"name":"Vehicle_grav_scout","hidden":true,"hasDefault":false},{"label":"Side Thrusters","name":"Vehicle_grav_scout_pipes","file":"Vehicle_grav_scout_pipes","emissiveFactor":[1,1,1],"alphaMode":"OPAQUE","metallicFactor":0,"roughnessFactor":1,"emissiveTexture":true,"selectable":false},{"label":"Windshield","name":"Vehicle_grav_scout_windshield","file":"Vehicle_grav_scout_windshield","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true},{"label":"Windshield Inner","name":"Vehicle_grav_scout_windshieldInner","file":"Vehicle_grav_scout_windshieldInner","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true}],"vehicle_grav_tank":[{"label":"Center","name":"Vehicle_grav_tank_bodyMain","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Sides","name":"vehicle_grav_tank_bodyside10","file":"vehicle_grav_tank_bodyside1","size":[256,512]},{"label":"Thrusters","name":"vehicle_grav_tank_bodyside21","file":"vehicle_grav_tank_bodyside2"},{"name":"vehicle_grav_tank_bodyside2","selectable":false},{"name":"vehicle_grav_tank_bodyside1","selectable":false}],"turret_assaulttank_mortar":[{"label":"Turret","name":"turret_assaulttank_mortar","file":"turret_assaultTank"}],"vehicle_land_mpbbase":[{"label":"Vehicle Front","name":"vehicle_land_mpb1"},{"label":"Vehicle Back","name":"vehicle_land_mpb2"},{"label":"Wheels","name":"Vehicle_Land_Assault_wheel","file":"Vehicle_Land_Assault_Wheel","size":[512,256],"optional":true}]},"animations":{"global":["Forward","Back","Jump","Jet","Fall","Land","ski","Root"],"lmale":["Idlepda","Side","Jump0","Land1","Recoilde","Celwave","Celdisco","Celflex","Celrocky","Celsalute","celTaunt","Taunimp","Tauntbest","Dieback","diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mmale":["Back0","Jump3","Recoilde","Celwave","Celdance","Celflex","Celrocky","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Diespin","Sitting"],"hmale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celdance","Celflex","Celjump","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dielegrt","Diesidelf","Diesidert","Diesidert0","Dieslump","Diespin"],"lfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdance","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdisco","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Dielegrt0","Diesidelf","Diesidert","Diespin","Sitting"],"lbioderm":["Root3","PDA","Jump2","Side","Light_recoil","CelebrationGora","CelebrationJump","CelebrationJump0","CelebrationJump4","CelebrationRoar","Salute","Celflex2","celyeah","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin","Sitting"],"mbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex1","Celgora","Celjump","Celroar","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathHead","DeathSideLeft","DeathSpin","Dieforward","Dieknees","Dieleglft","Dielegtrt","Diesidert","Dieslump","Sitting"],"hbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex2","Celgora","Celjump","Celraor","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin"]}}'))},67034,(e,t,r)=>{!function(){var e={675:function(e,t){"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return(r+n)*3/4-n},t.toByteArray=function(e){var t,r,a=s(e),o=a[0],l=a[1],f=new i((o+l)*3/4-l),u=0,h=l>0?o-4:o;for(r=0;r>16&255,f[u++]=t>>8&255,f[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,f[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,f[u++]=t>>8&255,f[u++]=255&t),f},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=0,l=n-i;o>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}(e,o,o+16383>l?l:o+16383));return 1===i?a.push(r[(t=e[n-1])>>2]+r[t<<4&63]+"=="):2===i&&a.push(r[(t=(e[n-2]<<8)+e[n-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}n[45]=62,n[95]=63},72:function(e,t,r){"use strict";var n=r(675),i=r(783),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(e){if(e>0x7fffffff)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return u(e)}return s(e,t,r)}function s(e,t,r){if("string"==typeof e){var n=e,i=t;if(("string"!=typeof i||""===i)&&(i="utf8"),!l.isEncoding(i))throw TypeError("Unknown encoding: "+i);var a=0|p(n,i),s=o(a),f=s.write(n,i);return f!==a&&(s=s.slice(0,f)),s}if(ArrayBuffer.isView(e))return h(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(k(e,ArrayBuffer)||e&&k(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(k(e,SharedArrayBuffer)||e&&k(e.buffer,SharedArrayBuffer)))return function(e,t,r){var n;if(t<0||e.byteLength=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||k(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return E(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return A(e).length;default:if(i)return n?-1:E(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,r){var i,a,o,l=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(a=r*=1)!=a&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length)if(i)return -1;else r=e.length-1;else if(r<0)if(!i)return -1;else r=0;if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:b(e,t,r,n,i);if("number"==typeof t){if(t&=255,"function"==typeof Uint8Array.prototype.indexOf)if(i)return Uint8Array.prototype.indexOf.call(e,t,r);else return Uint8Array.prototype.lastIndexOf.call(e,t,r);return b(e,[t],r,n,i)}throw TypeError("val must be string, number or Buffer")}function b(e,t,r,n,i){var a,o=1,l=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return -1;o=2,l/=2,s/=2,r/=2}function f(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;al&&(r=l-s),a=r;a>=0;a--){for(var h=!0,c=0;cr&&(e+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(e,t,r,n,i){if(k(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,o=r-t,s=Math.min(a,o),f=this.slice(n,i),u=e.slice(t,r),h=0;h239?4:f>223?3:f>191?2:1;if(i+h<=r)switch(h){case 1:f<128&&(u=f);break;case 2:(192&(a=e[i+1]))==128&&(s=(31&f)<<6|63&a)>127&&(u=s);break;case 3:a=e[i+1],o=e[i+2],(192&a)==128&&(192&o)==128&&(s=(15&f)<<12|(63&a)<<6|63&o)>2047&&(s<55296||s>57343)&&(u=s);break;case 4:a=e[i+1],o=e[i+2],l=e[i+3],(192&a)==128&&(192&o)==128&&(192&l)==128&&(s=(15&f)<<18|(63&a)<<12|(63&o)<<6|63&l)>65535&&s<1114112&&(u=s)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}var c=n,p=c.length;if(p<=4096)return String.fromCharCode.apply(String,c);for(var d="",g=0;gr)throw RangeError("Trying to access beyond buffer length")}function w(e,t,r,n,i,a){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw RangeError("Index out of range")}function _(e,t,r,n,i,a){if(r+n>e.length||r<0)throw RangeError("Index out of range")}function D(e,t,r,n,a){return t*=1,r>>>=0,a||_(e,t,r,4,34028234663852886e22,-34028234663852886e22),i.write(e,t,r,n,23,4),r+4}function S(e,t,r,n,a){return t*=1,r>>>=0,a||_(e,t,r,8,17976931348623157e292,-17976931348623157e292),i.write(e,t,r,n,52,8),r+8}l.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i,a,o,l,s,f,u,h,c=this.length-t;if((void 0===r||r>c)&&(r=c),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var p=!1;;)switch(n){case"hex":return function(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;n>a/2&&(n=a/2);for(var o=0;o>8,i.push(r%256),i.push(n);return i}(e,this.length-u),this,u,h);default:if(p)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||v(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||v(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUInt8=function(e,t){return e>>>=0,t||v(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return(e>>>=0,t||v(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt16BE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||v(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||v(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||v(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||v(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){if(e*=1,t>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;w(this,e,t,r,i,0)}var a=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;w(this,e,t,r,i,0)}var a=r-1,o=1;for(this[t+a]=255&e;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUInt16BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUInt32LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0xffffffff,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUInt32BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0xffffffff,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e*=1,t>>>=0,!n){var i=Math.pow(2,8*r-1);w(this,e,t,r,i-1,-i)}var a=0,o=1,l=0;for(this[t]=255&e;++a>>=0,!n){var i=Math.pow(2,8*r-1);w(this,e,t,r,i-1,-i)}var a=r-1,o=1,l=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===l&&0!==this[t+a+1]&&(l=1),this[t+a]=(e/o|0)-l&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0x7fffffff,-0x80000000),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return S(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return S(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(!l.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--a)e[a+t]=this[a+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return i},l.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!l.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===e.length){var i,a=e.charCodeAt(0);("utf8"===n&&a<128||"latin1"===n)&&(e=a)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!i){if(r>56319||o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function C(e){for(var t=[],r=0;r=t.length)&&!(i>=e.length);++i)t[i+r]=e[i];return i}function k(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var L=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()},783:function(e,t){t.read=function(e,t,r,n,i){var a,o,l=8*i-n-1,s=(1<>1,u=-7,h=r?i-1:0,c=r?-1:1,p=e[t+h];for(h+=c,a=p&(1<<-u)-1,p>>=-u,u+=l;u>0;a=256*a+e[t+h],h+=c,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=c,u-=8);if(0===a)a=1-f;else{if(a===s)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=f}return(p?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,l,s,f=8*a-i-1,u=(1<>1,c=5960464477539062e-23*(23===i),p=n?0:a-1,d=n?1:-1,g=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(l=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-o))<1&&(o--,s*=2),o+h>=1?t+=c/s:t+=c*Math.pow(2,1-h),t*s>=2&&(o++,s/=2),o+h>=u?(l=0,o=u):o+h>=1?(l=(t*s-1)*Math.pow(2,i),o+=h):(l=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&l,p+=d,l/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,f-=8);e[r+p-d]|=128*g}}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={exports:{}},o=!0;try{e[t](a,a.exports,n),o=!1}finally{o&&delete r[t]}return a.exports}n.ab="/ROOT/node_modules/next/dist/compiled/buffer/",t.exports=n(72)}()},78631,(e,t,r)=>{!function(t,r){if("function"==typeof define&&define.amd){let t;void 0!==(t=r())&&e.v(t)}else r()}(e.e,function(){"use strict";function r(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){l(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:e.g.global===e.g?e.g:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!o?function(e,t,o){var l=a.URL||a.webkitURL,s=document.createElement("a");s.download=t=t||e.name||"download",s.rel="noopener","string"==typeof e?(s.href=e,s.origin===location.origin?i(s):n(s.href)?r(e,t,o):i(s,s.target="_blank")):(s.href=l.createObjectURL(e),setTimeout(function(){l.revokeObjectURL(s.href)},4e4),setTimeout(function(){i(s)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,a){if(t=t||e.name||"download","string"!=typeof e){var o;navigator.msSaveOrOpenBlob((void 0===(o=a)?o={autoBom:!1}:"object"!=typeof o&&(console.warn("Deprecated: Expected third argument to be a object"),o={autoBom:!o}),o.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),t)}else if(n(e))r(e,t,a);else{var l=document.createElement("a");l.href=e,l.target="_blank",setTimeout(function(){i(l)})}}:function(e,t,n,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return r(e,t,n);var l="application/octet-stream"===e.type,s=/constructor/i.test(a.HTMLElement)||a.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent);if((f||l&&s||o)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=f?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var h=a.URL||a.webkitURL,c=h.createObjectURL(e);i?i.location=c:location.href=c,i=null,setTimeout(function(){h.revokeObjectURL(c)},4e4)}});a.saveAs=l.saveAs=l,t.exports=l})},69642,e=>{"use strict";e.s(["collectFiles",()=>o,"createZipFile",()=>n,"savePngFile",()=>a,"saveZipFile",()=>i]);var t=e.i(71315),r=e.i(78631);function n(e){let r=new t.default;for(let t of e)r.file("textures/skins/".concat(t.name),t.data);return r}async function i(e,t){let n=await e.generateAsync({type:"blob"});(0,r.saveAs)(n,t)}function a(e,t){(0,r.saveAs)(e,t)}async function o(e){let{skipNotFound:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(await Promise.all(e.map(async e=>{let r="".concat("https://exogen.github.io/t2-skins/skins","/").concat(e),n=await fetch(r);if(!n.ok){if(t&&404===n.status)return null;throw Error("Response failed: ".concat(n.status," ").concat(n.statusText))}return{name:e,data:await n.arrayBuffer()}}))).filter(e=>null!=e)}}]); \ No newline at end of file +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},29947,e=>{e.v(JSON.parse('{"defaultSkins":{"lmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hmale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"lfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"mfemale":["Blood Eagle","Children of the Phoenix","Diamond Sword","Inferno","Starwolf","Storm"],"hfemale":[],"lbioderm":["Horde","Inferno","Storm"],"mbioderm":["Horde","Inferno","Storm"],"hbioderm":["Horde","Inferno","Storm"]},"modelDefaults":{"lmale":"Blood Eagle","mmale":"Blood Eagle","hmale":"Blood Eagle","lfemale":"Blood Eagle","mfemale":"Blood Eagle","hfemale":"Blood Eagle","lbioderm":"Storm","mbioderm":"Storm","hbioderm":"Storm","chaingun":"weapon_chaingun","disc":"weapon_disc","elf":"weapon_elf","energy":"weapon_energy","grenade_launcher":"weapon_grenade_launcher","mine":"mine","missile":"weapon_missile","mortar":"weapon_mortar","plasmathrower":"weapon_plasmathrower","repair":"weapon_repair","shocklance":"weapon_shocklance","sniper":"weapon_sniper","targeting":"weapon_targeting","vehicle_land_mpbbase":"vehicle_land_mpbbase","vehicle_grav_scout":"vehicle_grav_scout","vehicle_grav_tank":"vehicle_grav_tank","turret_assaulttank_mortar":"turret_assaulttank_mortar","vehicle_air_scout":"vehicle_air_scout","vehicle_air_bomber":"vehicle_air_bomber","vehicle_air_hapc":"vehicle_air_hapc"},"animationLabels":{"Forward":"Run Forward","Back":"Run Backward","Back0":"Run Backward","Root":"Idle","Root2":"Run Backward","Root3":"Idle","Idlepda":"Idle (PDA)","PDA":"Idle (PDA)","Root1":"Idle (PDA)","Jump":"Jump","Jump0":"Jump (Alternate)","Jump1":"Jump (Alternate)","Jump2":"Jump (Alternate)","Jump3":"Jump (Alternate)","Jet":"Jet","Fall":"Fall","Land":"Land","Land1":"Land (Alternate)","ski":"Ski","Side":"Strafe Left","Celwave":"Wave","Celbow":"Bow","Celdisco":"Dance","Celdance":"Dance","Celflex":"Flex","Celflex1":"Flex","Celrocky":"Awesome","Celjump":"Awesome","Celsalute":"Salute","celTaunt":"Too Bad","CelebrationGora":"Wave Arms","Celgora":"Wave Arms","CelebrationJump":"Bull Charge","Tauntbull":"Bull Charge","CelebrationJump0":"Celebrate","CelebrationJump4":"The Greatest","CelebrationRoar":"Roar","Celroar":"Roar","Celraor":"Roar","Celflex2":"Flex","celyeah":"Yeah","celtaunt":"Too Bad","Tauntbutt":"Butt","Tauntkiss":"Blow Kiss","Tauntbest":"The Greatest","Taunimp":"Move!","Tauntimp":"Move!","Sitting":"Sit","Scoutroot":"Gravcycle","Recoilde":"Recoil","Light_recoil":"Recoil","Dieforward":"Death (Fall Forward)","DeathForward":"Death (Fall Forward)","Dieslump":"Death (Slump)","DeathSlump":"Death (Slump)","Diespin":"Death (Spin)","DeathSpin":"Death (Spin)","diechest":"Death (Hold Chest)","Diechest":"Death (Hold Chest)","DeathChest":"Death (Hold Chest)","Dieback":"Death (Hold Back)","DeathBack":"Death (Hold Back)","Diehead":"Death (Hold Head)","DeathHead":"Death (Hold Head)","Dieknees":"Death (On Knees)","DeathKnees":"Death (On Knees)","Dieleglf":"Death (Left Leg Injury)","Dieleglft":"Death (Left Leg Injury)","DeathLegLeft":"Death (Left Leg Injury)","Dielegrt":"Death (Right Leg Injury)","Dielegtrt":"Death (Right Leg Injury)","DeathLegRight":"Death (Right Leg Injury)","Dielegrt0":"Death (Right Leg Injury)","Diesidelf":"Death (Left Side)","DeathSideLeft":"Death (Left Side)","Diesidert":"Death (Right Side)","DeathSideRight":"Death (Right Side)","Diesidert0":"Death (Right Side Alternate)"},"cameraOverrides":{"chaingun":{"target":"0m 0m 0m","fov":"12deg"},"plasmathrower":{"target":"0.002m -0.001m 0m","fov":"12deg"},"energy":{"fov":"31deg","orbit":"135deg 70deg 105%"},"hmale":{"fov":"24deg"},"hfemale":{"fov":"24deg"},"hbioderm":{"fov":"24deg"},"vehicle_grav_scout":{"orbit":"290deg 60deg 130%"},"vehicle_grav_tank":{"orbit":"290deg 60deg 130%"},"turret_assaulttank_mortar":{"orbit":"290deg 60deg 130%"},"vehicle_land_mpbbase":{"orbit":"290deg 60deg 130%"},"vehicle_air_scout":{"orbit":"290deg 60deg 130%"},"vehicle_air_bomber":{"orbit":"290deg 60deg 130%"},"vehicle_air_hapc":{"orbit":"290deg 60deg 130%"}},"animationLabelOverrides":{"mmale":{"Back":"Strafe Left"},"mfemale":{"Dielegrt":"Death (Slump)"},"lbioderm":{"Root":"Gravcycle"}},"materials":{"lmale":[{"name":"base","label":"Warrior","fileSuffix":".lmale"}],"mmale":[{"name":"base","label":"Warrior","fileSuffix":".mmale"}],"hmale":[{"name":"base","label":"Warrior","fileSuffix":".hmale"}],"lfemale":[{"name":"base","label":"Warrior","fileSuffix":".lfemale"}],"mfemale":[{"name":"base","label":"Warrior","fileSuffix":".mfemale"}],"lbioderm":[{"name":"base","label":"Warrior","fileSuffix":".lbioderm"}],"mbioderm":[{"name":"base","label":"Warrior","fileSuffix":".mbioderm"}],"hbioderm":[{"name":"base","label":"Warrior","fileSuffix":".hbioderm"}],"disc":[{"name":"weapon_disc","label":"Weapon"},{"name":"dcase00","label":"Disc Case","size":[256,256],"baseColorFactor":[1,1,1,0.7],"emissiveFactor":[1,1,1],"emissiveTexture":true,"alphaMode":"BLEND","metallicFactor":0,"roughnessFactor":1,"frameCount":6,"frameTimings":[21,1,1,1,1,1],"optional":true}],"chaingun":[{"label":"Chaingun","name":"weapon_chaingun"}],"grenade_launcher":[{"label":"Grenade Launcher","name":"weapon_grenade_launcher"}],"sniper":[{"label":"Weapon","name":"weapon_sniper"},{"label":"Green Light","name":"greenlight","hasDefault":false,"optional":true},{"label":"Red Light","name":"lite_red","hasDefault":false,"optional":true}],"plasmathrower":[{"label":"Rear & Barrel","name":"weapon_plasma10","file":"weapon_plasma1"},{"label":"Top & Front","name":"weapon_plasma21","file":"weapon_plasma2"},{"name":"weapon_plasma1","file":"weapon_plasma1","selectable":false},{"name":"weapon_plasma2","file":"weapon_plasma2","selectable":false}],"energy":[{"label":"Weapon","name":"blinn1","file":"weapon_energy"}],"shocklance":[{"label":"Weapon","name":"weapon_shocklance","size":[512,256]},{"label":"Glow","name":"weapon_shocklance_glow_","file":"weapon_shocklance_glow ","emissiveFactor":[1,1,1],"alphaMode":"MASK","alphaCutoff":255,"emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,128],"optional":true}],"elf":[{"label":"Weapon","name":"weapon_elf","file":"weapon_elf"},{"label":"Glow","name":"weapon_elf0","file":"weapon_elf"}],"missile":[{"label":"Weapon","name":"weapon_missile"}],"mortar":[{"label":"Weapon","name":"weapon_mortar"}],"repair":[{"label":"Weapon","name":"weapon_repair"}],"targeting":[{"label":"Weapon","name":"weapon_targeting"}],"mine":[{"label":"Weapon","name":"mine","size":[512,512],"metallicFactor":0,"roughnessFactor":1}],"vehicle_air_scout":[{"label":"Vehicle","name":"vehicle_air_scout0","file":"vehicle_air_scout"},{"name":"Unassigned","hidden":true,"hasDefault":false},{"name":"vehicle_air_scout","hidden":true,"hasDefault":false},{"label":"Flare","name":"shrikeflare2","emissiveFactor":[0,0,0],"alphaMode":"BLEND","emissiveTexture":true,"metallicFactor":0,"roughnessFactor":1,"size":[256,256],"optional":true}],"vehicle_air_bomber":[{"label":"Cockpit & Thrusters","name":"vehicle_air_bomber10","file":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Rear","name":"vehicle_air_bomber2","size":[256,512]},{"label":"Wings","name":"vehicle_air_bomber31","file":"vehicle_air_bomber3"},{"name":"vehicle_air_bomber1","size":[256,512],"selectable":false},{"name":"vehicle_air_bomber3","selectable":false}],"vehicle_air_hapc":[{"label":"Cockpit","name":"vehicle_air_bomber1","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Wings","name":"vehicle_air_hpc2"},{"label":"Seats","name":"vehicle_air_hpc1"},{"label":"Thrusters","name":"vehicle_air_hpc30","file":"vehicle_air_hpc3"},{"name":"vehicle_air_hpc3","selectable":false}],"vehicle_grav_scout":[{"label":"Vehicle","name":"Vehicle_grav_scout0","file":"Vehicle_grav_scout","size":[512,256]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Pipes","name":"Vehicle_grav_scout_pipes1","file":"Vehicle_grav_scout_pipes","metallicFactor":0,"roughnessFactor":1},{"name":"Vehicle_grav_scout","hidden":true,"hasDefault":false},{"label":"Side Thrusters","name":"Vehicle_grav_scout_pipes","file":"Vehicle_grav_scout_pipes","emissiveFactor":[1,1,1],"alphaMode":"OPAQUE","metallicFactor":0,"roughnessFactor":1,"emissiveTexture":true,"selectable":false},{"label":"Windshield","name":"Vehicle_grav_scout_windshield","file":"Vehicle_grav_scout_windshield","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true},{"label":"Windshield Inner","name":"Vehicle_grav_scout_windshieldInner","file":"Vehicle_grav_scout_windshieldInner","selectable":false,"alphaMode":"BLEND","baseColorFactor":[1,1,1,0.5],"metallicFactor":0,"roughnessFactor":1,"size":[128,128],"optional":true}],"vehicle_grav_tank":[{"label":"Center","name":"Vehicle_grav_tank_bodyMain","size":[256,512]},{"name":"Unassigned","hidden":true,"hasDefault":false},{"label":"Sides","name":"vehicle_grav_tank_bodyside10","file":"vehicle_grav_tank_bodyside1","size":[256,512]},{"label":"Thrusters","name":"vehicle_grav_tank_bodyside21","file":"vehicle_grav_tank_bodyside2"},{"name":"vehicle_grav_tank_bodyside2","selectable":false},{"name":"vehicle_grav_tank_bodyside1","selectable":false}],"turret_assaulttank_mortar":[{"label":"Turret","name":"turret_assaulttank_mortar","file":"turret_assaultTank"}],"vehicle_land_mpbbase":[{"label":"Vehicle Front","name":"vehicle_land_mpb1"},{"label":"Vehicle Back","name":"vehicle_land_mpb2"},{"label":"Wheels","name":"Vehicle_Land_Assault_wheel","file":"Vehicle_Land_Assault_Wheel","size":[512,256],"optional":true}]},"animations":{"global":["Forward","Back","Jump","Jet","Fall","Land","ski","Root"],"lmale":["Idlepda","Side","Jump0","Land1","Recoilde","Celwave","Celdisco","Celflex","Celrocky","Celsalute","celTaunt","Taunimp","Tauntbest","Dieback","diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mmale":["Back0","Jump3","Recoilde","Celwave","Celdance","Celflex","Celrocky","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Diespin","Sitting"],"hmale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celdance","Celflex","Celjump","Celsalute","celtaunt","Tauntbest","Tauntimp","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dielegrt","Diesidelf","Diesidert","Diesidert0","Dieslump","Diespin"],"lfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdance","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Diesidelf","Diesidert","Dieslump","Diespin","Scoutroot","Sitting"],"mfemale":["Idlepda","Jump1","Side","Recoilde","Celwave","Celbow","Celdisco","Celsalute","Tauntbest","Tauntbutt","Tauntimp","Tauntkiss","Dieback","Diechest","Dieforward","Diehead","Dieknees","Dieleglf","Dielegrt","Dielegrt0","Diesidelf","Diesidert","Diespin","Sitting"],"lbioderm":["Root3","PDA","Jump2","Side","Light_recoil","CelebrationGora","CelebrationJump","CelebrationJump0","CelebrationJump4","CelebrationRoar","Salute","Celflex2","celyeah","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin","Sitting"],"mbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex1","Celgora","Celjump","Celroar","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathHead","DeathSideLeft","DeathSpin","Dieforward","Dieknees","Dieleglft","Dielegtrt","Diesidert","Dieslump","Sitting"],"hbioderm":["Root1","Jump2","Side","Recoilde","Salute","Celflex2","Celgora","Celjump","Celraor","celyeah","Tauntbest","Tauntbull","DeathBack","DeathChest","DeathForward","DeathHead","DeathKnees","DeathLegLeft","DeathLegRight","DeathSideLeft","DeathSideRight","DeathSlump","DeathSpin"]}}'))},67034,(e,t,r)=>{!function(){var e={675:function(e,t){"use strict";t.byteLength=function(e){var t=s(e),r=t[0],n=t[1];return(r+n)*3/4-n},t.toByteArray=function(e){var t,r,a=s(e),o=a[0],l=a[1],f=new i((o+l)*3/4-l),u=0,h=l>0?o-4:o;for(r=0;r>16&255,f[u++]=t>>8&255,f[u++]=255&t;return 2===l&&(t=n[e.charCodeAt(r)]<<2|n[e.charCodeAt(r+1)]>>4,f[u++]=255&t),1===l&&(t=n[e.charCodeAt(r)]<<10|n[e.charCodeAt(r+1)]<<4|n[e.charCodeAt(r+2)]>>2,f[u++]=t>>8&255,f[u++]=255&t),f},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,a=[],o=0,l=n-i;o>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return a.join("")}(e,o,o+16383>l?l:o+16383));return 1===i?a.push(r[(t=e[n-1])>>2]+r[t<<4&63]+"=="):2===i&&a.push(r[(t=(e[n-2]<<8)+e[n-1])>>10]+r[t>>4&63]+r[t<<2&63]+"="),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,l=a.length;o0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}n[45]=62,n[95]=63},72:function(e,t,r){"use strict";var n=r(675),i=r(783),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function o(e){if(e>0x7fffffff)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,l.prototype),t}function l(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return u(e)}return s(e,t,r)}function s(e,t,r){if("string"==typeof e){var n=e,i=t;if(("string"!=typeof i||""===i)&&(i="utf8"),!l.isEncoding(i))throw TypeError("Unknown encoding: "+i);var a=0|p(n,i),s=o(a),f=s.write(n,i);return f!==a&&(s=s.slice(0,f)),s}if(ArrayBuffer.isView(e))return h(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(k(e,ArrayBuffer)||e&&k(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(k(e,SharedArrayBuffer)||e&&k(e.buffer,SharedArrayBuffer)))return function(e,t,r){var n;if(t<0||e.byteLength=0x7fffffff)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||k(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return E(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return A(e).length;default:if(i)return n?-1:E(e).length;t=(""+t).toLowerCase(),i=!0}}function d(e,t,r){var i,a,o,l=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a0x7fffffff?r=0x7fffffff:r<-0x80000000&&(r=-0x80000000),(a=r*=1)!=a&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length)if(i)return -1;else r=e.length-1;else if(r<0)if(!i)return -1;else r=0;if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:b(e,t,r,n,i);if("number"==typeof t){if(t&=255,"function"==typeof Uint8Array.prototype.indexOf)if(i)return Uint8Array.prototype.indexOf.call(e,t,r);else return Uint8Array.prototype.lastIndexOf.call(e,t,r);return b(e,[t],r,n,i)}throw TypeError("val must be string, number or Buffer")}function b(e,t,r,n,i){var a,o=1,l=e.length,s=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return -1;o=2,l/=2,s/=2,r/=2}function f(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=r;al&&(r=l-s),a=r;a>=0;a--){for(var h=!0,c=0;cr&&(e+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(e,t,r,n,i){if(k(e,Uint8Array)&&(e=l.from(e,e.offset,e.byteLength)),!l.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,o=r-t,s=Math.min(a,o),f=this.slice(n,i),u=e.slice(t,r),h=0;h239?4:f>223?3:f>191?2:1;if(i+h<=r)switch(h){case 1:f<128&&(u=f);break;case 2:(192&(a=e[i+1]))==128&&(s=(31&f)<<6|63&a)>127&&(u=s);break;case 3:a=e[i+1],o=e[i+2],(192&a)==128&&(192&o)==128&&(s=(15&f)<<12|(63&a)<<6|63&o)>2047&&(s<55296||s>57343)&&(u=s);break;case 4:a=e[i+1],o=e[i+2],l=e[i+3],(192&a)==128&&(192&o)==128&&(192&l)==128&&(s=(15&f)<<18|(63&a)<<12|(63&o)<<6|63&l)>65535&&s<1114112&&(u=s)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=h}var c=n,p=c.length;if(p<=4096)return String.fromCharCode.apply(String,c);for(var d="",g=0;gr)throw RangeError("Trying to access beyond buffer length")}function w(e,t,r,n,i,a){if(!l.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw RangeError("Index out of range")}function _(e,t,r,n,i,a){if(r+n>e.length||r<0)throw RangeError("Index out of range")}function D(e,t,r,n,a){return t*=1,r>>>=0,a||_(e,t,r,4,34028234663852886e22,-34028234663852886e22),i.write(e,t,r,n,23,4),r+4}function S(e,t,r,n,a){return t*=1,r>>>=0,a||_(e,t,r,8,17976931348623157e292,-17976931348623157e292),i.write(e,t,r,n,52,8),r+8}l.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"==typeof t)n=t,r=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i,a,o,l,s,f,u,h,c=this.length-t;if((void 0===r||r>c)&&(r=c),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var p=!1;;)switch(n){case"hex":return function(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;n>a/2&&(n=a/2);for(var o=0;o>8,i.push(r%256),i.push(n);return i}(e,this.length-u),this,u,h);default:if(p)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},l.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||v(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||v(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUInt8=function(e,t){return e>>>=0,t||v(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return e>>>=0,t||v(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+0x1000000*this[e+3]},l.prototype.readUInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),0x1000000*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||v(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return(e>>>=0,t||v(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},l.prototype.readInt16LE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt16BE=function(e,t){e>>>=0,t||v(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?0xffff0000|r:r},l.prototype.readInt32LE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return e>>>=0,t||v(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return e>>>=0,t||v(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return e>>>=0,t||v(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return e>>>=0,t||v(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return e>>>=0,t||v(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){if(e*=1,t>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;w(this,e,t,r,i,0)}var a=1,o=0;for(this[t]=255&e;++o>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;w(this,e,t,r,i,0)}var a=r-1,o=1;for(this[t+a]=255&e;--a>=0&&(o*=256);)this[t+a]=e/o&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,1,255,0),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeUInt16BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeUInt32LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0xffffffff,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},l.prototype.writeUInt32BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0xffffffff,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e*=1,t>>>=0,!n){var i=Math.pow(2,8*r-1);w(this,e,t,r,i-1,-i)}var a=0,o=1,l=0;for(this[t]=255&e;++a>>=0,!n){var i=Math.pow(2,8*r-1);w(this,e,t,r,i-1,-i)}var a=r-1,o=1,l=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===l&&0!==this[t+a+1]&&(l=1),this[t+a]=(e/o|0)-l&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},l.prototype.writeInt16BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},l.prototype.writeInt32LE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0x7fffffff,-0x80000000),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},l.prototype.writeInt32BE=function(e,t,r){return e*=1,t>>>=0,r||w(this,e,t,4,0x7fffffff,-0x80000000),e<0&&(e=0xffffffff+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},l.prototype.writeFloatLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return S(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return S(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(!l.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t=0;--a)e[a+t]=this[a+r];else Uint8Array.prototype.set.call(e,this.subarray(r,n),t);return i},l.prototype.fill=function(e,t,r,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw TypeError("encoding must be a string");if("string"==typeof n&&!l.isEncoding(n))throw TypeError("Unknown encoding: "+n);if(1===e.length){var i,a=e.charCodeAt(0);("utf8"===n&&a<128||"latin1"===n)&&(e=a)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(t<0||this.length>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!i){if(r>56319||o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function C(e){for(var t=[],r=0;r=t.length)&&!(i>=e.length);++i)t[i+r]=e[i];return i}function k(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var L=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()},783:function(e,t){t.read=function(e,t,r,n,i){var a,o,l=8*i-n-1,s=(1<>1,u=-7,h=r?i-1:0,c=r?-1:1,p=e[t+h];for(h+=c,a=p&(1<<-u)-1,p>>=-u,u+=l;u>0;a=256*a+e[t+h],h+=c,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+e[t+h],h+=c,u-=8);if(0===a)a=1-f;else{if(a===s)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=f}return(p?-1:1)*o*Math.pow(2,a-n)},t.write=function(e,t,r,n,i,a){var o,l,s,f=8*a-i-1,u=(1<>1,c=5960464477539062e-23*(23===i),p=n?0:a-1,d=n?1:-1,g=+(t<0||0===t&&1/t<0);for(isNaN(t=Math.abs(t))||t===1/0?(l=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-o))<1&&(o--,s*=2),o+h>=1?t+=c/s:t+=c*Math.pow(2,1-h),t*s>=2&&(o++,s/=2),o+h>=u?(l=0,o=u):o+h>=1?(l=(t*s-1)*Math.pow(2,i),o+=h):(l=t*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;e[r+p]=255&l,p+=d,l/=256,i-=8);for(o=o<0;e[r+p]=255&o,p+=d,o/=256,f-=8);e[r+p-d]|=128*g}}},r={};function n(t){var i=r[t];if(void 0!==i)return i.exports;var a=r[t]={exports:{}},o=!0;try{e[t](a,a.exports,n),o=!1}finally{o&&delete r[t]}return a.exports}n.ab="/ROOT/node_modules/next/dist/compiled/buffer/",t.exports=n(72)}()},78631,(e,t,r)=>{!function(t,r){if("function"==typeof define&&define.amd){let t;void 0!==(t=r())&&e.v(t)}else r()}(e.e,function(){"use strict";function r(e,t,r){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){l(n.response,t,r)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(r){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:e.g.global===e.g?e.g:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),l=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!o?function(e,t,o){var l=a.URL||a.webkitURL,s=document.createElement("a");s.download=t=t||e.name||"download",s.rel="noopener","string"==typeof e?(s.href=e,s.origin===location.origin?i(s):n(s.href)?r(e,t,o):i(s,s.target="_blank")):(s.href=l.createObjectURL(e),setTimeout(function(){l.revokeObjectURL(s.href)},4e4),setTimeout(function(){i(s)},0))}:"msSaveOrOpenBlob"in navigator?function(e,t,a){if(t=t||e.name||"download","string"!=typeof e){var o;navigator.msSaveOrOpenBlob((void 0===(o=a)?o={autoBom:!1}:"object"!=typeof o&&(console.warn("Deprecated: Expected third argument to be a object"),o={autoBom:!o}),o.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\uFEFF",e],{type:e.type}):e),t)}else if(n(e))r(e,t,a);else{var l=document.createElement("a");l.href=e,l.target="_blank",setTimeout(function(){i(l)})}}:function(e,t,n,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return r(e,t,n);var l="application/octet-stream"===e.type,s=/constructor/i.test(a.HTMLElement)||a.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent);if((f||l&&s||o)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=f?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var h=a.URL||a.webkitURL,c=h.createObjectURL(e);i?i.location=c:location.href=c,i=null,setTimeout(function(){h.revokeObjectURL(c)},4e4)}});a.saveAs=l.saveAs=l,t.exports=l})},69642,e=>{"use strict";e.s(["collectFiles",()=>o,"createZipFile",()=>n,"savePngFile",()=>a,"saveZipFile",()=>i]);var t=e.i(71315),r=e.i(78631);function n(e){let r=new t.default;for(let t of e)r.file("textures/skins/".concat(t.name),t.data);return r}async function i(e,t){let n=await e.generateAsync({type:"blob"});(0,r.saveAs)(n,t)}function a(e,t){(0,r.saveAs)(e,t)}async function o(e){let{skipNotFound:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(await Promise.all(e.map(async e=>{let r="".concat("https://exogen.github.io/t2-skins/skins","/").concat(e),n=await fetch(r);if(!n.ok){if(t&&404===n.status)return null;throw Error("Response failed: ".concat(n.status," ").concat(n.statusText))}let i=await n.arrayBuffer();return{name:e.replace(/@1x\.png$/,".png"),data:i}}))).filter(e=>null!=e)}}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/c45ca2566aefbdb7.css b/docs/_next/static/chunks/c45ca2566aefbdb7.css deleted file mode 100644 index a5765b0..0000000 --- a/docs/_next/static/chunks/c45ca2566aefbdb7.css +++ /dev/null @@ -1 +0,0 @@ -.gallery-module__zlwOTG__GalleryPage{flex-direction:column}.gallery-module__zlwOTG__Tools{text-align:center;z-index:2;background:rgba(0,0,0,.7);flex:none;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px;display:grid;position:-webkit-sticky;position:sticky;top:0}.gallery-module__zlwOTG__Tools select:focus{outline:none;box-shadow:0 0 1px 1px rgba(0,0,0,.5),0 0 2px 3px #98ffd4}.gallery-module__zlwOTG__HeaderEnd{justify-content:space-between;align-items:center;margin-left:10px;display:flex}.gallery-module__zlwOTG__DownloadSection{align-items:center;gap:8px;display:flex}.gallery-module__zlwOTG__PackVersion{color:rgba(127,180,166,.6);font-size:11px}.gallery-module__zlwOTG__DownloadButton{color:#f7ffdc;letter-spacing:-.03em;text-shadow:0 -1px rgba(25,39,34,.4);cursor:pointer;background:0 0,linear-gradient(#43a782,#0f5957);border:0;border-radius:4px;margin-left:3px;padding:4px 8px 5px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.gallery-module__zlwOTG__DownloadButton:active{transform:translateY(1px)}.gallery-module__zlwOTG__Back{color:#fff;justify-self:start;align-items:center;gap:4px;font-size:14px;text-decoration:none;display:inline-flex}.gallery-module__zlwOTG__IconLink{color:rgba(255,255,255,.3);place-content:center;justify-self:end;margin-left:auto;display:grid}.gallery-module__zlwOTG__IconLink:hover{color:#fff}.gallery-module__zlwOTG__Gallery{background:#0c1f28;flex:none;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));width:100%;display:grid}.gallery-module__zlwOTG__Skin{text-align:center;padding-bottom:32px;font-size:12px;position:relative;overflow:hidden}.gallery-module__zlwOTG__Preview{width:100%;height:auto;display:block}.gallery-module__zlwOTG__Detail{background:rgba(0,0,0,.2);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:5px 9px;display:flex;position:absolute;bottom:8px;left:6px;right:6px;box-shadow:inset 0 1px 10px rgba(0,0,0,.3)}.gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__DownloadSkin{color:#28d9b2;visibility:hidden;place-content:center;font-size:24px;display:grid}.gallery-module__zlwOTG__DownloadSkin{cursor:pointer;background:0 0;border:0;margin:0;padding:0;font-size:17px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__LoadInEditor,.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__DownloadSkin{visibility:visible}.gallery-module__zlwOTG__Name{white-space:nowrap;color:rgba(158,192,209,.9);border-radius:9999px;padding:3px 10px}.gallery-module__zlwOTG__Detail:hover .gallery-module__zlwOTG__Name{color:#fff}@keyframes gallery-module__zlwOTG__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-module__zlwOTG__Spinner{flex:none;margin:auto;font-size:64px;animation:2s linear infinite gallery-module__zlwOTG__spin}.gallery-module__zlwOTG__DownloadSpinner{flex:none;margin:auto;font-size:20px;animation:2s linear infinite gallery-module__zlwOTG__spin}@media (max-width:479px){.gallery-module__zlwOTG__Back .gallery-module__zlwOTG__Label,.gallery-module__zlwOTG__DownloadButton{display:none}}@media (max-width:719px){.gallery-module__zlwOTG__PackVersion{display:none}} diff --git a/docs/_next/static/chunks/e6e166ba82cc0d62.js b/docs/_next/static/chunks/d92306cd027784a6.js similarity index 96% rename from docs/_next/static/chunks/e6e166ba82cc0d62.js rename to docs/_next/static/chunks/d92306cd027784a6.js index c4833f9..43afb8a 100644 --- a/docs/_next/static/chunks/e6e166ba82cc0d62.js +++ b/docs/_next/static/chunks/d92306cd027784a6.js @@ -1 +1 @@ -(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),n=["attr","size","title"];function c(){return(c=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,c({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}(e,n),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>n,"FaArrowUp",()=>c,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaTrashAlt",()=>h,"FaUnlock",()=>m]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>c]);var a=e.i(71315);let r=e.i(20592).default.materials,n=/^(\.|__MACOSX)/,c={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!n.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(n.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let n=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let n;if(a.fileSuffix?n=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(n=a.file||a.name),n){var c;let l=null!=(c=e.get(n))?c:[];l.push({modelName:t,material:a,index:r}),e.set(n,l)}});return e}());let n=e.split("/").slice(-1)[0],c=n.match(/^(.+)\.(PNG|png)$/);if(c){let r=c[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],n=a[2],c=parseInt(n,10),l="".concat(e).concat("0".padStart(n.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:c}))}return[]}(l[0]);if(i.length)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,c,l,i,o;let s=null!=(r=n.get(t.modelName))?r:new Map,u=null!=(c=s.get(a.skinName))?c:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),n.set(t.modelName,s)})}),n.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),n}},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let n=e!==a;return[e,n]}},18566,(e,t,a)=>{t.exports=e.r(76562)}]); \ No newline at end of file +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,40141,e=>{"use strict";e.s(["GenIcon",()=>o],40141);var t=e.i(71645),a={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},r=t.default.createContext&&t.default.createContext(a),n=["attr","size","title"];function c(){return(c=Object.assign.bind()).apply(this,arguments)}function l(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function i(e){for(var t=1;tt.default.createElement(s,c({attr:i({},e.attr)},a),function e(a){return a&&a.map((a,r)=>t.default.createElement(a.tag,i({key:r},a.attr),e(a.child)))}(e.child))}function s(e){var l=a=>{var r,{attr:l,size:o,title:s}=e,u=function(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}(e,n),h=o||a.size||"1em";return a.className&&(r=a.className),e.className&&(r=(r?r+" ":"")+e.className),t.default.createElement("svg",c({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,l,u,{className:r,style:i(i({color:e.color||a.color},a.style),e.style),height:h,width:h,xmlns:"http://www.w3.org/2000/svg"}),s&&t.default.createElement("title",null,s),e.children)};return void 0!==r?t.default.createElement(r.Consumer,null,e=>l(e)):l(a)}},11152,e=>{"use strict";e.s(["FaAngleDown",()=>r,"FaArrowDown",()=>n,"FaArrowUp",()=>c,"FaChevronLeft",()=>l,"FaChevronRight",()=>i,"FaDownload",()=>o,"FaFolderOpen",()=>s,"FaGithub",()=>a,"FaLock",()=>u,"FaTrashAlt",()=>h,"FaUnlock",()=>m]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 496 512"},child:[{tag:"path",attr:{d:"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"},child:[]}]})(e)}function n(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"},child:[]}]})(e)}function c(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"},child:[]}]})(e)}function l(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"},child:[]}]})(e)}function i(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 320 512"},child:[{tag:"path",attr:{d:"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"},child:[]}]})(e)}function o(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"},child:[]}]})(e)}function s(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"},child:[]}]})(e)}function u(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"},child:[]}]})(e)}function h(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"},child:[]}]})(e)}function m(e){return(0,t.GenIcon)({tag:"svg",attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"},child:[]}]})(e)}},20592,e=>{"use strict";e.s(["default",()=>t]);let t=e.i(29947).default},90106,e=>{"use strict";e.s(["BsBadge3dFill",()=>r,"BsFillGrid3X3GapFill",()=>a]);var t=e.i(40141);function a(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M1 2a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 7a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1zM1 12a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1zm5 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1z"},child:[]}]})(e)}function r(e){return(0,t.GenIcon)({tag:"svg",attr:{fill:"currentColor",viewBox:"0 0 16 16"},child:[{tag:"path",attr:{d:"M10.157 5.968h-.844v4.06h.844c1.116 0 1.621-.667 1.621-2.02 0-1.354-.51-2.04-1.621-2.04"},child:[]},{tag:"path",attr:{d:"M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.184 4.368c.646 0 1.055.378 1.06.9.008.537-.427.919-1.086.919-.598-.004-1.037-.325-1.068-.756H3c.03.914.791 1.688 2.153 1.688 1.24 0 2.285-.66 2.272-1.798-.013-.953-.747-1.38-1.292-1.432v-.062c.44-.07 1.125-.527 1.108-1.375-.013-.906-.8-1.57-2.053-1.565-1.31.005-2.043.734-2.074 1.67h1.103c.022-.391.383-.751.936-.751.532 0 .928.33.928.813.004.479-.383.835-.928.835h-.632v.914zM8.126 11h2.189C12.125 11 13 9.893 13 7.985c0-1.894-.861-2.984-2.685-2.984H8.126z"},child:[]}]})(e)}},53653,e=>{"use strict";let t;e.s(["importMultipleFilesToModels",()=>u,"modelToModelType",()=>l,"modelTypes",()=>c]);var a=e.i(71315);let r=e.i(20592).default.materials,n=/^(\.|__MACOSX)/,c={player:["lmale","mmale","hmale","lfemale","mfemale","hfemale","lbioderm","mbioderm","hbioderm"],weapon:["disc","chaingun","grenade_launcher","sniper","plasmathrower","energy","shocklance","elf","missile","mortar","repair","targeting","mine"],vehicle:["vehicle_grav_scout","vehicle_grav_tank","vehicle_land_mpbbase","vehicle_air_scout","vehicle_air_bomber","vehicle_air_hapc"]};function l(e){switch(e){case"lmale":case"mmale":case"hmale":case"lfemale":case"mfemale":case"hfemale":case"lbioderm":case"mbioderm":case"hbioderm":return"player";case"disc":case"chaingun":case"grenade_launcher":case"sniper":case"plasmathrower":case"energy":case"shocklance":case"elf":case"missile":case"mortar":case"repair":case"targeting":case"mine":return"weapon";case"vehicle_grav_scout":case"vehicle_grav_tank":case"vehicle_land_mpbbase":case"vehicle_air_scout":case"vehicle_air_bomber":case"vehicle_air_hapc":return"vehicle";default:throw Error("Unknown model")}}async function i(e){let t=await a.default.loadAsync(e);return(await Promise.all(Object.entries(t.files).map(async e=>{let[t,a]=e;if(!n.test(t)&&/\.png$/i.exec(t)){let e=await a.async("base64");return{path:t,imageUrl:"data:image/png;base64,".concat(e)}}}))).filter(e=>!!e)}async function o(e){return new Promise((t,a)=>{let r=new FileReader;r.addEventListener("load",e=>{var r;"string"==typeof(null==(r=e.target)?void 0:r.result)?t(e.target.result):a()}),r.addEventListener("error",e=>{a()}),r.readAsDataURL(e)})}async function s(e){return(await Promise.all(Array.from(e).map(async e=>{var t;if(n.test(e.name))return null;switch((t=e).name.match(/\.png$/i)?"png":t.name.match(/\.zip$/i)?"zip":t.name.match(/\.vl2$/i)?"vl2":void 0){case"zip":case"vl2":{let t=e.name.match(/^(.+)\.(zip|vl2)$/i),a=t?t[1]:e.name;return(await i(e)).map(t=>({...t,path:"".concat(e.name,"/").concat(t.path),name:a}))}case"png":return{path:e.name,imageUrl:await o(e),name:null};default:return null}}))).flat().filter(e=>!!e)}async function u(e){var a=await s(e);let n=new Map;return a.forEach(e=>{let a=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=function(){let e=new Map;for(let t in r)r[t].forEach((a,r)=>{let n;if(a.fileSuffix?n=a.fileSuffix:!1!==a.selectable&&!0!==a.hidden&&(a.file||a.name)&&(n=a.file||a.name),n){var c;let l=null!=(c=e.get(n))?c:[];l.push({modelName:t,material:a,index:r}),e.set(n,l)}});return e}());let n=e.split("/").slice(-1)[0],c=n.match(/^(.+)\.(PNG|png)$/);if(c){let r=c[1],l=r.split(".");if(l.length>1){let a=".".concat(l[l.length-1]),i=t.get(a);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:l.slice(0,l.length-1).join("."),models:i}}else{let i=function(e){let a=/^(.+[^\d])(\d{2,})$/.exec(e);if(a){var r;let e=a[1],n=a[2],c=parseInt(n,10),l="".concat(e).concat("0".padStart(n.length,"0"));return(null!=(r=t.get(l))?r:[]).filter(e=>"number"==typeof e.material.frameCount).map(e=>({...e,frameIndex:c}))}return[]}(l[0]);if(i.length)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i};{let i=t.get(l[0]);if(i)return{path:e,basename:n,nameWithoutExtension:r,extension:c[2],skinName:a,models:i}}}}return null}(e.path,e.name);a&&a.models.forEach(t=>{var r,c,l,i,o;let s=null!=(r=n.get(t.modelName))?r:new Map,u=null!=(c=s.get(a.skinName))?c:{name:a.skinName,isComplete:null,materials:new Map},h=null!=(l=t.material.file)?l:t.material.name,m=null!=(i=u.materials.get(h))?i:[];m[null!=(o=t.frameIndex)?o:0]=e.imageUrl,u.materials.set(h,m),s.set(a.skinName,u),n.set(t.modelName,s)})}),n.forEach((e,t)=>{let a=r[t].filter(e=>!1!==e.selectable&&!0!==e.hidden&&!0!==e.optional);e.forEach(e=>{e.isComplete=a.every(t=>{var a;return e.materials.has(null!=(a=t.file)?a:t.name)})})}),n}},15768,e=>{"use strict";e.s(["default",()=>r]);var t=e.i(71645);let a={customSkins:{},newSkins:{},packs:{},sizeMultiplier:{}};function r(){let[e,r]=(0,t.useState)(a);(0,t.useEffect)(()=>{let e=new AbortController,t=e.signal,a=!1;return(async()=>{let e;try{if(e=await fetch("".concat("https://exogen.github.io/t2-skins","/skins.json"),{signal:t}),!a){let t=await e.json();a||r(t)}}catch(e){console.error(e)}})(),()=>{a=!0,e.signal.aborted||e.abort()}},[]);let n=e!==a;return[e,n]}},18566,(e,t,a)=>{t.exports=e.r(76562)}]); \ No newline at end of file diff --git a/docs/_next/static/chunks/e233a54f1de7eeb5.js b/docs/_next/static/chunks/e233a54f1de7eeb5.js new file mode 100644 index 0000000..e84567f --- /dev/null +++ b/docs/_next/static/chunks/e233a54f1de7eeb5.js @@ -0,0 +1 @@ +(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,29402,(e,t,r)=>{var n,o,a="__lodash_hash_undefined__",l=1/0,i="[object Arguments]",u="[object Array]",c="[object Boolean]",s="[object Date]",f="[object Error]",d="[object Function]",p="[object Map]",h="[object Number]",_="[object Object]",v="[object Promise]",y="[object RegExp]",g="[object Set]",m="[object String]",b="[object Symbol]",j="[object WeakMap]",w="[object ArrayBuffer]",x="[object DataView]",O=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,k=/^\./,P=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,T=/\\(\\)?/g,C=/^\[object .+?Constructor\]$/,E=/^(?:0|[1-9]\d*)$/,A={};A["[object Float32Array]"]=A["[object Float64Array]"]=A["[object Int8Array]"]=A["[object Int16Array]"]=A["[object Int32Array]"]=A["[object Uint8Array]"]=A["[object Uint8ClampedArray]"]=A["[object Uint16Array]"]=A["[object Uint32Array]"]=!0,A[i]=A[u]=A[w]=A[c]=A[x]=A[s]=A[f]=A[d]=A[p]=A[h]=A[_]=A[y]=A[g]=A[m]=A[j]=!1;var M=e.g&&e.g.Object===Object&&e.g,L="object"==typeof self&&self&&self.Object===Object&&self,N=M||L||Function("return this")(),R=r&&!r.nodeType&&r,D=R&&t&&!t.nodeType&&t,z=D&&D.exports===R&&M.process,F=function(){try{return z&&z.binding("util")}catch(e){}}(),I=F&&F.isTypedArray;function G(e,t){for(var r=-1,n=e?e.length:0,o=Array(n);++r-1},eb.prototype.set=function(e,t){var r=this.__data__,n=eO(r,e);return n<0?r.push([e,t]):r[n][1]=t,this},ej.prototype.clear=function(){this.__data__={hash:new em,map:new(el||eb),string:new em}},ej.prototype.delete=function(e){return eM(this,e).delete(e)},ej.prototype.get=function(e){return eM(this,e).get(e)},ej.prototype.has=function(e){return eM(this,e).has(e)},ej.prototype.set=function(e,t){return eM(this,e).set(e,t),this},ew.prototype.add=ew.prototype.push=function(e){return this.__data__.set(e,a),this},ew.prototype.has=function(e){return this.__data__.has(e)},ex.prototype.clear=function(){this.__data__=new eb},ex.prototype.delete=function(e){return this.__data__.delete(e)},ex.prototype.get=function(e){return this.__data__.get(e)},ex.prototype.has=function(e){return this.__data__.has(e)},ex.prototype.set=function(e,t){var r=this.__data__;if(r instanceof eb){var n=r.__data__;if(!el||n.length<199)return n.push([e,t]),this;r=this.__data__=new ej(n)}return r.set(e,t),this};var eS=function(e,t){return function(r,n){if(null==r)return r;if(!eV(r))return e(r,n);for(var o=r.length,a=-1,l=Object(r);(t?a--:++ai))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var s=-1,f=!0,d=1&o?new ew:void 0;for(a.set(e,t),a.set(t,e);++s-1&&e%1==0&&e-1&&e%1==0&&e<=0x1fffffffffffff}function eW(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function eQ(e){return!!e&&"object"==typeof e}function eq(e){return"symbol"==typeof e||eQ(e)&&X.call(e)==b}var eJ=I?B(I):function(e){return eQ(e)&&eK(e.length)&&!!A[X.call(e)]};function eX(e){return eV(e)?function(e,t){var r=e$(e)||eH(e)?function(e,t){for(var r=-1,n=Array(e);++rt||a&&l&&u&&!i&&!c||n&&l&&u||!r&&u||!o)return 1;if(!n&&!a&&!c&&e=i)return u;return u*("desc"==r[n]?-1:1)}}return e.index-t.index}(e,t,r)});u--;)i[u]=i[u].value;return i}(e,t,r))}},97052,e=>{e.v({Back:"gallery-module__zlwOTG__Back",Detail:"gallery-module__zlwOTG__Detail",DownloadButton:"gallery-module__zlwOTG__DownloadButton",DownloadHiRes:"gallery-module__zlwOTG__DownloadHiRes",DownloadSection:"gallery-module__zlwOTG__DownloadSection",DownloadSkin:"gallery-module__zlwOTG__DownloadSkin",DownloadSpinner:"gallery-module__zlwOTG__DownloadSpinner",Gallery:"gallery-module__zlwOTG__Gallery",GalleryPage:"gallery-module__zlwOTG__GalleryPage",HeaderEnd:"gallery-module__zlwOTG__HeaderEnd",HiResSelect:"gallery-module__zlwOTG__HiResSelect",IconLink:"gallery-module__zlwOTG__IconLink",Label:"gallery-module__zlwOTG__Label",LoadInEditor:"gallery-module__zlwOTG__LoadInEditor",Name:"gallery-module__zlwOTG__Name",PackVersion:"gallery-module__zlwOTG__PackVersion",Preview:"gallery-module__zlwOTG__Preview",Skin:"gallery-module__zlwOTG__Skin",Spinner:"gallery-module__zlwOTG__Spinner",Tools:"gallery-module__zlwOTG__Tools",spin:"gallery-module__zlwOTG__spin"})},36159,(e,t,r)=>{"use strict";function n(){return null}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98183,(e,t,r)=>{"use strict";function n(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function a(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function l(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{formatUrl:function(){return a},formatWithValidation:function(){return i},urlObjectKeys:function(){return l}});let n=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",l=e.pathname||"",i=e.hash||"",u=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(c+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let s=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),s&&"?"!==s[0]&&(s="?"+s),""+a+c+(l=l.replace(/[?#]/g,encodeURIComponent))+(s=s.replace("#","%23"))+i}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return a(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(71645);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DecodeError:function(){return _},MiddlewareNotFoundError:function(){return m},MissingStaticPage:function(){return g},NormalizeError:function(){return v},PageNotFoundError:function(){return y},SP:function(){return p},ST:function(){return h},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return s},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return f},stringifyError:function(){return b}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;aa.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function u(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function s(e){return e.finished||e.headersSent}function f(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&s(r))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,h=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class _ extends Error{}class v extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class m extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function b(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),o=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return v},useLinkStatus:function(){return g}});let n=e.r(90809),o=e.r(43476),a=n._(e.r(71645)),l=e.r(95057),i=e.r(8372),u=e.r(18581),c=e.r(18967),s=e.r(5550);e.r(33525);let f=e.r(91949),d=e.r(73668),p=e.r(99781);e.r(84508);let h=e.r(65165);function _(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function v(e){var t;let r,n,l,[v,g]=(0,a.useOptimistic)(f.IDLE_LINK_STATUS),m=(0,a.useRef)(null),{href:b,as:j,children:w,prefetch:x=null,passHref:O,replace:S,shallow:k,scroll:P,onClick:T,onMouseEnter:C,onTouchStart:E,legacyBehavior:A=!1,onNavigate:M,ref:L,unstable_dynamicOnHover:N,...R}=e;r=w,A&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let D=a.default.useContext(i.AppRouterContext),z=!1!==x,F=!1!==x?null===(t=x)||"auto"===t?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:I,as:G}=a.default.useMemo(()=>{let e=_(b);return{href:e,as:j?_(j):e}},[b,j]);A&&(n=a.default.Children.only(r));let B=A?n&&"object"==typeof n&&n.ref:L,U=a.default.useCallback(e=>(null!==D&&(m.current=(0,f.mountLinkInstance)(e,I,D,F,z,g)),()=>{m.current&&((0,f.unmountLinkForCurrentNavigation)(m.current),m.current=null),(0,f.unmountPrefetchableInstance)(e)}),[z,I,D,F,g]),H={ref:(0,u.useMergedRef)(U,B),onClick(e){A||"function"!=typeof T||T(e),A&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),D&&(e.defaultPrevented||function(e,t,r,n,o,l,i){let{nodeName:u}=e.currentTarget;if(!("A"===u.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,d.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}a.default.startTransition(()=>{(0,p.dispatchNavigateAction)(r||t,o?"replace":"push",null==l||l,n.current)})}}(e,I,G,m,S,P,M))},onMouseEnter(e){A||"function"!=typeof C||C(e),A&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),D&&z&&(0,f.onNavigationIntent)(e.currentTarget,!0===N)},onTouchStart:function(e){A||"function"!=typeof E||E(e),A&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),D&&z&&(0,f.onNavigationIntent)(e.currentTarget,!0===N)}};return(0,c.isAbsoluteUrl)(G)?H.href=G:A&&!O&&("a"!==n.type||"href"in n.props)||(H.href=(0,s.addBasePath)(G)),l=A?a.default.cloneElement(n,H):(0,o.jsx)("a",{...R,...H,children:r}),(0,o.jsx)(y.Provider,{value:v,children:l})}let y=(0,a.createContext)(f.IDLE_LINK_STATUS),g=()=>(0,a.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},25500,e=>{"use strict";e.s(["default",()=>b],25500);var t=e.i(43476),r=e.i(71645),n=e.i(40141);function o(e){return(0,n.GenIcon)({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none"},child:[{tag:"path",attr:{opacity:"0.2",fillRule:"evenodd",clipRule:"evenodd",d:"M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M12 22C17.5228 22 22 17.5228 22 12H19C19 15.866 15.866 19 12 19V22Z",fill:"currentColor"},child:[]},{tag:"path",attr:{d:"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z",fill:"currentColor"},child:[]}]})(e)}var a=e.i(90106),l=e.i(11152),i=e.i(18566),u=e.i(29402),c=e.i(15768),s=e.i(97052),f=e.i(36159),d=e.i(22016),p=e.i(69642),h=e.i(53653),_=e.i(20592);let v=[];function y(e){return _.default.materials[e].map(e=>{var t;if(e.hidden||!1===e.selectable)return null;let r=null!=(t=e.file)?t:e.name;if(r)if("number"==typeof e.frameCount&&e.frameCount>1)return Array(e.frameCount).fill(r).map((e,t)=>{if(!(t>0))return e;{let r=/^(.+[^\d])(\d{2,})$/.exec(e);if(r){let e=r[1],n=r[2];return"".concat(e).concat(t.toString().padStart(n.length,"0"))}throw Error("frameCount > 0, but could not parse index")}});else return r}).flat().filter(e=>null!=e).map(e=>"".concat(e,".png"))}let g={lmale:0,mmale:1,lfemale:2,mfemale:3,hmale:4,lbioderm:5,mbioderm:6,hbioderm:7,energy:8,disc:9,chaingun:10,grenade_launcher:11,sniper:12,elf:13,shocklance:14,plasmathrower:15,missile:16,mortar:17,repair:18,targeting:19,vehicle_grav_scout:20,vehicle_grav_tank:21,turret_assaulttank_mortar:22,vehicle_land_mpbbase:23,vehicle_air_scout:24,vehicle_air_bomber:25,vehicle_air_hapc:26};function m(){var e,n,_;let m=(0,i.useRouter)(),b=(0,i.usePathname)(),j=(0,i.useSearchParams)(),w=(0,r.useRef)(null),[x,O]=(0,c.default)(),[S,k]=(0,r.useState)("lmale"),[P,T]=(0,r.useState)(!1),[C,E]=(0,r.useState)("prompt"),A="hfemale"===S?"hmale":S,M=null!=(_=null==(e=x.customSkins)?void 0:e[A])?_:v,L="new"===S,N=null==x||null==(n=x.packs)?void 0:n[S],R=null!=N;(0,r.useEffect)(()=>{let e=localStorage.getItem("hiResDownload");switch(e){case"yes":case"no":E(e)}},[]),(0,r.useEffect)(()=>{if(N&&P){let e=!1;return(async()=>{let t=N.files,r=t.some(e=>x.sizeMultiplier[e]>1);if(r&&"prompt"===C){window.alert("This download contains HD textures, which require the QoL patch. Select β€œyes” or β€œno” for HD support, then try again."),w.current&&w.current.focus(),T(!1);return}let n="yes"===C?t:t.map(e=>x.sizeMultiplier[e]>1?e.replace(/\.png$/,"@1x.png"):e),o="zSkinPack-".concat(S,"-v").concat(N.version,".vl2");r&&"no"===C&&(o=o.replace(/\.vl2$/,"@1x.vl2"));let a=await (0,p.collectFiles)(n);if(!e){let t=(0,p.createZipFile)(a);await new Promise(e=>setTimeout(e,500)),e||await (0,p.saveZipFile)(t,o),e||T(!1)}})(),()=>{e=!0,T(!1)}}},[C,P,x.sizeMultiplier,N,S]);let D=(0,r.useMemo)(()=>{var e;return(0,u.default)(Object.keys(null!=(e=null==x?void 0:x.packs)?e:{}),e=>e.toLowerCase(),["asc"])},[x]),z=(0,r.useMemo)(()=>{var e,t;let r=L?null==x?void 0:x.newSkins:R?null==x||null==(t=x.packs)||null==(e=t[S])?void 0:e.skins:null;if(!r)return[];let n=[];return Object.entries(r).forEach(e=>{let[t,r]=e;n.push(...r.map(e=>({name:e,model:t})))}),(0,u.default)(n,[e=>e.name.toLowerCase(),e=>g[e.model]],["asc","asc"])},[L,R,S,x]),F=L||R?z:M,I=j.get("filter")||"lmale";return(0,r.useEffect)(()=>{T(!1),k(I)},[I]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f.default,{children:(0,t.jsx)("title",{children:"Tribes 2 Skin Gallery"})}),(0,t.jsxs)("main",{className:s.default.GalleryPage,children:[(0,t.jsxs)("div",{className:s.default.Tools,children:[(0,t.jsxs)(d.default,{className:s.default.Back,href:"../",children:[(0,t.jsx)(l.FaChevronLeft,{size:12,className:s.default.Icon})," ",(0,t.jsx)("span",{className:s.default.Label,children:"Back to Editor"})]}),(0,t.jsxs)("select",{tabIndex:0,id:"ModelSelect","aria-label":"Player model",onChange:e=>{m.push("".concat(b,"?filter=").concat(e.target.value))},value:S,children:[(0,t.jsx)("option",{value:"new",children:"All new skins ✨"}),(0,t.jsx)("optgroup",{label:"Packs",children:D.map(e=>(0,t.jsx)("option",{value:e,children:e},e))}),(0,t.jsxs)("optgroup",{label:"Players","data-model-type":"player",children:[(0,t.jsx)("option",{value:"lmale",children:"Human Male β€’ Light"}),(0,t.jsx)("option",{value:"mmale",children:"Human Male β€’ Medium"}),(0,t.jsx)("option",{value:"hmale",children:"Human Male β€’ Heavy"}),(0,t.jsx)("option",{value:"lfemale",children:"Human Female β€’ Light"}),(0,t.jsx)("option",{value:"mfemale",children:"Human Female β€’ Medium"}),(0,t.jsx)("option",{value:"hfemale",children:"Human Female β€’ Heavy"}),(0,t.jsx)("option",{value:"lbioderm",children:"Bioderm β€’ Light"}),(0,t.jsx)("option",{value:"mbioderm",children:"Bioderm β€’ Medium"}),(0,t.jsx)("option",{value:"hbioderm",children:"Bioderm β€’ Heavy"})]}),(0,t.jsxs)("optgroup",{label:"Weapons","data-model-type":"weapon",children:[(0,t.jsx)("option",{value:"disc",children:"Disc Launcher"}),(0,t.jsx)("option",{value:"chaingun",children:"Chaingun"}),(0,t.jsx)("option",{value:"grenade_launcher",children:"Grenade Launcher"}),(0,t.jsx)("option",{value:"sniper",children:"Laser Rifle"}),(0,t.jsx)("option",{value:"plasmathrower",children:"Plasma Cannon"}),(0,t.jsx)("option",{value:"energy",children:"Blaster"}),(0,t.jsx)("option",{value:"shocklance",children:"Shocklance"}),(0,t.jsx)("option",{value:"elf",children:"ELF Projector"}),(0,t.jsx)("option",{value:"missile",children:"Missile Launcher"}),(0,t.jsx)("option",{value:"mortar",children:"Mortar"}),(0,t.jsx)("option",{value:"repair",children:"Repair Pack"}),(0,t.jsx)("option",{value:"targeting",children:"Targeting Laser"})]}),(0,t.jsxs)("optgroup",{label:"Vehicles","data-model-type":"vehicle",children:[(0,t.jsx)("option",{value:"vehicle_grav_scout",children:"Wildcat Grav Cycle"}),(0,t.jsx)("option",{value:"vehicle_grav_tank",children:"Beowulf Assault Tank"}),(0,t.jsx)("option",{value:"vehicle_land_mpbbase",children:"Jericho Mobile Point Base"}),(0,t.jsx)("option",{value:"vehicle_air_scout",children:"Shrike Scout Fighter"}),(0,t.jsx)("option",{value:"vehicle_air_bomber",children:"Thundersword Bomber"}),(0,t.jsx)("option",{value:"vehicle_air_hapc",children:"HAVOC Gunship Transport"})]})]}),(0,t.jsxs)("div",{className:s.default.HeaderEnd,children:[R?(0,t.jsxs)("div",{className:s.default.DownloadSection,children:[(0,t.jsx)("button",{type:"button",className:s.default.DownloadButton,onClick:async()=>{T(!0)},children:"Download"})," ",P?(0,t.jsx)(o,{className:s.default.DownloadSpinner}):(0,t.jsxs)("span",{className:s.default.PackVersion,children:["v",N.version," β€’ ",N.files.length.toLocaleString()," ",1===N.files.length?"file":"files"]})]}):null,(0,t.jsxs)("div",{className:s.default.DownloadHiRes,children:[(0,t.jsx)("label",{htmlFor:"hiResSelect",children:"HD support?"}),(0,t.jsxs)("select",{id:"hiResSelect",className:s.default.HiResSelect,ref:w,value:C,disabled:P,onChange:e=>{switch(e.target.value){case"prompt":E(e.target.value),localStorage.removeItem("hiResDownload");break;case"yes":case"no":E(e.target.value),localStorage.setItem("hiResDownload",e.target.value)}},children:[(0,t.jsx)("option",{value:"prompt",children:"Ask"}),(0,t.jsx)("option",{value:"yes",children:"Yes"}),(0,t.jsx)("option",{value:"no",children:"No"})]})]})]})]}),O?(0,t.jsx)("div",{className:s.default.Gallery,children:F.map(e=>{let r,n;"string"==typeof e?(r=e,n=A):(r=e.name,n=e.model);let o="".concat("https://exogen.github.io/t2-skins","/gallery/").concat(encodeURIComponent(r),".").concat(n,".webp");return(0,t.jsxs)("div",{className:s.default.Skin,children:[(0,t.jsx)("img",{className:s.default.Preview,loading:"lazy",src:o,width:680,height:800,alt:r}),(0,t.jsxs)("div",{className:s.default.Detail,children:[(0,t.jsx)(d.default,{className:s.default.LoadInEditor,href:"/?m=".concat(n,"&s=").concat(encodeURIComponent(r)),children:(0,t.jsx)(a.BsBadge3dFill,{title:"Load in Editor","aria-label":"Load in Editor"})}),(0,t.jsx)("span",{className:s.default.Name,children:r}),(0,t.jsx)("button",{type:"button",className:s.default.DownloadSkin,title:"Download ".concat(r," skin"),"aria-label":"Download ".concat(r," skin"),onClick:async()=>{let e=(0,h.modelToModelType)(n),t=n.replace(/(?:^([a-z])|_([a-z]))/g,(e,t,r)=>(t||r).toUpperCase()),o="",a=[];switch(e){case"player":o="zPlayerSkin-".concat(r,".vl2"),a=h.modelTypes.player.filter(e=>x.customSkins[e].includes(r)).map(e=>"".concat(r,".").concat(e,".png"));break;case"weapon":o="zWeapon".concat(t,"-").concat(r,".vl2"),a=y(n).map(e=>"".concat(r,"/").concat(e));break;case"vehicle":o="z".concat(t,"-").concat(r,".vl2"),a=y(n).map(e=>"".concat(r,"/").concat(e))}if(a.length){let e=a.some(e=>x.sizeMultiplier[e]>1);if(e&&"prompt"===C){window.alert("This download contains HD textures, which require the QoL patch. Select β€œyes” or β€œno” for HD support, then try again."),w.current&&w.current.focus();return}let t="yes"===C?a:a.map(e=>x.sizeMultiplier[e]>1?e.replace(/\.png$/,"@1x.png"):e);e&&"no"===C&&(o=o.replace(/\.vl2$/,"@1x.vl2"));let r=await (0,p.collectFiles)(t,{skipNotFound:!0}),n=(0,p.createZipFile)(r.map(e=>{let{name:t,data:r}=e;return{name:t.split("/").slice(-1)[0],data:r}}));await (0,p.saveZipFile)(n,o)}},children:(0,t.jsx)(l.FaDownload,{})})]})]},"".concat(r,":").concat(n))})}):(0,t.jsx)(o,{className:s.default.Spinner})]})]})}function b(){return(0,t.jsx)(r.Suspense,{children:(0,t.jsx)(m,{})})}}]); \ No newline at end of file diff --git a/docs/gallery/index.html b/docs/gallery/index.html index 4165e71..ade7860 100644 --- a/docs/gallery/index.html +++ b/docs/gallery/index.html @@ -1 +1 @@ -T2 Model Viewer & Skinner \ No newline at end of file +T2 Model Viewer & Skinner \ No newline at end of file diff --git a/docs/gallery/index.txt b/docs/gallery/index.txt index c55a4ca..3b3ca0f 100644 --- a/docs/gallery/index.txt +++ b/docs/gallery/index.txt @@ -2,7 +2,7 @@ 2:I[39756,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] 3:I[37457,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] 4:I[47257,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ClientPageRoot"] -5:I[25500,["/t2-model-skinner/_next/static/chunks/53296be44174b494.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/0c04e859c9299853.js","/t2-model-skinner/_next/static/chunks/2d0a1519f2fc6d9e.js"],"default"] +5:I[25500,["/t2-model-skinner/_next/static/chunks/64f1e5c6f9fa52f6.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/5ab6fafee44106c4.js","/t2-model-skinner/_next/static/chunks/e233a54f1de7eeb5.js"],"default"] 8:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"OutletBoundary"] a:I[11533,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"AsyncMetadataOutlet"] c:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ViewportBoundary"] @@ -10,8 +10,8 @@ e:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-mode f:"$Sreact.suspense" 11:I[68027,[],"default"] :HL["/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","style"] -:HL["/t2-model-skinner/_next/static/chunks/c45ca2566aefbdb7.css","style"] -0:{"P":null,"b":"J9hUTJgCvSDMXCjR51slX","p":"/t2-model-skinner","c":["","gallery",""],"i":false,"f":[[["",{"children":["gallery",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["gallery",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/c45ca2566aefbdb7.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/53296be44174b494.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/0c04e859c9299853.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/2d0a1519f2fc6d9e.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} +:HL["/t2-model-skinner/_next/static/chunks/185de9d007942943.css","style"] +0:{"P":null,"b":"HVLdZFp1rz0i50CxjnUcW","p":"/t2-model-skinner","c":["","gallery",""],"i":false,"f":[[["",{"children":["gallery",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["gallery",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/185de9d007942943.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/64f1e5c6f9fa52f6.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/5ab6fafee44106c4.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/e233a54f1de7eeb5.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} 6:{} 7:"$0:f:0:1:2:children:2:children:1:props:children:0:props:params" d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] diff --git a/docs/index.html b/docs/index.html index d1545cb..b54949e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -T2 Model Viewer & Skinner
\ No newline at end of file +T2 Model Viewer & Skinner
\ No newline at end of file diff --git a/docs/index.txt b/docs/index.txt index 1c0e765..d7573fd 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -2,7 +2,7 @@ 2:I[39756,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] 3:I[37457,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"default"] 4:I[47257,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ClientPageRoot"] -5:I[52683,["/t2-model-skinner/_next/static/chunks/bd9a6468f03a9b31.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","/t2-model-skinner/_next/static/chunks/e6e166ba82cc0d62.js","/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js"],"default"] +5:I[52683,["/t2-model-skinner/_next/static/chunks/502774dbda501837.js","/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","/t2-model-skinner/_next/static/chunks/d92306cd027784a6.js","/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js"],"default"] 8:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"OutletBoundary"] a:I[11533,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"AsyncMetadataOutlet"] c:I[97367,["/t2-model-skinner/_next/static/chunks/ff1a16fafef87110.js","/t2-model-skinner/_next/static/chunks/7dd66bdf8a7e5707.js"],"ViewportBoundary"] @@ -11,7 +11,7 @@ f:"$Sreact.suspense" 11:I[68027,[],"default"] :HL["/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","style"] :HL["/t2-model-skinner/_next/static/chunks/df18f9fdc6a3cb7c.css","style"] -0:{"P":null,"b":"J9hUTJgCvSDMXCjR51slX","p":"/t2-model-skinner","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/df18f9fdc6a3cb7c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/bd9a6468f03a9b31.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/e6e166ba82cc0d62.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} +0:{"P":null,"b":"HVLdZFp1rz0i50CxjnUcW","p":"/t2-model-skinner","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/df18f9fdc6a3cb7c.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/t2-model-skinner/_next/static/chunks/502774dbda501837.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/t2-model-skinner/_next/static/chunks/d63fc3798baf75bd.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/t2-model-skinner/_next/static/chunks/43ceca71888c9b70.js","async":true,"nonce":"$undefined"}],["$","script","script-3",{"src":"/t2-model-skinner/_next/static/chunks/d92306cd027784a6.js","async":true,"nonce":"$undefined"}],["$","script","script-4",{"src":"/t2-model-skinner/_next/static/chunks/a55df98dcb3b60ad.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[["$","link","0",{"rel":"stylesheet","href":"/t2-model-skinner/_next/static/chunks/795c34bef1c92210.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]]],"s":false,"S":true} 6:{} 7:"$0:f:0:1:2:children:1:props:children:0:props:params" d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] diff --git a/src/app/gallery/gallery.module.css b/src/app/gallery/gallery.module.css index 8dd5246..e22e4c0 100644 --- a/src/app/gallery/gallery.module.css +++ b/src/app/gallery/gallery.module.css @@ -10,6 +10,8 @@ text-align: center; display: grid; grid-template-columns: 1fr auto 1fr; + gap: 10px; + justify-content: space-between; align-items: center; background: rgba(0, 0, 0, 0.7); z-index: 2; @@ -24,7 +26,7 @@ display: flex; align-items: center; justify-content: space-between; - margin-left: 10px; + gap: 20px; } .DownloadSection { @@ -103,6 +105,18 @@ height: auto; } +.DownloadHiRes { + display: flex; + align-items: center; + gap: 0.5em; + font-size: 11px; + margin-left: auto; +} + +.HiResSelect { + font-size: 11px; +} + .Detail { position: absolute; bottom: 8px; @@ -176,13 +190,10 @@ animation: spin 2s linear infinite; } -@media (max-width: 479px) { - .Back .Label { - display: none; - } - - .DownloadButton { - display: none; +@media (max-width: 1023px) { + .Tools { + grid-template-columns: auto auto 1fr; + justify-content: space-between; } } @@ -191,3 +202,18 @@ display: none; } } + +@media (max-width: 639px) { + .Back .Label { + display: none; + } + + .DownloadButton, + .DownloadHiRes { + display: none; + } + + .Tools { + grid-template-columns: 1fr auto 1fr; + } +} diff --git a/src/app/gallery/page.tsx b/src/app/gallery/page.tsx index 78c496c..83005f4 100644 --- a/src/app/gallery/page.tsx +++ b/src/app/gallery/page.tsx @@ -1,9 +1,9 @@ "use client"; -import { Suspense, useEffect, useMemo, useState } from "react"; +import { Suspense, useEffect, useMemo, useRef, useState } from "react"; import { CgSpinnerTwo } from "react-icons/cg"; import { BsBadge3dFill } from "react-icons/bs"; import { FaDownload } from "react-icons/fa"; -import { FaChevronLeft, FaGithub } from "react-icons/fa"; +import { FaChevronLeft } from "react-icons/fa"; import { useRouter, usePathname, useSearchParams } from "next/navigation"; import orderBy from "lodash.orderby"; import useManifest from "../../useManifest"; @@ -105,9 +105,13 @@ function Gallery() { const router = useRouter(); const pathname = usePathname(); const searchParams = useSearchParams(); + const hiResSelectRef = useRef(null); const [manifest, isLoaded] = useManifest(); const [selectedModel, setSelectedModel] = useState("lmale"); const [isPreparingDownload, setPreparingDownload] = useState(false); + const [hiResDownload, setHiResDownload] = useState<"prompt" | "yes" | "no">( + "prompt" + ); const actualModel = selectedModel === "hfemale" ? "hmale" : selectedModel; const customSkins = manifest.customSkins?.[actualModel] ?? emptySkins; @@ -115,20 +119,59 @@ function Gallery() { const pack = manifest?.packs?.[selectedModel]; const isPack = pack != null; + useEffect(() => { + const savedHiResDownload = localStorage.getItem("hiResDownload"); + switch (savedHiResDownload) { + case "yes": + case "no": + setHiResDownload(savedHiResDownload); + break; + } + }, []); + useEffect(() => { if (pack && isPreparingDownload) { let ignore = false; const download = async () => { - const files = await collectFiles(pack.files); + const fileNames = pack.files; + + const hasHiRes = fileNames.some( + (fileName) => manifest.sizeMultiplier[fileName] > 1 + ); + + if (hasHiRes && hiResDownload === "prompt") { + window.alert( + "This download contains HD textures, which require the QoL patch. Select β€œyes” or β€œno” for HD support, then try again." + ); + if (hiResSelectRef.current) { + hiResSelectRef.current.focus(); + } + setPreparingDownload(false); + return; + } + + const collectFileNames = + hiResDownload === "yes" + ? fileNames + : fileNames.map((fileName) => { + return manifest.sizeMultiplier[fileName] > 1 + ? fileName.replace(/\.png$/, "@1x.png") + : fileName; + }); + + let zipFileName = `zSkinPack-${selectedModel}-v${pack.version}.vl2`; + + if (hasHiRes && hiResDownload === "no") { + zipFileName = zipFileName.replace(/\.vl2$/, "@1x.vl2"); + } + + const files = await collectFiles(collectFileNames); if (!ignore) { const zip = createZipFile(files); await new Promise((resolve) => setTimeout(resolve, 500)); if (!ignore) { - await saveZipFile( - zip, - `zSkinPack-${selectedModel}-v${pack.version}.vl2` - ); + await saveZipFile(zip, zipFileName); } if (!ignore) { setPreparingDownload(false); @@ -143,7 +186,13 @@ function Gallery() { setPreparingDownload(false); }; } - }, [isPreparingDownload, pack, selectedModel]); + }, [ + hiResDownload, + isPreparingDownload, + manifest.sizeMultiplier, + pack, + selectedModel, + ]); const packList = useMemo(() => { return orderBy( @@ -261,12 +310,33 @@ function Gallery() { )} ) : null} - - - +
+ + +
{isLoaded ? ( @@ -349,7 +419,37 @@ function Gallery() { break; } if (fileNames.length) { - const files = await collectFiles(fileNames, { + const hasHiRes = fileNames.some( + (fileName) => manifest.sizeMultiplier[fileName] > 1 + ); + + if (hasHiRes && hiResDownload === "prompt") { + window.alert( + "This download contains HD textures, which require the QoL patch. Select β€œyes” or β€œno” for HD support, then try again." + ); + if (hiResSelectRef.current) { + hiResSelectRef.current.focus(); + } + return; + } + + const collectFileNames = + hiResDownload === "yes" + ? fileNames + : fileNames.map((fileName) => { + return manifest.sizeMultiplier[fileName] > 1 + ? fileName.replace(/\.png$/, "@1x.png") + : fileName; + }); + + if (hasHiRes && hiResDownload === "no") { + zipFileName = zipFileName.replace( + /\.vl2$/, + "@1x.vl2" + ); + } + + const files = await collectFiles(collectFileNames, { skipNotFound: true, }); const zip = createZipFile( diff --git a/src/exportUtils.ts b/src/exportUtils.ts index 01e7629..6751b5f 100644 --- a/src/exportUtils.ts +++ b/src/exportUtils.ts @@ -4,7 +4,7 @@ import { saveAs } from "file-saver"; const basePath = `https://exogen.github.io/t2-skins/skins`; export function createZipFile( - files: Array<{ name: string; data: ArrayBuffer }> + files: Array<{ name: string; data: ArrayBuffer | Blob }> ) { const zip = new JSZip(); for (const file of files) { @@ -37,7 +37,10 @@ export async function collectFiles( throw new Error(`Response failed: ${res.status} ${res.statusText}`); } const arrayBuffer = await res.arrayBuffer(); - return { name: fileName, data: arrayBuffer }; + return { + name: fileName.replace(/@1x\.png$/, ".png"), + data: arrayBuffer, + }; }) ); return results.filter((fileInfo) => fileInfo != null); diff --git a/src/useManifest.ts b/src/useManifest.ts index e9e8bc0..811ef51 100644 --- a/src/useManifest.ts +++ b/src/useManifest.ts @@ -11,6 +11,7 @@ export type Manifest = { files: string[]; } >; + sizeMultiplier: Record; }; const baseManifestPath = `https://exogen.github.io/t2-skins`; @@ -18,6 +19,7 @@ export const defaultManifest: Manifest = { customSkins: {}, newSkins: {}, packs: {}, + sizeMultiplier: {}, }; export default function useManifest(): [Manifest, boolean] {