{"version":3,"file":"shared-lib.CFeebECQ.mjs","names":["useState","c","d","h","u","n","v","y","t","r","$","o","f","g","i","w","E","k","C","L","x","I","s","S","O","M","A","K","a","p","b","l","N","j","e","J","m","T","wt","a","e","o","r","tt","M","_t","Te","n","s","w","y","g","l","i","c","Yt","u","Ft","t","h","ie","f","ne","p","ce","de","b","x","E","k","N","T","ve","m","v","S","B","C","z","I","R","Y","j","$","P","D","H","L","A","O","U","W","V","F","K","_","X","Z","q","G","J","Q","et","at","ot","rt","nt","st","it","lt","dt","ct","ut","mt","ht","ft","pt","gt","vt","bt","yt","xt","Et","kt","Nt","Mt","Tt","St","Bt","Ct","zt","It","Rt","Pt","Dt","Ht","Lt","Zt","d","useTheme","ToasterComponent","Component","config","Globals","Parameters","SuspenseFetch","SuspenseFetchExtended","key","a","b","Component","key","param","query","e","Component","config","DSCoreCapsule.Globals","Component","DSCoreCapsule.Parameters","DSCoreCapsule.SuspenseFetch","DSCoreCapsule.SuspenseFetchExtended","DSAffiliatesReferrer.default","r","e","t","s","a","n","o","i","l","u","c","f","d","m","g","y","h","p","v","b","_","F","A","V","x","S","Component","useHookForm","c","e","v","d","m","withMember","Component","config","useCallback","member","useMember","withMemberProps","withMemberUpdateForm","useState","useMemo","avatar","e","FormComponent","props","withMemberAvatarRemove","withLoginForm","Component","config","useState","Form","useCallback","FormComponent","useMember","useMemo","e","withSignupForm","withLogout","config","key","Component","useFramerRouter","useMemo","useCallback","to","i","useState","Component","config","useMember","requireGuest","requireMember","requireSetupIncomplete","requireSetupComplete","config","e","Graph","Component","useMemo","DSDatabase.Graph","Component","animation","Indicators","useRef","useState","el","Component","config","Scrollable","e","dt","x","Active","useMemo","Component","AppendEmail","useState","AppendRedirect","SearchableArea","useRef","Component","r","t","f","n","e","o","Fixed","Component","_Fragment","e","t","n","r","i","s","a","o","l","c","u","h","d","p","f","get","m","g","y","x","b","_","se","M","w","S","T","E","A","L","C","R","P","I","ye","X","J","Y","Z","Q","K","$","ee","te","ne","re","ie","ae","oe","le","ce","ue","he","de","pe","me","ve","D","B","V","N","U","z","G","F","O","H","k","W","j","q","xe","we","v","Loader","useRef","useState","x","y","e","THREE.Scene","THREE.OrthographicCamera","THREE.WebGLRenderer","THREE.PlaneGeometry","THREE.TextureLoader","THREE.ShaderMaterial","THREE.Vector3","THREE.Vector4","THREE.Mesh","THREE.Clock","fonts","css","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","config","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","Image","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","transition2","Transition","config","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","Image","className","Logo","Shaders","Background","serializationHash","variantClassNames","transition1","animation","animation1","Transition","config","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts","DSInterfaceLinks.Active","Component","DSInterfaceLinks.AppendEmail","DSInterfaceLinks.AppendRedirect","DSInterfaceInteractions.Scrollable","DSInterfaceInteractions.Indicators","DSInterfaceStyles.Fixed","DSInterfaceSearchable.SearchableArea","LoaderComponent","DSMembersMember.useMember","DSMembersMember.withMember","Component","DSMembersAuth.withLoginForm","DSMembersAuth.withSignupForm","DSMembersAuth.withLogout","DSMembersMember.withMemberProps","DSMembersMember.withMemberUpdateForm","DSMembersMember.withMemberAvatarRemove","DSMembersPermissions.createShowGate","DSMembersPermissions.requireGuest","DSMembersPermissions.requireMember","DSMembersPermissions.requireSetupIncomplete","DSMembersPermissions.requireSetupComplete","DSMembersPermissions.requireMembership","Icon","useMemo","lowercaseIconKeyPairs","iconKeys","a","useRef","useState","HouseFactory","React","key","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","config","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","className","config","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","className","RichText","sharedStyle.css","sharedStyle.fonts"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/ga.jspm.io/npm:next-themes@0.2.1/dist/index.module.js","https:/ga.jspm.io/npm:sonner@1.7.4/dist/index.mjs","https:/framerusercontent.com/modules/Bt9VVZ5tDM517bPvDedO/32BDShg5hYYuecIur27K/Sonner.js","https:/framer.com/m/Sonner-2W7J.js","https:/framerusercontent.com/modules/mD74E4jxaAK7KNM9Zdur/g64ooEfjR4Byb63qPgVc/Capsule.js","https:/framer.com/m/Capsule-oSSG.js","https:/framerusercontent.com/modules/06AE0I0VQnMIBuD1CtCk/a0qnBLfCc02vDWtDN6Fl/Clerk.js","https:/framer.com/m/Clerk-47om.js","https:/framerusercontent.com/modules/lfiXXWfbw22dBimGUePa/5BSDwyDVeav0Sf4ujU7h/Development.js","https:/framer.com/m/Development-7oqH.js","https:/framerusercontent.com/modules/ZZdIaydkKCeNQWBTTKHK/jNzCKsYqb3l41W9FKskx/Window.js","https:/framer.com/m/Window-ULev.js","https:/framerusercontent.com/modules/oGJsxNhCqrgQ3MJE9e9i/oTyAQfXa3tcVJOvfNiRj/Referrer.js","https:/framer.com/m/Referrer-aaHb.js","https:/framerusercontent.com/modules/xbyJH4uSP5O2i9iSVF4l/PzDPvsvVp7Xt3e8blkoH/core.js","https:/ga.jspm.io/npm:react-hook-form@7.39.5/dist/index.esm.mjs","https:/framerusercontent.com/modules/J2q9Yj37zr4PNttg2drG/DPQBhgtmEs5bsOjCVx5D/Forms.js","https:/framer.com/m/Forms-9VLJ.js","https:/framerusercontent.com/modules/vUZF9suUOy866BbX50wy/LwvYJoMHHEe7QNvXeq3L/Balances.js","https:/framer.com/m/Balances-HSYV.js","https:/framerusercontent.com/modules/CRY26KM56hJ1sDrJeTjx/qNdMelBAGpwEYTxuOCJg/Memberships.js","https:/framer.com/m/Memberships-Laow.js","https:/framerusercontent.com/modules/r0ck0f3sccb79yDmGi5w/7kM1BFU1Tlx3UnAvdiQh/Profile.js","https:/framer.com/m/Profile-rodA.js","https:/framerusercontent.com/modules/ncvpgioK19Z5qW7gycnE/7NOMj1zKJiISdL5Y6crH/Strings.js","https:/framer.com/m/Strings-XPcz.js","https:/framerusercontent.com/modules/3QvdOjUjRt11vmPUpvQk/BoE3wNyUiC6y5vYHIAKA/Member.js","https:/framer.com/m/Member-gNBX.js","https:/framerusercontent.com/modules/VEKgCcXMF24YldzRVouy/XWQstQyvqAYGlWZgG5Av/Auth.js","https:/framer.com/m/Auth-warf.js","https:/framerusercontent.com/modules/JFdjuzjJ9Z3GJvn1skPP/GZFwUSWQaYQhLhIP7fjl/Router.js","https:/framer.com/m/Router-vdQr.js","https:/framerusercontent.com/modules/U5kMey9QYME5aN9HCM6B/KlEtwvdc8r7Uw7PHm8rI/Permissions.js","https:/framer.com/m/Permissions-WwEH.js","https:/framerusercontent.com/modules/jX5EYy75jVj4TMlbqJdO/Hwg8vri5r3U83RmUZRzT/_capsule.js","https:/framerusercontent.com/modules/XpjQ5mCpuNSoQdoOLv34/CrmTm9TK0sjgdEI7WBpB/Database.js","https:/framer.com/m/Database-5ySA.js","https:/framerusercontent.com/modules/t0XIpNUB7kXlqmpgm2YO/m1YUb3C8vcTSbTHHL5rw/database.js","https:/framerusercontent.com/modules/H6jcJAKTMPc6QCHopLFP/CGHHhRxayEsjBl4yXBbm/Interactions.js","https:/framer.com/m/Interactions-aK2Z.js","https:/framerusercontent.com/modules/P3KOBXVZfH1rMb9Tauts/FeLPBXFV4UYxgXQjgXLA/Links.js","https:/framer.com/m/Links-r6Zf.js","https:/framerusercontent.com/modules/5ezcwGNdYt03l1kUo4G5/DU9Rj0oD4KtEcwmNGwRT/Searchable.js","https:/framer.com/m/Searchable-2VXN.js","https:/ga.jspm.io/npm:clsx@2.1.1/dist/clsx.mjs","https:/framerusercontent.com/modules/ySSSM2nLaMD0TJk2vMCS/Ft7tOsFY5VgEDtiuKfmj/Styles.js","https:/framer.com/m/Styles-dHmw.js","https:/framerusercontent.com/modules/cngvAw0w9C1Wv7G3Ze5w/r0j9ptfVncyEjLxyKH31/Ellipsis.js","https:/ga.jspm.io/npm:three@0.136.0/build/three.module.js","https:/framerusercontent.com/modules/6tj2OZAcXlPErCTcSCDY/RekhsBiS0iszyZdEW86t/ShaderSource.js","https:/framer.com/m/ShaderSource-3JJF.js","https:/framerusercontent.com/modules/VPtP8ts3DX06oRSqLT1n/0DszcGjqjUjZJnTwBnbB/Webgl_Shader_Component.js","https:/framerusercontent.com/modules/teGXcopezj7wLHWPCN4k/dHbIw84VddKrm8qAVhGb/UoF26bCkV.js","https:/framerusercontent.com/modules/SlWX8OWpCDslEsiaClGY/nnYBUR4ZPqdjrizgp0up/EUvxkoVxm.js","https:/framerusercontent.com/modules/lkoVix78ObHSq79wCy0h/vPAWX2mYI8EO9exURJsJ/wZpHBWjxP.js","https:/framerusercontent.com/modules/qtvjR0Tu93j9ZFVtICmp/Nmy95YPb0faFLGHgvMhW/JtZq_49E2.js","https:/framer.com/m/Loader-2mfM.js","https:/framerusercontent.com/modules/2cBpFZJqxLrlRI0OkzD9/FlGuwO62MwwuShiuKCqA/interface.js","https:/framerusercontent.com/modules/vF0buUnOASZw4Wp6mgq5/AEXB4IcbWEIXUBqLKD1w/members.js","https:/framerusercontent.com/modules/4L9XJhVUQFpw5WsuvoGY/YJ47KVBd2b14nev3mtMp/gEpyVZImU.js","https:/framerusercontent.com/modules/SUrKmA7l1xzyhWeD2w77/8U0cVz36BfC37eMx7dmG/Skeleton.js","https:/framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js","https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js","https:/framer.com/m/phosphor-icons/House.js@0.0.57","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js","https:/framerusercontent.com/modules/ljCT6b16ytiI0KyETuGp/jLrVlLiUzm43EOgjxui9/P_p9udK8V.js","https:/framerusercontent.com/modules/Rf5Kq3UnqWPP78FEP1z0/Nh2BkIqTC1rVn9vACBDA/w5exNccsr.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import t,{createContext as n,useContext as r,Fragment as o,useState as s,useCallback as a,useEffect as l,useMemo as m,memo as i}from\"react\";const c=[\"light\",\"dark\"],d=\"(prefers-color-scheme: dark)\",h=\"undefined\"==typeof window,u=n(void 0),v={setTheme:t=>{},themes:[]},y=()=>{var t;return null!==(t=r(u))&&void 0!==t?t:v},$=n=>r(u)?t.createElement(o,null,n.children):t.createElement(f,n),g=[\"light\",\"dark\"],f=({forcedTheme:n,disableTransitionOnChange:r=!1,enableSystem:o=!0,enableColorScheme:i=!0,storageKey:h=\"theme\",themes:v=g,defaultTheme:w=(o?\"system\":\"light\"),attribute:E=\"data-theme\",value:k,children:C,nonce:L})=>{const[x,I]=s((()=>S(h,w))),[O,M]=s((()=>S(h))),A=k?Object.values(k):v,K=a((t=>{let n=t;if(!n)return;\"system\"===t&&o&&(n=p());const s=k?k[n]:n,a=r?b():null,l=document.documentElement;if(\"class\"===E?(l.classList.remove(...A),s&&l.classList.add(s)):s?l.setAttribute(E,s):l.removeAttribute(E),i){const t=c.includes(w)?w:null,r=c.includes(n)?n:t;l.style.colorScheme=r}null==a||a()}),[]),N=a((t=>{I(t);try{localStorage.setItem(h,t)}catch(t){}}),[n]),j=a((t=>{const r=p(t);M(r),\"system\"===x&&o&&!n&&K(\"system\")}),[x,n]);l((()=>{const t=window.matchMedia(d);return t.addListener(j),j(t),()=>t.removeListener(j)}),[j]),l((()=>{const e=t=>{t.key===h&&N(t.newValue||w)};return window.addEventListener(\"storage\",e),()=>window.removeEventListener(\"storage\",e)}),[N]),l((()=>{K(null!=n?n:x)}),[n,x]);const J=m((()=>({theme:x,setTheme:N,forcedTheme:n,resolvedTheme:\"system\"===x?O:x,themes:o?[...v,\"system\"]:v,systemTheme:o?O:void 0})),[x,N,n,O,o,v]);return t.createElement(u.Provider,{value:J},t.createElement(T,{forcedTheme:n,disableTransitionOnChange:r,enableSystem:o,enableColorScheme:i,storageKey:h,themes:v,defaultTheme:w,attribute:E,value:k,children:C,attrs:A,nonce:L}),C)},T=i((({forcedTheme:n,storageKey:r,attribute:o,enableSystem:s,enableColorScheme:a,defaultTheme:l,value:m,attrs:i,nonce:h})=>{const u=\"system\"===l,v=\"class\"===o?`var d=document.documentElement,c=d.classList;c.remove(${i.map((t=>`'${t}'`)).join(\",\")});`:`var d=document.documentElement,n='${o}',s='setAttribute';`,g=a?c.includes(l)&&l?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${l}'`:\"if(e==='light'||e==='dark')d.style.colorScheme=e\":\"\",$=(t,n=!1,r=!0)=>{const s=m?m[t]:t,l=n?t+\"|| ''\":`'${s}'`;let i=\"\";return a&&r&&!n&&c.includes(t)&&(i+=`d.style.colorScheme = '${t}';`),\"class\"===o?i+=n||s?`c.add(${l})`:\"null\":s&&(i+=`d[s](n,${l})`),i},T=n?`!function(){${v}${$(n)}}()`:s?`!function(){try{${v}var e=localStorage.getItem('${r}');if('system'===e||(!e&&${u})){var t='${d}',m=window.matchMedia(t);if(m.media!==t||m.matches){${$(\"dark\")}}else{${$(\"light\")}}}else if(e){${m?`var x=${JSON.stringify(m)};`:\"\"}${$(m?\"x[e]\":\"e\",!0)}}${u?\"\":\"else{\"+$(l,!1,!1)+\"}\"}${g}}catch(e){}}()`:`!function(){try{${v}var e=localStorage.getItem('${r}');if(e){${m?`var x=${JSON.stringify(m)};`:\"\"}${$(m?\"x[e]\":\"e\",!0)}}else{${$(l,!1,!1)};}${g}}catch(t){}}();`;return t.createElement(\"script\",{nonce:h,dangerouslySetInnerHTML:{__html:T}})}),(()=>!0)),S=(t,n)=>{if(h)return;let r;try{r=localStorage.getItem(t)||void 0}catch(t){}return r||n},b=()=>{const t=document.createElement(\"style\");return t.appendChild(document.createTextNode(\"*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout((()=>{document.head.removeChild(t)}),1)}},p=t=>(t||(t=window.matchMedia(d)),t.matches?\"dark\":\"light\");export{$ as ThemeProvider,y as useTheme};\n\n//# sourceMappingURL=index.module.js.map","import e,{isValidElement as a,forwardRef as o}from\"react\";import r from\"react-dom\";\"use client\";var jt=e=>{switch(e){case\"success\":return s;case\"info\":return l;case\"warning\":return i;case\"error\":return c;default:return null}},n=Array(12).fill(0),Yt=({visible:a,className:o})=>e.createElement(\"div\",{className:[\"sonner-loading-wrapper\",o].filter(Boolean).join(\" \"),\"data-visible\":a},e.createElement(\"div\",{className:\"sonner-spinner\"},n.map(((a,o)=>e.createElement(\"div\",{className:\"sonner-loading-bar\",key:`spinner-bar-${o}`}))))),s=e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",fill:\"currentColor\",height:\"20\",width:\"20\"},e.createElement(\"path\",{fillRule:\"evenodd\",d:\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\",clipRule:\"evenodd\"})),i=e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 24 24\",fill:\"currentColor\",height:\"20\",width:\"20\"},e.createElement(\"path\",{fillRule:\"evenodd\",d:\"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z\",clipRule:\"evenodd\"})),l=e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",fill:\"currentColor\",height:\"20\",width:\"20\"},e.createElement(\"path\",{fillRule:\"evenodd\",d:\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z\",clipRule:\"evenodd\"})),c=e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 20 20\",fill:\"currentColor\",height:\"20\",width:\"20\"},e.createElement(\"path\",{fillRule:\"evenodd\",d:\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z\",clipRule:\"evenodd\"})),u=e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"12\",height:\"12\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"1.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},e.createElement(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),e.createElement(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"}));var Ft=()=>{let[a,o]=e.useState(document.hidden);return e.useEffect((()=>{let t=()=>{o(document.hidden)};return document.addEventListener(\"visibilitychange\",t),()=>window.removeEventListener(\"visibilitychange\",t)}),[]),a};var m=1,h=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let a=this.subscribers.indexOf(e);this.subscribers.splice(a,1)});this.publish=e=>{this.subscribers.forEach((a=>a(e)))};this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};this.create=e=>{var a;let{message:o,...r}=e,n=typeof(e==null?void 0:e.id)==\"number\"||((a=e.id)==null?void 0:a.length)>0?e.id:m++,s=this.toasts.find((e=>e.id===n)),i=e.dismissible===void 0||e.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),s?this.toasts=this.toasts.map((a=>a.id===n?(this.publish({...a,...e,id:n,title:o}),{...a,...e,id:n,dismissible:i,title:o}):a)):this.addToast({title:o,...r,dismissible:i,id:n}),n};this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach((e=>{this.subscribers.forEach((a=>a({id:e.id,dismiss:!0})))})),this.subscribers.forEach((a=>a({id:e,dismiss:!0}))),e);this.message=(e,a)=>this.create({...a,message:e});this.error=(e,a)=>this.create({...a,message:e,type:\"error\"});this.success=(e,a)=>this.create({...a,type:\"success\",message:e});this.info=(e,a)=>this.create({...a,type:\"info\",message:e});this.warning=(e,a)=>this.create({...a,type:\"warning\",message:e});this.loading=(e,a)=>this.create({...a,type:\"loading\",message:e});this.promise=(a,o)=>{if(!o)return;let r;o.loading!==void 0&&(r=this.create({...o,promise:a,type:\"loading\",message:o.loading,description:typeof o.description!=\"function\"?o.description:void 0}));let n,s=a instanceof Promise?a:a(),i=r!==void 0,l=s.then((async a=>{if(n=[\"resolve\",a],e.isValidElement(a))i=!1,this.create({id:r,type:\"default\",message:a});else if(ie(a)&&!a.ok){i=!1;let e=typeof o.error==\"function\"?await o.error(`HTTP error! status: ${a.status}`):o.error,n=typeof o.description==\"function\"?await o.description(`HTTP error! status: ${a.status}`):o.description;this.create({id:r,type:\"error\",message:e,description:n})}else if(o.success!==void 0){i=!1;let e=typeof o.success==\"function\"?await o.success(a):o.success,n=typeof o.description==\"function\"?await o.description(a):o.description;this.create({id:r,type:\"success\",message:e,description:n})}})).catch((async e=>{if(n=[\"reject\",e],o.error!==void 0){i=!1;let a=typeof o.error==\"function\"?await o.error(e):o.error,n=typeof o.description==\"function\"?await o.description(e):o.description;this.create({id:r,type:\"error\",message:a,description:n})}})).finally((()=>{var e;i&&(this.dismiss(r),r=void 0),(e=o.finally)==null||e.call(o)})),g=()=>new Promise(((e,a)=>l.then((()=>n[0]===\"reject\"?a(n[1]):e(n[1]))).catch(a)));return typeof r!=\"string\"&&typeof r!=\"number\"?{unwrap:g}:Object.assign(r,{unwrap:g})};this.custom=(e,a)=>{let o=(a==null?void 0:a.id)||m++;return this.create({jsx:e(o),id:o,...a}),o};this.getActiveToasts=()=>this.toasts.filter((e=>!this.dismissedToasts.has(e.id)));this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=new h,ne=(e,a)=>{let o=(a==null?void 0:a.id)||m++;return f.addToast({title:e,...a,id:o}),o},ie=e=>e&&typeof e==\"object\"&&\"ok\"in e&&typeof e.ok==\"boolean\"&&\"status\"in e&&typeof e.status==\"number\",p=ne,ce=()=>f.toasts,de=()=>f.getActiveToasts(),v=Object.assign(p,{success:f.success,info:f.info,warning:f.warning,error:f.error,custom:f.custom,message:f.message,promise:f.promise,dismiss:f.dismiss,loading:f.loading},{getHistory:ce,getToasts:de});function wt(e,{insertAt:a}={}){if(!e||typeof document==\"undefined\")return;let o=document.head||document.getElementsByTagName(\"head\")[0],r=document.createElement(\"style\");r.type=\"text/css\",a===\"top\"&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}wt(':where(html[dir=\"ltr\"]),:where([data-sonner-toaster][dir=\"ltr\"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir=\"rtl\"]),:where([data-sonner-toaster][dir=\"rtl\"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted=\"true\"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted=\"true\"]){transform:none}}:where([data-sonner-toaster][data-x-position=\"right\"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position=\"left\"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position=\"center\"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position=\"top\"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position=\"bottom\"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled=\"true\"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position=\"top\"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position=\"bottom\"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise=\"true\"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme=\"dark\"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled=\"true\"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping=\"true\"]):before{content:\"\";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position=\"top\"][data-swiping=\"true\"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position=\"bottom\"][data-swiping=\"true\"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping=\"false\"][data-removed=\"true\"]):before{content:\"\";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:\"\";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted=\"true\"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded=\"false\"][data-front=\"false\"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded=\"false\"][data-front=\"false\"][data-styled=\"true\"])>*{opacity:0}:where([data-sonner-toast][data-visible=\"false\"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted=\"true\"][data-expanded=\"true\"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed=\"true\"][data-front=\"true\"][data-swipe-out=\"false\"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=\"true\"][data-front=\"false\"][data-swipe-out=\"false\"][data-expanded=\"true\"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=\"true\"][data-front=\"false\"][data-swipe-out=\"false\"][data-expanded=\"false\"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed=\"true\"][data-front=\"false\"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}\\n');function tt(e){return e.label!==void 0}var b=3,y=\"32px\",w=\"16px\",x=4e3,E=356,k=14,N=20,T=200;function M(...e){return e.filter(Boolean).join(\" \")}function xe(e){let[a,o]=e.split(\"-\"),r=[];return a&&r.push(a),o&&r.push(o),r}var ve=o=>{var r,n,s,i,l,c,m,h,f,p,v;let{invert:b,toast:y,unstyled:w,interacting:E,setHeights:k,visibleToasts:S,heights:B,index:C,toasts:z,expanded:I,removeToast:R,defaultRichColors:Y,closeButton:j,style:$,cancelButtonStyle:P,actionButtonStyle:D,className:H=\"\",descriptionClassName:L=\"\",duration:A,position:O,gap:U,loadingIcon:W,expandByDefault:V,classNames:F,icons:K,closeButtonAriaLabel:_=\"Close toast\",pauseWhenPageIsHidden:X}=o,[Z,q]=e.useState(null),[G,J]=e.useState(null),[Q,et]=e.useState(!1),[at,ot]=e.useState(!1),[rt,nt]=e.useState(!1),[st,it]=e.useState(!1),[lt,dt]=e.useState(!1),[ct,ut]=e.useState(0),[mt,ht]=e.useState(0),ft=e.useRef(y.duration||A||x),pt=e.useRef(null),gt=e.useRef(null),vt=C===0,bt=C+1<=S,yt=y.type,xt=y.dismissible!==!1,Et=y.className||\"\",kt=y.descriptionClassName||\"\",Nt=e.useMemo((()=>B.findIndex((e=>e.toastId===y.id))||0),[B,y.id]),Mt=e.useMemo((()=>{var e;return(e=y.closeButton)!=null?e:j}),[y.closeButton,j]),Tt=e.useMemo((()=>y.duration||A||x),[y.duration,A]),St=e.useRef(0),Bt=e.useRef(0),Ct=e.useRef(0),zt=e.useRef(null),[It,Rt]=O.split(\"-\"),$t=e.useMemo((()=>B.reduce(((e,a,o)=>o>=Nt?e:e+a.height),0)),[B,Nt]),Pt=Ft(),Dt=y.invert||b,Ht=yt===\"loading\";Bt.current=e.useMemo((()=>Nt*U+$t),[Nt,$t]),e.useEffect((()=>{ft.current=Tt}),[Tt]),e.useEffect((()=>{et(!0)}),[]),e.useEffect((()=>{let e=gt.current;if(e){let a=e.getBoundingClientRect().height;return ht(a),k((e=>[{toastId:y.id,height:a,position:y.position},...e])),()=>k((e=>e.filter((e=>e.toastId!==y.id))))}}),[k,y.id]),e.useLayoutEffect((()=>{if(!Q)return;let e=gt.current,a=e.style.height;e.style.height=\"auto\";let o=e.getBoundingClientRect().height;e.style.height=a,ht(o),k((e=>e.find((e=>e.toastId===y.id))?e.map((e=>e.toastId===y.id?{...e,height:o}:e)):[{toastId:y.id,height:o,position:y.position},...e]))}),[Q,y.title,y.description,k,y.id]);let Lt=e.useCallback((()=>{ot(!0),ut(Bt.current),k((e=>e.filter((e=>e.toastId!==y.id)))),setTimeout((()=>{R(y)}),T)}),[y,R,k,Bt]);e.useEffect((()=>{if(y.promise&&yt===\"loading\"||y.duration===1/0||y.type===\"loading\")return;let e;return I||E||X&&Pt?(()=>{if(Ct.current<St.current){let e=(new Date).getTime()-St.current;ft.current=ft.current-e}Ct.current=(new Date).getTime()})():(()=>{ft.current!==1/0&&(St.current=(new Date).getTime(),e=setTimeout((()=>{var e;(e=y.onAutoClose)==null||e.call(y,y),Lt()}),ft.current))})(),()=>clearTimeout(e)}),[I,E,y,yt,X,Pt,Lt]),e.useEffect((()=>{y.delete&&Lt()}),[Lt,y.delete]);function Zt(){var a,o,r;return K!=null&&K.loading?e.createElement(\"div\",{className:M(F==null?void 0:F.loader,(a=y==null?void 0:y.classNames)==null?void 0:a.loader,\"sonner-loader\"),\"data-visible\":yt===\"loading\"},K.loading):W?e.createElement(\"div\",{className:M(F==null?void 0:F.loader,(o=y==null?void 0:y.classNames)==null?void 0:o.loader,\"sonner-loader\"),\"data-visible\":yt===\"loading\"},W):e.createElement(Yt,{className:M(F==null?void 0:F.loader,(r=y==null?void 0:y.classNames)==null?void 0:r.loader),visible:yt===\"loading\"})}return e.createElement(\"li\",{tabIndex:0,ref:gt,className:M(H,Et,F==null?void 0:F.toast,(r=y==null?void 0:y.classNames)==null?void 0:r.toast,F==null?void 0:F.default,F==null?void 0:F[yt],(n=y==null?void 0:y.classNames)==null?void 0:n[yt]),\"data-sonner-toast\":\"\",\"data-rich-colors\":(s=y.richColors)!=null?s:Y,\"data-styled\":!(y.jsx||y.unstyled||w),\"data-mounted\":Q,\"data-promise\":!!y.promise,\"data-swiped\":lt,\"data-removed\":at,\"data-visible\":bt,\"data-y-position\":It,\"data-x-position\":Rt,\"data-index\":C,\"data-front\":vt,\"data-swiping\":rt,\"data-dismissible\":xt,\"data-type\":yt,\"data-invert\":Dt,\"data-swipe-out\":st,\"data-swipe-direction\":G,\"data-expanded\":!!(I||V&&Q),style:{\"--index\":C,\"--toasts-before\":C,\"--z-index\":z.length-C,\"--offset\":`${at?ct:Bt.current}px`,\"--initial-height\":V?\"auto\":`${mt}px`,...$,...y.style},onDragEnd:()=>{nt(!1),q(null),zt.current=null},onPointerDown:e=>{Ht||!xt||(pt.current=new Date,ut(Bt.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==\"BUTTON\"&&(nt(!0),zt.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{var e,a,o,r;if(st||!xt)return;zt.current=null;let n=Number(((e=gt.current)==null?void 0:e.style.getPropertyValue(\"--swipe-amount-x\").replace(\"px\",\"\"))||0),s=Number(((a=gt.current)==null?void 0:a.style.getPropertyValue(\"--swipe-amount-y\").replace(\"px\",\"\"))||0),i=(new Date).getTime()-((o=pt.current)==null?void 0:o.getTime()),l=Z===\"x\"?n:s,c=Math.abs(l)/i;Math.abs(l)>=N||c>.11?(ut(Bt.current),(r=y.onDismiss)==null||r.call(y,y),J(Z===\"x\"?n>0?\"right\":\"left\":s>0?\"down\":\"up\"),Lt(),it(!0),dt(!1)):(nt(!1),q(null))},onPointerMove:e=>{var a,r,n,s;if(!zt.current||!xt||((a=window.getSelection())==null?void 0:a.toString().length)>0)return;let i=e.clientY-zt.current.y,l=e.clientX-zt.current.x,c=(r=o.swipeDirections)!=null?r:xe(O);!Z&&(Math.abs(l)>1||Math.abs(i)>1)&&q(Math.abs(l)>Math.abs(i)?\"x\":\"y\");let u={x:0,y:0};Z===\"y\"?(c.includes(\"top\")||c.includes(\"bottom\"))&&(c.includes(\"top\")&&i<0||c.includes(\"bottom\")&&i>0)&&(u.y=i):Z===\"x\"&&(c.includes(\"left\")||c.includes(\"right\"))&&(c.includes(\"left\")&&l<0||c.includes(\"right\")&&l>0)&&(u.x=l),(Math.abs(u.x)>0||Math.abs(u.y)>0)&&dt(!0),(n=gt.current)==null||n.style.setProperty(\"--swipe-amount-x\",`${u.x}px`),(s=gt.current)==null||s.style.setProperty(\"--swipe-amount-y\",`${u.y}px`)}},Mt&&!y.jsx?e.createElement(\"button\",{\"aria-label\":_,\"data-disabled\":Ht,\"data-close-button\":!0,onClick:Ht||!xt?()=>{}:()=>{var e;Lt(),(e=y.onDismiss)==null||e.call(y,y)},className:M(F==null?void 0:F.closeButton,(i=y==null?void 0:y.classNames)==null?void 0:i.closeButton)},(l=K==null?void 0:K.close)!=null?l:u):null,y.jsx||a(y.title)?y.jsx?y.jsx:typeof y.title==\"function\"?y.title():y.title:e.createElement(e.Fragment,null,yt||y.icon||y.promise?e.createElement(\"div\",{\"data-icon\":\"\",className:M(F==null?void 0:F.icon,(c=y==null?void 0:y.classNames)==null?void 0:c.icon)},y.promise||y.type===\"loading\"&&!y.icon?y.icon||Zt():null,y.type!==\"loading\"?y.icon||(K==null?void 0:K[yt])||jt(yt):null):null,e.createElement(\"div\",{\"data-content\":\"\",className:M(F==null?void 0:F.content,(m=y==null?void 0:y.classNames)==null?void 0:m.content)},e.createElement(\"div\",{\"data-title\":\"\",className:M(F==null?void 0:F.title,(h=y==null?void 0:y.classNames)==null?void 0:h.title)},typeof y.title==\"function\"?y.title():y.title),y.description?e.createElement(\"div\",{\"data-description\":\"\",className:M(L,kt,F==null?void 0:F.description,(f=y==null?void 0:y.classNames)==null?void 0:f.description)},typeof y.description==\"function\"?y.description():y.description):null),a(y.cancel)?y.cancel:y.cancel&&tt(y.cancel)?e.createElement(\"button\",{\"data-button\":!0,\"data-cancel\":!0,style:y.cancelButtonStyle||P,onClick:e=>{var a,o;tt(y.cancel)&&xt&&((o=(a=y.cancel).onClick)==null||o.call(a,e),Lt())},className:M(F==null?void 0:F.cancelButton,(p=y==null?void 0:y.classNames)==null?void 0:p.cancelButton)},y.cancel.label):null,a(y.action)?y.action:y.action&&tt(y.action)?e.createElement(\"button\",{\"data-button\":!0,\"data-action\":!0,style:y.actionButtonStyle||D,onClick:e=>{var a,o;tt(y.action)&&((o=(a=y.action).onClick)==null||o.call(a,e),!e.defaultPrevented&&Lt())},className:M(F==null?void 0:F.actionButton,(v=y==null?void 0:y.classNames)==null?void 0:v.actionButton)},y.action.label):null))};function _t(){if(typeof window==\"undefined\"||typeof document==\"undefined\")return\"ltr\";let e=document.documentElement.getAttribute(\"dir\");return e!==\"auto\"&&e?e:window.getComputedStyle(document.documentElement).direction}function Te(e,a){let o={};return[e,a].forEach(((e,a)=>{let r=a===1,n=r?\"--mobile-offset\":\"--offset\",s=r?w:y;function g(e){[\"top\",\"right\",\"bottom\",\"left\"].forEach((a=>{o[`${n}-${a}`]=typeof e==\"number\"?`${e}px`:e}))}typeof e==\"number\"||typeof e==\"string\"?g(e):typeof e==\"object\"?[\"top\",\"right\",\"bottom\",\"left\"].forEach((a=>{e[a]===void 0?o[`${n}-${a}`]=s:o[`${n}-${a}`]=typeof e[a]==\"number\"?`${e[a]}px`:e[a]})):g(s)})),o}function Oe(){let[a,o]=e.useState([]);return e.useEffect((()=>f.subscribe((e=>{e.dismiss?setTimeout((()=>{r.flushSync((()=>{o((a=>a.filter((a=>a.id!==e.id))))}))})):setTimeout((()=>{r.flushSync((()=>{o((a=>{let o=a.findIndex((a=>a.id===e.id));return o!==-1?[...a.slice(0,o),{...a[o],...e},...a.slice(o+1)]:[e,...a]}))}))}))}))),[]),{toasts:a}}var S=o((function(a,o){let{invert:n,position:s=\"bottom-right\",hotkey:i=[\"altKey\",\"KeyT\"],expand:l,closeButton:c,className:u,offset:m,mobileOffset:h,theme:p=\"light\",richColors:v,duration:y,style:w,visibleToasts:x=b,toastOptions:N,dir:T=_t(),gap:S=k,loadingIcon:B,icons:C,containerAriaLabel:z=\"Notifications\",pauseWhenPageIsHidden:I}=a,[R,Y]=e.useState([]),j=e.useMemo((()=>Array.from(new Set([s].concat(R.filter((e=>e.position)).map((e=>e.position)))))),[R,s]),[$,P]=e.useState([]),[D,H]=e.useState(!1),[L,A]=e.useState(!1),[O,U]=e.useState(p!==\"system\"?p:typeof window!=\"undefined\"&&window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\"),W=e.useRef(null),V=i.join(\"+\").replace(/Key/g,\"\").replace(/Digit/g,\"\"),F=e.useRef(null),K=e.useRef(!1),_=e.useCallback((e=>{Y((a=>{var o;return(o=a.find((a=>a.id===e.id)))!=null&&o.delete||f.dismiss(e.id),a.filter((({id:a})=>a!==e.id))}))}),[]);return e.useEffect((()=>f.subscribe((e=>{e.dismiss?Y((a=>a.map((a=>a.id===e.id?{...a,delete:!0}:a)))):setTimeout((()=>{r.flushSync((()=>{Y((a=>{let o=a.findIndex((a=>a.id===e.id));return o!==-1?[...a.slice(0,o),{...a[o],...e},...a.slice(o+1)]:[e,...a]}))}))}))}))),[]),e.useEffect((()=>{if(p!==\"system\"){U(p);return}if(p===\"system\"&&(window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches?U(\"dark\"):U(\"light\")),typeof window==\"undefined\")return;let e=window.matchMedia(\"(prefers-color-scheme: dark)\");try{e.addEventListener(\"change\",(({matches:e})=>{U(e?\"dark\":\"light\")}))}catch(a){e.addListener((({matches:e})=>{try{U(e?\"dark\":\"light\")}catch(e){console.error(e)}}))}}),[p]),e.useEffect((()=>{R.length<=1&&H(!1)}),[R]),e.useEffect((()=>{let d=e=>{var a,o;i.every((a=>e[a]||e.code===a))&&(H(!0),(a=W.current)==null||a.focus()),e.code===\"Escape\"&&(document.activeElement===W.current||(o=W.current)!=null&&o.contains(document.activeElement))&&H(!1)};return document.addEventListener(\"keydown\",d),()=>document.removeEventListener(\"keydown\",d)}),[i]),e.useEffect((()=>{if(W.current)return()=>{F.current&&(F.current.focus({preventScroll:!0}),F.current=null,K.current=!1)}}),[W.current]),e.createElement(\"section\",{ref:o,\"aria-label\":`${z} ${V}`,tabIndex:-1,\"aria-live\":\"polite\",\"aria-relevant\":\"additions text\",\"aria-atomic\":\"false\",suppressHydrationWarning:!0},j.map(((o,r)=>{var s;let[i,f]=o.split(\"-\");return R.length?e.createElement(\"ol\",{key:o,dir:T===\"auto\"?_t():T,tabIndex:-1,ref:W,className:u,\"data-sonner-toaster\":!0,\"data-theme\":O,\"data-y-position\":i,\"data-lifted\":D&&R.length>1&&!l,\"data-x-position\":f,style:{\"--front-toast-height\":`${((s=$[0])==null?void 0:s.height)||0}px`,\"--width\":`${E}px`,\"--gap\":`${S}px`,...w,...Te(m,h)},onBlur:e=>{K.current&&!e.currentTarget.contains(e.relatedTarget)&&(K.current=!1,F.current&&(F.current.focus({preventScroll:!0}),F.current=null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===\"false\"||K.current||(K.current=!0,F.current=e.relatedTarget)},onMouseEnter:()=>H(!0),onMouseMove:()=>H(!0),onMouseLeave:()=>{L||H(!1)},onDragEnd:()=>H(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===\"false\"||A(!0)},onPointerUp:()=>A(!1)},R.filter((e=>!e.position&&r===0||e.position===o)).map(((r,s)=>{var i,u;return e.createElement(ve,{key:r.id,icons:C,index:s,toast:r,defaultRichColors:v,duration:(i=N==null?void 0:N.duration)!=null?i:y,className:N==null?void 0:N.className,descriptionClassName:N==null?void 0:N.descriptionClassName,invert:n,visibleToasts:x,closeButton:(u=N==null?void 0:N.closeButton)!=null?u:c,interacting:L,position:o,style:N==null?void 0:N.style,unstyled:N==null?void 0:N.unstyled,classNames:N==null?void 0:N.classNames,cancelButtonStyle:N==null?void 0:N.cancelButtonStyle,actionButtonStyle:N==null?void 0:N.actionButtonStyle,removeToast:_,toasts:R.filter((e=>e.position==r.position)),heights:$.filter((e=>e.position==r.position)),setHeights:P,expandByDefault:l,gap:S,loadingIcon:B,expanded:D,pauseWhenPageIsHidden:I,swipeDirections:a.swipeDirections})}))):null})))}));export{S as Toaster,v as toast,Oe as useSonner};\n//# sourceMappingURL=index.mjs.map\n","/**\n * --------------------------------------------------------------------\n * Sonner\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useTheme}from\"next-themes\";import{toast,Toaster as ToasterComponent}from\"https://ga.jspm.io/npm:sonner@1.7.4/dist/index.mjs\";/**\n * --------------------------------------------------------------------\n * Components\n * --------------------------------------------------------------------\n */export const Toaster=({...props})=>{const{theme=\"system\"}=useTheme();return /*#__PURE__*/_jsx(ToasterComponent,{theme:theme,className:\"toaster group\",toastOptions:{classNames:{toast:\"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",description:\"group-[.toast]:text-muted-foreground\",actionButton:\"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",cancelButton:\"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\"}},...props});};/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n */export{toast};/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Sonner(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"Toaster\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"toast\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Sonner\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Sonner.map","/*\n * Sonner\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Bt9VVZ5tDM517bPvDedO/32BDShg5hYYuecIur27K/Sonner.js\"\nexport { default } from \"https://framerusercontent.com/modules/Bt9VVZ5tDM517bPvDedO/32BDShg5hYYuecIur27K/Sonner.js\"\n","/**\n * --------------------------------------------------------------------\n * Core: Capsule\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{RenderTarget}from\"framer\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{Toaster}from\"https://framer.com/m/Sonner-2W7J.js\";/**\n * --------------------------------------------------------------------\n * Store\n * --------------------------------------------------------------------\n */// Create a global Framer store.\nexport const useGlobals=createStore({capsule:undefined,// Authentication\nuser:null,token:null,// State\nisLoading:true,isLoggedIn:false});/**\n * --------------------------------------------------------------------\n * Dependencies\n * --------------------------------------------------------------------\n *//**\n * Check if the current render target is a canvas.\n */export const isCanvas=RenderTarget.current()===RenderTarget.canvas;/**\n * Check if the current render target is in the canvas preview.\n */export const isCanvasPreview=typeof window!==\"undefined\"&&RenderTarget.current()===RenderTarget.preview&&window?.location?.host?.includes(\"framercanvas.com\");/**\n * Check if the current render target is in Framer.\n */export const isFramer=isCanvas||isCanvasPreview;/**\n * Helper to check if the current user is logged in.\n */export function isUserLoggedIn(user){if(user===null||user===undefined){return false;}return true;}/**\n * The authenticator wrapper used to load the current user & capsule.\n */function withAuthenticator(Component,capsule){if(isFramer){return props=>{const[_globals,setGlobals]=useGlobals();useEffect(()=>{setGlobals({isLoading:false});},[]);return /*#__PURE__*/_jsx(Component,{...props});};}return props=>{const[{isLoading},setGlobals]=useGlobals();/**\n         * Initialize the Clerk.js instance (via the JavaScript SDK).\n         */const initialize=async()=>{if(typeof window!==\"undefined\"){// @ts-ignore\nif(window.Clerk){const clerk=window.Clerk;const config=capsule?.apps?.clerk||{};// Load the Clerk instance.\nawait clerk.load(config);// Get the user data & session token.\nconst user=clerk.user;// Update the globals with the initial state\nsetGlobals({capsule,user,token:await clerk.session?.getToken({template:\"Hasura\"}),isLoading:false,isLoggedIn:isUserLoggedIn(user)});// Set up an event listener to update user and token on changes\nconst handleClerkUpdate=async resources=>{if(resources.user&&resources.session){const token=await clerk.session.getToken({template:\"Hasura\"});setGlobals(prev=>({...prev,user:resources.user,token,isLoggedIn:true}));}else{setGlobals(prev=>({...prev,user:null,token:null,isLoggedIn:false}));}};// Assuming Clerk exposes addListener and optionally removeListener/off:\nconst unsubscribe=clerk.addListener(handleClerkUpdate);// Optionally, return a cleanup function if Clerk supports removal:\nreturn()=>{unsubscribe();};}else{setTimeout(initialize,100);}}else{setGlobals({isLoading:false});}};/**\n         * If not initialized, run it.\n         */useEffect(()=>{if(isLoading){initialize();}},[isLoading]);/**\n         * Return the component.\n         */return /*#__PURE__*/_jsx(Component,{...props});};}/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * An override to wrap the whole layout in.\n */export function App(Component,capsule){return withAuthenticator(({children,...props})=>{const[globals,setGlobals]=useGlobals();/**\n         * Render the component.\n         */return /*#__PURE__*/_jsxs(Component,{...props,globals:globals,children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n\t\t\t\t\t\t\tdiv[class*=\"-container\"]:empty { \n\t\t\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\t\t\tvisibility: hidden;\n\t\t\t\t\t\t\t}`}}),children,/*#__PURE__*/_jsx(Toaster,{})]});},capsule);}/**\n * An override to pass in the capsule to the component.\n */export function Globals(Component){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return props=>{const[globals]=useGlobals();return /*#__PURE__*/_jsx(Component,{...props,globals:globals});};}/**\n * An override used to pass the token and user to\n */export function Fetch(Component){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return props=>{const[{user,token,isLoading}]=useGlobals();if(isLoading){return null;}return /*#__PURE__*/_jsx(Component,{...props,token:token,user:user?.id});};}/**\n * An override used to pass common URL parameters (including UTM params)\n * to a component while preserving default prop values if no URL parameter is provided.\n */export function Parameters(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return props=>{let queryParams={};// Ensure we are in a browser environment before accessing window.\nif(typeof window!==\"undefined\"){const searchParams=new URLSearchParams(window.location.search);queryParams=Object.fromEntries(searchParams.entries());// Remove the query parameters from the URL once they've been processed.\n// This preserves the pathname and any hash but omits the query string.\nconst newUrl=window.location.pathname+window.location.hash;window.history.replaceState(null,\"\",newUrl);}// Merge props and queryParams.\n// For each key, if the URL parameter exists it will override the prop.\nconst mergedProps={...props,...queryParams,email:queryParams.email??props.email,first_name:queryParams.first_name??props.first_name,last_name:queryParams.last_name??props.last_name,utm_source:queryParams.utm_source??props.utm_source,utm_medium:queryParams.utm_medium??props.utm_medium,utm_campaign:queryParams.utm_campaign??props.utm_campaign,utm_term:queryParams.utm_term??props.utm_term,utm_content:queryParams.utm_content??props.utm_content};return /*#__PURE__*/_jsx(Component,{...mergedProps});};}/**\n * An override used to set components in a loading state while waiting for Destacked.\n */export const Suspense=Component=>{return({variant,...props})=>{const[{isLoading}]=useGlobals();return /*#__PURE__*/_jsx(Component,{...props,variant:isLoading?\"Loading\":variant});};};/**\n * An override used to set components in a loading state with support for multiple loading variants.\n */export const SuspenseExtended=Component=>{return({variant,...props})=>{const[{isLoading}]=useGlobals();return /*#__PURE__*/_jsx(Component,{...props,variant:isLoading?variant+\" - Loading\":variant});};};/**\n * An override that combines suspense with fetch for non-native fetches.\n */export function SuspenseFetch(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return({variant,...props})=>{const[{user,token,isLoading}]=useGlobals();return /*#__PURE__*/_jsx(Component,{...props,token:token||null,user:user?.id||null,variant:isLoading?\"Loading\":variant});};}/**\n * An override that combines suspense with fetch for non-native fetches with support for multiple loading variants.\n */export function SuspenseFetchExtended(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return({variant,...props})=>{const[{user,token,isLoading}]=useGlobals();return /*#__PURE__*/_jsx(Component,{...props,token:token||null,user:user?.id||null,variant:isLoading?variant+\" - Loading\":variant});};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Capsule(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"Fetch\":{\"type\":\"reactHoc\",\"name\":\"Fetch\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SuspenseFetchExtended\":{\"type\":\"reactHoc\",\"name\":\"SuspenseFetchExtended\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Capsule\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"isCanvasPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SuspenseExtended\":{\"type\":\"reactHoc\",\"name\":\"SuspenseExtended\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isUserLoggedIn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SuspenseFetch\":{\"type\":\"reactHoc\",\"name\":\"SuspenseFetch\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Globals\":{\"type\":\"reactHoc\",\"name\":\"Globals\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Suspense\":{\"type\":\"reactHoc\",\"name\":\"Suspense\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useGlobals\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"App\":{\"type\":\"reactHoc\",\"name\":\"App\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isFramer\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Parameters\":{\"type\":\"reactHoc\",\"name\":\"Parameters\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Capsule.map","/*\n * Capsule\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/mD74E4jxaAK7KNM9Zdur/g64ooEfjR4Byb63qPgVc/Capsule.js\"\nexport { default } from \"https://framerusercontent.com/modules/mD74E4jxaAK7KNM9Zdur/g64ooEfjR4Byb63qPgVc/Capsule.js\"\n","/**\n * --------------------------------------------------------------------\n * Apps: Clerk\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n *//**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Get the authenticated user.\n */import{jsx as _jsx}from\"react/jsx-runtime\";export function getUser(){return window.Clerk.user;}/**\n * Get the auth token for the current user.\n */export async function getToken(){return await window.Clerk.session?.getToken({template:\"Hasura\"});}/**\n * Get the auth session.\n */export async function getSession(){const token=await getToken();const user=getUser();if(!token||!user){return{token:null,user:null};}return{token,user};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Clerk(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Clerk\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"getSession\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getUser\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Clerk.map","/*\n * Clerk\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/06AE0I0VQnMIBuD1CtCk/a0qnBLfCc02vDWtDN6Fl/Clerk.js\"\nexport { default } from \"https://framerusercontent.com/modules/06AE0I0VQnMIBuD1CtCk/a0qnBLfCc02vDWtDN6Fl/Clerk.js\"\n","/**\n * --------------------------------------------------------------------\n * Helpers: Development\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{// @ts-expect-error\ngetPropertyControls}from\"framer\";/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Turn an object into a variant-friendly version for Framer components.\n */export function propify(obj){if(obj===null||obj===undefined){return obj// Return the value if it's null or undefined\n;}if(Array.isArray(obj)){return obj.map(propify)// Recursively apply to array elements\n;}if(typeof obj===\"object\"){const result={};for(let key in obj){if(obj.hasOwnProperty(key)){const camelCaseKey=key.replace(/_([a-z])/g,(match,letter)=>letter.toUpperCase());result[camelCaseKey]=propify(obj[key])// Recursively apply to nested objects\n;}}return result;}return obj// Return the value if it's neither an array nor an object\n;}/**\n * Compose multiple functions around a wrapped callback.\n */export function compose(...funcs){if(funcs.length===0){return arg=>arg;}if(funcs.length===1){return funcs[0];}return funcs.reduce((a,b)=>(...args)=>a(b(...args)));}/**\n * Get the error message\n *\n * @link https://codex.destacked.com/modules/destacked-helpers/functions/geterror\n *\n * @param {object} err\n * @returns {string}\n */export function getError(err){const defaultError=\"An unexpected error occurred. Refresh and try again.\";if(!err){return defaultError;}// Handle direct string errors.\nif(typeof err===\"string\"){return err;}// Handle errors with multiple messages.\nif(err.errors){return err.errors[0].longMessage||\"\";}// Handle regular errors.\nif(err?.message){return err?.message;}// Handle specific status codes\nswitch(err?.status){case 429:return\"You have made too many requests. Please try again later.\";case 400:return\"Bad Request. Please check your input.\";case 404:return\"Resource not found. Please check the URL.\";case 500:return\"Internal server error. Please try again later.\";default:return defaultError;}}/**\n * Validate conditions in a given object.\n */export function validateConditions(data,conditions){if(!conditions||conditions.length===0)return true;for(const condition of conditions){const{field,operator,value}=condition;if(!(field in data)){return false;}let conditionMet=false;switch(operator){case\"==\":conditionMet=data[field]==value;break;case\"!=\":conditionMet=data[field]!=value;break;case\">\":conditionMet=data[field]>value;break;case\"<\":conditionMet=data[field]<value;break;case\">=\":conditionMet=data[field]>=value;break;case\"<=\":conditionMet=data[field]<=value;break;case\"is set\":conditionMet=data[field]!==undefined&&data[field]!==null&&data[field]!==\"\";break;default:conditionMet=false;}if(!conditionMet)return false;}return true;}/**\n * Utility function to get the variant for a component.\n *\n * @param {Object} params - Parameters for the function.\n * @param {ComponentType} params.Component - The Framer component.\n * @param {string} params.variant - The current variant identifier.\n *\n * @returns {string} The loading variant value.\n */export function getVariant({Component,variant:currentVariant,suffix}){try{const baseControls=getPropertyControls(Component);const variantControl=baseControls?.variant;// Get the control group for the variant.\nif(variantControl?.title===\"Variant\"){const{options=[],optionTitles=[]}=variantControl;const currentIndex=options.indexOf(currentVariant);if(currentIndex!==-1){const currentTitle=optionTitles[currentIndex]// \"Desktop\"\n;const baseTitle=currentTitle.replace(/\\s*\\(Loading\\)$/,\"\").trim();// Find the loading title\nconst newTitle=`${baseTitle}${suffix}`;const newIndex=optionTitles.indexOf(newTitle);// If the new index exists, return the title.\nif(newIndex!==-1){return newTitle;}// Otherwise, return the current variant.\nreturn currentTitle;}}return currentVariant;}catch(error){console.error(\"Error getting the loading variant for: \",Component,\" with current variant: \",currentVariant);return currentVariant;}}/**\n * Utility function to get the loading variant based on the current variant.\n *\n * @param {Object} params - Parameters for the function.\n * @param {ComponentType} params.Component - The Framer component.\n * @param {string} params.variant - The current variant identifier.\n *\n * @returns {string} The loading variant value.\n */export function getLoadingVariant({Component,variant:currentVariant}){let loadingVariantValue=\"Loading\"// Fallback\n;// If no current variant, return the fallback.\nif(!currentVariant){return loadingVariantValue;}try{// Get the base variant control.\nconst baseControls=getPropertyControls(Component);const variantControl=baseControls?.variant;// Get the control group for the variant.\nif(variantControl?.title===\"Variant\"){const{options=[],optionTitles=[]}=variantControl;const currentIndex=options.indexOf(currentVariant);if(currentIndex!==-1){const currentTitle=optionTitles[currentIndex]// \"Desktop\"\n;// Remove any existing \"(Loading)\" to get the base title\nconst baseTitle=currentTitle.replace(/\\s*\\(Loading\\)$/,\"\").trim();// Find the loading title\nconst loadingTitle=`${baseTitle} (Loading)`;const loadingIndex=optionTitles.indexOf(loadingTitle);if(loadingIndex!==-1){loadingVariantValue=loadingTitle;}}}return loadingVariantValue;}catch(error){console.error(\"Error getting the loading variant for: \",Component,\" with current variant: \",currentVariant);return loadingVariantValue;}}/**\n * Utility function to create a loading variant-wrapped component.\n *\n * @experimental Doesn't work as expected yet.\n */export function createLoadingVariant(Component,props){return()=>/*#__PURE__*/_jsx(Component,{// @ts-expect-error\n    style:{...props?.style||{},width:\"100%\",height:\"100%\"},variant:getLoadingVariant({Component,variant:props.variant})});}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Development(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"compose\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLoadingVariant\":{\"type\":\"reactHoc\",\"name\":\"createLoadingVariant\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"validateConditions\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getError\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Development\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"getLoadingVariant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"propify\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Development.map","/*\n * Development\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/lfiXXWfbw22dBimGUePa/5BSDwyDVeav0Sf4ujU7h/Development.js\"\nexport { default } from \"https://framerusercontent.com/modules/lfiXXWfbw22dBimGUePa/5BSDwyDVeav0Sf4ujU7h/Development.js\"\n","/**\n * --------------------------------------------------------------------\n * Helpers: Window\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n *//**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Remove parameters from the window URL.\n *\n * @link https://codex.destacked.com/modules/destacked-helpers/functions/geterror\n */import{jsx as _jsx}from\"react/jsx-runtime\";export function removeParams(params){if(typeof window!==\"undefined\"){const url=new URL(window.location);if(params===\"*\"){// Remove all query parameters\nurl.searchParams.forEach((_,key)=>{url.searchParams.delete(key);});}else{// If a string or an array of strings is provided, remove those specific parameters\nconst paramsToRemove=Array.isArray(params)?params:[params];paramsToRemove.forEach(param=>{url.searchParams.delete(param);});}// Update the URL without the removed parameters\nwindow.history.replaceState(null,\"\",url.toString());}}/**\n * Remove parameters from a custom URL.\n */export function removeParamsFromURL(urlString){const url=new URL(urlString);url.search=\"\";return url.toString();}/**\n * Open a new window (i.e. when sharing to social media).\n */export function openWindow({url,title=\"Share\",width=600,height=600}){const left=window.screenX+(window.outerWidth-width)/2;const top=window.screenY+(window.outerHeight-height)/2;window.open(url,title,`width=${width},height=${height},top=${top},left=${left}`);}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Window(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"removeParamsFromURL\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"openWindow\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Window\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"removeParams\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Window.map","/*\n * Window\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/ZZdIaydkKCeNQWBTTKHK/jNzCKsYqb3l41W9FKskx/Window.js\"\nexport { default } from \"https://framerusercontent.com/modules/ZZdIaydkKCeNQWBTTKHK/jNzCKsYqb3l41W9FKskx/Window.js\"\n","/**\n * --------------------------------------------------------------------\n * Affiliates: Referrer\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{getSession}from\"https://framer.com/m/Clerk-47om.js\";import{getError,propify}from\"https://framer.com/m/Development-7oqH.js\";import{removeParams}from\"https://framer.com/m/Window-ULev.js\";/**\n * --------------------------------------------------------------------\n * Constants\n * --------------------------------------------------------------------\n */const key=\"affiliates:referrer\";const param=\"id\";/**\n * --------------------------------------------------------------------\n * Store\n * --------------------------------------------------------------------\n */const defaultValues={affiliateUuid:null,firstName:null,lastName:null,username:null,avatar:null};export const useReferrer=createStore({isLoadingReferrer:true,...defaultValues});/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n */async function getReferrer(query,{username}){try{const{data,error}=await query({gql:`\n                query GetAffiliateReferrer($member_id: bigint = 0, $username: String = \"\") {\n                    affiliates_profiles(\n                        where: {\n                            _and: [\n                                { status: { _eq: \"active\" } }\n                                { _or: [{ member_id: { _eq: $member_id } }, { member: { username: { _eq: $username } } }] }\n                            ]\n                        }\n                    ) {\n                        uuid\n                        member {\n                            first_name\n                            last_name\n                            username\n                            avatar\n                        }\n                    }\n                }\n            `,variables:{username}});// Return empty if an error occurs.\nif(error){throw error;}// Get the referrer data from the query.\nconst[affiliate]=data.affiliates_profiles||[];// If no affiliate found, return empty.\nif(!affiliate){return null;}// Get the uuid and member from the affiliate.\nconst{uuid,member}=affiliate;// Return the affiliate referrer.\nreturn propify({affiliate:{uuid},member});}catch(e){console.error(getError(e));return null;}}/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override that tracks the referrer for the current app.\n */export const withAffiliateReferrerTracker=(Component,config)=>{return props=>{const{graph}=props;const[{isLoadingMember:isLoading,isLoggedIn}]=config.useMember();const[referrer,setReferrer]=useReferrer();/**\n         * Set the referrer to the one found.\n         */const setReferrerFound=({member,affiliate})=>{const{uuid:affiliateUuid}=affiliate;const{firstName,lastName,username,avatar}=member;// Extract the data from objects.\nconst payload={affiliateUuid,firstName,lastName,username,avatar};// Update the store.\nsetReferrer({...referrer,isLoadingReferrer:false,...payload});// Update the cache.\nlocalStorage.setItem(key,JSON.stringify(payload));};/**\n         * Set the referrer to empty.\n         */const setReferrerEmpty=()=>{// Update the store.\nsetReferrer({...referrer,isLoadingReferrer:false,...defaultValues});// Update the cache.\nlocalStorage.removeItem(key);};/**\n         * Initialize the affiliate referrer when landing on the page.\n         */useEffect(()=>{async function initialize(){if(typeof window!==\"undefined\"&&!isLoading){if(isLoggedIn){const{user}=await getSession();/**\n                         * Check if the user has a referrer bound.\n                         */const profile=user.referrer;if(profile){const{affiliate:{member,...affiliate}}=profile;setReferrerFound({affiliate,member});}else{setReferrerEmpty();}}else{// Get the search params from the URL.\nconst searchParams=new URLSearchParams(window.location.search);// Get the affiliate referrer.\nif(param&&searchParams.get(param)){const{query}=graph;/**\n                             * Attempt finding the referrer from the URL string.\n                             */const payload=await getReferrer(query,{username:searchParams.get(param)});// If the referrer exists, set it.\nif(payload){removeParams(param);const{member,affiliate}=payload;setReferrerFound({affiliate,member});}else{setReferrerEmpty();}}else if(localStorage.getItem(key)){/**\n                             * Attempt finding the referrer from localStorage.\n                             */const cache=localStorage.getItem(key);// If the referrer exists, set it.\nif(cache){setReferrer({...referrer,isLoadingReferrer:false,...JSON.parse(cache)});}else{setReferrerEmpty();}}else{/**\n                             * No affiliate referrer found.\n                             */setReferrerEmpty();}}}}initialize();},[isLoading,isLoggedIn]);/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props});};};/**\n * Wrapper that provides the affiliate referrer to a component.\n *\n * @todo Could use dynamic loader variant\n */export const withAffiliateReferrerProps=Component=>{return props=>{const[{isLoadingReferrer,...referrer}]=useReferrer();const variant=isLoadingReferrer?\"Loading\":props.variant;/**\n         * If no referrer is found, hide the component.\n         */if(isLoadingReferrer||!(isLoadingReferrer||referrer.affiliateUuid)){return null;}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props,...referrer,variant:variant});};};/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Referrer(Component){return props=>{const[referrer]=useReferrer();return /*#__PURE__*/_jsx(Component,{...props,referrer:referrer});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withAffiliateReferrerTracker\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withAffiliateReferrerProps\":{\"type\":\"reactHoc\",\"name\":\"withAffiliateReferrerProps\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReferrer\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Referrer\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Referrer.map","/*\n * Referrer\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/oGJsxNhCqrgQ3MJE9e9i/oTyAQfXa3tcVJOvfNiRj/Referrer.js\"\nexport { default } from \"https://framerusercontent.com/modules/oGJsxNhCqrgQ3MJE9e9i/oTyAQfXa3tcVJOvfNiRj/Referrer.js\"\n","/**\n * --------------------------------------------------------------------\n * Core\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import*as DSCoreCapsule from\"https://framer.com/m/Capsule-oSSG.js\";import*as DSAffiliatesReferrer from\"https://framer.com/m/Referrer-aaHb.js\";/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n */export const Globals=Component=>DSCoreCapsule.Globals(Component);export const Fetch=Component=>DSCoreCapsule.Fetch(Component);export const Parameters=Component=>DSCoreCapsule.Parameters(Component);export const Suspense=Component=>DSCoreCapsule.Suspense(Component);export const SuspenseExtended=Component=>DSCoreCapsule.SuspenseExtended(Component);export const SuspenseFetch=Component=>DSCoreCapsule.SuspenseFetch(Component);export const SuspenseFetchExtended=Component=>DSCoreCapsule.SuspenseFetchExtended(Component);/**\n * --------------------------------------------------------------------\n * Shared\n * --------------------------------------------------------------------\n */export const withAffiliateReferrer=Component=>DSAffiliatesReferrer.default(Component);\nexport const __FramerMetadata__ = {\"exports\":{\"withAffiliateReferrer\":{\"type\":\"reactHoc\",\"name\":\"withAffiliateReferrer\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Suspense\":{\"type\":\"reactHoc\",\"name\":\"Suspense\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SuspenseExtended\":{\"type\":\"reactHoc\",\"name\":\"SuspenseExtended\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SuspenseFetchExtended\":{\"type\":\"reactHoc\",\"name\":\"SuspenseFetchExtended\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SuspenseFetch\":{\"type\":\"reactHoc\",\"name\":\"SuspenseFetch\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Globals\":{\"type\":\"reactHoc\",\"name\":\"Globals\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Parameters\":{\"type\":\"reactHoc\",\"name\":\"Parameters\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Fetch\":{\"type\":\"reactHoc\",\"name\":\"Fetch\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./core.map","import e from\"react\";var isCheckBoxInput=e=>\"checkbox\"===e.type;var isDateObject=e=>e instanceof Date;var isNullOrUndefined=e=>null==e;const isObjectType=e=>\"object\"===typeof e;var isObject=e=>!isNullOrUndefined(e)&&!Array.isArray(e)&&isObjectType(e)&&!isDateObject(e);var getEventValue=e=>isObject(e)&&e.target?isCheckBoxInput(e.target)?e.target.checked:e.target.value:e;var getNodeParentName=e=>e.substring(0,e.search(/\\.\\d+(\\.|$)/))||e;var isNameInFieldArray=(e,t)=>e.has(getNodeParentName(t));var compact=e=>Array.isArray(e)?e.filter(Boolean):[];var isUndefined=e=>void 0===e;var get=(e,t,r)=>{if(!t||!isObject(e))return r;const s=compact(t.split(/[,[\\].]+?/)).reduce(((e,t)=>isNullOrUndefined(e)?e:e[t]),e);return isUndefined(s)||s===e?isUndefined(e[t])?r:e[t]:s};const t={BLUR:\"blur\",FOCUS_OUT:\"focusout\",CHANGE:\"change\"};const r={onBlur:\"onBlur\",onChange:\"onChange\",onSubmit:\"onSubmit\",onTouched:\"onTouched\",all:\"all\"};const s={max:\"max\",min:\"min\",maxLength:\"maxLength\",minLength:\"minLength\",pattern:\"pattern\",required:\"required\",validate:\"validate\"};const a=e.createContext(null);\n/**\n * This custom hook allows you to access the form context. useFormContext is intended to be used in deeply nested structures, where it would become inconvenient to pass the context as a prop. To be used with {@link FormProvider}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @returns return all useForm methods\n *\n * @example\n * ```tsx\n * function App() {\n *   const methods = useForm();\n *   const onSubmit = data => console.log(data);\n *\n *   return (\n *     <FormProvider {...methods} >\n *       <form onSubmit={methods.handleSubmit(onSubmit)}>\n *         <NestedInput />\n *         <input type=\"submit\" />\n *       </form>\n *     </FormProvider>\n *   );\n * }\n *\n *  function NestedInput() {\n *   const { register } = useFormContext(); // retrieve all hook methods\n *   return <input {...register(\"test\")} />;\n * }\n * ```\n */const useFormContext=()=>e.useContext(a)\n/**\n * A provider component that propagates the `useForm` methods to all children components via [React Context](https://reactjs.org/docs/context.html) API. To be used with {@link useFormContext}.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformcontext) • [Demo](https://codesandbox.io/s/react-hook-form-v7-form-context-ytudi)\n *\n * @param props - all useFrom methods\n *\n * @example\n * ```tsx\n * function App() {\n *   const methods = useForm();\n *   const onSubmit = data => console.log(data);\n *\n *   return (\n *     <FormProvider {...methods} >\n *       <form onSubmit={methods.handleSubmit(onSubmit)}>\n *         <NestedInput />\n *         <input type=\"submit\" />\n *       </form>\n *     </FormProvider>\n *   );\n * }\n *\n *  function NestedInput() {\n *   const { register } = useFormContext(); // retrieve all hook methods\n *   return <input {...register(\"test\")} />;\n * }\n * ```\n */;const FormProvider=t=>{const{children:r,...s}=t;return e.createElement(a.Provider,{value:s},r)};var getProxyFormState=(e,t,s,a=true)=>{const n={defaultValues:t._defaultValues};for(const o in e)Object.defineProperty(n,o,{get:()=>{const n=o;t._proxyFormState[n]!==r.all&&(t._proxyFormState[n]=!a||r.all);s&&(s[n]=true);return e[n]}});return n};var isEmptyObject=e=>isObject(e)&&!Object.keys(e).length;var shouldRenderFormState=(e,t,s)=>{const{name:a,...n}=e;return isEmptyObject(n)||Object.keys(n).length>=Object.keys(t).length||Object.keys(n).find((e=>t[e]===(!s||r.all)))};var convertToArrayPayload=e=>Array.isArray(e)?e:[e];var shouldSubscribeByName=(e,t,r)=>r&&t?e===t:!e||!t||e===t||convertToArrayPayload(e).some((e=>e&&(e.startsWith(t)||t.startsWith(e))));function useSubscribe(t){const r=e.useRef(t);r.current=t;e.useEffect((()=>{const e=!t.disabled&&r.current.subject.subscribe({next:r.current.callback});return()=>{e&&e.unsubscribe()}}),[t.disabled])}\n/**\n * This custom hook allows you to subscribe to each form state, and isolate the re-render at the custom hook level. It has its scope in terms of form state subscription, so it would not affect other useFormState and useForm. Using this hook can reduce the re-render impact on large and complex form application.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useformstate) • [Demo](https://codesandbox.io/s/useformstate-75xly)\n *\n * @param props - include options on specify fields to subscribe. {@link UseFormStateReturn}\n *\n * @example\n * ```tsx\n * function App() {\n *   const { register, handleSubmit, control } = useForm({\n *     defaultValues: {\n *     firstName: \"firstName\"\n *   }});\n *   const { dirtyFields } = useFormState({\n *     control\n *   });\n *   const onSubmit = (data) => console.log(data);\n *\n *   return (\n *     <form onSubmit={handleSubmit(onSubmit)}>\n *       <input {...register(\"firstName\")} placeholder=\"First Name\" />\n *       {dirtyFields.firstName && <p>Field is dirty.</p>}\n *       <input type=\"submit\" />\n *     </form>\n *   );\n * }\n * ```\n */function useFormState(t){const r=useFormContext();const{control:s=r.control,disabled:a,name:n,exact:o}=t||{};const[i,l]=e.useState(s._formState);const u=e.useRef(true);const c=e.useRef({isDirty:false,dirtyFields:false,touchedFields:false,isValidating:false,isValid:false,errors:false});const f=e.useRef(n);f.current=n;useSubscribe({disabled:a,callback:e.useCallback((e=>u.current&&shouldSubscribeByName(f.current,e.name,o)&&shouldRenderFormState(e,c.current)&&l({...s._formState,...e})),[s,o]),subject:s._subjects.state});e.useEffect((()=>{u.current=true;const e=s._proxyFormState.isDirty&&s._getDirty();e!==s._formState.isDirty&&s._subjects.state.next({isDirty:e});s._updateValid();return()=>{u.current=false}}),[s]);return getProxyFormState(i,s,c.current,false)}var isString=e=>\"string\"===typeof e;var generateWatchOutput=(e,t,r,s)=>{if(isString(e)){s&&t.watch.add(e);return get(r,e)}if(Array.isArray(e))return e.map((e=>(s&&t.watch.add(e),get(r,e))));t.watchAll=!!s;return r};var isPlainObject=e=>{const t=e.constructor&&e.constructor.prototype;return isObject(t)&&t.hasOwnProperty(\"isPrototypeOf\")};var n=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.HTMLElement&&\"undefined\"!==typeof document;function cloneObject(e){let t;const r=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else{if(n&&(e instanceof Blob||e instanceof FileList)||!r&&!isObject(e))return e;t=r?[]:{};if(Array.isArray(e)||isPlainObject(e))for(const r in e)t[r]=cloneObject(e[r]);else t=e}return t}function useWatch(t){const r=useFormContext();const{control:s=r.control,name:a,defaultValue:n,disabled:o,exact:i}=t||{};const l=e.useRef(a);l.current=a;useSubscribe({disabled:o,subject:s._subjects.watch,callback:e=>{if(shouldSubscribeByName(l.current,e.name,i)){const t=generateWatchOutput(l.current,s._names,e.values||s._formValues);c(isUndefined(t)?n:cloneObject(t))}}});const[u,c]=e.useState(isUndefined(n)?s._getWatch(a):n);e.useEffect((()=>s._removeUnmounted()));return u}\n/**\n * Custom hook to work with controlled component, this function provide you with both form and field level state. Re-render is isolated at the hook level.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller) • [Demo](https://codesandbox.io/s/usecontroller-0o8px)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns field properties, field and form state. {@link UseControllerReturn}\n *\n * @example\n * ```tsx\n * function Input(props) {\n *   const { field, fieldState, formState } = useController(props);\n *   return (\n *     <div>\n *       <input {...field} placeholder={props.name} />\n *       <p>{fieldState.isTouched && \"Touched\"}</p>\n *       <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n *     </div>\n *   );\n * }\n * ```\n */function useController(r){const s=useFormContext();const{name:a,control:n=s.control,shouldUnregister:o}=r;const i=isNameInFieldArray(n._names.array,a);const l=useWatch({control:n,name:a,defaultValue:get(n._formValues,a,get(n._defaultValues,a,r.defaultValue)),exact:true});const u=useFormState({control:n,name:a});const c=e.useRef(n.register(a,{...r.rules,value:l}));e.useEffect((()=>{const updateMounted=(e,t)=>{const r=get(n._fields,e);r&&(r._f.mount=t)};updateMounted(a,true);return()=>{const e=n._options.shouldUnregister||o;(i?e&&!n._stateFlags.action:e)?n.unregister(a):updateMounted(a,false)}}),[a,n,i,o]);return{field:{name:a,value:l,onChange:e.useCallback((e=>c.current.onChange({target:{value:getEventValue(e),name:a},type:t.CHANGE})),[a]),onBlur:e.useCallback((()=>c.current.onBlur({target:{value:get(n._formValues,a),name:a},type:t.BLUR})),[a,n]),ref:e=>{const t=get(n._fields,a);t&&e&&(t._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:t=>e.setCustomValidity(t),reportValidity:()=>e.reportValidity()})}},formState:u,fieldState:Object.defineProperties({},{invalid:{enumerable:true,get:()=>!!get(u.errors,a)},isDirty:{enumerable:true,get:()=>!!get(u.dirtyFields,a)},isTouched:{enumerable:true,get:()=>!!get(u.touchedFields,a)},error:{enumerable:true,get:()=>get(u.errors,a)}})}}\n/**\n * Component based on `useController` hook to work with controlled component.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usecontroller/controller) • [Demo](https://codesandbox.io/s/react-hook-form-v6-controller-ts-jwyzw) • [Video](https://www.youtube.com/watch?v=N2UNk_UCVyA)\n *\n * @param props - the path name to the form field value, and validation rules.\n *\n * @returns provide field handler functions, field and form state.\n *\n * @example\n * ```tsx\n * function App() {\n *   const { control } = useForm<FormValues>({\n *     defaultValues: {\n *       test: \"\"\n *     }\n *   });\n *\n *   return (\n *     <form>\n *       <Controller\n *         control={control}\n *         name=\"test\"\n *         render={({ field: { onChange, onBlur, value, ref }, formState, fieldState }) => (\n *           <>\n *             <input\n *               onChange={onChange} // send value to hook form\n *               onBlur={onBlur} // notify when input is touched\n *               value={value} // return updated value\n *               ref={ref} // set ref for focus management\n *             />\n *             <p>{formState.isSubmitted ? \"submitted\" : \"\"}</p>\n *             <p>{fieldState.isTouched ? \"touched\" : \"\"}</p>\n *           </>\n *         )}\n *       />\n *     </form>\n *   );\n * }\n * ```\n */const Controller=e=>e.render(useController(e));var appendErrors=(e,t,r,s,a)=>t?{...r[e],types:{...r[e]&&r[e].types?r[e].types:{},[s]:a||true}}:{};var isKey=e=>/^\\w*$/.test(e);var stringToPath=e=>compact(e.replace(/[\"|']|\\]/g,\"\").split(/\\.|\\[/));function set(e,t,r){let s=-1;const a=isKey(t)?[t]:stringToPath(t);const n=a.length;const o=n-1;while(++s<n){const t=a[s];let n=r;if(s!==o){const r=e[t];n=isObject(r)||Array.isArray(r)?r:isNaN(+a[s+1])?{}:[]}e[t]=n;e=e[t]}return e}const focusFieldBy=(e,t,r)=>{for(const s of r||Object.keys(e)){const r=get(e,s);if(r){const{_f:e,...s}=r;if(e&&t(e.name)){if(e.ref.focus){e.ref.focus();break}if(e.refs&&e.refs[0].focus){e.refs[0].focus();break}}else isObject(s)&&focusFieldBy(s,t)}}};var generateId=()=>{const e=\"undefined\"===typeof performance?Date.now():1e3*performance.now();return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(t=>{const r=(16*Math.random()+e)%16|0;return(\"x\"==t?r:3&r|8).toString(16)}))};var getFocusFieldName=(e,t,r={})=>r.shouldFocus||isUndefined(r.shouldFocus)?r.focusName||`${e}.${isUndefined(r.focusIndex)?t:r.focusIndex}.`:\"\";var isWatched=(e,t,r)=>!r&&(t.watchAll||t.watch.has(e)||[...t.watch].some((t=>e.startsWith(t)&&/^\\.\\w+/.test(e.slice(t.length)))));var updateFieldArrayRootError=(e,t,r)=>{const s=compact(get(e,r));set(s,\"root\",t[r]);set(e,r,s);return e};var isBoolean=e=>\"boolean\"===typeof e;var isFileInput=e=>\"file\"===e.type;var isFunction=e=>\"function\"===typeof e;var isMessage=t=>isString(t)||e.isValidElement(t);var isRadioInput=e=>\"radio\"===e.type;var isRegex=e=>e instanceof RegExp;const o={value:false,isValid:false};const i={value:true,isValid:true};var getCheckboxValue=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter((e=>e&&e.checked&&!e.disabled)).map((e=>e.value));return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!isUndefined(e[0].attributes.value)?isUndefined(e[0].value)||\"\"===e[0].value?i:{value:e[0].value,isValid:true}:i:o}return o};const l={isValid:false,value:null};var getRadioValue=e=>Array.isArray(e)?e.reduce(((e,t)=>t&&t.checked&&!t.disabled?{isValid:true,value:t.value}:e),l):l;function getValidateError(e,t,r=\"validate\"){if(isMessage(e)||Array.isArray(e)&&e.every(isMessage)||isBoolean(e)&&!e)return{type:r,message:isMessage(e)?e:\"\",ref:t}}var getValueAndMessage=e=>isObject(e)&&!isRegex(e)?e:{value:e,message:\"\"};var validateField=async(e,t,r,a,n)=>{const{ref:o,refs:i,required:l,maxLength:u,minLength:c,min:f,max:d,pattern:m,validate:y,name:g,valueAsNumber:h,mount:p,disabled:v}=e._f;if(!p||v)return{};const b=i?i[0]:o;const setCustomValidity=e=>{if(a&&b.reportValidity){b.setCustomValidity(isBoolean(e)?\"\":e||\"\");b.reportValidity()}};const _={};const F=isRadioInput(o);const A=isCheckBoxInput(o);const V=F||A;const x=(h||isFileInput(o))&&!o.value||\"\"===t||Array.isArray(t)&&!t.length;const S=appendErrors.bind(null,g,r,_);const getMinMaxMessage=(e,t,r,a=s.maxLength,n=s.minLength)=>{const i=e?t:r;_[g]={type:e?a:n,message:i,ref:o,...S(e?a:n,i)}};if(n?!Array.isArray(t)||!t.length:l&&(!V&&(x||isNullOrUndefined(t))||isBoolean(t)&&!t||A&&!getCheckboxValue(i).isValid||F&&!getRadioValue(i).isValid)){const{value:e,message:t}=isMessage(l)?{value:!!l,message:l}:getValueAndMessage(l);if(e){_[g]={type:s.required,message:t,ref:b,...S(s.required,t)};if(!r){setCustomValidity(t);return _}}}if(!x&&(!isNullOrUndefined(f)||!isNullOrUndefined(d))){let e;let a;const n=getValueAndMessage(d);const i=getValueAndMessage(f);if(isNullOrUndefined(t)||isNaN(t)){const r=o.valueAsDate||new Date(t);const convertTimeToDate=e=>new Date((new Date).toDateString()+\" \"+e);const s=\"time\"==o.type;const l=\"week\"==o.type;isString(n.value)&&t&&(e=s?convertTimeToDate(t)>convertTimeToDate(n.value):l?t>n.value:r>new Date(n.value));isString(i.value)&&t&&(a=s?convertTimeToDate(t)<convertTimeToDate(i.value):l?t<i.value:r<new Date(i.value))}else{const r=o.valueAsNumber||(t?+t:t);isNullOrUndefined(n.value)||(e=r>n.value);isNullOrUndefined(i.value)||(a=r<i.value)}if(e||a){getMinMaxMessage(!!e,n.message,i.message,s.max,s.min);if(!r){setCustomValidity(_[g].message);return _}}}if((u||c)&&!x&&(isString(t)||n&&Array.isArray(t))){const e=getValueAndMessage(u);const s=getValueAndMessage(c);const a=!isNullOrUndefined(e.value)&&t.length>e.value;const n=!isNullOrUndefined(s.value)&&t.length<s.value;if(a||n){getMinMaxMessage(a,e.message,s.message);if(!r){setCustomValidity(_[g].message);return _}}}if(m&&!x&&isString(t)){const{value:e,message:a}=getValueAndMessage(m);if(isRegex(e)&&!t.match(e)){_[g]={type:s.pattern,message:a,ref:o,...S(s.pattern,a)};if(!r){setCustomValidity(a);return _}}}if(y)if(isFunction(y)){const e=await y(t);const a=getValidateError(e,b);if(a){_[g]={...a,...S(s.validate,a.message)};if(!r){setCustomValidity(a.message);return _}}}else if(isObject(y)){let e={};for(const s in y){if(!isEmptyObject(e)&&!r)break;const a=getValidateError(await y[s](t),b,s);if(a){e={...a,...S(s,a.message)};setCustomValidity(a.message);r&&(_[g]=e)}}if(!isEmptyObject(e)){_[g]={ref:b,...e};if(!r)return _}}setCustomValidity(true);return _};function append(e,t){return[...e,...convertToArrayPayload(t)]}var fillEmptyArray=e=>Array.isArray(e)?e.map((()=>{})):void 0;var getValidationModes=e=>({isOnSubmit:!e||e===r.onSubmit,isOnBlur:e===r.onBlur,isOnChange:e===r.onChange,isOnAll:e===r.all,isOnTouch:e===r.onTouched});function insert(e,t,r){return[...e.slice(0,t),...convertToArrayPayload(r),...e.slice(t)]}var moveArrayAt=(e,t,r)=>{if(!Array.isArray(e))return[];isUndefined(e[r])&&(e[r]=void 0);e.splice(r,0,e.splice(t,1)[0]);return e};function prepend(e,t){return[...convertToArrayPayload(t),...convertToArrayPayload(e)]}function removeAtIndexes(e,t){let r=0;const s=[...e];for(const e of t){s.splice(e-r,1);r++}return compact(s).length?s:[]}var removeArrayAt=(e,t)=>isUndefined(t)?[]:removeAtIndexes(e,convertToArrayPayload(t).sort(((e,t)=>e-t)));var swapArrayAt=(e,t,r)=>{e[t]=[e[r],e[r]=e[t]][0]};function baseGet(e,t){const r=t.slice(0,-1).length;let s=0;while(s<r)e=isUndefined(e)?s++:e[t[s++]];return e}function isEmptyArray(e){for(const t in e)if(!isUndefined(e[t]))return false;return true}function unset(e,t){const r=isKey(t)?[t]:stringToPath(t);const s=1==r.length?e:baseGet(e,r);const a=r[r.length-1];let n;s&&delete s[a];for(let t=0;t<r.slice(0,-1).length;t++){let s=-1;let a;const o=r.slice(0,-(t+1));const i=o.length-1;t>0&&(n=e);while(++s<o.length){const t=o[s];a=a?a[t]:e[t];i===s&&(isObject(a)&&isEmptyObject(a)||Array.isArray(a)&&isEmptyArray(a))&&(n?delete n[t]:delete e[t]);n=a}}return e}var updateAt=(e,t,r)=>{e[t]=r;return e};\n/**\n * A custom hook that exposes convenient methods to perform operations with a list of dynamic inputs that need to be appended, updated, removed etc. • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn) • [Video](https://youtu.be/4MrbfGSFY2A)\n *\n * @remarks\n * [API](https://react-hook-form.com/api/usefieldarray) • [Demo](https://codesandbox.io/s/react-hook-form-usefieldarray-ssugn)\n *\n * @param props - useFieldArray props\n *\n * @returns methods - functions to manipulate with the Field Arrays (dynamic inputs) {@link UseFieldArrayReturn}\n *\n * @example\n * ```tsx\n * function App() {\n *   const { register, control, handleSubmit, reset, trigger, setError } = useForm({\n *     defaultValues: {\n *       test: []\n *     }\n *   });\n *   const { fields, append } = useFieldArray({\n *     control,\n *     name: \"test\"\n *   });\n *\n *   return (\n *     <form onSubmit={handleSubmit(data => console.log(data))}>\n *       {fields.map((item, index) => (\n *          <input key={item.id} {...register(`test.${index}.firstName`)}  />\n *       ))}\n *       <button type=\"button\" onClick={() => append({ firstName: \"bill\" })}>\n *         append\n *       </button>\n *       <input type=\"submit\" />\n *     </form>\n *   );\n * }\n * ```\n */function useFieldArray(t){const s=useFormContext();const{control:a=s.control,name:n,keyName:o=\"id\",shouldUnregister:i}=t;const[l,u]=e.useState(a._getFieldArray(n));const c=e.useRef(a._getFieldArray(n).map(generateId));const f=e.useRef(l);const d=e.useRef(n);const m=e.useRef(false);d.current=n;f.current=l;a._names.array.add(n);t.rules&&a.register(n,t.rules);const y=e.useCallback((({values:e,name:t})=>{if(t===d.current||!t){const t=get(e,d.current);if(Array.isArray(t)){u(t);c.current=t.map(generateId)}}}),[]);useSubscribe({callback:y,subject:a._subjects.array});const g=e.useCallback((e=>{m.current=true;a._updateFieldArray(n,e)}),[a,n]);const append$1=(e,t)=>{const r=convertToArrayPayload(cloneObject(e));const s=append(a._getFieldArray(n),r);a._names.focus=getFocusFieldName(n,s.length-1,t);c.current=append(c.current,r.map(generateId));g(s);u(s);a._updateFieldArray(n,s,append,{argA:fillEmptyArray(e)})};const prepend$1=(e,t)=>{const r=convertToArrayPayload(cloneObject(e));const s=prepend(a._getFieldArray(n),r);a._names.focus=getFocusFieldName(n,0,t);c.current=prepend(c.current,r.map(generateId));g(s);u(s);a._updateFieldArray(n,s,prepend,{argA:fillEmptyArray(e)})};const remove=e=>{const t=removeArrayAt(a._getFieldArray(n),e);c.current=removeArrayAt(c.current,e);g(t);u(t);a._updateFieldArray(n,t,removeArrayAt,{argA:e})};const insert$1=(e,t,r)=>{const s=convertToArrayPayload(cloneObject(t));const o=insert(a._getFieldArray(n),e,s);a._names.focus=getFocusFieldName(n,e,r);c.current=insert(c.current,e,s.map(generateId));g(o);u(o);a._updateFieldArray(n,o,insert,{argA:e,argB:fillEmptyArray(t)})};const swap=(e,t)=>{const r=a._getFieldArray(n);swapArrayAt(r,e,t);swapArrayAt(c.current,e,t);g(r);u(r);a._updateFieldArray(n,r,swapArrayAt,{argA:e,argB:t},false)};const move=(e,t)=>{const r=a._getFieldArray(n);moveArrayAt(r,e,t);moveArrayAt(c.current,e,t);g(r);u(r);a._updateFieldArray(n,r,moveArrayAt,{argA:e,argB:t},false)};const update=(e,t)=>{const r=cloneObject(t);const s=updateAt(a._getFieldArray(n),e,r);c.current=[...s].map(((t,r)=>t&&r!==e?c.current[r]:generateId()));g(s);u([...s]);a._updateFieldArray(n,s,updateAt,{argA:e,argB:r},true,false)};const replace=e=>{const t=convertToArrayPayload(cloneObject(e));c.current=t.map(generateId);g([...t]);u([...t]);a._updateFieldArray(n,[...t],(e=>e),{},true,false)};e.useEffect((()=>{a._stateFlags.action=false;isWatched(n,a._names)&&a._subjects.state.next({});if(m.current&&(!getValidationModes(a._options.mode).isOnSubmit||a._formState.isSubmitted))if(a._options.resolver)a._executeSchema([n]).then((e=>{const t=get(e.errors,n);const r=get(a._formState.errors,n);if(r?!t&&r.type:t&&t.type){t?set(a._formState.errors,n,t):unset(a._formState.errors,n);a._subjects.state.next({errors:a._formState.errors})}}));else{const e=get(a._fields,n);e&&e._f&&validateField(e,get(a._formValues,n),a._options.criteriaMode===r.all,a._options.shouldUseNativeValidation,true).then((e=>!isEmptyObject(e)&&a._subjects.state.next({errors:updateFieldArrayRootError(a._formState.errors,e,n)})))}a._subjects.watch.next({name:n,values:a._formValues});a._names.focus&&focusFieldBy(a._fields,(e=>!!e&&e.startsWith(a._names.focus)));a._names.focus=\"\";a._proxyFormState.isValid&&a._updateValid()}),[l,n,a]);e.useEffect((()=>{!get(a._formValues,n)&&a._updateFieldArray(n);return()=>{(a._options.shouldUnregister||i)&&a.unregister(n)}}),[n,a,o,i]);return{swap:e.useCallback(swap,[g,n,a]),move:e.useCallback(move,[g,n,a]),prepend:e.useCallback(prepend$1,[g,n,a]),append:e.useCallback(append$1,[g,n,a]),remove:e.useCallback(remove,[g,n,a]),insert:e.useCallback(insert$1,[g,n,a]),update:e.useCallback(update,[g,n,a]),replace:e.useCallback(replace,[g,n,a]),fields:e.useMemo((()=>l.map(((e,t)=>({...e,[o]:c.current[t]||generateId()})))),[l,o])}}function createSubject(){let e=[];const next=t=>{for(const r of e)r.next(t)};const subscribe=t=>{e.push(t);return{unsubscribe:()=>{e=e.filter((e=>e!==t))}}};const unsubscribe=()=>{e=[]};return{get observers(){return e},next:next,subscribe:subscribe,unsubscribe:unsubscribe}}var isPrimitive=e=>isNullOrUndefined(e)||!isObjectType(e);function deepEqual(e,t){if(isPrimitive(e)||isPrimitive(t))return e===t;if(isDateObject(e)&&isDateObject(t))return e.getTime()===t.getTime();const r=Object.keys(e);const s=Object.keys(t);if(r.length!==s.length)return false;for(const a of r){const r=e[a];if(!s.includes(a))return false;if(\"ref\"!==a){const e=t[a];if(isDateObject(r)&&isDateObject(e)||isObject(r)&&isObject(e)||Array.isArray(r)&&Array.isArray(e)?!deepEqual(r,e):r!==e)return false}}return true}var isHTMLElement=e=>{const t=e?e.ownerDocument:0;const r=t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement;return e instanceof r};var isMultipleSelect=e=>\"select-multiple\"===e.type;var isRadioOrCheckbox=e=>isRadioInput(e)||isCheckBoxInput(e);var live=e=>isHTMLElement(e)&&e.isConnected;var objectHasFunction=e=>{for(const t in e)if(isFunction(e[t]))return true;return false};function markFieldsDirty(e,t={}){const r=Array.isArray(e);if(isObject(e)||r)for(const r in e)if(Array.isArray(e[r])||isObject(e[r])&&!objectHasFunction(e[r])){t[r]=Array.isArray(e[r])?[]:{};markFieldsDirty(e[r],t[r])}else isNullOrUndefined(e[r])||(t[r]=true);return t}function getDirtyFieldsFromDefaultValues(e,t,r){const s=Array.isArray(e);if(isObject(e)||s)for(const s in e)Array.isArray(e[s])||isObject(e[s])&&!objectHasFunction(e[s])?isUndefined(t)||isPrimitive(r[s])?r[s]=Array.isArray(e[s])?markFieldsDirty(e[s],[]):{...markFieldsDirty(e[s])}:getDirtyFieldsFromDefaultValues(e[s],isNullOrUndefined(t)?{}:t[s],r[s]):deepEqual(e[s],t[s])?delete r[s]:r[s]=true;return r}var getDirtyFields=(e,t)=>getDirtyFieldsFromDefaultValues(e,t,markFieldsDirty(t));var getFieldValueAs=(e,{valueAsNumber:t,valueAsDate:r,setValueAs:s})=>isUndefined(e)?e:t?\"\"===e?NaN:e?+e:e:r&&isString(e)?new Date(e):s?s(e):e;function getFieldValue(e){const t=e.ref;if(!(e.refs?e.refs.every((e=>e.disabled)):t.disabled))return isFileInput(t)?t.files:isRadioInput(t)?getRadioValue(e.refs).value:isMultipleSelect(t)?[...t.selectedOptions].map((({value:e})=>e)):isCheckBoxInput(t)?getCheckboxValue(e.refs).value:getFieldValueAs(isUndefined(t.value)?e.ref.value:t.value,e)}var getResolverOptions=(e,t,r,s)=>{const a={};for(const r of e){const e=get(t,r);e&&set(a,r,e._f)}return{criteriaMode:r,names:[...e],fields:a,shouldUseNativeValidation:s}};var getRuleValue=e=>isUndefined(e)?e:isRegex(e)?e.source:isObject(e)?isRegex(e.value)?e.value.source:e.value:e;var hasValidation=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function schemaErrorLookup(e,t,r){const s=get(e,r);if(s||isKey(r))return{error:s,name:r};const a=r.split(\".\");while(a.length){const s=a.join(\".\");const n=get(t,s);const o=get(e,s);if(n&&!Array.isArray(n)&&r!==s)return{name:r};if(o&&o.type)return{name:s,error:o};a.pop()}return{name:r}}var skipValidation=(e,t,r,s,a)=>!a.isOnAll&&(!r&&a.isOnTouch?!(t||e):(r?s.isOnBlur:a.isOnBlur)?!e:!(r?s.isOnChange:a.isOnChange)||e);var unsetEmptyArray=(e,t)=>!compact(get(e,t)).length&&unset(e,t);const u={mode:r.onSubmit,reValidateMode:r.onChange,shouldFocusError:true};function createFormControl(e={}){let s={...u,...e};let a={submitCount:0,isDirty:false,isValidating:false,isSubmitted:false,isSubmitting:false,isSubmitSuccessful:false,isValid:false,touchedFields:{},dirtyFields:{},errors:{}};let o={};let i=cloneObject(s.defaultValues)||{};let l=s.shouldUnregister?{}:cloneObject(i);let c={action:false,mount:false,watch:false};let f={mount:new Set,unMount:new Set,array:new Set,watch:new Set};let d;let m=0;let y={};const g={isDirty:false,dirtyFields:false,touchedFields:false,isValidating:false,isValid:false,errors:false};const h={watch:createSubject(),array:createSubject(),state:createSubject()};const p=getValidationModes(s.mode);const v=getValidationModes(s.reValidateMode);const b=s.criteriaMode===r.all;const debounce=e=>t=>{clearTimeout(m);m=window.setTimeout(e,t)};const _updateValid=async()=>{let e=false;if(g.isValid){e=s.resolver?isEmptyObject((await _executeSchema()).errors):await executeBuiltInValidation(o,true);if(e!==a.isValid){a.isValid=e;h.state.next({isValid:e})}}return e};const _updateFieldArray=(e,t=[],r,s,n=true,u=true)=>{if(s&&r){c.action=true;if(u&&Array.isArray(get(o,e))){const t=r(get(o,e),s.argA,s.argB);n&&set(o,e,t)}if(u&&Array.isArray(get(a.errors,e))){const t=r(get(a.errors,e),s.argA,s.argB);n&&set(a.errors,e,t);unsetEmptyArray(a.errors,e)}if(g.touchedFields&&u&&Array.isArray(get(a.touchedFields,e))){const t=r(get(a.touchedFields,e),s.argA,s.argB);n&&set(a.touchedFields,e,t)}g.dirtyFields&&(a.dirtyFields=getDirtyFields(i,l));h.state.next({isDirty:_getDirty(e,t),dirtyFields:a.dirtyFields,errors:a.errors,isValid:a.isValid})}else set(l,e,t)};const updateErrors=(e,t)=>{set(a.errors,e,t);h.state.next({errors:a.errors})};const updateValidAndValue=(e,t,r,s)=>{const a=get(o,e);if(a){const n=get(l,e,isUndefined(r)?get(i,e):r);isUndefined(n)||s&&s.defaultChecked||t?set(l,e,t?n:getFieldValue(a._f)):setFieldValue(e,n);c.mount&&_updateValid()}};const updateTouchAndDirty=(e,t,r,s,n)=>{let o=false;let l=false;const u={name:e};if(g.isDirty){l=a.isDirty;a.isDirty=u.isDirty=_getDirty();o=l!==u.isDirty}if(g.dirtyFields&&(!r||s)){l=get(a.dirtyFields,e);const r=deepEqual(get(i,e),t);r?unset(a.dirtyFields,e):set(a.dirtyFields,e,true);u.dirtyFields=a.dirtyFields;o=o||l!==!r}if(r){const t=get(a.touchedFields,e);if(!t){set(a.touchedFields,e,r);u.touchedFields=a.touchedFields;o=o||g.touchedFields&&t!==r}}o&&n&&h.state.next(u);return o?u:{}};const shouldRenderByError=(t,r,s,n)=>{const o=get(a.errors,t);const i=g.isValid&&isBoolean(r)&&a.isValid!==r;if(e.delayError&&s){d=debounce((()=>updateErrors(t,s)));d(e.delayError)}else{clearTimeout(m);d=null;s?set(a.errors,t,s):unset(a.errors,t)}if((s?!deepEqual(o,s):o)||!isEmptyObject(n)||i){const e={...n,...i&&isBoolean(r)?{isValid:r}:{},errors:a.errors,name:t};a={...a,...e};h.state.next(e)}y[t]--;if(g.isValidating&&!Object.values(y).some((e=>e))){h.state.next({isValidating:false});y={}}};const _executeSchema=async e=>s.resolver?await s.resolver({...l},s.context,getResolverOptions(e||f.mount,o,s.criteriaMode,s.shouldUseNativeValidation)):{};const executeSchemaAndUpdateState=async e=>{const{errors:t}=await _executeSchema();if(e)for(const r of e){const e=get(t,r);e?set(a.errors,r,e):unset(a.errors,r)}else a.errors=t;return t};const executeBuiltInValidation=async(e,t,r={valid:true})=>{for(const n in e){const o=e[n];if(o){const{_f:e,...n}=o;if(e){const n=f.array.has(e.name);const i=await validateField(o,get(l,e.name),b,s.shouldUseNativeValidation,n);if(i[e.name]){r.valid=false;if(t)break}!t&&(get(i,e.name)?n?updateFieldArrayRootError(a.errors,i,e.name):set(a.errors,e.name,i[e.name]):unset(a.errors,e.name))}n&&await executeBuiltInValidation(n,t,r)}}return r.valid};const _removeUnmounted=()=>{for(const e of f.unMount){const t=get(o,e);t&&(t._f.refs?t._f.refs.every((e=>!live(e))):!live(t._f.ref))&&unregister(e)}f.unMount=new Set};const _getDirty=(e,t)=>(e&&t&&set(l,e,t),!deepEqual(getValues(),i));const _getWatch=(e,t,r)=>generateWatchOutput(e,f,{...c.mount?l:isUndefined(t)?i:isString(e)?{[e]:t}:t},r);const _getFieldArray=t=>compact(get(c.mount?l:i,t,e.shouldUnregister?get(i,t,[]):[]));const setFieldValue=(e,t,r={})=>{const s=get(o,e);let a=t;if(s){const r=s._f;if(r){!r.disabled&&set(l,e,getFieldValueAs(t,r));a=n&&isHTMLElement(r.ref)&&isNullOrUndefined(t)?\"\":t;if(isMultipleSelect(r.ref))[...r.ref.options].forEach((e=>e.selected=a.includes(e.value)));else if(r.refs)isCheckBoxInput(r.ref)?r.refs.length>1?r.refs.forEach((e=>(!e.defaultChecked||!e.disabled)&&(e.checked=Array.isArray(a)?!!a.find((t=>t===e.value)):a===e.value))):r.refs[0]&&(r.refs[0].checked=!!a):r.refs.forEach((e=>e.checked=e.value===a));else if(isFileInput(r.ref))r.ref.value=\"\";else{r.ref.value=a;r.ref.type||h.watch.next({name:e})}}}(r.shouldDirty||r.shouldTouch)&&updateTouchAndDirty(e,a,r.shouldTouch,r.shouldDirty,true);r.shouldValidate&&trigger(e)};const setValues=(e,t,r)=>{for(const s in t){const a=t[s];const n=`${e}.${s}`;const i=get(o,n);!f.array.has(e)&&isPrimitive(a)&&(!i||i._f)||isDateObject(a)?setFieldValue(n,a,r):setValues(n,a,r)}};const setValue=(e,t,r={})=>{const s=get(o,e);const n=f.array.has(e);const u=cloneObject(t);set(l,e,u);if(n){h.array.next({name:e,values:l});if((g.isDirty||g.dirtyFields)&&r.shouldDirty){a.dirtyFields=getDirtyFields(i,l);h.state.next({name:e,dirtyFields:a.dirtyFields,isDirty:_getDirty(e,u)})}}else!s||s._f||isNullOrUndefined(u)?setFieldValue(e,u,r):setValues(e,u,r);isWatched(e,f)&&h.state.next({});h.watch.next({name:e})};const onChange=async e=>{const r=e.target;let n=r.name;const i=get(o,n);if(i){let u;let c;const m=r.type?getFieldValue(i._f):getEventValue(e);const _=e.type===t.BLUR||e.type===t.FOCUS_OUT;const F=!hasValidation(i._f)&&!s.resolver&&!get(a.errors,n)&&!i._f.deps||skipValidation(_,get(a.touchedFields,n),a.isSubmitted,v,p);const A=isWatched(n,f,_);set(l,n,m);if(_){i._f.onBlur&&i._f.onBlur(e);d&&d(0)}else i._f.onChange&&i._f.onChange(e);const V=updateTouchAndDirty(n,m,_,false);const x=!isEmptyObject(V)||A;!_&&h.watch.next({name:n,type:e.type});if(F){g.isValid&&_updateValid();return x&&h.state.next({name:n,...A?{}:V})}!_&&A&&h.state.next({});y[n]=y[n]?y[n]+1:1;h.state.next({isValidating:true});if(s.resolver){const{errors:e}=await _executeSchema([n]);const t=schemaErrorLookup(a.errors,o,n);const r=schemaErrorLookup(e,o,t.name||n);u=r.error;n=r.name;c=isEmptyObject(e)}else{u=(await validateField(i,get(l,n),b,s.shouldUseNativeValidation))[n];_updateValid()}i._f.deps&&trigger(i._f.deps);shouldRenderByError(n,c,u,V)}};const trigger=async(e,t={})=>{let r;let n;const i=convertToArrayPayload(e);h.state.next({isValidating:true});if(s.resolver){const t=await executeSchemaAndUpdateState(isUndefined(e)?e:i);r=isEmptyObject(t);n=e?!i.some((e=>get(t,e))):r}else if(e){n=(await Promise.all(i.map((async e=>{const t=get(o,e);return await executeBuiltInValidation(t&&t._f?{[e]:t}:t)})))).every(Boolean);!(!n&&!a.isValid)&&_updateValid()}else n=r=await executeBuiltInValidation(o);h.state.next({...!isString(e)||g.isValid&&r!==a.isValid?{}:{name:e},...s.resolver||!e?{isValid:r}:{},errors:a.errors,isValidating:false});t.shouldFocus&&!n&&focusFieldBy(o,(e=>e&&get(a.errors,e)),e?i:f.mount);return n};const getValues=e=>{const t={...i,...c.mount?l:{}};return isUndefined(e)?t:isString(e)?get(t,e):e.map((e=>get(t,e)))};const getFieldState=(e,t)=>({invalid:!!get((t||a).errors,e),isDirty:!!get((t||a).dirtyFields,e),isTouched:!!get((t||a).touchedFields,e),error:get((t||a).errors,e)});const clearErrors=e=>{e?convertToArrayPayload(e).forEach((e=>unset(a.errors,e))):a.errors={};h.state.next({errors:a.errors})};const setError=(e,t,r)=>{const s=(get(o,e,{_f:{}})._f||{}).ref;set(a.errors,e,{...t,ref:s});h.state.next({name:e,errors:a.errors,isValid:false});r&&r.shouldFocus&&s&&s.focus&&s.focus()};const watch=(e,t)=>isFunction(e)?h.watch.subscribe({next:r=>e(_getWatch(void 0,t),r)}):_getWatch(e,t,true);const unregister=(e,t={})=>{for(const r of e?convertToArrayPayload(e):f.mount){f.mount.delete(r);f.array.delete(r);if(get(o,r)){if(!t.keepValue){unset(o,r);unset(l,r)}!t.keepError&&unset(a.errors,r);!t.keepDirty&&unset(a.dirtyFields,r);!t.keepTouched&&unset(a.touchedFields,r);!s.shouldUnregister&&!t.keepDefaultValue&&unset(i,r)}}h.watch.next({});h.state.next({...a,...t.keepDirty?{isDirty:_getDirty()}:{}});!t.keepIsValid&&_updateValid()};const register=(e,t={})=>{let r=get(o,e);const a=isBoolean(t.disabled);set(o,e,{...r||{},_f:{...r&&r._f?r._f:{ref:{name:e}},name:e,mount:true,...t}});f.mount.add(e);r?a&&set(l,e,t.disabled?void 0:get(l,e,getFieldValue(r._f))):updateValidAndValue(e,true,t.value);return{...a?{disabled:t.disabled}:{},...s.shouldUseNativeValidation?{required:!!t.required,min:getRuleValue(t.min),max:getRuleValue(t.max),minLength:getRuleValue(t.minLength),maxLength:getRuleValue(t.maxLength),pattern:getRuleValue(t.pattern)}:{},name:e,onChange:onChange,onBlur:onChange,ref:a=>{if(a){register(e,t);r=get(o,e);const s=isUndefined(a.value)&&a.querySelectorAll&&a.querySelectorAll(\"input,select,textarea\")[0]||a;const n=isRadioOrCheckbox(s);const l=r._f.refs||[];if(n?l.find((e=>e===s)):s===r._f.ref)return;set(o,e,{_f:{...r._f,...n?{refs:[...l.filter(live),s,...!Array.isArray(get(i,e))?[]:[{}]],ref:{type:s.type,name:e}}:{ref:s}}});updateValidAndValue(e,false,void 0,s)}else{r=get(o,e,{});r._f&&(r._f.mount=false);(s.shouldUnregister||t.shouldUnregister)&&!(isNameInFieldArray(f.array,e)&&c.action)&&f.unMount.add(e)}}}};const _focusError=()=>s.shouldFocusError&&focusFieldBy(o,(e=>e&&get(a.errors,e)),f.mount);const handleSubmit=(e,t)=>async r=>{if(r){r.preventDefault&&r.preventDefault();r.persist&&r.persist()}let n=true;let i=cloneObject(l);h.state.next({isSubmitting:true});try{if(s.resolver){const{errors:e,values:t}=await _executeSchema();a.errors=e;i=t}else await executeBuiltInValidation(o);if(isEmptyObject(a.errors)){h.state.next({errors:{},isSubmitting:true});await e(i,r)}else{t&&await t({...a.errors},r);_focusError()}}catch(e){n=false;throw e}finally{a.isSubmitted=true;h.state.next({isSubmitted:true,isSubmitting:false,isSubmitSuccessful:isEmptyObject(a.errors)&&n,submitCount:a.submitCount+1,errors:a.errors})}};const resetField=(e,t={})=>{if(get(o,e)){if(isUndefined(t.defaultValue))setValue(e,get(i,e));else{setValue(e,t.defaultValue);set(i,e,t.defaultValue)}t.keepTouched||unset(a.touchedFields,e);if(!t.keepDirty){unset(a.dirtyFields,e);a.isDirty=t.defaultValue?_getDirty(e,get(i,e)):_getDirty()}if(!t.keepError){unset(a.errors,e);g.isValid&&_updateValid()}h.state.next({...a})}};const _reset=(t,r={})=>{const s=t||i;const u=cloneObject(s);const d=t&&!isEmptyObject(t)?u:i;r.keepDefaultValues||(i=s);if(!r.keepValues){if(r.keepDirtyValues)for(const e of f.mount)get(a.dirtyFields,e)?set(d,e,get(l,e)):setValue(e,get(d,e));else{if(n&&isUndefined(t))for(const e of f.mount){const t=get(o,e);if(t&&t._f){const e=Array.isArray(t._f.refs)?t._f.refs[0]:t._f.ref;if(isHTMLElement(e)){const t=e.closest(\"form\");if(t){t.reset();break}}}}o={}}l=e.shouldUnregister?r.keepDefaultValues?cloneObject(i):{}:u;h.array.next({values:d});h.watch.next({values:d})}f={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:false,focus:\"\"};c.mount=!g.isValid||!!r.keepIsValid;c.watch=!!e.shouldUnregister;h.state.next({submitCount:r.keepSubmitCount?a.submitCount:0,isDirty:r.keepDirty||r.keepDirtyValues?a.isDirty:!!(r.keepDefaultValues&&!deepEqual(t,i)),isSubmitted:!!r.keepIsSubmitted&&a.isSubmitted,dirtyFields:r.keepDirty||r.keepDirtyValues?a.dirtyFields:r.keepDefaultValues&&t?getDirtyFields(i,t):{},touchedFields:r.keepTouched?a.touchedFields:{},errors:r.keepErrors?a.errors:{},isSubmitting:false,isSubmitSuccessful:false})};const reset=(e,t)=>_reset(isFunction(e)?e(l):e,t);const setFocus=(e,t={})=>{const r=get(o,e);const s=r&&r._f;if(s){const e=s.refs?s.refs[0]:s.ref;if(e.focus){e.focus();t.shouldSelect&&e.select()}}};return{control:{register:register,unregister:unregister,getFieldState:getFieldState,_executeSchema:_executeSchema,_focusError:_focusError,_getWatch:_getWatch,_getDirty:_getDirty,_updateValid:_updateValid,_removeUnmounted:_removeUnmounted,_updateFieldArray:_updateFieldArray,_getFieldArray:_getFieldArray,_subjects:h,_proxyFormState:g,get _fields(){return o},get _formValues(){return l},get _stateFlags(){return c},set _stateFlags(e){c=e},get _defaultValues(){return i},get _names(){return f},set _names(e){f=e},get _formState(){return a},set _formState(e){a=e},get _options(){return s},set _options(e){s={...s,...e}}},trigger:trigger,register:register,handleSubmit:handleSubmit,watch:watch,setValue:setValue,getValues:getValues,reset:reset,resetField:resetField,clearErrors:clearErrors,unregister:unregister,setError:setError,setFocus:setFocus,getFieldState:getFieldState}}\n/**\n * Custom hook to manage the entire form.\n *\n * @remarks\n * [API](https://react-hook-form.com/api/useform) • [Demo](https://codesandbox.io/s/react-hook-form-get-started-ts-5ksmm) • [Video](https://www.youtube.com/watch?v=RkXv4AXXC_4)\n *\n * @param props - form configuration and validation parameters.\n *\n * @returns methods - individual functions to manage the form state. {@link UseFormReturn}\n *\n * @example\n * ```tsx\n * function App() {\n *   const { register, handleSubmit, watch, formState: { errors } } = useForm();\n *   const onSubmit = data => console.log(data);\n *\n *   console.log(watch(\"example\"));\n *\n *   return (\n *     <form onSubmit={handleSubmit(onSubmit)}>\n *       <input defaultValue=\"test\" {...register(\"example\")} />\n *       <input {...register(\"exampleRequired\", { required: true })} />\n *       {errors.exampleRequired && <span>This field is required</span>}\n *       <input type=\"submit\" />\n *     </form>\n *   );\n * }\n * ```\n */function useForm(t={}){const r=e.useRef();const[s,a]=e.useState({isDirty:false,isValidating:false,isSubmitted:false,isSubmitting:false,isSubmitSuccessful:false,isValid:false,submitCount:0,dirtyFields:{},touchedFields:{},errors:{},defaultValues:t.defaultValues});r.current||(r.current={...createFormControl(t),formState:s});const n=r.current.control;n._options=t;useSubscribe({subject:n._subjects.state,callback:e.useCallback((e=>{if(shouldRenderFormState(e,n._proxyFormState,true)){n._formState={...n._formState,...e};a({...n._formState})}}),[n])});e.useEffect((()=>{if(!n._stateFlags.mount){n._proxyFormState.isValid&&n._updateValid();n._stateFlags.mount=true}if(n._stateFlags.watch){n._stateFlags.watch=false;n._subjects.state.next({})}n._removeUnmounted()}));e.useEffect((()=>{s.submitCount&&n._focusError()}),[n,s.submitCount]);r.current.formState=getProxyFormState(s,n);return r.current}export{Controller,FormProvider,appendErrors,get,set,useController,useFieldArray,useForm,useFormContext,useFormState,useWatch};\n\n//# sourceMappingURL=index.esm.mjs.map","/**\n * --------------------------------------------------------------------\n * Forms\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{FormProvider,useForm as useHookForm,useFormContext,useWatch}from\"react-hook-form\";import{isFramer}from\"https://framer.com/m/Capsule-oSSG.js\";import{getError}from\"https://framer.com/m/Development-7oqH.js\";import{toast}from\"https://framer.com/m/Sonner-2W7J.js\";/**\n * --------------------------------------------------------------------\n * Exports\n * --------------------------------------------------------------------\n */export{useWatch,useHookForm,useFormContext};/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Overrride used for the main form functionality.\n */export function Form(Component){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return({endpoint,token,user,onSubmit,defaultValues,...props})=>{const methods=useHookForm({defaultValues,mode:\"onChange\"});// Get the handlers from the methods object.\nconst{handleSubmit,reset,clearErrors}=methods;/**\n         * Handler used to the form.\n         */// const onFormSubmit = async (values) => {\n//     try {\n//         if (onSubmit) {\n//             await onSubmit(values)\n//         } else {\n//             console.info(\"Form: \", values)\n//             toast(\n//                 \"This form has no submission handler. The data was logged to the console for debug purposes.\"\n//             )\n//         }\n//     } catch (e) {\n//         toast.error(getError(e))\n//     }\n// }\nconst onFormSubmit=values=>{if(onSubmit){return new Promise((resolve,reject)=>{clearErrors();return onSubmit(values,{reset,complete:payload=>{payload?reset(payload):reset(values);resolve(payload);},reject:payload=>{reject(payload);}});}).then(()=>{}).catch(error=>{toast.error(getError(error));});}else{console.info(\"Form: \",values);toast(\"This form has no submission handler. The data was logged to the console for debug purposes.\");}};/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(FormProvider,{...methods,children:/*#__PURE__*/_jsx(\"form\",{onSubmit:handleSubmit(onFormSubmit),style:{width:\"100%\",height:props?.height},children:/*#__PURE__*/_jsx(Component,{...props,style:{...props.style,width:\"100%\"}})})});};}/**\n * Override used for input components.\n */export function Input(Component){return({persistent=true,...props})=>{const context=useFormContext();/**\n         * Render the component without form context.\n         */if(!context){return /*#__PURE__*/_jsx(Component,{...props});}/**\n         * Get the context helpers.\n         */const{register,setValue,unregister}=context;const fieldName=props.name1||props.inputName||props.name;/**\n         * Check the URL for the query parameter corresponding to the input field name\n         */useEffect(()=>{const queryParams=new URLSearchParams(window.location.search);const fieldValue=queryParams.get(fieldName);// If the field exists in the URL query parameters, set its value in the form\nif(fieldValue){setValue(fieldName,decodeURIComponent(fieldValue));}},[fieldName,setValue]);/**\n         * Unregister the field on unmount to remove it from form state.\n         */useEffect(()=>{if(persistent===false){return()=>{unregister(fieldName);};}},[fieldName,unregister,persistent]);/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props,...register(fieldName,{required:props.required})});};}/**\n * Override used for disabled input components.\n */export function InputDisabled(Component){return props=>{return /*#__PURE__*/_jsx(Component,{...props,disabled:true});};}/**\n * Override used for input components.\n */export function InputNonPersistent(Component){return Input(props=>/*#__PURE__*/_jsx(Component,{...props,persistent:false}));}/**\n * Override used for disabled input components.\n */export function InputNonPersistentDisabled(Component){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return InputNonPersistent(props=>{return /*#__PURE__*/_jsx(Component,{...props,disabled:true});});}/**\n * Overrride used for submit components.\n */export function Submit(Component){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return({tap,onClick,...props})=>{const{handleSubmit:_handleSubmit}=useHookForm();// Get the hook form context state.\nconst context=useFormContext();/**\n         * If the context is missing, render the default component.\n         */if(!context){return /*#__PURE__*/_jsx(Component,{...props});}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props,type:\"submit\",variant:!!context.formState?.isSubmitting?\"Submitting\":props.variant});};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Forms(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Forms\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"InputDisabled\":{\"type\":\"reactHoc\",\"name\":\"InputDisabled\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useWatch\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputNonPersistentDisabled\":{\"type\":\"reactHoc\",\"name\":\"InputNonPersistentDisabled\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useHookForm\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Form\":{\"type\":\"reactHoc\",\"name\":\"Form\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"reactHoc\",\"name\":\"Input\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputNonPersistent\":{\"type\":\"reactHoc\",\"name\":\"InputNonPersistent\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Submit\":{\"type\":\"reactHoc\",\"name\":\"Submit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Forms.map","/*\n * Forms\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/J2q9Yj37zr4PNttg2drG/DPQBhgtmEs5bsOjCVx5D/Forms.js\"\nexport { default } from \"https://framerusercontent.com/modules/J2q9Yj37zr4PNttg2drG/DPQBhgtmEs5bsOjCVx5D/Forms.js\"\n","/**\n * --------------------------------------------------------------------\n * Pay: Balances\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n *//**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Formats a numeric balance into a string with abbreviations for thousands (K),\n * millions (M), or billions (B). For numbers less than 1,000, it uses locale-specific\n * comma separators.\n */import{jsx as _jsx}from\"react/jsx-runtime\";export function formatBalance(value){if(value>=1e9){// Format billions\nreturn`${(value/1e9).toFixed(1).replace(/\\.0$/,\"\")}B`;}if(value>=1e6){// Format millions\nreturn`${(value/1e6).toFixed(1).replace(/\\.0$/,\"\")}M`;}if(value>=1e3){// Format thousands\nreturn`${(value/1e3).toFixed(1).replace(/\\.0$/,\"\")}K`;}// For numbers less than 1000, use locale formatting for commas.\nreturn value.toLocaleString();}/**\n * Get a balance by UUID.\n */export const getBalanceByUUID=(balance_uuid,currencies=null)=>{const shardCurrency=currencies?.find(c=>c.uuid===balance_uuid);// Get the raw balance value (expected to be a number).\nconst rawBalance=shardCurrency?.balances_aggregate?.aggregate?.sum?.value;// Format the balance.\nreturn typeof rawBalance===\"number\"?formatBalance(rawBalance):null;};/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Balances(Component){return props=>/*#__PURE__*/_jsx(Component,{...props});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Balances\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"getBalanceByUUID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatBalance\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Balances.map","/*\n * Balances\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vUZF9suUOy866BbX50wy/LwvYJoMHHEe7QNvXeq3L/Balances.js\"\nexport { default } from \"https://framerusercontent.com/modules/vUZF9suUOy866BbX50wy/LwvYJoMHHEe7QNvXeq3L/Balances.js\"\n","/**\n * --------------------------------------------------------------------\n * Members: Memberships\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n *//**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Formats a membership interval.\n */export const formatMembershipInterval=membership=>{const subscription=membership?.subscription;if(membership?.status===\"active\"){if(subscription){const interval=subscription?.price?.interval;switch(interval){case\"month\":return\"Monthly\";case\"year\":return\"Annual\";default:return\"Unknown\";}}return\"Lifetime\";}return\"None\";};\nexport const __FramerMetadata__ = {\"exports\":{\"formatMembershipInterval\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Memberships.map","/*\n * Memberships\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/CRY26KM56hJ1sDrJeTjx/qNdMelBAGpwEYTxuOCJg/Memberships.js\"\n","/**\n * --------------------------------------------------------------------\n * Members: Profile\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{getError,propify}from\"https://framer.com/m/Development-7oqH.js\";import{toast}from\"https://framer.com/m/Sonner-2W7J.js\";/**\n * --------------------------------------------------------------------\n * Callbacks\n * --------------------------------------------------------------------\n *//**\n * Callback that fires when the profile was updated.\n */const onProfileUpdated=(user_id,{username})=>{if(username){const posthog=window.posthog;if(posthog){posthog.identify(user_id,{username});}}};/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Update a member's profile with new data.\n */export async function updateProfile(graph,user_id,object){try{const{data,error}=await graph.query({gql:`\n                mutation UpdateMemberProfile($user_id: String!, $object: members_profiles_set_input!) {\n                    update_members_profiles(where: {user_id: {_eq: $user_id}}, _set: $object) {\n                        returning {\n                            uuid\n                            username\n                        }\n                    }\n                }\n            `,variables:{user_id,object}});// Return empty if an error occurs.\nif(error){if(error==='Uniqueness violation. duplicate key value violates unique constraint \"profiles_username_key\"'){throw new Error(\"This username already exists. Choose another one and try again.\");}throw new Error(\"Unable to update your profile. Please refresh and try again.\");}// Get the updated member.\nconst{update_members_profiles:{returning}}=data||{};const[member]=returning||[];// If no member found, return empty.\nif(!member){return null;}// Run the callback.\nonProfileUpdated(user_id,member);// @todo: Update the profile data store using a caching system.\n// setStore({\n//     ...store,\n//     profile: {\n//         ...store.profile,\n//         ...member,\n//     },\n// })\n// Return the affiliate referrer.\nreturn propify(member);}catch(e){toast.error(getError(e));console.error(getError(e));return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"updateProfile\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Profile.map","/*\n * Profile\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/r0ck0f3sccb79yDmGi5w/7kM1BFU1Tlx3UnAvdiQh/Profile.js\"\n","/**\n * --------------------------------------------------------------------\n * Helpers: Strings\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n *//**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Convert the first letter of each word in a string to uppercase.\n *\n * @param text - The text to convert.\n * @returns The text with the first letter of each word uppercase.\n */import{jsx as _jsx}from\"react/jsx-runtime\";export function toUpperCaseFirst(text){return text.split(\" \").map(word=>word.charAt(0).toUpperCase()+word.slice(1).toLowerCase()).join(\" \");}/**\n * Format a currency to USD.\n */export const formatCurrency=val=>{const num=parseFloat(val);if(isNaN(num))return val;return new Intl.NumberFormat(\"en-US\",{style:\"currency\",currency:\"USD\",maximumFractionDigits:0}).format(num);};/**\n * Format a date.\n */export const formatDate=val=>{const d=new Date(val);if(isNaN(d.getTime()))return val;const months=[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];const month=months[d.getMonth()]||\"\";const day=d.getDate();const year=d.getFullYear();const suffix=dd=>{if(dd>3&&dd<21)return\"th\";switch(dd%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\";}};return`${month} ${day}${suffix(day)}, ${year}`;};/**\n * Parse a string or boolean into a proper boolean value.\n * Returns true if the input is any of [true, \"true\", \"yes\", \"1\"].\n */function parseBoolean(value){if(typeof value===\"boolean\")return value;if(typeof value===\"string\"){const v=value.trim().toLowerCase();return v===\"true\"||v===\"yes\"||v===\"1\";}return false;}/**\n * Format a value.\n */export const formatValue=(raw,fmt)=>{switch(fmt){case\"currency\":return formatCurrency(raw);case\"date\":return formatDate(raw);case\"boolean\":{const boolVal=parseBoolean(raw);return\"<span style='font-size: 1.5em'>\"+(boolVal?\"✓\":\"𐄂\")+\"</span>\";}case\"image\":return raw?`![Image](${raw})`:\"\";default:return raw;}};/**\n * Check if a UUID is valid.\n */export function isValidUUID(uuid){if(!uuid||typeof uuid!==\"string\"){return false;}return/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(uuid);}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Strings(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"formatCurrency\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"toUpperCaseFirst\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatDate\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isValidUUID\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Strings\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Strings.map","/*\n * Strings\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/ncvpgioK19Z5qW7gycnE/7NOMj1zKJiISdL5Y6crH/Strings.js\"\nexport { default } from \"https://framerusercontent.com/modules/ncvpgioK19Z5qW7gycnE/7NOMj1zKJiISdL5Y6crH/Strings.js\"\n","/**\n * --------------------------------------------------------------------\n * Members: Member\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{memo,useCallback,useEffect,useMemo,useState}from\"react\";import{getBalanceByUUID}from\"https://framer.com/m/Balances-HSYV.js\";import{isFramer}from\"https://framer.com/m/Capsule-oSSG.js\";import{getSession}from\"https://framer.com/m/Clerk-47om.js\";import{getError,getLoadingVariant}from\"https://framer.com/m/Development-7oqH.js\";import{Form as FormComponent}from\"https://framer.com/m/Forms-9VLJ.js\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{formatMembershipInterval}from\"https://framer.com/m/Memberships-Laow.js\";import{updateProfile}from\"https://framer.com/m/Profile-rodA.js\";import{toast}from\"https://framer.com/m/Sonner-2W7J.js\";import{toUpperCaseFirst}from\"https://framer.com/m/Strings-XPcz.js\";/**\n * --------------------------------------------------------------------\n * Constants\n * --------------------------------------------------------------------\n */const CONFIG_DEFAULT_AVATAR_URL=\"https://common-cdn.agent.so/avatars/default.png\";const CONFIG_PLUS_PLAN_UUID=\"69b7bcd4-6047-46bb-bf69-6a3030b3ac28\";const CONFIG_SHARDS_BALANCE_UUID=\"a0301b1b-0696-4511-8d88-8bd77f74c93f\";/**\n * --------------------------------------------------------------------\n * Store\n * --------------------------------------------------------------------\n */const defaultStore={isLoadingMember:true,isLoggedIn:false,member:undefined,balance:undefined,membership:undefined,affiliate:undefined};export const guestStore={isLoadingMember:false,member:null,balance:null,membership:null,affiliate:null};export const useMember=createStore(defaultStore);/**\n * Force a refresh of the member data by resetting the store.\n */export const refreshMember=(setStore,store)=>{setStore({...store,isLoadingMember:true,member:undefined});};/**\n * --------------------------------------------------------------------\n * Queries\n * --------------------------------------------------------------------\n */const MEMBER_QUERY=`\n    query MEMBER_QUERY($user_id: String!) {\n\t\tmembers_profiles(where: {user_id: {_eq: $user_id}}) {\n            uuid\n            username\n            first_name\n            last_name\n            avatar\n            email\n            setup\n            memberships(where: {status: {_eq: \"active\"}}) {\n                plan {\n                    uuid\n                    title\n                }\n                status\n                subscription {\n                    price {\n                        interval\n                    }\n                    cancel_at\n                    cancel_at_period_end\n                    canceled_at\n                    cycle_end\n                    cycle_start\n                    ended_at\n                }\n            }\n            affiliate {\n                uuid\n\t\t\t\tcreated_at\n\t\t\t\tupdated_at\n\t\t\t\tagreement_at\n\t\t\t\tstatus\n            }\n        }\n        pay_currencies {\n            uuid\n            title\n            balances_aggregate(where: {member: {user_id: {_eq: $user_id}}}) {\n                aggregate {\n                    sum {\n                        value\n                    }\n                }\n            }\n        }\n\t}\n`;/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Map a member.\n */function mapMember(member){if(!member){return null;}return{...member,avatar:member.avatar||CONFIG_DEFAULT_AVATAR_URL,username:member.username||\"\",first_name:member.first_name||\"Friend\",last_name:member.last_name||\"\"};}/**\n * Map the memberships for a member.\n */function mapMemberMemberships(memberships=null){const membership=memberships?.find(m=>m?.plan?.uuid===CONFIG_PLUS_PLAN_UUID);return{title:membership?membership?.plan?.title:\"Agent Free\",status:membership?membership?.status:\"None\",interval:formatMembershipInterval(membership),cancel:membership?.subscription?.cancel_at||\"None\",cancelled:membership?.subscription?.canceled_at||\"None\",ended:membership?.subscription?.ended_at||\"None\",cycle:{start:membership?.subscription?.cycle_start||\"None\",end:membership?.subscription?.cycle_end||\"None\"},isActive:Boolean(membership?.status===\"active\"),isCancelling:Boolean(membership?.subscription?.cancel_at_period_end)};}function mapMemberProps(store){const{isLoadingMember,member,membership,balance}=store;if(member===null){return{isLoadingMember:false,isLoggedIn:false};}return{isLoadingMember,// Auth\nisLoggedIn:member.uuid,/**\n         * Member\n         */// Profile\nfirstName:member.first_name,lastName:member.last_name,username:member.username,avatar:member.avatar,// Membership\nmembershipTitle:membership.title,membershipStatus:membership.status,membershipInterval:membership.interval,membershipCancel:membership.cancel,membershipCancelled:membership.cancelled,membershipEnded:membership.ended,membershipCycleStart:membership.cycle.start,membershipCycleEnd:membership.cycle.end,membershipIsActive:membership.isActive,membershipIsAnnual:Boolean(membership.interval===\"Annual\"),membershipIsCancelling:membership.isCancelling,// Legacy\nmembershipPlanTitle:membership.title,membershipPlanInterval:membership?.interval,/**\n         * Pay\n         */// Balances\nbalanceShardsValue:balance?.shards};}/**\n * --------------------------------------------------------------------\n * Wrappers\n * --------------------------------------------------------------------\n */export function withMember(Component,config){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return props=>{const{graph}=props;const[store,setStore]=config.useMember();// Helper to set the session to guest.\nconst markAsGuest=useCallback(()=>{setStore({...store,...guestStore});},[store,setStore]);/**\n         * Set the member object.\n         */useEffect(()=>{const{member}=store;if(graph&&member===undefined){const initializeMember=async()=>{try{const{user,token}=await getSession();// Check if the member is logged in.\nif(!(user&&token)){return markAsGuest();}// Get the member data.\nconst{data,error}=await graph.query({gql:MEMBER_QUERY,variables:{user_id:user.id}});// Check for errors.\nif(error){throw new Error(\"Failed to initialize your profile. Please refresh and try again or contact support.\");}// Extract the profile.\nconst{members_profiles}=data||{};const[profile]=members_profiles||[];// If the member cannot be found, mark as guest.\nif(!profile){return markAsGuest();}// Get the member data from the profile.\nconst{affiliate,memberships,...member}=profile;// Update the store.\nsetStore({...store,isLoadingMember:false,isLoggedIn:Boolean(member?.uuid),member:mapMember(member),balance:{shards:getBalanceByUUID(CONFIG_SHARDS_BALANCE_UUID,data.pay_currencies)},membership:mapMemberMemberships(memberships),affiliate});}catch(error){console.error(`initializeMember Error`,error);}};initializeMember();}},[graph,store,markAsGuest]);/**\n         * If the member is loading, show the loader variant.\n         */// if (store.isLoadingMember) {\n//     return (\n//         <Component\n//             {...props}\n//             variant={getLoadingVariant({\n//                 Component,\n//                 variant: props?.variant,\n//             })}\n//         />\n//     )\n// }\n/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props});};}/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override that passes member data as props to components.\n */export const withMemberProps=(Component,config)=>{if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return props=>{const[store]=config.useMember();/**\n         * If the member is loading, show the loader variant.\n         */if(store.isLoadingMember){return /*#__PURE__*/_jsx(Component,{...props,variant:getLoadingVariant({Component,variant:props.variant})});}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props,...mapMemberProps(store)});};};/**\n * Override that supports the member update functionality.\n */export const withMemberUpdateForm=(Component,config={})=>{const MemberUpdateForm=/*#__PURE__*/memo(props=>{const{useMember}=config;const[{member}]=useMember();const{first_name,last_name,username,avatar}=member;/**\n             * Prepare the local state.\n             */const[isUploading,setIsUploading]=useState(false);/**\n             * Set the avatar variant.\n             */const avatarVariant=useMemo(()=>!avatar||CONFIG_DEFAULT_AVATAR_URL===avatar?.src?\"Empty\":\"Existing\",[avatar,CONFIG_DEFAULT_AVATAR_URL]);/**\n             * Handler used to update the current user's profile.\n             */const onSubmit=async({firstName,lastName,avatar,username},{complete,reject})=>{try{const{user}=await getSession();// Prepare the update payload.\nconst payload={first_name:firstName?toUpperCaseFirst(firstName):undefined,last_name:lastName?toUpperCaseFirst(lastName):undefined,avatar:undefined,username};// If an avatar exists, replace the user avatar.\nif(avatar){setIsUploading(true);const{publicUrl}=await user.setProfileImage({file:avatar});payload.avatar=publicUrl;}// Update the profile.\nconst updated=await updateProfile(props.graph,user.id,payload);// If the member was updated, reload the window.\nif(updated){window.location.reload();}else{complete();}}catch(e){reject(e);}};/**\n             * Render the component.\n             */const Form=FormComponent(props=>/*#__PURE__*/_jsx(Component,{...props,avatar:avatar,avatarVariant:avatarVariant,firstName:first_name,lastName:last_name,username:username,variant:isUploading?\"Uploading\":props.variant}));return /*#__PURE__*/_jsx(Form,{...props,onSubmit:onSubmit});},(prevProps,newProps)=>{if(prevProps.graph!==newProps.graph)return false;return true;});return MemberUpdateForm;};/**\n * Override used to remove the user avatar.\n */export const withMemberAvatarRemove=Component=>{if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return props=>{const{graph}=props;/**\n         * States used to show component interactivity.\n         */const[isRemoving,setIsRemoving]=useState(false);/**\n         * Handler used to update the current user's profile.\n         */const onClick=useCallback(async()=>{if(typeof window!==\"undefined\"){try{setIsRemoving(true);const{user}=await getSession();await user.setProfileImage({file:null});// Update the profile.\nconst member=await updateProfile(graph,user.id,{avatar:null});// If the member was updated, reload the window.\nif(member){window.location.reload();}}catch(e){toast.error(getError(e));}}},[graph]);/**\n         * Render the component\n         */return /*#__PURE__*/_jsx(Component,{...props,onClick:onClick,title:isRemoving?\"Removing...\":props.title,variant:isRemoving?\"Loading\":props.variant});};};/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Member(Component){return Component;}\nexport const __FramerMetadata__ = {\"exports\":{\"withMemberUpdateForm\":{\"type\":\"reactHoc\",\"name\":\"withMemberUpdateForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMember\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMemberAvatarRemove\":{\"type\":\"reactHoc\",\"name\":\"withMemberAvatarRemove\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"refreshMember\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMemberProps\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMember\":{\"type\":\"reactComponent\",\"name\":\"withMember\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"guestStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Member.map","/*\n * Member\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/3QvdOjUjRt11vmPUpvQk/BoE3wNyUiC6y5vYHIAKA/Member.js\"\nexport { default } from \"https://framerusercontent.com/modules/3QvdOjUjRt11vmPUpvQk/BoE3wNyUiC6y5vYHIAKA/Member.js\"\n","/**\n * --------------------------------------------------------------------\n * Members: Auth\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect,useMemo,useCallback}from\"react\";import{Form as FormComponent}from\"https://framer.com/m/Forms-9VLJ.js\";import{isFramer}from\"https://framer.com/m/Capsule-oSSG.js\";import{getError}from\"https://framer.com/m/Development-7oqH.js\";import{refreshMember,guestStore}from\"https://framer.com/m/Member-gNBX.js\";import{toast}from\"https://framer.com/m/Sonner-2W7J.js\";/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Get the member redirect URL from the \"to\" query parameter.\n *\n * Supports paths with query parameters:\n * - ?to=/setup (redirects to /setup)\n * - ?to=/vault?tab=settings (redirects to /vault?tab=settings)\n * - ?to=agent.so/vault (redirects to /vault)\n * - ?to=/vault%3Ftab%3Dsettings (redirects to /vault?tab=settings)\n *\n * Note: URLSearchParams already decodes once, so we try to avoid double-decoding.\n */export const getMemberRedirectUrl=defaultRedirect=>{try{const urlParams=new URLSearchParams(window.location.search);const redirectUrl=urlParams.get(\"to\");if(redirectUrl){// URLSearchParams.get() already decodes, so just trim\n// Only decode if it looks like it's still encoded\nconst decodedUrl=redirectUrl.includes(\"%\")?decodeURIComponent(redirectUrl).trim():redirectUrl.trim();// If it starts with a protocol, treat as absolute URL\nconst hasProtocol=/^https?:\\/\\//i.test(decodedUrl);let url;if(hasProtocol){url=new URL(decodedUrl);}else{// If it starts with '/', treat as root-relative\nlet path=decodedUrl;// If it looks like \"agent.so/ambassador\", take only the path part\nif(!path.startsWith(\"/\")){const slashIndex=path.indexOf(\"/\");path=slashIndex!==-1?path.slice(slashIndex):\"/\";}url=new URL(path,window.location.origin);}// Get the current hostname and root domain\nconst currentHostname=window.location.hostname;const baseDomain=currentHostname.split(\".\").slice(-2).join(\".\");// Ensure the redirect URL is on the same domain or a subdomain\nif(url.hostname===currentHostname||// Exact match\nurl.hostname.endsWith(`.${baseDomain}`)||// Subdomain match\nurl.hostname===baseDomain// Root domain match\n){// Force https for absolute URLs\nif(url.protocol!==\"https:\"){url.protocol=\"https:\";}// Always return absolute path + query + hash\nreturn url.pathname+url.search+url.hash;}}return defaultRedirect;}catch(error){console.error(\"Invalid redirect URL:\",error);return defaultRedirect;}};/**\n * Handler that fires when authentication changes.\n */const onAuth=({user_id,email})=>{const posthog=window.posthog;// Identify the user on PostHog.\nif(posthog){posthog.identify(user_id,{email});}// Remove the affiliates:referrer key from localStorage.\nlocalStorage.removeItem(\"affiliates:referrer\");};/**\n * Handler for when the user logs out.\n */const onLogout=()=>{const posthog=window.posthog;// Remove the affiliates:referrer key from localStorage.\nlocalStorage.removeItem(\"affiliates:referrer\");// Reset the Posthog User and Analytics Person object.\nposthog.reset();};/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override used to turn a component into a login form using Clerk.\n */export const withLoginForm=(Component,config)=>{if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}if(!config.paths){throw new Error('withLoginForm requires the \"config.paths\" to be explicitly set.');}if(!config.paths.home){throw new Error('withLoginForm requires the \"config.paths.home\" to be explicitly set.');}if(!config.useMember){throw new Error('withLoginForm requires the \"config.useMember\" to be explicitly set.');}return props=>{const{useMember}=config;const[variant,setVariant]=useState(\"Email\");const Form=useCallback(FormComponent(Component),[variant]);const[store,setStore]=useMember();const{isLoadingMember,isLoggedIn}=store;// Capture redirect URL on mount\nconst redirectUrl=useMemo(()=>getMemberRedirectUrl(config.paths.home),[]);// Get the Clerk instance.\nconst clerk=useMemo(()=>{if(!isLoadingMember){return window.Clerk;}},[isLoadingMember]);/**\n         * Step 1: Send a Verification Email\n         */const loginViaEmail=async({email},{complete,reject})=>{try{const{client:{signIn}}=clerk;// Create a new signIn object.\nconst signInAttempt=await signIn.create({identifier:email});// Prepare and send the email verification.\nconst{emailAddressId}=signInAttempt.supportedFirstFactors.find(factor=>factor.strategy===\"email_code\"&&factor.safeIdentifier===email);// Run the first factor authentication.\nawait signInAttempt.prepareFirstFactor({strategy:\"email_code\",emailAddressId});// Set the component to the next step.\nsetVariant(\"Code\");// Complete the form request.\ncomplete();}catch(error){reject(error);}};/**\n         * Step 2: Confirm the Verification Code\n         */const confirmCode=async({code},{reject})=>{try{const{client:{signIn},setActive}=clerk;// Attempt a code verification via email.\nconst{status,createdSessionId:session}=await signIn.attemptFirstFactor({strategy:\"email_code\",code});// If the verification is successful, continue.\nif(status===\"complete\"){await setActive({session,beforeEmit:({user})=>{const posthog=window.posthog;onAuth({user_id:user.id,email:user.primaryEmailAddress.emailAddress});if(posthog){posthog.capture(\"Logged In\");}setVariant(\"Redirecting\");}});}}catch(error){reject(error);}};/**\n         * Cancel the current email request and go back.\n         */const cancelEmail=()=>{setVariant(\"Email\");};/**\n         * Resend the Verification Code\n         */const resendCode=async()=>{try{const{client:{signIn}}=clerk;const emailCodeFactor=signIn.supportedFirstFactors.find(factor=>factor.strategy===\"email_code\");await signIn.prepareFirstFactor({strategy:\"email_code\",emailAddressId:emailCodeFactor.emailAddressId});alert(\"Your verification code has been re-sent. Please check your email inbox & spam.\");}catch(e){toast.error(getError(e));}};/**\n         * Component form submission handler.\n         */const onSubmit=({email,code},handlers)=>{switch(variant){case\"Email\":{return loginViaEmail({email},handlers);}case\"Code\":{return confirmCode({code},handlers);}}};/**\n         * Redirect after animation when authentication succeeds.\n         */useEffect(()=>{if(variant===\"Redirecting\"){const timer=setTimeout(()=>{refreshMember(setStore,store);window.location.href=redirectUrl;},3e3);return()=>clearTimeout(timer);}},[variant,redirectUrl,setStore,store]);/**\n         * Prioritize the redirecting animation.\n         */if(variant===\"Redirecting\"){return /*#__PURE__*/_jsx(Form,{...props,variant:\"Redirecting\"});}/**\n         * Render the loading state.\n         */if(isLoadingMember||isLoggedIn){return /*#__PURE__*/_jsx(Form,{...props,variant:\"Loading\"});}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Form,{...props,cancel:cancelEmail,email:clerk.client.signIn.identifier,onSubmit:onSubmit,resend:resendCode,variant:variant});};};/**\n * Override used to turn a component into a sign up form using Clerk.\n */export const withSignupForm=(Component,config)=>{if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}if(!config.paths){throw new Error('withSignupForm requires the \"config.paths\" to be explicitly set.');}if(!config.paths.home){throw new Error('withSignupForm requires the \"config.paths.home\" to be explicitly set.');}if(!config.paths.setup){throw new Error('withSignupForm requires the \"config.paths.setup\" to be explicitly set.');}if(!config.useMember){throw new Error('withSignupForm requires the \"config.useMember\" to be explicitly set.');}return({referrer,...props})=>{const{useMember}=config;const[store,setStore]=useMember();const{isLoadingMember,isLoggedIn}=store;const[variant,setVariant]=useState(\"Email\");const Form=useCallback(FormComponent(Component),[variant]);// Get the Clerk instance.\nconst clerk=useMemo(()=>{if(!isLoadingMember){return window.Clerk;}},[isLoadingMember]);/**\n         * Step 1: Send a Verification Email\n         */const signUpViaEmail=async({email},{complete,reject})=>{try{const{client:{signUp}}=clerk;// Get the \"to\" parameter for server-side redirect processing\nconst urlParams=new URLSearchParams(window.location.search);const redirectTo=urlParams.get(\"to\");// Build metadata object\nconst metadata={};if(referrer){metadata.referrer=referrer.affiliateUuid;}if(redirectTo){// Decode the redirect URL before storing in Clerk\n// URLSearchParams.get() already decodes once, but decode again if needed\nconst decodedRedirectTo=redirectTo.includes(\"%\")?decodeURIComponent(redirectTo):redirectTo;metadata.redirectTo=decodedRedirectTo;}// Create a new signup object.\nconst signUpAttempt=await signUp.create({emailAddress:email,unsafeMetadata:Object.keys(metadata).length>0?metadata:undefined});// Prepare and send the email verification.\nawait signUpAttempt.prepareEmailAddressVerification();// Set the component to the next step.\nsetVariant(\"Code\");// Complete the form request.\ncomplete();}catch(error){reject(error);}};/**\n         * Step 2: Confirm the Verification Code\n         */const confirmCode=async({code},{reject})=>{try{const{client:{signUp},setActive}=clerk;// Attempt a code verification via email.\nconst{verifications,createdSessionId:session}=await signUp.attemptEmailAddressVerification({code});// If the verification is successful, continue.\nif(verifications.emailAddress.status===\"verified\"){setActive({session,beforeEmit:({user})=>{const posthog=window.posthog;onAuth({user_id:user.id,email:user.primaryEmailAddress.emailAddress});if(posthog){posthog.capture(\"Signed Up\");}setVariant(\"Redirecting\");}});}}catch(error){reject(error);}};/**\n         * Cancel the current email request and go back.\n         */const cancelEmail=()=>{setVariant(\"Email\");};/**\n         * Resend the Verification Code\n         */const resendCode=async()=>{try{const{client:{signUp}}=clerk;await signUp.prepareEmailAddressVerification();alert(\"Your verification code has been re-sent. Please check your email inbox & spam.\");}catch(e){toast.error(getError(e));}};/**\n         * Component form submission handler.\n         */const onSubmit=({email,code},handlers)=>{switch(variant){case\"Email\":{return signUpViaEmail({email},handlers);}case\"Code\":{return confirmCode({code},handlers);}}};/**\n         * Redirect after animation when authentication succeeds.\n         * Always redirects to setup (or home) without params.\n         * The \"to\" parameter is stored in Clerk metadata for server-side processing.\n         */useEffect(()=>{if(variant===\"Redirecting\"){const timer=setTimeout(()=>{refreshMember(setStore,store);// Redirect to setup/home without any params\nwindow.location.href=config.paths.setup||config.paths.home;},3e3);return()=>clearTimeout(timer);}},[variant,setStore,store]);/**\n         * Prioritize the redirecting animation.\n         */if(variant===\"Redirecting\"){return /*#__PURE__*/_jsx(Form,{...props,variant:\"Redirecting\"});}/**\n         * Render the loading state.\n         */if(isLoadingMember||isLoggedIn){return /*#__PURE__*/_jsx(Form,{...props,variant:\"Loading\"});}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Form,{...props,cancel:cancelEmail,email:clerk.client.signUp.emailAddress,onSubmit:onSubmit,resend:resendCode,variant:variant});};};/**\n * Override used to log out the user on click.\n */export const withLogout=(Component,config)=>{if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}if(!config.paths){throw new Error('withLogout requires the \"config.paths\" to be explicitly set.');}if(!config.paths.login){throw new Error('withLogout requires the \"config.paths.login\" to be explicitly set.');}if(!config.useMember){throw new Error('withLogout requires the \"config.useMember\" to be explicitly set.');}return props=>{const{useMember}=config;const[store,setStore]=useMember();const{isLoadingMember,isLoggedIn}=store;const[isLoggingOut,setIsLoggingOut]=useState(false);// Get the Clerk instance.\nconst clerk=useMemo(()=>{if(!isLoadingMember){return window.Clerk;}},[isLoadingMember]);/**\n         * Config\n         */const{paths}=config;/**\n         * Step 1: Send a Verification Email\n         */const logout=useCallback(async e=>{e.preventDefault();try{setIsLoggingOut(true);// Callback that runs when logging out.\nonLogout();// Remove the Clerk session.\nawait clerk.signOut();// Set the store to guest.\nsetStore({...store,...guestStore});// Normalize login path: if it's an absolute URL, extract just the pathname\nlet loginPath=paths.login;try{if(/^https?:\\/\\//i.test(loginPath)){const loginUrl=new URL(loginPath);// Only use relative path to stay on current domain\nloginPath=loginUrl.pathname+loginUrl.search+loginUrl.hash;}}catch{// If URL parsing fails, use loginPath as-is\n}// Get current path as \"to\" parameter\nconst currentPath=window.location.pathname+window.location.search+window.location.hash;// Redirect to the login page on same domain with current path as \"to\" parameter\nwindow.location.href=`${loginPath}?to=${encodeURIComponent(currentPath)}`;}catch(e){toast.error(getError(e));setIsLoggingOut(false);}return false;},[store,setStore,clerk]);/**\n         * Render the loading state.\n         */if(isLoadingMember||!isLoggedIn||isLoggingOut){return /*#__PURE__*/_jsx(Component,{...props,variant:\"Loading\"});}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(\"span\",{onClick:logout,role:\"button\",children:/*#__PURE__*/_jsx(Component,{...props})});};};/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Auth(Component){return Component;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMemberRedirectUrl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLogout\":{\"type\":\"reactHoc\",\"name\":\"withLogout\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSignupForm\":{\"type\":\"reactHoc\",\"name\":\"withSignupForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLoginForm\":{\"type\":\"reactHoc\",\"name\":\"withLoginForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Auth.map","/*\n * Auth\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/VEKgCcXMF24YldzRVouy/XWQstQyvqAYGlWZgG5Av/Auth.js\"\nexport { default } from \"https://framerusercontent.com/modules/VEKgCcXMF24YldzRVouy/XWQstQyvqAYGlWZgG5Av/Auth.js\"\n","/**\n * --------------------------------------------------------------------\n * Helpers: Router\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */// @ts-ignore\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useRouter as useFramerRouter,useCurrentRouteId}from\"framer\";import{useState,useEffect,useMemo,useCallback}from\"react\";import{isValidUUID}from\"https://framer.com/m/Strings-XPcz.js\";/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Hook used to access the current pathname.\n *\n * Works with dynamic routes like /project/:f0eajfae.\n */export const usePathname=()=>{const{routes,currentPathVariables}=useFramerRouter();const currentRouteId=useCurrentRouteId();const currentRoutePath=routes?.[currentRouteId]?.path||\"\";// Memoize the pathname to avoid unnecessary re-renders\nconst pathname=useMemo(()=>{if(!currentRoutePath)return null;let finalPath=currentRoutePath;// If there are dynamic segments, replace them with values from currentPathVariables\nif(currentPathVariables){Object.keys(currentPathVariables).forEach(key=>{const placeholder=`:${key}`;// Replace the placeholder in the currentRoutePath with the corresponding value\nif(finalPath.includes(placeholder)){finalPath=finalPath.replace(placeholder,currentPathVariables[key]);}});}return finalPath||null;},[currentRoutePath,currentPathVariables]);// Return the final pathname.\nreturn pathname;};/**\n * Hook used to navigate to different routes.\n */export const useRouter=()=>{const{navigate,routes}=useFramerRouter();const push=useCallback(to=>{if(typeof window===\"undefined\")return;// Build a URL object so we can easily split path & query\nconst url=new URL(to,window.location.origin);const{pathname,searchParams}=url;const queryParams=Object.fromEntries(searchParams.entries());// Try to match each Framer route definition\nfor(const[routeId,def]of Object.entries(routes||{})){const pattern=def.path||\"\";const keys=[];// Turn /foo/:bar/baz into a regex, capturing named segments\nconst regex=new RegExp(\"^\"+pattern.replace(/:([^/]+)/g,(_,key)=>{keys.push(key);return\"([^/]+)\";})+\"$\");const match=regex.exec(pathname);if(match){// Extract path variables\nconst pathParams={};match.slice(1).forEach((val,i)=>{pathParams[keys[i]]=decodeURIComponent(val);});// Merge path+query params, navigate, then shallow-push the URL\nconst allParams={...pathParams,...queryParams};navigate(routeId,\"\",allParams);return;}}// Fallback: no Framer route matched → just shallow-push\nwindow.history.pushState({},\"\",to);},[navigate,routes]);return{push};};/**\n * Hook to access and manipulate search parameters in the URL.\n *\n * Handles SSR and CSR scenarios.\n */export const useSearchParams=()=>{const pathname=usePathname();const[searchParams,setSearchParams]=useState(null);// Initialize searchParams when the component mounts and when the pathname changes\nuseEffect(()=>{if(pathname){const newSearchParams=new URLSearchParams(window.location.search);setSearchParams(newSearchParams);}},[pathname]);/**\n     * Return the hook methods, ensuring searchParams are available.\n     */return{all:()=>searchParams,get:key=>searchParams?.get(key)||null,has:key=>searchParams?.has(key)||false,set:(key,value)=>{if(typeof window!==\"undefined\"&&searchParams){searchParams.set(key,value);// Update the URL without triggering a page reload (replaceState)\nwindow.history.replaceState(null,\"\",`${window.location.pathname}?${searchParams.toString()}`);// Update the state with the new search parameters\nsetSearchParams(new URLSearchParams(window.location.search));}},delete:key=>{if(typeof window!==\"undefined\"&&searchParams){searchParams.delete(key);// Update the URL without triggering a page reload (replaceState)\nwindow.history.replaceState(null,\"\",`${window.location.pathname}?${searchParams.toString()}`);// Update the state with the new search parameters\nsetSearchParams(new URLSearchParams(window.location.search));}},toString:()=>searchParams?.toString()||\"\"};};/**\n * Helper function that extracts the last N segments from window.location.pathname,\n * where N equals the number of keys provided, and maps each segment to the corresponding key.\n *\n * Example:\n *   For URL: \"https://next.agent.so/share/c/80e9108c-b4e1-4606-a5a6-309a2e576622\"\n *   Calling getPathParams(['conversation_uuid']) returns:\n *     { conversation_uuid: \"80e9108c-b4e1-4606-a5a6-309a2e576622\" }\n *\n *   For URL: \"https://next.agent.so/share/c/80e9108c-b4e1-4606-a5a6-309a2e576622/0a507ad9-c2db-43ce-b518-8be244ecde1e\"\n *   Calling getPathParams(['agent_uuid', 'conversation_uuid']) returns:\n *     { agent_uuid: \"80e9108c-b4e1-4606-a5a6-309a2e576622\", conversation_uuid: \"0a507ad9-c2db-43ce-b518-8be244ecde1e\" }\n */export function getPathParams(keys,config){if(typeof window===\"undefined\")return{};const pathname=window.location.pathname;// Split the pathname into segments and filter out any empty strings\nconst segments=pathname.split(\"/\").filter(Boolean);// Take the last N segments, where N equals the number of keys provided\nconst dynamicSegments=segments.slice(-keys.length);// If a root is provided and we expect only one segment, check if it equals the root.\n// If so, return a marker object (here, { notFound: \"true\" }) that your app can use to render a 404.\nif(config?.root&&keys.length===1&&dynamicSegments[0]===config.root){return{notFound:\"true\"};}// Otherwise, map each provided key to the corresponding dynamic segment.\nconst params={};keys.forEach((key,index)=>{params[key]=dynamicSegments[index]||\"\";});return params;}/**\n * Get the current domain (protocol + hostname) from window.location.\n *\n * Examples:\n * - If window.location is \"https://www.example.com/whatever/the/heck\",\n *   this function returns \"https://www.example.com\".\n * - If window.location is \"https://something.com\", it returns \"https://something.com\".\n * - If window.location is \"https://next.something.com\", it returns \"https://next.something.com\".\n *\n * @returns {string} The current domain or an empty string if window is not available.\n */export function getCurrentUrl(){if(typeof window!==\"undefined\"){return window.location.origin||`${window.location.protocol}//${window.location.hostname}`;}return\"\";}/**\n * Extract an entity's UUID from current URL\n *\n * /example/{boundary}/{widget_uuid} or /example/{boundary}/{widget_uuid}/{section}\n */export function getRouteUUID({boundary}){if(typeof window===\"undefined\")return null;// Get the pathname and segments.\nconst pathname=window.location.pathname;const segments=pathname.split(\"/\").filter(Boolean);// Find the widget UUID in the URL\nconst index=segments.indexOf(boundary);// Search for the UUID.\nif(index!==-1&&segments[index+1]){const potentialUUID=segments[index+1];if(isValidUUID(potentialUUID)){return potentialUUID;}}// If no UUID was found, return null.\nreturn null;}/**\n * Navigate to a specific entity route.\n */export function navigateEntity({root,segment,boundary}){const entity_uuid=getRouteUUID({boundary});if(!entity_uuid){console.warn(\"Could not idenfity the entity.\");return;}// Build the new URL\nconst baseURL=`${root}/${entity_uuid}`;const newURL=segment?`${baseURL}/${segment}`:baseURL;// Update the URL using shallow routing\nif(window.history&&window.history.pushState){window.history.pushState({},\"\",newURL);}}/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override to navigate to a specific segment in the entity context.\n */export function withEntityNavigate(Component,config={}){return props=>{const{root,segment=\"\",boundary}=config;/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(\"div\",{onClick:()=>navigateEntity({root,segment,boundary}),role:\"button\",children:/*#__PURE__*/_jsx(Component,{...props})});};}/**\n * Override used to navigate between items in an entity context.\n */export function withEntityNavigationItem(Component,config){return props=>{const{identifier,root,segments,boundary}=config;/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(\"div\",{onClick:()=>navigateEntity({root,segment:segments[props[identifier]],boundary}),role:\"button\",children:/*#__PURE__*/_jsx(Component,{...props})});};}/**\n * Override that forwards the entity UUID to a component. Should only be used once.\n */export function withEntityRouter(Component){return props=>{const router=useRouter();if(typeof window===\"undefined\")return null;const pathname=window.location.pathname;const segments=pathname.split(\"/\").filter(Boolean);if(segments.length===0){router.push(\"/404\");return null;}const tail=segments[segments.length-1];let entity_uuid=\"\";if(isValidUUID(tail)){entity_uuid=tail;}else{if(segments.length<2){router.push(\"/404\");return null;}const prev=segments[segments.length-2];if(isValidUUID(prev)){entity_uuid=prev;}else{router.push(\"/404\");return null;}}if(!entity_uuid){router.push(\"/404\");return null;}return /*#__PURE__*/_jsx(Component,{...props,entityUUID:entity_uuid});};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Router(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"getPathParams\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePathname\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEntityNavigate\":{\"type\":\"reactHoc\",\"name\":\"withEntityNavigate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Router\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"useRouter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEntityNavigationItem\":{\"type\":\"reactHoc\",\"name\":\"withEntityNavigationItem\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"navigateEntity\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearchParams\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRouteUUID\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCurrentUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEntityRouter\":{\"type\":\"reactHoc\",\"name\":\"withEntityRouter\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Router.map","/*\n * Router\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/JFdjuzjJ9Z3GJvn1skPP/GZFwUSWQaYQhLhIP7fjl/Router.js\"\nexport { default } from \"https://framerusercontent.com/modules/JFdjuzjJ9Z3GJvn1skPP/GZFwUSWQaYQhLhIP7fjl/Router.js\"\n","/**\n * --------------------------------------------------------------------\n * Members: Permissions\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{getMemberRedirectUrl}from\"https://framer.com/m/Auth-warf.js\";import{isFramer}from\"https://framer.com/m/Capsule-oSSG.js\";import{usePathname}from\"https://framer.com/m/Router-vdQr.js\";/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Build the redirect URL for requireMember.\n * Takes the current path and adds it as a \"to\" parameter to the login page.\n *\n * If basePath is an absolute URL to a different domain, converts it to a relative path\n * to keep the redirect on the same domain.\n */function getAuthRedirect(basePath,includeRedirect=true){if(!includeRedirect){return basePath;}// Normalize basePath: if it's an absolute URL, extract just the pathname\nlet normalizedBasePath=basePath;try{if(/^https?:\\/\\//i.test(basePath)){const baseUrl=new URL(basePath);// Only use relative path to stay on current domain\nnormalizedBasePath=baseUrl.pathname+baseUrl.search+baseUrl.hash;}}catch{// If URL parsing fails, use basePath as-is\n}// Get just the path, search, and hash from current location (no domain/protocol)\n// Keep the leading slash for consistency with \"to\" parameter format\nconst currentPath=window.location.pathname+window.location.search+window.location.hash;// Determine whether to use '?' or '&' if basePath already contains query parameters.\nconst separator=normalizedBasePath.includes(\"?\")?\"&\":\"?\";// Return the complete URL with the encoded \"to\" parameter.\nreturn`${normalizedBasePath}${separator}to=${encodeURIComponent(currentPath)}`;}/**\n * Override used to show components only to annual paid members.\n */export function createShowGate(Component,config){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return props=>{const{condition,useMember}=config;const[{isLoadingMember,...store}]=useMember();if(isLoadingMember||condition(store)!==true){return null;}return /*#__PURE__*/_jsx(Component,{...props});};}/**\n * Create a require gate redirect based on the useMember data.\n */export function createRequireGate(Component,config){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}return props=>{const{condition,loader,useMember}=config;const[{isLoadingMember,...store}]=useMember();// Set the redirect flag if applicable.\nconst redirect=isLoadingMember?undefined:condition(store);// Redirect the user.\nuseEffect(()=>{if(typeof window!==\"undefined\"&&!isLoadingMember&&redirect){window.location.href=config.redirect;}},[isLoadingMember,redirect]);// Render the loader.\nif(isLoadingMember||redirect===undefined||redirect){return loader;}// Render the component.\nreturn /*#__PURE__*/_jsx(Component,{...props});};}/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Wrapper that redirects guests to the home page.\n */export function requireGuest(Component,config){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}if(!config.path){throw new Error('requireGuest requires the \"config.path\" to be explicitly set.');}if(!config.useMember){throw new Error('requireGuest requires the \"config.useMember\" to be explicitly set.');}return props=>{const{useMember}=config;const[{isLoadingMember,isLoggedIn}]=useMember();const pathname=usePathname();// Redirect the user if they're already logged in.\nuseEffect(()=>{if(!isLoadingMember&&isLoggedIn){const redirectUrl=getMemberRedirectUrl(config.path);window.location.href=redirectUrl;}},[isLoadingMember,isLoggedIn,pathname]);// Hide the content while loading.\nif(isLoadingMember||isLoggedIn){return config.loader;}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props});};}/**\n * Wrapper that redirects members to the login page.\n */export function requireMember(Component,config){if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}if(!config.path){throw new Error('requireMember requires the \"config.path\" to be explicitly set.');}if(!config.useMember){throw new Error('requireMember requires the \"config.useMember\" to be explicitly set.');}return props=>{const{useMember}=config;const[{isLoadingMember,isLoggedIn}]=useMember();const pathname=usePathname();// Redirect the user if they're already logged in.\nuseEffect(()=>{if(!(isLoadingMember||isLoggedIn)){window.location.href=getAuthRedirect(config.path);}},[isLoadingMember,isLoggedIn,pathname]);// Hide the content until we finished loading.\nif(isLoadingMember||!isLoggedIn){return config.loader;}/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props});};}/**\n * Template-level wrapper used to require a membership.\n */export const requireMembership=(Component,config)=>createRequireGate(Component,{...config,condition:({membership})=>membership.title!==config.title});/**\n * Template-level wrapper used to require the setup to be incomplete.\n */export const requireSetupIncomplete=(Component,config)=>createRequireGate(Component,{...config,condition:({member})=>member.setup!==false});/**\n * Template-level wrapper used to require the setup to be complete.\n */export const requireSetupComplete=(Component,config)=>createRequireGate(Component,{...config,condition:({member})=>member.setup!==true});/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Permissions(Component){return Component;}\nexport const __FramerMetadata__ = {\"exports\":{\"requireMember\":{\"type\":\"reactHoc\",\"name\":\"requireMember\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireSetupIncomplete\":{\"type\":\"reactHoc\",\"name\":\"requireSetupIncomplete\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireGuest\":{\"type\":\"reactHoc\",\"name\":\"requireGuest\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createRequireGate\":{\"type\":\"reactComponent\",\"name\":\"createRequireGate\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"createShowGate\":{\"type\":\"reactComponent\",\"name\":\"createShowGate\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireSetupComplete\":{\"type\":\"reactHoc\",\"name\":\"requireSetupComplete\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireMembership\":{\"type\":\"reactHoc\",\"name\":\"requireMembership\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Permissions.map","/*\n * Permissions\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/U5kMey9QYME5aN9HCM6B/KlEtwvdc8r7Uw7PHm8rI/Permissions.js\"\nexport { default } from \"https://framerusercontent.com/modules/U5kMey9QYME5aN9HCM6B/KlEtwvdc8r7Uw7PHm8rI/Permissions.js\"\n","/**\n * --------------------------------------------------------------------\n * Capsule\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n *//**\n * --------------------------------------------------------------------\n * Config\n * --------------------------------------------------------------------\n */export const config={database:{endpoint:\"https://graph.agent.so\"},members:{paths:{login:\"https://www.agent.so/login\",setup:\"https://account.agent.so/setup\",home:\"https://www.agent.so/chat\",membership:\"https://www.agent.so/account/membership\",upgrade:\"https://www.agent.so/upgrade\"},defaults:{avatar:\"https://common-cdn.agent.so/avatars/default.png\"}},affiliates:{endpoint:\"https://api.agent.so/v1/me/affiliate\",paths:{home:\"https://www.agent.so/ambassador\",setup:\"https://www.agent.so/ambassador/setup\"}},pay:{portal:{endpoint:\"https://api.agent.so/v1/apps/stripe/portal\"}}};\nexport const __FramerMetadata__ = {\"exports\":{\"config\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_capsule.map","/**\n * --------------------------------------------------------------------\n * Database: Queries\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{isFramer}from\"https://framer.com/m/Capsule-oSSG.js\";import{getError}from\"https://framer.com/m/Development-7oqH.js\";import{getSession}from\"https://framer.com/m/Clerk-47om.js\";import{toast}from\"https://framer.com/m/Sonner-2W7J.js\";/**\n * --------------------------------------------------------------------\n * Functions\n * --------------------------------------------------------------------\n *//**\n * Run a query as a user using their current JWT token.\n */export async function query({gql,variables,endpoint}){const headers={\"Content-Type\":\"application/json\"};const{user,token}=await getSession();// If no token is found, run the query annonimously.\nif(!user||!token){headers[\"X-Hasura-Role\"]=\"public\";}else{headers[\"X-Hasura-Role\"]=\"user\";headers[\"Authorization\"]=`Bearer ${token}`;}// Set the default error.\nconst defaultError=\"Unable to run your query. Please try again or contact support.\";// Run the query.\nconst response=await fetch(endpoint,{method:\"POST\",headers,body:JSON.stringify({query:gql,variables})});// Parse the response.\nconst payload=await response.json();// If there are errors, log them.\nif(payload?.errors?.length>0){const error=getError(payload.errors[0]);return{data:null,error:error||defaultError};}// Return the payload.\nreturn payload;}/**\n * Helper used to update a generic entity.\n */export async function updateEntity(entity_uuid,object,config){const{graph,messages,refresh=false,mutation,label}=config;const{success=`Your ${label} was updated successfully.`,error:errorMsg=`Failed to update this ${label}.`}=messages||{};try{if(!(graph&&mutation&&label&&entity_uuid)){throw new Error(`Unable to identify the ${label}. Please refresh and try again or contact support.`);}// Check if the session exists.\nconst session=await getSession();if(!session){throw new Error(`You must be logged in to update the ${label}.`);}// Run the update mutation.\nconst{data,error}=await graph.query({gql:mutation,variables:{entity_uuid,object}});// Throw any potential errors.\nif(error){console.error(error);throw new Error(error.message||`Failed to update the ${label}. Please refresh and try again or contact support.`);}// Notify the user.\ntoast.success(success);// Reload the location if needed.\nif(refresh){window.location.reload();}// Return the data if needed further.\nreturn data;}catch(e){throw e||errorMsg;}}/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override to wrap a component in suspense.\n */export function Suspense(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return({globals,variant,...props})=>{const{token,isLoading}=globals;return /*#__PURE__*/_jsx(Component,{...props,token:token||null,variant:isLoading?\"Loading\":variant});};}/**\n * Override used to run a query.\n */export const Graph=(Component,config)=>{if(isFramer){return props=>/*#__PURE__*/_jsx(Component,{...props});}if(!config.endpoint){throw new Error('Graph requires the \"config.endpoint\" to be explicitly set.');}return props=>{const{endpoint}=config;const{globals:{isLoading,user}}=props;/**\n         * Build the graph used to run queries.\n         */const graph=useMemo(()=>{if(!isLoading){return{query:args=>query({endpoint,user,...args})};}},[isLoading,user]);/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props,graph:graph});};};/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Database(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"query\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Graph\":{\"type\":\"reactHoc\",\"name\":\"Graph\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Database\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"Suspense\":{\"type\":\"reactHoc\",\"name\":\"Suspense\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateEntity\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Database.map","/*\n * Database\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/XpjQ5mCpuNSoQdoOLv34/CrmTm9TK0sjgdEI7WBpB/Database.js\"\nexport { default } from \"https://framerusercontent.com/modules/XpjQ5mCpuNSoQdoOLv34/CrmTm9TK0sjgdEI7WBpB/Database.js\"\n","/**\n * --------------------------------------------------------------------\n * Database\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import*as DSDatabase from\"https://framer.com/m/Database-5ySA.js\";import{config}from\"https://framerusercontent.com/modules/jX5EYy75jVj4TMlbqJdO/Hwg8vri5r3U83RmUZRzT/_capsule.js\";import{Globals}from\"https://framerusercontent.com/modules/xbyJH4uSP5O2i9iSVF4l/PzDPvsvVp7Xt3e8blkoH/core.js\";/**\n * --------------------------------------------------------------------\n * Database » Overrides\n * --------------------------------------------------------------------\n */export const Graph=Component=>Globals(DSDatabase.Graph(Component,{endpoint:config.database.endpoint}));\nexport const __FramerMetadata__ = {\"exports\":{\"Graph\":{\"type\":\"reactHoc\",\"name\":\"Graph\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * --------------------------------------------------------------------\n * Interface: Interactions\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{Frame}from\"framer\";/**\n * --------------------------------------------------------------------\n * Config\n * --------------------------------------------------------------------\n */const config={animated:true,sizes:{icons:15,height:30,width:30},colors:{icons:\"rgb(255, 255, 255)\",masks:{top:\"var(--token-5f2f9a1c-ae2c-4848-9a36-7aa5c05ca9f2)\",bottom:\"var(--token-56c871dd-80bc-4031-b41d-333705d1391c)\",left:\"var(--token-5f2f9a1c-ae2c-4848-9a36-7aa5c05ca9f2)\",right:\"var(--token-56c871dd-80bc-4031-b41d-333705d1391c)\"}}};/**\n * --------------------------------------------------------------------\n * Components\n * --------------------------------------------------------------------\n */const icons={up:/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",focusable:\"false\",color:config.colors.icons,style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:config.colors.icons,color:config.colors.icons,flexShrink:0},children:/*#__PURE__*/_jsx(\"g\",{color:config.colors.icons,weight:\"regular\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M213.66,165.66a8,8,0,0,1-11.32,0L128,91.31,53.66,165.66a8,8,0,0,1-11.32-11.32l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,213.66,165.66Z\"})})}),down:/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",focusable:\"false\",color:config.colors.icons,style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:config.colors.icons,color:config.colors.icons,flexShrink:0},children:/*#__PURE__*/_jsx(\"g\",{color:config.colors.icons,weight:\"regular\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z\"})})}),left:/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",focusable:\"false\",color:config.colors.icons,style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:config.colors.icons,color:config.colors.icons,flexShrink:0},children:/*#__PURE__*/_jsx(\"g\",{color:config.colors.icons,weight:\"regular\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z\"})})}),right:/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",focusable:\"false\",color:config.colors.icons,style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:config.colors.icons,color:config.colors.icons,flexShrink:0},children:/*#__PURE__*/_jsx(\"g\",{color:config.colors.icons,weight:\"regular\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M90.34,202.34a8,8,0,0,0,11.32,11.32l80-80a8,8,0,0,0,0-11.32l-80-80a8,8,0,0,0-11.32,11.32L164.69,128Z\"})})})};/**\n * --------------------------------------------------------------------\n * Components\n * --------------------------------------------------------------------\n */function Indicator({position,show,icon,gradientColor,iconSize,height,width,animated}){// Set gradient based on position\nconst gradient=position===\"top\"?`linear-gradient(to bottom, ${gradientColor}, transparent)`:position===\"bottom\"?`linear-gradient(to bottom, transparent, ${gradientColor})`:position===\"left\"?`linear-gradient(to right, ${gradientColor}, transparent)`:`linear-gradient(to right, transparent, ${gradientColor})`;// Position the icon based on position\nconst iconPosition=position===\"top\"?{bottom:10}:position===\"bottom\"?{top:10}:position===\"left\"?{right:10}:{left:10};// Apply animation if enabled\nconst animation=animated?{animate:position===\"top\"?{y:[0,-5,0]}:position===\"bottom\"?{y:[0,5,0]}:position===\"left\"?{x:[0,-5,0]}:{x:[0,5,0]},transition:{duration:1,repeat:Infinity}}:{};/**\n     * Render the component.\n     */return /*#__PURE__*/_jsx(Frame,{position:\"absolute\",top:position===\"top\"?0:undefined,bottom:position===\"bottom\"?0:undefined,left:position===\"left\"?0:undefined,right:position===\"right\"?0:undefined,height:position===\"top\"||position===\"bottom\"?height:\"100%\",width:position===\"left\"||position===\"right\"?width:\"100%\",background:gradient,opacity:show?1:0,transition:{duration:.3},style:{pointerEvents:\"none\",zIndex:10},children:/*#__PURE__*/_jsx(Frame,{center:position===\"top\"||position===\"bottom\"?\"x\":\"y\",...iconPosition,width:iconSize,height:iconSize,background:\"transparent\",...animation,children:icon})});}/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n */export function Indicators(Component){return props=>{const ref=useRef(null);const[showTopIndicator,setShowTopIndicator]=useState(false);const[showBottomIndicator,setShowBottomIndicator]=useState(false);const[showLeftIndicator,setShowLeftIndicator]=useState(false);const[showRightIndicator,setShowRightIndicator]=useState(false);/**\n         * Track scroll positioning and event handlers.\n         */useEffect(()=>{const el=ref.current;if(!el)return;const updateIndicators=()=>{const{scrollTop,scrollLeft,clientHeight,clientWidth,scrollHeight,scrollWidth}=el;// Vertical indicators\nsetShowTopIndicator(scrollTop>0);setShowBottomIndicator(scrollTop+clientHeight<scrollHeight);// Horizontal indicators\nsetShowLeftIndicator(scrollLeft>0);setShowRightIndicator(scrollLeft+clientWidth<scrollWidth);};// Initial check\nupdateIndicators();// Add scroll listener\nel.addEventListener(\"scroll\",updateIndicators);// Add resize listener for viewport changes\nwindow.addEventListener(\"resize\",updateIndicators);// Cleanup\nreturn()=>{el.removeEventListener(\"scroll\",updateIndicators);window.removeEventListener(\"resize\",updateIndicators);};},[]);/**\n         * Render the component.\n         */return /*#__PURE__*/_jsxs(Frame,{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",background:\"none\",style:{display:\"flex\",flex:\"initial\",alignItems:\"center\",placeContent:\"center flex-start\",flexFlow:\"column\"},children:[/*#__PURE__*/_jsx(Component,{...props,ref:ref,children:props.children}),/*#__PURE__*/_jsx(Indicator,{position:\"top\",show:showTopIndicator,icon:icons.up,gradientColor:config.colors.masks.top,iconSize:config.sizes.icons,height:config.sizes.height,animated:config.animated}),/*#__PURE__*/_jsx(Indicator,{position:\"bottom\",show:showBottomIndicator,icon:icons.down,gradientColor:config.colors.masks.bottom,iconSize:config.sizes.icons,height:config.sizes.height,animated:config.animated}),/*#__PURE__*/_jsx(Indicator,{position:\"left\",show:showLeftIndicator,icon:icons.left,gradientColor:config.colors.masks.left,iconSize:config.sizes.icons,width:config.sizes.width,animated:config.animated}),/*#__PURE__*/_jsx(Indicator,{position:\"right\",show:showRightIndicator,icon:icons.right,gradientColor:config.colors.masks.right,iconSize:config.sizes.icons,width:config.sizes.width,animated:config.animated})]});};}export function Scrollable(Component){return props=>{const ref=useRef(null);const isDragging=useRef(false);const startX=useRef(0);const scrollStart=useRef(0);const lastX=useRef(0);const lastTime=useRef(0);const velocity=useRef(0);const animationFrame=useRef(null);// Map vertical wheel to horizontal scrolling with boundary handling\nuseEffect(()=>{const el=ref.current;if(!el)return;const onWheel=e=>{if(e.deltaY!==0){const atStart=el.scrollLeft<=0;const atEnd=el.scrollLeft+el.clientWidth>=el.scrollWidth;if(e.deltaY>0&&!atEnd||e.deltaY<0&&!atStart){el.scrollLeft+=e.deltaY;e.preventDefault();}// Else, allow default behavior for vertical scroll\n}};el.addEventListener(\"wheel\",onWheel,{passive:false});return()=>el.removeEventListener(\"wheel\",onWheel);},[]);useEffect(()=>{const el=ref.current;if(!el)return;const animateInertia=prevTime=>{const currentTime=performance.now();const dt=currentTime-prevTime;el.scrollLeft+=velocity.current*dt;velocity.current*=.95;if(Math.abs(velocity.current)>.02){animationFrame.current=requestAnimationFrame(()=>animateInertia(currentTime));}else{animationFrame.current=null;}};const onMouseDown=e=>{isDragging.current=true;startX.current=e.pageX-el.offsetLeft;scrollStart.current=el.scrollLeft;lastX.current=e.pageX;lastTime.current=performance.now();if(animationFrame.current!==null){cancelAnimationFrame(animationFrame.current);animationFrame.current=null;}el.style.cursor=\"grabbing\";};const onMouseLeave=()=>{if(isDragging.current){isDragging.current=false;el.style.cursor=\"grab\";if(Math.abs(velocity.current)>.02){animationFrame.current=requestAnimationFrame(()=>animateInertia(performance.now()));}}};const onMouseUp=()=>{if(isDragging.current){isDragging.current=false;el.style.cursor=\"grab\";if(Math.abs(velocity.current)>.02){animationFrame.current=requestAnimationFrame(()=>animateInertia(performance.now()));}}};const onMouseMove=e=>{if(!isDragging.current)return;e.preventDefault();const x=e.pageX;const currentTime=performance.now();const dt=currentTime-lastTime.current;const dx=x-lastX.current;velocity.current=-dx/dt;lastX.current=x;lastTime.current=currentTime;const walk=x-startX.current;el.scrollLeft=scrollStart.current-walk;};el.addEventListener(\"mousedown\",onMouseDown);el.addEventListener(\"mouseleave\",onMouseLeave);el.addEventListener(\"mouseup\",onMouseUp);el.addEventListener(\"mousemove\",onMouseMove);el.style.cursor=\"grab\";return()=>{el.removeEventListener(\"mousedown\",onMouseDown);el.removeEventListener(\"mouseleave\",onMouseLeave);el.removeEventListener(\"mouseup\",onMouseUp);el.removeEventListener(\"mousemove\",onMouseMove);};},[]);return /*#__PURE__*/_jsx(Component,{...props,ref,style:{overflowX:\"scroll\",overflowY:\"hidden\",WebkitOverflowScrolling:\"touch\"}});};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Interactions(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"Scrollable\":{\"type\":\"reactHoc\",\"name\":\"Scrollable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Indicators\":{\"type\":\"reactHoc\",\"name\":\"Indicators\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Interactions\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Interactions.map","/*\n * Interactions\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/H6jcJAKTMPc6QCHopLFP/CGHHhRxayEsjBl4yXBbm/Interactions.js\"\nexport { default } from \"https://framerusercontent.com/modules/H6jcJAKTMPc6QCHopLFP/CGHHhRxayEsjBl4yXBbm/Interactions.js\"\n","/**\n * --------------------------------------------------------------------\n * Interface: Links\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useEffect,useMemo}from\"react\";import{isFramer}from\"https://framer.com/m/Capsule-oSSG.js\";import{useRouter,usePathname}from\"https://framer.com/m/Router-vdQr.js\";/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override to set variant to \"Active\" when href matches current pathname\n */export function Active(Component){return props=>{const currentPathname=usePathname();// Check the variant and set it if needed.\nconst variant=useMemo(()=>{if(!props.link||!currentPathname)return props.variant;const cleanHref=props.link.split(\"?\")[0];return cleanHref===currentPathname?\"Active\":props.variant;},[props.link,props.variant,currentPathname]);/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(Component,{...props,variant:variant});};}/**\n * Override the href prop on an element to append an email found on page.\n *\n * The layer must be called $_Email and its value will be added as a param to the href.\n */export function AppendEmail(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return props=>{const[hrefWithEmail,setHrefWithEmail]=useState(props.link);useEffect(()=>{if(!props.link)return;// Look for the email element in the DOM\nconst emailElement=document.querySelector('[data-framer-name=\"$_Email\"]');// If the element exists, process it.\nif(emailElement){const textContent=emailElement.textContent;if(textContent){// Use a regular expression to extract an email address\nconst emailRegex=/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,})/;const match=textContent.match(emailRegex);if(match&&match[1]){const email=match[1];// Append the email as a query parameter.\n// If there is already a \"?\" in the URL, use \"&\", otherwise \"?\"\nlet newHref=props.link||\"\";if(newHref.indexOf(\"?\")!==-1){newHref+=`&email=${encodeURIComponent(email)}`;}else{newHref+=`?email=${encodeURIComponent(email)}`;}setHrefWithEmail(newHref);}}}},[props.link]);return /*#__PURE__*/_jsx(Component,{...props,link:hrefWithEmail});};}/**\n * Override the href prop on an element to append the current URL as a redirect (i.e. for signup or login forms).\n */export function AppendRedirect(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return({link,...props})=>{const router=useRouter();const[hrefWithRedirect,setHrefWithRedirect]=useState(link);useEffect(()=>{if(!link)return;// Get the full current URL and encode it\nconst currentUrl=window.location.href;const encodedUrl=encodeURIComponent(currentUrl);// Append as redirect_url param\nlet newHref=link;if(newHref.includes(\"?\")){newHref+=`&redirect_url=${encodedUrl}`;}else{newHref+=`?redirect_url=${encodedUrl}`;}setHrefWithRedirect(newHref);},[link]);/**\n         * onClick event override.\n         */const onClick=e=>{router.push(hrefWithRedirect);e.preventDefault();return false;};/**\n         * Render the component.\n         */return /*#__PURE__*/_jsx(\"span\",{role:\"button\",onClick:onClick,children:/*#__PURE__*/_jsx(Component,{...props})});};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Links(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"AppendRedirect\":{\"type\":\"reactHoc\",\"name\":\"AppendRedirect\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AppendEmail\":{\"type\":\"reactHoc\",\"name\":\"AppendEmail\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Links\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"Active\":{\"type\":\"reactHoc\",\"name\":\"Active\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Links.map","/*\n * Links\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/P3KOBXVZfH1rMb9Tauts/FeLPBXFV4UYxgXQjgXLA/Links.js\"\nexport { default } from \"https://framerusercontent.com/modules/P3KOBXVZfH1rMb9Tauts/FeLPBXFV4UYxgXQjgXLA/Links.js\"\n","/**\n * --------------------------------------------------------------------\n * Interface: Searchable\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{Controller,FormProvider,useForm,useFormContext}from\"react-hook-form\";/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override used to make an area searchable using a <Search /> override.\n */export function SearchableArea(Component){return props=>{const methods=useForm();const{watch}=methods;const wrapperRef=useRef(null);useEffect(()=>{const subscription=watch(value=>{const searchValue=(value.search||\"\").trim().toLowerCase();applyFilter(searchValue);});return()=>subscription.unsubscribe();},[watch]);useEffect(()=>{if(!wrapperRef.current)return;const observer=new MutationObserver(()=>{const searchValue=(watch(\"search\")||\"\").trim().toLowerCase();applyFilter(searchValue);});observer.observe(wrapperRef.current,{childList:true,subtree:true,characterData:true});return()=>observer.disconnect();},[watch]);const applyFilter=searchValue=>{const agentCards=wrapperRef.current?.querySelectorAll('[aria-label^=\"searchable-item\"]')||[];// Step 1: Group cards by their grandparents\nconst grandparentMap=new Map;agentCards.forEach(card=>{const grandparent=card.parentElement?.parentElement;if(grandparent){if(!grandparentMap.has(grandparent)){grandparentMap.set(grandparent,[]);}grandparentMap.get(grandparent).push(card);}});// Step 2: Set visibility for each grandparent\ngrandparentMap.forEach((cards,grandparent)=>{const anyCardMatches=cards.some(card=>{const textContent=card.textContent?.toLowerCase()||\"\";const searchText=textContent.trim();return searchValue===\"\"||searchText.includes(searchValue);});grandparent.style.display=anyCardMatches?\"\":\"none\";});// Step 3: Handle search blocks visibility\nconst searchBlocks=wrapperRef.current?.querySelectorAll('[aria-label=\"searchable-block\"]')||[];searchBlocks.forEach(block=>{const cardsInBlock=block.querySelectorAll('[aria-label^=\"searchable-item\"]');const allHidden=Array.from(cardsInBlock).every(card=>{const grandparent=card.parentElement?.parentElement;return grandparent&&grandparent.style.display===\"none\";});block.style.display=allHidden?\"none\":\"\";});// Step 4: Handle hide elements without affecting grandparents\nconst hideElements=wrapperRef.current?.querySelectorAll('[aria-label=\"searchable-block-hide\"]')||[];hideElements.forEach(element=>{if(searchValue!==\"\"){element.style.display=\"none\"// Hide only the element itself\n;}else{element.style.display=\"\"// Show when search is empty\n;}});};return /*#__PURE__*/_jsx(FormProvider,{...methods,children:/*#__PURE__*/_jsx(Component,{...props,ref:wrapperRef})});};}/**\n * Override used to turn a regular input into a searchable input.\n */export function SearchableInput(Component){return props=>{const context=useFormContext();const{control}=context;if(!context){return /*#__PURE__*/_jsx(Component,{...props});}return /*#__PURE__*/_jsx(Controller,{name:\"search\",control:control,render:({field})=>/*#__PURE__*/_jsx(Component,{...props,...field})});};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Searchable(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchableArea\":{\"type\":\"reactHoc\",\"name\":\"SearchableArea\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Searchable\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"SearchableInput\":{\"type\":\"reactHoc\",\"name\":\"SearchableInput\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Searchable.map","/*\n * Searchable\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/5ezcwGNdYt03l1kUo4G5/DU9Rj0oD4KtEcwmNGwRT/Searchable.js\"\nexport { default } from \"https://framerusercontent.com/modules/5ezcwGNdYt03l1kUo4G5/DU9Rj0oD4KtEcwmNGwRT/Searchable.js\"\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export{clsx,clsx as default};\n//# sourceMappingURL=clsx.mjs.map\n","/**\n * --------------------------------------------------------------------\n * Interface: Styles\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{isFramer}from\"https://framer.com/m/Capsule-oSSG.js\";import clsx from\"https://ga.jspm.io/npm:clsx@2.1.1/dist/clsx.mjs\";/**\n * --------------------------------------------------------------------\n * Components\n * --------------------------------------------------------------------\n */const styles={fixed:/*#__PURE__*/_jsx(\"style\",{children:`\n                .fixed {\n                    width: 100% !important;\n                    height: 100% !important;\n                    position: fixed !important;\n                    opacity: 1 !important;\n                    z-index: 999999999;\n                    inset: 0;\n                    top: 0;\n                    left: 0;\n                    right: 0;\n                    bottom: 0;\n                    user-select: none;\n                }\n            `})};/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Overrride used to make a component fixed to all sides.\n */export function Fixed(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return props=>{return /*#__PURE__*/_jsxs(_Fragment,{children:[styles.fixed,/*#__PURE__*/_jsx(Component,{...props,className:clsx(props.className,\"fixed\")})]});};}/**\n * Overrride used to make a component fixed to all sides.\n */export function Disabled(Component){if(isFramer)return props=>/*#__PURE__*/_jsx(Component,{...props});return props=>{return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"auto\",pointerEvents:\"none\",opacity:.5,cursor:\"not-allowed\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}/**\n * --------------------------------------------------------------------\n * Root\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Styles(Component){return({children,...props})=>{return /*#__PURE__*/_jsx(Component,{...props,children:children});};}\nexport const __FramerMetadata__ = {\"exports\":{\"Disabled\":{\"type\":\"reactHoc\",\"name\":\"Disabled\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Styles\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"Fixed\":{\"type\":\"reactHoc\",\"name\":\"Fixed\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Styles.map","/*\n * Styles\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/ySSSM2nLaMD0TJk2vMCS/Ft7tOsFY5VgEDtiuKfmj/Styles.js\"\nexport { default } from \"https://framerusercontent.com/modules/ySSSM2nLaMD0TJk2vMCS/Ft7tOsFY5VgEDtiuKfmj/Styles.js\"\n","/**\n * --------------------------------------------------------------------\n * Ellipsis\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n *//**\n * --------------------------------------------------------------------\n * Component\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */import{jsx as _jsx}from\"react/jsx-runtime\";export default function Ellipsis(){return /*#__PURE__*/_jsx(\"span\",{className:\"ellipsis\",style:{color:\"#fff\"},children:/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n\t\t\t.ellipsis::after {\n\t\t\t\tdisplay: inline-block;\n\t\t\t\toverflow: hidden;\n\t\t\t\tvertical-align: baseline;\n\t\t\t\tfont-weight: inherit;\n\t\t\t\tcolor: inherit;\n\t\t\t\tposition: absolute;\n\t\t\t\tcontent: '...';\n\t\t\t\twidth: 0;\n\t\t\t\tanimation: ellipsis steps(4, end) 900ms infinite;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\n\t\t\t@keyframes ellipsis {\n\t\t\t\tto {\n\t\t\t\t\twidth: 1.25em;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t@-webkit-keyframes ellipsis {\n\t\t\t\tto {\n\t\t\t\t\twidth: 1.25em;\n\t\t\t\t}\n\t\t\t}\n\t\t`}})});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Ellipsis\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Ellipsis.map","/**\n * @license\n * Copyright 2010-2021 Three.js Authors\n * SPDX-License-Identifier: MIT\n */\nconst e=\"136\";const t={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2};const n={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3};const r=0;const i=1;const s=2;const a=3;const o=0;const l=1;const c=2;const u=3;const h=0;const d=1;const p=2;const f=1;const m=2;const g=0;const y=1;const x=2;const b=3;const _=4;const M=5;const w=100;const S=101;const T=102;const E=103;const A=104;const L=200;const C=201;const R=202;const P=203;const I=204;const D=205;const B=206;const V=207;const N=208;const U=209;const z=210;const G=0;const F=1;const O=2;const H=3;const k=4;const W=5;const j=6;const q=7;const X=0;const J=1;const Y=2;const Z=0;const Q=1;const K=2;const $=3;const ee=4;const te=5;const ne=300;const re=301;const ie=302;const se=303;const ae=304;const oe=306;const le=307;const ce=1e3;const ue=1001;const he=1002;const de=1003;const pe=1004;const fe=1004;const me=1005;const ge=1005;const ye=1006;const ve=1007;const xe=1007;const be=1008;const _e=1008;const Me=1009;const we=1010;const Se=1011;const Te=1012;const Ee=1013;const Ae=1014;const Le=1015;const Ce=1016;const Re=1017;const Pe=1018;const Ie=1019;const De=1020;const Be=1021;const Ve=1022;const Ne=1023;const Ue=1024;const ze=1025;const Ge=1026;const Fe=1027;const Oe=1028;const He=1029;const ke=1030;const We=1031;const je=1032;const qe=1033;const Xe=33776;const Je=33777;const Ye=33778;const Ze=33779;const Qe=35840;const Ke=35841;const $e=35842;const et=35843;const tt=36196;const nt=37492;const rt=37496;const it=37808;const st=37809;const at=37810;const ot=37811;const lt=37812;const ct=37813;const ut=37814;const ht=37815;const dt=37816;const pt=37817;const ft=37818;const mt=37819;const gt=37820;const yt=37821;const vt=36492;const xt=37840;const bt=37841;const _t=37842;const Mt=37843;const wt=37844;const St=37845;const Tt=37846;const Et=37847;const At=37848;const Lt=37849;const Ct=37850;const Rt=37851;const Pt=37852;const It=37853;const Dt=2200;const Bt=2201;const Vt=2202;const Nt=2300;const Ut=2301;const zt=2302;const Gt=2400;const Ft=2401;const Ot=2402;const Ht=2500;const kt=2501;const Wt=0;const jt=1;const qt=2;const Xt=3e3;const Jt=3001;const Yt=3200;const Zt=3201;const Qt=0;const Kt=1;const $t=0;const en=7680;const tn=7681;const nn=7682;const rn=7683;const sn=34055;const an=34056;const on=5386;const ln=512;const cn=513;const un=514;const hn=515;const dn=516;const pn=517;const fn=518;const mn=519;const gn=35044;const yn=35048;const vn=35040;const xn=35045;const bn=35049;const _n=35041;const Mn=35046;const wn=35050;const Sn=35042;const Tn=\"100\";const En=\"300 es\";class EventDispatcher{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]);-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return false;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners;const r=n[e];if(void 0!==r){const e=r.indexOf(t);-1!==e&&r.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners;const n=t[e.type];if(void 0!==n){e.target=this;const t=n.slice(0);for(let n=0,r=t.length;n<r;n++)t[n].call(this,e);e.target=null}}}const An=[];for(let e=0;e<256;e++)An[e]=(e<16?\"0\":\"\")+e.toString(16);let Ln=1234567;const Cn=Math.PI/180;const Rn=180/Math.PI;function generateUUID(){const e=4294967295*Math.random()|0;const t=4294967295*Math.random()|0;const n=4294967295*Math.random()|0;const r=4294967295*Math.random()|0;const i=An[255&e]+An[e>>8&255]+An[e>>16&255]+An[e>>24&255]+\"-\"+An[255&t]+An[t>>8&255]+\"-\"+An[t>>16&15|64]+An[t>>24&255]+\"-\"+An[63&n|128]+An[n>>8&255]+\"-\"+An[n>>16&255]+An[n>>24&255]+An[255&r]+An[r>>8&255]+An[r>>16&255]+An[r>>24&255];return i.toUpperCase()}function clamp(e,t,n){return Math.max(t,Math.min(n,e))}function euclideanModulo(e,t){return(e%t+t)%t}function mapLinear(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}function inverseLerp(e,t,n){return e!==t?(n-e)/(t-e):0}function lerp(e,t,n){return(1-n)*e+n*t}function damp(e,t,n,r){return lerp(e,t,1-Math.exp(-n*r))}function pingpong(e,t=1){return t-Math.abs(euclideanModulo(e,2*t)-t)}function smoothstep(e,t,n){if(e<=t)return 0;if(e>=n)return 1;e=(e-t)/(n-t);return e*e*(3-2*e)}function smootherstep(e,t,n){if(e<=t)return 0;if(e>=n)return 1;e=(e-t)/(n-t);return e*e*e*(e*(6*e-15)+10)}function randInt(e,t){return e+Math.floor(Math.random()*(t-e+1))}function randFloat(e,t){return e+Math.random()*(t-e)}function randFloatSpread(e){return e*(.5-Math.random())}function seededRandom(e){void 0!==e&&(Ln=e%2147483647);Ln=16807*Ln%2147483647;return(Ln-1)/2147483646}function degToRad(e){return e*Cn}function radToDeg(e){return e*Rn}function isPowerOfTwo(e){return 0===(e&e-1)&&0!==e}function ceilPowerOfTwo(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function floorPowerOfTwo(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function setQuaternionFromProperEuler(e,t,n,r,i){const s=Math.cos;const a=Math.sin;const o=s(n/2);const l=a(n/2);const c=s((t+r)/2);const u=a((t+r)/2);const h=s((t-r)/2);const d=a((t-r)/2);const p=s((r-t)/2);const f=a((r-t)/2);switch(i){case\"XYX\":e.set(o*u,l*h,l*d,o*c);break;case\"YZY\":e.set(l*d,o*u,l*h,o*c);break;case\"ZXZ\":e.set(l*h,l*d,o*u,o*c);break;case\"XZX\":e.set(o*u,l*f,l*p,o*c);break;case\"YXY\":e.set(l*p,o*u,l*f,o*c);break;case\"ZYZ\":e.set(l*f,l*p,o*u,o*c);break;default:console.warn(\"THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: \"+i)}}var Pn=Object.freeze({__proto__:null,DEG2RAD:Cn,RAD2DEG:Rn,generateUUID:generateUUID,clamp:clamp,euclideanModulo:euclideanModulo,mapLinear:mapLinear,inverseLerp:inverseLerp,lerp:lerp,damp:damp,pingpong:pingpong,smoothstep:smoothstep,smootherstep:smootherstep,randInt:randInt,randFloat:randFloat,randFloatSpread:randFloatSpread,seededRandom:seededRandom,degToRad:degToRad,radToDeg:radToDeg,isPowerOfTwo:isPowerOfTwo,ceilPowerOfTwo:ceilPowerOfTwo,floorPowerOfTwo:floorPowerOfTwo,setQuaternionFromProperEuler:setQuaternionFromProperEuler});class Vector2{constructor(e=0,t=0){this.x=e;this.y=t}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,t){this.x=e;this.y=t;return this}setScalar(e){this.x=e;this.y=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){this.x=e.x;this.y=e.y;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;return this}addScalar(e){this.x+=e;this.y+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;return this}subScalar(e){this.x-=e;this.y-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;return this}multiply(e){this.x*=e.x;this.y*=e.y;return this}multiplyScalar(e){this.x*=e;this.y*=e;return this}divide(e){this.x/=e.x;this.y/=e.y;return this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y;const r=e.elements;this.x=r[0]*t+r[3]*n+r[6];this.y=r[1]*t+r[4]*n+r[7];return this}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);return this}negate(){this.x=-this.x;this.y=-this.y;return this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){const e=Math.atan2(-this.y,-this.x)+Math.PI;return e}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y;return t*t+n*n}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;return this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector2: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);return this}rotateAround(e,t){const n=Math.cos(t),r=Math.sin(t);const i=this.x-e.x;const s=this.y-e.y;this.x=i*n-s*r+e.x;this.y=i*r+s*n+e.y;return this}random(){this.x=Math.random();this.y=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y}}Vector2.prototype.isVector2=true;class Matrix3{constructor(){this.elements=[1,0,0,0,1,0,0,0,1];arguments.length>0&&console.error(\"THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.\")}set(e,t,n,r,i,s,a,o,l){const c=this.elements;c[0]=e;c[1]=r;c[2]=a;c[3]=t;c[4]=i;c[5]=o;c[6]=n;c[7]=s;c[8]=l;return this}identity(){this.set(1,0,0,0,1,0,0,0,1);return this}copy(e){const t=this.elements;const n=e.elements;t[0]=n[0];t[1]=n[1];t[2]=n[2];t[3]=n[3];t[4]=n[4];t[5]=n[5];t[6]=n[6];t[7]=n[7];t[8]=n[8];return this}extractBasis(e,t,n){e.setFromMatrix3Column(this,0);t.setFromMatrix3Column(this,1);n.setFromMatrix3Column(this,2);return this}setFromMatrix4(e){const t=e.elements;this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]);return this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements;const r=t.elements;const i=this.elements;const s=n[0],a=n[3],o=n[6];const l=n[1],c=n[4],u=n[7];const h=n[2],d=n[5],p=n[8];const f=r[0],m=r[3],g=r[6];const y=r[1],x=r[4],b=r[7];const _=r[2],M=r[5],w=r[8];i[0]=s*f+a*y+o*_;i[3]=s*m+a*x+o*M;i[6]=s*g+a*b+o*w;i[1]=l*f+c*y+u*_;i[4]=l*m+c*x+u*M;i[7]=l*g+c*b+u*w;i[2]=h*f+d*y+p*_;i[5]=h*m+d*x+p*M;i[8]=h*g+d*b+p*w;return this}multiplyScalar(e){const t=this.elements;t[0]*=e;t[3]*=e;t[6]*=e;t[1]*=e;t[4]*=e;t[7]*=e;t[2]*=e;t[5]*=e;t[8]*=e;return this}determinant(){const e=this.elements;const t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8];return t*s*c-t*a*l-n*i*c+n*a*o+r*i*l-r*s*o}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],u=c*s-a*l,h=a*o-c*i,d=l*i-s*o,p=t*u+n*h+r*d;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;e[0]=u*f;e[1]=(r*l-c*n)*f;e[2]=(a*n-r*s)*f;e[3]=h*f;e[4]=(c*t-r*o)*f;e[5]=(r*i-a*t)*f;e[6]=d*f;e[7]=(n*o-l*t)*f;e[8]=(s*t-n*i)*f;return this}transpose(){let e;const t=this.elements;e=t[1];t[1]=t[3];t[3]=e;e=t[2];t[2]=t[6];t[6]=e;e=t[5];t[5]=t[7];t[7]=e;return this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;e[0]=t[0];e[1]=t[3];e[2]=t[6];e[3]=t[1];e[4]=t[4];e[5]=t[7];e[6]=t[2];e[7]=t[5];e[8]=t[8];return this}setUvTransform(e,t,n,r,i,s,a){const o=Math.cos(i);const l=Math.sin(i);this.set(n*o,n*l,-n*(o*s+l*a)+s+e,-r*l,r*o,-r*(-l*s+o*a)+a+t,0,0,1);return this}scale(e,t){const n=this.elements;n[0]*=e;n[3]*=e;n[6]*=e;n[1]*=t;n[4]*=t;n[7]*=t;return this}rotate(e){const t=Math.cos(e);const n=Math.sin(e);const r=this.elements;const i=r[0],s=r[3],a=r[6];const o=r[1],l=r[4],c=r[7];r[0]=t*i+n*o;r[3]=t*s+n*l;r[6]=t*a+n*c;r[1]=-n*i+t*o;r[4]=-n*s+t*l;r[7]=-n*a+t*c;return this}translate(e,t){const n=this.elements;n[0]+=e*n[2];n[3]+=e*n[5];n[6]+=e*n[8];n[1]+=t*n[2];n[4]+=t*n[5];n[7]+=t*n[8];return this}equals(e){const t=this.elements;const n=e.elements;for(let e=0;e<9;e++)if(t[e]!==n[e])return false;return true}fromArray(e,t=0){for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;e[t]=n[0];e[t+1]=n[1];e[t+2]=n[2];e[t+3]=n[3];e[t+4]=n[4];e[t+5]=n[5];e[t+6]=n[6];e[t+7]=n[7];e[t+8]=n[8];return e}clone(){return(new this.constructor).fromArray(this.elements)}}Matrix3.prototype.isMatrix3=true;function arrayMax(e){if(0===e.length)return-Infinity;let t=e[0];for(let n=1,r=e.length;n<r;++n)e[n]>t&&(t=e[n]);return t}const In={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function getTypedArray(e,t){return new In[e](t)}function createElementNS(e){return document.createElementNS(\"http://www.w3.org/1999/xhtml\",e)}let Dn;class ImageUtils{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if(\"undefined\"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===Dn&&(Dn=createElementNS(\"canvas\"));Dn.width=e.width;Dn.height=e.height;const n=Dn.getContext(\"2d\");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height);t=Dn}if(t.width>2048||t.height>2048){console.warn(\"THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons\",e);return t.toDataURL(\"image/jpeg\",.6)}return t.toDataURL(\"image/png\")}}let Bn=0;class Texture extends EventDispatcher{constructor(e=Texture.DEFAULT_IMAGE,t=Texture.DEFAULT_MAPPING,n=ue,r=ue,i=ye,s=be,a=Ne,o=Me,l=1,c=Xt){super();Object.defineProperty(this,\"id\",{value:Bn++});this.uuid=generateUUID();this.name=\"\";this.image=e;this.mipmaps=[];this.mapping=t;this.wrapS=n;this.wrapT=r;this.magFilter=i;this.minFilter=s;this.anisotropy=l;this.format=a;this.internalFormat=null;this.type=o;this.offset=new Vector2(0,0);this.repeat=new Vector2(1,1);this.center=new Vector2(0,0);this.rotation=0;this.matrixAutoUpdate=true;this.matrix=new Matrix3;this.generateMipmaps=true;this.premultiplyAlpha=false;this.flipY=true;this.unpackAlignment=4;this.encoding=c;this.userData={};this.version=0;this.onUpdate=null;this.isRenderTargetTexture=false}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name;this.image=e.image;this.mipmaps=e.mipmaps.slice(0);this.mapping=e.mapping;this.wrapS=e.wrapS;this.wrapT=e.wrapT;this.magFilter=e.magFilter;this.minFilter=e.minFilter;this.anisotropy=e.anisotropy;this.format=e.format;this.internalFormat=e.internalFormat;this.type=e.type;this.offset.copy(e.offset);this.repeat.copy(e.repeat);this.center.copy(e.center);this.rotation=e.rotation;this.matrixAutoUpdate=e.matrixAutoUpdate;this.matrix.copy(e.matrix);this.generateMipmaps=e.generateMipmaps;this.premultiplyAlpha=e.premultiplyAlpha;this.flipY=e.flipY;this.unpackAlignment=e.unpackAlignment;this.encoding=e.encoding;this.userData=JSON.parse(JSON.stringify(e.userData));return this}toJSON(e){const t=void 0===e||\"string\"===typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];const n={metadata:{version:4.5,type:\"Texture\",generator:\"Texture.toJSON\"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const r=this.image;void 0===r.uuid&&(r.uuid=generateUUID());if(!t&&void 0===e.images[r.uuid]){let t;if(Array.isArray(r)){t=[];for(let e=0,n=r.length;e<n;e++)r[e].isDataTexture?t.push(serializeImage(r[e].image)):t.push(serializeImage(r[e]))}else t=serializeImage(r);e.images[r.uuid]={uuid:r.uuid,url:t}}n.image=r.uuid}\"{}\"!==JSON.stringify(this.userData)&&(n.userData=this.userData);t||(e.textures[this.uuid]=n);return n}dispose(){this.dispatchEvent({type:\"dispose\"})}transformUv(e){if(this.mapping!==ne)return e;e.applyMatrix3(this.matrix);if(e.x<0||e.x>1)switch(this.wrapS){case ce:e.x=e.x-Math.floor(e.x);break;case ue:e.x=e.x<0?0:1;break;case he:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case ce:e.y=e.y-Math.floor(e.y);break;case ue:e.y=e.y<0?0:1;break;case he:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}this.flipY&&(e.y=1-e.y);return e}set needsUpdate(e){true===e&&this.version++}}Texture.DEFAULT_IMAGE=void 0;Texture.DEFAULT_MAPPING=ne;Texture.prototype.isTexture=true;function serializeImage(e){if(\"undefined\"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!==typeof ImageBitmap&&e instanceof ImageBitmap)return ImageUtils.getDataURL(e);if(e.data)return{data:Array.prototype.slice.call(e.data),width:e.width,height:e.height,type:e.data.constructor.name};console.warn(\"THREE.Texture: Unable to serialize Texture.\");return{}}class Vector4{constructor(e=0,t=0,n=0,r=1){this.x=e;this.y=t;this.z=n;this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){this.x=e;this.y=t;this.z=n;this.w=r;return this}setScalar(e){this.x=e;this.y=e;this.z=e;this.w=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setZ(e){this.z=e;return this}setW(e){this.w=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;case 3:this.w=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){this.x=e.x;this.y=e.y;this.z=e.z;this.w=void 0!==e.w?e.w:1;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;this.z+=e.z;this.w+=e.w;return this}addScalar(e){this.x+=e;this.y+=e;this.z+=e;this.w+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;this.z=e.z+t.z;this.w=e.w+t.w;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;this.z+=e.z*t;this.w+=e.w*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;this.z-=e.z;this.w-=e.w;return this}subScalar(e){this.x-=e;this.y-=e;this.z-=e;this.w-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;this.z=e.z-t.z;this.w=e.w-t.w;return this}multiply(e){this.x*=e.x;this.y*=e.y;this.z*=e.z;this.w*=e.w;return this}multiplyScalar(e){this.x*=e;this.y*=e;this.z*=e;this.w*=e;return this}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,i=this.w;const s=e.elements;this.x=s[0]*t+s[4]*n+s[8]*r+s[12]*i;this.y=s[1]*t+s[5]*n+s[9]*r+s[13]*i;this.z=s[2]*t+s[6]*n+s[10]*r+s[14]*i;this.w=s[3]*t+s[7]*n+s[11]*r+s[15]*i;return this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const t=Math.sqrt(1-e.w*e.w);if(t<1e-4){this.x=1;this.y=0;this.z=0}else{this.x=e.x/t;this.y=e.y/t;this.z=e.z/t}return this}setAxisAngleFromRotationMatrix(e){let t,n,r,i;const s=.01,a=.1,o=e.elements,l=o[0],c=o[4],u=o[8],h=o[1],d=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(c-h)<s&&Math.abs(u-f)<s&&Math.abs(p-m)<s){if(Math.abs(c+h)<a&&Math.abs(u+f)<a&&Math.abs(p+m)<a&&Math.abs(l+d+g-3)<a){this.set(1,0,0,0);return this}t=Math.PI;const e=(l+1)/2;const o=(d+1)/2;const y=(g+1)/2;const x=(c+h)/4;const b=(u+f)/4;const _=(p+m)/4;if(e>o&&e>y)if(e<s){n=0;r=.707106781;i=.707106781}else{n=Math.sqrt(e);r=x/n;i=b/n}else if(o>y)if(o<s){n=.707106781;r=0;i=.707106781}else{r=Math.sqrt(o);n=x/r;i=_/r}else if(y<s){n=.707106781;r=.707106781;i=0}else{i=Math.sqrt(y);n=b/i;r=_/i}this.set(n,r,i,t);return this}let y=Math.sqrt((m-p)*(m-p)+(u-f)*(u-f)+(h-c)*(h-c));Math.abs(y)<.001&&(y=1);this.x=(m-p)/y;this.y=(u-f)/y;this.z=(h-c)/y;this.w=Math.acos((l+d+g-1)/2);return this}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);this.z=Math.min(this.z,e.z);this.w=Math.min(this.w,e.w);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);this.z=Math.max(this.z,e.z);this.w=Math.max(this.w,e.w);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));this.z=Math.max(e.z,Math.min(t.z,this.z));this.w=Math.max(e.w,Math.min(t.w,this.w));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));this.z=Math.max(e,Math.min(t,this.z));this.w=Math.max(e,Math.min(t,this.w));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z);this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;this.z+=(e.z-this.z)*t;this.w+=(e.w-this.w)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;this.z=e.z+(t.z-e.z)*n;this.w=e.w+(t.w-e.w)*n;return this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];this.z=e[t+2];this.w=e[t+3];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;e[t+2]=this.z;e[t+3]=this.w;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector4: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);this.z=e.getZ(t);this.w=e.getW(t);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();this.w=Math.random();return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z;yield this.w}}Vector4.prototype.isVector4=true;class WebGLRenderTarget extends EventDispatcher{constructor(e,t,n={}){super();this.width=e;this.height=t;this.depth=1;this.scissor=new Vector4(0,0,e,t);this.scissorTest=false;this.viewport=new Vector4(0,0,e,t);this.texture=new Texture(void 0,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding);this.texture.isRenderTargetTexture=true;this.texture.image={width:e,height:t,depth:1};this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps;this.texture.internalFormat=void 0!==n.internalFormat?n.internalFormat:null;this.texture.minFilter=void 0!==n.minFilter?n.minFilter:ye;this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer;this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer;this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null}setTexture(e){e.image={width:this.width,height:this.height,depth:this.depth};this.texture=e}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e;this.height=t;this.depth=n;this.texture.image.width=e;this.texture.image.height=t;this.texture.image.depth=n;this.dispose()}this.viewport.set(0,0,e,t);this.scissor.set(0,0,e,t)}clone(){return(new this.constructor).copy(this)}copy(e){this.width=e.width;this.height=e.height;this.depth=e.depth;this.viewport.copy(e.viewport);this.texture=e.texture.clone();this.texture.image={...this.texture.image};this.depthBuffer=e.depthBuffer;this.stencilBuffer=e.stencilBuffer;this.depthTexture=e.depthTexture;return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}WebGLRenderTarget.prototype.isWebGLRenderTarget=true;class WebGLMultipleRenderTargets extends WebGLRenderTarget{constructor(e,t,n){super(e,t);const r=this.texture;this.texture=[];for(let e=0;e<n;e++)this.texture[e]=r.clone()}setSize(e,t,n=1){if(this.width!==e||this.height!==t||this.depth!==n){this.width=e;this.height=t;this.depth=n;for(let r=0,i=this.texture.length;r<i;r++){this.texture[r].image.width=e;this.texture[r].image.height=t;this.texture[r].image.depth=n}this.dispose()}this.viewport.set(0,0,e,t);this.scissor.set(0,0,e,t);return this}copy(e){this.dispose();this.width=e.width;this.height=e.height;this.depth=e.depth;this.viewport.set(0,0,this.width,this.height);this.scissor.set(0,0,this.width,this.height);this.depthBuffer=e.depthBuffer;this.stencilBuffer=e.stencilBuffer;this.depthTexture=e.depthTexture;this.texture.length=0;for(let t=0,n=e.texture.length;t<n;t++)this.texture[t]=e.texture[t].clone();return this}}WebGLMultipleRenderTargets.prototype.isWebGLMultipleRenderTargets=true;class WebGLMultisampleRenderTarget extends WebGLRenderTarget{constructor(e,t,n={}){super(e,t,n);this.samples=4;this.ignoreDepthForMultisampleCopy=void 0===n.ignoreDepth||n.ignoreDepth;this.useRenderToTexture=void 0!==n.useRenderToTexture&&n.useRenderToTexture;this.useRenderbuffer=false===this.useRenderToTexture}copy(e){super.copy.call(this,e);this.samples=e.samples;this.useRenderToTexture=e.useRenderToTexture;this.useRenderbuffer=e.useRenderbuffer;return this}}WebGLMultisampleRenderTarget.prototype.isWebGLMultisampleRenderTarget=true;class Quaternion{constructor(e=0,t=0,n=0,r=1){this._x=e;this._y=t;this._z=n;this._w=r}static slerp(e,t,n,r){console.warn(\"THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead.\");return n.slerpQuaternions(e,t,r)}static slerpFlat(e,t,n,r,i,s,a){let o=n[r+0],l=n[r+1],c=n[r+2],u=n[r+3];const h=i[s+0],d=i[s+1],p=i[s+2],f=i[s+3];if(0!==a)if(1!==a){if(u!==f||o!==h||l!==d||c!==p){let e=1-a;const t=o*h+l*d+c*p+u*f,n=t>=0?1:-1,r=1-t*t;if(r>Number.EPSILON){const i=Math.sqrt(r),s=Math.atan2(i,t*n);e=Math.sin(e*s)/i;a=Math.sin(a*s)/i}const i=a*n;o=o*e+h*i;l=l*e+d*i;c=c*e+p*i;u=u*e+f*i;if(e===1-a){const e=1/Math.sqrt(o*o+l*l+c*c+u*u);o*=e;l*=e;c*=e;u*=e}}e[t]=o;e[t+1]=l;e[t+2]=c;e[t+3]=u}else{e[t+0]=h;e[t+1]=d;e[t+2]=p;e[t+3]=f}else{e[t+0]=o;e[t+1]=l;e[t+2]=c;e[t+3]=u}}static multiplyQuaternionsFlat(e,t,n,r,i,s){const a=n[r];const o=n[r+1];const l=n[r+2];const c=n[r+3];const u=i[s];const h=i[s+1];const d=i[s+2];const p=i[s+3];e[t]=a*p+c*u+o*d-l*h;e[t+1]=o*p+c*h+l*u-a*d;e[t+2]=l*p+c*d+a*h-o*u;e[t+3]=c*p-a*u-o*h-l*d;return e}get x(){return this._x}set x(e){this._x=e;this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e;this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e;this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e;this._onChangeCallback()}set(e,t,n,r){this._x=e;this._y=t;this._z=n;this._w=r;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){this._x=e.x;this._y=e.y;this._z=e.z;this._w=e.w;this._onChangeCallback();return this}setFromEuler(e,t){if(!(e&&e.isEuler))throw new Error(\"THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.\");const n=e._x,r=e._y,i=e._z,s=e._order;const a=Math.cos;const o=Math.sin;const l=a(n/2);const c=a(r/2);const u=a(i/2);const h=o(n/2);const d=o(r/2);const p=o(i/2);switch(s){case\"XYZ\":this._x=h*c*u+l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u-h*d*p;break;case\"YXZ\":this._x=h*c*u+l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u+h*d*p;break;case\"ZXY\":this._x=h*c*u-l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u-h*d*p;break;case\"ZYX\":this._x=h*c*u-l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u+h*d*p;break;case\"YZX\":this._x=h*c*u+l*d*p;this._y=l*d*u+h*c*p;this._z=l*c*p-h*d*u;this._w=l*c*u-h*d*p;break;case\"XZY\":this._x=h*c*u-l*d*p;this._y=l*d*u-h*c*p;this._z=l*c*p+h*d*u;this._w=l*c*u+h*d*p;break;default:console.warn(\"THREE.Quaternion: .setFromEuler() encountered an unknown order: \"+s)}false!==t&&this._onChangeCallback();return this}setFromAxisAngle(e,t){const n=t/2,r=Math.sin(n);this._x=e.x*r;this._y=e.y*r;this._z=e.z*r;this._w=Math.cos(n);this._onChangeCallback();return this}setFromRotationMatrix(e){const t=e.elements,n=t[0],r=t[4],i=t[8],s=t[1],a=t[5],o=t[9],l=t[2],c=t[6],u=t[10],h=n+a+u;if(h>0){const e=.5/Math.sqrt(h+1);this._w=.25/e;this._x=(c-o)*e;this._y=(i-l)*e;this._z=(s-r)*e}else if(n>a&&n>u){const e=2*Math.sqrt(1+n-a-u);this._w=(c-o)/e;this._x=.25*e;this._y=(r+s)/e;this._z=(i+l)/e}else if(a>u){const e=2*Math.sqrt(1+a-n-u);this._w=(i-l)/e;this._x=(r+s)/e;this._y=.25*e;this._z=(o+c)/e}else{const e=2*Math.sqrt(1+u-n-a);this._w=(s-r)/e;this._x=(i+l)/e;this._y=(o+c)/e;this._z=.25*e}this._onChangeCallback();return this}setFromUnitVectors(e,t){let n=e.dot(t)+1;if(n<Number.EPSILON){n=0;if(Math.abs(e.x)>Math.abs(e.z)){this._x=-e.y;this._y=e.x;this._z=0;this._w=n}else{this._x=0;this._y=-e.z;this._z=e.y;this._w=n}}else{this._x=e.y*t.z-e.z*t.y;this._y=e.z*t.x-e.x*t.z;this._z=e.x*t.y-e.y*t.x;this._w=n}return this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(clamp(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const r=Math.min(1,t/n);this.slerp(e,r);return this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){this._x*=-1;this._y*=-1;this._z*=-1;this._onChangeCallback();return this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();if(0===e){this._x=0;this._y=0;this._z=0;this._w=1}else{e=1/e;this._x=this._x*e;this._y=this._y*e;this._z=this._z*e;this._w=this._w*e}this._onChangeCallback();return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.\");return this.multiplyQuaternions(e,t)}return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,r=e._y,i=e._z,s=e._w;const a=t._x,o=t._y,l=t._z,c=t._w;this._x=n*c+s*a+r*l-i*o;this._y=r*c+s*o+i*a-n*l;this._z=i*c+s*l+n*o-r*a;this._w=s*c-n*a-r*o-i*l;this._onChangeCallback();return this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,r=this._y,i=this._z,s=this._w;let a=s*e._w+n*e._x+r*e._y+i*e._z;if(a<0){this._w=-e._w;this._x=-e._x;this._y=-e._y;this._z=-e._z;a=-a}else this.copy(e);if(a>=1){this._w=s;this._x=n;this._y=r;this._z=i;return this}const o=1-a*a;if(o<=Number.EPSILON){const e=1-t;this._w=e*s+t*this._w;this._x=e*n+t*this._x;this._y=e*r+t*this._y;this._z=e*i+t*this._z;this.normalize();this._onChangeCallback();return this}const l=Math.sqrt(o);const c=Math.atan2(l,a);const u=Math.sin((1-t)*c)/l,h=Math.sin(t*c)/l;this._w=s*u+this._w*h;this._x=n*u+this._x*h;this._y=r*u+this._y*h;this._z=i*u+this._z*h;this._onChangeCallback();return this}slerpQuaternions(e,t,n){this.copy(e).slerp(t,n)}random(){const e=Math.random();const t=Math.sqrt(1-e);const n=Math.sqrt(e);const r=2*Math.PI*Math.random();const i=2*Math.PI*Math.random();return this.set(t*Math.cos(r),n*Math.sin(i),n*Math.cos(i),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){this._x=e[t];this._y=e[t+1];this._z=e[t+2];this._w=e[t+3];this._onChangeCallback();return this}toArray(e=[],t=0){e[t]=this._x;e[t+1]=this._y;e[t+2]=this._z;e[t+3]=this._w;return e}fromBufferAttribute(e,t){this._x=e.getX(t);this._y=e.getY(t);this._z=e.getZ(t);this._w=e.getW(t);return this}_onChange(e){this._onChangeCallback=e;return this}_onChangeCallback(){}}Quaternion.prototype.isQuaternion=true;class Vector3{constructor(e=0,t=0,n=0){this.x=e;this.y=t;this.z=n}set(e,t,n){void 0===n&&(n=this.z);this.x=e;this.y=t;this.z=n;return this}setScalar(e){this.x=e;this.y=e;this.z=e;return this}setX(e){this.x=e;return this}setY(e){this.y=e;return this}setZ(e){this.z=e;return this}setComponent(e,t){switch(e){case 0:this.x=t;break;case 1:this.y=t;break;case 2:this.z=t;break;default:throw new Error(\"index is out of range: \"+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error(\"index is out of range: \"+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){this.x=e.x;this.y=e.y;this.z=e.z;return this}add(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.\");return this.addVectors(e,t)}this.x+=e.x;this.y+=e.y;this.z+=e.z;return this}addScalar(e){this.x+=e;this.y+=e;this.z+=e;return this}addVectors(e,t){this.x=e.x+t.x;this.y=e.y+t.y;this.z=e.z+t.z;return this}addScaledVector(e,t){this.x+=e.x*t;this.y+=e.y*t;this.z+=e.z*t;return this}sub(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.\");return this.subVectors(e,t)}this.x-=e.x;this.y-=e.y;this.z-=e.z;return this}subScalar(e){this.x-=e;this.y-=e;this.z-=e;return this}subVectors(e,t){this.x=e.x-t.x;this.y=e.y-t.y;this.z=e.z-t.z;return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.\");return this.multiplyVectors(e,t)}this.x*=e.x;this.y*=e.y;this.z*=e.z;return this}multiplyScalar(e){this.x*=e;this.y*=e;this.z*=e;return this}multiplyVectors(e,t){this.x=e.x*t.x;this.y=e.y*t.y;this.z=e.z*t.z;return this}applyEuler(e){e&&e.isEuler||console.error(\"THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.\");return this.applyQuaternion(Nn.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(Nn.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;this.x=i[0]*t+i[3]*n+i[6]*r;this.y=i[1]*t+i[4]*n+i[7]*r;this.z=i[2]*t+i[5]*n+i[8]*r;return this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;const s=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*s;this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*s;this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*s;return this}applyQuaternion(e){const t=this.x,n=this.y,r=this.z;const i=e.x,s=e.y,a=e.z,o=e.w;const l=o*t+s*r-a*n;const c=o*n+a*t-i*r;const u=o*r+i*n-s*t;const h=-i*t-s*n-a*r;this.x=l*o+h*-i+c*-a-u*-s;this.y=c*o+h*-s+u*-i-l*-a;this.z=u*o+h*-a+l*-s-c*-i;return this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,r=this.z;const i=e.elements;this.x=i[0]*t+i[4]*n+i[8]*r;this.y=i[1]*t+i[5]*n+i[9]*r;this.z=i[2]*t+i[6]*n+i[10]*r;return this.normalize()}divide(e){this.x/=e.x;this.y/=e.y;this.z/=e.z;return this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){this.x=Math.min(this.x,e.x);this.y=Math.min(this.y,e.y);this.z=Math.min(this.z,e.z);return this}max(e){this.x=Math.max(this.x,e.x);this.y=Math.max(this.y,e.y);this.z=Math.max(this.z,e.z);return this}clamp(e,t){this.x=Math.max(e.x,Math.min(t.x,this.x));this.y=Math.max(e.y,Math.min(t.y,this.y));this.z=Math.max(e.z,Math.min(t.z,this.z));return this}clampScalar(e,t){this.x=Math.max(e,Math.min(t,this.x));this.y=Math.max(e,Math.min(t,this.y));this.z=Math.max(e,Math.min(t,this.z));return this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}floor(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this}ceil(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this}round(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this}roundToZero(){this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x);this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y);this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z);return this}negate(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,t){this.x+=(e.x-this.x)*t;this.y+=(e.y-this.y)*t;this.z+=(e.z-this.z)*t;return this}lerpVectors(e,t,n){this.x=e.x+(t.x-e.x)*n;this.y=e.y+(t.y-e.y)*n;this.z=e.z+(t.z-e.z)*n;return this}cross(e,t){if(void 0!==t){console.warn(\"THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.\");return this.crossVectors(e,t)}return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,r=e.y,i=e.z;const s=t.x,a=t.y,o=t.z;this.x=r*o-i*a;this.y=i*s-n*o;this.z=n*a-r*s;return this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){Vn.copy(this).projectOnVector(e);return this.sub(Vn)}reflect(e){return this.sub(Vn.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(clamp(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const r=Math.sin(t)*e;this.x=r*Math.sin(n);this.y=Math.cos(t)*e;this.z=r*Math.cos(n);return this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){this.x=e*Math.sin(t);this.y=n;this.z=e*Math.cos(t);return this}setFromMatrixPosition(e){const t=e.elements;this.x=t[12];this.y=t[13];this.z=t[14];return this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length();const n=this.setFromMatrixColumn(e,1).length();const r=this.setFromMatrixColumn(e,2).length();this.x=t;this.y=n;this.z=r;return this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){this.x=e[t];this.y=e[t+1];this.z=e[t+2];return this}toArray(e=[],t=0){e[t]=this.x;e[t+1]=this.y;e[t+2]=this.z;return e}fromBufferAttribute(e,t,n){void 0!==n&&console.warn(\"THREE.Vector3: offset has been removed from .fromBufferAttribute().\");this.x=e.getX(t);this.y=e.getY(t);this.z=e.getZ(t);return this}random(){this.x=Math.random();this.y=Math.random();this.z=Math.random();return this}randomDirection(){const e=2*(Math.random()-.5);const t=Math.random()*Math.PI*2;const n=Math.sqrt(1-e**2);this.x=n*Math.cos(t);this.y=n*Math.sin(t);this.z=e;return this}*[Symbol.iterator](){yield this.x;yield this.y;yield this.z}}Vector3.prototype.isVector3=true;const Vn=new Vector3;const Nn=new Quaternion;class Box3{constructor(e=new Vector3(Infinity,Infinity,Infinity),t=new Vector3(-Infinity,-Infinity,-Infinity)){this.min=e;this.max=t}set(e,t){this.min.copy(e);this.max.copy(t);return this}setFromArray(e){let t=Infinity;let n=Infinity;let r=Infinity;let i=-Infinity;let s=-Infinity;let a=-Infinity;for(let o=0,l=e.length;o<l;o+=3){const l=e[o];const c=e[o+1];const u=e[o+2];l<t&&(t=l);c<n&&(n=c);u<r&&(r=u);l>i&&(i=l);c>s&&(s=c);u>a&&(a=u)}this.min.set(t,n,r);this.max.set(i,s,a);return this}setFromBufferAttribute(e){let t=Infinity;let n=Infinity;let r=Infinity;let i=-Infinity;let s=-Infinity;let a=-Infinity;for(let o=0,l=e.count;o<l;o++){const l=e.getX(o);const c=e.getY(o);const u=e.getZ(o);l<t&&(t=l);c<n&&(n=c);u<r&&(r=u);l>i&&(i=l);c>s&&(s=c);u>a&&(a=u)}this.min.set(t,n,r);this.max.set(i,s,a);return this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=zn.copy(t).multiplyScalar(.5);this.min.copy(e).sub(n);this.max.copy(e).add(n);return this}setFromObject(e){this.makeEmpty();return this.expandByObject(e)}clone(){return(new this.constructor).copy(this)}copy(e){this.min.copy(e.min);this.max.copy(e.max);return this}makeEmpty(){this.min.x=this.min.y=this.min.z=Infinity;this.max.x=this.max.y=this.max.z=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y||this.max.z<this.min.z}getCenter(e){return this.isEmpty()?e.set(0,0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0,0):e.subVectors(this.max,this.min)}expandByPoint(e){this.min.min(e);this.max.max(e);return this}expandByVector(e){this.min.sub(e);this.max.add(e);return this}expandByScalar(e){this.min.addScalar(-e);this.max.addScalar(e);return this}expandByObject(e){e.updateWorldMatrix(false,false);const t=e.geometry;if(void 0!==t){null===t.boundingBox&&t.computeBoundingBox();Gn.copy(t.boundingBox);Gn.applyMatrix4(e.matrixWorld);this.union(Gn)}const n=e.children;for(let e=0,t=n.length;e<t;e++)this.expandByObject(n[e]);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y||e.z<this.min.z||e.z>this.max.z)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y||e.max.z<this.min.z||e.min.z>this.max.z)}intersectsSphere(e){this.clampPoint(e.center,zn);return zn.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let t,n;if(e.normal.x>0){t=e.normal.x*this.min.x;n=e.normal.x*this.max.x}else{t=e.normal.x*this.max.x;n=e.normal.x*this.min.x}if(e.normal.y>0){t+=e.normal.y*this.min.y;n+=e.normal.y*this.max.y}else{t+=e.normal.y*this.max.y;n+=e.normal.y*this.min.y}if(e.normal.z>0){t+=e.normal.z*this.min.z;n+=e.normal.z*this.max.z}else{t+=e.normal.z*this.max.z;n+=e.normal.z*this.min.z}return t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return false;this.getCenter(qn);Xn.subVectors(this.max,qn);Fn.subVectors(e.a,qn);On.subVectors(e.b,qn);Hn.subVectors(e.c,qn);kn.subVectors(On,Fn);Wn.subVectors(Hn,On);jn.subVectors(Fn,Hn);let t=[0,-kn.z,kn.y,0,-Wn.z,Wn.y,0,-jn.z,jn.y,kn.z,0,-kn.x,Wn.z,0,-Wn.x,jn.z,0,-jn.x,-kn.y,kn.x,0,-Wn.y,Wn.x,0,-jn.y,jn.x,0];if(!satForAxes(t,Fn,On,Hn,Xn))return false;t=[1,0,0,0,1,0,0,0,1];if(!satForAxes(t,Fn,On,Hn,Xn))return false;Jn.crossVectors(kn,Wn);t=[Jn.x,Jn.y,Jn.z];return satForAxes(t,Fn,On,Hn,Xn)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){const t=zn.copy(e).clamp(this.min,this.max);return t.sub(e).length()}getBoundingSphere(e){this.getCenter(e.center);e.radius=.5*this.getSize(zn).length();return e}intersect(e){this.min.max(e.min);this.max.min(e.max);this.isEmpty()&&this.makeEmpty();return this}union(e){this.min.min(e.min);this.max.max(e.max);return this}applyMatrix4(e){if(this.isEmpty())return this;Un[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e);Un[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e);Un[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e);Un[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e);Un[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e);Un[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e);Un[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e);Un[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e);this.setFromPoints(Un);return this}translate(e){this.min.add(e);this.max.add(e);return this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}Box3.prototype.isBox3=true;const Un=[new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3];const zn=new Vector3;const Gn=new Box3;const Fn=new Vector3;const On=new Vector3;const Hn=new Vector3;const kn=new Vector3;const Wn=new Vector3;const jn=new Vector3;const qn=new Vector3;const Xn=new Vector3;const Jn=new Vector3;const Yn=new Vector3;function satForAxes(e,t,n,r,i){for(let s=0,a=e.length-3;s<=a;s+=3){Yn.fromArray(e,s);const a=i.x*Math.abs(Yn.x)+i.y*Math.abs(Yn.y)+i.z*Math.abs(Yn.z);const o=t.dot(Yn);const l=n.dot(Yn);const c=r.dot(Yn);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>a)return false}return true}const Zn=new Box3;const Qn=new Vector3;const Kn=new Vector3;const $n=new Vector3;class Sphere{constructor(e=new Vector3,t=-1){this.center=e;this.radius=t}set(e,t){this.center.copy(e);this.radius=t;return this}setFromPoints(e,t){const n=this.center;void 0!==t?n.copy(t):Zn.setFromPoints(e).getCenter(n);let r=0;for(let t=0,i=e.length;t<i;t++)r=Math.max(r,n.distanceToSquared(e[t]));this.radius=Math.sqrt(r);return this}copy(e){this.center.copy(e.center);this.radius=e.radius;return this}isEmpty(){return this.radius<0}makeEmpty(){this.center.set(0,0,0);this.radius=-1;return this}containsPoint(e){return e.distanceToSquared(this.center)<=this.radius*this.radius}distanceToPoint(e){return e.distanceTo(this.center)-this.radius}intersectsSphere(e){const t=this.radius+e.radius;return e.center.distanceToSquared(this.center)<=t*t}intersectsBox(e){return e.intersectsSphere(this)}intersectsPlane(e){return Math.abs(e.distanceToPoint(this.center))<=this.radius}clampPoint(e,t){const n=this.center.distanceToSquared(e);t.copy(e);if(n>this.radius*this.radius){t.sub(this.center).normalize();t.multiplyScalar(this.radius).add(this.center)}return t}getBoundingBox(e){if(this.isEmpty()){e.makeEmpty();return e}e.set(this.center,this.center);e.expandByScalar(this.radius);return e}applyMatrix4(e){this.center.applyMatrix4(e);this.radius=this.radius*e.getMaxScaleOnAxis();return this}translate(e){this.center.add(e);return this}expandByPoint(e){$n.subVectors(e,this.center);const t=$n.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t);const n=.5*(e-this.radius);this.center.add($n.multiplyScalar(n/e));this.radius+=n}return this}union(e){true===this.center.equals(e.center)?Kn.set(0,0,1).multiplyScalar(e.radius):Kn.subVectors(e.center,this.center).normalize().multiplyScalar(e.radius);this.expandByPoint(Qn.copy(e.center).add(Kn));this.expandByPoint(Qn.copy(e.center).sub(Kn));return this}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const er=new Vector3;const tr=new Vector3;const nr=new Vector3;const rr=new Vector3;const ir=new Vector3;const sr=new Vector3;const ar=new Vector3;class Ray{constructor(e=new Vector3,t=new Vector3(0,0,-1)){this.origin=e;this.direction=t}set(e,t){this.origin.copy(e);this.direction.copy(t);return this}copy(e){this.origin.copy(e.origin);this.direction.copy(e.direction);return this}at(e,t){return t.copy(this.direction).multiplyScalar(e).add(this.origin)}lookAt(e){this.direction.copy(e).sub(this.origin).normalize();return this}recast(e){this.origin.copy(this.at(e,er));return this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=er.subVectors(e,this.origin).dot(this.direction);if(t<0)return this.origin.distanceToSquared(e);er.copy(this.direction).multiplyScalar(t).add(this.origin);return er.distanceToSquared(e)}distanceSqToSegment(e,t,n,r){tr.copy(e).add(t).multiplyScalar(.5);nr.copy(t).sub(e).normalize();rr.copy(this.origin).sub(tr);const i=.5*e.distanceTo(t);const s=-this.direction.dot(nr);const a=rr.dot(this.direction);const o=-rr.dot(nr);const l=rr.lengthSq();const c=Math.abs(1-s*s);let u,h,d,p;if(c>0){u=s*o-a;h=s*a-o;p=i*c;if(u>=0)if(h>=-p)if(h<=p){const e=1/c;u*=e;h*=e;d=u*(u+s*h+2*a)+h*(s*u+h+2*o)+l}else{h=i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}else{h=-i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}else if(h<=-p){u=Math.max(0,-(-s*i+a));h=u>0?-i:Math.min(Math.max(-i,-o),i);d=-u*u+h*(h+2*o)+l}else if(h<=p){u=0;h=Math.min(Math.max(-i,-o),i);d=h*(h+2*o)+l}else{u=Math.max(0,-(s*i+a));h=u>0?i:Math.min(Math.max(-i,-o),i);d=-u*u+h*(h+2*o)+l}}else{h=s>0?-i:i;u=Math.max(0,-(s*h+a));d=-u*u+h*(h+2*o)+l}n&&n.copy(this.direction).multiplyScalar(u).add(this.origin);r&&r.copy(nr).multiplyScalar(h).add(tr);return d}intersectSphere(e,t){er.subVectors(e.center,this.origin);const n=er.dot(this.direction);const r=er.dot(er)-n*n;const i=e.radius*e.radius;if(r>i)return null;const s=Math.sqrt(i-r);const a=n-s;const o=n+s;return a<0&&o<0?null:a<0?this.at(o,t):this.at(a,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);if(0===t)return true;const n=e.normal.dot(this.direction);return n*t<0}intersectBox(e,t){let n,r,i,s,a,o;const l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z;const h=this.origin;if(l>=0){n=(e.min.x-h.x)*l;r=(e.max.x-h.x)*l}else{n=(e.max.x-h.x)*l;r=(e.min.x-h.x)*l}if(c>=0){i=(e.min.y-h.y)*c;s=(e.max.y-h.y)*c}else{i=(e.max.y-h.y)*c;s=(e.min.y-h.y)*c}if(n>s||i>r)return null;(i>n||n!==n)&&(n=i);(s<r||r!==r)&&(r=s);if(u>=0){a=(e.min.z-h.z)*u;o=(e.max.z-h.z)*u}else{a=(e.max.z-h.z)*u;o=(e.min.z-h.z)*u}if(n>o||a>r)return null;(a>n||n!==n)&&(n=a);(o<r||r!==r)&&(r=o);return r<0?null:this.at(n>=0?n:r,t)}intersectsBox(e){return null!==this.intersectBox(e,er)}intersectTriangle(e,t,n,r,i){ir.subVectors(t,e);sr.subVectors(n,e);ar.crossVectors(ir,sr);let s=this.direction.dot(ar);let a;if(s>0){if(r)return null;a=1}else{if(!(s<0))return null;a=-1;s=-s}rr.subVectors(this.origin,e);const o=a*this.direction.dot(sr.crossVectors(rr,sr));if(o<0)return null;const l=a*this.direction.dot(ir.cross(rr));if(l<0)return null;if(o+l>s)return null;const c=-a*rr.dot(ar);return c<0?null:this.at(c/s,i)}applyMatrix4(e){this.origin.applyMatrix4(e);this.direction.transformDirection(e);return this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Matrix4{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];arguments.length>0&&console.error(\"THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.\")}set(e,t,n,r,i,s,a,o,l,c,u,h,d,p,f,m){const g=this.elements;g[0]=e;g[4]=t;g[8]=n;g[12]=r;g[1]=i;g[5]=s;g[9]=a;g[13]=o;g[2]=l;g[6]=c;g[10]=u;g[14]=h;g[3]=d;g[7]=p;g[11]=f;g[15]=m;return this}identity(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this}clone(){return(new Matrix4).fromArray(this.elements)}copy(e){const t=this.elements;const n=e.elements;t[0]=n[0];t[1]=n[1];t[2]=n[2];t[3]=n[3];t[4]=n[4];t[5]=n[5];t[6]=n[6];t[7]=n[7];t[8]=n[8];t[9]=n[9];t[10]=n[10];t[11]=n[11];t[12]=n[12];t[13]=n[13];t[14]=n[14];t[15]=n[15];return this}copyPosition(e){const t=this.elements,n=e.elements;t[12]=n[12];t[13]=n[13];t[14]=n[14];return this}setFromMatrix3(e){const t=e.elements;this.set(t[0],t[3],t[6],0,t[1],t[4],t[7],0,t[2],t[5],t[8],0,0,0,0,1);return this}extractBasis(e,t,n){e.setFromMatrixColumn(this,0);t.setFromMatrixColumn(this,1);n.setFromMatrixColumn(this,2);return this}makeBasis(e,t,n){this.set(e.x,t.x,n.x,0,e.y,t.y,n.y,0,e.z,t.z,n.z,0,0,0,0,1);return this}extractRotation(e){const t=this.elements;const n=e.elements;const r=1/or.setFromMatrixColumn(e,0).length();const i=1/or.setFromMatrixColumn(e,1).length();const s=1/or.setFromMatrixColumn(e,2).length();t[0]=n[0]*r;t[1]=n[1]*r;t[2]=n[2]*r;t[3]=0;t[4]=n[4]*i;t[5]=n[5]*i;t[6]=n[6]*i;t[7]=0;t[8]=n[8]*s;t[9]=n[9]*s;t[10]=n[10]*s;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return this}makeRotationFromEuler(e){e&&e.isEuler||console.error(\"THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.\");const t=this.elements;const n=e.x,r=e.y,i=e.z;const s=Math.cos(n),a=Math.sin(n);const o=Math.cos(r),l=Math.sin(r);const c=Math.cos(i),u=Math.sin(i);if(\"XYZ\"===e.order){const e=s*c,n=s*u,r=a*c,i=a*u;t[0]=o*c;t[4]=-o*u;t[8]=l;t[1]=n+r*l;t[5]=e-i*l;t[9]=-a*o;t[2]=i-e*l;t[6]=r+n*l;t[10]=s*o}else if(\"YXZ\"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e+i*a;t[4]=r*a-n;t[8]=s*l;t[1]=s*u;t[5]=s*c;t[9]=-a;t[2]=n*a-r;t[6]=i+e*a;t[10]=s*o}else if(\"ZXY\"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e-i*a;t[4]=-s*u;t[8]=r+n*a;t[1]=n+r*a;t[5]=s*c;t[9]=i-e*a;t[2]=-s*l;t[6]=a;t[10]=s*o}else if(\"ZYX\"===e.order){const e=s*c,n=s*u,r=a*c,i=a*u;t[0]=o*c;t[4]=r*l-n;t[8]=e*l+i;t[1]=o*u;t[5]=i*l+e;t[9]=n*l-r;t[2]=-l;t[6]=a*o;t[10]=s*o}else if(\"YZX\"===e.order){const e=s*o,n=s*l,r=a*o,i=a*l;t[0]=o*c;t[4]=i-e*u;t[8]=r*u+n;t[1]=u;t[5]=s*c;t[9]=-a*c;t[2]=-l*c;t[6]=n*u+r;t[10]=e-i*u}else if(\"XZY\"===e.order){const e=s*o,n=s*l,r=a*o,i=a*l;t[0]=o*c;t[4]=-u;t[8]=l*c;t[1]=e*u+i;t[5]=s*c;t[9]=n*u-r;t[2]=r*u-n;t[6]=a*c;t[10]=i*u+e}t[3]=0;t[7]=0;t[11]=0;t[12]=0;t[13]=0;t[14]=0;t[15]=1;return this}makeRotationFromQuaternion(e){return this.compose(cr,e,ur)}lookAt(e,t,n){const r=this.elements;pr.subVectors(e,t);0===pr.lengthSq()&&(pr.z=1);pr.normalize();hr.crossVectors(n,pr);if(0===hr.lengthSq()){1===Math.abs(n.z)?pr.x+=1e-4:pr.z+=1e-4;pr.normalize();hr.crossVectors(n,pr)}hr.normalize();dr.crossVectors(pr,hr);r[0]=hr.x;r[4]=dr.x;r[8]=pr.x;r[1]=hr.y;r[5]=dr.y;r[9]=pr.y;r[2]=hr.z;r[6]=dr.z;r[10]=pr.z;return this}multiply(e,t){if(void 0!==t){console.warn(\"THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.\");return this.multiplyMatrices(e,t)}return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements;const r=t.elements;const i=this.elements;const s=n[0],a=n[4],o=n[8],l=n[12];const c=n[1],u=n[5],h=n[9],d=n[13];const p=n[2],f=n[6],m=n[10],g=n[14];const y=n[3],x=n[7],b=n[11],_=n[15];const M=r[0],w=r[4],S=r[8],T=r[12];const E=r[1],A=r[5],L=r[9],C=r[13];const R=r[2],P=r[6],I=r[10],D=r[14];const B=r[3],V=r[7],N=r[11],U=r[15];i[0]=s*M+a*E+o*R+l*B;i[4]=s*w+a*A+o*P+l*V;i[8]=s*S+a*L+o*I+l*N;i[12]=s*T+a*C+o*D+l*U;i[1]=c*M+u*E+h*R+d*B;i[5]=c*w+u*A+h*P+d*V;i[9]=c*S+u*L+h*I+d*N;i[13]=c*T+u*C+h*D+d*U;i[2]=p*M+f*E+m*R+g*B;i[6]=p*w+f*A+m*P+g*V;i[10]=p*S+f*L+m*I+g*N;i[14]=p*T+f*C+m*D+g*U;i[3]=y*M+x*E+b*R+_*B;i[7]=y*w+x*A+b*P+_*V;i[11]=y*S+x*L+b*I+_*N;i[15]=y*T+x*C+b*D+_*U;return this}multiplyScalar(e){const t=this.elements;t[0]*=e;t[4]*=e;t[8]*=e;t[12]*=e;t[1]*=e;t[5]*=e;t[9]*=e;t[13]*=e;t[2]*=e;t[6]*=e;t[10]*=e;t[14]*=e;t[3]*=e;t[7]*=e;t[11]*=e;t[15]*=e;return this}determinant(){const e=this.elements;const t=e[0],n=e[4],r=e[8],i=e[12];const s=e[1],a=e[5],o=e[9],l=e[13];const c=e[2],u=e[6],h=e[10],d=e[14];const p=e[3],f=e[7],m=e[11],g=e[15];return p*(+i*o*u-r*l*u-i*a*h+n*l*h+r*a*d-n*o*d)+f*(+t*o*d-t*l*h+i*s*h-r*s*d+r*l*c-i*o*c)+m*(+t*l*u-t*a*d-i*s*u+n*s*d+i*a*c-n*l*c)+g*(-r*a*c-t*o*u+t*a*h+r*s*u-n*s*h+n*o*c)}transpose(){const e=this.elements;let t;t=e[1];e[1]=e[4];e[4]=t;t=e[2];e[2]=e[8];e[8]=t;t=e[6];e[6]=e[9];e[9]=t;t=e[3];e[3]=e[12];e[12]=t;t=e[7];e[7]=e[13];e[13]=t;t=e[11];e[11]=e[14];e[14]=t;return this}setPosition(e,t,n){const r=this.elements;if(e.isVector3){r[12]=e.x;r[13]=e.y;r[14]=e.z}else{r[12]=e;r[13]=t;r[14]=n}return this}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],u=e[9],h=e[10],d=e[11],p=e[12],f=e[13],m=e[14],g=e[15],y=u*m*l-f*h*l+f*o*d-a*m*d-u*o*g+a*h*g,x=p*h*l-c*m*l-p*o*d+s*m*d+c*o*g-s*h*g,b=c*f*l-p*u*l+p*a*d-s*f*d-c*a*g+s*u*g,_=p*u*o-c*f*o-p*a*h+s*f*h+c*a*m-s*u*m;const M=t*y+n*x+r*b+i*_;if(0===M)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const w=1/M;e[0]=y*w;e[1]=(f*h*i-u*m*i-f*r*d+n*m*d+u*r*g-n*h*g)*w;e[2]=(a*m*i-f*o*i+f*r*l-n*m*l-a*r*g+n*o*g)*w;e[3]=(u*o*i-a*h*i-u*r*l+n*h*l+a*r*d-n*o*d)*w;e[4]=x*w;e[5]=(c*m*i-p*h*i+p*r*d-t*m*d-c*r*g+t*h*g)*w;e[6]=(p*o*i-s*m*i-p*r*l+t*m*l+s*r*g-t*o*g)*w;e[7]=(s*h*i-c*o*i+c*r*l-t*h*l-s*r*d+t*o*d)*w;e[8]=b*w;e[9]=(p*u*i-c*f*i-p*n*d+t*f*d+c*n*g-t*u*g)*w;e[10]=(s*f*i-p*a*i+p*n*l-t*f*l-s*n*g+t*a*g)*w;e[11]=(c*a*i-s*u*i-c*n*l+t*u*l+s*n*d-t*a*d)*w;e[12]=_*w;e[13]=(c*f*r-p*u*r+p*n*h-t*f*h-c*n*m+t*u*m)*w;e[14]=(p*a*r-s*f*r-p*n*o+t*f*o+s*n*m-t*a*m)*w;e[15]=(s*u*r-c*a*r+c*n*o-t*u*o-s*n*h+t*a*h)*w;return this}scale(e){const t=this.elements;const n=e.x,r=e.y,i=e.z;t[0]*=n;t[4]*=r;t[8]*=i;t[1]*=n;t[5]*=r;t[9]*=i;t[2]*=n;t[6]*=r;t[10]*=i;t[3]*=n;t[7]*=r;t[11]*=i;return this}getMaxScaleOnAxis(){const e=this.elements;const t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2];const n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6];const r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1);return this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1);return this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1);return this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1);return this}makeRotationAxis(e,t){const n=Math.cos(t);const r=Math.sin(t);const i=1-n;const s=e.x,a=e.y,o=e.z;const l=i*s,c=i*a;this.set(l*s+n,l*a-r*o,l*o+r*a,0,l*a+r*o,c*a+n,c*o-r*s,0,l*o-r*a,c*o+r*s,i*o*o+n,0,0,0,0,1);return this}makeScale(e,t,n){this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1);return this}makeShear(e,t,n,r,i,s){this.set(1,n,i,0,e,1,s,0,t,r,1,0,0,0,0,1);return this}compose(e,t,n){const r=this.elements;const i=t._x,s=t._y,a=t._z,o=t._w;const l=i+i,c=s+s,u=a+a;const h=i*l,d=i*c,p=i*u;const f=s*c,m=s*u,g=a*u;const y=o*l,x=o*c,b=o*u;const _=n.x,M=n.y,w=n.z;r[0]=(1-(f+g))*_;r[1]=(d+b)*_;r[2]=(p-x)*_;r[3]=0;r[4]=(d-b)*M;r[5]=(1-(h+g))*M;r[6]=(m+y)*M;r[7]=0;r[8]=(p+x)*w;r[9]=(m-y)*w;r[10]=(1-(h+f))*w;r[11]=0;r[12]=e.x;r[13]=e.y;r[14]=e.z;r[15]=1;return this}decompose(e,t,n){const r=this.elements;let i=or.set(r[0],r[1],r[2]).length();const s=or.set(r[4],r[5],r[6]).length();const a=or.set(r[8],r[9],r[10]).length();const o=this.determinant();o<0&&(i=-i);e.x=r[12];e.y=r[13];e.z=r[14];lr.copy(this);const l=1/i;const c=1/s;const u=1/a;lr.elements[0]*=l;lr.elements[1]*=l;lr.elements[2]*=l;lr.elements[4]*=c;lr.elements[5]*=c;lr.elements[6]*=c;lr.elements[8]*=u;lr.elements[9]*=u;lr.elements[10]*=u;t.setFromRotationMatrix(lr);n.x=i;n.y=s;n.z=a;return this}makePerspective(e,t,n,r,i,s){void 0===s&&console.warn(\"THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.\");const a=this.elements;const o=2*i/(t-e);const l=2*i/(n-r);const c=(t+e)/(t-e);const u=(n+r)/(n-r);const h=-(s+i)/(s-i);const d=-2*s*i/(s-i);a[0]=o;a[4]=0;a[8]=c;a[12]=0;a[1]=0;a[5]=l;a[9]=u;a[13]=0;a[2]=0;a[6]=0;a[10]=h;a[14]=d;a[3]=0;a[7]=0;a[11]=-1;a[15]=0;return this}makeOrthographic(e,t,n,r,i,s){const a=this.elements;const o=1/(t-e);const l=1/(n-r);const c=1/(s-i);const u=(t+e)*o;const h=(n+r)*l;const d=(s+i)*c;a[0]=2*o;a[4]=0;a[8]=0;a[12]=-u;a[1]=0;a[5]=2*l;a[9]=0;a[13]=-h;a[2]=0;a[6]=0;a[10]=-2*c;a[14]=-d;a[3]=0;a[7]=0;a[11]=0;a[15]=1;return this}equals(e){const t=this.elements;const n=e.elements;for(let e=0;e<16;e++)if(t[e]!==n[e])return false;return true}fromArray(e,t=0){for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(e=[],t=0){const n=this.elements;e[t]=n[0];e[t+1]=n[1];e[t+2]=n[2];e[t+3]=n[3];e[t+4]=n[4];e[t+5]=n[5];e[t+6]=n[6];e[t+7]=n[7];e[t+8]=n[8];e[t+9]=n[9];e[t+10]=n[10];e[t+11]=n[11];e[t+12]=n[12];e[t+13]=n[13];e[t+14]=n[14];e[t+15]=n[15];return e}}Matrix4.prototype.isMatrix4=true;const or=new Vector3;const lr=new Matrix4;const cr=new Vector3(0,0,0);const ur=new Vector3(1,1,1);const hr=new Vector3;const dr=new Vector3;const pr=new Vector3;const fr=new Matrix4;const mr=new Quaternion;class Euler{constructor(e=0,t=0,n=0,r=Euler.DefaultOrder){this._x=e;this._y=t;this._z=n;this._order=r}get x(){return this._x}set x(e){this._x=e;this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e;this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e;this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e;this._onChangeCallback()}set(e,t,n,r=this._order){this._x=e;this._y=t;this._z=n;this._order=r;this._onChangeCallback();return this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){this._x=e._x;this._y=e._y;this._z=e._z;this._order=e._order;this._onChangeCallback();return this}setFromRotationMatrix(e,t=this._order,n=true){const r=e.elements;const i=r[0],s=r[4],a=r[8];const o=r[1],l=r[5],c=r[9];const u=r[2],h=r[6],d=r[10];switch(t){case\"XYZ\":this._y=Math.asin(clamp(a,-1,1));if(Math.abs(a)<.9999999){this._x=Math.atan2(-c,d);this._z=Math.atan2(-s,i)}else{this._x=Math.atan2(h,l);this._z=0}break;case\"YXZ\":this._x=Math.asin(-clamp(c,-1,1));if(Math.abs(c)<.9999999){this._y=Math.atan2(a,d);this._z=Math.atan2(o,l)}else{this._y=Math.atan2(-u,i);this._z=0}break;case\"ZXY\":this._x=Math.asin(clamp(h,-1,1));if(Math.abs(h)<.9999999){this._y=Math.atan2(-u,d);this._z=Math.atan2(-s,l)}else{this._y=0;this._z=Math.atan2(o,i)}break;case\"ZYX\":this._y=Math.asin(-clamp(u,-1,1));if(Math.abs(u)<.9999999){this._x=Math.atan2(h,d);this._z=Math.atan2(o,i)}else{this._x=0;this._z=Math.atan2(-s,l)}break;case\"YZX\":this._z=Math.asin(clamp(o,-1,1));if(Math.abs(o)<.9999999){this._x=Math.atan2(-c,l);this._y=Math.atan2(-u,i)}else{this._x=0;this._y=Math.atan2(a,d)}break;case\"XZY\":this._z=Math.asin(-clamp(s,-1,1));if(Math.abs(s)<.9999999){this._x=Math.atan2(h,l);this._y=Math.atan2(a,i)}else{this._x=Math.atan2(-c,d);this._y=0}break;default:console.warn(\"THREE.Euler: .setFromRotationMatrix() encountered an unknown order: \"+t)}this._order=t;true===n&&this._onChangeCallback();return this}setFromQuaternion(e,t,n){fr.makeRotationFromQuaternion(e);return this.setFromRotationMatrix(fr,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){mr.setFromEuler(this);return this.setFromQuaternion(mr,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){this._x=e[0];this._y=e[1];this._z=e[2];void 0!==e[3]&&(this._order=e[3]);this._onChangeCallback();return this}toArray(e=[],t=0){e[t]=this._x;e[t+1]=this._y;e[t+2]=this._z;e[t+3]=this._order;return e}toVector3(e){return e?e.set(this._x,this._y,this._z):new Vector3(this._x,this._y,this._z)}_onChange(e){this._onChangeCallback=e;return this}_onChangeCallback(){}}Euler.prototype.isEuler=true;Euler.DefaultOrder=\"XYZ\";Euler.RotationOrders=[\"XYZ\",\"YZX\",\"ZXY\",\"XZY\",\"YXZ\",\"ZYX\"];class Layers{constructor(){this.mask=1}set(e){this.mask=(1<<e|0)>>>0}enable(e){this.mask|=1<<e|0}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e|0}disable(e){this.mask&=~(1<<e|0)}disableAll(){this.mask=0}test(e){return 0!==(this.mask&e.mask)}isEnabled(e){return 0!==(this.mask&(1<<e|0))}}let gr=0;const yr=new Vector3;const vr=new Quaternion;const xr=new Matrix4;const br=new Vector3;const _r=new Vector3;const Mr=new Vector3;const wr=new Quaternion;const Sr=new Vector3(1,0,0);const Tr=new Vector3(0,1,0);const Er=new Vector3(0,0,1);const Ar={type:\"added\"};const Lr={type:\"removed\"};class Object3D extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:gr++});this.uuid=generateUUID();this.name=\"\";this.type=\"Object3D\";this.parent=null;this.children=[];this.up=Object3D.DefaultUp.clone();const e=new Vector3;const t=new Euler;const n=new Quaternion;const r=new Vector3(1,1,1);function onRotationChange(){n.setFromEuler(t,false)}function onQuaternionChange(){t.setFromQuaternion(n,void 0,false)}t._onChange(onRotationChange);n._onChange(onQuaternionChange);Object.defineProperties(this,{position:{configurable:true,enumerable:true,value:e},rotation:{configurable:true,enumerable:true,value:t},quaternion:{configurable:true,enumerable:true,value:n},scale:{configurable:true,enumerable:true,value:r},modelViewMatrix:{value:new Matrix4},normalMatrix:{value:new Matrix3}});this.matrix=new Matrix4;this.matrixWorld=new Matrix4;this.matrixAutoUpdate=Object3D.DefaultMatrixAutoUpdate;this.matrixWorldNeedsUpdate=false;this.layers=new Layers;this.visible=true;this.castShadow=false;this.receiveShadow=false;this.frustumCulled=true;this.renderOrder=0;this.animations=[];this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix();this.matrix.premultiply(e);this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){this.quaternion.premultiply(e);return this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,true)}setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){vr.setFromAxisAngle(e,t);this.quaternion.multiply(vr);return this}rotateOnWorldAxis(e,t){vr.setFromAxisAngle(e,t);this.quaternion.premultiply(vr);return this}rotateX(e){return this.rotateOnAxis(Sr,e)}rotateY(e){return this.rotateOnAxis(Tr,e)}rotateZ(e){return this.rotateOnAxis(Er,e)}translateOnAxis(e,t){yr.copy(e).applyQuaternion(this.quaternion);this.position.add(yr.multiplyScalar(t));return this}translateX(e){return this.translateOnAxis(Sr,e)}translateY(e){return this.translateOnAxis(Tr,e)}translateZ(e){return this.translateOnAxis(Er,e)}localToWorld(e){return e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return e.applyMatrix4(xr.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?br.copy(e):br.set(e,t,n);const r=this.parent;this.updateWorldMatrix(true,false);_r.setFromMatrixPosition(this.matrixWorld);this.isCamera||this.isLight?xr.lookAt(_r,br,this.up):xr.lookAt(br,_r,this.up);this.quaternion.setFromRotationMatrix(xr);if(r){xr.extractRotation(r.matrixWorld);vr.setFromRotationMatrix(xr);this.quaternion.premultiply(vr.invert())}}add(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);return this}if(e===this){console.error(\"THREE.Object3D.add: object can't be added as a child of itself.\",e);return this}if(e&&e.isObject3D){null!==e.parent&&e.parent.remove(e);e.parent=this;this.children.push(e);e.dispatchEvent(Ar)}else console.error(\"THREE.Object3D.add: object not an instance of THREE.Object3D.\",e);return this}remove(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}const t=this.children.indexOf(e);if(-1!==t){e.parent=null;this.children.splice(t,1);e.dispatchEvent(Lr)}return this}removeFromParent(){const e=this.parent;null!==e&&e.remove(this);return this}clear(){for(let e=0;e<this.children.length;e++){const t=this.children[e];t.parent=null;t.dispatchEvent(Lr)}this.children.length=0;return this}attach(e){this.updateWorldMatrix(true,false);xr.copy(this.matrixWorld).invert();if(null!==e.parent){e.parent.updateWorldMatrix(true,false);xr.multiply(e.parent.matrixWorld)}e.applyMatrix4(xr);this.add(e);e.updateWorldMatrix(false,true);return this}getObjectById(e){return this.getObjectByProperty(\"id\",e)}getObjectByName(e){return this.getObjectByProperty(\"name\",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let n=0,r=this.children.length;n<r;n++){const r=this.children[n];const i=r.getObjectByProperty(e,t);if(void 0!==i)return i}}getWorldPosition(e){this.updateWorldMatrix(true,false);return e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(_r,e,Mr);return e}getWorldScale(e){this.updateWorldMatrix(true,false);this.matrixWorld.decompose(_r,wr,e);return e}getWorldDirection(e){this.updateWorldMatrix(true,false);const t=this.matrixWorld.elements;return e.set(t[8],t[9],t[10]).normalize()}raycast(){}traverse(e){e(this);const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverse(e)}traverseVisible(e){if(false===this.visible)return;e(this);const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverseVisible(e)}traverseAncestors(e){const t=this.parent;if(null!==t){e(t);t.traverseAncestors(e)}}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale);this.matrixWorldNeedsUpdate=true}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix();if(this.matrixWorldNeedsUpdate||e){null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix);this.matrixWorldNeedsUpdate=false;e=true}const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].updateMatrixWorld(e)}updateWorldMatrix(e,t){const n=this.parent;true===e&&null!==n&&n.updateWorldMatrix(true,false);this.matrixAutoUpdate&&this.updateMatrix();null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix);if(true===t){const e=this.children;for(let t=0,n=e.length;t<n;t++)e[t].updateWorldMatrix(false,true)}}toJSON(e){const t=void 0===e||\"string\"===typeof e;const n={};if(t){e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{}};n.metadata={version:4.5,type:\"Object\",generator:\"Object3D.toJSON\"}}const r={};r.uuid=this.uuid;r.type=this.type;\"\"!==this.name&&(r.name=this.name);true===this.castShadow&&(r.castShadow=true);true===this.receiveShadow&&(r.receiveShadow=true);false===this.visible&&(r.visible=false);false===this.frustumCulled&&(r.frustumCulled=false);0!==this.renderOrder&&(r.renderOrder=this.renderOrder);\"{}\"!==JSON.stringify(this.userData)&&(r.userData=this.userData);r.layers=this.layers.mask;r.matrix=this.matrix.toArray();false===this.matrixAutoUpdate&&(r.matrixAutoUpdate=false);if(this.isInstancedMesh){r.type=\"InstancedMesh\";r.count=this.count;r.instanceMatrix=this.instanceMatrix.toJSON();null!==this.instanceColor&&(r.instanceColor=this.instanceColor.toJSON())}function serialize(t,n){void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e));return n.uuid}if(this.isScene){this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid));this.environment&&this.environment.isTexture&&(r.environment=this.environment.toJSON(e).uuid)}else if(this.isMesh||this.isLine||this.isPoints){r.geometry=serialize(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t<r;t++){const r=n[t];serialize(e.shapes,r)}else serialize(e.shapes,n)}}if(this.isSkinnedMesh){r.bindMode=this.bindMode;r.bindMatrix=this.bindMatrix.toArray();if(void 0!==this.skeleton){serialize(e.skeletons,this.skeleton);r.skeleton=this.skeleton.uuid}}if(void 0!==this.material)if(Array.isArray(this.material)){const t=[];for(let n=0,r=this.material.length;n<r;n++)t.push(serialize(e.materials,this.material[n]));r.material=t}else r.material=serialize(e.materials,this.material);if(this.children.length>0){r.children=[];for(let t=0;t<this.children.length;t++)r.children.push(this.children[t].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let t=0;t<this.animations.length;t++){const n=this.animations[t];r.animations.push(serialize(e.animations,n))}}if(t){const t=extractFromCache(e.geometries);const r=extractFromCache(e.materials);const i=extractFromCache(e.textures);const s=extractFromCache(e.images);const a=extractFromCache(e.shapes);const o=extractFromCache(e.skeletons);const l=extractFromCache(e.animations);t.length>0&&(n.geometries=t);r.length>0&&(n.materials=r);i.length>0&&(n.textures=i);s.length>0&&(n.images=s);a.length>0&&(n.shapes=a);o.length>0&&(n.skeletons=o);l.length>0&&(n.animations=l)}n.object=r;return n;function extractFromCache(e){const t=[];for(const n in e){const r=e[n];delete r.metadata;t.push(r)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e,t=true){this.name=e.name;this.up.copy(e.up);this.position.copy(e.position);this.rotation.order=e.rotation.order;this.quaternion.copy(e.quaternion);this.scale.copy(e.scale);this.matrix.copy(e.matrix);this.matrixWorld.copy(e.matrixWorld);this.matrixAutoUpdate=e.matrixAutoUpdate;this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate;this.layers.mask=e.layers.mask;this.visible=e.visible;this.castShadow=e.castShadow;this.receiveShadow=e.receiveShadow;this.frustumCulled=e.frustumCulled;this.renderOrder=e.renderOrder;this.userData=JSON.parse(JSON.stringify(e.userData));if(true===t)for(let t=0;t<e.children.length;t++){const n=e.children[t];this.add(n.clone())}return this}}Object3D.DefaultUp=new Vector3(0,1,0);Object3D.DefaultMatrixAutoUpdate=true;Object3D.prototype.isObject3D=true;const Cr=new Vector3;const Rr=new Vector3;const Pr=new Vector3;const Ir=new Vector3;const Dr=new Vector3;const Br=new Vector3;const Vr=new Vector3;const Nr=new Vector3;const Ur=new Vector3;const zr=new Vector3;class Triangle{constructor(e=new Vector3,t=new Vector3,n=new Vector3){this.a=e;this.b=t;this.c=n}static getNormal(e,t,n,r){r.subVectors(n,t);Cr.subVectors(e,t);r.cross(Cr);const i=r.lengthSq();return i>0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){Cr.subVectors(r,t);Rr.subVectors(n,t);Pr.subVectors(e,t);const s=Cr.dot(Cr);const a=Cr.dot(Rr);const o=Cr.dot(Pr);const l=Rr.dot(Rr);const c=Rr.dot(Pr);const u=s*l-a*a;if(0===u)return i.set(-2,-1,-1);const h=1/u;const d=(l*o-a*c)*h;const p=(s*c-a*o)*h;return i.set(1-d-p,p,d)}static containsPoint(e,t,n,r){this.getBarycoord(e,t,n,r,Ir);return Ir.x>=0&&Ir.y>=0&&Ir.x+Ir.y<=1}static getUV(e,t,n,r,i,s,a,o){this.getBarycoord(e,t,n,r,Ir);o.set(0,0);o.addScaledVector(i,Ir.x);o.addScaledVector(s,Ir.y);o.addScaledVector(a,Ir.z);return o}static isFrontFacing(e,t,n,r){Cr.subVectors(n,t);Rr.subVectors(e,t);return Cr.cross(Rr).dot(r)<0}set(e,t,n){this.a.copy(e);this.b.copy(t);this.c.copy(n);return this}setFromPointsAndIndices(e,t,n,r){this.a.copy(e[t]);this.b.copy(e[n]);this.c.copy(e[r]);return this}setFromAttributeAndIndices(e,t,n,r){this.a.fromBufferAttribute(e,t);this.b.fromBufferAttribute(e,n);this.c.fromBufferAttribute(e,r);return this}clone(){return(new this.constructor).copy(this)}copy(e){this.a.copy(e.a);this.b.copy(e.b);this.c.copy(e.c);return this}getArea(){Cr.subVectors(this.c,this.b);Rr.subVectors(this.a,this.b);return.5*Cr.cross(Rr).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Triangle.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Triangle.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,r,i){return Triangle.getUV(e,this.a,this.b,this.c,t,n,r,i)}containsPoint(e){return Triangle.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Triangle.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,r=this.b,i=this.c;let s,a;Dr.subVectors(r,n);Br.subVectors(i,n);Nr.subVectors(e,n);const o=Dr.dot(Nr);const l=Br.dot(Nr);if(o<=0&&l<=0)return t.copy(n);Ur.subVectors(e,r);const c=Dr.dot(Ur);const u=Br.dot(Ur);if(c>=0&&u<=c)return t.copy(r);const h=o*u-c*l;if(h<=0&&o>=0&&c<=0){s=o/(o-c);return t.copy(n).addScaledVector(Dr,s)}zr.subVectors(e,i);const d=Dr.dot(zr);const p=Br.dot(zr);if(p>=0&&d<=p)return t.copy(i);const f=d*l-o*p;if(f<=0&&l>=0&&p<=0){a=l/(l-p);return t.copy(n).addScaledVector(Br,a)}const m=c*p-d*u;if(m<=0&&u-c>=0&&d-p>=0){Vr.subVectors(i,r);a=(u-c)/(u-c+(d-p));return t.copy(r).addScaledVector(Vr,a)}const g=1/(m+f+h);s=f*g;a=h*g;return t.copy(n).addScaledVector(Dr,s).addScaledVector(Br,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let Gr=0;class Material extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:Gr++});this.uuid=generateUUID();this.name=\"\";this.type=\"Material\";this.fog=true;this.blending=y;this.side=h;this.vertexColors=false;this.opacity=1;this.format=Ne;this.transparent=false;this.blendSrc=I;this.blendDst=D;this.blendEquation=w;this.blendSrcAlpha=null;this.blendDstAlpha=null;this.blendEquationAlpha=null;this.depthFunc=H;this.depthTest=true;this.depthWrite=true;this.stencilWriteMask=255;this.stencilFunc=mn;this.stencilRef=0;this.stencilFuncMask=255;this.stencilFail=en;this.stencilZFail=en;this.stencilZPass=en;this.stencilWrite=false;this.clippingPlanes=null;this.clipIntersection=false;this.clipShadows=false;this.shadowSide=null;this.colorWrite=true;this.precision=null;this.polygonOffset=false;this.polygonOffsetFactor=0;this.polygonOffsetUnits=0;this.dithering=false;this.alphaToCoverage=false;this.premultipliedAlpha=false;this.visible=true;this.toneMapped=true;this.userData={};this.version=0;this._alphaTest=0}get alphaTest(){return this._alphaTest}set alphaTest(e){this._alphaTest>0!==e>0&&this.version++;this._alphaTest=e}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn(\"THREE.Material: '\"+t+\"' parameter is undefined.\");continue}if(\"shading\"===t){console.warn(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\");this.flatShading=n===f;continue}const r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n:console.warn(\"THREE.\"+this.type+\": '\"+t+\"' is not a property of this material.\")}}toJSON(e){const t=void 0===e||\"string\"===typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.5,type:\"Material\",generator:\"Material.toJSON\"}};n.uuid=this.uuid;n.type=this.type;\"\"!==this.name&&(n.name=this.name);this.color&&this.color.isColor&&(n.color=this.color.getHex());void 0!==this.roughness&&(n.roughness=this.roughness);void 0!==this.metalness&&(n.metalness=this.metalness);void 0!==this.sheen&&(n.sheen=this.sheen);this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex());void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness);this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex());this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity);this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex());void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity);this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex());void 0!==this.shininess&&(n.shininess=this.shininess);void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat);void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness);this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid);this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid);if(this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture){n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid;n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()}this.map&&this.map.isTexture&&(n.map=this.map.toJSON(e).uuid);this.matcap&&this.matcap.isTexture&&(n.matcap=this.matcap.toJSON(e).uuid);this.alphaMap&&this.alphaMap.isTexture&&(n.alphaMap=this.alphaMap.toJSON(e).uuid);if(this.lightMap&&this.lightMap.isTexture){n.lightMap=this.lightMap.toJSON(e).uuid;n.lightMapIntensity=this.lightMapIntensity}if(this.aoMap&&this.aoMap.isTexture){n.aoMap=this.aoMap.toJSON(e).uuid;n.aoMapIntensity=this.aoMapIntensity}if(this.bumpMap&&this.bumpMap.isTexture){n.bumpMap=this.bumpMap.toJSON(e).uuid;n.bumpScale=this.bumpScale}if(this.normalMap&&this.normalMap.isTexture){n.normalMap=this.normalMap.toJSON(e).uuid;n.normalMapType=this.normalMapType;n.normalScale=this.normalScale.toArray()}if(this.displacementMap&&this.displacementMap.isTexture){n.displacementMap=this.displacementMap.toJSON(e).uuid;n.displacementScale=this.displacementScale;n.displacementBias=this.displacementBias}this.roughnessMap&&this.roughnessMap.isTexture&&(n.roughnessMap=this.roughnessMap.toJSON(e).uuid);this.metalnessMap&&this.metalnessMap.isTexture&&(n.metalnessMap=this.metalnessMap.toJSON(e).uuid);this.emissiveMap&&this.emissiveMap.isTexture&&(n.emissiveMap=this.emissiveMap.toJSON(e).uuid);this.specularMap&&this.specularMap.isTexture&&(n.specularMap=this.specularMap.toJSON(e).uuid);this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(n.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid);this.specularColorMap&&this.specularColorMap.isTexture&&(n.specularColorMap=this.specularColorMap.toJSON(e).uuid);if(this.envMap&&this.envMap.isTexture){n.envMap=this.envMap.toJSON(e).uuid;void 0!==this.combine&&(n.combine=this.combine)}void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity);void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity);void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio);this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid);void 0!==this.transmission&&(n.transmission=this.transmission);this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid);void 0!==this.thickness&&(n.thickness=this.thickness);this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid);void 0!==this.attenuationDistance&&(n.attenuationDistance=this.attenuationDistance);void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex());void 0!==this.size&&(n.size=this.size);null!==this.shadowSide&&(n.shadowSide=this.shadowSide);void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation);this.blending!==y&&(n.blending=this.blending);this.side!==h&&(n.side=this.side);this.vertexColors&&(n.vertexColors=true);this.opacity<1&&(n.opacity=this.opacity);this.format!==Ne&&(n.format=this.format);true===this.transparent&&(n.transparent=this.transparent);n.depthFunc=this.depthFunc;n.depthTest=this.depthTest;n.depthWrite=this.depthWrite;n.colorWrite=this.colorWrite;n.stencilWrite=this.stencilWrite;n.stencilWriteMask=this.stencilWriteMask;n.stencilFunc=this.stencilFunc;n.stencilRef=this.stencilRef;n.stencilFuncMask=this.stencilFuncMask;n.stencilFail=this.stencilFail;n.stencilZFail=this.stencilZFail;n.stencilZPass=this.stencilZPass;this.rotation&&0!==this.rotation&&(n.rotation=this.rotation);true===this.polygonOffset&&(n.polygonOffset=true);0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor);0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits);this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth);void 0!==this.dashSize&&(n.dashSize=this.dashSize);void 0!==this.gapSize&&(n.gapSize=this.gapSize);void 0!==this.scale&&(n.scale=this.scale);true===this.dithering&&(n.dithering=true);this.alphaTest>0&&(n.alphaTest=this.alphaTest);true===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage);true===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha);true===this.wireframe&&(n.wireframe=this.wireframe);this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth);\"round\"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap);\"round\"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin);true===this.flatShading&&(n.flatShading=this.flatShading);false===this.visible&&(n.visible=false);false===this.toneMapped&&(n.toneMapped=false);\"{}\"!==JSON.stringify(this.userData)&&(n.userData=this.userData);function extractFromCache(e){const t=[];for(const n in e){const r=e[n];delete r.metadata;t.push(r)}return t}if(t){const t=extractFromCache(e.textures);const r=extractFromCache(e.images);t.length>0&&(n.textures=t);r.length>0&&(n.images=r)}return n}clone(){return(new this.constructor).copy(this)}copy(e){this.name=e.name;this.fog=e.fog;this.blending=e.blending;this.side=e.side;this.vertexColors=e.vertexColors;this.opacity=e.opacity;this.format=e.format;this.transparent=e.transparent;this.blendSrc=e.blendSrc;this.blendDst=e.blendDst;this.blendEquation=e.blendEquation;this.blendSrcAlpha=e.blendSrcAlpha;this.blendDstAlpha=e.blendDstAlpha;this.blendEquationAlpha=e.blendEquationAlpha;this.depthFunc=e.depthFunc;this.depthTest=e.depthTest;this.depthWrite=e.depthWrite;this.stencilWriteMask=e.stencilWriteMask;this.stencilFunc=e.stencilFunc;this.stencilRef=e.stencilRef;this.stencilFuncMask=e.stencilFuncMask;this.stencilFail=e.stencilFail;this.stencilZFail=e.stencilZFail;this.stencilZPass=e.stencilZPass;this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}this.clippingPlanes=n;this.clipIntersection=e.clipIntersection;this.clipShadows=e.clipShadows;this.shadowSide=e.shadowSide;this.colorWrite=e.colorWrite;this.precision=e.precision;this.polygonOffset=e.polygonOffset;this.polygonOffsetFactor=e.polygonOffsetFactor;this.polygonOffsetUnits=e.polygonOffsetUnits;this.dithering=e.dithering;this.alphaTest=e.alphaTest;this.alphaToCoverage=e.alphaToCoverage;this.premultipliedAlpha=e.premultipliedAlpha;this.visible=e.visible;this.toneMapped=e.toneMapped;this.userData=JSON.parse(JSON.stringify(e.userData));return this}dispose(){this.dispatchEvent({type:\"dispose\"})}set needsUpdate(e){true===e&&this.version++}}Material.prototype.isMaterial=true;const Fr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};const Or={h:0,s:0,l:0};const Hr={h:0,s:0,l:0};function hue2rgb(e,t,n){n<0&&(n+=1);n>1&&(n-=1);return n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}function SRGBToLinear(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}function LinearToSRGB(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}class Color{constructor(e,t,n){return void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}set(e){e&&e.isColor?this.copy(e):\"number\"===typeof e?this.setHex(e):\"string\"===typeof e&&this.setStyle(e);return this}setScalar(e){this.r=e;this.g=e;this.b=e;return this}setHex(e){e=Math.floor(e);this.r=(e>>16&255)/255;this.g=(e>>8&255)/255;this.b=(255&e)/255;return this}setRGB(e,t,n){this.r=e;this.g=t;this.b=n;return this}setHSL(e,t,n){e=euclideanModulo(e,1);t=clamp(t,0,1);n=clamp(n,0,1);if(0===t)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+t):n+t-n*t;const i=2*n-r;this.r=hue2rgb(i,r,e+1/3);this.g=hue2rgb(i,r,e);this.b=hue2rgb(i,r,e-1/3)}return this}setStyle(e){function handleAlpha(t){void 0!==t&&parseFloat(t)<1&&console.warn(\"THREE.Color: Alpha component of \"+e+\" will be ignored.\")}let t;if(t=/^((?:rgb|hsl)a?)\\(([^\\)]*)\\)/.exec(e)){let e;const n=t[1];const r=t[2];switch(n){case\"rgb\":case\"rgba\":if(e=/^\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){this.r=Math.min(255,parseInt(e[1],10))/255;this.g=Math.min(255,parseInt(e[2],10))/255;this.b=Math.min(255,parseInt(e[3],10))/255;handleAlpha(e[4]);return this}if(e=/^\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){this.r=Math.min(100,parseInt(e[1],10))/100;this.g=Math.min(100,parseInt(e[2],10))/100;this.b=Math.min(100,parseInt(e[3],10))/100;handleAlpha(e[4]);return this}break;case\"hsl\":case\"hsla\":if(e=/^\\s*(\\d*\\.?\\d+)\\s*,\\s*(\\d+)\\%\\s*,\\s*(\\d+)\\%\\s*(?:,\\s*(\\d*\\.?\\d+)\\s*)?$/.exec(r)){const t=parseFloat(e[1])/360;const n=parseInt(e[2],10)/100;const r=parseInt(e[3],10)/100;handleAlpha(e[4]);return this.setHSL(t,n,r)}break}}else if(t=/^\\#([A-Fa-f\\d]+)$/.exec(e)){const e=t[1];const n=e.length;if(3===n){this.r=parseInt(e.charAt(0)+e.charAt(0),16)/255;this.g=parseInt(e.charAt(1)+e.charAt(1),16)/255;this.b=parseInt(e.charAt(2)+e.charAt(2),16)/255;return this}if(6===n){this.r=parseInt(e.charAt(0)+e.charAt(1),16)/255;this.g=parseInt(e.charAt(2)+e.charAt(3),16)/255;this.b=parseInt(e.charAt(4)+e.charAt(5),16)/255;return this}}return e&&e.length>0?this.setColorName(e):this}setColorName(e){const t=Fr[e.toLowerCase()];void 0!==t?this.setHex(t):console.warn(\"THREE.Color: Unknown color \"+e);return this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){this.r=e.r;this.g=e.g;this.b=e.b;return this}copySRGBToLinear(e){this.r=SRGBToLinear(e.r);this.g=SRGBToLinear(e.g);this.b=SRGBToLinear(e.b);return this}copyLinearToSRGB(e){this.r=LinearToSRGB(e.r);this.g=LinearToSRGB(e.g);this.b=LinearToSRGB(e.b);return this}convertSRGBToLinear(){this.copySRGBToLinear(this);return this}convertLinearToSRGB(){this.copyLinearToSRGB(this);return this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return(\"000000\"+this.getHex().toString(16)).slice(-6)}getHSL(e){const t=this.r,n=this.g,r=this.b;const i=Math.max(t,n,r);const s=Math.min(t,n,r);let a,o;const l=(s+i)/2;if(s===i){a=0;o=0}else{const e=i-s;o=l<=.5?e/(i+s):e/(2-i-s);switch(i){case t:a=(n-r)/e+(n<r?6:0);break;case n:a=(r-t)/e+2;break;case r:a=(t-n)/e+4;break}a/=6}e.h=a;e.s=o;e.l=l;return e}getStyle(){return\"rgb(\"+(255*this.r|0)+\",\"+(255*this.g|0)+\",\"+(255*this.b|0)+\")\"}offsetHSL(e,t,n){this.getHSL(Or);Or.h+=e;Or.s+=t;Or.l+=n;this.setHSL(Or.h,Or.s,Or.l);return this}add(e){this.r+=e.r;this.g+=e.g;this.b+=e.b;return this}addColors(e,t){this.r=e.r+t.r;this.g=e.g+t.g;this.b=e.b+t.b;return this}addScalar(e){this.r+=e;this.g+=e;this.b+=e;return this}sub(e){this.r=Math.max(0,this.r-e.r);this.g=Math.max(0,this.g-e.g);this.b=Math.max(0,this.b-e.b);return this}multiply(e){this.r*=e.r;this.g*=e.g;this.b*=e.b;return this}multiplyScalar(e){this.r*=e;this.g*=e;this.b*=e;return this}lerp(e,t){this.r+=(e.r-this.r)*t;this.g+=(e.g-this.g)*t;this.b+=(e.b-this.b)*t;return this}lerpColors(e,t,n){this.r=e.r+(t.r-e.r)*n;this.g=e.g+(t.g-e.g)*n;this.b=e.b+(t.b-e.b)*n;return this}lerpHSL(e,t){this.getHSL(Or);e.getHSL(Hr);const n=lerp(Or.h,Hr.h,t);const r=lerp(Or.s,Hr.s,t);const i=lerp(Or.l,Hr.l,t);this.setHSL(n,r,i);return this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){this.r=e[t];this.g=e[t+1];this.b=e[t+2];return this}toArray(e=[],t=0){e[t]=this.r;e[t+1]=this.g;e[t+2]=this.b;return e}fromBufferAttribute(e,t){this.r=e.getX(t);this.g=e.getY(t);this.b=e.getZ(t);if(true===e.normalized){this.r/=255;this.g/=255;this.b/=255}return this}toJSON(){return this.getHex()}}Color.NAMES=Fr;Color.prototype.isColor=true;Color.prototype.r=1;Color.prototype.g=1;Color.prototype.b=1;class MeshBasicMaterial extends Material{constructor(e){super();this.type=\"MeshBasicMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshBasicMaterial.prototype.isMeshBasicMaterial=true;const kr=new Vector3;const Wr=new Vector2;class BufferAttribute{constructor(e,t,n){if(Array.isArray(e))throw new TypeError(\"THREE.BufferAttribute: array should be a Typed Array.\");this.name=\"\";this.array=e;this.itemSize=t;this.count=void 0!==e?e.length/t:0;this.normalized=true===n;this.usage=gn;this.updateRange={offset:0,count:-1};this.version=0}onUploadCallback(){}set needsUpdate(e){true===e&&this.version++}setUsage(e){this.usage=e;return this}copy(e){this.name=e.name;this.array=new e.array.constructor(e.array);this.itemSize=e.itemSize;this.count=e.count;this.normalized=e.normalized;this.usage=e.usage;return this}copyAt(e,t,n){e*=this.itemSize;n*=t.itemSize;for(let r=0,i=this.itemSize;r<i;r++)this.array[e+r]=t.array[n+r];return this}copyArray(e){this.array.set(e);return this}copyColorsArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyColorsArray(): color is undefined\",r);i=new Color}t[n++]=i.r;t[n++]=i.g;t[n++]=i.b}return this}copyVector2sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector2sArray(): vector is undefined\",r);i=new Vector2}t[n++]=i.x;t[n++]=i.y}return this}copyVector3sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector3sArray(): vector is undefined\",r);i=new Vector3}t[n++]=i.x;t[n++]=i.y;t[n++]=i.z}return this}copyVector4sArray(e){const t=this.array;let n=0;for(let r=0,i=e.length;r<i;r++){let i=e[r];if(void 0===i){console.warn(\"THREE.BufferAttribute.copyVector4sArray(): vector is undefined\",r);i=new Vector4}t[n++]=i.x;t[n++]=i.y;t[n++]=i.z;t[n++]=i.w}return this}applyMatrix3(e){if(2===this.itemSize)for(let t=0,n=this.count;t<n;t++){Wr.fromBufferAttribute(this,t);Wr.applyMatrix3(e);this.setXY(t,Wr.x,Wr.y)}else if(3===this.itemSize)for(let t=0,n=this.count;t<n;t++){kr.fromBufferAttribute(this,t);kr.applyMatrix3(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.applyMatrix4(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.applyNormalMatrix(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++){kr.x=this.getX(t);kr.y=this.getY(t);kr.z=this.getZ(t);kr.transformDirection(e);this.setXYZ(t,kr.x,kr.y,kr.z)}return this}set(e,t=0){this.array.set(e,t);return this}getX(e){return this.array[e*this.itemSize]}setX(e,t){this.array[e*this.itemSize]=t;return this}getY(e){return this.array[e*this.itemSize+1]}setY(e,t){this.array[e*this.itemSize+1]=t;return this}getZ(e){return this.array[e*this.itemSize+2]}setZ(e,t){this.array[e*this.itemSize+2]=t;return this}getW(e){return this.array[e*this.itemSize+3]}setW(e,t){this.array[e*this.itemSize+3]=t;return this}setXY(e,t,n){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;return this}setXYZ(e,t,n,r){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;this.array[e+2]=r;return this}setXYZW(e,t,n,r,i){e*=this.itemSize;this.array[e+0]=t;this.array[e+1]=n;this.array[e+2]=r;this.array[e+3]=i;return this}onUpload(e){this.onUploadCallback=e;return this}clone(){return new this.constructor(this.array,this.itemSize).copy(this)}toJSON(){const e={itemSize:this.itemSize,type:this.array.constructor.name,array:Array.prototype.slice.call(this.array),normalized:this.normalized};\"\"!==this.name&&(e.name=this.name);this.usage!==gn&&(e.usage=this.usage);0===this.updateRange.offset&&-1===this.updateRange.count||(e.updateRange=this.updateRange);return e}}BufferAttribute.prototype.isBufferAttribute=true;class Int8BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int8Array(e),t,n)}}class Uint8BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint8Array(e),t,n)}}class Uint8ClampedBufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint8ClampedArray(e),t,n)}}class Int16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int16Array(e),t,n)}}class Uint16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint16Array(e),t,n)}}class Int32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Int32Array(e),t,n)}}class Uint32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint32Array(e),t,n)}}class Float16BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Uint16Array(e),t,n)}}Float16BufferAttribute.prototype.isFloat16BufferAttribute=true;class Float32BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Float32Array(e),t,n)}}class Float64BufferAttribute extends BufferAttribute{constructor(e,t,n){super(new Float64Array(e),t,n)}}let jr=0;const qr=new Matrix4;const Xr=new Object3D;const Jr=new Vector3;const Yr=new Box3;const Zr=new Box3;const Qr=new Vector3;class BufferGeometry extends EventDispatcher{constructor(){super();Object.defineProperty(this,\"id\",{value:jr++});this.uuid=generateUUID();this.name=\"\";this.type=\"BufferGeometry\";this.index=null;this.attributes={};this.morphAttributes={};this.morphTargetsRelative=false;this.groups=[];this.boundingBox=null;this.boundingSphere=null;this.drawRange={start:0,count:Infinity};this.userData={}}getIndex(){return this.index}setIndex(e){Array.isArray(e)?this.index=new(arrayMax(e)>65535?Uint32BufferAttribute:Uint16BufferAttribute)(e,1):this.index=e;return this}getAttribute(e){return this.attributes[e]}setAttribute(e,t){this.attributes[e]=t;return this}deleteAttribute(e){delete this.attributes[e];return this}hasAttribute(e){return void 0!==this.attributes[e]}addGroup(e,t,n=0){this.groups.push({start:e,count:t,materialIndex:n})}clearGroups(){this.groups=[]}setDrawRange(e,t){this.drawRange.start=e;this.drawRange.count=t}applyMatrix4(e){const t=this.attributes.position;if(void 0!==t){t.applyMatrix4(e);t.needsUpdate=true}const n=this.attributes.normal;if(void 0!==n){const t=(new Matrix3).getNormalMatrix(e);n.applyNormalMatrix(t);n.needsUpdate=true}const r=this.attributes.tangent;if(void 0!==r){r.transformDirection(e);r.needsUpdate=true}null!==this.boundingBox&&this.computeBoundingBox();null!==this.boundingSphere&&this.computeBoundingSphere();return this}applyQuaternion(e){qr.makeRotationFromQuaternion(e);this.applyMatrix4(qr);return this}rotateX(e){qr.makeRotationX(e);this.applyMatrix4(qr);return this}rotateY(e){qr.makeRotationY(e);this.applyMatrix4(qr);return this}rotateZ(e){qr.makeRotationZ(e);this.applyMatrix4(qr);return this}translate(e,t,n){qr.makeTranslation(e,t,n);this.applyMatrix4(qr);return this}scale(e,t,n){qr.makeScale(e,t,n);this.applyMatrix4(qr);return this}lookAt(e){Xr.lookAt(e);Xr.updateMatrix();this.applyMatrix4(Xr.matrix);return this}center(){this.computeBoundingBox();this.boundingBox.getCenter(Jr).negate();this.translate(Jr.x,Jr.y,Jr.z);return this}setFromPoints(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];t.push(r.x,r.y,r.z||0)}this.setAttribute(\"position\",new Float32BufferAttribute(t,3));return this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new Box3);const e=this.attributes.position;const t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set \"mesh.frustumCulled\" to \"false\".',this);this.boundingBox.set(new Vector3(-Infinity,-Infinity,-Infinity),new Vector3(Infinity,Infinity,Infinity))}else{if(void 0!==e){this.boundingBox.setFromBufferAttribute(e);if(t)for(let e=0,n=t.length;e<n;e++){const n=t[e];Yr.setFromBufferAttribute(n);if(this.morphTargetsRelative){Qr.addVectors(this.boundingBox.min,Yr.min);this.boundingBox.expandByPoint(Qr);Qr.addVectors(this.boundingBox.max,Yr.max);this.boundingBox.expandByPoint(Qr)}else{this.boundingBox.expandByPoint(Yr.min);this.boundingBox.expandByPoint(Yr.max)}}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The \"position\" attribute is likely to have NaN values.',this)}}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new Sphere);const e=this.attributes.position;const t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set \"mesh.frustumCulled\" to \"false\".',this);this.boundingSphere.set(new Vector3,Infinity)}else if(e){const n=this.boundingSphere.center;Yr.setFromBufferAttribute(e);if(t)for(let e=0,n=t.length;e<n;e++){const n=t[e];Zr.setFromBufferAttribute(n);if(this.morphTargetsRelative){Qr.addVectors(Yr.min,Zr.min);Yr.expandByPoint(Qr);Qr.addVectors(Yr.max,Zr.max);Yr.expandByPoint(Qr)}else{Yr.expandByPoint(Zr.min);Yr.expandByPoint(Zr.max)}}Yr.getCenter(n);let r=0;for(let t=0,i=e.count;t<i;t++){Qr.fromBufferAttribute(e,t);r=Math.max(r,n.distanceToSquared(Qr))}if(t)for(let i=0,s=t.length;i<s;i++){const s=t[i];const a=this.morphTargetsRelative;for(let t=0,i=s.count;t<i;t++){Qr.fromBufferAttribute(s,t);if(a){Jr.fromBufferAttribute(e,t);Qr.add(Jr)}r=Math.max(r,n.distanceToSquared(Qr))}}this.boundingSphere.radius=Math.sqrt(r);isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The \"position\" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index;const t=this.attributes;if(null===e||void 0===t.position||void 0===t.normal||void 0===t.uv){console.error(\"THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)\");return}const n=e.array;const r=t.position.array;const i=t.normal.array;const s=t.uv.array;const a=r.length/3;void 0===t.tangent&&this.setAttribute(\"tangent\",new BufferAttribute(new Float32Array(4*a),4));const o=t.tangent.array;const l=[],c=[];for(let e=0;e<a;e++){l[e]=new Vector3;c[e]=new Vector3}const u=new Vector3,h=new Vector3,d=new Vector3,p=new Vector2,f=new Vector2,m=new Vector2,g=new Vector3,y=new Vector3;function handleTriangle(e,t,n){u.fromArray(r,3*e);h.fromArray(r,3*t);d.fromArray(r,3*n);p.fromArray(s,2*e);f.fromArray(s,2*t);m.fromArray(s,2*n);h.sub(u);d.sub(u);f.sub(p);m.sub(p);const i=1/(f.x*m.y-m.x*f.y);if(isFinite(i)){g.copy(h).multiplyScalar(m.y).addScaledVector(d,-f.y).multiplyScalar(i);y.copy(d).multiplyScalar(f.x).addScaledVector(h,-m.x).multiplyScalar(i);l[e].add(g);l[t].add(g);l[n].add(g);c[e].add(y);c[t].add(y);c[n].add(y)}}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let e=0,t=x.length;e<t;++e){const t=x[e];const r=t.start;const i=t.count;for(let e=r,t=r+i;e<t;e+=3)handleTriangle(n[e+0],n[e+1],n[e+2])}const b=new Vector3,_=new Vector3;const M=new Vector3,w=new Vector3;function handleVertex(e){M.fromArray(i,3*e);w.copy(M);const t=l[e];b.copy(t);b.sub(M.multiplyScalar(M.dot(t))).normalize();_.crossVectors(w,t);const n=_.dot(c[e]);const r=n<0?-1:1;o[4*e]=b.x;o[4*e+1]=b.y;o[4*e+2]=b.z;o[4*e+3]=r}for(let e=0,t=x.length;e<t;++e){const t=x[e];const r=t.start;const i=t.count;for(let e=r,t=r+i;e<t;e+=3){handleVertex(n[e+0]);handleVertex(n[e+1]);handleVertex(n[e+2])}}}computeVertexNormals(){const e=this.index;const t=this.getAttribute(\"position\");if(void 0!==t){let n=this.getAttribute(\"normal\");if(void 0===n){n=new BufferAttribute(new Float32Array(3*t.count),3);this.setAttribute(\"normal\",n)}else for(let e=0,t=n.count;e<t;e++)n.setXYZ(e,0,0,0);const r=new Vector3,i=new Vector3,s=new Vector3;const a=new Vector3,o=new Vector3,l=new Vector3;const c=new Vector3,u=new Vector3;if(e)for(let h=0,d=e.count;h<d;h+=3){const d=e.getX(h+0);const p=e.getX(h+1);const f=e.getX(h+2);r.fromBufferAttribute(t,d);i.fromBufferAttribute(t,p);s.fromBufferAttribute(t,f);c.subVectors(s,i);u.subVectors(r,i);c.cross(u);a.fromBufferAttribute(n,d);o.fromBufferAttribute(n,p);l.fromBufferAttribute(n,f);a.add(c);o.add(c);l.add(c);n.setXYZ(d,a.x,a.y,a.z);n.setXYZ(p,o.x,o.y,o.z);n.setXYZ(f,l.x,l.y,l.z)}else for(let e=0,a=t.count;e<a;e+=3){r.fromBufferAttribute(t,e+0);i.fromBufferAttribute(t,e+1);s.fromBufferAttribute(t,e+2);c.subVectors(s,i);u.subVectors(r,i);c.cross(u);n.setXYZ(e+0,c.x,c.y,c.z);n.setXYZ(e+1,c.x,c.y,c.z);n.setXYZ(e+2,c.x,c.y,c.z)}this.normalizeNormals();n.needsUpdate=true}}merge(e,t){if(!(e&&e.isBufferGeometry)){console.error(\"THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.\",e);return}if(void 0===t){t=0;console.warn(\"THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.\")}const n=this.attributes;for(const r in n){if(void 0===e.attributes[r])continue;const i=n[r];const s=i.array;const a=e.attributes[r];const o=a.array;const l=a.itemSize*t;const c=Math.min(o.length,s.length-l);for(let e=0,t=l;e<c;e++,t++)s[t]=o[e]}return this}normalizeNormals(){const e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++){Qr.fromBufferAttribute(e,t);Qr.normalize();e.setXYZ(t,Qr.x,Qr.y,Qr.z)}}toNonIndexed(){function convertBufferAttribute(e,t){const n=e.array;const r=e.itemSize;const i=e.normalized;const s=new n.constructor(t.length*r);let a=0,o=0;for(let i=0,l=t.length;i<l;i++){a=e.isInterleavedBufferAttribute?t[i]*e.data.stride+e.offset:t[i]*r;for(let e=0;e<r;e++)s[o++]=n[a++]}return new BufferAttribute(s,r,i)}if(null===this.index){console.warn(\"THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.\");return this}const e=new BufferGeometry;const t=this.index.array;const n=this.attributes;for(const r in n){const i=n[r];const s=convertBufferAttribute(i,t);e.setAttribute(r,s)}const r=this.morphAttributes;for(const n in r){const i=[];const s=r[n];for(let e=0,n=s.length;e<n;e++){const n=s[e];const r=convertBufferAttribute(n,t);i.push(r)}e.morphAttributes[n]=i}e.morphTargetsRelative=this.morphTargetsRelative;const i=this.groups;for(let t=0,n=i.length;t<n;t++){const n=i[t];e.addGroup(n.start,n.count,n.materialIndex)}return e}toJSON(){const e={metadata:{version:4.5,type:\"BufferGeometry\",generator:\"BufferGeometry.toJSON\"}};e.uuid=this.uuid;e.type=this.type;\"\"!==this.name&&(e.name=this.name);Object.keys(this.userData).length>0&&(e.userData=this.userData);if(void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const t in n){const r=n[t];e.data.attributes[t]=r.toJSON(e.data)}const r={};let i=false;for(const t in this.morphAttributes){const n=this.morphAttributes[t];const s=[];for(let t=0,r=n.length;t<r;t++){const r=n[t];s.push(r.toJSON(e.data))}if(s.length>0){r[t]=s;i=true}}if(i){e.data.morphAttributes=r;e.data.morphTargetsRelative=this.morphTargetsRelative}const s=this.groups;s.length>0&&(e.data.groups=JSON.parse(JSON.stringify(s)));const a=this.boundingSphere;null!==a&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius});return e}clone(){return(new this.constructor).copy(this)}copy(e){this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingBox=null;this.boundingSphere=null;const t={};this.name=e.name;const n=e.index;null!==n&&this.setIndex(n.clone(t));const r=e.attributes;for(const e in r){const n=r[e];this.setAttribute(e,n.clone(t))}const i=e.morphAttributes;for(const e in i){const n=[];const r=i[e];for(let e=0,i=r.length;e<i;e++)n.push(r[e].clone(t));this.morphAttributes[e]=n}this.morphTargetsRelative=e.morphTargetsRelative;const s=e.groups;for(let e=0,t=s.length;e<t;e++){const t=s[e];this.addGroup(t.start,t.count,t.materialIndex)}const a=e.boundingBox;null!==a&&(this.boundingBox=a.clone());const o=e.boundingSphere;null!==o&&(this.boundingSphere=o.clone());this.drawRange.start=e.drawRange.start;this.drawRange.count=e.drawRange.count;this.userData=e.userData;void 0!==e.parameters&&(this.parameters=Object.assign({},e.parameters));return this}dispose(){this.dispatchEvent({type:\"dispose\"})}}BufferGeometry.prototype.isBufferGeometry=true;const Kr=new Matrix4;const $r=new Ray;const ei=new Sphere;const ti=new Vector3;const ni=new Vector3;const ri=new Vector3;const ii=new Vector3;const si=new Vector3;const ai=new Vector3;const oi=new Vector3;const li=new Vector3;const ci=new Vector3;const ui=new Vector2;const hi=new Vector2;const di=new Vector2;const pi=new Vector3;const fi=new Vector3;class Mesh extends Object3D{constructor(e=new BufferGeometry,t=new MeshBasicMaterial){super();this.type=\"Mesh\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice());void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary));this.material=e.material;this.geometry=e.geometry;return this}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}}raycast(e,t){const n=this.geometry;const r=this.material;const i=this.matrixWorld;if(void 0===r)return;null===n.boundingSphere&&n.computeBoundingSphere();ei.copy(n.boundingSphere);ei.applyMatrix4(i);if(false===e.ray.intersectsSphere(ei))return;Kr.copy(i).invert();$r.copy(e.ray).applyMatrix4(Kr);if(null!==n.boundingBox&&false===$r.intersectsBox(n.boundingBox))return;let s;if(n.isBufferGeometry){const i=n.index;const a=n.attributes.position;const o=n.morphAttributes.position;const l=n.morphTargetsRelative;const c=n.attributes.uv;const u=n.attributes.uv2;const h=n.groups;const d=n.drawRange;if(null!==i)if(Array.isArray(r))for(let n=0,p=h.length;n<p;n++){const p=h[n];const f=r[p.materialIndex];const m=Math.max(p.start,d.start);const g=Math.min(i.count,Math.min(p.start+p.count,d.start+d.count));for(let n=m,r=g;n<r;n+=3){const r=i.getX(n);const h=i.getX(n+1);const d=i.getX(n+2);s=checkBufferGeometryIntersection(this,f,e,$r,a,o,l,c,u,r,h,d);if(s){s.faceIndex=Math.floor(n/3);s.face.materialIndex=p.materialIndex;t.push(s)}}}else{const n=Math.max(0,d.start);const h=Math.min(i.count,d.start+d.count);for(let d=n,p=h;d<p;d+=3){const n=i.getX(d);const h=i.getX(d+1);const p=i.getX(d+2);s=checkBufferGeometryIntersection(this,r,e,$r,a,o,l,c,u,n,h,p);if(s){s.faceIndex=Math.floor(d/3);t.push(s)}}}else if(void 0!==a)if(Array.isArray(r))for(let n=0,i=h.length;n<i;n++){const i=h[n];const p=r[i.materialIndex];const f=Math.max(i.start,d.start);const m=Math.min(a.count,Math.min(i.start+i.count,d.start+d.count));for(let n=f,r=m;n<r;n+=3){const r=n;const h=n+1;const d=n+2;s=checkBufferGeometryIntersection(this,p,e,$r,a,o,l,c,u,r,h,d);if(s){s.faceIndex=Math.floor(n/3);s.face.materialIndex=i.materialIndex;t.push(s)}}}else{const n=Math.max(0,d.start);const i=Math.min(a.count,d.start+d.count);for(let h=n,d=i;h<d;h+=3){const n=h;const i=h+1;const d=h+2;s=checkBufferGeometryIntersection(this,r,e,$r,a,o,l,c,u,n,i,d);if(s){s.faceIndex=Math.floor(h/3);t.push(s)}}}}else n.isGeometry&&console.error(\"THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}}Mesh.prototype.isMesh=true;function checkIntersection(e,t,n,r,i,s,a,o){let l;l=t.side===d?r.intersectTriangle(a,s,i,true,o):r.intersectTriangle(i,s,a,t.side!==p,o);if(null===l)return null;fi.copy(o);fi.applyMatrix4(e.matrixWorld);const c=n.ray.origin.distanceTo(fi);return c<n.near||c>n.far?null:{distance:c,point:fi.clone(),object:e}}function checkBufferGeometryIntersection(e,t,n,r,i,s,a,o,l,c,u,h){ti.fromBufferAttribute(i,c);ni.fromBufferAttribute(i,u);ri.fromBufferAttribute(i,h);const d=e.morphTargetInfluences;if(s&&d){oi.set(0,0,0);li.set(0,0,0);ci.set(0,0,0);for(let e=0,t=s.length;e<t;e++){const t=d[e];const n=s[e];if(0!==t){ii.fromBufferAttribute(n,c);si.fromBufferAttribute(n,u);ai.fromBufferAttribute(n,h);if(a){oi.addScaledVector(ii,t);li.addScaledVector(si,t);ci.addScaledVector(ai,t)}else{oi.addScaledVector(ii.sub(ti),t);li.addScaledVector(si.sub(ni),t);ci.addScaledVector(ai.sub(ri),t)}}}ti.add(oi);ni.add(li);ri.add(ci)}if(e.isSkinnedMesh){e.boneTransform(c,ti);e.boneTransform(u,ni);e.boneTransform(h,ri)}const p=checkIntersection(e,t,n,r,ti,ni,ri,pi);if(p){if(o){ui.fromBufferAttribute(o,c);hi.fromBufferAttribute(o,u);di.fromBufferAttribute(o,h);p.uv=Triangle.getUV(pi,ti,ni,ri,ui,hi,di,new Vector2)}if(l){ui.fromBufferAttribute(l,c);hi.fromBufferAttribute(l,u);di.fromBufferAttribute(l,h);p.uv2=Triangle.getUV(pi,ti,ni,ri,ui,hi,di,new Vector2)}const e={a:c,b:u,c:h,normal:new Vector3,materialIndex:0};Triangle.getNormal(ti,ni,ri,e.normal);p.face=e}return p}class BoxGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=1,i=1,s=1){super();this.type=\"BoxGeometry\";this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:s};const a=this;r=Math.floor(r);i=Math.floor(i);s=Math.floor(s);const o=[];const l=[];const c=[];const u=[];let h=0;let d=0;buildPlane(\"z\",\"y\",\"x\",-1,-1,n,t,e,s,i,0);buildPlane(\"z\",\"y\",\"x\",1,-1,n,t,-e,s,i,1);buildPlane(\"x\",\"z\",\"y\",1,1,e,n,t,r,s,2);buildPlane(\"x\",\"z\",\"y\",1,-1,e,n,-t,r,s,3);buildPlane(\"x\",\"y\",\"z\",1,-1,e,t,n,r,i,4);buildPlane(\"x\",\"y\",\"z\",-1,-1,e,t,-n,r,i,5);this.setIndex(o);this.setAttribute(\"position\",new Float32BufferAttribute(l,3));this.setAttribute(\"normal\",new Float32BufferAttribute(c,3));this.setAttribute(\"uv\",new Float32BufferAttribute(u,2));function buildPlane(e,t,n,r,i,s,p,f,m,g,y){const x=s/m;const b=p/g;const _=s/2;const M=p/2;const w=f/2;const S=m+1;const T=g+1;let E=0;let A=0;const L=new Vector3;for(let s=0;s<T;s++){const a=s*b-M;for(let o=0;o<S;o++){const h=o*x-_;L[e]=h*r;L[t]=a*i;L[n]=w;l.push(L.x,L.y,L.z);L[e]=0;L[t]=0;L[n]=f>0?1:-1;c.push(L.x,L.y,L.z);u.push(o/m);u.push(1-s/g);E+=1}}for(let e=0;e<g;e++)for(let t=0;t<m;t++){const n=h+t+S*e;const r=h+t+S*(e+1);const i=h+(t+1)+S*(e+1);const s=h+(t+1)+S*e;o.push(n,r,s);o.push(r,i,s);A+=6}a.addGroup(d,A,y);d+=A;h+=E}}static fromJSON(e){return new BoxGeometry(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function cloneUniforms(e){const t={};for(const n in e){t[n]={};for(const r in e[n]){const i=e[n][r];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?t[n][r]=i.clone():Array.isArray(i)?t[n][r]=i.slice():t[n][r]=i}}return t}function mergeUniforms(e){const t={};for(let n=0;n<e.length;n++){const r=cloneUniforms(e[n]);for(const e in r)t[e]=r[e]}return t}const mi={clone:cloneUniforms,merge:mergeUniforms};var gi=\"void main() {\\n\\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\\n}\";var yi=\"void main() {\\n\\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\\n}\";class ShaderMaterial extends Material{constructor(e){super();this.type=\"ShaderMaterial\";this.defines={};this.uniforms={};this.vertexShader=gi;this.fragmentShader=yi;this.linewidth=1;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.lights=false;this.clipping=false;this.extensions={derivatives:false,fragDepth:false,drawBuffers:false,shaderTextureLOD:false};this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]};this.index0AttributeName=void 0;this.uniformsNeedUpdate=false;this.glslVersion=null;if(void 0!==e){void 0!==e.attributes&&console.error(\"THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.\");this.setValues(e)}}copy(e){super.copy(e);this.fragmentShader=e.fragmentShader;this.vertexShader=e.vertexShader;this.uniforms=cloneUniforms(e.uniforms);this.defines=Object.assign({},e.defines);this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.lights=e.lights;this.clipping=e.clipping;this.extensions=Object.assign({},e.extensions);this.glslVersion=e.glslVersion;return this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion;t.uniforms={};for(const n in this.uniforms){const r=this.uniforms[n];const i=r.value;i&&i.isTexture?t.uniforms[n]={type:\"t\",value:i.toJSON(e).uuid}:i&&i.isColor?t.uniforms[n]={type:\"c\",value:i.getHex()}:i&&i.isVector2?t.uniforms[n]={type:\"v2\",value:i.toArray()}:i&&i.isVector3?t.uniforms[n]={type:\"v3\",value:i.toArray()}:i&&i.isVector4?t.uniforms[n]={type:\"v4\",value:i.toArray()}:i&&i.isMatrix3?t.uniforms[n]={type:\"m3\",value:i.toArray()}:i&&i.isMatrix4?t.uniforms[n]={type:\"m4\",value:i.toArray()}:t.uniforms[n]={value:i}}Object.keys(this.defines).length>0&&(t.defines=this.defines);t.vertexShader=this.vertexShader;t.fragmentShader=this.fragmentShader;const n={};for(const e in this.extensions)true===this.extensions[e]&&(n[e]=true);Object.keys(n).length>0&&(t.extensions=n);return t}}ShaderMaterial.prototype.isShaderMaterial=true;class Camera extends Object3D{constructor(){super();this.type=\"Camera\";this.matrixWorldInverse=new Matrix4;this.projectionMatrix=new Matrix4;this.projectionMatrixInverse=new Matrix4}copy(e,t){super.copy(e,t);this.matrixWorldInverse.copy(e.matrixWorldInverse);this.projectionMatrix.copy(e.projectionMatrix);this.projectionMatrixInverse.copy(e.projectionMatrixInverse);return this}getWorldDirection(e){this.updateWorldMatrix(true,false);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e);this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t);this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}Camera.prototype.isCamera=true;class PerspectiveCamera extends Camera{constructor(e=50,t=1,n=.1,r=2e3){super();this.type=\"PerspectiveCamera\";this.fov=e;this.zoom=1;this.near=n;this.far=r;this.focus=10;this.aspect=t;this.view=null;this.filmGauge=35;this.filmOffset=0;this.updateProjectionMatrix()}copy(e,t){super.copy(e,t);this.fov=e.fov;this.zoom=e.zoom;this.near=e.near;this.far=e.far;this.focus=e.focus;this.aspect=e.aspect;this.view=null===e.view?null:Object.assign({},e.view);this.filmGauge=e.filmGauge;this.filmOffset=e.filmOffset;return this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*Rn*Math.atan(t);this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*Cn*this.fov);return.5*this.getFilmHeight()/e}getEffectiveFOV(){return 2*Rn*Math.atan(Math.tan(.5*Cn*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,r,i,s){this.aspect=e/t;null===this.view&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=e;this.view.fullHeight=t;this.view.offsetX=n;this.view.offsetY=r;this.view.width=i;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*Cn*this.fov)/this.zoom;let n=2*t;let r=this.aspect*n;let i=-.5*r;const s=this.view;if(null!==this.view&&this.view.enabled){const e=s.fullWidth,a=s.fullHeight;i+=s.offsetX*r/e;t-=s.offsetY*n/a;r*=s.width/e;n*=s.height/a}const a=this.filmOffset;0!==a&&(i+=e*a/this.getFilmWidth());this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);t.object.fov=this.fov;t.object.zoom=this.zoom;t.object.near=this.near;t.object.far=this.far;t.object.focus=this.focus;t.object.aspect=this.aspect;null!==this.view&&(t.object.view=Object.assign({},this.view));t.object.filmGauge=this.filmGauge;t.object.filmOffset=this.filmOffset;return t}}PerspectiveCamera.prototype.isPerspectiveCamera=true;const vi=90,xi=1;class CubeCamera extends Object3D{constructor(e,t,n){super();this.type=\"CubeCamera\";if(true!==n.isWebGLCubeRenderTarget){console.error(\"THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.\");return}this.renderTarget=n;const r=new PerspectiveCamera(vi,xi,e,t);r.layers=this.layers;r.up.set(0,-1,0);r.lookAt(new Vector3(1,0,0));this.add(r);const i=new PerspectiveCamera(vi,xi,e,t);i.layers=this.layers;i.up.set(0,-1,0);i.lookAt(new Vector3(-1,0,0));this.add(i);const s=new PerspectiveCamera(vi,xi,e,t);s.layers=this.layers;s.up.set(0,0,1);s.lookAt(new Vector3(0,1,0));this.add(s);const a=new PerspectiveCamera(vi,xi,e,t);a.layers=this.layers;a.up.set(0,0,-1);a.lookAt(new Vector3(0,-1,0));this.add(a);const o=new PerspectiveCamera(vi,xi,e,t);o.layers=this.layers;o.up.set(0,-1,0);o.lookAt(new Vector3(0,0,1));this.add(o);const l=new PerspectiveCamera(vi,xi,e,t);l.layers=this.layers;l.up.set(0,-1,0);l.lookAt(new Vector3(0,0,-1));this.add(l)}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget;const[r,i,s,a,o,l]=this.children;const c=e.xr.enabled;const u=e.getRenderTarget();e.xr.enabled=false;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=false;e.setRenderTarget(n,0);e.render(t,r);e.setRenderTarget(n,1);e.render(t,i);e.setRenderTarget(n,2);e.render(t,s);e.setRenderTarget(n,3);e.render(t,a);e.setRenderTarget(n,4);e.render(t,o);n.texture.generateMipmaps=h;e.setRenderTarget(n,5);e.render(t,l);e.setRenderTarget(u);e.xr.enabled=c}}class CubeTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c){e=void 0!==e?e:[];t=void 0!==t?t:re;super(e,t,n,r,i,s,a,o,l,c);this.flipY=false}get images(){return this.image}set images(e){this.image=e}}CubeTexture.prototype.isCubeTexture=true;class WebGLCubeRenderTarget extends WebGLRenderTarget{constructor(e,t,n){if(Number.isInteger(t)){console.warn(\"THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )\");t=n}super(e,e,t);t=t||{};this.texture=new CubeTexture(void 0,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding);this.texture.isRenderTargetTexture=true;this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps;this.texture.minFilter=void 0!==t.minFilter?t.minFilter:ye;this.texture._needsFlipEnvMap=false}fromEquirectangularTexture(e,t){this.texture.type=t.type;this.texture.format=Ne;this.texture.encoding=t.encoding;this.texture.generateMipmaps=t.generateMipmaps;this.texture.minFilter=t.minFilter;this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:\"\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\n\\t\\t\\t\\t\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\n\\t\\t\\t\\t\\t#include <begin_vertex>\\n\\t\\t\\t\\t\\t#include <project_vertex>\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\",fragmentShader:\"\\n\\n\\t\\t\\t\\tuniform sampler2D tEquirect;\\n\\n\\t\\t\\t\\tvarying vec3 vWorldDirection;\\n\\n\\t\\t\\t\\t#include <common>\\n\\n\\t\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\t\\tvec3 direction = normalize( vWorldDirection );\\n\\n\\t\\t\\t\\t\\tvec2 sampleUV = equirectUv( direction );\\n\\n\\t\\t\\t\\t\\tgl_FragColor = texture2D( tEquirect, sampleUV );\\n\\n\\t\\t\\t\\t}\\n\\t\\t\\t\"};const r=new BoxGeometry(5,5,5);const i=new ShaderMaterial({name:\"CubemapFromEquirect\",uniforms:cloneUniforms(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:d,blending:g});i.uniforms.tEquirect.value=t;const s=new Mesh(r,i);const a=t.minFilter;t.minFilter===be&&(t.minFilter=ye);const o=new CubeCamera(1,10,this);o.update(e,s);t.minFilter=a;s.geometry.dispose();s.material.dispose();return this}clear(e,t,n,r){const i=e.getRenderTarget();for(let i=0;i<6;i++){e.setRenderTarget(this,i);e.clear(t,n,r)}e.setRenderTarget(i)}}WebGLCubeRenderTarget.prototype.isWebGLCubeRenderTarget=true;const bi=new Vector3;const _i=new Vector3;const Mi=new Matrix3;class Plane{constructor(e=new Vector3(1,0,0),t=0){this.normal=e;this.constant=t}set(e,t){this.normal.copy(e);this.constant=t;return this}setComponents(e,t,n,r){this.normal.set(e,t,n);this.constant=r;return this}setFromNormalAndCoplanarPoint(e,t){this.normal.copy(e);this.constant=-t.dot(this.normal);return this}setFromCoplanarPoints(e,t,n){const r=bi.subVectors(n,t).cross(_i.subVectors(e,t)).normalize();this.setFromNormalAndCoplanarPoint(r,e);return this}copy(e){this.normal.copy(e.normal);this.constant=e.constant;return this}normalize(){const e=1/this.normal.length();this.normal.multiplyScalar(e);this.constant*=e;return this}negate(){this.constant*=-1;this.normal.negate();return this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,t){return t.copy(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){const n=e.delta(bi);const r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:t.copy(n).multiplyScalar(i).add(e.start)}intersectsLine(e){const t=this.distanceToPoint(e.start);const n=this.distanceToPoint(e.end);return t<0&&n>0||n<0&&t>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,t){const n=t||Mi.getNormalMatrix(e);const r=this.coplanarPoint(bi).applyMatrix4(e);const i=this.normal.applyMatrix3(n).normalize();this.constant=-r.dot(i);return this}translate(e){this.constant-=e.dot(this.normal);return this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Plane.prototype.isPlane=true;const wi=new Sphere;const Si=new Vector3;class Frustum{constructor(e=new Plane,t=new Plane,n=new Plane,r=new Plane,i=new Plane,s=new Plane){this.planes=[e,t,n,r,i,s]}set(e,t,n,r,i,s){const a=this.planes;a[0].copy(e);a[1].copy(t);a[2].copy(n);a[3].copy(r);a[4].copy(i);a[5].copy(s);return this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){const t=this.planes;const n=e.elements;const r=n[0],i=n[1],s=n[2],a=n[3];const o=n[4],l=n[5],c=n[6],u=n[7];const h=n[8],d=n[9],p=n[10],f=n[11];const m=n[12],g=n[13],y=n[14],x=n[15];t[0].setComponents(a-r,u-o,f-h,x-m).normalize();t[1].setComponents(a+r,u+o,f+h,x+m).normalize();t[2].setComponents(a+i,u+l,f+d,x+g).normalize();t[3].setComponents(a-i,u-l,f-d,x-g).normalize();t[4].setComponents(a-s,u-c,f-p,x-y).normalize();t[5].setComponents(a+s,u+c,f+p,x+y).normalize();return this}intersectsObject(e){const t=e.geometry;null===t.boundingSphere&&t.computeBoundingSphere();wi.copy(t.boundingSphere).applyMatrix4(e.matrixWorld);return this.intersectsSphere(wi)}intersectsSprite(e){wi.center.set(0,0,0);wi.radius=.7071067811865476;wi.applyMatrix4(e.matrixWorld);return this.intersectsSphere(wi)}intersectsSphere(e){const t=this.planes;const n=e.center;const r=-e.radius;for(let e=0;e<6;e++){const i=t[e].distanceToPoint(n);if(i<r)return false}return true}intersectsBox(e){const t=this.planes;for(let n=0;n<6;n++){const r=t[n];Si.x=r.normal.x>0?e.max.x:e.min.x;Si.y=r.normal.y>0?e.max.y:e.min.y;Si.z=r.normal.z>0?e.max.z:e.min.z;if(r.distanceToPoint(Si)<0)return false}return true}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return false;return true}clone(){return(new this.constructor).copy(this)}}function WebGLAnimation(){let e=null;let t=false;let n=null;let r=null;function onAnimationFrame(t,i){n(t,i);r=e.requestAnimationFrame(onAnimationFrame)}return{start:function(){if(true!==t&&null!==n){r=e.requestAnimationFrame(onAnimationFrame);t=true}},stop:function(){e.cancelAnimationFrame(r);t=false},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function WebGLAttributes(e,t){const n=t.isWebGL2;const r=new WeakMap;function createBuffer(t,r){const i=t.array;const s=t.usage;const a=e.createBuffer();e.bindBuffer(r,a);e.bufferData(r,i,s);t.onUploadCallback();let o=5126;i instanceof Float32Array?o=5126:i instanceof Float64Array?console.warn(\"THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.\"):i instanceof Uint16Array?t.isFloat16BufferAttribute?n?o=5131:console.warn(\"THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.\"):o=5123:i instanceof Int16Array?o=5122:i instanceof Uint32Array?o=5125:i instanceof Int32Array?o=5124:i instanceof Int8Array?o=5120:(i instanceof Uint8Array||i instanceof Uint8ClampedArray)&&(o=5121);return{buffer:a,type:o,bytesPerElement:i.BYTES_PER_ELEMENT,version:t.version}}function updateBuffer(t,r,i){const s=r.array;const a=r.updateRange;e.bindBuffer(i,t);if(-1===a.count)e.bufferSubData(i,0,s);else{n?e.bufferSubData(i,a.offset*s.BYTES_PER_ELEMENT,s,a.offset,a.count):e.bufferSubData(i,a.offset*s.BYTES_PER_ELEMENT,s.subarray(a.offset,a.offset+a.count));a.count=-1}}function get(e){e.isInterleavedBufferAttribute&&(e=e.data);return r.get(e)}function remove(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=r.get(t);if(n){e.deleteBuffer(n.buffer);r.delete(t)}}function update(e,t){if(e.isGLBufferAttribute){const t=r.get(e);(!t||t.version<e.version)&&r.set(e,{buffer:e.buffer,type:e.type,bytesPerElement:e.elementSize,version:e.version});return}e.isInterleavedBufferAttribute&&(e=e.data);const n=r.get(e);if(void 0===n)r.set(e,createBuffer(e,t));else if(n.version<e.version){updateBuffer(n.buffer,e,t);n.version=e.version}}return{get:get,remove:remove,update:update}}class PlaneGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=1){super();this.type=\"PlaneGeometry\";this.parameters={width:e,height:t,widthSegments:n,heightSegments:r};const i=e/2;const s=t/2;const a=Math.floor(n);const o=Math.floor(r);const l=a+1;const c=o+1;const u=e/a;const h=t/o;const d=[];const p=[];const f=[];const m=[];for(let e=0;e<c;e++){const t=e*h-s;for(let n=0;n<l;n++){const r=n*u-i;p.push(r,-t,0);f.push(0,0,1);m.push(n/a);m.push(1-e/o)}}for(let e=0;e<o;e++)for(let t=0;t<a;t++){const n=t+l*e;const r=t+l*(e+1);const i=t+1+l*(e+1);const s=t+1+l*e;d.push(n,r,s);d.push(r,i,s)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}static fromJSON(e){return new PlaneGeometry(e.width,e.height,e.widthSegments,e.heightSegments)}}var Ti=\"#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\\n#endif\";var Ei=\"#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var Ai=\"#ifdef USE_ALPHATEST\\n\\tif ( diffuseColor.a < alphaTest ) discard;\\n#endif\";var Li=\"#ifdef USE_ALPHATEST\\n\\tuniform float alphaTest;\\n#endif\";var Ci=\"#ifdef USE_AOMAP\\n\\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\\n\\treflectedLight.indirectDiffuse *= ambientOcclusion;\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD )\\n\\t\\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\\n\\t\\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\\n\\t#endif\\n#endif\";var Ri=\"#ifdef USE_AOMAP\\n\\tuniform sampler2D aoMap;\\n\\tuniform float aoMapIntensity;\\n#endif\";var Pi=\"vec3 transformed = vec3( position );\";var Ii=\"vec3 objectNormal = vec3( normal );\\n#ifdef USE_TANGENT\\n\\tvec3 objectTangent = vec3( tangent.xyz );\\n#endif\";var Di=\"vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\\n\\treturn RECIPROCAL_PI * diffuseColor;\\n}\\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\\n\\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\\n\\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\\n}\\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\\n\\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\\n\\treturn 0.5 / max( gv + gl, EPSILON );\\n}\\nfloat D_GGX( const in float alpha, const in float dotNH ) {\\n\\tfloat a2 = pow2( alpha );\\n\\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\\n\\treturn RECIPROCAL_PI * a2 / pow2( denom );\\n}\\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( f0, f90, dotVH );\\n\\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\\n\\tfloat D = D_GGX( alpha, dotNH );\\n\\treturn F * ( V * D );\\n}\\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\\n\\tconst float LUT_SIZE = 64.0;\\n\\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\\n\\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\\n\\tfloat dotNV = saturate( dot( N, V ) );\\n\\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\\n\\tuv = uv * LUT_SCALE + LUT_BIAS;\\n\\treturn uv;\\n}\\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\\n\\tfloat l = length( f );\\n\\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\\n}\\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\\n\\tfloat x = dot( v1, v2 );\\n\\tfloat y = abs( x );\\n\\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\\n\\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\\n\\tfloat v = a / b;\\n\\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\\n\\treturn cross( v1, v2 ) * theta_sintheta;\\n}\\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\\n\\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\\n\\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\\n\\tvec3 lightNormal = cross( v1, v2 );\\n\\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\\n\\tvec3 T1, T2;\\n\\tT1 = normalize( V - N * dot( V, N ) );\\n\\tT2 = - cross( N, T1 );\\n\\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\\n\\tvec3 coords[ 4 ];\\n\\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\\n\\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\\n\\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\\n\\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\\n\\tcoords[ 0 ] = normalize( coords[ 0 ] );\\n\\tcoords[ 1 ] = normalize( coords[ 1 ] );\\n\\tcoords[ 2 ] = normalize( coords[ 2 ] );\\n\\tcoords[ 3 ] = normalize( coords[ 3 ] );\\n\\tvec3 vectorFormFactor = vec3( 0.0 );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\\n\\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\\n\\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\\n\\treturn vec3( result );\\n}\\nfloat G_BlinnPhong_Implicit( ) {\\n\\treturn 0.25;\\n}\\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\\n\\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\\n}\\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\\n\\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\\n\\tfloat G = G_BlinnPhong_Implicit( );\\n\\tfloat D = D_BlinnPhong( shininess, dotNH );\\n\\treturn F * ( G * D );\\n}\\n#if defined( USE_SHEEN )\\nfloat D_Charlie( float roughness, float dotNH ) {\\n\\tfloat alpha = pow2( roughness );\\n\\tfloat invAlpha = 1.0 / alpha;\\n\\tfloat cos2h = dotNH * dotNH;\\n\\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\\n\\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\\n}\\nfloat V_Neubelt( float dotNV, float dotNL ) {\\n\\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\\n}\\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\\n\\tvec3 halfDir = normalize( lightDir + viewDir );\\n\\tfloat dotNL = saturate( dot( normal, lightDir ) );\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat dotNH = saturate( dot( normal, halfDir ) );\\n\\tfloat D = D_Charlie( sheenRoughness, dotNH );\\n\\tfloat V = V_Neubelt( dotNV, dotNL );\\n\\treturn sheenColor * ( D * V );\\n}\\n#endif\";var Bi=\"#ifdef USE_BUMPMAP\\n\\tuniform sampler2D bumpMap;\\n\\tuniform float bumpScale;\\n\\tvec2 dHdxy_fwd() {\\n\\t\\tvec2 dSTdx = dFdx( vUv );\\n\\t\\tvec2 dSTdy = dFdy( vUv );\\n\\t\\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\\n\\t\\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\\n\\t\\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\\n\\t\\treturn vec2( dBx, dBy );\\n\\t}\\n\\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\\n\\t\\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\\n\\t\\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\\n\\t\\tvec3 vN = surf_norm;\\n\\t\\tvec3 R1 = cross( vSigmaY, vN );\\n\\t\\tvec3 R2 = cross( vN, vSigmaX );\\n\\t\\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\\n\\t\\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\\n\\t\\treturn normalize( abs( fDet ) * surf_norm - vGrad );\\n\\t}\\n#endif\";var Vi=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvec4 plane;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\\n\\t\\tplane = clippingPlanes[ i ];\\n\\t\\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\\n\\t\\tbool clipped = true;\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\\n\\t\\t\\tplane = clippingPlanes[ i ];\\n\\t\\t\\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t\\tif ( clipped ) discard;\\n\\t#endif\\n#endif\";var Ni=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n\\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\\n#endif\";var Ui=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvarying vec3 vClipPosition;\\n#endif\";var zi=\"#if NUM_CLIPPING_PLANES > 0\\n\\tvClipPosition = - mvPosition.xyz;\\n#endif\";var Gi=\"#if defined( USE_COLOR_ALPHA )\\n\\tdiffuseColor *= vColor;\\n#elif defined( USE_COLOR )\\n\\tdiffuseColor.rgb *= vColor;\\n#endif\";var Fi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Oi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvarying vec4 vColor;\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvarying vec3 vColor;\\n#endif\";var Hi=\"#if defined( USE_COLOR_ALPHA )\\n\\tvColor = vec4( 1.0 );\\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\\n\\tvColor = vec3( 1.0 );\\n#endif\\n#ifdef USE_COLOR\\n\\tvColor *= color;\\n#endif\\n#ifdef USE_INSTANCING_COLOR\\n\\tvColor.xyz *= instanceColor.xyz;\\n#endif\";var ki=\"#define PI 3.141592653589793\\n#define PI2 6.283185307179586\\n#define PI_HALF 1.5707963267948966\\n#define RECIPROCAL_PI 0.3183098861837907\\n#define RECIPROCAL_PI2 0.15915494309189535\\n#define EPSILON 1e-6\\n#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\\nfloat pow2( const in float x ) { return x*x; }\\nfloat pow3( const in float x ) { return x*x*x; }\\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\\nhighp float rand( const in vec2 uv ) {\\n\\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\\n\\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\\n\\treturn fract( sin( sn ) * c );\\n}\\n#ifdef HIGH_PRECISION\\n\\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\\n#else\\n\\tfloat precisionSafeLength( vec3 v ) {\\n\\t\\tfloat maxComponent = max3( abs( v ) );\\n\\t\\treturn length( v / maxComponent ) * maxComponent;\\n\\t}\\n#endif\\nstruct IncidentLight {\\n\\tvec3 color;\\n\\tvec3 direction;\\n\\tbool visible;\\n};\\nstruct ReflectedLight {\\n\\tvec3 directDiffuse;\\n\\tvec3 directSpecular;\\n\\tvec3 indirectDiffuse;\\n\\tvec3 indirectSpecular;\\n};\\nstruct GeometricContext {\\n\\tvec3 position;\\n\\tvec3 normal;\\n\\tvec3 viewDir;\\n#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal;\\n#endif\\n};\\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\\n}\\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\\n\\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\\n}\\nmat3 transposeMat3( const in mat3 m ) {\\n\\tmat3 tmp;\\n\\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\\n\\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\\n\\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\\n\\treturn tmp;\\n}\\nfloat linearToRelativeLuminance( const in vec3 color ) {\\n\\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\\n\\treturn dot( weights, color.rgb );\\n}\\nbool isPerspectiveMatrix( mat4 m ) {\\n\\treturn m[ 2 ][ 3 ] == - 1.0;\\n}\\nvec2 equirectUv( in vec3 dir ) {\\n\\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\\n\\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\\n\\treturn vec2( u, v );\\n}\";var Wi=\"#ifdef ENVMAP_TYPE_CUBE_UV\\n\\t#define cubeUV_maxMipLevel 8.0\\n\\t#define cubeUV_minMipLevel 4.0\\n\\t#define cubeUV_maxTileSize 256.0\\n\\t#define cubeUV_minTileSize 16.0\\n\\tfloat getFace( vec3 direction ) {\\n\\t\\tvec3 absDirection = abs( direction );\\n\\t\\tfloat face = - 1.0;\\n\\t\\tif ( absDirection.x > absDirection.z ) {\\n\\t\\t\\tif ( absDirection.x > absDirection.y )\\n\\t\\t\\t\\tface = direction.x > 0.0 ? 0.0 : 3.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t} else {\\n\\t\\t\\tif ( absDirection.z > absDirection.y )\\n\\t\\t\\t\\tface = direction.z > 0.0 ? 2.0 : 5.0;\\n\\t\\t\\telse\\n\\t\\t\\t\\tface = direction.y > 0.0 ? 1.0 : 4.0;\\n\\t\\t}\\n\\t\\treturn face;\\n\\t}\\n\\tvec2 getUV( vec3 direction, float face ) {\\n\\t\\tvec2 uv;\\n\\t\\tif ( face == 0.0 ) {\\n\\t\\t\\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 1.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\\n\\t\\t} else if ( face == 2.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\\n\\t\\t} else if ( face == 3.0 ) {\\n\\t\\t\\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\\n\\t\\t} else if ( face == 4.0 ) {\\n\\t\\t\\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\\n\\t\\t} else {\\n\\t\\t\\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\\n\\t\\t}\\n\\t\\treturn 0.5 * ( uv + 1.0 );\\n\\t}\\n\\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\\n\\t\\tfloat face = getFace( direction );\\n\\t\\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\\n\\t\\tmipInt = max( mipInt, cubeUV_minMipLevel );\\n\\t\\tfloat faceSize = exp2( mipInt );\\n\\t\\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\\n\\t\\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 ) + 0.5;\\n\\t\\tif ( face > 2.0 ) {\\n\\t\\t\\tuv.y += faceSize;\\n\\t\\t\\tface -= 3.0;\\n\\t\\t}\\n\\t\\tuv.x += face * faceSize;\\n\\t\\tif ( mipInt < cubeUV_maxMipLevel ) {\\n\\t\\t\\tuv.y += 2.0 * cubeUV_maxTileSize;\\n\\t\\t}\\n\\t\\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\\n\\t\\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\\n\\t\\tuv *= texelSize;\\n\\t\\treturn texture2D( envMap, uv ).rgb;\\n\\t}\\n\\t#define r0 1.0\\n\\t#define v0 0.339\\n\\t#define m0 - 2.0\\n\\t#define r1 0.8\\n\\t#define v1 0.276\\n\\t#define m1 - 1.0\\n\\t#define r4 0.4\\n\\t#define v4 0.046\\n\\t#define m4 2.0\\n\\t#define r5 0.305\\n\\t#define v5 0.016\\n\\t#define m5 3.0\\n\\t#define r6 0.21\\n\\t#define v6 0.0038\\n\\t#define m6 4.0\\n\\tfloat roughnessToMip( float roughness ) {\\n\\t\\tfloat mip = 0.0;\\n\\t\\tif ( roughness >= r1 ) {\\n\\t\\t\\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\\n\\t\\t} else if ( roughness >= r4 ) {\\n\\t\\t\\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\\n\\t\\t} else if ( roughness >= r5 ) {\\n\\t\\t\\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\\n\\t\\t} else if ( roughness >= r6 ) {\\n\\t\\t\\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\\n\\t\\t} else {\\n\\t\\t\\tmip = - 2.0 * log2( 1.16 * roughness );\\t\\t}\\n\\t\\treturn mip;\\n\\t}\\n\\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\\n\\t\\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\\n\\t\\tfloat mipF = fract( mip );\\n\\t\\tfloat mipInt = floor( mip );\\n\\t\\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\\n\\t\\tif ( mipF == 0.0 ) {\\n\\t\\t\\treturn vec4( color0, 1.0 );\\n\\t\\t} else {\\n\\t\\t\\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\\n\\t\\t\\treturn vec4( mix( color0, color1, mipF ), 1.0 );\\n\\t\\t}\\n\\t}\\n#endif\";var ji=\"vec3 transformedNormal = objectNormal;\\n#ifdef USE_INSTANCING\\n\\tmat3 m = mat3( instanceMatrix );\\n\\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\\n\\ttransformedNormal = m * transformedNormal;\\n#endif\\ntransformedNormal = normalMatrix * transformedNormal;\\n#ifdef FLIP_SIDED\\n\\ttransformedNormal = - transformedNormal;\\n#endif\\n#ifdef USE_TANGENT\\n\\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#ifdef FLIP_SIDED\\n\\t\\ttransformedTangent = - transformedTangent;\\n\\t#endif\\n#endif\";var qi=\"#ifdef USE_DISPLACEMENTMAP\\n\\tuniform sampler2D displacementMap;\\n\\tuniform float displacementScale;\\n\\tuniform float displacementBias;\\n#endif\";var Xi=\"#ifdef USE_DISPLACEMENTMAP\\n\\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\\n#endif\";var Ji=\"#ifdef USE_EMISSIVEMAP\\n\\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\\n\\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\\n\\ttotalEmissiveRadiance *= emissiveColor.rgb;\\n#endif\";var Yi=\"#ifdef USE_EMISSIVEMAP\\n\\tuniform sampler2D emissiveMap;\\n#endif\";var Zi=\"gl_FragColor = linearToOutputTexel( gl_FragColor );\";var Qi=\"vec4 LinearToLinear( in vec4 value ) {\\n\\treturn value;\\n}\\nvec4 sRGBToLinear( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\\n}\\nvec4 LinearTosRGB( in vec4 value ) {\\n\\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\\n}\";var Ki=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvec3 cameraToFrag;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#else\\n\\t\\tvec3 reflectVec = vReflect;\\n\\t#endif\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\\n\\t\\tenvColor = envMapTexelToLinear( envColor );\\n\\t#elif defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\\n\\t#else\\n\\t\\tvec4 envColor = vec4( 0.0 );\\n\\t#endif\\n\\t#ifdef ENVMAP_BLENDING_MULTIPLY\\n\\t\\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_MIX )\\n\\t\\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\\n\\t#elif defined( ENVMAP_BLENDING_ADD )\\n\\t\\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\\n\\t#endif\\n#endif\";var $i=\"#ifdef USE_ENVMAP\\n\\tuniform float envMapIntensity;\\n\\tuniform float flipEnvMap;\\n\\t#ifdef ENVMAP_TYPE_CUBE\\n\\t\\tuniform samplerCube envMap;\\n\\t#else\\n\\t\\tuniform sampler2D envMap;\\n\\t#endif\\n\\t\\n#endif\";var es=\"#ifdef USE_ENVMAP\\n\\tuniform float reflectivity;\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t\\tuniform float refractionRatio;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t#endif\\n#endif\";var ts=\"#ifdef USE_ENVMAP\\n\\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\\n\\t\\t#define ENV_WORLDPOS\\n\\t#endif\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\t\\n\\t\\tvarying vec3 vWorldPosition;\\n\\t#else\\n\\t\\tvarying vec3 vReflect;\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n#endif\";var ns=\"#ifdef USE_ENVMAP\\n\\t#ifdef ENV_WORLDPOS\\n\\t\\tvWorldPosition = worldPosition.xyz;\\n\\t#else\\n\\t\\tvec3 cameraToVertex;\\n\\t\\tif ( isOrthographic ) {\\n\\t\\t\\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\\n\\t\\t} else {\\n\\t\\t\\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\\n\\t\\t}\\n\\t\\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\tvReflect = reflect( cameraToVertex, worldNormal );\\n\\t\\t#else\\n\\t\\t\\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var rs=\"#ifdef USE_FOG\\n\\tvFogDepth = - mvPosition.z;\\n#endif\";var is=\"#ifdef USE_FOG\\n\\tvarying float vFogDepth;\\n#endif\";var ss=\"#ifdef USE_FOG\\n\\t#ifdef FOG_EXP2\\n\\t\\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\\n\\t#else\\n\\t\\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\\n\\t#endif\\n\\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\\n#endif\";var as=\"#ifdef USE_FOG\\n\\tuniform vec3 fogColor;\\n\\tvarying float vFogDepth;\\n\\t#ifdef FOG_EXP2\\n\\t\\tuniform float fogDensity;\\n\\t#else\\n\\t\\tuniform float fogNear;\\n\\t\\tuniform float fogFar;\\n\\t#endif\\n#endif\";var os=\"#ifdef USE_GRADIENTMAP\\n\\tuniform sampler2D gradientMap;\\n#endif\\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\\n\\tfloat dotNL = dot( normal, lightDirection );\\n\\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\\n\\t#ifdef USE_GRADIENTMAP\\n\\t\\treturn vec3( texture2D( gradientMap, coord ).r );\\n\\t#else\\n\\t\\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\\n\\t#endif\\n}\";var ls=\"#ifdef USE_LIGHTMAP\\n\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\tlightMapIrradiance *= PI;\\n\\t#endif\\n\\treflectedLight.indirectDiffuse += lightMapIrradiance;\\n#endif\";var cs=\"#ifdef USE_LIGHTMAP\\n\\tuniform sampler2D lightMap;\\n\\tuniform float lightMapIntensity;\\n#endif\";var us=\"vec3 diffuse = vec3( 1.0 );\\nGeometricContext geometry;\\ngeometry.position = mvPosition.xyz;\\ngeometry.normal = normalize( transformedNormal );\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\\nGeometricContext backGeometry;\\nbackGeometry.position = geometry.position;\\nbackGeometry.normal = -geometry.normal;\\nbackGeometry.viewDir = geometry.viewDir;\\nvLightFront = vec3( 0.0 );\\nvIndirectFront = vec3( 0.0 );\\n#ifdef DOUBLE_SIDED\\n\\tvLightBack = vec3( 0.0 );\\n\\tvIndirectBack = vec3( 0.0 );\\n#endif\\nIncidentLight directLight;\\nfloat dotNL;\\nvec3 directLightColor_Diffuse;\\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry.normal );\\n#ifdef DOUBLE_SIDED\\n\\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\\n\\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry.normal );\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tgetPointLightInfo( pointLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tgetSpotLightInfo( spotLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_DIR_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tgetDirectionalLightInfo( directionalLights[ i ], geometry, directLight );\\n\\t\\tdotNL = dot( geometry.normal, directLight.direction );\\n\\t\\tdirectLightColor_Diffuse = directLight.color;\\n\\t\\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvLightBack += saturate( - dotNL ) * directLightColor_Diffuse;\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry.normal );\\n\\t\\t#endif\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\";var hs=\"uniform bool receiveShadow;\\nuniform vec3 ambientLightColor;\\nuniform vec3 lightProbe[ 9 ];\\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\\n\\tfloat x = normal.x, y = normal.y, z = normal.z;\\n\\tvec3 result = shCoefficients[ 0 ] * 0.886227;\\n\\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\\n\\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\\n\\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\\n\\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\\n\\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\\n\\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\\n\\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\\n\\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\\n\\treturn result;\\n}\\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\\n\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\\n\\treturn irradiance;\\n}\\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\\n\\tvec3 irradiance = ambientLightColor;\\n\\treturn irradiance;\\n}\\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\\n\\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\\n\\t\\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\\n\\t\\tif ( cutoffDistance > 0.0 ) {\\n\\t\\t\\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\\n\\t\\t}\\n\\t\\treturn distanceFalloff;\\n\\t#else\\n\\t\\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\\n\\t\\t\\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\\n\\t\\t}\\n\\t\\treturn 1.0;\\n\\t#endif\\n}\\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\\n\\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\\n}\\n#if NUM_DIR_LIGHTS > 0\\n\\tstruct DirectionalLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t};\\n\\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\\n\\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tlight.color = directionalLight.color;\\n\\t\\tlight.direction = directionalLight.direction;\\n\\t\\tlight.visible = true;\\n\\t}\\n#endif\\n#if NUM_POINT_LIGHTS > 0\\n\\tstruct PointLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t};\\n\\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\\n\\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = pointLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat lightDistance = length( lVector );\\n\\t\\tlight.color = pointLight.color;\\n\\t\\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\\n\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t}\\n#endif\\n#if NUM_SPOT_LIGHTS > 0\\n\\tstruct SpotLight {\\n\\t\\tvec3 position;\\n\\t\\tvec3 direction;\\n\\t\\tvec3 color;\\n\\t\\tfloat distance;\\n\\t\\tfloat decay;\\n\\t\\tfloat coneCos;\\n\\t\\tfloat penumbraCos;\\n\\t};\\n\\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\\n\\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\\n\\t\\tvec3 lVector = spotLight.position - geometry.position;\\n\\t\\tlight.direction = normalize( lVector );\\n\\t\\tfloat angleCos = dot( light.direction, spotLight.direction );\\n\\t\\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\\n\\t\\tif ( spotAttenuation > 0.0 ) {\\n\\t\\t\\tfloat lightDistance = length( lVector );\\n\\t\\t\\tlight.color = spotLight.color * spotAttenuation;\\n\\t\\t\\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\\n\\t\\t\\tlight.visible = ( light.color != vec3( 0.0 ) );\\n\\t\\t} else {\\n\\t\\t\\tlight.color = vec3( 0.0 );\\n\\t\\t\\tlight.visible = false;\\n\\t\\t}\\n\\t}\\n#endif\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tstruct RectAreaLight {\\n\\t\\tvec3 color;\\n\\t\\tvec3 position;\\n\\t\\tvec3 halfWidth;\\n\\t\\tvec3 halfHeight;\\n\\t};\\n\\tuniform sampler2D ltc_1;\\tuniform sampler2D ltc_2;\\n\\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\\n#endif\\n#if NUM_HEMI_LIGHTS > 0\\n\\tstruct HemisphereLight {\\n\\t\\tvec3 direction;\\n\\t\\tvec3 skyColor;\\n\\t\\tvec3 groundColor;\\n\\t};\\n\\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\\n\\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\\n\\t\\tfloat dotNL = dot( normal, hemiLight.direction );\\n\\t\\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\\n\\t\\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\\n\\t\\treturn irradiance;\\n\\t}\\n#endif\";var ds=\"#if defined( USE_ENVMAP )\\n\\t#ifdef ENVMAP_MODE_REFRACTION\\n\\t\\tuniform float refractionRatio;\\n\\t#endif\\n\\tvec3 getIBLIrradiance( const in vec3 normal ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\\n\\t\\t\\treturn PI * envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\\n\\t\\t#if defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\t\\tvec3 reflectVec;\\n\\t\\t\\t#ifdef ENVMAP_MODE_REFLECTION\\n\\t\\t\\t\\treflectVec = reflect( - viewDir, normal );\\n\\t\\t\\t\\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\\n\\t\\t\\t#else\\n\\t\\t\\t\\treflectVec = refract( - viewDir, normal, refractionRatio );\\n\\t\\t\\t#endif\\n\\t\\t\\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\\n\\t\\t\\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\\n\\t\\t\\treturn envMapColor.rgb * envMapIntensity;\\n\\t\\t#else\\n\\t\\t\\treturn vec3( 0.0 );\\n\\t\\t#endif\\n\\t}\\n#endif\";var ps=\"ToonMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\";var fs=\"varying vec3 vViewPosition;\\nstruct ToonMaterial {\\n\\tvec3 diffuseColor;\\n};\\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Toon\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Toon\\n#define Material_LightProbeLOD( material )\\t(0)\";var ms=\"BlinnPhongMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb;\\nmaterial.specularColor = specular;\\nmaterial.specularShininess = shininess;\\nmaterial.specularStrength = specularStrength;\";var gs=\"varying vec3 vViewPosition;\\nstruct BlinnPhongMaterial {\\n\\tvec3 diffuseColor;\\n\\tvec3 specularColor;\\n\\tfloat specularShininess;\\n\\tfloat specularStrength;\\n};\\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n\\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\\n}\\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_BlinnPhong\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_BlinnPhong\\n#define Material_LightProbeLOD( material )\\t(0)\";var ys=\"PhysicalMaterial material;\\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\\nmaterial.roughness = min( material.roughness, 1.0 );\\n#ifdef IOR\\n\\t#ifdef SPECULAR\\n\\t\\tfloat specularIntensityFactor = specularIntensity;\\n\\t\\tvec3 specularColorFactor = specularColor;\\n\\t\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\t\\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\\n\\t\\t#endif\\n\\t\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\t\\tspecularColorFactor *= specularColorMapTexelToLinear( texture2D( specularColorMap, vUv ) ).rgb;\\n\\t\\t#endif\\n\\t\\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\\n\\t#else\\n\\t\\tfloat specularIntensityFactor = 1.0;\\n\\t\\tvec3 specularColorFactor = vec3( 1.0 );\\n\\t\\tmaterial.specularF90 = 1.0;\\n\\t#endif\\n\\tmaterial.specularColor = mix( min( pow2( ( ior - 1.0 ) / ( ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\\n#else\\n\\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\\n\\tmaterial.specularF90 = 1.0;\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tmaterial.clearcoat = clearcoat;\\n\\tmaterial.clearcoatRoughness = clearcoatRoughness;\\n\\tmaterial.clearcoatF0 = vec3( 0.04 );\\n\\tmaterial.clearcoatF90 = 1.0;\\n\\t#ifdef USE_CLEARCOATMAP\\n\\t\\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\t\\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\\n\\t#endif\\n\\tmaterial.clearcoat = saturate( material.clearcoat );\\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\\n\\tmaterial.clearcoatRoughness += geometryRoughness;\\n\\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\\n#endif\\n#ifdef USE_SHEEN\\n\\tmaterial.sheenColor = sheenColor;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tmaterial.sheenColor *= sheenColorMapTexelToLinear( texture2D( sheenColorMap, vUv ) ).rgb;\\n\\t#endif\\n\\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\\n\\t#endif\\n#endif\";var vs=\"struct PhysicalMaterial {\\n\\tvec3 diffuseColor;\\n\\tfloat roughness;\\n\\tvec3 specularColor;\\n\\tfloat specularF90;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat clearcoat;\\n\\t\\tfloat clearcoatRoughness;\\n\\t\\tvec3 clearcoatF0;\\n\\t\\tfloat clearcoatF90;\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tvec3 sheenColor;\\n\\t\\tfloat sheenRoughness;\\n\\t#endif\\n};\\nvec3 clearcoatSpecular = vec3( 0.0 );\\nvec3 sheenSpecular = vec3( 0.0 );\\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tfloat r2 = roughness * roughness;\\n\\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\\n\\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\\n\\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\\n\\treturn saturate( DG * RECIPROCAL_PI );\\n}\\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\\n\\tfloat dotNV = saturate( dot( normal, viewDir ) );\\n\\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\\n\\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\\n\\tvec4 r = roughness * c0 + c1;\\n\\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\\n\\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\\n\\treturn fab;\\n}\\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\treturn specularColor * fab.x + specularF90 * fab.y;\\n}\\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\\n\\tvec2 fab = DFGApprox( normal, viewDir, roughness );\\n\\tvec3 FssEss = specularColor * fab.x + specularF90 * fab.y;\\n\\tfloat Ess = fab.x + fab.y;\\n\\tfloat Ems = 1.0 - Ess;\\n\\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\\n\\tsingleScatter += FssEss;\\n\\tmultiScatter += Fms * Ems;\\n}\\n#if NUM_RECT_AREA_LIGHTS > 0\\n\\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\t\\tvec3 normal = geometry.normal;\\n\\t\\tvec3 viewDir = geometry.viewDir;\\n\\t\\tvec3 position = geometry.position;\\n\\t\\tvec3 lightPos = rectAreaLight.position;\\n\\t\\tvec3 halfWidth = rectAreaLight.halfWidth;\\n\\t\\tvec3 halfHeight = rectAreaLight.halfHeight;\\n\\t\\tvec3 lightColor = rectAreaLight.color;\\n\\t\\tfloat roughness = material.roughness;\\n\\t\\tvec3 rectCoords[ 4 ];\\n\\t\\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\\t\\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\\n\\t\\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\\n\\t\\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\\n\\t\\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\\n\\t\\tvec4 t1 = texture2D( ltc_1, uv );\\n\\t\\tvec4 t2 = texture2D( ltc_2, uv );\\n\\t\\tmat3 mInv = mat3(\\n\\t\\t\\tvec3( t1.x, 0, t1.y ),\\n\\t\\t\\tvec3(    0, 1,    0 ),\\n\\t\\t\\tvec3( t1.z, 0, t1.w )\\n\\t\\t);\\n\\t\\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\\n\\t\\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\\n\\t\\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\\n\\t}\\n#endif\\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\\n\\tvec3 irradiance = dotNL * directLight.color;\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\\n\\t\\tvec3 ccIrradiance = dotNLcc * directLight.color;\\n\\t\\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\\n\\t#endif\\n\\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\\n\\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\\n\\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\\n}\\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\\n\\t#endif\\n\\t#ifdef USE_SHEEN\\n\\t\\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\\n\\t#endif\\n\\tvec3 singleScattering = vec3( 0.0 );\\n\\tvec3 multiScattering = vec3( 0.0 );\\n\\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\\n\\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\\n\\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\\n\\treflectedLight.indirectSpecular += radiance * singleScattering;\\n\\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\\n\\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\\n}\\n#define RE_Direct\\t\\t\\t\\tRE_Direct_Physical\\n#define RE_Direct_RectArea\\t\\tRE_Direct_RectArea_Physical\\n#define RE_IndirectDiffuse\\t\\tRE_IndirectDiffuse_Physical\\n#define RE_IndirectSpecular\\t\\tRE_IndirectSpecular_Physical\\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\\n\\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\\n}\";var xs=\"\\nGeometricContext geometry;\\ngeometry.position = - vViewPosition;\\ngeometry.normal = normal;\\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\\n#ifdef USE_CLEARCOAT\\n\\tgeometry.clearcoatNormal = clearcoatNormal;\\n#endif\\nIncidentLight directLight;\\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tPointLight pointLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\\n\\t\\tpointLight = pointLights[ i ];\\n\\t\\tgetPointLightInfo( pointLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\\n\\t\\tpointLightShadow = pointLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tSpotLight spotLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\\n\\t\\tspotLight = spotLights[ i ];\\n\\t\\tgetSpotLightInfo( spotLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\\n\\t\\tspotLightShadow = spotLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\\n\\tDirectionalLight directionalLight;\\n\\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLightShadow;\\n\\t#endif\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLights[ i ];\\n\\t\\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\\n\\t\\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\\n\\t\\tdirectionalLightShadow = directionalLightShadows[ i ];\\n\\t\\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t\\t#endif\\n\\t\\tRE_Direct( directLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\\n\\tRectAreaLight rectAreaLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\\n\\t\\trectAreaLight = rectAreaLights[ i ];\\n\\t\\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\\n\\t}\\n\\t#pragma unroll_loop_end\\n#endif\\n#if defined( RE_IndirectDiffuse )\\n\\tvec3 iblIrradiance = vec3( 0.0 );\\n\\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\\n\\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\\n\\t#if ( NUM_HEMI_LIGHTS > 0 )\\n\\t\\t#pragma unroll_loop_start\\n\\t\\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\\n\\t\\t\\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\\n\\t\\t}\\n\\t\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tvec3 radiance = vec3( 0.0 );\\n\\tvec3 clearcoatRadiance = vec3( 0.0 );\\n#endif\";var bs=\"#if defined( RE_IndirectDiffuse )\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\\n\\t\\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t\\t#ifndef PHYSICALLY_CORRECT_LIGHTS\\n\\t\\t\\tlightMapIrradiance *= PI;\\n\\t\\t#endif\\n\\t\\tirradiance += lightMapIrradiance;\\n\\t#endif\\n\\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\\n\\t\\tiblIrradiance += getIBLIrradiance( geometry.normal );\\n\\t#endif\\n#endif\\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\\n\\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\\n\\t#endif\\n#endif\";var _s=\"#if defined( RE_IndirectDiffuse )\\n\\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\\n#endif\\n#if defined( RE_IndirectSpecular )\\n\\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\\n#endif\";var Ms=\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\\n#endif\";var ws=\"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\\n\\tuniform float logDepthBufFC;\\n\\tvarying float vFragDepth;\\n\\tvarying float vIsPerspective;\\n#endif\";var Ss=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvarying float vFragDepth;\\n\\t\\tvarying float vIsPerspective;\\n\\t#else\\n\\t\\tuniform float logDepthBufFC;\\n\\t#endif\\n#endif\";var Ts=\"#ifdef USE_LOGDEPTHBUF\\n\\t#ifdef USE_LOGDEPTHBUF_EXT\\n\\t\\tvFragDepth = 1.0 + gl_Position.w;\\n\\t\\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\\n\\t#else\\n\\t\\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\\n\\t\\t\\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\\n\\t\\t\\tgl_Position.z *= gl_Position.w;\\n\\t\\t}\\n\\t#endif\\n#endif\";var Es=\"#ifdef USE_MAP\\n\\tvec4 texelColor = texture2D( map, vUv );\\n\\ttexelColor = mapTexelToLinear( texelColor );\\n\\tdiffuseColor *= texelColor;\\n#endif\";var As=\"#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\";var Ls=\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\\n#endif\\n#ifdef USE_MAP\\n\\tvec4 mapTexel = texture2D( map, uv );\\n\\tdiffuseColor *= mapTexelToLinear( mapTexel );\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\\n#endif\";var Cs=\"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\\n\\tuniform mat3 uvTransform;\\n#endif\\n#ifdef USE_MAP\\n\\tuniform sampler2D map;\\n#endif\\n#ifdef USE_ALPHAMAP\\n\\tuniform sampler2D alphaMap;\\n#endif\";var Rs=\"float metalnessFactor = metalness;\\n#ifdef USE_METALNESSMAP\\n\\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\\n\\tmetalnessFactor *= texelMetalness.b;\\n#endif\";var Ps=\"#ifdef USE_METALNESSMAP\\n\\tuniform sampler2D metalnessMap;\\n#endif\";var Is=\"#ifdef USE_MORPHNORMALS\\n\\tobjectNormal *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t}\\n\\t#else\\n\\t\\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\\n\\t\\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\\n\\t\\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\\n\\t\\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\\n\\t#endif\\n#endif\";var Ds=\"#ifdef USE_MORPHTARGETS\\n\\tuniform float morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\\n\\t\\tuniform sampler2DArray morphTargetsTexture;\\n\\t\\tuniform vec2 morphTargetsTextureSize;\\n\\t\\tvec3 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset, const in int stride ) {\\n\\t\\t\\tfloat texelIndex = float( vertexIndex * stride + offset );\\n\\t\\t\\tfloat y = floor( texelIndex / morphTargetsTextureSize.x );\\n\\t\\t\\tfloat x = texelIndex - y * morphTargetsTextureSize.x;\\n\\t\\t\\tvec3 morphUV = vec3( ( x + 0.5 ) / morphTargetsTextureSize.x, y / morphTargetsTextureSize.y, morphTargetIndex );\\n\\t\\t\\treturn texture( morphTargetsTexture, morphUV ).xyz;\\n\\t\\t}\\n\\t#else\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\tuniform float morphTargetInfluences[ 8 ];\\n\\t\\t#else\\n\\t\\t\\tuniform float morphTargetInfluences[ 4 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var Bs=\"#ifdef USE_MORPHTARGETS\\n\\ttransformed *= morphTargetBaseInfluence;\\n\\t#ifdef MORPHTARGETS_TEXTURE\\n\\t\\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\\n\\t\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 1 ) * morphTargetInfluences[ i ];\\n\\t\\t\\t#else\\n\\t\\t\\t\\tif ( morphTargetInfluences[ i ] > 0.0 ) transformed += getMorph( gl_VertexID, i, 0, 2 ) * morphTargetInfluences[ i ];\\n\\t\\t\\t#endif\\n\\t\\t}\\n\\t#else\\n\\t\\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\\n\\t\\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\\n\\t\\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\\n\\t\\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\\n\\t\\t#ifndef USE_MORPHNORMALS\\n\\t\\t\\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\\n\\t\\t\\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\\n\\t\\t\\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\\n\\t\\t\\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\\n\\t\\t#endif\\n\\t#endif\\n#endif\";var Vs=\"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\\n#ifdef FLAT_SHADED\\n\\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\\n\\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\\n\\tvec3 normal = normalize( cross( fdx, fdy ) );\\n#else\\n\\tvec3 normal = normalize( vNormal );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\t#ifdef USE_TANGENT\\n\\t\\tvec3 tangent = normalize( vTangent );\\n\\t\\tvec3 bitangent = normalize( vBitangent );\\n\\t\\t#ifdef DOUBLE_SIDED\\n\\t\\t\\ttangent = tangent * faceDirection;\\n\\t\\t\\tbitangent = bitangent * faceDirection;\\n\\t\\t#endif\\n\\t\\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\\n\\t\\t\\tmat3 vTBN = mat3( tangent, bitangent, normal );\\n\\t\\t#endif\\n\\t#endif\\n#endif\\nvec3 geometryNormal = normal;\";var Ns=\"#ifdef OBJECTSPACE_NORMALMAP\\n\\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\t#ifdef FLIP_SIDED\\n\\t\\tnormal = - normal;\\n\\t#endif\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\tnormal = normal * faceDirection;\\n\\t#endif\\n\\tnormal = normalize( normalMatrix * normal );\\n#elif defined( TANGENTSPACE_NORMALMAP )\\n\\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tmapN.xy *= normalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tnormal = normalize( vTBN * mapN );\\n\\t#else\\n\\t\\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\\n\\t#endif\\n#elif defined( USE_BUMPMAP )\\n\\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\\n#endif\";var Us=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var zs=\"#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n\\t#ifdef USE_TANGENT\\n\\t\\tvarying vec3 vTangent;\\n\\t\\tvarying vec3 vBitangent;\\n\\t#endif\\n#endif\";var Gs=\"#ifndef FLAT_SHADED\\n\\tvNormal = normalize( transformedNormal );\\n\\t#ifdef USE_TANGENT\\n\\t\\tvTangent = normalize( transformedTangent );\\n\\t\\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\\n\\t#endif\\n#endif\";var Fs=\"#ifdef USE_NORMALMAP\\n\\tuniform sampler2D normalMap;\\n\\tuniform vec2 normalScale;\\n#endif\\n#ifdef OBJECTSPACE_NORMALMAP\\n\\tuniform mat3 normalMatrix;\\n#endif\\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\\n\\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\\n\\t\\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\\n\\t\\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\\n\\t\\tvec2 st0 = dFdx( vUv.st );\\n\\t\\tvec2 st1 = dFdy( vUv.st );\\n\\t\\tvec3 N = surf_norm;\\n\\t\\tvec3 q1perp = cross( q1, N );\\n\\t\\tvec3 q0perp = cross( N, q0 );\\n\\t\\tvec3 T = q1perp * st0.x + q0perp * st1.x;\\n\\t\\tvec3 B = q1perp * st0.y + q0perp * st1.y;\\n\\t\\tfloat det = max( dot( T, T ), dot( B, B ) );\\n\\t\\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\\n\\t\\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\\n\\t}\\n#endif\";var Os=\"#ifdef USE_CLEARCOAT\\n\\tvec3 clearcoatNormal = geometryNormal;\\n#endif\";var Hs=\"#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\\n\\tclearcoatMapN.xy *= clearcoatNormalScale;\\n\\t#ifdef USE_TANGENT\\n\\t\\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\\n\\t#else\\n\\t\\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\\n\\t#endif\\n#endif\";var ks=\"#ifdef USE_CLEARCOATMAP\\n\\tuniform sampler2D clearcoatMap;\\n#endif\\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\\n\\tuniform sampler2D clearcoatRoughnessMap;\\n#endif\\n#ifdef USE_CLEARCOAT_NORMALMAP\\n\\tuniform sampler2D clearcoatNormalMap;\\n\\tuniform vec2 clearcoatNormalScale;\\n#endif\";var Ws=\"#ifdef OPAQUE\\ndiffuseColor.a = 1.0;\\n#endif\\n#ifdef USE_TRANSMISSION\\ndiffuseColor.a *= transmissionAlpha + 0.1;\\n#endif\\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );\";var js=\"vec3 packNormalToRGB( const in vec3 normal ) {\\n\\treturn normalize( normal ) * 0.5 + 0.5;\\n}\\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\\n\\treturn 2.0 * rgb.xyz - 1.0;\\n}\\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\\nconst float ShiftRight8 = 1. / 256.;\\nvec4 packDepthToRGBA( const in float v ) {\\n\\tvec4 r = vec4( fract( v * PackFactors ), v );\\n\\tr.yzw -= r.xyz * ShiftRight8;\\treturn r * PackUpscale;\\n}\\nfloat unpackRGBAToDepth( const in vec4 v ) {\\n\\treturn dot( v, UnpackFactors );\\n}\\nvec4 pack2HalfToRGBA( vec2 v ) {\\n\\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\\n\\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\\n}\\nvec2 unpackRGBATo2Half( vec4 v ) {\\n\\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\\n}\\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( viewZ + near ) / ( near - far );\\n}\\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\\n\\treturn linearClipZ * ( near - far ) - near;\\n}\\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\\n\\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\\n}\\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\\n\\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\\n}\";var qs=\"#ifdef PREMULTIPLIED_ALPHA\\n\\tgl_FragColor.rgb *= gl_FragColor.a;\\n#endif\";var Xs=\"vec4 mvPosition = vec4( transformed, 1.0 );\\n#ifdef USE_INSTANCING\\n\\tmvPosition = instanceMatrix * mvPosition;\\n#endif\\nmvPosition = modelViewMatrix * mvPosition;\\ngl_Position = projectionMatrix * mvPosition;\";var Js=\"#ifdef DITHERING\\n\\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\\n#endif\";var Ys=\"#ifdef DITHERING\\n\\tvec3 dithering( vec3 color ) {\\n\\t\\tfloat grid_position = rand( gl_FragCoord.xy );\\n\\t\\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\\n\\t\\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\\n\\t\\treturn color + dither_shift_RGB;\\n\\t}\\n#endif\";var Zs=\"float roughnessFactor = roughness;\\n#ifdef USE_ROUGHNESSMAP\\n\\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\\n\\troughnessFactor *= texelRoughness.g;\\n#endif\";var Qs=\"#ifdef USE_ROUGHNESSMAP\\n\\tuniform sampler2D roughnessMap;\\n#endif\";var Ks=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\\n\\t\\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\\n\\t}\\n\\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\\n\\t\\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\\n\\t}\\n\\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\\n\\t\\tfloat occlusion = 1.0;\\n\\t\\tvec2 distribution = texture2DDistribution( shadow, uv );\\n\\t\\tfloat hard_shadow = step( compare , distribution.x );\\n\\t\\tif (hard_shadow != 1.0 ) {\\n\\t\\t\\tfloat distance = compare - distribution.x ;\\n\\t\\t\\tfloat variance = max( 0.00000, distribution.y * distribution.y );\\n\\t\\t\\tfloat softness_probability = variance / (variance + distance * distance );\\t\\t\\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\\t\\t\\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\\n\\t\\t}\\n\\t\\treturn occlusion;\\n\\t}\\n\\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\\n\\t\\tfloat shadow = 1.0;\\n\\t\\tshadowCoord.xyz /= shadowCoord.w;\\n\\t\\tshadowCoord.z += shadowBias;\\n\\t\\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\\n\\t\\tbool inFrustum = all( inFrustumVec );\\n\\t\\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\\n\\t\\tbool frustumTest = all( frustumTestVec );\\n\\t\\tif ( frustumTest ) {\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx0 = - texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy0 = - texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx1 = + texelSize.x * shadowRadius;\\n\\t\\t\\tfloat dy1 = + texelSize.y * shadowRadius;\\n\\t\\t\\tfloat dx2 = dx0 / 2.0;\\n\\t\\t\\tfloat dy2 = dy0 / 2.0;\\n\\t\\t\\tfloat dx3 = dx1 / 2.0;\\n\\t\\t\\tfloat dy3 = dy1 / 2.0;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\\n\\t\\t\\t) * ( 1.0 / 17.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\\n\\t\\t\\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\\n\\t\\t\\tfloat dx = texelSize.x;\\n\\t\\t\\tfloat dy = texelSize.y;\\n\\t\\t\\tvec2 uv = shadowCoord.xy;\\n\\t\\t\\tvec2 f = fract( uv * shadowMapSize + 0.5 );\\n\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\tshadow = (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.x ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t f.y ) +\\n\\t\\t\\t\\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \\n\\t\\t\\t\\t\\t\\t  texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\\n\\t\\t\\t\\t\\t\\t  f.x ),\\n\\t\\t\\t\\t\\t f.y )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#elif defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#else\\n\\t\\t\\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\\n\\t\\t#endif\\n\\t\\t}\\n\\t\\treturn shadow;\\n\\t}\\n\\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\\n\\t\\tvec3 absV = abs( v );\\n\\t\\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\\n\\t\\tabsV *= scaleToCube;\\n\\t\\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\\n\\t\\tvec2 planar = v.xy;\\n\\t\\tfloat almostATexel = 1.5 * texelSizeY;\\n\\t\\tfloat almostOne = 1.0 - almostATexel;\\n\\t\\tif ( absV.z >= almostOne ) {\\n\\t\\t\\tif ( v.z > 0.0 )\\n\\t\\t\\t\\tplanar.x = 4.0 - v.x;\\n\\t\\t} else if ( absV.x >= almostOne ) {\\n\\t\\t\\tfloat signX = sign( v.x );\\n\\t\\t\\tplanar.x = v.z * signX + 2.0 * signX;\\n\\t\\t} else if ( absV.y >= almostOne ) {\\n\\t\\t\\tfloat signY = sign( v.y );\\n\\t\\t\\tplanar.x = v.x + 2.0 * signY + 2.0;\\n\\t\\t\\tplanar.y = v.z * signY - 2.0;\\n\\t\\t}\\n\\t\\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\\n\\t}\\n\\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\\n\\t\\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\\n\\t\\tvec3 lightToPosition = shadowCoord.xyz;\\n\\t\\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\\t\\tdp += shadowBias;\\n\\t\\tvec3 bd3D = normalize( lightToPosition );\\n\\t\\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\\n\\t\\t\\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\\n\\t\\t\\treturn (\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\\n\\t\\t\\t\\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\\n\\t\\t\\t) * ( 1.0 / 9.0 );\\n\\t\\t#else\\n\\t\\t\\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\\n\\t\\t#endif\\n\\t}\\n#endif\";var $s=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t\\tstruct DirectionalLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t\\tstruct SpotLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t};\\n\\t\\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t\\tstruct PointLightShadow {\\n\\t\\t\\tfloat shadowBias;\\n\\t\\t\\tfloat shadowNormalBias;\\n\\t\\t\\tfloat shadowRadius;\\n\\t\\t\\tvec2 shadowMapSize;\\n\\t\\t\\tfloat shadowCameraNear;\\n\\t\\t\\tfloat shadowCameraFar;\\n\\t\\t};\\n\\t\\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\\n\\t#endif\\n#endif\";var ea=\"#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\\n\\t\\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\\n\\t\\tvec4 shadowWorldPosition;\\n\\t#endif\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\\n\\t\\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n#endif\";var ta=\"float getShadowMask() {\\n\\tfloat shadow = 1.0;\\n\\t#ifdef USE_SHADOWMAP\\n\\t#if NUM_DIR_LIGHT_SHADOWS > 0\\n\\tDirectionalLightShadow directionalLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tdirectionalLight = directionalLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_SPOT_LIGHT_SHADOWS > 0\\n\\tSpotLightShadow spotLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tspotLight = spotLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#if NUM_POINT_LIGHT_SHADOWS > 0\\n\\tPointLightShadow pointLight;\\n\\t#pragma unroll_loop_start\\n\\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\\n\\t\\tpointLight = pointLightShadows[ i ];\\n\\t\\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\\n\\t}\\n\\t#pragma unroll_loop_end\\n\\t#endif\\n\\t#endif\\n\\treturn shadow;\\n}\";var na=\"#ifdef USE_SKINNING\\n\\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\\n\\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\\n\\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\\n\\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\\n#endif\";var ra=\"#ifdef USE_SKINNING\\n\\tuniform mat4 bindMatrix;\\n\\tuniform mat4 bindMatrixInverse;\\n\\t#ifdef BONE_TEXTURE\\n\\t\\tuniform highp sampler2D boneTexture;\\n\\t\\tuniform int boneTextureSize;\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tfloat j = i * 4.0;\\n\\t\\t\\tfloat x = mod( j, float( boneTextureSize ) );\\n\\t\\t\\tfloat y = floor( j / float( boneTextureSize ) );\\n\\t\\t\\tfloat dx = 1.0 / float( boneTextureSize );\\n\\t\\t\\tfloat dy = 1.0 / float( boneTextureSize );\\n\\t\\t\\ty = dy * ( y + 0.5 );\\n\\t\\t\\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\\n\\t\\t\\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\\n\\t\\t\\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\\n\\t\\t\\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\\n\\t\\t\\tmat4 bone = mat4( v1, v2, v3, v4 );\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#else\\n\\t\\tuniform mat4 boneMatrices[ MAX_BONES ];\\n\\t\\tmat4 getBoneMatrix( const in float i ) {\\n\\t\\t\\tmat4 bone = boneMatrices[ int(i) ];\\n\\t\\t\\treturn bone;\\n\\t\\t}\\n\\t#endif\\n#endif\";var ia=\"#ifdef USE_SKINNING\\n\\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\\n\\tvec4 skinned = vec4( 0.0 );\\n\\tskinned += boneMatX * skinVertex * skinWeight.x;\\n\\tskinned += boneMatY * skinVertex * skinWeight.y;\\n\\tskinned += boneMatZ * skinVertex * skinWeight.z;\\n\\tskinned += boneMatW * skinVertex * skinWeight.w;\\n\\ttransformed = ( bindMatrixInverse * skinned ).xyz;\\n#endif\";var sa=\"#ifdef USE_SKINNING\\n\\tmat4 skinMatrix = mat4( 0.0 );\\n\\tskinMatrix += skinWeight.x * boneMatX;\\n\\tskinMatrix += skinWeight.y * boneMatY;\\n\\tskinMatrix += skinWeight.z * boneMatZ;\\n\\tskinMatrix += skinWeight.w * boneMatW;\\n\\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\\n\\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\\n\\t#ifdef USE_TANGENT\\n\\t\\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\\n\\t#endif\\n#endif\";var aa=\"float specularStrength;\\n#ifdef USE_SPECULARMAP\\n\\tvec4 texelSpecular = texture2D( specularMap, vUv );\\n\\tspecularStrength = texelSpecular.r;\\n#else\\n\\tspecularStrength = 1.0;\\n#endif\";var oa=\"#ifdef USE_SPECULARMAP\\n\\tuniform sampler2D specularMap;\\n#endif\";var la=\"#if defined( TONE_MAPPING )\\n\\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\\n#endif\";var ca=\"#ifndef saturate\\n#define saturate( a ) clamp( a, 0.0, 1.0 )\\n#endif\\nuniform float toneMappingExposure;\\nvec3 LinearToneMapping( vec3 color ) {\\n\\treturn toneMappingExposure * color;\\n}\\nvec3 ReinhardToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\treturn saturate( color / ( vec3( 1.0 ) + color ) );\\n}\\nvec3 OptimizedCineonToneMapping( vec3 color ) {\\n\\tcolor *= toneMappingExposure;\\n\\tcolor = max( vec3( 0.0 ), color - 0.004 );\\n\\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\\n}\\nvec3 RRTAndODTFit( vec3 v ) {\\n\\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\\n\\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\\n\\treturn a / b;\\n}\\nvec3 ACESFilmicToneMapping( vec3 color ) {\\n\\tconst mat3 ACESInputMat = mat3(\\n\\t\\tvec3( 0.59719, 0.07600, 0.02840 ),\\t\\tvec3( 0.35458, 0.90834, 0.13383 ),\\n\\t\\tvec3( 0.04823, 0.01566, 0.83777 )\\n\\t);\\n\\tconst mat3 ACESOutputMat = mat3(\\n\\t\\tvec3(  1.60475, -0.10208, -0.00327 ),\\t\\tvec3( -0.53108,  1.10813, -0.07276 ),\\n\\t\\tvec3( -0.07367, -0.00605,  1.07602 )\\n\\t);\\n\\tcolor *= toneMappingExposure / 0.6;\\n\\tcolor = ACESInputMat * color;\\n\\tcolor = RRTAndODTFit( color );\\n\\tcolor = ACESOutputMat * color;\\n\\treturn saturate( color );\\n}\\nvec3 CustomToneMapping( vec3 color ) { return color; }\";var ua=\"#ifdef USE_TRANSMISSION\\n\\tfloat transmissionAlpha = 1.0;\\n\\tfloat transmissionFactor = transmission;\\n\\tfloat thicknessFactor = thickness;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\\n\\t#endif\\n\\tvec3 pos = vWorldPosition;\\n\\tvec3 v = normalize( cameraPosition - pos );\\n\\tvec3 n = inverseTransformDirection( normal, viewMatrix );\\n\\tvec4 transmission = getIBLVolumeRefraction(\\n\\t\\tn, v, roughnessFactor, material.diffuseColor, material.specularColor, material.specularF90,\\n\\t\\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\\n\\t\\tattenuationColor, attenuationDistance );\\n\\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, transmissionFactor );\\n\\ttransmissionAlpha = mix( transmissionAlpha, transmission.a, transmissionFactor );\\n#endif\";var ha=\"#ifdef USE_TRANSMISSION\\n\\tuniform float transmission;\\n\\tuniform float thickness;\\n\\tuniform float attenuationDistance;\\n\\tuniform vec3 attenuationColor;\\n\\t#ifdef USE_TRANSMISSIONMAP\\n\\t\\tuniform sampler2D transmissionMap;\\n\\t#endif\\n\\t#ifdef USE_THICKNESSMAP\\n\\t\\tuniform sampler2D thicknessMap;\\n\\t#endif\\n\\tuniform vec2 transmissionSamplerSize;\\n\\tuniform sampler2D transmissionSamplerMap;\\n\\tuniform mat4 modelMatrix;\\n\\tuniform mat4 projectionMatrix;\\n\\tvarying vec3 vWorldPosition;\\n\\tvec3 getVolumeTransmissionRay( vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix ) {\\n\\t\\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\\n\\t\\tvec3 modelScale;\\n\\t\\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\\n\\t\\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\\n\\t\\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\\n\\t\\treturn normalize( refractionVector ) * thickness * modelScale;\\n\\t}\\n\\tfloat applyIorToRoughness( float roughness, float ior ) {\\n\\t\\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\\n\\t}\\n\\tvec4 getTransmissionSample( vec2 fragCoord, float roughness, float ior ) {\\n\\t\\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\\n\\t\\t#ifdef TEXTURE_LOD_EXT\\n\\t\\t\\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#else\\n\\t\\t\\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\\n\\t\\t#endif\\n\\t}\\n\\tvec3 applyVolumeAttenuation( vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance ) {\\n\\t\\tif ( attenuationDistance == 0.0 ) {\\n\\t\\t\\treturn radiance;\\n\\t\\t} else {\\n\\t\\t\\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\\n\\t\\t\\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\\t\\t\\treturn transmittance * radiance;\\n\\t\\t}\\n\\t}\\n\\tvec4 getIBLVolumeRefraction( vec3 n, vec3 v, float roughness, vec3 diffuseColor, vec3 specularColor, float specularF90,\\n\\t\\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\\n\\t\\tvec3 attenuationColor, float attenuationDistance ) {\\n\\t\\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\\n\\t\\tvec3 refractedRayExit = position + transmissionRay;\\n\\t\\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\\n\\t\\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\\n\\t\\trefractionCoords += 1.0;\\n\\t\\trefractionCoords /= 2.0;\\n\\t\\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\\n\\t\\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\\n\\t\\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\\n\\t\\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\\n\\t}\\n#endif\";var da=\"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\\n\\tvarying vec2 vUv;\\n#endif\";var pa=\"#ifdef USE_UV\\n\\t#ifdef UVS_VERTEX_ONLY\\n\\t\\tvec2 vUv;\\n\\t#else\\n\\t\\tvarying vec2 vUv;\\n\\t#endif\\n\\tuniform mat3 uvTransform;\\n#endif\";var fa=\"#ifdef USE_UV\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n#endif\";var ma=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvarying vec2 vUv2;\\n#endif\";var ga=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tattribute vec2 uv2;\\n\\tvarying vec2 vUv2;\\n\\tuniform mat3 uv2Transform;\\n#endif\";var ya=\"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\\n\\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\\n#endif\";var va=\"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\\n\\tvec4 worldPosition = vec4( transformed, 1.0 );\\n\\t#ifdef USE_INSTANCING\\n\\t\\tworldPosition = instanceMatrix * worldPosition;\\n\\t#endif\\n\\tworldPosition = modelMatrix * worldPosition;\\n#endif\";const xa=\"varying vec2 vUv;\\nuniform mat3 uvTransform;\\nvoid main() {\\n\\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\\n\\tgl_Position = vec4( position.xy, 1.0, 1.0 );\\n}\";const ba=\"uniform sampler2D t2D;\\nvarying vec2 vUv;\\nvoid main() {\\n\\tvec4 texColor = texture2D( t2D, vUv );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const _a=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n\\tgl_Position.z = gl_Position.w;\\n}\";const Ma=\"#include <envmap_common_pars_fragment>\\nuniform float opacity;\\nvarying vec3 vWorldDirection;\\n#include <cube_uv_reflection_fragment>\\nvoid main() {\\n\\tvec3 vReflect = vWorldDirection;\\n\\t#include <envmap_fragment>\\n\\tgl_FragColor = envColor;\\n\\tgl_FragColor.a *= opacity;\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const wa=\"#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvHighPrecisionZW = gl_Position.zw;\\n}\";const Sa=\"#if DEPTH_PACKING == 3200\\n\\tuniform float opacity;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvarying vec2 vHighPrecisionZW;\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tdiffuseColor.a = opacity;\\n\\t#endif\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\\n\\t#if DEPTH_PACKING == 3200\\n\\t\\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\\n\\t#elif DEPTH_PACKING == 3201\\n\\t\\tgl_FragColor = packDepthToRGBA( fragCoordZ );\\n\\t#endif\\n}\";const Ta=\"#define DISTANCE\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#ifdef USE_DISPLACEMENTMAP\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvWorldPosition = worldPosition.xyz;\\n}\";const Ea=\"#define DISTANCE\\nuniform vec3 referencePosition;\\nuniform float nearDistance;\\nuniform float farDistance;\\nvarying vec3 vWorldPosition;\\n#include <common>\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main () {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( 1.0 );\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\tfloat dist = length( vWorldPosition - referencePosition );\\n\\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\\n\\tdist = saturate( dist );\\n\\tgl_FragColor = packDepthToRGBA( dist );\\n}\";const Aa=\"varying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvWorldDirection = transformDirection( position, modelMatrix );\\n\\t#include <begin_vertex>\\n\\t#include <project_vertex>\\n}\";const La=\"uniform sampler2D tEquirect;\\nvarying vec3 vWorldDirection;\\n#include <common>\\nvoid main() {\\n\\tvec3 direction = normalize( vWorldDirection );\\n\\tvec2 sampleUV = equirectUv( direction );\\n\\tvec4 texColor = texture2D( tEquirect, sampleUV );\\n\\tgl_FragColor = mapTexelToLinear( texColor );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n}\";const Ca=\"uniform float scale;\\nattribute float lineDistance;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\tvLineDistance = scale * lineDistance;\\n\\t#include <color_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ra=\"uniform vec3 diffuse;\\nuniform float opacity;\\nuniform float dashSize;\\nuniform float totalSize;\\nvarying float vLineDistance;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\\n\\t\\tdiscard;\\n\\t}\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <color_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const Pa=\"#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\\n\\t\\t#include <beginnormal_vertex>\\n\\t\\t#include <morphnormal_vertex>\\n\\t\\t#include <skinbase_vertex>\\n\\t\\t#include <skinnormal_vertex>\\n\\t\\t#include <defaultnormal_vertex>\\n\\t#endif\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ia=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#ifndef FLAT_SHADED\\n\\tvarying vec3 vNormal;\\n#endif\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <fog_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\t#ifdef USE_LIGHTMAP\\n\\t\\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\\n\\t\\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vec3( 1.0 );\\n\\t#endif\\n\\t#include <aomap_fragment>\\n\\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\\n\\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Da=\"#define LAMBERT\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <lights_lambert_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ba=\"uniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\nvarying vec3 vLightFront;\\nvarying vec3 vIndirectFront;\\n#ifdef DOUBLE_SIDED\\n\\tvarying vec3 vLightBack;\\n\\tvarying vec3 vIndirectBack;\\n#endif\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <fog_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <emissivemap_fragment>\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\\n\\t#else\\n\\t\\treflectedLight.indirectDiffuse += vIndirectFront;\\n\\t#endif\\n\\t#include <lightmap_fragment>\\n\\treflectedLight.indirectDiffuse *= BRDF_Lambert( diffuseColor.rgb );\\n\\t#ifdef DOUBLE_SIDED\\n\\t\\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\\n\\t#else\\n\\t\\treflectedLight.directDiffuse = vLightFront;\\n\\t#endif\\n\\treflectedLight.directDiffuse *= BRDF_Lambert( diffuseColor.rgb ) * getShadowMask();\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Va=\"#define MATCAP\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <color_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n}\";const Na=\"#define MATCAP\\nuniform vec3 diffuse;\\nuniform float opacity;\\nuniform sampler2D matcap;\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tvec3 viewDir = normalize( vViewPosition );\\n\\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\\n\\tvec3 y = cross( viewDir, x );\\n\\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\\n\\t#ifdef USE_MATCAP\\n\\t\\tvec4 matcapColor = texture2D( matcap, uv );\\n\\t\\tmatcapColor = matcapTexelToLinear( matcapColor );\\n\\t#else\\n\\t\\tvec4 matcapColor = vec4( 1.0 );\\n\\t#endif\\n\\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Ua=\"#define NORMAL\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvViewPosition = - mvPosition.xyz;\\n#endif\\n}\";const za=\"#define NORMAL\\nuniform float opacity;\\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\\n\\tvarying vec3 vViewPosition;\\n#endif\\n#include <packing>\\n#include <uv_pars_fragment>\\n#include <normal_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\\n}\";const Ga=\"#define PHONG\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <envmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <envmap_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Fa=\"#define PHONG\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform vec3 specular;\\nuniform float shininess;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_pars_fragment>\\n#include <cube_uv_reflection_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_phong_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <specularmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <specularmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_phong_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\\n\\t#include <envmap_fragment>\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const Oa=\"#define STANDARD\\nvarying vec3 vViewPosition;\\n#ifdef USE_TRANSMISSION\\n\\tvarying vec3 vWorldPosition;\\n#endif\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n#ifdef USE_TRANSMISSION\\n\\tvWorldPosition = worldPosition.xyz;\\n#endif\\n}\";const Ha=\"#define STANDARD\\n#ifdef PHYSICAL\\n\\t#define IOR\\n\\t#define SPECULAR\\n#endif\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float roughness;\\nuniform float metalness;\\nuniform float opacity;\\n#ifdef IOR\\n\\tuniform float ior;\\n#endif\\n#ifdef SPECULAR\\n\\tuniform float specularIntensity;\\n\\tuniform vec3 specularColor;\\n\\t#ifdef USE_SPECULARINTENSITYMAP\\n\\t\\tuniform sampler2D specularIntensityMap;\\n\\t#endif\\n\\t#ifdef USE_SPECULARCOLORMAP\\n\\t\\tuniform sampler2D specularColorMap;\\n\\t#endif\\n#endif\\n#ifdef USE_CLEARCOAT\\n\\tuniform float clearcoat;\\n\\tuniform float clearcoatRoughness;\\n#endif\\n#ifdef USE_SHEEN\\n\\tuniform vec3 sheenColor;\\n\\tuniform float sheenRoughness;\\n\\t#ifdef USE_SHEENCOLORMAP\\n\\t\\tuniform sampler2D sheenColorMap;\\n\\t#endif\\n\\t#ifdef USE_SHEENROUGHNESSMAP\\n\\t\\tuniform sampler2D sheenRoughnessMap;\\n\\t#endif\\n#endif\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <bsdfs>\\n#include <cube_uv_reflection_fragment>\\n#include <envmap_common_pars_fragment>\\n#include <envmap_physical_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_physical_pars_fragment>\\n#include <transmission_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <clearcoat_pars_fragment>\\n#include <roughnessmap_pars_fragment>\\n#include <metalnessmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <roughnessmap_fragment>\\n\\t#include <metalnessmap_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <clearcoat_normal_fragment_begin>\\n\\t#include <clearcoat_normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_physical_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\\n\\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\\n\\t#include <transmission_fragment>\\n\\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\\n\\t#ifdef USE_SHEEN\\n\\t\\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\\n\\t\\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\\n\\t#endif\\n\\t#ifdef USE_CLEARCOAT\\n\\t\\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\\n\\t\\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\\n\\t\\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\\n\\t#endif\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const ka=\"#define TOON\\nvarying vec3 vViewPosition;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <uv2_pars_vertex>\\n#include <displacementmap_pars_vertex>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <normal_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\t#include <uv2_vertex>\\n\\t#include <color_vertex>\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <normal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <displacementmap_vertex>\\n\\t#include <project_vertex>\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\tvViewPosition = - mvPosition.xyz;\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Wa=\"#define TOON\\nuniform vec3 diffuse;\\nuniform vec3 emissive;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <dithering_pars_fragment>\\n#include <color_pars_fragment>\\n#include <uv_pars_fragment>\\n#include <uv2_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <aomap_pars_fragment>\\n#include <lightmap_pars_fragment>\\n#include <emissivemap_pars_fragment>\\n#include <gradientmap_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <normal_pars_fragment>\\n#include <lights_toon_pars_fragment>\\n#include <shadowmap_pars_fragment>\\n#include <bumpmap_pars_fragment>\\n#include <normalmap_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\\n\\tvec3 totalEmissiveRadiance = emissive;\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\t#include <normal_fragment_begin>\\n\\t#include <normal_fragment_maps>\\n\\t#include <emissivemap_fragment>\\n\\t#include <lights_toon_fragment>\\n\\t#include <lights_fragment_begin>\\n\\t#include <lights_fragment_maps>\\n\\t#include <lights_fragment_end>\\n\\t#include <aomap_fragment>\\n\\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n\\t#include <dithering_fragment>\\n}\";const ja=\"uniform float size;\\nuniform float scale;\\n#include <common>\\n#include <color_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <color_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <project_vertex>\\n\\tgl_PointSize = size;\\n\\t#ifdef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\\n\\t#endif\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <fog_vertex>\\n}\";const qa=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <color_pars_fragment>\\n#include <map_particle_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_particle_fragment>\\n\\t#include <color_fragment>\\n\\t#include <alphatest_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n\\t#include <premultiplied_alpha_fragment>\\n}\";const Xa=\"#include <common>\\n#include <fog_pars_vertex>\\n#include <morphtarget_pars_vertex>\\n#include <skinning_pars_vertex>\\n#include <shadowmap_pars_vertex>\\nvoid main() {\\n\\t#include <beginnormal_vertex>\\n\\t#include <morphnormal_vertex>\\n\\t#include <skinbase_vertex>\\n\\t#include <skinnormal_vertex>\\n\\t#include <defaultnormal_vertex>\\n\\t#include <begin_vertex>\\n\\t#include <morphtarget_vertex>\\n\\t#include <skinning_vertex>\\n\\t#include <project_vertex>\\n\\t#include <worldpos_vertex>\\n\\t#include <shadowmap_vertex>\\n\\t#include <fog_vertex>\\n}\";const Ja=\"uniform vec3 color;\\nuniform float opacity;\\n#include <common>\\n#include <packing>\\n#include <fog_pars_fragment>\\n#include <bsdfs>\\n#include <lights_pars_begin>\\n#include <shadowmap_pars_fragment>\\n#include <shadowmask_pars_fragment>\\nvoid main() {\\n\\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n}\";const Ya=\"uniform float rotation;\\nuniform vec2 center;\\n#include <common>\\n#include <uv_pars_vertex>\\n#include <fog_pars_vertex>\\n#include <logdepthbuf_pars_vertex>\\n#include <clipping_planes_pars_vertex>\\nvoid main() {\\n\\t#include <uv_vertex>\\n\\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\tvec2 scale;\\n\\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\\n\\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\\n\\t#ifndef USE_SIZEATTENUATION\\n\\t\\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\\n\\t\\tif ( isPerspective ) scale *= - mvPosition.z;\\n\\t#endif\\n\\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\\n\\tvec2 rotatedPosition;\\n\\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\\n\\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\\n\\tmvPosition.xy += rotatedPosition;\\n\\tgl_Position = projectionMatrix * mvPosition;\\n\\t#include <logdepthbuf_vertex>\\n\\t#include <clipping_planes_vertex>\\n\\t#include <fog_vertex>\\n}\";const Za=\"uniform vec3 diffuse;\\nuniform float opacity;\\n#include <common>\\n#include <uv_pars_fragment>\\n#include <map_pars_fragment>\\n#include <alphamap_pars_fragment>\\n#include <alphatest_pars_fragment>\\n#include <fog_pars_fragment>\\n#include <logdepthbuf_pars_fragment>\\n#include <clipping_planes_pars_fragment>\\nvoid main() {\\n\\t#include <clipping_planes_fragment>\\n\\tvec3 outgoingLight = vec3( 0.0 );\\n\\tvec4 diffuseColor = vec4( diffuse, opacity );\\n\\t#include <logdepthbuf_fragment>\\n\\t#include <map_fragment>\\n\\t#include <alphamap_fragment>\\n\\t#include <alphatest_fragment>\\n\\toutgoingLight = diffuseColor.rgb;\\n\\t#include <output_fragment>\\n\\t#include <tonemapping_fragment>\\n\\t#include <encodings_fragment>\\n\\t#include <fog_fragment>\\n}\";const Qa={alphamap_fragment:Ti,alphamap_pars_fragment:Ei,alphatest_fragment:Ai,alphatest_pars_fragment:Li,aomap_fragment:Ci,aomap_pars_fragment:Ri,begin_vertex:Pi,beginnormal_vertex:Ii,bsdfs:Di,bumpmap_pars_fragment:Bi,clipping_planes_fragment:Vi,clipping_planes_pars_fragment:Ni,clipping_planes_pars_vertex:Ui,clipping_planes_vertex:zi,color_fragment:Gi,color_pars_fragment:Fi,color_pars_vertex:Oi,color_vertex:Hi,common:ki,cube_uv_reflection_fragment:Wi,defaultnormal_vertex:ji,displacementmap_pars_vertex:qi,displacementmap_vertex:Xi,emissivemap_fragment:Ji,emissivemap_pars_fragment:Yi,encodings_fragment:Zi,encodings_pars_fragment:Qi,envmap_fragment:Ki,envmap_common_pars_fragment:$i,envmap_pars_fragment:es,envmap_pars_vertex:ts,envmap_physical_pars_fragment:ds,envmap_vertex:ns,fog_vertex:rs,fog_pars_vertex:is,fog_fragment:ss,fog_pars_fragment:as,gradientmap_pars_fragment:os,lightmap_fragment:ls,lightmap_pars_fragment:cs,lights_lambert_vertex:us,lights_pars_begin:hs,lights_toon_fragment:ps,lights_toon_pars_fragment:fs,lights_phong_fragment:ms,lights_phong_pars_fragment:gs,lights_physical_fragment:ys,lights_physical_pars_fragment:vs,lights_fragment_begin:xs,lights_fragment_maps:bs,lights_fragment_end:_s,logdepthbuf_fragment:Ms,logdepthbuf_pars_fragment:ws,logdepthbuf_pars_vertex:Ss,logdepthbuf_vertex:Ts,map_fragment:Es,map_pars_fragment:As,map_particle_fragment:Ls,map_particle_pars_fragment:Cs,metalnessmap_fragment:Rs,metalnessmap_pars_fragment:Ps,morphnormal_vertex:Is,morphtarget_pars_vertex:Ds,morphtarget_vertex:Bs,normal_fragment_begin:Vs,normal_fragment_maps:Ns,normal_pars_fragment:Us,normal_pars_vertex:zs,normal_vertex:Gs,normalmap_pars_fragment:Fs,clearcoat_normal_fragment_begin:Os,clearcoat_normal_fragment_maps:Hs,clearcoat_pars_fragment:ks,output_fragment:Ws,packing:js,premultiplied_alpha_fragment:qs,project_vertex:Xs,dithering_fragment:Js,dithering_pars_fragment:Ys,roughnessmap_fragment:Zs,roughnessmap_pars_fragment:Qs,shadowmap_pars_fragment:Ks,shadowmap_pars_vertex:$s,shadowmap_vertex:ea,shadowmask_pars_fragment:ta,skinbase_vertex:na,skinning_pars_vertex:ra,skinning_vertex:ia,skinnormal_vertex:sa,specularmap_fragment:aa,specularmap_pars_fragment:oa,tonemapping_fragment:la,tonemapping_pars_fragment:ca,transmission_fragment:ua,transmission_pars_fragment:ha,uv_pars_fragment:da,uv_pars_vertex:pa,uv_vertex:fa,uv2_pars_fragment:ma,uv2_pars_vertex:ga,uv2_vertex:ya,worldpos_vertex:va,background_vert:xa,background_frag:ba,cube_vert:_a,cube_frag:Ma,depth_vert:wa,depth_frag:Sa,distanceRGBA_vert:Ta,distanceRGBA_frag:Ea,equirect_vert:Aa,equirect_frag:La,linedashed_vert:Ca,linedashed_frag:Ra,meshbasic_vert:Pa,meshbasic_frag:Ia,meshlambert_vert:Da,meshlambert_frag:Ba,meshmatcap_vert:Va,meshmatcap_frag:Na,meshnormal_vert:Ua,meshnormal_frag:za,meshphong_vert:Ga,meshphong_frag:Fa,meshphysical_vert:Oa,meshphysical_frag:Ha,meshtoon_vert:ka,meshtoon_frag:Wa,points_vert:ja,points_frag:qa,shadow_vert:Xa,shadow_frag:Ja,sprite_vert:Ya,sprite_frag:Za};const Ka={common:{diffuse:{value:new Color(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Matrix3},uv2Transform:{value:new Matrix3},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Vector2(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Color(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Color(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Matrix3}},sprite:{diffuse:{value:new Color(16777215)},opacity:{value:1},center:{value:new Vector2(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new Matrix3}}};const $a={basic:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.fog]),vertexShader:Qa.meshbasic_vert,fragmentShader:Qa.meshbasic_frag},lambert:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)}}]),vertexShader:Qa.meshlambert_vert,fragmentShader:Qa.meshlambert_frag},phong:{uniforms:mergeUniforms([Ka.common,Ka.specularmap,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)},specular:{value:new Color(1118481)},shininess:{value:30}}]),vertexShader:Qa.meshphong_vert,fragmentShader:Qa.meshphong_frag},standard:{uniforms:mergeUniforms([Ka.common,Ka.envmap,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.roughnessmap,Ka.metalnessmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Qa.meshphysical_vert,fragmentShader:Qa.meshphysical_frag},toon:{uniforms:mergeUniforms([Ka.common,Ka.aomap,Ka.lightmap,Ka.emissivemap,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.gradientmap,Ka.fog,Ka.lights,{emissive:{value:new Color(0)}}]),vertexShader:Qa.meshtoon_vert,fragmentShader:Qa.meshtoon_frag},matcap:{uniforms:mergeUniforms([Ka.common,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,Ka.fog,{matcap:{value:null}}]),vertexShader:Qa.meshmatcap_vert,fragmentShader:Qa.meshmatcap_frag},points:{uniforms:mergeUniforms([Ka.points,Ka.fog]),vertexShader:Qa.points_vert,fragmentShader:Qa.points_frag},dashed:{uniforms:mergeUniforms([Ka.common,Ka.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Qa.linedashed_vert,fragmentShader:Qa.linedashed_frag},depth:{uniforms:mergeUniforms([Ka.common,Ka.displacementmap]),vertexShader:Qa.depth_vert,fragmentShader:Qa.depth_frag},normal:{uniforms:mergeUniforms([Ka.common,Ka.bumpmap,Ka.normalmap,Ka.displacementmap,{opacity:{value:1}}]),vertexShader:Qa.meshnormal_vert,fragmentShader:Qa.meshnormal_frag},sprite:{uniforms:mergeUniforms([Ka.sprite,Ka.fog]),vertexShader:Qa.sprite_vert,fragmentShader:Qa.sprite_frag},background:{uniforms:{uvTransform:{value:new Matrix3},t2D:{value:null}},vertexShader:Qa.background_vert,fragmentShader:Qa.background_frag},cube:{uniforms:mergeUniforms([Ka.envmap,{opacity:{value:1}}]),vertexShader:Qa.cube_vert,fragmentShader:Qa.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Qa.equirect_vert,fragmentShader:Qa.equirect_frag},distanceRGBA:{uniforms:mergeUniforms([Ka.common,Ka.displacementmap,{referencePosition:{value:new Vector3},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Qa.distanceRGBA_vert,fragmentShader:Qa.distanceRGBA_frag},shadow:{uniforms:mergeUniforms([Ka.lights,Ka.fog,{color:{value:new Color(0)},opacity:{value:1}}]),vertexShader:Qa.shadow_vert,fragmentShader:Qa.shadow_frag}};$a.physical={uniforms:mergeUniforms([$a.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Vector2(1,1)},clearcoatNormalMap:{value:null},sheen:{value:0},sheenColor:{value:new Color(0)},sheenColorMap:{value:null},sheenRoughness:{value:0},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Vector2},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new Color(0)},specularIntensity:{value:0},specularIntensityMap:{value:null},specularColor:{value:new Color(1,1,1)},specularColorMap:{value:null}}]),vertexShader:Qa.meshphysical_vert,fragmentShader:Qa.meshphysical_frag};function WebGLBackground(e,t,n,r,i){const s=new Color(0);let a=0;let o;let l;let c=null;let u=0;let p=null;function render(n,i){let f=false;let m=true===i.isScene?i.background:null;m&&m.isTexture&&(m=t.get(m));const g=e.xr;const y=g.getSession&&g.getSession();y&&\"additive\"===y.environmentBlendMode&&(m=null);if(null===m)setClear(s,a);else if(m&&m.isColor){setClear(m,1);f=true}(e.autoClear||f)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil);if(m&&(m.isCubeTexture||m.mapping===oe)){if(void 0===l){l=new Mesh(new BoxGeometry(1,1,1),new ShaderMaterial({name:\"BackgroundCubeMaterial\",uniforms:cloneUniforms($a.cube.uniforms),vertexShader:$a.cube.vertexShader,fragmentShader:$a.cube.fragmentShader,side:d,depthTest:false,depthWrite:false,fog:false}));l.geometry.deleteAttribute(\"normal\");l.geometry.deleteAttribute(\"uv\");l.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)};Object.defineProperty(l.material,\"envMap\",{get:function(){return this.uniforms.envMap.value}});r.update(l)}l.material.uniforms.envMap.value=m;l.material.uniforms.flipEnvMap.value=m.isCubeTexture&&false===m.isRenderTargetTexture?-1:1;if(c!==m||u!==m.version||p!==e.toneMapping){l.material.needsUpdate=true;c=m;u=m.version;p=e.toneMapping}n.unshift(l,l.geometry,l.material,0,0,null)}else if(m&&m.isTexture){if(void 0===o){o=new Mesh(new PlaneGeometry(2,2),new ShaderMaterial({name:\"BackgroundMaterial\",uniforms:cloneUniforms($a.background.uniforms),vertexShader:$a.background.vertexShader,fragmentShader:$a.background.fragmentShader,side:h,depthTest:false,depthWrite:false,fog:false}));o.geometry.deleteAttribute(\"normal\");Object.defineProperty(o.material,\"map\",{get:function(){return this.uniforms.t2D.value}});r.update(o)}o.material.uniforms.t2D.value=m;true===m.matrixAutoUpdate&&m.updateMatrix();o.material.uniforms.uvTransform.value.copy(m.matrix);if(c!==m||u!==m.version||p!==e.toneMapping){o.material.needsUpdate=true;c=m;u=m.version;p=e.toneMapping}n.unshift(o,o.geometry,o.material,0,0,null)}}function setClear(e,t){n.buffers.color.setClear(e.r,e.g,e.b,t,i)}return{getClearColor:function(){return s},setClearColor:function(e,t=1){s.set(e);a=t;setClear(s,a)},getClearAlpha:function(){return a},setClearAlpha:function(e){a=e;setClear(s,a)},render:render}}function WebGLBindingStates(e,t,n,r){const i=e.getParameter(34921);const s=r.isWebGL2?null:t.get(\"OES_vertex_array_object\");const a=r.isWebGL2||null!==s;const o={};const l=createBindingState(null);let c=l;function setup(t,r,i,s,o){let l=false;if(a){const e=getBindingState(s,i,r);if(c!==e){c=e;bindVertexArrayObject(c.object)}l=needsUpdate(s,o);l&&saveCache(s,o)}else{const e=true===r.wireframe;if(c.geometry!==s.id||c.program!==i.id||c.wireframe!==e){c.geometry=s.id;c.program=i.id;c.wireframe=e;l=true}}true===t.isInstancedMesh&&(l=true);null!==o&&n.update(o,34963);if(l){setupVertexAttributes(t,r,i,s);null!==o&&e.bindBuffer(34963,n.get(o).buffer)}}function createVertexArrayObject(){return r.isWebGL2?e.createVertexArray():s.createVertexArrayOES()}function bindVertexArrayObject(t){return r.isWebGL2?e.bindVertexArray(t):s.bindVertexArrayOES(t)}function deleteVertexArrayObject(t){return r.isWebGL2?e.deleteVertexArray(t):s.deleteVertexArrayOES(t)}function getBindingState(e,t,n){const r=true===n.wireframe;let i=o[e.id];if(void 0===i){i={};o[e.id]=i}let s=i[t.id];if(void 0===s){s={};i[t.id]=s}let a=s[r];if(void 0===a){a=createBindingState(createVertexArrayObject());s[r]=a}return a}function createBindingState(e){const t=[];const n=[];const r=[];for(let e=0;e<i;e++){t[e]=0;n[e]=0;r[e]=0}return{geometry:null,program:null,wireframe:false,newAttributes:t,enabledAttributes:n,attributeDivisors:r,object:e,attributes:{},index:null}}function needsUpdate(e,t){const n=c.attributes;const r=e.attributes;let i=0;for(const e in r){const t=n[e];const s=r[e];if(void 0===t)return true;if(t.attribute!==s)return true;if(t.data!==s.data)return true;i++}return c.attributesNum!==i||c.index!==t}function saveCache(e,t){const n={};const r=e.attributes;let i=0;for(const e in r){const t=r[e];const s={};s.attribute=t;t.data&&(s.data=t.data);n[e]=s;i++}c.attributes=n;c.attributesNum=i;c.index=t}function initAttributes(){const e=c.newAttributes;for(let t=0,n=e.length;t<n;t++)e[t]=0}function enableAttribute(e){enableAttributeAndDivisor(e,0)}function enableAttributeAndDivisor(n,i){const s=c.newAttributes;const a=c.enabledAttributes;const o=c.attributeDivisors;s[n]=1;if(0===a[n]){e.enableVertexAttribArray(n);a[n]=1}if(o[n]!==i){const s=r.isWebGL2?e:t.get(\"ANGLE_instanced_arrays\");s[r.isWebGL2?\"vertexAttribDivisor\":\"vertexAttribDivisorANGLE\"](n,i);o[n]=i}}function disableUnusedAttributes(){const t=c.newAttributes;const n=c.enabledAttributes;for(let r=0,i=n.length;r<i;r++)if(n[r]!==t[r]){e.disableVertexAttribArray(r);n[r]=0}}function vertexAttribPointer(t,n,i,s,a,o){true!==r.isWebGL2||5124!==i&&5125!==i?e.vertexAttribPointer(t,n,i,s,a,o):e.vertexAttribIPointer(t,n,i,a,o)}function setupVertexAttributes(i,s,a,o){if(false===r.isWebGL2&&(i.isInstancedMesh||o.isInstancedBufferGeometry)&&null===t.get(\"ANGLE_instanced_arrays\"))return;initAttributes();const l=o.attributes;const c=a.getAttributes();const u=s.defaultAttributeValues;for(const t in c){const r=c[t];if(r.location>=0){let s=l[t];if(void 0===s){\"instanceMatrix\"===t&&i.instanceMatrix&&(s=i.instanceMatrix);\"instanceColor\"===t&&i.instanceColor&&(s=i.instanceColor)}if(void 0!==s){const t=s.normalized;const a=s.itemSize;const l=n.get(s);if(void 0===l)continue;const c=l.buffer;const u=l.type;const h=l.bytesPerElement;if(s.isInterleavedBufferAttribute){const n=s.data;const l=n.stride;const d=s.offset;if(n&&n.isInstancedInterleavedBuffer){for(let e=0;e<r.locationSize;e++)enableAttributeAndDivisor(r.location+e,n.meshPerAttribute);true!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)}else for(let e=0;e<r.locationSize;e++)enableAttribute(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)vertexAttribPointer(r.location+e,a/r.locationSize,u,t,l*h,(d+a/r.locationSize*e)*h)}else{if(s.isInstancedBufferAttribute){for(let e=0;e<r.locationSize;e++)enableAttributeAndDivisor(r.location+e,s.meshPerAttribute);true!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=s.meshPerAttribute*s.count)}else for(let e=0;e<r.locationSize;e++)enableAttribute(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)vertexAttribPointer(r.location+e,a/r.locationSize,u,t,a*h,a/r.locationSize*e*h)}}else if(void 0!==u){const n=u[t];if(void 0!==n)switch(n.length){case 2:e.vertexAttrib2fv(r.location,n);break;case 3:e.vertexAttrib3fv(r.location,n);break;case 4:e.vertexAttrib4fv(r.location,n);break;default:e.vertexAttrib1fv(r.location,n)}}}}disableUnusedAttributes()}function dispose(){reset();for(const e in o){const t=o[e];for(const e in t){const n=t[e];for(const e in n){deleteVertexArrayObject(n[e].object);delete n[e]}delete t[e]}delete o[e]}}function releaseStatesOfGeometry(e){if(void 0===o[e.id])return;const t=o[e.id];for(const e in t){const n=t[e];for(const e in n){deleteVertexArrayObject(n[e].object);delete n[e]}delete t[e]}delete o[e.id]}function releaseStatesOfProgram(e){for(const t in o){const n=o[t];if(void 0===n[e.id])continue;const r=n[e.id];for(const e in r){deleteVertexArrayObject(r[e].object);delete r[e]}delete n[e.id]}}function reset(){resetDefaultState();if(c!==l){c=l;bindVertexArrayObject(c.object)}}function resetDefaultState(){l.geometry=null;l.program=null;l.wireframe=false}return{setup:setup,reset:reset,resetDefaultState:resetDefaultState,dispose:dispose,releaseStatesOfGeometry:releaseStatesOfGeometry,releaseStatesOfProgram:releaseStatesOfProgram,initAttributes:initAttributes,enableAttribute:enableAttribute,disableUnusedAttributes:disableUnusedAttributes}}function WebGLBufferRenderer(e,t,n,r){const i=r.isWebGL2;let s;function setMode(e){s=e}function render(t,r){e.drawArrays(s,t,r);n.update(r,s,1)}function renderInstances(r,a,o){if(0===o)return;let l,c;if(i){l=e;c=\"drawArraysInstanced\"}else{l=t.get(\"ANGLE_instanced_arrays\");c=\"drawArraysInstancedANGLE\";if(null===l){console.error(\"THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");return}}l[c](s,r,a,o);n.update(a,s,o)}this.setMode=setMode;this.render=render;this.renderInstances=renderInstances}function WebGLCapabilities(e,t,n){let r;function getMaxAnisotropy(){if(void 0!==r)return r;if(true===t.has(\"EXT_texture_filter_anisotropic\")){const n=t.get(\"EXT_texture_filter_anisotropic\");r=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r}function getMaxPrecision(t){if(\"highp\"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return\"highp\";t=\"mediump\"}return\"mediump\"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?\"mediump\":\"lowp\"}const i=\"undefined\"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext||\"undefined\"!==typeof WebGL2ComputeRenderingContext&&e instanceof WebGL2ComputeRenderingContext;let s=void 0!==n.precision?n.precision:\"highp\";const a=getMaxPrecision(s);if(a!==s){console.warn(\"THREE.WebGLRenderer:\",s,\"not supported, using\",a,\"instead.\");s=a}const o=i||t.has(\"WEBGL_draw_buffers\");const l=true===n.logarithmicDepthBuffer;const c=e.getParameter(34930);const u=e.getParameter(35660);const h=e.getParameter(3379);const d=e.getParameter(34076);const p=e.getParameter(34921);const f=e.getParameter(36347);const m=e.getParameter(36348);const g=e.getParameter(36349);const y=u>0;const x=i||t.has(\"OES_texture_float\");const b=y&&x;const _=i?e.getParameter(36183):0;return{isWebGL2:i,drawBuffers:o,getMaxAnisotropy:getMaxAnisotropy,getMaxPrecision:getMaxPrecision,precision:s,logarithmicDepthBuffer:l,maxTextures:c,maxVertexTextures:u,maxTextureSize:h,maxCubemapSize:d,maxAttributes:p,maxVertexUniforms:f,maxVaryings:m,maxFragmentUniforms:g,vertexTextures:y,floatFragmentTextures:x,floatVertexTextures:b,maxSamples:_}}function WebGLClipping(e){const t=this;let n=null,r=0,i=false,s=false;const a=new Plane,o=new Matrix3,l={value:null,needsUpdate:false};this.uniform=l;this.numPlanes=0;this.numIntersection=0;this.init=function(e,t,s){const a=0!==e.length||t||0!==r||i;i=t;n=projectPlanes(e,s,0);r=e.length;return a};this.beginShadows=function(){s=true;projectPlanes(null)};this.endShadows=function(){s=false;resetGlobalState()};this.setState=function(t,a,o){const c=t.clippingPlanes,u=t.clipIntersection,h=t.clipShadows;const d=e.get(t);if(!i||null===c||0===c.length||s&&!h)s?projectPlanes(null):resetGlobalState();else{const e=s?0:r,t=4*e;let i=d.clippingState||null;l.value=i;i=projectPlanes(c,a,t,o);for(let e=0;e!==t;++e)i[e]=n[e];d.clippingState=i;this.numIntersection=u?this.numPlanes:0;this.numPlanes+=e}};function resetGlobalState(){if(l.value!==n){l.value=n;l.needsUpdate=r>0}t.numPlanes=r;t.numIntersection=0}function projectPlanes(e,n,r,i){const s=null!==e?e.length:0;let c=null;if(0!==s){c=l.value;if(true!==i||null===c){const t=r+4*s,i=n.matrixWorldInverse;o.getNormalMatrix(i);(null===c||c.length<t)&&(c=new Float32Array(t));for(let t=0,n=r;t!==s;++t,n+=4){a.copy(e[t]).applyMatrix4(i,o);a.normal.toArray(c,n);c[n+3]=a.constant}}l.value=c;l.needsUpdate=true}t.numPlanes=s;t.numIntersection=0;return c}}function WebGLCubeMaps(e){let t=new WeakMap;function mapTextureMapping(e,t){t===se?e.mapping=re:t===ae&&(e.mapping=ie);return e}function get(n){if(n&&n.isTexture&&false===n.isRenderTargetTexture){const r=n.mapping;if(r===se||r===ae){if(t.has(n)){const e=t.get(n).texture;return mapTextureMapping(e,n.mapping)}{const r=n.image;if(r&&r.height>0){const i=e.getRenderTarget();const s=new WebGLCubeRenderTarget(r.height/2);s.fromEquirectangularTexture(e,n);t.set(n,s);e.setRenderTarget(i);n.addEventListener(\"dispose\",onTextureDispose);return mapTextureMapping(s.texture,n.mapping)}return null}}}return n}function onTextureDispose(e){const n=e.target;n.removeEventListener(\"dispose\",onTextureDispose);const r=t.get(n);if(void 0!==r){t.delete(n);r.dispose()}}function dispose(){t=new WeakMap}return{get:get,dispose:dispose}}class OrthographicCamera extends Camera{constructor(e=-1,t=1,n=1,r=-1,i=.1,s=2e3){super();this.type=\"OrthographicCamera\";this.zoom=1;this.view=null;this.left=e;this.right=t;this.top=n;this.bottom=r;this.near=i;this.far=s;this.updateProjectionMatrix()}copy(e,t){super.copy(e,t);this.left=e.left;this.right=e.right;this.top=e.top;this.bottom=e.bottom;this.near=e.near;this.far=e.far;this.zoom=e.zoom;this.view=null===e.view?null:Object.assign({},e.view);return this}setViewOffset(e,t,n,r,i,s){null===this.view&&(this.view={enabled:true,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1});this.view.enabled=true;this.view.fullWidth=e;this.view.fullHeight=t;this.view.offsetX=n;this.view.offsetY=r;this.view.width=i;this.view.height=s;this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=false);this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom);const t=(this.top-this.bottom)/(2*this.zoom);const n=(this.right+this.left)/2;const r=(this.top+this.bottom)/2;let i=n-e;let s=n+e;let a=r+t;let o=r-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom;const t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX;s=i+e*this.view.width;a-=t*this.view.offsetY;o=a-t*this.view.height}this.projectionMatrix.makeOrthographic(i,s,a,o,this.near,this.far);this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);t.object.zoom=this.zoom;t.object.left=this.left;t.object.right=this.right;t.object.top=this.top;t.object.bottom=this.bottom;t.object.near=this.near;t.object.far=this.far;null!==this.view&&(t.object.view=Object.assign({},this.view));return t}}OrthographicCamera.prototype.isOrthographicCamera=true;class RawShaderMaterial extends ShaderMaterial{constructor(e){super(e);this.type=\"RawShaderMaterial\"}}RawShaderMaterial.prototype.isRawShaderMaterial=true;const eo=4;const to=8;const no=Math.pow(2,to);const ro=[.125,.215,.35,.446,.526,.582];const io=to-eo+1+ro.length;const so=20;const ao={[Xt]:0,[Jt]:1};const oo=new OrthographicCamera;const{_lodPlanes:lo,_sizeLods:co,_sigmas:uo}=_createPlanes();const ho=new Color;let po=null;const fo=(1+Math.sqrt(5))/2;const mo=1/fo;const go=[new Vector3(1,1,1),new Vector3(-1,1,1),new Vector3(1,1,-1),new Vector3(-1,1,-1),new Vector3(0,fo,mo),new Vector3(0,fo,-mo),new Vector3(mo,0,fo),new Vector3(-mo,0,fo),new Vector3(fo,mo,0),new Vector3(-fo,mo,0)];class PMREMGenerator{constructor(e){this._renderer=e;this._pingPongRenderTarget=null;this._blurMaterial=_getBlurShader(so);this._equirectShader=null;this._cubemapShader=null;this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,r=100){po=this._renderer.getRenderTarget();const i=this._allocateTargets();this._sceneToCubeUV(e,n,r,i);t>0&&this._blur(i,0,0,t);this._applyPMREM(i);this._cleanup(i);return i}fromEquirectangular(e){return this._fromTexture(e)}fromCubemap(e){return this._fromTexture(e)}compileCubemapShader(){if(null===this._cubemapShader){this._cubemapShader=_getCubemapShader();this._compileMaterial(this._cubemapShader)}}compileEquirectangularShader(){if(null===this._equirectShader){this._equirectShader=_getEquirectShader();this._compileMaterial(this._equirectShader)}}dispose(){this._blurMaterial.dispose();null!==this._cubemapShader&&this._cubemapShader.dispose();null!==this._equirectShader&&this._equirectShader.dispose();for(let e=0;e<lo.length;e++)lo[e].dispose()}_cleanup(e){this._pingPongRenderTarget.dispose();this._renderer.setRenderTarget(po);e.scissorTest=false;_setViewport(e,0,0,e.width,e.height)}_fromTexture(e){po=this._renderer.getRenderTarget();const t=this._allocateTargets(e);this._textureToCubeUV(e,t);this._applyPMREM(t);this._cleanup(t);return t}_allocateTargets(e){const t={magFilter:ye,minFilter:ye,generateMipmaps:false,type:Ce,format:Ne,encoding:Xt,depthBuffer:false};const n=_createRenderTarget(t);n.depthBuffer=!e;this._pingPongRenderTarget=_createRenderTarget(t);return n}_compileMaterial(e){const t=new Mesh(lo[0],e);this._renderer.compile(t,oo)}_sceneToCubeUV(e,t,n,r){const i=90;const s=1;const a=new PerspectiveCamera(i,s,t,n);const o=[1,-1,1,1,1,1];const l=[1,1,1,-1,-1,-1];const c=this._renderer;const u=c.autoClear;const h=c.toneMapping;c.getClearColor(ho);c.toneMapping=Z;c.autoClear=false;const p=new MeshBasicMaterial({name:\"PMREM.Background\",side:d,depthWrite:false,depthTest:false});const f=new Mesh(new BoxGeometry,p);let m=false;const g=e.background;if(g){if(g.isColor){p.color.copy(g);e.background=null;m=true}}else{p.color.copy(ho);m=true}for(let t=0;t<6;t++){const n=t%3;if(0==n){a.up.set(0,o[t],0);a.lookAt(l[t],0,0)}else if(1==n){a.up.set(0,0,o[t]);a.lookAt(0,l[t],0)}else{a.up.set(0,o[t],0);a.lookAt(0,0,l[t])}_setViewport(r,n*no,t>2?no:0,no,no);c.setRenderTarget(r);m&&c.render(f,a);c.render(e,a)}f.geometry.dispose();f.material.dispose();c.toneMapping=h;c.autoClear=u;e.background=g}_setEncoding(e,t){true===this._renderer.capabilities.isWebGL2&&t.format===Ne&&t.type===Me&&t.encoding===Jt?e.value=ao[Xt]:e.value=ao[t.encoding]}_textureToCubeUV(e,t){const n=this._renderer;const r=e.mapping===re||e.mapping===ie;r?null==this._cubemapShader&&(this._cubemapShader=_getCubemapShader()):null==this._equirectShader&&(this._equirectShader=_getEquirectShader());const i=r?this._cubemapShader:this._equirectShader;const s=new Mesh(lo[0],i);const a=i.uniforms;a.envMap.value=e;r||a.texelSize.value.set(1/e.image.width,1/e.image.height);this._setEncoding(a.inputEncoding,e);_setViewport(t,0,0,3*no,2*no);n.setRenderTarget(t);n.render(s,oo)}_applyPMREM(e){const t=this._renderer;const n=t.autoClear;t.autoClear=false;for(let t=1;t<io;t++){const n=Math.sqrt(uo[t]*uo[t]-uo[t-1]*uo[t-1]);const r=go[(t-1)%go.length];this._blur(e,t-1,t,n,r)}t.autoClear=n}_blur(e,t,n,r,i){const s=this._pingPongRenderTarget;this._halfBlur(e,s,t,n,r,\"latitudinal\",i);this._halfBlur(s,e,n,n,r,\"longitudinal\",i)}_halfBlur(e,t,n,r,i,s,a){const o=this._renderer;const l=this._blurMaterial;\"latitudinal\"!==s&&\"longitudinal\"!==s&&console.error(\"blur direction must be either latitudinal or longitudinal!\");const c=3;const u=new Mesh(lo[r],l);const h=l.uniforms;const d=co[n]-1;const p=isFinite(i)?Math.PI/(2*d):2*Math.PI/(2*so-1);const f=i/p;const m=isFinite(i)?1+Math.floor(c*f):so;m>so&&console.warn(`sigmaRadians, ${i}, is too large and will clip, as it requested ${m} samples when the maximum is set to ${so}`);const g=[];let y=0;for(let e=0;e<so;++e){const t=e/f;const n=Math.exp(-t*t/2);g.push(n);0==e?y+=n:e<m&&(y+=2*n)}for(let e=0;e<g.length;e++)g[e]=g[e]/y;h.envMap.value=e.texture;h.samples.value=m;h.weights.value=g;h.latitudinal.value=\"latitudinal\"===s;a&&(h.poleAxis.value=a);h.dTheta.value=p;h.mipInt.value=to-n;const x=co[r];const b=3*Math.max(0,no-2*x);const _=(0===r?0:2*no)+2*x*(r>to-eo?r-to+eo:0);_setViewport(t,b,_,3*x,2*x);o.setRenderTarget(t);o.render(u,oo)}}function _createPlanes(){const e=[];const t=[];const n=[];let r=to;for(let i=0;i<io;i++){const s=Math.pow(2,r);t.push(s);let a=1/s;i>to-eo?a=ro[i-to+eo-1]:0==i&&(a=0);n.push(a);const o=1/(s-1);const l=-o/2;const c=1+o/2;const u=[l,l,c,l,c,c,l,l,c,c,l,c];const h=6;const d=6;const p=3;const f=2;const m=1;const g=new Float32Array(p*d*h);const y=new Float32Array(f*d*h);const x=new Float32Array(m*d*h);for(let e=0;e<h;e++){const t=e%3*2/3-1;const n=e>2?0:-1;const r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];g.set(r,p*d*e);y.set(u,f*d*e);const i=[e,e,e,e,e,e];x.set(i,m*d*e)}const b=new BufferGeometry;b.setAttribute(\"position\",new BufferAttribute(g,p));b.setAttribute(\"uv\",new BufferAttribute(y,f));b.setAttribute(\"faceIndex\",new BufferAttribute(x,m));e.push(b);r>eo&&r--}return{_lodPlanes:e,_sizeLods:t,_sigmas:n}}function _createRenderTarget(e){const t=new WebGLRenderTarget(3*no,3*no,e);t.texture.mapping=oe;t.texture.name=\"PMREM.cubeUv\";t.scissorTest=true;return t}function _setViewport(e,t,n,r,i){e.viewport.set(t,n,r,i);e.scissor.set(t,n,r,i)}function _getBlurShader(e){const t=new Float32Array(e);const n=new Vector3(0,1,0);const r=new RawShaderMaterial({name:\"SphericalGaussianBlur\",defines:{n:e},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:t},latitudinal:{value:false},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:n}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform int samples;\\n\\t\\t\\tuniform float weights[ n ];\\n\\t\\t\\tuniform bool latitudinal;\\n\\t\\t\\tuniform float dTheta;\\n\\t\\t\\tuniform float mipInt;\\n\\t\\t\\tuniform vec3 poleAxis;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\t#define ENVMAP_TYPE_CUBE_UV\\n\\t\\t\\t#include <cube_uv_reflection_fragment>\\n\\n\\t\\t\\tvec3 getSample( float theta, vec3 axis ) {\\n\\n\\t\\t\\t\\tfloat cosTheta = cos( theta );\\n\\t\\t\\t\\t// Rodrigues' axis-angle rotation\\n\\t\\t\\t\\tvec3 sampleDirection = vOutputDirection * cosTheta\\n\\t\\t\\t\\t\\t+ cross( axis, vOutputDirection ) * sin( theta )\\n\\t\\t\\t\\t\\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\\n\\n\\t\\t\\t\\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\\n\\n\\t\\t\\t\\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\\n\\n\\t\\t\\t\\t\\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\taxis = normalize( axis );\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\t\\t\\t\\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\\n\\n\\t\\t\\t\\tfor ( int i = 1; i < n; i++ ) {\\n\\n\\t\\t\\t\\t\\tif ( i >= samples ) {\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tfloat theta = dTheta * float( i );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\\n\\t\\t\\t\\t\\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\\n\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return r}function _getEquirectShader(){const e=new Vector2(1,1);const t=new RawShaderMaterial({name:\"EquirectangularToCubeUV\",uniforms:{envMap:{value:null},texelSize:{value:e},inputEncoding:{value:ao[Xt]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform sampler2D envMap;\\n\\t\\t\\tuniform vec2 texelSize;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\t#include <common>\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\\n\\n\\t\\t\\t\\tvec3 outputDirection = normalize( vOutputDirection );\\n\\t\\t\\t\\tvec2 uv = equirectUv( outputDirection );\\n\\n\\t\\t\\t\\tvec2 f = fract( uv / texelSize - 0.5 );\\n\\t\\t\\t\\tuv -= f * texelSize;\\n\\t\\t\\t\\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x += texelSize.x;\\n\\t\\t\\t\\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.y += texelSize.y;\\n\\t\\t\\t\\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\t\\t\\t\\tuv.x -= texelSize.x;\\n\\t\\t\\t\\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\\n\\n\\t\\t\\t\\tvec3 tm = mix( tl, tr, f.x );\\n\\t\\t\\t\\tvec3 bm = mix( bl, br, f.x );\\n\\t\\t\\t\\tgl_FragColor.rgb = mix( tm, bm, f.y );\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return t}function _getCubemapShader(){const e=new RawShaderMaterial({name:\"CubemapToCubeUV\",uniforms:{envMap:{value:null},inputEncoding:{value:ao[Xt]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\\n\\n\\t\\t\\tprecision mediump float;\\n\\t\\t\\tprecision mediump int;\\n\\n\\t\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t\\tuniform samplerCube envMap;\\n\\n\\t\\t\\t${_getEncodings()}\\n\\n\\t\\t\\tvoid main() {\\n\\n\\t\\t\\t\\tgl_FragColor = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) );\\n\\n\\t\\t\\t}\\n\\t\\t`,blending:g,depthTest:false,depthWrite:false});return e}function _getCommonVertexShader(){return\"\\n\\n\\t\\tprecision mediump float;\\n\\t\\tprecision mediump int;\\n\\n\\t\\tattribute vec3 position;\\n\\t\\tattribute vec2 uv;\\n\\t\\tattribute float faceIndex;\\n\\n\\t\\tvarying vec3 vOutputDirection;\\n\\n\\t\\t// RH coordinate system; PMREM face-indexing convention\\n\\t\\tvec3 getDirection( vec2 uv, float face ) {\\n\\n\\t\\t\\tuv = 2.0 * uv - 1.0;\\n\\n\\t\\t\\tvec3 direction = vec3( uv, 1.0 );\\n\\n\\t\\t\\tif ( face == 0.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx; // ( 1, v, u ) pos x\\n\\n\\t\\t\\t} else if ( face == 1.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\\n\\n\\t\\t\\t} else if ( face == 2.0 ) {\\n\\n\\t\\t\\t\\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\\n\\n\\t\\t\\t} else if ( face == 3.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.zyx;\\n\\t\\t\\t\\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\\n\\n\\t\\t\\t} else if ( face == 4.0 ) {\\n\\n\\t\\t\\t\\tdirection = direction.xzy;\\n\\t\\t\\t\\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\\n\\n\\t\\t\\t} else if ( face == 5.0 ) {\\n\\n\\t\\t\\t\\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\\n\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn direction;\\n\\n\\t\\t}\\n\\n\\t\\tvoid main() {\\n\\n\\t\\t\\tvOutputDirection = getDirection( uv, faceIndex );\\n\\t\\t\\tgl_Position = vec4( position, 1.0 );\\n\\n\\t\\t}\\n\\t\"}function _getEncodings(){return\"\\n\\n\\t\\tuniform int inputEncoding;\\n\\n\\t\\t#include <encodings_pars_fragment>\\n\\n\\t\\tvec4 inputTexelToLinear( vec4 value ) {\\n\\n\\t\\t\\tif ( inputEncoding == 0 ) {\\n\\n\\t\\t\\t\\treturn value;\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\treturn sRGBToLinear( value );\\n\\n\\t\\t\\t}\\n\\n\\t\\t}\\n\\n\\t\\tvec4 envMapTexelToLinear( vec4 color ) {\\n\\n\\t\\t\\treturn inputTexelToLinear( color );\\n\\n\\t\\t}\\n\\t\"}function WebGLCubeUVMaps(e){let t=new WeakMap;let n=null;function get(r){if(r&&r.isTexture&&false===r.isRenderTargetTexture){const i=r.mapping;const s=i===se||i===ae;const a=i===re||i===ie;if(s||a){if(t.has(r))return t.get(r).texture;{const i=r.image;if(s&&i&&i.height>0||a&&i&&isCubeTextureComplete(i)){const i=e.getRenderTarget();null===n&&(n=new PMREMGenerator(e));const a=s?n.fromEquirectangular(r):n.fromCubemap(r);t.set(r,a);e.setRenderTarget(i);r.addEventListener(\"dispose\",onTextureDispose);return a.texture}return null}}}return r}function isCubeTextureComplete(e){let t=0;const n=6;for(let r=0;r<n;r++)void 0!==e[r]&&t++;return t===n}function onTextureDispose(e){const n=e.target;n.removeEventListener(\"dispose\",onTextureDispose);const r=t.get(n);if(void 0!==r){t.delete(n);r.dispose()}}function dispose(){t=new WeakMap;if(null!==n){n.dispose();n=null}}return{get:get,dispose:dispose}}function WebGLExtensions(e){const t={};function getExtension(n){if(void 0!==t[n])return t[n];let r;switch(n){case\"WEBGL_depth_texture\":r=e.getExtension(\"WEBGL_depth_texture\")||e.getExtension(\"MOZ_WEBGL_depth_texture\")||e.getExtension(\"WEBKIT_WEBGL_depth_texture\");break;case\"EXT_texture_filter_anisotropic\":r=e.getExtension(\"EXT_texture_filter_anisotropic\")||e.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||e.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\");break;case\"WEBGL_compressed_texture_s3tc\":r=e.getExtension(\"WEBGL_compressed_texture_s3tc\")||e.getExtension(\"MOZ_WEBGL_compressed_texture_s3tc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_s3tc\");break;case\"WEBGL_compressed_texture_pvrtc\":r=e.getExtension(\"WEBGL_compressed_texture_pvrtc\")||e.getExtension(\"WEBKIT_WEBGL_compressed_texture_pvrtc\");break;default:r=e.getExtension(n)}t[n]=r;return r}return{has:function(e){return null!==getExtension(e)},init:function(e){if(e.isWebGL2)getExtension(\"EXT_color_buffer_float\");else{getExtension(\"WEBGL_depth_texture\");getExtension(\"OES_texture_float\");getExtension(\"OES_texture_half_float\");getExtension(\"OES_texture_half_float_linear\");getExtension(\"OES_standard_derivatives\");getExtension(\"OES_element_index_uint\");getExtension(\"OES_vertex_array_object\");getExtension(\"ANGLE_instanced_arrays\")}getExtension(\"OES_texture_float_linear\");getExtension(\"EXT_color_buffer_half_float\");getExtension(\"WEBGL_multisampled_render_to_texture\")},get:function(e){const t=getExtension(e);null===t&&console.warn(\"THREE.WebGLRenderer: \"+e+\" extension not supported.\");return t}}}function WebGLGeometries(e,t,n,r){const i={};const s=new WeakMap;function onGeometryDispose(e){const a=e.target;null!==a.index&&t.remove(a.index);for(const e in a.attributes)t.remove(a.attributes[e]);a.removeEventListener(\"dispose\",onGeometryDispose);delete i[a.id];const o=s.get(a);if(o){t.remove(o);s.delete(a)}r.releaseStatesOfGeometry(a);true===a.isInstancedBufferGeometry&&delete a._maxInstanceCount;n.memory.geometries--}function get(e,t){if(true===i[t.id])return t;t.addEventListener(\"dispose\",onGeometryDispose);i[t.id]=true;n.memory.geometries++;return t}function update(e){const n=e.attributes;for(const e in n)t.update(n[e],34962);const r=e.morphAttributes;for(const e in r){const n=r[e];for(let e=0,r=n.length;e<r;e++)t.update(n[e],34962)}}function updateWireframeAttribute(e){const n=[];const r=e.index;const i=e.attributes.position;let a=0;if(null!==r){const e=r.array;a=r.version;for(let t=0,r=e.length;t<r;t+=3){const r=e[t+0];const i=e[t+1];const s=e[t+2];n.push(r,i,i,s,s,r)}}else{const e=i.array;a=i.version;for(let t=0,r=e.length/3-1;t<r;t+=3){const e=t+0;const r=t+1;const i=t+2;n.push(e,r,r,i,i,e)}}const o=new(arrayMax(n)>65535?Uint32BufferAttribute:Uint16BufferAttribute)(n,1);o.version=a;const l=s.get(e);l&&t.remove(l);s.set(e,o)}function getWireframeAttribute(e){const t=s.get(e);if(t){const n=e.index;null!==n&&t.version<n.version&&updateWireframeAttribute(e)}else updateWireframeAttribute(e);return s.get(e)}return{get:get,update:update,getWireframeAttribute:getWireframeAttribute}}function WebGLIndexedBufferRenderer(e,t,n,r){const i=r.isWebGL2;let s;function setMode(e){s=e}let a,o;function setIndex(e){a=e.type;o=e.bytesPerElement}function render(t,r){e.drawElements(s,r,a,t*o);n.update(r,s,1)}function renderInstances(r,l,c){if(0===c)return;let u,h;if(i){u=e;h=\"drawElementsInstanced\"}else{u=t.get(\"ANGLE_instanced_arrays\");h=\"drawElementsInstancedANGLE\";if(null===u){console.error(\"THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.\");return}}u[h](s,l,a,r*o,c);n.update(l,s,c)}this.setMode=setMode;this.setIndex=setIndex;this.render=render;this.renderInstances=renderInstances}function WebGLInfo(e){const t={geometries:0,textures:0};const n={frame:0,calls:0,triangles:0,points:0,lines:0};function update(e,t,r){n.calls++;switch(t){case 4:n.triangles+=r*(e/3);break;case 1:n.lines+=r*(e/2);break;case 3:n.lines+=r*(e-1);break;case 2:n.lines+=r*e;break;case 0:n.points+=r*e;break;default:console.error(\"THREE.WebGLInfo: Unknown draw mode:\",t);break}}function reset(){n.frame++;n.calls=0;n.triangles=0;n.points=0;n.lines=0}return{memory:t,render:n,programs:null,autoReset:true,reset:reset,update:update}}class DataTexture2DArray extends Texture{constructor(e=null,t=1,n=1,r=1){super(null);this.image={data:e,width:t,height:n,depth:r};this.magFilter=de;this.minFilter=de;this.wrapR=ue;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture2DArray.prototype.isDataTexture2DArray=true;function numericalSort(e,t){return e[0]-t[0]}function absNumericalSort(e,t){return Math.abs(t[1])-Math.abs(e[1])}function denormalize(e,t){let n=1;const r=t.isInterleavedBufferAttribute?t.data.array:t.array;r instanceof Int8Array?n=127:r instanceof Int16Array?n=32767:r instanceof Int32Array?n=2147483647:console.error(\"THREE.WebGLMorphtargets: Unsupported morph attribute data type: \",r);e.divideScalar(n)}function WebGLMorphtargets(e,t,n){const r={};const i=new Float32Array(8);const s=new WeakMap;const a=new Vector3;const o=[];for(let e=0;e<8;e++)o[e]=[e,0];function update(l,c,u,h){const d=l.morphTargetInfluences;if(true===t.isWebGL2){const r=c.morphAttributes.position.length;let i=s.get(c);if(void 0===i||i.count!==r){void 0!==i&&i.texture.dispose();const e=void 0!==c.morphAttributes.normal;const n=c.morphAttributes.position;const o=c.morphAttributes.normal||[];const l=c.attributes.position.count;const u=true===e?2:1;let h=l*u;let d=1;if(h>t.maxTextureSize){d=Math.ceil(h/t.maxTextureSize);h=t.maxTextureSize}const p=new Float32Array(h*d*4*r);const f=new DataTexture2DArray(p,h,d,r);f.format=Ne;f.type=Le;f.needsUpdate=true;const m=4*u;for(let t=0;t<r;t++){const r=n[t];const i=o[t];const s=h*d*4*t;for(let t=0;t<r.count;t++){a.fromBufferAttribute(r,t);true===r.normalized&&denormalize(a,r);const n=t*m;p[s+n+0]=a.x;p[s+n+1]=a.y;p[s+n+2]=a.z;p[s+n+3]=0;if(true===e){a.fromBufferAttribute(i,t);true===i.normalized&&denormalize(a,i);p[s+n+4]=a.x;p[s+n+5]=a.y;p[s+n+6]=a.z;p[s+n+7]=0}}}i={count:r,texture:f,size:new Vector2(h,d)};s.set(c,i)}let o=0;for(let e=0;e<d.length;e++)o+=d[e];const l=c.morphTargetsRelative?1:1-o;h.getUniforms().setValue(e,\"morphTargetBaseInfluence\",l);h.getUniforms().setValue(e,\"morphTargetInfluences\",d);h.getUniforms().setValue(e,\"morphTargetsTexture\",i.texture,n);h.getUniforms().setValue(e,\"morphTargetsTextureSize\",i.size)}else{const t=void 0===d?0:d.length;let n=r[c.id];if(void 0===n||n.length!==t){n=[];for(let e=0;e<t;e++)n[e]=[e,0];r[c.id]=n}for(let e=0;e<t;e++){const t=n[e];t[0]=e;t[1]=d[e]}n.sort(absNumericalSort);for(let e=0;e<8;e++)if(e<t&&n[e][1]){o[e][0]=n[e][0];o[e][1]=n[e][1]}else{o[e][0]=Number.MAX_SAFE_INTEGER;o[e][1]=0}o.sort(numericalSort);const s=c.morphAttributes.position;const a=c.morphAttributes.normal;let l=0;for(let e=0;e<8;e++){const t=o[e];const n=t[0];const r=t[1];if(n!==Number.MAX_SAFE_INTEGER&&r){s&&c.getAttribute(\"morphTarget\"+e)!==s[n]&&c.setAttribute(\"morphTarget\"+e,s[n]);a&&c.getAttribute(\"morphNormal\"+e)!==a[n]&&c.setAttribute(\"morphNormal\"+e,a[n]);i[e]=r;l+=r}else{s&&true===c.hasAttribute(\"morphTarget\"+e)&&c.deleteAttribute(\"morphTarget\"+e);a&&true===c.hasAttribute(\"morphNormal\"+e)&&c.deleteAttribute(\"morphNormal\"+e);i[e]=0}}const u=c.morphTargetsRelative?1:1-l;h.getUniforms().setValue(e,\"morphTargetBaseInfluence\",u);h.getUniforms().setValue(e,\"morphTargetInfluences\",i)}}return{update:update}}function WebGLObjects(e,t,n,r){let i=new WeakMap;function update(e){const s=r.render.frame;const a=e.geometry;const o=t.get(e,a);if(i.get(o)!==s){t.update(o);i.set(o,s)}if(e.isInstancedMesh){false===e.hasEventListener(\"dispose\",onInstancedMeshDispose)&&e.addEventListener(\"dispose\",onInstancedMeshDispose);n.update(e.instanceMatrix,34962);null!==e.instanceColor&&n.update(e.instanceColor,34962)}return o}function dispose(){i=new WeakMap}function onInstancedMeshDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onInstancedMeshDispose);n.remove(t.instanceMatrix);null!==t.instanceColor&&n.remove(t.instanceColor)}return{update:update,dispose:dispose}}class DataTexture3D extends Texture{constructor(e=null,t=1,n=1,r=1){super(null);this.image={data:e,width:t,height:n,depth:r};this.magFilter=de;this.minFilter=de;this.wrapR=ue;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture3D.prototype.isDataTexture3D=true;const yo=new Texture;const vo=new DataTexture2DArray;const xo=new DataTexture3D;const bo=new CubeTexture;const _o=[];const Mo=[];const wo=new Float32Array(16);const So=new Float32Array(9);const To=new Float32Array(4);function flatten(e,t,n){const r=e[0];if(r<=0||r>0)return e;const i=t*n;let s=_o[i];if(void 0===s){s=new Float32Array(i);_o[i]=s}if(0!==t){r.toArray(s,0);for(let r=1,i=0;r!==t;++r){i+=n;e[r].toArray(s,i)}}return s}function arraysEqual(e,t){if(e.length!==t.length)return false;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return false;return true}function copyArray(e,t){for(let n=0,r=t.length;n<r;n++)e[n]=t[n]}function allocTexUnits(e,t){let n=Mo[t];if(void 0===n){n=new Int32Array(t);Mo[t]=n}for(let r=0;r!==t;++r)n[r]=e.allocateTextureUnit();return n}function setValueV1f(e,t){const n=this.cache;if(n[0]!==t){e.uniform1f(this.addr,t);n[0]=t}}function setValueV2f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y){e.uniform2f(this.addr,t.x,t.y);n[0]=t.x;n[1]=t.y}}else{if(arraysEqual(n,t))return;e.uniform2fv(this.addr,t);copyArray(n,t)}}function setValueV3f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z){e.uniform3f(this.addr,t.x,t.y,t.z);n[0]=t.x;n[1]=t.y;n[2]=t.z}}else if(void 0!==t.r){if(n[0]!==t.r||n[1]!==t.g||n[2]!==t.b){e.uniform3f(this.addr,t.r,t.g,t.b);n[0]=t.r;n[1]=t.g;n[2]=t.b}}else{if(arraysEqual(n,t))return;e.uniform3fv(this.addr,t);copyArray(n,t)}}function setValueV4f(e,t){const n=this.cache;if(void 0!==t.x){if(n[0]!==t.x||n[1]!==t.y||n[2]!==t.z||n[3]!==t.w){e.uniform4f(this.addr,t.x,t.y,t.z,t.w);n[0]=t.x;n[1]=t.y;n[2]=t.z;n[3]=t.w}}else{if(arraysEqual(n,t))return;e.uniform4fv(this.addr,t);copyArray(n,t)}}function setValueM2(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix2fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;To.set(r);e.uniformMatrix2fv(this.addr,false,To);copyArray(n,r)}}function setValueM3(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix3fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;So.set(r);e.uniformMatrix3fv(this.addr,false,So);copyArray(n,r)}}function setValueM4(e,t){const n=this.cache;const r=t.elements;if(void 0===r){if(arraysEqual(n,t))return;e.uniformMatrix4fv(this.addr,false,t);copyArray(n,t)}else{if(arraysEqual(n,r))return;wo.set(r);e.uniformMatrix4fv(this.addr,false,wo);copyArray(n,r)}}function setValueV1i(e,t){const n=this.cache;if(n[0]!==t){e.uniform1i(this.addr,t);n[0]=t}}function setValueV2i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform2iv(this.addr,t);copyArray(n,t)}}function setValueV3i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform3iv(this.addr,t);copyArray(n,t)}}function setValueV4i(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform4iv(this.addr,t);copyArray(n,t)}}function setValueV1ui(e,t){const n=this.cache;if(n[0]!==t){e.uniform1ui(this.addr,t);n[0]=t}}function setValueV2ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform2uiv(this.addr,t);copyArray(n,t)}}function setValueV3ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform3uiv(this.addr,t);copyArray(n,t)}}function setValueV4ui(e,t){const n=this.cache;if(!arraysEqual(n,t)){e.uniform4uiv(this.addr,t);copyArray(n,t)}}function setValueT1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.safeSetTexture2D(t||yo,i)}function setValueT3D1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.setTexture3D(t||xo,i)}function setValueT6(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.safeSetTextureCube(t||bo,i)}function setValueT2DArray1(e,t,n){const r=this.cache;const i=n.allocateTextureUnit();if(r[0]!==i){e.uniform1i(this.addr,i);r[0]=i}n.setTexture2DArray(t||vo,i)}function getSingularSetter(e){switch(e){case 5126:return setValueV1f;case 35664:return setValueV2f;case 35665:return setValueV3f;case 35666:return setValueV4f;case 35674:return setValueM2;case 35675:return setValueM3;case 35676:return setValueM4;case 5124:case 35670:return setValueV1i;case 35667:case 35671:return setValueV2i;case 35668:case 35672:return setValueV3i;case 35669:case 35673:return setValueV4i;case 5125:return setValueV1ui;case 36294:return setValueV2ui;case 36295:return setValueV3ui;case 36296:return setValueV4ui;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1;case 35679:case 36299:case 36307:return setValueT3D1;case 35680:case 36300:case 36308:case 36293:return setValueT6;case 36289:case 36303:case 36311:case 36292:return setValueT2DArray1}}function setValueV1fArray(e,t){e.uniform1fv(this.addr,t)}function setValueV2fArray(e,t){const n=flatten(t,this.size,2);e.uniform2fv(this.addr,n)}function setValueV3fArray(e,t){const n=flatten(t,this.size,3);e.uniform3fv(this.addr,n)}function setValueV4fArray(e,t){const n=flatten(t,this.size,4);e.uniform4fv(this.addr,n)}function setValueM2Array(e,t){const n=flatten(t,this.size,4);e.uniformMatrix2fv(this.addr,false,n)}function setValueM3Array(e,t){const n=flatten(t,this.size,9);e.uniformMatrix3fv(this.addr,false,n)}function setValueM4Array(e,t){const n=flatten(t,this.size,16);e.uniformMatrix4fv(this.addr,false,n)}function setValueV1iArray(e,t){e.uniform1iv(this.addr,t)}function setValueV2iArray(e,t){e.uniform2iv(this.addr,t)}function setValueV3iArray(e,t){e.uniform3iv(this.addr,t)}function setValueV4iArray(e,t){e.uniform4iv(this.addr,t)}function setValueV1uiArray(e,t){e.uniform1uiv(this.addr,t)}function setValueV2uiArray(e,t){e.uniform2uiv(this.addr,t)}function setValueV3uiArray(e,t){e.uniform3uiv(this.addr,t)}function setValueV4uiArray(e,t){e.uniform4uiv(this.addr,t)}function setValueT1Array(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.safeSetTexture2D(t[e]||yo,i[e])}function setValueT3DArray(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.setTexture3D(t[e]||xo,i[e])}function setValueT6Array(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.safeSetTextureCube(t[e]||bo,i[e])}function setValueT2DArrayArray(e,t,n){const r=t.length;const i=allocTexUnits(n,r);e.uniform1iv(this.addr,i);for(let e=0;e!==r;++e)n.setTexture2DArray(t[e]||vo,i[e])}function getPureArraySetter(e){switch(e){case 5126:return setValueV1fArray;case 35664:return setValueV2fArray;case 35665:return setValueV3fArray;case 35666:return setValueV4fArray;case 35674:return setValueM2Array;case 35675:return setValueM3Array;case 35676:return setValueM4Array;case 5124:case 35670:return setValueV1iArray;case 35667:case 35671:return setValueV2iArray;case 35668:case 35672:return setValueV3iArray;case 35669:case 35673:return setValueV4iArray;case 5125:return setValueV1uiArray;case 36294:return setValueV2uiArray;case 36295:return setValueV3uiArray;case 36296:return setValueV4uiArray;case 35678:case 36198:case 36298:case 36306:case 35682:return setValueT1Array;case 35679:case 36299:case 36307:return setValueT3DArray;case 35680:case 36300:case 36308:case 36293:return setValueT6Array;case 36289:case 36303:case 36311:case 36292:return setValueT2DArrayArray}}function SingleUniform(e,t,n){this.id=e;this.addr=n;this.cache=[];this.setValue=getSingularSetter(t.type)}function PureArrayUniform(e,t,n){this.id=e;this.addr=n;this.cache=[];this.size=t.size;this.setValue=getPureArraySetter(t.type)}PureArrayUniform.prototype.updateCache=function(e){const t=this.cache;e instanceof Float32Array&&t.length!==e.length&&(this.cache=new Float32Array(e.length));copyArray(t,e)};function StructuredUniform(e){this.id=e;this.seq=[];this.map={}}StructuredUniform.prototype.setValue=function(e,t,n){const r=this.seq;for(let i=0,s=r.length;i!==s;++i){const s=r[i];s.setValue(e,t[s.id],n)}};const Eo=/(\\w+)(\\])?(\\[|\\.)?/g;function addUniform(e,t){e.seq.push(t);e.map[t.id]=t}function parseUniform(e,t,n){const r=e.name,i=r.length;Eo.lastIndex=0;while(true){const s=Eo.exec(r),a=Eo.lastIndex;let o=s[1];const l=\"]\"===s[2],c=s[3];l&&(o|=0);if(void 0===c||\"[\"===c&&a+2===i){addUniform(n,void 0===c?new SingleUniform(o,e,t):new PureArrayUniform(o,e,t));break}{const e=n.map;let t=e[o];if(void 0===t){t=new StructuredUniform(o);addUniform(n,t)}n=t}}}function WebGLUniforms(e,t){this.seq=[];this.map={};const n=e.getProgramParameter(t,35718);for(let r=0;r<n;++r){const n=e.getActiveUniform(t,r),i=e.getUniformLocation(t,n.name);parseUniform(n,i,this)}}WebGLUniforms.prototype.setValue=function(e,t,n,r){const i=this.map[t];void 0!==i&&i.setValue(e,n,r)};WebGLUniforms.prototype.setOptional=function(e,t,n){const r=t[n];void 0!==r&&this.setValue(e,n,r)};WebGLUniforms.upload=function(e,t,n,r){for(let i=0,s=t.length;i!==s;++i){const s=t[i],a=n[s.id];false!==a.needsUpdate&&s.setValue(e,a.value,r)}};WebGLUniforms.seqWithValue=function(e,t){const n=[];for(let r=0,i=e.length;r!==i;++r){const i=e[r];i.id in t&&n.push(i)}return n};function WebGLShader(e,t,n){const r=e.createShader(t);e.shaderSource(r,n);e.compileShader(r);return r}let Ao=0;function addLineNumbers(e){const t=e.split(\"\\n\");for(let e=0;e<t.length;e++)t[e]=e+1+\": \"+t[e];return t.join(\"\\n\")}function getEncodingComponents(e){switch(e){case Xt:return[\"Linear\",\"( value )\"];case Jt:return[\"sRGB\",\"( value )\"];default:console.warn(\"THREE.WebGLProgram: Unsupported encoding:\",e);return[\"Linear\",\"( value )\"]}}function getShaderErrors(e,t,n){const r=e.getShaderParameter(t,35713);const i=e.getShaderInfoLog(t).trim();return r&&\"\"===i?\"\":n.toUpperCase()+\"\\n\\n\"+i+\"\\n\\n\"+addLineNumbers(e.getShaderSource(t))}function getTexelDecodingFunction(e,t){const n=getEncodingComponents(t);return\"vec4 \"+e+\"( vec4 value ) { return \"+n[0]+\"ToLinear\"+n[1]+\"; }\"}function getTexelEncodingFunction(e,t){const n=getEncodingComponents(t);return\"vec4 \"+e+\"( vec4 value ) { return LinearTo\"+n[0]+n[1]+\"; }\"}function getToneMappingFunction(e,t){let n;switch(t){case Q:n=\"Linear\";break;case K:n=\"Reinhard\";break;case $:n=\"OptimizedCineon\";break;case ee:n=\"ACESFilmic\";break;case te:n=\"Custom\";break;default:console.warn(\"THREE.WebGLProgram: Unsupported toneMapping:\",t);n=\"Linear\"}return\"vec3 \"+e+\"( vec3 color ) { return \"+n+\"ToneMapping( color ); }\"}function generateExtensions(e){const t=[e.extensionDerivatives||e.envMapCubeUV||e.bumpMap||e.tangentSpaceNormalMap||e.clearcoatNormalMap||e.flatShading||\"physical\"===e.shaderID?\"#extension GL_OES_standard_derivatives : enable\":\"\",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?\"#extension GL_EXT_frag_depth : enable\":\"\",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?\"#extension GL_EXT_draw_buffers : require\":\"\",(e.extensionShaderTextureLOD||e.envMap||e.transmission)&&e.rendererExtensionShaderTextureLod?\"#extension GL_EXT_shader_texture_lod : enable\":\"\"];return t.filter(filterEmptyLine).join(\"\\n\")}function generateDefines(e){const t=[];for(const n in e){const r=e[n];false!==r&&t.push(\"#define \"+n+\" \"+r)}return t.join(\"\\n\")}function fetchAttributeLocations(e,t){const n={};const r=e.getProgramParameter(t,35721);for(let i=0;i<r;i++){const r=e.getActiveAttrib(t,i);const s=r.name;let a=1;35674===r.type&&(a=2);35675===r.type&&(a=3);35676===r.type&&(a=4);n[s]={type:r.type,location:e.getAttribLocation(t,s),locationSize:a}}return n}function filterEmptyLine(e){return\"\"!==e}function replaceLightNums(e,t){return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function replaceClippingPlaneNums(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const Lo=/^[ \\t]*#include +<([\\w\\d./]+)>/gm;function resolveIncludes(e){return e.replace(Lo,includeReplacer)}function includeReplacer(e,t){const n=Qa[t];if(void 0===n)throw new Error(\"Can not resolve #include <\"+t+\">\");return resolveIncludes(n)}const Co=/#pragma unroll_loop[\\s]+?for \\( int i \\= (\\d+)\\; i < (\\d+)\\; i \\+\\+ \\) \\{([\\s\\S]+?)(?=\\})\\}/g;const Ro=/#pragma unroll_loop_start\\s+for\\s*\\(\\s*int\\s+i\\s*=\\s*(\\d+)\\s*;\\s*i\\s*<\\s*(\\d+)\\s*;\\s*i\\s*\\+\\+\\s*\\)\\s*{([\\s\\S]+?)}\\s+#pragma unroll_loop_end/g;function unrollLoops(e){return e.replace(Ro,loopReplacer).replace(Co,deprecatedLoopReplacer)}function deprecatedLoopReplacer(e,t,n,r){console.warn(\"WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.\");return loopReplacer(e,t,n,r)}function loopReplacer(e,t,n,r){let i=\"\";for(let e=parseInt(t);e<parseInt(n);e++)i+=r.replace(/\\[\\s*i\\s*\\]/g,\"[ \"+e+\" ]\").replace(/UNROLLED_LOOP_INDEX/g,e);return i}function generatePrecision(e){let t=\"precision \"+e.precision+\" float;\\nprecision \"+e.precision+\" int;\";\"highp\"===e.precision?t+=\"\\n#define HIGH_PRECISION\":\"mediump\"===e.precision?t+=\"\\n#define MEDIUM_PRECISION\":\"lowp\"===e.precision&&(t+=\"\\n#define LOW_PRECISION\");return t}function generateShadowMapTypeDefine(e){let t=\"SHADOWMAP_TYPE_BASIC\";e.shadowMapType===l?t=\"SHADOWMAP_TYPE_PCF\":e.shadowMapType===c?t=\"SHADOWMAP_TYPE_PCF_SOFT\":e.shadowMapType===u&&(t=\"SHADOWMAP_TYPE_VSM\");return t}function generateEnvMapTypeDefine(e){let t=\"ENVMAP_TYPE_CUBE\";if(e.envMap)switch(e.envMapMode){case re:case ie:t=\"ENVMAP_TYPE_CUBE\";break;case oe:case le:t=\"ENVMAP_TYPE_CUBE_UV\";break}return t}function generateEnvMapModeDefine(e){let t=\"ENVMAP_MODE_REFLECTION\";if(e.envMap)switch(e.envMapMode){case ie:case le:t=\"ENVMAP_MODE_REFRACTION\";break}return t}function generateEnvMapBlendingDefine(e){let t=\"ENVMAP_BLENDING_NONE\";if(e.envMap)switch(e.combine){case X:t=\"ENVMAP_BLENDING_MULTIPLY\";break;case J:t=\"ENVMAP_BLENDING_MIX\";break;case Y:t=\"ENVMAP_BLENDING_ADD\";break}return t}function WebGLProgram(e,t,n,r){const i=e.getContext();const s=n.defines;let a=n.vertexShader;let o=n.fragmentShader;const l=generateShadowMapTypeDefine(n);const c=generateEnvMapTypeDefine(n);const u=generateEnvMapModeDefine(n);const h=generateEnvMapBlendingDefine(n);const d=n.isWebGL2?\"\":generateExtensions(n);const p=generateDefines(s);const f=i.createProgram();let m,g;let y=n.glslVersion?\"#version \"+n.glslVersion+\"\\n\":\"\";if(n.isRawShaderMaterial){m=[p].filter(filterEmptyLine).join(\"\\n\");m.length>0&&(m+=\"\\n\");g=[d,p].filter(filterEmptyLine).join(\"\\n\");g.length>0&&(g+=\"\\n\")}else{m=[generatePrecision(n),\"#define SHADER_NAME \"+n.shaderName,p,n.instancing?\"#define USE_INSTANCING\":\"\",n.instancingColor?\"#define USE_INSTANCING_COLOR\":\"\",n.supportsVertexTextures?\"#define VERTEX_TEXTURES\":\"\",\"#define MAX_BONES \"+n.maxBones,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+u:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.displacementMap&&n.supportsVertexTextures?\"#define USE_DISPLACEMENTMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULARINTENSITYMAP\":\"\",n.specularColorMap?\"#define USE_SPECULARCOLORMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.sheenColorMap?\"#define USE_SHEENCOLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEENROUGHNESSMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.skinning?\"#define USE_SKINNING\":\"\",n.useVertexTexture?\"#define BONE_TEXTURE\":\"\",n.morphTargets?\"#define USE_MORPHTARGETS\":\"\",n.morphNormals&&false===n.flatShading?\"#define USE_MORPHNORMALS\":\"\",n.morphTargets&&n.isWebGL2?\"#define MORPHTARGETS_TEXTURE\":\"\",n.morphTargets&&n.isWebGL2?\"#define MORPHTARGETS_COUNT \"+n.morphTargetsCount:\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.sizeAttenuation?\"#define USE_SIZEATTENUATION\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",\"uniform mat4 modelMatrix;\",\"uniform mat4 modelViewMatrix;\",\"uniform mat4 projectionMatrix;\",\"uniform mat4 viewMatrix;\",\"uniform mat3 normalMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",\"#ifdef USE_INSTANCING\",\"\\tattribute mat4 instanceMatrix;\",\"#endif\",\"#ifdef USE_INSTANCING_COLOR\",\"\\tattribute vec3 instanceColor;\",\"#endif\",\"attribute vec3 position;\",\"attribute vec3 normal;\",\"attribute vec2 uv;\",\"#ifdef USE_TANGENT\",\"\\tattribute vec4 tangent;\",\"#endif\",\"#if defined( USE_COLOR_ALPHA )\",\"\\tattribute vec4 color;\",\"#elif defined( USE_COLOR )\",\"\\tattribute vec3 color;\",\"#endif\",\"#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )\",\"\\tattribute vec3 morphTarget0;\",\"\\tattribute vec3 morphTarget1;\",\"\\tattribute vec3 morphTarget2;\",\"\\tattribute vec3 morphTarget3;\",\"\\t#ifdef USE_MORPHNORMALS\",\"\\t\\tattribute vec3 morphNormal0;\",\"\\t\\tattribute vec3 morphNormal1;\",\"\\t\\tattribute vec3 morphNormal2;\",\"\\t\\tattribute vec3 morphNormal3;\",\"\\t#else\",\"\\t\\tattribute vec3 morphTarget4;\",\"\\t\\tattribute vec3 morphTarget5;\",\"\\t\\tattribute vec3 morphTarget6;\",\"\\t\\tattribute vec3 morphTarget7;\",\"\\t#endif\",\"#endif\",\"#ifdef USE_SKINNING\",\"\\tattribute vec4 skinIndex;\",\"\\tattribute vec4 skinWeight;\",\"#endif\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\");g=[d,generatePrecision(n),\"#define SHADER_NAME \"+n.shaderName,p,n.useFog&&n.fog?\"#define USE_FOG\":\"\",n.useFog&&n.fogExp2?\"#define FOG_EXP2\":\"\",n.map?\"#define USE_MAP\":\"\",n.matcap?\"#define USE_MATCAP\":\"\",n.envMap?\"#define USE_ENVMAP\":\"\",n.envMap?\"#define \"+c:\"\",n.envMap?\"#define \"+u:\"\",n.envMap?\"#define \"+h:\"\",n.lightMap?\"#define USE_LIGHTMAP\":\"\",n.aoMap?\"#define USE_AOMAP\":\"\",n.emissiveMap?\"#define USE_EMISSIVEMAP\":\"\",n.bumpMap?\"#define USE_BUMPMAP\":\"\",n.normalMap?\"#define USE_NORMALMAP\":\"\",n.normalMap&&n.objectSpaceNormalMap?\"#define OBJECTSPACE_NORMALMAP\":\"\",n.normalMap&&n.tangentSpaceNormalMap?\"#define TANGENTSPACE_NORMALMAP\":\"\",n.clearcoat?\"#define USE_CLEARCOAT\":\"\",n.clearcoatMap?\"#define USE_CLEARCOATMAP\":\"\",n.clearcoatRoughnessMap?\"#define USE_CLEARCOAT_ROUGHNESSMAP\":\"\",n.clearcoatNormalMap?\"#define USE_CLEARCOAT_NORMALMAP\":\"\",n.specularMap?\"#define USE_SPECULARMAP\":\"\",n.specularIntensityMap?\"#define USE_SPECULARINTENSITYMAP\":\"\",n.specularColorMap?\"#define USE_SPECULARCOLORMAP\":\"\",n.roughnessMap?\"#define USE_ROUGHNESSMAP\":\"\",n.metalnessMap?\"#define USE_METALNESSMAP\":\"\",n.alphaMap?\"#define USE_ALPHAMAP\":\"\",n.alphaTest?\"#define USE_ALPHATEST\":\"\",n.sheen?\"#define USE_SHEEN\":\"\",n.sheenColorMap?\"#define USE_SHEENCOLORMAP\":\"\",n.sheenRoughnessMap?\"#define USE_SHEENROUGHNESSMAP\":\"\",n.transmission?\"#define USE_TRANSMISSION\":\"\",n.transmissionMap?\"#define USE_TRANSMISSIONMAP\":\"\",n.thicknessMap?\"#define USE_THICKNESSMAP\":\"\",n.vertexTangents?\"#define USE_TANGENT\":\"\",n.vertexColors||n.instancingColor?\"#define USE_COLOR\":\"\",n.vertexAlphas?\"#define USE_COLOR_ALPHA\":\"\",n.vertexUvs?\"#define USE_UV\":\"\",n.uvsVertexOnly?\"#define UVS_VERTEX_ONLY\":\"\",n.gradientMap?\"#define USE_GRADIENTMAP\":\"\",n.flatShading?\"#define FLAT_SHADED\":\"\",n.doubleSided?\"#define DOUBLE_SIDED\":\"\",n.flipSided?\"#define FLIP_SIDED\":\"\",n.shadowMapEnabled?\"#define USE_SHADOWMAP\":\"\",n.shadowMapEnabled?\"#define \"+l:\"\",n.premultipliedAlpha?\"#define PREMULTIPLIED_ALPHA\":\"\",n.physicallyCorrectLights?\"#define PHYSICALLY_CORRECT_LIGHTS\":\"\",n.logarithmicDepthBuffer?\"#define USE_LOGDEPTHBUF\":\"\",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?\"#define USE_LOGDEPTHBUF_EXT\":\"\",(n.extensionShaderTextureLOD||n.envMap)&&n.rendererExtensionShaderTextureLod?\"#define TEXTURE_LOD_EXT\":\"\",\"uniform mat4 viewMatrix;\",\"uniform vec3 cameraPosition;\",\"uniform bool isOrthographic;\",n.toneMapping!==Z?\"#define TONE_MAPPING\":\"\",n.toneMapping!==Z?Qa.tonemapping_pars_fragment:\"\",n.toneMapping!==Z?getToneMappingFunction(\"toneMapping\",n.toneMapping):\"\",n.dithering?\"#define DITHERING\":\"\",n.format===Ve?\"#define OPAQUE\":\"\",Qa.encodings_pars_fragment,n.map?getTexelDecodingFunction(\"mapTexelToLinear\",n.mapEncoding):\"\",n.matcap?getTexelDecodingFunction(\"matcapTexelToLinear\",n.matcapEncoding):\"\",n.envMap?getTexelDecodingFunction(\"envMapTexelToLinear\",n.envMapEncoding):\"\",n.emissiveMap?getTexelDecodingFunction(\"emissiveMapTexelToLinear\",n.emissiveMapEncoding):\"\",n.specularColorMap?getTexelDecodingFunction(\"specularColorMapTexelToLinear\",n.specularColorMapEncoding):\"\",n.sheenColorMap?getTexelDecodingFunction(\"sheenColorMapTexelToLinear\",n.sheenColorMapEncoding):\"\",n.lightMap?getTexelDecodingFunction(\"lightMapTexelToLinear\",n.lightMapEncoding):\"\",getTexelEncodingFunction(\"linearToOutputTexel\",n.outputEncoding),n.depthPacking?\"#define DEPTH_PACKING \"+n.depthPacking:\"\",\"\\n\"].filter(filterEmptyLine).join(\"\\n\")}a=resolveIncludes(a);a=replaceLightNums(a,n);a=replaceClippingPlaneNums(a,n);o=resolveIncludes(o);o=replaceLightNums(o,n);o=replaceClippingPlaneNums(o,n);a=unrollLoops(a);o=unrollLoops(o);if(n.isWebGL2&&true!==n.isRawShaderMaterial){y=\"#version 300 es\\n\";m=[\"precision mediump sampler2DArray;\",\"#define attribute in\",\"#define varying out\",\"#define texture2D texture\"].join(\"\\n\")+\"\\n\"+m;g=[\"#define varying in\",n.glslVersion===En?\"\":\"layout(location = 0) out highp vec4 pc_fragColor;\",n.glslVersion===En?\"\":\"#define gl_FragColor pc_fragColor\",\"#define gl_FragDepthEXT gl_FragDepth\",\"#define texture2D texture\",\"#define textureCube texture\",\"#define texture2DProj textureProj\",\"#define texture2DLodEXT textureLod\",\"#define texture2DProjLodEXT textureProjLod\",\"#define textureCubeLodEXT textureLod\",\"#define texture2DGradEXT textureGrad\",\"#define texture2DProjGradEXT textureProjGrad\",\"#define textureCubeGradEXT textureGrad\"].join(\"\\n\")+\"\\n\"+g}const x=y+m+a;const b=y+g+o;const _=WebGLShader(i,35633,x);const M=WebGLShader(i,35632,b);i.attachShader(f,_);i.attachShader(f,M);void 0!==n.index0AttributeName?i.bindAttribLocation(f,0,n.index0AttributeName):true===n.morphTargets&&i.bindAttribLocation(f,0,\"position\");i.linkProgram(f);if(e.debug.checkShaderErrors){const e=i.getProgramInfoLog(f).trim();const t=i.getShaderInfoLog(_).trim();const n=i.getShaderInfoLog(M).trim();let r=true;let s=true;if(false===i.getProgramParameter(f,35714)){r=false;const t=getShaderErrors(i,_,\"vertex\");const n=getShaderErrors(i,M,\"fragment\");console.error(\"THREE.WebGLProgram: Shader Error \"+i.getError()+\" - VALIDATE_STATUS \"+i.getProgramParameter(f,35715)+\"\\n\\nProgram Info Log: \"+e+\"\\n\"+t+\"\\n\"+n)}else\"\"!==e?console.warn(\"THREE.WebGLProgram: Program Info Log:\",e):\"\"!==t&&\"\"!==n||(s=false);s&&(this.diagnostics={runnable:r,programLog:e,vertexShader:{log:t,prefix:m},fragmentShader:{log:n,prefix:g}})}i.deleteShader(_);i.deleteShader(M);let w;this.getUniforms=function(){void 0===w&&(w=new WebGLUniforms(i,f));return w};let S;this.getAttributes=function(){void 0===S&&(S=fetchAttributeLocations(i,f));return S};this.destroy=function(){r.releaseStatesOfProgram(this);i.deleteProgram(f);this.program=void 0};this.name=n.shaderName;this.id=Ao++;this.cacheKey=t;this.usedTimes=1;this.program=f;this.vertexShader=_;this.fragmentShader=M;return this}let Po=0;class WebGLShaderCache{constructor(){this.shaderCache=new Map;this.materialCache=new Map}update(e){const t=e.vertexShader;const n=e.fragmentShader;const r=this._getShaderStage(t);const i=this._getShaderStage(n);const s=this._getShaderCacheForMaterial(e);if(false===s.has(r)){s.add(r);r.usedTimes++}if(false===s.has(i)){s.add(i);i.usedTimes++}return this}remove(e){const t=this.materialCache.get(e);for(const e of t){e.usedTimes--;0===e.usedTimes&&this.shaderCache.delete(e)}this.materialCache.delete(e);return this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear();this.materialCache.clear()}_getShaderCacheForMaterial(e){const t=this.materialCache;false===t.has(e)&&t.set(e,new Set);return t.get(e)}_getShaderStage(e){const t=this.shaderCache;if(false===t.has(e)){const n=new WebGLShaderStage;t.set(e,n)}return t.get(e)}}class WebGLShaderStage{constructor(){this.id=Po++;this.usedTimes=0}}function WebGLPrograms(e,t,n,r,i,s,a){const o=new Layers;const l=new WebGLShaderCache;const c=[];const u=i.isWebGL2;const h=i.logarithmicDepthBuffer;const f=i.floatVertexTextures;const m=i.maxVertexUniforms;const g=i.vertexTextures;let y=i.precision;const x={MeshDepthMaterial:\"depth\",MeshDistanceMaterial:\"distanceRGBA\",MeshNormalMaterial:\"normal\",MeshBasicMaterial:\"basic\",MeshLambertMaterial:\"lambert\",MeshPhongMaterial:\"phong\",MeshToonMaterial:\"toon\",MeshStandardMaterial:\"physical\",MeshPhysicalMaterial:\"physical\",MeshMatcapMaterial:\"matcap\",LineBasicMaterial:\"basic\",LineDashedMaterial:\"dashed\",PointsMaterial:\"points\",ShadowMaterial:\"shadow\",SpriteMaterial:\"sprite\"};function getMaxBones(e){const t=e.skeleton;const n=t.bones;if(f)return 1024;{const e=m;const t=Math.floor((e-20)/4);const r=Math.min(t,n.length);if(r<n.length){console.warn(\"THREE.WebGLRenderer: Skeleton has \"+n.length+\" bones. This GPU supports \"+r+\".\");return 0}return r}}function getTextureEncodingFromMap(e){let t;if(e&&e.isTexture)t=e.encoding;else if(e&&e.isWebGLRenderTarget){console.warn(\"THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead.\");t=e.texture.encoding}else t=Xt;u&&e&&e.isTexture&&e.format===Ne&&e.type===Me&&e.encoding===Jt&&(t=Xt);return t}function getParameters(s,o,c,m,b){const _=m.fog;const M=s.isMeshStandardMaterial?m.environment:null;const w=(s.isMeshStandardMaterial?n:t).get(s.envMap||M);const S=x[s.type];const T=b.isSkinnedMesh?getMaxBones(b):0;if(null!==s.precision){y=i.getMaxPrecision(s.precision);y!==s.precision&&console.warn(\"THREE.WebGLProgram.getParameters:\",s.precision,\"not supported, using\",y,\"instead.\")}let E,A;let L,C;if(S){const e=$a[S];E=e.vertexShader;A=e.fragmentShader}else{E=s.vertexShader;A=s.fragmentShader;l.update(s);L=l.getVertexShaderID(s);C=l.getFragmentShaderID(s)}const R=e.getRenderTarget();const P=s.alphaTest>0;const I=s.clearcoat>0;const D={isWebGL2:u,shaderID:S,shaderName:s.type,vertexShader:E,fragmentShader:A,defines:s.defines,customVertexShaderID:L,customFragmentShaderID:C,isRawShaderMaterial:true===s.isRawShaderMaterial,glslVersion:s.glslVersion,precision:y,instancing:true===b.isInstancedMesh,instancingColor:true===b.isInstancedMesh&&null!==b.instanceColor,supportsVertexTextures:g,outputEncoding:null!==R?getTextureEncodingFromMap(R.texture):e.outputEncoding,map:!!s.map,mapEncoding:getTextureEncodingFromMap(s.map),matcap:!!s.matcap,matcapEncoding:getTextureEncodingFromMap(s.matcap),envMap:!!w,envMapMode:w&&w.mapping,envMapEncoding:getTextureEncodingFromMap(w),envMapCubeUV:!!w&&(w.mapping===oe||w.mapping===le),lightMap:!!s.lightMap,lightMapEncoding:getTextureEncodingFromMap(s.lightMap),aoMap:!!s.aoMap,emissiveMap:!!s.emissiveMap,emissiveMapEncoding:getTextureEncodingFromMap(s.emissiveMap),bumpMap:!!s.bumpMap,normalMap:!!s.normalMap,objectSpaceNormalMap:s.normalMapType===Kt,tangentSpaceNormalMap:s.normalMapType===Qt,clearcoat:I,clearcoatMap:I&&!!s.clearcoatMap,clearcoatRoughnessMap:I&&!!s.clearcoatRoughnessMap,clearcoatNormalMap:I&&!!s.clearcoatNormalMap,displacementMap:!!s.displacementMap,roughnessMap:!!s.roughnessMap,metalnessMap:!!s.metalnessMap,specularMap:!!s.specularMap,specularIntensityMap:!!s.specularIntensityMap,specularColorMap:!!s.specularColorMap,specularColorMapEncoding:getTextureEncodingFromMap(s.specularColorMap),alphaMap:!!s.alphaMap,alphaTest:P,gradientMap:!!s.gradientMap,sheen:s.sheen>0,sheenColorMap:!!s.sheenColorMap,sheenColorMapEncoding:getTextureEncodingFromMap(s.sheenColorMap),sheenRoughnessMap:!!s.sheenRoughnessMap,transmission:s.transmission>0,transmissionMap:!!s.transmissionMap,thicknessMap:!!s.thicknessMap,combine:s.combine,vertexTangents:!!s.normalMap&&!!b.geometry&&!!b.geometry.attributes.tangent,vertexColors:s.vertexColors,vertexAlphas:true===s.vertexColors&&!!b.geometry&&!!b.geometry.attributes.color&&4===b.geometry.attributes.color.itemSize,vertexUvs:!!s.map||!!s.bumpMap||!!s.normalMap||!!s.specularMap||!!s.alphaMap||!!s.emissiveMap||!!s.roughnessMap||!!s.metalnessMap||!!s.clearcoatMap||!!s.clearcoatRoughnessMap||!!s.clearcoatNormalMap||!!s.displacementMap||!!s.transmissionMap||!!s.thicknessMap||!!s.specularIntensityMap||!!s.specularColorMap||!!s.sheenColorMap||!!s.sheenRoughnessMap,uvsVertexOnly:!(!!s.map||!!s.bumpMap||!!s.normalMap||!!s.specularMap||!!s.alphaMap||!!s.emissiveMap||!!s.roughnessMap||!!s.metalnessMap||!!s.clearcoatNormalMap||s.transmission>0||!!s.transmissionMap||!!s.thicknessMap||!!s.specularIntensityMap||!!s.specularColorMap||s.sheen>0||!!s.sheenColorMap||!!s.sheenRoughnessMap)&&!!s.displacementMap,fog:!!_,useFog:s.fog,fogExp2:_&&_.isFogExp2,flatShading:!!s.flatShading,sizeAttenuation:s.sizeAttenuation,logarithmicDepthBuffer:h,skinning:true===b.isSkinnedMesh&&T>0,maxBones:T,useVertexTexture:f,morphTargets:!!b.geometry&&!!b.geometry.morphAttributes.position,morphNormals:!!b.geometry&&!!b.geometry.morphAttributes.normal,morphTargetsCount:!b.geometry||!b.geometry.morphAttributes.position?0:b.geometry.morphAttributes.position.length,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numClippingPlanes:a.numPlanes,numClipIntersection:a.numIntersection,format:s.format,dithering:s.dithering,shadowMapEnabled:e.shadowMap.enabled&&c.length>0,shadowMapType:e.shadowMap.type,toneMapping:s.toneMapped?e.toneMapping:Z,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:s.premultipliedAlpha,doubleSided:s.side===p,flipSided:s.side===d,depthPacking:void 0!==s.depthPacking&&s.depthPacking,index0AttributeName:s.index0AttributeName,extensionDerivatives:s.extensions&&s.extensions.derivatives,extensionFragDepth:s.extensions&&s.extensions.fragDepth,extensionDrawBuffers:s.extensions&&s.extensions.drawBuffers,extensionShaderTextureLOD:s.extensions&&s.extensions.shaderTextureLOD,rendererExtensionFragDepth:u||r.has(\"EXT_frag_depth\"),rendererExtensionDrawBuffers:u||r.has(\"WEBGL_draw_buffers\"),rendererExtensionShaderTextureLod:u||r.has(\"EXT_shader_texture_lod\"),customProgramCacheKey:s.customProgramCacheKey()};return D}function getProgramCacheKey(t){const n=[];if(t.shaderID)n.push(t.shaderID);else{n.push(t.customVertexShaderID);n.push(t.customFragmentShaderID)}if(void 0!==t.defines)for(const e in t.defines){n.push(e);n.push(t.defines[e])}if(false===t.isRawShaderMaterial){getProgramCacheKeyParameters(n,t);getProgramCacheKeyBooleans(n,t);n.push(e.outputEncoding)}n.push(t.customProgramCacheKey);return n.join()}function getProgramCacheKeyParameters(e,t){e.push(t.precision);e.push(t.outputEncoding);e.push(t.mapEncoding);e.push(t.matcapEncoding);e.push(t.envMapMode);e.push(t.envMapEncoding);e.push(t.lightMapEncoding);e.push(t.emissiveMapEncoding);e.push(t.combine);e.push(t.vertexUvs);e.push(t.fogExp2);e.push(t.sizeAttenuation);e.push(t.maxBones);e.push(t.morphTargetsCount);e.push(t.numDirLights);e.push(t.numPointLights);e.push(t.numSpotLights);e.push(t.numHemiLights);e.push(t.numRectAreaLights);e.push(t.numDirLightShadows);e.push(t.numPointLightShadows);e.push(t.numSpotLightShadows);e.push(t.shadowMapType);e.push(t.toneMapping);e.push(t.numClippingPlanes);e.push(t.numClipIntersection);e.push(t.format);e.push(t.specularColorMapEncoding);e.push(t.sheenColorMapEncoding)}function getProgramCacheKeyBooleans(e,t){o.disableAll();t.isWebGL2&&o.enable(0);t.supportsVertexTextures&&o.enable(1);t.instancing&&o.enable(2);t.instancingColor&&o.enable(3);t.map&&o.enable(4);t.matcap&&o.enable(5);t.envMap&&o.enable(6);t.envMapCubeUV&&o.enable(7);t.lightMap&&o.enable(8);t.aoMap&&o.enable(9);t.emissiveMap&&o.enable(10);t.bumpMap&&o.enable(11);t.normalMap&&o.enable(12);t.objectSpaceNormalMap&&o.enable(13);t.tangentSpaceNormalMap&&o.enable(14);t.clearcoat&&o.enable(15);t.clearcoatMap&&o.enable(16);t.clearcoatRoughnessMap&&o.enable(17);t.clearcoatNormalMap&&o.enable(18);t.displacementMap&&o.enable(19);t.specularMap&&o.enable(20);t.roughnessMap&&o.enable(21);t.metalnessMap&&o.enable(22);t.gradientMap&&o.enable(23);t.alphaMap&&o.enable(24);t.alphaTest&&o.enable(25);t.vertexColors&&o.enable(26);t.vertexAlphas&&o.enable(27);t.vertexUvs&&o.enable(28);t.vertexTangents&&o.enable(29);t.uvsVertexOnly&&o.enable(30);t.fog&&o.enable(31);e.push(o.mask);o.disableAll();t.useFog&&o.enable(0);t.flatShading&&o.enable(1);t.logarithmicDepthBuffer&&o.enable(2);t.skinning&&o.enable(3);t.useVertexTexture&&o.enable(4);t.morphTargets&&o.enable(5);t.morphNormals&&o.enable(6);t.premultipliedAlpha&&o.enable(7);t.shadowMapEnabled&&o.enable(8);t.physicallyCorrectLights&&o.enable(9);t.doubleSided&&o.enable(10);t.flipSided&&o.enable(11);t.depthPacking&&o.enable(12);t.dithering&&o.enable(13);t.specularIntensityMap&&o.enable(14);t.specularColorMap&&o.enable(15);t.transmission&&o.enable(16);t.transmissionMap&&o.enable(17);t.thicknessMap&&o.enable(18);t.sheen&&o.enable(19);t.sheenColorMap&&o.enable(20);t.sheenRoughnessMap&&o.enable(21);e.push(o.mask)}function getUniforms(e){const t=x[e.type];let n;if(t){const e=$a[t];n=mi.clone(e.uniforms)}else n=e.uniforms;return n}function acquireProgram(t,n){let r;for(let e=0,t=c.length;e<t;e++){const t=c[e];if(t.cacheKey===n){r=t;++r.usedTimes;break}}if(void 0===r){r=new WebGLProgram(e,n,t,s);c.push(r)}return r}function releaseProgram(e){if(0===--e.usedTimes){const t=c.indexOf(e);c[t]=c[c.length-1];c.pop();e.destroy()}}function releaseShaderCache(e){l.remove(e)}function dispose(){l.dispose()}return{getParameters:getParameters,getProgramCacheKey:getProgramCacheKey,getUniforms:getUniforms,acquireProgram:acquireProgram,releaseProgram:releaseProgram,releaseShaderCache:releaseShaderCache,programs:c,dispose:dispose}}function WebGLProperties(){let e=new WeakMap;function get(t){let n=e.get(t);if(void 0===n){n={};e.set(t,n)}return n}function remove(t){e.delete(t)}function update(t,n,r){e.get(t)[n]=r}function dispose(){e=new WeakMap}return{get:get,remove:remove,update:update,dispose:dispose}}function painterSortStable(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function reversePainterSortStable(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function WebGLRenderList(){const e=[];let t=0;const n=[];const r=[];const i=[];function init(){t=0;n.length=0;r.length=0;i.length=0}function getNextRenderItem(n,r,i,s,a,o){let l=e[t];if(void 0===l){l={id:n.id,object:n,geometry:r,material:i,groupOrder:s,renderOrder:n.renderOrder,z:a,group:o};e[t]=l}else{l.id=n.id;l.object=n;l.geometry=r;l.material=i;l.groupOrder=s;l.renderOrder=n.renderOrder;l.z=a;l.group=o}t++;return l}function push(e,t,s,a,o,l){const c=getNextRenderItem(e,t,s,a,o,l);s.transmission>0?r.push(c):true===s.transparent?i.push(c):n.push(c)}function unshift(e,t,s,a,o,l){const c=getNextRenderItem(e,t,s,a,o,l);s.transmission>0?r.unshift(c):true===s.transparent?i.unshift(c):n.unshift(c)}function sort(e,t){n.length>1&&n.sort(e||painterSortStable);r.length>1&&r.sort(t||reversePainterSortStable);i.length>1&&i.sort(t||reversePainterSortStable)}function finish(){for(let n=t,r=e.length;n<r;n++){const t=e[n];if(null===t.id)break;t.id=null;t.object=null;t.geometry=null;t.material=null;t.group=null}}return{opaque:n,transmissive:r,transparent:i,init:init,push:push,unshift:unshift,finish:finish,sort:sort}}function WebGLRenderLists(){let e=new WeakMap;function get(t,n){let r;if(false===e.has(t)){r=new WebGLRenderList;e.set(t,[r])}else if(n>=e.get(t).length){r=new WebGLRenderList;e.get(t).push(r)}else r=e.get(t)[n];return r}function dispose(){e=new WeakMap}return{get:get,dispose:dispose}}function UniformsCache(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={direction:new Vector3,color:new Color};break;case\"SpotLight\":n={position:new Vector3,direction:new Vector3,color:new Color,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case\"PointLight\":n={position:new Vector3,color:new Color,distance:0,decay:0};break;case\"HemisphereLight\":n={direction:new Vector3,skyColor:new Color,groundColor:new Color};break;case\"RectAreaLight\":n={color:new Color,position:new Vector3,halfWidth:new Vector3,halfHeight:new Vector3};break}e[t.id]=n;return n}}}function ShadowUniformsCache(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case\"DirectionalLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"SpotLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case\"PointLight\":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2,shadowCameraNear:1,shadowCameraFar:1e3};break}e[t.id]=n;return n}}}let Io=0;function shadowCastingLightsFirst(e,t){return(t.castShadow?1:0)-(e.castShadow?1:0)}function WebGLLights(e,t){const n=new UniformsCache;const r=ShadowUniformsCache();const i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let e=0;e<9;e++)i.probe.push(new Vector3);const s=new Vector3;const a=new Matrix4;const o=new Matrix4;function setup(s,a){let o=0,l=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0;let h=0;let d=0;let p=0;let f=0;let m=0;let g=0;let y=0;s.sort(shadowCastingLightsFirst);const x=true!==a?Math.PI:1;for(let e=0,t=s.length;e<t;e++){const t=s[e];const a=t.color;const b=t.intensity;const _=t.distance;const M=t.shadow&&t.shadow.map?t.shadow.map.texture:null;if(t.isAmbientLight){o+=a.r*b*x;l+=a.g*b*x;c+=a.b*b*x}else if(t.isLightProbe)for(let e=0;e<9;e++)i.probe[e].addScaledVector(t.sh.coefficients[e],b);else if(t.isDirectionalLight){const e=n.get(t);e.color.copy(t.color).multiplyScalar(t.intensity*x);if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;i.directionalShadow[u]=n;i.directionalShadowMap[u]=M;i.directionalShadowMatrix[u]=t.shadow.matrix;m++}i.directional[u]=e;u++}else if(t.isSpotLight){const e=n.get(t);e.position.setFromMatrixPosition(t.matrixWorld);e.color.copy(a).multiplyScalar(b*x);e.distance=_;e.coneCos=Math.cos(t.angle);e.penumbraCos=Math.cos(t.angle*(1-t.penumbra));e.decay=t.decay;if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;i.spotShadow[d]=n;i.spotShadowMap[d]=M;i.spotShadowMatrix[d]=t.shadow.matrix;y++}i.spot[d]=e;d++}else if(t.isRectAreaLight){const e=n.get(t);e.color.copy(a).multiplyScalar(b);e.halfWidth.set(.5*t.width,0,0);e.halfHeight.set(0,.5*t.height,0);i.rectArea[p]=e;p++}else if(t.isPointLight){const e=n.get(t);e.color.copy(t.color).multiplyScalar(t.intensity*x);e.distance=t.distance;e.decay=t.decay;if(t.castShadow){const e=t.shadow;const n=r.get(t);n.shadowBias=e.bias;n.shadowNormalBias=e.normalBias;n.shadowRadius=e.radius;n.shadowMapSize=e.mapSize;n.shadowCameraNear=e.camera.near;n.shadowCameraFar=e.camera.far;i.pointShadow[h]=n;i.pointShadowMap[h]=M;i.pointShadowMatrix[h]=t.shadow.matrix;g++}i.point[h]=e;h++}else if(t.isHemisphereLight){const e=n.get(t);e.skyColor.copy(t.color).multiplyScalar(b*x);e.groundColor.copy(t.groundColor).multiplyScalar(b*x);i.hemi[f]=e;f++}}if(p>0)if(t.isWebGL2){i.rectAreaLTC1=Ka.LTC_FLOAT_1;i.rectAreaLTC2=Ka.LTC_FLOAT_2}else if(true===e.has(\"OES_texture_float_linear\")){i.rectAreaLTC1=Ka.LTC_FLOAT_1;i.rectAreaLTC2=Ka.LTC_FLOAT_2}else if(true===e.has(\"OES_texture_half_float_linear\")){i.rectAreaLTC1=Ka.LTC_HALF_1;i.rectAreaLTC2=Ka.LTC_HALF_2}else console.error(\"THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.\");i.ambient[0]=o;i.ambient[1]=l;i.ambient[2]=c;const b=i.hash;if(b.directionalLength!==u||b.pointLength!==h||b.spotLength!==d||b.rectAreaLength!==p||b.hemiLength!==f||b.numDirectionalShadows!==m||b.numPointShadows!==g||b.numSpotShadows!==y){i.directional.length=u;i.spot.length=d;i.rectArea.length=p;i.point.length=h;i.hemi.length=f;i.directionalShadow.length=m;i.directionalShadowMap.length=m;i.pointShadow.length=g;i.pointShadowMap.length=g;i.spotShadow.length=y;i.spotShadowMap.length=y;i.directionalShadowMatrix.length=m;i.pointShadowMatrix.length=g;i.spotShadowMatrix.length=y;b.directionalLength=u;b.pointLength=h;b.spotLength=d;b.rectAreaLength=p;b.hemiLength=f;b.numDirectionalShadows=m;b.numPointShadows=g;b.numSpotShadows=y;i.version=Io++}}function setupView(e,t){let n=0;let r=0;let l=0;let c=0;let u=0;const h=t.matrixWorldInverse;for(let t=0,d=e.length;t<d;t++){const d=e[t];if(d.isDirectionalLight){const e=i.directional[n];e.direction.setFromMatrixPosition(d.matrixWorld);s.setFromMatrixPosition(d.target.matrixWorld);e.direction.sub(s);e.direction.transformDirection(h);n++}else if(d.isSpotLight){const e=i.spot[l];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);e.direction.setFromMatrixPosition(d.matrixWorld);s.setFromMatrixPosition(d.target.matrixWorld);e.direction.sub(s);e.direction.transformDirection(h);l++}else if(d.isRectAreaLight){const e=i.rectArea[c];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);o.identity();a.copy(d.matrixWorld);a.premultiply(h);o.extractRotation(a);e.halfWidth.set(.5*d.width,0,0);e.halfHeight.set(0,.5*d.height,0);e.halfWidth.applyMatrix4(o);e.halfHeight.applyMatrix4(o);c++}else if(d.isPointLight){const e=i.point[r];e.position.setFromMatrixPosition(d.matrixWorld);e.position.applyMatrix4(h);r++}else if(d.isHemisphereLight){const e=i.hemi[u];e.direction.setFromMatrixPosition(d.matrixWorld);e.direction.transformDirection(h);e.direction.normalize();u++}}}return{setup:setup,setupView:setupView,state:i}}function WebGLRenderState(e,t){const n=new WebGLLights(e,t);const r=[];const i=[];function init(){r.length=0;i.length=0}function pushLight(e){r.push(e)}function pushShadow(e){i.push(e)}function setupLights(e){n.setup(r,e)}function setupLightsView(e){n.setupView(r,e)}const s={lightsArray:r,shadowsArray:i,lights:n};return{init:init,state:s,setupLights:setupLights,setupLightsView:setupLightsView,pushLight:pushLight,pushShadow:pushShadow}}function WebGLRenderStates(e,t){let n=new WeakMap;function get(r,i=0){let s;if(false===n.has(r)){s=new WebGLRenderState(e,t);n.set(r,[s])}else if(i>=n.get(r).length){s=new WebGLRenderState(e,t);n.get(r).push(s)}else s=n.get(r)[i];return s}function dispose(){n=new WeakMap}return{get:get,dispose:dispose}}class MeshDepthMaterial extends Material{constructor(e){super();this.type=\"MeshDepthMaterial\";this.depthPacking=Yt;this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.setValues(e)}copy(e){super.copy(e);this.depthPacking=e.depthPacking;this.map=e.map;this.alphaMap=e.alphaMap;this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;return this}}MeshDepthMaterial.prototype.isMeshDepthMaterial=true;class MeshDistanceMaterial extends Material{constructor(e){super();this.type=\"MeshDistanceMaterial\";this.referencePosition=new Vector3;this.nearDistance=1;this.farDistance=1e3;this.map=null;this.alphaMap=null;this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.fog=false;this.setValues(e)}copy(e){super.copy(e);this.referencePosition.copy(e.referencePosition);this.nearDistance=e.nearDistance;this.farDistance=e.farDistance;this.map=e.map;this.alphaMap=e.alphaMap;this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;return this}}MeshDistanceMaterial.prototype.isMeshDistanceMaterial=true;const Do=\"void main() {\\n\\tgl_Position = vec4( position, 1.0 );\\n}\";const Bo=\"uniform sampler2D shadow_pass;\\nuniform vec2 resolution;\\nuniform float radius;\\n#include <packing>\\nvoid main() {\\n\\tconst float samples = float( VSM_SAMPLES );\\n\\tfloat mean = 0.0;\\n\\tfloat squared_mean = 0.0;\\n\\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\\n\\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\\n\\tfor ( float i = 0.0; i < samples; i ++ ) {\\n\\t\\tfloat uvOffset = uvStart + i * uvStride;\\n\\t\\t#ifdef HORIZONTAL_PASS\\n\\t\\t\\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\\n\\t\\t\\tmean += distribution.x;\\n\\t\\t\\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\\n\\t\\t#else\\n\\t\\t\\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\\n\\t\\t\\tmean += depth;\\n\\t\\t\\tsquared_mean += depth * depth;\\n\\t\\t#endif\\n\\t}\\n\\tmean = mean / samples;\\n\\tsquared_mean = squared_mean / samples;\\n\\tfloat std_dev = sqrt( squared_mean - mean * mean );\\n\\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\\n}\";function WebGLShadowMap(e,t,n){let r=new Frustum;const i=new Vector2,s=new Vector2,a=new Vector4,o=new MeshDepthMaterial({depthPacking:Zt}),c=new MeshDistanceMaterial,f={},m=n.maxTextureSize;const y={0:d,1:h,2:p};const x=new ShaderMaterial({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vector2},radius:{value:4}},vertexShader:Do,fragmentShader:Bo});const b=x.clone();b.defines.HORIZONTAL_PASS=1;const _=new BufferGeometry;_.setAttribute(\"position\",new BufferAttribute(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const M=new Mesh(_,x);const w=this;this.enabled=false;this.autoUpdate=true;this.needsUpdate=false;this.type=l;this.render=function(t,n,o){if(false===w.enabled)return;if(false===w.autoUpdate&&false===w.needsUpdate)return;if(0===t.length)return;const l=e.getRenderTarget();const c=e.getActiveCubeFace();const h=e.getActiveMipmapLevel();const d=e.state;d.setBlending(g);d.buffers.color.setClear(1,1,1,1);d.buffers.depth.setTest(true);d.setScissorTest(false);for(let l=0,c=t.length;l<c;l++){const c=t[l];const h=c.shadow;if(void 0===h){console.warn(\"THREE.WebGLShadowMap:\",c,\"has no shadow.\");continue}if(false===h.autoUpdate&&false===h.needsUpdate)continue;i.copy(h.mapSize);const p=h.getFrameExtents();i.multiply(p);s.copy(h.mapSize);if(i.x>m||i.y>m){if(i.x>m){s.x=Math.floor(m/p.x);i.x=s.x*p.x;h.mapSize.x=s.x}if(i.y>m){s.y=Math.floor(m/p.y);i.y=s.y*p.y;h.mapSize.y=s.y}}if(null===h.map&&!h.isPointLightShadow&&this.type===u){const e={minFilter:ye,magFilter:ye,format:Ne};h.map=new WebGLRenderTarget(i.x,i.y,e);h.map.texture.name=c.name+\".shadowMap\";h.mapPass=new WebGLRenderTarget(i.x,i.y,e);h.camera.updateProjectionMatrix()}if(null===h.map){const e={minFilter:de,magFilter:de,format:Ne};h.map=new WebGLRenderTarget(i.x,i.y,e);h.map.texture.name=c.name+\".shadowMap\";h.camera.updateProjectionMatrix()}e.setRenderTarget(h.map);e.clear();const f=h.getViewportCount();for(let e=0;e<f;e++){const t=h.getViewport(e);a.set(s.x*t.x,s.y*t.y,s.x*t.z,s.y*t.w);d.viewport(a);h.updateMatrices(c,e);r=h.getFrustum();renderObject(n,o,h.camera,c,this.type)}h.isPointLightShadow||this.type!==u||VSMPass(h,o);h.needsUpdate=false}w.needsUpdate=false;e.setRenderTarget(l,c,h)};function VSMPass(n,r){const i=t.update(M);if(x.defines.VSM_SAMPLES!==n.blurSamples){x.defines.VSM_SAMPLES=n.blurSamples;b.defines.VSM_SAMPLES=n.blurSamples;x.needsUpdate=true;b.needsUpdate=true}x.uniforms.shadow_pass.value=n.map.texture;x.uniforms.resolution.value=n.mapSize;x.uniforms.radius.value=n.radius;e.setRenderTarget(n.mapPass);e.clear();e.renderBufferDirect(r,null,i,x,M,null);b.uniforms.shadow_pass.value=n.mapPass.texture;b.uniforms.resolution.value=n.mapSize;b.uniforms.radius.value=n.radius;e.setRenderTarget(n.map);e.clear();e.renderBufferDirect(r,null,i,b,M,null)}function getDepthMaterial(t,n,r,i,s,a,l){let h=null;const d=true===i.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;h=void 0!==d?d:true===i.isPointLight?c:o;if(e.localClippingEnabled&&true===r.clipShadows&&0!==r.clippingPlanes.length||r.displacementMap&&0!==r.displacementScale||r.alphaMap&&r.alphaTest>0){const e=h.uuid,t=r.uuid;let n=f[e];if(void 0===n){n={};f[e]=n}let i=n[t];if(void 0===i){i=h.clone();n[t]=i}h=i}h.visible=r.visible;h.wireframe=r.wireframe;h.side=l===u?null!==r.shadowSide?r.shadowSide:r.side:null!==r.shadowSide?r.shadowSide:y[r.side];h.alphaMap=r.alphaMap;h.alphaTest=r.alphaTest;h.clipShadows=r.clipShadows;h.clippingPlanes=r.clippingPlanes;h.clipIntersection=r.clipIntersection;h.displacementMap=r.displacementMap;h.displacementScale=r.displacementScale;h.displacementBias=r.displacementBias;h.wireframeLinewidth=r.wireframeLinewidth;h.linewidth=r.linewidth;if(true===i.isPointLight&&true===h.isMeshDistanceMaterial){h.referencePosition.setFromMatrixPosition(i.matrixWorld);h.nearDistance=s;h.farDistance=a}return h}function renderObject(n,i,s,a,o){if(false===n.visible)return;const l=n.layers.test(i.layers);if(l&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===u)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse,n.matrixWorld);const r=t.update(n);const i=n.material;if(Array.isArray(i)){const t=r.groups;for(let l=0,c=t.length;l<c;l++){const c=t[l];const u=i[c.materialIndex];if(u&&u.visible){const t=getDepthMaterial(n,r,u,a,s.near,s.far,o);e.renderBufferDirect(s,null,r,t,n,c)}}}else if(i.visible){const t=getDepthMaterial(n,r,i,a,s.near,s.far,o);e.renderBufferDirect(s,null,r,t,n,null)}}const c=n.children;for(let e=0,t=c.length;e<t;e++)renderObject(c[e],i,s,a,o)}}function WebGLState(e,t,n){const a=n.isWebGL2;function ColorBuffer(){let t=false;const n=new Vector4;let r=null;const i=new Vector4(0,0,0,0);return{setMask:function(n){if(r!==n&&!t){e.colorMask(n,n,n,n);r=n}},setLocked:function(e){t=e},setClear:function(t,r,s,a,o){if(true===o){t*=a;r*=a;s*=a}n.set(t,r,s,a);if(false===i.equals(n)){e.clearColor(t,r,s,a);i.copy(n)}},reset:function(){t=false;r=null;i.set(-1,0,0,0)}}}function DepthBuffer(){let t=false;let n=null;let r=null;let i=null;return{setTest:function(e){e?enable(2929):disable(2929)},setMask:function(r){if(n!==r&&!t){e.depthMask(r);n=r}},setFunc:function(t){if(r!==t){if(t)switch(t){case G:e.depthFunc(512);break;case F:e.depthFunc(519);break;case O:e.depthFunc(513);break;case H:e.depthFunc(515);break;case k:e.depthFunc(514);break;case W:e.depthFunc(518);break;case j:e.depthFunc(516);break;case q:e.depthFunc(517);break;default:e.depthFunc(515)}else e.depthFunc(515);r=t}},setLocked:function(e){t=e},setClear:function(t){if(i!==t){e.clearDepth(t);i=t}},reset:function(){t=false;n=null;r=null;i=null}}}function StencilBuffer(){let t=false;let n=null;let r=null;let i=null;let s=null;let a=null;let o=null;let l=null;let c=null;return{setTest:function(e){t||(e?enable(2960):disable(2960))},setMask:function(r){if(n!==r&&!t){e.stencilMask(r);n=r}},setFunc:function(t,n,a){if(r!==t||i!==n||s!==a){e.stencilFunc(t,n,a);r=t;i=n;s=a}},setOp:function(t,n,r){if(a!==t||o!==n||l!==r){e.stencilOp(t,n,r);a=t;o=n;l=r}},setLocked:function(e){t=e},setClear:function(t){if(c!==t){e.clearStencil(t);c=t}},reset:function(){t=false;n=null;r=null;i=null;s=null;a=null;o=null;l=null;c=null}}}const o=new ColorBuffer;const l=new DepthBuffer;const c=new StencilBuffer;let u={};let h={};let f=null;let m=false;let X=null;let J=null;let Y=null;let Z=null;let Q=null;let K=null;let $=null;let ee=false;let te=null;let ne=null;let re=null;let ie=null;let se=null;const ae=e.getParameter(35661);let oe=false;let le=0;const ce=e.getParameter(7938);if(-1!==ce.indexOf(\"WebGL\")){le=parseFloat(/^WebGL (\\d)/.exec(ce)[1]);oe=le>=1}else if(-1!==ce.indexOf(\"OpenGL ES\")){le=parseFloat(/^OpenGL ES (\\d)/.exec(ce)[1]);oe=le>=2}let ue=null;let he={};const de=e.getParameter(3088);const pe=e.getParameter(2978);const fe=(new Vector4).fromArray(de);const me=(new Vector4).fromArray(pe);function createTexture(t,n,r){const i=new Uint8Array(4);const s=e.createTexture();e.bindTexture(t,s);e.texParameteri(t,10241,9728);e.texParameteri(t,10240,9728);for(let t=0;t<r;t++)e.texImage2D(n+t,0,6408,1,1,0,6408,5121,i);return s}const ge={};ge[3553]=createTexture(3553,3553,1);ge[34067]=createTexture(34067,34069,6);o.setClear(0,0,0,1);l.setClear(1);c.setClear(0);enable(2929);l.setFunc(H);setFlipSided(false);setCullFace(i);enable(2884);setBlending(g);function enable(t){if(true!==u[t]){e.enable(t);u[t]=true}}function disable(t){if(false!==u[t]){e.disable(t);u[t]=false}}function bindFramebuffer(t,n){if(h[t]!==n){e.bindFramebuffer(t,n);h[t]=n;if(a){36009===t&&(h[36160]=n);36160===t&&(h[36009]=n)}return true}return false}function useProgram(t){if(f!==t){e.useProgram(t);f=t;return true}return false}const ye={[w]:32774,[S]:32778,[T]:32779};if(a){ye[E]=32775;ye[A]=32776}else{const e=t.get(\"EXT_blend_minmax\");if(null!==e){ye[E]=e.MIN_EXT;ye[A]=e.MAX_EXT}}const ve={[L]:0,[C]:1,[R]:768,[I]:770,[z]:776,[N]:774,[B]:772,[P]:769,[D]:771,[U]:775,[V]:773};function setBlending(t,n,r,i,s,a,o,l){if(t!==g){if(false===m){enable(3042);m=true}if(t===M){s=s||n;a=a||r;o=o||i;if(n!==J||s!==Q){e.blendEquationSeparate(ye[n],ye[s]);J=n;Q=s}if(r!==Y||i!==Z||a!==K||o!==$){e.blendFuncSeparate(ve[r],ve[i],ve[a],ve[o]);Y=r;Z=i;K=a;$=o}X=t;ee=null}else if(t!==X||l!==ee){if(J!==w||Q!==w){e.blendEquation(32774);J=w;Q=w}if(l)switch(t){case y:e.blendFuncSeparate(1,771,1,771);break;case x:e.blendFunc(1,1);break;case b:e.blendFuncSeparate(0,0,769,771);break;case _:e.blendFuncSeparate(0,768,0,770);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",t);break}else switch(t){case y:e.blendFuncSeparate(770,771,1,771);break;case x:e.blendFunc(770,1);break;case b:e.blendFunc(0,769);break;case _:e.blendFunc(0,768);break;default:console.error(\"THREE.WebGLState: Invalid blending: \",t);break}Y=null;Z=null;K=null;$=null;X=t;ee=l}}else if(true===m){disable(3042);m=false}}function setMaterial(e,t){e.side===p?disable(2884):enable(2884);let n=e.side===d;t&&(n=!n);setFlipSided(n);e.blending===y&&false===e.transparent?setBlending(g):setBlending(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha);l.setFunc(e.depthFunc);l.setTest(e.depthTest);l.setMask(e.depthWrite);o.setMask(e.colorWrite);const r=e.stencilWrite;c.setTest(r);if(r){c.setMask(e.stencilWriteMask);c.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask);c.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)}setPolygonOffset(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits);true===e.alphaToCoverage?enable(32926):disable(32926)}function setFlipSided(t){if(te!==t){t?e.frontFace(2304):e.frontFace(2305);te=t}}function setCullFace(t){if(t!==r){enable(2884);t!==ne&&(t===i?e.cullFace(1029):t===s?e.cullFace(1028):e.cullFace(1032))}else disable(2884);ne=t}function setLineWidth(t){if(t!==re){oe&&e.lineWidth(t);re=t}}function setPolygonOffset(t,n,r){if(t){enable(32823);if(ie!==n||se!==r){e.polygonOffset(n,r);ie=n;se=r}}else disable(32823)}function setScissorTest(e){e?enable(3089):disable(3089)}function activeTexture(t){void 0===t&&(t=33984+ae-1);if(ue!==t){e.activeTexture(t);ue=t}}function bindTexture(t,n){null===ue&&activeTexture();let r=he[ue];if(void 0===r){r={type:void 0,texture:void 0};he[ue]=r}if(r.type!==t||r.texture!==n){e.bindTexture(t,n||ge[t]);r.type=t;r.texture=n}}function unbindTexture(){const t=he[ue];if(void 0!==t&&void 0!==t.type){e.bindTexture(t.type,null);t.type=void 0;t.texture=void 0}}function compressedTexImage2D(){try{e.compressedTexImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texSubImage2D(){try{e.texSubImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texSubImage3D(){try{e.texSubImage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function compressedTexSubImage2D(){try{e.compressedTexSubImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texStorage2D(){try{e.texStorage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texStorage3D(){try{e.texStorage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texImage2D(){try{e.texImage2D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function texImage3D(){try{e.texImage3D.apply(e,arguments)}catch(e){console.error(\"THREE.WebGLState:\",e)}}function scissor(t){if(false===fe.equals(t)){e.scissor(t.x,t.y,t.z,t.w);fe.copy(t)}}function viewport(t){if(false===me.equals(t)){e.viewport(t.x,t.y,t.z,t.w);me.copy(t)}}function reset(){e.disable(3042);e.disable(2884);e.disable(2929);e.disable(32823);e.disable(3089);e.disable(2960);e.disable(32926);e.blendEquation(32774);e.blendFunc(1,0);e.blendFuncSeparate(1,0,1,0);e.colorMask(true,true,true,true);e.clearColor(0,0,0,0);e.depthMask(true);e.depthFunc(513);e.clearDepth(1);e.stencilMask(4294967295);e.stencilFunc(519,0,4294967295);e.stencilOp(7680,7680,7680);e.clearStencil(0);e.cullFace(1029);e.frontFace(2305);e.polygonOffset(0,0);e.activeTexture(33984);e.bindFramebuffer(36160,null);if(true===a){e.bindFramebuffer(36009,null);e.bindFramebuffer(36008,null)}e.useProgram(null);e.lineWidth(1);e.scissor(0,0,e.canvas.width,e.canvas.height);e.viewport(0,0,e.canvas.width,e.canvas.height);u={};ue=null;he={};h={};f=null;m=false;X=null;J=null;Y=null;Z=null;Q=null;K=null;$=null;ee=false;te=null;ne=null;re=null;ie=null;se=null;fe.set(0,0,e.canvas.width,e.canvas.height);me.set(0,0,e.canvas.width,e.canvas.height);o.reset();l.reset();c.reset()}return{buffers:{color:o,depth:l,stencil:c},enable:enable,disable:disable,bindFramebuffer:bindFramebuffer,useProgram:useProgram,setBlending:setBlending,setMaterial:setMaterial,setFlipSided:setFlipSided,setCullFace:setCullFace,setLineWidth:setLineWidth,setPolygonOffset:setPolygonOffset,setScissorTest:setScissorTest,activeTexture:activeTexture,bindTexture:bindTexture,unbindTexture:unbindTexture,compressedTexImage2D:compressedTexImage2D,texImage2D:texImage2D,texImage3D:texImage3D,texStorage2D:texStorage2D,texStorage3D:texStorage3D,texSubImage2D:texSubImage2D,texSubImage3D:texSubImage3D,compressedTexSubImage2D:compressedTexSubImage2D,scissor:scissor,viewport:viewport,reset:reset}}function WebGLTextures(e,t,n,r,i,s,a){const o=i.isWebGL2;const l=i.maxTextures;const c=i.maxCubemapSize;const u=i.maxTextureSize;const h=i.maxSamples;const d=t.has(\"WEBGL_multisampled_render_to_texture\");const p=d?t.get(\"WEBGL_multisampled_render_to_texture\"):void 0;const f=new WeakMap;let m;let g=false;try{g=\"undefined\"!==typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext(\"2d\")}catch(e){}function createCanvas(e,t){return g?new OffscreenCanvas(e,t):createElementNS(\"canvas\")}function resizeImage(e,t,n,r){let i=1;(e.width>r||e.height>r)&&(i=r/Math.max(e.width,e.height));if(i<1||true===t){if(\"undefined\"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||\"undefined\"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||\"undefined\"!==typeof ImageBitmap&&e instanceof ImageBitmap){const r=t?floorPowerOfTwo:Math.floor;const s=r(i*e.width);const a=r(i*e.height);void 0===m&&(m=createCanvas(s,a));const o=n?createCanvas(s,a):m;o.width=s;o.height=a;const l=o.getContext(\"2d\");l.drawImage(e,0,0,s,a);console.warn(\"THREE.WebGLRenderer: Texture has been resized from (\"+e.width+\"x\"+e.height+\") to (\"+s+\"x\"+a+\").\");return o}\"data\"in e&&console.warn(\"THREE.WebGLRenderer: Image in DataTexture is too big (\"+e.width+\"x\"+e.height+\").\");return e}return e}function isPowerOfTwo$1(e){return isPowerOfTwo(e.width)&&isPowerOfTwo(e.height)}function textureNeedsPowerOfTwo(e){return!o&&(e.wrapS!==ue||e.wrapT!==ue||e.minFilter!==de&&e.minFilter!==ye)}function textureNeedsGenerateMipmaps(e,t){return e.generateMipmaps&&t&&e.minFilter!==de&&e.minFilter!==ye}function generateMipmap(t){e.generateMipmap(t)}function getInternalFormat(n,r,i,s){if(false===o)return r;if(null!==n){if(void 0!==e[n])return e[n];console.warn(\"THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '\"+n+\"'\")}let a=r;if(6403===r){5126===i&&(a=33326);5131===i&&(a=33325);5121===i&&(a=33321)}if(6407===r){5126===i&&(a=34837);5131===i&&(a=34843);5121===i&&(a=32849)}if(6408===r){5126===i&&(a=34836);5131===i&&(a=34842);5121===i&&(a=s===Jt?35907:32856)}33325!==a&&33326!==a&&34842!==a&&34836!==a||t.get(\"EXT_color_buffer_float\");return a}function getMipLevels(e,t,n){return true===textureNeedsGenerateMipmaps(e,n)||e.isFramebufferTexture&&e.minFilter!==de&&e.minFilter!==ye?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function filterFallback(e){return e===de||e===pe||e===me?9728:9729}function onTextureDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onTextureDispose);deallocateTexture(t);t.isVideoTexture&&f.delete(t);a.memory.textures--}function onRenderTargetDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onRenderTargetDispose);deallocateRenderTarget(t)}function deallocateTexture(t){const n=r.get(t);if(void 0!==n.__webglInit){e.deleteTexture(n.__webglTexture);r.remove(t)}}function deallocateRenderTarget(t){const n=t.texture;const i=r.get(t);const s=r.get(n);if(t){if(void 0!==s.__webglTexture){e.deleteTexture(s.__webglTexture);a.memory.textures--}t.depthTexture&&t.depthTexture.dispose();if(t.isWebGLCubeRenderTarget)for(let t=0;t<6;t++){e.deleteFramebuffer(i.__webglFramebuffer[t]);i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer[t])}else{e.deleteFramebuffer(i.__webglFramebuffer);i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer);i.__webglMultisampledFramebuffer&&e.deleteFramebuffer(i.__webglMultisampledFramebuffer);i.__webglColorRenderbuffer&&e.deleteRenderbuffer(i.__webglColorRenderbuffer);i.__webglDepthRenderbuffer&&e.deleteRenderbuffer(i.__webglDepthRenderbuffer)}if(t.isWebGLMultipleRenderTargets)for(let t=0,i=n.length;t<i;t++){const i=r.get(n[t]);if(i.__webglTexture){e.deleteTexture(i.__webglTexture);a.memory.textures--}r.remove(n[t])}r.remove(n);r.remove(t)}}let y=0;function resetTextureUnits(){y=0}function allocateTextureUnit(){const e=y;e>=l&&console.warn(\"THREE.WebGLTextures: Trying to use \"+e+\" texture units while this GPU supports only \"+l);y+=1;return e}function setTexture2D(e,t){const i=r.get(e);e.isVideoTexture&&updateVideoTexture(e);if(e.version>0&&i.__version!==e.version){const n=e.image;if(void 0===n)console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is undefined\");else{if(false!==n.complete){uploadTexture(i,e,t);return}console.warn(\"THREE.WebGLRenderer: Texture marked for update but image is incomplete\")}}n.activeTexture(33984+t);n.bindTexture(3553,i.__webglTexture)}function setTexture2DArray(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(35866,i.__webglTexture)}}function setTexture3D(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(32879,i.__webglTexture)}}function setTextureCube(e,t){const i=r.get(e);if(e.version>0&&i.__version!==e.version)uploadCubeTexture(i,e,t);else{n.activeTexture(33984+t);n.bindTexture(34067,i.__webglTexture)}}const x={[ce]:10497,[ue]:33071,[he]:33648};const b={[de]:9728,[pe]:9984,[me]:9986,[ye]:9729,[ve]:9985,[be]:9987};function setTextureParameters(n,s,a){if(a){e.texParameteri(n,10242,x[s.wrapS]);e.texParameteri(n,10243,x[s.wrapT]);32879!==n&&35866!==n||e.texParameteri(n,32882,x[s.wrapR]);e.texParameteri(n,10240,b[s.magFilter]);e.texParameteri(n,10241,b[s.minFilter])}else{e.texParameteri(n,10242,33071);e.texParameteri(n,10243,33071);32879!==n&&35866!==n||e.texParameteri(n,32882,33071);s.wrapS===ue&&s.wrapT===ue||console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.\");e.texParameteri(n,10240,filterFallback(s.magFilter));e.texParameteri(n,10241,filterFallback(s.minFilter));s.minFilter!==de&&s.minFilter!==ye&&console.warn(\"THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.\")}if(true===t.has(\"EXT_texture_filter_anisotropic\")){const a=t.get(\"EXT_texture_filter_anisotropic\");if(s.type===Le&&false===t.has(\"OES_texture_float_linear\"))return;if(false===o&&s.type===Ce&&false===t.has(\"OES_texture_half_float_linear\"))return;if(s.anisotropy>1||r.get(s).__currentAnisotropy){e.texParameterf(n,a.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(s.anisotropy,i.getMaxAnisotropy()));r.get(s).__currentAnisotropy=s.anisotropy}}}function initTexture(t,n){if(void 0===t.__webglInit){t.__webglInit=true;n.addEventListener(\"dispose\",onTextureDispose);t.__webglTexture=e.createTexture();a.memory.textures++}}function uploadTexture(t,r,i){let a=3553;r.isDataTexture2DArray&&(a=35866);r.isDataTexture3D&&(a=32879);initTexture(t,r);n.activeTexture(33984+i);n.bindTexture(a,t.__webglTexture);e.pixelStorei(37440,r.flipY);e.pixelStorei(37441,r.premultiplyAlpha);e.pixelStorei(3317,r.unpackAlignment);e.pixelStorei(37443,0);const l=textureNeedsPowerOfTwo(r)&&false===isPowerOfTwo$1(r.image);const c=resizeImage(r.image,l,false,u);const h=isPowerOfTwo$1(c)||o,d=s.convert(r.format);let p=s.convert(r.type),f=getInternalFormat(r.internalFormat,d,p,r.encoding);setTextureParameters(a,r,h);let m;const g=r.mipmaps;const y=o&&true!==r.isVideoTexture;const x=void 0===t.__version;const b=getMipLevels(r,c,h);if(r.isDepthTexture){f=6402;o?f=r.type===Le?36012:r.type===Ae?33190:r.type===De?35056:33189:r.type===Le&&console.error(\"WebGLRenderer: Floating point depth texture requires WebGL2.\");if(r.format===Ge&&6402===f&&r.type!==Te&&r.type!==Ae){console.warn(\"THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.\");r.type=Te;p=s.convert(r.type)}if(r.format===Fe&&6402===f){f=34041;if(r.type!==De){console.warn(\"THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.\");r.type=De;p=s.convert(r.type)}}y&&x?n.texStorage2D(3553,1,f,c.width,c.height):n.texImage2D(3553,0,f,c.width,c.height,0,d,p,null)}else if(r.isDataTexture)if(g.length>0&&h){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];y?n.texSubImage2D(3553,0,0,0,m.width,m.height,d,p,m.data):n.texImage2D(3553,e,f,m.width,m.height,0,d,p,m.data)}r.generateMipmaps=false}else if(y){x&&n.texStorage2D(3553,b,f,c.width,c.height);n.texSubImage2D(3553,0,0,0,c.width,c.height,d,p,c.data)}else n.texImage2D(3553,0,f,c.width,c.height,0,d,p,c.data);else if(r.isCompressedTexture){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];r.format!==Ne&&r.format!==Ve?null!==d?y?n.compressedTexSubImage2D(3553,e,0,0,m.width,m.height,d,m.data):n.compressedTexImage2D(3553,e,f,m.width,m.height,0,m.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()\"):y?n.texSubImage2D(3553,e,0,0,m.width,m.height,d,p,m.data):n.texImage2D(3553,e,f,m.width,m.height,0,d,p,m.data)}}else if(r.isDataTexture2DArray)if(y){x&&n.texStorage3D(35866,b,f,c.width,c.height,c.depth);n.texSubImage3D(35866,0,0,0,0,c.width,c.height,c.depth,d,p,c.data)}else n.texImage3D(35866,0,f,c.width,c.height,c.depth,0,d,p,c.data);else if(r.isDataTexture3D)if(y){x&&n.texStorage3D(32879,b,f,c.width,c.height,c.depth);n.texSubImage3D(32879,0,0,0,0,c.width,c.height,c.depth,d,p,c.data)}else n.texImage3D(32879,0,f,c.width,c.height,c.depth,0,d,p,c.data);else if(r.isFramebufferTexture)y&&x?n.texStorage2D(3553,b,f,c.width,c.height):n.texImage2D(3553,0,f,c.width,c.height,0,d,p,null);else if(g.length>0&&h){y&&x&&n.texStorage2D(3553,b,f,g[0].width,g[0].height);for(let e=0,t=g.length;e<t;e++){m=g[e];y?n.texSubImage2D(3553,e,0,0,d,p,m):n.texImage2D(3553,e,f,d,p,m)}r.generateMipmaps=false}else if(y){x&&n.texStorage2D(3553,b,f,c.width,c.height);n.texSubImage2D(3553,0,0,0,d,p,c)}else n.texImage2D(3553,0,f,d,p,c);textureNeedsGenerateMipmaps(r,h)&&generateMipmap(a);t.__version=r.version;r.onUpdate&&r.onUpdate(r)}function uploadCubeTexture(t,r,i){if(6!==r.image.length)return;initTexture(t,r);n.activeTexture(33984+i);n.bindTexture(34067,t.__webglTexture);e.pixelStorei(37440,r.flipY);e.pixelStorei(37441,r.premultiplyAlpha);e.pixelStorei(3317,r.unpackAlignment);e.pixelStorei(37443,0);const a=r&&(r.isCompressedTexture||r.image[0].isCompressedTexture);const l=r.image[0]&&r.image[0].isDataTexture;const u=[];for(let e=0;e<6;e++)u[e]=a||l?l?r.image[e].image:r.image[e]:resizeImage(r.image[e],false,true,c);const h=u[0],d=isPowerOfTwo$1(h)||o,p=s.convert(r.format),f=s.convert(r.type),m=getInternalFormat(r.internalFormat,p,f,r.encoding);const g=o&&true!==r.isVideoTexture;const y=void 0===t.__version;let x=getMipLevels(r,h,d);setTextureParameters(34067,r,d);let b;if(a){g&&y&&n.texStorage2D(34067,x,m,h.width,h.height);for(let e=0;e<6;e++){b=u[e].mipmaps;for(let t=0;t<b.length;t++){const i=b[t];r.format!==Ne&&r.format!==Ve?null!==p?g?n.compressedTexSubImage2D(34069+e,t,0,0,i.width,i.height,p,i.data):n.compressedTexImage2D(34069+e,t,m,i.width,i.height,0,i.data):console.warn(\"THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()\"):g?n.texSubImage2D(34069+e,t,0,0,i.width,i.height,p,f,i.data):n.texImage2D(34069+e,t,m,i.width,i.height,0,p,f,i.data)}}}else{b=r.mipmaps;if(g&&y){b.length>0&&x++;n.texStorage2D(34067,x,m,u[0].width,u[0].height)}for(let e=0;e<6;e++)if(l){g?n.texSubImage2D(34069+e,0,0,0,u[e].width,u[e].height,p,f,u[e].data):n.texImage2D(34069+e,0,m,u[e].width,u[e].height,0,p,f,u[e].data);for(let t=0;t<b.length;t++){const r=b[t];const i=r.image[e].image;g?n.texSubImage2D(34069+e,t+1,0,0,i.width,i.height,p,f,i.data):n.texImage2D(34069+e,t+1,m,i.width,i.height,0,p,f,i.data)}}else{g?n.texSubImage2D(34069+e,0,0,0,p,f,u[e]):n.texImage2D(34069+e,0,m,p,f,u[e]);for(let t=0;t<b.length;t++){const r=b[t];g?n.texSubImage2D(34069+e,t+1,0,0,p,f,r.image[e]):n.texImage2D(34069+e,t+1,m,p,f,r.image[e])}}}textureNeedsGenerateMipmaps(r,d)&&generateMipmap(34067);t.__version=r.version;r.onUpdate&&r.onUpdate(r)}function setupFrameBufferTexture(t,i,a,o,l){const c=s.convert(a.format);const u=s.convert(a.type);const h=getInternalFormat(a.internalFormat,c,u,a.encoding);const d=r.get(i);d.__hasExternalTextures||(32879===l||35866===l?n.texImage3D(l,0,h,i.width,i.height,i.depth,0,c,u,null):n.texImage2D(l,0,h,i.width,i.height,0,c,u,null));n.bindFramebuffer(36160,t);i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,o,l,r.get(a).__webglTexture,0,getRenderTargetSamples(i)):e.framebufferTexture2D(36160,o,l,r.get(a).__webglTexture,0);n.bindFramebuffer(36160,null)}function setupRenderBufferStorage(t,n,r){e.bindRenderbuffer(36161,t);if(n.depthBuffer&&!n.stencilBuffer){let i=33189;if(r||n.useRenderToTexture){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===Le?i=36012:t.type===Ae&&(i=33190));const r=getRenderTargetSamples(n);n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,r,i,n.width,n.height):e.renderbufferStorageMultisample(36161,r,i,n.width,n.height)}else e.renderbufferStorage(36161,i,n.width,n.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=getRenderTargetSamples(n);r&&n.useRenderbuffer?e.renderbufferStorageMultisample(36161,i,35056,n.width,n.height):n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,i,35056,n.width,n.height):e.renderbufferStorage(36161,34041,n.width,n.height);e.framebufferRenderbuffer(36160,33306,36161,t)}else{const t=true===n.isWebGLMultipleRenderTargets?n.texture[0]:n.texture;const i=s.convert(t.format);const a=s.convert(t.type);const o=getInternalFormat(t.internalFormat,i,a,t.encoding);const l=getRenderTargetSamples(n);r&&n.useRenderbuffer?e.renderbufferStorageMultisample(36161,l,o,n.width,n.height):n.useRenderToTexture?p.renderbufferStorageMultisampleEXT(36161,l,o,n.width,n.height):e.renderbufferStorage(36161,o,n.width,n.height)}e.bindRenderbuffer(36161,null)}function setupDepthTexture(t,i){const s=i&&i.isWebGLCubeRenderTarget;if(s)throw new Error(\"Depth Texture with cube render targets is not supported\");n.bindFramebuffer(36160,t);if(!(i.depthTexture&&i.depthTexture.isDepthTexture))throw new Error(\"renderTarget.depthTexture must be an instance of THREE.DepthTexture\");if(!r.get(i.depthTexture).__webglTexture||i.depthTexture.image.width!==i.width||i.depthTexture.image.height!==i.height){i.depthTexture.image.width=i.width;i.depthTexture.image.height=i.height;i.depthTexture.needsUpdate=true}setTexture2D(i.depthTexture,0);const a=r.get(i.depthTexture).__webglTexture;const o=getRenderTargetSamples(i);if(i.depthTexture.format===Ge)i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,36096,3553,a,0,o):e.framebufferTexture2D(36160,36096,3553,a,0);else{if(i.depthTexture.format!==Fe)throw new Error(\"Unknown depthTexture format\");i.useRenderToTexture?p.framebufferTexture2DMultisampleEXT(36160,33306,3553,a,0,o):e.framebufferTexture2D(36160,33306,3553,a,0)}}function setupDepthRenderbuffer(t){const i=r.get(t);const s=true===t.isWebGLCubeRenderTarget;if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(s)throw new Error(\"target.depthTexture not supported in Cube render targets\");setupDepthTexture(i.__webglFramebuffer,t)}else if(s){i.__webglDepthbuffer=[];for(let r=0;r<6;r++){n.bindFramebuffer(36160,i.__webglFramebuffer[r]);i.__webglDepthbuffer[r]=e.createRenderbuffer();setupRenderBufferStorage(i.__webglDepthbuffer[r],t,false)}}else{n.bindFramebuffer(36160,i.__webglFramebuffer);i.__webglDepthbuffer=e.createRenderbuffer();setupRenderBufferStorage(i.__webglDepthbuffer,t,false)}n.bindFramebuffer(36160,null)}function rebindTextures(e,t,n){const i=r.get(e);void 0!==t&&setupFrameBufferTexture(i.__webglFramebuffer,e,e.texture,36064,3553);void 0!==n&&setupDepthRenderbuffer(e)}function setupRenderTarget(t){const l=t.texture;const c=r.get(t);const u=r.get(l);t.addEventListener(\"dispose\",onRenderTargetDispose);if(true!==t.isWebGLMultipleRenderTargets){void 0===u.__webglTexture&&(u.__webglTexture=e.createTexture());u.__version=l.version;a.memory.textures++}const h=true===t.isWebGLCubeRenderTarget;const d=true===t.isWebGLMultipleRenderTargets;const p=l.isDataTexture3D||l.isDataTexture2DArray;const f=isPowerOfTwo$1(t)||o;if(o&&l.format===Ve&&(l.type===Le||l.type===Ce)){l.format=Ne;console.warn(\"THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.\")}if(h){c.__webglFramebuffer=[];for(let t=0;t<6;t++)c.__webglFramebuffer[t]=e.createFramebuffer()}else{c.__webglFramebuffer=e.createFramebuffer();if(d)if(i.drawBuffers){const n=t.texture;for(let t=0,i=n.length;t<i;t++){const i=r.get(n[t]);if(void 0===i.__webglTexture){i.__webglTexture=e.createTexture();a.memory.textures++}}}else console.warn(\"THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.\");else if(t.useRenderbuffer)if(o){c.__webglMultisampledFramebuffer=e.createFramebuffer();c.__webglColorRenderbuffer=e.createRenderbuffer();e.bindRenderbuffer(36161,c.__webglColorRenderbuffer);const r=s.convert(l.format);const i=s.convert(l.type);const a=getInternalFormat(l.internalFormat,r,i,l.encoding);const o=getRenderTargetSamples(t);e.renderbufferStorageMultisample(36161,o,a,t.width,t.height);n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);e.framebufferRenderbuffer(36160,36064,36161,c.__webglColorRenderbuffer);e.bindRenderbuffer(36161,null);if(t.depthBuffer){c.__webglDepthRenderbuffer=e.createRenderbuffer();setupRenderBufferStorage(c.__webglDepthRenderbuffer,t,true)}n.bindFramebuffer(36160,null)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\")}if(h){n.bindTexture(34067,u.__webglTexture);setTextureParameters(34067,l,f);for(let e=0;e<6;e++)setupFrameBufferTexture(c.__webglFramebuffer[e],t,l,36064,34069+e);textureNeedsGenerateMipmaps(l,f)&&generateMipmap(34067);n.unbindTexture()}else if(d){const e=t.texture;for(let i=0,s=e.length;i<s;i++){const s=e[i];const a=r.get(s);n.bindTexture(3553,a.__webglTexture);setTextureParameters(3553,s,f);setupFrameBufferTexture(c.__webglFramebuffer,t,s,36064+i,3553);textureNeedsGenerateMipmaps(s,f)&&generateMipmap(3553)}n.unbindTexture()}else{let e=3553;if(p)if(o){const t=l.isDataTexture3D;e=t?32879:35866}else console.warn(\"THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.\");n.bindTexture(e,u.__webglTexture);setTextureParameters(e,l,f);setupFrameBufferTexture(c.__webglFramebuffer,t,l,36064,e);textureNeedsGenerateMipmaps(l,f)&&generateMipmap(e);n.unbindTexture()}t.depthBuffer&&setupDepthRenderbuffer(t)}function updateRenderTargetMipmap(e){const t=isPowerOfTwo$1(e)||o;const i=true===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let s=0,a=i.length;s<a;s++){const a=i[s];if(textureNeedsGenerateMipmaps(a,t)){const t=e.isWebGLCubeRenderTarget?34067:3553;const i=r.get(a).__webglTexture;n.bindTexture(t,i);generateMipmap(t);n.unbindTexture()}}}function updateMultisampleRenderTarget(t){if(t.useRenderbuffer)if(o){const i=t.width;const s=t.height;let a=16384;const o=[36064];const l=t.stencilBuffer?33306:36096;t.depthBuffer&&o.push(l);if(!t.ignoreDepthForMultisampleCopy){t.depthBuffer&&(a|=256);t.stencilBuffer&&(a|=1024)}const c=r.get(t);n.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);n.bindFramebuffer(36009,c.__webglFramebuffer);if(t.ignoreDepthForMultisampleCopy){e.invalidateFramebuffer(36008,[l]);e.invalidateFramebuffer(36009,[l])}e.blitFramebuffer(0,0,i,s,0,0,i,s,a,9728);e.invalidateFramebuffer(36008,o);n.bindFramebuffer(36008,null);n.bindFramebuffer(36009,c.__webglMultisampledFramebuffer)}else console.warn(\"THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.\")}function getRenderTargetSamples(e){return o&&(e.useRenderbuffer||e.useRenderToTexture)?Math.min(h,e.samples):0}function updateVideoTexture(e){const t=a.render.frame;if(f.get(e)!==t){f.set(e,t);e.update()}}let _=false;let M=false;function safeSetTexture2D(e,t){if(e&&e.isWebGLRenderTarget){if(false===_){console.warn(\"THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead.\");_=true}e=e.texture}setTexture2D(e,t)}function safeSetTextureCube(e,t){if(e&&e.isWebGLCubeRenderTarget){if(false===M){console.warn(\"THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead.\");M=true}e=e.texture}setTextureCube(e,t)}this.allocateTextureUnit=allocateTextureUnit;this.resetTextureUnits=resetTextureUnits;this.setTexture2D=setTexture2D;this.setTexture2DArray=setTexture2DArray;this.setTexture3D=setTexture3D;this.setTextureCube=setTextureCube;this.rebindTextures=rebindTextures;this.setupRenderTarget=setupRenderTarget;this.updateRenderTargetMipmap=updateRenderTargetMipmap;this.updateMultisampleRenderTarget=updateMultisampleRenderTarget;this.setupDepthRenderbuffer=setupDepthRenderbuffer;this.setupFrameBufferTexture=setupFrameBufferTexture;this.safeSetTexture2D=safeSetTexture2D;this.safeSetTextureCube=safeSetTextureCube}function WebGLUtils(e,t,n){const r=n.isWebGL2;function convert(e){let n;if(e===Me)return 5121;if(e===Re)return 32819;if(e===Pe)return 32820;if(e===Ie)return 33635;if(e===we)return 5120;if(e===Se)return 5122;if(e===Te)return 5123;if(e===Ee)return 5124;if(e===Ae)return 5125;if(e===Le)return 5126;if(e===Ce){if(r)return 5131;n=t.get(\"OES_texture_half_float\");return null!==n?n.HALF_FLOAT_OES:null}if(e===Be)return 6406;if(e===Ve)return 6407;if(e===Ne)return 6408;if(e===Ue)return 6409;if(e===ze)return 6410;if(e===Ge)return 6402;if(e===Fe)return 34041;if(e===Oe)return 6403;if(e===He)return 36244;if(e===ke)return 33319;if(e===We)return 33320;if(e===je)return 36248;if(e===qe)return 36249;if(e===Xe||e===Je||e===Ye||e===Ze){n=t.get(\"WEBGL_compressed_texture_s3tc\");if(null===n)return null;if(e===Xe)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(e===Je)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(e===Ye)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(e===Ze)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(e===Qe||e===Ke||e===$e||e===et){n=t.get(\"WEBGL_compressed_texture_pvrtc\");if(null===n)return null;if(e===Qe)return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(e===Ke)return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(e===$e)return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(e===et)return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(e===tt){n=t.get(\"WEBGL_compressed_texture_etc1\");return null!==n?n.COMPRESSED_RGB_ETC1_WEBGL:null}if(e===nt||e===rt){n=t.get(\"WEBGL_compressed_texture_etc\");if(null!==n){if(e===nt)return n.COMPRESSED_RGB8_ETC2;if(e===rt)return n.COMPRESSED_RGBA8_ETC2_EAC}}if(e===it||e===st||e===at||e===ot||e===lt||e===ct||e===ut||e===ht||e===dt||e===pt||e===ft||e===mt||e===gt||e===yt||e===xt||e===bt||e===_t||e===Mt||e===wt||e===St||e===Tt||e===Et||e===At||e===Lt||e===Ct||e===Rt||e===Pt||e===It){n=t.get(\"WEBGL_compressed_texture_astc\");return null!==n?e:null}if(e===vt){n=t.get(\"EXT_texture_compression_bptc\");return null!==n?e:null}if(e===De){if(r)return 34042;n=t.get(\"WEBGL_depth_texture\");return null!==n?n.UNSIGNED_INT_24_8_WEBGL:null}}return{convert:convert}}class ArrayCamera extends PerspectiveCamera{constructor(e=[]){super();this.cameras=e}}ArrayCamera.prototype.isArrayCamera=true;class Group extends Object3D{constructor(){super();this.type=\"Group\"}}Group.prototype.isGroup=true;const Vo={type:\"move\"};class WebXRController{constructor(){this._targetRay=null;this._grip=null;this._hand=null}getHandSpace(){if(null===this._hand){this._hand=new Group;this._hand.matrixAutoUpdate=false;this._hand.visible=false;this._hand.joints={};this._hand.inputState={pinching:false}}return this._hand}getTargetRaySpace(){if(null===this._targetRay){this._targetRay=new Group;this._targetRay.matrixAutoUpdate=false;this._targetRay.visible=false;this._targetRay.hasLinearVelocity=false;this._targetRay.linearVelocity=new Vector3;this._targetRay.hasAngularVelocity=false;this._targetRay.angularVelocity=new Vector3}return this._targetRay}getGripSpace(){if(null===this._grip){this._grip=new Group;this._grip.matrixAutoUpdate=false;this._grip.visible=false;this._grip.hasLinearVelocity=false;this._grip.linearVelocity=new Vector3;this._grip.hasAngularVelocity=false;this._grip.angularVelocity=new Vector3}return this._grip}dispatchEvent(e){null!==this._targetRay&&this._targetRay.dispatchEvent(e);null!==this._grip&&this._grip.dispatchEvent(e);null!==this._hand&&this._hand.dispatchEvent(e);return this}disconnect(e){this.dispatchEvent({type:\"disconnected\",data:e});null!==this._targetRay&&(this._targetRay.visible=false);null!==this._grip&&(this._grip.visible=false);null!==this._hand&&(this._hand.visible=false);return this}update(e,t,n){let r=null;let i=null;let s=null;const a=this._targetRay;const o=this._grip;const l=this._hand;if(e&&\"visible-blurred\"!==t.session.visibilityState){if(null!==a){r=t.getPose(e.targetRaySpace,n);if(null!==r){a.matrix.fromArray(r.transform.matrix);a.matrix.decompose(a.position,a.rotation,a.scale);if(r.linearVelocity){a.hasLinearVelocity=true;a.linearVelocity.copy(r.linearVelocity)}else a.hasLinearVelocity=false;if(r.angularVelocity){a.hasAngularVelocity=true;a.angularVelocity.copy(r.angularVelocity)}else a.hasAngularVelocity=false;this.dispatchEvent(Vo)}}if(l&&e.hand){s=true;for(const r of e.hand.values()){const e=t.getJointPose(r,n);if(void 0===l.joints[r.jointName]){const e=new Group;e.matrixAutoUpdate=false;e.visible=false;l.joints[r.jointName]=e;l.add(e)}const i=l.joints[r.jointName];if(null!==e){i.matrix.fromArray(e.transform.matrix);i.matrix.decompose(i.position,i.rotation,i.scale);i.jointRadius=e.radius}i.visible=null!==e}const r=l.joints[\"index-finger-tip\"];const i=l.joints[\"thumb-tip\"];const a=r.position.distanceTo(i.position);const o=.02;const c=.005;if(l.inputState.pinching&&a>o+c){l.inputState.pinching=false;this.dispatchEvent({type:\"pinchend\",handedness:e.handedness,target:this})}else if(!l.inputState.pinching&&a<=o-c){l.inputState.pinching=true;this.dispatchEvent({type:\"pinchstart\",handedness:e.handedness,target:this})}}else if(null!==o&&e.gripSpace){i=t.getPose(e.gripSpace,n);if(null!==i){o.matrix.fromArray(i.transform.matrix);o.matrix.decompose(o.position,o.rotation,o.scale);if(i.linearVelocity){o.hasLinearVelocity=true;o.linearVelocity.copy(i.linearVelocity)}else o.hasLinearVelocity=false;if(i.angularVelocity){o.hasAngularVelocity=true;o.angularVelocity.copy(i.angularVelocity)}else o.hasAngularVelocity=false}}}null!==a&&(a.visible=null!==r);null!==o&&(o.visible=null!==i);null!==l&&(l.visible=null!==s);return this}}class DepthTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c){c=void 0!==c?c:Ge;if(c!==Ge&&c!==Fe)throw new Error(\"DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat\");void 0===n&&c===Ge&&(n=Te);void 0===n&&c===Fe&&(n=De);super(null,r,i,s,a,o,c,n,l);this.image={width:e,height:t};this.magFilter=void 0!==a?a:de;this.minFilter=void 0!==o?o:de;this.flipY=false;this.generateMipmaps=false}}DepthTexture.prototype.isDepthTexture=true;class WebXRManager extends EventDispatcher{constructor(e,t){super();const n=this;let r=null;let i=1;let s=null;let a=\"local-floor\";const o=e.extensions.has(\"WEBGL_multisampled_render_to_texture\");let l=null;let c=null;let u=null;let h=null;let d=false;let p=null;const f=t.getContextAttributes();let m=null;let g=null;const y=[];const x=new Map;const b=new PerspectiveCamera;b.layers.enable(1);b.viewport=new Vector4;const _=new PerspectiveCamera;_.layers.enable(2);_.viewport=new Vector4;const M=[b,_];const w=new ArrayCamera;w.layers.enable(1);w.layers.enable(2);let S=null;let T=null;this.cameraAutoUpdate=true;this.enabled=false;this.isPresenting=false;this.getController=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getTargetRaySpace()};this.getControllerGrip=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getGripSpace()};this.getHand=function(e){let t=y[e];if(void 0===t){t=new WebXRController;y[e]=t}return t.getHandSpace()};function onSessionEvent(e){const t=x.get(e.inputSource);t&&t.dispatchEvent({type:e.type,data:e.inputSource})}function onSessionEnd(){x.forEach((function(e,t){e.disconnect(t)}));x.clear();S=null;T=null;e.setRenderTarget(m);h=null;u=null;c=null;r=null;g=null;C.stop();n.isPresenting=false;n.dispatchEvent({type:\"sessionend\"})}this.setFramebufferScaleFactor=function(e){i=e;true===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change framebuffer scale while presenting.\")};this.setReferenceSpaceType=function(e){a=e;true===n.isPresenting&&console.warn(\"THREE.WebXRManager: Cannot change reference space type while presenting.\")};this.getReferenceSpace=function(){return s};this.getBaseLayer=function(){return null!==u?u:h};this.getBinding=function(){return c};this.getFrame=function(){return p};this.getSession=function(){return r};this.setSession=async function(l){r=l;if(null!==r){m=e.getRenderTarget();r.addEventListener(\"select\",onSessionEvent);r.addEventListener(\"selectstart\",onSessionEvent);r.addEventListener(\"selectend\",onSessionEvent);r.addEventListener(\"squeeze\",onSessionEvent);r.addEventListener(\"squeezestart\",onSessionEvent);r.addEventListener(\"squeezeend\",onSessionEvent);r.addEventListener(\"end\",onSessionEnd);r.addEventListener(\"inputsourceschange\",onInputSourcesChange);true!==f.xrCompatible&&await t.makeXRCompatible();if(void 0===r.renderState.layers||false===e.capabilities.isWebGL2){const n={antialias:void 0!==r.renderState.layers||f.antialias,alpha:f.alpha,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(r,t,n);r.updateRenderState({baseLayer:h});g=new WebGLRenderTarget(h.framebufferWidth,h.framebufferHeight,{format:Ne,type:Me,encoding:e.outputEncoding})}else{d=f.antialias;let n=null;let s=null;let a=null;if(f.depth){a=f.stencil?35056:33190;n=f.stencil?Fe:Ge;s=f.stencil?De:Te}const l={colorFormat:f.alpha||d?32856:32849,depthFormat:a,scaleFactor:i};c=new XRWebGLBinding(r,t);u=c.createProjectionLayer(l);r.updateRenderState({layers:[u]});g=d?new WebGLMultisampleRenderTarget(u.textureWidth,u.textureHeight,{format:Ne,type:Me,depthTexture:new DepthTexture(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,ignoreDepth:u.ignoreDepthValues,useRenderToTexture:o,encoding:e.outputEncoding}):new WebGLRenderTarget(u.textureWidth,u.textureHeight,{format:f.alpha?Ne:Ve,type:Me,depthTexture:new DepthTexture(u.textureWidth,u.textureHeight,s,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,ignoreDepth:u.ignoreDepthValues,encoding:e.outputEncoding})}this.setFoveation(1);s=await r.requestReferenceSpace(a);C.setContext(r);C.start();n.isPresenting=true;n.dispatchEvent({type:\"sessionstart\"})}};function onInputSourcesChange(e){const t=r.inputSources;for(let e=0;e<y.length;e++)x.set(t[e],y[e]);for(let t=0;t<e.removed.length;t++){const n=e.removed[t];const r=x.get(n);if(r){r.dispatchEvent({type:\"disconnected\",data:n});x.delete(n)}}for(let t=0;t<e.added.length;t++){const n=e.added[t];const r=x.get(n);r&&r.dispatchEvent({type:\"connected\",data:n})}}const E=new Vector3;const A=new Vector3;function setProjectionFromUnion(e,t,n){E.setFromMatrixPosition(t.matrixWorld);A.setFromMatrixPosition(n.matrixWorld);const r=E.distanceTo(A);const i=t.projectionMatrix.elements;const s=n.projectionMatrix.elements;const a=i[14]/(i[10]-1);const o=i[14]/(i[10]+1);const l=(i[9]+1)/i[5];const c=(i[9]-1)/i[5];const u=(i[8]-1)/i[0];const h=(s[8]+1)/s[0];const d=a*u;const p=a*h;const f=r/(-u+h);const m=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale);e.translateX(m);e.translateZ(f);e.matrixWorld.compose(e.position,e.quaternion,e.scale);e.matrixWorldInverse.copy(e.matrixWorld).invert();const g=a+f;const y=o+f;const x=d-m;const b=p+(r-m);const _=l*o/y*g;const M=c*o/y*g;e.projectionMatrix.makePerspective(x,b,_,M,g,y)}function updateCamera(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix);e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===r)return;w.near=_.near=b.near=e.near;w.far=_.far=b.far=e.far;if(S!==w.near||T!==w.far){r.updateRenderState({depthNear:w.near,depthFar:w.far});S=w.near;T=w.far}const t=e.parent;const n=w.cameras;updateCamera(w,t);for(let e=0;e<n.length;e++)updateCamera(n[e],t);w.matrixWorld.decompose(w.position,w.quaternion,w.scale);e.position.copy(w.position);e.quaternion.copy(w.quaternion);e.scale.copy(w.scale);e.matrix.copy(w.matrix);e.matrixWorld.copy(w.matrixWorld);const i=e.children;for(let e=0,t=i.length;e<t;e++)i[e].updateMatrixWorld(true);2===n.length?setProjectionFromUnion(w,b,_):w.projectionMatrix.copy(b.projectionMatrix)};this.getCamera=function(){return w};this.getFoveation=function(){return null!==u?u.fixedFoveation:null!==h?h.fixedFoveation:void 0};this.setFoveation=function(e){null!==u&&(u.fixedFoveation=e);null!==h&&void 0!==h.fixedFoveation&&(h.fixedFoveation=e)};let L=null;function onAnimationFrame(t,n){l=n.getViewerPose(s);p=n;if(null!==l){const t=l.views;if(null!==h){e.setRenderTargetFramebuffer(g,h.framebuffer);e.setRenderTarget(g)}let n=false;if(t.length!==w.cameras.length){w.cameras.length=0;n=true}for(let r=0;r<t.length;r++){const i=t[r];let s=null;if(null!==h)s=h.getViewport(i);else{const t=c.getViewSubImage(u,i);s=t.viewport;if(0===r){e.setRenderTargetTextures(g,t.colorTexture,u.ignoreDepthValues?void 0:t.depthStencilTexture);e.setRenderTarget(g)}}const a=M[r];a.matrix.fromArray(i.transform.matrix);a.projectionMatrix.fromArray(i.projectionMatrix);a.viewport.set(s.x,s.y,s.width,s.height);0===r&&w.matrix.copy(a.matrix);true===n&&w.cameras.push(a)}}const i=r.inputSources;for(let e=0;e<y.length;e++){const t=y[e];const r=i[e];t.update(r,n,s)}L&&L(t,n);p=null}const C=new WebGLAnimation;C.setAnimationLoop(onAnimationFrame);this.setAnimationLoop=function(e){L=e};this.dispose=function(){}}}function WebGLMaterials(e){function refreshFogUniforms(e,t){e.fogColor.value.copy(t.color);if(t.isFog){e.fogNear.value=t.near;e.fogFar.value=t.far}else t.isFogExp2&&(e.fogDensity.value=t.density)}function refreshMaterialUniforms(e,t,n,r,i){if(t.isMeshBasicMaterial)refreshUniformsCommon(e,t);else if(t.isMeshLambertMaterial){refreshUniformsCommon(e,t);refreshUniformsLambert(e,t)}else if(t.isMeshToonMaterial){refreshUniformsCommon(e,t);refreshUniformsToon(e,t)}else if(t.isMeshPhongMaterial){refreshUniformsCommon(e,t);refreshUniformsPhong(e,t)}else if(t.isMeshStandardMaterial){refreshUniformsCommon(e,t);t.isMeshPhysicalMaterial?refreshUniformsPhysical(e,t,i):refreshUniformsStandard(e,t)}else if(t.isMeshMatcapMaterial){refreshUniformsCommon(e,t);refreshUniformsMatcap(e,t)}else if(t.isMeshDepthMaterial){refreshUniformsCommon(e,t);refreshUniformsDepth(e,t)}else if(t.isMeshDistanceMaterial){refreshUniformsCommon(e,t);refreshUniformsDistance(e,t)}else if(t.isMeshNormalMaterial){refreshUniformsCommon(e,t);refreshUniformsNormal(e,t)}else if(t.isLineBasicMaterial){refreshUniformsLine(e,t);t.isLineDashedMaterial&&refreshUniformsDash(e,t)}else if(t.isPointsMaterial)refreshUniformsPoints(e,t,n,r);else if(t.isSpriteMaterial)refreshUniformsSprites(e,t);else if(t.isShadowMaterial){e.color.value.copy(t.color);e.opacity.value=t.opacity}else t.isShaderMaterial&&(t.uniformsNeedUpdate=false)}function refreshUniformsCommon(t,n){t.opacity.value=n.opacity;n.color&&t.diffuse.value.copy(n.color);n.emissive&&t.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity);n.map&&(t.map.value=n.map);n.alphaMap&&(t.alphaMap.value=n.alphaMap);n.specularMap&&(t.specularMap.value=n.specularMap);n.alphaTest>0&&(t.alphaTest.value=n.alphaTest);const r=e.get(n).envMap;if(r){t.envMap.value=r;t.flipEnvMap.value=r.isCubeTexture&&false===r.isRenderTargetTexture?-1:1;t.reflectivity.value=n.reflectivity;t.ior.value=n.ior;t.refractionRatio.value=n.refractionRatio}if(n.lightMap){t.lightMap.value=n.lightMap;t.lightMapIntensity.value=n.lightMapIntensity}if(n.aoMap){t.aoMap.value=n.aoMap;t.aoMapIntensity.value=n.aoMapIntensity}let i;n.map?i=n.map:n.specularMap?i=n.specularMap:n.displacementMap?i=n.displacementMap:n.normalMap?i=n.normalMap:n.bumpMap?i=n.bumpMap:n.roughnessMap?i=n.roughnessMap:n.metalnessMap?i=n.metalnessMap:n.alphaMap?i=n.alphaMap:n.emissiveMap?i=n.emissiveMap:n.clearcoatMap?i=n.clearcoatMap:n.clearcoatNormalMap?i=n.clearcoatNormalMap:n.clearcoatRoughnessMap?i=n.clearcoatRoughnessMap:n.specularIntensityMap?i=n.specularIntensityMap:n.specularColorMap?i=n.specularColorMap:n.transmissionMap?i=n.transmissionMap:n.thicknessMap?i=n.thicknessMap:n.sheenColorMap?i=n.sheenColorMap:n.sheenRoughnessMap&&(i=n.sheenRoughnessMap);if(void 0!==i){i.isWebGLRenderTarget&&(i=i.texture);true===i.matrixAutoUpdate&&i.updateMatrix();t.uvTransform.value.copy(i.matrix)}let s;n.aoMap?s=n.aoMap:n.lightMap&&(s=n.lightMap);if(void 0!==s){s.isWebGLRenderTarget&&(s=s.texture);true===s.matrixAutoUpdate&&s.updateMatrix();t.uv2Transform.value.copy(s.matrix)}}function refreshUniformsLine(e,t){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity}function refreshUniformsDash(e,t){e.dashSize.value=t.dashSize;e.totalSize.value=t.dashSize+t.gapSize;e.scale.value=t.scale}function refreshUniformsPoints(e,t,n,r){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity;e.size.value=t.size*n;e.scale.value=.5*r;t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let i;t.map?i=t.map:t.alphaMap&&(i=t.alphaMap);if(void 0!==i){true===i.matrixAutoUpdate&&i.updateMatrix();e.uvTransform.value.copy(i.matrix)}}function refreshUniformsSprites(e,t){e.diffuse.value.copy(t.color);e.opacity.value=t.opacity;e.rotation.value=t.rotation;t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let n;t.map?n=t.map:t.alphaMap&&(n=t.alphaMap);if(void 0!==n){true===n.matrixAutoUpdate&&n.updateMatrix();e.uvTransform.value.copy(n.matrix)}}function refreshUniformsLambert(e,t){t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap)}function refreshUniformsPhong(e,t){e.specular.value.copy(t.specular);e.shininess.value=Math.max(t.shininess,1e-4);t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsToon(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap);t.emissiveMap&&(e.emissiveMap.value=t.emissiveMap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsStandard(t,n){t.roughness.value=n.roughness;t.metalness.value=n.metalness;n.roughnessMap&&(t.roughnessMap.value=n.roughnessMap);n.metalnessMap&&(t.metalnessMap.value=n.metalnessMap);n.emissiveMap&&(t.emissiveMap.value=n.emissiveMap);if(n.bumpMap){t.bumpMap.value=n.bumpMap;t.bumpScale.value=n.bumpScale;n.side===d&&(t.bumpScale.value*=-1)}if(n.normalMap){t.normalMap.value=n.normalMap;t.normalScale.value.copy(n.normalScale);n.side===d&&t.normalScale.value.negate()}if(n.displacementMap){t.displacementMap.value=n.displacementMap;t.displacementScale.value=n.displacementScale;t.displacementBias.value=n.displacementBias}const r=e.get(n).envMap;r&&(t.envMapIntensity.value=n.envMapIntensity)}function refreshUniformsPhysical(e,t,n){refreshUniformsStandard(e,t);e.ior.value=t.ior;if(t.sheen>0){e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen);e.sheenRoughness.value=t.sheenRoughness;t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap);t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap)}if(t.clearcoat>0){e.clearcoat.value=t.clearcoat;e.clearcoatRoughness.value=t.clearcoatRoughness;t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap);t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap);if(t.clearcoatNormalMap){e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale);e.clearcoatNormalMap.value=t.clearcoatNormalMap;t.side===d&&e.clearcoatNormalScale.value.negate()}}if(t.transmission>0){e.transmission.value=t.transmission;e.transmissionSamplerMap.value=n.texture;e.transmissionSamplerSize.value.set(n.width,n.height);t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap);e.thickness.value=t.thickness;t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap);e.attenuationDistance.value=t.attenuationDistance;e.attenuationColor.value.copy(t.attenuationColor)}e.specularIntensity.value=t.specularIntensity;e.specularColor.value.copy(t.specularColor);t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap);t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap)}function refreshUniformsMatcap(e,t){t.matcap&&(e.matcap.value=t.matcap);if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsDepth(e,t){if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}function refreshUniformsDistance(e,t){if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}e.referencePosition.value.copy(t.referencePosition);e.nearDistance.value=t.nearDistance;e.farDistance.value=t.farDistance}function refreshUniformsNormal(e,t){if(t.bumpMap){e.bumpMap.value=t.bumpMap;e.bumpScale.value=t.bumpScale;t.side===d&&(e.bumpScale.value*=-1)}if(t.normalMap){e.normalMap.value=t.normalMap;e.normalScale.value.copy(t.normalScale);t.side===d&&e.normalScale.value.negate()}if(t.displacementMap){e.displacementMap.value=t.displacementMap;e.displacementScale.value=t.displacementScale;e.displacementBias.value=t.displacementBias}}return{refreshFogUniforms:refreshFogUniforms,refreshMaterialUniforms:refreshMaterialUniforms}}function createCanvasElement(){const e=createElementNS(\"canvas\");e.style.display=\"block\";return e}function WebGLRenderer(t={}){const n=void 0!==t.canvas?t.canvas:createCanvasElement(),r=void 0!==t.context?t.context:null,i=void 0!==t.alpha&&t.alpha,s=void 0===t.depth||t.depth,a=void 0===t.stencil||t.stencil,o=void 0!==t.antialias&&t.antialias,l=void 0===t.premultipliedAlpha||t.premultipliedAlpha,c=void 0!==t.preserveDrawingBuffer&&t.preserveDrawingBuffer,u=void 0!==t.powerPreference?t.powerPreference:\"default\",f=void 0!==t.failIfMajorPerformanceCaveat&&t.failIfMajorPerformanceCaveat;let m=null;let g=null;const y=[];const x=[];this.domElement=n;this.debug={\n/**\n\t\t * Enables error checking and reporting when shader programs are being compiled\n\t\t * @type {boolean}\n\t\t */\ncheckShaderErrors:true};this.autoClear=true;this.autoClearColor=true;this.autoClearDepth=true;this.autoClearStencil=true;this.sortObjects=true;this.clippingPlanes=[];this.localClippingEnabled=false;this.outputEncoding=Xt;this.physicallyCorrectLights=false;this.toneMapping=Z;this.toneMappingExposure=1;const b=this;let _=false;let M=0;let w=0;let S=null;let T=-1;let E=null;const A=new Vector4;const L=new Vector4;let C=null;let R=n.width;let P=n.height;let I=1;let D=null;let B=null;const V=new Vector4(0,0,R,P);const N=new Vector4(0,0,R,P);let U=false;const z=[];const G=new Frustum;let F=false;let O=false;let H=null;const k=new Matrix4;const W=new Vector3;const j={background:null,fog:null,environment:null,overrideMaterial:null,isScene:true};function getTargetPixelRatio(){return null===S?I:1}let q=r;function getContext(e,t){for(let r=0;r<e.length;r++){const i=e[r];const s=n.getContext(i,t);if(null!==s)return s}return null}try{const t={alpha:i,depth:s,stencil:a,antialias:o,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:u,failIfMajorPerformanceCaveat:f};\"setAttribute\"in n&&n.setAttribute(\"data-engine\",`three.js r${e}`);n.addEventListener(\"webglcontextlost\",onContextLost,false);n.addEventListener(\"webglcontextrestored\",onContextRestore,false);if(null===q){const e=[\"webgl2\",\"webgl\",\"experimental-webgl\"];true===b.isWebGL1Renderer&&e.shift();q=getContext(e,t);if(null===q)throw getContext(e)?new Error(\"Error creating WebGL context with your selected attributes.\"):new Error(\"Error creating WebGL context.\")}void 0===q.getShaderPrecisionFormat&&(q.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(e){console.error(\"THREE.WebGLRenderer: \"+e.message);throw e}let X,J,Y,Q;let K,$,ee,te,ne,re,ie;let se,ae,oe,le,ce,he;let pe,fe,me,ge;let ye,ve;function initGLContext(){X=new WebGLExtensions(q);J=new WebGLCapabilities(q,X,t);X.init(J);ye=new WebGLUtils(q,X,J);Y=new WebGLState(q,X,J);z[0]=1029;Q=new WebGLInfo(q);K=new WebGLProperties;$=new WebGLTextures(q,X,Y,K,J,ye,Q);ee=new WebGLCubeMaps(b);te=new WebGLCubeUVMaps(b);ne=new WebGLAttributes(q,J);ve=new WebGLBindingStates(q,X,ne,J);re=new WebGLGeometries(q,ne,Q,ve);ie=new WebGLObjects(q,re,ne,Q);fe=new WebGLMorphtargets(q,J,$);ce=new WebGLClipping(K);se=new WebGLPrograms(b,ee,te,X,J,ve,ce);ae=new WebGLMaterials(K);oe=new WebGLRenderLists;le=new WebGLRenderStates(X,J);pe=new WebGLBackground(b,ee,Y,ie,l);he=new WebGLShadowMap(b,ie,J);me=new WebGLBufferRenderer(q,X,Q,J);ge=new WebGLIndexedBufferRenderer(q,X,Q,J);Q.programs=se.programs;b.capabilities=J;b.extensions=X;b.properties=K;b.renderLists=oe;b.shadowMap=he;b.state=Y;b.info=Q}initGLContext();const xe=new WebXRManager(b,q);this.xr=xe;this.getContext=function(){return q};this.getContextAttributes=function(){return q.getContextAttributes()};this.forceContextLoss=function(){const e=X.get(\"WEBGL_lose_context\");e&&e.loseContext()};this.forceContextRestore=function(){const e=X.get(\"WEBGL_lose_context\");e&&e.restoreContext()};this.getPixelRatio=function(){return I};this.setPixelRatio=function(e){if(void 0!==e){I=e;this.setSize(R,P,false)}};this.getSize=function(e){return e.set(R,P)};this.setSize=function(e,t,r){if(xe.isPresenting)console.warn(\"THREE.WebGLRenderer: Can't change size while VR device is presenting.\");else{R=e;P=t;n.width=Math.floor(e*I);n.height=Math.floor(t*I);if(false!==r){n.style.width=e+\"px\";n.style.height=t+\"px\"}this.setViewport(0,0,e,t)}};this.getDrawingBufferSize=function(e){return e.set(R*I,P*I).floor()};this.setDrawingBufferSize=function(e,t,r){R=e;P=t;I=r;n.width=Math.floor(e*r);n.height=Math.floor(t*r);this.setViewport(0,0,e,t)};this.getCurrentViewport=function(e){return e.copy(A)};this.getViewport=function(e){return e.copy(V)};this.setViewport=function(e,t,n,r){e.isVector4?V.set(e.x,e.y,e.z,e.w):V.set(e,t,n,r);Y.viewport(A.copy(V).multiplyScalar(I).floor())};this.getScissor=function(e){return e.copy(N)};this.setScissor=function(e,t,n,r){e.isVector4?N.set(e.x,e.y,e.z,e.w):N.set(e,t,n,r);Y.scissor(L.copy(N).multiplyScalar(I).floor())};this.getScissorTest=function(){return U};this.setScissorTest=function(e){Y.setScissorTest(U=e)};this.setOpaqueSort=function(e){D=e};this.setTransparentSort=function(e){B=e};this.getClearColor=function(e){return e.copy(pe.getClearColor())};this.setClearColor=function(){pe.setClearColor.apply(pe,arguments)};this.getClearAlpha=function(){return pe.getClearAlpha()};this.setClearAlpha=function(){pe.setClearAlpha.apply(pe,arguments)};this.clear=function(e,t,n){let r=0;(void 0===e||e)&&(r|=16384);(void 0===t||t)&&(r|=256);(void 0===n||n)&&(r|=1024);q.clear(r)};this.clearColor=function(){this.clear(true,false,false)};this.clearDepth=function(){this.clear(false,true,false)};this.clearStencil=function(){this.clear(false,false,true)};this.dispose=function(){n.removeEventListener(\"webglcontextlost\",onContextLost,false);n.removeEventListener(\"webglcontextrestored\",onContextRestore,false);oe.dispose();le.dispose();K.dispose();ee.dispose();te.dispose();ie.dispose();ve.dispose();se.dispose();xe.dispose();xe.removeEventListener(\"sessionstart\",onXRSessionStart);xe.removeEventListener(\"sessionend\",onXRSessionEnd);if(H){H.dispose();H=null}we.stop()};function onContextLost(e){e.preventDefault();console.log(\"THREE.WebGLRenderer: Context Lost.\");_=true}function onContextRestore(){console.log(\"THREE.WebGLRenderer: Context Restored.\");_=false;const e=Q.autoReset;const t=he.enabled;const n=he.autoUpdate;const r=he.needsUpdate;const i=he.type;initGLContext();Q.autoReset=e;he.enabled=t;he.autoUpdate=n;he.needsUpdate=r;he.type=i}function onMaterialDispose(e){const t=e.target;t.removeEventListener(\"dispose\",onMaterialDispose);deallocateMaterial(t)}function deallocateMaterial(e){releaseMaterialProgramReferences(e);K.remove(e)}function releaseMaterialProgramReferences(e){const t=K.get(e).programs;if(void 0!==t){t.forEach((function(e){se.releaseProgram(e)}));e.isShaderMaterial&&se.releaseShaderCache(e)}}this.renderBufferDirect=function(e,t,n,r,i,s){null===t&&(t=j);const a=i.isMesh&&i.matrixWorld.determinant()<0;const o=setProgram(e,t,n,r,i);Y.setMaterial(r,a);let l=n.index;const c=n.attributes.position;if(null===l){if(void 0===c||0===c.count)return}else if(0===l.count)return;let u=1;if(true===r.wireframe){l=re.getWireframeAttribute(n);u=2}ve.setup(i,r,o,n,l);let h;let d=me;if(null!==l){h=ne.get(l);d=ge;d.setIndex(h)}const p=null!==l?l.count:c.count;const f=n.drawRange.start*u;const m=n.drawRange.count*u;const g=null!==s?s.start*u:0;const y=null!==s?s.count*u:Infinity;const x=Math.max(f,g);const b=Math.min(p,f+m,g+y)-1;const _=Math.max(0,b-x+1);if(0!==_){if(i.isMesh)if(true===r.wireframe){Y.setLineWidth(r.wireframeLinewidth*getTargetPixelRatio());d.setMode(1)}else d.setMode(4);else if(i.isLine){let e=r.linewidth;void 0===e&&(e=1);Y.setLineWidth(e*getTargetPixelRatio());i.isLineSegments?d.setMode(1):i.isLineLoop?d.setMode(2):d.setMode(3)}else i.isPoints?d.setMode(0):i.isSprite&&d.setMode(4);if(i.isInstancedMesh)d.renderInstances(x,_,i.count);else if(n.isInstancedBufferGeometry){const e=Math.min(n.instanceCount,n._maxInstanceCount);d.renderInstances(x,_,e)}else d.render(x,_)}};this.compile=function(e,t){g=le.get(e);g.init();x.push(g);e.traverseVisible((function(e){if(e.isLight&&e.layers.test(t.layers)){g.pushLight(e);e.castShadow&&g.pushShadow(e)}}));g.setupLights(b.physicallyCorrectLights);e.traverse((function(t){const n=t.material;if(n)if(Array.isArray(n))for(let r=0;r<n.length;r++){const i=n[r];getProgram(i,e,t)}else getProgram(n,e,t)}));x.pop();g=null};let _e=null;function onAnimationFrame(e){_e&&_e(e)}function onXRSessionStart(){we.stop()}function onXRSessionEnd(){we.start()}const we=new WebGLAnimation;we.setAnimationLoop(onAnimationFrame);\"undefined\"!==typeof window&&we.setContext(window);this.setAnimationLoop=function(e){_e=e;xe.setAnimationLoop(e);null===e?we.stop():we.start()};xe.addEventListener(\"sessionstart\",onXRSessionStart);xe.addEventListener(\"sessionend\",onXRSessionEnd);this.render=function(e,t){if(void 0!==t&&true!==t.isCamera){console.error(\"THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.\");return}if(true===_)return;true===e.autoUpdate&&e.updateMatrixWorld();null===t.parent&&t.updateMatrixWorld();if(true===xe.enabled&&true===xe.isPresenting){true===xe.cameraAutoUpdate&&xe.updateCamera(t);t=xe.getCamera()}true===e.isScene&&e.onBeforeRender(b,e,t,S);g=le.get(e,x.length);g.init();x.push(g);k.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);G.setFromProjectionMatrix(k);O=this.localClippingEnabled;F=ce.init(this.clippingPlanes,O,t);m=oe.get(e,y.length);m.init();y.push(m);projectObject(e,t,0,b.sortObjects);m.finish();true===b.sortObjects&&m.sort(D,B);true===F&&ce.beginShadows();const n=g.state.shadowsArray;he.render(n,e,t);true===F&&ce.endShadows();true===this.info.autoReset&&this.info.reset();pe.render(m,e);g.setupLights(b.physicallyCorrectLights);if(t.isArrayCamera){const n=t.cameras;for(let t=0,r=n.length;t<r;t++){const r=n[t];renderScene(m,e,r,r.viewport)}}else renderScene(m,e,t);if(null!==S){$.updateMultisampleRenderTarget(S);$.updateRenderTargetMipmap(S)}true===e.isScene&&e.onAfterRender(b,e,t);Y.buffers.depth.setTest(true);Y.buffers.depth.setMask(true);Y.buffers.color.setMask(true);Y.setPolygonOffset(false);ve.resetDefaultState();T=-1;E=null;x.pop();g=x.length>0?x[x.length-1]:null;y.pop();m=y.length>0?y[y.length-1]:null};function projectObject(e,t,n,r){if(false===e.visible)return;const i=e.layers.test(t.layers);if(i)if(e.isGroup)n=e.renderOrder;else if(e.isLOD)true===e.autoUpdate&&e.update(t);else if(e.isLight){g.pushLight(e);e.castShadow&&g.pushShadow(e)}else if(e.isSprite){if(!e.frustumCulled||G.intersectsSprite(e)){r&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);const t=ie.update(e);const i=e.material;i.visible&&m.push(e,t,i,n,W.z,null)}}else if(e.isMesh||e.isLine||e.isPoints){if(e.isSkinnedMesh&&e.skeleton.frame!==Q.render.frame){e.skeleton.update();e.skeleton.frame=Q.render.frame}if(!e.frustumCulled||G.intersectsObject(e)){r&&W.setFromMatrixPosition(e.matrixWorld).applyMatrix4(k);const t=ie.update(e);const i=e.material;if(Array.isArray(i)){const r=t.groups;for(let s=0,a=r.length;s<a;s++){const a=r[s];const o=i[a.materialIndex];o&&o.visible&&m.push(e,t,o,n,W.z,a)}}else i.visible&&m.push(e,t,i,n,W.z,null)}}const s=e.children;for(let e=0,i=s.length;e<i;e++)projectObject(s[e],t,n,r)}function renderScene(e,t,n,r){const i=e.opaque;const s=e.transmissive;const a=e.transparent;g.setupLightsView(n);s.length>0&&renderTransmissionPass(i,t,n);r&&Y.viewport(A.copy(r));i.length>0&&renderObjects(i,t,n);s.length>0&&renderObjects(s,t,n);a.length>0&&renderObjects(a,t,n)}function renderTransmissionPass(e,t,n){if(null===H){const e=true===o&&true===J.isWebGL2;const t=e?WebGLMultisampleRenderTarget:WebGLRenderTarget;H=new t(1024,1024,{generateMipmaps:true,type:null!==ye.convert(Ce)?Ce:Me,minFilter:be,magFilter:de,wrapS:ue,wrapT:ue,useRenderToTexture:X.has(\"WEBGL_multisampled_render_to_texture\")})}const r=b.getRenderTarget();b.setRenderTarget(H);b.clear();const i=b.toneMapping;b.toneMapping=Z;renderObjects(e,t,n);b.toneMapping=i;$.updateMultisampleRenderTarget(H);$.updateRenderTargetMipmap(H);b.setRenderTarget(r)}function renderObjects(e,t,n){const r=true===t.isScene?t.overrideMaterial:null;for(let i=0,s=e.length;i<s;i++){const s=e[i];const a=s.object;const o=s.geometry;const l=null===r?s.material:r;const c=s.group;a.layers.test(n.layers)&&renderObject(a,t,n,o,l,c)}}function renderObject(e,t,n,r,i,s){e.onBeforeRender(b,t,n,r,i,s);e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld);e.normalMatrix.getNormalMatrix(e.modelViewMatrix);i.onBeforeRender(b,t,n,r,e,s);if(true===i.transparent&&i.side===p){i.side=d;i.needsUpdate=true;b.renderBufferDirect(n,t,r,i,e,s);i.side=h;i.needsUpdate=true;b.renderBufferDirect(n,t,r,i,e,s);i.side=p}else b.renderBufferDirect(n,t,r,i,e,s);e.onAfterRender(b,t,n,r,i,s)}function getProgram(e,t,n){true!==t.isScene&&(t=j);const r=K.get(e);const i=g.state.lights;const s=g.state.shadowsArray;const a=i.state.version;const o=se.getParameters(e,i.state,s,t,n);const l=se.getProgramCacheKey(o);let c=r.programs;r.environment=e.isMeshStandardMaterial?t.environment:null;r.fog=t.fog;r.envMap=(e.isMeshStandardMaterial?te:ee).get(e.envMap||r.environment);if(void 0===c){e.addEventListener(\"dispose\",onMaterialDispose);c=new Map;r.programs=c}let u=c.get(l);if(void 0!==u){if(r.currentProgram===u&&r.lightsStateVersion===a){updateCommonMaterialProperties(e,o);return u}}else{o.uniforms=se.getUniforms(e);e.onBuild(n,o,b);e.onBeforeCompile(o,b);u=se.acquireProgram(o,l);c.set(l,u);r.uniforms=o.uniforms}const h=r.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&true!==e.clipping||(h.clippingPlanes=ce.uniform);updateCommonMaterialProperties(e,o);r.needsLights=materialNeedsLights(e);r.lightsStateVersion=a;if(r.needsLights){h.ambientLightColor.value=i.state.ambient;h.lightProbe.value=i.state.probe;h.directionalLights.value=i.state.directional;h.directionalLightShadows.value=i.state.directionalShadow;h.spotLights.value=i.state.spot;h.spotLightShadows.value=i.state.spotShadow;h.rectAreaLights.value=i.state.rectArea;h.ltc_1.value=i.state.rectAreaLTC1;h.ltc_2.value=i.state.rectAreaLTC2;h.pointLights.value=i.state.point;h.pointLightShadows.value=i.state.pointShadow;h.hemisphereLights.value=i.state.hemi;h.directionalShadowMap.value=i.state.directionalShadowMap;h.directionalShadowMatrix.value=i.state.directionalShadowMatrix;h.spotShadowMap.value=i.state.spotShadowMap;h.spotShadowMatrix.value=i.state.spotShadowMatrix;h.pointShadowMap.value=i.state.pointShadowMap;h.pointShadowMatrix.value=i.state.pointShadowMatrix}const d=u.getUniforms();const p=WebGLUniforms.seqWithValue(d.seq,h);r.currentProgram=u;r.uniformsList=p;return u}function updateCommonMaterialProperties(e,t){const n=K.get(e);n.outputEncoding=t.outputEncoding;n.instancing=t.instancing;n.skinning=t.skinning;n.morphTargets=t.morphTargets;n.morphNormals=t.morphNormals;n.morphTargetsCount=t.morphTargetsCount;n.numClippingPlanes=t.numClippingPlanes;n.numIntersection=t.numClipIntersection;n.vertexAlphas=t.vertexAlphas;n.vertexTangents=t.vertexTangents;n.toneMapping=t.toneMapping}function setProgram(e,t,n,r,i){true!==t.isScene&&(t=j);$.resetTextureUnits();const s=t.fog;const a=r.isMeshStandardMaterial?t.environment:null;const o=null===S?b.outputEncoding:S.texture.encoding;const l=(r.isMeshStandardMaterial?te:ee).get(r.envMap||a);const c=true===r.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize;const u=!!r.normalMap&&!!n.attributes.tangent;const h=!!n.morphAttributes.position;const d=!!n.morphAttributes.normal;const p=!n.morphAttributes.position?0:n.morphAttributes.position.length;const f=r.toneMapped?b.toneMapping:Z;const m=K.get(r);const y=g.state.lights;if(true===F&&(true===O||e!==E)){const t=e===E&&r.id===T;ce.setState(r,e,t)}let x=false;if(r.version===m.__version)m.needsLights&&m.lightsStateVersion!==y.state.version||m.outputEncoding!==o||i.isInstancedMesh&&false===m.instancing?x=true:i.isInstancedMesh||true!==m.instancing?i.isSkinnedMesh&&false===m.skinning?x=true:i.isSkinnedMesh||true!==m.skinning?m.envMap!==l||r.fog&&m.fog!==s?x=true:void 0===m.numClippingPlanes||m.numClippingPlanes===ce.numPlanes&&m.numIntersection===ce.numIntersection?(m.vertexAlphas!==c||m.vertexTangents!==u||m.morphTargets!==h||m.morphNormals!==d||m.toneMapping!==f||true===J.isWebGL2&&m.morphTargetsCount!==p)&&(x=true):x=true:x=true:x=true;else{x=true;m.__version=r.version}let _=m.currentProgram;true===x&&(_=getProgram(r,t,i));let M=false;let w=false;let A=false;const L=_.getUniforms(),C=m.uniforms;if(Y.useProgram(_.program)){M=true;w=true;A=true}if(r.id!==T){T=r.id;w=true}if(M||E!==e){L.setValue(q,\"projectionMatrix\",e.projectionMatrix);J.logarithmicDepthBuffer&&L.setValue(q,\"logDepthBufFC\",2/(Math.log(e.far+1)/Math.LN2));if(E!==e){E=e;w=true;A=true}if(r.isShaderMaterial||r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshStandardMaterial||r.envMap){const t=L.map.cameraPosition;void 0!==t&&t.setValue(q,W.setFromMatrixPosition(e.matrixWorld))}(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&L.setValue(q,\"isOrthographic\",true===e.isOrthographicCamera);(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial||r.isShadowMaterial||i.isSkinnedMesh)&&L.setValue(q,\"viewMatrix\",e.matrixWorldInverse)}if(i.isSkinnedMesh){L.setOptional(q,i,\"bindMatrix\");L.setOptional(q,i,\"bindMatrixInverse\");const e=i.skeleton;if(e)if(J.floatVertexTextures){null===e.boneTexture&&e.computeBoneTexture();L.setValue(q,\"boneTexture\",e.boneTexture,$);L.setValue(q,\"boneTextureSize\",e.boneTextureSize)}else L.setOptional(q,e,\"boneMatrices\")}!n||void 0===n.morphAttributes.position&&void 0===n.morphAttributes.normal||fe.update(i,n,r,_);if(w||m.receiveShadow!==i.receiveShadow){m.receiveShadow=i.receiveShadow;L.setValue(q,\"receiveShadow\",i.receiveShadow)}if(w){L.setValue(q,\"toneMappingExposure\",b.toneMappingExposure);m.needsLights&&markUniformsLightsNeedsUpdate(C,A);s&&r.fog&&ae.refreshFogUniforms(C,s);ae.refreshMaterialUniforms(C,r,I,P,H);WebGLUniforms.upload(q,m.uniformsList,C,$)}if(r.isShaderMaterial&&true===r.uniformsNeedUpdate){WebGLUniforms.upload(q,m.uniformsList,C,$);r.uniformsNeedUpdate=false}r.isSpriteMaterial&&L.setValue(q,\"center\",i.center);L.setValue(q,\"modelViewMatrix\",i.modelViewMatrix);L.setValue(q,\"normalMatrix\",i.normalMatrix);L.setValue(q,\"modelMatrix\",i.matrixWorld);return _}function markUniformsLightsNeedsUpdate(e,t){e.ambientLightColor.needsUpdate=t;e.lightProbe.needsUpdate=t;e.directionalLights.needsUpdate=t;e.directionalLightShadows.needsUpdate=t;e.pointLights.needsUpdate=t;e.pointLightShadows.needsUpdate=t;e.spotLights.needsUpdate=t;e.spotLightShadows.needsUpdate=t;e.rectAreaLights.needsUpdate=t;e.hemisphereLights.needsUpdate=t}function materialNeedsLights(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&true===e.lights}this.getActiveCubeFace=function(){return M};this.getActiveMipmapLevel=function(){return w};this.getRenderTarget=function(){return S};this.setRenderTargetTextures=function(e,t,n){K.get(e.texture).__webglTexture=t;K.get(e.depthTexture).__webglTexture=n;const r=K.get(e);r.__hasExternalTextures=true;if(r.__hasExternalTextures){r.__autoAllocateDepthBuffer=void 0===n;if(!r.__autoAllocateDepthBuffer&&e.useRenderToTexture){console.warn(\"render-to-texture extension was disabled because an external texture was provided\");e.useRenderToTexture=false;e.useRenderbuffer=true}}};this.setRenderTargetFramebuffer=function(e,t){const n=K.get(e);n.__webglFramebuffer=t;n.__useDefaultFramebuffer=void 0===t};this.setRenderTarget=function(e,t=0,n=0){S=e;M=t;w=n;let r=true;if(e){const t=K.get(e);if(void 0!==t.__useDefaultFramebuffer){Y.bindFramebuffer(36160,null);r=false}else void 0===t.__webglFramebuffer?$.setupRenderTarget(e):t.__hasExternalTextures&&$.rebindTextures(e,K.get(e.texture).__webglTexture,K.get(e.depthTexture).__webglTexture)}let i=null;let s=false;let a=false;if(e){const n=e.texture;(n.isDataTexture3D||n.isDataTexture2DArray)&&(a=true);const r=K.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget){i=r[t];s=true}else i=e.useRenderbuffer?K.get(e).__webglMultisampledFramebuffer:r;A.copy(e.viewport);L.copy(e.scissor);C=e.scissorTest}else{A.copy(V).multiplyScalar(I).floor();L.copy(N).multiplyScalar(I).floor();C=U}const o=Y.bindFramebuffer(36160,i);if(o&&J.drawBuffers&&r){let t=false;if(e){if(e.isWebGLMultipleRenderTargets){const n=e.texture;if(z.length!==n.length||36064!==z[0]){for(let e=0,t=n.length;e<t;e++)z[e]=36064+e;z.length=n.length;t=true}}else if(1!==z.length||36064!==z[0]){z[0]=36064;z.length=1;t=true}}else if(1!==z.length||1029!==z[0]){z[0]=1029;z.length=1;t=true}t&&(J.isWebGL2?q.drawBuffers(z):X.get(\"WEBGL_draw_buffers\").drawBuffersWEBGL(z))}Y.viewport(A);Y.scissor(L);Y.setScissorTest(C);if(s){const r=K.get(e.texture);q.framebufferTexture2D(36160,36064,34069+t,r.__webglTexture,n)}else if(a){const r=K.get(e.texture);const i=t||0;q.framebufferTextureLayer(36160,36064,r.__webglTexture,n||0,i)}T=-1};this.readRenderTargetPixels=function(e,t,n,r,i,s,a){if(!(e&&e.isWebGLRenderTarget)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.\");return}let o=K.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget&&void 0!==a&&(o=o[a]);if(o){Y.bindFramebuffer(36160,o);try{const a=e.texture;const o=a.format;const l=a.type;if(o!==Ne&&ye.convert(o)!==q.getParameter(35739)){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.\");return}const c=l===Ce&&(X.has(\"EXT_color_buffer_half_float\")||J.isWebGL2&&X.has(\"EXT_color_buffer_float\"));if(l!==Me&&ye.convert(l)!==q.getParameter(35738)&&!(l===Le&&(J.isWebGL2||X.has(\"OES_texture_float\")||X.has(\"WEBGL_color_buffer_float\")))&&!c){console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.\");return}36053===q.checkFramebufferStatus(36160)?t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&q.readPixels(t,n,r,i,ye.convert(o),ye.convert(l),s):console.error(\"THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.\")}finally{const e=null!==S?K.get(S).__webglFramebuffer:null;Y.bindFramebuffer(36160,e)}}};this.copyFramebufferToTexture=function(e,t,n=0){if(true!==t.isFramebufferTexture){console.error(\"THREE.WebGLRenderer: copyFramebufferToTexture() can only be used with FramebufferTexture.\");return}const r=Math.pow(2,-n);const i=Math.floor(t.image.width*r);const s=Math.floor(t.image.height*r);$.setTexture2D(t,0);q.copyTexSubImage2D(3553,n,0,0,e.x,e.y,i,s);Y.unbindTexture()};this.copyTextureToTexture=function(e,t,n,r=0){const i=t.image.width;const s=t.image.height;const a=ye.convert(n.format);const o=ye.convert(n.type);$.setTexture2D(n,0);q.pixelStorei(37440,n.flipY);q.pixelStorei(37441,n.premultiplyAlpha);q.pixelStorei(3317,n.unpackAlignment);t.isDataTexture?q.texSubImage2D(3553,r,e.x,e.y,i,s,a,o,t.image.data):t.isCompressedTexture?q.compressedTexSubImage2D(3553,r,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,a,t.mipmaps[0].data):q.texSubImage2D(3553,r,e.x,e.y,a,o,t.image);0===r&&n.generateMipmaps&&q.generateMipmap(3553);Y.unbindTexture()};this.copyTextureToTexture3D=function(e,t,n,r,i=0){if(b.isWebGL1Renderer){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.\");return}const s=e.max.x-e.min.x+1;const a=e.max.y-e.min.y+1;const o=e.max.z-e.min.z+1;const l=ye.convert(r.format);const c=ye.convert(r.type);let u;if(r.isDataTexture3D){$.setTexture3D(r,0);u=32879}else{if(!r.isDataTexture2DArray){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.\");return}$.setTexture2DArray(r,0);u=35866}q.pixelStorei(37440,r.flipY);q.pixelStorei(37441,r.premultiplyAlpha);q.pixelStorei(3317,r.unpackAlignment);const h=q.getParameter(3314);const d=q.getParameter(32878);const p=q.getParameter(3316);const f=q.getParameter(3315);const m=q.getParameter(32877);const g=n.isCompressedTexture?n.mipmaps[0]:n.image;q.pixelStorei(3314,g.width);q.pixelStorei(32878,g.height);q.pixelStorei(3316,e.min.x);q.pixelStorei(3315,e.min.y);q.pixelStorei(32877,e.min.z);if(n.isDataTexture||n.isDataTexture3D)q.texSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,c,g.data);else if(n.isCompressedTexture){console.warn(\"THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.\");q.compressedTexSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,g.data)}else q.texSubImage3D(u,i,t.x,t.y,t.z,s,a,o,l,c,g);q.pixelStorei(3314,h);q.pixelStorei(32878,d);q.pixelStorei(3316,p);q.pixelStorei(3315,f);q.pixelStorei(32877,m);0===i&&r.generateMipmaps&&q.generateMipmap(u);Y.unbindTexture()};this.initTexture=function(e){$.setTexture2D(e,0);Y.unbindTexture()};this.resetState=function(){M=0;w=0;S=null;Y.reset();ve.reset()};\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}WebGLRenderer.prototype.isWebGLRenderer=true;class WebGL1Renderer extends WebGLRenderer{}WebGL1Renderer.prototype.isWebGL1Renderer=true;class FogExp2{constructor(e,t=25e-5){this.name=\"\";this.color=new Color(e);this.density=t}clone(){return new FogExp2(this.color,this.density)}toJSON(){return{type:\"FogExp2\",color:this.color.getHex(),density:this.density}}}FogExp2.prototype.isFogExp2=true;class Fog{constructor(e,t=1,n=1e3){this.name=\"\";this.color=new Color(e);this.near=t;this.far=n}clone(){return new Fog(this.color,this.near,this.far)}toJSON(){return{type:\"Fog\",color:this.color.getHex(),near:this.near,far:this.far}}}Fog.prototype.isFog=true;class Scene extends Object3D{constructor(){super();this.type=\"Scene\";this.background=null;this.environment=null;this.fog=null;this.overrideMaterial=null;this.autoUpdate=true;\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"observe\",{detail:this}))}copy(e,t){super.copy(e,t);null!==e.background&&(this.background=e.background.clone());null!==e.environment&&(this.environment=e.environment.clone());null!==e.fog&&(this.fog=e.fog.clone());null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone());this.autoUpdate=e.autoUpdate;this.matrixAutoUpdate=e.matrixAutoUpdate;return this}toJSON(e){const t=super.toJSON(e);null!==this.fog&&(t.object.fog=this.fog.toJSON());return t}}Scene.prototype.isScene=true;class InterleavedBuffer{constructor(e,t){this.array=e;this.stride=t;this.count=void 0!==e?e.length/t:0;this.usage=gn;this.updateRange={offset:0,count:-1};this.version=0;this.uuid=generateUUID()}onUploadCallback(){}set needsUpdate(e){true===e&&this.version++}setUsage(e){this.usage=e;return this}copy(e){this.array=new e.array.constructor(e.array);this.count=e.count;this.stride=e.stride;this.usage=e.usage;return this}copyAt(e,t,n){e*=this.stride;n*=t.stride;for(let r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this}set(e,t=0){this.array.set(e,t);return this}clone(e){void 0===e.arrayBuffers&&(e.arrayBuffers={});void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=generateUUID());void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]);const n=new this.constructor(t,this.stride);n.setUsage(this.usage);return n}onUpload(e){this.onUploadCallback=e;return this}toJSON(e){void 0===e.arrayBuffers&&(e.arrayBuffers={});void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=generateUUID());void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=Array.prototype.slice.call(new Uint32Array(this.array.buffer)));return{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}InterleavedBuffer.prototype.isInterleavedBuffer=true;const No=new Vector3;class InterleavedBufferAttribute{constructor(e,t,n,r=false){this.name=\"\";this.data=e;this.itemSize=t;this.offset=n;this.normalized=true===r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.applyMatrix4(e);this.setXYZ(t,No.x,No.y,No.z)}return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.applyNormalMatrix(e);this.setXYZ(t,No.x,No.y,No.z)}return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++){No.x=this.getX(t);No.y=this.getY(t);No.z=this.getZ(t);No.transformDirection(e);this.setXYZ(t,No.x,No.y,No.z)}return this}setX(e,t){this.data.array[e*this.data.stride+this.offset]=t;return this}setY(e,t){this.data.array[e*this.data.stride+this.offset+1]=t;return this}setZ(e,t){this.data.array[e*this.data.stride+this.offset+2]=t;return this}setW(e,t){this.data.array[e*this.data.stride+this.offset+3]=t;return this}getX(e){return this.data.array[e*this.data.stride+this.offset]}getY(e){return this.data.array[e*this.data.stride+this.offset+1]}getZ(e){return this.data.array[e*this.data.stride+this.offset+2]}getW(e){return this.data.array[e*this.data.stride+this.offset+3]}setXY(e,t,n){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;return this}setXYZ(e,t,n,r){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;this.data.array[e+2]=r;return this}setXYZW(e,t,n,r,i){e=e*this.data.stride+this.offset;this.data.array[e+0]=t;this.data.array[e+1]=n;this.data.array[e+2]=r;this.data.array[e+3]=i;return this}clone(e){if(void 0===e){console.log(\"THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.\");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return new BufferAttribute(new this.array.constructor(e),this.itemSize,this.normalized)}void 0===e.interleavedBuffers&&(e.interleavedBuffers={});void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e));return new InterleavedBufferAttribute(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(void 0===e){console.log(\"THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.\");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}void 0===e.interleavedBuffers&&(e.interleavedBuffers={});void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e));return{isInterleavedBufferAttribute:true,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}InterleavedBufferAttribute.prototype.isInterleavedBufferAttribute=true;class SpriteMaterial extends Material{constructor(e){super();this.type=\"SpriteMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.rotation=0;this.sizeAttenuation=true;this.transparent=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.alphaMap=e.alphaMap;this.rotation=e.rotation;this.sizeAttenuation=e.sizeAttenuation;return this}}SpriteMaterial.prototype.isSpriteMaterial=true;let Uo;const zo=new Vector3;const Go=new Vector3;const Fo=new Vector3;const Oo=new Vector2;const Ho=new Vector2;const ko=new Matrix4;const Wo=new Vector3;const jo=new Vector3;const qo=new Vector3;const Xo=new Vector2;const Jo=new Vector2;const Yo=new Vector2;class Sprite extends Object3D{constructor(e){super();this.type=\"Sprite\";if(void 0===Uo){Uo=new BufferGeometry;const e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]);const t=new InterleavedBuffer(e,5);Uo.setIndex([0,1,2,0,2,3]);Uo.setAttribute(\"position\",new InterleavedBufferAttribute(t,3,0,false));Uo.setAttribute(\"uv\",new InterleavedBufferAttribute(t,2,3,false))}this.geometry=Uo;this.material=void 0!==e?e:new SpriteMaterial;this.center=new Vector2(.5,.5)}raycast(e,t){null===e.camera&&console.error('THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.');Go.setFromMatrixScale(this.matrixWorld);ko.copy(e.camera.matrixWorld);this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld);Fo.setFromMatrixPosition(this.modelViewMatrix);e.camera.isPerspectiveCamera&&false===this.material.sizeAttenuation&&Go.multiplyScalar(-Fo.z);const n=this.material.rotation;let r,i;if(0!==n){i=Math.cos(n);r=Math.sin(n)}const s=this.center;transformVertex(Wo.set(-.5,-.5,0),Fo,s,Go,r,i);transformVertex(jo.set(.5,-.5,0),Fo,s,Go,r,i);transformVertex(qo.set(.5,.5,0),Fo,s,Go,r,i);Xo.set(0,0);Jo.set(1,0);Yo.set(1,1);let a=e.ray.intersectTriangle(Wo,jo,qo,false,zo);if(null===a){transformVertex(jo.set(-.5,.5,0),Fo,s,Go,r,i);Jo.set(0,1);a=e.ray.intersectTriangle(Wo,qo,jo,false,zo);if(null===a)return}const o=e.ray.origin.distanceTo(zo);o<e.near||o>e.far||t.push({distance:o,point:zo.clone(),uv:Triangle.getUV(zo,Wo,jo,qo,Xo,Jo,Yo,new Vector2),face:null,object:this})}copy(e){super.copy(e);void 0!==e.center&&this.center.copy(e.center);this.material=e.material;return this}}Sprite.prototype.isSprite=true;function transformVertex(e,t,n,r,i,s){Oo.subVectors(e,n).addScalar(.5).multiply(r);if(void 0!==i){Ho.x=s*Oo.x-i*Oo.y;Ho.y=i*Oo.x+s*Oo.y}else Ho.copy(Oo);e.copy(t);e.x+=Ho.x;e.y+=Ho.y;e.applyMatrix4(ko)}const Zo=new Vector3;const Qo=new Vector3;class LOD extends Object3D{constructor(){super();this._currentLevel=0;this.type=\"LOD\";Object.defineProperties(this,{levels:{enumerable:true,value:[]},isLOD:{value:true}});this.autoUpdate=true}copy(e){super.copy(e,false);const t=e.levels;for(let e=0,n=t.length;e<n;e++){const n=t[e];this.addLevel(n.object.clone(),n.distance)}this.autoUpdate=e.autoUpdate;return this}addLevel(e,t=0){t=Math.abs(t);const n=this.levels;let r;for(r=0;r<n.length;r++)if(t<n[r].distance)break;n.splice(r,0,{distance:t,object:e});this.add(e);return this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){const t=this.levels;if(t.length>0){let n,r;for(n=1,r=t.length;n<r;n++)if(e<t[n].distance)break;return t[n-1].object}return null}raycast(e,t){const n=this.levels;if(n.length>0){Zo.setFromMatrixPosition(this.matrixWorld);const n=e.ray.origin.distanceTo(Zo);this.getObjectForDistance(n).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Zo.setFromMatrixPosition(e.matrixWorld);Qo.setFromMatrixPosition(this.matrixWorld);const n=Zo.distanceTo(Qo)/e.zoom;t[0].object.visible=true;let r,i;for(r=1,i=t.length;r<i;r++){if(!(n>=t[r].distance))break;t[r-1].object.visible=false;t[r].object.visible=true}this._currentLevel=r-1;for(;r<i;r++)t[r].object.visible=false}}toJSON(e){const t=super.toJSON(e);false===this.autoUpdate&&(t.object.autoUpdate=false);t.object.levels=[];const n=this.levels;for(let e=0,r=n.length;e<r;e++){const r=n[e];t.object.levels.push({object:r.object.uuid,distance:r.distance})}return t}}const Ko=new Vector3;const $o=new Vector4;const el=new Vector4;const tl=new Vector3;const nl=new Matrix4;class SkinnedMesh extends Mesh{constructor(e,t){super(e,t);this.type=\"SkinnedMesh\";this.bindMode=\"attached\";this.bindMatrix=new Matrix4;this.bindMatrixInverse=new Matrix4}copy(e){super.copy(e);this.bindMode=e.bindMode;this.bindMatrix.copy(e.bindMatrix);this.bindMatrixInverse.copy(e.bindMatrixInverse);this.skeleton=e.skeleton;return this}bind(e,t){this.skeleton=e;if(void 0===t){this.updateMatrixWorld(true);this.skeleton.calculateInverses();t=this.matrixWorld}this.bindMatrix.copy(t);this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new Vector4;const t=this.geometry.attributes.skinWeight;for(let n=0,r=t.count;n<r;n++){e.x=t.getX(n);e.y=t.getY(n);e.z=t.getZ(n);e.w=t.getW(n);const r=1/e.manhattanLength();Infinity!==r?e.multiplyScalar(r):e.set(1,0,0,0);t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e);\"attached\"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():\"detached\"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn(\"THREE.SkinnedMesh: Unrecognized bindMode: \"+this.bindMode)}boneTransform(e,t){const n=this.skeleton;const r=this.geometry;$o.fromBufferAttribute(r.attributes.skinIndex,e);el.fromBufferAttribute(r.attributes.skinWeight,e);Ko.copy(t).applyMatrix4(this.bindMatrix);t.set(0,0,0);for(let e=0;e<4;e++){const r=el.getComponent(e);if(0!==r){const i=$o.getComponent(e);nl.multiplyMatrices(n.bones[i].matrixWorld,n.boneInverses[i]);t.addScaledVector(tl.copy(Ko).applyMatrix4(nl),r)}}return t.applyMatrix4(this.bindMatrixInverse)}}SkinnedMesh.prototype.isSkinnedMesh=true;class Bone extends Object3D{constructor(){super();this.type=\"Bone\"}}Bone.prototype.isBone=true;class DataTexture extends Texture{constructor(e=null,t=1,n=1,r,i,s,a,o,l=de,c=de,u,h){super(null,s,a,o,l,c,r,i,u,h);this.image={data:e,width:t,height:n};this.magFilter=l;this.minFilter=c;this.generateMipmaps=false;this.flipY=false;this.unpackAlignment=1}}DataTexture.prototype.isDataTexture=true;const rl=new Matrix4;const il=new Matrix4;class Skeleton{constructor(e=[],t=[]){this.uuid=generateUUID();this.bones=e.slice(0);this.boneInverses=t;this.boneMatrices=null;this.boneTexture=null;this.boneTextureSize=0;this.frame=-1;this.init()}init(){const e=this.bones;const t=this.boneInverses;this.boneMatrices=new Float32Array(16*e.length);if(0===t.length)this.calculateInverses();else if(e.length!==t.length){console.warn(\"THREE.Skeleton: Number of inverse bone matrices does not match amount of bones.\");this.boneInverses=[];for(let e=0,t=this.bones.length;e<t;e++)this.boneInverses.push(new Matrix4)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const t=new Matrix4;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert();this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];if(t){if(t.parent&&t.parent.isBone){t.matrix.copy(t.parent.matrixWorld).invert();t.matrix.multiply(t.matrixWorld)}else t.matrix.copy(t.matrixWorld);t.matrix.decompose(t.position,t.quaternion,t.scale)}}}update(){const e=this.bones;const t=this.boneInverses;const n=this.boneMatrices;const r=this.boneTexture;for(let r=0,i=e.length;r<i;r++){const i=e[r]?e[r].matrixWorld:il;rl.multiplyMatrices(i,t[r]);rl.toArray(n,16*r)}null!==r&&(r.needsUpdate=true)}clone(){return new Skeleton(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(4*this.bones.length);e=ceilPowerOfTwo(e);e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const n=new DataTexture(t,e,e,Ne,Le);n.needsUpdate=true;this.boneMatrices=t;this.boneTexture=n;this.boneTextureSize=e;return this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){const n=this.bones[t];if(n.name===e)return n}}dispose(){if(null!==this.boneTexture){this.boneTexture.dispose();this.boneTexture=null}}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,r=e.bones.length;n<r;n++){const r=e.bones[n];let i=t[r];if(void 0===i){console.warn(\"THREE.Skeleton: No bone found with UUID:\",r);i=new Bone}this.bones.push(i);this.boneInverses.push((new Matrix4).fromArray(e.boneInverses[n]))}this.init();return this}toJSON(){const e={metadata:{version:4.5,type:\"Skeleton\",generator:\"Skeleton.toJSON\"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones;const n=this.boneInverses;for(let r=0,i=t.length;r<i;r++){const i=t[r];e.bones.push(i.uuid);const s=n[r];e.boneInverses.push(s.toArray())}return e}}class InstancedBufferAttribute extends BufferAttribute{constructor(e,t,n,r=1){if(\"number\"===typeof n){r=n;n=false;console.error(\"THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.\")}super(e,t,n);this.meshPerAttribute=r}copy(e){super.copy(e);this.meshPerAttribute=e.meshPerAttribute;return this}toJSON(){const e=super.toJSON();e.meshPerAttribute=this.meshPerAttribute;e.isInstancedBufferAttribute=true;return e}}InstancedBufferAttribute.prototype.isInstancedBufferAttribute=true;const sl=new Matrix4;const al=new Matrix4;const ol=[];const ll=new Mesh;class InstancedMesh extends Mesh{constructor(e,t,n){super(e,t);this.instanceMatrix=new InstancedBufferAttribute(new Float32Array(16*n),16);this.instanceColor=null;this.count=n;this.frustumCulled=false}copy(e){super.copy(e);this.instanceMatrix.copy(e.instanceMatrix);null!==e.instanceColor&&(this.instanceColor=e.instanceColor.clone());this.count=e.count;return this}getColorAt(e,t){t.fromArray(this.instanceColor.array,3*e)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,16*e)}raycast(e,t){const n=this.matrixWorld;const r=this.count;ll.geometry=this.geometry;ll.material=this.material;if(void 0!==ll.material)for(let i=0;i<r;i++){this.getMatrixAt(i,sl);al.multiplyMatrices(n,sl);ll.matrixWorld=al;ll.raycast(e,ol);for(let e=0,n=ol.length;e<n;e++){const n=ol[e];n.instanceId=i;n.object=this;t.push(n)}ol.length=0}}setColorAt(e,t){null===this.instanceColor&&(this.instanceColor=new InstancedBufferAttribute(new Float32Array(3*this.instanceMatrix.count),3));t.toArray(this.instanceColor.array,3*e)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,16*e)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:\"dispose\"})}}InstancedMesh.prototype.isInstancedMesh=true;class LineBasicMaterial extends Material{constructor(e){super();this.type=\"LineBasicMaterial\";this.color=new Color(16777215);this.linewidth=1;this.linecap=\"round\";this.linejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.linewidth=e.linewidth;this.linecap=e.linecap;this.linejoin=e.linejoin;return this}}LineBasicMaterial.prototype.isLineBasicMaterial=true;const cl=new Vector3;const ul=new Vector3;const hl=new Matrix4;const dl=new Ray;const pl=new Sphere;class Line extends Object3D{constructor(e=new BufferGeometry,t=new LineBasicMaterial){super();this.type=\"Line\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);this.material=e.material;this.geometry=e.geometry;return this}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position;const n=[0];for(let e=1,r=t.count;e<r;e++){cl.fromBufferAttribute(t,e-1);ul.fromBufferAttribute(t,e);n[e]=n[e-1];n[e]+=cl.distanceTo(ul)}e.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");else e.isGeometry&&console.error(\"THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\");return this}raycast(e,t){const n=this.geometry;const r=this.matrixWorld;const i=e.params.Line.threshold;const s=n.drawRange;null===n.boundingSphere&&n.computeBoundingSphere();pl.copy(n.boundingSphere);pl.applyMatrix4(r);pl.radius+=i;if(false===e.ray.intersectsSphere(pl))return;hl.copy(r).invert();dl.copy(e.ray).applyMatrix4(hl);const a=i/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;const l=new Vector3;const c=new Vector3;const u=new Vector3;const h=new Vector3;const d=this.isLineSegments?2:1;if(n.isBufferGeometry){const r=n.index;const i=n.attributes;const a=i.position;if(null!==r){const n=Math.max(0,s.start);const i=Math.min(r.count,s.start+s.count);for(let s=n,p=i-1;s<p;s+=d){const n=r.getX(s);const i=r.getX(s+1);l.fromBufferAttribute(a,n);c.fromBufferAttribute(a,i);const d=dl.distanceSqToSegment(l,c,h,u);if(d>o)continue;h.applyMatrix4(this.matrixWorld);const p=e.ray.origin.distanceTo(h);p<e.near||p>e.far||t.push({distance:p,point:u.clone().applyMatrix4(this.matrixWorld),index:s,face:null,faceIndex:null,object:this})}}else{const n=Math.max(0,s.start);const r=Math.min(a.count,s.start+s.count);for(let i=n,s=r-1;i<s;i+=d){l.fromBufferAttribute(a,i);c.fromBufferAttribute(a,i+1);const n=dl.distanceSqToSegment(l,c,h,u);if(n>o)continue;h.applyMatrix4(this.matrixWorld);const r=e.ray.origin.distanceTo(h);r<e.near||r>e.far||t.push({distance:r,point:u.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}}else n.isGeometry&&console.error(\"THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}}Line.prototype.isLine=true;const fl=new Vector3;const ml=new Vector3;class LineSegments extends Line{constructor(e,t){super(e,t);this.type=\"LineSegments\"}computeLineDistances(){const e=this.geometry;if(e.isBufferGeometry)if(null===e.index){const t=e.attributes.position;const n=[];for(let e=0,r=t.count;e<r;e+=2){fl.fromBufferAttribute(t,e);ml.fromBufferAttribute(t,e+1);n[e]=0===e?0:n[e-1];n[e+1]=n[e]+fl.distanceTo(ml)}e.setAttribute(\"lineDistance\",new Float32BufferAttribute(n,1))}else console.warn(\"THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.\");else e.isGeometry&&console.error(\"THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\");return this}}LineSegments.prototype.isLineSegments=true;class LineLoop extends Line{constructor(e,t){super(e,t);this.type=\"LineLoop\"}}LineLoop.prototype.isLineLoop=true;class PointsMaterial extends Material{constructor(e){super();this.type=\"PointsMaterial\";this.color=new Color(16777215);this.map=null;this.alphaMap=null;this.size=1;this.sizeAttenuation=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.alphaMap=e.alphaMap;this.size=e.size;this.sizeAttenuation=e.sizeAttenuation;return this}}PointsMaterial.prototype.isPointsMaterial=true;const gl=new Matrix4;const yl=new Ray;const vl=new Sphere;const xl=new Vector3;class Points extends Object3D{constructor(e=new BufferGeometry,t=new PointsMaterial){super();this.type=\"Points\";this.geometry=e;this.material=t;this.updateMorphTargets()}copy(e){super.copy(e);this.material=e.material;this.geometry=e.geometry;return this}raycast(e,t){const n=this.geometry;const r=this.matrixWorld;const i=e.params.Points.threshold;const s=n.drawRange;null===n.boundingSphere&&n.computeBoundingSphere();vl.copy(n.boundingSphere);vl.applyMatrix4(r);vl.radius+=i;if(false===e.ray.intersectsSphere(vl))return;gl.copy(r).invert();yl.copy(e.ray).applyMatrix4(gl);const a=i/((this.scale.x+this.scale.y+this.scale.z)/3);const o=a*a;if(n.isBufferGeometry){const i=n.index;const a=n.attributes;const l=a.position;if(null!==i){const n=Math.max(0,s.start);const a=Math.min(i.count,s.start+s.count);for(let s=n,c=a;s<c;s++){const n=i.getX(s);xl.fromBufferAttribute(l,n);testPoint(xl,n,o,r,e,t,this)}}else{const n=Math.max(0,s.start);const i=Math.min(l.count,s.start+s.count);for(let s=n,a=i;s<a;s++){xl.fromBufferAttribute(l,s);testPoint(xl,s,o,r,e,t,this)}}}else console.error(\"THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.\")}updateMorphTargets(){const e=this.geometry;if(e.isBufferGeometry){const t=e.morphAttributes;const n=Object.keys(t);if(n.length>0){const e=t[n[0]];if(void 0!==e){this.morphTargetInfluences=[];this.morphTargetDictionary={};for(let t=0,n=e.length;t<n;t++){const n=e[t].name||String(t);this.morphTargetInfluences.push(0);this.morphTargetDictionary[n]=t}}}}else{const t=e.morphTargets;void 0!==t&&t.length>0&&console.error(\"THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.\")}}}Points.prototype.isPoints=true;function testPoint(e,t,n,r,i,s,a){const o=yl.distanceSqToPoint(e);if(o<n){const n=new Vector3;yl.closestPointToPoint(e,n);n.applyMatrix4(r);const l=i.ray.origin.distanceTo(n);if(l<i.near||l>i.far)return;s.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:t,face:null,object:a})}}class VideoTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l){super(e,t,n,r,i,s,a,o,l);this.format=void 0!==a?a:Ve;this.minFilter=void 0!==s?s:ye;this.magFilter=void 0!==i?i:ye;this.generateMipmaps=false;const c=this;function updateVideo(){c.needsUpdate=true;e.requestVideoFrameCallback(updateVideo)}\"requestVideoFrameCallback\"in e&&e.requestVideoFrameCallback(updateVideo)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;const t=\"requestVideoFrameCallback\"in e;false===t&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=true)}}VideoTexture.prototype.isVideoTexture=true;class FramebufferTexture extends Texture{constructor(e,t,n){super({width:e,height:t});this.format=n;this.magFilter=de;this.minFilter=de;this.generateMipmaps=false;this.needsUpdate=true}}FramebufferTexture.prototype.isFramebufferTexture=true;class CompressedTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l,c,u,h){super(null,s,a,o,l,c,r,i,u,h);this.image={width:t,height:n};this.mipmaps=e;this.flipY=false;this.generateMipmaps=false}}CompressedTexture.prototype.isCompressedTexture=true;class CanvasTexture extends Texture{constructor(e,t,n,r,i,s,a,o,l){super(e,t,n,r,i,s,a,o,l);this.needsUpdate=true}}CanvasTexture.prototype.isCanvasTexture=true;class CircleGeometry extends BufferGeometry{constructor(e=1,t=8,n=0,r=2*Math.PI){super();this.type=\"CircleGeometry\";this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r};t=Math.max(3,t);const i=[];const s=[];const a=[];const o=[];const l=new Vector3;const c=new Vector2;s.push(0,0,0);a.push(0,0,1);o.push(.5,.5);for(let i=0,u=3;i<=t;i++,u+=3){const h=n+i/t*r;l.x=e*Math.cos(h);l.y=e*Math.sin(h);s.push(l.x,l.y,l.z);a.push(0,0,1);c.x=(s[u]/e+1)/2;c.y=(s[u+1]/e+1)/2;o.push(c.x,c.y)}for(let e=1;e<=t;e++)i.push(e,e+1,0);this.setIndex(i);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"normal\",new Float32BufferAttribute(a,3));this.setAttribute(\"uv\",new Float32BufferAttribute(o,2))}static fromJSON(e){return new CircleGeometry(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class CylinderGeometry extends BufferGeometry{constructor(e=1,t=1,n=1,r=8,i=1,s=false,a=0,o=2*Math.PI){super();this.type=\"CylinderGeometry\";this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:s,thetaStart:a,thetaLength:o};const l=this;r=Math.floor(r);i=Math.floor(i);const c=[];const u=[];const h=[];const d=[];let p=0;const f=[];const m=n/2;let g=0;generateTorso();if(false===s){e>0&&generateCap(true);t>0&&generateCap(false)}this.setIndex(c);this.setAttribute(\"position\",new Float32BufferAttribute(u,3));this.setAttribute(\"normal\",new Float32BufferAttribute(h,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateTorso(){const s=new Vector3;const y=new Vector3;let x=0;const b=(t-e)/n;for(let l=0;l<=i;l++){const c=[];const g=l/i;const x=g*(t-e)+e;for(let e=0;e<=r;e++){const t=e/r;const i=t*o+a;const l=Math.sin(i);const f=Math.cos(i);y.x=x*l;y.y=-g*n+m;y.z=x*f;u.push(y.x,y.y,y.z);s.set(l,b,f).normalize();h.push(s.x,s.y,s.z);d.push(t,1-g);c.push(p++)}f.push(c)}for(let e=0;e<r;e++)for(let t=0;t<i;t++){const n=f[t][e];const r=f[t+1][e];const i=f[t+1][e+1];const s=f[t][e+1];c.push(n,r,s);c.push(r,i,s);x+=6}l.addGroup(g,x,0);g+=x}function generateCap(n){const i=p;const s=new Vector2;const f=new Vector3;let y=0;const x=true===n?e:t;const b=true===n?1:-1;for(let e=1;e<=r;e++){u.push(0,m*b,0);h.push(0,b,0);d.push(.5,.5);p++}const _=p;for(let e=0;e<=r;e++){const t=e/r;const n=t*o+a;const i=Math.cos(n);const l=Math.sin(n);f.x=x*l;f.y=m*b;f.z=x*i;u.push(f.x,f.y,f.z);h.push(0,b,0);s.x=.5*i+.5;s.y=.5*l*b+.5;d.push(s.x,s.y);p++}for(let e=0;e<r;e++){const t=i+e;const r=_+e;true===n?c.push(r,r+1,t):c.push(r+1,r,t);y+=3}l.addGroup(g,y,true===n?1:2);g+=y}}static fromJSON(e){return new CylinderGeometry(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class ConeGeometry extends CylinderGeometry{constructor(e=1,t=1,n=8,r=1,i=false,s=0,a=2*Math.PI){super(0,e,t,n,r,i,s,a);this.type=\"ConeGeometry\";this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:s,thetaLength:a}}static fromJSON(e){return new ConeGeometry(e.radius,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class PolyhedronGeometry extends BufferGeometry{constructor(e=[],t=[],n=1,r=0){super();this.type=\"PolyhedronGeometry\";this.parameters={vertices:e,indices:t,radius:n,detail:r};const i=[];const s=[];subdivide(r);applyRadius(n);generateUVs();this.setAttribute(\"position\",new Float32BufferAttribute(i,3));this.setAttribute(\"normal\",new Float32BufferAttribute(i.slice(),3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));0===r?this.computeVertexNormals():this.normalizeNormals();function subdivide(e){const n=new Vector3;const r=new Vector3;const i=new Vector3;for(let s=0;s<t.length;s+=3){getVertexByIndex(t[s+0],n);getVertexByIndex(t[s+1],r);getVertexByIndex(t[s+2],i);subdivideFace(n,r,i,e)}}function subdivideFace(e,t,n,r){const i=r+1;const s=[];for(let r=0;r<=i;r++){s[r]=[];const a=e.clone().lerp(n,r/i);const o=t.clone().lerp(n,r/i);const l=i-r;for(let e=0;e<=l;e++)s[r][e]=0===e&&r===i?a:a.clone().lerp(o,e/l)}for(let e=0;e<i;e++)for(let t=0;t<2*(i-e)-1;t++){const n=Math.floor(t/2);if(t%2===0){pushVertex(s[e][n+1]);pushVertex(s[e+1][n]);pushVertex(s[e][n])}else{pushVertex(s[e][n+1]);pushVertex(s[e+1][n+1]);pushVertex(s[e+1][n])}}}function applyRadius(e){const t=new Vector3;for(let n=0;n<i.length;n+=3){t.x=i[n+0];t.y=i[n+1];t.z=i[n+2];t.normalize().multiplyScalar(e);i[n+0]=t.x;i[n+1]=t.y;i[n+2]=t.z}}function generateUVs(){const e=new Vector3;for(let t=0;t<i.length;t+=3){e.x=i[t+0];e.y=i[t+1];e.z=i[t+2];const n=azimuth(e)/2/Math.PI+.5;const r=inclination(e)/Math.PI+.5;s.push(n,1-r)}correctUVs();correctSeam()}function correctSeam(){for(let e=0;e<s.length;e+=6){const t=s[e+0];const n=s[e+2];const r=s[e+4];const i=Math.max(t,n,r);const a=Math.min(t,n,r);if(i>.9&&a<.1){t<.2&&(s[e+0]+=1);n<.2&&(s[e+2]+=1);r<.2&&(s[e+4]+=1)}}}function pushVertex(e){i.push(e.x,e.y,e.z)}function getVertexByIndex(t,n){const r=3*t;n.x=e[r+0];n.y=e[r+1];n.z=e[r+2]}function correctUVs(){const e=new Vector3;const t=new Vector3;const n=new Vector3;const r=new Vector3;const a=new Vector2;const o=new Vector2;const l=new Vector2;for(let c=0,u=0;c<i.length;c+=9,u+=6){e.set(i[c+0],i[c+1],i[c+2]);t.set(i[c+3],i[c+4],i[c+5]);n.set(i[c+6],i[c+7],i[c+8]);a.set(s[u+0],s[u+1]);o.set(s[u+2],s[u+3]);l.set(s[u+4],s[u+5]);r.copy(e).add(t).add(n).divideScalar(3);const h=azimuth(r);correctUV(a,u+0,e,h);correctUV(o,u+2,t,h);correctUV(l,u+4,n,h)}}function correctUV(e,t,n,r){r<0&&1===e.x&&(s[t]=e.x-1);0===n.x&&0===n.z&&(s[t]=r/2/Math.PI+.5)}function azimuth(e){return Math.atan2(e.z,-e.x)}function inclination(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}}static fromJSON(e){return new PolyhedronGeometry(e.vertices,e.indices,e.radius,e.details)}}class DodecahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2;const r=1/n;const i=[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r];const s=[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(i,s,e,t);this.type=\"DodecahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new DodecahedronGeometry(e.radius,e.detail)}}const bl=new Vector3;const _l=new Vector3;const Ml=new Vector3;const wl=new Triangle;class EdgesGeometry extends BufferGeometry{constructor(e=null,t=1){super();this.type=\"EdgesGeometry\";this.parameters={geometry:e,thresholdAngle:t};if(null!==e){const n=4;const r=Math.pow(10,n);const i=Math.cos(Cn*t);const s=e.getIndex();const a=e.getAttribute(\"position\");const o=s?s.count:a.count;const l=[0,0,0];const c=[\"a\",\"b\",\"c\"];const u=new Array(3);const h={};const d=[];for(let e=0;e<o;e+=3){if(s){l[0]=s.getX(e);l[1]=s.getX(e+1);l[2]=s.getX(e+2)}else{l[0]=e;l[1]=e+1;l[2]=e+2}const{a:t,b:n,c:o}=wl;t.fromBufferAttribute(a,l[0]);n.fromBufferAttribute(a,l[1]);o.fromBufferAttribute(a,l[2]);wl.getNormal(Ml);u[0]=`${Math.round(t.x*r)},${Math.round(t.y*r)},${Math.round(t.z*r)}`;u[1]=`${Math.round(n.x*r)},${Math.round(n.y*r)},${Math.round(n.z*r)}`;u[2]=`${Math.round(o.x*r)},${Math.round(o.y*r)},${Math.round(o.z*r)}`;if(u[0]!==u[1]&&u[1]!==u[2]&&u[2]!==u[0])for(let e=0;e<3;e++){const t=(e+1)%3;const n=u[e];const r=u[t];const s=wl[c[e]];const a=wl[c[t]];const o=`${n}_${r}`;const p=`${r}_${n}`;if(p in h&&h[p]){if(Ml.dot(h[p].normal)<=i){d.push(s.x,s.y,s.z);d.push(a.x,a.y,a.z)}h[p]=null}else o in h||(h[o]={index0:l[e],index1:l[t],normal:Ml.clone()})}}for(const e in h)if(h[e]){const{index0:t,index1:n}=h[e];bl.fromBufferAttribute(a,t);_l.fromBufferAttribute(a,n);d.push(bl.x,bl.y,bl.z);d.push(_l.x,_l.y,_l.z)}this.setAttribute(\"position\",new Float32BufferAttribute(d,3))}}}class Curve{constructor(){this.type=\"Curve\";this.arcLengthDivisions=200}getPoint(){console.warn(\"THREE.Curve: .getPoint() not implemented.\");return null}getPointAt(e,t){const n=this.getUtoTmapping(e);return this.getPoint(n,t)}getPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(e=5){const t=[];for(let n=0;n<=e;n++)t.push(this.getPointAt(n/e));return t}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=false;const t=[];let n,r=this.getPoint(0);let i=0;t.push(0);for(let s=1;s<=e;s++){n=this.getPoint(s/e);i+=n.distanceTo(r);t.push(i);r=n}this.cacheArcLengths=t;return t}updateArcLengths(){this.needsUpdate=true;this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let r=0;const i=n.length;let s;s=t||e*n[i-1];let a,o=0,l=i-1;while(o<=l){r=Math.floor(o+(l-o)/2);a=n[r]-s;if(a<0)o=r+1;else{if(!(a>0)){l=r;break}l=r-1}}r=l;if(n[r]===s)return r/(i-1);const c=n[r];const u=n[r+1];const h=u-c;const d=(s-c)/h;const p=(r+d)/(i-1);return p}getTangent(e,t){const n=1e-4;let r=e-n;let i=e+n;r<0&&(r=0);i>1&&(i=1);const s=this.getPoint(r);const a=this.getPoint(i);const o=t||(s.isVector2?new Vector2:new Vector3);o.copy(a).sub(s).normalize();return o}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new Vector3;const r=[];const i=[];const s=[];const a=new Vector3;const o=new Matrix4;for(let t=0;t<=e;t++){const n=t/e;r[t]=this.getTangentAt(n,new Vector3)}i[0]=new Vector3;s[0]=new Vector3;let l=Number.MAX_VALUE;const c=Math.abs(r[0].x);const u=Math.abs(r[0].y);const h=Math.abs(r[0].z);if(c<=l){l=c;n.set(1,0,0)}if(u<=l){l=u;n.set(0,1,0)}h<=l&&n.set(0,0,1);a.crossVectors(r[0],n).normalize();i[0].crossVectors(r[0],a);s[0].crossVectors(r[0],i[0]);for(let t=1;t<=e;t++){i[t]=i[t-1].clone();s[t]=s[t-1].clone();a.crossVectors(r[t-1],r[t]);if(a.length()>Number.EPSILON){a.normalize();const e=Math.acos(clamp(r[t-1].dot(r[t]),-1,1));i[t].applyMatrix4(o.makeRotationAxis(a,e))}s[t].crossVectors(r[t],i[t])}if(true===t){let t=Math.acos(clamp(i[0].dot(i[e]),-1,1));t/=e;r[0].dot(a.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++){i[n].applyMatrix4(o.makeRotationAxis(r[n],t*n));s[n].crossVectors(r[n],i[n])}}return{tangents:r,normals:i,binormals:s}}clone(){return(new this.constructor).copy(this)}copy(e){this.arcLengthDivisions=e.arcLengthDivisions;return this}toJSON(){const e={metadata:{version:4.5,type:\"Curve\",generator:\"Curve.toJSON\"}};e.arcLengthDivisions=this.arcLengthDivisions;e.type=this.type;return e}fromJSON(e){this.arcLengthDivisions=e.arcLengthDivisions;return this}}class EllipseCurve extends Curve{constructor(e=0,t=0,n=1,r=1,i=0,s=2*Math.PI,a=false,o=0){super();this.type=\"EllipseCurve\";this.aX=e;this.aY=t;this.xRadius=n;this.yRadius=r;this.aStartAngle=i;this.aEndAngle=s;this.aClockwise=a;this.aRotation=o}getPoint(e,t){const n=t||new Vector2;const r=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const s=Math.abs(i)<Number.EPSILON;while(i<0)i+=r;while(i>r)i-=r;i<Number.EPSILON&&(i=s?0:r);true!==this.aClockwise||s||(i===r?i=-r:i-=r);const a=this.aStartAngle+e*i;let o=this.aX+this.xRadius*Math.cos(a);let l=this.aY+this.yRadius*Math.sin(a);if(0!==this.aRotation){const e=Math.cos(this.aRotation);const t=Math.sin(this.aRotation);const n=o-this.aX;const r=l-this.aY;o=n*e-r*t+this.aX;l=n*t+r*e+this.aY}return n.set(o,l)}copy(e){super.copy(e);this.aX=e.aX;this.aY=e.aY;this.xRadius=e.xRadius;this.yRadius=e.yRadius;this.aStartAngle=e.aStartAngle;this.aEndAngle=e.aEndAngle;this.aClockwise=e.aClockwise;this.aRotation=e.aRotation;return this}toJSON(){const e=super.toJSON();e.aX=this.aX;e.aY=this.aY;e.xRadius=this.xRadius;e.yRadius=this.yRadius;e.aStartAngle=this.aStartAngle;e.aEndAngle=this.aEndAngle;e.aClockwise=this.aClockwise;e.aRotation=this.aRotation;return e}fromJSON(e){super.fromJSON(e);this.aX=e.aX;this.aY=e.aY;this.xRadius=e.xRadius;this.yRadius=e.yRadius;this.aStartAngle=e.aStartAngle;this.aEndAngle=e.aEndAngle;this.aClockwise=e.aClockwise;this.aRotation=e.aRotation;return this}}EllipseCurve.prototype.isEllipseCurve=true;class ArcCurve extends EllipseCurve{constructor(e,t,n,r,i,s){super(e,t,n,n,r,i,s);this.type=\"ArcCurve\"}}ArcCurve.prototype.isArcCurve=true;function CubicPoly(){let e=0,t=0,n=0,r=0;function init(i,s,a,o){e=i;t=a;n=-3*i+3*s-2*a-o;r=2*i-2*s+a+o}return{initCatmullRom:function(e,t,n,r,i){init(t,n,i*(n-e),i*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,i,s,a){let o=(t-e)/i-(n-e)/(i+s)+(n-t)/s;let l=(n-t)/s-(r-t)/(s+a)+(r-n)/a;o*=s;l*=s;init(t,n,o,l)},calc:function(i){const s=i*i;const a=s*i;return e+t*i+n*s+r*a}}}const Sl=new Vector3;const Tl=new CubicPoly,El=new CubicPoly,Al=new CubicPoly;class CatmullRomCurve3 extends Curve{constructor(e=[],t=false,n=\"centripetal\",r=.5){super();this.type=\"CatmullRomCurve3\";this.points=e;this.closed=t;this.curveType=n;this.tension=r}getPoint(e,t=new Vector3){const n=t;const r=this.points;const i=r.length;const s=(i-(this.closed?0:1))*e;let a=Math.floor(s);let o=s-a;if(this.closed)a+=a>0?0:(Math.floor(Math.abs(a)/i)+1)*i;else if(0===o&&a===i-1){a=i-2;o=1}let l,c;if(this.closed||a>0)l=r[(a-1)%i];else{Sl.subVectors(r[0],r[1]).add(r[0]);l=Sl}const u=r[a%i];const h=r[(a+1)%i];if(this.closed||a+2<i)c=r[(a+2)%i];else{Sl.subVectors(r[i-1],r[i-2]).add(r[i-1]);c=Sl}if(\"centripetal\"===this.curveType||\"chordal\"===this.curveType){const e=\"chordal\"===this.curveType?.5:.25;let t=Math.pow(l.distanceToSquared(u),e);let n=Math.pow(u.distanceToSquared(h),e);let r=Math.pow(h.distanceToSquared(c),e);n<1e-4&&(n=1);t<1e-4&&(t=n);r<1e-4&&(r=n);Tl.initNonuniformCatmullRom(l.x,u.x,h.x,c.x,t,n,r);El.initNonuniformCatmullRom(l.y,u.y,h.y,c.y,t,n,r);Al.initNonuniformCatmullRom(l.z,u.z,h.z,c.z,t,n,r)}else if(\"catmullrom\"===this.curveType){Tl.initCatmullRom(l.x,u.x,h.x,c.x,this.tension);El.initCatmullRom(l.y,u.y,h.y,c.y,this.tension);Al.initCatmullRom(l.z,u.z,h.z,c.z,this.tension)}n.set(Tl.calc(o),El.calc(o),Al.calc(o));return n}copy(e){super.copy(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}this.closed=e.closed;this.curveType=e.curveType;this.tension=e.tension;return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const n=this.points[t];e.points.push(n.toArray())}e.closed=this.closed;e.curveType=this.curveType;e.tension=this.tension;return e}fromJSON(e){super.fromJSON(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push((new Vector3).fromArray(n))}this.closed=e.closed;this.curveType=e.curveType;this.tension=e.tension;return this}}CatmullRomCurve3.prototype.isCatmullRomCurve3=true;function CatmullRom(e,t,n,r,i){const s=.5*(r-t);const a=.5*(i-n);const o=e*e;const l=e*o;return(2*n-2*r+s+a)*l+(-3*n+3*r-2*s-a)*o+s*e+n}function QuadraticBezierP0(e,t){const n=1-e;return n*n*t}function QuadraticBezierP1(e,t){return 2*(1-e)*e*t}function QuadraticBezierP2(e,t){return e*e*t}function QuadraticBezier(e,t,n,r){return QuadraticBezierP0(e,t)+QuadraticBezierP1(e,n)+QuadraticBezierP2(e,r)}function CubicBezierP0(e,t){const n=1-e;return n*n*n*t}function CubicBezierP1(e,t){const n=1-e;return 3*n*n*e*t}function CubicBezierP2(e,t){return 3*(1-e)*e*e*t}function CubicBezierP3(e,t){return e*e*e*t}function CubicBezier(e,t,n,r,i){return CubicBezierP0(e,t)+CubicBezierP1(e,n)+CubicBezierP2(e,r)+CubicBezierP3(e,i)}class CubicBezierCurve extends Curve{constructor(e=new Vector2,t=new Vector2,n=new Vector2,r=new Vector2){super();this.type=\"CubicBezierCurve\";this.v0=e;this.v1=t;this.v2=n;this.v3=r}getPoint(e,t=new Vector2){const n=t;const r=this.v0,i=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(e,r.x,i.x,s.x,a.x),CubicBezier(e,r.y,i.y,s.y,a.y));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);this.v3.copy(e.v3);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();e.v3=this.v3.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);this.v3.fromArray(e.v3);return this}}CubicBezierCurve.prototype.isCubicBezierCurve=true;class CubicBezierCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3,n=new Vector3,r=new Vector3){super();this.type=\"CubicBezierCurve3\";this.v0=e;this.v1=t;this.v2=n;this.v3=r}getPoint(e,t=new Vector3){const n=t;const r=this.v0,i=this.v1,s=this.v2,a=this.v3;n.set(CubicBezier(e,r.x,i.x,s.x,a.x),CubicBezier(e,r.y,i.y,s.y,a.y),CubicBezier(e,r.z,i.z,s.z,a.z));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);this.v3.copy(e.v3);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();e.v3=this.v3.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);this.v3.fromArray(e.v3);return this}}CubicBezierCurve3.prototype.isCubicBezierCurve3=true;class LineCurve extends Curve{constructor(e=new Vector2,t=new Vector2){super();this.type=\"LineCurve\";this.v1=e;this.v2=t}getPoint(e,t=new Vector2){const n=t;if(1===e)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(e).add(this.v1)}return n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t){const n=t||new Vector2;n.copy(this.v2).sub(this.v1).normalize();return n}copy(e){super.copy(e);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}LineCurve.prototype.isLineCurve=true;class LineCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3){super();this.type=\"LineCurve3\";this.isLineCurve3=true;this.v1=e;this.v2=t}getPoint(e,t=new Vector3){const n=t;if(1===e)n.copy(this.v2);else{n.copy(this.v2).sub(this.v1);n.multiplyScalar(e).add(this.v1)}return n}getPointAt(e,t){return this.getPoint(e,t)}copy(e){super.copy(e);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}class QuadraticBezierCurve extends Curve{constructor(e=new Vector2,t=new Vector2,n=new Vector2){super();this.type=\"QuadraticBezierCurve\";this.v0=e;this.v1=t;this.v2=n}getPoint(e,t=new Vector2){const n=t;const r=this.v0,i=this.v1,s=this.v2;n.set(QuadraticBezier(e,r.x,i.x,s.x),QuadraticBezier(e,r.y,i.y,s.y));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}QuadraticBezierCurve.prototype.isQuadraticBezierCurve=true;class QuadraticBezierCurve3 extends Curve{constructor(e=new Vector3,t=new Vector3,n=new Vector3){super();this.type=\"QuadraticBezierCurve3\";this.v0=e;this.v1=t;this.v2=n}getPoint(e,t=new Vector3){const n=t;const r=this.v0,i=this.v1,s=this.v2;n.set(QuadraticBezier(e,r.x,i.x,s.x),QuadraticBezier(e,r.y,i.y,s.y),QuadraticBezier(e,r.z,i.z,s.z));return n}copy(e){super.copy(e);this.v0.copy(e.v0);this.v1.copy(e.v1);this.v2.copy(e.v2);return this}toJSON(){const e=super.toJSON();e.v0=this.v0.toArray();e.v1=this.v1.toArray();e.v2=this.v2.toArray();return e}fromJSON(e){super.fromJSON(e);this.v0.fromArray(e.v0);this.v1.fromArray(e.v1);this.v2.fromArray(e.v2);return this}}QuadraticBezierCurve3.prototype.isQuadraticBezierCurve3=true;class SplineCurve extends Curve{constructor(e=[]){super();this.type=\"SplineCurve\";this.points=e}getPoint(e,t=new Vector2){const n=t;const r=this.points;const i=(r.length-1)*e;const s=Math.floor(i);const a=i-s;const o=r[0===s?s:s-1];const l=r[s];const c=r[s>r.length-2?r.length-1:s+1];const u=r[s>r.length-3?r.length-1:s+2];n.set(CatmullRom(a,o.x,l.x,c.x,u.x),CatmullRom(a,o.y,l.y,c.y,u.y));return n}copy(e){super.copy(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const n=this.points[t];e.points.push(n.toArray())}return e}fromJSON(e){super.fromJSON(e);this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push((new Vector2).fromArray(n))}return this}}SplineCurve.prototype.isSplineCurve=true;var Ll=Object.freeze({__proto__:null,ArcCurve:ArcCurve,CatmullRomCurve3:CatmullRomCurve3,CubicBezierCurve:CubicBezierCurve,CubicBezierCurve3:CubicBezierCurve3,EllipseCurve:EllipseCurve,LineCurve:LineCurve,LineCurve3:LineCurve3,QuadraticBezierCurve:QuadraticBezierCurve,QuadraticBezierCurve3:QuadraticBezierCurve3,SplineCurve:SplineCurve});class CurvePath extends Curve{constructor(){super();this.type=\"CurvePath\";this.curves=[];this.autoClose=false}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0);const t=this.curves[this.curves.length-1].getPoint(1);e.equals(t)||this.curves.push(new LineCurve(t,e))}getPoint(e,t){const n=e*this.getLength();const r=this.getCurveLengths();let i=0;while(i<r.length){if(r[i]>=n){const e=r[i]-n;const s=this.curves[i];const a=s.getLength();const o=0===a?0:1-e/a;return s.getPointAt(o,t)}i++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=true;this.cacheLengths=null;this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let t=0;for(let n=0,r=this.curves.length;n<r;n++){t+=this.curves[n].getLength();e.push(t)}this.cacheLengths=e;return e}getSpacedPoints(e=40){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));this.autoClose&&t.push(t[0]);return t}getPoints(e=12){const t=[];let n;for(let r=0,i=this.curves;r<i.length;r++){const s=i[r];const a=s&&s.isEllipseCurve?2*e:s&&(s.isLineCurve||s.isLineCurve3)?1:s&&s.isSplineCurve?e*s.points.length:e;const o=s.getPoints(a);for(let e=0;e<o.length;e++){const r=o[e];if(!n||!n.equals(r)){t.push(r);n=r}}}this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]);return t}copy(e){super.copy(e);this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const n=e.curves[t];this.curves.push(n.clone())}this.autoClose=e.autoClose;return this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose;e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){const n=this.curves[t];e.curves.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e);this.autoClose=e.autoClose;this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const n=e.curves[t];this.curves.push((new Ll[n.type]).fromJSON(n))}return this}}class Path extends CurvePath{constructor(e){super();this.type=\"Path\";this.currentPoint=new Vector2;e&&this.setFromPoints(e)}setFromPoints(e){this.moveTo(e[0].x,e[0].y);for(let t=1,n=e.length;t<n;t++)this.lineTo(e[t].x,e[t].y);return this}moveTo(e,t){this.currentPoint.set(e,t);return this}lineTo(e,t){const n=new LineCurve(this.currentPoint.clone(),new Vector2(e,t));this.curves.push(n);this.currentPoint.set(e,t);return this}quadraticCurveTo(e,t,n,r){const i=new QuadraticBezierCurve(this.currentPoint.clone(),new Vector2(e,t),new Vector2(n,r));this.curves.push(i);this.currentPoint.set(n,r);return this}bezierCurveTo(e,t,n,r,i,s){const a=new CubicBezierCurve(this.currentPoint.clone(),new Vector2(e,t),new Vector2(n,r),new Vector2(i,s));this.curves.push(a);this.currentPoint.set(i,s);return this}splineThru(e){const t=[this.currentPoint.clone()].concat(e);const n=new SplineCurve(t);this.curves.push(n);this.currentPoint.copy(e[e.length-1]);return this}arc(e,t,n,r,i,s){const a=this.currentPoint.x;const o=this.currentPoint.y;this.absarc(e+a,t+o,n,r,i,s);return this}absarc(e,t,n,r,i,s){this.absellipse(e,t,n,n,r,i,s);return this}ellipse(e,t,n,r,i,s,a,o){const l=this.currentPoint.x;const c=this.currentPoint.y;this.absellipse(e+l,t+c,n,r,i,s,a,o);return this}absellipse(e,t,n,r,i,s,a,o){const l=new EllipseCurve(e,t,n,r,i,s,a,o);if(this.curves.length>0){const e=l.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(l);const c=l.getPoint(1);this.currentPoint.copy(c);return this}copy(e){super.copy(e);this.currentPoint.copy(e.currentPoint);return this}toJSON(){const e=super.toJSON();e.currentPoint=this.currentPoint.toArray();return e}fromJSON(e){super.fromJSON(e);this.currentPoint.fromArray(e.currentPoint);return this}}class Shape extends Path{constructor(e){super(e);this.uuid=generateUUID();this.type=\"Shape\";this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e);this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid;e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){const n=this.holes[t];e.holes.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e);this.uuid=e.uuid;this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push((new Path).fromJSON(n))}return this}}const Cl={triangulate:function(e,t,n=2){const r=t&&t.length;const i=r?t[0]*n:e.length;let s=linkedList(e,0,i,n,true);const a=[];if(!s||s.next===s.prev)return a;let o,l,c,u,h,d,p;r&&(s=eliminateHoles(e,t,s,n));if(e.length>80*n){o=c=e[0];l=u=e[1];for(let t=n;t<i;t+=n){h=e[t];d=e[t+1];h<o&&(o=h);d<l&&(l=d);h>c&&(c=h);d>u&&(u=d)}p=Math.max(c-o,u-l);p=0!==p?1/p:0}earcutLinked(s,a,n,o,l,p);return a}};function linkedList(e,t,n,r,i){let s,a;if(i===signedArea(e,t,n,r)>0)for(s=t;s<n;s+=r)a=insertNode(s,e[s],e[s+1],a);else for(s=n-r;s>=t;s-=r)a=insertNode(s,e[s],e[s+1],a);if(a&&equals(a,a.next)){removeNode(a);a=a.next}return a}function filterPoints(e,t){if(!e)return e;t||(t=e);let n,r=e;do{n=false;if(r.steiner||!equals(r,r.next)&&0!==area(r.prev,r,r.next))r=r.next;else{removeNode(r);r=t=r.prev;if(r===r.next)break;n=true}}while(n||r!==t);return t}function earcutLinked(e,t,n,r,i,s,a){if(!e)return;!a&&s&&indexCurve(e,r,i,s);let o,l,c=e;while(e.prev!==e.next){o=e.prev;l=e.next;if(s?isEarHashed(e,r,i,s):isEar(e)){t.push(o.i/n);t.push(e.i/n);t.push(l.i/n);removeNode(e);e=l.next;c=l.next}else{e=l;if(e===c){if(a)if(1===a){e=cureLocalIntersections(filterPoints(e),t,n);earcutLinked(e,t,n,r,i,s,2)}else 2===a&&splitEarcut(e,t,n,r,i,s);else earcutLinked(filterPoints(e),t,n,r,i,s,1);break}}}}function isEar(e){const t=e.prev,n=e,r=e.next;if(area(t,n,r)>=0)return false;let i=e.next.next;while(i!==e.prev){if(pointInTriangle(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&area(i.prev,i,i.next)>=0)return false;i=i.next}return true}function isEarHashed(e,t,n,r){const i=e.prev,s=e,a=e.next;if(area(i,s,a)>=0)return false;const o=i.x<s.x?i.x<a.x?i.x:a.x:s.x<a.x?s.x:a.x,l=i.y<s.y?i.y<a.y?i.y:a.y:s.y<a.y?s.y:a.y,c=i.x>s.x?i.x>a.x?i.x:a.x:s.x>a.x?s.x:a.x,u=i.y>s.y?i.y>a.y?i.y:a.y:s.y>a.y?s.y:a.y;const h=zOrder(o,l,t,n,r),d=zOrder(c,u,t,n,r);let p=e.prevZ,f=e.nextZ;while(p&&p.z>=h&&f&&f.z<=d){if(p!==e.prev&&p!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ;if(f!==e.prev&&f!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,f.x,f.y)&&area(f.prev,f,f.next)>=0)return false;f=f.nextZ}while(p&&p.z>=h){if(p!==e.prev&&p!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return false;p=p.prevZ}while(f&&f.z<=d){if(f!==e.prev&&f!==e.next&&pointInTriangle(i.x,i.y,s.x,s.y,a.x,a.y,f.x,f.y)&&area(f.prev,f,f.next)>=0)return false;f=f.nextZ}return true}function cureLocalIntersections(e,t,n){let r=e;do{const i=r.prev,s=r.next.next;if(!equals(i,s)&&intersects(i,r,r.next,s)&&locallyInside(i,s)&&locallyInside(s,i)){t.push(i.i/n);t.push(r.i/n);t.push(s.i/n);removeNode(r);removeNode(r.next);r=e=s}r=r.next}while(r!==e);return filterPoints(r)}function splitEarcut(e,t,n,r,i,s){let a=e;do{let e=a.next.next;while(e!==a.prev){if(a.i!==e.i&&isValidDiagonal(a,e)){let o=splitPolygon(a,e);a=filterPoints(a,a.next);o=filterPoints(o,o.next);earcutLinked(a,t,n,r,i,s);earcutLinked(o,t,n,r,i,s);return}e=e.next}a=a.next}while(a!==e)}function eliminateHoles(e,t,n,r){const i=[];let s,a,o,l,c;for(s=0,a=t.length;s<a;s++){o=t[s]*r;l=s<a-1?t[s+1]*r:e.length;c=linkedList(e,o,l,r,false);c===c.next&&(c.steiner=true);i.push(getLeftmost(c))}i.sort(compareX);for(s=0;s<i.length;s++){eliminateHole(i[s],n);n=filterPoints(n,n.next)}return n}function compareX(e,t){return e.x-t.x}function eliminateHole(e,t){t=findHoleBridge(e,t);if(t){const n=splitPolygon(t,e);filterPoints(t,t.next);filterPoints(n,n.next)}}function findHoleBridge(e,t){let n=t;const r=e.x;const i=e.y;let s,a=-Infinity;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){const e=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(e<=r&&e>a){a=e;if(e===r){if(i===n.y)return n;if(i===n.next.y)return n.next}s=n.x<n.next.x?n:n.next}}n=n.next}while(n!==t);if(!s)return null;if(r===a)return s;const o=s,l=s.x,c=s.y;let u,h=Infinity;n=s;do{if(r>=n.x&&n.x>=l&&r!==n.x&&pointInTriangle(i<c?r:a,i,l,c,i<c?a:r,i,n.x,n.y)){u=Math.abs(i-n.y)/(r-n.x);if(locallyInside(n,e)&&(u<h||u===h&&(n.x>s.x||n.x===s.x&&sectorContainsSector(s,n)))){s=n;h=u}}n=n.next}while(n!==o);return s}function sectorContainsSector(e,t){return area(e.prev,e,t.prev)<0&&area(t.next,e,e.next)<0}function indexCurve(e,t,n,r){let i=e;do{null===i.z&&(i.z=zOrder(i.x,i.y,t,n,r));i.prevZ=i.prev;i.nextZ=i.next;i=i.next}while(i!==e);i.prevZ.nextZ=null;i.prevZ=null;sortLinked(i)}function sortLinked(e){let t,n,r,i,s,a,o,l,c=1;do{n=e;e=null;s=null;a=0;while(n){a++;r=n;o=0;for(t=0;t<c;t++){o++;r=r.nextZ;if(!r)break}l=c;while(o>0||l>0&&r){if(0!==o&&(0===l||!r||n.z<=r.z)){i=n;n=n.nextZ;o--}else{i=r;r=r.nextZ;l--}s?s.nextZ=i:e=i;i.prevZ=s;s=i}n=r}s.nextZ=null;c*=2}while(a>1);return e}function zOrder(e,t,n,r,i){e=32767*(e-n)*i;t=32767*(t-r)*i;e=16711935&(e|e<<8);e=252645135&(e|e<<4);e=858993459&(e|e<<2);e=1431655765&(e|e<<1);t=16711935&(t|t<<8);t=252645135&(t|t<<4);t=858993459&(t|t<<2);t=1431655765&(t|t<<1);return e|t<<1}function getLeftmost(e){let t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t);t=t.next}while(t!==e);return n}function pointInTriangle(e,t,n,r,i,s,a,o){return(i-a)*(t-o)-(e-a)*(s-o)>=0&&(e-a)*(r-o)-(n-a)*(t-o)>=0&&(n-a)*(s-o)-(i-a)*(r-o)>=0}function isValidDiagonal(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!intersectsPolygon(e,t)&&(locallyInside(e,t)&&locallyInside(t,e)&&middleInside(e,t)&&(area(e.prev,e,t.prev)||area(e,t.prev,t))||equals(e,t)&&area(e.prev,e,e.next)>0&&area(t.prev,t,t.next)>0)}function area(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function equals(e,t){return e.x===t.x&&e.y===t.y}function intersects(e,t,n,r){const i=sign(area(e,t,n));const s=sign(area(e,t,r));const a=sign(area(n,r,e));const o=sign(area(n,r,t));return i!==s&&a!==o||(!(0!==i||!onSegment(e,n,t))||(!(0!==s||!onSegment(e,r,t))||(!(0!==a||!onSegment(n,e,r))||!(0!==o||!onSegment(n,t,r)))))}function onSegment(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function sign(e){return e>0?1:e<0?-1:0}function intersectsPolygon(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&intersects(n,n.next,e,t))return true;n=n.next}while(n!==e);return false}function locallyInside(e,t){return area(e.prev,e,e.next)<0?area(e,t,e.next)>=0&&area(e,e.prev,t)>=0:area(e,t,e.prev)<0||area(e,e.next,t)<0}function middleInside(e,t){let n=e,r=false;const i=(e.x+t.x)/2,s=(e.y+t.y)/2;do{n.y>s!==n.next.y>s&&n.next.y!==n.y&&i<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(r=!r);n=n.next}while(n!==e);return r}function splitPolygon(e,t){const n=new Node(e.i,e.x,e.y),r=new Node(t.i,t.x,t.y),i=e.next,s=t.prev;e.next=t;t.prev=e;n.next=i;i.prev=n;r.next=n;n.prev=r;s.next=r;r.prev=s;return r}function insertNode(e,t,n,r){const i=new Node(e,t,n);if(r){i.next=r.next;i.prev=r;r.next.prev=i;r.next=i}else{i.prev=i;i.next=i}return i}function removeNode(e){e.next.prev=e.prev;e.prev.next=e.next;e.prevZ&&(e.prevZ.nextZ=e.nextZ);e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Node(e,t,n){this.i=e;this.x=t;this.y=n;this.prev=null;this.next=null;this.z=null;this.prevZ=null;this.nextZ=null;this.steiner=false}function signedArea(e,t,n,r){let i=0;for(let s=t,a=n-r;s<n;s+=r){i+=(e[a]-e[s])*(e[s+1]+e[a+1]);a=s}return i}class ShapeUtils{static area(e){const t=e.length;let n=0;for(let r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return.5*n}static isClockWise(e){return ShapeUtils.area(e)<0}static triangulateShape(e,t){const n=[];const r=[];const i=[];removeDupEndPts(e);addContour(n,e);let s=e.length;t.forEach(removeDupEndPts);for(let e=0;e<t.length;e++){r.push(s);s+=t[e].length;addContour(n,t[e])}const a=Cl.triangulate(n,r);for(let e=0;e<a.length;e+=3)i.push(a.slice(e,e+3));return i}}function removeDupEndPts(e){const t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function addContour(e,t){for(let n=0;n<t.length;n++){e.push(t[n].x);e.push(t[n].y)}}class ExtrudeGeometry extends BufferGeometry{constructor(e=new Shape([new Vector2(.5,.5),new Vector2(-.5,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),t={}){super();this.type=\"ExtrudeGeometry\";this.parameters={shapes:e,options:t};e=Array.isArray(e)?e:[e];const n=this;const r=[];const i=[];for(let t=0,n=e.length;t<n;t++){const n=e[t];addShape(n)}this.setAttribute(\"position\",new Float32BufferAttribute(r,3));this.setAttribute(\"uv\",new Float32BufferAttribute(i,2));this.computeVertexNormals();function addShape(e){const s=[];const a=void 0!==t.curveSegments?t.curveSegments:12;const o=void 0!==t.steps?t.steps:1;let l=void 0!==t.depth?t.depth:1;let c=void 0===t.bevelEnabled||t.bevelEnabled;let u=void 0!==t.bevelThickness?t.bevelThickness:.2;let h=void 0!==t.bevelSize?t.bevelSize:u-.1;let d=void 0!==t.bevelOffset?t.bevelOffset:0;let p=void 0!==t.bevelSegments?t.bevelSegments:3;const f=t.extrudePath;const m=void 0!==t.UVGenerator?t.UVGenerator:Rl;if(void 0!==t.amount){console.warn(\"THREE.ExtrudeBufferGeometry: amount has been renamed to depth.\");l=t.amount}let g,y=false;let x,b,_,M;if(f){g=f.getSpacedPoints(o);y=true;c=false;x=f.computeFrenetFrames(o,false);b=new Vector3;_=new Vector3;M=new Vector3}if(!c){p=0;u=0;h=0;d=0}const w=e.extractPoints(a);let S=w.shape;const T=w.holes;const E=!ShapeUtils.isClockWise(S);if(E){S=S.reverse();for(let e=0,t=T.length;e<t;e++){const t=T[e];ShapeUtils.isClockWise(t)&&(T[e]=t.reverse())}}const A=ShapeUtils.triangulateShape(S,T);const L=S;for(let e=0,t=T.length;e<t;e++){const t=T[e];S=S.concat(t)}function scalePt2(e,t,n){t||console.error(\"THREE.ExtrudeGeometry: vec does not exist\");return t.clone().multiplyScalar(n).add(e)}const C=S.length,R=A.length;function getBevelVec(e,t,n){let r,i,s;const a=e.x-t.x,o=e.y-t.y;const l=n.x-e.x,c=n.y-e.y;const u=a*a+o*o;const h=a*c-o*l;if(Math.abs(h)>Number.EPSILON){const h=Math.sqrt(u);const d=Math.sqrt(l*l+c*c);const p=t.x-o/h;const f=t.y+a/h;const m=n.x-c/d;const g=n.y+l/d;const y=((m-p)*c-(g-f)*l)/(a*c-o*l);r=p+a*y-e.x;i=f+o*y-e.y;const x=r*r+i*i;if(x<=2)return new Vector2(r,i);s=Math.sqrt(x/2)}else{let e=false;a>Number.EPSILON?l>Number.EPSILON&&(e=true):a<-Number.EPSILON?l<-Number.EPSILON&&(e=true):Math.sign(o)===Math.sign(c)&&(e=true);if(e){r=-o;i=a;s=Math.sqrt(u)}else{r=a;i=o;s=Math.sqrt(u/2)}}return new Vector2(r/s,i/s)}const P=[];for(let e=0,t=L.length,n=t-1,r=e+1;e<t;e++,n++,r++){n===t&&(n=0);r===t&&(r=0);P[e]=getBevelVec(L[e],L[n],L[r])}const I=[];let D,B=P.concat();for(let e=0,t=T.length;e<t;e++){const t=T[e];D=[];for(let e=0,n=t.length,r=n-1,i=e+1;e<n;e++,r++,i++){r===n&&(r=0);i===n&&(i=0);D[e]=getBevelVec(t[e],t[r],t[i])}I.push(D);B=B.concat(D)}for(let e=0;e<p;e++){const t=e/p;const n=u*Math.cos(t*Math.PI/2);const r=h*Math.sin(t*Math.PI/2)+d;for(let e=0,t=L.length;e<t;e++){const t=scalePt2(L[e],P[e],r);v(t.x,t.y,-n)}for(let e=0,t=T.length;e<t;e++){const t=T[e];D=I[e];for(let e=0,i=t.length;e<i;e++){const i=scalePt2(t[e],D[e],r);v(i.x,i.y,-n)}}}const V=h+d;for(let e=0;e<C;e++){const t=c?scalePt2(S[e],B[e],V):S[e];if(y){_.copy(x.normals[0]).multiplyScalar(t.x);b.copy(x.binormals[0]).multiplyScalar(t.y);M.copy(g[0]).add(_).add(b);v(M.x,M.y,M.z)}else v(t.x,t.y,0)}for(let e=1;e<=o;e++)for(let t=0;t<C;t++){const n=c?scalePt2(S[t],B[t],V):S[t];if(y){_.copy(x.normals[e]).multiplyScalar(n.x);b.copy(x.binormals[e]).multiplyScalar(n.y);M.copy(g[e]).add(_).add(b);v(M.x,M.y,M.z)}else v(n.x,n.y,l/o*e)}for(let e=p-1;e>=0;e--){const t=e/p;const n=u*Math.cos(t*Math.PI/2);const r=h*Math.sin(t*Math.PI/2)+d;for(let e=0,t=L.length;e<t;e++){const t=scalePt2(L[e],P[e],r);v(t.x,t.y,l+n)}for(let e=0,t=T.length;e<t;e++){const t=T[e];D=I[e];for(let e=0,i=t.length;e<i;e++){const i=scalePt2(t[e],D[e],r);y?v(i.x,i.y+g[o-1].y,g[o-1].x+n):v(i.x,i.y,l+n)}}}buildLidFaces();buildSideFaces();function buildLidFaces(){const e=r.length/3;if(c){let e=0;let t=C*e;for(let e=0;e<R;e++){const n=A[e];f3(n[2]+t,n[1]+t,n[0]+t)}e=o+2*p;t=C*e;for(let e=0;e<R;e++){const n=A[e];f3(n[0]+t,n[1]+t,n[2]+t)}}else{for(let e=0;e<R;e++){const t=A[e];f3(t[2],t[1],t[0])}for(let e=0;e<R;e++){const t=A[e];f3(t[0]+C*o,t[1]+C*o,t[2]+C*o)}}n.addGroup(e,r.length/3-e,0)}function buildSideFaces(){const e=r.length/3;let t=0;sidewalls(L,t);t+=L.length;for(let e=0,n=T.length;e<n;e++){const n=T[e];sidewalls(n,t);t+=n.length}n.addGroup(e,r.length/3-e,1)}function sidewalls(e,t){let n=e.length;while(--n>=0){const r=n;let i=n-1;i<0&&(i=e.length-1);for(let e=0,n=o+2*p;e<n;e++){const n=C*e;const s=C*(e+1);const a=t+r+n,o=t+i+n,l=t+i+s,c=t+r+s;f4(a,o,l,c)}}}function v(e,t,n){s.push(e);s.push(t);s.push(n)}function f3(e,t,i){addVertex(e);addVertex(t);addVertex(i);const s=r.length/3;const a=m.generateTopUV(n,r,s-3,s-2,s-1);addUV(a[0]);addUV(a[1]);addUV(a[2])}function f4(e,t,i,s){addVertex(e);addVertex(t);addVertex(s);addVertex(t);addVertex(i);addVertex(s);const a=r.length/3;const o=m.generateSideWallUV(n,r,a-6,a-3,a-2,a-1);addUV(o[0]);addUV(o[1]);addUV(o[3]);addUV(o[1]);addUV(o[2]);addUV(o[3])}function addVertex(e){r.push(s[3*e+0]);r.push(s[3*e+1]);r.push(s[3*e+2])}function addUV(e){i.push(e.x);i.push(e.y)}}}toJSON(){const e=super.toJSON();const t=this.parameters.shapes;const n=this.parameters.options;return toJSON$1(t,n,e)}static fromJSON(e,t){const n=[];for(let r=0,i=e.shapes.length;r<i;r++){const i=t[e.shapes[r]];n.push(i)}const r=e.options.extrudePath;void 0!==r&&(e.options.extrudePath=(new Ll[r.type]).fromJSON(r));return new ExtrudeGeometry(n,e.options)}}const Rl={generateTopUV:function(e,t,n,r,i){const s=t[3*n];const a=t[3*n+1];const o=t[3*r];const l=t[3*r+1];const c=t[3*i];const u=t[3*i+1];return[new Vector2(s,a),new Vector2(o,l),new Vector2(c,u)]},generateSideWallUV:function(e,t,n,r,i,s){const a=t[3*n];const o=t[3*n+1];const l=t[3*n+2];const c=t[3*r];const u=t[3*r+1];const h=t[3*r+2];const d=t[3*i];const p=t[3*i+1];const f=t[3*i+2];const m=t[3*s];const g=t[3*s+1];const y=t[3*s+2];return Math.abs(o-u)<Math.abs(a-c)?[new Vector2(a,1-l),new Vector2(c,1-h),new Vector2(d,1-f),new Vector2(m,1-y)]:[new Vector2(o,1-l),new Vector2(u,1-h),new Vector2(p,1-f),new Vector2(g,1-y)]}};function toJSON$1(e,t,n){n.shapes=[];if(Array.isArray(e))for(let t=0,r=e.length;t<r;t++){const r=e[t];n.shapes.push(r.uuid)}else n.shapes.push(e.uuid);void 0!==t.extrudePath&&(n.options.extrudePath=t.extrudePath.toJSON());return n}class IcosahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2;const r=[-1,n,0,1,n,0,-1,-n,0,1,-n,0,0,-1,n,0,1,n,0,-1,-n,0,1,-n,n,0,-1,n,0,1,-n,0,-1,-n,0,1];const i=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1];super(r,i,e,t);this.type=\"IcosahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new IcosahedronGeometry(e.radius,e.detail)}}class LatheGeometry extends BufferGeometry{constructor(e=[new Vector2(0,.5),new Vector2(.5,0),new Vector2(0,-.5)],t=12,n=0,r=2*Math.PI){super();this.type=\"LatheGeometry\";this.parameters={points:e,segments:t,phiStart:n,phiLength:r};t=Math.floor(t);r=clamp(r,0,2*Math.PI);const i=[];const s=[];const a=[];const o=[];const l=[];const c=1/t;const u=new Vector3;const h=new Vector2;const d=new Vector3;const p=new Vector3;const f=new Vector3;let m=0;let g=0;for(let t=0;t<=e.length-1;t++)switch(t){case 0:m=e[t+1].x-e[t].x;g=e[t+1].y-e[t].y;d.x=1*g;d.y=-m;d.z=0*g;f.copy(d);d.normalize();o.push(d.x,d.y,d.z);break;case e.length-1:o.push(f.x,f.y,f.z);break;default:m=e[t+1].x-e[t].x;g=e[t+1].y-e[t].y;d.x=1*g;d.y=-m;d.z=0*g;p.copy(d);d.x+=f.x;d.y+=f.y;d.z+=f.z;d.normalize();o.push(d.x,d.y,d.z);f.copy(p)}for(let i=0;i<=t;i++){const d=n+i*c*r;const p=Math.sin(d);const f=Math.cos(d);for(let n=0;n<=e.length-1;n++){u.x=e[n].x*p;u.y=e[n].y;u.z=e[n].x*f;s.push(u.x,u.y,u.z);h.x=i/t;h.y=n/(e.length-1);a.push(h.x,h.y);const r=o[3*n+0]*p;const c=o[3*n+1];const d=o[3*n+0]*f;l.push(r,c,d)}}for(let n=0;n<t;n++)for(let t=0;t<e.length-1;t++){const r=t+n*e.length;const s=r;const a=r+e.length;const o=r+e.length+1;const l=r+1;i.push(s,a,l);i.push(a,o,l)}this.setIndex(i);this.setAttribute(\"position\",new Float32BufferAttribute(s,3));this.setAttribute(\"uv\",new Float32BufferAttribute(a,2));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3))}static fromJSON(e){return new LatheGeometry(e.points,e.segments,e.phiStart,e.phiLength)}}class OctahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1];const r=[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2];super(n,r,e,t);this.type=\"OctahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new OctahedronGeometry(e.radius,e.detail)}}class RingGeometry extends BufferGeometry{constructor(e=.5,t=1,n=8,r=1,i=0,s=2*Math.PI){super();this.type=\"RingGeometry\";this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:i,thetaLength:s};n=Math.max(3,n);r=Math.max(1,r);const a=[];const o=[];const l=[];const c=[];let u=e;const h=(t-e)/r;const d=new Vector3;const p=new Vector2;for(let e=0;e<=r;e++){for(let e=0;e<=n;e++){const r=i+e/n*s;d.x=u*Math.cos(r);d.y=u*Math.sin(r);o.push(d.x,d.y,d.z);l.push(0,0,1);p.x=(d.x/t+1)/2;p.y=(d.y/t+1)/2;c.push(p.x,p.y)}u+=h}for(let e=0;e<r;e++){const t=e*(n+1);for(let e=0;e<n;e++){const r=e+t;const i=r;const s=r+n+1;const o=r+n+2;const l=r+1;a.push(i,s,l);a.push(s,o,l)}}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2))}static fromJSON(e){return new RingGeometry(e.innerRadius,e.outerRadius,e.thetaSegments,e.phiSegments,e.thetaStart,e.thetaLength)}}class ShapeGeometry extends BufferGeometry{constructor(e=new Shape([new Vector2(0,.5),new Vector2(-.5,-.5),new Vector2(.5,-.5)]),t=12){super();this.type=\"ShapeGeometry\";this.parameters={shapes:e,curveSegments:t};const n=[];const r=[];const i=[];const s=[];let a=0;let o=0;if(false===Array.isArray(e))addShape(e);else for(let t=0;t<e.length;t++){addShape(e[t]);this.addGroup(a,o,t);a+=o;o=0}this.setIndex(n);this.setAttribute(\"position\",new Float32BufferAttribute(r,3));this.setAttribute(\"normal\",new Float32BufferAttribute(i,3));this.setAttribute(\"uv\",new Float32BufferAttribute(s,2));function addShape(e){const a=r.length/3;const l=e.extractPoints(t);let c=l.shape;const u=l.holes;false===ShapeUtils.isClockWise(c)&&(c=c.reverse());for(let e=0,t=u.length;e<t;e++){const t=u[e];true===ShapeUtils.isClockWise(t)&&(u[e]=t.reverse())}const h=ShapeUtils.triangulateShape(c,u);for(let e=0,t=u.length;e<t;e++){const t=u[e];c=c.concat(t)}for(let e=0,t=c.length;e<t;e++){const t=c[e];r.push(t.x,t.y,0);i.push(0,0,1);s.push(t.x,t.y)}for(let e=0,t=h.length;e<t;e++){const t=h[e];const r=t[0]+a;const i=t[1]+a;const s=t[2]+a;n.push(r,i,s);o+=3}}}toJSON(){const e=super.toJSON();const t=this.parameters.shapes;return toJSON(t,e)}static fromJSON(e,t){const n=[];for(let r=0,i=e.shapes.length;r<i;r++){const i=t[e.shapes[r]];n.push(i)}return new ShapeGeometry(n,e.curveSegments)}}function toJSON(e,t){t.shapes=[];if(Array.isArray(e))for(let n=0,r=e.length;n<r;n++){const r=e[n];t.shapes.push(r.uuid)}else t.shapes.push(e.uuid);return t}class SphereGeometry extends BufferGeometry{constructor(e=1,t=32,n=16,r=0,i=2*Math.PI,s=0,a=Math.PI){super();this.type=\"SphereGeometry\";this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:s,thetaLength:a};t=Math.max(3,Math.floor(t));n=Math.max(2,Math.floor(n));const o=Math.min(s+a,Math.PI);let l=0;const c=[];const u=new Vector3;const h=new Vector3;const d=[];const p=[];const f=[];const m=[];for(let d=0;d<=n;d++){const g=[];const y=d/n;let x=0;0==d&&0==s?x=.5/t:d==n&&o==Math.PI&&(x=-.5/t);for(let n=0;n<=t;n++){const o=n/t;u.x=-e*Math.cos(r+o*i)*Math.sin(s+y*a);u.y=e*Math.cos(s+y*a);u.z=e*Math.sin(r+o*i)*Math.sin(s+y*a);p.push(u.x,u.y,u.z);h.copy(u).normalize();f.push(h.x,h.y,h.z);m.push(o+x,1-y);g.push(l++)}c.push(g)}for(let e=0;e<n;e++)for(let r=0;r<t;r++){const t=c[e][r+1];const i=c[e][r];const a=c[e+1][r];const l=c[e+1][r+1];(0!==e||s>0)&&d.push(t,i,l);(e!==n-1||o<Math.PI)&&d.push(i,a,l)}this.setIndex(d);this.setAttribute(\"position\",new Float32BufferAttribute(p,3));this.setAttribute(\"normal\",new Float32BufferAttribute(f,3));this.setAttribute(\"uv\",new Float32BufferAttribute(m,2))}static fromJSON(e){return new SphereGeometry(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class TetrahedronGeometry extends PolyhedronGeometry{constructor(e=1,t=0){const n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1];const r=[2,1,0,0,3,2,1,3,0,2,3,1];super(n,r,e,t);this.type=\"TetrahedronGeometry\";this.parameters={radius:e,detail:t}}static fromJSON(e){return new TetrahedronGeometry(e.radius,e.detail)}}class TorusGeometry extends BufferGeometry{constructor(e=1,t=.4,n=8,r=6,i=2*Math.PI){super();this.type=\"TorusGeometry\";this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i};n=Math.floor(n);r=Math.floor(r);const s=[];const a=[];const o=[];const l=[];const c=new Vector3;const u=new Vector3;const h=new Vector3;for(let s=0;s<=n;s++)for(let d=0;d<=r;d++){const p=d/r*i;const f=s/n*Math.PI*2;u.x=(e+t*Math.cos(f))*Math.cos(p);u.y=(e+t*Math.cos(f))*Math.sin(p);u.z=t*Math.sin(f);a.push(u.x,u.y,u.z);c.x=e*Math.cos(p);c.y=e*Math.sin(p);h.subVectors(u,c).normalize();o.push(h.x,h.y,h.z);l.push(d/r);l.push(s/n)}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){const n=(r+1)*e+t-1;const i=(r+1)*(e-1)+t-1;const a=(r+1)*(e-1)+t;const o=(r+1)*e+t;s.push(n,i,o);s.push(i,a,o)}this.setIndex(s);this.setAttribute(\"position\",new Float32BufferAttribute(a,3));this.setAttribute(\"normal\",new Float32BufferAttribute(o,3));this.setAttribute(\"uv\",new Float32BufferAttribute(l,2))}static fromJSON(e){return new TorusGeometry(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class TorusKnotGeometry extends BufferGeometry{constructor(e=1,t=.4,n=64,r=8,i=2,s=3){super();this.type=\"TorusKnotGeometry\";this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:s};n=Math.floor(n);r=Math.floor(r);const a=[];const o=[];const l=[];const c=[];const u=new Vector3;const h=new Vector3;const d=new Vector3;const p=new Vector3;const f=new Vector3;const m=new Vector3;const g=new Vector3;for(let a=0;a<=n;++a){const y=a/n*i*Math.PI*2;calculatePositionOnCurve(y,i,s,e,d);calculatePositionOnCurve(y+.01,i,s,e,p);m.subVectors(p,d);g.addVectors(p,d);f.crossVectors(m,g);g.crossVectors(f,m);f.normalize();g.normalize();for(let e=0;e<=r;++e){const i=e/r*Math.PI*2;const s=-t*Math.cos(i);const p=t*Math.sin(i);u.x=d.x+(s*g.x+p*f.x);u.y=d.y+(s*g.y+p*f.y);u.z=d.z+(s*g.z+p*f.z);o.push(u.x,u.y,u.z);h.subVectors(u,d).normalize();l.push(h.x,h.y,h.z);c.push(a/n);c.push(e/r)}}for(let e=1;e<=n;e++)for(let t=1;t<=r;t++){const n=(r+1)*(e-1)+(t-1);const i=(r+1)*e+(t-1);const s=(r+1)*e+t;const o=(r+1)*(e-1)+t;a.push(n,i,o);a.push(i,s,o)}this.setIndex(a);this.setAttribute(\"position\",new Float32BufferAttribute(o,3));this.setAttribute(\"normal\",new Float32BufferAttribute(l,3));this.setAttribute(\"uv\",new Float32BufferAttribute(c,2));function calculatePositionOnCurve(e,t,n,r,i){const s=Math.cos(e);const a=Math.sin(e);const o=n/t*e;const l=Math.cos(o);i.x=r*(2+l)*.5*s;i.y=r*(2+l)*a*.5;i.z=r*Math.sin(o)*.5}}static fromJSON(e){return new TorusKnotGeometry(e.radius,e.tube,e.tubularSegments,e.radialSegments,e.p,e.q)}}class TubeGeometry extends BufferGeometry{constructor(e=new QuadraticBezierCurve3(new Vector3(-1,-1,0),new Vector3(-1,1,0),new Vector3(1,1,0)),t=64,n=1,r=8,i=false){super();this.type=\"TubeGeometry\";this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:i};const s=e.computeFrenetFrames(t,i);this.tangents=s.tangents;this.normals=s.normals;this.binormals=s.binormals;const a=new Vector3;const o=new Vector3;const l=new Vector2;let c=new Vector3;const u=[];const h=[];const d=[];const p=[];generateBufferData();this.setIndex(p);this.setAttribute(\"position\",new Float32BufferAttribute(u,3));this.setAttribute(\"normal\",new Float32BufferAttribute(h,3));this.setAttribute(\"uv\",new Float32BufferAttribute(d,2));function generateBufferData(){for(let e=0;e<t;e++)generateSegment(e);generateSegment(false===i?t:0);generateUVs();generateIndices()}function generateSegment(i){c=e.getPointAt(i/t,c);const l=s.normals[i];const d=s.binormals[i];for(let e=0;e<=r;e++){const t=e/r*Math.PI*2;const i=Math.sin(t);const s=-Math.cos(t);o.x=s*l.x+i*d.x;o.y=s*l.y+i*d.y;o.z=s*l.z+i*d.z;o.normalize();h.push(o.x,o.y,o.z);a.x=c.x+n*o.x;a.y=c.y+n*o.y;a.z=c.z+n*o.z;u.push(a.x,a.y,a.z)}}function generateIndices(){for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){const n=(r+1)*(e-1)+(t-1);const i=(r+1)*e+(t-1);const s=(r+1)*e+t;const a=(r+1)*(e-1)+t;p.push(n,i,a);p.push(i,s,a)}}function generateUVs(){for(let e=0;e<=t;e++)for(let n=0;n<=r;n++){l.x=e/t;l.y=n/r;d.push(l.x,l.y)}}}toJSON(){const e=super.toJSON();e.path=this.parameters.path.toJSON();return e}static fromJSON(e){return new TubeGeometry((new Ll[e.path.type]).fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class WireframeGeometry extends BufferGeometry{constructor(e=null){super();this.type=\"WireframeGeometry\";this.parameters={geometry:e};if(null!==e){const t=[];const n=new Set;const r=new Vector3;const i=new Vector3;if(null!==e.index){const s=e.attributes.position;const a=e.index;let o=e.groups;0===o.length&&(o=[{start:0,count:a.count,materialIndex:0}]);for(let e=0,l=o.length;e<l;++e){const l=o[e];const c=l.start;const u=l.count;for(let e=c,o=c+u;e<o;e+=3)for(let o=0;o<3;o++){const l=a.getX(e+o);const c=a.getX(e+(o+1)%3);r.fromBufferAttribute(s,l);i.fromBufferAttribute(s,c);if(true===isUniqueEdge(r,i,n)){t.push(r.x,r.y,r.z);t.push(i.x,i.y,i.z)}}}}else{const s=e.attributes.position;for(let e=0,a=s.count/3;e<a;e++)for(let a=0;a<3;a++){const o=3*e+a;const l=3*e+(a+1)%3;r.fromBufferAttribute(s,o);i.fromBufferAttribute(s,l);if(true===isUniqueEdge(r,i,n)){t.push(r.x,r.y,r.z);t.push(i.x,i.y,i.z)}}}this.setAttribute(\"position\",new Float32BufferAttribute(t,3))}}}function isUniqueEdge(e,t,n){const r=`${e.x},${e.y},${e.z}-${t.x},${t.y},${t.z}`;const i=`${t.x},${t.y},${t.z}-${e.x},${e.y},${e.z}`;if(true===n.has(r)||true===n.has(i))return false;n.add(r,i);return true}var Pl=Object.freeze({__proto__:null,BoxGeometry:BoxGeometry,BoxBufferGeometry:BoxGeometry,CircleGeometry:CircleGeometry,CircleBufferGeometry:CircleGeometry,ConeGeometry:ConeGeometry,ConeBufferGeometry:ConeGeometry,CylinderGeometry:CylinderGeometry,CylinderBufferGeometry:CylinderGeometry,DodecahedronGeometry:DodecahedronGeometry,DodecahedronBufferGeometry:DodecahedronGeometry,EdgesGeometry:EdgesGeometry,ExtrudeGeometry:ExtrudeGeometry,ExtrudeBufferGeometry:ExtrudeGeometry,IcosahedronGeometry:IcosahedronGeometry,IcosahedronBufferGeometry:IcosahedronGeometry,LatheGeometry:LatheGeometry,LatheBufferGeometry:LatheGeometry,OctahedronGeometry:OctahedronGeometry,OctahedronBufferGeometry:OctahedronGeometry,PlaneGeometry:PlaneGeometry,PlaneBufferGeometry:PlaneGeometry,PolyhedronGeometry:PolyhedronGeometry,PolyhedronBufferGeometry:PolyhedronGeometry,RingGeometry:RingGeometry,RingBufferGeometry:RingGeometry,ShapeGeometry:ShapeGeometry,ShapeBufferGeometry:ShapeGeometry,SphereGeometry:SphereGeometry,SphereBufferGeometry:SphereGeometry,TetrahedronGeometry:TetrahedronGeometry,TetrahedronBufferGeometry:TetrahedronGeometry,TorusGeometry:TorusGeometry,TorusBufferGeometry:TorusGeometry,TorusKnotGeometry:TorusKnotGeometry,TorusKnotBufferGeometry:TorusKnotGeometry,TubeGeometry:TubeGeometry,TubeBufferGeometry:TubeGeometry,WireframeGeometry:WireframeGeometry});class ShadowMaterial extends Material{constructor(e){super();this.type=\"ShadowMaterial\";this.color=new Color(0);this.transparent=true;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);return this}}ShadowMaterial.prototype.isShadowMaterial=true;class MeshStandardMaterial extends Material{constructor(e){super();this.defines={STANDARD:\"\"};this.type=\"MeshStandardMaterial\";this.color=new Color(16777215);this.roughness=1;this.metalness=0;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.roughnessMap=null;this.metalnessMap=null;this.alphaMap=null;this.envMap=null;this.envMapIntensity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.defines={STANDARD:\"\"};this.color.copy(e.color);this.roughness=e.roughness;this.metalness=e.metalness;this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.roughnessMap=e.roughnessMap;this.metalnessMap=e.metalnessMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.envMapIntensity=e.envMapIntensity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;this.flatShading=e.flatShading;return this}}MeshStandardMaterial.prototype.isMeshStandardMaterial=true;class MeshPhysicalMaterial extends MeshStandardMaterial{constructor(e){super();this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.type=\"MeshPhysicalMaterial\";this.clearcoatMap=null;this.clearcoatRoughness=0;this.clearcoatRoughnessMap=null;this.clearcoatNormalScale=new Vector2(1,1);this.clearcoatNormalMap=null;this.ior=1.5;Object.defineProperty(this,\"reflectivity\",{get:function(){return clamp(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(e){this.ior=(1+.4*e)/(1-.4*e)}});this.sheenColor=new Color(0);this.sheenColorMap=null;this.sheenRoughness=1;this.sheenRoughnessMap=null;this.transmissionMap=null;this.thickness=0;this.thicknessMap=null;this.attenuationDistance=0;this.attenuationColor=new Color(1,1,1);this.specularIntensity=1;this.specularIntensityMap=null;this.specularColor=new Color(1,1,1);this.specularColorMap=null;this._sheen=0;this._clearcoat=0;this._transmission=0;this.setValues(e)}get sheen(){return this._sheen}set sheen(e){this._sheen>0!==e>0&&this.version++;this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!==e>0&&this.version++;this._clearcoat=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!==e>0&&this.version++;this._transmission=e}copy(e){super.copy(e);this.defines={STANDARD:\"\",PHYSICAL:\"\"};this.clearcoat=e.clearcoat;this.clearcoatMap=e.clearcoatMap;this.clearcoatRoughness=e.clearcoatRoughness;this.clearcoatRoughnessMap=e.clearcoatRoughnessMap;this.clearcoatNormalMap=e.clearcoatNormalMap;this.clearcoatNormalScale.copy(e.clearcoatNormalScale);this.ior=e.ior;this.sheen=e.sheen;this.sheenColor.copy(e.sheenColor);this.sheenColorMap=e.sheenColorMap;this.sheenRoughness=e.sheenRoughness;this.sheenRoughnessMap=e.sheenRoughnessMap;this.transmission=e.transmission;this.transmissionMap=e.transmissionMap;this.thickness=e.thickness;this.thicknessMap=e.thicknessMap;this.attenuationDistance=e.attenuationDistance;this.attenuationColor.copy(e.attenuationColor);this.specularIntensity=e.specularIntensity;this.specularIntensityMap=e.specularIntensityMap;this.specularColor.copy(e.specularColor);this.specularColorMap=e.specularColorMap;return this}}MeshPhysicalMaterial.prototype.isMeshPhysicalMaterial=true;class MeshPhongMaterial extends Material{constructor(e){super();this.type=\"MeshPhongMaterial\";this.color=new Color(16777215);this.specular=new Color(1118481);this.shininess=30;this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.specular.copy(e.specular);this.shininess=e.shininess;this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;this.flatShading=e.flatShading;return this}}MeshPhongMaterial.prototype.isMeshPhongMaterial=true;class MeshToonMaterial extends Material{constructor(e){super();this.defines={TOON:\"\"};this.type=\"MeshToonMaterial\";this.color=new Color(16777215);this.map=null;this.gradientMap=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.gradientMap=e.gradientMap;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.alphaMap=e.alphaMap;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshToonMaterial.prototype.isMeshToonMaterial=true;class MeshNormalMaterial extends Material{constructor(e){super();this.type=\"MeshNormalMaterial\";this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.wireframe=false;this.wireframeLinewidth=1;this.fog=false;this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.flatShading=e.flatShading;return this}}MeshNormalMaterial.prototype.isMeshNormalMaterial=true;class MeshLambertMaterial extends Material{constructor(e){super();this.type=\"MeshLambertMaterial\";this.color=new Color(16777215);this.map=null;this.lightMap=null;this.lightMapIntensity=1;this.aoMap=null;this.aoMapIntensity=1;this.emissive=new Color(0);this.emissiveIntensity=1;this.emissiveMap=null;this.specularMap=null;this.alphaMap=null;this.envMap=null;this.combine=X;this.reflectivity=1;this.refractionRatio=.98;this.wireframe=false;this.wireframeLinewidth=1;this.wireframeLinecap=\"round\";this.wireframeLinejoin=\"round\";this.setValues(e)}copy(e){super.copy(e);this.color.copy(e.color);this.map=e.map;this.lightMap=e.lightMap;this.lightMapIntensity=e.lightMapIntensity;this.aoMap=e.aoMap;this.aoMapIntensity=e.aoMapIntensity;this.emissive.copy(e.emissive);this.emissiveMap=e.emissiveMap;this.emissiveIntensity=e.emissiveIntensity;this.specularMap=e.specularMap;this.alphaMap=e.alphaMap;this.envMap=e.envMap;this.combine=e.combine;this.reflectivity=e.reflectivity;this.refractionRatio=e.refractionRatio;this.wireframe=e.wireframe;this.wireframeLinewidth=e.wireframeLinewidth;this.wireframeLinecap=e.wireframeLinecap;this.wireframeLinejoin=e.wireframeLinejoin;return this}}MeshLambertMaterial.prototype.isMeshLambertMaterial=true;class MeshMatcapMaterial extends Material{constructor(e){super();this.defines={MATCAP:\"\"};this.type=\"MeshMatcapMaterial\";this.color=new Color(16777215);this.matcap=null;this.map=null;this.bumpMap=null;this.bumpScale=1;this.normalMap=null;this.normalMapType=Qt;this.normalScale=new Vector2(1,1);this.displacementMap=null;this.displacementScale=1;this.displacementBias=0;this.alphaMap=null;this.flatShading=false;this.setValues(e)}copy(e){super.copy(e);this.defines={MATCAP:\"\"};this.color.copy(e.color);this.matcap=e.matcap;this.map=e.map;this.bumpMap=e.bumpMap;this.bumpScale=e.bumpScale;this.normalMap=e.normalMap;this.normalMapType=e.normalMapType;this.normalScale.copy(e.normalScale);this.displacementMap=e.displacementMap;this.displacementScale=e.displacementScale;this.displacementBias=e.displacementBias;this.alphaMap=e.alphaMap;this.flatShading=e.flatShading;return this}}MeshMatcapMaterial.prototype.isMeshMatcapMaterial=true;class LineDashedMaterial extends LineBasicMaterial{constructor(e){super();this.type=\"LineDashedMaterial\";this.scale=1;this.dashSize=3;this.gapSize=1;this.setValues(e)}copy(e){super.copy(e);this.scale=e.scale;this.dashSize=e.dashSize;this.gapSize=e.gapSize;return this}}LineDashedMaterial.prototype.isLineDashedMaterial=true;var Il=Object.freeze({__proto__:null,ShadowMaterial:ShadowMaterial,SpriteMaterial:SpriteMaterial,RawShaderMaterial:RawShaderMaterial,ShaderMaterial:ShaderMaterial,PointsMaterial:PointsMaterial,MeshPhysicalMaterial:MeshPhysicalMaterial,MeshStandardMaterial:MeshStandardMaterial,MeshPhongMaterial:MeshPhongMaterial,MeshToonMaterial:MeshToonMaterial,MeshNormalMaterial:MeshNormalMaterial,MeshLambertMaterial:MeshLambertMaterial,MeshDepthMaterial:MeshDepthMaterial,MeshDistanceMaterial:MeshDistanceMaterial,MeshBasicMaterial:MeshBasicMaterial,MeshMatcapMaterial:MeshMatcapMaterial,LineDashedMaterial:LineDashedMaterial,LineBasicMaterial:LineBasicMaterial,Material:Material});const Dl={arraySlice:function(e,t,n){return Dl.isTypedArray(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)},convertArray:function(e,t,n){return!e||!n&&e.constructor===t?e:\"number\"===typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)},isTypedArray:function(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)},getKeyframeOrder:function(e){function compareTime(t,n){return e[t]-e[n]}const t=e.length;const n=new Array(t);for(let e=0;e!==t;++e)n[e]=e;n.sort(compareTime);return n},sortedArray:function(e,t,n){const r=e.length;const i=new e.constructor(r);for(let s=0,a=0;a!==r;++s){const r=n[s]*t;for(let n=0;n!==t;++n)i[a++]=e[r+n]}return i},flattenJSON:function(e,t,n,r){let i=1,s=e[0];while(void 0!==s&&void 0===s[r])s=e[i++];if(void 0===s)return;let a=s[r];if(void 0!==a)if(Array.isArray(a))do{a=s[r];if(void 0!==a){t.push(s.time);n.push.apply(n,a)}s=e[i++]}while(void 0!==s);else if(void 0!==a.toArray)do{a=s[r];if(void 0!==a){t.push(s.time);a.toArray(n,n.length)}s=e[i++]}while(void 0!==s);else do{a=s[r];if(void 0!==a){t.push(s.time);n.push(a)}s=e[i++]}while(void 0!==s)},subclip:function(e,t,n,r,i=30){const s=e.clone();s.name=t;const a=[];for(let e=0;e<s.tracks.length;++e){const t=s.tracks[e];const o=t.getValueSize();const l=[];const c=[];for(let e=0;e<t.times.length;++e){const s=t.times[e]*i;if(!(s<n||s>=r)){l.push(t.times[e]);for(let n=0;n<o;++n)c.push(t.values[e*o+n])}}if(0!==l.length){t.times=Dl.convertArray(l,t.times.constructor);t.values=Dl.convertArray(c,t.values.constructor);a.push(t)}}s.tracks=a;let o=Infinity;for(let e=0;e<s.tracks.length;++e)o>s.tracks[e].times[0]&&(o=s.tracks[e].times[0]);for(let e=0;e<s.tracks.length;++e)s.tracks[e].shift(-1*o);s.resetDuration();return s},makeClipAdditive:function(e,t=0,n=e,r=30){r<=0&&(r=30);const i=n.tracks.length;const s=t/r;for(let t=0;t<i;++t){const r=n.tracks[t];const i=r.ValueTypeName;if(\"bool\"===i||\"string\"===i)continue;const a=e.tracks.find((function(e){return e.name===r.name&&e.ValueTypeName===i}));if(void 0===a)continue;let o=0;const l=r.getValueSize();r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const u=a.getValueSize();a.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=u/3);const h=r.times.length-1;let d;if(s<=r.times[0]){const e=o;const t=l-o;d=Dl.arraySlice(r.values,e,t)}else if(s>=r.times[h]){const e=h*l+o;const t=e+l-o;d=Dl.arraySlice(r.values,e,t)}else{const e=r.createInterpolant();const t=o;const n=l-o;e.evaluate(s);d=Dl.arraySlice(e.resultBuffer,t,n)}if(\"quaternion\"===i){const e=(new Quaternion).fromArray(d).normalize().conjugate();e.toArray(d)}const p=a.times.length;for(let e=0;e<p;++e){const t=e*u+c;if(\"quaternion\"===i)Quaternion.multiplyQuaternionsFlat(a.values,t,d,0,a.values,t);else{const e=u-2*c;for(let n=0;n<e;++n)a.values[t+n]-=d[n]}}}e.blendMode=kt;return e}};class Interpolant{constructor(e,t,n,r){this.parameterPositions=e;this._cachedIndex=0;this.resultBuffer=void 0!==r?r:new t.constructor(n);this.sampleValues=t;this.valueSize=n;this.settings=null;this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{let s;n:{r:if(!(e<r)){for(let s=n+2;;){if(void 0===r){if(e<i)break r;n=t.length;this._cachedIndex=n;return this.afterEnd_(n-1,e,i)}if(n===s)break;i=r;r=t[++n];if(e<r)break t}s=t.length;break n}if(e>=i)break e;{const a=t[1];if(e<a){n=2;i=a}for(let s=n-2;;){if(void 0===i){this._cachedIndex=0;return this.beforeStart_(0,e,r)}if(n===s)break;r=i;i=t[--n-1];if(e>=i)break t}s=n;n=0}}while(n<s){const r=n+s>>>1;e<t[r]?s=r:n=r+1}r=t[n];i=t[n-1];if(void 0===i){this._cachedIndex=0;return this.beforeStart_(0,e,r)}if(void 0===r){n=t.length;this._cachedIndex=n;return this.afterEnd_(n-1,i,e)}}this._cachedIndex=n;this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r;for(let e=0;e!==r;++e)t[e]=n[i+e];return t}interpolate_(){throw new Error(\"call to abstract method\")}intervalChanged_(){}}Interpolant.prototype.beforeStart_=Interpolant.prototype.copySampleValue_;Interpolant.prototype.afterEnd_=Interpolant.prototype.copySampleValue_;class CubicInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r);this._weightPrev=-0;this._offsetPrev=-0;this._weightNext=-0;this._offsetNext=-0;this.DefaultSettings_={endingStart:Gt,endingEnd:Gt}}intervalChanged_(e,t,n){const r=this.parameterPositions;let i=e-2,s=e+1,a=r[i],o=r[s];if(void 0===a)switch(this.getSettings_().endingStart){case Ft:i=e;a=2*t-n;break;case Ot:i=r.length-2;a=t+r[i]-r[i+1];break;default:i=e;a=n}if(void 0===o)switch(this.getSettings_().endingEnd){case Ft:s=e;o=2*n-t;break;case Ot:s=1;o=n+r[1]-r[0];break;default:s=e-1;o=t}const l=.5*(n-t),c=this.valueSize;this._weightPrev=l/(t-a);this._weightNext=l/(o-n);this._offsetPrev=i*c;this._offsetNext=s*c}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=e*a,l=o-a,c=this._offsetPrev,u=this._offsetNext,h=this._weightPrev,d=this._weightNext,p=(n-t)/(r-t),f=p*p,m=f*p;const g=-h*m+2*h*f-h*p;const y=(1+h)*m+(-1.5-2*h)*f+(-.5+h)*p+1;const x=(-1-d)*m+(1.5+d)*f+.5*p;const b=d*m-d*f;for(let e=0;e!==a;++e)i[e]=g*s[c+e]+y*s[l+e]+x*s[o+e]+b*s[u+e];return i}}class LinearInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=e*a,l=o-a,c=(n-t)/(r-t),u=1-c;for(let e=0;e!==a;++e)i[e]=s[l+e]*u+s[o+e]*c;return i}}class DiscreteInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class KeyframeTrack{constructor(e,t,n,r){if(void 0===e)throw new Error(\"THREE.KeyframeTrack: track name is undefined\");if(void 0===t||0===t.length)throw new Error(\"THREE.KeyframeTrack: no keyframes in track named \"+e);this.name=e;this.times=Dl.convertArray(t,this.TimeBufferType);this.values=Dl.convertArray(n,this.ValueBufferType);this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:Dl.convertArray(e.times,Array),values:Dl.convertArray(e.values,Array)};const t=e.getInterpolation();t!==e.DefaultInterpolation&&(n.interpolation=t)}n.type=e.ValueTypeName;return n}InterpolantFactoryMethodDiscrete(e){return new DiscreteInterpolant(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new LinearInterpolant(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new CubicInterpolant(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Nt:t=this.InterpolantFactoryMethodDiscrete;break;case Ut:t=this.InterpolantFactoryMethodLinear;break;case zt:t=this.InterpolantFactoryMethodSmooth;break}if(void 0===t){const t=\"unsupported interpolation for \"+this.ValueTypeName+\" keyframe track named \"+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}console.warn(\"THREE.KeyframeTrack:\",t);return this}this.createInterpolant=t;return this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Nt;case this.InterpolantFactoryMethodLinear:return Ut;case this.InterpolantFactoryMethodSmooth:return zt}}getValueSize(){return this.values.length/this.times.length}shift(e){if(0!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]+=e}return this}scale(e){if(1!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]*=e}return this}trim(e,t){const n=this.times,r=n.length;let i=0,s=r-1;while(i!==r&&n[i]<e)++i;while(-1!==s&&n[s]>t)--s;++s;if(0!==i||s!==r){if(i>=s){s=Math.max(s,1);i=s-1}const e=this.getValueSize();this.times=Dl.arraySlice(n,i,s);this.values=Dl.arraySlice(this.values,i*e,s*e)}return this}validate(){let e=true;const t=this.getValueSize();if(t-Math.floor(t)!==0){console.error(\"THREE.KeyframeTrack: Invalid value size in track.\",this);e=false}const n=this.times,r=this.values,i=n.length;if(0===i){console.error(\"THREE.KeyframeTrack: Track is empty.\",this);e=false}let s=null;for(let t=0;t!==i;t++){const r=n[t];if(\"number\"===typeof r&&isNaN(r)){console.error(\"THREE.KeyframeTrack: Time is not a valid number.\",this,t,r);e=false;break}if(null!==s&&s>r){console.error(\"THREE.KeyframeTrack: Out of order keys.\",this,t,r,s);e=false;break}s=r}if(void 0!==r&&Dl.isTypedArray(r))for(let t=0,n=r.length;t!==n;++t){const n=r[t];if(isNaN(n)){console.error(\"THREE.KeyframeTrack: Value is not a valid number.\",this,t,n);e=false;break}}return e}optimize(){const e=Dl.arraySlice(this.times),t=Dl.arraySlice(this.values),n=this.getValueSize(),r=this.getInterpolation()===zt,i=e.length-1;let s=1;for(let a=1;a<i;++a){let i=false;const o=e[a];const l=e[a+1];if(o!==l&&(1!==a||o!==e[0]))if(r)i=true;else{const e=a*n,r=e-n,s=e+n;for(let a=0;a!==n;++a){const n=t[e+a];if(n!==t[r+a]||n!==t[s+a]){i=true;break}}}if(i){if(a!==s){e[s]=e[a];const r=a*n,i=s*n;for(let e=0;e!==n;++e)t[i+e]=t[r+e]}++s}}if(i>0){e[s]=e[i];for(let e=i*n,r=s*n,a=0;a!==n;++a)t[r+a]=t[e+a];++s}if(s!==e.length){this.times=Dl.arraySlice(e,0,s);this.values=Dl.arraySlice(t,0,s*n)}else{this.times=e;this.values=t}return this}clone(){const e=Dl.arraySlice(this.times,0);const t=Dl.arraySlice(this.values,0);const n=this.constructor;const r=new n(this.name,e,t);r.createInterpolant=this.createInterpolant;return r}}KeyframeTrack.prototype.TimeBufferType=Float32Array;KeyframeTrack.prototype.ValueBufferType=Float32Array;KeyframeTrack.prototype.DefaultInterpolation=Ut;class BooleanKeyframeTrack extends KeyframeTrack{}BooleanKeyframeTrack.prototype.ValueTypeName=\"bool\";BooleanKeyframeTrack.prototype.ValueBufferType=Array;BooleanKeyframeTrack.prototype.DefaultInterpolation=Nt;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class ColorKeyframeTrack extends KeyframeTrack{}ColorKeyframeTrack.prototype.ValueTypeName=\"color\";class NumberKeyframeTrack extends KeyframeTrack{}NumberKeyframeTrack.prototype.ValueTypeName=\"number\";class QuaternionLinearInterpolant extends Interpolant{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,s=this.sampleValues,a=this.valueSize,o=(n-t)/(r-t);let l=e*a;for(let e=l+a;l!==e;l+=4)Quaternion.slerpFlat(i,0,s,l-a,s,l,o);return i}}class QuaternionKeyframeTrack extends KeyframeTrack{InterpolantFactoryMethodLinear(e){return new QuaternionLinearInterpolant(this.times,this.values,this.getValueSize(),e)}}QuaternionKeyframeTrack.prototype.ValueTypeName=\"quaternion\";QuaternionKeyframeTrack.prototype.DefaultInterpolation=Ut;QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class StringKeyframeTrack extends KeyframeTrack{}StringKeyframeTrack.prototype.ValueTypeName=\"string\";StringKeyframeTrack.prototype.ValueBufferType=Array;StringKeyframeTrack.prototype.DefaultInterpolation=Nt;StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0;StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class VectorKeyframeTrack extends KeyframeTrack{}VectorKeyframeTrack.prototype.ValueTypeName=\"vector\";class AnimationClip{constructor(e,t=-1,n,r=Ht){this.name=e;this.tracks=n;this.duration=t;this.blendMode=r;this.uuid=generateUUID();this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,r=1/(e.fps||1);for(let e=0,i=n.length;e!==i;++e)t.push(parseKeyframeTrack(n[e]).scale(r));const i=new this(e.name,e.duration,t,e.blendMode);i.uuid=e.uuid;return i}static toJSON(e){const t=[],n=e.tracks;const r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let e=0,r=n.length;e!==r;++e)t.push(KeyframeTrack.toJSON(n[e]));return r}static CreateFromMorphTargetSequence(e,t,n,r){const i=t.length;const s=[];for(let e=0;e<i;e++){let a=[];let o=[];a.push((e+i-1)%i,e,(e+1)%i);o.push(0,1,0);const l=Dl.getKeyframeOrder(a);a=Dl.sortedArray(a,1,l);o=Dl.sortedArray(o,1,l);if(!r&&0===a[0]){a.push(i);o.push(o[0])}s.push(new NumberKeyframeTrack(\".morphTargetInfluences[\"+t[e].name+\"]\",a,o).scale(1/n))}return new this(e,-1,s)}static findByName(e,t){let n=e;if(!Array.isArray(e)){const t=e;n=t.geometry&&t.geometry.animations||t.animations}for(let e=0;e<n.length;e++)if(n[e].name===t)return n[e];return null}static CreateClipsFromMorphTargetSequences(e,t,n){const r={};const i=/^([\\w-]*?)([\\d]+)$/;for(let t=0,n=e.length;t<n;t++){const n=e[t];const s=n.name.match(i);if(s&&s.length>1){const e=s[1];let t=r[e];t||(r[e]=t=[]);t.push(n)}}const s=[];for(const e in r)s.push(this.CreateFromMorphTargetSequence(e,r[e],t,n));return s}static parseAnimation(e,t){if(!e){console.error(\"THREE.AnimationClip: No animation in JSONLoader data.\");return null}const addNonemptyTrack=function(e,t,n,r,i){if(0!==n.length){const s=[];const a=[];Dl.flattenJSON(n,s,a,r);0!==s.length&&i.push(new e(t,s,a))}};const n=[];const r=e.name||\"default\";const i=e.fps||30;const s=e.blendMode;let a=e.length||-1;const o=e.hierarchy||[];for(let e=0;e<o.length;e++){const r=o[e].keys;if(r&&0!==r.length)if(r[0].morphTargets){const e={};let t;for(t=0;t<r.length;t++)if(r[t].morphTargets)for(let n=0;n<r[t].morphTargets.length;n++)e[r[t].morphTargets[n]]=-1;for(const i in e){const e=[];const s=[];for(let n=0;n!==r[t].morphTargets.length;++n){const n=r[t];e.push(n.time);s.push(n.morphTarget===i?1:0)}n.push(new NumberKeyframeTrack(\".morphTargetInfluence[\"+i+\"]\",e,s))}a=e.length*(i||1)}else{const i=\".bones[\"+t[e].name+\"]\";addNonemptyTrack(VectorKeyframeTrack,i+\".position\",r,\"pos\",n);addNonemptyTrack(QuaternionKeyframeTrack,i+\".quaternion\",r,\"rot\",n);addNonemptyTrack(VectorKeyframeTrack,i+\".scale\",r,\"scl\",n)}}if(0===n.length)return null;const l=new this(r,a,n,s);return l}resetDuration(){const e=this.tracks;let t=0;for(let n=0,r=e.length;n!==r;++n){const e=this.tracks[n];t=Math.max(t,e.times[e.times.length-1])}this.duration=t;return this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=true;for(let t=0;t<this.tracks.length;t++)e=e&&this.tracks[t].validate();return e}optimize(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].optimize();return this}clone(){const e=[];for(let t=0;t<this.tracks.length;t++)e.push(this.tracks[t].clone());return new this.constructor(this.name,this.duration,e,this.blendMode)}toJSON(){return this.constructor.toJSON(this)}}function getTrackTypeForValueTypeName(e){switch(e.toLowerCase()){case\"scalar\":case\"double\":case\"float\":case\"number\":case\"integer\":return NumberKeyframeTrack;case\"vector\":case\"vector2\":case\"vector3\":case\"vector4\":return VectorKeyframeTrack;case\"color\":return ColorKeyframeTrack;case\"quaternion\":return QuaternionKeyframeTrack;case\"bool\":case\"boolean\":return BooleanKeyframeTrack;case\"string\":return StringKeyframeTrack}throw new Error(\"THREE.KeyframeTrack: Unsupported typeName: \"+e)}function parseKeyframeTrack(e){if(void 0===e.type)throw new Error(\"THREE.KeyframeTrack: track type undefined, can not parse\");const t=getTrackTypeForValueTypeName(e.type);if(void 0===e.times){const t=[],n=[];Dl.flattenJSON(e.keys,t,n,\"value\");e.times=t;e.values=n}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}const Bl={enabled:false,files:{},add:function(e,t){false!==this.enabled&&(this.files[e]=t)},get:function(e){if(false!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class LoadingManager{constructor(e,t,n){const r=this;let i=false;let s=0;let a=0;let o;const l=[];this.onStart=void 0;this.onLoad=e;this.onProgress=t;this.onError=n;this.itemStart=function(e){a++;false===i&&void 0!==r.onStart&&r.onStart(e,s,a);i=true};this.itemEnd=function(e){s++;void 0!==r.onProgress&&r.onProgress(e,s,a);if(s===a){i=false;void 0!==r.onLoad&&r.onLoad()}};this.itemError=function(e){void 0!==r.onError&&r.onError(e)};this.resolveURL=function(e){return o?o(e):e};this.setURLModifier=function(e){o=e;return this};this.addHandler=function(e,t){l.push(e,t);return this};this.removeHandler=function(e){const t=l.indexOf(e);-1!==t&&l.splice(t,2);return this};this.getHandler=function(e){for(let t=0,n=l.length;t<n;t+=2){const n=l[t];const r=l[t+1];n.global&&(n.lastIndex=0);if(n.test(e))return r}return null}}}const Vl=new LoadingManager;class Loader{constructor(e){this.manager=void 0!==e?e:Vl;this.crossOrigin=\"anonymous\";this.withCredentials=false;this.path=\"\";this.resourcePath=\"\";this.requestHeader={}}load(){}loadAsync(e,t){const n=this;return new Promise((function(r,i){n.load(e,r,t,i)}))}parse(){}setCrossOrigin(e){this.crossOrigin=e;return this}setWithCredentials(e){this.withCredentials=e;return this}setPath(e){this.path=e;return this}setResourcePath(e){this.resourcePath=e;return this}setRequestHeader(e){this.requestHeader=e;return this}}const Nl={};class FileLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){void 0===e&&(e=\"\");void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=Bl.get(e);if(void 0!==i){this.manager.itemStart(e);setTimeout((()=>{t&&t(i);this.manager.itemEnd(e)}),0);return i}if(void 0!==Nl[e]){Nl[e].push({onLoad:t,onProgress:n,onError:r});return}Nl[e]=[];Nl[e].push({onLoad:t,onProgress:n,onError:r});const s=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?\"include\":\"same-origin\"});fetch(s).then((t=>{if(200===t.status||0===t.status){0===t.status&&console.warn(\"THREE.FileLoader: HTTP Status 0 received.\");if(\"undefined\"===typeof ReadableStream||void 0===t.body.getReader)return t;const n=Nl[e];const r=t.body.getReader();const i=t.headers.get(\"Content-Length\");const s=i?parseInt(i):0;const a=0!==s;let o=0;const l=new ReadableStream({start(e){readData();function readData(){r.read().then((({done:t,value:r})=>{if(t)e.close();else{o+=r.byteLength;const t=new ProgressEvent(\"progress\",{lengthComputable:a,loaded:o,total:s});for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onProgress&&r.onProgress(t)}e.enqueue(r);readData()}}))}}});return new Response(l)}throw Error(`fetch for \"${t.url}\" responded with ${t.status}: ${t.statusText}`)})).then((e=>{switch(this.responseType){case\"arraybuffer\":return e.arrayBuffer();case\"blob\":return e.blob();case\"document\":return e.text().then((e=>{const t=new DOMParser;return t.parseFromString(e,this.mimeType)}));case\"json\":return e.json();default:return e.text()}})).then((t=>{Bl.add(e,t);const n=Nl[e];delete Nl[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onLoad&&r.onLoad(t)}})).catch((t=>{const n=Nl[e];if(void 0===n){this.manager.itemError(e);throw t}delete Nl[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onError&&r.onError(t)}this.manager.itemError(e)})).finally((()=>{this.manager.itemEnd(e)}));this.manager.itemStart(e)}setResponseType(e){this.responseType=e;return this}setMimeType(e){this.mimeType=e;return this}}class AnimationLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(this.manager);s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t=[];for(let n=0;n<e.length;n++){const r=AnimationClip.parse(e[n]);t.push(r)}return t}}class CompressedTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=[];const a=new CompressedTexture;const o=new FileLoader(this.manager);o.setPath(this.path);o.setResponseType(\"arraybuffer\");o.setRequestHeader(this.requestHeader);o.setWithCredentials(i.withCredentials);let l=0;function loadTexture(c){o.load(e[c],(function(e){const n=i.parse(e,true);s[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps};l+=1;if(6===l){1===n.mipmapCount&&(a.minFilter=ye);a.image=s;a.format=n.format;a.needsUpdate=true;t&&t(a)}}),n,r)}if(Array.isArray(e))for(let t=0,n=e.length;t<n;++t)loadTexture(t);else o.load(e,(function(e){const n=i.parse(e,true);if(n.isCubemap){const e=n.mipmaps.length/n.mipmapCount;for(let t=0;t<e;t++){s[t]={mipmaps:[]};for(let e=0;e<n.mipmapCount;e++){s[t].mipmaps.push(n.mipmaps[t*n.mipmapCount+e]);s[t].format=n.format;s[t].width=n.width;s[t].height=n.height}}a.image=s}else{a.image.width=n.width;a.image.height=n.height;a.mipmaps=n.mipmaps}1===n.mipmapCount&&(a.minFilter=ye);a.format=n.format;a.needsUpdate=true;t&&t(a)}),n,r);return a}}class ImageLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=this;const s=Bl.get(e);if(void 0!==s){i.manager.itemStart(e);setTimeout((function(){t&&t(s);i.manager.itemEnd(e)}),0);return s}const a=createElementNS(\"img\");function onImageLoad(){removeEventListeners();Bl.add(e,this);t&&t(this);i.manager.itemEnd(e)}function onImageError(t){removeEventListeners();r&&r(t);i.manager.itemError(e);i.manager.itemEnd(e)}function removeEventListeners(){a.removeEventListener(\"load\",onImageLoad,false);a.removeEventListener(\"error\",onImageError,false)}a.addEventListener(\"load\",onImageLoad,false);a.addEventListener(\"error\",onImageError,false);\"data:\"!==e.substr(0,5)&&void 0!==this.crossOrigin&&(a.crossOrigin=this.crossOrigin);i.manager.itemStart(e);a.src=e;return a}}class CubeTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=new CubeTexture;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);let a=0;function loadTexture(n){s.load(e[n],(function(e){i.images[n]=e;a++;if(6===a){i.needsUpdate=true;t&&t(i)}}),void 0,r)}for(let t=0;t<e.length;++t)loadTexture(t);return i}}class DataTextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new DataTexture;const a=new FileLoader(this.manager);a.setResponseType(\"arraybuffer\");a.setRequestHeader(this.requestHeader);a.setPath(this.path);a.setWithCredentials(i.withCredentials);a.load(e,(function(e){const n=i.parse(e);if(n){if(void 0!==n.image)s.image=n.image;else if(void 0!==n.data){s.image.width=n.width;s.image.height=n.height;s.image.data=n.data}s.wrapS=void 0!==n.wrapS?n.wrapS:ue;s.wrapT=void 0!==n.wrapT?n.wrapT:ue;s.magFilter=void 0!==n.magFilter?n.magFilter:ye;s.minFilter=void 0!==n.minFilter?n.minFilter:ye;s.anisotropy=void 0!==n.anisotropy?n.anisotropy:1;void 0!==n.encoding&&(s.encoding=n.encoding);void 0!==n.flipY&&(s.flipY=n.flipY);void 0!==n.format&&(s.format=n.format);void 0!==n.type&&(s.type=n.type);if(void 0!==n.mipmaps){s.mipmaps=n.mipmaps;s.minFilter=be}1===n.mipmapCount&&(s.minFilter=ye);void 0!==n.generateMipmaps&&(s.generateMipmaps=n.generateMipmaps);s.needsUpdate=true;t&&t(s,n)}}),n,r);return s}}class TextureLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=new Texture;const s=new ImageLoader(this.manager);s.setCrossOrigin(this.crossOrigin);s.setPath(this.path);s.load(e,(function(e){i.image=e;i.needsUpdate=true;void 0!==t&&t(i)}),n,r);return i}}class Light extends Object3D{constructor(e,t=1){super();this.type=\"Light\";this.color=new Color(e);this.intensity=t}dispose(){}copy(e){super.copy(e);this.color.copy(e.color);this.intensity=e.intensity;return this}toJSON(e){const t=super.toJSON(e);t.object.color=this.color.getHex();t.object.intensity=this.intensity;void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex());void 0!==this.distance&&(t.object.distance=this.distance);void 0!==this.angle&&(t.object.angle=this.angle);void 0!==this.decay&&(t.object.decay=this.decay);void 0!==this.penumbra&&(t.object.penumbra=this.penumbra);void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON());return t}}Light.prototype.isLight=true;class HemisphereLight extends Light{constructor(e,t,n){super(e,n);this.type=\"HemisphereLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.groundColor=new Color(t)}copy(e){Light.prototype.copy.call(this,e);this.groundColor.copy(e.groundColor);return this}}HemisphereLight.prototype.isHemisphereLight=true;const Ul=new Matrix4;const zl=new Vector3;const Gl=new Vector3;class LightShadow{constructor(e){this.camera=e;this.bias=0;this.normalBias=0;this.radius=1;this.blurSamples=8;this.mapSize=new Vector2(512,512);this.map=null;this.mapPass=null;this.matrix=new Matrix4;this.autoUpdate=true;this.needsUpdate=false;this._frustum=new Frustum;this._frameExtents=new Vector2(1,1);this._viewportCount=1;this._viewports=[new Vector4(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera;const n=this.matrix;zl.setFromMatrixPosition(e.matrixWorld);t.position.copy(zl);Gl.setFromMatrixPosition(e.target.matrixWorld);t.lookAt(Gl);t.updateMatrixWorld();Ul.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse);this._frustum.setFromProjectionMatrix(Ul);n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);n.multiply(t.projectionMatrix);n.multiply(t.matrixWorldInverse)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose();this.mapPass&&this.mapPass.dispose()}copy(e){this.camera=e.camera.clone();this.bias=e.bias;this.radius=e.radius;this.mapSize.copy(e.mapSize);return this}clone(){return(new this.constructor).copy(this)}toJSON(){const e={};0!==this.bias&&(e.bias=this.bias);0!==this.normalBias&&(e.normalBias=this.normalBias);1!==this.radius&&(e.radius=this.radius);512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray());e.camera=this.camera.toJSON(false).object;delete e.camera.matrix;return e}}class SpotLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(50,1,.5,500));this.focus=1}updateMatrices(e){const t=this.camera;const n=2*Rn*e.angle*this.focus;const r=this.mapSize.width/this.mapSize.height;const i=e.distance||t.far;if(n!==t.fov||r!==t.aspect||i!==t.far){t.fov=n;t.aspect=r;t.far=i;t.updateProjectionMatrix()}super.updateMatrices(e)}copy(e){super.copy(e);this.focus=e.focus;return this}}SpotLightShadow.prototype.isSpotLightShadow=true;class SpotLight extends Light{constructor(e,t,n=0,r=Math.PI/3,i=0,s=1){super(e,t);this.type=\"SpotLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.target=new Object3D;this.distance=n;this.angle=r;this.penumbra=i;this.decay=s;this.shadow=new SpotLightShadow}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.distance=e.distance;this.angle=e.angle;this.penumbra=e.penumbra;this.decay=e.decay;this.target=e.target.clone();this.shadow=e.shadow.clone();return this}}SpotLight.prototype.isSpotLight=true;const Fl=new Matrix4;const Ol=new Vector3;const Hl=new Vector3;class PointLightShadow extends LightShadow{constructor(){super(new PerspectiveCamera(90,1,.5,500));this._frameExtents=new Vector2(4,2);this._viewportCount=6;this._viewports=[new Vector4(2,1,1,1),new Vector4(0,1,1,1),new Vector4(3,1,1,1),new Vector4(1,1,1,1),new Vector4(3,0,1,1),new Vector4(1,0,1,1)];this._cubeDirections=[new Vector3(1,0,0),new Vector3(-1,0,0),new Vector3(0,0,1),new Vector3(0,0,-1),new Vector3(0,1,0),new Vector3(0,-1,0)];this._cubeUps=[new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,1,0),new Vector3(0,0,1),new Vector3(0,0,-1)]}updateMatrices(e,t=0){const n=this.camera;const r=this.matrix;const i=e.distance||n.far;if(i!==n.far){n.far=i;n.updateProjectionMatrix()}Ol.setFromMatrixPosition(e.matrixWorld);n.position.copy(Ol);Hl.copy(n.position);Hl.add(this._cubeDirections[t]);n.up.copy(this._cubeUps[t]);n.lookAt(Hl);n.updateMatrixWorld();r.makeTranslation(-Ol.x,-Ol.y,-Ol.z);Fl.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse);this._frustum.setFromProjectionMatrix(Fl)}}PointLightShadow.prototype.isPointLightShadow=true;class PointLight extends Light{constructor(e,t,n=0,r=1){super(e,t);this.type=\"PointLight\";this.distance=n;this.decay=r;this.shadow=new PointLightShadow}get power(){return 4*this.intensity*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.distance=e.distance;this.decay=e.decay;this.shadow=e.shadow.clone();return this}}PointLight.prototype.isPointLight=true;class DirectionalLightShadow extends LightShadow{constructor(){super(new OrthographicCamera(-5,5,5,-5,.5,500))}}DirectionalLightShadow.prototype.isDirectionalLightShadow=true;class DirectionalLight extends Light{constructor(e,t){super(e,t);this.type=\"DirectionalLight\";this.position.copy(Object3D.DefaultUp);this.updateMatrix();this.target=new Object3D;this.shadow=new DirectionalLightShadow}dispose(){this.shadow.dispose()}copy(e){super.copy(e);this.target=e.target.clone();this.shadow=e.shadow.clone();return this}}DirectionalLight.prototype.isDirectionalLight=true;class AmbientLight extends Light{constructor(e,t){super(e,t);this.type=\"AmbientLight\"}}AmbientLight.prototype.isAmbientLight=true;class RectAreaLight extends Light{constructor(e,t,n=10,r=10){super(e,t);this.type=\"RectAreaLight\";this.width=n;this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){super.copy(e);this.width=e.width;this.height=e.height;return this}toJSON(e){const t=super.toJSON(e);t.object.width=this.width;t.object.height=this.height;return t}}RectAreaLight.prototype.isRectAreaLight=true;class SphericalHarmonics3{constructor(){this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new Vector3)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){const n=e.x,r=e.y,i=e.z;const s=this.coefficients;t.copy(s[0]).multiplyScalar(.282095);t.addScaledVector(s[1],.488603*r);t.addScaledVector(s[2],.488603*i);t.addScaledVector(s[3],.488603*n);t.addScaledVector(s[4],n*r*1.092548);t.addScaledVector(s[5],r*i*1.092548);t.addScaledVector(s[6],.315392*(3*i*i-1));t.addScaledVector(s[7],n*i*1.092548);t.addScaledVector(s[8],.546274*(n*n-r*r));return t}getIrradianceAt(e,t){const n=e.x,r=e.y,i=e.z;const s=this.coefficients;t.copy(s[0]).multiplyScalar(.886227);t.addScaledVector(s[1],1.023328*r);t.addScaledVector(s[2],1.023328*i);t.addScaledVector(s[3],1.023328*n);t.addScaledVector(s[4],.858086*n*r);t.addScaledVector(s[5],.858086*r*i);t.addScaledVector(s[6],.743125*i*i-.247708);t.addScaledVector(s[7],.858086*n*i);t.addScaledVector(s[8],.429043*(n*n-r*r));return t}add(e){for(let t=0;t<9;t++)this.coefficients[t].add(e.coefficients[t]);return this}addScaledSH(e,t){for(let n=0;n<9;n++)this.coefficients[n].addScaledVector(e.coefficients[n],t);return this}scale(e){for(let t=0;t<9;t++)this.coefficients[t].multiplyScalar(e);return this}lerp(e,t){for(let n=0;n<9;n++)this.coefficients[n].lerp(e.coefficients[n],t);return this}equals(e){for(let t=0;t<9;t++)if(!this.coefficients[t].equals(e.coefficients[t]))return false;return true}copy(e){return this.set(e.coefficients)}clone(){return(new this.constructor).copy(this)}fromArray(e,t=0){const n=this.coefficients;for(let r=0;r<9;r++)n[r].fromArray(e,t+3*r);return this}toArray(e=[],t=0){const n=this.coefficients;for(let r=0;r<9;r++)n[r].toArray(e,t+3*r);return e}static getBasisAt(e,t){const n=e.x,r=e.y,i=e.z;t[0]=.282095;t[1]=.488603*r;t[2]=.488603*i;t[3]=.488603*n;t[4]=1.092548*n*r;t[5]=1.092548*r*i;t[6]=.315392*(3*i*i-1);t[7]=1.092548*n*i;t[8]=.546274*(n*n-r*r)}}SphericalHarmonics3.prototype.isSphericalHarmonics3=true;class LightProbe extends Light{constructor(e=new SphericalHarmonics3,t=1){super(void 0,t);this.sh=e}copy(e){super.copy(e);this.sh.copy(e.sh);return this}fromJSON(e){this.intensity=e.intensity;this.sh.fromArray(e.sh);return this}toJSON(e){const t=super.toJSON(e);t.object.sh=this.sh.toArray();return t}}LightProbe.prototype.isLightProbe=true;class MaterialLoader extends Loader{constructor(e){super(e);this.textures={}}load(e,t,n,r){const i=this;const s=new FileLoader(i.manager);s.setPath(i.path);s.setRequestHeader(i.requestHeader);s.setWithCredentials(i.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t=this.textures;function getTexture(e){void 0===t[e]&&console.warn(\"THREE.MaterialLoader: Undefined texture\",e);return t[e]}const n=new Il[e.type];void 0!==e.uuid&&(n.uuid=e.uuid);void 0!==e.name&&(n.name=e.name);void 0!==e.color&&void 0!==n.color&&n.color.setHex(e.color);void 0!==e.roughness&&(n.roughness=e.roughness);void 0!==e.metalness&&(n.metalness=e.metalness);void 0!==e.sheen&&(n.sheen=e.sheen);void 0!==e.sheenColor&&(n.sheenColor=(new Color).setHex(e.sheenColor));void 0!==e.sheenRoughness&&(n.sheenRoughness=e.sheenRoughness);void 0!==e.emissive&&void 0!==n.emissive&&n.emissive.setHex(e.emissive);void 0!==e.specular&&void 0!==n.specular&&n.specular.setHex(e.specular);void 0!==e.specularIntensity&&(n.specularIntensity=e.specularIntensity);void 0!==e.specularColor&&void 0!==n.specularColor&&n.specularColor.setHex(e.specularColor);void 0!==e.shininess&&(n.shininess=e.shininess);void 0!==e.clearcoat&&(n.clearcoat=e.clearcoat);void 0!==e.clearcoatRoughness&&(n.clearcoatRoughness=e.clearcoatRoughness);void 0!==e.transmission&&(n.transmission=e.transmission);void 0!==e.thickness&&(n.thickness=e.thickness);void 0!==e.attenuationDistance&&(n.attenuationDistance=e.attenuationDistance);void 0!==e.attenuationColor&&void 0!==n.attenuationColor&&n.attenuationColor.setHex(e.attenuationColor);void 0!==e.fog&&(n.fog=e.fog);void 0!==e.flatShading&&(n.flatShading=e.flatShading);void 0!==e.blending&&(n.blending=e.blending);void 0!==e.combine&&(n.combine=e.combine);void 0!==e.side&&(n.side=e.side);void 0!==e.shadowSide&&(n.shadowSide=e.shadowSide);void 0!==e.opacity&&(n.opacity=e.opacity);void 0!==e.format&&(n.format=e.format);void 0!==e.transparent&&(n.transparent=e.transparent);void 0!==e.alphaTest&&(n.alphaTest=e.alphaTest);void 0!==e.depthTest&&(n.depthTest=e.depthTest);void 0!==e.depthWrite&&(n.depthWrite=e.depthWrite);void 0!==e.colorWrite&&(n.colorWrite=e.colorWrite);void 0!==e.stencilWrite&&(n.stencilWrite=e.stencilWrite);void 0!==e.stencilWriteMask&&(n.stencilWriteMask=e.stencilWriteMask);void 0!==e.stencilFunc&&(n.stencilFunc=e.stencilFunc);void 0!==e.stencilRef&&(n.stencilRef=e.stencilRef);void 0!==e.stencilFuncMask&&(n.stencilFuncMask=e.stencilFuncMask);void 0!==e.stencilFail&&(n.stencilFail=e.stencilFail);void 0!==e.stencilZFail&&(n.stencilZFail=e.stencilZFail);void 0!==e.stencilZPass&&(n.stencilZPass=e.stencilZPass);void 0!==e.wireframe&&(n.wireframe=e.wireframe);void 0!==e.wireframeLinewidth&&(n.wireframeLinewidth=e.wireframeLinewidth);void 0!==e.wireframeLinecap&&(n.wireframeLinecap=e.wireframeLinecap);void 0!==e.wireframeLinejoin&&(n.wireframeLinejoin=e.wireframeLinejoin);void 0!==e.rotation&&(n.rotation=e.rotation);1!==e.linewidth&&(n.linewidth=e.linewidth);void 0!==e.dashSize&&(n.dashSize=e.dashSize);void 0!==e.gapSize&&(n.gapSize=e.gapSize);void 0!==e.scale&&(n.scale=e.scale);void 0!==e.polygonOffset&&(n.polygonOffset=e.polygonOffset);void 0!==e.polygonOffsetFactor&&(n.polygonOffsetFactor=e.polygonOffsetFactor);void 0!==e.polygonOffsetUnits&&(n.polygonOffsetUnits=e.polygonOffsetUnits);void 0!==e.dithering&&(n.dithering=e.dithering);void 0!==e.alphaToCoverage&&(n.alphaToCoverage=e.alphaToCoverage);void 0!==e.premultipliedAlpha&&(n.premultipliedAlpha=e.premultipliedAlpha);void 0!==e.visible&&(n.visible=e.visible);void 0!==e.toneMapped&&(n.toneMapped=e.toneMapped);void 0!==e.userData&&(n.userData=e.userData);void 0!==e.vertexColors&&(\"number\"===typeof e.vertexColors?n.vertexColors=e.vertexColors>0:n.vertexColors=e.vertexColors);if(void 0!==e.uniforms)for(const t in e.uniforms){const r=e.uniforms[t];n.uniforms[t]={};switch(r.type){case\"t\":n.uniforms[t].value=getTexture(r.value);break;case\"c\":n.uniforms[t].value=(new Color).setHex(r.value);break;case\"v2\":n.uniforms[t].value=(new Vector2).fromArray(r.value);break;case\"v3\":n.uniforms[t].value=(new Vector3).fromArray(r.value);break;case\"v4\":n.uniforms[t].value=(new Vector4).fromArray(r.value);break;case\"m3\":n.uniforms[t].value=(new Matrix3).fromArray(r.value);break;case\"m4\":n.uniforms[t].value=(new Matrix4).fromArray(r.value);break;default:n.uniforms[t].value=r.value}}void 0!==e.defines&&(n.defines=e.defines);void 0!==e.vertexShader&&(n.vertexShader=e.vertexShader);void 0!==e.fragmentShader&&(n.fragmentShader=e.fragmentShader);if(void 0!==e.extensions)for(const t in e.extensions)n.extensions[t]=e.extensions[t];void 0!==e.shading&&(n.flatShading=1===e.shading);void 0!==e.size&&(n.size=e.size);void 0!==e.sizeAttenuation&&(n.sizeAttenuation=e.sizeAttenuation);void 0!==e.map&&(n.map=getTexture(e.map));void 0!==e.matcap&&(n.matcap=getTexture(e.matcap));void 0!==e.alphaMap&&(n.alphaMap=getTexture(e.alphaMap));void 0!==e.bumpMap&&(n.bumpMap=getTexture(e.bumpMap));void 0!==e.bumpScale&&(n.bumpScale=e.bumpScale);void 0!==e.normalMap&&(n.normalMap=getTexture(e.normalMap));void 0!==e.normalMapType&&(n.normalMapType=e.normalMapType);if(void 0!==e.normalScale){let t=e.normalScale;false===Array.isArray(t)&&(t=[t,t]);n.normalScale=(new Vector2).fromArray(t)}void 0!==e.displacementMap&&(n.displacementMap=getTexture(e.displacementMap));void 0!==e.displacementScale&&(n.displacementScale=e.displacementScale);void 0!==e.displacementBias&&(n.displacementBias=e.displacementBias);void 0!==e.roughnessMap&&(n.roughnessMap=getTexture(e.roughnessMap));void 0!==e.metalnessMap&&(n.metalnessMap=getTexture(e.metalnessMap));void 0!==e.emissiveMap&&(n.emissiveMap=getTexture(e.emissiveMap));void 0!==e.emissiveIntensity&&(n.emissiveIntensity=e.emissiveIntensity);void 0!==e.specularMap&&(n.specularMap=getTexture(e.specularMap));void 0!==e.specularIntensityMap&&(n.specularIntensityMap=getTexture(e.specularIntensityMap));void 0!==e.specularColorMap&&(n.specularColorMap=getTexture(e.specularColorMap));void 0!==e.envMap&&(n.envMap=getTexture(e.envMap));void 0!==e.envMapIntensity&&(n.envMapIntensity=e.envMapIntensity);void 0!==e.reflectivity&&(n.reflectivity=e.reflectivity);void 0!==e.refractionRatio&&(n.refractionRatio=e.refractionRatio);void 0!==e.lightMap&&(n.lightMap=getTexture(e.lightMap));void 0!==e.lightMapIntensity&&(n.lightMapIntensity=e.lightMapIntensity);void 0!==e.aoMap&&(n.aoMap=getTexture(e.aoMap));void 0!==e.aoMapIntensity&&(n.aoMapIntensity=e.aoMapIntensity);void 0!==e.gradientMap&&(n.gradientMap=getTexture(e.gradientMap));void 0!==e.clearcoatMap&&(n.clearcoatMap=getTexture(e.clearcoatMap));void 0!==e.clearcoatRoughnessMap&&(n.clearcoatRoughnessMap=getTexture(e.clearcoatRoughnessMap));void 0!==e.clearcoatNormalMap&&(n.clearcoatNormalMap=getTexture(e.clearcoatNormalMap));void 0!==e.clearcoatNormalScale&&(n.clearcoatNormalScale=(new Vector2).fromArray(e.clearcoatNormalScale));void 0!==e.transmissionMap&&(n.transmissionMap=getTexture(e.transmissionMap));void 0!==e.thicknessMap&&(n.thicknessMap=getTexture(e.thicknessMap));void 0!==e.sheenColorMap&&(n.sheenColorMap=getTexture(e.sheenColorMap));void 0!==e.sheenRoughnessMap&&(n.sheenRoughnessMap=getTexture(e.sheenRoughnessMap));return n}setTextures(e){this.textures=e;return this}}class LoaderUtils{static decodeText(e){if(\"undefined\"!==typeof TextDecoder)return(new TextDecoder).decode(e);let t=\"\";for(let n=0,r=e.length;n<r;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch(e){return t}}static extractUrlBase(e){const t=e.lastIndexOf(\"/\");return-1===t?\"./\":e.substr(0,t+1)}static resolveURL(e,t){if(\"string\"!==typeof e||\"\"===e)return\"\";/^https?:\\/\\//i.test(t)&&/^\\//.test(e)&&(t=t.replace(/(^https?:\\/\\/[^\\/]+).*/i,\"$1\"));return/^(https?:)?\\/\\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e}}class InstancedBufferGeometry extends BufferGeometry{constructor(){super();this.type=\"InstancedBufferGeometry\";this.instanceCount=Infinity}copy(e){super.copy(e);this.instanceCount=e.instanceCount;return this}clone(){return(new this.constructor).copy(this)}toJSON(){const e=super.toJSON(this);e.instanceCount=this.instanceCount;e.isInstancedBufferGeometry=true;return e}}InstancedBufferGeometry.prototype.isInstancedBufferGeometry=true;class BufferGeometryLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(i.manager);s.setPath(i.path);s.setRequestHeader(i.requestHeader);s.setWithCredentials(i.withCredentials);s.load(e,(function(n){try{t(i.parse(JSON.parse(n)))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}parse(e){const t={};const n={};function getInterleavedBuffer(e,n){if(void 0!==t[n])return t[n];const r=e.interleavedBuffers;const i=r[n];const s=getArrayBuffer(e,i.buffer);const a=getTypedArray(i.type,s);const o=new InterleavedBuffer(a,i.stride);o.uuid=i.uuid;t[n]=o;return o}function getArrayBuffer(e,t){if(void 0!==n[t])return n[t];const r=e.arrayBuffers;const i=r[t];const s=new Uint32Array(i).buffer;n[t]=s;return s}const r=e.isInstancedBufferGeometry?new InstancedBufferGeometry:new BufferGeometry;const i=e.data.index;if(void 0!==i){const e=getTypedArray(i.type,i.array);r.setIndex(new BufferAttribute(e,1))}const s=e.data.attributes;for(const t in s){const n=s[t];let i;if(n.isInterleavedBufferAttribute){const t=getInterleavedBuffer(e.data,n.data);i=new InterleavedBufferAttribute(t,n.itemSize,n.offset,n.normalized)}else{const e=getTypedArray(n.type,n.array);const t=n.isInstancedBufferAttribute?InstancedBufferAttribute:BufferAttribute;i=new t(e,n.itemSize,n.normalized)}void 0!==n.name&&(i.name=n.name);void 0!==n.usage&&i.setUsage(n.usage);if(void 0!==n.updateRange){i.updateRange.offset=n.updateRange.offset;i.updateRange.count=n.updateRange.count}r.setAttribute(t,i)}const a=e.data.morphAttributes;if(a)for(const t in a){const n=a[t];const i=[];for(let t=0,r=n.length;t<r;t++){const r=n[t];let s;if(r.isInterleavedBufferAttribute){const t=getInterleavedBuffer(e.data,r.data);s=new InterleavedBufferAttribute(t,r.itemSize,r.offset,r.normalized)}else{const e=getTypedArray(r.type,r.array);s=new BufferAttribute(e,r.itemSize,r.normalized)}void 0!==r.name&&(s.name=r.name);i.push(s)}r.morphAttributes[t]=i}const o=e.data.morphTargetsRelative;o&&(r.morphTargetsRelative=true);const l=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==l)for(let e=0,t=l.length;e!==t;++e){const t=l[e];r.addGroup(t.start,t.count,t.materialIndex)}const c=e.data.boundingSphere;if(void 0!==c){const e=new Vector3;void 0!==c.center&&e.fromArray(c.center);r.boundingSphere=new Sphere(e,c.radius)}e.name&&(r.name=e.name);e.userData&&(r.userData=e.userData);return r}}class ObjectLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=\"\"===this.path?LoaderUtils.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||s;const a=new FileLoader(this.manager);a.setPath(this.path);a.setRequestHeader(this.requestHeader);a.setWithCredentials(this.withCredentials);a.load(e,(function(n){let s=null;try{s=JSON.parse(n)}catch(t){void 0!==r&&r(t);console.error(\"THREE:ObjectLoader: Can't parse \"+e+\".\",t.message);return}const a=s.metadata;void 0!==a&&void 0!==a.type&&\"geometry\"!==a.type.toLowerCase()?i.parse(s,t):console.error(\"THREE.ObjectLoader: Can't load \"+e)}),n,r)}async loadAsync(e,t){const n=this;const r=\"\"===this.path?LoaderUtils.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||r;const i=new FileLoader(this.manager);i.setPath(this.path);i.setRequestHeader(this.requestHeader);i.setWithCredentials(this.withCredentials);const s=await i.loadAsync(e,t);const a=JSON.parse(s);const o=a.metadata;if(void 0===o||void 0===o.type||\"geometry\"===o.type.toLowerCase())throw new Error(\"THREE.ObjectLoader: Can't load \"+e);return await n.parseAsync(a)}parse(e,t){const n=this.parseAnimations(e.animations);const r=this.parseShapes(e.shapes);const i=this.parseGeometries(e.geometries,r);const s=this.parseImages(e.images,(function(){void 0!==t&&t(l)}));const a=this.parseTextures(e.textures,s);const o=this.parseMaterials(e.materials,a);const l=this.parseObject(e.object,i,o,a,n);const c=this.parseSkeletons(e.skeletons,l);this.bindSkeletons(l,c);if(void 0!==t){let e=false;for(const t in s)if(s[t]instanceof HTMLImageElement){e=true;break}false===e&&t(l)}return l}async parseAsync(e){const t=this.parseAnimations(e.animations);const n=this.parseShapes(e.shapes);const r=this.parseGeometries(e.geometries,n);const i=await this.parseImagesAsync(e.images);const s=this.parseTextures(e.textures,i);const a=this.parseMaterials(e.materials,s);const o=this.parseObject(e.object,r,a,s,t);const l=this.parseSkeletons(e.skeletons,o);this.bindSkeletons(o,l);return o}parseShapes(e){const t={};if(void 0!==e)for(let n=0,r=e.length;n<r;n++){const r=(new Shape).fromJSON(e[n]);t[r.uuid]=r}return t}parseSkeletons(e,t){const n={};const r={};t.traverse((function(e){e.isBone&&(r[e.uuid]=e)}));if(void 0!==e)for(let t=0,i=e.length;t<i;t++){const i=(new Skeleton).fromJSON(e[t],r);n[i.uuid]=i}return n}parseGeometries(e,t){const n={};if(void 0!==e){const r=new BufferGeometryLoader;for(let i=0,s=e.length;i<s;i++){let s;const a=e[i];switch(a.type){case\"BufferGeometry\":case\"InstancedBufferGeometry\":s=r.parse(a);break;case\"Geometry\":console.error(\"THREE.ObjectLoader: The legacy Geometry type is no longer supported.\");break;default:a.type in Pl?s=Pl[a.type].fromJSON(a,t):console.warn(`THREE.ObjectLoader: Unsupported geometry type \"${a.type}\"`)}s.uuid=a.uuid;void 0!==a.name&&(s.name=a.name);true===s.isBufferGeometry&&void 0!==a.userData&&(s.userData=a.userData);n[a.uuid]=s}}return n}parseMaterials(e,t){const n={};const r={};if(void 0!==e){const i=new MaterialLoader;i.setTextures(t);for(let t=0,s=e.length;t<s;t++){const s=e[t];if(\"MultiMaterial\"===s.type){const e=[];for(let t=0;t<s.materials.length;t++){const r=s.materials[t];void 0===n[r.uuid]&&(n[r.uuid]=i.parse(r));e.push(n[r.uuid])}r[s.uuid]=e}else{void 0===n[s.uuid]&&(n[s.uuid]=i.parse(s));r[s.uuid]=n[s.uuid]}}}return r}parseAnimations(e){const t={};if(void 0!==e)for(let n=0;n<e.length;n++){const r=e[n];const i=AnimationClip.parse(r);t[i.uuid]=i}return t}parseImages(e,t){const n=this;const r={};let i;function loadImage(e){n.manager.itemStart(e);return i.load(e,(function(){n.manager.itemEnd(e)}),void 0,(function(){n.manager.itemError(e);n.manager.itemEnd(e)}))}function deserializeImage(e){if(\"string\"===typeof e){const t=e;const r=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(t)?t:n.resourcePath+t;return loadImage(r)}return e.data?{data:getTypedArray(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){const n=new LoadingManager(t);i=new ImageLoader(n);i.setCrossOrigin(this.crossOrigin);for(let t=0,n=e.length;t<n;t++){const n=e[t];const i=n.url;if(Array.isArray(i)){r[n.uuid]=[];for(let e=0,t=i.length;e<t;e++){const t=i[e];const s=deserializeImage(t);null!==s&&(s instanceof HTMLImageElement?r[n.uuid].push(s):r[n.uuid].push(new DataTexture(s.data,s.width,s.height)))}}else{const e=deserializeImage(n.url);null!==e&&(r[n.uuid]=e)}}}return r}async parseImagesAsync(e){const t=this;const n={};let r;async function deserializeImage(e){if(\"string\"===typeof e){const n=e;const i=/^(\\/\\/)|([a-z]+:(\\/\\/)?)/i.test(n)?n:t.resourcePath+n;return await r.loadAsync(i)}return e.data?{data:getTypedArray(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){r=new ImageLoader(this.manager);r.setCrossOrigin(this.crossOrigin);for(let t=0,r=e.length;t<r;t++){const r=e[t];const i=r.url;if(Array.isArray(i)){n[r.uuid]=[];for(let e=0,t=i.length;e<t;e++){const t=i[e];const s=await deserializeImage(t);null!==s&&(s instanceof HTMLImageElement?n[r.uuid].push(s):n[r.uuid].push(new DataTexture(s.data,s.width,s.height)))}}else{const e=await deserializeImage(r.url);null!==e&&(n[r.uuid]=e)}}}return n}parseTextures(e,t){function parseConstant(e,t){if(\"number\"===typeof e)return e;console.warn(\"THREE.ObjectLoader.parseTexture: Constant should be in numeric form.\",e);return t[e]}const n={};if(void 0!==e)for(let r=0,i=e.length;r<i;r++){const i=e[r];void 0===i.image&&console.warn('THREE.ObjectLoader: No \"image\" specified for',i.uuid);void 0===t[i.image]&&console.warn(\"THREE.ObjectLoader: Undefined image\",i.image);let s;const a=t[i.image];if(Array.isArray(a)){s=new CubeTexture(a);6===a.length&&(s.needsUpdate=true)}else{s=a&&a.data?new DataTexture(a.data,a.width,a.height):new Texture(a);a&&(s.needsUpdate=true)}s.uuid=i.uuid;void 0!==i.name&&(s.name=i.name);void 0!==i.mapping&&(s.mapping=parseConstant(i.mapping,kl));void 0!==i.offset&&s.offset.fromArray(i.offset);void 0!==i.repeat&&s.repeat.fromArray(i.repeat);void 0!==i.center&&s.center.fromArray(i.center);void 0!==i.rotation&&(s.rotation=i.rotation);if(void 0!==i.wrap){s.wrapS=parseConstant(i.wrap[0],Wl);s.wrapT=parseConstant(i.wrap[1],Wl)}void 0!==i.format&&(s.format=i.format);void 0!==i.type&&(s.type=i.type);void 0!==i.encoding&&(s.encoding=i.encoding);void 0!==i.minFilter&&(s.minFilter=parseConstant(i.minFilter,jl));void 0!==i.magFilter&&(s.magFilter=parseConstant(i.magFilter,jl));void 0!==i.anisotropy&&(s.anisotropy=i.anisotropy);void 0!==i.flipY&&(s.flipY=i.flipY);void 0!==i.premultiplyAlpha&&(s.premultiplyAlpha=i.premultiplyAlpha);void 0!==i.unpackAlignment&&(s.unpackAlignment=i.unpackAlignment);void 0!==i.userData&&(s.userData=i.userData);n[i.uuid]=s}return n}parseObject(e,t,n,r,i){let s;function getGeometry(e){void 0===t[e]&&console.warn(\"THREE.ObjectLoader: Undefined geometry\",e);return t[e]}function getMaterial(e){if(void 0!==e){if(Array.isArray(e)){const t=[];for(let r=0,i=e.length;r<i;r++){const i=e[r];void 0===n[i]&&console.warn(\"THREE.ObjectLoader: Undefined material\",i);t.push(n[i])}return t}void 0===n[e]&&console.warn(\"THREE.ObjectLoader: Undefined material\",e);return n[e]}}function getTexture(e){void 0===r[e]&&console.warn(\"THREE.ObjectLoader: Undefined texture\",e);return r[e]}let a,o;switch(e.type){case\"Scene\":s=new Scene;void 0!==e.background&&(Number.isInteger(e.background)?s.background=new Color(e.background):s.background=getTexture(e.background));void 0!==e.environment&&(s.environment=getTexture(e.environment));void 0!==e.fog&&(\"Fog\"===e.fog.type?s.fog=new Fog(e.fog.color,e.fog.near,e.fog.far):\"FogExp2\"===e.fog.type&&(s.fog=new FogExp2(e.fog.color,e.fog.density)));break;case\"PerspectiveCamera\":s=new PerspectiveCamera(e.fov,e.aspect,e.near,e.far);void 0!==e.focus&&(s.focus=e.focus);void 0!==e.zoom&&(s.zoom=e.zoom);void 0!==e.filmGauge&&(s.filmGauge=e.filmGauge);void 0!==e.filmOffset&&(s.filmOffset=e.filmOffset);void 0!==e.view&&(s.view=Object.assign({},e.view));break;case\"OrthographicCamera\":s=new OrthographicCamera(e.left,e.right,e.top,e.bottom,e.near,e.far);void 0!==e.zoom&&(s.zoom=e.zoom);void 0!==e.view&&(s.view=Object.assign({},e.view));break;case\"AmbientLight\":s=new AmbientLight(e.color,e.intensity);break;case\"DirectionalLight\":s=new DirectionalLight(e.color,e.intensity);break;case\"PointLight\":s=new PointLight(e.color,e.intensity,e.distance,e.decay);break;case\"RectAreaLight\":s=new RectAreaLight(e.color,e.intensity,e.width,e.height);break;case\"SpotLight\":s=new SpotLight(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case\"HemisphereLight\":s=new HemisphereLight(e.color,e.groundColor,e.intensity);break;case\"LightProbe\":s=(new LightProbe).fromJSON(e);break;case\"SkinnedMesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);s=new SkinnedMesh(a,o);void 0!==e.bindMode&&(s.bindMode=e.bindMode);void 0!==e.bindMatrix&&s.bindMatrix.fromArray(e.bindMatrix);void 0!==e.skeleton&&(s.skeleton=e.skeleton);break;case\"Mesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);s=new Mesh(a,o);break;case\"InstancedMesh\":a=getGeometry(e.geometry);o=getMaterial(e.material);const t=e.count;const n=e.instanceMatrix;const r=e.instanceColor;s=new InstancedMesh(a,o,t);s.instanceMatrix=new InstancedBufferAttribute(new Float32Array(n.array),16);void 0!==r&&(s.instanceColor=new InstancedBufferAttribute(new Float32Array(r.array),r.itemSize));break;case\"LOD\":s=new LOD;break;case\"Line\":s=new Line(getGeometry(e.geometry),getMaterial(e.material));break;case\"LineLoop\":s=new LineLoop(getGeometry(e.geometry),getMaterial(e.material));break;case\"LineSegments\":s=new LineSegments(getGeometry(e.geometry),getMaterial(e.material));break;case\"PointCloud\":case\"Points\":s=new Points(getGeometry(e.geometry),getMaterial(e.material));break;case\"Sprite\":s=new Sprite(getMaterial(e.material));break;case\"Group\":s=new Group;break;case\"Bone\":s=new Bone;break;default:s=new Object3D}s.uuid=e.uuid;void 0!==e.name&&(s.name=e.name);if(void 0!==e.matrix){s.matrix.fromArray(e.matrix);void 0!==e.matrixAutoUpdate&&(s.matrixAutoUpdate=e.matrixAutoUpdate);s.matrixAutoUpdate&&s.matrix.decompose(s.position,s.quaternion,s.scale)}else{void 0!==e.position&&s.position.fromArray(e.position);void 0!==e.rotation&&s.rotation.fromArray(e.rotation);void 0!==e.quaternion&&s.quaternion.fromArray(e.quaternion);void 0!==e.scale&&s.scale.fromArray(e.scale)}void 0!==e.castShadow&&(s.castShadow=e.castShadow);void 0!==e.receiveShadow&&(s.receiveShadow=e.receiveShadow);if(e.shadow){void 0!==e.shadow.bias&&(s.shadow.bias=e.shadow.bias);void 0!==e.shadow.normalBias&&(s.shadow.normalBias=e.shadow.normalBias);void 0!==e.shadow.radius&&(s.shadow.radius=e.shadow.radius);void 0!==e.shadow.mapSize&&s.shadow.mapSize.fromArray(e.shadow.mapSize);void 0!==e.shadow.camera&&(s.shadow.camera=this.parseObject(e.shadow.camera))}void 0!==e.visible&&(s.visible=e.visible);void 0!==e.frustumCulled&&(s.frustumCulled=e.frustumCulled);void 0!==e.renderOrder&&(s.renderOrder=e.renderOrder);void 0!==e.userData&&(s.userData=e.userData);void 0!==e.layers&&(s.layers.mask=e.layers);if(void 0!==e.children){const a=e.children;for(let e=0;e<a.length;e++)s.add(this.parseObject(a[e],t,n,r,i))}if(void 0!==e.animations){const t=e.animations;for(let e=0;e<t.length;e++){const n=t[e];s.animations.push(i[n])}}if(\"LOD\"===e.type){void 0!==e.autoUpdate&&(s.autoUpdate=e.autoUpdate);const t=e.levels;for(let e=0;e<t.length;e++){const n=t[e];const r=s.getObjectByProperty(\"uuid\",n.object);void 0!==r&&s.addLevel(r,n.distance)}}return s}bindSkeletons(e,t){0!==Object.keys(t).length&&e.traverse((function(e){if(true===e.isSkinnedMesh&&void 0!==e.skeleton){const n=t[e.skeleton];void 0===n?console.warn(\"THREE.ObjectLoader: No skeleton found with UUID:\",e.skeleton):e.bind(n,e.bindMatrix)}}))}setTexturePath(e){console.warn(\"THREE.ObjectLoader: .setTexturePath() has been renamed to .setResourcePath().\");return this.setResourcePath(e)}}const kl={UVMapping:ne,CubeReflectionMapping:re,CubeRefractionMapping:ie,EquirectangularReflectionMapping:se,EquirectangularRefractionMapping:ae,CubeUVReflectionMapping:oe,CubeUVRefractionMapping:le};const Wl={RepeatWrapping:ce,ClampToEdgeWrapping:ue,MirroredRepeatWrapping:he};const jl={NearestFilter:de,NearestMipmapNearestFilter:pe,NearestMipmapLinearFilter:me,LinearFilter:ye,LinearMipmapNearestFilter:ve,LinearMipmapLinearFilter:be};class ImageBitmapLoader extends Loader{constructor(e){super(e);\"undefined\"===typeof createImageBitmap&&console.warn(\"THREE.ImageBitmapLoader: createImageBitmap() not supported.\");\"undefined\"===typeof fetch&&console.warn(\"THREE.ImageBitmapLoader: fetch() not supported.\");this.options={premultiplyAlpha:\"none\"}}setOptions(e){this.options=e;return this}load(e,t,n,r){void 0===e&&(e=\"\");void 0!==this.path&&(e=this.path+e);e=this.manager.resolveURL(e);const i=this;const s=Bl.get(e);if(void 0!==s){i.manager.itemStart(e);setTimeout((function(){t&&t(s);i.manager.itemEnd(e)}),0);return s}const a={};a.credentials=\"anonymous\"===this.crossOrigin?\"same-origin\":\"include\";a.headers=this.requestHeader;fetch(e,a).then((function(e){return e.blob()})).then((function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:\"none\"}))})).then((function(n){Bl.add(e,n);t&&t(n);i.manager.itemEnd(e)})).catch((function(t){r&&r(t);i.manager.itemError(e);i.manager.itemEnd(e)}));i.manager.itemStart(e)}}ImageBitmapLoader.prototype.isImageBitmapLoader=true;let ql;const Xl={getContext:function(){void 0===ql&&(ql=new(window.AudioContext||window.webkitAudioContext));return ql},setContext:function(e){ql=e}};class AudioLoader extends Loader{constructor(e){super(e)}load(e,t,n,r){const i=this;const s=new FileLoader(this.manager);s.setResponseType(\"arraybuffer\");s.setPath(this.path);s.setRequestHeader(this.requestHeader);s.setWithCredentials(this.withCredentials);s.load(e,(function(n){try{const e=n.slice(0);const r=Xl.getContext();r.decodeAudioData(e,(function(e){t(e)}))}catch(t){r?r(t):console.error(t);i.manager.itemError(e)}}),n,r)}}class HemisphereLightProbe extends LightProbe{constructor(e,t,n=1){super(void 0,n);const r=(new Color).set(e);const i=(new Color).set(t);const s=new Vector3(r.r,r.g,r.b);const a=new Vector3(i.r,i.g,i.b);const o=Math.sqrt(Math.PI);const l=o*Math.sqrt(.75);this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o);this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l)}}HemisphereLightProbe.prototype.isHemisphereLightProbe=true;class AmbientLightProbe extends LightProbe{constructor(e,t=1){super(void 0,t);const n=(new Color).set(e);this.sh.coefficients[0].set(n.r,n.g,n.b).multiplyScalar(2*Math.sqrt(Math.PI))}}AmbientLightProbe.prototype.isAmbientLightProbe=true;const Jl=new Matrix4;const Yl=new Matrix4;const Zl=new Matrix4;class StereoCamera{constructor(){this.type=\"StereoCamera\";this.aspect=1;this.eyeSep=.064;this.cameraL=new PerspectiveCamera;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=false;this.cameraR=new PerspectiveCamera;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=false;this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;const n=t.focus!==e.focus||t.fov!==e.fov||t.aspect!==e.aspect*this.aspect||t.near!==e.near||t.far!==e.far||t.zoom!==e.zoom||t.eyeSep!==this.eyeSep;if(n){t.focus=e.focus;t.fov=e.fov;t.aspect=e.aspect*this.aspect;t.near=e.near;t.far=e.far;t.zoom=e.zoom;t.eyeSep=this.eyeSep;Zl.copy(e.projectionMatrix);const n=t.eyeSep/2;const r=n*t.near/t.focus;const i=t.near*Math.tan(Cn*t.fov*.5)/t.zoom;let s,a;Yl.elements[12]=-n;Jl.elements[12]=n;s=-i*t.aspect+r;a=i*t.aspect+r;Zl.elements[0]=2*t.near/(a-s);Zl.elements[8]=(a+s)/(a-s);this.cameraL.projectionMatrix.copy(Zl);s=-i*t.aspect-r;a=i*t.aspect-r;Zl.elements[0]=2*t.near/(a-s);Zl.elements[8]=(a+s)/(a-s);this.cameraR.projectionMatrix.copy(Zl)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Yl);this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Jl)}}class Clock{constructor(e=true){this.autoStart=e;this.startTime=0;this.oldTime=0;this.elapsedTime=0;this.running=false}start(){this.startTime=now();this.oldTime=this.startTime;this.elapsedTime=0;this.running=true}stop(){this.getElapsedTime();this.running=false;this.autoStart=false}getElapsedTime(){this.getDelta();return this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running){this.start();return 0}if(this.running){const t=now();e=(t-this.oldTime)/1e3;this.oldTime=t;this.elapsedTime+=e}return e}}function now(){return(\"undefined\"===typeof performance?Date:performance).now()}const Ql=new Vector3;const Kl=new Quaternion;const $l=new Vector3;const ec=new Vector3;class AudioListener extends Object3D{constructor(){super();this.type=\"AudioListener\";this.context=Xl.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null;this.timeDelta=0;this._clock=new Clock}getInput(){return this.gain}removeFilter(){if(null!==this.filter){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination);this.gain.connect(this.context.destination);this.filter=null}return this}getFilter(){return this.filter}setFilter(e){if(null!==this.filter){this.gain.disconnect(this.filter);this.filter.disconnect(this.context.destination)}else this.gain.disconnect(this.context.destination);this.filter=e;this.gain.connect(this.filter);this.filter.connect(this.context.destination);return this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01);return this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener;const n=this.up;this.timeDelta=this._clock.getDelta();this.matrixWorld.decompose(Ql,Kl,$l);ec.set(0,0,-1).applyQuaternion(Kl);if(t.positionX){const e=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(Ql.x,e);t.positionY.linearRampToValueAtTime(Ql.y,e);t.positionZ.linearRampToValueAtTime(Ql.z,e);t.forwardX.linearRampToValueAtTime(ec.x,e);t.forwardY.linearRampToValueAtTime(ec.y,e);t.forwardZ.linearRampToValueAtTime(ec.z,e);t.upX.linearRampToValueAtTime(n.x,e);t.upY.linearRampToValueAtTime(n.y,e);t.upZ.linearRampToValueAtTime(n.z,e)}else{t.setPosition(Ql.x,Ql.y,Ql.z);t.setOrientation(ec.x,ec.y,ec.z,n.x,n.y,n.z)}}}class Audio extends Object3D{constructor(e){super();this.type=\"Audio\";this.listener=e;this.context=e.context;this.gain=this.context.createGain();this.gain.connect(e.getInput());this.autoplay=false;this.buffer=null;this.detune=0;this.loop=false;this.loopStart=0;this.loopEnd=0;this.offset=0;this.duration=void 0;this.playbackRate=1;this.isPlaying=false;this.hasPlaybackControl=true;this.source=null;this.sourceType=\"empty\";this._startedAt=0;this._progress=0;this._connected=false;this.filters=[]}getOutput(){return this.gain}setNodeSource(e){this.hasPlaybackControl=false;this.sourceType=\"audioNode\";this.source=e;this.connect();return this}setMediaElementSource(e){this.hasPlaybackControl=false;this.sourceType=\"mediaNode\";this.source=this.context.createMediaElementSource(e);this.connect();return this}setMediaStreamSource(e){this.hasPlaybackControl=false;this.sourceType=\"mediaStreamNode\";this.source=this.context.createMediaStreamSource(e);this.connect();return this}setBuffer(e){this.buffer=e;this.sourceType=\"buffer\";this.autoplay&&this.play();return this}play(e=0){if(true===this.isPlaying){console.warn(\"THREE.Audio: Audio is already playing.\");return}if(false===this.hasPlaybackControl){console.warn(\"THREE.Audio: this Audio has no playback control.\");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();t.buffer=this.buffer;t.loop=this.loop;t.loopStart=this.loopStart;t.loopEnd=this.loopEnd;t.onended=this.onEnded.bind(this);t.start(this._startedAt,this._progress+this.offset,this.duration);this.isPlaying=true;this.source=t;this.setDetune(this.detune);this.setPlaybackRate(this.playbackRate);return this.connect()}pause(){if(false!==this.hasPlaybackControl){if(true===this.isPlaying){this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate;true===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration));this.source.stop();this.source.onended=null;this.isPlaying=false}return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}stop(){if(false!==this.hasPlaybackControl){this._progress=0;this.source.stop();this.source.onended=null;this.isPlaying=false;return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());this._connected=true;return this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());this._connected=false;return this}getFilters(){return this.filters}setFilters(e){e||(e=[]);if(true===this._connected){this.disconnect();this.filters=e.slice();this.connect()}else this.filters=e.slice();return this}setDetune(e){this.detune=e;if(void 0!==this.source.detune){true===this.isPlaying&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01);return this}}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(false!==this.hasPlaybackControl){this.playbackRate=e;true===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=false}getLoop(){if(false===this.hasPlaybackControl){console.warn(\"THREE.Audio: this Audio has no playback control.\");return false}return this.loop}setLoop(e){if(false!==this.hasPlaybackControl){this.loop=e;true===this.isPlaying&&(this.source.loop=this.loop);return this}console.warn(\"THREE.Audio: this Audio has no playback control.\")}setLoopStart(e){this.loopStart=e;return this}setLoopEnd(e){this.loopEnd=e;return this}getVolume(){return this.gain.gain.value}setVolume(e){this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01);return this}}const tc=new Vector3;const nc=new Quaternion;const rc=new Vector3;const ic=new Vector3;class PositionalAudio extends Audio{constructor(e){super(e);this.panner=this.context.createPanner();this.panner.panningModel=\"HRTF\";this.panner.connect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){this.panner.refDistance=e;return this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){this.panner.rolloffFactor=e;return this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){this.panner.distanceModel=e;return this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){this.panner.maxDistance=e;return this}setDirectionalCone(e,t,n){this.panner.coneInnerAngle=e;this.panner.coneOuterAngle=t;this.panner.coneOuterGain=n;return this}updateMatrixWorld(e){super.updateMatrixWorld(e);if(true===this.hasPlaybackControl&&false===this.isPlaying)return;this.matrixWorld.decompose(tc,nc,rc);ic.set(0,0,1).applyQuaternion(nc);const t=this.panner;if(t.positionX){const e=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(tc.x,e);t.positionY.linearRampToValueAtTime(tc.y,e);t.positionZ.linearRampToValueAtTime(tc.z,e);t.orientationX.linearRampToValueAtTime(ic.x,e);t.orientationY.linearRampToValueAtTime(ic.y,e);t.orientationZ.linearRampToValueAtTime(ic.z,e)}else{t.setPosition(tc.x,tc.y,tc.z);t.setOrientation(ic.x,ic.y,ic.z)}}}class AudioAnalyser{constructor(e,t=2048){this.analyser=e.context.createAnalyser();this.analyser.fftSize=t;this.data=new Uint8Array(this.analyser.frequencyBinCount);e.getOutput().connect(this.analyser)}getFrequencyData(){this.analyser.getByteFrequencyData(this.data);return this.data}getAverageFrequency(){let e=0;const t=this.getFrequencyData();for(let n=0;n<t.length;n++)e+=t[n];return e/t.length}}class PropertyMixer{constructor(e,t,n){this.binding=e;this.valueSize=n;let r,i,s;switch(t){case\"quaternion\":r=this._slerp;i=this._slerpAdditive;s=this._setAdditiveIdentityQuaternion;this.buffer=new Float64Array(6*n);this._workIndex=5;break;case\"string\":case\"bool\":r=this._select;i=this._select;s=this._setAdditiveIdentityOther;this.buffer=new Array(5*n);break;default:r=this._lerp;i=this._lerpAdditive;s=this._setAdditiveIdentityNumeric;this.buffer=new Float64Array(5*n)}this._mixBufferRegion=r;this._mixBufferRegionAdditive=i;this._setIdentity=s;this._origIndex=3;this._addIndex=4;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;this.useCount=0;this.referenceCount=0}accumulate(e,t){const n=this.buffer,r=this.valueSize,i=e*r+r;let s=this.cumulativeWeight;if(0===s){for(let e=0;e!==r;++e)n[i+e]=n[e];s=t}else{s+=t;const e=t/s;this._mixBufferRegion(n,i,0,e,r)}this.cumulativeWeight=s}accumulateAdditive(e){const t=this.buffer,n=this.valueSize,r=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity();this._mixBufferRegionAdditive(t,r,0,e,n);this.cumulativeWeightAdditive+=e}apply(e){const t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,s=this.cumulativeWeightAdditive,a=this.binding;this.cumulativeWeight=0;this.cumulativeWeightAdditive=0;if(i<1){const e=t*this._origIndex;this._mixBufferRegion(n,r,e,1-i,t)}s>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let e=t,i=t+t;e!==i;++e)if(n[e]!==n[e+t]){a.setValue(n,r);break}}saveOriginalState(){const e=this.binding;const t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let e=n,i=r;e!==i;++e)t[e]=t[r+e%n];this._setIdentity();this.cumulativeWeight=0;this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=3*this.valueSize;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize;const t=e+this.valueSize;for(let n=e;n<t;n++)this.buffer[n]=0}_setAdditiveIdentityQuaternion(){this._setAdditiveIdentityNumeric();this.buffer[this._addIndex*this.valueSize+3]=1}_setAdditiveIdentityOther(){const e=this._origIndex*this.valueSize;const t=this._addIndex*this.valueSize;for(let n=0;n<this.valueSize;n++)this.buffer[t+n]=this.buffer[e+n]}_select(e,t,n,r,i){if(r>=.5)for(let r=0;r!==i;++r)e[t+r]=e[n+r]}_slerp(e,t,n,r){Quaternion.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,i){const s=this._workIndex*i;Quaternion.multiplyQuaternionsFlat(e,s,e,t,e,n);Quaternion.slerpFlat(e,t,e,t,e,s,r)}_lerp(e,t,n,r,i){const s=1-r;for(let a=0;a!==i;++a){const i=t+a;e[i]=e[i]*s+e[n+a]*r}}_lerpAdditive(e,t,n,r,i){for(let s=0;s!==i;++s){const i=t+s;e[i]=e[i]+e[n+s]*r}}}const sc=\"\\\\[\\\\]\\\\.:\\\\/\";const ac=new RegExp(\"[\"+sc+\"]\",\"g\");const oc=\"[^\"+sc+\"]\";const lc=\"[^\"+sc.replace(\"\\\\.\",\"\")+\"]\";const cc=/((?:WC+[\\/:])*)/.source.replace(\"WC\",oc);const uc=/(WCOD+)?/.source.replace(\"WCOD\",lc);const hc=/(?:\\.(WC+)(?:\\[(.+)\\])?)?/.source.replace(\"WC\",oc);const dc=/\\.(WC+)(?:\\[(.+)\\])?/.source.replace(\"WC\",oc);const pc=new RegExp(\"^\"+cc+uc+hc+dc+\"$\");const fc=[\"material\",\"materials\",\"bones\"];class Composite{constructor(e,t,n){const r=n||PropertyBinding.parseTrackName(t);this._targetGroup=e;this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,r=this._bindings[n];void 0!==r&&r.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}}class PropertyBinding{constructor(e,t,n){this.path=t;this.parsedPath=n||PropertyBinding.parseTrackName(t);this.node=PropertyBinding.findNode(e,this.parsedPath.nodeName)||e;this.rootNode=e;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new PropertyBinding.Composite(e,t,n):new PropertyBinding(e,t,n)}\n/**\n\t * Replaces spaces with underscores and removes unsupported characters from\n\t * node names, to ensure compatibility with parseTrackName().\n\t *\n\t * @param {string} name Node name to be sanitized.\n\t * @return {string}\n\t */static sanitizeNodeName(e){return e.replace(/\\s/g,\"_\").replace(ac,\"\")}static parseTrackName(e){const t=pc.exec(e);if(!t)throw new Error(\"PropertyBinding: Cannot parse trackName: \"+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]};const r=n.nodeName&&n.nodeName.lastIndexOf(\".\");if(void 0!==r&&-1!==r){const e=n.nodeName.substring(r+1);if(-1!==fc.indexOf(e)){n.nodeName=n.nodeName.substring(0,r);n.objectName=e}}if(null===n.propertyName||0===n.propertyName.length)throw new Error(\"PropertyBinding: can not parse propertyName from trackName: \"+e);return n}static findNode(e,t){if(!t||\"\"===t||\".\"===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const searchNodeSubtree=function(e){for(let n=0;n<e.length;n++){const r=e[n];if(r.name===t||r.uuid===t)return r;const i=searchNodeSubtree(r.children);if(i)return i}return null};const n=searchNodeSubtree(e.children);if(n)return n}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)e[t++]=n[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t];this.targetObject.needsUpdate=true}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_array(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=true}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t];this.targetObject.needsUpdate=true}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t];this.targetObject.matrixWorldNeedsUpdate=true}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t);this.targetObject.needsUpdate=true}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t);this.targetObject.matrixWorldNeedsUpdate=true}_getValue_unbound(e,t){this.bind();this.getValue(e,t)}_setValue_unbound(e,t){this.bind();this.setValue(e,t)}bind(){let e=this.node;const t=this.parsedPath;const n=t.objectName;const r=t.propertyName;let i=t.propertyIndex;if(!e){e=PropertyBinding.findNode(this.rootNode,t.nodeName)||this.rootNode;this.node=e}this.getValue=this._getValue_unavailable;this.setValue=this._setValue_unavailable;if(!e){console.error(\"THREE.PropertyBinding: Trying to update node for track: \"+this.path+\" but it wasn't found.\");return}if(n){let r=t.objectIndex;switch(n){case\"materials\":if(!e.material){console.error(\"THREE.PropertyBinding: Can not bind to material as node does not have a material.\",this);return}if(!e.material.materials){console.error(\"THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.\",this);return}e=e.material.materials;break;case\"bones\":if(!e.skeleton){console.error(\"THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.\",this);return}e=e.skeleton.bones;for(let t=0;t<e.length;t++)if(e[t].name===r){r=t;break}break;default:if(void 0===e[n]){console.error(\"THREE.PropertyBinding: Can not bind to objectName of node undefined.\",this);return}e=e[n]}if(void 0!==r){if(void 0===e[r]){console.error(\"THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.\",this,e);return}e=e[r]}}const s=e[r];if(void 0===s){const n=t.nodeName;console.error(\"THREE.PropertyBinding: Trying to update property for track: \"+n+\".\"+r+\" but it wasn't found.\",e);return}let a=this.Versioning.None;this.targetObject=e;void 0!==e.needsUpdate?a=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(a=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==i){if(\"morphTargetInfluences\"===r){if(!e.geometry){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.\",this);return}if(!e.geometry.isBufferGeometry){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.\",this);return}if(!e.geometry.morphAttributes){console.error(\"THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.\",this);return}void 0!==e.morphTargetDictionary[i]&&(i=e.morphTargetDictionary[i])}o=this.BindingType.ArrayElement;this.resolvedProperty=s;this.propertyIndex=i}else if(void 0!==s.fromArray&&void 0!==s.toArray){o=this.BindingType.HasFromToArray;this.resolvedProperty=s}else if(Array.isArray(s)){o=this.BindingType.EntireArray;this.resolvedProperty=s}else this.propertyName=r;this.getValue=this.GetterByBindingType[o];this.setValue=this.SetterByBindingTypeAndVersioning[o][a]}unbind(){this.node=null;this.getValue=this._getValue_unbound;this.setValue=this._setValue_unbound}}PropertyBinding.Composite=Composite;PropertyBinding.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};PropertyBinding.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};PropertyBinding.prototype.GetterByBindingType=[PropertyBinding.prototype._getValue_direct,PropertyBinding.prototype._getValue_array,PropertyBinding.prototype._getValue_arrayElement,PropertyBinding.prototype._getValue_toArray];PropertyBinding.prototype.SetterByBindingTypeAndVersioning=[[PropertyBinding.prototype._setValue_direct,PropertyBinding.prototype._setValue_direct_setNeedsUpdate,PropertyBinding.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_array,PropertyBinding.prototype._setValue_array_setNeedsUpdate,PropertyBinding.prototype._setValue_array_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_arrayElement,PropertyBinding.prototype._setValue_arrayElement_setNeedsUpdate,PropertyBinding.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[PropertyBinding.prototype._setValue_fromArray,PropertyBinding.prototype._setValue_fromArray_setNeedsUpdate,PropertyBinding.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class AnimationObjectGroup{constructor(){this.uuid=generateUUID();this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;const e={};this._indicesByUUID=e;for(let t=0,n=arguments.length;t!==n;++t)e[arguments[t].uuid]=t;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};const t=this;this.stats={objects:{get total(){return t._objects.length},get inUse(){return this.total-t.nCachedObjects_}},get bindingsPerObject(){return t._bindings.length}}}add(){const e=this._objects,t=this._indicesByUUID,n=this._paths,r=this._parsedPaths,i=this._bindings,s=i.length;let a,o=e.length,l=this.nCachedObjects_;for(let c=0,u=arguments.length;c!==u;++c){const u=arguments[c],h=u.uuid;let d=t[h];if(void 0===d){d=o++;t[h]=d;e.push(u);for(let e=0,t=s;e!==t;++e)i[e].push(new PropertyBinding(u,n[e],r[e]))}else if(d<l){a=e[d];const o=--l,c=e[o];t[c.uuid]=d;e[d]=c;t[h]=o;e[o]=u;for(let e=0,t=s;e!==t;++e){const t=i[e],s=t[o];let a=t[d];t[d]=s;void 0===a&&(a=new PropertyBinding(u,n[e],r[e]));t[o]=a}}else e[d]!==a&&console.error(\"THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.\")}this.nCachedObjects_=l}remove(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_;for(let s=0,a=arguments.length;s!==a;++s){const a=arguments[s],o=a.uuid,l=t[o];if(void 0!==l&&l>=i){const s=i++,c=e[s];t[c.uuid]=l;e[l]=c;t[o]=s;e[s]=a;for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[s],i=t[l];t[l]=r;t[s]=i}}}this.nCachedObjects_=i}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_,s=e.length;for(let a=0,o=arguments.length;a!==o;++a){const o=arguments[a],l=o.uuid,c=t[l];if(void 0!==c){delete t[l];if(c<i){const a=--i,o=e[a],l=--s,u=e[l];t[o.uuid]=c;e[c]=o;t[u.uuid]=a;e[a]=u;e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[a],i=t[l];t[c]=r;t[a]=i;t.pop()}}else{const i=--s,a=e[i];i>0&&(t[a.uuid]=c);e[c]=a;e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e];t[c]=t[i];t.pop()}}}}this.nCachedObjects_=i}subscribe_(e,t){const n=this._bindingsIndicesByPath;let r=n[e];const i=this._bindings;if(void 0!==r)return i[r];const s=this._paths,a=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,u=new Array(l);r=i.length;n[e]=r;s.push(e);a.push(t);i.push(u);for(let n=c,r=o.length;n!==r;++n){const r=o[n];u[n]=new PropertyBinding(r,e,t)}return u}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){const r=this._paths,i=this._parsedPaths,s=this._bindings,a=s.length-1,o=s[a],l=e[a];t[l]=n;s[n]=o;s.pop();i[n]=i[a];i.pop();r[n]=r[a];r.pop()}}}AnimationObjectGroup.prototype.isAnimationObjectGroup=true;class AnimationAction{constructor(e,t,n=null,r=t.blendMode){this._mixer=e;this._clip=t;this._localRoot=n;this.blendMode=r;const i=t.tracks,s=i.length,a=new Array(s);const o={endingStart:Gt,endingEnd:Gt};for(let e=0;e!==s;++e){const t=i[e].createInterpolant(null);a[e]=t;t.settings=o}this._interpolantSettings=o;this._interpolants=a;this._propertyBindings=new Array(s);this._cacheIndex=null;this._byClipCacheIndex=null;this._timeScaleInterpolant=null;this._weightInterpolant=null;this.loop=Bt;this._loopCount=-1;this._startTime=null;this.time=0;this.timeScale=1;this._effectiveTimeScale=1;this.weight=1;this._effectiveWeight=1;this.repetitions=Infinity;this.paused=false;this.enabled=true;this.clampWhenFinished=false;this.zeroSlopeAtStart=true;this.zeroSlopeAtEnd=true}play(){this._mixer._activateAction(this);return this}stop(){this._mixer._deactivateAction(this);return this.reset()}reset(){this.paused=false;this.enabled=true;this.time=0;this._loopCount=-1;this._startTime=null;return this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){this._startTime=e;return this}setLoop(e,t){this.loop=e;this.repetitions=t;return this}setEffectiveWeight(e){this.weight=e;this._effectiveWeight=this.enabled?e:0;return this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,t,n){e.fadeOut(t);this.fadeIn(t);if(n){const n=this._clip.duration,r=e._clip.duration,i=r/n,s=n/r;e.warp(1,i,t);this.warp(s,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;if(null!==e){this._weightInterpolant=null;this._mixer._takeBackControlInterpolant(e)}return this}setEffectiveTimeScale(e){this.timeScale=e;this._effectiveTimeScale=this.paused?0:e;return this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){this.timeScale=this._clip.duration/e;return this.stopWarping()}syncWith(e){this.time=e.time;this.timeScale=e.timeScale;return this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const r=this._mixer,i=r.time,s=this.timeScale;let a=this._timeScaleInterpolant;if(null===a){a=r._lendControlInterpolant();this._timeScaleInterpolant=a}const o=a.parameterPositions,l=a.sampleValues;o[0]=i;o[1]=i+n;l[0]=e/s;l[1]=t/s;return this}stopWarping(){const e=this._timeScaleInterpolant;if(null!==e){this._timeScaleInterpolant=null;this._mixer._takeBackControlInterpolant(e)}return this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,r){if(!this.enabled){this._updateWeight(e);return}const i=this._startTime;if(null!==i){const r=(e-i)*n;if(r<0||0===n)return;this._startTime=null;t=n*r}t*=this._updateTimeScale(e);const s=this._updateTime(t);const a=this._updateWeight(e);if(a>0){const e=this._interpolants;const t=this._propertyBindings;switch(this.blendMode){case kt:for(let n=0,r=e.length;n!==r;++n){e[n].evaluate(s);t[n].accumulateAdditive(a)}break;case Ht:default:for(let n=0,i=e.length;n!==i;++n){e[n].evaluate(s);t[n].accumulate(r,a)}}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(null!==n){const r=n.evaluate(e)[0];t*=r;if(e>n.parameterPositions[1]){this.stopFading();0===r&&(this.enabled=false)}}}this._effectiveWeight=t;return t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){const r=n.evaluate(e)[0];t*=r;if(e>n.parameterPositions[1]){this.stopWarping();0===t?this.paused=true:this.timeScale=t}}}this._effectiveTimeScale=t;return t}_updateTime(e){const t=this._clip.duration;const n=this.loop;let r=this.time+e;let i=this._loopCount;const s=n===Vt;if(0===e)return-1===i?r:s&&1===(1&i)?t-r:r;if(n===Dt){if(-1===i){this._loopCount=0;this._setEndings(true,true,false)}e:{if(r>=t)r=t;else{if(!(r<0)){this.time=r;break e}r=0}this.clampWhenFinished?this.paused=true:this.enabled=false;this.time=r;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e<0?-1:1})}}else{if(-1===i)if(e>=0){i=0;this._setEndings(true,0===this.repetitions,s)}else this._setEndings(0===this.repetitions,true,s);if(r>=t||r<0){const n=Math.floor(r/t);r-=t*n;i+=Math.abs(n);const a=this.repetitions-i;if(a<=0){this.clampWhenFinished?this.paused=true:this.enabled=false;r=e>0?t:0;this.time=r;this._mixer.dispatchEvent({type:\"finished\",action:this,direction:e>0?1:-1})}else{if(1===a){const t=e<0;this._setEndings(t,!t,s)}else this._setEndings(false,false,s);this._loopCount=i;this.time=r;this._mixer.dispatchEvent({type:\"loop\",action:this,loopDelta:n})}}else this.time=r;if(s&&1===(1&i))return t-r}return r}_setEndings(e,t,n){const r=this._interpolantSettings;if(n){r.endingStart=Ft;r.endingEnd=Ft}else{r.endingStart=e?this.zeroSlopeAtStart?Ft:Gt:Ot;r.endingEnd=t?this.zeroSlopeAtEnd?Ft:Gt:Ot}}_scheduleFading(e,t,n){const r=this._mixer,i=r.time;let s=this._weightInterpolant;if(null===s){s=r._lendControlInterpolant();this._weightInterpolant=s}const a=s.parameterPositions,o=s.sampleValues;a[0]=i;o[0]=t;a[1]=i+e;o[1]=n;return this}}class AnimationMixer extends EventDispatcher{constructor(e){super();this._root=e;this._initMemoryManager();this._accuIndex=0;this.time=0;this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,s=e._propertyBindings,a=e._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];if(void 0===c){c={};l[o]=c}for(let e=0;e!==i;++e){const i=r[e],l=i.name;let u=c[l];if(void 0!==u)s[e]=u;else{u=s[e];if(void 0!==u){if(null===u._cacheIndex){++u.referenceCount;this._addInactiveBinding(u,o,l)}continue}const r=t&&t._propertyBindings[e].binding.parsedPath;u=new PropertyMixer(PropertyBinding.create(n,l,r),i.ValueTypeName,i.getValueSize());++u.referenceCount;this._addInactiveBinding(u,o,l);s[e]=u}a[e].resultBuffer=u.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){const t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]);this._addInactiveAction(e,n,t)}const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];if(0===n.useCount++){this._lendBinding(n);n.saveOriginalState()}}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];if(0===--n.useCount){n.restoreOriginalState();this._takeBackBinding(n)}}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return null!==t&&t<this._nActiveActions}_addInactiveAction(e,t,n){const r=this._actions,i=this._actionsByClip;let s=i[t];if(void 0===s){s={knownActions:[e],actionByRoot:{}};e._byClipCacheIndex=0;i[t]=s}else{const t=s.knownActions;e._byClipCacheIndex=t.length;t.push(e)}e._cacheIndex=r.length;r.push(e);s.actionByRoot[n]=e}_removeInactiveAction(e){const t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r;t[r]=n;t.pop();e._cacheIndex=null;const i=e._clip.uuid,s=this._actionsByClip,a=s[i],o=a.knownActions,l=o[o.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c;o[c]=l;o.pop();e._byClipCacheIndex=null;const u=a.actionByRoot,h=(e._localRoot||this._root).uuid;delete u[h];0===o.length&&delete s[i];this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];0===--n.referenceCount&&this._removeInactiveBinding(n)}}_lendAction(e){const t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_takeBackAction(e){const t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_addInactiveBinding(e,t,n){const r=this._bindingsByRootAndName,i=this._bindings;let s=r[t];if(void 0===s){s={};r[t]=s}s[n]=e;e._cacheIndex=i.length;i.push(e)}_removeInactiveBinding(e){const t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,s=this._bindingsByRootAndName,a=s[r],o=t[t.length-1],l=e._cacheIndex;o._cacheIndex=l;t[l]=o;t.pop();delete a[i];0===Object.keys(a).length&&delete s[r]}_lendBinding(e){const t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_takeBackBinding(e){const t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r;t[r]=e;i._cacheIndex=n;t[n]=i}_lendControlInterpolant(){const e=this._controlInterpolants,t=this._nActiveControlInterpolants++;let n=e[t];if(void 0===n){n=new LinearInterpolant(new Float32Array(2),new Float32Array(2),1,this._controlInterpolantsResultBuffer);n.__cacheIndex=t;e[t]=n}return n}_takeBackControlInterpolant(e){const t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r;t[r]=e;i.__cacheIndex=n;t[n]=i}clipAction(e,t,n){const r=t||this._root,i=r.uuid;let s=\"string\"===typeof e?AnimationClip.findByName(r,e):e;const a=null!==s?s.uuid:e;const o=this._actionsByClip[a];let l=null;void 0===n&&(n=null!==s?s.blendMode:Ht);if(void 0!==o){const e=o.actionByRoot[i];if(void 0!==e&&e.blendMode===n)return e;l=o.knownActions[0];null===s&&(s=l._clip)}if(null===s)return null;const c=new AnimationAction(this,s,t,n);this._bindAction(c,l);this._addInactiveAction(c,a,i);return c}existingAction(e,t){const n=t||this._root,r=n.uuid,i=\"string\"===typeof e?AnimationClip.findByName(n,e):e,s=i?i.uuid:e,a=this._actionsByClip[s];return void 0!==a&&a.actionByRoot[r]||null}stopAllAction(){const e=this._actions,t=this._nActiveActions;for(let n=t-1;n>=0;--n)e[n].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),s=this._accuIndex^=1;for(let a=0;a!==n;++a){const n=t[a];n._update(r,e,i,s)}const a=this._bindings,o=this._nActiveBindings;for(let e=0;e!==o;++e)a[e].apply(s);return this}setTime(e){this.time=0;for(let e=0;e<this._actions.length;e++)this._actions[e].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){const t=this._actions,n=e.uuid,r=this._actionsByClip,i=r[n];if(void 0!==i){const e=i.knownActions;for(let n=0,r=e.length;n!==r;++n){const r=e[n];this._deactivateAction(r);const i=r._cacheIndex,s=t[t.length-1];r._cacheIndex=null;r._byClipCacheIndex=null;s._cacheIndex=i;t[i]=s;t.pop();this._removeInactiveBindingsForAction(r)}delete r[n]}}uncacheRoot(e){const t=e.uuid,n=this._actionsByClip;for(const e in n){const r=n[e].actionByRoot,i=r[t];if(void 0!==i){this._deactivateAction(i);this._removeInactiveAction(i)}}const r=this._bindingsByRootAndName,i=r[t];if(void 0!==i)for(const e in i){const t=i[e];t.restoreOriginalState();this._removeInactiveBinding(t)}}uncacheAction(e,t){const n=this.existingAction(e,t);if(null!==n){this._deactivateAction(n);this._removeInactiveAction(n)}}}AnimationMixer.prototype._controlInterpolantsResultBuffer=new Float32Array(1);class Uniform{constructor(e){if(\"string\"===typeof e){console.warn(\"THREE.Uniform: Type parameter is no longer needed.\");e=arguments[1]}this.value=e}clone(){return new Uniform(void 0===this.value.clone?this.value:this.value.clone())}}class InstancedInterleavedBuffer extends InterleavedBuffer{constructor(e,t,n=1){super(e,t);this.meshPerAttribute=n}copy(e){super.copy(e);this.meshPerAttribute=e.meshPerAttribute;return this}clone(e){const t=super.clone(e);t.meshPerAttribute=this.meshPerAttribute;return t}toJSON(e){const t=super.toJSON(e);t.isInstancedInterleavedBuffer=true;t.meshPerAttribute=this.meshPerAttribute;return t}}InstancedInterleavedBuffer.prototype.isInstancedInterleavedBuffer=true;class GLBufferAttribute{constructor(e,t,n,r,i){this.buffer=e;this.type=t;this.itemSize=n;this.elementSize=r;this.count=i;this.version=0}set needsUpdate(e){true===e&&this.version++}setBuffer(e){this.buffer=e;return this}setType(e,t){this.type=e;this.elementSize=t;return this}setItemSize(e){this.itemSize=e;return this}setCount(e){this.count=e;return this}}GLBufferAttribute.prototype.isGLBufferAttribute=true;class Raycaster{constructor(e,t,n=0,r=Infinity){this.ray=new Ray(e,t);this.near=n;this.far=r;this.camera=null;this.layers=new Layers;this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,t){if(t&&t.isPerspectiveCamera){this.ray.origin.setFromMatrixPosition(t.matrixWorld);this.ray.direction.set(e.x,e.y,.5).unproject(t).sub(this.ray.origin).normalize();this.camera=t}else if(t&&t.isOrthographicCamera){this.ray.origin.set(e.x,e.y,(t.near+t.far)/(t.near-t.far)).unproject(t);this.ray.direction.set(0,0,-1).transformDirection(t.matrixWorld);this.camera=t}else console.error(\"THREE.Raycaster: Unsupported camera type: \"+t.type)}intersectObject(e,t=true,n=[]){intersectObject(e,this,n,t);n.sort(ascSort);return n}intersectObjects(e,t=true,n=[]){for(let r=0,i=e.length;r<i;r++)intersectObject(e[r],this,n,t);n.sort(ascSort);return n}}function ascSort(e,t){return e.distance-t.distance}function intersectObject(e,t,n,r){e.layers.test(t.layers)&&e.raycast(t,n);if(true===r){const r=e.children;for(let e=0,i=r.length;e<i;e++)intersectObject(r[e],t,n,true)}}class Spherical{constructor(e=1,t=0,n=0){this.radius=e;this.phi=t;this.theta=n;return this}set(e,t,n){this.radius=e;this.phi=t;this.theta=n;return this}copy(e){this.radius=e.radius;this.phi=e.phi;this.theta=e.theta;return this}makeSafe(){const e=1e-6;this.phi=Math.max(e,Math.min(Math.PI-e,this.phi));return this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){this.radius=Math.sqrt(e*e+t*t+n*n);if(0===this.radius){this.theta=0;this.phi=0}else{this.theta=Math.atan2(e,n);this.phi=Math.acos(clamp(t/this.radius,-1,1))}return this}clone(){return(new this.constructor).copy(this)}}class Cylindrical{constructor(e=1,t=0,n=0){this.radius=e;this.theta=t;this.y=n;return this}set(e,t,n){this.radius=e;this.theta=t;this.y=n;return this}copy(e){this.radius=e.radius;this.theta=e.theta;this.y=e.y;return this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){this.radius=Math.sqrt(e*e+n*n);this.theta=Math.atan2(e,n);this.y=t;return this}clone(){return(new this.constructor).copy(this)}}const mc=new Vector2;class Box2{constructor(e=new Vector2(Infinity,Infinity),t=new Vector2(-Infinity,-Infinity)){this.min=e;this.max=t}set(e,t){this.min.copy(e);this.max.copy(t);return this}setFromPoints(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t++)this.expandByPoint(e[t]);return this}setFromCenterAndSize(e,t){const n=mc.copy(t).multiplyScalar(.5);this.min.copy(e).sub(n);this.max.copy(e).add(n);return this}clone(){return(new this.constructor).copy(this)}copy(e){this.min.copy(e.min);this.max.copy(e.max);return this}makeEmpty(){this.min.x=this.min.y=Infinity;this.max.x=this.max.y=-Infinity;return this}isEmpty(){return this.max.x<this.min.x||this.max.y<this.min.y}getCenter(e){return this.isEmpty()?e.set(0,0):e.addVectors(this.min,this.max).multiplyScalar(.5)}getSize(e){return this.isEmpty()?e.set(0,0):e.subVectors(this.max,this.min)}expandByPoint(e){this.min.min(e);this.max.max(e);return this}expandByVector(e){this.min.sub(e);this.max.add(e);return this}expandByScalar(e){this.min.addScalar(-e);this.max.addScalar(e);return this}containsPoint(e){return!(e.x<this.min.x||e.x>this.max.x||e.y<this.min.y||e.y>this.max.y)}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,t){return t.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return!(e.max.x<this.min.x||e.min.x>this.max.x||e.max.y<this.min.y||e.min.y>this.max.y)}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){const t=mc.copy(e).clamp(this.min,this.max);return t.sub(e).length()}intersect(e){this.min.max(e.min);this.max.min(e.max);return this}union(e){this.min.min(e.min);this.max.max(e.max);return this}translate(e){this.min.add(e);this.max.add(e);return this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}Box2.prototype.isBox2=true;const gc=new Vector3;const yc=new Vector3;class Line3{constructor(e=new Vector3,t=new Vector3){this.start=e;this.end=t}set(e,t){this.start.copy(e);this.end.copy(t);return this}copy(e){this.start.copy(e.start);this.end.copy(e.end);return this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,t){return this.delta(t).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,t){gc.subVectors(e,this.start);yc.subVectors(this.end,this.start);const n=yc.dot(yc);const r=yc.dot(gc);let i=r/n;t&&(i=clamp(i,0,1));return i}closestPointToPoint(e,t,n){const r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}applyMatrix4(e){this.start.applyMatrix4(e);this.end.applyMatrix4(e);return this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}const vc=new Vector3;class SpotLightHelper extends Object3D{constructor(e,t){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=t;const n=new BufferGeometry;const r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let e=0,t=1,n=32;e<n;e++,t++){const i=e/n*Math.PI*2;const s=t/n*Math.PI*2;r.push(Math.cos(i),Math.sin(i),1,Math.cos(s),Math.sin(s),1)}n.setAttribute(\"position\",new Float32BufferAttribute(r,3));const i=new LineBasicMaterial({fog:false,toneMapped:false});this.cone=new LineSegments(n,i);this.add(this.cone);this.update()}dispose(){this.cone.geometry.dispose();this.cone.material.dispose()}update(){this.light.updateMatrixWorld();const e=this.light.distance?this.light.distance:1e3;const t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e);vc.setFromMatrixPosition(this.light.target.matrixWorld);this.cone.lookAt(vc);void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const xc=new Vector3;const bc=new Matrix4;const _c=new Matrix4;class SkeletonHelper extends LineSegments{constructor(e){const t=getBoneList(e);const n=new BufferGeometry;const r=[];const i=[];const s=new Color(0,0,1);const a=new Color(0,1,0);for(let e=0;e<t.length;e++){const n=t[e];if(n.parent&&n.parent.isBone){r.push(0,0,0);r.push(0,0,0);i.push(s.r,s.g,s.b);i.push(a.r,a.g,a.b)}}n.setAttribute(\"position\",new Float32BufferAttribute(r,3));n.setAttribute(\"color\",new Float32BufferAttribute(i,3));const o=new LineBasicMaterial({vertexColors:true,depthTest:false,depthWrite:false,toneMapped:false,transparent:true});super(n,o);this.type=\"SkeletonHelper\";this.isSkeletonHelper=true;this.root=e;this.bones=t;this.matrix=e.matrixWorld;this.matrixAutoUpdate=false}updateMatrixWorld(e){const t=this.bones;const n=this.geometry;const r=n.getAttribute(\"position\");_c.copy(this.root.matrixWorld).invert();for(let e=0,n=0;e<t.length;e++){const i=t[e];if(i.parent&&i.parent.isBone){bc.multiplyMatrices(_c,i.matrixWorld);xc.setFromMatrixPosition(bc);r.setXYZ(n,xc.x,xc.y,xc.z);bc.multiplyMatrices(_c,i.parent.matrixWorld);xc.setFromMatrixPosition(bc);r.setXYZ(n+1,xc.x,xc.y,xc.z);n+=2}}n.getAttribute(\"position\").needsUpdate=true;super.updateMatrixWorld(e)}}function getBoneList(e){const t=[];e&&e.isBone&&t.push(e);for(let n=0;n<e.children.length;n++)t.push.apply(t,getBoneList(e.children[n]));return t}class PointLightHelper extends Mesh{constructor(e,t,n){const r=new SphereGeometry(t,4,2);const i=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});super(r,i);this.light=e;this.light.updateMatrixWorld();this.color=n;this.type=\"PointLightHelper\";this.matrix=this.light.matrixWorld;this.matrixAutoUpdate=false;this.update()}dispose(){this.geometry.dispose();this.material.dispose()}update(){void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const Mc=new Vector3;const wc=new Color;const Sc=new Color;class HemisphereLightHelper extends Object3D{constructor(e,t,n){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=n;const r=new OctahedronGeometry(t);r.rotateY(.5*Math.PI);this.material=new MeshBasicMaterial({wireframe:true,fog:false,toneMapped:false});void 0===this.color&&(this.material.vertexColors=true);const i=r.getAttribute(\"position\");const s=new Float32Array(3*i.count);r.setAttribute(\"color\",new BufferAttribute(s,3));this.add(new Mesh(r,this.material));this.update()}dispose(){this.children[0].geometry.dispose();this.children[0].material.dispose()}update(){const e=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const t=e.geometry.getAttribute(\"color\");wc.copy(this.light.color);Sc.copy(this.light.groundColor);for(let e=0,n=t.count;e<n;e++){const r=e<n/2?wc:Sc;t.setXYZ(e,r.r,r.g,r.b)}t.needsUpdate=true}e.lookAt(Mc.setFromMatrixPosition(this.light.matrixWorld).negate())}}class GridHelper extends LineSegments{constructor(e=10,t=10,n=4473924,r=8947848){n=new Color(n);r=new Color(r);const i=t/2;const s=e/t;const a=e/2;const o=[],l=[];for(let e=0,c=0,u=-a;e<=t;e++,u+=s){o.push(-a,0,u,a,0,u);o.push(u,0,-a,u,0,a);const t=e===i?n:r;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3;t.toArray(l,c);c+=3}const c=new BufferGeometry;c.setAttribute(\"position\",new Float32BufferAttribute(o,3));c.setAttribute(\"color\",new Float32BufferAttribute(l,3));const u=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(c,u);this.type=\"GridHelper\"}}class PolarGridHelper extends LineSegments{constructor(e=10,t=16,n=8,r=64,i=4473924,s=8947848){i=new Color(i);s=new Color(s);const a=[];const o=[];for(let n=0;n<=t;n++){const r=n/t*(2*Math.PI);const l=Math.sin(r)*e;const c=Math.cos(r)*e;a.push(0,0,0);a.push(l,0,c);const u=1&n?i:s;o.push(u.r,u.g,u.b);o.push(u.r,u.g,u.b)}for(let t=0;t<=n;t++){const l=1&t?i:s;const c=e-e/n*t;for(let e=0;e<r;e++){let t=e/r*(2*Math.PI);let n=Math.sin(t)*c;let i=Math.cos(t)*c;a.push(n,0,i);o.push(l.r,l.g,l.b);t=(e+1)/r*(2*Math.PI);n=Math.sin(t)*c;i=Math.cos(t)*c;a.push(n,0,i);o.push(l.r,l.g,l.b)}}const l=new BufferGeometry;l.setAttribute(\"position\",new Float32BufferAttribute(a,3));l.setAttribute(\"color\",new Float32BufferAttribute(o,3));const c=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(l,c);this.type=\"PolarGridHelper\"}}const Tc=new Vector3;const Ec=new Vector3;const Ac=new Vector3;class DirectionalLightHelper extends Object3D{constructor(e,t,n){super();this.light=e;this.light.updateMatrixWorld();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.color=n;void 0===t&&(t=1);let r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const i=new LineBasicMaterial({fog:false,toneMapped:false});this.lightPlane=new Line(r,i);this.add(this.lightPlane);r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,0,1],3));this.targetLine=new Line(r,i);this.add(this.targetLine);this.update()}dispose(){this.lightPlane.geometry.dispose();this.lightPlane.material.dispose();this.targetLine.geometry.dispose();this.targetLine.material.dispose()}update(){Tc.setFromMatrixPosition(this.light.matrixWorld);Ec.setFromMatrixPosition(this.light.target.matrixWorld);Ac.subVectors(Ec,Tc);this.lightPlane.lookAt(Ec);if(void 0!==this.color){this.lightPlane.material.color.set(this.color);this.targetLine.material.color.set(this.color)}else{this.lightPlane.material.color.copy(this.light.color);this.targetLine.material.color.copy(this.light.color)}this.targetLine.lookAt(Ec);this.targetLine.scale.z=Ac.length()}}const Lc=new Vector3;const Cc=new Camera;class CameraHelper extends LineSegments{constructor(e){const t=new BufferGeometry;const n=new LineBasicMaterial({color:16777215,vertexColors:true,toneMapped:false});const r=[];const i=[];const s={};const a=new Color(16755200);const o=new Color(16711680);const l=new Color(43775);const c=new Color(16777215);const u=new Color(3355443);addLine(\"n1\",\"n2\",a);addLine(\"n2\",\"n4\",a);addLine(\"n4\",\"n3\",a);addLine(\"n3\",\"n1\",a);addLine(\"f1\",\"f2\",a);addLine(\"f2\",\"f4\",a);addLine(\"f4\",\"f3\",a);addLine(\"f3\",\"f1\",a);addLine(\"n1\",\"f1\",a);addLine(\"n2\",\"f2\",a);addLine(\"n3\",\"f3\",a);addLine(\"n4\",\"f4\",a);addLine(\"p\",\"n1\",o);addLine(\"p\",\"n2\",o);addLine(\"p\",\"n3\",o);addLine(\"p\",\"n4\",o);addLine(\"u1\",\"u2\",l);addLine(\"u2\",\"u3\",l);addLine(\"u3\",\"u1\",l);addLine(\"c\",\"t\",c);addLine(\"p\",\"c\",u);addLine(\"cn1\",\"cn2\",u);addLine(\"cn3\",\"cn4\",u);addLine(\"cf1\",\"cf2\",u);addLine(\"cf3\",\"cf4\",u);function addLine(e,t,n){addPoint(e,n);addPoint(t,n)}function addPoint(e,t){r.push(0,0,0);i.push(t.r,t.g,t.b);void 0===s[e]&&(s[e]=[]);s[e].push(r.length/3-1)}t.setAttribute(\"position\",new Float32BufferAttribute(r,3));t.setAttribute(\"color\",new Float32BufferAttribute(i,3));super(t,n);this.type=\"CameraHelper\";this.camera=e;this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix();this.matrix=e.matrixWorld;this.matrixAutoUpdate=false;this.pointMap=s;this.update()}update(){const e=this.geometry;const t=this.pointMap;const n=1,r=1;Cc.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse);setPoint(\"c\",t,e,Cc,0,0,-1);setPoint(\"t\",t,e,Cc,0,0,1);setPoint(\"n1\",t,e,Cc,-n,-r,-1);setPoint(\"n2\",t,e,Cc,n,-r,-1);setPoint(\"n3\",t,e,Cc,-n,r,-1);setPoint(\"n4\",t,e,Cc,n,r,-1);setPoint(\"f1\",t,e,Cc,-n,-r,1);setPoint(\"f2\",t,e,Cc,n,-r,1);setPoint(\"f3\",t,e,Cc,-n,r,1);setPoint(\"f4\",t,e,Cc,n,r,1);setPoint(\"u1\",t,e,Cc,.7*n,1.1*r,-1);setPoint(\"u2\",t,e,Cc,.7*-n,1.1*r,-1);setPoint(\"u3\",t,e,Cc,0,2*r,-1);setPoint(\"cf1\",t,e,Cc,-n,0,1);setPoint(\"cf2\",t,e,Cc,n,0,1);setPoint(\"cf3\",t,e,Cc,0,-r,1);setPoint(\"cf4\",t,e,Cc,0,r,1);setPoint(\"cn1\",t,e,Cc,-n,0,-1);setPoint(\"cn2\",t,e,Cc,n,0,-1);setPoint(\"cn3\",t,e,Cc,0,-r,-1);setPoint(\"cn4\",t,e,Cc,0,r,-1);e.getAttribute(\"position\").needsUpdate=true}dispose(){this.geometry.dispose();this.material.dispose()}}function setPoint(e,t,n,r,i,s,a){Lc.set(i,s,a).unproject(r);const o=t[e];if(void 0!==o){const e=n.getAttribute(\"position\");for(let t=0,n=o.length;t<n;t++)e.setXYZ(o[t],Lc.x,Lc.y,Lc.z)}}const Rc=new Box3;class BoxHelper extends LineSegments{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const r=new Float32Array(24);const i=new BufferGeometry;i.setIndex(new BufferAttribute(n,1));i.setAttribute(\"position\",new BufferAttribute(r,3));super(i,new LineBasicMaterial({color:t,toneMapped:false}));this.object=e;this.type=\"BoxHelper\";this.matrixAutoUpdate=false;this.update()}update(e){void 0!==e&&console.warn(\"THREE.BoxHelper: .update() has no longer arguments.\");void 0!==this.object&&Rc.setFromObject(this.object);if(Rc.isEmpty())return;const t=Rc.min;const n=Rc.max;const r=this.geometry.attributes.position;const i=r.array;i[0]=n.x;i[1]=n.y;i[2]=n.z;i[3]=t.x;i[4]=n.y;i[5]=n.z;i[6]=t.x;i[7]=t.y;i[8]=n.z;i[9]=n.x;i[10]=t.y;i[11]=n.z;i[12]=n.x;i[13]=n.y;i[14]=t.z;i[15]=t.x;i[16]=n.y;i[17]=t.z;i[18]=t.x;i[19]=t.y;i[20]=t.z;i[21]=n.x;i[22]=t.y;i[23]=t.z;r.needsUpdate=true;this.geometry.computeBoundingSphere()}setFromObject(e){this.object=e;this.update();return this}copy(e){LineSegments.prototype.copy.call(this,e);this.object=e.object;return this}}class Box3Helper extends LineSegments{constructor(e,t=16776960){const n=new Uint16Array([0,1,1,2,2,3,3,0,4,5,5,6,6,7,7,4,0,4,1,5,2,6,3,7]);const r=[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1];const i=new BufferGeometry;i.setIndex(new BufferAttribute(n,1));i.setAttribute(\"position\",new Float32BufferAttribute(r,3));super(i,new LineBasicMaterial({color:t,toneMapped:false}));this.box=e;this.type=\"Box3Helper\";this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;if(!t.isEmpty()){t.getCenter(this.position);t.getSize(this.scale);this.scale.multiplyScalar(.5);super.updateMatrixWorld(e)}}}class PlaneHelper extends Line{constructor(e,t=1,n=16776960){const r=n;const i=[1,-1,1,-1,1,1,-1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,0,0,1,0,0,0];const s=new BufferGeometry;s.setAttribute(\"position\",new Float32BufferAttribute(i,3));s.computeBoundingSphere();super(s,new LineBasicMaterial({color:r,toneMapped:false}));this.type=\"PlaneHelper\";this.plane=e;this.size=t;const a=[1,1,1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,1];const o=new BufferGeometry;o.setAttribute(\"position\",new Float32BufferAttribute(a,3));o.computeBoundingSphere();this.add(new Mesh(o,new MeshBasicMaterial({color:r,opacity:.2,transparent:true,depthWrite:false,toneMapped:false})))}updateMatrixWorld(e){let t=-this.plane.constant;Math.abs(t)<1e-8&&(t=1e-8);this.scale.set(.5*this.size,.5*this.size,t);this.children[0].material.side=t<0?d:h;this.lookAt(this.plane.normal);super.updateMatrixWorld(e)}}const Pc=new Vector3;let Ic,Dc;class ArrowHelper extends Object3D{constructor(e=new Vector3(0,0,1),t=new Vector3(0,0,0),n=1,r=16776960,i=.2*n,s=.2*i){super();this.type=\"ArrowHelper\";if(void 0===Ic){Ic=new BufferGeometry;Ic.setAttribute(\"position\",new Float32BufferAttribute([0,0,0,0,1,0],3));Dc=new CylinderGeometry(0,.5,1,5,1);Dc.translate(0,-.5,0)}this.position.copy(t);this.line=new Line(Ic,new LineBasicMaterial({color:r,toneMapped:false}));this.line.matrixAutoUpdate=false;this.add(this.line);this.cone=new Mesh(Dc,new MeshBasicMaterial({color:r,toneMapped:false}));this.cone.matrixAutoUpdate=false;this.add(this.cone);this.setDirection(e);this.setLength(n,i,s)}setDirection(e){if(e.y>.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{Pc.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(Pc,t)}}setLength(e,t=.2*e,n=.2*t){this.line.scale.set(1,Math.max(1e-4,e-t),1);this.line.updateMatrix();this.cone.scale.set(n,t,n);this.cone.position.y=e;this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e);this.cone.material.color.set(e)}copy(e){super.copy(e,false);this.line.copy(e.line);this.cone.copy(e.cone);return this}}class AxesHelper extends LineSegments{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e];const n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1];const r=new BufferGeometry;r.setAttribute(\"position\",new Float32BufferAttribute(t,3));r.setAttribute(\"color\",new Float32BufferAttribute(n,3));const i=new LineBasicMaterial({vertexColors:true,toneMapped:false});super(r,i);this.type=\"AxesHelper\"}setColors(e,t,n){const r=new Color;const i=this.geometry.attributes.color.array;r.set(e);r.toArray(i,0);r.toArray(i,3);r.set(t);r.toArray(i,6);r.toArray(i,9);r.set(n);r.toArray(i,12);r.toArray(i,15);this.geometry.attributes.color.needsUpdate=true;return this}dispose(){this.geometry.dispose();this.material.dispose()}}class ShapePath{constructor(){this.type=\"ShapePath\";this.color=new Color;this.subPaths=[];this.currentPath=null}moveTo(e,t){this.currentPath=new Path;this.subPaths.push(this.currentPath);this.currentPath.moveTo(e,t);return this}lineTo(e,t){this.currentPath.lineTo(e,t);return this}quadraticCurveTo(e,t,n,r){this.currentPath.quadraticCurveTo(e,t,n,r);return this}bezierCurveTo(e,t,n,r,i,s){this.currentPath.bezierCurveTo(e,t,n,r,i,s);return this}splineThru(e){this.currentPath.splineThru(e);return this}toShapes(e,t){function toShapesNoHoles(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];const i=new Shape;i.curves=r.curves;t.push(i)}return t}function isPointInsidePolygon(e,t){const n=t.length;let r=false;for(let i=n-1,s=0;s<n;i=s++){let n=t[i];let a=t[s];let o=a.x-n.x;let l=a.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0){n=t[s];o=-o;a=t[i];l=-l}if(e.y<n.y||e.y>a.y)continue;if(e.y===n.y){if(e.x===n.x)return true}else{const t=l*(e.x-n.x)-o*(e.y-n.y);if(0===t)return true;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(a.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=a.x)return true}}return r}const n=ShapeUtils.isClockWise;const r=this.subPaths;if(0===r.length)return[];if(true===t)return toShapesNoHoles(r);let i,s,a;const o=[];if(1===r.length){s=r[0];a=new Shape;a.curves=s.curves;o.push(a);return o}let l=!n(r[0].getPoints());l=e?!l:l;const c=[];const u=[];let h=[];let d=0;let p;u[d]=void 0;h[d]=[];for(let t=0,a=r.length;t<a;t++){s=r[t];p=s.getPoints();i=n(p);i=e?!i:i;if(i){!l&&u[d]&&d++;u[d]={s:new Shape,p:p};u[d].s.curves=s.curves;l&&d++;h[d]=[]}else h[d].push({h:s,p:p[0]})}if(!u[0])return toShapesNoHoles(r);if(u.length>1){let e=false;const t=[];for(let e=0,t=u.length;e<t;e++)c[e]=[];for(let n=0,r=u.length;n<r;n++){const r=h[n];for(let i=0;i<r.length;i++){const s=r[i];let a=true;for(let r=0;r<u.length;r++)if(isPointInsidePolygon(s.p,u[r].p)){n!==r&&t.push({froms:n,tos:r,hole:i});if(a){a=false;c[r].push(s)}else e=true}a&&c[n].push(s)}}t.length>0&&(e||(h=c))}let f;for(let e=0,t=u.length;e<t;e++){a=u[e].s;o.push(a);f=h[e];for(let e=0,t=f.length;e<t;e++)a.holes.push(f[e].h)}return o}}const Bc=new Float32Array(1);const Vc=new Int32Array(Bc.buffer);class DataUtils{static toHalfFloat(e){if(e>65504){console.warn(\"THREE.DataUtils.toHalfFloat(): value exceeds 65504.\");e=65504}Bc[0]=e;const t=Vc[0];let n=t>>16&32768;let r=t>>12&2047;const i=t>>23&255;if(i<103)return n;if(i>142){n|=31744;n|=(255==i?0:1)&&8388607&t;return n}if(i<113){r|=2048;n|=(r>>114-i)+(r>>113-i&1);return n}n|=i-112<<10|r>>1;n+=1&r;return n}}const Nc=0;const Uc=1;const zc=0;const Gc=1;const Fc=2;function MeshFaceMaterial(e){console.warn(\"THREE.MeshFaceMaterial has been removed. Use an Array instead.\");return e}function MultiMaterial(e=[]){console.warn(\"THREE.MultiMaterial has been removed. Use an Array instead.\");e.isMultiMaterial=true;e.materials=e;e.clone=function(){return e.slice()};return e}function PointCloud(e,t){console.warn(\"THREE.PointCloud has been renamed to THREE.Points.\");return new Points(e,t)}function Particle(e){console.warn(\"THREE.Particle has been renamed to THREE.Sprite.\");return new Sprite(e)}function ParticleSystem(e,t){console.warn(\"THREE.ParticleSystem has been renamed to THREE.Points.\");return new Points(e,t)}function PointCloudMaterial(e){console.warn(\"THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function ParticleBasicMaterial(e){console.warn(\"THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function ParticleSystemMaterial(e){console.warn(\"THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial.\");return new PointsMaterial(e)}function Vertex(e,t,n){console.warn(\"THREE.Vertex has been removed. Use THREE.Vector3 instead.\");return new Vector3(e,t,n)}function DynamicBufferAttribute(e,t){console.warn(\"THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead.\");return new BufferAttribute(e,t).setUsage(yn)}function Int8Attribute(e,t){console.warn(\"THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead.\");return new Int8BufferAttribute(e,t)}function Uint8Attribute(e,t){console.warn(\"THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead.\");return new Uint8BufferAttribute(e,t)}function Uint8ClampedAttribute(e,t){console.warn(\"THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead.\");return new Uint8ClampedBufferAttribute(e,t)}function Int16Attribute(e,t){console.warn(\"THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead.\");return new Int16BufferAttribute(e,t)}function Uint16Attribute(e,t){console.warn(\"THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead.\");return new Uint16BufferAttribute(e,t)}function Int32Attribute(e,t){console.warn(\"THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead.\");return new Int32BufferAttribute(e,t)}function Uint32Attribute(e,t){console.warn(\"THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead.\");return new Uint32BufferAttribute(e,t)}function Float32Attribute(e,t){console.warn(\"THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead.\");return new Float32BufferAttribute(e,t)}function Float64Attribute(e,t){console.warn(\"THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead.\");return new Float64BufferAttribute(e,t)}Curve.create=function(e,t){console.log(\"THREE.Curve.create() has been deprecated\");e.prototype=Object.create(Curve.prototype);e.prototype.constructor=e;e.prototype.getPoint=t;return e};Path.prototype.fromPoints=function(e){console.warn(\"THREE.Path: .fromPoints() has been renamed to .setFromPoints().\");return this.setFromPoints(e)};function AxisHelper(e){console.warn(\"THREE.AxisHelper has been renamed to THREE.AxesHelper.\");return new AxesHelper(e)}function BoundingBoxHelper(e,t){console.warn(\"THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead.\");return new BoxHelper(e,t)}function EdgesHelper(e,t){console.warn(\"THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead.\");return new LineSegments(new EdgesGeometry(e.geometry),new LineBasicMaterial({color:void 0!==t?t:16777215}))}GridHelper.prototype.setColors=function(){console.error(\"THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.\")};SkeletonHelper.prototype.update=function(){console.error(\"THREE.SkeletonHelper: update() no longer needs to be called.\")};function WireframeHelper(e,t){console.warn(\"THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead.\");return new LineSegments(new WireframeGeometry(e.geometry),new LineBasicMaterial({color:void 0!==t?t:16777215}))}Loader.prototype.extractUrlBase=function(e){console.warn(\"THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.\");return LoaderUtils.extractUrlBase(e)};Loader.Handlers={add:function(){console.error(\"THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.\")},get:function(){console.error(\"THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.\")}};function XHRLoader(e){console.warn(\"THREE.XHRLoader has been renamed to THREE.FileLoader.\");return new FileLoader(e)}function BinaryTextureLoader(e){console.warn(\"THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader.\");return new DataTextureLoader(e)}Box2.prototype.center=function(e){console.warn(\"THREE.Box2: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Box2.prototype.empty=function(){console.warn(\"THREE.Box2: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Box2.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Box2.prototype.size=function(e){console.warn(\"THREE.Box2: .size() has been renamed to .getSize().\");return this.getSize(e)};Box3.prototype.center=function(e){console.warn(\"THREE.Box3: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Box3.prototype.empty=function(){console.warn(\"THREE.Box3: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Box3.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Box3.prototype.isIntersectionSphere=function(e){console.warn(\"THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().\");return this.intersectsSphere(e)};Box3.prototype.size=function(e){console.warn(\"THREE.Box3: .size() has been renamed to .getSize().\");return this.getSize(e)};Sphere.prototype.empty=function(){console.warn(\"THREE.Sphere: .empty() has been renamed to .isEmpty().\");return this.isEmpty()};Frustum.prototype.setFromMatrix=function(e){console.warn(\"THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().\");return this.setFromProjectionMatrix(e)};Line3.prototype.center=function(e){console.warn(\"THREE.Line3: .center() has been renamed to .getCenter().\");return this.getCenter(e)};Matrix3.prototype.flattenToArrayOffset=function(e,t){console.warn(\"THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.\");return this.toArray(e,t)};Matrix3.prototype.multiplyVector3=function(e){console.warn(\"THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.\");return e.applyMatrix3(this)};Matrix3.prototype.multiplyVector3Array=function(){console.error(\"THREE.Matrix3: .multiplyVector3Array() has been removed.\")};Matrix3.prototype.applyToBufferAttribute=function(e){console.warn(\"THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.\");return e.applyMatrix3(this)};Matrix3.prototype.applyToVector3Array=function(){console.error(\"THREE.Matrix3: .applyToVector3Array() has been removed.\")};Matrix3.prototype.getInverse=function(e){console.warn(\"THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.\");return this.copy(e).invert()};Matrix4.prototype.extractPosition=function(e){console.warn(\"THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().\");return this.copyPosition(e)};Matrix4.prototype.flattenToArrayOffset=function(e,t){console.warn(\"THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.\");return this.toArray(e,t)};Matrix4.prototype.getPosition=function(){console.warn(\"THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.\");return(new Vector3).setFromMatrixColumn(this,3)};Matrix4.prototype.setRotationFromQuaternion=function(e){console.warn(\"THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().\");return this.makeRotationFromQuaternion(e)};Matrix4.prototype.multiplyToArray=function(){console.warn(\"THREE.Matrix4: .multiplyToArray() has been removed.\")};Matrix4.prototype.multiplyVector3=function(e){console.warn(\"THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.multiplyVector4=function(e){console.warn(\"THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.multiplyVector3Array=function(){console.error(\"THREE.Matrix4: .multiplyVector3Array() has been removed.\")};Matrix4.prototype.rotateAxis=function(e){console.warn(\"THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.\");e.transformDirection(this)};Matrix4.prototype.crossVector=function(e){console.warn(\"THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.translate=function(){console.error(\"THREE.Matrix4: .translate() has been removed.\")};Matrix4.prototype.rotateX=function(){console.error(\"THREE.Matrix4: .rotateX() has been removed.\")};Matrix4.prototype.rotateY=function(){console.error(\"THREE.Matrix4: .rotateY() has been removed.\")};Matrix4.prototype.rotateZ=function(){console.error(\"THREE.Matrix4: .rotateZ() has been removed.\")};Matrix4.prototype.rotateByAxis=function(){console.error(\"THREE.Matrix4: .rotateByAxis() has been removed.\")};Matrix4.prototype.applyToBufferAttribute=function(e){console.warn(\"THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.\");return e.applyMatrix4(this)};Matrix4.prototype.applyToVector3Array=function(){console.error(\"THREE.Matrix4: .applyToVector3Array() has been removed.\")};Matrix4.prototype.makeFrustum=function(e,t,n,r,i,s){console.warn(\"THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.\");return this.makePerspective(e,t,r,n,i,s)};Matrix4.prototype.getInverse=function(e){console.warn(\"THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.\");return this.copy(e).invert()};Plane.prototype.isIntersectionLine=function(e){console.warn(\"THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().\");return this.intersectsLine(e)};Quaternion.prototype.multiplyVector3=function(e){console.warn(\"THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.\");return e.applyQuaternion(this)};Quaternion.prototype.inverse=function(){console.warn(\"THREE.Quaternion: .inverse() has been renamed to invert().\");return this.invert()};Ray.prototype.isIntersectionBox=function(e){console.warn(\"THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().\");return this.intersectsBox(e)};Ray.prototype.isIntersectionPlane=function(e){console.warn(\"THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().\");return this.intersectsPlane(e)};Ray.prototype.isIntersectionSphere=function(e){console.warn(\"THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().\");return this.intersectsSphere(e)};Triangle.prototype.area=function(){console.warn(\"THREE.Triangle: .area() has been renamed to .getArea().\");return this.getArea()};Triangle.prototype.barycoordFromPoint=function(e,t){console.warn(\"THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().\");return this.getBarycoord(e,t)};Triangle.prototype.midpoint=function(e){console.warn(\"THREE.Triangle: .midpoint() has been renamed to .getMidpoint().\");return this.getMidpoint(e)};Triangle.prototypenormal=function(e){console.warn(\"THREE.Triangle: .normal() has been renamed to .getNormal().\");return this.getNormal(e)};Triangle.prototype.plane=function(e){console.warn(\"THREE.Triangle: .plane() has been renamed to .getPlane().\");return this.getPlane(e)};Triangle.barycoordFromPoint=function(e,t,n,r,i){console.warn(\"THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().\");return Triangle.getBarycoord(e,t,n,r,i)};Triangle.normal=function(e,t,n,r){console.warn(\"THREE.Triangle: .normal() has been renamed to .getNormal().\");return Triangle.getNormal(e,t,n,r)};Shape.prototype.extractAllPoints=function(e){console.warn(\"THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.\");return this.extractPoints(e)};Shape.prototype.extrude=function(e){console.warn(\"THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.\");return new ExtrudeGeometry(this,e)};Shape.prototype.makeGeometry=function(e){console.warn(\"THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.\");return new ShapeGeometry(this,e)};Vector2.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector2.prototype.distanceToManhattan=function(e){console.warn(\"THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().\");return this.manhattanDistanceTo(e)};Vector2.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Vector3.prototype.setEulerFromRotationMatrix=function(){console.error(\"THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.\")};Vector3.prototype.setEulerFromQuaternion=function(){console.error(\"THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.\")};Vector3.prototype.getPositionFromMatrix=function(e){console.warn(\"THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().\");return this.setFromMatrixPosition(e)};Vector3.prototype.getScaleFromMatrix=function(e){console.warn(\"THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().\");return this.setFromMatrixScale(e)};Vector3.prototype.getColumnFromMatrix=function(e,t){console.warn(\"THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().\");return this.setFromMatrixColumn(t,e)};Vector3.prototype.applyProjection=function(e){console.warn(\"THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.\");return this.applyMatrix4(e)};Vector3.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector3.prototype.distanceToManhattan=function(e){console.warn(\"THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().\");return this.manhattanDistanceTo(e)};Vector3.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Vector4.prototype.fromAttribute=function(e,t,n){console.warn(\"THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().\");return this.fromBufferAttribute(e,t,n)};Vector4.prototype.lengthManhattan=function(){console.warn(\"THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().\");return this.manhattanLength()};Object3D.prototype.getChildByName=function(e){console.warn(\"THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().\");return this.getObjectByName(e)};Object3D.prototype.renderDepth=function(){console.warn(\"THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.\")};Object3D.prototype.translate=function(e,t){console.warn(\"THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.\");return this.translateOnAxis(t,e)};Object3D.prototype.getWorldRotation=function(){console.error(\"THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.\")};Object3D.prototype.applyMatrix=function(e){console.warn(\"THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().\");return this.applyMatrix4(e)};Object.defineProperties(Object3D.prototype,{eulerOrder:{get:function(){console.warn(\"THREE.Object3D: .eulerOrder is now .rotation.order.\");return this.rotation.order},set:function(e){console.warn(\"THREE.Object3D: .eulerOrder is now .rotation.order.\");this.rotation.order=e}},useQuaternion:{get:function(){console.warn(\"THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.\")},set:function(){console.warn(\"THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.\")}}});Mesh.prototype.setDrawMode=function(){console.error(\"THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.\")};Object.defineProperties(Mesh.prototype,{drawMode:{get:function(){console.error(\"THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.\");return Wt},set:function(){console.error(\"THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.\")}}});SkinnedMesh.prototype.initBones=function(){console.error(\"THREE.SkinnedMesh: initBones() has been removed.\")};PerspectiveCamera.prototype.setLens=function(e,t){console.warn(\"THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.\");void 0!==t&&(this.filmGauge=t);this.setFocalLength(e)};Object.defineProperties(Light.prototype,{onlyShadow:{set:function(){console.warn(\"THREE.Light: .onlyShadow has been removed.\")}},shadowCameraFov:{set:function(e){console.warn(\"THREE.Light: .shadowCameraFov is now .shadow.camera.fov.\");this.shadow.camera.fov=e}},shadowCameraLeft:{set:function(e){console.warn(\"THREE.Light: .shadowCameraLeft is now .shadow.camera.left.\");this.shadow.camera.left=e}},shadowCameraRight:{set:function(e){console.warn(\"THREE.Light: .shadowCameraRight is now .shadow.camera.right.\");this.shadow.camera.right=e}},shadowCameraTop:{set:function(e){console.warn(\"THREE.Light: .shadowCameraTop is now .shadow.camera.top.\");this.shadow.camera.top=e}},shadowCameraBottom:{set:function(e){console.warn(\"THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.\");this.shadow.camera.bottom=e}},shadowCameraNear:{set:function(e){console.warn(\"THREE.Light: .shadowCameraNear is now .shadow.camera.near.\");this.shadow.camera.near=e}},shadowCameraFar:{set:function(e){console.warn(\"THREE.Light: .shadowCameraFar is now .shadow.camera.far.\");this.shadow.camera.far=e}},shadowCameraVisible:{set:function(){console.warn(\"THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.\")}},shadowBias:{set:function(e){console.warn(\"THREE.Light: .shadowBias is now .shadow.bias.\");this.shadow.bias=e}},shadowDarkness:{set:function(){console.warn(\"THREE.Light: .shadowDarkness has been removed.\")}},shadowMapWidth:{set:function(e){console.warn(\"THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.\");this.shadow.mapSize.width=e}},shadowMapHeight:{set:function(e){console.warn(\"THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.\");this.shadow.mapSize.height=e}}});Object.defineProperties(BufferAttribute.prototype,{length:{get:function(){console.warn(\"THREE.BufferAttribute: .length has been deprecated. Use .count instead.\");return this.array.length}},dynamic:{get:function(){console.warn(\"THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.\");return this.usage===yn},set:function(){console.warn(\"THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.\");this.setUsage(yn)}}});BufferAttribute.prototype.setDynamic=function(e){console.warn(\"THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.\");this.setUsage(true===e?yn:gn);return this};BufferAttribute.prototype.copyIndicesArray=function(){console.error(\"THREE.BufferAttribute: .copyIndicesArray() has been removed.\")},BufferAttribute.prototype.setArray=function(){console.error(\"THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers\")};BufferGeometry.prototype.addIndex=function(e){console.warn(\"THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().\");this.setIndex(e)};BufferGeometry.prototype.addAttribute=function(e,t){console.warn(\"THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().\");if(!(t&&t.isBufferAttribute)&&!(t&&t.isInterleavedBufferAttribute)){console.warn(\"THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).\");return this.setAttribute(e,new BufferAttribute(arguments[1],arguments[2]))}if(\"index\"===e){console.warn(\"THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.\");this.setIndex(t);return this}return this.setAttribute(e,t)};BufferGeometry.prototype.addDrawCall=function(e,t,n){void 0!==n&&console.warn(\"THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.\");console.warn(\"THREE.BufferGeometry: .addDrawCall() is now .addGroup().\");this.addGroup(e,t)};BufferGeometry.prototype.clearDrawCalls=function(){console.warn(\"THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().\");this.clearGroups()};BufferGeometry.prototype.computeOffsets=function(){console.warn(\"THREE.BufferGeometry: .computeOffsets() has been removed.\")};BufferGeometry.prototype.removeAttribute=function(e){console.warn(\"THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().\");return this.deleteAttribute(e)};BufferGeometry.prototype.applyMatrix=function(e){console.warn(\"THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().\");return this.applyMatrix4(e)};Object.defineProperties(BufferGeometry.prototype,{drawcalls:{get:function(){console.error(\"THREE.BufferGeometry: .drawcalls has been renamed to .groups.\");return this.groups}},offsets:{get:function(){console.warn(\"THREE.BufferGeometry: .offsets has been renamed to .groups.\");return this.groups}}});InterleavedBuffer.prototype.setDynamic=function(e){console.warn(\"THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.\");this.setUsage(true===e?yn:gn);return this};InterleavedBuffer.prototype.setArray=function(){console.error(\"THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers\")};ExtrudeGeometry.prototype.getArrays=function(){console.error(\"THREE.ExtrudeGeometry: .getArrays() has been removed.\")};ExtrudeGeometry.prototype.addShapeList=function(){console.error(\"THREE.ExtrudeGeometry: .addShapeList() has been removed.\")};ExtrudeGeometry.prototype.addShape=function(){console.error(\"THREE.ExtrudeGeometry: .addShape() has been removed.\")};Scene.prototype.dispose=function(){console.error(\"THREE.Scene: .dispose() has been removed.\")};Uniform.prototype.onUpdate=function(){console.warn(\"THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.\");return this};Object.defineProperties(Material.prototype,{wrapAround:{get:function(){console.warn(\"THREE.Material: .wrapAround has been removed.\")},set:function(){console.warn(\"THREE.Material: .wrapAround has been removed.\")}},overdraw:{get:function(){console.warn(\"THREE.Material: .overdraw has been removed.\")},set:function(){console.warn(\"THREE.Material: .overdraw has been removed.\")}},wrapRGB:{get:function(){console.warn(\"THREE.Material: .wrapRGB has been removed.\");return new Color}},shading:{get:function(){console.error(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\")},set:function(e){console.warn(\"THREE.\"+this.type+\": .shading has been removed. Use the boolean .flatShading instead.\");this.flatShading=e===f}},stencilMask:{get:function(){console.warn(\"THREE.\"+this.type+\": .stencilMask has been removed. Use .stencilFuncMask instead.\");return this.stencilFuncMask},set:function(e){console.warn(\"THREE.\"+this.type+\": .stencilMask has been removed. Use .stencilFuncMask instead.\");this.stencilFuncMask=e}},vertexTangents:{get:function(){console.warn(\"THREE.\"+this.type+\": .vertexTangents has been removed.\")},set:function(){console.warn(\"THREE.\"+this.type+\": .vertexTangents has been removed.\")}}});Object.defineProperties(ShaderMaterial.prototype,{derivatives:{get:function(){console.warn(\"THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.\");return this.extensions.derivatives},set:function(e){console.warn(\"THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.\");this.extensions.derivatives=e}}});WebGLRenderer.prototype.clearTarget=function(e,t,n,r){console.warn(\"THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.\");this.setRenderTarget(e);this.clear(t,n,r)};WebGLRenderer.prototype.animate=function(e){console.warn(\"THREE.WebGLRenderer: .animate() is now .setAnimationLoop().\");this.setAnimationLoop(e)};WebGLRenderer.prototype.getCurrentRenderTarget=function(){console.warn(\"THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().\");return this.getRenderTarget()};WebGLRenderer.prototype.getMaxAnisotropy=function(){console.warn(\"THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().\");return this.capabilities.getMaxAnisotropy()};WebGLRenderer.prototype.getPrecision=function(){console.warn(\"THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.\");return this.capabilities.precision};WebGLRenderer.prototype.resetGLState=function(){console.warn(\"THREE.WebGLRenderer: .resetGLState() is now .state.reset().\");return this.state.reset()};WebGLRenderer.prototype.supportsFloatTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).\");return this.extensions.get(\"OES_texture_float\")};WebGLRenderer.prototype.supportsHalfFloatTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).\");return this.extensions.get(\"OES_texture_half_float\")};WebGLRenderer.prototype.supportsStandardDerivatives=function(){console.warn(\"THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).\");return this.extensions.get(\"OES_standard_derivatives\")};WebGLRenderer.prototype.supportsCompressedTextureS3TC=function(){console.warn(\"THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).\");return this.extensions.get(\"WEBGL_compressed_texture_s3tc\")};WebGLRenderer.prototype.supportsCompressedTexturePVRTC=function(){console.warn(\"THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).\");return this.extensions.get(\"WEBGL_compressed_texture_pvrtc\")};WebGLRenderer.prototype.supportsBlendMinMax=function(){console.warn(\"THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).\");return this.extensions.get(\"EXT_blend_minmax\")};WebGLRenderer.prototype.supportsVertexTextures=function(){console.warn(\"THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.\");return this.capabilities.vertexTextures};WebGLRenderer.prototype.supportsInstancedArrays=function(){console.warn(\"THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).\");return this.extensions.get(\"ANGLE_instanced_arrays\")};WebGLRenderer.prototype.enableScissorTest=function(e){console.warn(\"THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().\");this.setScissorTest(e)};WebGLRenderer.prototype.initMaterial=function(){console.warn(\"THREE.WebGLRenderer: .initMaterial() has been removed.\")};WebGLRenderer.prototype.addPrePlugin=function(){console.warn(\"THREE.WebGLRenderer: .addPrePlugin() has been removed.\")};WebGLRenderer.prototype.addPostPlugin=function(){console.warn(\"THREE.WebGLRenderer: .addPostPlugin() has been removed.\")};WebGLRenderer.prototype.updateShadowMap=function(){console.warn(\"THREE.WebGLRenderer: .updateShadowMap() has been removed.\")};WebGLRenderer.prototype.setFaceCulling=function(){console.warn(\"THREE.WebGLRenderer: .setFaceCulling() has been removed.\")};WebGLRenderer.prototype.allocTextureUnit=function(){console.warn(\"THREE.WebGLRenderer: .allocTextureUnit() has been removed.\")};WebGLRenderer.prototype.setTexture=function(){console.warn(\"THREE.WebGLRenderer: .setTexture() has been removed.\")};WebGLRenderer.prototype.setTexture2D=function(){console.warn(\"THREE.WebGLRenderer: .setTexture2D() has been removed.\")};WebGLRenderer.prototype.setTextureCube=function(){console.warn(\"THREE.WebGLRenderer: .setTextureCube() has been removed.\")};WebGLRenderer.prototype.getActiveMipMapLevel=function(){console.warn(\"THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().\");return this.getActiveMipmapLevel()};Object.defineProperties(WebGLRenderer.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(e){console.warn(\"THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.\");this.shadowMap.enabled=e}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(e){console.warn(\"THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.\");this.shadowMap.type=e}},shadowMapCullFace:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.\")}},context:{get:function(){console.warn(\"THREE.WebGLRenderer: .context has been removed. Use .getContext() instead.\");return this.getContext()}},vr:{get:function(){console.warn(\"THREE.WebGLRenderer: .vr has been renamed to .xr\");return this.xr}},gammaInput:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.\");return false},set:function(){console.warn(\"THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.\")}},gammaOutput:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.\");return false},set:function(e){console.warn(\"THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.\");this.outputEncoding=true===e?Jt:Xt}},toneMappingWhitePoint:{get:function(){console.warn(\"THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.\");return 1},set:function(){console.warn(\"THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.\")}},gammaFactor:{get:function(){console.warn(\"THREE.WebGLRenderer: .gammaFactor has been removed.\");return 2},set:function(){console.warn(\"THREE.WebGLRenderer: .gammaFactor has been removed.\")}}});Object.defineProperties(WebGLShadowMap.prototype,{cullFace:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.\")}},renderReverseSided:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.\")}},renderSingleSided:{get:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.\")},set:function(){console.warn(\"THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.\")}}});function WebGLRenderTargetCube(e,t,n){console.warn(\"THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options ).\");return new WebGLCubeRenderTarget(e,n)}Object.defineProperties(WebGLRenderTarget.prototype,{wrapS:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.\");return this.texture.wrapS},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.\");this.texture.wrapS=e}},wrapT:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.\");return this.texture.wrapT},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.\");this.texture.wrapT=e}},magFilter:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.\");return this.texture.magFilter},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.\");this.texture.magFilter=e}},minFilter:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.\");return this.texture.minFilter},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.\");this.texture.minFilter=e}},anisotropy:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.\");return this.texture.anisotropy},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.\");this.texture.anisotropy=e}},offset:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .offset is now .texture.offset.\");return this.texture.offset},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .offset is now .texture.offset.\");this.texture.offset=e}},repeat:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .repeat is now .texture.repeat.\");return this.texture.repeat},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .repeat is now .texture.repeat.\");this.texture.repeat=e}},format:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .format is now .texture.format.\");return this.texture.format},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .format is now .texture.format.\");this.texture.format=e}},type:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .type is now .texture.type.\");return this.texture.type},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .type is now .texture.type.\");this.texture.type=e}},generateMipmaps:{get:function(){console.warn(\"THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.\");return this.texture.generateMipmaps},set:function(e){console.warn(\"THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.\");this.texture.generateMipmaps=e}}});Audio.prototype.load=function(e){console.warn(\"THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.\");const t=this;const n=new AudioLoader;n.load(e,(function(e){t.setBuffer(e)}));return this};AudioAnalyser.prototype.getData=function(){console.warn(\"THREE.AudioAnalyser: .getData() is now .getFrequencyData().\");return this.getFrequencyData()};CubeCamera.prototype.updateCubeMap=function(e,t){console.warn(\"THREE.CubeCamera: .updateCubeMap() is now .update().\");return this.update(e,t)};CubeCamera.prototype.clear=function(e,t,n,r){console.warn(\"THREE.CubeCamera: .clear() is now .renderTarget.clear().\");return this.renderTarget.clear(e,t,n,r)};ImageUtils.crossOrigin=void 0;ImageUtils.loadTexture=function(e,t,n,r){console.warn(\"THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.\");const i=new TextureLoader;i.setCrossOrigin(this.crossOrigin);const s=i.load(e,n,void 0,r);t&&(s.mapping=t);return s};ImageUtils.loadTextureCube=function(e,t,n,r){console.warn(\"THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.\");const i=new CubeTextureLoader;i.setCrossOrigin(this.crossOrigin);const s=i.load(e,n,void 0,r);t&&(s.mapping=t);return s};ImageUtils.loadCompressedTexture=function(){console.error(\"THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.\")};ImageUtils.loadCompressedTextureCube=function(){console.error(\"THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.\")};function CanvasRenderer(){console.error(\"THREE.CanvasRenderer has been removed\")}function JSONLoader(){console.error(\"THREE.JSONLoader has been removed.\")}const Oc={createMultiMaterialObject:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")},detach:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")},attach:function(){console.error(\"THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js\")}};function LensFlare(){console.error(\"THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js\")}function ParametricGeometry(){console.error(\"THREE.ParametricGeometry has been moved to /examples/jsm/geometries/ParametricGeometry.js\");return new BufferGeometry}function TextGeometry(){console.error(\"THREE.TextGeometry has been moved to /examples/jsm/geometries/TextGeometry.js\");return new BufferGeometry}function FontLoader(){console.error(\"THREE.FontLoader has been moved to /examples/jsm/loaders/FontLoader.js\")}function Font(){console.error(\"THREE.Font has been moved to /examples/jsm/loaders/FontLoader.js\")}function ImmediateRenderObject(){console.error(\"THREE.ImmediateRenderObject has been removed.\")}\"undefined\"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent(\"register\",{detail:{revision:e}}));\"undefined\"!==typeof window&&(window.__THREE__?console.warn(\"WARNING: Multiple instances of Three.js being imported.\"):window.__THREE__=e);export{ee as ACESFilmicToneMapping,w as AddEquation,Y as AddOperation,kt as AdditiveAnimationBlendMode,x as AdditiveBlending,Be as AlphaFormat,F as AlwaysDepth,mn as AlwaysStencilFunc,AmbientLight,AmbientLightProbe,AnimationClip,AnimationLoader,AnimationMixer,AnimationObjectGroup,Dl as AnimationUtils,ArcCurve,ArrayCamera,ArrowHelper,Audio,AudioAnalyser,Xl as AudioContext,AudioListener,AudioLoader,AxesHelper,AxisHelper,d as BackSide,Yt as BasicDepthPacking,o as BasicShadowMap,BinaryTextureLoader,Bone,BooleanKeyframeTrack,BoundingBoxHelper,Box2,Box3,Box3Helper,BoxGeometry as BoxBufferGeometry,BoxGeometry,BoxHelper,BufferAttribute,BufferGeometry,BufferGeometryLoader,we as ByteType,Bl as Cache,Camera,CameraHelper,CanvasRenderer,CanvasTexture,CatmullRomCurve3,$ as CineonToneMapping,CircleGeometry as CircleBufferGeometry,CircleGeometry,ue as ClampToEdgeWrapping,Clock,Color,ColorKeyframeTrack,CompressedTexture,CompressedTextureLoader,ConeGeometry as ConeBufferGeometry,ConeGeometry,CubeCamera,re as CubeReflectionMapping,ie as CubeRefractionMapping,CubeTexture,CubeTextureLoader,oe as CubeUVReflectionMapping,le as CubeUVRefractionMapping,CubicBezierCurve,CubicBezierCurve3,CubicInterpolant,i as CullFaceBack,s as CullFaceFront,a as CullFaceFrontBack,r as CullFaceNone,Curve,CurvePath,M as CustomBlending,te as CustomToneMapping,CylinderGeometry as CylinderBufferGeometry,CylinderGeometry,Cylindrical,DataTexture,DataTexture2DArray,DataTexture3D,DataTextureLoader,DataUtils,rn as DecrementStencilOp,an as DecrementWrapStencilOp,Vl as DefaultLoadingManager,Ge as DepthFormat,Fe as DepthStencilFormat,DepthTexture,DirectionalLight,DirectionalLightHelper,DiscreteInterpolant,DodecahedronGeometry as DodecahedronBufferGeometry,DodecahedronGeometry,p as DoubleSide,B as DstAlphaFactor,N as DstColorFactor,DynamicBufferAttribute,wn as DynamicCopyUsage,yn as DynamicDrawUsage,bn as DynamicReadUsage,EdgesGeometry,EdgesHelper,EllipseCurve,k as EqualDepth,un as EqualStencilFunc,se as EquirectangularReflectionMapping,ae as EquirectangularRefractionMapping,Euler,EventDispatcher,ExtrudeGeometry as ExtrudeBufferGeometry,ExtrudeGeometry,Gc as FaceColors,FileLoader,f as FlatShading,Float16BufferAttribute,Float32Attribute,Float32BufferAttribute,Float64Attribute,Float64BufferAttribute,Le as FloatType,Fog,FogExp2,Font,FontLoader,FramebufferTexture,h as FrontSide,Frustum,GLBufferAttribute,Tn as GLSL1,En as GLSL3,j as GreaterDepth,W as GreaterEqualDepth,fn as GreaterEqualStencilFunc,dn as GreaterStencilFunc,GridHelper,Group,Ce as HalfFloatType,HemisphereLight,HemisphereLightHelper,HemisphereLightProbe,IcosahedronGeometry as IcosahedronBufferGeometry,IcosahedronGeometry,ImageBitmapLoader,ImageLoader,ImageUtils,ImmediateRenderObject,nn as IncrementStencilOp,sn as IncrementWrapStencilOp,InstancedBufferAttribute,InstancedBufferGeometry,InstancedInterleavedBuffer,InstancedMesh,Int16Attribute,Int16BufferAttribute,Int32Attribute,Int32BufferAttribute,Int8Attribute,Int8BufferAttribute,Ee as IntType,InterleavedBuffer,InterleavedBufferAttribute,Interpolant,Nt as InterpolateDiscrete,Ut as InterpolateLinear,zt as InterpolateSmooth,on as InvertStencilOp,JSONLoader,en as KeepStencilOp,KeyframeTrack,LOD,LatheGeometry as LatheBufferGeometry,LatheGeometry,Layers,LensFlare,O as LessDepth,H as LessEqualDepth,hn as LessEqualStencilFunc,cn as LessStencilFunc,Light,LightProbe,Line,Line3,LineBasicMaterial,LineCurve,LineCurve3,LineDashedMaterial,LineLoop,Uc as LinePieces,LineSegments,Nc as LineStrip,Xt as LinearEncoding,ye as LinearFilter,LinearInterpolant,_e as LinearMipMapLinearFilter,xe as LinearMipMapNearestFilter,be as LinearMipmapLinearFilter,ve as LinearMipmapNearestFilter,Q as LinearToneMapping,Loader,LoaderUtils,LoadingManager,Dt as LoopOnce,Vt as LoopPingPong,Bt as LoopRepeat,ze as LuminanceAlphaFormat,Ue as LuminanceFormat,t as MOUSE,Material,MaterialLoader,Pn as Math,Pn as MathUtils,Matrix3,Matrix4,A as MaxEquation,Mesh,MeshBasicMaterial,MeshDepthMaterial,MeshDistanceMaterial,MeshFaceMaterial,MeshLambertMaterial,MeshMatcapMaterial,MeshNormalMaterial,MeshPhongMaterial,MeshPhysicalMaterial,MeshStandardMaterial,MeshToonMaterial,E as MinEquation,he as MirroredRepeatWrapping,J as MixOperation,MultiMaterial,_ as MultiplyBlending,X as MultiplyOperation,de as NearestFilter,ge as NearestMipMapLinearFilter,fe as NearestMipMapNearestFilter,me as NearestMipmapLinearFilter,pe as NearestMipmapNearestFilter,G as NeverDepth,ln as NeverStencilFunc,g as NoBlending,zc as NoColors,Z as NoToneMapping,Ht as NormalAnimationBlendMode,y as NormalBlending,q as NotEqualDepth,pn as NotEqualStencilFunc,NumberKeyframeTrack,Object3D,ObjectLoader,Kt as ObjectSpaceNormalMap,OctahedronGeometry as OctahedronBufferGeometry,OctahedronGeometry,C as OneFactor,V as OneMinusDstAlphaFactor,U as OneMinusDstColorFactor,D as OneMinusSrcAlphaFactor,P as OneMinusSrcColorFactor,OrthographicCamera,l as PCFShadowMap,c as PCFSoftShadowMap,PMREMGenerator,ParametricGeometry,Particle,ParticleBasicMaterial,ParticleSystem,ParticleSystemMaterial,Path,PerspectiveCamera,Plane,PlaneGeometry as PlaneBufferGeometry,PlaneGeometry,PlaneHelper,PointCloud,PointCloudMaterial,PointLight,PointLightHelper,Points,PointsMaterial,PolarGridHelper,PolyhedronGeometry as PolyhedronBufferGeometry,PolyhedronGeometry,PositionalAudio,PropertyBinding,PropertyMixer,QuadraticBezierCurve,QuadraticBezierCurve3,Quaternion,QuaternionKeyframeTrack,QuaternionLinearInterpolant,e as REVISION,Zt as RGBADepthPacking,Ne as RGBAFormat,qe as RGBAIntegerFormat,mt as RGBA_ASTC_10x10_Format,dt as RGBA_ASTC_10x5_Format,pt as RGBA_ASTC_10x6_Format,ft as RGBA_ASTC_10x8_Format,gt as RGBA_ASTC_12x10_Format,yt as RGBA_ASTC_12x12_Format,it as RGBA_ASTC_4x4_Format,st as RGBA_ASTC_5x4_Format,at as RGBA_ASTC_5x5_Format,ot as RGBA_ASTC_6x5_Format,lt as RGBA_ASTC_6x6_Format,ct as RGBA_ASTC_8x5_Format,ut as RGBA_ASTC_8x6_Format,ht as RGBA_ASTC_8x8_Format,vt as RGBA_BPTC_Format,rt as RGBA_ETC2_EAC_Format,et as RGBA_PVRTC_2BPPV1_Format,$e as RGBA_PVRTC_4BPPV1_Format,Je as RGBA_S3TC_DXT1_Format,Ye as RGBA_S3TC_DXT3_Format,Ze as RGBA_S3TC_DXT5_Format,Ve as RGBFormat,je as RGBIntegerFormat,tt as RGB_ETC1_Format,nt as RGB_ETC2_Format,Ke as RGB_PVRTC_2BPPV1_Format,Qe as RGB_PVRTC_4BPPV1_Format,Xe as RGB_S3TC_DXT1_Format,ke as RGFormat,We as RGIntegerFormat,RawShaderMaterial,Ray,Raycaster,RectAreaLight,Oe as RedFormat,He as RedIntegerFormat,K as ReinhardToneMapping,ce as RepeatWrapping,tn as ReplaceStencilOp,T as ReverseSubtractEquation,RingGeometry as RingBufferGeometry,RingGeometry,Rt as SRGB8_ALPHA8_ASTC_10x10_Format,At as SRGB8_ALPHA8_ASTC_10x5_Format,Lt as SRGB8_ALPHA8_ASTC_10x6_Format,Ct as SRGB8_ALPHA8_ASTC_10x8_Format,Pt as SRGB8_ALPHA8_ASTC_12x10_Format,It as SRGB8_ALPHA8_ASTC_12x12_Format,xt as SRGB8_ALPHA8_ASTC_4x4_Format,bt as SRGB8_ALPHA8_ASTC_5x4_Format,_t as SRGB8_ALPHA8_ASTC_5x5_Format,Mt as SRGB8_ALPHA8_ASTC_6x5_Format,wt as SRGB8_ALPHA8_ASTC_6x6_Format,St as SRGB8_ALPHA8_ASTC_8x5_Format,Tt as SRGB8_ALPHA8_ASTC_8x6_Format,Et as SRGB8_ALPHA8_ASTC_8x8_Format,Scene,Oc as SceneUtils,Qa as ShaderChunk,$a as ShaderLib,ShaderMaterial,ShadowMaterial,Shape,ShapeGeometry as ShapeBufferGeometry,ShapeGeometry,ShapePath,ShapeUtils,Se as ShortType,Skeleton,SkeletonHelper,SkinnedMesh,m as SmoothShading,Sphere,SphereGeometry as SphereBufferGeometry,SphereGeometry,Spherical,SphericalHarmonics3,SplineCurve,SpotLight,SpotLightHelper,Sprite,SpriteMaterial,I as SrcAlphaFactor,z as SrcAlphaSaturateFactor,R as SrcColorFactor,Mn as StaticCopyUsage,gn as StaticDrawUsage,xn as StaticReadUsage,StereoCamera,Sn as StreamCopyUsage,vn as StreamDrawUsage,_n as StreamReadUsage,StringKeyframeTrack,S as SubtractEquation,b as SubtractiveBlending,n as TOUCH,Qt as TangentSpaceNormalMap,TetrahedronGeometry as TetrahedronBufferGeometry,TetrahedronGeometry,TextGeometry,Texture,TextureLoader,TorusGeometry as TorusBufferGeometry,TorusGeometry,TorusKnotGeometry as TorusKnotBufferGeometry,TorusKnotGeometry,Triangle,qt as TriangleFanDrawMode,jt as TriangleStripDrawMode,Wt as TrianglesDrawMode,TubeGeometry as TubeBufferGeometry,TubeGeometry,ne as UVMapping,Uint16Attribute,Uint16BufferAttribute,Uint32Attribute,Uint32BufferAttribute,Uint8Attribute,Uint8BufferAttribute,Uint8ClampedAttribute,Uint8ClampedBufferAttribute,Uniform,Ka as UniformsLib,mi as UniformsUtils,Me as UnsignedByteType,De as UnsignedInt248Type,Ae as UnsignedIntType,Re as UnsignedShort4444Type,Pe as UnsignedShort5551Type,Ie as UnsignedShort565Type,Te as UnsignedShortType,u as VSMShadowMap,Vector2,Vector3,Vector4,VectorKeyframeTrack,Vertex,Fc as VertexColors,VideoTexture,WebGL1Renderer,WebGLCubeRenderTarget,WebGLMultipleRenderTargets,WebGLMultisampleRenderTarget,WebGLRenderTarget,WebGLRenderTargetCube,WebGLRenderer,WebGLUtils,WireframeGeometry,WireframeHelper,Ot as WrapAroundEnding,XHRLoader,Gt as ZeroCurvatureEnding,L as ZeroFactor,Ft as ZeroSlopeEnding,$t as ZeroStencilOp,Jt as sRGBEncoding};\n\n//# sourceMappingURL=three.module.js.map","export const shaderInputs=`\nuniform float iTime;\nuniform vec3 iResolution;\nvarying vec2 vUv;\nuniform float iTimeDelta;\nuniform vec4 iMouse;\nuniform sampler2D iChannel0;\n`;export const mainFunction=`\nvoid main() {\n    mainImage(gl_FragColor, vUv * iResolution.xy);\n}\n`;export const vertexShaderSource=`\nvarying vec2 vUv;\nvoid main() {\n    vUv = uv;\n    gl_Position = vec4(position, 1.0);\n}\n`;export const fragmentShaderSource=[{title:\"Warped Mandelbrot Set\",author:\"Stephane Cuillerdier - Aiekick/2024 (twitter:@aiekick)\",originalURL:\"https://www.shadertoy.com/view/MflBzj\",value:`\n\n#define AA 2\n#define PETALS_COUNT 4.0\n#define WARP_FACTOR 5.0\n#define BUMP_FACTOR 0.03\n#define FRACTAL_POWER 2\n\nvec2 zmul(vec2 a, vec2 b){return mat2(a,-a.y,a.x)*b;} // z * z \nvec2 zinv(vec2 a){return vec2(a.x, -a.y) / dot(a,a);} // 1 / z\nvec2 zpow(vec2 a, int p) {vec2 r=a;for(int i=1;i<p;++i) r=zmul(r, r);return r;} // z ^ p\n\nvec3 sdf(vec2 p, float t) {\n    // position\n    if (FRACTAL_POWER < 3) p.y += 0.15; \n    else if (FRACTAL_POWER < 4) p.y -= 0.35;  \n    else p.y -= 0.5;  \n    \n     // 90\\xb0 rotation\n    const float a = 1.57;\n    p *= mat2(cos(a),-sin(a),sin(a),cos(a));\n    \n    // mandelbrot\n    vec2 z = vec2(0);\n    for (float i=0.;i<15.0;i++){\n        z = zpow(z,FRACTAL_POWER) + p - vec2(0.5,0.);\n        if (dot(z,z) > 4.0) {\n            break;\n        }\n    }\n    \n    // sdf\n    float d = dot(z,z);\n    float sdf = 1.0 - sqrt(d) * log(d);\n    \n    // warped flower\n    z = vec2(atan(z.x,z.y), length(z * 5.0));\n    float warpFactor = 5.0;\n    for (int i=0; i<3; i++) {\n        z.y += cos(z.x * PETALS_COUNT - t) / 3.0;\n        z.x += sin(z.y * WARP_FACTOR - t * 2.0) / 3.0;\n    }\n    z = vec2(cos(z.x), sin(z.x)) * z.y;\n    z = abs(fract(z) - 0.5);\n    return smoothstep(0.0, 1.0, sdf + 1.0) * vec3(length(z), z);\n}\n\nvec4 render(in vec2 v, in vec2 o) {\n    // time\n    float t = iTime * 0.5;\n    \n    // point\n    vec2 uv = (v+v+o - iResolution.xy)/min(iResolution.x, iResolution.y) * 1.2;\n    \n    // ray dir\n    vec3 rd = normalize(vec3(uv, 1.0));\n    \n    // light point\n    vec3 lp = vec3(0.0, 0.0, -2.);\n    \n    // normal\n    vec2 eps = vec2(7.5/iResolution.y, 0.0);\n    vec3 f = sdf(uv, t);\n    float fx = (sdf(uv-eps.xy, t).x-f.x)/eps.x;\n    float fy = (sdf(uv-eps.yx, t).x-f.x)/eps.x;\n    vec3 n = normalize(vec3(vec2(fx, fy) * BUMP_FACTOR, -1.0));\n    \n    // light attenuation\n    vec3 ld = lp - vec3(uv, 0.0);\n    float lDist = max(length(ld), 0.001);\n    ld /= lDist;\n    float atten = (f.x * 0.9 + 0.1)/(1.0 + lDist * lDist * 0.15);\n    \n    // diffuse\n    float diff = max(dot(n, ld), 0.0);\n    diff = pow(diff, 4.0) * 0.7 + pow(diff, 8.0) * 0.3;\n    \n    // specular\n    float spec = pow(max(dot( reflect(-ld, n), -rd), 0.0), 32.0);\n    \n    // final color\n    vec3 col = clamp(sin(vec3(8,12,10) + iTime) * 0.5 + 1.0, 0.0, 1.0);\n    col = (col * (diff * pow(col, vec3(4.0)) * 2.0 + 0.5) + vec3(1.0) * spec * 2.0)*atten;\n    \n    // gamma corection\n    col = clamp(sqrt(col), 0.0, 1.0);\n    return vec4(col, 1.0);\n}\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoord) {\n    fragColor = vec4(0);\n    \n    // anti aliasing\n    const float AAf = float(AA);\n    for(int i=0;i<AA;i++) {\n        for(int j=0;j<AA;j++) {\n            fragColor += render(gl_FragCoord.xy, vec2(i,j) / AAf);\n        }\n    }\n    fragColor /= AAf * AAf;\n     fragColor.a = 1.0;\n}\n`},{title:\"UI noise halo\",author:\"magician0809\",originalURL:\"https://www.shadertoy.com/view/3tBGRm\",value:`\n  \nvec3 hash33(vec3 p3)\n{\n\tp3 = fract(p3 * vec3(.1031,.11369,.13787));\n    p3 += dot(p3, p3.yxz+19.19);\n    return -1.0 + 2.0 * fract(vec3(p3.x+p3.y, p3.x+p3.z, p3.y+p3.z)*p3.zyx);\n}\n\nfloat snoise3(vec3 p)\n{\n    const float K1 = 0.333333333;\n    const float K2 = 0.166666667;\n    vec3 i = floor(p + (p.x + p.y + p.z) * K1);\n    vec3 d0 = p - (i - (i.x + i.y + i.z) * K2);\n    vec3 e = step(vec3(0.0), d0 - d0.yzx);\n    vec3 i1 = e * (1.0 - e.zxy);\n    vec3 i2 = 1.0 - e.zxy * (1.0 - e);\n    vec3 d1 = d0 - (i1 - K2);\n    vec3 d2 = d0 - (i2 - K1);\n    vec3 d3 = d0 - 0.5;\n    vec4 h = max(0.6 - vec4(dot(d0, d0), dot(d1, d1), dot(d2, d2), dot(d3, d3)), 0.0);\n    vec4 n = h * h * h * h * vec4(dot(d0, hash33(i)), dot(d1, hash33(i + i1)), dot(d2, hash33(i + i2)), dot(d3, hash33(i + 1.0)));\n    return dot(vec4(31.316), n);\n}\n\nvec4 extractAlpha(vec3 colorIn)\n{\n    vec4 colorOut;\n    float maxValue = min(max(max(colorIn.r, colorIn.g), colorIn.b), 1.0);\n    if (maxValue > 1e-5)\n    {\n        colorOut.rgb = colorIn.rgb * (1.0 / maxValue);\n        colorOut.a = maxValue;\n    }\n    else\n    {\n        colorOut = vec4(0.0);\n    }\n    return colorOut;\n}\n\n  #define BG_COLOR (vec3(sin(iTime)*0.5+0.5) * 0.0 + vec3(0.0))\n  #define time iTime\n  const vec3 color1 = vec3(0.611765, 0.262745, 0.996078);\n  const vec3 color2 = vec3(0.298039, 0.760784, 0.913725);\n  const vec3 color3 = vec3(0.062745, 0.078431, 0.600000);\n  const float innerRadius = 0.6;\n  const float noiseScale = 0.65;\n  float light1(float intensity, float attenuation, float dist)\n  {\n      return intensity / (1.0 + dist * attenuation);\n  }\n  float light2(float intensity, float attenuation, float dist)\n  {\n      return intensity / (1.0 + dist * dist * attenuation);\n  }\n\n  void draw( out vec4 _FragColor, in vec2 vUv )\n  {\n      vec2 uv = vUv;\n      float ang = atan(uv.y, uv.x);\n      float len = length(uv);\n      float v0, v1, v2, v3, cl;\n      float r0, d0, n0;\n      float r, d;\n      \n      // ring\n      n0 = snoise3( vec3(uv * noiseScale, time * 0.5) ) * 0.5 + 0.5;\n      r0 = mix(mix(innerRadius, 1.0, 0.4), mix(innerRadius, 1.0, 0.6), n0);\n      d0 = distance(uv, r0 / len * uv);\n      v0 = light1(1.0, 10.0, d0);\n      v0 *= smoothstep(r0 * 1.05, r0, len);\n      cl = cos(ang + time * 2.0) * 0.5 + 0.5;\n      \n      // high light\n      float a = time * -1.0;\n      vec2 pos = vec2(cos(a), sin(a)) * r0;\n      d = distance(uv, pos);\n      v1 = light2(1.5, 5.0, d);\n      v1 *= light1(1.0, 50.0 , d0);\n      \n      // back decay\n      v2 = smoothstep(1.0, mix(innerRadius, 1.0, n0 * 0.5), len);\n      \n      // hole\n      v3 = smoothstep(innerRadius, mix(innerRadius, 1.0, 0.5), len);\n      \n      // color\n      vec3 c = mix(color1, color2, cl);\n      vec3 col = mix(color1, color2, cl);\n      col = mix(color3, col, v0);\n      col = (col + v1) * v2 * v3;\n      col.rgb = clamp(col.rgb, 0.0, 1.0);\n      \n      //gl_FragColor = extractAlpha(col);\n      _FragColor = extractAlpha(col);\n  }\n\n  void mainImage( out vec4 fragColor, in vec2 fragCoord )\n  {\n      vec2 uv = (fragCoord*2.-iResolution.xy)/iResolution.y;\n      vec4 col;\n      draw(col, uv);\n      vec3 bg = BG_COLOR;\n      fragColor.rgb = mix(bg, col.rgb, col.a); //normal blend\n          fragColor.a = 1.0;\n  }\n\n`},{title:\"Realm\",author:\"kishimisu\",originalURL:\"https://www.shadertoy.com/view/mtyGWy\",value:`\n  \nvec3 palette( float t ) {\n    vec3 a = vec3(0.5, 0.5, 0.5);\n    vec3 b = vec3(0.5, 0.5, 0.5);\n    vec3 c = vec3(1.0, 1.0, 1.0);\n    vec3 d = vec3(0.263,0.416,0.557);\n\n    return a + b*cos( 6.28318*(c*t+d) );\n}\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) {\n    vec2 uv = (fragCoord * 2.0 - iResolution.xy) / iResolution.y;\n    vec2 uv0 = uv;\n    vec3 finalColor = vec3(0.0);\n    for (float i = 0.0; i < 4.0; i++) {\n        uv = fract(uv * 1.5) - 0.5;\n        float d = length(uv) * exp(-length(uv0));\n        vec3 col = palette(length(uv0) + i*.4 + iTime*.4);\n        d = sin(d*8. + iTime)/8.;\n        d = abs(d);\n        d = pow(0.01 / d, 1.2);\n        finalColor += col * d;\n    }\n    fragColor = vec4(finalColor, 1.0);\n}\n`},{title:\"Fractal Pyramid\",author:\"bradjamesgrant\",originalURL:\"https://www.shadertoy.com/view/tsXBzS\",value:`\n\nvec3 palette(float d){\n\treturn mix(vec3(0.2,0.7,0.9),vec3(1.,0.,1.),d);\n}\n\nvec2 rotate(vec2 p,float a){\n\tfloat c = cos(a);\n    float s = sin(a);\n    return p*mat2(c,s,-s,c);\n}\n\nfloat map(vec3 p){\n    for( int i = 0; i<8; ++i){\n        float t = iTime*0.2;\n        p.xz =rotate(p.xz,t);\n        p.xy =rotate(p.xy,t*1.89);\n        p.xz = abs(p.xz);\n        p.xz-=.5;\n\t}\n\treturn dot(sign(p),p)/5.;\n}\n\nvec4 rm (vec3 ro, vec3 rd){\n    float t = 0.;\n    vec3 col = vec3(0.);\n    float d;\n    for(float i =0.; i<64.; i++){\n\t\tvec3 p = ro + rd*t;\n        d = map(p)*.5;\n        if(d<0.02){\n            break;\n        }\n        if(d>100.){\n        \tbreak;\n        }\n        //col+=vec3(0.6,0.8,0.8)/(400.*(d));\n        col+=palette(length(p)*.1)/(400.*(d));\n        t+=d;\n    }\n    return vec4(col,1./(d*100.));\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    vec2 uv = (fragCoord-(iResolution.xy/2.))/iResolution.x;\n\t  vec3 ro = vec3(0.,0.,-50.);\n    ro.xz = rotate(ro.xz,iTime);\n    vec3 cf = normalize(-ro);\n    vec3 cs = normalize(cross(cf,vec3(0.,1.,0.)));\n    vec3 cu = normalize(cross(cf,cs));\n    vec3 uuv = ro+cf*3. + uv.x*cs + uv.y*cu;\n    vec3 rd = normalize(uuv-ro);\n    vec4 col = rm(ro,rd);\n    fragColor = col;\n    fragColor.a = 1.0;\n}\n\n`},{title:\"Octagrams\",author:\"whisky_shusuky\",originalURL:\"https://www.shadertoy.com/view/tlVGDt\",value:`\n\nprecision highp float;\n\nfloat gTime = 0.;\nconst float REPEAT = 5.0;\n\nmat2 rot(float a) {\n\tfloat c = cos(a), s = sin(a);\n\treturn mat2(c,s,-s,c);\n}\n\nfloat sdBox( vec3 p, vec3 b )\n{\n\tvec3 q = abs(p) - b;\n\treturn length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0);\n}\n\nfloat box(vec3 pos, float scale) {\n\tpos *= scale;\n\tfloat base = sdBox(pos, vec3(.4,.4,.1)) /1.5;\n\tpos.xy *= 5.;\n\tpos.y -= 3.5;\n\tpos.xy *= rot(.75);\n\tfloat result = -base;\n\treturn result;\n}\n\nfloat box_set(vec3 pos, float iTime) {\n\tvec3 pos_origin = pos;\n\tpos = pos_origin;\n\tpos .y += sin(gTime * 0.4) * 2.5;\n\tpos.xy *=   rot(.8);\n\tfloat box1 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);\n\tpos = pos_origin;\n\tpos .y -=sin(gTime * 0.4) * 2.5;\n\tpos.xy *=   rot(.8);\n\tfloat box2 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);\n\tpos = pos_origin;\n\tpos .x +=sin(gTime * 0.4) * 2.5;\n\tpos.xy *=   rot(.8);\n\tfloat box3 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);\t\n\tpos = pos_origin;\n\tpos .x -=sin(gTime * 0.4) * 2.5;\n\tpos.xy *=   rot(.8);\n\tfloat box4 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);\t\n\tpos = pos_origin;\n\tpos.xy *=   rot(.8);\n\tfloat box5 = box(pos,.5) * 6.;\t\n\tpos = pos_origin;\n\tfloat box6 = box(pos,.5) * 6.;\t\n\tfloat result = max(max(max(max(max(box1,box2),box3),box4),box5),box6);\n\treturn result;\n}\n\nfloat map(vec3 pos, float iTime) {\n\tvec3 pos_origin = pos;\n\tfloat box_set1 = box_set(pos, iTime);\n\treturn box_set1;\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) {\n\tvec2 p = (fragCoord.xy * 2. - iResolution.xy) / min(iResolution.x, iResolution.y);\n\tvec3 ro = vec3(0., -0.2 ,iTime * 4.);\n\tvec3 ray = normalize(vec3(p, 1.5));\n\tray.xy = ray.xy * rot(sin(iTime * .03) * 5.);\n\tray.yz = ray.yz * rot(sin(iTime * .05) * .2);\n\tfloat t = 0.1;\n\tvec3 col = vec3(0.);\n\tfloat ac = 0.0;\n\tfor (int i = 0; i < 99; i++){\n\t\tvec3 pos = ro + ray * t;\n\t\tpos = mod(pos-2., 4.) -2.;\n\t\tgTime = iTime -float(i) * 0.01;\n\t\tfloat d = map(pos, iTime);\n\t\td = max(abs(d), 0.01);\n\t\tac += exp(-d*23.);\n\t\tt += d* 0.55;\n\t}\n\tcol = vec3(ac * 0.02);\n\tcol +=vec3(0.,0.2 * abs(sin(iTime)),0.5 + sin(iTime) * 0.2);\n\tfragColor = vec4(col ,1.0 - t * (0.02 + 0.02 * sin (iTime)));\n}\n\n`},{title:\"Let's self reflect\",author:\"mrange\",originalURL:\"https://www.shadertoy.com/view/XfyXRV\",value:`\n\n// Tinker with these parameters to create different solids\n// -------------------------------------------------------\nconst float rotation_speed= 0.25;\nconst float poly_U        = 1.;   // [0, inf]\nconst float poly_V        = 0.5;  // [0, inf]\nconst float poly_W        = 1.0;  // [0, inf]\nconst int   poly_type     = 3;    // [2, 5]\nconst float poly_zoom     = 2.0;\nconst float inner_sphere  = 1.;\nconst float refr_index    = 0.9;\n#define MAX_BOUNCES2        6\n// -------------------------------------------------------\n#define TIME        iTime\n#define RESOLUTION  iResolution\n#define PI          3.141592654\n#define TAU         (2.0*PI)\n\n// License: WTFPL, author: sam hocevar, found: https://stackoverflow.com/a/17897228/418488\nconst vec4 hsv2rgb_K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);\nvec3 hsv2rgb(vec3 c) {\n  vec3 p = abs(fract(c.xxx + hsv2rgb_K.xyz) * 6.0 - hsv2rgb_K.www);\n  return c.z * mix(hsv2rgb_K.xxx, clamp(p - hsv2rgb_K.xxx, 0.0, 1.0), c.y);\n}\n\n// License: WTFPL, author: sam hocevar, found: https://stackoverflow.com/a/17897228/418488\n//  Macro version of above to enable compile-time constants\n#define HSV2RGB(c)  (c.z * mix(hsv2rgb_K.xxx, clamp(abs(fract(c.xxx + hsv2rgb_K.xyz) * 6.0 - hsv2rgb_K.www) - hsv2rgb_K.xxx, 0.0, 1.0), c.y))\n\n#define TOLERANCE2          0.0005\n//#define MAX_RAY_LENGTH2   10.0\n#define MAX_RAY_MARCHES2    50\n#define NORM_OFF2           0.005\n#define BACKSTEP2\n#define TOLERANCE3          0.0005\n#define MAX_RAY_LENGTH3     10.0\n#define MAX_RAY_MARCHES3    90\n#define NORM_OFF3           0.005\nconst vec3 rayOrigin    = vec3(0.0, 1., -5.);\nconst vec3 sunDir       = normalize(-rayOrigin);\nconst vec3 sunCol       = HSV2RGB(vec3(0.06 , 0.90, 1E-2))*1.;\nconst vec3 bottomBoxCol = HSV2RGB(vec3(0.66, 0.80, 0.5))*1.;\nconst vec3 topBoxCol    = HSV2RGB(vec3(0.60, 0.90, 1.))*1.;\nconst vec3 glowCol0     = HSV2RGB(vec3(0.05 , 0.7, 1E-3))*1.;\nconst vec3 glowCol1     = HSV2RGB(vec3(0.95, 0.7, 1E-3))*1.;\nconst vec3 beerCol      = -HSV2RGB(vec3(0.15+0.5, 0.7, 2.)); \nconst float rrefr_index = 1./refr_index;\n\n// License: Unknown, author: knighty, found: https://www.shadertoy.com/view/MsKGzw\nconst float poly_cospin   = cos(PI/float(poly_type));\nconst float poly_scospin  = sqrt(0.75-poly_cospin*poly_cospin);\nconst vec3  poly_nc       = vec3(-0.5, -poly_cospin, poly_scospin);\nconst vec3  poly_pab      = vec3(0., 0., 1.);\nconst vec3  poly_pbc_     = vec3(poly_scospin, 0., 0.5);\nconst vec3  poly_pca_     = vec3(0., poly_scospin, poly_cospin);\nconst vec3  poly_p        = normalize((poly_U*poly_pab+poly_V*poly_pbc_+poly_W*poly_pca_));\nconst vec3  poly_pbc      = normalize(poly_pbc_);\nconst vec3  poly_pca      = normalize(poly_pca_);\nmat3 g_rot;\nvec2 g_gd;\n\n// License: MIT, author: Inigo Quilez, found: https://iquilezles.org/articles/noacos/\nmat3 rot(vec3 d, vec3 z) {\n  vec3  v = cross( z, d );\n  float c = dot( z, d );\n  float k = 1.0/(1.0+c);\n  return mat3( v.x*v.x*k + c,     v.y*v.x*k - v.z,    v.z*v.x*k + v.y,\n               v.x*v.y*k + v.z,   v.y*v.y*k + c,      v.z*v.y*k - v.x,\n               v.x*v.z*k - v.y,   v.y*v.z*k + v.x,    v.z*v.z*k + c    );\n}\n\n// License: Unknown, author: Matt Taylor (https://github.com/64), found: https://64.github.io/tonemapping/\nvec3 aces_approx(vec3 v) {\n  v = max(v, 0.0);\n  v *= 0.6;\n  float a = 2.51;\n  float b = 0.03;\n  float c = 2.43;\n  float d = 0.59;\n  float e = 0.14;\n  return clamp((v*(a*v+b))/(v*(c*v+d)+e), 0.0, 1.0);\n}\n\nfloat sphere(vec3 p, float r) {\n  return length(p) - r;\n}\n\n// License: MIT, author: Inigo Quilez, found: https://iquilezles.org/articles/distfunctions/\nfloat box(vec2 p, vec2 b) {\n  vec2 d = abs(p)-b;\n  return length(max(d,0.0)) + min(max(d.x,d.y),0.0);\n}\n\n// License: Unknown, author: knighty, found: https://www.shadertoy.com/view/MsKGzw\nvoid poly_fold(inout vec3 pos) {\n  vec3 p = pos;\n  for(int i = 0; i < poly_type; ++i){\n    p.xy  = abs(p.xy);\n    p    -= 2.*min(0., dot(p,poly_nc)) * poly_nc;\n  }\n  pos = p;\n}\n\nfloat poly_plane(vec3 pos) {\n  float d0 = dot(pos, poly_pab);\n  float d1 = dot(pos, poly_pbc);\n  float d2 = dot(pos, poly_pca);\n  float d = d0;\n  d = max(d, d1);\n  d = max(d, d2);\n  return d;\n}\n\nfloat poly_corner(vec3 pos) {\n  float d = length(pos) - .0125;\n  return d;\n}\n\nfloat dot2(vec3 p) {\n  return dot(p, p);\n}\n\nfloat poly_edge(vec3 pos) {\n  float dla = dot2(pos-min(0., pos.x)*vec3(1., 0., 0.));\n  float dlb = dot2(pos-min(0., pos.y)*vec3(0., 1., 0.));\n  float dlc = dot2(pos-min(0., dot(pos, poly_nc))*poly_nc);\n  return sqrt(min(min(dla, dlb), dlc))-2E-3;\n}\n\nvec3 shape(vec3 pos) {\n  pos *= g_rot;\n  pos /= poly_zoom;\n  poly_fold(pos);\n  pos -= poly_p;\n  return vec3(poly_plane(pos), poly_edge(pos), poly_corner(pos))*poly_zoom;\n}\n\nvec3 render0(vec3 ro, vec3 rd) {\n  vec3 col = vec3(0.0);\n  float srd  = sign(rd.y);\n  float tp   = -(ro.y-6.)/abs(rd.y);\n  if (srd < 0.) {\n    col += bottomBoxCol*exp(-0.5*(length((ro + tp*rd).xz)));\n  }\n  if (srd > 0.0) {\n    vec3 pos  = ro + tp*rd;\n    vec2 pp = pos.xz;\n    float db = box(pp, vec2(5.0, 9.0))-3.0;\n    col += topBoxCol*rd.y*rd.y*smoothstep(0.25, 0.0, db);\n    col += 0.2*topBoxCol*exp(-0.5*max(db, 0.0));\n    col += 0.05*sqrt(topBoxCol)*max(-db, 0.0);\n  }\n  col += sunCol/(1.001-dot(sunDir, rd));\n  return col; \n}\n\nfloat df2(vec3 p) {\n  vec3 ds = shape(p);\n  float d2 = ds.y-5E-3;\n  float d0 = min(-ds.x, d2);\n  float d1 = sphere(p, inner_sphere);\n  g_gd = min(g_gd, vec2(d2, d1));\n  float d = (min(d0, d1));\n  return d;\n}\n\nfloat rayMarch2(vec3 ro, vec3 rd, float tinit) {\n  float t = tinit;\n#if defined(BACKSTEP2)\n  vec2 dti = vec2(1e10,0.0);\n#endif\n  int i;\n  for (i = 0; i < MAX_RAY_MARCHES2; ++i) {\n    float d = df2(ro + rd*t);\n#if defined(BACKSTEP2)\n    if (d<dti.x) { dti=vec2(d,t); }\n#endif  \n    // Bouncing in a closed shell, will never miss\n    if (d < TOLERANCE2/* || t > MAX_RAY_LENGTH3 */) {\n      break;\n    }\n    t += d;\n  }\n#if defined(BACKSTEP2)\n  if(i==MAX_RAY_MARCHES2) { t=dti.y; };\n#endif  \n  return t;\n}\n\nvec3 normal2(vec3 pos) {\n  vec2  eps = vec2(NORM_OFF2,0.0);\n  vec3 nor;\n  nor.x = df2(pos+eps.xyy) - df2(pos-eps.xyy);\n  nor.y = df2(pos+eps.yxy) - df2(pos-eps.yxy);\n  nor.z = df2(pos+eps.yyx) - df2(pos-eps.yyx);\n  return normalize(nor);\n}\n\nvec3 render2(vec3 ro, vec3 rd, float db) {\n  vec3 agg = vec3(0.0);\n  float ragg = 1.;\n  float tagg = 0.;\n  for (int bounce = 0; bounce < MAX_BOUNCES2; ++bounce) {\n    if (ragg < 0.1) break;\n    g_gd      = vec2(1E3);\n    float t2  = rayMarch2(ro, rd, min(db+0.05, 0.3));\n    vec2 gd2  = g_gd;\n    tagg      += t2;\n    vec3 p2   = ro+rd*t2;\n    vec3 n2   = normal2(p2);\n    vec3 r2   = reflect(rd, n2);\n    vec3 rr2  = refract(rd, n2, rrefr_index);\n    float fre2= 1.+dot(n2,rd);\n    vec3 beer = ragg*exp(0.2*beerCol*tagg);\n    agg += glowCol1*beer*((1.+tagg*tagg*4E-2)*6./max(gd2.x, 5E-4+tagg*tagg*2E-4/ragg));\n    vec3 ocol = 0.2*beer*render0(p2, rr2);\n    if (gd2.y <= TOLERANCE2) {\n      ragg *= 1.-0.9*fre2;\n    } else {\n      agg     += ocol;\n      ragg    *= 0.8;\n    }\n    ro        = p2;\n    rd        = r2;\n    db        = gd2.x; \n  }\n  return agg;\n}\n\nfloat df3(vec3 p) {\n  vec3 ds = shape(p);\n  g_gd = min(g_gd, ds.yz);\n  const float sw = 0.02;\n  float d1 = min(ds.y, ds.z)-sw;\n  float d0 = ds.x;\n  d0 = min(d0, ds.y);\n  d0 = min(d0, ds.z);\n  return d0;\n}\n\nfloat rayMarch3(vec3 ro, vec3 rd, float tinit, out int iter) {\n  float t = tinit;\n  int i;\n  for (i = 0; i < MAX_RAY_MARCHES3; ++i) {\n    float d = df3(ro + rd*t);\n    if (d < TOLERANCE3 || t > MAX_RAY_LENGTH3) {\n      break;\n    }\n    t += d;\n  }\n  iter = i;\n  return t;\n}\n\nvec3 normal3(vec3 pos) {\n  vec2  eps = vec2(NORM_OFF3,0.0);\n  vec3 nor;\n  nor.x = df3(pos+eps.xyy) - df3(pos-eps.xyy);\n  nor.y = df3(pos+eps.yxy) - df3(pos-eps.yxy);\n  nor.z = df3(pos+eps.yyx) - df3(pos-eps.yyx);\n  return normalize(nor);\n}\n\nvec3 render3(vec3 ro, vec3 rd) {\n  int iter;\n  vec3 skyCol = render0(ro, rd);\n  vec3 col  = skyCol;\n  g_gd      = vec2(1E3);\n  float t1  = rayMarch3(ro, rd, 0.1, iter);\n  vec2 gd1  = g_gd;\n  vec3 p1   = ro+t1*rd;\n  vec3 n1   = normal3(p1);\n  vec3 r1   = reflect(rd, n1);\n  vec3 rr1  = refract(rd, n1, refr_index);\n  float fre1= 1.+dot(rd, n1);\n  fre1 *= fre1;\n  float ifo = mix(0.5, 1., smoothstep(1.0, 0.9, float(iter)/float(MAX_RAY_MARCHES3)));\n  if (t1 < MAX_RAY_LENGTH3) {\n    col = render0(p1, r1)*(0.5+0.5*fre1)*ifo;\n    vec3 icol = render2(p1, rr1, gd1.x); \n    if (gd1.x > TOLERANCE3 && gd1.y > TOLERANCE3 && rr1 != vec3(0.)) {\n      col += icol*(1.-0.75*fre1)*ifo;\n    }\n  }\n  col += (glowCol0+1.*fre1*(glowCol0))/max(gd1.x, 3E-4);\n  return col;\n}\n\nvec3 effect(vec2 p, vec2 pp) {\n  const float fov = 2.0;\n  const vec3 up = vec3(0., 1., 0.);\n  const vec3 la   = vec3(0.0);\n  const vec3 ww = normalize(normalize(la-rayOrigin));\n  const vec3 uu = normalize(cross(up, ww));\n  const vec3 vv = cross(ww, uu);\n  vec3 rd = normalize(-p.x*uu + p.y*vv + fov*ww);\n  vec3 col = vec3(0.0);\n  col = render3(rayOrigin, rd);\n  col -= 2E-2*vec3(2.,3.,1.)*(length(p)+0.25);\n  col = aces_approx(col);\n  col = sqrt(col);\n  return col;\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) {\n  vec2 q = fragCoord/RESOLUTION.xy;\n  vec2 p = -1. + 2. * q;\n  vec2 pp = p;\n  p.x *= RESOLUTION.x/RESOLUTION.y;\n  float a = TIME*rotation_speed;\n  vec3 r0 = vec3(1.0, sin(vec2(sqrt(0.5), 1.0)*a));\n  vec3 r1 = vec3(cos(vec2(sqrt(0.5), 1.0)*0.913*a), 1.0);\n  mat3 rot = rot(normalize(r0), normalize(r1));\n  g_rot = rot;\n  vec3 col = effect(p, pp);\n  fragColor = vec4(col, 1.0);\n}\n\n`},{title:\"Seascape\",author:\"Alexander Alekseev aka TDM - 2014\",originalURL:\"https://www.shadertoy.com/view/Ms2SD1\",value:`\n\nconst int NUM_STEPS = 8;\nconst float PI\t \t= 3.141592;\nconst float EPSILON\t= 1e-3;\n#define EPSILON_NRM (0.1 / iResolution.x)\n\n// sea\nconst int ITER_GEOMETRY = 3;\nconst int ITER_FRAGMENT = 5;\nconst float SEA_HEIGHT = 0.6;\nconst float SEA_CHOPPY = 4.0;\nconst float SEA_SPEED = 0.8;\nconst float SEA_FREQ = 0.16;\nconst vec3 SEA_BASE = vec3(0.0,0.09,0.18);\nconst vec3 SEA_WATER_COLOR = vec3(0.8,0.9,0.6)*0.6;\n#define SEA_TIME (1.0 + iTime * SEA_SPEED)\nconst mat2 octave_m = mat2(1.6,1.2,-1.2,1.6);\n\n// math\nmat3 fromEuler(vec3 ang) {\n\tvec2 a1 = vec2(sin(ang.x),cos(ang.x));\n    vec2 a2 = vec2(sin(ang.y),cos(ang.y));\n    vec2 a3 = vec2(sin(ang.z),cos(ang.z));\n    mat3 m;\n    m[0] = vec3(a1.y*a3.y+a1.x*a2.x*a3.x,a1.y*a2.x*a3.x+a3.y*a1.x,-a2.y*a3.x);\n\tm[1] = vec3(-a2.y*a1.x,a1.y*a2.y,a2.x);\n\tm[2] = vec3(a3.y*a1.x*a2.x+a1.y*a3.x,a1.x*a3.x-a1.y*a3.y*a2.x,a2.y*a3.y);\n\treturn m;\n}\nfloat hash( vec2 p ) {\n\tfloat h = dot(p,vec2(127.1,311.7));\t\n    return fract(sin(h)*43758.5453123);\n}\nfloat noise( in vec2 p ) {\n    vec2 i = floor( p );\n    vec2 f = fract( p );\t\n\tvec2 u = f*f*(3.0-2.0*f);\n    return -1.0+2.0*mix( mix( hash( i + vec2(0.0,0.0) ), \n                     hash( i + vec2(1.0,0.0) ), u.x),\n                mix( hash( i + vec2(0.0,1.0) ), \n                     hash( i + vec2(1.0,1.0) ), u.x), u.y);\n}\n\n// lighting\nfloat diffuse(vec3 n,vec3 l,float p) {\n    return pow(dot(n,l) * 0.4 + 0.6,p);\n}\nfloat specular(vec3 n,vec3 l,vec3 e,float s) {    \n    float nrm = (s + 8.0) / (PI * 8.0);\n    return pow(max(dot(reflect(e,n),l),0.0),s) * nrm;\n}\n\n// sky\nvec3 getSkyColor(vec3 e) {\n    e.y = (max(e.y,0.0)*0.8+0.2)*0.8;\n    return vec3(pow(1.0-e.y,2.0), 1.0-e.y, 0.6+(1.0-e.y)*0.4) * 1.1;\n}\n\n// sea\nfloat sea_octave(vec2 uv, float choppy) {\n    uv += noise(uv);        \n    vec2 wv = 1.0-abs(sin(uv));\n    vec2 swv = abs(cos(uv));    \n    wv = mix(wv,swv,wv);\n    return pow(1.0-pow(wv.x * wv.y,0.65),choppy);\n}\n\nfloat map(vec3 p) {\n    float freq = SEA_FREQ;\n    float amp = SEA_HEIGHT;\n    float choppy = SEA_CHOPPY;\n    vec2 uv = p.xz; uv.x *= 0.75;\n    \n    float d, h = 0.0;    \n    for(int i = 0; i < ITER_GEOMETRY; i++) {        \n    \td = sea_octave((uv+SEA_TIME)*freq,choppy);\n    \td += sea_octave((uv-SEA_TIME)*freq,choppy);\n        h += d * amp;        \n    \tuv *= octave_m; freq *= 1.9; amp *= 0.22;\n        choppy = mix(choppy,1.0,0.2);\n    }\n    return p.y - h;\n}\n\nfloat map_detailed(vec3 p) {\n    float freq = SEA_FREQ;\n    float amp = SEA_HEIGHT;\n    float choppy = SEA_CHOPPY;\n    vec2 uv = p.xz; uv.x *= 0.75;\n    float d, h = 0.0;    \n    for(int i = 0; i < ITER_FRAGMENT; i++) {        \n    \td = sea_octave((uv+SEA_TIME)*freq,choppy);\n    \td += sea_octave((uv-SEA_TIME)*freq,choppy);\n        h += d * amp;        \n    \tuv *= octave_m; freq *= 1.9; amp *= 0.22;\n        choppy = mix(choppy,1.0,0.2);\n    }\n    return p.y - h;\n}\n\nvec3 getSeaColor(vec3 p, vec3 n, vec3 l, vec3 eye, vec3 dist) {  \n    float fresnel = clamp(1.0 - dot(n,-eye), 0.0, 1.0);\n    fresnel = min(pow(fresnel,3.0), 0.5);\n    vec3 reflected = getSkyColor(reflect(eye,n));    \n    vec3 refracted = SEA_BASE + diffuse(n,l,80.0) * SEA_WATER_COLOR * 0.12; \n    vec3 color = mix(refracted,reflected,fresnel);\n    float atten = max(1.0 - dot(dist,dist) * 0.001, 0.0);\n    color += SEA_WATER_COLOR * (p.y - SEA_HEIGHT) * 0.18 * atten;\n    color += vec3(specular(n,l,eye,60.0));\n    return color;\n}\n\n// tracing\nvec3 getNormal(vec3 p, float eps) {\n    vec3 n;\n    n.y = map_detailed(p);    \n    n.x = map_detailed(vec3(p.x+eps,p.y,p.z)) - n.y;\n    n.z = map_detailed(vec3(p.x,p.y,p.z+eps)) - n.y;\n    n.y = eps;\n    return normalize(n);\n}\n\nfloat heightMapTracing(vec3 ori, vec3 dir, out vec3 p) {  \n    float tm = 0.0;\n    float tx = 1000.0;    \n    float hx = map(ori + dir * tx);\n    if(hx > 0.0) {\n        p = ori + dir * tx;\n        return tx;   \n    }\n    float hm = map(ori + dir * tm);    \n    float tmid = 0.0;\n    for(int i = 0; i < NUM_STEPS; i++) {\n        tmid = mix(tm,tx, hm/(hm-hx));                   \n        p = ori + dir * tmid;                   \n    \tfloat hmid = map(p);\n\t\tif(hmid < 0.0) {\n        \ttx = tmid;\n            hx = hmid;\n        } else {\n            tm = tmid;\n            hm = hmid;\n        }\n    }\n    return tmid;\n}\n\nvec3 getPixel(in vec2 coord, float time) {    \n    vec2 uv = coord / iResolution.xy;\n    uv = uv * 2.0 - 1.0;\n    uv.x *= iResolution.x / iResolution.y;    \n        \n    // ray\n    vec3 ang = vec3(sin(time*3.0)*0.1,sin(time)*0.2+0.3,time);    \n    vec3 ori = vec3(0.0,3.5,time*5.0);\n    vec3 dir = normalize(vec3(uv.xy,-2.0)); dir.z += length(uv) * 0.14;\n    dir = normalize(dir) * fromEuler(ang);\n    \n    // tracing\n    vec3 p;\n    heightMapTracing(ori,dir,p);\n    vec3 dist = p - ori;\n    vec3 n = getNormal(p, dot(dist,dist) * EPSILON_NRM);\n    vec3 light = normalize(vec3(0.0,1.0,0.8)); \n             \n    // color\n    return mix(\n        getSkyColor(dir),\n        getSeaColor(p,n,light,dir,dist),\n    \tpow(smoothstep(0.0,-0.02,dir.y),0.2));\n}\n\n// main\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) {\n    float time = iTime * 0.3 + iMouse.x*0.01;\n\t\n#ifdef AA\n    vec3 color = vec3(0.0);\n    for(int i = -1; i <= 1; i++) {\n        for(int j = -1; j <= 1; j++) {\n        \tvec2 uv = fragCoord+vec2(i,j)/3.0;\n    \t\tcolor += getPixel(uv, time);\n        }\n    }\n    color /= 9.0;\n#else\n    vec3 color = getPixel(fragCoord, time);\n#endif\n    \n    // post\n\tfragColor = vec4(pow(color,vec3(0.65)), 1.0);\n}\n`},{title:\"Protean clouds\",author:\"nimitz (twitter: @stormoid)\",originalURL:\"https://www.shadertoy.com/view/3l23Rh\",value:`\n \n\nmat2 rot(in float a){float c = cos(a), s = sin(a);return mat2(c,s,-s,c);}\nconst mat3 m3 = mat3(0.33338, 0.56034, -0.71817, -0.87887, 0.32651, -0.15323, 0.15162, 0.69596, 0.61339)*1.93;\nfloat mag2(vec2 p){return dot(p,p);}\nfloat linstep(in float mn, in float mx, in float x){ return clamp((x - mn)/(mx - mn), 0., 1.); }\nfloat prm1 = 0.;\nvec2 bsMo = vec2(0);\nvec2 disp(float t){ return vec2(sin(t*0.22)*1., cos(t*0.175)*1.)*2.; }\nvec2 map(vec3 p)\n{\n    vec3 p2 = p;\n    p2.xy -= disp(p.z).xy;\n    p.xy *= rot(sin(p.z+iTime)*(0.1 + prm1*0.05) + iTime*0.09);\n    float cl = mag2(p2.xy);\n    float d = 0.;\n    p *= .61;\n    float z = 1.;\n    float trk = 1.;\n    float dspAmp = 0.1 + prm1*0.2;\n    for(int i = 0; i < 5; i++)\n    {\n\t\tp += sin(p.zxy*0.75*trk + iTime*trk*.8)*dspAmp;\n        d -= abs(dot(cos(p), sin(p.yzx))*z);\n        z *= 0.57;\n        trk *= 1.4;\n        p = p*m3;\n    }\n    d = abs(d + prm1*3.)+ prm1*.3 - 2.5 + bsMo.y;\n    return vec2(d + cl*.2 + 0.25, cl);\n}\n\nvec4 render( in vec3 ro, in vec3 rd, float time )\n{\n\tvec4 rez = vec4(0);\n  const float ldst = 8.;\n\tvec3 lpos = vec3(disp(time + ldst)*0.5, time + ldst);\n\tfloat t = 1.5;\n\tfloat fogT = 0.;\n\tfor(int i=0; i<130; i++)\n\t{\n\t\tif(rez.a > 0.99)break;\n\t\tvec3 pos = ro + t*rd;\n    vec2 mpv = map(pos);\n\t\tfloat den = clamp(mpv.x-0.3,0.,1.)*1.12;\n\t\tfloat dn = clamp((mpv.x + 2.),0.,3.);\n\t\tvec4 col = vec4(0);\n    if (mpv.x > 0.6)\n    {\n    \n        col = vec4(sin(vec3(5.,0.4,0.2) + mpv.y*0.1 +sin(pos.z*0.4)*0.5 + 1.8)*0.5 + 0.5,0.08);\n        col *= den*den*den;\n        col.rgb *= linstep(4.,-2.5, mpv.x)*2.3;\n        float dif =  clamp((den - map(pos+.8).x)/9., 0.001, 1. );\n        dif += clamp((den - map(pos+.35).x)/2.5, 0.001, 1. );\n        col.xyz *= den*(vec3(0.005,.045,.075) + 1.5*vec3(0.033,0.07,0.03)*dif);\n    }\n\t\t\n\t\tfloat fogC = exp(t*0.2 - 2.2);\n\t\tcol.rgba += vec4(0.06,0.11,0.11, 0.1)*clamp(fogC-fogT, 0., 1.);\n\t\tfogT = fogC;\n\t\trez = rez + col*(1. - rez.a);\n\t\tt += clamp(0.5 - dn*dn*.05, 0.09, 0.3);\n\t}\n\treturn clamp(rez, 0.0, 1.0);\n}\n\nfloat getsat(vec3 c)\n{\n    float mi = min(min(c.x, c.y), c.z);\n    float ma = max(max(c.x, c.y), c.z);\n    return (ma - mi)/(ma+ 1e-7);\n}\n\n//from my \"Will it blend\" shader (https://www.shadertoy.com/view/lsdGzN)\nvec3 iLerp(in vec3 a, in vec3 b, in float x)\n{\n    vec3 ic = mix(a, b, x) + vec3(1e-6,0.,0.);\n    float sd = abs(getsat(ic) - mix(getsat(a), getsat(b), x));\n    vec3 dir = normalize(vec3(2.*ic.x - ic.y - ic.z, 2.*ic.y - ic.x - ic.z, 2.*ic.z - ic.y - ic.x));\n    float lgt = dot(vec3(1.0), ic);\n    float ff = dot(dir, normalize(ic));\n    ic += 1.5*dir*sd*ff*lgt;\n    return clamp(ic,0.,1.);\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\t\n\tvec2 q = fragCoord.xy/iResolution.xy;\n    vec2 p = (gl_FragCoord.xy - 0.5*iResolution.xy)/iResolution.y;\n    bsMo = (iMouse.xy - 0.5*iResolution.xy)/iResolution.y;\n    float time = iTime*3.;\n    vec3 ro = vec3(0,0,time);\n    ro += vec3(sin(iTime)*0.5,sin(iTime*1.)*0.,0);\n    float dspAmp = .85;\n    ro.xy += disp(ro.z)*dspAmp;\n    float tgtDst = 3.5;\n    vec3 target = normalize(ro - vec3(disp(time + tgtDst)*dspAmp, time + tgtDst));\n    ro.x -= bsMo.x*2.;\n    vec3 rightdir = normalize(cross(target, vec3(0,1,0)));\n    vec3 updir = normalize(cross(rightdir, target));\n    rightdir = normalize(cross(updir, target));\n\t  vec3 rd=normalize((p.x*rightdir + p.y*updir)*1. - target);\n    rd.xy *= rot(-disp(time + 3.5).x*0.2 + bsMo.x);\n    prm1 = smoothstep(-0.4, 0.4,sin(iTime*0.3));\n\t  vec4 scn = render(ro, rd, time);\n    vec3 col = scn.rgb;\n    col = iLerp(col.bgr, col.rgb, clamp(1.-prm1,0.05,1.));\n    col = pow(col, vec3(.55,0.65,0.6))*vec3(1.,.97,.9);\n    col *= pow( 16.0*q.x*q.y*(1.0-q.x)*(1.0-q.y), 0.12)*0.7+0.3; //Vign\n\t  fragColor = vec4( col, 1.0 );\n}\n\n`},{title:\"Silk Fabric\",author:\"Giorgi Azmaipharashvili\",originalURL:\"https://www.shadertoy.com/view/X3yXRd\",value:`\n \n  #define INVERT 1\n\n  float noise(vec2 p) {\n      return smoothstep(-0.5, 0.9, sin((p.x - p.y) * 555.0) * sin(p.y * 1444.0)) - 0.4;\n  }\n\n  float fabric(vec2 p) {\n      const mat2 m = mat2(1.6, 1.2, -1.2, 1.6);\n      float f = 0.4 * noise(p);\n      f += 0.3 * noise(p = m * p);\n      f += 0.2 * noise(p = m * p);\n      return f + 0.1 * noise(m * p);\n  }\n\n  float silk(vec2 uv, float t) {\n      float s = sin(5.0 * (uv.x + uv.y + cos(2.0 * uv.x + 5.0 * uv.y)) + sin(12.0 * (uv.x + uv.y)) - t);\n      s = 0.7 + 0.3 * (s * s * 0.5 + s);\n      s *= 0.9 + 0.6 * fabric(uv * min(iResolution.x, iResolution.y) * 0.0006);\n      return s * 0.9 + 0.1;\n  }\n\n  float silkd(vec2 uv, float t) {\n      float xy = uv.x + uv.y;\n      float d = (5.0 * (1.0 - 2.0 * sin(2.0 * uv.x + 5.0 * uv.y)) + 12.0 * cos(12.0 * xy)) * cos(5.0 * (cos(2.0 * uv.x + 5.0 * uv.y) + xy) + sin(12.0 * xy) - t);\n      return 0.005 * d * (sign(d) + 3.0);\n  }\n\n  void mainImage(out vec4 fragColor, vec2 fragCoord) {\n      float mr = min(iResolution.x, iResolution.y);\n      vec2 uv = fragCoord / mr;\n      \n      float t = iTime;\n      uv.y += 0.03 * sin(8.0 * uv.x - t);\n      \n      if (iMouse.z > 1.0)\n          uv += smoothstep(0.5, 0.0, distance(iMouse.xy / mr, uv)) * 0.08;\n      // uv -= normalize(iMouse.xy / iResolution.xy * 2.0 - 1.0) * t * 0.05; // Wind, requires state\n      \n      float s = sqrt(silk(uv, t));\n      float d = silkd(uv, t);\n      vec3 c = vec3(s);\n      c += 0.7 * vec3(1, 0.83, 0.6) * d;\n      c *= 1.0 - max(0.0, 0.8 * d);\n  #if INVERT\n      c = pow(c, 0.3 / vec3(0.52, 0.5, 0.4));\n      c = 1.0 - c;\n  #else\n      c = pow(c, vec3(0.52, 0.5, 0.4));\n  #endif\n      fragColor = vec4(c, 1);\n  }\n\n`},{title:\"CineShader Lava\",author:\"edankwan\",originalURL:\"https://www.shadertoy.com/view/3sySRK\",value:`\n\nfloat opSmoothUnion( float d1, float d2, float k )\n{\n    float h = clamp( 0.5 + 0.5*(d2-d1)/k, 0.0, 1.0 );\n    return mix( d2, d1, h ) - k*h*(1.0-h);\n}\n\nfloat sdSphere( vec3 p, float s )\n{\n  return length(p)-s;\n} \n\nfloat map(vec3 p)\n{\n\tfloat d = 2.0;\n\tfor (int i = 0; i < 16; i++) {\n\t\tfloat fi = float(i);\n\t\tfloat time = iTime * (fract(fi * 412.531 + 0.513) - 0.5) * 2.0;\n\t\td = opSmoothUnion(\n            sdSphere(p + sin(time + fi * vec3(52.5126, 64.62744, 632.25)) * vec3(2.0, 2.0, 0.8), mix(0.5, 1.0, fract(fi * 412.531 + 0.5124))),\n\t\t\td,\n\t\t\t0.4\n\t\t);\n\t}\n\treturn d;\n}\n\nvec3 calcNormal( in vec3 p )\n{\n    const float h = 1e-5; // or some other value\n    const vec2 k = vec2(1,-1);\n    return normalize( k.xyy*map( p + k.xyy*h ) + \n                      k.yyx*map( p + k.yyx*h ) + \n                      k.yxy*map( p + k.yxy*h ) + \n                      k.xxx*map( p + k.xxx*h ) );\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n  vec2 uv = fragCoord/iResolution.xy;\n    \n  // screen size is 6m x 6m\n\tvec3 rayOri = vec3((uv - 0.5) * vec2(iResolution.x/iResolution.y, 1.0) * 6.0, 3.0);\n\tvec3 rayDir = vec3(0.0, 0.0, -1.0);\n\tfloat depth = 0.0;\n\tvec3 p;\n\tfor(int i = 0; i < 64; i++) {\n\t\tp = rayOri + rayDir * depth;\n\t\tfloat dist = map(p);\n        depth += dist;\n\t\tif (dist < 1e-6) {\n\t\t\tbreak;\n\t\t}\n\t}\n  depth = min(6.0, depth);\n\tvec3 n = calcNormal(p);\n  float b = max(0.0, dot(n, vec3(0.577)));\n  vec3 col = (0.5 + 0.5 * cos((b + iTime * 3.0) + uv.xyx * 2.0 + vec3(0,2,4))) * (0.85 + b * 0.35);\n  col *= exp( -depth * 0.15 );\n\t\n  // maximum thickness is 2m in alpha channel\n  fragColor = vec4(col, 1.0 - (depth - 0.5) / 2.0);\n  fragColor.a = 1.0;\n}\n\n`},{title:\"TV Noise\",author:\"arthurstammet\",originalURL:\"https://www.shadertoy.com/view/tdXXRM\",value:`\n\nfloat Noise21 (vec2 p, float ta, float tb) {\n    return fract(sin(p.x*ta+p.y*tb)*5678.);\n}\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoord)\n{\n    vec2 uv = fragCoord/iResolution.xy;\n    float t = iTime+123.; // tweak the start moment\n    float ta = t*.654321;\n    float tb = t*(ta*.123456);\n    float c = Noise21(uv, ta, tb);\n    vec3 col = vec3(c);\n    fragColor = vec4(col,1.);\n}\n\n`},{title:\"MONSTER\",author:\"butadiene\",originalURL:\"https://www.shadertoy.com/view/WtKSzt\",value:`\n  float TK = 1.;\n  float PI = 3.1415926535;\n\nvec2 rot(vec2 p,float r){\n\tmat2 m = mat2(cos(r),sin(r),-sin(r),cos(r));\n\treturn m*p;\n}\n\nvec2 pmod(vec2 p,float n){\n\tfloat np = 2.0*PI/n;\n\tfloat r = atan(p.x,p.y)-0.5*np;\n\tr = mod(r,np)-0.5*np;\n\treturn length(p)*vec2(cos(r),sin(r));\n}\n\nfloat cube(vec3 p,vec3 s){\n\tvec3 q = abs(p);\n\tvec3 m = max(s-q,0.0);\n\treturn length(max(q-s,0.0))-min(min(m.x,m.y),m.z);\n}\n\nfloat dist(vec3 p){\n\tp.z -= 1.*TK*iTime;\n\tp.xy = rot(p.xy,1.0*p.z);\n\tp.xy = pmod(p.xy,6.0);\n\tfloat k = 0.7;\n\tfloat zid = floor(p.z*k);\n\tp = mod(p,k)-0.5*k;\n\tfor(int i = 0;i<4;i++){\n\t\tp = abs(p)-0.3;\n\t\tp.xy = rot(p.xy,1.0+zid+0.1*TK*iTime);\n\t\tp.xz = rot(p.xz,1.0+4.7*zid+0.3*TK*iTime);\n\t}\n\treturn min(cube(p,vec3(0.3)),length(p)-0.4);\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n  vec2 uv = fragCoord/iResolution.xy;\n\tuv = 2.0*(uv-0.5);\n\tuv.y *= iResolution.y/iResolution.x;\n\tuv = rot(uv,TK*iTime);\n\tvec3 ro = vec3(0.0,0.0,0.1);\n\tvec3 rd = normalize(vec3(uv,0.0)-ro);\n\tfloat t  =2.0;\n\tfloat d = 0.0;\n\tfloat ac = 0.0;\n\tfor(int i = 0;i<66;i++){\n  d = dist(ro+rd*t)*0.2;\n  d = max(0.0000,abs(d));\n  t += d;\n  if(d<0.001)ac += 0.1;//exp(-15.0*d);\n\t}\n\tvec3 col = vec3(0.0);\n\tcol = vec3(0.1,0.7,0.7)*0.2*vec3(ac);//vec3(exp(-1.0*t));\n\tvec3 pn = ro+rd*t;\n\tfloat kn = 0.5;\n\tpn.z += -1.5*iTime*TK;\n\tpn.z = mod(pn.z,kn)-0.5*kn;\n\tfloat em = clamp(0.01/pn.z,0.0,100.0);\n\tcol += 3.0*em*vec3(0.1,1.0,0.1);\n\tcol = clamp(col,0.0,1.0);\n\n  // Output to screen\n  fragColor = vec4(col,0.1);\n  fragColor.a = 1.0;\n}\n\n`},{title:\"2D Clouds\",author:\"drift\",originalURL:\"https://www.shadertoy.com/view/4tdSWr\",value:`\nconst float cloudscale = 1.1;\nconst float speed = 0.03;\nconst float clouddark = 0.5;\nconst float cloudlight = 0.3;\nconst float cloudcover = 0.2;\nconst float cloudalpha = 8.0;\nconst float skytint = 0.5;\nconst vec3 skycolour1 = vec3(0.2, 0.4, 0.6);\nconst vec3 skycolour2 = vec3(0.4, 0.7, 1.0);\n\nconst mat2 m = mat2( 1.6,  1.2, -1.2,  1.6 );\n\nvec2 hash( vec2 p ) {\n\tp = vec2(dot(p,vec2(127.1,311.7)), dot(p,vec2(269.5,183.3)));\n\treturn -1.0 + 2.0*fract(sin(p)*43758.5453123);\n}\n\nfloat noise( in vec2 p ) {\n    const float K1 = 0.366025404; // (sqrt(3)-1)/2;\n    const float K2 = 0.211324865; // (3-sqrt(3))/6;\n\tvec2 i = floor(p + (p.x+p.y)*K1);\t\n    vec2 a = p - i + (i.x+i.y)*K2;\n    vec2 o = (a.x>a.y) ? vec2(1.0,0.0) : vec2(0.0,1.0); //vec2 of = 0.5 + 0.5*vec2(sign(a.x-a.y), sign(a.y-a.x));\n    vec2 b = a - o + K2;\n\tvec2 c = a - 1.0 + 2.0*K2;\n    vec3 h = max(0.5-vec3(dot(a,a), dot(b,b), dot(c,c) ), 0.0 );\n\tvec3 n = h*h*h*h*vec3( dot(a,hash(i+0.0)), dot(b,hash(i+o)), dot(c,hash(i+1.0)));\n    return dot(n, vec3(70.0));\t\n}\n\nfloat fbm(vec2 n) {\n\tfloat total = 0.0, amplitude = 0.1;\n\tfor (int i = 0; i < 7; i++) {\n\t\ttotal += noise(n) * amplitude;\n\t\tn = m * n;\n\t\tamplitude *= 0.4;\n\t}\n\treturn total;\n}\n\n// -----------------------------------------------\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) {\n    vec2 p = fragCoord.xy / iResolution.xy;\n\t  vec2 uv = p*vec2(iResolution.x/iResolution.y,1.0);    \n    float time = iTime * speed;\n    float q = fbm(uv * cloudscale * 0.5);\n    \n    //ridged noise shape\n\t  float r = 0.0;\n\t  uv *= cloudscale;\n    uv -= q - time;\n    float weight = 0.8;\n    for (int i=0; i<8; i++){\n\t\tr += abs(weight*noise( uv ));\n    uv = m*uv + time;\n\t\tweight *= 0.7;\n    }\n    \n    //noise shape\n\t  float f = 0.0;\n    uv = p*vec2(iResolution.x/iResolution.y,1.0);\n\t  uv *= cloudscale;\n    uv -= q - time;\n    weight = 0.7;\n    for (int i=0; i<8; i++){\n\t\tf += weight*noise( uv );\n        uv = m*uv + time;\n\t\tweight *= 0.6;\n    }\n    \n    f *= r + f;\n    \n    //noise colour\n    float c = 0.0;\n    time = iTime * speed * 2.0;\n    uv = p*vec2(iResolution.x/iResolution.y,1.0);\n\t  uv *= cloudscale*2.0;\n    uv -= q - time;\n    weight = 0.4;\n    for (int i=0; i<7; i++){\n\t\tc += weight*noise( uv );\n    uv = m*uv + time;\n\t\tweight *= 0.6;\n    }\n    \n    //noise ridge colour\n    float c1 = 0.0;\n    time = iTime * speed * 3.0;\n    uv = p*vec2(iResolution.x/iResolution.y,1.0);\n\t  uv *= cloudscale*3.0;\n    uv -= q - time;\n    weight = 0.4;\n    for (int i=0; i<7; i++){\n\t\tc1 += abs(weight*noise( uv ));\n    uv = m*uv + time;\n\t\tweight *= 0.6;\n    }\n    c += c1;\n    vec3 skycolour = mix(skycolour2, skycolour1, p.y);\n    vec3 cloudcolour = vec3(1.1, 1.1, 0.9) * clamp((clouddark + cloudlight*c), 0.0, 1.0);\n    f = cloudcover + cloudalpha*f*r;\n    vec3 result = mix(skycolour, clamp(skytint * skycolour + cloudcolour, 0.0, 1.0), clamp(f + c, 0.0, 1.0));\n\t  fragColor = vec4( result, 1.0 );\n}\n\n`},{title:\"Tileable Water Caustic\",author:\"Dave_Hoskins\",originalURL:\"https://www.shadertoy.com/view/MdlXz8\",value:`\n\n#define TAU 6.28318530718\n#define MAX_ITER 5\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) \n{\n\tfloat time = iTime * .5+23.0;\n  // uv should be the 0-1 uv of texture...\n\tvec2 uv = fragCoord.xy / iResolution.xy;\n\n#ifdef SHOW_TILING\n\tvec2 p = mod(uv*TAU*2.0, TAU)-250.0;\n#else\n    vec2 p = mod(uv*TAU, TAU)-250.0;\n#endif\n\tvec2 i = vec2(p);\n\tfloat c = 1.0;\n\tfloat inten = .005;\n\tfor (int n = 0; n < MAX_ITER; n++) \n\t{\n\t\tfloat t = time * (1.0 - (3.5 / float(n+1)));\n\t\ti = p + vec2(cos(t - i.x) + sin(t + i.y), sin(t - i.y) + cos(t + i.x));\n\t\tc += 1.0/length(vec2(p.x / (sin(i.x+t)/inten),p.y / (cos(i.y+t)/inten)));\n\t}\n\tc /= float(MAX_ITER);\n\tc = 1.17-pow(c, 1.4);\n\tvec3 colour = vec3(pow(abs(c), 8.0));\n  colour = clamp(colour + vec3(0.0, 0.35, 0.5), 0.0, 1.0);\n\n\t#ifdef SHOW_TILING\n\t// Flash tile borders...\n\tvec2 pixel = 2.0 / iResolution.xy;\n\tuv *= 2.0;\n\tfloat f = floor(mod(iTime*.5, 2.0)); \t// Flash value.\n\tvec2 first = step(pixel, uv) * f;\t\t   \t// Rule out first screen pixels and flash.\n\tuv  = step(fract(uv), pixel);\t\t\t\t// Add one line of pixels per tile.\n\tcolour = mix(colour, vec3(1.0, 1.0, 0.0), (uv.x + uv.y) * first.x * first.y); // Yellow line\n\t#endif\n\n\tfragColor = vec4(colour, 1.0);\n}\n\n`},{title:\"Auroras\",author:\"nimitz\",originalURL:\"https://www.shadertoy.com/view/XtGGRt\",value:` \n\n#define time iTime\nmat2 mm2(in float a){float c = cos(a), s = sin(a);return mat2(c,s,-s,c);}\nmat2 m2 = mat2(0.95534, 0.29552, -0.29552, 0.95534);\nfloat tri(in float x){return clamp(abs(fract(x)-.5),0.01,0.49);}\nvec2 tri2(in vec2 p){return vec2(tri(p.x)+tri(p.y),tri(p.y+tri(p.x)));}\nfloat triNoise2d(in vec2 p, float spd)\n{\n    float z=1.8;\n    float z2=2.5;\n\t  float rz = 0.;\n    p *= mm2(p.x*0.06);\n    vec2 bp = p;\n    for (float i=0.; i<5.; i++ )\n    {\n          vec2 dg = tri2(bp*1.85)*.75;\n          dg *= mm2(time*spd);\n          p -= dg/z2;\n          bp *= 1.3;\n          z2 *= .45;\n          z *= .42;\n          p *= 1.21 + (rz-1.0)*.02;\n          rz += tri(p.x+tri(p.y))*z;\n          p*= -m2;\n    }\n    return clamp(1./pow(rz*29., 1.3),0.,.55);\n}\n\nfloat hash21(in vec2 n){ return fract(sin(dot(n, vec2(12.9898, 4.1414))) * 43758.5453); }\nvec4 aurora(vec3 ro, vec3 rd)\n{\n    vec4 col = vec4(0);\n    vec4 avgCol = vec4(0);\n    for(float i=0.;i<50.;i++)\n    {\n        float of = 0.006*hash21(gl_FragCoord.xy)*smoothstep(0.,15., i);\n        float pt = ((.8+pow(i,1.4)*.002)-ro.y)/(rd.y*2.+0.4);\n        pt -= of;\n    \t  vec3 bpos = ro + pt*rd;\n        vec2 p = bpos.zx;\n        float rzt = triNoise2d(p, 0.06);\n        vec4 col2 = vec4(0,0,0, rzt);\n        col2.rgb = (sin(1.-vec3(2.15,-.5, 1.2)+i*0.043)*0.5+0.5)*rzt;\n        avgCol =  mix(avgCol, col2, .5);\n        col += avgCol*exp2(-i*0.065 - 2.5)*smoothstep(0.,5., i);\n        \n    }\n    \n    col *= (clamp(rd.y*15.+.4,0.,1.));\n    \n    //return clamp(pow(col,vec4(1.3))*1.5,0.,1.);\n    //return clamp(pow(col,vec4(1.7))*2.,0.,1.);\n    //return clamp(pow(col,vec4(1.5))*2.5,0.,1.);\n    //return clamp(pow(col,vec4(1.8))*1.5,0.,1.);\n    //return smoothstep(0.,1.1,pow(col,vec4(1.))*1.5);\n    return col*1.8;\n    //return pow(col,vec4(1.))*2.\n}\n\n//-------------------Background and Stars--------------------\nvec3 nmzHash33(vec3 q)\n{\n    uvec3 p = uvec3(ivec3(q));\n    p = p*uvec3(374761393U, 1103515245U, 668265263U) + p.zxy + p.yzx;\n    p = p.yzx*(p.zxy^(p >> 3U));\n    return vec3(p^(p >> 16U))*(1.0/vec3(0xffffffffU));\n}\n\nvec3 stars(in vec3 p)\n{\n    vec3 c = vec3(0.);\n    float res = iResolution.x*1.;\n    \n\tfor (float i=0.;i<4.;i++)\n    {\n        vec3 q = fract(p*(.15*res))-0.5;\n        vec3 id = floor(p*(.15*res));\n        vec2 rn = nmzHash33(id).xy;\n        float c2 = 1.-smoothstep(0.,.6,length(q));\n        c2 *= step(rn.x,.0005+i*i*0.001);\n        c += c2*(mix(vec3(1.0,0.49,0.1),vec3(0.75,0.9,1.),rn.y)*0.1+0.9);\n        p *= 1.3;\n    }\n    return c*c*.8;\n}\n\nvec3 bg(in vec3 rd)\n{\n    float sd = dot(normalize(vec3(-0.5, -0.6, 0.9)), rd)*0.5+0.5;\n    sd = pow(sd, 5.);\n    vec3 col = mix(vec3(0.05,0.1,0.2), vec3(0.1,0.05,0.2), sd);\n    return col*.63;\n}\n\n//-----------------------------------------------------------\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n\t  vec2 q = fragCoord.xy / iResolution.xy;\n    vec2 p = q - 0.5;\n\t  p.x*=iResolution.x/iResolution.y;\n    vec3 ro = vec3(0,0,-6.7);\n    vec3 rd = normalize(vec3(p,1.3));\n    vec2 mo = iMouse.xy / iResolution.xy-.5;\n    mo = (mo==vec2(-.5))?mo=vec2(-0.1,0.1):mo;\n\t  mo.x *= iResolution.x/iResolution.y;\n    rd.yz *= mm2(mo.y);\n    rd.xz *= mm2(mo.x + sin(time*0.05)*0.2);\n    vec3 col = vec3(0.);\n    vec3 brd = rd;\n    float fade = smoothstep(0.,0.01,abs(brd.y))*0.1+0.9;\n    col = bg(rd)*fade;\n    if (rd.y > 0.){\n        vec4 aur = smoothstep(0.,1.5,aurora(ro,rd))*fade;\n        col += stars(rd);\n        col = col*(1.-aur.a) + aur.rgb;\n    }\n    else //Reflections\n    {\n        rd.y = abs(rd.y);\n        col = bg(rd)*fade*0.6;\n        vec4 aur = smoothstep(0.0,2.5,aurora(ro,rd));\n        col += stars(rd)*0.1;\n        col = col*(1.-aur.a) + aur.rgb;\n        vec3 pos = ro + ((0.5-ro.y)/rd.y)*rd;\n        float nz2 = triNoise2d(pos.xz*vec2(.5,.7), 0.);\n        col += mix(vec3(0.2,0.25,0.5)*0.08,vec3(0.3,0.3,0.5)*0.7, nz2*0.4);\n    }\n\tfragColor = vec4(col, 1.);\n}\n\n`},{title:\"Cellular\",author:\"vug\",originalURL:\"https://www.shadertoy.com/view/Xs2GDd\",value:`\n\n#define PI 3.14159265359\nvec3 col1 = vec3(0.216, 0.471, 0.698); // blue\nvec3 col2 = vec3(1.00, 0.329, 0.298); // yellow\nvec3 col3 = vec3(0.867, 0.910, 0.247); // red\n\nfloat disk(vec2 r, vec2 center, float radius) {\n\treturn 1.0 - smoothstep( radius-0.008, radius+0.008, length(r-center));\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n\tfloat t = iTime*2.;\n\tvec2 r = (2.0*fragCoord.xy - iResolution.xy) / iResolution.y;\n\tr *= 1.0 + 0.05*sin(r.x*5.+iTime) + 0.05*sin(r.y*3.+iTime);\n\tr *= 1.0 + 0.2*length(r);\n\tfloat side = 0.5;\n\tvec2 r2 = mod(r, side);\n\tvec2 r3 = r2-side/2.;\n\tfloat i = floor(r.x/side)+2.;\n\tfloat j = floor(r.y/side)+4.;\n\tfloat ii = r.x/side+2.;\n\tfloat jj = r.y/side+4.;\t\n\tvec3 pix = vec3(1.0);\n\tfloat rad, disks;\n\trad = 0.15 + 0.05*sin(t+ii*jj);\n\tdisks = disk(r3, vec2(0.,0.), rad);\n\tpix = mix(pix, col2, disks);\n\tfloat speed = 2.0;\n\tfloat tt = iTime*speed+0.1*i+0.08*j;\n\tfloat stopEveryAngle = PI/2.0;\n\tfloat stopRatio = 0.7;\n\tfloat t1 = (floor(tt) + smoothstep(0.0, 1.0-stopRatio, fract(tt)) )*stopEveryAngle;\n\tfloat x = -0.07*cos(t1+i);\n\tfloat y = 0.055*(sin(t1+j)+cos(t1+i));\n\trad = 0.1 + 0.05*sin(t+i+j);\n\tdisks = disk(r3, vec2(x,y), rad);\n\tpix = mix(pix, col1, disks);\n\trad = 0.2 + 0.05*sin(t*(1.0+0.01*i));\n\tdisks = disk(r3, vec2(0.,0.), rad);\n\tpix += 0.2*col3*disks * sin(t+i*j+i);\n\tpix -= smoothstep(0.3, 5.5, length(r));\t\n\tfragColor = vec4(pix,1.0);\n}\n\n`},{title:\"DrawCircle\",author:\"haquxx\",originalURL:\"https://www.shadertoy.com/view/3tdSRn\",value:`\n\nvec3 drawCircle(vec2 pos, float radius, float width, float power, vec4 color)\n{\n    vec2 mousePos = iMouse.xy - vec2(0.5);\n    float dist1 = length(pos);\n    dist1 = fract((dist1 * 5.0) - fract(iTime));\n    float dist2 = dist1 - radius;\n    float intensity = pow(radius / abs(dist2), width); \n    vec3 col = color.rgb * intensity * power * max((0.8- abs(dist2)), 0.0);\n    return col;\n}\n\nvec3 hsv2rgb(float h, float s, float v)\n{\n    vec4 t = vec4(1.0, 2.0/3.0, 1.0/3.0, 3.0);\n    vec3 p = abs(fract(vec3(h) + t.xyz) * 6.0 - vec3(t.w));\n    return v * mix(vec3(t.x), clamp(p - vec3(t.x), 0.0, 1.0), s);\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    // // -1.0 ~ 1.0\n    vec2 pos = (fragCoord.xy * 2.0 - iResolution.xy) / min(iResolution.x, iResolution.y);\n    float h = mix(0.5, 0.65, length(pos));\n    vec4 color = vec4(hsv2rgb(h, 1.0, 1.0), 1.0);\n    float radius = 0.5;\n    float width = 0.8;\n    float power = 0.1;\n    vec3 finalColor = drawCircle(pos, radius, width, power, color);\n    pos = abs(pos);\n    // vec3 finalColor = vec3(pos.x, 0.0, pos.y);\n    fragColor = vec4(finalColor, 1.0);\n}\n\n`},{title:\"PsychedelicSakura\",author:\"Author Reva - 2020-02-21\",originalURL:\"https://www.shadertoy.com/view/wlGXRD\",value:`\n\nfloat plot(float r, float pct){\n\treturn  smoothstep( pct-0.2, pct, r) -smoothstep( pct, pct+0.2, r);\n}\n\nvec3 pal( in float t, in vec3 a, in vec3 b, in vec3 c, in vec3 d ){\n        return a + b*cos( 6.28318*(c*t+d) );\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    vec2 uv = fragCoord/iResolution.xy;\n    vec3 col = vec3(1.0);\n    vec2 pos = vec2(0.5) - uv;\n    pos.x *= iResolution.x/iResolution.y;\n    pos *= cos(iTime)*1.0+1.5;\n    float r = length(pos)*2.0;\n    float a = atan(pos.y,pos.x);\n    float f = abs(cos(a*2.5+iTime*0.5))*sin(iTime*2.0)*0.698+cos(iTime)-4.0;\n    float d = f-r;\n    col = (vec3(smoothstep(fract(d),fract(d)+-0.200,0.160))-vec3(smoothstep(fract(d),fract(d)+-1.184,0.160)) ) \n\t* pal( f, vec3(0.725,0.475,0.440),vec3(0.605,0.587,0.007),vec3(1.0,1.0,1.0),vec3(0.310,0.410,0.154) );\n    float pct = plot(r*0.272,fract(d*(sin(iTime)*0.45+0.5)));\n    col += pct*pal( r, vec3(0.750,0.360,0.352),vec3(0.450,0.372,0.271),vec3(0.540,0.442,0.264),vec3(0.038,0.350,0.107) );\n\n    // Output to screen\n    fragColor = vec4(col,pct*0.3);\n    fragColor.a = 1.0;\n}\n\n`},{title:\"Fractal\",author:\"gaetanThiesson\",originalURL:\"https://www.shadertoy.com/view/WlcXR4\",value:`\n\nvec2 f(vec2 x, vec2 c) {\n    return mat2(x,-x.y,x.x)*x + c;\n}\n\nvec3 palette(float t, vec3 a, vec3 b, vec3 c, vec3 d) {\n    return a + b*cos( 6.28318*(c*t+d) );\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    vec2 uv = fragCoord/iResolution.xy;\n    uv -= 0.5;uv *= 1.3;uv += 0.5;\n    vec4 col = vec4(1.0);\n    float time = iTime;\n    int u_maxIterations = 75;\n    float r = 0.7885*(sin((time/3.) - 1.57)*0.2+0.85);\n\t  vec2 c = vec2(r*cos((time/3.)), r*sin((time/3.)));\n    vec2 z = vec2(0.);\n    z.x = 3.0 * (uv.x - 0.5);\n    z.y = 2.0 * (uv.y - 0.5);\n    bool escaped = false;\n    int iterations;\n    for (int i = 0; i < 10000; i++) {\n        if (i > u_maxIterations) break;\n        iterations = i;\n        z = f(z, c);\n        if (dot(z,z) > 4.0) {\n            escaped = true;\n            break;\n        }\n    }\n\t\t\t\n    vec3 iterationCol = vec3(palette(float(iterations)/ float(u_maxIterations),\n                                     vec3(0.5),\n                                     vec3(0.5),\n                                     vec3(1.0, 1.0, 0.0),\n                                     vec3(0.3 + 0.3 * sin(time),\n                                          0.2 + 0.2 * sin(1. + time),\n                                          0.2  + 0.2 * sin(1.5 + time))));\n\t\t\n\t  vec3 coreCol = vec3(0.);\n    float f_ite = float(iterations);\n    float f_maxIte = float(u_maxIterations);\n    fragColor = vec4(escaped ? iterationCol : coreCol, f_ite/f_maxIte );\n    fragColor.a = 1.0;\n}\n\n`},{title:\"CoordSys - intersection\",author:\"Inigo Quilez\",originalURL:\"https://www.shadertoy.com/view/lsfGDB\",value:`\n\n#if 1\n\n//Elegant way to intersect a planar coordinate system (3x3 linear system)\nvec3 intersectCoordSys( in vec3 ro, in vec3 rd, vec3 dc, vec3 du, vec3 dv )\n{\n\tvec3 oc = ro - dc;\n\treturn vec3(\n        dot( cross(du,dv), oc ),\n\t\tdot( cross(oc,du), rd ),\n\t\tdot( cross(dv,oc), rd ) ) / \n        dot( cross(dv,du), rd );\n}\n\n#else\n\n// Ugly (but faster) way to intersect a planar coordinate system: plane + projection\nvec3 intersectCoordSys( in vec3 ro, in vec3 rd, vec3 dc, vec3 du, vec3 dv )\n{\n\tvec3  oc = ro - dc;\n\tvec3  no = cross(du,dv);\n    float t  = -dot(no,oc)/dot(rd,no);\n    float r  =  dot(du,oc + rd*t);\n    float s  =  dot(dv,oc + rd*t);\n    return vec3(t,s,r);\n}\n\n#endif\t\n\nvec3 hash3( float n )\n{\n    return fract(sin(vec3(n,n+1.0,n+2.0))*vec3(43758.5453123,12578.1459123,19642.3490423));\n}\n\nvec3 shade( in vec4 res )\n{\n    float ra = length(res.yz);\n    float an = atan(res.y,res.z) + 2.0*iTime;\n    float pa = sin(3.0*an);\n\n    vec3 cola = 0.5 + 0.5*sin( (res.w/32.0)*3.5 + vec3(0.0,1.0,2.0) );\n\t\n\tvec3 col = vec3(0.0);\n\tcol += cola*0.4*(1.0-smoothstep( 0.90, 1.00, ra) );\n  col += cola*1.0*(1.0-smoothstep( 0.00, 0.03, abs(ra-0.8)))*(0.5+0.5*pa);\n  col += cola*1.0*(1.0-smoothstep( 0.00, 0.20, abs(ra-0.8)))*(0.5+0.5*pa);\n  col += cola*0.5*(1.0-smoothstep( 0.05, 0.10, abs(ra-0.5)))*(0.5+0.5*pa);\n  col += cola*0.7*(1.0-smoothstep( 0.00, 0.30, abs(ra-0.5)))*(0.5+0.5*pa);\n\treturn col*0.3;\n}\n\nvec3 render( in vec3 ro, in vec3 rd )\n{\n  // raytrace\n  vec3 col = vec3( 0.0 );\n\tfor( int i=0; i<32; i++ )\n\t{\n\t\t  // position disk\n\t    vec3 r = 1.5*(-1.0 + 2.0*hash3( float(i) ));\n\t\t\n      // orientate disk\n      vec3 u = normalize( r.zxy );\n      vec3 v = normalize( cross( u, vec3(0.0,1.0,0.0 ) ) );\t\t\t\t\t\t   \n  \n      // intersect coord sys\n      vec3 tmp = intersectCoordSys( ro, rd, r, u, v );\n\t\n\t    if( dot(tmp.yz,tmp.yz)<1.0 && tmp.x>0.0 ) \n\t    {\n        // shade\t\t\t\n\t\t    col += shade( vec4(tmp,float(i)) );\n\t    }\n\t}\n\n    return col;\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    vec2 p = (2.0*fragCoord-iResolution.xy)/iResolution.y;\n    // camera\n\t  vec3 ro = 1.5*vec3(cos(0.05*iTime),0.0,sin(0.05*iTime));\n    vec3 ta = vec3(0.0,0.0,0.0);\n    // camera matrix\n    vec3 ww = normalize( ta - ro );\n    vec3 uu = normalize( cross(ww,vec3(0.0,1.0,0.0) ) );\n    vec3 vv = normalize( cross(uu,ww));\n\t  // create view ray\n\t  vec3 rd = normalize( p.x*uu + p.y*vv + 1.0*ww );\n    vec3 col = render( ro, rd );\n    fragColor = vec4( col, 1.0 );\n}\n\n`},{title:\"Waves Remix\",author:\"ADOB\",originalURL:\"https://www.shadertoy.com/view/4ljGD1\",value:`\n\n  float squared(float value) { return value * value; }\n  float getAmp(float frequency) { return texture(iChannel0, vec2(frequency / 512.0, 0)).x; }\n  float getWeight(float f) {\n  return (+ getAmp(f-2.0) + getAmp(f-1.0) + getAmp(f+2.0) + getAmp(f+1.0) + getAmp(f)) / 5.0; }\n\n  void mainImage( out vec4 fragColor, in vec2 fragCoord )\n  {    \n    vec2 uvTrue = fragCoord.xy / iResolution.xy;\n    vec2 uv = -1.0 + 2.0 * uvTrue;\n    float lineIntensity;\n    float glowWidth;\n    vec3 color = vec3(0.0);\n    for(float i = 0.0; i < 5.0; i++) {     \n    uv.y += (0.2 * sin(uv.x + i/7.0 - iTime * 0.6));\n    float Y = uv.y + getWeight(squared(i) * 20.0) *\n    (texture(iChannel0, vec2(uvTrue.x, 1)).x - 0.5);\n    lineIntensity = 0.4 + squared(1.6 * abs(mod(uvTrue.x + i / 1.3 + iTime,2.0) - 1.0));\n    glowWidth = abs(lineIntensity / (150.0 * Y));\n    color += vec3(glowWidth * (2.0 + sin(iTime * 0.13)),\n                      glowWidth * (2.0 - sin(iTime * 0.23)),\n                      glowWidth * (2.0 - cos(iTime * 0.19)));\n  }\t\n\t\n\tfragColor = vec4(color, 1.0);\n}\n\n`},{title:\"Kaleidoscope Tunnel\",author:\"kaneta\",originalURL:\"https://www.shadertoy.com/view/WsSGWG\",value:`\n\n#define PI 3.141592654\n\nmat2 rot(float x)\n{\n    return mat2(cos(x), sin(x), -sin(x), cos(x));\n}\n\nvec2 foldRotate(in vec2 p, in float s) {\n    float a = PI / s - atan(p.x, p.y);\n    float n = PI * 2. / s;\n    a = floor(a / n) * n;\n    p *= rot(a);\n    return p;\n}\n\nfloat sdRect( vec2 p, vec2 b )\n{\n  vec2 d = abs(p) - b;\n  return min(max(d.x, d.y),0.0) + length(max(d,0.0));\n}\n\n// TheGrid by dila\n// https://www.shadertoy.com/view/llcXWr\nfloat tex(vec2 p, float z)\n{\n    p = foldRotate(p, 8.0);\n    vec2 q = (fract(p / 10.0) - 0.5) * 10.0;\n    for (int i = 0; i < 3; ++i) {\n        for(int j = 0; j < 2; j++) {\n        \tq = abs(q) - .25;\n        \tq *= rot(PI * .25);\n        }\n        q = abs(q) - vec2(1.0, 1.5);\n        q *= rot(PI * .25 * z);\n\t\tq = foldRotate(q, 3.0);  \n    }\n\tfloat d = sdRect(q, vec2(1., 1.));\n  float f = 1.0 / (1.0 + abs(d));\n  return smoothstep(.9, 1., f);\n}\n\n// The Drive Home by BigWings\n// https://www.shadertoy.com/view/MdfBRX\nfloat Bokeh(vec2 p, vec2 sp, float size, float mi, float blur)\n{\n    float d = length(p - sp);\n    float c = smoothstep(size, size*(1.-blur), d);\n    c *= mix(mi, 1., smoothstep(size*.8, size, d));\n    return c;\n}\n\nvec2 hash( vec2 p ){\n\tp = vec2( dot(p,vec2(127.1,311.7)),dot(p,vec2(269.5,183.3)));\n\treturn fract(sin(p)*43758.5453) * 2.0 - 1.0;\n}\n\nfloat dirt(vec2 uv, float n)\n{\n    vec2 p = fract(uv * n);\n    vec2 st = (floor(uv * n) + 0.5) / n;\n    vec2 rnd = hash(st);\n    return Bokeh(p, vec2(0.5, 0.5) + vec2(0.2) * rnd, 0.05, abs(rnd.y * 0.4) + 0.3, 0.25 + rnd.x * rnd.y * 0.2);\n}\n\nfloat sm(float start, float end, float t, float smo)\n{\n    return smoothstep(start, start + smo, t) - smoothstep(end - smo, end, t);\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n\tvec2 uv = fragCoord.xy / iResolution.xy;\n    uv = uv * 2.0 - 1.0;\n    uv.x *= iResolution.x / iResolution.y;\n    uv *= 2.0;\n    vec3 col = vec3(0.0);\n    #define N 6\n    #define NN float(N)\n    #define INTERVAL 3.0\n    #define INTENSITY vec3((NN * INTERVAL - t) / (NN * INTERVAL))\n    float time = iTime;\n    for(int i = 0; i < N; i++) {\n        float t;\n        float ii = float(N - i);\n        t = ii * INTERVAL - mod(time - INTERVAL * 0.75, INTERVAL);\n        col = mix(col, INTENSITY, dirt(mod(uv * max(0.0, t) * 0.1 + vec2(.2, -.2) * time, 1.2), 3.5));\n        t = ii * INTERVAL - mod(time + INTERVAL * 0.5, INTERVAL);\n        col = mix(col, INTENSITY * vec3(0.7, 0.8, 1.0) * 1.3,tex(uv * max(0.0, t), 4.45));\n        t = ii * INTERVAL - mod(time - INTERVAL * 0.25, INTERVAL);\n        col = mix(col, INTENSITY * vec3(1.), dirt(mod(uv * max(0.0, t) * 0.1 + vec2(-.2, -.2) *  time, 1.2), 3.5));    \n        t = ii * INTERVAL - mod(time, INTERVAL);\n        float r = length(uv * 2.0 * max(0.0, t));\n        float rr = sm(-24.0, -0.0, (r - mod(time * 30.0, 90.0)), 10.0);\n        col = mix(col, mix(INTENSITY * vec3(1.), INTENSITY * vec3(0.7, 0.5, 1.0) * 3.0, rr),tex(uv * 2.0 * max(0.0, t), 0.27 + (2.0 * rr)));\n    }\n\n\tfragColor = vec4(col, 0.0);\n  fragColor.a = 1.0;\n}\n\n`},{title:\"Topologica\",author:\"Otavio Good\",originalURL:\"https://www.shadertoy.com/view/4djXzz\",value:`\n        \nuniform int iFrame;\n\n// various noise functions\nfloat Hash3d(vec3 uv)\n{\n    float f = uv.x + uv.y * 37.0 + uv.z * 521.0;\n    return fract(cos(f*3.333)*100003.9);\n}\nfloat mixP(float f0, float f1, float a)\n{\n    return mix(f0, f1, a*a*(3.0-2.0*a));\n}\nconst vec2 zeroOne = vec2(0.0, 1.0);\nfloat noise(vec3 uv)\n{\n    vec3 fr = fract(uv.xyz);\n    vec3 fl = floor(uv.xyz);\n    float h000 = Hash3d(fl);\n    float h100 = Hash3d(fl + zeroOne.yxx);\n    float h010 = Hash3d(fl + zeroOne.xyx);\n    float h110 = Hash3d(fl + zeroOne.yyx);\n    float h001 = Hash3d(fl + zeroOne.xxy);\n    float h101 = Hash3d(fl + zeroOne.yxy);\n    float h011 = Hash3d(fl + zeroOne.xyy);\n    float h111 = Hash3d(fl + zeroOne.yyy);\n    return mixP(\n        mixP(mixP(h000, h100, fr.x), mixP(h010, h110, fr.x), fr.y),\n        mixP(mixP(h001, h101, fr.x), mixP(h011, h111, fr.x), fr.y)\n        , fr.z);\n}\n\nfloat PI=3.14159265;\n#define saturate(a) clamp(a, 0.0, 1.0)\n// Weird for loop trick so compiler doesn't unroll loop\n// By making the zero a variable instead of a constant, the compiler can't unroll the loop and\n// that speeds up compile times by a lot.\n#define ZERO_TRICK max(0, -iFrame)\n\nfloat Density(vec3 p)\n{\n    float final = noise(p*0.06125);\n    float other = noise(p*0.06125 + 1234.567);\n    other -= 0.5;\n    final -= 0.5;\n    final = 0.1/(abs(final*final*other));\n    final += 0.5;\n    return final*0.0001;\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n\t// ---------------- First, set up the camera rays for ray marching ----------------\n\tvec2 uv = fragCoord.xy/iResolution.xy * 2.0 - 1.0;\n\n\t// Camera up vector.\n\tvec3 camUp=vec3(0,1,0); // vuv\n\n\t// Camera lookat.\n\tvec3 camLookat=vec3(0,0.0,0);\t// vrp\n\n\tfloat mx=iMouse.x/iResolution.x*PI*2.0 + iTime * 0.01;\n\tfloat my=-iMouse.y/iResolution.y*10.0 + sin(iTime * 0.03)*0.2+0.2;//*PI/2.01;\n\tvec3 camPos=vec3(cos(my)*cos(mx),sin(my),cos(my)*sin(mx))*(200.2); \t// prp\n\n\t// Camera setup.\n\tvec3 camVec=normalize(camLookat - camPos);//vpn\n\tvec3 sideNorm=normalize(cross(camUp, camVec));\t// u\n\tvec3 upNorm=cross(camVec, sideNorm);//v\n\tvec3 worldFacing=(camPos + camVec);//vcv\n\tvec3 worldPix = worldFacing + uv.x * sideNorm * (iResolution.x/iResolution.y) + uv.y * upNorm;//scrCoord\n\tvec3 relVec = normalize(worldPix - camPos);//scp\n\n\t// --------------------------------------------------------------------------------\n\tfloat t = 0.0;\n\tfloat inc = 0.02;\n\tfloat maxDepth = 70.0;\n\tvec3 pos = vec3(0,0,0);\n  float density = 0.0;\n\t// ray marching time\n    for (int i = ZERO_TRICK; i < 37; i++)\t// This is the count of how many times the ray actually marches.\n    {\n        if ((t > maxDepth)) break;\n        pos = camPos + relVec * t;\n        float temp = Density(pos);\n        inc = 1.9 + temp*0.05;\t// add temp because this makes it look extra crazy!\n        density += temp * inc;\n        t += inc;\n    }\n\n\t// --------------------------------------------------------------------------------\n\t// Now that we have done our ray marching, let's put some color on this.\n\tvec3 finalColor = vec3(0.01,0.1,1.0)* density*0.2;\n\n\t// output the final color with sqrt for \"gamma correction\"\n\tfragColor = vec4(sqrt(clamp(finalColor, 0.0, 1.0)),1.0); fragColor.a = 1.0;\n}\n\n`},{title:\"Rainbow Showoff\",author:\"akufishi\",originalURL:\"https://www.shadertoy.com/view/lscBRf\",value:`\n\n#define FALLING_SPEED  0.25\n#define STRIPES_FACTOR 5.0\n\n//get sphere\nfloat sphere(vec2 coord, vec2 pos, float r) {\n    vec2 d = pos - coord; \n    return smoothstep(60.0, 0.0, dot(d, d) - r * r);\n}\n\n//main\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    //normalize pixel coordinates\n    vec2 uv         = fragCoord / iResolution.xy;\n    //pixellize uv\n    vec2 clamped_uv = (round(fragCoord / STRIPES_FACTOR) * STRIPES_FACTOR) / iResolution.xy;\n    //get pseudo-random value for stripe height\n    float value\t\t= fract(sin(clamped_uv.x) * 43758.5453123);\n    //create stripes\n    vec3 col        = vec3(1.0 - mod(uv.y * 0.5 + (iTime * (FALLING_SPEED + value / 5.0)) + value, 0.5));\n    //add color\n         col       *= clamp(cos(iTime * 2.0 + uv.xyx + vec3(0, 2, 4)), 0.0, 1.0);\n    //add glowing ends\n    \t col \t   += vec3(sphere(fragCoord, \n                                  vec2(clamped_uv.x, (1.0 - 2.0 * mod((iTime * (FALLING_SPEED + value / 5.0)) + value, 0.5))) * iResolution.xy, \n                                  0.9)) / 2.0; \n    //add screen fade\n         col       *= vec3(exp(-pow(abs(uv.y - 0.5), 6.0) / pow(2.0 * 0.05, 2.0)));\n    // Output to screen\n    fragColor       = vec4(col,1.0);\n}\n\n`},{title:\"Creation by Silexars\",author:\"Danguafer\",originalURL:\"https://www.shadertoy.com/view/XsXXDn\",value:`\n        // If you intend to reuse this shader, please add credits to 'Danilo Guanabara'\n  #define t iTime\n  #define r iResolution.xy\n\n  void mainImage( out vec4 fragColor, in vec2 fragCoord ){\n    vec3 c;\n    float l,z=t;\n    for(int i=0;i<3;i++) {\n      vec2 uv,p=fragCoord.xy/r;\n      uv=p;\n      p-=.5;\n      p.x*=r.x/r.y;\n      z+=.07;\n      l=length(p);\n      uv+=p/l*(sin(z)+1.)*abs(sin(l*9.-z-z));\n      c[i]=.01/length(mod(uv,1.)-.5);\n    }\n    fragColor=vec4(c/l,t);\n  }\n`},{title:\"Cyber Fuji 2020\",author:\"kaiware007\",originalURL:\"https://www.shadertoy.com/view/Wt33Wf\",value:`\nfloat sun(vec2 uv, float battery)\n{\n \tfloat val = smoothstep(0.3, 0.29, length(uv));\n \tfloat bloom = smoothstep(0.7, 0.0, length(uv));\n  float cut = 3.0 * sin((uv.y + iTime * 0.2 * (battery + 0.02)) * 100.0) \n\t\t\t\t+ clamp(uv.y * 14.0 + 1.0, -6.0, 6.0);\n  cut = clamp(cut, 0.0, 1.0);\n  return clamp(val * cut, 0.0, 1.0) + bloom * 0.6;\n}\n\nfloat grid(vec2 uv, float battery)\n{\n    vec2 size = vec2(uv.y, uv.y * uv.y * 0.2) * 0.01;\n    uv += vec2(0.0, iTime * 4.0 * (battery + 0.05));\n    uv = abs(fract(uv) - 0.5);\n    vec2 lines = smoothstep(size, vec2(0.0), uv);\n    lines += smoothstep(size * 5.0, vec2(0.0), uv) * 0.4 * battery;\n    return clamp(lines.x + lines.y, 0.0, 3.0);\n}\n\nfloat dot2(in vec2 v ) { return dot(v,v); }\n\nfloat sdTrapezoid( in vec2 p, in float r1, float r2, float he )\n{\n    vec2 k1 = vec2(r2,he);\n    vec2 k2 = vec2(r2-r1,2.0*he);\n    p.x = abs(p.x);\n    vec2 ca = vec2(p.x-min(p.x,(p.y<0.0)?r1:r2), abs(p.y)-he);\n    vec2 cb = p - k1 + k2*clamp( dot(k1-p,k2)/dot2(k2), 0.0, 1.0 );\n    float s = (cb.x<0.0 && ca.y<0.0) ? -1.0 : 1.0;\n    return s*sqrt( min(dot2(ca),dot2(cb)) );\n}\n\nfloat sdLine( in vec2 p, in vec2 a, in vec2 b )\n{\n    vec2 pa = p-a, ba = b-a;\n    float h = clamp( dot(pa,ba)/dot(ba,ba), 0.0, 1.0 );\n    return length( pa - ba*h );\n}\n\nfloat sdBox( in vec2 p, in vec2 b )\n{\n    vec2 d = abs(p)-b;\n    return length(max(d,vec2(0))) + min(max(d.x,d.y),0.0);\n}\n\nfloat opSmoothUnion(float d1, float d2, float k){\n\tfloat h = clamp(0.5 + 0.5 * (d2 - d1) /k,0.0,1.0);\n    return mix(d2, d1 , h) - k * h * ( 1.0 - h);\n}\n\nfloat sdCloud(in vec2 p, in vec2 a1, in vec2 b1, in vec2 a2, in vec2 b2, float w)\n{\n\t//float lineVal1 = smoothstep(w - 0.0001, w, sdLine(p, a1, b1));\n    float lineVal1 = sdLine(p, a1, b1);\n    float lineVal2 = sdLine(p, a2, b2);\n    vec2 ww = vec2(w*1.5, 0.0);\n    vec2 left = max(a1 + ww, a2 + ww);\n    vec2 right = min(b1 - ww, b2 - ww);\n    vec2 boxCenter = (left + right) * 0.5;\n    //float boxW = right.x - left.x;\n    float boxH = abs(a2.y - a1.y) * 0.5;\n    //float boxVal = sdBox(p - boxCenter, vec2(boxW, boxH)) + w;\n    float boxVal = sdBox(p - boxCenter, vec2(0.04, boxH)) + w;\n    float uniVal1 = opSmoothUnion(lineVal1, boxVal, 0.05);\n    float uniVal2 = opSmoothUnion(lineVal2, boxVal, 0.05);\n    return min(uniVal1, uniVal2);\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    vec2 uv = (2.0 * fragCoord.xy - iResolution.xy)/iResolution.y;\n    float battery = 1.0;\n    //if (iMouse.x > 1.0 && iMouse.y > 1.0) battery = iMouse.y / iResolution.y;\n    //else battery = 0.8;\n    //if (abs(uv.x) < (9.0 / 16.0))\n    {\n        // Grid\n        float fog = smoothstep(0.1, -0.02, abs(uv.y + 0.2));\n        vec3 col = vec3(0.0, 0.1, 0.2);\n        if (uv.y < -0.2)\n        {\n            uv.y = 3.0 / (abs(uv.y + 0.2) + 0.05);\n            uv.x *= uv.y * 1.0;\n            float gridVal = grid(uv, battery);\n            col = mix(col, vec3(1.0, 0.5, 1.0), gridVal);\n        }\n        else\n        {\n            float fujiD = min(uv.y * 4.5 - 0.5, 1.0);\n            uv.y -= battery * 1.1 - 0.51;\n            vec2 sunUV = uv;\n            vec2 fujiUV = uv;\n            \n            // Sun\n            sunUV += vec2(0.75, 0.2);\n            //uv.y -= 1.1 - 0.51;\n            col = vec3(1.0, 0.2, 1.0);\n            float sunVal = sun(sunUV, battery);\n            \n            col = mix(col, vec3(1.0, 0.4, 0.1), sunUV.y * 2.0 + 0.2);\n            col = mix(vec3(0.0, 0.0, 0.0), col, sunVal);\n            \n            // fuji\n            float fujiVal = sdTrapezoid( uv  + vec2(-0.75+sunUV.y * 0.0, 0.5), 1.75 + pow(uv.y * uv.y, 2.1), 0.2, 0.5);\n            float waveVal = uv.y + sin(uv.x * 20.0 + iTime * 2.0) * 0.05 + 0.2;\n            float wave_width = smoothstep(0.0,0.01,(waveVal));\n            \n            // fuji color\n            col = mix( col, mix(vec3(0.0, 0.0, 0.25), vec3(1.0, 0.0, 0.5), fujiD), step(fujiVal, 0.0));\n            // fuji top snow\n            col = mix( col, vec3(1.0, 0.5, 1.0), wave_width * step(fujiVal, 0.0));\n            // fuji outline\n            col = mix( col, vec3(1.0, 0.5, 1.0), 1.0-smoothstep(0.0,0.01,abs(fujiVal)) );\n            //col = mix( col, vec3(1.0, 1.0, 1.0), 1.0-smoothstep(0.03,0.04,abs(fujiVal)) );\n            //col = vec3(1.0, 1.0, 1.0) *(1.0-smoothstep(0.03,0.04,abs(fujiVal)));\n            \n            // horizon color\n            col += mix( col, mix(vec3(1.0, 0.12, 0.8), vec3(0.0, 0.0, 0.2), clamp(uv.y * 3.5 + 3.0, 0.0, 1.0)), step(0.0, fujiVal) );\n            \n            // cloud\n            vec2 cloudUV = uv;\n            cloudUV.x = mod(cloudUV.x + iTime * 0.1, 4.0) - 2.0;\n            float cloudTime = iTime * 0.5;\n            float cloudY = -0.5;\n            float cloudVal1 = sdCloud(cloudUV, \n                                     vec2(0.1 + sin(cloudTime + 140.5)*0.1,cloudY), \n                                     vec2(1.05 + cos(cloudTime * 0.9 - 36.56) * 0.1, cloudY), \n                                     vec2(0.2 + cos(cloudTime * 0.867 + 387.165) * 0.1,0.25+cloudY), \n                                     vec2(0.5 + cos(cloudTime * 0.9675 - 15.162) * 0.09, 0.25+cloudY), 0.075);\n            cloudY = -0.6;\n            float cloudVal2 = sdCloud(cloudUV, \n                                     vec2(-0.9 + cos(cloudTime * 1.02 + 541.75) * 0.1,cloudY), \n                                     vec2(-0.5 + sin(cloudTime * 0.9 - 316.56) * 0.1, cloudY), \n                                     vec2(-1.5 + cos(cloudTime * 0.867 + 37.165) * 0.1,0.25+cloudY), \n                                     vec2(-0.6 + sin(cloudTime * 0.9675 + 665.162) * 0.09, 0.25+cloudY), 0.075);\n            \n            float cloudVal = min(cloudVal1, cloudVal2);\n            //col = mix(col, vec3(1.0,1.0,0.0), smoothstep(0.0751, 0.075, cloudVal));\n            col = mix(col, vec3(0.0, 0.0, 0.2), 1.0 - smoothstep(0.075 - 0.0001, 0.075, cloudVal));\n            col += vec3(1.0, 1.0, 1.0)*(1.0 - smoothstep(0.0,0.01,abs(cloudVal - 0.075)));\n        }\n        col += fog * fog * fog;\n        col = mix(vec3(col.r, col.r, col.r) * 0.5, col, battery * 0.7);\n        fragColor = vec4(col,1.0);\n    }\n\n}\n\n        `},{title:\"Synthwave\",author:\"stduhpf\",originalURL:\"https://www.shadertoy.com/view/tsScRK\",value:`\n\n//#define AA 2\n//#define VAPORWAVE\n//#define stereo 1. // -1. for cross-eyed (defaults to parallel view)\n#define speed 10. \n#define wave_thing\n//#define city\n\n//you can add any sound texture in iChannel0 to turn it into a cool audio visualizer \n// (it looks better with lower speeds though)\n//you should commment out or remove the following line to enable it (it's disabled mainly for performance reasons):\n#define disable_sound_texture_sampling\n\n#ifndef disable_sound_texture_sampling\n    #undef speed \n    // lower value of speed when using as audio visualizer\n    #define speed 5.\n#endif\n\n//self-explainatory\n#define audio_vibration_amplitude .125\nfloat jTime;\n#ifdef disable_sound_texture_sampling\n#define textureMirror(a, b) vec4(0)\n#else\nvec4 textureMirror(sampler2D tex, vec2 c){\n    vec2 cf = fract(c);\n    return texture(tex,mix(cf,1.-cf,mod(floor(c),2.)));\n}\n#endif\n\nfloat amp(vec2 p){\n    return smoothstep(1.,8.,abs(p.x));   \n}\n\nfloat pow512(float a){\n    a*=a;//^2\n    a*=a;//^4\n    a*=a;//^8\n    a*=a;//^16\n    a*=a;//^32\n    a*=a;//^64\n    a*=a;//^128\n    a*=a;//^256\n    return a*a;\n}\n\nfloat pow1d5(float a){\n    return a*sqrt(a);\n}\n\nfloat hash21(vec2 co){\n    return fract(sin(dot(co.xy,vec2(1.9898,7.233)))*45758.5433);\n}\n\nfloat hash(vec2 uv){\n    float a = amp(uv);\n    #ifdef wave_thing\n    float w = a>0.?(1.-.4*pow512(.51+.49*sin((.02*(uv.y+.5*uv.x)-jTime)*2.))):0.;\n    #else\n    float w=1.;\n    #endif\n    return (a>0.?\n        a*pow1d5(\n        //texture(iChannel0,uv/iChannelResolution[0].xy).r\n        hash21(uv)\n        )*w\n        :0.)-(textureMirror(iChannel0,vec2((uv.x*29.+uv.y)*.03125,1.)).x)*audio_vibration_amplitude;\n}\n\nfloat edgeMin(float dx,vec2 da, vec2 db,vec2 uv){\n    uv.x+=5.;\n    vec3 c = fract((round(vec3(uv,uv.x+uv.y)))*(vec3(0,1,2)+0.61803398875));\n    float a1 = textureMirror(iChannel0,vec2(c.y,0.)).x>.6?.15:1.;\n    float a2 = textureMirror(iChannel0,vec2(c.x,0.)).x>.6?.15:1.;\n    float a3 = textureMirror(iChannel0,vec2(c.z,0.)).x>.6?.15:1.;\n    return min(min((1.-dx)*db.y*a3,da.x*a2),da.y*a1);\n}\n\nvec2 trinoise(vec2 uv){\n    const float sq = sqrt(3./2.);\n    uv.x *= sq;\n    uv.y -= .5*uv.x;\n    vec2 d = fract(uv);\n    uv -= d;\n    bool c = dot(d,vec2(1))>1.;\n    vec2 dd = 1.-d;\n    vec2 da = c?dd:d,db = c?d:dd;\n    float nn = hash(uv+float(c));\n    float n2 = hash(uv+vec2(1,0));\n    float n3 = hash(uv+vec2(0,1));\n    float nmid = mix(n2,n3,d.y);\n    float ns = mix(nn,c?n2:n3,da.y);\n    float dx = da.x/db.y;\n    return vec2(mix(ns,nmid,dx),edgeMin(dx,da, db,uv+d));\n}\n\nvec2 map(vec3 p){\n    vec2 n = trinoise(p.xz);\n    return vec2(p.y-2.*n.x,n.y);\n}\n\nvec3 grad(vec3 p){\n    const vec2 e = vec2(.005,0);\n    float a =map(p).x;\n    return vec3(map(p+e.xyy).x-a\n                ,map(p+e.yxy).x-a\n                ,map(p+e.yyx).x-a)/e.x;\n}\n\nvec2 intersect(vec3 ro,vec3 rd){\n    float d =0.,h=0.;\n    for(int i = 0;i<500;i++){ //look nice with 50 iterations\n        vec3 p = ro+d*rd;\n        vec2 s = map(p);\n        h = s.x;\n        d+= h*.5;\n        if(abs(h)<.003*d)\n            return vec2(d,s.y);\n        if(d>150.|| p.y>2.) break;\n    }\n    return vec2(-1);\n}\n\nvoid addsun(vec3 rd,vec3 ld,inout vec3 col){\n\tfloat sun = smoothstep(.21,.2,distance(rd,ld));\n    if(sun>0.){\n        float yd = (rd.y-ld.y);\n        float a =sin(3.1*exp(-(yd)*14.)); \n        sun*=smoothstep(-.8,0.,a);\n        col = mix(col,vec3(1.,.8,.4)*.75,sun);\n    }\n}\n\n\nfloat starnoise(vec3 rd){\n  float c = 0.;\n  vec3 p = normalize(rd)*300.;\n\tfor (float i=0.;i<4.;i++)\n    {\n        vec3 q = fract(p)-.5;\n        vec3 id = floor(p);\n        float c2 = smoothstep(.5,0.,length(q));\n        c2 *= step(hash21(id.xz/id.y),.06-i*i*0.005);\n        c += c2;\n        p = p*.6+.5*p*mat3(3./5.,0,4./5.,0,1,0,-4./5.,0,3./5.);\n    }\n    c*=c;\n    float g = dot(sin(rd*10.512),cos(rd.yzx*10.512));\n    c*=smoothstep(-3.14,-.9,g)*.5+.5*smoothstep(-.3,1.,g);\n    return c*c;\n}\n\nvec3 gsky(vec3 rd,vec3 ld,bool mask){\n    float haze = exp2(-5.*(abs(rd.y)-.2*dot(rd,ld)));\n    //float st = mask?pow512(texture(iChannel0,(rd.xy+vec2(300.1,100)*rd.z)*10.).r)*(1.-min(haze,1.)):0.;\n    //float st = mask?pow512(hash21((rd.xy+vec2(300.1,100)*rd.z)*10.))*(1.-min(haze,1.)):0.;\n    float st = mask?(starnoise(rd))*(1.-min(haze,1.)):0.;\n    vec3 back = vec3(.4,.1,.7)*(1.-.5*textureMirror(iChannel0,vec2(.5+.05*rd.x/rd.y,0.)).x\n    *exp2(-.1*abs(length(rd.xz)/rd.y))\n    *max(sign(rd.y),0.));\n    #ifdef city\n    float x = round(rd.x*30.);\n    float h = hash21(vec2(x-166.));\n    bool building = (h*h*.125*exp2(-x*x*x*x*.0025)>rd.y);\n    if(mask && building)\n        back*=0.,haze=.8, mask=mask && !building;\n    #endif\n    vec3 col=clamp(mix(back,vec3(.7,.1,.4),haze)+st,0.,1.);\n    if(mask)addsun(rd,ld,col);\n    return col;  \n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    fragColor=vec4(0);\n    #ifdef AA\n    for(float x = 0.;x<1.;x+=1./float(AA)){\n    for(float y = 0.;y<1.;y+=1./float(AA)){\n    #else\n        const float AA=1.,x=0.,y=0.;\n    #endif\n    vec2 uv = (2.*(fragCoord+vec2(x,y))-iResolution.xy)/iResolution.y;\n    \n    const float shutter_speed = .25; // for motion blur\n\t//float dt = fract(texture(iChannel0,float(AA)*(fragCoord+vec2(x,y))/iChannelResolution[0].xy).r+iTime)*shutter_speed;\n    float dt = fract(hash21(float(AA)*(fragCoord+vec2(x,y)))+iTime)*shutter_speed;\n    jTime = mod(iTime-dt*iTimeDelta,4000.);\n    vec3 ro = vec3(0.,1,(-20000.+jTime*speed));\n    \n        #ifdef stereo\n            ro+=stereo*vec3(.2*(float(uv.x>0.)-.5),0.,0.); \n            const float de = .9;\n            uv.x=uv.x+.5*(uv.x>0.?-de:de);\n            uv*=2.;\n\t\t#endif\n        \n    vec3 rd = normalize(vec3(uv,4./3.));//vec3(uv,sqrt(1.-dot(uv,uv)));\n    vec2 i = intersect(ro,rd);\n    float d = i.x;\n    vec3 ld = normalize(vec3(0,.125+.05*sin(.1*jTime),1));\n    vec3 fog = d>0.?exp2(-d*vec3(.14,.1,.28)):vec3(0.);\n    vec3 sky = gsky(rd,ld,d<0.);\n    vec3 p = ro+d*rd;\n    vec3 n = normalize(grad(p));\n    float diff = dot(n,ld)+.1*n.y;\n    vec3 col = vec3(.1,.11,.18)*diff;\n    vec3 rfd = reflect(rd,n); \n    vec3 rfcol = gsky(rfd,ld,true);\n    col = mix(col,rfcol,.05+.95*pow(max(1.+dot(rd,n),0.),5.));\n    #ifdef VAPORWAVE\n    col = mix(col,vec3(.4,.5,1.),smoothstep(.05,.0,i.y));\n    col = mix(sky,col,fog);\n    col = sqrt(col);\n    #else\n    col = mix(col,vec3(.8,.1,.92),smoothstep(.05,.0,i.y));\n    col = mix(sky,col,fog);\n    //no gamma for that old cg look\n    #endif\n    if(d<0.)\n        d=1e6;\n    d=min(d,10.);\n    fragColor += vec4(clamp(col,0.,1.),d<0.?0.:.1+exp2(-d));\n     #ifdef AA\n    }\n    }\n    fragColor/=float(AA*AA);\n    #endif\n    fragColor = vec4(col,1.0);\n}\n`},{title:\"Disco tunnel\",author:\"WAHa_06x36\",originalURL:\"https://www.shadertoy.com/view/XstfzB\",value:` \n\nvec2 position(float z) {\n\treturn vec2(\n\t\t0.0 + sin(z * 0.1) * 1.0 + sin(cos(z * 0.031) * 4.0) * 1.0 + sin(sin(z * 0.0091) * 3.0) * 3.0,\n\t\t0.0 + cos(z * 0.1) * 1.0 + cos(cos(z * 0.031) * 4.0) * 1.0 + cos(sin(z * 0.0091) * 3.0) * 3.0\n\t) * 1.0;\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n\tvec2 p = (fragCoord.xy * 2.0 - iResolution.xy) / min(iResolution.x, iResolution.y);\n\tfloat camZ = 25.0 * iTime;\n\tvec2 cam = position(camZ);\n\tfloat dt = 0.5;\n\tfloat camZ2 = 25.0 * (iTime + dt);\n \tvec2 cam2 = position(camZ2);\n\tvec2 dcamdt = (cam2 - cam) / dt;\n\tvec3 f = vec3(0.0);\n \tfor(int j = 1; j < 300; j++) {\n\t\tfloat i = float(j);\n\t\tfloat realZ = floor(camZ) + i;\n\t\tfloat screenZ = realZ - camZ;\n\t\tfloat r = 1.0 / screenZ;\n \t\tvec2 c = (position(realZ) - cam) * 10.0 / screenZ - dcamdt * 0.4;\n\t \tvec3 color = (vec3(sin(realZ * 0.07), sin(realZ * 0.1), sin(realZ * 0.08)) + vec3(1.0)) / 2.0;\n \t\tf += color * 0.06 / screenZ / (abs(length(p - c) - r) + 0.01);\n\t}\n\tfragColor = vec4(f, 1.0);\n}\n\n  `},{title:\"Ball Of Fire\",author:\"Trisomie21\",originalURL:\"https://www.shadertoy.com/view/lsf3RH\",value:` \n\nfloat snoise(vec3 uv, float res)\n{\n\tconst vec3 s = vec3(1e0, 1e2, 1e3);\n\tuv *= res;\n\tvec3 uv0 = floor(mod(uv, res))*s;\n\tvec3 uv1 = floor(mod(uv+vec3(1.), res))*s;\n\tvec3 f = fract(uv); f = f*f*(3.0-2.0*f);\n\tvec4 v = vec4(uv0.x+uv0.y+uv0.z, uv1.x+uv0.y+uv0.z,\n\t\t      \t  uv0.x+uv1.y+uv0.z, uv1.x+uv1.y+uv0.z);\n\tvec4 r = fract(sin(v*1e-1)*1e3);\n\tfloat r0 = mix(mix(r.x, r.y, f.x), mix(r.z, r.w, f.x), f.y);\n\tr = fract(sin((v + uv1.z - uv0.z)*1e-1)*1e3);\n\tfloat r1 = mix(mix(r.x, r.y, f.x), mix(r.z, r.w, f.x), f.y);\n\treturn mix(r0, r1, f.z)*2.-1.;\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) \n{\n\tvec2 p = -.5 + fragCoord.xy / iResolution.xy;\n\tp.x *= iResolution.x/iResolution.y;\n\tfloat color = 3.0 - (3.*length(2.*p));\n\tvec3 coord = vec3(atan(p.x,p.y)/6.2832+.5, length(p)*.4, .5);\n\tfor(int i = 1; i <= 7; i++)\n\t{\n\t\tfloat power = pow(2.0, float(i));\n\t\tcolor += (1.5 / power) * snoise(coord + vec3(0.,-iTime*.05, iTime*.01), power*16.);\n\t}\n\tfragColor = vec4( color, pow(max(color,0.),2.)*0.4, pow(max(color,0.),3.)*0.15 , 1.0);\n}\n\n  `},{title:\"Star Nest\",author:\"Kali\",originalURL:\"https://www.shadertoy.com/view/XlfGRj\",value:` \n \n // Star Nest by Pablo Roman Andrioli\n// License: MIT\n\n#define iterations 17\n#define formuparam 0.53\n#define volsteps 20\n#define stepsize 0.1\n#define zoom   0.800\n#define tile   0.850\n#define speed  0.010 \n#define brightness 0.0015\n#define darkmatter 0.300\n#define distfading 0.730\n#define saturation 0.850\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n\t//get coords and direction\n\tvec2 uv=fragCoord.xy/iResolution.xy-.5;\n\tuv.y*=iResolution.y/iResolution.x;\n\tvec3 dir=vec3(uv*zoom,1.);\n\tfloat time=iTime*speed+.25;\n\n\t//mouse rotation\n\tfloat a1=.5+iMouse.x/iResolution.x*2.;\n\tfloat a2=.8+iMouse.y/iResolution.y*2.;\n\tmat2 rot1=mat2(cos(a1),sin(a1),-sin(a1),cos(a1));\n\tmat2 rot2=mat2(cos(a2),sin(a2),-sin(a2),cos(a2));\n\tdir.xz*=rot1;\n\tdir.xy*=rot2;\n\tvec3 from=vec3(1.,.5,0.5);\n\tfrom+=vec3(time*2.,time,-2.);\n\tfrom.xz*=rot1;\n\tfrom.xy*=rot2;\n\t\n\t//volumetric rendering\n\tfloat s=0.1,fade=1.;\n\tvec3 v=vec3(0.);\n\tfor (int r=0; r<volsteps; r++) {\n\t\tvec3 p=from+s*dir*.5;\n\t\tp = abs(vec3(tile)-mod(p,vec3(tile*2.))); // tiling fold\n\t\tfloat pa,a=pa=0.;\n\t\tfor (int i=0; i<iterations; i++) { \n\t\t\tp=abs(p)/dot(p,p)-formuparam; // the magic formula\n\t\t\ta+=abs(length(p)-pa); // absolute sum of average change\n\t\t\tpa=length(p);\n\t\t}\n\t\tfloat dm=max(0.,darkmatter-a*a*.001); //dark matter\n\t\ta*=a*a; // add contrast\n\t\tif (r>6) fade*=1.-dm; // dark matter, don't render near\n\t\t//v+=vec3(dm,dm*.5,0.);\n\t\tv+=fade;\n\t\tv+=vec3(s,s*s,s*s*s*s)*a*brightness*fade; // coloring based on distance\n\t\tfade*=distfading; // distance fading\n\t\ts+=stepsize;\n\t}\n\tv=mix(vec3(length(v)),v,saturation); //color adjust\n\tfragColor = vec4(v*.01,1.);\t\n}\n  `},{title:\"Starleidoscope\",author:\"DanielXMoore\",originalURL:\"https://www.shadertoy.com/view/ftt3R7\",value:` \n\n#define NUM_LAYERS 10.\n\nmat2 Rot(float a) {\n  float c = cos(a), s = sin(a);\n  return mat2(c, -s, s, c);\n}\n\nfloat Star(vec2 uv, float flare) {\n    float col = 0.;\n    float d = length(uv);\n    float m = .02/d;\n    float rays = max(0., 1. - abs(uv.x * uv.y * 1000.));\n    m += rays * flare;\n    uv *= Rot(3.1415/4.);\n    rays = max(0., 1. - abs(uv.x * uv.y * 1000.));\n    m += rays * .3 * flare;\n    m *= smoothstep(1., .2, d);\n    return m;\n}\n\nfloat Hash21(vec2 p) {\n  p = fract(p * vec2(123.34, 456.21));\n  p += dot(p, p+45.32);\n  return fract(p.x*p.y);\n}\n\nvec3 StarLayer(vec2 uv) {\n    vec3 col = vec3(0.);\n    vec2 gv = fract(uv) - 0.5;\n    vec2 id = floor(uv);\n    for(int y = -1; y <= 1; y++ ) {\n        for(int x = -1; x <= 1; x++) {\n            vec2 offs = vec2(x, y);\n            float n = Hash21(id + offs);\n            float size = fract(n*345.32);            \n            vec2 p = vec2(n, fract(n*34.));\n            float star = Star(gv - offs - p + .5, smoothstep(.8, 1., size) * .6);\n            vec3 hueShift = fract(n*2345.2 + dot(uv /420.,texture(iChannel0, vec2(0.25, 0.)).rg))*vec3(.2, .3, .9)*123.2;\n            vec3 color = sin(hueShift) * .5 + .5;\n            color = color * vec3(1., .25, 1.+size);\n            star *= sin(iTime*3.+n*6.2831)*.4+1.;\n            col += star * size * color;\n        }\n    }\n    return col;\n}\n\nvec2 N(float angle) {\n  return vec2(sin(angle), cos(angle));\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    vec2 uv = (fragCoord - 0.5*iResolution.xy)/iResolution.y;\n    vec2 M = (iMouse.xy - iResolution.xy*.5)/iResolution.y;\n    float t = iTime * .01;\n    uv.x = abs(uv.x);\n    uv.y += tan((5./6.) * 3.1415) * .5;\n    vec2 n = N((5./6.) * 3.1415);\n    float d = dot(uv - vec2(.5, 0.), n);\n    uv -= n * max(0., d) * 2.;\n    // col += smoothstep(.01, .0, abs(d));\n    n = N((2./3.) * 3.1415);\n    float scale = 1.;\n    uv.x += 1.5 / 1.25;\n    for(int i=0; i<5; i++) {\n        scale *= 1.25;\n        uv *= 1.25;\n        uv.x -= 1.5;\n        uv.x = abs(uv.x);\n        uv.x -= 0.5;\n        uv -= n * min(0., dot(uv, n)) * 2.;\n    }\n \n    uv += M * 4.;\n    uv *= Rot(t);\n    vec3 col = vec3(0.);\n    float layers = 10.;\n\n    for(float i=0.; i < 1.; i+=1./NUM_LAYERS) {\n        float depth = fract(i+t);\n        float scale = mix(20., .5, depth);\n        float fade = depth * smoothstep(1., .9, depth);\n        col += StarLayer(uv * scale + i * 453.2) * fade;\n    }\n\n    fragColor = vec4(col,1.0);\n}\n  `},{title:\"Phantom Star\",author:\"kasari39\",originalURL:\"https://www.shadertoy.com/view/ttKGDt\",value:` \nprecision highp float;\n\nmat2 rot(float a) {\n    float c = cos(a), s = sin(a);\n    return mat2(c,s,-s,c);\n}\n\nconst float pi = acos(-1.0);\nconst float pi2 = pi*2.0;\nvec2 pmod(vec2 p, float r) {\n    float a = atan(p.x, p.y) + pi/r;\n    float n = pi2 / r;\n    a = floor(a/n)*n;\n    return p*rot(-a);\n}\n\nfloat box( vec3 p, vec3 b ) {\n    vec3 d = abs(p) - b;\n    return min(max(d.x,max(d.y,d.z)),0.0) + length(max(d,0.0));\n}\n\nfloat ifsBox(vec3 p) {\n    for (int i=0; i<5; i++) {\n        p = abs(p) - 1.0;\n        p.xy *= rot(iTime*0.3);\n        p.xz *= rot(iTime*0.1);\n    }\n    p.xz *= rot(iTime);\n    return box(p, vec3(0.4,0.8,0.3));\n}\n\nfloat map(vec3 p, vec3 cPos) {\n    vec3 p1 = p;\n    p1.x = mod(p1.x-5., 10.) - 5.;\n    p1.y = mod(p1.y-5., 10.) - 5.;\n    p1.z = mod(p1.z, 16.)-8.;\n    p1.xy = pmod(p1.xy, 5.0);\n    return ifsBox(p1);\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord ) {\n    vec2 p = (fragCoord.xy * 2.0 - iResolution.xy) / min(iResolution.x, iResolution.y);\n    vec3 cPos = vec3(0.0,0.0, -3.0 * iTime);\n    // vec3 cPos = vec3(0.3*sin(iTime*0.8), 0.4*cos(iTime*0.3), -6.0 * iTime);\n    vec3 cDir = normalize(vec3(0.0, 0.0, -1.0));\n    vec3 cUp  = vec3(sin(iTime), 1.0, 0.0);\n    vec3 cSide = cross(cDir, cUp);\n    vec3 ray = normalize(cSide * p.x + cUp * p.y + cDir);\n\n    // Phantom Mode https://www.shadertoy.com/view/MtScWW by aiekick\n    float acc = 0.0;\n    float acc2 = 0.0;\n    float t = 0.0;\n    for (int i = 0; i < 99; i++) {\n        vec3 pos = cPos + ray * t;\n        float dist = map(pos, cPos);\n        dist = max(abs(dist), 0.02);\n        float a = exp(-dist*3.0);\n        if (mod(length(pos)+24.0*iTime, 30.0) < 3.0) {\n            a *= 2.0;\n            acc2 += a;\n        }\n        acc += a;\n        t += dist * 0.5;\n    }\n\n    vec3 col = vec3(acc * 0.01, acc * 0.011 + acc2*0.002, acc * 0.012+ acc2*0.005);\n    fragColor = vec4(col, 1.0 - t * 0.03);\n    fragColor.a = 1.0;\n}\n  `},{title:\"Shooting Stars\",author:\"Xor\",originalURL:\"https://www.shadertoy.com/view/ctXGRn\",value:` \nvoid mainImage(out vec4 O, vec2 I)\n{\n    //Clear fragcolor\n    O *= 0.;\n    \n    //Line dimensions (box) and position relative to line\n    vec2 b = vec2(0,.2), p;\n    //Rotation matrix\n    mat2 R;\n    //Iterate 20 times\n    for(float i=.9; i++<20.;\n        //Add attenuation\n        O += 1e-3/length(clamp(p=R\n        //Using rotated boxes\n        *(fract((I/iResolution.y*i*.1+iTime*b)*R)-.5),-b,b)-p)\n        //My favorite color palette\n        *(cos(p.y/.1+vec4(0,1,2,3))+1.) )\n        //Rotate for each iteration\n        R=mat2(cos(i+vec4(0,33,11,0)));\n          O.a = 1.0;\n}\n  `},{title:\"Zippy Zaps\",author:\"SnoopethDuckDuck\",originalURL:\"https://www.shadertoy.com/view/XXyGzh\",value:` \n  void mainImage( out vec4 o, vec2 u )\n{\n    vec2 v = iResolution.xy;\n         u = .2*(u+u-v)/v.y;    \n         \n    vec4 z = o = vec4(1,2,3,0);\n     \n    for (float a = .5, t = iTime, i; \n         ++i < 19.; \n         o += (1. + cos(z+t)) \n            / length((1.+i*dot(v,v)) \n                   * sin(1.5*u/(.5-dot(u,u)) - 9.*u.yx + t))\n         )  \n        v = cos(++t - 7.*u*pow(a += .03, i)) - 5.*u,                 \n        u += tanh(40. * dot(u *= mat2(cos(i + .02*t - vec4(0,11,33,0)))\n                           ,u)\n                      * cos(1e2*u.yx + t)) / 2e2\n           + .2 * a * u\n           + cos(4./exp(dot(o,o)/1e2) + t) / 3e2;\n              \n     o = 25.6 / (min(o, 13.) + 164. / o) \n       - dot(u, u) / 250.;\n            o*=1.0;\n}\n  `},{title:\"Inside the Matrix\",author:\"And390\",originalURL:\"https://www.shadertoy.com/view/4t3BWl\",value:` \n\n\nconst int ITERATIONS = 40;   //use less value if you need more performance\nconst float SPEED = 1.;\nconst float STRIP_CHARS_MIN =  7.;\nconst float STRIP_CHARS_MAX = 40.;\nconst float STRIP_CHAR_HEIGHT = 0.15;\nconst float STRIP_CHAR_WIDTH = 0.10;\nconst float ZCELL_SIZE = 1. * (STRIP_CHAR_HEIGHT * STRIP_CHARS_MAX);  //the multiplier can't be less than 1.\nconst float XYCELL_SIZE = 12. * STRIP_CHAR_WIDTH;  //the multiplier can't be less than 1.\nconst int BLOCK_SIZE = 10;  //in cells\nconst int BLOCK_GAP = 2;    //in cells\nconst float WALK_SPEED = 1. * XYCELL_SIZE;\nconst float BLOCKS_BEFORE_TURN = 3.;\nconst float PI = 3.14159265359;\n\n//----  random  ----\nfloat hash(float v) {\n    return fract(sin(v)*43758.5453123);\n}\n\nfloat hash(vec2 v) {\n    return hash(dot(v, vec2(5.3983, 5.4427)));\n}\n\nvec2 hash2(vec2 v)\n{\n    v = vec2(v * mat2(127.1, 311.7,  269.5, 183.3));\n\treturn fract(sin(v)*43758.5453123);\n}\n\nvec4 hash4(vec2 v)\n{\n    vec4 p = vec4(v * mat4x2( 127.1, 311.7,\n                              269.5, 183.3,\n                              113.5, 271.9,\n                              246.1, 124.6 ));\n    return fract(sin(p)*43758.5453123);\n}\n\nvec4 hash4(vec3 v)\n{\n    vec4 p = vec4(v * mat4x3( 127.1, 311.7, 74.7,\n                              269.5, 183.3, 246.1,\n                              113.5, 271.9, 124.6,\n                              271.9, 269.5, 311.7 ) );\n    return fract(sin(p)*43758.5453123);\n}\n\n\n//  ----  symbols  ----\n//  Slightly modified version of \"runes\" by FabriceNeyret2 -  https://www.shadertoy.com/view/4ltyDM\n//  Which is based on \"runes\" by otaviogood -  https://shadertoy.com/view/MsXSRn\n\nfloat rune_line(vec2 p, vec2 a, vec2 b) {   // from https://www.shadertoy.com/view/4dcfW8\n    p -= a, b -= a;\n\tfloat h = clamp(dot(p, b) / dot(b, b), 0., 1.);   // proj coord on line\n\treturn length(p - b * h);                         // dist to segment\n}\n\nfloat rune(vec2 U, vec2 seed, float highlight)\n{\n\tfloat d = 1e5;\n\tfor (int i = 0; i < 4; i++)\t// number of strokes\n\t{\n    vec4 pos = hash4(seed);\n\t\tseed += 1.;\n\n\t\t// each rune touches the edge of its box on all 4 sides\n\t\tif (i == 0) pos.y = .0;\n\t\tif (i == 1) pos.x = .999;\n\t\tif (i == 2) pos.x = .0;\n\t\tif (i == 3) pos.y = .999;\n\t\t// snap the random line endpoints to a grid 2x3\n\t\tvec4 snaps = vec4(2, 3, 2, 3);\n\t\tpos = ( floor(pos * snaps) + .5) / snaps;\n\t\tif (pos.xy != pos.zw)  //filter out single points (when start and end are the same)\n\t\t    d = min(d, rune_line(U, pos.xy, pos.zw + .001) ); // closest line\n\t}\n\treturn smoothstep(0.1, 0., d) + highlight*smoothstep(0.4, 0., d);\n}\n\nfloat random_char(vec2 outer, vec2 inner, float highlight) {\n    vec2 seed = vec2(dot(outer, vec2(269.5, 183.3)), dot(outer, vec2(113.5, 271.9)));\n    return rune(inner, seed, highlight);\n}\n\n//----  digital rain  ----\n// xy - horizontal, z - vertical\nvec3 rain(vec3 ro3, vec3 rd3, float time) {\n    vec4 result = vec4(0.);\n\n    // normalized 2d projection\n    vec2 ro2 = vec2(ro3);\n    vec2 rd2 = normalize(vec2(rd3));\n\n    // we use formulas \"ro3 + rd3 * t3\" and \"ro2 + rd2 * t2\", \"t3_to_t2\" is a multiplier to convert t3 to t2\n    bool prefer_dx = abs(rd2.x) > abs(rd2.y);\n    float t3_to_t2 = prefer_dx ? rd3.x / rd2.x : rd3.y / rd2.y;\n\n    // at first, horizontal space (xy) is divided into cells (which are columns in 3D)\n    // then each xy-cell is divided into vertical cells (along z) - each of these cells contains one raindrop\n\n    ivec3 cell_side = ivec3(step(0., rd3));      //for positive rd.x use cell side with higher x (1) as the next side, for negative - with lower x (0), the same for y and z\n    ivec3 cell_shift = ivec3(sign(rd3));         //shift to move to the next cell\n\n    //  move through xy-cells in the ray direction\n    float t2 = 0.;  // the ray formula is: ro2 + rd2 * t2, where t2 is positive as the ray has a direction.\n    ivec2 next_cell = ivec2(floor(ro2/XYCELL_SIZE));  //first cell index where ray origin is located\n    for (int i=0; i<ITERATIONS; i++) {\n        ivec2 cell = next_cell;  //save cell value before changing\n        float t2s = t2;          //and t\n\n        //  find the intersection with the nearest side of the current xy-cell (since we know the direction, we only need to check one vertical side and one horizontal side)\n        vec2 side = vec2(next_cell + cell_side.xy) * XYCELL_SIZE;  //side.x is x coord of the y-axis side, side.y - y of the x-axis side\n        vec2 t2_side = (side - ro2) / rd2;  // t2_side.x and t2_side.y are two candidates for the next value of t2, we need the nearest\n        if (t2_side.x < t2_side.y) {\n            t2 = t2_side.x;\n            next_cell.x += cell_shift.x;  //cross through the y-axis side\n        } else {\n            t2 = t2_side.y;\n            next_cell.y += cell_shift.y;  //cross through the x-axis side\n        }\n        //now t2 is the value of the end point in the current cell (and the same point is the start value in the next cell)\n\n        //  gap cells\n        vec2 cell_in_block = fract(vec2(cell) / float(BLOCK_SIZE));\n        float gap = float(BLOCK_GAP) / float(BLOCK_SIZE);\n        if (cell_in_block.x < gap || cell_in_block.y < gap || (cell_in_block.x < (gap+0.1) && cell_in_block.y < (gap+0.1))) {\n            continue;\n        }\n\n        //  return to 3d - we have start and end points of the ray segment inside the column (t3s and t3e)\n        float t3s = t2s / t3_to_t2;\n\n        //  move through z-cells of the current column in the ray direction (don't need much to check, two nearest cells are enough)\n        float pos_z = ro3.z + rd3.z * t3s;\n        float xycell_hash = hash(vec2(cell));\n        float z_shift = xycell_hash*11. - time * (0.5 + xycell_hash * 1.0 + xycell_hash * xycell_hash * 1.0 + pow(xycell_hash, 16.) * 3.0);  //a different z shift for each xy column\n        float char_z_shift = floor(z_shift / STRIP_CHAR_HEIGHT);\n        z_shift = char_z_shift * STRIP_CHAR_HEIGHT;\n        int zcell = int(floor((pos_z - z_shift)/ZCELL_SIZE));  //z-cell index\n        for (int j=0; j<2; j++) {  //2 iterations is enough if camera doesn't look much up or down\n            //  calcaulate coordinates of the target (raindrop)\n            vec4 cell_hash = hash4(vec3(ivec3(cell, zcell)));\n            vec4 cell_hash2 = fract(cell_hash * vec4(127.1, 311.7, 271.9, 124.6));\n\n            float chars_count = cell_hash.w * (STRIP_CHARS_MAX - STRIP_CHARS_MIN) + STRIP_CHARS_MIN;\n            float target_length = chars_count * STRIP_CHAR_HEIGHT;\n            float target_rad = STRIP_CHAR_WIDTH / 2.;\n            float target_z = (float(zcell)*ZCELL_SIZE + z_shift) + cell_hash.z * (ZCELL_SIZE - target_length);\n            vec2 target = vec2(cell) * XYCELL_SIZE + target_rad + cell_hash.xy * (XYCELL_SIZE - target_rad*2.);\n\n            //  We have a line segment (t0,t). Now calculate the distance between line segment and cell target (it's easier in 2d)\n            vec2 s = target - ro2;\n            float tmin = dot(s, rd2);  //tmin - point with minimal distance to target\n            if (tmin >= t2s && tmin <= t2) {\n                float u = s.x * rd2.y - s.y * rd2.x;  //horizontal coord in the matrix strip\n                if (abs(u) < target_rad) {\n                    u = (u/target_rad + 1.) / 2.;\n                    float z = ro3.z + rd3.z * tmin/t3_to_t2;\n                    float v = (z - target_z) / target_length;  //vertical coord in the matrix strip\n                    if (v >= 0.0 && v < 1.0) {\n                        float c = floor(v * chars_count);  //symbol index relative to the start of the strip, with addition of char_z_shift it becomes an index relative to the whole cell\n                        float q = fract(v * chars_count);\n                        vec2 char_hash = hash2(vec2(c+char_z_shift, cell_hash2.x));\n                        if (char_hash.x >= 0.1 || c == 0.) {  //10% of missed symbols\n                            float time_factor = floor(c == 0. ? time*5.0 :  //first symbol is changed fast\n                                    time*(1.0*cell_hash2.z +   //strips are changed sometime with different speed\n                                            cell_hash2.w*cell_hash2.w*4.*pow(char_hash.y, 4.)));  //some symbols in some strips are changed relatively often\n                            float a = random_char(vec2(char_hash.x, time_factor), vec2(u,q), max(1., 3. - c/2.)*0.2);  //alpha\n                            a *= clamp((chars_count - 0.5 - c) / 2., 0., 1.);  //tail fade\n                            if (a > 0.) {\n                                float attenuation = 1. + pow(0.06*tmin/t3_to_t2, 2.);\n                                vec3 col = (c == 0. ? vec3(0.67, 1.0, 0.82) : vec3(0.25, 0.80, 0.40)) / attenuation;\n                                float a1 = result.a;\n                                result.a = a1 + (1. - a1) * a;\n                                result.xyz = (result.xyz * a1 + col * (1. - a1) * a) / result.a;\n                                if (result.a > 0.98)  return result.xyz;\n                            }\n                        }\n                    }\n                }\n            }\n            // not found in this cell - go to next vertical cell\n            zcell += cell_shift.z;\n        }\n        // go to next horizontal cell\n    }\n    return result.xyz * result.a;\n}\n\n//  ----  main, camera  ----\n\nvec2 rotate(vec2 v, float a) {\n    float s = sin(a);\n\tfloat c = cos(a);\n    mat2 m = mat2(c, -s, s, c);\n    return m * v;\n}\n\nvec3 rotateX(vec3 v, float a) {\n    float s = sin(a);\n    float c = cos(a);\n    return mat3(1.,0.,0.,0.,c,-s,0.,s,c) * v;\n}\n\nvec3 rotateY(vec3 v, float a) {\n    float s = sin(a);\n    float c = cos(a);\n    return mat3(c,0.,-s,0.,1.,0.,s,0.,c) * v;\n}\n\nvec3 rotateZ(vec3 v, float a) {\n    float s = sin(a);\n    float c = cos(a);\n    return mat3(c,-s,0.,s,c,0.,0.,0.,1.) * v;\n}\n\nfloat smoothstep1(float x) {\n    return smoothstep(0., 1., x);\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    if (STRIP_CHAR_WIDTH > XYCELL_SIZE || STRIP_CHAR_HEIGHT * STRIP_CHARS_MAX > ZCELL_SIZE) {\n        // error\n        fragColor = vec4(1., 0., 0., 1.);\n        return;\n    }\n\n\t  vec2 uv = (fragCoord.xy * 2. - iResolution.xy) / iResolution.y;\n    float time = iTime * SPEED;\n    const float turn_rad = 0.25 / BLOCKS_BEFORE_TURN;   //0 .. 0.5\n    const float turn_abs_time = (PI/2.*turn_rad) * 1.5;  //multiplier different than 1 means a slow down on turns\n    const float turn_time = turn_abs_time / (1. - 2.*turn_rad + turn_abs_time);  //0..1, but should be <= 0.5\n    float level1_size = float(BLOCK_SIZE) * BLOCKS_BEFORE_TURN * XYCELL_SIZE;\n    float level2_size = 4. * level1_size;\n    float gap_size = float(BLOCK_GAP) * XYCELL_SIZE;\n    vec3 ro = vec3(gap_size/2., gap_size/2., 0.);\n    vec3 rd = vec3(uv.x, 2.0, uv.y);\n    float tq = fract(time / (level2_size*4.) * WALK_SPEED);  //the whole cycle time counter\n    float t8 = fract(tq*4.);  //time counter while walking on one of the four big sides\n    float t1 = fract(t8*8.);  //time counter while walking on one of the eight sides of the big side\n    vec2 prev;\n    vec2 dir;\n    if (tq < 0.25) {\n        prev = vec2(0.,0.);\n        dir = vec2(0.,1.);\n    } else if (tq < 0.5) {\n        prev = vec2(0.,1.);\n        dir = vec2(1.,0.);\n    } else if (tq < 0.75) {\n        prev = vec2(1.,1.);\n        dir = vec2(0.,-1.);\n    } else {\n        prev = vec2(1.,0.);\n        dir = vec2(-1.,0.);\n    }\n    float angle = floor(tq * 4.);  //0..4 wich means 0..2*PI\n    prev *= 4.;\n    const float first_turn_look_angle = 0.4;\n    const float second_turn_drift_angle = 0.5;\n    const float fifth_turn_drift_angle = 0.25;\n    vec2 turn;\n    float turn_sign = 0.;\n    vec2 dirL = rotate(dir, -PI/2.);\n    vec2 dirR = -dirL;\n    float up_down = 0.;\n    float rotate_on_turns = 1.;\n    float roll_on_turns = 1.;\n    float add_angel = 0.;\n    if (t8 < 0.125) {\n        turn = dirL;\n        //dir = dir;\n        turn_sign = -1.;\n        angle -= first_turn_look_angle * (max(0., t1 - (1. - turn_time*2.)) / turn_time - max(0., t1 - (1. - turn_time)) / turn_time * 2.5);\n        roll_on_turns = 0.;\n    } else if (t8 < 0.250) {\n        prev += dir;\n        turn = dir;\n        dir = dirL;\n        angle -= 1.;\n        turn_sign = 1.;\n        add_angel += first_turn_look_angle*0.5 + (-first_turn_look_angle*0.5+1.0+second_turn_drift_angle)*t1;\n        rotate_on_turns = 0.;\n        roll_on_turns = 0.;\n    } else if (t8 < 0.375) {\n        prev += dir + dirL;\n        turn = dirR;\n        //dir = dir;\n        turn_sign = 1.;\n        add_angel += second_turn_drift_angle*sqrt(1.-t1);\n        //roll_on_turns = 0.;\n    } else if (t8 < 0.5) {\n        prev += dir + dir + dirL;\n        turn = dirR;\n        dir = dirR;\n        angle += 1.;\n        turn_sign = 0.;\n        up_down = sin(t1*PI) * 0.37;\n    } else if (t8 < 0.625) {\n        prev += dir + dir;\n        turn = dir;\n        dir = dirR;\n        angle += 1.;\n        turn_sign = -1.;\n        up_down = sin(-min(1., t1/(1.-turn_time))*PI) * 0.37;\n    } else if (t8 < 0.750) {\n        prev += dir + dir + dirR;\n        turn = dirL;\n        //dir = dir;\n        turn_sign = -1.;\n        add_angel -= (fifth_turn_drift_angle + 1.) * smoothstep1(t1);\n        rotate_on_turns = 0.;\n        roll_on_turns = 0.;\n    } else if (t8 < 0.875) {\n        prev += dir + dir + dir + dirR;\n        turn = dir;\n        dir = dirL;\n        angle -= 1.;\n        turn_sign = 1.;\n        add_angel -= fifth_turn_drift_angle - smoothstep1(t1) * (fifth_turn_drift_angle * 2. + 1.);\n        rotate_on_turns = 0.;\n        roll_on_turns = 0.;\n    } else {\n        prev += dir + dir + dir;\n        turn = dirR;\n        //dir = dir;\n        turn_sign = 1.;\n        angle += fifth_turn_drift_angle * (1.5*min(1., (1.-t1)/turn_time) - 0.5*smoothstep1(1. - min(1.,t1/(1.-turn_time))));\n    }\n\n    if (iMouse.x > 10. || iMouse.y > 10.) {\n        vec2 mouse = iMouse.xy / iResolution.xy * 2. - 1.;\n        up_down = -0.7 * mouse.y;\n        angle += mouse.x;\n        rotate_on_turns = 1.;\n        roll_on_turns = 0.;\n    } else {\n        angle += add_angel;\n    }\n    rd = rotateX(rd, up_down);\n    vec2 p;\n    if (turn_sign == 0.) {\n        //  move forward\n        p = prev + dir * (turn_rad + 1. * t1);\n    }\n    else if (t1 > (1. - turn_time)) {\n        //  turn\n        float tr = (t1 - (1. - turn_time)) / turn_time;\n        vec2 c = prev + dir * (1. - turn_rad) + turn * turn_rad;\n        p = c + turn_rad * rotate(dir, (tr - 1.) * turn_sign * PI/2.);\n        angle += tr * turn_sign * rotate_on_turns;\n        rd = rotateY(rd, sin(tr*turn_sign*PI) * 0.2 * roll_on_turns);  //roll\n    }  else  {\n        //  move forward\n        t1 /= (1. - turn_time);\n        p = prev + dir * (turn_rad + (1. - turn_rad*2.) * t1);\n    }\n    rd = rotateZ(rd, angle * PI/2.);\n    ro.xy += level1_size * p;\n    ro += rd * 0.2;\n    rd = normalize(rd);\n    vec3 col = rain(ro, rd, time);\n    fragColor = vec4(col, 1.);\n}\n        `},{title:\"Tiles\",author:\"Johnrobmiller\",originalURL:\"https://www.shadertoy.com/view/mdBSRt\",value:` \n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    float aspect_ratio = iResolution.y/iResolution.x;\n\t  vec2 uv = fragCoord.xy / iResolution.x;\n    uv -= vec2(0.5, 0.5 * aspect_ratio);\n    float rot = radians(-30. -iTime); // radians(45.0*sin(iTime));\n    mat2 rotation_matrix = mat2(cos(rot), -sin(rot), sin(rot), cos(rot));\n   \tuv = rotation_matrix * uv;\n    vec2 scaled_uv = 20.0 * uv; \n    vec2 tile = fract(scaled_uv);\n    float tile_dist = min(min(tile.x, 1.0-tile.x), min(tile.y, 1.0-tile.y));\n    float square_dist = length(floor(scaled_uv));\n    float edge = sin(iTime-square_dist*20.);\n    edge = mod(edge * edge, edge / edge);\n    float value = mix(tile_dist, 1.0-tile_dist, step(1.0, edge));\n    edge = pow(abs(1.0-edge), 2.2) * 0.5;\n    value = smoothstep( edge-0.05, edge, 0.95*value);\n    value += square_dist*.1;\n    value *= 0.8 - 0.2;\n    fragColor = vec4(pow(value, 2.), pow(value, 1.5), pow(value, 1.2), 1.);\n}\n  `},{title:\"Dance floor\",author:\"Nrx\",originalURL:\"https://www.shadertoy.com/view/lsBXDW\",value:` \n  \nvec3 hsv2rgb (in vec3 hsv) {\n\thsv.yz = clamp (hsv.yz, 0.0, 1.0);\n\treturn hsv.z * (1.0 + 0.5 * hsv.y * (cos (2.0 * 3.14159 * (hsv.x + vec3 (0.0, 2.0 / 3.0, 1.0 / 3.0))) - 1.0));\n}\n\nfloat rand (in vec2 seed) {\n\treturn fract (sin (dot (seed, vec2 (12.9898, 78.233))) * 137.5453);\n}\n\nvoid mainImage (out vec4 fragColor, in vec2 fragCoord) {\n\tvec2 frag = (2.0 * fragCoord.xy - iResolution.xy) / iResolution.y;\n\tfrag *= 1.0 - 0.2 * cos (frag.yx) * sin (3.14159 * 0.5 * texture (iChannel0, vec2 (0.0)).x);\n\tfrag *= 5.0;\n\tfloat random = rand (floor (frag));\n\tvec2 black = smoothstep (1.0, 0.8, cos (frag * 3.14159 * 2.0));\n\tvec3 color = hsv2rgb (vec3 (random, 1.0, 1.0));\n\tcolor *= black.x * black.y * smoothstep (1.0, 0.0, length (fract (frag) - 0.5));\n\tcolor *= 0.5 + 0.5 * cos (random + random * iTime + iTime + 3.14159 * 0.5 * texture (iChannel0, vec2 (0.7)).x);\n\tfragColor = vec4 (color, 1.0);\n}\n  `},{title:\"Sincos 3d\",author:\"ChunderFPV\",originalURL:\"https://www.shadertoy.com/view/XfXGz4\",value:` \n\n\n#define A(v) mat2(cos(m.v+radians(vec4(0, -90, 90, 0))))  // rotate\n#define W(v) length(vec3(p.yz-v(p.x+vec2(0, pi_2)+t), 0))-lt  // wave\n//#define W(v) length(p-vec3(round(p.x*pi)/pi, v(t+p.x), v(t+pi_2+p.x)))-lt  // alt wave\n#define P(v) length(p-vec3(0, v(t), v(t+pi_2)))-pt  // point\n\nvoid mainImage( out vec4 C, in vec2 U )\n{\n    float lt = .1, // line thickness\n          pt = .3, // point thickness\n          pi = 3.1416,\n          pi2 = pi*2.,\n          pi_2 = pi/2.,\n          t = iTime*pi,\n          s = 1., d = 0., i = d;\n    \n    vec2 R = iResolution.xy,\n         m = (iMouse.xy-.5*R)/R.y*4.;\n    \n    vec3 o = vec3(0, 0, -7), // cam\n         u = normalize(vec3((U-.5*R)/R.y, 1)),\n         c = vec3(0), k = c, p;\n    \n    if (iMouse.z < 1.) m = -vec2(t/20.-pi_2, 0); // move when not clicking\n    mat2 v = A(y), h = A(x); // pitch & yaw\n    \n    for (; i++<50.;) // raymarch\n    {\n        p = o+u*d;\n        p.yz *= v;\n        p.xz *= h;\n        p.x -= 3.; // slide objects to the right a bit\n        if (p.y < -1.5) p.y = 2./p.y; // reflect into neg y\n        k.x = min( max(p.x+lt, W(sin)), P(sin) ); // sine wave\n        k.y = min( max(p.x+lt, W(cos)), P(cos) ); // cosine wave\n        s = min(s, min(k.x, k.y)); // blend\n        if (s < .001 || d > 100.) break; // limits\n        d += s*.5;\n    }\n    \n    // add and color scene\n    c = max(cos(d*pi2) - s*sqrt(d) - k, 0.);\n    c.gb += .1;\n    C = vec4(c*.4 + c.brg*.6 + c*c, 1);\n}\n  `},{title:\"Fireworks\",author:\"ilyaev\",originalURL:\"https://www.shadertoy.com/view/wslcWN\",value:` \n\n#define SPARKS 30\n#define FIREWORKS 8.\n#define BASE_PAUSE FIREWORKS / 30.\n#define PI 3.14\n#define PI2 6.28\n\nfloat n21(vec2 n) {\n    return fract(sin(dot(n, vec2(12.9898, 4.1414))) * 43758.5453);\n}\n\nvec2 randomSpark(float noise) {\n    vec2 v0 = vec2((noise - .5) * 13., (fract(noise * 123.) - .5) * 15.);\n    return v0;\n}\n\nvec2 circularSpark(float i, float noiseId, float noiseSpark) {\n    noiseId = fract(noiseId * 7897654.45);\n    float a = (PI2 / float(SPARKS)) * i;\n    float speed = 10.*clamp(noiseId, .7, 1.);\n    float x = sin(a + iTime*((noiseId-.5)*3.));\n    float y = cos(a + iTime*(fract(noiseId*4567.332) - .5)*2.);\n    vec2 v0 = vec2(x, y) * speed;\n    return v0;\n}\n\nvec2 rocket(vec2 start, float t) {\n    float y = t;\n    float x = sin(y*10.+cos(t*3.))*.1;\n    vec2 p = start + vec2(x, y * 8.);\n    return p;\n}\nvec3 firework(vec2 uv, float index, float pauseTime) {\n    vec3 col = vec3(0.);\n    float timeScale = 1.;\n    vec2 gravity = vec2(0., -9.8);\n    float explodeTime = .9;\n    float rocketTime = 1.1;\n    float episodeTime = rocketTime + explodeTime + pauseTime;\n    float ratio = iResolution.x / iResolution.y;\n    float timeScaled = (iTime - pauseTime) / timeScale;\n    float id = floor(timeScaled / episodeTime);\n    float et = mod(timeScaled, episodeTime);\n    float noiseId = n21(vec2(id+1., index+1.));\n    float scale = clamp(fract(noiseId*567.53)*30., 10., 30.);\n    uv *= scale;\n    rocketTime -= (fract(noiseId*1234.543) * .5);\n    vec2 pRocket = rocket(vec2(0. + ((noiseId - .5)*scale*ratio), 0. - scale/2.), clamp(et, 0., rocketTime));\n    if (et < rocketTime) {\n        float rd = length(uv - pRocket);\n        col += pow(.05/rd , 1.9) * vec3(0.9, .3, .0);\n    }\n\n    if (et > rocketTime && et < (rocketTime + explodeTime)) {\n        float burst = sign(fract(noiseId*44432.22) - .6);\n        for(int i = 0 ; i < SPARKS ; i++) {\n                vec2 center = pRocket;\n                float fi = float(i);\n                float noiseSpark = fract(n21(vec2(id*10.+index*20., float(i+1))) * 332.44);\n                float t = et - rocketTime;\n                vec2 v0;\n                if (fract(noiseId*3532.33) > .5) {\n                    v0 = randomSpark(noiseSpark);\n                    t -= noiseSpark * (fract(noiseId*543.) * .2);\n                } else {\n                    v0 = circularSpark(fi, noiseId, noiseSpark);\n                    if ( (fract(noiseId*973.22) - .5) > 0.) {\n                        float re = mod(fi, 4. + 10. * noiseId);\n                        t -= floor(re/2.) * burst * .1;\n                    } else {\n                        t -= mod(fi, 2.) == 0. ? 0. : burst * .5*clamp(noiseId, .3, 1.);\n                    }\n                }\n                vec2 s = v0*t + (gravity * t * t) / 2.;\n                vec2 p = center + s;\n                float d = length(uv - p);\n                if (t > 0.) {\n                    float fade = clamp((1. - t/explodeTime), 0., 1.);\n                    vec3 sparkColor = vec3(noiseId*.9, .5*fract(noiseId *456.33), .5*fract(noiseId *1456.33));\n                    vec3 c = (.05 / d) * sparkColor;\n                    col += c * fade;\n                }\n            }\n    }\n    return col;\n}\n\nvoid mainImage(out vec4 fragColor, in vec2 fragCoords) {\n    vec2 uv = fragCoords.xy / iResolution.xy;\n    uv -= .5;\n    uv.x *= iResolution.x / iResolution.y;\n    vec3 col = vec3(0.);\n    for (float i = 0. ; i < FIREWORKS ; i += 1.) {\n        col += firework(uv, i + 1., (i * BASE_PAUSE));\n    }\n    fragColor = vec4(col, 1.);\n}\n  `},{title:\"Party Concert Visuals\",author:\"Blackle Mori\",originalURL:\"https://www.shadertoy.com/view/WtscW4\",value:` \n\nfloat comp (vec3 p) {\n    p = asin(sin(p)*.9);\n    return length(p)-1.;\n}\n\nvec3 erot(vec3 p, vec3 ax, float ro) {\n    return mix(dot(p,ax)*ax,p,cos(ro))+sin(ro)*cross(ax,p);\n}\n\nfloat smin(float a, float b, float k) {\n    float h = max(0.,k-abs(b-a))/k;\n    return min(a,b)-h*h*h*k/6.;\n}\n\nvec4 wrot(vec4 p) {\n    return vec4(dot(p,vec4(1)), p.yzw + p.zwy - p.wyz - p.xxx)/2.;\n}\n\nfloat d1, d2, d3;\nfloat t;\nfloat lazors, doodad;\nvec3 p2;\nfloat bpm = 125.;\nfloat scene(vec3 p) {\n    p2 = erot(p, vec3(0,1,0), t);\n    p2 = erot(p2, vec3(0,0,1), t/3.);\n    p2 = erot(p2, vec3(1,0,0), t/5.);\n    float bpt = iTime/60.*bpm;\n        vec4 p4 = vec4(p2,0);\n        p4=mix(p4,wrot(p4),smoothstep(-.5,.5,sin(bpt/4.)));\n        p4 =abs(p4);\n        p4=mix(p4,wrot(p4),smoothstep(-.5,.5,sin(bpt)));\n    float fctr = smoothstep(-.5,.5,sin(bpt/2.));\n    float fctr2 = smoothstep(.9,1.,sin(bpt/16.));\n    doodad = length(max(abs(p4)-mix(0.05,0.07,fctr),0.)+mix(-0.1,.2,fctr))-mix(.15,.55,fctr*fctr)+fctr2;\n    /*\n        vec4 p4 = vec4(p2,0);\n        p4=wrot(p4);\n        p4 = abs(p4);\n        p4=mix(p4,wrot(p4),smoothstep(-.5,.5,sin(t)));\n        doodad = length(max(abs(p4)-0.07,0)+0.2)-.55;\n    }*/\n    p.x += asin(sin(t/80.)*.99)*80.;\n    lazors = length(asin(sin(erot(p,vec3(1,0,0),t*.2).yz*.5+1.))/.5)-.1;\n    d1 = comp(p);\n    d2 = comp(erot(p+5., normalize(vec3(1,3,4)),0.4));\n    d3 = comp(erot(p+10., normalize(vec3(3,2,1)),1.));\n    return min(doodad,min(lazors,.3-smin(smin(d1,d2,0.05),d3,0.05)));\n}\n\nvec3 norm(vec3 p) {\n    float precis = length(p) < 1. ? 0.005 : 0.01;\n    mat3 k = mat3(p,p,p)-mat3(precis);\n    return normalize(scene(p)-vec3(scene(k[0]),scene(k[1]),scene(k[2])));\n}\n\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\n{\n    vec2 uv = (fragCoord-.5*iResolution.xy)/iResolution.y;\n    float bpt = iTime/60.*bpm;\n    float bp = mix(pow(sin(fract(bpt)*3.14/2.),20.)+floor(bpt), bpt,0.4);\n    t = bp;\n\t  vec3 cam = normalize(vec3(.8+sin(bp*3.14/4.)*.3,uv));\n    vec3 init = vec3(-1.5+sin(bp*3.14)*.2,0,0)+cam*.2;\n    init = erot(init,vec3(0,1,0),sin(bp*.2)*.4);\n    init = erot(init,vec3(0,0,1),cos(bp*.2)*.4);\n    cam = erot(cam,vec3(0,1,0),sin(bp*.2)*.4);\n    cam = erot(cam,vec3(0,0,1),cos(bp*.2)*.4);\n    vec3 p = init;\n    bool hit = false;\n    float atten = 1.;\n    float tlen = 0.;\n    float glo = 0.;\n    float dist;\n    float fog = 0.;\n    float dlglo = 0.;\n    bool trg = false;\n    for (int i = 0; i <80 && !hit; i++) {\n        dist = scene(p);\n        hit = dist*dist < 1e-6;\n        glo += .2/(1.+lazors*lazors*20.)*atten;\n        dlglo += .2/(1.+doodad*doodad*20.)*atten;\n        if (hit && ((sin(d3*45.)<-0.4 && (dist!=doodad )) || (dist==doodad && sin(pow(length(p2*p2*p2),.3)*120.)>.4 )) && dist != lazors) {\n            trg = trg || dist==doodad;\n            hit = false;\n            vec3 n = norm(p);\n            atten *= 1.-abs(dot(cam,n))*.98;\n            cam = reflect(cam,n);\n            dist = .1;\n        }\n        p += cam*dist;\n        tlen += dist;\n        fog += dist*atten/30.;\n    }\n    fog = smoothstep(0.,1.,fog);\n    bool lz = lazors == dist;\n    bool dl = doodad == dist;\n    vec3 fogcol = mix(vec3(0.5,0.8,1.2), vec3(0.4,0.6,0.9), length(uv));\n    vec3 n = norm(p);\n    vec3 r = reflect(cam,n);\n    float ss = smoothstep(-.3,0.3,scene(p+vec3(.3)))+.5;\n    float fact = length(sin(r*(dl?4.:3.))*.5+.5)/sqrt(3.)*.7+.3;\n    vec3 matcol = mix(vec3(0.9,0.4,0.3), vec3(0.3,0.4,0.8), smoothstep(-1.,1.,sin(d1*5.+iTime*2.)));\n    matcol = mix(matcol, vec3(0.5,0.4,1.0), smoothstep(0.,1.,sin(d2*5.+iTime*2.)));\n    if (dl) matcol = mix(vec3(1),matcol,0.1)*.2+0.1;\n    vec3 col = matcol*fact*ss + pow(fact,10.);\n    if (lz) col = vec3(4);\n    fragColor.xyz = col*atten + glo*glo + fogcol*glo;\n    fragColor.xyz = mix(fragColor.xyz, fogcol, fog);\n    if(!dl)fragColor.xyz = abs(erot(fragColor.xyz, normalize(sin(p*2.)),0.2*(1.-fog)));\n    if(!trg&&!dl)fragColor.xyz+=dlglo*dlglo*.1*vec3(0.4,0.6,0.9);\n    fragColor.xyz = sqrt(fragColor.xyz);\n    fragColor.xyz = smoothstep(vec3(0),vec3(1.2),fragColor.xyz);\n    fragColor.a = 1.0;\n}\n\n  `}];\nexport const __FramerMetadata__ = {\"exports\":{\"mainFunction\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"vertexShaderSource\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shaderInputs\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fragmentShaderSource\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShaderSource.map","/*\n * ShaderSource\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/6tj2OZAcXlPErCTcSCDY/RekhsBiS0iszyZdEW86t/ShaderSource.js\"\n","// Welcome to Code in Framer\n// Get Started: https://www.framer.com/developers/\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import*as THREE from\"three\";import{shaderInputs,mainFunction,fragmentShaderSource,vertexShaderSource}from\"https://framer.com/m/ShaderSource-3JJF.js\";const fragmentShadersTitle=()=>{return fragmentShaderSource.map(e=>e.title).sort();};export default function Webgl_Shader_Component(props){const{shaderChoose,selectShader,customShader,speed,mouseInteraction,mouseOption,limitFPS}=props;const containerRef=useRef(null);const[webglSupported,setWebglSupported]=useState(true);const getFragmentSelectedData=shaderChoose===\"List\"?fragmentShaderSource.find(x=>x.title===selectShader):{title:customShader.title,value:customShader.fragment};useEffect(()=>{const container=containerRef?.current;if(!container)return;let renderer=null;let scene=null;let animationFrame=null;let resizeObserver=null;// Mouse helper functions (defined inside useEffect for safety)\nconst getCoords=obj=>{let x=0;let y=0;do{x+=obj.offsetLeft;y+=obj.offsetTop;}while(obj=obj.offsetParent)return{mX:x,mY:y};};const iMouseControl=e=>{if(!renderer)return;const pos=getCoords(renderer.domElement);const mcx=(e.pageX-pos.mX)*renderer.domElement.width/renderer.domElement.offsetWidth;const mcy=renderer.domElement.height-(e.pageY-pos.mY)*renderer.domElement.height/renderer.domElement.offsetHeight;const x=mcx*mouseOption.mouseSpeed*.1;const y=mcy*mouseOption.mouseSpeed*.1;material.uniforms.iMouse.value.set(x,y,1.1,0);};const dragStart=ev=>{ev.preventDefault();if(renderer)renderer.domElement.setPointerCapture(ev.pointerId);};const dragEnd=ev=>{ev.preventDefault();if(renderer)renderer.domElement.releasePointerCapture(ev.pointerId);};const drag=ev=>{ev.preventDefault();if(renderer&&renderer.domElement.hasPointerCapture(ev.pointerId)){iMouseControl(ev);}};const mouseMove=e=>{e.preventDefault();iMouseControl(e);};try{// === SAFE WebGL CHECK ===\nconst testCanvas=document.createElement(\"canvas\");const testGl=testCanvas.getContext(\"webgl2\")||testCanvas.getContext(\"webgl\");if(!testGl){console.warn(\"WebGL not supported — showing fallback\");setWebglSupported(false);return;}scene=new THREE.Scene;const camera=new THREE.OrthographicCamera(-1,1,1,-1,-1,1);renderer=new THREE.WebGLRenderer({alpha:true,antialias:false});renderer.domElement.setAttribute(\"role\",\"img\");renderer.domElement.setAttribute(\"aria-label\",`${getFragmentSelectedData.title||\"Untitled\"}`);renderer.domElement.setAttribute(\"aria-labelledby\",`${getFragmentSelectedData?.author||\"Unknown\"}`);container.appendChild(renderer.domElement);const geometry=new THREE.PlaneGeometry(2,2);const textureLoader=new THREE.TextureLoader;const material1=new THREE.ShaderMaterial({uniforms:{iTime:{value:0},iResolution:{value:new THREE.Vector3},iMouse:{value:new THREE.Vector4},iChannel0:{value:shaderChoose===\"List\"&&customShader.textureUpload?null:textureLoader.load(customShader.textureUpload?.src)}},vertexShader:shaderChoose===\"List\"?vertexShaderSource:customShader.vertex,fragmentShader:shaderChoose===\"List\"?shaderInputs.concat(getFragmentSelectedData.value,mainFunction):customShader.inputs.concat(customShader.fragment,customShader.mainFunc),transparent:true});const mesh=new THREE.Mesh(geometry,material1);scene.add(mesh);// Resize\nresizeObserver=new ResizeObserver(entries=>{for(let entry of entries){const{width,height}=entry.contentRect;if(renderer){renderer.setSize(width,height);material1.uniforms.iResolution.value.set(width,height);}}});resizeObserver.observe(container);// === MOUSE INTERACTION (your original logic, now safe) ===\nif(mouseInteraction&&renderer){if(mouseOption.mouseDrag===\"Drag\"){renderer.domElement.addEventListener(\"pointerdown\",dragStart);renderer.domElement.addEventListener(\"pointerup\",dragEnd);renderer.domElement.addEventListener(\"pointermove\",drag);renderer.domElement.addEventListener(\"click\",mouseMove);}else{renderer.domElement.addEventListener(\"mousemove\",mouseMove);renderer.domElement.addEventListener(\"click\",mouseMove);}}// === ANIMATION LOOP ===\nlet clock=new THREE.Clock;let delta=0;let interval=1/limitFPS;const animate=time=>{if(!renderer||!scene||!material1)return;delta+=clock.getDelta();material1.uniforms.iTime.value=time*.001*speed;if(delta>interval){renderer.render(scene,camera);delta=delta%interval;}animationFrame=requestAnimationFrame(animate);};animationFrame=requestAnimationFrame(animate);}catch(error){console.error(\"WebGL Shader failed:\",error);setWebglSupported(false);}// === CLEANUP ===\nreturn()=>{if(animationFrame)cancelAnimationFrame(animationFrame);if(resizeObserver)resizeObserver.disconnect();if(renderer){try{if(mouseInteraction){if(mouseOption.mouseDrag===\"Drag\"){renderer.domElement.removeEventListener(\"pointerdown\",dragStart);renderer.domElement.removeEventListener(\"pointerup\",dragEnd);renderer.domElement.removeEventListener(\"pointermove\",drag);}else{renderer.domElement.removeEventListener(\"mousemove\",mouseMove);}renderer.domElement.removeEventListener(\"click\",mouseMove);}renderer.forceContextLoss();renderer.dispose();}catch(e){}}if(container&&renderer?.domElement){try{container.removeChild(renderer.domElement);}catch(e){}}};},[shaderChoose,customShader,selectShader,speed,mouseInteraction,mouseOption,limitFPS]);if(!webglSupported){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",background:\"linear-gradient(135deg, #05010A 0%, #0A0514 100%)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:\"#666\",fontSize:\"14px\"},children:\"Background effect unavailable in this browser\"});}return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",overflow:\"hidden\"}});}Webgl_Shader_Component.displayName=\"Shaders\";addPropertyControls(Webgl_Shader_Component,{shaderChoose:{type:ControlType.Enum,title:\"Choose\",options:[\"List\",\"Custom\"],defaultValue:\"List\",displaySegmentedControl:true},selectShader:{type:ControlType.Enum,title:\" \",options:fragmentShadersTitle(),defaultValue:\"2D Clouds\",description:`Totally *${fragmentShaderSource.length}* Shaders from [Shadertoy](https://www.shadertoy.com/). Free to use.`,hidden:props=>props.shaderChoose!=\"List\"},customShader:{type:ControlType.Object,title:\" \",controls:{title:{type:ControlType.String,title:\"Title\",defaultValue:fragmentShaderSource[2].title},inputs:{type:ControlType.String,title:\"Inputs\",defaultValue:shaderInputs},vertex:{type:ControlType.String,title:\"Vertex\",defaultValue:vertexShaderSource},fragment:{type:ControlType.String,title:\"Fragment\",defaultValue:fragmentShaderSource[2].value,displayTextArea:true},textureUpload:{type:ControlType.ResponsiveImage,title:\"Texture\",description:\"Only in iChannel0 supported\"},mainFunc:{type:ControlType.String,title:\"Main Funtion\",defaultValue:mainFunction}},hidden:props=>props.shaderChoose!=\"Custom\"},speed:{type:ControlType.Number,defaultValue:1,min:.1,max:10,step:.1,title:\"Speed\",unit:\"s\"},mouseInteraction:{type:ControlType.Boolean,defaultValue:false,title:\"Mouse Interaction\",description:`Works only on supported Shaders`},mouseOption:{type:ControlType.Object,title:\"Mouse Option\",controls:{mouseDrag:{type:ControlType.Enum,title:\"Type\",options:[\"Drag\",\"Free\"],defaultValue:\"Drag\",displaySegmentedControl:true},mouseSpeed:{type:ControlType.Number,defaultValue:10,min:.1,max:10,step:.1,title:\"Mouse Speed\"}},hidden:props=>!props.mouseInteraction},limitFPS:{type:ControlType.Enum,title:\"FPS Limit\",options:[30,60,120,160],defaultValue:120,displaySegmentedControl:true,description:\"Limit FPS if there is any performance issue\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Webgl_Shader_Component\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Webgl_Shader_Component.map","// Generated by Framer (904da2c)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Satoshi-regular\",\"FS;Satoshi-bold\",\"FS;Satoshi-bold italic\",\"FS;Satoshi-italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/TTX2Z3BF3P6Y5BQT3IV2VNOK6FL22KUT/7QYRJOI3JIMYHGY6CH7SOIFRQLZOLNJ6/KFIAZD4RUMEZIYV6FQ3T3GP5PDBDB6JY.woff2\",weight:\"400\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LAFFD4SDUCDVQEXFPDC7C53EQ4ZELWQI/PXCT3G6LO6ICM5I3NTYENYPWJAECAWDD/GHM6WVH6MILNYOOCXHXB5GTSGNTMGXZR.woff2\",weight:\"700\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/CDEBEFT2R7XKNGXSBBLZGMY4MMHZG75P/HEVKDGQCYDZ7Z6CDVR2ZQGBCTUD6ZARH/BKWEE3VKGTFABE37K2DTH625VUSN2N35.woff2\",weight:\"700\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/MPIFA4B3XXRNY2MJDGP6GOOOAF6EOCLO/W5E4ZFYPJ3V6JKMBGHB6YMITK6EWS2XA/QOMBWPST76ICDYF6WOBS7SQ7RBT67QW2.woff2\",weight:\"400\"}]}];export const css=['.framer-edwaH .framer-styles-preset-of0r53:not(.rich-text-wrapper), .framer-edwaH .framer-styles-preset-of0r53.rich-text-wrapper p { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 22px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 18px; --framer-text-alignment: start; --framer-text-color: var(--token-c5e7540f-fd3a-4db4-af5b-9f8aab4b1ed8, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 768px) { .framer-edwaH .framer-styles-preset-of0r53:not(.rich-text-wrapper), .framer-edwaH .framer-styles-preset-of0r53.rich-text-wrapper p { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 18px; --framer-text-alignment: start; --framer-text-color: var(--token-c5e7540f-fd3a-4db4-af5b-9f8aab4b1ed8, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 767px) and (min-width: 0px) { .framer-edwaH .framer-styles-preset-of0r53:not(.rich-text-wrapper), .framer-edwaH .framer-styles-preset-of0r53.rich-text-wrapper p { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-font-weight-bold-italic: 700; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 18px; --framer-text-alignment: start; --framer-text-color: var(--token-c5e7540f-fd3a-4db4-af5b-9f8aab4b1ed8, #ffffff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-edwaH\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (fb365c6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"z9YVdi44h\",\"gHx5JpWeo\"];const serializationHash=\"framer-mFuk0\";const variantClassNames={gHx5JpWeo:\"framer-v-ktunyk\",z9YVdi44h:\"framer-v-8hi2k5\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Hope (Neural)\":\"gHx5JpWeo\",Hope:\"z9YVdi44h\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"z9YVdi44h\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"z9YVdi44h\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-8hi2k5\",className,classNames),\"data-framer-name\":\"Hope\",layoutDependency:layoutDependency,layoutId:\"z9YVdi44h\",ref:refBinding,style:{backgroundColor:\"var(--token-33dc5e09-8448-4170-b77c-6ad228a5732b, rgb(18, 13, 38))\",...style},variants:{gHx5JpWeo:{backgroundColor:\"rgb(5, 5, 5)\"}},...addPropertyOverrides({gHx5JpWeo:{\"data-framer-name\":\"Hope (Neural)\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(Image,{background:{alt:\"\",backgroundSize:1,fit:\"tile\",intrinsicHeight:256,intrinsicWidth:256,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0),pixelHeight:256,pixelWidth:256,positionX:\"center\",positionY:\"top\",src:\"https://framerusercontent.com/images/6mcf62RlDfRfU61Yg5vb2pefpi4.png?width=256&height=256\"},className:\"framer-5dnjln\",\"data-framer-name\":\"Image\",layoutDependency:layoutDependency,layoutId:\"ubFK47BQI\",style:{opacity:.095}}),/*#__PURE__*/_jsx(motion.figure,{className:\"framer-1ktkebc\",\"data-framer-name\":\"Background\",layoutDependency:layoutDependency,layoutId:\"p7G8FWNzi\",children:/*#__PURE__*/_jsx(Image,{as:\"figure\",background:{alt:\"\",fit:\"fill\",intrinsicHeight:1085,intrinsicWidth:1920,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+(0+(((componentViewport?.height||984)-0)*1-0-(((componentViewport?.height||984)-0)*1-0)*1)/2)),pixelHeight:1085,pixelWidth:1920,sizes:`calc(${componentViewport?.width||\"100vw\"} * 1.0008)`,src:\"https://framerusercontent.com/images/SX0MfuQzEVAaYZT5KjxGOEjvjLY.png?width=1920&height=1085\",srcSet:\"https://framerusercontent.com/images/SX0MfuQzEVAaYZT5KjxGOEjvjLY.png?scale-down-to=512&width=1920&height=1085 512w,https://framerusercontent.com/images/SX0MfuQzEVAaYZT5KjxGOEjvjLY.png?scale-down-to=1024&width=1920&height=1085 1024w,https://framerusercontent.com/images/SX0MfuQzEVAaYZT5KjxGOEjvjLY.png?width=1920&height=1085 1920w\"},className:\"framer-1bnf13v\",\"data-framer-name\":\"Gradients\",layoutDependency:layoutDependency,layoutId:\"xnEkGeEKI\",style:{opacity:.9}})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-135b5s7\",\"data-framer-name\":\"Cover\",layoutDependency:layoutDependency,layoutId:\"UKJKKvtYG\",style:{background:\"linear-gradient(180deg, rgba(18, 13, 38, 0) 0%, var(--token-0d1455ba-a295-466e-93de-5c81f4a7b4cf, rgb(18, 13, 38)) 84.009009009009%)\"}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-mFuk0.framer-1vim12x, .framer-mFuk0 .framer-1vim12x { display: block; }\",\".framer-mFuk0.framer-8hi2k5 { height: 984px; overflow: var(--overflow-clip-fallback, clip); position: relative; width: 1326px; }\",\".framer-mFuk0 .framer-5dnjln { bottom: 0px; flex: none; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; }\",\".framer-mFuk0 .framer-1ktkebc { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 100%; justify-content: center; left: 0px; overflow: hidden; padding: 0px; position: absolute; top: 0px; width: 100%; z-index: 0; }\",\".framer-mFuk0 .framer-1bnf13v { flex: none; height: 100%; overflow: visible; position: relative; width: 100%; }\",\".framer-mFuk0 .framer-135b5s7 { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 984\n * @framerIntrinsicWidth 1326\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"gHx5JpWeo\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerEUvxkoVxm=withCSS(Component,css,\"framer-mFuk0\");export default FramerEUvxkoVxm;FramerEUvxkoVxm.displayName=\"Background\";FramerEUvxkoVxm.defaultProps={height:984,width:1326};addPropertyControls(FramerEUvxkoVxm,{variant:{options:[\"z9YVdi44h\",\"gHx5JpWeo\"],optionTitles:[\"Hope\",\"Hope (Neural)\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerEUvxkoVxm,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerEUvxkoVxm\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"gHx5JpWeo\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"984\",\"framerIntrinsicWidth\":\"1326\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./EUvxkoVxm.map","// Generated by Framer (ed41f9e)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,Link,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={cXvFOtR1F:{hover:true}};const cycleOrder=[\"a2F_eIzqL\",\"vIEd4UYw8\",\"UKN6dFhoY\",\"i6ZdaRP3t\",\"cXvFOtR1F\",\"SOrehS6LH\"];const serializationHash=\"framer-o2XHT\";const variantClassNames={a2F_eIzqL:\"framer-v-zs4szm\",cXvFOtR1F:\"framer-v-1uunfza\",i6ZdaRP3t:\"framer-v-5zwpuo\",SOrehS6LH:\"framer-v-nwcsf5\",UKN6dFhoY:\"framer-v-1qxytg9\",vIEd4UYw8:\"framer-v-wq3ttn\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const transition2={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Dark (Icon)\":\"i6ZdaRP3t\",\"Light - Hoverable\":\"cXvFOtR1F\",\"Light (Icon)\":\"UKN6dFhoY\",Custom:\"SOrehS6LH\",Dark:\"vIEd4UYw8\",Light:\"a2F_eIzqL\"};const getProps=({click,custom,height,id,link,newTab,width,...props})=>{return{...props,c9lp336Nn:newTab??props.c9lp336Nn,CD0sNjf9a:link??props.CD0sNjf9a,N7TlmLtG9:click??props.N7TlmLtG9,variant:humanReadableVariantMap[props.variant]??props.variant??\"a2F_eIzqL\",vPQR0p4ls:custom??props.vPQR0p4ls??{pixelHeight:1008,pixelWidth:1484,src:\"https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?scale-down-to=512&width=1484&height=1008\",srcSet:\"https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?scale-down-to=512&width=1484&height=1008 512w,https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?scale-down-to=1024&width=1484&height=1008 1024w,https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?width=1484&height=1008 1484w\"}};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,CD0sNjf9a,N7TlmLtG9,c9lp336Nn,vPQR0p4ls,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"a2F_eIzqL\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap194epg4=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(N7TlmLtG9){const res=await N7TlmLtG9(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:CD0sNjf9a,motionChild:true,nodeId:\"a2F_eIzqL\",openInNewTab:c9lp336Nn,scopeId:\"wZpHBWjxP\",smoothScroll:true,children:/*#__PURE__*/_jsx(Image,{...restProps,...gestureHandlers,as:\"a\",background:{alt:\"Agent.so Light Logo\",fit:\"fit\",intrinsicHeight:1008,intrinsicWidth:1484,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:1008,pixelWidth:1484,positionX:\"center\",positionY:\"center\",sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?width=1484&height=1008\",srcSet:\"https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?scale-down-to=512&width=1484&height=1008 512w,https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?scale-down-to=1024&width=1484&height=1008 1024w,https://framerusercontent.com/images/TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?width=1484&height=1008 1484w\"},className:`${cx(scopingClassNames,\"framer-zs4szm\",className,classNames)} framer-1eue2rs`,\"data-framer-name\":\"Light\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"a2F_eIzqL\",onTap:onTap194epg4,ref:refBinding,style:{...style},...addPropertyOverrides({\"cXvFOtR1F-hover\":{\"data-framer-name\":undefined},cXvFOtR1F:{\"data-framer-name\":\"Light - Hoverable\"},i6ZdaRP3t:{\"data-framer-name\":\"Dark (Icon)\",background:{alt:\"Agent.so Light Logo\",fit:\"fit\",intrinsicHeight:1008,intrinsicWidth:1484,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:631,pixelWidth:921,positionX:\"center\",positionY:\"center\",sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/wygbyOmf9KGrmB5jsK85AYsv3o.svg?width=921&height=631\",srcSet:\"https://framerusercontent.com/images/wygbyOmf9KGrmB5jsK85AYsv3o.svg?scale-down-to=512&width=921&height=631 512w,https://framerusercontent.com/images/wygbyOmf9KGrmB5jsK85AYsv3o.svg?width=921&height=631 921w\"}},SOrehS6LH:{\"data-framer-name\":\"Custom\",background:{alt:\"Agent.so Light Logo\",fit:\"fit\",intrinsicHeight:1008,intrinsicWidth:1484,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:1008,pixelWidth:1484,sizes:componentViewport?.width||\"100vw\",...toResponsiveImage(vPQR0p4ls),...{positionX:\"center\",positionY:\"center\"}}},UKN6dFhoY:{\"data-framer-name\":\"Light (Icon)\",background:{alt:\"Agent.so Light Logo\",fit:\"fit\",intrinsicHeight:1008,intrinsicWidth:1484,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:631,pixelWidth:921,positionX:\"center\",positionY:\"center\",sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/0ex9tFpsbkWYWhbWt1x2XXQ4Y.svg?width=921&height=631\",srcSet:\"https://framerusercontent.com/images/0ex9tFpsbkWYWhbWt1x2XXQ4Y.svg?scale-down-to=512&width=921&height=631 512w,https://framerusercontent.com/images/0ex9tFpsbkWYWhbWt1x2XXQ4Y.svg?width=921&height=631 921w\"}},vIEd4UYw8:{\"data-framer-name\":\"Dark\",background:{alt:\"Agent.so Light Logo\",fit:\"fit\",intrinsicHeight:1008,intrinsicWidth:1484,loading:getLoadingLazyAtYPosition(componentViewport?.y||0),pixelHeight:1008,pixelWidth:1484,positionX:\"center\",positionY:\"center\",sizes:componentViewport?.width||\"100vw\",src:\"https://framerusercontent.com/images/GNYbASM9IWvlwldj3hCfQ9gVQqI.svg?width=1484&height=1008\",srcSet:\"https://framerusercontent.com/images/GNYbASM9IWvlwldj3hCfQ9gVQqI.svg?scale-down-to=512&width=1484&height=1008 512w,https://framerusercontent.com/images/GNYbASM9IWvlwldj3hCfQ9gVQqI.svg?scale-down-to=1024&width=1484&height=1008 1024w,https://framerusercontent.com/images/GNYbASM9IWvlwldj3hCfQ9gVQqI.svg?width=1484&height=1008 1484w\"}}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Transition,{value:transition2,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-n8c621\",\"data-border\":true,\"data-framer-name\":\"Overlay\",layoutDependency:layoutDependency,layoutId:\"ft8uf9jlR\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(58, 47, 95)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"dashed\",\"--border-top-width\":\"1px\",background:\"linear-gradient(120deg, rgba(255, 255, 255, 0.05) 0%, rgba(171, 171, 171, 0) 100%)\",borderBottomLeftRadius:4,borderBottomRightRadius:4,borderTopLeftRadius:4,borderTopRightRadius:4,opacity:0},variants:{\"cXvFOtR1F-hover\":{opacity:1}}})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-o2XHT.framer-1eue2rs, .framer-o2XHT .framer-1eue2rs { display: block; }\",\".framer-o2XHT.framer-zs4szm { cursor: pointer; height: 58px; position: relative; text-decoration: none; width: 85px; }\",\".framer-o2XHT .framer-n8c621 { bottom: -3px; flex: none; left: -4px; overflow: visible; pointer-events: none; position: absolute; right: -4px; top: -3px; }\",\".framer-o2XHT.framer-v-wq3ttn.framer-zs4szm, .framer-o2XHT.framer-v-1uunfza.framer-zs4szm, .framer-o2XHT.framer-v-nwcsf5.framer-zs4szm { aspect-ratio: 1.4722222222222223 / 1; height: var(--framer-aspect-ratio-supported, 58px); }\",\".framer-o2XHT.framer-v-1qxytg9.framer-zs4szm, .framer-o2XHT.framer-v-5zwpuo.framer-zs4szm { aspect-ratio: 1.4722222222222223 / 1; height: var(--framer-aspect-ratio-supported, 33px); width: 49px; }\",'.framer-o2XHT[data-border=\"true\"]::after, .framer-o2XHT [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 58\n * @framerIntrinsicWidth 85\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"vIEd4UYw8\":{\"layout\":[\"fixed\",\"fixed\"]},\"UKN6dFhoY\":{\"layout\":[\"fixed\",\"fixed\"]},\"i6ZdaRP3t\":{\"layout\":[\"fixed\",\"fixed\"]},\"cXvFOtR1F\":{\"layout\":[\"fixed\",\"fixed\"]},\"SOrehS6LH\":{\"layout\":[\"fixed\",\"fixed\"]},\"peW093SMd\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"CD0sNjf9a\":\"link\",\"N7TlmLtG9\":\"click\",\"c9lp336Nn\":\"newTab\",\"vPQR0p4ls\":\"custom\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerwZpHBWjxP=withCSS(Component,css,\"framer-o2XHT\");export default FramerwZpHBWjxP;FramerwZpHBWjxP.displayName=\"Logo\";FramerwZpHBWjxP.defaultProps={height:58,width:85};addPropertyControls(FramerwZpHBWjxP,{variant:{options:[\"a2F_eIzqL\",\"vIEd4UYw8\",\"UKN6dFhoY\",\"i6ZdaRP3t\",\"cXvFOtR1F\",\"SOrehS6LH\"],optionTitles:[\"Light\",\"Dark\",\"Light (Icon)\",\"Dark (Icon)\",\"Light - Hoverable\",\"Custom\"],title:\"Variant\",type:ControlType.Enum},CD0sNjf9a:{title:\"Link\",type:ControlType.Link},N7TlmLtG9:{title:\"Click\",type:ControlType.EventHandler},c9lp336Nn:{defaultValue:false,title:\"New Tab\",type:ControlType.Boolean},vPQR0p4ls:{__defaultAssetReference:\"data:framer/asset-reference,TizDK9IlzoiD2fe2q3JqUf8HZoc.svg?originalFilename=logo-light-tm.svg&preferredSize=auto\",title:\"Custom\",type:ControlType.ResponsiveImage}});addFonts(FramerwZpHBWjxP,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerwZpHBWjxP\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"58\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"vIEd4UYw8\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"UKN6dFhoY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"i6ZdaRP3t\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"cXvFOtR1F\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"SOrehS6LH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"peW093SMd\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"85\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"CD0sNjf9a\\\":\\\"link\\\",\\\"N7TlmLtG9\\\":\\\"click\\\",\\\"c9lp336Nn\\\":\\\"newTab\\\",\\\"vPQR0p4ls\\\":\\\"custom\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./wZpHBWjxP.map","// Generated by Framer (6b8889b)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Ellipsis from\"https://framerusercontent.com/modules/cngvAw0w9C1Wv7G3Ze5w/r0j9ptfVncyEjLxyKH31/Ellipsis.js\";import Shaders from\"https://framerusercontent.com/modules/VPtP8ts3DX06oRSqLT1n/0DszcGjqjUjZJnTwBnbB/Webgl_Shader_Component.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/teGXcopezj7wLHWPCN4k/dHbIw84VddKrm8qAVhGb/UoF26bCkV.js\";import Background from\"https://framerusercontent.com/modules/SlWX8OWpCDslEsiaClGY/nnYBUR4ZPqdjrizgp0up/EUvxkoVxm.js\";import Logo from\"https://framerusercontent.com/modules/lkoVix78ObHSq79wCy0h/vPAWX2mYI8EO9exURJsJ/wZpHBWjxP.js\";const LogoFonts=getFonts(Logo);const EllipsisFonts=getFonts(Ellipsis);const SmartComponentScopedContainerWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(SmartComponentScopedContainer));const ShadersFonts=getFonts(Shaders);const BackgroundFonts=getFonts(Background);const serializationHash=\"framer-hDfvN\";const variantClassNames={Kaxt49V6Q:\"framer-v-rptshp\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const gGjc_qDei=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={bounce:.2,delay:.5,duration:.4,type:\"spring\"};const animation={opacity:.75,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:150};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,status,width,...props})=>{return{...props,gGjc_qDei:status??props.gGjc_qDei??\"Entering Realm\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,gGjc_qDei,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"Kaxt49V6Q\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-rptshp\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"Kaxt49V6Q\",ref:refBinding,style:{backgroundColor:\"var(--token-56c871dd-80bc-4031-b41d-333705d1391c, rgb(9, 4, 18))\",...style},children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8b9pju\",\"data-framer-name\":\"Center\",layoutDependency:layoutDependency,layoutId:\"jdyPbFMsI\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:188,width:`min(200px, ${componentViewport?.width||\"100vw\"} - 60px)`,y:(componentViewport?.y||0)+30+(((componentViewport?.height||1080)-90-(Math.max(0,((componentViewport?.height||1080)-90-60.8)/1)*1+30.8+30))/2+0+0)+0+((Math.max(0,((componentViewport?.height||1080)-90-60.8)/1)*1-0-228.8)/2+0+0),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-wu6617-container\",layoutDependency:layoutDependency,layoutId:\"r5SWieLWS-container\",nodeId:\"r5SWieLWS\",rendersWithMotion:true,scopeId:\"JtZq_49E2\",children:/*#__PURE__*/_jsx(Logo,{c9lp336Nn:false,height:\"100%\",id:\"r5SWieLWS\",layoutId:\"r5SWieLWS\",style:{height:\"100%\",maxWidth:\"100%\",width:\"100%\"},variant:matchVariant(\"a2F_eIzqL\"),width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-of0r53\",\"data-styles-preset\":\"UoF26bCkV\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-0a4f1509-ff06-48e1-89b7-b63338bae98d, rgb(225, 217, 255)))\"},children:/*#__PURE__*/_jsx(motion.strong,{children:\"Your Portal to AI\"})})}),className:\"framer-1hath4i\",\"data-framer-name\":\"Text\",fonts:[\"Inter\",\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"C9n37saoX\",style:{\"--extracted-r6o4lv\":\"var(--token-0a4f1509-ff06-48e1-89b7-b63338bae98d, rgb(225, 217, 255))\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1py5z5s\",\"data-framer-name\":\"Footer\",layoutDependency:layoutDependency,layoutId:\"TaflIDyvY\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-176zjee\",\"data-framer-name\":\"Label\",layoutDependency:layoutDependency,layoutId:\"e862yIGgM\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-of0r53\",\"data-styles-preset\":\"UoF26bCkV\",children:/*#__PURE__*/_jsx(motion.strong,{children:\"Entering Realm\"})})}),className:\"framer-1rlwg4y\",\"data-framer-name\":\"Text\",fonts:[\"Inter\",\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"vkaANfxdO\",text:gGjc_qDei,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:.75,animate:animation,className:\"framer-sfwesc-container\",\"data-framer-appear-id\":\"sfwesc\",initial:animation1,isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"xbPC27d1K-container\",nodeId:\"xbPC27d1K\",optimized:true,rendersWithMotion:true,scopeId:\"JtZq_49E2\",style:{opacity:.75},children:/*#__PURE__*/_jsx(Ellipsis,{height:\"100%\",id:\"xbPC27d1K\",layoutId:\"xbPC27d1K\",style:{height:\"100%\"},width:\"100%\"})})})]})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1w20cez\",\"data-framer-name\":\"Background\",layoutDependency:layoutDependency,layoutId:\"xp6QgMYos\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-d6li1i-container\",isAuthoredByUser:true,layoutDependency:layoutDependency,layoutId:\"V4qpNcTBn-container\",nodeId:\"V4qpNcTBn\",rendersWithMotion:true,scopeId:\"JtZq_49E2\",style:{filter:\"hue-rotate(100deg)\",mask:\"radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,1) 0%, rgba(0, 0, 0, 0.00164) 99.99%, rgba(0,0,0,0) 100%) add\",WebkitFilter:\"hue-rotate(100deg)\",WebkitMask:\"radial-gradient(50% 50% at 50% 50%, rgba(0,0,0,1) 0%, rgba(0, 0, 0, 0.00164) 99.99%, rgba(0,0,0,0) 100%) add\"},children:/*#__PURE__*/_jsx(Shaders,{customShader:{fragment:\"float random (in vec2 _st) {\\n        return fract(sin(dot(_st.xy,\\n                             vec2(12.9898,78.233)))*\\n            43758.5453123);\\n    }\\n\\n// Based on Morgan McGuire @morgan3d\\n// https://www.shadertoy.com/view/4dS3Wd\\nfloat noise (in vec2 _st) {\\n    vec2 i = floor(_st);\\n    vec2 f = fract(_st);\\n\\n    // Four corners in 2D of a tile\\n    float a = random(i);\\n    float b = random(i + vec2(1.0, 0.0));\\n    float c = random(i + vec2(0.0, 1.0));\\n    float d = random(i + vec2(1.0, 1.0));\\n\\n    vec2 u = f * f * (3.0 - 2.0 * f);\\n\\n    return mix(a, b, u.x) +\\n            (c - a)* u.y * (1.0 - u.x) +\\n            (d - b) * u.x * u.y;\\n}\\n\\n#define NUM_OCTAVES 5\\n\\nfloat fbm ( in vec2 _st) {\\n    float v = 0.0;\\n    float a = 0.65;\\n    vec2 shift = vec2(100.0);\\n    // Rotate to reduce axial bias\\n    mat2 rot = mat2(cos(0.5), sin(0.5),\\n                    -sin(0.5), cos(0.50));\\n    for (int i = 0; i < NUM_OCTAVES; ++i) {\\n        v += a * noise(_st);\\n        _st = rot * _st * 2.0 + shift;\\n        a *= 0.5;\\n    }\\n    return v;\\n}\\n\\n    \\n    \\n\\nvoid mainImage( out vec4 fragColor, in vec2 fragCoord )\\n{\\n    // Normalized pixel coordinates (from 0 to 1)\\n    //vec2 vUv = fragCoord/iResolution.xy;\\n    vec2 uResolution = iResolution.xy;\\n    uResolution.y *= 1.5;\\n    vec2 vUv = fragCoord/uResolution.xy;\\n    vec3 color = vec3(0.);\\n        \\n    vec2 uv2 = vUv;\\n    uv2 -= .5;\\n    uv2.y += 0.125;\\n    \\n    float an = -iTime * 0.15;\\n    uv2 = mat2(cos(an),-sin(an),sin(an),cos(an)) * uv2;\\n    // uv3 = mat2(cos(an),-sin(an),sin(an),cos(an)) * uv3;\\n    float r1 = length(uv2) ;\\n    r1 = abs(r1);\\n    float a = atan(uv2.y, uv2.x);\\n    a = abs(a);\\n    uv2 = vec2(0.3/r1 + .95 * iTime , a);\\n\\n    vec2 q = vec2(0.);\\n    q.x = fbm( uv2 + 0.00*iTime);\\n    q.y = fbm( uv2 + vec2(1.0));\\n\\n    vec2 r = vec2(0.);\\n    r.x = fbm( uv2 + 1.0*q + vec2(1.7,9.2)+ 0.15*iTime );\\n    r.y = fbm( uv2 + 1.0*q + vec2(8.3,2.8)+ 0.126*iTime);\\n\\n    float f = fbm(uv2+r * fbm(uv2 + r * 2.));\\n\\n    vec3 c = vec3(0.);\\n    c = mix(vec3(0.101961,0.619608,0.666667),\\n                vec3(0.666667,0.666667,0.498039),\\n                clamp((f*f)*4.0,0.0,1.0));\\n\\n    c = mix(color,\\n                vec3(0,0,0.164706),\\n                clamp(length(q),0.0,1.0));\\n\\n    c = mix(color,\\n                vec3(0.666667,1,1),\\n            clamp(length(r.x),0.0,1.0));\\n\\n    c *= f*f*f+.6*f *f + .25 *f * c* f * c;\\n\\n\\n    color += c;\\n\\n    // Output to screen\\n    fragColor = vec4(color,1.0);\\n}\",inputs:\"\\nuniform float iTime;\\nuniform vec3 iResolution;\\nvarying vec2 vUv;\\nuniform float iTimeDelta;\\nuniform vec4 iMouse;\\nuniform sampler2D iChannel0;\\n\",mainFunc:\"\\nvoid main() {\\n    mainImage(gl_FragColor, vUv * iResolution.xy);\\n}\\n\",title:\"Realm\",vertex:\"varying vec2 vUv;void main() {    vUv = uv;    gl_Position = vec4(position, 1.0);}\"},height:\"100%\",id:\"V4qpNcTBn\",layoutId:\"V4qpNcTBn\",limitFPS:30,mouseInteraction:false,mouseOption:{mouseDrag:\"Drag\",mouseSpeed:10},selectShader:\"Cellular\",shaderChoose:\"Custom\",speed:.5,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:Math.max(0,((componentViewport?.height||1080)-0-0-0)/1)*1,width:componentViewport?.width||\"100vw\",y:(componentViewport?.y||0)+0+0+(((componentViewport?.height||1080)-0-0-(Math.max(0,((componentViewport?.height||1080)-0-0-0)/1)*1+0))/2+0+0),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1f4x1i2-container\",\"data-framer-name\":\"Space\",layoutDependency:layoutDependency,layoutId:\"fMOXEHx9C-container\",name:\"Space\",nodeId:\"fMOXEHx9C\",rendersWithMotion:true,scopeId:\"JtZq_49E2\",children:/*#__PURE__*/_jsx(Background,{height:\"100%\",id:\"fMOXEHx9C\",layoutId:\"fMOXEHx9C\",name:\"Space\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"z9YVdi44h\"),width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-opmfxd\",\"data-framer-name\":\"Shader\",layoutDependency:layoutDependency,layoutId:\"m5VvO06hN\",style:{background:\"linear-gradient(60deg, var(--token-56c871dd-80bc-4031-b41d-333705d1391c, rgb(9, 4, 18)) 0%, rgba(40, 31, 77, 0) 50%)\"}})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-hDfvN.framer-11shhhl, .framer-hDfvN .framer-11shhhl { display: block; }\",\".framer-hDfvN.framer-rptshp { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 30px; height: 1080px; justify-content: center; overflow: hidden; padding: 30px 30px 60px 30px; position: relative; width: 1920px; }\",\".framer-hDfvN .framer-8b9pju { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 1px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; z-index: 10; }\",\".framer-hDfvN .framer-wu6617-container { aspect-ratio: 1.4680851063829787 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 136px); max-width: 100%; pointer-events: none; position: relative; width: 200px; }\",\".framer-hDfvN .framer-1hath4i, .framer-hDfvN .framer-1rlwg4y { -webkit-user-select: none; flex: none; height: auto; pointer-events: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\".framer-hDfvN .framer-1py5z5s { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 100%; z-index: 10; }\",\".framer-hDfvN .framer-176zjee { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-hDfvN .framer-sfwesc-container { flex: none; height: 6px; position: relative; width: auto; }\",\".framer-hDfvN .framer-1w20cez { align-content: center; align-items: center; bottom: 0px; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; justify-content: center; left: 0px; overflow: hidden; padding: 0px; position: absolute; right: 0px; top: 0px; z-index: 9; }\",\".framer-hDfvN .framer-d6li1i-container { flex: none; height: 1080px; left: calc(50.00000000000002% - max(1920px, 1920px) / 2); min-width: 1920px; mix-blend-mode: soft-light; position: absolute; top: calc(50.00000000000002% - 1080px / 2); width: 1920px; z-index: 10; }\",\".framer-hDfvN .framer-1f4x1i2-container { flex: 1 0 0px; height: 1px; position: relative; width: 100%; z-index: 8; }\",\".framer-hDfvN .framer-opmfxd { bottom: 0px; flex: none; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; z-index: 9; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1080\n * @framerIntrinsicWidth 1920\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"gGjc_qDei\":\"status\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerJtZq_49E2=withCSS(Component,css,\"framer-hDfvN\");export default FramerJtZq_49E2;FramerJtZq_49E2.displayName=\"Loader\";FramerJtZq_49E2.defaultProps={height:1080,width:1920};addPropertyControls(FramerJtZq_49E2,{gGjc_qDei:{defaultValue:\"Entering Realm\",displayTextArea:false,title:\"Status\",type:ControlType.String},ongGjc_qDeiChange:{changes:\"gGjc_qDei\",type:ControlType.ChangeHandler}});addFonts(FramerJtZq_49E2,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/syRNPWzAMIrcJ3wIlPIP43KjQs.woff2\",weight:\"700\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"}]},...LogoFonts,...EllipsisFonts,...ShadersFonts,...BackgroundFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerJtZq_49E2.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Logo,{},context),forwardLoader(Background,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerJtZq_49E2\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerVariables\":\"{\\\"gGjc_qDei\\\":\\\"status\\\"}\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"1920\",\"framerIntrinsicHeight\":\"1080\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/*\n * Loader\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/qtvjR0Tu93j9ZFVtICmp/Nmy95YPb0faFLGHgvMhW/JtZq_49E2.js\"\nexport { default } from \"https://framerusercontent.com/modules/qtvjR0Tu93j9ZFVtICmp/Nmy95YPb0faFLGHgvMhW/JtZq_49E2.js\"\n","/**\n * --------------------------------------------------------------------\n * Interface\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import*as DSInterfaceInteractions from\"https://framer.com/m/Interactions-aK2Z.js\";import*as DSInterfaceLinks from\"https://framer.com/m/Links-r6Zf.js\";import*as DSInterfaceSearchable from\"https://framer.com/m/Searchable-2VXN.js\";import*as DSInterfaceStyles from\"https://framer.com/m/Styles-dHmw.js\";import{default as LoaderComponent}from\"https://framer.com/m/Loader-2mfM.js\";/**\n * --------------------------------------------------------------------\n * Interface » Links\n * --------------------------------------------------------------------\n */export const Active=Component=>DSInterfaceLinks.Active(Component);export const AppendEmail=Component=>DSInterfaceLinks.AppendEmail(Component);export const AppendRedirect=Component=>DSInterfaceLinks.AppendRedirect(Component);/**\n * --------------------------------------------------------------------\n * Interface » Interactions\n * --------------------------------------------------------------------\n */export const Scrollable=Component=>DSInterfaceInteractions.Scrollable(Component);export const Indicators=Component=>DSInterfaceInteractions.Indicators(Component);/**\n * --------------------------------------------------------------------\n * Interface » Styles\n * --------------------------------------------------------------------\n */export const Fixed=Component=>DSInterfaceStyles.Fixed(Component);/**\n * --------------------------------------------------------------------\n * Interface » Searchable\n * --------------------------------------------------------------------\n */export const SearchableArea=Component=>DSInterfaceSearchable.SearchableArea(Component);/**\n * --------------------------------------------------------------------\n * Interface » Loader\n * --------------------------------------------------------------------\n */export const Loader=Fixed(props=>{useEffect(()=>{const timer=setTimeout(()=>{window.location.reload();},5e3);// Cleanup the timeout if the component unmounts\nreturn()=>clearTimeout(timer);},[]);return /*#__PURE__*/_jsx(LoaderComponent,{...props});});\nexport const __FramerMetadata__ = {\"exports\":{\"Scrollable\":{\"type\":\"reactHoc\",\"name\":\"Scrollable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Indicators\":{\"type\":\"reactHoc\",\"name\":\"Indicators\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchableArea\":{\"type\":\"reactHoc\",\"name\":\"SearchableArea\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AppendEmail\":{\"type\":\"reactHoc\",\"name\":\"AppendEmail\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Active\":{\"type\":\"reactHoc\",\"name\":\"Active\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Loader\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Fixed\":{\"type\":\"reactHoc\",\"name\":\"Fixed\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AppendRedirect\":{\"type\":\"reactHoc\",\"name\":\"AppendRedirect\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./interface.map","/**\n * --------------------------------------------------------------------\n * Members\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{compose}from\"https://framer.com/m/Development-7oqH.js\";import*as DSMembersAuth from\"https://framer.com/m/Auth-warf.js\";import*as DSMembersMember from\"https://framer.com/m/Member-gNBX.js\";import*as DSMembersPermissions from\"https://framer.com/m/Permissions-WwEH.js\";import{config}from\"https://framerusercontent.com/modules/jX5EYy75jVj4TMlbqJdO/Hwg8vri5r3U83RmUZRzT/_capsule.js\";import{Globals,withAffiliateReferrer}from\"https://framerusercontent.com/modules/xbyJH4uSP5O2i9iSVF4l/PzDPvsvVp7Xt3e8blkoH/core.js\";import{Graph}from\"https://framerusercontent.com/modules/t0XIpNUB7kXlqmpgm2YO/m1YUb3C8vcTSbTHHL5rw/database.js\";import{Loader}from\"https://framerusercontent.com/modules/2cBpFZJqxLrlRI0OkzD9/FlGuwO62MwwuShiuKCqA/interface.js\";/**\n * --------------------------------------------------------------------\n * Hooks\n * --------------------------------------------------------------------\n *//**\n * Shared hook from the useMember store.\n */export const useMember=DSMembersMember.useMember;/**\n * --------------------------------------------------------------------\n * Wrappers\n * --------------------------------------------------------------------\n *//**\n * Internal wrapper used by templates to initialize the Member store & system.\n */export const withMember=Component=>DSMembersMember.withMember(Component,{useMember});/**\n * --------------------------------------------------------------------\n * Overrides\n * --------------------------------------------------------------------\n *//**\n * Override used to create a login form.\n */export const withLoginForm=Component=>DSMembersAuth.withLoginForm(Component,{useMember,paths:{home:config.members.paths.home}});/**\n * Override used to create a sign up form.\n */export const withSignupForm=Component=>Globals(withAffiliateReferrer(DSMembersAuth.withSignupForm(Component,{useMember,paths:{home:config.members.paths.home,setup:config.members.paths.setup}})));/**\n * Override used to create a logout form.\n */export const withLogout=Component=>DSMembersAuth.withLogout(Component,{useMember,paths:{login:config.members.paths.login}});/**\n * Override used the pass the props from \"withMember\".\n */export const withMemberProps=Component=>DSMembersMember.withMemberProps(Component,{useMember});/**\n * Override used to update member data (passes withMemberProps for context preservation).\n */export const withMemberUpdateForm=Component=>compose(Globals,Graph,DSMembersMember.withMemberUpdateForm)(Component,{useMember});/**\n * Override used to remove a member avatar.\n */export const withMemberAvatarRemove=Component=>compose(Globals,Graph,DSMembersMember.withMemberAvatarRemove)(Component);/**\n * --------------------------------------------------------------------\n * Overrides » Conditionals\n * --------------------------------------------------------------------\n *//**\n * Override used to show elements only if a guest.\n */export const showIfGuest=Component=>DSMembersPermissions.createShowGate(Component,{condition:({isLoggedIn})=>!isLoggedIn,useMember});/**\n * Override used to show elements only if a member.\n */export const showIfMember=Component=>DSMembersPermissions.createShowGate(Component,{condition:({isLoggedIn})=>isLoggedIn,useMember});/**\n * Override used to show components only to free members.\n */export const showIfMembershipFree=Component=>DSMembersPermissions.createShowGate(Component,{condition:({isLoggedIn,membership})=>isLoggedIn&&!membership?.isActive,useMember});/**\n * Override used to show components only to free members.\n */export const showIfMembershipFreePublic=Component=>DSMembersPermissions.createShowGate(Component,{condition:({membership})=>!membership?.isActive,useMember});/**\n * Override used to show components only to paid members.\n */export const showIfMembershipPremium=Component=>DSMembersPermissions.createShowGate(Component,{condition:({isLoggedIn,membership})=>isLoggedIn&&membership?.isActive,useMember});/**\n * Override used to show components only to annual monthly members.\n */export const showIfMembershipMonthly=Component=>DSMembersPermissions.createShowGate(Component,{condition:({membership})=>membership.interval===\"Monthly\",useMember});/**\n * Override used to show components only to annual paid members.\n */export const showIfMembershipAnnual=Component=>DSMembersPermissions.createShowGate(Component,{condition:({membership})=>membership.interval===\"Annual\",useMember});/**\n * --------------------------------------------------------------------\n * Wrappers\n * --------------------------------------------------------------------\n *//**\n * Template-level wrapper used to restrict routes to be public-only.\n */export const requireGuest=Component=>DSMembersPermissions.requireGuest(Component,{path:config.members.paths.home,loader:/*#__PURE__*/_jsx(Loader,{}),useMember});/**\n * Template-level wrapper used to restrict routes to be members-only.\n */export const requireMember=Component=>DSMembersPermissions.requireMember(Component,{path:config.members.paths.login,loader:/*#__PURE__*/_jsx(Loader,{}),useMember});/**\n * Template-level wrapper used to require setup incomplete.\n */export const requireSetupIncomplete=Component=>DSMembersPermissions.requireSetupIncomplete(Component,{loader:/*#__PURE__*/_jsx(Loader,{status:\"Connecting to Nexus\"}),redirect:config.members.paths.home,useMember});/**\n * Template-level wrapper used to require setup complete.\n */export const requireSetupComplete=Component=>DSMembersPermissions.requireSetupComplete(Component,{loader:/*#__PURE__*/_jsx(Loader,{status:\"Connecting to Nexus\"}),redirect:config.members.paths.setup,useMember});/**\n * Template-level wrapper used to require the free plan.\n */export const requirePlanFree=Component=>DSMembersPermissions.requireMembership(Component,{title:\"Agent Free\",loader:/*#__PURE__*/_jsx(Loader,{status:\"Connecting to Nexus\"}),redirect:config.members.paths.membership,useMember});/**\n * Template-level wrapper used to require the plus complete.\n */export const requirePlanPlus=Component=>DSMembersPermissions.requireMembership(Component,{title:\"Agent Plus\",loader:/*#__PURE__*/_jsx(Loader,{status:\"Connecting to Nexus\"}),redirect:config.members.paths.upgrade,useMember});\nexport const __FramerMetadata__ = {\"exports\":{\"showIfMembershipFree\":{\"type\":\"reactHoc\",\"name\":\"showIfMembershipFree\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLogout\":{\"type\":\"reactHoc\",\"name\":\"withLogout\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireGuest\":{\"type\":\"reactHoc\",\"name\":\"requireGuest\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showIfMembershipAnnual\":{\"type\":\"reactHoc\",\"name\":\"showIfMembershipAnnual\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireSetupComplete\":{\"type\":\"reactHoc\",\"name\":\"requireSetupComplete\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showIfMember\":{\"type\":\"reactHoc\",\"name\":\"showIfMember\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showIfMembershipPremium\":{\"type\":\"reactHoc\",\"name\":\"showIfMembershipPremium\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withSignupForm\":{\"type\":\"reactHoc\",\"name\":\"withSignupForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMemberUpdateForm\":{\"type\":\"reactHoc\",\"name\":\"withMemberUpdateForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showIfGuest\":{\"type\":\"reactHoc\",\"name\":\"showIfGuest\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showIfMembershipFreePublic\":{\"type\":\"reactHoc\",\"name\":\"showIfMembershipFreePublic\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMemberAvatarRemove\":{\"type\":\"reactHoc\",\"name\":\"withMemberAvatarRemove\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"showIfMembershipMonthly\":{\"type\":\"reactHoc\",\"name\":\"showIfMembershipMonthly\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requirePlanPlus\":{\"type\":\"reactHoc\",\"name\":\"requirePlanPlus\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMember\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireSetupIncomplete\":{\"type\":\"reactHoc\",\"name\":\"requireSetupIncomplete\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMember\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requireMember\":{\"type\":\"reactHoc\",\"name\":\"requireMember\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"requirePlanFree\":{\"type\":\"reactHoc\",\"name\":\"requirePlanFree\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMemberProps\":{\"type\":\"reactHoc\",\"name\":\"withMemberProps\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withLoginForm\":{\"type\":\"reactHoc\",\"name\":\"withLoginForm\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./members.map","// Generated by Framer (904da2c)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Satoshi-bold\",\"FS;Satoshi-black\",\"FS;Satoshi-black italic\",\"FS;Satoshi-bold italic\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/LAFFD4SDUCDVQEXFPDC7C53EQ4ZELWQI/PXCT3G6LO6ICM5I3NTYENYPWJAECAWDD/GHM6WVH6MILNYOOCXHXB5GTSGNTMGXZR.woff2\",weight:\"700\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NHPGVFYUXYXE33DZ75OIT4JFGHITX5PE/PSUTMASCDJTVPERDYJZPN23BVUFUCQIF/J64QX5IPOHK56I2KYUNBQ5M2XWZEYKYX.woff2\",weight:\"900\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/5ICO57VJIN252OT5L2KLEIPW754DTLAO/ZU64SLR2IEO66N27IVY5Z6JJJRTJECJK/TCTRLNEXANFIGSFCZTGQL7PZ5362GYK6.woff2\",weight:\"900\"},{cssFamilyName:\"Satoshi\",source:\"fontshare\",style:\"italic\",uiFamilyName:\"Satoshi\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/CDEBEFT2R7XKNGXSBBLZGMY4MMHZG75P/HEVKDGQCYDZ7Z6CDVR2ZQGBCTUD6ZARH/BKWEE3VKGTFABE37K2DTH625VUSN2N35.woff2\",weight:\"700\"}]}];export const css=['.framer-5Jdqw .framer-styles-preset-n8i0ih:not(.rich-text-wrapper), .framer-5Jdqw .framer-styles-preset-n8i0ih.rich-text-wrapper h6 { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 1.5px; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-887a062b-1950-4b53-8345-97084bbfd553, #8666ff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; }','@media (max-width: 1199px) and (min-width: 768px) { .framer-5Jdqw .framer-styles-preset-n8i0ih:not(.rich-text-wrapper), .framer-5Jdqw .framer-styles-preset-n8i0ih.rich-text-wrapper h6 { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 1.5px; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-887a062b-1950-4b53-8345-97084bbfd553, #8666ff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }','@media (max-width: 767px) and (min-width: 0px) { .framer-5Jdqw .framer-styles-preset-n8i0ih:not(.rich-text-wrapper), .framer-5Jdqw .framer-styles-preset-n8i0ih.rich-text-wrapper h6 { --framer-font-family: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-family-bold: \"Satoshi\", sans-serif; --framer-font-family-bold-italic: \"Satoshi\", sans-serif; --framer-font-family-italic: \"Satoshi\", \"Satoshi Placeholder\", sans-serif; --framer-font-open-type-features: \\'blwf\\' on, \\'cv09\\' on, \\'cv03\\' on, \\'cv04\\' on, \\'cv11\\' on; --framer-font-size: 12px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 1.5px; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-887a062b-1950-4b53-8345-97084bbfd553, #8666ff); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: uppercase; } }'];export const className=\"framer-5Jdqw\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","/**\n * --------------------------------------------------------------------\n * Skeleton\n * --------------------------------------------------------------------\n * Distributed under the VIAL License:\n * https://www.abruptive.com/policies/vial\n *\n * Unauthorized access or use of this code will result in prosecution\n * according to the furthest extent of the law.\n *\n * © Abruptive LLC · All Rights Reserved\n * --------------------------------------------------------------------\n */import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/**\n * --------------------------------------------------------------------\n * Component\n * --------------------------------------------------------------------\n * @framerDisableUnlink\n */export default function Skeleton({width=\"100%\",height=50,borderRadius,background,highlight,duration,border}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius,backgroundColor:background,overflow:\"hidden\",position:\"relative\",borderWidth:border.borderWidth,borderStyle:border.borderStyle,borderColor:border.borderColor},children:/*#__PURE__*/_jsx(motion.div,{style:{width:\"100%\",height:\"100%\",background:`linear-gradient(90deg, ${highlight} 0%, ${background} 50%, ${highlight} 100%)`,backgroundSize:\"200% 100%\",position:\"absolute\",top:0,left:0},animate:{backgroundPosition:[\"200% 0\",\"-200% 0\"]},transition:{duration,repeat:Infinity,ease:\"linear\"}})});}/**\n * --------------------------------------------------------------------\n * Controls\n * --------------------------------------------------------------------\n */addPropertyControls(Skeleton,{background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#f0f0f0\"},highlight:{type:ControlType.Color,title:\"Highlight\",defaultValue:\"#e0e0e0\"},border:{type:ControlType.Border,title:\"Border\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0.5)\"},optional:true},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"6px\",title:\"Radius\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:1.5,min:.5,max:5,step:.25}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Skeleton\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Skeleton.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","/*\n * nullstate (framer/icon-nullstate@0.7.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/DyldKav0OOAWR3bCAlhK/8c3l9FzyOlGpbPncYhfc/nullstate.js\"\n","let Component;\nlet IconInner;\nvar Icon = (React) => {\n  if (!Component) {\n    Component = /* @__PURE__ */ new Map([\n      [\n        \"bold\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M222.14,105.85l-80-80a20,20,0,0,0-28.28,0l-80,80A19.86,19.86,0,0,0,28,120v96a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V164h24v52a12,12,0,0,0,12,12h64a12,12,0,0,0,12-12V120A19.86,19.86,0,0,0,222.14,105.85ZM204,204H164V152a12,12,0,0,0-12-12H104a12,12,0,0,0-12,12v52H52V121.65l76-76,76,76Z\" }))\n      ],\n      [\n        \"duotone\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\n          \"path\",\n          {\n            d: \"M216,120v96H152V152H104v64H40V120a8,8,0,0,1,2.34-5.66l80-80a8,8,0,0,1,11.32,0l80,80A8,8,0,0,1,216,120Z\",\n            opacity: \"0.2\"\n          }\n        ), /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"fill\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M224,120v96a8,8,0,0,1-8,8H160a8,8,0,0,1-8-8V164a4,4,0,0,0-4-4H108a4,4,0,0,0-4,4v52a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V120a16,16,0,0,1,4.69-11.31l80-80a16,16,0,0,1,22.62,0l80,80A16,16,0,0,1,224,120Z\" }))\n      ],\n      [\n        \"light\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M217.9,110.1l-80-80a14,14,0,0,0-19.8,0l-80,80A13.92,13.92,0,0,0,34,120v96a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V158h36v58a6,6,0,0,0,6,6h64a6,6,0,0,0,6-6V120A13.92,13.92,0,0,0,217.9,110.1ZM210,210H158V152a6,6,0,0,0-6-6H104a6,6,0,0,0-6,6v58H46V120a2,2,0,0,1,.58-1.42l80-80a2,2,0,0,1,2.84,0l80,80A2,2,0,0,1,210,120Z\" }))\n      ],\n      [\n        \"regular\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M219.31,108.68l-80-80a16,16,0,0,0-22.62,0l-80,80A15.87,15.87,0,0,0,32,120v96a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V160h32v56a8,8,0,0,0,8,8h64a8,8,0,0,0,8-8V120A15.87,15.87,0,0,0,219.31,108.68ZM208,208H160V152a8,8,0,0,0-8-8H104a8,8,0,0,0-8,8v56H48V120l80-80,80,80Z\" }))\n      ],\n      [\n        \"thin\",\n        /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(\"path\", { d: \"M216.49,111.51l-80-80a12,12,0,0,0-17,0l-80,80A12,12,0,0,0,36,120v96a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V156h40v60a4,4,0,0,0,4,4h64a4,4,0,0,0,4-4V120A12,12,0,0,0,216.49,111.51ZM212,212H156V152a4,4,0,0,0-4-4H104a4,4,0,0,0-4,4v60H44V120a4,4,0,0,1,1.17-2.83l80-80a4,4,0,0,1,5.66,0l80,80A4,4,0,0,1,212,120Z\" }))\n      ]\n    ]);\n    IconInner = React.forwardRef((props, ref) => /* @__PURE__ */ React.createElement(\"g\", { ref, ...props }, Component.get(props.weight)));\n  }\n  return IconInner;\n};\nconst __FramerMetadata__ = {\n  exports: {\n    default: {\n      type: \"reactComponent\",\n      slots: [],\n      annotations: { framerContractVersion: \"1\" }\n    },\n    __FramerMetadata__: { type: \"variable\" }\n  }\n};\nvar House_default = Icon;\nexport {\n  __FramerMetadata__,\n  House_default as default\n};\n","/*\n * House (phosphor-icons/House@0.0.57)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js\"\nexport { default } from \"https://framerusercontent.com/modules/Qc8yuHkQmGO0kFiSWbkX/rVmMAFttOHuuiwSg6KjZ/House.js\"\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HouseFactory from\"https://framer.com/m/phosphor-icons/House.js@0.0.57\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";const iconKeys=[\"Acorn\",\"AddressBook\",\"AddressBookTabs\",\"AirTrafficControl\",\"Airplane\",\"AirplaneInFlight\",\"AirplaneLanding\",\"AirplaneTakeoff\",\"AirplaneTaxiing\",\"AirplaneTilt\",\"Airplay\",\"Alarm\",\"Alien\",\"AlignBottom\",\"AlignBottomSimple\",\"AlignCenterVertical\",\"AlignLeft\",\"AlignLeftSimple\",\"AlignRight\",\"AlignRightSimple\",\"AlignTop\",\"AlignTopSimple\",\"AmazonLogo\",\"Ambulance\",\"Anchor\",\"AnchorSimple\",\"AndroidLogo\",\"Angle\",\"AngularLogo\",\"Aperture\",\"AppStoreLogo\",\"AppWindow\",\"AppleLogo\",\"ApplePodcastsLogo\",\"ApproximateEquals\",\"Archive\",\"ArchiveBox\",\"ArchiveTray\",\"Armchair\",\"ArrowArcLeft\",\"ArrowArcRight\",\"ArrowBendDownLeft\",\"ArrowBendDownRight\",\"ArrowBendLeftDown\",\"ArrowBendLeftUp\",\"ArrowBendRightDown\",\"ArrowBendRightUp\",\"ArrowBendUpLeft\",\"ArrowBendUpRight\",\"ArrowCircleDown\",\"ArrowCircleDownLeft\",\"ArrowCircleDownRight\",\"ArrowCircleLeft\",\"ArrowCircleRight\",\"ArrowCircleUp\",\"ArrowCircleUpLeft\",\"ArrowCircleUpRight\",\"ArrowClockwise\",\"ArrowDown\",\"ArrowDownLeft\",\"ArrowDownRight\",\"ArrowElbowDownLeft\",\"ArrowElbowDownRight\",\"ArrowElbowLeft\",\"ArrowElbowLeftDown\",\"ArrowElbowLeftUp\",\"ArrowElbowRight\",\"ArrowElbowRightDown\",\"ArrowElbowRightUp\",\"ArrowElbowUpLeft\",\"ArrowElbowUpRight\",\"ArrowFatDown\",\"ArrowFatLeft\",\"ArrowFatLineDown\",\"ArrowFatLineLeft\",\"ArrowFatLineRight\",\"ArrowFatLineUp\",\"ArrowFatLinesDown\",\"ArrowFatLinesLeft\",\"ArrowFatLinesRight\",\"ArrowFatLinesUp\",\"ArrowFatRight\",\"ArrowFatUp\",\"ArrowLeft\",\"ArrowLineDown\",\"ArrowLineDownLeft\",\"ArrowLineDownRight\",\"ArrowLineLeft\",\"ArrowLineRight\",\"ArrowLineUp\",\"ArrowLineUpLeft\",\"ArrowLineUpRight\",\"ArrowRight\",\"ArrowSquareDown\",\"ArrowSquareDownLeft\",\"ArrowSquareDownRight\",\"ArrowSquareIn\",\"ArrowSquareLeft\",\"ArrowSquareOut\",\"ArrowSquareRight\",\"ArrowSquareUp\",\"ArrowSquareUpLeft\",\"ArrowSquareUpRight\",\"ArrowUDownLeft\",\"ArrowUDownRight\",\"ArrowULeftDown\",\"ArrowULeftUp\",\"ArrowURightDown\",\"ArrowURightUp\",\"ArrowUUpLeft\",\"ArrowUUpRight\",\"ArrowUp\",\"ArrowUpLeft\",\"ArrowUpRight\",\"ArrowsClockwise\",\"ArrowsDownUp\",\"ArrowsHorizontal\",\"ArrowsIn\",\"ArrowsInCardinal\",\"ArrowsInLineVertical\",\"ArrowsInSimple\",\"ArrowsLeftRight\",\"ArrowsMerge\",\"ArrowsOut\",\"ArrowsOutCardinal\",\"ArrowsOutSimple\",\"ArrowsSplit\",\"ArrowsVertical\",\"Article\",\"ArticleMedium\",\"ArticleNyTimes\",\"Asclepius\",\"Asterisk\",\"AsteriskSimple\",\"At\",\"Atom\",\"Avocado\",\"Axe\",\"Baby\",\"BabyCarriage\",\"Backpack\",\"Backspace\",\"Bag\",\"BagSimple\",\"Balloon\",\"Bandaids\",\"Bank\",\"Barbell\",\"Barcode\",\"Barn\",\"Barricade\",\"Baseball\",\"BaseballCap\",\"BaseballHelmet\",\"Basket\",\"Basketball\",\"Bathtub\",\"BatteryCharging\",\"BatteryEmpty\",\"BatteryFull\",\"BatteryHigh\",\"BatteryLow\",\"BatteryMedium\",\"BatteryPlus\",\"BatteryPlusVertical\",\"BatteryVerticalEmpty\",\"BatteryVerticalFull\",\"BatteryVerticalHigh\",\"BatteryVerticalLow\",\"BatteryWarning\",\"BeachBall\",\"Beanie\",\"Bed\",\"BeerBottle\",\"BeerStein\",\"BehanceLogo\",\"Bell\",\"BellRinging\",\"BellSimple\",\"BellSimpleRinging\",\"BellSimpleSlash\",\"BellSimpleZ\",\"BellSlash\",\"BellZ\",\"Belt\",\"BezierCurve\",\"Bicycle\",\"Binary\",\"Binoculars\",\"Biohazard\",\"Bird\",\"Blueprint\",\"Bluetooth\",\"BluetoothConnected\",\"BluetoothSlash\",\"BluetoothX\",\"Boat\",\"Bomb\",\"Bone\",\"Book\",\"BookBookmark\",\"BookOpen\",\"BookOpenText\",\"BookOpenUser\",\"BookUser\",\"Bookmark\",\"BookmarkSimple\",\"Bookmarks\",\"BookmarksSimple\",\"Books\",\"Boot\",\"Boules\",\"BoundingBox\",\"BowlFood\",\"BowlSteam\",\"BowlingBall\",\"BoxArrowDown\",\"BoxArrowUp\",\"BoxingGlove\",\"BracketsAngle\",\"BracketsCurly\",\"BracketsRound\",\"BracketsSquare\",\"Brain\",\"Brandy\",\"Bread\",\"Bridge\",\"Briefcase\",\"BriefcaseMetal\",\"Broadcast\",\"Broom\",\"Browser\",\"Browsers\",\"Bug\",\"BugBeetle\",\"BugDroid\",\"Building\",\"BuildingApartment\",\"BuildingOffice\",\"Buildings\",\"Bulldozer\",\"Bus\",\"Butterfly\",\"CableCar\",\"Cactus\",\"Cake\",\"Calculator\",\"Calendar\",\"CalendarBlank\",\"CalendarCheck\",\"CalendarDot\",\"CalendarDots\",\"CalendarHeart\",\"CalendarMinus\",\"CalendarPlus\",\"CalendarSlash\",\"CalendarStar\",\"CalendarX\",\"CallBell\",\"Camera\",\"CameraPlus\",\"CameraRotate\",\"CameraSlash\",\"Campfire\",\"Car\",\"CarBattery\",\"CarProfile\",\"CarSimple\",\"Cardholder\",\"Cards\",\"CardsThree\",\"CaretCircleDoubleUp\",\"CaretCircleDown\",\"CaretCircleLeft\",\"CaretCircleRight\",\"CaretCircleUp\",\"CaretCircleUpDown\",\"CaretDoubleDown\",\"CaretDoubleLeft\",\"CaretDoubleRight\",\"CaretDoubleUp\",\"CaretDown\",\"CaretLeft\",\"CaretLineDown\",\"CaretLineLeft\",\"CaretLineRight\",\"CaretLineUp\",\"CaretRight\",\"CaretUp\",\"CaretUpDown\",\"Carrot\",\"CashRegister\",\"CassetteTape\",\"CastleTurret\",\"Cat\",\"CellSignalFull\",\"CellSignalHigh\",\"CellSignalLow\",\"CellSignalMedium\",\"CellSignalNone\",\"CellSignalSlash\",\"CellSignalX\",\"CellTower\",\"Certificate\",\"Chair\",\"Chalkboard\",\"ChalkboardSimple\",\"ChalkboardTeacher\",\"Champagne\",\"ChargingStation\",\"ChartBar\",\"ChartBarHorizontal\",\"ChartDonut\",\"ChartLine\",\"ChartLineDown\",\"ChartLineUp\",\"ChartPie\",\"ChartPieSlice\",\"ChartPolar\",\"ChartScatter\",\"Chat\",\"ChatCentered\",\"ChatCenteredDots\",\"ChatCenteredSlash\",\"ChatCenteredText\",\"ChatCircle\",\"ChatCircleDots\",\"ChatCircleSlash\",\"ChatCircleText\",\"ChatDots\",\"ChatSlash\",\"ChatTeardrop\",\"ChatTeardropDots\",\"ChatTeardropSlash\",\"ChatTeardropText\",\"ChatText\",\"Chats\",\"ChatsCircle\",\"ChatsTeardrop\",\"Check\",\"CheckCircle\",\"CheckFat\",\"CheckSquare\",\"CheckSquareOffset\",\"Checkerboard\",\"Checks\",\"Cheers\",\"Cheese\",\"ChefHat\",\"Cherries\",\"Church\",\"Cigarette\",\"CigaretteSlash\",\"Circle\",\"CircleDashed\",\"CircleHalf\",\"CircleHalfTilt\",\"CircleNotch\",\"CirclesFour\",\"CirclesThree\",\"CirclesThreePlus\",\"Circuitry\",\"City\",\"Clipboard\",\"ClipboardText\",\"Clock\",\"ClockAfternoon\",\"ClockClockwise\",\"ClockCountdown\",\"ClockUser\",\"ClosedCaptioning\",\"Cloud\",\"CloudArrowDown\",\"CloudArrowUp\",\"CloudCheck\",\"CloudFog\",\"CloudLightning\",\"CloudMoon\",\"CloudRain\",\"CloudSlash\",\"CloudSnow\",\"CloudSun\",\"CloudWarning\",\"CloudX\",\"Clover\",\"Club\",\"CoatHanger\",\"CodaLogo\",\"Code\",\"CodeBlock\",\"CodeSimple\",\"CodepenLogo\",\"CodesandboxLogo\",\"Coffee\",\"CoffeeBean\",\"Coin\",\"CoinVertical\",\"Coins\",\"Columns\",\"ColumnsPlusLeft\",\"ColumnsPlusRight\",\"Command\",\"Compass\",\"CompassRose\",\"CompassTool\",\"ComputerTower\",\"Confetti\",\"ContactlessPayment\",\"Control\",\"Cookie\",\"CookingPot\",\"Copy\",\"CopySimple\",\"Copyleft\",\"Copyright\",\"CornersIn\",\"CornersOut\",\"Couch\",\"CourtBasketball\",\"Cow\",\"CowboyHat\",\"Cpu\",\"Crane\",\"CraneTower\",\"CreditCard\",\"Cricket\",\"Crop\",\"Cross\",\"Crosshair\",\"CrosshairSimple\",\"Crown\",\"CrownCross\",\"CrownSimple\",\"Cube\",\"CubeFocus\",\"CubeTransparent\",\"CurrencyBtc\",\"CurrencyCircleDollar\",\"CurrencyCny\",\"CurrencyDollar\",\"CurrencyDollarSimple\",\"CurrencyEth\",\"CurrencyEur\",\"CurrencyGbp\",\"CurrencyInr\",\"CurrencyJpy\",\"CurrencyKrw\",\"CurrencyKzt\",\"CurrencyNgn\",\"CurrencyRub\",\"Cursor\",\"CursorClick\",\"CursorText\",\"Cylinder\",\"Database\",\"Desk\",\"Desktop\",\"DesktopTower\",\"Detective\",\"DevToLogo\",\"DeviceMobile\",\"DeviceMobileCamera\",\"DeviceMobileSlash\",\"DeviceMobileSpeaker\",\"DeviceRotate\",\"DeviceTablet\",\"DeviceTabletCamera\",\"DeviceTabletSpeaker\",\"Devices\",\"Diamond\",\"DiamondsFour\",\"DiceFive\",\"DiceFour\",\"DiceOne\",\"DiceSix\",\"DiceThree\",\"DiceTwo\",\"Disc\",\"DiscoBall\",\"DiscordLogo\",\"Divide\",\"Dna\",\"Dog\",\"Door\",\"DoorOpen\",\"Dot\",\"DotOutline\",\"DotsNine\",\"DotsSix\",\"DotsSixVertical\",\"DotsThree\",\"DotsThreeCircle\",\"DotsThreeOutline\",\"DotsThreeVertical\",\"Download\",\"DownloadSimple\",\"Dress\",\"Dresser\",\"DribbbleLogo\",\"Drone\",\"Drop\",\"DropHalf\",\"DropHalfBottom\",\"DropSimple\",\"DropSlash\",\"DropboxLogo\",\"Ear\",\"EarSlash\",\"Egg\",\"EggCrack\",\"Eject\",\"EjectSimple\",\"Elevator\",\"Empty\",\"Engine\",\"Envelope\",\"EnvelopeOpen\",\"EnvelopeSimple\",\"EnvelopeSimpleOpen\",\"Equalizer\",\"Equals\",\"Eraser\",\"EscalatorDown\",\"EscalatorUp\",\"Exam\",\"ExclamationMark\",\"Exclude\",\"ExcludeSquare\",\"Export\",\"Eye\",\"EyeClosed\",\"EyeSlash\",\"Eyedropper\",\"EyedropperSample\",\"Eyeglasses\",\"Eyes\",\"FaceMask\",\"FacebookLogo\",\"Factory\",\"Faders\",\"FadersHorizontal\",\"FalloutShelter\",\"Fan\",\"Farm\",\"FastForward\",\"FastForwardCircle\",\"Feather\",\"FediverseLogo\",\"FigmaLogo\",\"File\",\"FileArchive\",\"FileArrowDown\",\"FileArrowUp\",\"FileAudio\",\"FileC\",\"FileCloud\",\"FileCode\",\"FileCpp\",\"FileCss\",\"FileCsv\",\"FileDashed\",\"FileDoc\",\"FileHtml\",\"FileImage\",\"FileIni\",\"FileJpg\",\"FileJs\",\"FileJsx\",\"FileLock\",\"FileMagnifyingGlass\",\"FileMd\",\"FileMinus\",\"FilePdf\",\"FilePlus\",\"FilePng\",\"FilePpt\",\"FilePy\",\"FileRs\",\"FileSql\",\"FileSvg\",\"FileText\",\"FileTs\",\"FileTsx\",\"FileTxt\",\"FileVideo\",\"FileVue\",\"FileX\",\"FileXls\",\"FileZip\",\"Files\",\"FilmReel\",\"FilmScript\",\"FilmSlate\",\"FilmStrip\",\"Fingerprint\",\"FingerprintSimple\",\"FinnTheHuman\",\"Fire\",\"FireExtinguisher\",\"FireSimple\",\"FireTruck\",\"FirstAid\",\"FirstAidKit\",\"Fish\",\"FishSimple\",\"Flag\",\"FlagBanner\",\"FlagBannerFold\",\"FlagCheckered\",\"FlagPennant\",\"Flame\",\"Flashlight\",\"Flask\",\"FlipHorizontal\",\"FlipVertical\",\"FloppyDisk\",\"FloppyDiskBack\",\"FlowArrow\",\"Flower\",\"FlowerLotus\",\"FlowerTulip\",\"FlyingSaucer\",\"Folder\",\"FolderDashed\",\"FolderLock\",\"FolderMinus\",\"FolderNotch\",\"FolderNotchMinus\",\"FolderNotchOpen\",\"FolderNotchPlus\",\"FolderOpen\",\"FolderPlus\",\"FolderSimple\",\"FolderSimpleDashed\",\"FolderSimpleLock\",\"FolderSimpleMinus\",\"FolderSimplePlus\",\"FolderSimpleStar\",\"FolderSimpleUser\",\"FolderStar\",\"FolderUser\",\"Folders\",\"Football\",\"FootballHelmet\",\"Footprints\",\"ForkKnife\",\"FourK\",\"FrameCorners\",\"FramerLogo\",\"Function\",\"Funnel\",\"FunnelSimple\",\"FunnelSimpleX\",\"FunnelX\",\"GameController\",\"Garage\",\"GasCan\",\"GasPump\",\"Gauge\",\"Gavel\",\"Gear\",\"GearFine\",\"GearSix\",\"GenderFemale\",\"GenderIntersex\",\"GenderMale\",\"GenderNeuter\",\"GenderNonbinary\",\"GenderTransgender\",\"Ghost\",\"Gif\",\"Gift\",\"GitBranch\",\"GitCommit\",\"GitDiff\",\"GitFork\",\"GitMerge\",\"GitPullRequest\",\"GithubLogo\",\"GitlabLogo\",\"GitlabLogoSimple\",\"Globe\",\"GlobeHemisphereEast\",\"GlobeHemisphereWest\",\"GlobeSimple\",\"GlobeSimpleX\",\"GlobeStand\",\"GlobeX\",\"Goggles\",\"Golf\",\"GoodreadsLogo\",\"GoogleCardboardLogo\",\"GoogleChromeLogo\",\"GoogleDriveLogo\",\"GoogleLogo\",\"GooglePhotosLogo\",\"GooglePlayLogo\",\"GooglePodcastsLogo\",\"Gps\",\"GpsFix\",\"GpsSlash\",\"Gradient\",\"GraduationCap\",\"Grains\",\"GrainsSlash\",\"Graph\",\"GraphicsCard\",\"GreaterThan\",\"GreaterThanOrEqual\",\"GridFour\",\"GridNine\",\"Guitar\",\"HairDryer\",\"Hamburger\",\"Hammer\",\"Hand\",\"HandArrowDown\",\"HandArrowUp\",\"HandCoins\",\"HandDeposit\",\"HandEye\",\"HandFist\",\"HandGrabbing\",\"HandHeart\",\"HandPalm\",\"HandPeace\",\"HandPointing\",\"HandSoap\",\"HandSwipeLeft\",\"HandSwipeRight\",\"HandTap\",\"HandWaving\",\"HandWithdraw\",\"Handbag\",\"HandbagSimple\",\"HandsClapping\",\"HandsPraying\",\"Handshake\",\"HardDrive\",\"HardDrives\",\"HardHat\",\"Hash\",\"HashStraight\",\"HeadCircuit\",\"Headlights\",\"Headphones\",\"Headset\",\"Heart\",\"HeartBreak\",\"HeartHalf\",\"HeartStraight\",\"HeartStraightBreak\",\"Heartbeat\",\"Hexagon\",\"HighDefinition\",\"HighHeel\",\"Highlighter\",\"HighlighterCircle\",\"Hockey\",\"Hoodie\",\"Horse\",\"Hospital\",\"Hourglass\",\"HourglassHigh\",\"HourglassLow\",\"HourglassMedium\",\"HourglassSimple\",\"HourglassSimpleHigh\",\"HourglassSimpleLow\",\"House\",\"HouseLine\",\"HouseSimple\",\"Hurricane\",\"IceCream\",\"IdentificationBadge\",\"IdentificationCard\",\"Image\",\"ImageBroken\",\"ImageSquare\",\"Images\",\"ImagesSquare\",\"Infinity\",\"Info\",\"InstagramLogo\",\"Intersect\",\"IntersectSquare\",\"IntersectThree\",\"Intersection\",\"Invoice\",\"Island\",\"Jar\",\"JarLabel\",\"Jeep\",\"Joystick\",\"Kanban\",\"Key\",\"KeyReturn\",\"Keyboard\",\"Keyhole\",\"Knife\",\"Ladder\",\"LadderSimple\",\"Lamp\",\"LampPendant\",\"Laptop\",\"Lasso\",\"LastfmLogo\",\"Layout\",\"Leaf\",\"Lectern\",\"Lego\",\"LegoSmiley\",\"LessThan\",\"LessThanOrEqual\",\"LetterCircleH\",\"LetterCircleP\",\"LetterCircleV\",\"Lifebuoy\",\"Lightbulb\",\"LightbulbFilament\",\"Lighthouse\",\"Lightning\",\"LightningA\",\"LightningSlash\",\"LineSegment\",\"LineSegments\",\"LineVertical\",\"Link\",\"LinkBreak\",\"LinkSimple\",\"LinkSimpleBreak\",\"LinkSimpleHorizontal\",\"LinkedinLogo\",\"LinktreeLogo\",\"LinuxLogo\",\"List\",\"ListBullets\",\"ListChecks\",\"ListDashes\",\"ListHeart\",\"ListMagnifyingGlass\",\"ListNumbers\",\"ListPlus\",\"ListStar\",\"Lock\",\"LockKey\",\"LockKeyOpen\",\"LockLaminated\",\"LockLaminatedOpen\",\"LockOpen\",\"LockSimple\",\"LockSimpleOpen\",\"Lockers\",\"Log\",\"MagicWand\",\"Magnet\",\"MagnetStraight\",\"MagnifyingGlass\",\"MagnifyingGlassMinus\",\"MagnifyingGlassPlus\",\"Mailbox\",\"MapPin\",\"MapPinArea\",\"MapPinLine\",\"MapPinPlus\",\"MapPinSimple\",\"MapPinSimpleArea\",\"MapPinSimpleLine\",\"MapTrifold\",\"MarkdownLogo\",\"MarkerCircle\",\"Martini\",\"MaskHappy\",\"MaskSad\",\"MastodonLogo\",\"MathOperations\",\"MatrixLogo\",\"Medal\",\"MedalMilitary\",\"MediumLogo\",\"Megaphone\",\"MegaphoneSimple\",\"MemberOf\",\"Memory\",\"MessengerLogo\",\"MetaLogo\",\"Meteor\",\"Metronome\",\"Microphone\",\"MicrophoneSlash\",\"MicrophoneStage\",\"Microscope\",\"MicrosoftExcelLogo\",\"MicrosoftOutlookLogo\",\"MicrosoftTeamsLogo\",\"MicrosoftWordLogo\",\"Minus\",\"MinusCircle\",\"MinusSquare\",\"Money\",\"MoneyWavy\",\"Monitor\",\"MonitorArrowUp\",\"MonitorPlay\",\"Moon\",\"MoonStars\",\"Moped\",\"MopedFront\",\"Mosque\",\"Motorcycle\",\"Mountains\",\"Mouse\",\"MouseLeftClick\",\"MouseMiddleClick\",\"MouseRightClick\",\"MouseScroll\",\"MouseSimple\",\"MusicNote\",\"MusicNoteSimple\",\"MusicNotes\",\"MusicNotesMinus\",\"MusicNotesPlus\",\"MusicNotesSimple\",\"NavigationArrow\",\"Needle\",\"Network\",\"NetworkSlash\",\"NetworkX\",\"Newspaper\",\"NewspaperClipping\",\"NotEquals\",\"NotMemberOf\",\"NotSubsetOf\",\"NotSupersetOf\",\"Notches\",\"Note\",\"NoteBlank\",\"NotePencil\",\"Notebook\",\"Notepad\",\"Notification\",\"NotionLogo\",\"NuclearPlant\",\"NumberCircleEight\",\"NumberCircleFive\",\"NumberCircleFour\",\"NumberCircleNine\",\"NumberCircleOne\",\"NumberCircleSeven\",\"NumberCircleSix\",\"NumberCircleThree\",\"NumberCircleTwo\",\"NumberCircleZero\",\"NumberEight\",\"NumberFive\",\"NumberFour\",\"NumberNine\",\"NumberOne\",\"NumberSeven\",\"NumberSix\",\"NumberSquareEight\",\"NumberSquareFive\",\"NumberSquareFour\",\"NumberSquareNine\",\"NumberSquareOne\",\"NumberSquareSeven\",\"NumberSquareSix\",\"NumberSquareThree\",\"NumberSquareTwo\",\"NumberSquareZero\",\"NumberThree\",\"NumberTwo\",\"NumberZero\",\"Numpad\",\"Nut\",\"NyTimesLogo\",\"Octagon\",\"OfficeChair\",\"Onigiri\",\"OpenAiLogo\",\"Option\",\"Orange\",\"OrangeSlice\",\"Oven\",\"Package\",\"PaintBrush\",\"PaintBrushBroad\",\"PaintBrushHousehold\",\"PaintBucket\",\"PaintRoller\",\"Palette\",\"Panorama\",\"Pants\",\"PaperPlane\",\"PaperPlaneRight\",\"PaperPlaneTilt\",\"Paperclip\",\"PaperclipHorizontal\",\"Parachute\",\"Paragraph\",\"Parallelogram\",\"Park\",\"Password\",\"Path\",\"PatreonLogo\",\"Pause\",\"PauseCircle\",\"PawPrint\",\"PaypalLogo\",\"Peace\",\"Pen\",\"PenNib\",\"PenNibStraight\",\"Pencil\",\"PencilCircle\",\"PencilLine\",\"PencilRuler\",\"PencilSimple\",\"PencilSimpleLine\",\"PencilSimpleSlash\",\"PencilSlash\",\"Pentagon\",\"Pentagram\",\"Pepper\",\"Percent\",\"Person\",\"PersonArmsSpread\",\"PersonSimple\",\"PersonSimpleBike\",\"PersonSimpleCircle\",\"PersonSimpleHike\",\"PersonSimpleRun\",\"PersonSimpleSki\",\"PersonSimpleSwim\",\"PersonSimpleTaiChi\",\"PersonSimpleThrow\",\"PersonSimpleWalk\",\"Perspective\",\"Phone\",\"PhoneCall\",\"PhoneDisconnect\",\"PhoneIncoming\",\"PhoneList\",\"PhoneOutgoing\",\"PhonePause\",\"PhonePlus\",\"PhoneSlash\",\"PhoneTransfer\",\"PhoneX\",\"PhosphorLogo\",\"Pi\",\"PianoKeys\",\"PicnicTable\",\"PictureInPicture\",\"PiggyBank\",\"Pill\",\"PingPong\",\"PintGlass\",\"PinterestLogo\",\"Pinwheel\",\"Pipe\",\"PipeWrench\",\"PixLogo\",\"Pizza\",\"Placeholder\",\"Planet\",\"Plant\",\"Play\",\"PlayCircle\",\"PlayPause\",\"Playlist\",\"Plug\",\"PlugCharging\",\"Plugs\",\"PlugsConnected\",\"Plus\",\"PlusCircle\",\"PlusMinus\",\"PlusSquare\",\"PokerChip\",\"PoliceCar\",\"Polygon\",\"Popcorn\",\"Popsicle\",\"PottedPlant\",\"Power\",\"Prescription\",\"Presentation\",\"PresentationChart\",\"Printer\",\"Prohibit\",\"ProhibitInset\",\"ProjectorScreen\",\"ProjectorScreenChart\",\"Pulse\",\"PushPin\",\"PushPinSimple\",\"PushPinSimpleSlash\",\"PushPinSlash\",\"PuzzlePiece\",\"QrCode\",\"Question\",\"QuestionMark\",\"Queue\",\"Quotes\",\"Rabbit\",\"Racquet\",\"Radical\",\"Radio\",\"RadioButton\",\"Radioactive\",\"Rainbow\",\"RainbowCloud\",\"Ranking\",\"ReadCvLogo\",\"Receipt\",\"ReceiptX\",\"Record\",\"Rectangle\",\"RectangleDashed\",\"Recycle\",\"RedditLogo\",\"Repeat\",\"RepeatOnce\",\"ReplitLogo\",\"Resize\",\"Rewind\",\"RewindCircle\",\"RoadHorizon\",\"Robot\",\"Rocket\",\"RocketLaunch\",\"Rows\",\"RowsPlusBottom\",\"RowsPlusTop\",\"Rss\",\"RssSimple\",\"Rug\",\"Ruler\",\"Sailboat\",\"Scales\",\"Scan\",\"ScanSmiley\",\"Scissors\",\"Scooter\",\"Screencast\",\"Screwdriver\",\"Scribble\",\"ScribbleLoop\",\"Scroll\",\"Seal\",\"SealCheck\",\"SealPercent\",\"SealQuestion\",\"SealWarning\",\"Seat\",\"Seatbelt\",\"SecurityCamera\",\"Selection\",\"SelectionAll\",\"SelectionBackground\",\"SelectionForeground\",\"SelectionInverse\",\"SelectionPlus\",\"SelectionSlash\",\"Shapes\",\"Share\",\"ShareFat\",\"ShareNetwork\",\"Shield\",\"ShieldCheck\",\"ShieldCheckered\",\"ShieldChevron\",\"ShieldPlus\",\"ShieldSlash\",\"ShieldStar\",\"ShieldWarning\",\"ShippingContainer\",\"ShirtFolded\",\"ShootingStar\",\"ShoppingBag\",\"ShoppingBagOpen\",\"ShoppingCart\",\"ShoppingCartSimple\",\"Shovel\",\"Shower\",\"Shrimp\",\"Shuffle\",\"ShuffleAngular\",\"ShuffleSimple\",\"Sidebar\",\"SidebarSimple\",\"Sigma\",\"SignIn\",\"SignOut\",\"Signature\",\"Signpost\",\"SimCard\",\"Siren\",\"SketchLogo\",\"SkipBack\",\"SkipBackCircle\",\"SkipForward\",\"SkipForwardCircle\",\"Skull\",\"SkypeLogo\",\"SlackLogo\",\"Sliders\",\"SlidersHorizontal\",\"Slideshow\",\"Smiley\",\"SmileyAngry\",\"SmileyBlank\",\"SmileyMeh\",\"SmileyMelting\",\"SmileyNervous\",\"SmileySad\",\"SmileySticker\",\"SmileyWink\",\"SmileyXEyes\",\"SnapchatLogo\",\"Sneaker\",\"SneakerMove\",\"Snowflake\",\"SoccerBall\",\"Sock\",\"SolarPanel\",\"SolarRoof\",\"SortAscending\",\"SortDescending\",\"SoundcloudLogo\",\"Spade\",\"Sparkle\",\"SpeakerHifi\",\"SpeakerHigh\",\"SpeakerLow\",\"SpeakerNone\",\"SpeakerSimpleHigh\",\"SpeakerSimpleLow\",\"SpeakerSimpleNone\",\"SpeakerSimpleSlash\",\"SpeakerSimpleX\",\"SpeakerSlash\",\"SpeakerX\",\"Speedometer\",\"Sphere\",\"Spinner\",\"SpinnerBall\",\"SpinnerGap\",\"Spiral\",\"SplitHorizontal\",\"SplitVertical\",\"SpotifyLogo\",\"SprayBottle\",\"Square\",\"SquareHalf\",\"SquareHalfBottom\",\"SquareLogo\",\"SquareSplitVertical\",\"SquaresFour\",\"Stack\",\"StackMinus\",\"StackOverflowLogo\",\"StackPlus\",\"StackSimple\",\"Stairs\",\"Stamp\",\"StandardDefinition\",\"Star\",\"StarAndCrescent\",\"StarFour\",\"StarHalf\",\"StarOfDavid\",\"SteamLogo\",\"SteeringWheel\",\"Steps\",\"Stethoscope\",\"Sticker\",\"Stool\",\"Stop\",\"StopCircle\",\"Storefront\",\"Strategy\",\"StripeLogo\",\"Student\",\"SubsetOf\",\"SubsetProperOf\",\"Subtitles\",\"SubtitlesSlash\",\"Subtract\",\"SubtractSquare\",\"Subway\",\"Suitcase\",\"SuitcaseRolling\",\"SuitcaseSimple\",\"Sun\",\"SunDim\",\"SunHorizon\",\"Sunglasses\",\"SupersetOf\",\"SupersetProperOf\",\"Swap\",\"Swatches\",\"SwimmingPool\",\"Sword\",\"Synagogue\",\"Syringe\",\"TShirt\",\"Table\",\"Tabs\",\"Tag\",\"TagChevron\",\"TagSimple\",\"Target\",\"Taxi\",\"TeaBag\",\"TelegramLogo\",\"Television\",\"TelevisionSimple\",\"TennisBall\",\"Tent\",\"Terminal\",\"TerminalWindow\",\"TestTube\",\"TextAUnderline\",\"TextAa\",\"TextAlignCenter\",\"TextAlignJustify\",\"TextAlignLeft\",\"TextAlignRight\",\"TextB\",\"TextColumns\",\"TextH\",\"TextHFive\",\"TextHFour\",\"TextHOne\",\"TextHSix\",\"TextHThree\",\"TextHTwo\",\"TextIndent\",\"TextItalic\",\"TextOutdent\",\"TextStrikethrough\",\"TextSubscript\",\"TextSuperscript\",\"TextT\",\"TextTSlash\",\"TextUnderline\",\"Textbox\",\"Thermometer\",\"ThermometerCold\",\"ThermometerHot\",\"ThermometerSimple\",\"ThreadsLogo\",\"ThreeD\",\"ThumbsDown\",\"ThumbsUp\",\"Ticket\",\"TidalLogo\",\"TiktokLogo\",\"Tilde\",\"Timer\",\"TipJar\",\"Tipi\",\"Tire\",\"ToggleLeft\",\"ToggleRight\",\"Toilet\",\"ToiletPaper\",\"Toolbox\",\"Tooth\",\"Tornado\",\"Tote\",\"ToteSimple\",\"Towel\",\"Tractor\",\"Trademark\",\"TrademarkRegistered\",\"TrafficCone\",\"TrafficSign\",\"TrafficSignal\",\"Train\",\"TrainRegional\",\"TrainSimple\",\"Tram\",\"Translate\",\"Trash\",\"TrashSimple\",\"Tray\",\"TrayArrowDown\",\"TrayArrowUp\",\"TreasureChest\",\"Tree\",\"TreeEvergreen\",\"TreePalm\",\"TreeStructure\",\"TreeView\",\"TrendDown\",\"TrendUp\",\"Triangle\",\"TriangleDashed\",\"Trolley\",\"TrolleySuitcase\",\"Trophy\",\"Truck\",\"TruckTrailer\",\"TumblrLogo\",\"TwitchLogo\",\"TwitterLogo\",\"Umbrella\",\"UmbrellaSimple\",\"Union\",\"Unite\",\"UniteSquare\",\"Upload\",\"UploadSimple\",\"Usb\",\"User\",\"UserCheck\",\"UserCircle\",\"UserCircleCheck\",\"UserCircleDashed\",\"UserCircleGear\",\"UserCircleMinus\",\"UserCirclePlus\",\"UserFocus\",\"UserGear\",\"UserList\",\"UserMinus\",\"UserPlus\",\"UserRectangle\",\"UserSound\",\"UserSquare\",\"UserSwitch\",\"Users\",\"UsersFour\",\"UsersThree\",\"Van\",\"Vault\",\"VectorThree\",\"VectorTwo\",\"Vibrate\",\"Video\",\"VideoCamera\",\"VideoCameraSlash\",\"VideoConference\",\"Vignette\",\"VinylRecord\",\"VirtualReality\",\"Virus\",\"Visor\",\"Voicemail\",\"Volleyball\",\"Wall\",\"Wallet\",\"Warehouse\",\"Warning\",\"WarningCircle\",\"WarningDiamond\",\"WarningOctagon\",\"WashingMachine\",\"Watch\",\"WaveSawtooth\",\"WaveSine\",\"WaveSquare\",\"WaveTriangle\",\"Waveform\",\"WaveformSlash\",\"Waves\",\"Webcam\",\"WebcamSlash\",\"WebhooksLogo\",\"WechatLogo\",\"WhatsappLogo\",\"Wheelchair\",\"WheelchairMotion\",\"WifiHigh\",\"WifiLow\",\"WifiMedium\",\"WifiNone\",\"WifiSlash\",\"WifiX\",\"Wind\",\"Windmill\",\"WindowsLogo\",\"Wine\",\"Wrench\",\"X\",\"XCircle\",\"XLogo\",\"XSquare\",\"Yarn\",\"YinYang\",\"YoutubeLogo\"];const moduleBaseUrl=\"https://framer.com/m/phosphor-icons/\";const weightOptions=[\"thin\",\"light\",\"regular\",\"bold\",\"fill\",\"duotone\"];const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * PHOSPHOR\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n */export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,weight,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);const[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HouseFactory(React):null);async function importModule(){// Get the selected module\ntry{const version=\"0.0.57\";const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@${version}`;const module=await import(/* webpackIgnore: true */iconModuleUrl);if(isMounted.current)setSelectedIcon(module.default(React));}catch(err){if(isMounted.current)setSelectedIcon(null);}}useEffect(()=>{isMounted.current=true;importModule();return()=>{isMounted.current=false;};},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/_jsx(NullState,{}):null;return /*#__PURE__*/_jsx(motion.div,{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",style:{userSelect:\"none\",width:\"100%\",height:\"100%\",display:\"inline-block\",fill:color,color,flexShrink:0,transform:mirrored?\"scale(-1, 1)\":undefined},focusable:\"false\",color:color,children:/*#__PURE__*/_jsx(SelectedIcon,{color:color,weight:weight})}):emptyState});}Icon.displayName=\"Phosphor\";Icon.defaultProps={width:24,height:24,iconSelection:\"House\",iconSearch:\"House\",color:\"#66F\",selectByList:true,weight:\"regular\",mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Phosphor site](https://phosphoricons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},weight:{type:ControlType.Enum,title:\"Weight\",optionTitles:weightOptions.map(piece=>piece.charAt(0).toUpperCase()+piece.slice(1)),options:weightOptions,defaultValue:Icon.defaultProps.weight},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Phosphor.map","// Generated by Framer (fb365c6)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const MotionDivWithFX=withFX(motion.div);const cycleOrder=[\"cKzvPWN7r\",\"PClCKJOwB\",\"Ty12YgNx8\",\"uIe_Wt4aW\",\"c5EUUcGJA\"];const serializationHash=\"framer-AmUoz\";const variantClassNames={c5EUUcGJA:\"framer-v-1wbsjyn\",cKzvPWN7r:\"framer-v-1iszwwj\",PClCKJOwB:\"framer-v-11wh26d\",Ty12YgNx8:\"framer-v-5ahfgg\",uIe_Wt4aW:\"framer-v-uq91qq\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const transition2={delay:0,duration:.3,ease:[.44,0,.56,1],type:\"tween\"};const animation1={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:0,y:0};const transition3={delay:0,duration:1,ease:[0,0,1,1],type:\"tween\"};const animation2={opacity:1,rotate:360,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Thick (Primary)\":\"uIe_Wt4aW\",Default:\"cKzvPWN7r\",Hidden:\"c5EUUcGJA\",Primary:\"PClCKJOwB\",Thick:\"Ty12YgNx8\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"cKzvPWN7r\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"cKzvPWN7r\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const isDisplayed=()=>{if(baseVariant===\"c5EUUcGJA\")return false;return true;};const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:isDisplayed()&&/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1iszwwj\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"cKzvPWN7r\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",borderBottomLeftRadius:0,borderBottomRightRadius:0,borderTopLeftRadius:0,borderTopRightRadius:0,...style},variants:{Ty12YgNx8:{\"--border-bottom-width\":\"2px\",\"--border-color\":\"var(--token-6a6d1399-e0d3-458b-9e29-96d27df1c9d2, rgba(255, 255, 255, 0.04))\",\"--border-left-width\":\"2px\",\"--border-right-width\":\"2px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50},uIe_Wt4aW:{\"--border-bottom-width\":\"2px\",\"--border-color\":\"var(--token-6a6d1399-e0d3-458b-9e29-96d27df1c9d2, rgba(255, 255, 255, 0.04))\",\"--border-left-width\":\"2px\",\"--border-right-width\":\"2px\",\"--border-style\":\"solid\",\"--border-top-width\":\"2px\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50}},...addPropertyOverrides({PClCKJOwB:{\"data-framer-name\":\"Primary\"},Ty12YgNx8:{\"data-border\":true,\"data-framer-name\":\"Thick\"},uIe_Wt4aW:{\"data-border\":true,\"data-framer-name\":\"Thick (Primary)\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:false,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1g73syt\",\"data-framer-name\":\"Spinner\",layoutDependency:layoutDependency,layoutId:\"ydKSfbnzE\",style:{mask:\"url('https://framerusercontent.com/images/pGiXYozQ3mE4cilNOItfe2L2fUA.svg?width=20&height=20') alpha no-repeat center / cover add\",WebkitMask:\"url('https://framerusercontent.com/images/pGiXYozQ3mE4cilNOItfe2L2fUA.svg?width=20&height=20') alpha no-repeat center / cover add\"},variants:{Ty12YgNx8:{mask:\"linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\",WebkitMask:\"linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\"},uIe_Wt4aW:{mask:\"linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\",WebkitMask:\"linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%) add\"}},children:/*#__PURE__*/_jsx(MotionDivWithFX,{__framer__loop:animation2,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"loop\",__framer__loopTransition:transition3,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-mvr1i\",\"data-framer-name\":\"Conic\",layoutDependency:layoutDependency,layoutId:\"hVnFnfHGv\",style:{background:\"conic-gradient(from 0deg at 50% 50%, rgba(255, 255, 255, 0) 0deg, rgb(153, 153, 153) 342deg)\"},variants:{PClCKJOwB:{background:\"conic-gradient(from 0deg at 50% 50%, rgba(255, 255, 255, 0) 0deg, var(--token-887a062b-1950-4b53-8345-97084bbfd553, rgb(134, 102, 255)) 342deg)\"},Ty12YgNx8:{background:\"conic-gradient(from 0deg at 50% 50%, rgba(255, 255, 255, 0) 0deg, var(--token-6a856be1-2d4b-4384-a169-6530cfae4f0f, rgba(18, 13, 38, 0.8)) 342deg)\"},uIe_Wt4aW:{background:\"conic-gradient(from 0deg at 50% 50%, var(--token-887a062b-1950-4b53-8345-97084bbfd553, rgb(134, 102, 255)) 0deg, var(--token-6a856be1-2d4b-4384-a169-6530cfae4f0f, rgba(18, 13, 38, 0.8)) 342deg)\"}},children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-13zps1l\",\"data-framer-name\":\"Round\",layoutDependency:layoutDependency,layoutId:\"w82FE6GOg\",style:{backgroundColor:\"rgb(153, 153, 153)\",borderBottomLeftRadius:1,borderBottomRightRadius:1,borderTopLeftRadius:1,borderTopRightRadius:1},variants:{PClCKJOwB:{backgroundColor:\"var(--token-887a062b-1950-4b53-8345-97084bbfd553, rgb(134, 102, 255))\"},Ty12YgNx8:{backgroundColor:\"var(--token-6a856be1-2d4b-4384-a169-6530cfae4f0f, rgba(18, 13, 38, 0.8))\"},uIe_Wt4aW:{backgroundColor:\"var(--token-887a062b-1950-4b53-8345-97084bbfd553, rgb(134, 102, 255))\"}}})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-AmUoz.framer-1p2hkgz, .framer-AmUoz .framer-1p2hkgz { display: block; }\",\".framer-AmUoz.framer-1iszwwj { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 40px; justify-content: center; padding: 0px; position: relative; width: 40px; }\",\".framer-AmUoz .framer-1g73syt { aspect-ratio: 1 / 1; flex: 1 0 0px; gap: 10px; height: var(--framer-aspect-ratio-supported, 200px); overflow: visible; position: relative; width: 1px; }\",\".framer-AmUoz .framer-mvr1i { aspect-ratio: 1 / 1; flex: none; gap: 10px; height: var(--framer-aspect-ratio-supported, 20px); left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; }\",\".framer-AmUoz .framer-13zps1l { flex: none; height: 2px; left: calc(50.00000000000002% - 2px / 2); overflow: visible; position: absolute; top: 0px; width: 2px; }\",\".framer-AmUoz.framer-v-5ahfgg.framer-1iszwwj, .framer-AmUoz.framer-v-uq91qq.framer-1iszwwj { overflow: hidden; will-change: var(--framer-will-change-override, transform); }\",'.framer-AmUoz[data-border=\"true\"]::after, .framer-AmUoz [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 40\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"PClCKJOwB\":{\"layout\":[\"fixed\",\"fixed\"]},\"Ty12YgNx8\":{\"layout\":[\"fixed\",\"fixed\"]},\"uIe_Wt4aW\":{\"layout\":[\"fixed\",\"fixed\"]},\"c5EUUcGJA\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerP_p9udK8V=withCSS(Component,css,\"framer-AmUoz\");export default FramerP_p9udK8V;FramerP_p9udK8V.displayName=\"Spinner\";FramerP_p9udK8V.defaultProps={height:40,width:40};addPropertyControls(FramerP_p9udK8V,{variant:{options:[\"cKzvPWN7r\",\"PClCKJOwB\",\"Ty12YgNx8\",\"uIe_Wt4aW\",\"c5EUUcGJA\"],optionTitles:[\"Default\",\"Primary\",\"Thick\",\"Thick (Primary)\",\"Hidden\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerP_p9udK8V,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerP_p9udK8V\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"40\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"PClCKJOwB\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Ty12YgNx8\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"uIe_Wt4aW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"c5EUUcGJA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"40\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./P_p9udK8V.map","// Generated by Framer (4e1e732)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/4L9XJhVUQFpw5WsuvoGY/YJ47KVBd2b14nev3mtMp/gEpyVZImU.js\";const cycleOrder=[\"nm391OTP1\",\"F2RzSQc9W\",\"TYf0qV_i9\",\"p9sFwq2bm\",\"nYoU602uH\"];const serializationHash=\"framer-uJ5cq\";const variantClassNames={F2RzSQc9W:\"framer-v-4vggv3\",nm391OTP1:\"framer-v-1sa7r0l\",nYoU602uH:\"framer-v-1gkiznl\",p9sFwq2bm:\"framer-v-1nwtoj5\",TYf0qV_i9:\"framer-v-jcmi1z\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Horizontal (Labeled - Center)\":\"TYf0qV_i9\",\"Horizontal (Labeled)\":\"F2RzSQc9W\",\"Variant 4\":\"nYoU602uH\",Horizontal:\"nm391OTP1\",Vertical:\"p9sFwq2bm\"};const getProps=({height,id,label,width,...props})=>{return{...props,HmM_F049V:label??props.HmM_F049V??\"Divider\",variant:humanReadableVariantMap[props.variant]??props.variant??\"nm391OTP1\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,HmM_F049V,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"nm391OTP1\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"F2RzSQc9W\",\"TYf0qV_i9\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"TYf0qV_i9\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1sa7r0l\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Horizontal\",layoutDependency:layoutDependency,layoutId:\"nm391OTP1\",ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"var(--token-4ee600e9-b261-4d58-ac71-46221076960e, rgba(255, 255, 255, 0.12))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"dashed\",\"--border-top-width\":\"1px\",...style},variants:{F2RzSQc9W:{\"--border-top-width\":\"0px\"},nYoU602uH:{\"--border-color\":\"var(--token-c2404f29-5d75-43ae-9091-9362defd9433, rgba(225, 217, 255, 0.6))\"},p9sFwq2bm:{\"--border-right-width\":\"1px\",\"--border-top-width\":\"0px\"},TYf0qV_i9:{\"--border-top-width\":\"0px\"}},...addPropertyOverrides({F2RzSQc9W:{\"data-framer-name\":\"Horizontal (Labeled)\"},nYoU602uH:{\"data-framer-name\":\"Variant 4\"},p9sFwq2bm:{\"data-framer-name\":\"Vertical\"},TYf0qV_i9:{\"data-framer-name\":\"Horizontal (Labeled - Center)\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-dw4kj5\",\"data-framer-name\":\"Label\",layoutDependency:layoutDependency,layoutId:\"LgpkHK6eK\",children:isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-styles-preset-n8i0ih\",\"data-styles-preset\":\"gEpyVZImU\",style:{\"--framer-text-color\":\"var(--extracted-tcooor, var(--token-0a4f1509-ff06-48e1-89b7-b63338bae98d, rgb(225, 217, 255)))\"},children:\"Divider\"})}),className:\"framer-nmr11s\",\"data-framer-name\":\"Label\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"VMYc77c6t\",style:{\"--extracted-tcooor\":\"var(--token-0a4f1509-ff06-48e1-89b7-b63338bae98d, rgb(225, 217, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:HmM_F049V,verticalAlignment:\"top\",withExternalLayout:true})}),isDisplayed()&&/*#__PURE__*/_jsx(Transition,{...addPropertyOverrides({F2RzSQc9W:{value:transition1},TYf0qV_i9:{value:transition1}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-eew66a\",\"data-framer-name\":\"Divider\",layoutDependency:layoutDependency,layoutId:\"nMGmTW1XG\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backgroundColor:\"rgb(255, 255, 255)\"},variants:{F2RzSQc9W:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"var(--token-4ee600e9-b261-4d58-ac71-46221076960e, rgba(255, 255, 255, 0.12))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"dashed\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(0, 0, 0, 0)\"},TYf0qV_i9:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"var(--token-4ee600e9-b261-4d58-ac71-46221076960e, rgba(255, 255, 255, 0.12))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"dashed\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(0, 0, 0, 0)\"}},...addPropertyOverrides({F2RzSQc9W:{\"data-border\":true},TYf0qV_i9:{\"data-border\":true}},baseVariant,gestureVariant)})}),isDisplayed1()&&/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1j5qgwq\",\"data-border\":true,\"data-framer-name\":\"Divider\",layoutDependency:layoutDependency,layoutId:\"hhPZeTc6u\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"var(--token-4ee600e9-b261-4d58-ac71-46221076960e, rgba(255, 255, 255, 0.12))\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"dashed\",\"--border-top-width\":\"1px\"}})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-uJ5cq.framer-9e1nbz, .framer-uJ5cq .framer-9e1nbz { display: block; }\",\".framer-uJ5cq.framer-1sa7r0l { height: 1px; overflow: visible; position: relative; width: 500px; }\",\".framer-uJ5cq .framer-dw4kj5 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; left: 0px; min-height: 200px; min-width: 250px; overflow: visible; padding: 0px 15px 0px 0px; position: absolute; top: 1px; width: min-content; }\",\".framer-uJ5cq .framer-nmr11s { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-uJ5cq .framer-eew66a { flex: none; height: 1px; overflow: hidden; position: absolute; right: 0px; top: -2px; width: 1fr; }\",\".framer-uJ5cq .framer-1j5qgwq { bottom: 0px; flex: none; gap: 10px; overflow: visible; position: absolute; right: 0px; top: 0px; width: 1fr; }\",\".framer-uJ5cq.framer-v-4vggv3.framer-1sa7r0l, .framer-uJ5cq.framer-v-jcmi1z.framer-1sa7r0l { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; padding: 0px; }\",\".framer-uJ5cq.framer-v-4vggv3 .framer-dw4kj5 { left: unset; min-height: unset; min-width: unset; position: relative; top: unset; }\",\".framer-uJ5cq.framer-v-4vggv3 .framer-eew66a { flex: 1 0 0px; gap: 10px; overflow: visible; position: relative; right: unset; top: unset; width: 1px; }\",\".framer-uJ5cq.framer-v-jcmi1z .framer-dw4kj5 { left: unset; min-height: unset; min-width: unset; order: 1; padding: 0px 15px 0px 15px; position: relative; top: unset; }\",\".framer-uJ5cq.framer-v-jcmi1z .framer-eew66a { flex: 1 0 0px; gap: 10px; order: 0; overflow: visible; position: relative; right: unset; top: unset; width: 1px; }\",\".framer-uJ5cq.framer-v-jcmi1z .framer-1j5qgwq { bottom: unset; flex: 1 0 0px; height: 1px; order: 2; position: relative; right: unset; top: unset; width: 1px; }\",\".framer-uJ5cq.framer-v-1nwtoj5.framer-1sa7r0l { height: 500px; width: 1px; }\",...sharedStyle.css,'.framer-uJ5cq[data-border=\"true\"]::after, .framer-uJ5cq [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1\n * @framerIntrinsicWidth 500\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"F2RzSQc9W\":{\"layout\":[\"fixed\",\"fixed\"]},\"TYf0qV_i9\":{\"layout\":[\"fixed\",\"fixed\"]},\"p9sFwq2bm\":{\"layout\":[\"fixed\",\"fixed\"]},\"nYoU602uH\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"HmM_F049V\":\"label\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerw5exNccsr=withCSS(Component,css,\"framer-uJ5cq\");export default Framerw5exNccsr;Framerw5exNccsr.displayName=\"Divider\";Framerw5exNccsr.defaultProps={height:1,width:500};addPropertyControls(Framerw5exNccsr,{variant:{options:[\"nm391OTP1\",\"F2RzSQc9W\",\"TYf0qV_i9\",\"p9sFwq2bm\",\"nYoU602uH\"],optionTitles:[\"Horizontal\",\"Horizontal (Labeled)\",\"Horizontal (Labeled - Center)\",\"Vertical\",\"Variant 4\"],title:\"Variant\",type:ControlType.Enum},HmM_F049V:{defaultValue:\"Divider\",displayTextArea:false,title:\"Label\",type:ControlType.String}});addFonts(Framerw5exNccsr,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerw5exNccsr\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"HmM_F049V\\\":\\\"label\\\"}\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"1\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"F2RzSQc9W\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"TYf0qV_i9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"p9sFwq2bm\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"nYoU602uH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"500\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}