vendor: 3,467 bytes, lines 1-9
1function EI(r,e){for(var t=0;t<e.length;t++){const n=e[t];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in r)){const s=Object.getOwnPropertyDescriptor(n,i);s&&Object.defineProperty(r,i,s.get?s:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function t(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(i){if(i.ep)return;i.ep=!0;const s=t(i);fetch(i.href,s)}})();function oc(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var Q1={exports:{}},Zf={},Z1={exports:{}},ln={};/** 2 * @license React 3 * react.production.min.js 4 * 5 * Copyright (c) Facebook, Inc. and its affiliates. 6 * 7 * This source code is licensed under the MIT license found in the 8 * LICENSE file in the root directory of this source tree. 9 */var XS;function bI(){if(XS)return ln;XS=1;var r=Symbol.for("react.element"),e=Symbol.for("react.portal"),t=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),o=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),m=Symbol.iterator;function y(X){return X===null||typeof X!="object"?null:(X=m&&X[m]||X["@@iterator"],typeof X=="function"?X:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,E={};function A(X,se,Le){this.props=X,this.context=se,this.refs=E,this.updater=Le||v}A.prototype.isReactComponent={},A.prototype.setState=function(X,se){if(typeof X!="object"&&typeof X!="function"&&X!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,X,se,"setState")},A.prototype.forceUpdate=function(X){this.updater.enqueueForceUpdate(this,X,"forceUpdate")};function M(){}M.prototype=A.prototype;function T(X,se,Le){this.props=X,this.context=se,this.refs=E,this.updater=Le||v}var I=T.prototype=new M;I.constructor=T,S(I,A.prototype),I.isPureReactComponent=!0;var P=Array.isArray,k=Object.prototype.hasOwnProperty,O={current:null},N={key:!0,ref:!0,__self:!0,__source:!0};function H(X,se,Le){var pe,Ae={},Re=null,Ie=null;if(se!=null)for(pe in se.ref!==void 0&&(Ie=se.ref),se.key!==void 0&&(Re=""+se.key),se)k.call(se,pe)&&!N.hasOwnProperty(pe)&&(Ae[pe]=se[pe]);var Ge=arguments.length-2;if(Ge===1)Ae.children=Le;else if(1<Ge){for(var qe=Array(Ge),lt=0;lt<Ge;lt++)qe[lt]=arguments[lt+2];Ae.children=qe}if(X&&X.defaultProps)for(pe in Ge=X.defaultProps,Ge)Ae[pe]===void 0&&(Ae[pe]=Ge[pe]);return{$$typeof:r,type:X,key:Re,ref:Ie,props:Ae,_owner:O.current}}function F(X,se){return{$$typeof:r,type:X.type,key:se,ref:X.ref,props:X.props,_owner:X._owner}}
vendor: 11,648 bytes, lines 9-33
9function L(X){return typeof X=="object"&&X!==null&&X.$$typeof===r}function V(X){var se={"=":"=0",":":"=2"};return"$"+X.replace(/[=:]/g,function(Le){return se[Le]})}var te=/\/+/g;function ne(X,se){return typeof X=="object"&&X!==null&&X.key!=null?V(""+X.key):se.toString(36)}function ce(X,se,Le,pe,Ae){var Re=typeof X;(Re==="undefined"||Re==="boolean")&&(X=null);var Ie=!1;if(X===null)Ie=!0;else switch(Re){case"string":case"number":Ie=!0;break;case"object":switch(X.$$typeof){case r:case e:Ie=!0}}if(Ie)return Ie=X,Ae=Ae(Ie),X=pe===""?"."+ne(Ie,0):pe,P(Ae)?(Le="",X!=null&&(Le=X.replace(te,"$&/")+"/"),ce(Ae,se,Le,"",function(lt){return lt})):Ae!=null&&(L(Ae)&&(Ae=F(Ae,Le+(!Ae.key||Ie&&Ie.key===Ae.key?"":(""+Ae.key).replace(te,"$&/")+"/")+X)),se.push(Ae)),1;if(Ie=0,pe=pe===""?".":pe+":",P(X))for(var Ge=0;Ge<X.length;Ge++){Re=X[Ge];var qe=pe+ne(Re,Ge);Ie+=ce(Re,se,Le,qe,Ae)}else if(qe=y(X),typeof qe=="function")for(X=qe.call(X),Ge=0;!(Re=X.next()).done;)Re=Re.value,qe=pe+ne(Re,Ge++),Ie+=ce(Re,se,Le,qe,Ae);else if(Re==="object")throw se=String(X),Error("Objects are not valid as a React child (found: "+(se==="[object Object]"?"object with keys {"+Object.keys(X).join(", ")+"}":se)+"). If you meant to render a collection of children, use an array instead.");return Ie}function me(X,se,Le){if(X==null)return X;var pe=[],Ae=0;return ce(X,pe,"","",function(Re){return se.call(Le,Re,Ae++)}),pe}function he(X){if(X._status===-1){var se=X._result;se=se(),se.then(function(Le){(X._status===0||X._status===-1)&&(X._status=1,X._result=Le)},function(Le){(X._status===0||X._status===-1)&&(X._status=2,X._result=Le)}),X._status===-1&&(X._status=0,X._result=se)}if(X._status===1)return X._result.default;throw X._result}var ge={current:null},U={transition:null},Z={ReactCurrentDispatcher:ge,ReactCurrentBatchConfig:U,ReactCurrentOwner:O};function q(){throw Error("act(...) is not supported in production builds of React.")}return ln.Children={map:me,forEach:function(X,se,Le){me(X,function(){se.apply(this,arguments)},Le)},count:function(X){var se=0;return me(X,function(){se++}),se},toArray:function(X){return me(X,function(se){return se})||[]},only:function(X){if(!L(X))throw Error("React.Children.only expected to receive a single React element child.");return X}},ln.Component=A,ln.Fragment=t,ln.Profiler=i,ln.PureComponent=T,ln.StrictMode=n,ln.Suspense=u,ln.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Z,ln.act=q,ln.cloneElement=function(X,se,Le){if(X==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+X+".");var pe=S({},X.props),Ae=X.key,Re=X.ref,Ie=X._owner;if(se!=null){if(se.ref!==void 0&&(Re=se.ref,Ie=O.current),se.key!==void 0&&(Ae=""+se.key),X.type&&X.type.defaultProps)var Ge=X.type.defaultProps;for(qe in se)k.call(se,qe)&&!N.hasOwnProperty(qe)&&(pe[qe]=se[qe]===void 0&&Ge!==void 0?Ge[qe]:se[qe])}var qe=arguments.length-2;if(qe===1)pe.children=Le;else if(1<qe){Ge=Array(qe);for(var lt=0;lt<qe;lt++)Ge[lt]=arguments[lt+2];pe.children=Ge}return{$$typeof:r,type:X.type,key:Ae,ref:Re,props:pe,_owner:Ie}},ln.createContext=function(X){return X={$$typeof:o,_currentValue:X,_currentValue2:X,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},X.Provider={$$typeof:s,_context:X},X.Consumer=X},ln.createElement=H,ln.createFactory=function(X){var se=H.bind(null,X);return se.type=X,se},ln.createRef=function(){return{current:null}},ln.forwardRef=function(X){return{$$typeof:l,render:X}},ln.isValidElement=L,ln.lazy=function(X){return{$$typeof:p,_payload:{_status:-1,_result:X},_init:he}},ln.memo=function(X,se){return{$$typeof:d,type:X,compare:se===void 0?null:se}},ln.startTransition=function(X){var se=U.transition;U.transition={};try{X()}finally{U.transition=se}},ln.unstable_act=q,ln.useCallback=function(X,se){return ge.current.useCallback(X,se)},ln.useContext=function(X){return ge.current.useContext(X)},ln.useDebugValue=function(){},ln.useDeferredValue=function(X){return ge.current.useDeferredValue(X)},ln.useEffect=function(X,se){return ge.current.useEffect(X,se)},ln.useId=function(){return ge.current.useId()},ln.useImperativeHandle=function(X,se,Le){return ge.current.useImperativeHandle(X,se,Le)},ln.useInsertionEffect=function(X,se){return ge.current.useInsertionEffect(X,se)},ln.useLayoutEffect=function(X,se){return ge.current.useLayoutEffect(X,se)},ln.useMemo=function(X,se){return ge.current.useMemo(X,se)},ln.useReducer=function(X,se,Le){return ge.current.useReducer(X,se,Le)},ln.useRef=function(X){return ge.current.useRef(X)},ln.useState=function(X){return ge.current.useState(X)},ln.useSyncExternalStore=function(X,se,Le){return ge.current.useSyncExternalStore(X,se,Le)},ln.useTransition=function(){return ge.current.useTransition()},ln.version="18.3.1",ln}var JS;function By(){return JS||(JS=1,Z1.exports=bI()),Z1.exports}/** 10 * @license React 11 * react-jsx-runtime.production.min.js 12 * 13 * Copyright (c) Facebook, Inc. and its affiliates. 14 * 15 * This source code is licensed under the MIT license found in the 16 * LICENSE file in the root directory of this source tree. 17 */var $S;function CI(){if($S)return Zf;$S=1;var r=By(),e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(l,u,d){var p,m={},y=null,v=null;d!==void 0&&(y=""+d),u.key!==void 0&&(y=""+u.key),u.ref!==void 0&&(v=u.ref);for(p in u)n.call(u,p)&&!s.hasOwnProperty(p)&&(m[p]=u[p]);if(l&&l.defaultProps)for(p in u=l.defaultProps,u)m[p]===void 0&&(m[p]=u[p]);return{$$typeof:e,type:l,key:y,ref:v,props:m,_owner:i.current}}return Zf.Fragment=t,Zf.jsx=o,Zf.jsxs=o,Zf}var KS;function TI(){return KS||(KS=1,Q1.exports=CI()),Q1.exports}var _=TI(),z=By();const re=oc(z),II=EI({__proto__:null,default:re},[z]);var m0={},ev={exports:{}},Ki={},tv={exports:{}},nv={};/** 18 * @license React 19 * scheduler.production.min.js 20 * 21 * Copyright (c) Facebook, Inc. and its affiliates. 22 * 23 * This source code is licensed under the MIT license found in the 24 * LICENSE file in the root directory of this source tree. 25 */var YS;function PI(){return YS||(YS=1,function(r){function e(U,Z){var q=U.length;U.push(Z);e:for(;0<q;){var X=q-1>>>1,se=U[X];if(0<i(se,Z))U[X]=Z,U[q]=se,q=X;else break e}}function t(U){return U.length===0?null:U[0]}function n(U){if(U.length===0)return null;var Z=U[0],q=U.pop();if(q!==Z){U[0]=q;e:for(var X=0,se=U.length,Le=se>>>1;X<Le;){var pe=2*(X+1)-1,Ae=U[pe],Re=pe+1,Ie=U[Re];if(0>i(Ae,q))Re<se&&0>i(Ie,Ae)?(U[X]=Ie,U[Re]=q,X=Re):(U[X]=Ae,U[pe]=q,X=pe);else if(Re<se&&0>i(Ie,q))U[X]=Ie,U[Re]=q,X=Re;else break e}}return Z}function i(U,Z){var q=U.sortIndex-Z.sortIndex;return q!==0?q:U.id-Z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;r.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();r.unstable_now=function(){return o.now()-l}}var u=[],d=[],p=1,m=null,y=3,v=!1,S=!1,E=!1,A=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(U){for(var Z=t(d);Z!==null;){if(Z.callback===null)n(d);else if(Z.startTime<=U)n(d),Z.sortIndex=Z.expirationTime,e(u,Z);else break;Z=t(d)}}function P(U){if(E=!1,I(U),!S)if(t(u)!==null)S=!0,he(k);else{var Z=t(d);Z!==null&&ge(P,Z.startTime-U)}}function k(U,Z){S=!1,E&&(E=!1,M(H),H=-1),v=!0;var q=y;try{for(I(Z),m=t(u);m!==null&&(!(m.expirationTime>Z)||U&&!V());){var X=m.callback;if(typeof X=="function"){m.callback=null,y=m.priorityLevel;var se=X(m.expirationTime<=Z);Z=r.unstable_now(),typeof se=="function"?m.callback=se:m===t(u)&&n(u),I(Z)}else n(u);m=t(u)}if(m!==null)var Le=!0;else{var pe=t(d);pe!==null&&ge(P,pe.startTime-Z),Le=!1}return Le}finally{m=null,y=q,v=!1}}var O=!1,N=null,H=-1,F=5,L=-1;function V(){return!(r.unstable_now()-L<F)}function te(){if(N!==null){var U=r.unstable_now();L=U;var Z=!0;try{Z=N(!0,U)}finally{Z?ne():(O=!1,N=null)}}else O=!1}var ne;if(typeof T=="function")ne=function(){T(te)};else if(typeof MessageChannel<"u"){var ce=new MessageChannel,me=ce.port2;ce.port1.onmessage=te,ne=function(){me.postMessage(null)}}else ne=function(){A(te,0)};function he(U){N=U,O||(O=!0,ne())}function ge(U,Z){H=A(function(){U(r.unstable_now())},Z)}r.unstable_IdlePriority=5,r.unstable_ImmediatePriority=1,r.unstable_LowPriority=4,r.unstable_NormalPriority=3,r.unstable_Profiling=null,r.unstable_UserBlockingPriority=2,r.unstable_cancelCallback=function(U){U.callback=null},r.unstable_continueExecution=function(){S||v||(S=!0,he(k))},r.unstable_forceFrameRate=function(U){0>U||125<U?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<U?Math.floor(1e3/U):5},r.unstable_getCurrentPriorityLevel=function(){return y},r.unstable_getFirstCallbackNode=function(){return t(u)},r.unstable_next=function(U){switch(y){case 1:case 2:case 3:var Z=3;break;default:Z=y}var q=y;y=Z;try{return U()}finally{y=q}},r.unstable_pauseExecution=function(){},r.unstable_requestPaint=function(){},r.unstable_runWithPriority=function(U,Z){switch(U){case 1:case 2:case 3:case 4:case 5:break;default:U=3}var q=y;y=U;try{return Z()}finally{y=q}},r.unstable_scheduleCallback=function(U,Z,q){var X=r.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?X+q:X):q=X,U){case 1:var se=-1;break;case 2:se=250;break;case 5:se=1073741823;break;case 4:se=1e4;break;default:se=5e3}return se=q+se,U={id:p++,callback:Z,priorityLevel:U,startTime:q,expirationTime:se,sortIndex:-1},q>X?(U.sortIndex=q,e(d,U),t(u)===null&&U===t(d)&&(E?(M(H),H=-1):E=!0,ge(P,q-X))):(U.sortIndex=se,e(u,U),S||v||(S=!0,he(k))),U},r.unstable_shouldYield=V,r.unstable_wrapCallback=function(U){var Z=y;return function(){var q=y;y=Z;try{return U.apply(this,arguments)}finally{y=q}}}}(nv)),nv}var qS;function RI(){return qS||(qS=1,tv.exports=PI()),tv.exports}/** 26 * @license React 27 * react-dom.production.min.js 28 * 29 * Copyright (c) Facebook, Inc. and its affiliates. 30 * 31 * This source code is licensed under the MIT license found in the 32 * LICENSE file in the root directory of this source tree. 33 */var QS;function BI(){if(QS)return Ki;QS=1;var r=By(),e=RI();function t(a){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+a,g=1;g<arguments.length;g++)c+="&args[]="+encodeURIComponent(arguments[g]);return"Minified React error #"+a+"; visit "+c+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var n=new Set,i={};function s(a,c){o(a,c),o(a+"Capture",c)}function o(a,c){for(i[a]=c,a=0;a<c.length;a++)n.add(c[a])}var l=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),u=Object.prototype.hasOwnProperty,d=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p={},m={};function y(a){return u.call(m,a)?!0:u.call(p,a)?!1:d.test(a)?m[a]=!0:(p[a]=!0,!1)}function v(a,c,g,w){if(g!==null&&g.type===0)return!1;switch(typeof c){case"function":case"symbol":return!0;case"boolean":return w?!1:g!==null?!g.acceptsBooleans:(a=a.toLowerCase().slice(0,5),a!=="data-"&&a!=="aria-");default:return!1}}
vendor: 9,409 bytes, lines 33-37
33function S(a,c,g,w){if(c===null||typeof c>"u"||v(a,c,g,w))return!0;if(w)return!1;if(g!==null)switch(g.type){case 3:return!c;case 4:return c===!1;case 5:return isNaN(c);case 6:return isNaN(c)||1>c}return!1}function E(a,c,g,w,C,B,j){this.acceptsBooleans=c===2||c===3||c===4,this.attributeName=w,this.attributeNamespace=C,this.mustUseProperty=g,this.propertyName=a,this.type=c,this.sanitizeURL=B,this.removeEmptyString=j}var A={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){A[a]=new E(a,0,!1,a,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var c=a[0];A[c]=new E(c,1,!1,a[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(a){A[a]=new E(a,2,!1,a.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){A[a]=new E(a,2,!1,a,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){A[a]=new E(a,3,!1,a.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(a){A[a]=new E(a,3,!0,a,null,!1,!1)}),["capture","download"].forEach(function(a){A[a]=new E(a,4,!1,a,null,!1,!1)}),["cols","rows","size","span"].forEach(function(a){A[a]=new E(a,6,!1,a,null,!1,!1)}),["rowSpan","start"].forEach(function(a){A[a]=new E(a,5,!1,a.toLowerCase(),null,!1,!1)});var M=/[\-:]([a-z])/g;function T(a){return a[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var c=a.replace(M,T);A[c]=new E(c,1,!1,a,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var c=a.replace(M,T);A[c]=new E(c,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(a){var c=a.replace(M,T);A[c]=new E(c,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(a){A[a]=new E(a,1,!1,a.toLowerCase(),null,!1,!1)}),A.xlinkHref=new E("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(a){A[a]=new E(a,1,!1,a.toLowerCase(),null,!0,!0)});function I(a,c,g,w){var C=A.hasOwnProperty(c)?A[c]:null;(C!==null?C.type!==0:w||!(2<c.length)||c[0]!=="o"&&c[0]!=="O"||c[1]!=="n"&&c[1]!=="N")&&(S(c,g,C,w)&&(g=null),w||C===null?y(c)&&(g===null?a.removeAttribute(c):a.setAttribute(c,""+g)):C.mustUseProperty?a[C.propertyName]=g===null?C.type===3?!1:"":g:(c=C.attributeName,w=C.attributeNamespace,g===null?a.removeAttribute(c):(C=C.type,g=C===3||C===4&&g===!0?"":""+g,w?a.setAttributeNS(w,c,g):a.setAttribute(c,g))))}var P=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),O=Symbol.for("react.portal"),N=Symbol.for("react.fragment"),H=Symbol.for("react.strict_mode"),F=Symbol.for("react.profiler"),L=Symbol.for("react.provider"),V=Symbol.for("react.context"),te=Symbol.for("react.forward_ref"),ne=Symbol.for("react.suspense"),ce=Symbol.for("react.suspense_list"),me=Symbol.for("react.memo"),he=Symbol.for("react.lazy"),ge=Symbol.for("react.offscreen"),U=Symbol.iterator;function Z(a){return a===null||typeof a!="object"?null:(a=U&&a[U]||a["@@iterator"],typeof a=="function"?a:null)}var q=Object.assign,X;function se(a){if(X===void 0)try{throw Error()}catch(g){var c=g.stack.trim().match(/\n( *(at )?)/);X=c&&c[1]||""}return` 34`+X+a}var Le=!1;function pe(a,c){if(!a||Le)return"";Le=!0;var g=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(c)if(c=function(){throw Error()},Object.defineProperty(c.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(c,[])}catch(Se){var w=Se}Reflect.construct(a,[],c)}else{try{c.call()}catch(Se){w=Se}a.call(c.prototype)}else{try{throw Error()}catch(Se){w=Se}a()}}catch(Se){if(Se&&w&&typeof Se.stack=="string"){for(var C=Se.stack.split(` 35`),B=w.stack.split(` 36`),j=C.length-1,Q=B.length-1;1<=j&&0<=Q&&C[j]!==B[Q];)Q--;for(;1<=j&&0<=Q;j--,Q--)if(C[j]!==B[Q]){if(j!==1||Q!==1)do if(j--,Q--,0>Q||C[j]!==B[Q]){var ie=` 37`+C[j].replace(" at new "," at ");return a.displayName&&ie.includes("<anonymous>")&&(ie=ie.replace("<anonymous>",a.displayName)),ie}while(1<=j&&0<=Q);break}}}finally{Le=!1,Error.prepareStackTrace=g}return(a=a?a.displayName||a.name:"")?se(a):""}function Ae(a){switch(a.tag){case 5:return se(a.type);case 16:return se("Lazy");case 13:return se("Suspense");case 19:return se("SuspenseList");case 0:case 2:case 15:return a=pe(a.type,!1),a;case 11:return a=pe(a.type.render,!1),a;case 1:return a=pe(a.type,!0),a;default:return""}}function Re(a){if(a==null)return null;if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case N:return"Fragment";case O:return"Portal";case F:return"Profiler";case H:return"StrictMode";case ne:return"Suspense";case ce:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case V:return(a.displayName||"Context")+".Consumer";case L:return(a._context.displayName||"Context")+".Provider";case te:var c=a.render;return a=a.displayName,a||(a=c.displayName||c.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case me:return c=a.displayName||null,c!==null?c:Re(a.type)||"Memo";case he:c=a._payload,a=a._init;try{return Re(a(c))}catch{}}return null}function Ie(a){var c=a.type;switch(a.tag){case 24:return"Cache";case 9:return(c.displayName||"Context")+".Consumer";case 10:return(c._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=c.render,a=a.displayName||a.name||"",c.displayName||(a!==""?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return c;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Re(c);case 8:return c===H?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof c=="function")return c.displayName||c.name||null;if(typeof c=="string")return c}return null}function Ge(a){switch(typeof a){case"boolean":case"number":case"string":case"undefined":return a;case"object":return a;default:return""}}function qe(a){var c=a.type;return(a=a.nodeName)&&a.toLowerCase()==="input"&&(c==="checkbox"||c==="radio")}function lt(a){var c=qe(a)?"checked":"value",g=Object.getOwnPropertyDescriptor(a.constructor.prototype,c),w=""+a[c];if(!a.hasOwnProperty(c)&&typeof g<"u"&&typeof g.get=="function"&&typeof g.set=="function"){var C=g.get,B=g.set;return Object.defineProperty(a,c,{configurable:!0,get:function(){return C.call(this)},set:function(j){w=""+j,B.call(this,j)}}),Object.defineProperty(a,c,{enumerable:g.enumerable}),{getValue:function(){return w},setValue:function(j){w=""+j},stopTracking:function(){a._valueTracker=null,delete a[c]}}}}function Pt(a){a._valueTracker||(a._valueTracker=lt(a))}function Be(a){if(!a)return!1;var c=a._valueTracker;if(!c)return!0;var g=c.getValue(),w="";return a&&(w=qe(a)?a.checked?"true":"false":a.value),a=w,a!==g?(c.setValue(a),!0):!1}function Oe(a){if(a=a||(typeof document<"u"?document:void 0),typeof a>"u")return null;try{return a.activeElement||a.body}catch{return a.body}}function K(a,c){var g=c.checked;return q({},c,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:g??a._wrapperState.initialChecked})}function pt(a,c){var g=c.defaultValue==null?"":c.defaultValue,w=c.checked!=null?c.checked:c.defaultChecked;g=Ge(c.value!=null?c.value:g),a._wrapperState={initialChecked:w,initialValue:g,controlled:c.type==="checkbox"||c.type==="radio"?c.checked!=null:c.value!=null}}function Fe(a,c){c=c.checked,c!=null&&I(a,"checked",c,!1)}function st(a,c){Fe(a,c);var g=Ge(c.value),w=c.type;if(g!=null)w==="number"?(g===0&&a.value===""||a.value!=g)&&(a.value=""+g):a.value!==""+g&&(a.value=""+g);else if(w==="submit"||w==="reset"){a.removeAttribute("value");return}c.hasOwnProperty("value")?St(a,c.type,g):c.hasOwnProperty("defaultValue")&&St(a,c.type,Ge
vendor: 4,273 bytes, line 37
37(c.defaultValue)),c.checked==null&&c.defaultChecked!=null&&(a.defaultChecked=!!c.defaultChecked)}function Ve(a,c,g){if(c.hasOwnProperty("value")||c.hasOwnProperty("defaultValue")){var w=c.type;if(!(w!=="submit"&&w!=="reset"||c.value!==void 0&&c.value!==null))return;c=""+a._wrapperState.initialValue,g||c===a.value||(a.value=c),a.defaultValue=c}g=a.name,g!==""&&(a.name=""),a.defaultChecked=!!a._wrapperState.initialChecked,g!==""&&(a.name=g)}function St(a,c,g){(c!=="number"||Oe(a.ownerDocument)!==a)&&(g==null?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+g&&(a.defaultValue=""+g))}var $e=Array.isArray;function J(a,c,g,w){if(a=a.options,c){c={};for(var C=0;C<g.length;C++)c["$"+g[C]]=!0;for(g=0;g<a.length;g++)C=c.hasOwnProperty("$"+a[g].value),a[g].selected!==C&&(a[g].selected=C),C&&w&&(a[g].defaultSelected=!0)}else{for(g=""+Ge(g),c=null,C=0;C<a.length;C++){if(a[C].value===g){a[C].selected=!0,w&&(a[C].defaultSelected=!0);return}c!==null||a[C].disabled||(c=a[C])}c!==null&&(c.selected=!0)}}function G(a,c){if(c.dangerouslySetInnerHTML!=null)throw Error(t(91));return q({},c,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function ee(a,c){var g=c.value;if(g==null){if(g=c.children,c=c.defaultValue,g!=null){if(c!=null)throw Error(t(92));if($e(g)){if(1<g.length)throw Error(t(93));g=g[0]}c=g}c==null&&(c=""),g=c}a._wrapperState={initialValue:Ge(g)}}function ye(a,c){var g=Ge(c.value),w=Ge(c.defaultValue);g!=null&&(g=""+g,g!==a.value&&(a.value=g),c.defaultValue==null&&a.defaultValue!==g&&(a.defaultValue=g)),w!=null&&(a.defaultValue=""+w)}function Pe(a){var c=a.textContent;c===a._wrapperState.initialValue&&c!==""&&c!==null&&(a.value=c)}function be(a){switch(a){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function et(a,c){return a==null||a==="http://www.w3.org/1999/xhtml"?be(c):a==="http://www.w3.org/2000/svg"&&c==="foreignObject"?"http://www.w3.org/1999/xhtml":a}var Je,Qe=function(a){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(c,g,w,C){MSApp.execUnsafeLocalFunction(function(){return a(c,g,w,C)})}:a}(function(a,c){if(a.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in a)a.innerHTML=c;else{for(Je=Je||document.createElement("div"),Je.innerHTML="<svg>"+c.valueOf().toString()+"</svg>",c=Je.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;c.firstChild;)a.appendChild(c.firstChild)}});function Ht(a,c){if(c){var g=a.firstChild;if(g&&g===a.lastChild&&g.nodeType===3){g.nodeValue=c;return}}a.textContent=c}var Ue={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ut=["Webkit","ms","Moz","O"];Object.keys(Ue).forEach(function(a){ut.forEach(function(c){c=c+a.charAt(0).toUpperCase()+a.substring(1),Ue[c]=Ue[a]})});function Ct(a,c,g){return c==null||typeof c=="boolean"||c===""?"":g||typeof c!="number"||c===0||Ue.hasOwnProperty(a)&&Ue[a]?(""+c).trim():c+"px"}function Rt(a,c){a=a.style;for(var g in c)if(c.hasOwnProperty(g)){var w=g.indexOf("--")===0,C=Ct(g,c[g],w);g==="float"&&(g="cssFloat"),w?a.setProperty(g,C):a[g]=C}}var ht=q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function $t(a,c){if(c){if(ht[a]&&(c.children!=null||c.dangerouslySetInnerHTML!=null))throw Error(t(137,a));if(c.dangerouslySetInnerHTML!=null){if(c.children!=null)throw Error(t(60));if(typeof c.dangerouslySetInnerHTML!="object"||!("__html"in c.dangerouslySetInnerHTML))throw Error(t(61))}if(c.style!=null&&typeof c.style!="object")throw Error(t(62))}}function kt(a,c){if(a.indexOf("-")===-1)return typeof c.is=="str
37ing";switch(a){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var pn=null;function ue(a){return a=a.target||a.srcElement||window,a.correspondingUseElement&&(a=a.correspondingUseElement),a.nodeType===3?a.parentNode:a}var Ze=null,Ce=null,De=null;function ot(a){if(a=Zs(a)){if(typeof Ze!="function")throw Error(t(280));var c=a.stateNode;c&&(c=Rh(c),Ze(a.stateNode,a.type,c))}}function nt(a){Ce?De?De.push(a):De=[a]:Ce=a}function Gt(){if(Ce){var a=Ce,c=De;if(De=Ce=null,ot(a),c)for(a=0;a<c.length;a++)ot(c[a])}}function Bn(a,c){return a(c)}function tr(){}var un=!1;function Hr(a,c,g){if(un)return a(c,g);un=!0;try{return Bn(a,c,g)}finally{un=!1,(Ce!==null||De!==null)&&(tr(),Gt())}}function Gr(a,c){var g=a.stateNode;if(g===null)return null;var w=Rh(g);if(w===null)return null;g=w[c];e:switch(c){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(w=!w.disabled)||(a=a.type,w=!(a==="button"||a==="input"||a==="select"||a==="textarea")),a=!w;break e;default:a=!1}if(a)return null;if(g&&typeof g!="function")throw Error(t(231,c,typeof g));return g}var al=!1;if(l)try{var Po={};Object.defineProperty(Po,"passive",{get:function(){al=!0}}),window.addEventListener("test",Po,Po),window.removeEventListener("test",Po,Po)}catch{al=!1}function ws(a,c,g,w,C,B,j,Q,ie){var Se=Array.prototype.slice.call(arguments,3);try{c.apply(g,Se)}catch(je){this.onError(je)}}var ns=!1,ra=null,rs=!1,Ro=null,Xu={onError:function(a){ns=!0,ra=a}};function ll(a,c,g,w,C,B,j,Q,ie){ns=!1,ra=null,ws.apply(Xu,arguments)}function Ju(a,c,g,w,C,B,j,Q,ie){if(ll.apply(this,arguments),ns){if(ns){var Se=ra;ns=!1,ra=null}else throw Error(t(198));rs||(rs=!0,Ro=Se)}}function As(a){var c=a,g=a;if(a.alternate)for(;c.return;)c=c.return;else{a=c;do c=a,c.flags&4098&&(g=c.return),a=c.return;while(a)}return c.tag===3?g:null}function $u(a){if(a.tag===13){var c=a.memoizedState;if(c===null&&(a=a.alternate,a!==null&&(c=a.memoizedState)),c!==null)return c.dehydrated}return null}function Ku(a){if(As(a)!==a)throw Error(t(188))}function Yu(a){var c=a.alternate;if(!c){if(c=As(a),c===null)throw Error(t(188));return c!==a?null:a}for(var g=a,w=c;;){var C=g.return;if(C===null)break;var B=C.alternate;if(B===null){if(w=C.return,w!==null){g=w;continue}break}if(C.child===B.child){for(B=C.child;B;){if(B===g)return Ku(C),a;if(B===w)return Ku(C),c;B=B.sibling}throw Error(t(188))}if(g.return!==w.return)g=C,w=B;else{for(var j=!1,Q=C.child;Q;){if(Q===g){j=!0,g=C,w=B;break}if(Q===w){j=!0,w=C,g=B;break}Q=Q.sibling}if(!j){for(Q=B.child;Q;){if(Q===g){j=!0,g=B,w=C;break}if(Q===w){j=!0,w=B,g=C;break}Q=Q.sibling}if(!j)throw Error(t(189))}}if(g.alternate!==w)throw Error(t(190))}if(g.tag!==3)throw Error(t(188));return g.stateNode.current===g?a:c}function qu(a){return a=Yu(a),a!==null?Qu(a):null}function Qu(a){if(a.tag===5||a.tag===6)return a;for(a=a.child;a!==null;){var c=Qu(a);if(c!==null)return c;a=a.sibling}return null}var W=e.unstable_scheduleCallback,de=e.unstable_cancelCallback,Me=e.unstable_shouldYield,we=e.unstable_requestPaint,oe=e.unstable_now,ze=e.unstable_getCurrentPriorityLevel,Ye=e.unstable_ImmediatePriority,ct=e.unstable_UserBlockingPriority,mt=e.unstable_NormalPriority,Ut=e.unstable_LowPriority,Bt=e.unstable_IdlePriority,yt=null,dt=null;function Tt(a){if(dt&&typeof dt.onCommitFiberRoot=="function")try{dt.onCommitFiberRoot(yt,a,void 0,(a.current.flags&128)===128)}catch{}}var rn=Math.clz32?Math.clz32:wt,sn=Math.log,zt=Math.LN2;function wt(a){return a>>>=0,a===0?32:31-(sn(a)/zt|0)|0}var En=64,jt=4194304;function nr(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function Fi(a,c){var g=a.pendingLanes;if(g===0)return 0;var w=0,C=a.suspendedLanes,B=a.pingedLanes,j=g&268435455;if(j!==0){var Q=j&~C;
vendor: 4,153 bytes, line 37
37Q!==0?w=nr(Q):(B&=j,B!==0&&(w=nr(B)))}else j=g&~C,j!==0?w=nr(j):B!==0&&(w=nr(B));if(w===0)return 0;if(c!==0&&c!==w&&!(c&C)&&(C=w&-w,B=c&-c,C>=B||C===16&&(B&4194240)!==0))return c;if(w&4&&(w|=g&16),c=a.entangledLanes,c!==0)for(a=a.entanglements,c&=w;0<c;)g=31-rn(c),C=1<<g,w|=a[g],c&=~C;return w}function Rr(a,c){switch(a){case 1:case 2:case 4:return c+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return c+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Es(a,c){for(var g=a.suspendedLanes,w=a.pingedLanes,C=a.expirationTimes,B=a.pendingLanes;0<B;){var j=31-rn(B),Q=1<<j,ie=C[j];ie===-1?(!(Q&g)||Q&w)&&(C[j]=Rr(Q,c)):ie<=c&&(a.expiredLanes|=Q),B&=~Q}}function Sn(a){return a=a.pendingLanes&-1073741825,a!==0?a:a&1073741824?1073741824:0}function On(){var a=En;return En<<=1,!(En&4194240)&&(En=64),a}function Br(a){for(var c=[],g=0;31>g;g++)c.push(a);return c}function Jn(a,c,g){a.pendingLanes|=c,c!==536870912&&(a.suspendedLanes=0,a.pingedLanes=0),a=a.eventTimes,c=31-rn(c),a[c]=g}function Or(a,c){var g=a.pendingLanes&~c;a.pendingLanes=c,a.suspendedLanes=0,a.pingedLanes=0,a.expiredLanes&=c,a.mutableReadLanes&=c,a.entangledLanes&=c,c=a.entanglements;var w=a.eventTimes;for(a=a.expirationTimes;0<g;){var C=31-rn(g),B=1<<C;c[C]=0,w[C]=-1,a[C]=-1,g&=~B}}function bs(a,c){var g=a.entangledLanes|=c;for(a=a.entanglements;g;){var w=31-rn(g),C=1<<w;C&c|a[w]&c&&(a[w]|=c),g&=~C}}var en=0;function cl(a){return a&=-a,1<a?4<a?a&268435455?16:536870912:4:1}var hc,sf,wm,Zu,eh,ia=!1,th=[],Cs=null,on=null,Ws=null,sa=new Map,ul=new Map,Bo=[],w1="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function ar(a,c){switch(a){case"focusin":case"focusout":Cs=null;break;case"dragenter":case"dragleave":on=null;break;case"mouseover":case"mouseout":Ws=null;break;case"pointerover":case"pointerout":sa.delete(c.pointerId);break;case"gotpointercapture":case"lostpointercapture":ul.delete(c.pointerId)}}function oa(a,c,g,w,C,B){return a===null||a.nativeEvent!==B?(a={blockedOn:c,domEventName:g,eventSystemFlags:w,nativeEvent:B,targetContainers:[C]},c!==null&&(c=Zs(c),c!==null&&sf(c)),a):(a.eventSystemFlags|=w,c=a.targetContainers,C!==null&&c.indexOf(C)===-1&&c.push(C),a)}function A1(a,c,g,w,C){switch(c){case"focusin":return Cs=oa(Cs,a,c,g,w,C),!0;case"dragenter":return on=oa(on,a,c,g,w,C),!0;case"mouseover":return Ws=oa(Ws,a,c,g,w,C),!0;case"pointerover":var B=C.pointerId;return sa.set(B,oa(sa.get(B)||null,a,c,g,w,C)),!0;case"gotpointercapture":return B=C.pointerId,ul.set(B,oa(ul.get(B)||null,a,c,g,w,C)),!0}return!1}function nh(a){var c=Uo(a.target);if(c!==null){var g=As(c);if(g!==null){if(c=g.tag,c===13){if(c=$u(g),c!==null){a.blockedOn=c,eh(a.priority,function(){wm(g)});return}}else if(c===3&&g.stateNode.current.memoizedState.isDehydrated){a.blockedOn=g.tag===3?g.stateNode.containerInfo:null;return}}}a.blockedOn=null}function rh(a){if(a.blockedOn!==null)return!1;for(var c=a.targetContainers;0<c.length;){var g=Ui(a.domEventName,a.eventSystemFlags,c[0],a.nativeEvent);if(g===null){g=a.nativeEvent;var w=new g.constructor(g.type,g);pn=w,g.target.dispatchEvent(w),pn=null}else return c=Zs(g),c!==null&&sf(c),a.blockedOn=g,!1;c.shift()}return!0}function dc(a,c,g){rh(a)&&g.delete(c)}function Ts(){ia=!1,Cs!==null&&rh(Cs)&&(Cs=null),on!==null&&rh(on)&&(on=null),Ws!==null&&rh(Ws)&&(Ws=null),sa.forEach(dc),ul.forEach(dc)}function fc(a,c){a.blockedOn===c&&(a.blockedOn=null,ia||(ia=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,Ts)))}function pc(a){function c(C){return fc(C,a)}if(0<th.length){fc(th[0],a);for(var g=1;g<th.length;g++){var w=th[g];w.blockedOn===a&&(w.blockedOn=null)}}for(Cs!==null&&fc(Cs,a),on!==null&&fc(on,a),Ws!==null&&fc(Ws,a),sa.forEac
vendor: 15,248 bytes, line 37
37h(c),ul.forEach(c),g=0;g<Bo.length;g++)w=Bo[g],w.blockedOn===a&&(w.blockedOn=null);for(;0<Bo.length&&(g=Bo[0],g.blockedOn===null);)nh(g),g.blockedOn===null&&Bo.shift()}var Vr=P.ReactCurrentBatchConfig,ki=!0;function ih(a,c,g,w){var C=en,B=Vr.transition;Vr.transition=null;try{en=1,sh(a,c,g,w)}finally{en=C,Vr.transition=B}}function of(a,c,g,w){var C=en,B=Vr.transition;Vr.transition=null;try{en=4,sh(a,c,g,w)}finally{en=C,Vr.transition=B}}function sh(a,c,g,w){if(ki){var C=Ui(a,c,g,w);if(C===null)Eh(a,c,w,oh,g),ar(a,w);else if(A1(C,a,c,g,w))w.stopPropagation();else if(ar(a,w),c&4&&-1<w1.indexOf(a)){for(;C!==null;){var B=Zs(C);if(B!==null&&hc(B),B=Ui(a,c,g,w),B===null&&Eh(a,c,w,oh,g),B===C)break;C=B}C!==null&&w.stopPropagation()}else Eh(a,c,w,null,g)}}var oh=null;function Ui(a,c,g,w){if(oh=null,a=ue(w),a=Uo(a),a!==null)if(c=As(a),c===null)a=null;else if(g=c.tag,g===13){if(a=$u(c),a!==null)return a;a=null}else if(g===3){if(c.stateNode.current.memoizedState.isDehydrated)return c.tag===3?c.stateNode.containerInfo:null;a=null}else c!==a&&(a=null);return oh=a,null}function Am(a){switch(a){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(ze()){case Ye:return 1;case ct:return 4;case mt:case Ut:return 16;case Bt:return 536870912;default:return 16}default:return 16}}var is=null,af=null,ti=null;function mc(){if(ti)return ti;var a,c=af,g=c.length,w,C="value"in is?is.value:is.textContent,B=C.length;for(a=0;a<g&&c[a]===C[a];a++);var j=g-a;for(w=1;w<=j&&c[g-w]===C[B-w];w++);return ti=C.slice(a,1<w?1-w:void 0)}function aa(a){var c=a.keyCode;return"charCode"in a?(a=a.charCode,a===0&&c===13&&(a=13)):a=c,a===10&&(a=13),32<=a||a===13?a:0}function Xs(){return!0}function ah(){return!1}function Wr(a){function c(g,w,C,B,j){this._reactName=g,this._targetInst=C,this.type=w,this.nativeEvent=B,this.target=j,this.currentTarget=null;for(var Q in a)a.hasOwnProperty(Q)&&(g=a[Q],this[Q]=g?g(B):B[Q]);return this.isDefaultPrevented=(B.defaultPrevented!=null?B.defaultPrevented:B.returnValue===!1)?Xs:ah,this.isPropagationStopped=ah,this}return q(c.prototype,{preventDefault:function(){this.defaultPrevented=!0;var g=this.nativeEvent;g&&(g.preventDefault?g.preventDefault():typeof g.returnValue!="unknown"&&(g.returnValue=!1),this.isDefaultPrevented=Xs)},stopPropagation:function(){var g=this.nativeEvent;g&&(g.stopPropagation?g.stopPropagation():typeof g.cancelBubble!="unknown"&&(g.cancelBubble=!0),this.isPropagationStopped=Xs)},persist:function(){},isPersistent:Xs}),c}var la={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},gc=Wr(la),ca=q({},la,{view:0,detail:0}),hl=Wr(ca),ni,ji,zi,dl=q({},ca,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Do,button:0,buttons:0,relatedTarget:function(a){return a.relatedTarget===void 0?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){return"movementX"in a?a.movementX:(a!==zi&&(zi&&a.type==="mousemove"?(ni=a.screenX-zi.screenX,ji=a.screenY-zi.screenY):ji=ni=0,zi=a),ni)},movementY:function(a){return"movementY"in a?a.movementY:ji}}),lf=Wr(dl),Js=q({},dl,{dataTransfer:0}),Oo=Wr(Js),lh=q({},ca,{relatedTarget:0}),ch=Wr(lh),uh=q({},la,{animationName:0,elapsedTime:0,pseudoElement:0}),Em=Wr(uh),bm=q({},la,{clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),cf=Wr(bm),hh=q({},la,{data:0}),uf=Wr(hh),Cm={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Tm={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},hf={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function fl(a){var c=this.nativeEvent;return c.getModifierState?c.getModifierState(a):(a=hf[a])?!!c[a]:!1}function Do(){return fl}var dh=q({},ca,{key:function(a){if(a.key){var c=Cm[a.key]||a.key;if(c!=="Unidentified")return c}return a.type==="keypress"?(a=aa(a),a===13?"Enter":String.fromCharCode(a)):a.type==="keydown"||a.type==="keyup"?Tm[a.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Do,charCode:function(a){return a.type==="keypress"?aa(a):0},keyCode:function(a){return a.type==="keydown"||a.type==="keyup"?a.keyCode:0},which:function(a){return a.type==="keypress"?aa(a):a.type==="keydown"||a.type==="keyup"?a.keyCode:0}}),fh=Wr(dh),Hi=q({},dl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),vi=Wr(Hi),ua=q({},ca,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Do}),$s=Wr(ua),Ks=q({},la,{propertyName:0,elapsedTime:0,pseudoElement:0}),ha=Wr(Ks),Im=q({},dl,{deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),df=Wr(Im),ff=[9,13,27,32],Xr=l&&"CompositionEvent"in window,Sr=null;l&&"documentMode"in document&&(Sr=document.documentMode);var Nn=l&&"TextEvent"in window&&!Sr,pl=l&&(!Xr||Sr&&8<Sr&&11>=Sr),Gi=" ",pf=!1;function mf(a,c){switch(a){case"keyup":return ff.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ph(a){return a=a.detail,typeof a=="object"&&"data"in a?a.data:null}var Lo=!1;function Pm(a,c){switch(a){case"compositionend":return ph(c);case"keypress":return c.which!==32?null:(pf=!0,Gi);case"textInput":return a=c.data,a===Gi&&pf?null:a;default:return null}}function yc(a,c){if(Lo)return a==="compositionend"||!Xr&&mf(a,c)?(a=mc(),ti=af=is=null,Lo=!1,a):null;switch(a){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1<c.char.length)return c.char;if(c.which)return String.fromCharCode(c.which)}return null;case"compositionend":return pl&&c.locale!=="ko"?null:c.data;default:return null}}var ml={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function mh(a){var c=a&&a.nodeName&&a.nodeName.toLowerCase();return c==="input"?!!ml[a.type]:c==="textarea"}function gl(a,c,g,w){nt(w),c=bh(c,"onChange"),0<c.length&&(g=new gc("onChange","change",null,g,w),a.push({event:g,listeners:c}))}var No=null,yl=null;function Rm(a){Ml(a,0)}function Ys(a){var c=$n(a);if(Be(c))return a}function Bm(a,c){if(a==="change")return c}var vl=!1;if(l){var ri;if(l){var da="oninput"in document;if(!da){var fa=document.createElement("div");fa.setAttribute("oninput","return;"),da=typeof fa.oninput=="function"}ri=da}else ri=!1;vl=ri&&(!document.documentMode||9<document.documentMode)}function ss(){No&&(No.detachEvent("onpropertychange",gh),yl=No=null)}function gh(a){if(a.propertyName==="value"&&Ys(yl)){var c=[];gl(c,yl,a,ue(a)),Hr(Rm,c)}}function _l(a,c,g){a==="focusin"?(ss(),No=c,yl=g,No.attachEvent("onpropertychange",gh)):a==="focusout"&&ss()}function Om(a){if(a==="selectionchange"||a==="keyup"||a==="keydown")return Ys(yl)}function gf(a,c){if(a==="click")return Ys(c)}function jn(a,c){if(a==="input"||a==="change")return Ys(c)}function yh(a,c){return a===c&&(a!==0||1/a===1/c)||a!==a&&c!==c}var _i=typeof Object.is=="function"?Object.is:yh;function pa(a,c){if(_i(a,c))return!0;if(typeof a!="object"||a===null||typeof c!="object"||c===null)return!1;var g=Object.keys(a),w=Object.keys(c);if(g.length!==w.length)return!1;for(w=0;w<g.length;w++){var C=g[w];if(!u.call(c,C)||!_i(a[C],c[C]))return!1}return!0}function vc(a){for(;a&&a.firstChild;)a=a.firstChild;return a}function xi(a,c){var g=vc(a);a=0;for(var w;g;){if(g.nodeType===3){if(w=a+g.textContent.length,a<=c&&w>=c)return{node:g,offset:c-a};a=w}e:{for(;g;){if(g.nextSibling){g=g.nextSibling;break e}g=g.parentNode}g=void 0}g=vc(g)}}function ma(a,c){return a&&c?a===c?!0:a&&a.nodeType===3?!1:c&&c.nodeType===3?ma(a,c.parentNode):"contains"in a?a.contains(c):a.compareDocumentPosition?!!(a.compareDocumentPosition(c)&16):!1:!1}function zn(){for(var a=window,c=Oe();c instanceof a.HTMLIFrameElement;){try{var g=typeof c.contentWindow.location.href=="string"}catch{g=!1}if(g)a=c.contentWindow;else break;c=Oe(a.document)}return c}function dr(a){var c=a&&a.nodeName&&a.nodeName.toLowerCase();return c&&(c==="input"&&(a.type==="text"||a.type==="search"||a.type==="tel"||a.type==="url"||a.type==="password")||c==="textarea"||a.contentEditable==="true")}function fr(a){var c=zn(),g=a.focusedElem,w=a.selectionRange;if(c!==g&&g&&g.ownerDocument&&ma(g.ownerDocument.documentElement,g)){if(w!==null&&dr(g)){if(c=w.start,a=w.end,a===void 0&&(a=c),"selectionStart"in g)g.selectionStart=c,g.selectionEnd=Math.min(a,g.value.length);else if(a=(c=g.ownerDocument||document)&&c.defaultView||window,a.getSelection){a=a.getSelection();var C=g.textContent.length,B=Math.min(w.start,C);w=w.end===void 0?B:Math.min(w.end,C),!a.extend&&B>w&&(C=w,w=B,B=C),C=xi(g,B);var j=xi(g,w);C&&j&&(a.rangeCount!==1||a.anchorNode!==C.node||a.anchorOffset!==C.offset||a.focusNode!==j.node||a.focusOffset!==j.offset)&&(c=c.createRange(),c.setStart(C.node,C.offset),a.removeAllRanges(),B>w?(a.addRange(c),a.extend(j.node,j.offset)):(c.setEnd(j.node,j.offset),a.addRange(c)))}}for(c=[],a=g;a=a.parentNode;)a.nodeType===1&&c.push({element:a,left:a.scrollLeft,top:a.scrollTop});for(typeof g.focus=="function"&&g.focus(),g=0;g<c.length;g++)a=c[g],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}var vh=l&&"documentMode"in document&&11>=document.documentMode,Is=null,ga=null,_c=null,pr=!1;function _h(a,c,g){var w=g.window===g?g.document:g.nodeType===9?g:g.ownerDocument;pr||Is==null||Is!==Oe(w)||(w=Is,"selectionStart"in w&&dr(w)?w={start:w.selectionStart,end:w.selectionEnd}:(w=(w.ownerDocument&&w.ownerDocument.defaultView||window).getSelection(),w={anchorNode:w.anchorNode,anchorOffset:w.anchorOffset,focusNode:w.focusNode,focusOffset:w.focusOffset}),_c&&pa(_c,w)||(_c=w,w=bh(ga,"onSelect"),0<w.length&&(c=new gc("onSelect","select",null,c,g),a.push({event:c,listeners:w}),c.target=Is)))}function xl(a,c){var g={};return g[a.toLowerCase()]=c.toLowerCase(),g["Webkit"+a]="webkit"+c,g["Moz"+a]="moz"+c,g}var Fo={animationend:xl("Animation","AnimationEnd"),animationiteration:xl("Animation","AnimationIteration"),animationstart:xl("Animation","AnimationStart"),transitionend:xl("Transition","TransitionEnd")},os={},as={};l&&(as=document.createElement("div").style,"AnimationEvent"in window||(delete Fo.animationend.animation,delete Fo.animationiteration.animation,delete Fo.animationstart.animation),"TransitionEvent"in window||delete Fo.transitionend.transition);function Ps(a){if(os[a])return os[a];if(!Fo[a])return a;var c=Fo[a],g;for(g in c)if(c.hasOwnProperty(g)&&g in as)return os[a]=c[g];return a}var xc=Ps("animationend"),Mc=Ps("animationiteration"),yf=Ps("animationstart"),vf=Ps("transitionend"),_f=new Map,xf="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function qs(a,c){_f.set(a,c),s(c,[a])}for(var xh=0;xh<xf.length;xh++){var Sc=xf[xh],wc=Sc.toLowerCase(),Dm=Sc[0].toUpperCase()+Sc.slice(1);qs(wc,"on"+Dm)}qs(xc,"onAnimationEnd"),qs(Mc,"onAnimationIteration"),qs(yf,"onAnimationStart"),qs("dblclick","onDoubleClick"),qs("focusin","onFocus"),qs("focusout","onBlur"),qs(vf,"onTransitionEnd"),o("onMouseEnter",["mouseout","mouseover"]),o("onMouseLeave",["mouseout","mouseover"]),o("onPointerEnter",["pointerout","pointerover"]),o("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var ko="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Mh=new Set("cancel close invalid load scroll toggle".split(" ").concat(ko));function Sh(a,c,g){var w=a.type||"unknown-event";a.currentTarget=g,Ju(w,c,void 0,a),a.currentTarget=null}function Ml(a,c){c=(c&4)!==0;for(var g=0;g<a.length;g++){var w=a[g],C=w.event;w=w.listeners;e:{var B=void 0;if(c)for(var j=w.length-1;0<=j;j--){var Q=w[j],ie=Q.instance,Se=Q.currentTarget;if(Q=Q.listener,ie!==B&&C.isPropagationStopped())break e;Sh(C,Q,Se),B=ie}else for(j=0;j<w.length;j++){if(Q=w[j],ie=Q.instance,Se=Q.currentTarget,Q=Q.listener,ie!==B&&C.isPropagationStopped())break e;Sh(C,Q,Se),B=ie}}}if(rs)throw a=Ro,rs=!1,Ro=null,a}function Tn(a,c){var g=c[_a];g===void 0&&(g=c[_a]=new Set);var w=a+"__bubble";g.has(w)||(Ah(c,a,2,!1),g.add(w))}function wh(a,c,g){var w=0;c&&(w|=4),Ah(g,a,w,c)}var Ac="_reactListening"+Math.random().toString(36).slice(2);
vendor: 5,646 bytes, line 37
37function Sl(a){if(!a[Ac]){a[Ac]=!0,n.forEach(function(g){g!=="selectionchange"&&(Mh.has(g)||wh(g,!1,a),wh(g,!0,a))});var c=a.nodeType===9?a:a.ownerDocument;c===null||c[Ac]||(c[Ac]=!0,wh("selectionchange",!1,c))}}function Ah(a,c,g,w){switch(Am(c)){case 1:var C=ih;break;case 4:C=of;break;default:C=sh}g=C.bind(null,c,g,a),C=void 0,!al||c!=="touchstart"&&c!=="touchmove"&&c!=="wheel"||(C=!0),w?C!==void 0?a.addEventListener(c,g,{capture:!0,passive:C}):a.addEventListener(c,g,!0):C!==void 0?a.addEventListener(c,g,{passive:C}):a.addEventListener(c,g,!1)}function Eh(a,c,g,w,C){var B=w;if(!(c&1)&&!(c&2)&&w!==null)e:for(;;){if(w===null)return;var j=w.tag;if(j===3||j===4){var Q=w.stateNode.containerInfo;if(Q===C||Q.nodeType===8&&Q.parentNode===C)break;if(j===4)for(j=w.return;j!==null;){var ie=j.tag;if((ie===3||ie===4)&&(ie=j.stateNode.containerInfo,ie===C||ie.nodeType===8&&ie.parentNode===C))return;j=j.return}for(;Q!==null;){if(j=Uo(Q),j===null)return;if(ie=j.tag,ie===5||ie===6){w=B=j;continue e}Q=Q.parentNode}}w=w.return}Hr(function(){var Se=B,je=ue(g),He=[];e:{var ke=_f.get(a);if(ke!==void 0){var ft=gc,xt=a;switch(a){case"keypress":if(aa(g)===0)break e;case"keydown":case"keyup":ft=fh;break;case"focusin":xt="focus",ft=ch;break;case"focusout":xt="blur",ft=ch;break;case"beforeblur":case"afterblur":ft=ch;break;case"click":if(g.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ft=lf;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ft=Oo;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ft=$s;break;case xc:case Mc:case yf:ft=Em;break;case vf:ft=ha;break;case"scroll":ft=hl;break;case"wheel":ft=df;break;case"copy":case"cut":case"paste":ft=cf;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ft=vi}var Mt=(c&4)!==0,cr=!Mt&&a==="scroll",ve=Mt?ke!==null?ke+"Capture":null:ke;Mt=[];for(var ae=Se,_e;ae!==null;){_e=ae;var Xe=_e.stateNode;if(_e.tag===5&&Xe!==null&&(_e=Xe,ve!==null&&(Xe=Gr(ae,ve),Xe!=null&&Mt.push(wl(ae,Xe,_e)))),cr)break;ae=ae.return}0<Mt.length&&(ke=new ft(ke,xt,null,g,je),He.push({event:ke,listeners:Mt}))}}if(!(c&7)){e:{if(ke=a==="mouseover"||a==="pointerover",ft=a==="mouseout"||a==="pointerout",ke&&g!==pn&&(xt=g.relatedTarget||g.fromElement)&&(Uo(xt)||xt[Mi]))break e;if((ft||ke)&&(ke=je.window===je?je:(ke=je.ownerDocument)?ke.defaultView||ke.parentWindow:window,ft?(xt=g.relatedTarget||g.toElement,ft=Se,xt=xt?Uo(xt):null,xt!==null&&(cr=As(xt),xt!==cr||xt.tag!==5&&xt.tag!==6)&&(xt=null)):(ft=null,xt=Se),ft!==xt)){if(Mt=lf,Xe="onMouseLeave",ve="onMouseEnter",ae="mouse",(a==="pointerout"||a==="pointerover")&&(Mt=vi,Xe="onPointerLeave",ve="onPointerEnter",ae="pointer"),cr=ft==null?ke:$n(ft),_e=xt==null?ke:$n(xt),ke=new Mt(Xe,ae+"leave",ft,g,je),ke.target=cr,ke.relatedTarget=_e,Xe=null,Uo(je)===Se&&(Mt=new Mt(ve,ae+"enter",xt,g,je),Mt.target=_e,Mt.relatedTarget=cr,Xe=Mt),cr=Xe,ft&&xt)t:{for(Mt=ft,ve=xt,ae=0,_e=Mt;_e;_e=ya(_e))ae++;for(_e=0,Xe=ve;Xe;Xe=ya(Xe))_e++;for(;0<ae-_e;)Mt=ya(Mt),ae--;for(;0<_e-ae;)ve=ya(ve),_e--;for(;ae--;){if(Mt===ve||ve!==null&&Mt===ve.alternate)break t;Mt=ya(Mt),ve=ya(ve)}Mt=null}else Mt=null;ft!==null&&Lm(He,ke,ft,Mt,!1),xt!==null&&cr!==null&&Lm(He,cr,xt,Mt,!0)}}e:{if(ke=Se?$n(Se):window,ft=ke.nodeName&&ke.nodeName.toLowerCase(),ft==="select"||ft==="input"&&ke.type==="file")var bt=Bm;else if(mh(ke))if(vl)bt=jn;else{bt=Om;var Dt=_l}else(ft=ke.nodeName)&&ft.toLowerCase()==="input"&&(ke.type==="checkbox"||ke.type==="radio")&&(bt=gf);if(bt&&(bt=bt(a,Se))){gl(He,bt,g,je);break e}Dt&&Dt(a,ke,Se),a==="focusout"&&(Dt=ke._wrapperState)&&Dt.controlled&&ke.type==="number"&&St(ke,"number",ke.value)}switch(Dt=Se?$n(Se):window,a){case"focusin":(mh(Dt)||Dt.contentEditable==="true")&&(Is=Dt,ga=Se,_c=null);break;case"focusout":_c=ga=Is=null;break;case"mousedown":pr=!0;break;case"contextmenu":case"mouseup":case"dragend":pr=!1,_h(He,g,je);break;case"selectionchange":if(vh)break;case"keydown":case"keyup":_h(He,g,je)}var Lt;if(Xr)e:{switch(a){case"compositionstart":var Vt="onCompositionStart";break e;case"compositionend":Vt="onCompositionEnd";break e;case"compositionupdate":Vt="onCompositionUpdate";break e}Vt=void 0}else Lo?mf(a,g)&&(Vt="onCompositionEnd"):a==="keydown"&&g.keyCode===229&&(Vt="onCompositionStart");Vt&&(pl&&g.locale!=="ko"&&(Lo||Vt!=="onCompositionStart"?Vt==="onCompositionEnd"&&Lo&&(Lt=mc()):(is=je,af="value"in is?is.value:is.textContent,Lo=!0)),Dt=bh(Se,Vt),0<Dt.length&&(Vt=new uf(Vt,a,null,g,je),He.push({event:Vt,listeners:Dt}),Lt?Vt.data=Lt:(Lt=ph(g),Lt!==null&&(Vt.data=Lt)))),(Lt=Nn?Pm(a,g):yc(a,g))&&(Se=bh(Se,"onBeforeInput"),0<Se.length&&(je=new uf("onBeforeInput","beforeinput",null,g,je),He.push({event:je,listeners:Se}),je.data=Lt))}Ml(He,c)})}function wl(a,c,g){return{instance:a,listener:c,currentTarget:g}}function bh(a,c){for(var g=c+"Capture",w=[];a!==null;){var C=a,B=C.stateNode;C.tag===5&&B!==null&&(C=B,B=Gr(a,g),B!=null&&w.unshift(wl(a,B,C)),B=Gr(a,c),B!=null&&w.push(wl(a,B,C))),a=a.return}return w}function ya(a){if(a===null)return null;do a=a.return;while(a&&a.tag!==5);return a||null}function Lm(a,c,g,w,C){for(var B=c._reactName,j=[];g!==null&&g!==w;){var Q=g,ie=Q.alternate,Se=Q.stateNode;if(ie!==null&&ie===w)break;Q.tag===5&&Se!==null&&(Q=Se,C?(ie=Gr(g,B),ie!=null&&j.unshift(wl(g,ie,Q))):C||(ie=Gr(g,B),ie!=null&&j.push(wl(g,ie,Q)))),g=g.return}j.length!==0&&a.push({event:c,listeners:j})}var E1=/\r\n?/g,Nm=/\u0000|\uFFFD/g;
vendor: 4,095 bytes, lines 37-38
37function Mf(a){return(typeof a=="string"?a:""+a).replace(E1,` 38`).replace(Nm,"")}function Ec(a,c,g){if(c=Mf(c),Mf(a)!==c&&g)throw Error(t(425))}function bc(){}var Al=null,Sf=null;function wf(a,c){return a==="textarea"||a==="noscript"||typeof c.children=="string"||typeof c.children=="number"||typeof c.dangerouslySetInnerHTML=="object"&&c.dangerouslySetInnerHTML!==null&&c.dangerouslySetInnerHTML.__html!=null}var Af=typeof setTimeout=="function"?setTimeout:void 0,Ef=typeof clearTimeout=="function"?clearTimeout:void 0,Ch=typeof Promise=="function"?Promise:void 0,b1=typeof queueMicrotask=="function"?queueMicrotask:typeof Ch<"u"?function(a){return Ch.resolve(null).then(a).catch(Fm)}:Af;function Fm(a){setTimeout(function(){throw a})}function Th(a,c){var g=c,w=0;do{var C=g.nextSibling;if(a.removeChild(g),C&&C.nodeType===8)if(g=C.data,g==="/$"){if(w===0){a.removeChild(C),pc(c);return}w--}else g!=="$"&&g!=="$?"&&g!=="$!"||w++;g=C}while(g);pc(c)}function Qs(a){for(;a!=null;a=a.nextSibling){var c=a.nodeType;if(c===1||c===3)break;if(c===8){if(c=a.data,c==="$"||c==="$!"||c==="$?")break;if(c==="/$")return null}}return a}function bf(a){a=a.previousSibling;for(var c=0;a;){if(a.nodeType===8){var g=a.data;if(g==="$"||g==="$!"||g==="$?"){if(c===0)return a;c--}else g==="/$"&&c++}a=a.previousSibling}return null}var va=Math.random().toString(36).slice(2),lr="__reactFiber$"+va,El="__reactProps$"+va,Mi="__reactContainer$"+va,_a="__reactEvents$"+va,Ih="__reactListeners$"+va,Ph="__reactHandles$"+va;function Uo(a){var c=a[lr];if(c)return c;for(var g=a.parentNode;g;){if(c=g[Mi]||g[lr]){if(g=c.alternate,c.child!==null||g!==null&&g.child!==null)for(a=bf(a);a!==null;){if(g=a[lr])return g;a=bf(a)}return c}a=g,g=a.parentNode}return null}function Zs(a){return a=a[lr]||a[Mi],!a||a.tag!==5&&a.tag!==6&&a.tag!==13&&a.tag!==3?null:a}function $n(a){if(a.tag===5||a.tag===6)return a.stateNode;throw Error(t(33))}function Rh(a){return a[El]||null}var Cf=[],mr=-1;function Vn(a){return{current:a}}function In(a){0>mr||(a.current=Cf[mr],Cf[mr]=null,mr--)}function bn(a,c){mr++,Cf[mr]=a.current,a.current=c}var eo={},wr=Vn(eo),Jr=Vn(!1),to=eo;function xa(a,c){var g=a.type.contextTypes;if(!g)return eo;var w=a.stateNode;if(w&&w.__reactInternalMemoizedUnmaskedChildContext===c)return w.__reactInternalMemoizedMaskedChildContext;var C={},B;for(B in g)C[B]=c[B];return w&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=c,a.__reactInternalMemoizedMaskedChildContext=C),C}function Dr(a){return a=a.childContextTypes,a!=null}function Cc(){In(Jr),In(wr)}function Tf(a,c,g){if(wr.current!==eo)throw Error(t(168));bn(wr,c),bn(Jr,g)}function Tc(a,c,g){var w=a.stateNode;if(c=c.childContextTypes,typeof w.getChildContext!="function")return g;w=w.getChildContext();for(var C in w)if(!(C in c))throw Error(t(108,Ie(a)||"Unknown",C));return q({},g,w)}function Ma(a){return a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||eo,to=wr.current,bn(wr,a),bn(Jr,Jr.current),!0}function If(a,c,g){var w=a.stateNode;if(!w)throw Error(t(169));g?(a=Tc(a,c,to),w.__reactInternalMemoizedMergedChildContext=a,In(Jr),In(wr),bn(wr,a)):In(Jr),bn(Jr,g)}var ls=null,Ic=!1,Bh=!1;function Pc(a){ls===null?ls=[a]:ls.push(a)}function km(a){Ic=!0,Pc(a)}function Rs(){if(!Bh&&ls!==null){Bh=!0;var a=0,c=en;try{var g=ls;for(en=1;a<g.length;a++){var w=g[a];do w=w(!0);while(w!==null)}ls=null,Ic=!1}catch(C){throw ls!==null&&(ls=ls.slice(a+1)),W(Ye,Rs),C}finally{en=c,Bh=!1}}return null}var Sa=[],ii=0,Oh=null,Dh=0,$r=[],gr=0,wa=null,Ke=1,Vi="";function no(a,c){Sa[ii++]=Dh,Sa[ii++]=Oh,Oh=a,Dh=c}function Pf(a,c,g){$r[gr++]=Ke,$r[gr++]=Vi,$r[gr++]=wa,wa=a;var w=Ke;a=Vi;var C=32-rn(w)-1;w&=~(1<<C),g+=1;var B=32-rn(c)+C;if(30<B){var j=C-C%5;B=(w&(1<<j)-1).toString(32),w>>=j,C-=j,Ke=1<<32-rn(c)+C|g<<C|w,Vi=B+a}else Ke=1<<B|g<<C|w,Vi=a}function Rf(a){a.return!==null&&(no(a,1),Pf(a,1,0))}function ro(a){for(;a===Oh;)Oh=Sa[--ii],Sa[ii]=null,Dh=Sa[--ii],Sa[ii]=null;for(;a===wa;)wa=$r[--gr],$r[gr]=null,Vi=$r[--gr],$r[gr]=null,Ke=$r[--gr],$r[gr]=null}var Ar=null,Kr=null,Dn=!1,Wi=null;function Bf(a,c){var g=Ns(5,null,null,0);
vendor: 13,800 bytes, line 38
38g.elementType="DELETED",g.stateNode=c,g.return=a,c=a.deletions,c===null?(a.deletions=[g],a.flags|=16):c.push(g)}function Of(a,c){switch(a.tag){case 5:var g=a.type;return c=c.nodeType!==1||g.toLowerCase()!==c.nodeName.toLowerCase()?null:c,c!==null?(a.stateNode=c,Ar=a,Kr=Qs(c.firstChild),!0):!1;case 6:return c=a.pendingProps===""||c.nodeType!==3?null:c,c!==null?(a.stateNode=c,Ar=a,Kr=null,!0):!1;case 13:return c=c.nodeType!==8?null:c,c!==null?(g=wa!==null?{id:Ke,overflow:Vi}:null,a.memoizedState={dehydrated:c,treeContext:g,retryLane:1073741824},g=Ns(18,null,null,0),g.stateNode=c,g.return=a,a.child=g,Ar=a,Kr=null,!0):!1;default:return!1}}function Lh(a){return(a.mode&1)!==0&&(a.flags&128)===0}function Nh(a){if(Dn){var c=Kr;if(c){var g=c;if(!Of(a,c)){if(Lh(a))throw Error(t(418));c=Qs(g.nextSibling);var w=Ar;c&&Of(a,c)?Bf(w,g):(a.flags=a.flags&-4097|2,Dn=!1,Ar=a)}}else{if(Lh(a))throw Error(t(418));a.flags=a.flags&-4097|2,Dn=!1,Ar=a}}}function Fh(a){for(a=a.return;a!==null&&a.tag!==5&&a.tag!==3&&a.tag!==13;)a=a.return;Ar=a}function bl(a){if(a!==Ar)return!1;if(!Dn)return Fh(a),Dn=!0,!1;var c;if((c=a.tag!==3)&&!(c=a.tag!==5)&&(c=a.type,c=c!=="head"&&c!=="body"&&!wf(a.type,a.memoizedProps)),c&&(c=Kr)){if(Lh(a))throw Df(),Error(t(418));for(;c;)Bf(a,c),c=Qs(c.nextSibling)}if(Fh(a),a.tag===13){if(a=a.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(t(317));e:{for(a=a.nextSibling,c=0;a;){if(a.nodeType===8){var g=a.data;if(g==="/$"){if(c===0){Kr=Qs(a.nextSibling);break e}c--}else g!=="$"&&g!=="$!"&&g!=="$?"||c++}a=a.nextSibling}Kr=null}}else Kr=Ar?Qs(a.stateNode.nextSibling):null;return!0}function Df(){for(var a=Kr;a;)a=Qs(a.nextSibling)}function jo(){Kr=Ar=null,Dn=!1}function Cl(a){Wi===null?Wi=[a]:Wi.push(a)}var C1=P.ReactCurrentBatchConfig;function Rc(a,c,g){if(a=g.ref,a!==null&&typeof a!="function"&&typeof a!="object"){if(g._owner){if(g=g._owner,g){if(g.tag!==1)throw Error(t(309));var w=g.stateNode}if(!w)throw Error(t(147,a));var C=w,B=""+a;return c!==null&&c.ref!==null&&typeof c.ref=="function"&&c.ref._stringRef===B?c.ref:(c=function(j){var Q=C.refs;j===null?delete Q[B]:Q[B]=j},c._stringRef=B,c)}if(typeof a!="string")throw Error(t(284));if(!g._owner)throw Error(t(290,a))}return a}function Bc(a,c){throw a=Object.prototype.toString.call(c),Error(t(31,a==="[object Object]"?"object with keys {"+Object.keys(c).join(", ")+"}":a))}function Lf(a){var c=a._init;return c(a._payload)}function Nf(a){function c(ve,ae){if(a){var _e=ve.deletions;_e===null?(ve.deletions=[ae],ve.flags|=16):_e.push(ae)}}function g(ve,ae){if(!a)return null;for(;ae!==null;)c(ve,ae),ae=ae.sibling;return null}function w(ve,ae){for(ve=new Map;ae!==null;)ae.key!==null?ve.set(ae.key,ae):ve.set(ae.index,ae),ae=ae.sibling;return ve}function C(ve,ae){return ve=kl(ve,ae),ve.index=0,ve.sibling=null,ve}function B(ve,ae,_e){return ve.index=_e,a?(_e=ve.alternate,_e!==null?(_e=_e.index,_e<ae?(ve.flags|=2,ae):_e):(ve.flags|=2,ae)):(ve.flags|=1048576,ae)}function j(ve){return a&&ve.alternate===null&&(ve.flags|=2),ve}function Q(ve,ae,_e,Xe){return ae===null||ae.tag!==6?(ae=X1(_e,ve.mode,Xe),ae.return=ve,ae):(ae=C(ae,_e),ae.return=ve,ae)}function ie(ve,ae,_e,Xe){var bt=_e.type;return bt===N?je(ve,ae,_e.props.children,Xe,_e.key):ae!==null&&(ae.elementType===bt||typeof bt=="object"&&bt!==null&&bt.$$typeof===he&&Lf(bt)===ae.type)?(Xe=C(ae,_e.props),Xe.ref=Rc(ve,ae,_e),Xe.return=ve,Xe):(Xe=a0(_e.type,_e.key,_e.props,null,ve.mode,Xe),Xe.ref=Rc(ve,ae,_e),Xe.return=ve,Xe)}function Se(ve,ae,_e,Xe){return ae===null||ae.tag!==4||ae.stateNode.containerInfo!==_e.containerInfo||ae.stateNode.implementation!==_e.implementation?(ae=J1(_e,ve.mode,Xe),ae.return=ve,ae):(ae=C(ae,_e.children||[]),ae.return=ve,ae)}function je(ve,ae,_e,Xe,bt){return ae===null||ae.tag!==7?(ae=Kc(_e,ve.mode,Xe,bt),ae.return=ve,ae):(ae=C(ae,_e),ae.return=ve,ae)}function He(ve,ae,_e){if(typeof ae=="string"&&ae!==""||typeof ae=="number")return ae=X1(""+ae,ve.mode,_e),ae.return=ve,ae;if(typeof ae=="object"&&ae!==null){switch(ae.$$typeof){case k:return _e=a0(ae.type,ae.key,ae.props,null,ve.mode,_e),_e.ref=Rc(ve,null,ae),_e.return=ve,_e;case O:return ae=J1(ae,ve.mode,_e),ae.return=ve,ae;case he:var Xe=ae._init;return He(ve,Xe(ae._payload),_e)}if($e(ae)||Z(ae))return ae=Kc(ae,ve.mode,_e,null),ae.return=ve,ae;Bc(ve,ae)}return null}function ke(ve,ae,_e,Xe){var bt=ae!==null?ae.key:null;if(typeof _e=="string"&&_e!==""||typeof _e=="number")return bt!==null?null:Q(ve,ae,""+_e,Xe);if(typeof _e=="object"&&_e!==null){switch(_e.$$typeof){case k:return _e.key===bt?ie(ve,ae,_e,Xe):null;case O:return _e.key===bt?Se(ve,ae,_e,Xe):null;case he:return bt=_e._init,ke(ve,ae,bt(_e._payload),Xe)}if($e(_e)||Z(_e))return bt!==null?null:je(ve,ae,_e,Xe,null);Bc(ve,_e)}return null}function ft(ve,ae,_e,Xe,bt){if(typeof Xe=="string"&&Xe!==""||typeof Xe=="number")return ve=ve.get(_e)||null,Q(ae,ve,""+Xe,bt);if(typeof Xe=="object"&&Xe!==null){switch(Xe.$$typeof){case k:return ve=ve.get(Xe.key===null?_e:Xe.key)||null,ie(ae,ve,Xe,bt);case O:return ve=ve.get(Xe.key===null?_e:Xe.key)||null,Se(ae,ve,Xe,bt);case he:var Dt=Xe._init;return ft(ve,ae,_e,Dt(Xe._payload),bt)}if($e(Xe)||Z(Xe))return ve=ve.get(_e)||null,je(ae,ve,Xe,bt,null);Bc(ae,Xe)}return null}function xt(ve,ae,_e,Xe){for(var bt=null,Dt=null,Lt=ae,Vt=ae=0,kr=null;Lt!==null&&Vt<_e.length;Vt++){Lt.index>Vt?(kr=Lt,Lt=null):kr=Lt.sibling;var Mn=ke(ve,Lt,_e[Vt],Xe);if(Mn===null){Lt===null&&(Lt=kr);break}a&&Lt&&Mn.alternate===null&&c(ve,Lt),ae=B(Mn,ae,Vt),Dt===null?bt=Mn:Dt.sibling=Mn,Dt=Mn,Lt=kr}if(Vt===_e.length)return g(ve,Lt),Dn&&no(ve,Vt),bt;if(Lt===null){for(;Vt<_e.length;Vt++)Lt=He(ve,_e[Vt],Xe),Lt!==null&&(ae=B(Lt,ae,Vt),Dt===null?bt=Lt:Dt.sibling=Lt,Dt=Lt);return Dn&&no(ve,Vt),bt}for(Lt=w(ve,Lt);Vt<_e.length;Vt++)kr=ft(Lt,ve,Vt,_e[Vt],Xe),kr!==null&&(a&&kr.alternate!==null&&Lt.delete(kr.key===null?Vt:kr.key),ae=B(kr,ae,Vt),Dt===null?bt=kr:Dt.sibling=kr,Dt=kr);return a&&Lt.forEach(function(Ul){return c(ve,Ul)}),Dn&&no(ve,Vt),bt}function Mt(ve,ae,_e,Xe){var bt=Z(_e);if(typeof bt!="function")throw Error(t(150));if(_e=bt.call(_e),_e==null)throw Error(t(151));for(var Dt=bt=null,Lt=ae,Vt=ae=0,kr=null,Mn=_e.next();Lt!==null&&!Mn.done;Vt++,Mn=_e.next()){Lt.index>Vt?(kr=Lt,Lt=null):kr=Lt.sibling;var Ul=ke(ve,Lt,Mn.value,Xe);if(Ul===null){Lt===null&&(Lt=kr);break}a&&Lt&&Ul.alternate===null&&c(ve,Lt),ae=B(Ul,ae,Vt),Dt===null?bt=Ul:Dt.sibling=Ul,Dt=Ul,Lt=kr}if(Mn.done)return g(ve,Lt),Dn&&no(ve,Vt),bt;if(Lt===null){for(;!Mn.done;Vt++,Mn=_e.next())Mn=He(ve,Mn.value,Xe),Mn!==null&&(ae=B(Mn,ae,Vt),Dt===null?bt=Mn:Dt.sibling=Mn,Dt=Mn);return Dn&&no(ve,Vt),bt}for(Lt=w(ve,Lt);!Mn.done;Vt++,Mn=_e.next())Mn=ft(Lt,ve,Vt,Mn.value,Xe),Mn!==null&&(a&&Mn.alternate!==null&&Lt.delete(Mn.key===null?Vt:Mn.key),ae=B(Mn,ae,Vt),Dt===null?bt=Mn:Dt.sibling=Mn,Dt=Mn);return a&&Lt.forEach(function(AI){return c(ve,AI)}),Dn&&no(ve,Vt),bt}function cr(ve,ae,_e,Xe){if(typeof _e=="object"&&_e!==null&&_e.type===N&&_e.key===null&&(_e=_e.props.children),typeof _e=="object"&&_e!==null){switch(_e.$$typeof){case k:e:{for(var bt=_e.key,Dt=ae;Dt!==null;){if(Dt.key===bt){if(bt=_e.type,bt===N){if(Dt.tag===7){g(ve,Dt.sibling),ae=C(Dt,_e.props.children),ae.return=ve,ve=ae;break e}}else if(Dt.elementType===bt||typeof bt=="object"&&bt!==null&&bt.$$typeof===he&&Lf(bt)===Dt.type){g(ve,Dt.sibling),ae=C(Dt,_e.props),ae.ref=Rc(ve,Dt,_e),ae.return=ve,ve=ae;break e}g(ve,Dt);break}else c(ve,Dt);Dt=Dt.sibling}_e.type===N?(ae=Kc(_e.props.children,ve.mode,Xe,_e.key),ae.return=ve,ve=ae):(Xe=a0(_e.type,_e.key,_e.props,null,ve.mode,Xe),Xe.ref=Rc(ve,ae,_e),Xe.return=ve,ve=Xe)}return j(ve);case O:e:{for(Dt=_e.key;ae!==null;){if(ae.key===Dt)if(ae.tag===4&&ae.stateNode.containerInfo===_e.containerInfo&&ae.stateNode.implementation===_e.implementation){g(ve,ae.sibling),ae=C(ae,_e.children||[]),ae.return=ve,ve=ae;break e}else{g(ve,ae);break}else c(ve,ae);ae=ae.sibling}ae=J1(_e,ve.mode,Xe),ae.return=ve,ve=ae}return j(ve);case he:return Dt=_e._init,cr(ve,ae,Dt(_e._payload),Xe)}if($e(_e))return xt(ve,ae,_e,Xe);if(Z(_e))return Mt(ve,ae,_e,Xe);Bc(ve,_e)}return typeof _e=="string"&&_e!==""||typeof _e=="number"?(_e=""+_e,ae!==null&&ae.tag===6?(g(ve,ae.sibling),ae=C(ae,_e),ae.return=ve,ve=ae):(g(ve,ae),ae=X1(_e,ve.mode,Xe),ae.return=ve,ve=ae),j(ve)):g(ve,ae)}return cr}var Aa=Nf(!0),Oc=Nf(!1),Ea=Vn(null),ba=null,io=null,Tl=null;function Ca(){Tl=io=ba=null}function Dc(a){var c=Ea.current;In(Ea),a._currentValue=c}function Lc(a,c,g){for(;a!==null;){var w=a.alternate;if((a.childLanes&c)!==c?(a.childLanes|=c,w!==null&&(w.childLanes|=c)):w!==null&&(w.childLanes&c)!==c&&(w.childLanes|=c),a===g)break;a=a.return}}function zo(a,c){ba=a,Tl=io=null,a=a.dependencies,a!==null&&a.firstContext!==null&&(a.lanes&c&&(tn=!0),a.firstContext=null)}function Si(a){var c=a._currentValue;if(Tl!==a)if(a={context:a,memoizedValue:c,next:null},io===null){if(ba===null)throw Error(t(308));io=a,ba.dependencies={lanes:0,firstContext:a}}else io=io.next=a;return c}var so=null;function Ff(a){so===null?so=[a]:so.push(a)}function Nc(a,c,g,w){var C=c.interleaved;return C===null?(g.next=g,Ff(c)):(g.next=C.next,C.next=g),c.interleaved=g,cs(a,w)}function cs(a,c){a.lanes|=c;var g=a.alternate;for(g!==null&&(g.lanes|=c),g=a,a=a.return;a!==null;)a.childLanes|=c,g=a.alternate,g!==null&&(g.childLanes|=c),g=a,a=a.return;return g.tag===3?g.stateNode:null}var wn=!1;function qt(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Kn(a,c){a=a.updateQueue,c.updateQueue===a&&(c.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function An(a,c){return{eventTime:a,lane:c,tag:0,payload:null,callback:null,next:null}}function Fn(a,c,g){var w=a.updateQueue;if(w===null)return null;if(w=w.shared,_n&2){var C=w.pending;return C===null?c.next=c:(c.next=C.next,C.next=c),w.pending=c,cs(a,g)}return C=w.interleaved,C===null?(c.next=c,Ff(w)):(c.next=C.next,C.next=c),w.interleaved=c,cs(a,g)}function Lr(a,c,g){if(c=c.updateQueue,c!==null&&(c=c.shared,(g&4194240)!==0)){var w=c.lanes;w&=a.pendingLanes,g|=w,c.lanes=g,bs(a,g)}}function Ta(a,c){var g=a.updateQueue,w=a.alternate;if(w!==null&&(w=w.updateQueue,g===w)){var C=null,B=null;if(g=g.firstBaseUpdate,g!==null){do{var j={eventTime:g.eventTime,lane:g.lane,tag:g.tag,payload:g.payload,callback:g.callback,next:null};B===null?C=B=j:B=B.next=j,g=g.next}while(g!==null);B===null?C=B=c:B=B.next=c}else C=B=c;g={baseState:w.baseState,firstBaseUpdate:C,lastBaseUpdate:B,shared:w.shared,effects:w.effects},a.updateQueue=g;return}a=g.lastBaseUpdate,a===null?g.firstBaseUpdate=c:a.next=c,g.lastBaseUpdate=c}function Wn(a,c,g,w){var C=a.updateQueue;wn=!1;var B=C.firstBaseUpdate,j=C.lastBaseUpdate,Q=C.shared.pending;if(Q!==null){C.shared.pending=null;var ie=Q,Se=ie.next;ie.next=null,j===null?B=Se:j.next=Se,j=ie;var je=a.alternate;je!==null&&(je=je.updateQueue,Q=je.lastBaseUpdate,Q!==j&&(Q===null?je.firstBaseUpdate=Se:Q.next=Se,je.lastBaseUpdate=ie))}if(B!==null){var He=C.baseState;j=0,je=Se=ie=null,Q=B;do{var ke=Q.lane,ft=Q.eventTime;if((w&ke)===ke){je!==null&&(je=je.next={eventTime:ft,lane:0,tag:Q.tag,payload:Q.payload,callback:Q.callback,next:null});e:{var xt=a,Mt=Q;switch(ke=c,ft=g,Mt.tag){case 1:if(xt=Mt.payload,typeof xt=="function"){He=xt.call(ft,He,ke);break e}He=xt;break e;case 3:xt.flags=xt.flags&-65537|128;case 0:if(xt=Mt.payload,ke=typeof xt=="function"?xt.call(ft,He,ke):xt,ke==null)break e;He=q({},He,ke);break e;case 2:wn=!0}}Q.callback!==null&&Q.lane!==0&&(a.flags|=64,ke=C.effects,ke===null?C.effects=[Q]:ke.push(Q))}else ft={eventTime:ft,lane:ke,tag:Q.tag,payload:Q.payload,callback:Q.callback,next:null},je===null?(Se=je=ft,ie=He):je=je.next=ft,j|=ke;if(Q=Q.next,Q===null){if(Q=C.shared.pending,Q===null)break;ke=Q,Q=ke.next,ke.next=null,C.lastBaseUpdate=ke,C.shared.pending=null}}while(!0);if(je===null&&(ie=He),C.baseState=ie,C.firstBaseUpdate=Se,C.lastBaseUpdate=je,c=C.shared.interleaved,c!==null){C=c;do j|=C.lane,C=C.next;while(C!==c)}else B===null&&(C.shared.lanes=0);Wc|=j,a.lanes=j,a.memoizedState=He}}function Il(a,c,g){if(a=c.effects,c.effects=null,a!==null)for(c=0;c<a.length;c++){var w=a[c],C=w.callback;if(C!==null){if(w.callback=null,w=g,typeof C!="function")throw Error(t(191,C));C.call(w)}}}var Bs={},wi=Vn(Bs),Ia=Vn(Bs),oo=Vn(Bs);function rr(a){if(a===Bs)throw Error(t(174));return a}function Fc(a,c){switch(bn(oo,c),bn(Ia,a),bn(wi,Bs),a=c.nodeType,a){case 9:case 11:c=(c=c.documentElement)?c.namespaceURI:et(null,"");break;default:a=a===8?c.parentNode:c,c=a.namespaceURI||null,a=a.tagName,c=et(c,a)}In(wi),bn(wi,c)}function Ho(){In(wi),In(Ia),In(oo)}function Pa(a){rr(oo.current);var c=rr(wi.current),g=et(c,a.type);c!==g&&(bn(Ia,a),bn(wi,g))}function Pl(a){Ia.current===a&&(In(wi),In(Ia))}var Ln=Vn(0);function us(a){for(var c=a;c!==null;){if(c.tag===13){var g=c.memoizedState;if(g!==null&&(g=g.dehydrated,g===null||g.data==="$?"||g.data==="$!"))return c}else if(c.tag===19&&c.memoizedProps.revealOrder!==void 0){if(c.flags&128)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===a)break;for(;c.sibling===null;){if(c.return===null||c.return===a)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var Rl=[];function Os(){for(var a=0;a<Rl.length;a++)Rl[a]._workInProgressVersionPrimary=null;Rl.length=0}var Ra=P.ReactCurrentDispatcher,Ba=P.ReactCurrentBatchConfig,ao=0,Pn=null,Xn=null,mn=null,hs=!1,Nr=!1,Go=0,si=0;function Er(){throw Error(t(321))}function kc(a,c){if(c===null)return!1;for(var g=0;g<c.length&&g<a.length;g++)if(!_i(a[g],c[g]))return!1;return!0}function Uc(a,c,g,w,C,B){if(ao=B,Pn=c,c.memoizedState=null,c.updateQueue=null,c.lanes=0,Ra.current=a===null||a.memoizedState===null?Wm:Xm,a=g(w,C),Nr){B=0;
vendor: 6,631 bytes, line 38
38do{if(Nr=!1,Go=0,25<=B)throw Error(t(301));B+=1,mn=Xn=null,c.updateQueue=null,Ra.current=Jm,a=g(w,C)}while(Nr)}if(Ra.current=Vh,c=Xn!==null&&Xn.next!==null,ao=0,mn=Xn=Pn=null,hs=!1,c)throw Error(t(300));return a}function kf(){var a=Go!==0;return Go=0,a}function br(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return mn===null?Pn.memoizedState=mn=a:mn=mn.next=a,mn}function Ai(){if(Xn===null){var a=Pn.alternate;a=a!==null?a.memoizedState:null}else a=Xn.next;var c=mn===null?Pn.memoizedState:mn.next;if(c!==null)mn=c,Xn=a;else{if(a===null)throw Error(t(310));Xn=a,a={memoizedState:Xn.memoizedState,baseState:Xn.baseState,baseQueue:Xn.baseQueue,queue:Xn.queue,next:null},mn===null?Pn.memoizedState=mn=a:mn=mn.next=a}return mn}function Bl(a,c){return typeof c=="function"?c(a):c}function jc(a){var c=Ai(),g=c.queue;if(g===null)throw Error(t(311));g.lastRenderedReducer=a;var w=Xn,C=w.baseQueue,B=g.pending;if(B!==null){if(C!==null){var j=C.next;C.next=B.next,B.next=j}w.baseQueue=C=B,g.pending=null}if(C!==null){B=C.next,w=w.baseState;var Q=j=null,ie=null,Se=B;do{var je=Se.lane;if((ao&je)===je)ie!==null&&(ie=ie.next={lane:0,action:Se.action,hasEagerState:Se.hasEagerState,eagerState:Se.eagerState,next:null}),w=Se.hasEagerState?Se.eagerState:a(w,Se.action);else{var He={lane:je,action:Se.action,hasEagerState:Se.hasEagerState,eagerState:Se.eagerState,next:null};ie===null?(Q=ie=He,j=w):ie=ie.next=He,Pn.lanes|=je,Wc|=je}Se=Se.next}while(Se!==null&&Se!==B);ie===null?j=w:ie.next=Q,_i(w,c.memoizedState)||(tn=!0),c.memoizedState=w,c.baseState=j,c.baseQueue=ie,g.lastRenderedState=w}if(a=g.interleaved,a!==null){C=a;do B=C.lane,Pn.lanes|=B,Wc|=B,C=C.next;while(C!==a)}else C===null&&(g.lanes=0);return[c.memoizedState,g.dispatch]}function lo(a){var c=Ai(),g=c.queue;if(g===null)throw Error(t(311));g.lastRenderedReducer=a;var w=g.dispatch,C=g.pending,B=c.memoizedState;if(C!==null){g.pending=null;var j=C=C.next;do B=a(B,j.action),j=j.next;while(j!==C);_i(B,c.memoizedState)||(tn=!0),c.memoizedState=B,c.baseQueue===null&&(c.baseState=B),g.lastRenderedState=B}return[B,w]}function Uf(){}function jf(a,c){var g=Pn,w=Ai(),C=c(),B=!_i(w.memoizedState,C);if(B&&(w.memoizedState=C,tn=!0),w=w.queue,Gf(Um.bind(null,g,w,a),[a]),w.getSnapshot!==c||B||mn!==null&&mn.memoizedState.tag&1){if(g.flags|=2048,ds(9,zc.bind(null,g,w,C,c),void 0,null),Fr===null)throw Error(t(349));ao&30||kh(g,c,C)}return C}function kh(a,c,g){a.flags|=16384,a={getSnapshot:c,value:g},c=Pn.updateQueue,c===null?(c={lastEffect:null,stores:null},Pn.updateQueue=c,c.stores=[a]):(g=c.stores,g===null?c.stores=[a]:g.push(a))}function zc(a,c,g,w){c.value=g,c.getSnapshot=w,jm(c)&&zf(a)}function Um(a,c,g){return g(function(){jm(c)&&zf(a)})}function jm(a){var c=a.getSnapshot;a=a.value;try{var g=c();return!_i(a,g)}catch{return!0}}function zf(a){var c=cs(a,1);c!==null&&po(c,a,1,-1)}function Hf(a){var c=br();return typeof a=="function"&&(a=a()),c.memoizedState=c.baseState=a,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Bl,lastRenderedState:a},c.queue=a,a=a.dispatch=Oa.bind(null,Pn,a),[c.memoizedState,a]}function ds(a,c,g,w){return a={tag:a,create:c,destroy:g,deps:w,next:null},c=Pn.updateQueue,c===null?(c={lastEffect:null,stores:null},Pn.updateQueue=c,c.lastEffect=a.next=a):(g=c.lastEffect,g===null?c.lastEffect=a.next=a:(w=g.next,g.next=a,a.next=w,c.lastEffect=a)),a}function zm(){return Ai().memoizedState}function Ds(a,c,g,w){var C=br();Pn.flags|=a,C.memoizedState=ds(1|c,g,void 0,w===void 0?null:w)}function Hc(a,c,g,w){var C=Ai();w=w===void 0?null:w;var B=void 0;if(Xn!==null){var j=Xn.memoizedState;if(B=j.destroy,w!==null&&kc(w,j.deps)){C.memoizedState=ds(c,g,B,w);return}}Pn.flags|=a,C.memoizedState=ds(1|c,g,B,w)}function Yr(a,c){return Ds(8390656,8,a,c)}function Gf(a,c){return Hc(2048,8,a,c)}function Vf(a,c){return Hc(4,2,a,c)}function Hm(a,c){return Hc(4,4,a,c)}function Gm(a,c){if(typeof c=="function")return a=a(),c(a),function(){c(null)};if(c!=null)return a=a(),c.current=a,function(){c.current=null}}function Wf(a,c,g){return g=g!=null?g.concat([a]):null,Hc(4,4,Gm.bind(null,c,a),g)}function Uh(){}function Vm(a,c){var g=Ai();c=c===void 0?null:c;var w=g.memoizedState;return w!==null&&c!==null&&kc(c,w[1])?w[0]:(g.memoizedState=[a,c],a)}function Ei(a,c){var g=Ai();c=c===void 0?null:c;var w=g.memoizedState;return w!==null&&c!==null&&kc(c,w[1])?w[0]:(a=a(),g.memoizedState=[a,c],a)}function jh(a,c,g){return ao&21?(_i(g,c)||(g=On(),Pn.lanes|=g,Wc|=g,a.baseState=!0),c):(a.baseState&&(a.baseState=!1,tn=!0),a.memoizedState=g)}function T1(a,c){var g=en;en=g!==0&&4>g?g:4,a(!0);var w=Ba.transition;Ba.transition={};try{a(!1),c()}finally{en=g,Ba.transition=w}}function co(){return Ai().memoizedState}function zh(a,c,g){var w=Nl(a);if(g={lane:w,action:g,hasEagerState:!1,eagerState:null,next:null},Gc(a))Hh(c,g);else if(g=Nc(a,c,g,w),g!==null){var C=Ci();po(g,a,w,C),Gh(g,c,w)}}function Oa(a,c,g){var w=Nl(a),C={lane:w,action:g,hasEagerState:!1,eagerState:null,next:null};if(Gc(a))Hh(c,C);else{var B=a.alternate;if(a.lanes===0&&(B===null||B.lanes===0)&&(B=c.lastRenderedReducer,B!==null))try{var j=c.lastRenderedState,Q=B(j,g);if(C.hasEagerState=!0,C.eagerState=Q,_i(Q,j)){var ie=c.interleaved;ie===null?(C.next=C,Ff(c)):(C.next=ie.next,ie.next=C),c.interleaved=C;return}}catch{}finally{}g=Nc(a,c,C,w),g!==null&&(C=Ci(),po(g,a,w,C),Gh(g,c,w))}}function Gc(a){var c=a.alternate;return a===Pn||c!==null&&c===Pn}function Hh(a,c){Nr=hs=!0;var g=a.pending;g===null?c.next=c:(c.next=g.next,g.next=c),a.pending=c}function Gh(a,c,g){if(g&4194240){var w=c.lanes;w&=a.pendingLanes,g|=w,c.lanes=g,bs(a,g)}}var Vh={readContext:Si,useCallback:Er,useContext:Er,useEffect:Er,useImperativeHandle:Er,useInsertionEffect:Er,useLayoutEffect:Er,useMemo:Er,useReducer:Er,useRef:Er,useState:Er,useDebugValue:Er,useDeferredValue:Er,useTransition:Er,useMutableSource:Er,useSyncExternalStore:Er,useId:Er,unstable_isNewReconciler:!1},Wm={readContext:Si,useCallback:function(a,c){return br().memoizedState=[a,c===void 0?null:c],a},useContext:Si,useEffect:Yr,useImperativeHandle:function(a,c,g){return g=g!=null?g.concat([a]):null,Ds(4194308,4,Gm.bind(null,c,a),g)},useLayoutEffect:function(a,c){return Ds(4194308,4,a,c)},useInsertionEffect:function(a,c){return Ds(4,2,a,c)},useMemo:function(a,c){var g=br();return c=c===void 0?null:c,a=a(),g.memoizedState=[a,c],a},useReducer:function(a,c,g){var w=br();return c=g!==void 0?g(c):c,w.memoizedState=w.baseState=c,a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:c},w.queue=a,a=a.dispatch=zh.bind(null,Pn,a),[w.memoizedState,a]}
vendor: 7,417 bytes, lines 38-40
38,useRef:function(a){var c=br();return a={current:a},c.memoizedState=a},useState:Hf,useDebugValue:Uh,useDeferredValue:function(a){return br().memoizedState=a},useTransition:function(){var a=Hf(!1),c=a[0];return a=T1.bind(null,a[1]),br().memoizedState=a,[c,a]},useMutableSource:function(){},useSyncExternalStore:function(a,c,g){var w=Pn,C=br();if(Dn){if(g===void 0)throw Error(t(407));g=g()}else{if(g=c(),Fr===null)throw Error(t(349));ao&30||kh(w,c,g)}C.memoizedState=g;var B={value:g,getSnapshot:c};return C.queue=B,Yr(Um.bind(null,w,B,a),[a]),w.flags|=2048,ds(9,zc.bind(null,w,B,g,c),void 0,null),g},useId:function(){var a=br(),c=Fr.identifierPrefix;if(Dn){var g=Vi,w=Ke;g=(w&~(1<<32-rn(w)-1)).toString(32)+g,c=":"+c+"R"+g,g=Go++,0<g&&(c+="H"+g.toString(32)),c+=":"}else g=si++,c=":"+c+"r"+g.toString(32)+":";return a.memoizedState=c},unstable_isNewReconciler:!1},Xm={readContext:Si,useCallback:Vm,useContext:Si,useEffect:Gf,useImperativeHandle:Wf,useInsertionEffect:Vf,useLayoutEffect:Hm,useMemo:Ei,useReducer:jc,useRef:zm,useState:function(){return jc(Bl)},useDebugValue:Uh,useDeferredValue:function(a){var c=Ai();return jh(c,Xn.memoizedState,a)},useTransition:function(){var a=jc(Bl)[0],c=Ai().memoizedState;return[a,c]},useMutableSource:Uf,useSyncExternalStore:jf,useId:co,unstable_isNewReconciler:!1},Jm={readContext:Si,useCallback:Vm,useContext:Si,useEffect:Gf,useImperativeHandle:Wf,useInsertionEffect:Vf,useLayoutEffect:Hm,useMemo:Ei,useReducer:lo,useRef:zm,useState:function(){return lo(Bl)},useDebugValue:Uh,useDeferredValue:function(a){var c=Ai();return Xn===null?c.memoizedState=a:jh(c,Xn.memoizedState,a)},useTransition:function(){var a=lo(Bl)[0],c=Ai().memoizedState;return[a,c]},useMutableSource:Uf,useSyncExternalStore:jf,useId:co,unstable_isNewReconciler:!1};function Xi(a,c){if(a&&a.defaultProps){c=q({},c),a=a.defaultProps;for(var g in a)c[g]===void 0&&(c[g]=a[g]);return c}return c}function Vc(a,c,g,w){c=a.memoizedState,g=g(w,c),g=g==null?c:q({},c,g),a.memoizedState=g,a.lanes===0&&(a.updateQueue.baseState=g)}var Wh={isMounted:function(a){return(a=a._reactInternals)?As(a)===a:!1},enqueueSetState:function(a,c,g){a=a._reactInternals;var w=Ci(),C=Nl(a),B=An(w,C);B.payload=c,g!=null&&(B.callback=g),c=Fn(a,B,C),c!==null&&(po(c,a,C,w),Lr(c,a,C))},enqueueReplaceState:function(a,c,g){a=a._reactInternals;var w=Ci(),C=Nl(a),B=An(w,C);B.tag=1,B.payload=c,g!=null&&(B.callback=g),c=Fn(a,B,C),c!==null&&(po(c,a,C,w),Lr(c,a,C))},enqueueForceUpdate:function(a,c){a=a._reactInternals;var g=Ci(),w=Nl(a),C=An(g,w);C.tag=2,c!=null&&(C.callback=c),c=Fn(a,C,w),c!==null&&(po(c,a,w,g),Lr(c,a,w))}};function $m(a,c,g,w,C,B,j){return a=a.stateNode,typeof a.shouldComponentUpdate=="function"?a.shouldComponentUpdate(w,B,j):c.prototype&&c.prototype.isPureReactComponent?!pa(g,w)||!pa(C,B):!0}function h(a,c,g){var w=!1,C=eo,B=c.contextType;return typeof B=="object"&&B!==null?B=Si(B):(C=Dr(c)?to:wr.current,w=c.contextTypes,B=(w=w!=null)?xa(a,C):eo),c=new c(g,B),a.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=Wh,a.stateNode=c,c._reactInternals=a,w&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=C,a.__reactInternalMemoizedMaskedChildContext=B),c}function f(a,c,g,w){a=c.state,typeof c.componentWillReceiveProps=="function"&&c.componentWillReceiveProps(g,w),typeof c.UNSAFE_componentWillReceiveProps=="function"&&c.UNSAFE_componentWillReceiveProps(g,w),c.state!==a&&Wh.enqueueReplaceState(c,c.state,null)}function x(a,c,g,w){var C=a.stateNode;C.props=g,C.state=a.memoizedState,C.refs={},qt(a);var B=c.contextType;typeof B=="object"&&B!==null?C.context=Si(B):(B=Dr(c)?to:wr.current,C.context=xa(a,B)),C.state=a.memoizedState,B=c.getDerivedStateFromProps,typeof B=="function"&&(Vc(a,c,B,g),C.state=a.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof C.getSnapshotBeforeUpdate=="function"||typeof C.UNSAFE_componentWillMount!="function"&&typeof C.componentWillMount!="function"||(c=C.state,typeof C.componentWillMount=="function"&&C.componentWillMount(),typeof C.UNSAFE_componentWillMount=="function"&&C.UNSAFE_componentWillMount(),c!==C.state&&Wh.enqueueReplaceState(C,C.state,null),Wn(a,g,C,w),C.state=a.memoizedState),typeof C.componentDidMount=="function"&&(a.flags|=4194308)}function b(a,c){try{var g="",w=c;do g+=Ae(w),w=w.return;while(w);var C=g}catch(B){C=` 39Error generating stack: `+B.message+` 40`+B.stack}return{value:a,source:c,stack:C,digest:null}}function R(a,c,g){return{value:a,source:null,stack:g??null,digest:c??null}}function D(a,c){try{console.error(c.value)}catch(g){setTimeout(function(){throw g})}}var Y=typeof WeakMap=="function"?WeakMap:Map;function le(a,c,g){g=An(-1,g),g.tag=3,g.payload={element:null};var w=c.value;return g.callback=function(){t0||(t0=!0,k1=w),D(a,c)},g}function Te(a,c,g){g=An(-1,g),g.tag=3;var w=a.type.getDerivedStateFromError;if(typeof w=="function"){var C=c.value;g.payload=function(){return w(C)},g.callback=function(){D(a,c)}}var B=a.stateNode;return B!==null&&typeof B.componentDidCatch=="function"&&(g.callback=function(){D(a,c),typeof w!="function"&&(Dl===null?Dl=new Set([this]):Dl.add(this));var j=c.stack;this.componentDidCatch(c.value,{componentStack:j!==null?j:""})}),g}function We(a,c,g){var w=a.pingCache;if(w===null){w=a.pingCache=new Y;var C=new Set;w.set(c,C)}else C=w.get(c),C===void 0&&(C=new Set,w.set(c,C));C.has(g)||(C.add(g),a=fI.bind(null,a,c,g),c.then(a,a))}function gt(a){do{var c;if((c=a.tag===13)&&(c=a.memoizedState,c=c!==null?c.dehydrated!==null:!0),c)return a;a=a.return}while(a!==null);return null}function Wt(a,c,g,w,C){return a.mode&1?(a.flags|=65536,a.lanes=C,a):(a===c?a.flags|=65536:(a.flags|=128,g.flags|=131072,g.flags&=-52805,g.tag===1&&(g.alternate===null?g.tag=17:(c=An(-1,1),c.tag=2,Fn(g,c,1))),g.lanes|=1),a)}var Ot=P.ReactCurrentOwner,tn=!1;function at(a,c,g,w){c.child=a===null?Oc(c,null,g,w):Aa(c,a.child,g,w)}function Cr(a,c,g,w,C){g=g.render;var B=c.ref;return zo(c,C),w=Uc(a,c,g,w,B,C),g=kf(),a!==null&&!tn?(c.updateQueue=a.updateQueue,c.flags&=-2053,a.lanes&=~C,Da(a,c,C)):(Dn&&g&&Rf(c),c.flags|=1,at(a,c,w,C),c.child)}function bi(a,c,g,w,C){if(a===null){var B=g.type;return typeof B=="function"&&!W1(B)&&B.defaultProps===void 0&&g.compare===null&&g.defaultProps===void 0?(c.tag=15,c.type=B,xe(a,c,B,w,C)):(a=a0(g.type,null,w,c,c.mode,C),a.ref=c.ref,a.return=c,c.child=a)}if(B=a.child,!(a.lanes&C)){var j=B.memoizedProps;if(g=g.compare,g=g!==null?g:pa,g(j,w)&&a.ref===c.ref)return Da(a,c,C)}return c.flags|=1,a=kl(B,w),a.ref=c.ref,a.return=c,c.child=a}function xe(a,c,g,w,C){if(a!==null){var B=a.memoizedProps;if(pa(B,w)&&a.ref===c.ref)if(tn=!1,c.pendingProps=w=B,(a.lanes&C)!==0)a.flags&131072&&(tn=!0);else return c.lanes=a.lanes,Da(a,c,C)}return rt(a,c,g,w,C)}function fe(a,c,g){var w=c.pendingProps,C=w.children,B=a!==null?a.memoizedState:null;if(w.mode==="hidden")if(!(c.mode&1))c.memoizedState={baseLanes:0,cachePool:null,transitions:null},bn(Jh,fs),fs|=g;else{if(!(g&1073741824))return a=B!==null?B.baseLanes|g:g,c.lanes=c.childLanes=1073741824,c.memoizedState={baseLanes:a,cachePool:null,transitions:null},c.updateQueue=null,bn(Jh,fs),fs|=a,null;c.memoizedState={baseLanes:0,cachePool:null,transitions:null},w=B!==null?B.baseLanes:g,bn(Jh,fs),fs|=w}else B!==null?(w=B.baseLanes|g,c.memoizedState=null):w=g,bn(Jh,fs),fs|=w;return at(a,c,C,g),c.child}function Ee(a,c){var g=c.ref;(a===null&&g!==null||a!==null&&a.ref!==g)&&(c.flags|=512,c.flags|=2097152)}
vendor: 13,745 bytes, line 40
40function rt(a,c,g,w,C){var B=Dr(g)?to:wr.current;return B=xa(c,B),zo(c,C),g=Uc(a,c,g,w,B,C),w=kf(),a!==null&&!tn?(c.updateQueue=a.updateQueue,c.flags&=-2053,a.lanes&=~C,Da(a,c,C)):(Dn&&w&&Rf(c),c.flags|=1,at(a,c,g,C),c.child)}function At(a,c,g,w,C){if(Dr(g)){var B=!0;Ma(c)}else B=!1;if(zo(c,C),c.stateNode===null)Ym(a,c),h(c,g,w),x(c,g,w,C),w=!0;else if(a===null){var j=c.stateNode,Q=c.memoizedProps;j.props=Q;var ie=j.context,Se=g.contextType;typeof Se=="object"&&Se!==null?Se=Si(Se):(Se=Dr(g)?to:wr.current,Se=xa(c,Se));var je=g.getDerivedStateFromProps,He=typeof je=="function"||typeof j.getSnapshotBeforeUpdate=="function";He||typeof j.UNSAFE_componentWillReceiveProps!="function"&&typeof j.componentWillReceiveProps!="function"||(Q!==w||ie!==Se)&&f(c,j,w,Se),wn=!1;var ke=c.memoizedState;j.state=ke,Wn(c,w,j,C),ie=c.memoizedState,Q!==w||ke!==ie||Jr.current||wn?(typeof je=="function"&&(Vc(c,g,je,w),ie=c.memoizedState),(Q=wn||$m(c,g,Q,w,ke,ie,Se))?(He||typeof j.UNSAFE_componentWillMount!="function"&&typeof j.componentWillMount!="function"||(typeof j.componentWillMount=="function"&&j.componentWillMount(),typeof j.UNSAFE_componentWillMount=="function"&&j.UNSAFE_componentWillMount()),typeof j.componentDidMount=="function"&&(c.flags|=4194308)):(typeof j.componentDidMount=="function"&&(c.flags|=4194308),c.memoizedProps=w,c.memoizedState=ie),j.props=w,j.state=ie,j.context=Se,w=Q):(typeof j.componentDidMount=="function"&&(c.flags|=4194308),w=!1)}else{j=c.stateNode,Kn(a,c),Q=c.memoizedProps,Se=c.type===c.elementType?Q:Xi(c.type,Q),j.props=Se,He=c.pendingProps,ke=j.context,ie=g.contextType,typeof ie=="object"&&ie!==null?ie=Si(ie):(ie=Dr(g)?to:wr.current,ie=xa(c,ie));var ft=g.getDerivedStateFromProps;(je=typeof ft=="function"||typeof j.getSnapshotBeforeUpdate=="function")||typeof j.UNSAFE_componentWillReceiveProps!="function"&&typeof j.componentWillReceiveProps!="function"||(Q!==He||ke!==ie)&&f(c,j,w,ie),wn=!1,ke=c.memoizedState,j.state=ke,Wn(c,w,j,C);var xt=c.memoizedState;Q!==He||ke!==xt||Jr.current||wn?(typeof ft=="function"&&(Vc(c,g,ft,w),xt=c.memoizedState),(Se=wn||$m(c,g,Se,w,ke,xt,ie)||!1)?(je||typeof j.UNSAFE_componentWillUpdate!="function"&&typeof j.componentWillUpdate!="function"||(typeof j.componentWillUpdate=="function"&&j.componentWillUpdate(w,xt,ie),typeof j.UNSAFE_componentWillUpdate=="function"&&j.UNSAFE_componentWillUpdate(w,xt,ie)),typeof j.componentDidUpdate=="function"&&(c.flags|=4),typeof j.getSnapshotBeforeUpdate=="function"&&(c.flags|=1024)):(typeof j.componentDidUpdate!="function"||Q===a.memoizedProps&&ke===a.memoizedState||(c.flags|=4),typeof j.getSnapshotBeforeUpdate!="function"||Q===a.memoizedProps&&ke===a.memoizedState||(c.flags|=1024),c.memoizedProps=w,c.memoizedState=xt),j.props=w,j.state=xt,j.context=ie,w=Se):(typeof j.componentDidUpdate!="function"||Q===a.memoizedProps&&ke===a.memoizedState||(c.flags|=4),typeof j.getSnapshotBeforeUpdate!="function"||Q===a.memoizedProps&&ke===a.memoizedState||(c.flags|=1024),w=!1)}return Kt(a,c,g,w,B,C)}function Kt(a,c,g,w,C,B){Ee(a,c);var j=(c.flags&128)!==0;if(!w&&!j)return C&&If(c,g,!1),Da(a,c,B);w=c.stateNode,Ot.current=c;var Q=j&&typeof g.getDerivedStateFromError!="function"?null:w.render();return c.flags|=1,a!==null&&j?(c.child=Aa(c,a.child,null,B),c.child=Aa(c,null,Q,B)):at(a,c,Q,B),c.memoizedState=w.state,C&&If(c,g,!0),c.child}function Xt(a){var c=a.stateNode;c.pendingContext?Tf(a,c.pendingContext,c.pendingContext!==c.context):c.context&&Tf(a,c.context,!1),Fc(a,c.containerInfo)}function dn(a,c,g,w,C){return jo(),Cl(C),c.flags|=256,at(a,c,g,w),c.child}var ir={dehydrated:null,treeContext:null,retryLane:0};function hn(a){return{baseLanes:a,cachePool:null,transitions:null}}function uo(a,c,g){var w=c.pendingProps,C=Ln.current,B=!1,j=(c.flags&128)!==0,Q;if((Q=j)||(Q=a!==null&&a.memoizedState===null?!1:(C&2)!==0),Q?(B=!0,c.flags&=-129):(a===null||a.memoizedState!==null)&&(C|=1),bn(Ln,C&1),a===null)return Nh(c),a=c.memoizedState,a!==null&&(a=a.dehydrated,a!==null)?(c.mode&1?a.data==="$!"?c.lanes=8:c.lanes=1073741824:c.lanes=1,null):(j=w.children,a=w.fallback,B?(w=c.mode,B=c.child,j={mode:"hidden",children:j},!(w&1)&&B!==null?(B.childLanes=0,B.pendingProps=j):B=l0(j,w,0,null),a=Kc(a,w,g,null),B.return=c,a.return=c,B.sibling=a,c.child=B,c.child.memoizedState=hn(g),c.memoizedState=ir,a):Xf(c,j));if(C=a.memoizedState,C!==null&&(Q=C.dehydrated,Q!==null))return tI(a,c,j,w,Q,C,g);if(B){B=w.fallback,j=c.mode,C=a.child,Q=C.sibling;var ie={mode:"hidden",children:w.children};return!(j&1)&&c.child!==C?(w=c.child,w.childLanes=0,w.pendingProps=ie,c.deletions=null):(w=kl(C,ie),w.subtreeFlags=C.subtreeFlags&14680064),Q!==null?B=kl(Q,B):(B=Kc(B,j,g,null),B.flags|=2),B.return=c,w.return=c,w.sibling=B,c.child=w,w=B,B=c.child,j=a.child.memoizedState,j=j===null?hn(g):{baseLanes:j.baseLanes|g,cachePool:null,transitions:j.transitions},B.memoizedState=j,B.childLanes=a.childLanes&~g,c.memoizedState=ir,w}return B=a.child,a=B.sibling,w=kl(B,{mode:"visible",children:w.children}),!(c.mode&1)&&(w.lanes=g),w.return=c,w.sibling=null,a!==null&&(g=c.deletions,g===null?(c.deletions=[a],c.flags|=16):g.push(a)),c.child=w,c.memoizedState=null,w}function Xf(a,c){return c=l0({mode:"visible",children:c},a.mode,0,null),c.return=a,a.child=c}function Km(a,c,g,w){return w!==null&&Cl(w),Aa(c,a.child,null,g),a=Xf(c,c.pendingProps.children),a.flags|=2,c.memoizedState=null,a}function tI(a,c,g,w,C,B,j){if(g)return c.flags&256?(c.flags&=-257,w=R(Error(t(422))),Km(a,c,j,w)):c.memoizedState!==null?(c.child=a.child,c.flags|=128,null):(B=w.fallback,C=c.mode,w=l0({mode:"visible",children:w.children},C,0,null),B=Kc(B,C,j,null),B.flags|=2,w.return=c,B.return=c,w.sibling=B,c.child=w,c.mode&1&&Aa(c,a.child,null,j),c.child.memoizedState=hn(j),c.memoizedState=ir,B);if(!(c.mode&1))return Km(a,c,j,null);if(C.data==="$!"){if(w=C.nextSibling&&C.nextSibling.dataset,w)var Q=w.dgst;return w=Q,B=Error(t(419)),w=R(B,w,void 0),Km(a,c,j,w)}if(Q=(j&a.childLanes)!==0,tn||Q){if(w=Fr,w!==null){switch(j&-j){case 4:C=2;break;case 16:C=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:C=32;break;case 536870912:C=268435456;break;default:C=0}C=C&(w.suspendedLanes|j)?0:C,C!==0&&C!==B.retryLane&&(B.retryLane=C,cs(a,C),po(w,a,C,-1))}return V1(),w=R(Error(t(421))),Km(a,c,j,w)}return C.data==="$?"?(c.flags|=128,c.child=a.child,c=pI.bind(null,a),C._reactRetry=c,null):(a=B.treeContext,Kr=Qs(C.nextSibling),Ar=c,Dn=!0,Wi=null,a!==null&&($r[gr++]=Ke,$r[gr++]=Vi,$r[gr++]=wa,Ke=a.id,Vi=a.overflow,wa=c),c=Xf(c,w.children),c.flags|=4096,c)}function mS(a,c,g){a.lanes|=c;var w=a.alternate;w!==null&&(w.lanes|=c),Lc(a.return,c,g)}function I1(a,c,g,w,C){var B=a.memoizedState;B===null?a.memoizedState={isBackwards:c,rendering:null,renderingStartTime:0,last:w,tail:g,tailMode:C}:(B.isBackwards=c,B.rendering=null,B.renderingStartTime=0,B.last=w,B.tail=g,B.tailMode=C)}function gS(a,c,g){var w=c.pendingProps,C=w.revealOrder,B=w.tail;if(at(a,c,w.children,g),w=Ln.current,w&2)w=w&1|2,c.flags|=128;else{if(a!==null&&a.flags&128)e:for(a=c.child;a!==null;){if(a.tag===13)a.memoizedState!==null&&mS(a,g,c);else if(a.tag===19)mS(a,g,c);else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===c)break e;for(;a.sibling===null;){if(a.return===null||a.return===c)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}w&=1}if(bn(Ln,w),!(c.mode&1))c.memoizedState=null;else switch(C){case"forwards":for(g=c.child,C=null;g!==null;)a=g.alternate,a!==null&&us(a)===null&&(C=g),g=g.sibling;g=C,g===null?(C=c.child,c.child=null):(C=g.sibling,g.sibling=null),I1(c,!1,C,g,B);break;case"backwards":for(g=null,C=c.child,c.child=null;C!==null;){if(a=C.alternate,a!==null&&us(a)===null){c.child=C;break}a=C.sibling,C.sibling=g,g=C,C=a}I1(c,!0,g,null,B);break;case"together":I1(c,!1,null,null,void 0);break;default:c.memoizedState=null}return c.child}function Ym(a,c){!(c.mode&1)&&a!==null&&(a.alternate=null,c.alternate=null,c.flags|=2)}function Da(a,c,g){if(a!==null&&(c.dependencies=a.dependencies),Wc|=c.lanes,!(g&c.childLanes))return null;if(a!==null&&c.child!==a.child)throw Error(t(153));if(c.child!==null){for(a=c.child,g=kl(a,a.pendingProps),c.child=g,g.return=c;a.sibling!==null;)a=a.sibling,g=g.sibling=kl(a,a.pendingProps),g.return=c;g.sibling=null}return c.child}function nI(a,c,g){switch(c.tag){case 3:Xt(c),jo();break;case 5:Pa(c);break;case 1:Dr(c.type)&&Ma(c);break;case 4:Fc(c,c.stateNode.containerInfo);break;case 10:var w=c.type._context,C=c.memoizedProps.value;bn(Ea,w._currentValue),w._currentValue=C;break;case 13:if(w=c.memoizedState,w!==null)return w.dehydrated!==null?(bn(Ln,Ln.current&1),c.flags|=128,null):g&c.child.childLanes?uo(a,c,g):(bn(Ln,Ln.current&1),a=Da(a,c,g),a!==null?a.sibling:null);bn(Ln,Ln.current&1);break;case 19:if(w=(g&c.childLanes)!==0,a.flags&128){if(w)return gS(a,c,g);c.flags|=128}if(C=c.memoizedState,C!==null&&(C.rendering=null,C.tail=null,C.lastEffect=null),bn(Ln,Ln.current),w)break;return null;case 22:case 23:return c.lanes=0,fe(a,c,g)}return Da(a,c,g)}var yS,P1,vS,_S;yS=function(a,c){for(var g=c.child;g!==null;){if(g.tag===5||g.tag===6)a.appendChild(g.stateNode);else if(g.tag!==4&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===c)break;for(;g.sibling===null;){if(g.return===null||g.return===c)return;g=g.return}g.sibling.return=g.return,g=g.sibling}},P1=function(){},vS=function(a,c,g,w){var C=a.memoizedProps;if(C!==w){a=c.stateNode,rr(wi.current);var B=null;switch(g){case"input":C=K(a,C),w=K(a,w),B=[];break;case"select":C=q({},C,{value:void 0}),w=q({},w,{value:void 0}),B=[];break;case"textarea":C=G(a,C),w=G(a,w),B=[];break;default:typeof C.onClick!="function"&&typeof w.onClick=="function"&&(a.onclick=bc)}$t(g,w);var j;g=null;for(Se in C)if(!w.hasOwnProperty(Se)&&C.hasOwnProperty(Se)&&C[Se]!=null)if(Se==="style"){var Q=C[Se];for(j in Q)Q.hasOwnProperty(j)&&(g||(g={}),g[j]="")}else Se!=="dangerouslySetInnerHTML"&&Se!=="children"&&Se!=="suppressContentEditableWarning"&&Se!=="suppressHydrationWarning"&&Se!=="autoFocus"&&(i.hasOwnProperty(Se)?B||(B=[]):(B=B||[]).push(Se,null));for(Se in w){var ie=w[Se];if(Q=C!=null?C[Se]:void 0,w.hasOwnProperty(Se)&&ie!==Q&&(ie!=null||Q!=null))if(Se==="style")if(Q){for(j in Q)!Q.hasOwnProperty(j)||ie&&ie.hasOwnProperty(j)||(g||(g={}),g[j]="");for(j in ie)ie.hasOwnProperty(j)&&Q[j]!==ie[j]&&(g||(g={}),g[j]=ie[j])}else g||(B||(B=[]),B.push(Se,g)),g=ie;else Se==="dangerouslySetInnerHTML"?(ie=ie?ie.__html:void 0,Q=Q?Q.__html:void 0,ie!=null&&Q!==ie&&(B=B||[]).push(Se,ie)):Se==="children"?typeof ie!="string"&&typeof ie!="number"||(B=B||[]).push(Se,""+ie):Se!=="suppressContentEditableWarning"&&Se!=="suppressHydrationWarning"&&(i.hasOwnProperty(Se)?(ie!=null&&Se==="onScroll"&&Tn("scroll",a),B||Q===ie||(B=[])):(B=B||[]).push(Se,ie))}g&&(B=B||[]).push("style",g);var Se=B;(c.updateQueue=Se)&&(c.flags|=4)}},_S=function(a,c,g,w){g!==w&&(c.flags|=4)};function Jf(a,c){if(!Dn)switch(a.tailMode){case"hidden":c=a.tail;for(var g=null;c!==null;)c.alternate!==null&&(g=c),c=c.sibling;g===null?a.tail=null:g.sibling=null;break;case"collapsed":g=a.tail;for(var w=null;g!==null;)g.alternate!==null&&(w=g),g=g.sibling;w===null?c||a.tail===null?a.tail=null:a.tail.sibling=null:w.sibling=null}}function oi(a){var c=a.alternate!==null&&a.alternate.child===a.child,g=0,w=0;if(c)for(var C=a.child;C!==null;)g|=C.lanes|C.childLanes,w|=C.subtreeFlags&14680064,w|=C.flags&14680064,C.return=a,C=C.sibling;else for(C=a.child;C!==null;)g|=C.lanes|C.childLanes,w|=C.subtreeFlags,w|=C.flags,C.return=a,C=C.sibling;return a.subtreeFlags|=w,a.childLanes=g,c}function rI(a,c,g){var w=c.pendingProps;switch(ro(c),c.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return oi(c),null;case 1:return Dr(c.type)&&Cc(),oi(c),null;case 3:return w=c.stateNode,Ho(),In(Jr),In(wr),Os(),w.pendingContext&&(w.context=w.pendingContext,w.pendingContext=null),(a===null||a.child===null)&&(bl(c)?c.flags|=4:a===null||a.memoizedState.isDehydrated&&!(c.flags&256)||(c.flags|=1024,Wi!==null&&(z1(Wi),Wi=null))),P1(a,c),oi(c),null;case 5:Pl(c);var C=rr(oo.current);if(g=c.type,a!==null&&c.stateNode!=null)vS(a,c,g,w,C),a.ref!==c.ref&&(c.flags|=512,c.flags|=2097152);else{if(!w){if(c.stateNode===null)throw Error(t(166));return oi(c),null}if(a=rr(wi.current),bl(c)){w=c.stateNode,g=c.type;var B=c.memoizedProps;switch(w[lr]=c,w[El]=B,a=(c.mode&1)!==0,g){case"dialog":Tn("cancel",w),Tn("close",w);break;case"iframe":case"object":case"embed":Tn("load",w);break;case"video":case"audio":for(C=0;C<ko.length;C++)Tn(ko[C],w);break;case"source":Tn("error",w);break;case"img":case"image":case"link":Tn("error",w),Tn("load",w);break;case"details":Tn("toggle",w);break;case"input":pt(w,B),Tn("invalid",w);break;case"select":w._wrapperState={wasMultiple:!!B.multiple},Tn("invalid",w);break;case"textarea":ee(w,B),Tn("invalid",w)}$t(g,B),C=null;for(var j in B)if(B.hasOwnProperty(j)){var Q=B[j];j==="children"?typeof Q=="string"?w.textContent!==Q&&(B.suppressHydrationWarning!==!0&&Ec(w.textContent,Q,a),C=["children",Q]):typeof Q=="number"&&w.textContent!==""+Q&&(B.suppressHydrationWarning!==!0&&Ec(w.textContent,Q,a),C=["children",""+Q]):i.hasOwnProperty(j)&&Q!=null&&j==="onScroll"&&Tn("scroll",w)}switch(g){case"input":Pt(w),Ve(w,B,!0);break;case"textarea":Pt(w),Pe(w);break;case"select":case"option":break;default:typeof B.onClick=="function"&&(w.onclick=bc)}w=C,c.updateQueue=w,w!==null&&(c.flags|=4)}else{j=C.nodeType===9?C:C.ownerDocument,a==="http://www.w3.org/1999/xhtml"&&(a=be(g)),a==="http://www.w3.org/1999/xhtml"?g==="script"?(a=j.createElement("div"),a.innerHTML="<script><\/script>
40",a=a.removeChild(a.firstChild)):typeof w.is=="string"?a=j.createElement(g,{is:w.is}):(a=j.createElement(g),g==="select"&&(j=a,w.multiple?j.multiple=!0:w.size&&(j.size=w.size))):a=j.createElementNS(a,g),a[lr]=c,a[El]=w,yS(a,c,!1,!1),c.stateNode=a;e:{switch(j=kt(g,w),g){case"dialog":Tn("cancel",a),Tn("close",a),C=w;break;case"iframe":case"object":case"embed":Tn("load",a),C=w;break;case"video":case"audio":for(C=0;C<ko.length;C++)Tn(ko[C],a);C=w;break;case"source":Tn("error",a),C=w;break;case"img":case"image":case"link":Tn("error",a),Tn("load",a),C=w;break;case"details":Tn("toggle",a),C=w;break;case"input":pt(a,w),C=K(a,w),Tn("invalid",a);break;case"option":C=w;break;case"select":a._wrapperState={wasMultiple:!!w.multiple},C=q({},w,{value:void 0}),Tn("invalid",a);break;case"textarea":ee(a,w),C=G(a,w),Tn("invalid",a);break;default:C=w}$t(g,C),Q=C;for(B in Q)if(Q.hasOwnProperty(B)){var ie=Q[B];B==="style"?Rt(a,ie):B==="dangerouslySetInnerHTML"?(ie=ie?ie.__html:void 0,ie!=null&&Qe(a,ie)):B==="children"?typeof ie=="string"?(g!=="textarea"||ie!=="")&&Ht(a,ie):typeof ie=="number"&&Ht(a,""+ie):B!=="suppressContentEditableWarning"&&B!=="suppressHydrationWarning"&&B!=="autoFocus"&&(i.hasOwnProperty(B)?ie!=null&&B==="onScroll"&&Tn("scroll",a):ie!=null&&I(a,B,ie,j))}switch(g){case"input":Pt(a),Ve(a,w,!1);break;case"textarea":Pt(a),Pe(a);break;case"option":w.value!=null&&a.setAttribute("value",""+Ge(w.value));break;case"select":a.multiple=!!w.multiple,B=w.value,B!=null?J(a,!!w.multiple,B,!1):w.defaultValue!=null&&J(a,!!w.multiple,w.defaultValue,!0);break;default:typeof C.onClick=="function"&&(a.onclick=bc)}switch(g){case"button":case"input":case"select":case"textarea":w=!!w.autoFocus;break e;case"img":w=!0;break e;default:w=!1}}w&&(c.flags|=4)}c.ref!==null&&(c.flags|=512,c.flags|=2097152)}return oi(c),null;case 6:if(a&&c.stateNode!=null)_S(a,c,a.memoizedProps,w);else{if(typeof w!="string"&&c.stateNode===null)throw Error(t(166));if(g=rr(oo.current),rr(wi.current),bl(c)){if(w=c.stateNode,g=c.memoizedProps,w[lr]=c,(B=w.nodeValue!==g)&&(a=Ar,a!==null))switch(a.tag){case 3:Ec(w.nodeValue,g,(a.mode&1)!==0);break;case 5:a.memoizedProps.suppressHydrationWarning!==!0&&Ec(w.nodeValue,g,(a.mode&1)!==0)}B&&(c.flags|=4)}else w=(g.nodeType===9?g:g.ownerDocument).createTextNode(w),w[lr]=c,c.stateNode=w}return oi(c),null;case 13:if(In(Ln),w=c.memoizedState,a===null||a.memoizedState!==null&&a.memoizedState.dehydrated!==null){if(Dn&&Kr!==null&&c.mode&1&&!(c.flags&128))Df(),jo(),c.flags|=98560,B=!1;else if(B=bl(c),w!==null&&w.dehydrated!==null){if(a===null){if(!B)throw Error(t(318));if(B=c.memoizedState,B=B!==null?B.dehydrated:null,!B)throw Error(t(317));B[lr]=c}else jo(),!(c.flags&128)&&(c.memoizedState=null),c.flags|=4;oi(c),B=!1}else Wi!==null&&(z1(Wi),Wi=null),B=!0;if(!B)return c.flags&65536?c:null}return c.flags&128?(c.lanes=g,c):(w=w!==null,w!==(a!==null&&a.memoizedState!==null)&&w&&(c.child.flags|=8192,c.mode&1&&(a===null||Ln.current&1?Tr===0&&(Tr=3):V1())),c.updateQueue!==null&&(c.flags|=4),oi(c),null);case 4:return Ho(),P1(a,c),a===null&&Sl(c.stateNode.containerInfo),oi(c),null;case 10:return Dc(c.type._context),oi(c),null;case 17:return Dr(c.type)&&Cc(),oi(c),null;case 19:if(In(Ln),B=c.memoizedState,B===null)return oi(c),null;if(w=(c.flags&128)!==0,j=B.rendering,j===null)if(w)Jf(B,!1);else{if(Tr!==0||a!==null&&a.flags&128)for(a=c.child;a!==null;){if(j=us(a),j!==null){for(c.flags|=128,Jf(B,!1),w=j.updateQueue,w!==null&&(c.updateQueue=w,c.flags|=4),c.subtreeFlags=0,w=g,g=c.child;g!==null;)B=g,a=w,B.flags&=14680066,j=B.alternate,j===null?(B.childLanes=0,B.lanes=a,B.child=null,B.subtreeFlags=0,B.memoizedProps=null,B.memoizedState=null,B.updateQueue=null,B.dependencies=null,B.stateNode=null):(B.childLanes=j.childLanes,B.lanes=j.lanes,B.child=j.child,B.subtreeFlags=0,B.deletions=null,B.memoizedProps=j.memoizedProps,B.memoizedState=j.memoizedState,B.updateQueue=j.updateQueue,B.type=j.type,a=j.dependencies,B.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),g=g.sibling;return bn(Ln,Ln.current&1|2),c.child}a=a.sibling}B.tail!==null&&oe()>$h&&(c.flags|=128,w=!0,Jf(B,!1),c.lanes=4194304)}else{if(!w)if(a=us(j),a!==null){if(c.flags|=128,w=!0,g=a.updateQueue,g!==null&&(c.updateQueue=g,c.flags|=4),Jf(B,!0),B.tail===null&&B.tailMode==="hidden"&&!j.alternate&&!Dn)return oi(c),null}else 2*oe()-B.renderingStartTime>$h&&g!==1073741824&&(c.flags|=128,w=!0,Jf(B,!1),c.lanes=4194304);B.isBackwards?(j.sibling=c.child,c.child=j):(g=B.last,g!==null?g.sibling=j:c.child=j,B.last=j)}return B.tail!==null?(c=B.tail,B.rendering=c,B.tail=c.sibling,B.renderingStartTime=oe(),c.sibling=null,g=Ln.current,bn(Ln,w?g&1|2:g&1),c):(oi(c),null);case 22:case 23:return G1(),w=c.memoizedState!==null,a!==null&&a.memoizedState!==null!==w&&(c.flags|=8192),w&&c.mode&1?fs&1073741824&&(oi(c),c.subtreeFlags&6&&(c.flags|=8192)):oi(c),null;case 24:return null;case 25:return null}throw Error(t(156,c.tag))}function iI(a,c){switch(ro(c),c.tag){case 1:return Dr(c.type)&&Cc(),a=c.flags,a&65536?(c.flags=a&-65537|128,c):null;case 3:return Ho(),In(Jr),In(wr),Os(),a=c.flags,a&65536&&!(a&128)?(c.flags=a&-65537|128,c):null;case 5:return Pl(c),null;case 13:if(In(Ln),a=c.memoizedState,a!==null&&a.dehydrated!==null){if(c.alternate===null)throw Error(t(340));jo()}return a=c.flags,a&65536?(c.flags=a&-65537|128,c):null;case 19:return In(Ln),null;case 4:return Ho(),null;case 10:return Dc(c.type._context),null;case 22:case 23:return G1(),null;case 24:return null;default:return null}}var qm=!1,ai=!1,sI=typeof WeakSet=="function"?WeakSet:Set,vt=null;function Xh(a,c){var g=a.ref;if(g!==null)if(typeof g=="function")try{g(null)}catch(w){sr(a,c,w)}else g.current=null}function R1(a,c,g){try{g()}catch(w){sr(a,c,w)}}var xS=!1;function oI(a,c){if(Al=ki,a=zn(),dr(a)){if("selectionStart"in a)var g={start:a.selectionStart,end:a.selectionEnd};else e:{g=(g=a.ownerDocument)&&g.defaultView||window;var w=g.getSelection&&g.getSelection();if(w&&w.rangeCount!==0){g=w.anchorNode;var C=w.anchorOffset,B=w.focusNode;w=w.focusOffset;try{g.nodeType,B.nodeType}catch{g=null;break e}var j=0,Q=-1,ie=-1,Se=0,je=0,He=a,ke=null;t:for(;;){for(var ft;
vendor: 25,163 bytes, line 40
40He!==g||C!==0&&He.nodeType!==3||(Q=j+C),He!==B||w!==0&&He.nodeType!==3||(ie=j+w),He.nodeType===3&&(j+=He.nodeValue.length),(ft=He.firstChild)!==null;)ke=He,He=ft;for(;;){if(He===a)break t;if(ke===g&&++Se===C&&(Q=j),ke===B&&++je===w&&(ie=j),(ft=He.nextSibling)!==null)break;He=ke,ke=He.parentNode}He=ft}g=Q===-1||ie===-1?null:{start:Q,end:ie}}else g=null}g=g||{start:0,end:0}}else g=null;for(Sf={focusedElem:a,selectionRange:g},ki=!1,vt=c;vt!==null;)if(c=vt,a=c.child,(c.subtreeFlags&1028)!==0&&a!==null)a.return=c,vt=a;else for(;vt!==null;){c=vt;try{var xt=c.alternate;if(c.flags&1024)switch(c.tag){case 0:case 11:case 15:break;case 1:if(xt!==null){var Mt=xt.memoizedProps,cr=xt.memoizedState,ve=c.stateNode,ae=ve.getSnapshotBeforeUpdate(c.elementType===c.type?Mt:Xi(c.type,Mt),cr);ve.__reactInternalSnapshotBeforeUpdate=ae}break;case 3:var _e=c.stateNode.containerInfo;_e.nodeType===1?_e.textContent="":_e.nodeType===9&&_e.documentElement&&_e.removeChild(_e.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(t(163))}}catch(Xe){sr(c,c.return,Xe)}if(a=c.sibling,a!==null){a.return=c.return,vt=a;break}vt=c.return}return xt=xS,xS=!1,xt}function $f(a,c,g){var w=c.updateQueue;if(w=w!==null?w.lastEffect:null,w!==null){var C=w=w.next;do{if((C.tag&a)===a){var B=C.destroy;C.destroy=void 0,B!==void 0&&R1(c,g,B)}C=C.next}while(C!==w)}}function Qm(a,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var g=c=c.next;do{if((g.tag&a)===a){var w=g.create;g.destroy=w()}g=g.next}while(g!==c)}}function B1(a){var c=a.ref;if(c!==null){var g=a.stateNode;switch(a.tag){case 5:a=g;break;default:a=g}typeof c=="function"?c(a):c.current=a}}function MS(a){var c=a.alternate;c!==null&&(a.alternate=null,MS(c)),a.child=null,a.deletions=null,a.sibling=null,a.tag===5&&(c=a.stateNode,c!==null&&(delete c[lr],delete c[El],delete c[_a],delete c[Ih],delete c[Ph])),a.stateNode=null,a.return=null,a.dependencies=null,a.memoizedProps=null,a.memoizedState=null,a.pendingProps=null,a.stateNode=null,a.updateQueue=null}function SS(a){return a.tag===5||a.tag===3||a.tag===4}function wS(a){e:for(;;){for(;a.sibling===null;){if(a.return===null||SS(a.return))return null;a=a.return}for(a.sibling.return=a.return,a=a.sibling;a.tag!==5&&a.tag!==6&&a.tag!==18;){if(a.flags&2||a.child===null||a.tag===4)continue e;a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}function O1(a,c,g){var w=a.tag;if(w===5||w===6)a=a.stateNode,c?g.nodeType===8?g.parentNode.insertBefore(a,c):g.insertBefore(a,c):(g.nodeType===8?(c=g.parentNode,c.insertBefore(a,g)):(c=g,c.appendChild(a)),g=g._reactRootContainer,g!=null||c.onclick!==null||(c.onclick=bc));else if(w!==4&&(a=a.child,a!==null))for(O1(a,c,g),a=a.sibling;a!==null;)O1(a,c,g),a=a.sibling}function D1(a,c,g){var w=a.tag;if(w===5||w===6)a=a.stateNode,c?g.insertBefore(a,c):g.appendChild(a);else if(w!==4&&(a=a.child,a!==null))for(D1(a,c,g),a=a.sibling;a!==null;)D1(a,c,g),a=a.sibling}var qr=null,ho=!1;function Ol(a,c,g){for(g=g.child;g!==null;)AS(a,c,g),g=g.sibling}function AS(a,c,g){if(dt&&typeof dt.onCommitFiberUnmount=="function")try{dt.onCommitFiberUnmount(yt,g)}catch{}switch(g.tag){case 5:ai||Xh(g,c);case 6:var w=qr,C=ho;qr=null,Ol(a,c,g),qr=w,ho=C,qr!==null&&(ho?(a=qr,g=g.stateNode,a.nodeType===8?a.parentNode.removeChild(g):a.removeChild(g)):qr.removeChild(g.stateNode));break;case 18:qr!==null&&(ho?(a=qr,g=g.stateNode,a.nodeType===8?Th(a.parentNode,g):a.nodeType===1&&Th(a,g),pc(a)):Th(qr,g.stateNode));break;case 4:w=qr,C=ho,qr=g.stateNode.containerInfo,ho=!0,Ol(a,c,g),qr=w,ho=C;break;case 0:case 11:case 14:case 15:if(!ai&&(w=g.updateQueue,w!==null&&(w=w.lastEffect,w!==null))){C=w=w.next;do{var B=C,j=B.destroy;B=B.tag,j!==void 0&&(B&2||B&4)&&R1(g,c,j),C=C.next}while(C!==w)}Ol(a,c,g);break;case 1:if(!ai&&(Xh(g,c),w=g.stateNode,typeof w.componentWillUnmount=="function"))try{w.props=g.memoizedProps,w.state=g.memoizedState,w.componentWillUnmount()}catch(Q){sr(g,c,Q)}Ol(a,c,g);break;case 21:Ol(a,c,g);break;case 22:g.mode&1?(ai=(w=ai)||g.memoizedState!==null,Ol(a,c,g),ai=w):Ol(a,c,g);break;default:Ol(a,c,g)}}function ES(a){var c=a.updateQueue;if(c!==null){a.updateQueue=null;var g=a.stateNode;g===null&&(g=a.stateNode=new sI),c.forEach(function(w){var C=mI.bind(null,a,w);g.has(w)||(g.add(w),w.then(C,C))})}}function fo(a,c){var g=c.deletions;if(g!==null)for(var w=0;w<g.length;w++){var C=g[w];try{var B=a,j=c,Q=j;e:for(;Q!==null;){switch(Q.tag){case 5:qr=Q.stateNode,ho=!1;break e;case 3:qr=Q.stateNode.containerInfo,ho=!0;break e;case 4:qr=Q.stateNode.containerInfo,ho=!0;break e}Q=Q.return}if(qr===null)throw Error(t(160));AS(B,j,C),qr=null,ho=!1;var ie=C.alternate;ie!==null&&(ie.return=null),C.return=null}catch(Se){sr(C,c,Se)}}if(c.subtreeFlags&12854)for(c=c.child;c!==null;)bS(c,a),c=c.sibling}function bS(a,c){var g=a.alternate,w=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:if(fo(c,a),Vo(a),w&4){try{$f(3,a,a.return),Qm(3,a)}catch(Mt){sr(a,a.return,Mt)}try{$f(5,a,a.return)}catch(Mt){sr(a,a.return,Mt)}}break;case 1:fo(c,a),Vo(a),w&512&&g!==null&&Xh(g,g.return);break;case 5:if(fo(c,a),Vo(a),w&512&&g!==null&&Xh(g,g.return),a.flags&32){var C=a.stateNode;try{Ht(C,"")}catch(Mt){sr(a,a.return,Mt)}}if(w&4&&(C=a.stateNode,C!=null)){var B=a.memoizedProps,j=g!==null?g.memoizedProps:B,Q=a.type,ie=a.updateQueue;if(a.updateQueue=null,ie!==null)try{Q==="input"&&B.type==="radio"&&B.name!=null&&Fe(C,B),kt(Q,j);var Se=kt(Q,B);for(j=0;j<ie.length;j+=2){var je=ie[j],He=ie[j+1];je==="style"?Rt(C,He):je==="dangerouslySetInnerHTML"?Qe(C,He):je==="children"?Ht(C,He):I(C,je,He,Se)}switch(Q){case"input":st(C,B);break;case"textarea":ye(C,B);break;case"select":var ke=C._wrapperState.wasMultiple;C._wrapperState.wasMultiple=!!B.multiple;var ft=B.value;ft!=null?J(C,!!B.multiple,ft,!1):ke!==!!B.multiple&&(B.defaultValue!=null?J(C,!!B.multiple,B.defaultValue,!0):J(C,!!B.multiple,B.multiple?[]:"",!1))}C[El]=B}catch(Mt){sr(a,a.return,Mt)}}break;case 6:if(fo(c,a),Vo(a),w&4){if(a.stateNode===null)throw Error(t(162));C=a.stateNode,B=a.memoizedProps;try{C.nodeValue=B}catch(Mt){sr(a,a.return,Mt)}}break;case 3:if(fo(c,a),Vo(a),w&4&&g!==null&&g.memoizedState.isDehydrated)try{pc(c.containerInfo)}catch(Mt){sr(a,a.return,Mt)}break;case 4:fo(c,a),Vo(a);break;case 13:fo(c,a),Vo(a),C=a.child,C.flags&8192&&(B=C.memoizedState!==null,C.stateNode.isHidden=B,!B||C.alternate!==null&&C.alternate.memoizedState!==null||(F1=oe())),w&4&&ES(a);break;case 22:if(je=g!==null&&g.memoizedState!==null,a.mode&1?(ai=(Se=ai)||je,fo(c,a),ai=Se):fo(c,a),Vo(a),w&8192){if(Se=a.memoizedState!==null,(a.stateNode.isHidden=Se)&&!je&&a.mode&1)for(vt=a,je=a.child;je!==null;){for(He=vt=je;vt!==null;){switch(ke=vt,ft=ke.child,ke.tag){case 0:case 11:case 14:case 15:$f(4,ke,ke.return);break;case 1:Xh(ke,ke.return);var xt=ke.stateNode;if(typeof xt.componentWillUnmount=="function"){w=ke,g=ke.return;try{c=w,xt.props=c.memoizedProps,xt.state=c.memoizedState,xt.componentWillUnmount()}catch(Mt){sr(w,g,Mt)}}break;case 5:Xh(ke,ke.return);break;case 22:if(ke.memoizedState!==null){IS(He);continue}}ft!==null?(ft.return=ke,vt=ft):IS(He)}je=je.sibling}e:for(je=null,He=a;;){if(He.tag===5){if(je===null){je=He;try{C=He.stateNode,Se?(B=C.style,typeof B.setProperty=="function"?B.setProperty("display","none","important"):B.display="none"):(Q=He.stateNode,ie=He.memoizedProps.style,j=ie!=null&&ie.hasOwnProperty("display")?ie.display:null,Q.style.display=Ct("display",j))}catch(Mt){sr(a,a.return,Mt)}}}else if(He.tag===6){if(je===null)try{He.stateNode.nodeValue=Se?"":He.memoizedProps}catch(Mt){sr(a,a.return,Mt)}}else if((He.tag!==22&&He.tag!==23||He.memoizedState===null||He===a)&&He.child!==null){He.child.return=He,He=He.child;continue}if(He===a)break e;for(;He.sibling===null;){if(He.return===null||He.return===a)break e;je===He&&(je=null),He=He.return}je===He&&(je=null),He.sibling.return=He.return,He=He.sibling}}break;case 19:fo(c,a),Vo(a),w&4&&ES(a);break;case 21:break;default:fo(c,a),Vo(a)}}function Vo(a){var c=a.flags;if(c&2){try{e:{for(var g=a.return;g!==null;){if(SS(g)){var w=g;break e}g=g.return}throw Error(t(160))}switch(w.tag){case 5:var C=w.stateNode;w.flags&32&&(Ht(C,""),w.flags&=-33);var B=wS(a);D1(a,B,C);break;case 3:case 4:var j=w.stateNode.containerInfo,Q=wS(a);O1(a,Q,j);break;default:throw Error(t(161))}}catch(ie){sr(a,a.return,ie)}a.flags&=-3}c&4096&&(a.flags&=-4097)}function aI(a,c,g){vt=a,CS(a)}function CS(a,c,g){for(var w=(a.mode&1)!==0;vt!==null;){var C=vt,B=C.child;if(C.tag===22&&w){var j=C.memoizedState!==null||qm;if(!j){var Q=C.alternate,ie=Q!==null&&Q.memoizedState!==null||ai;Q=qm;var Se=ai;if(qm=j,(ai=ie)&&!Se)for(vt=C;vt!==null;)j=vt,ie=j.child,j.tag===22&&j.memoizedState!==null?PS(C):ie!==null?(ie.return=j,vt=ie):PS(C);for(;B!==null;)vt=B,CS(B),B=B.sibling;vt=C,qm=Q,ai=Se}TS(a)}else C.subtreeFlags&8772&&B!==null?(B.return=C,vt=B):TS(a)}}function TS(a){for(;vt!==null;){var c=vt;if(c.flags&8772){var g=c.alternate;try{if(c.flags&8772)switch(c.tag){case 0:case 11:case 15:ai||Qm(5,c);break;case 1:var w=c.stateNode;if(c.flags&4&&!ai)if(g===null)w.componentDidMount();else{var C=c.elementType===c.type?g.memoizedProps:Xi(c.type,g.memoizedProps);w.componentDidUpdate(C,g.memoizedState,w.__reactInternalSnapshotBeforeUpdate)}var B=c.updateQueue;B!==null&&Il(c,B,w);break;case 3:var j=c.updateQueue;if(j!==null){if(g=null,c.child!==null)switch(c.child.tag){case 5:g=c.child.stateNode;break;case 1:g=c.child.stateNode}Il(c,j,g)}break;case 5:var Q=c.stateNode;if(g===null&&c.flags&4){g=Q;var ie=c.memoizedProps;switch(c.type){case"button":case"input":case"select":case"textarea":ie.autoFocus&&g.focus();break;case"img":ie.src&&(g.src=ie.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(c.memoizedState===null){var Se=c.alternate;if(Se!==null){var je=Se.memoizedState;if(je!==null){var He=je.dehydrated;He!==null&&pc(He)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(t(163))}ai||c.flags&512&&B1(c)}catch(ke){sr(c,c.return,ke)}}if(c===a){vt=null;break}if(g=c.sibling,g!==null){g.return=c.return,vt=g;break}vt=c.return}}function IS(a){for(;vt!==null;){var c=vt;if(c===a){vt=null;break}var g=c.sibling;if(g!==null){g.return=c.return,vt=g;break}vt=c.return}}function PS(a){for(;vt!==null;){var c=vt;try{switch(c.tag){case 0:case 11:case 15:var g=c.return;try{Qm(4,c)}catch(ie){sr(c,g,ie)}break;case 1:var w=c.stateNode;if(typeof w.componentDidMount=="function"){var C=c.return;try{w.componentDidMount()}catch(ie){sr(c,C,ie)}}var B=c.return;try{B1(c)}catch(ie){sr(c,B,ie)}break;case 5:var j=c.return;try{B1(c)}catch(ie){sr(c,j,ie)}}}catch(ie){sr(c,c.return,ie)}if(c===a){vt=null;break}var Q=c.sibling;if(Q!==null){Q.return=c.return,vt=Q;break}vt=c.return}}var lI=Math.ceil,Zm=P.ReactCurrentDispatcher,L1=P.ReactCurrentOwner,Ls=P.ReactCurrentBatchConfig,_n=0,Fr=null,yr=null,Qr=0,fs=0,Jh=Vn(0),Tr=0,Kf=null,Wc=0,e0=0,N1=0,Yf=null,Ji=null,F1=0,$h=1/0,La=null,t0=!1,k1=null,Dl=null,n0=!1,Ll=null,r0=0,qf=0,U1=null,i0=-1,s0=0;function Ci(){return _n&6?oe():i0!==-1?i0:i0=oe()}function Nl(a){return a.mode&1?_n&2&&Qr!==0?Qr&-Qr:C1.transition!==null?(s0===0&&(s0=On()),s0):(a=en,a!==0||(a=window.event,a=a===void 0?16:Am(a.type)),a):1}function po(a,c,g,w){if(50<qf)throw qf=0,U1=null,Error(t(185));Jn(a,g,w),(!(_n&2)||a!==Fr)&&(a===Fr&&(!(_n&2)&&(e0|=g),Tr===4&&Fl(a,Qr)),$i(a,w),g===1&&_n===0&&!(c.mode&1)&&($h=oe()+500,Ic&&Rs()))}function $i(a,c){var g=a.callbackNode;Es(a,c);var w=Fi(a,a===Fr?Qr:0);if(w===0)g!==null&&de(g),a.callbackNode=null,a.callbackPriority=0;else if(c=w&-w,a.callbackPriority!==c){if(g!=null&&de(g),c===1)a.tag===0?km(BS.bind(null,a)):Pc(BS.bind(null,a)),b1(function(){!(_n&6)&&Rs()}),g=null;else{switch(cl(w)){case 1:g=Ye;break;case 4:g=ct;break;case 16:g=mt;break;case 536870912:g=Bt;break;default:g=mt}g=jS(g,RS.bind(null,a))}a.callbackPriority=c,a.callbackNode=g}}function RS(a,c){if(i0=-1,s0=0,_n&6)throw Error(t(327));var g=a.callbackNode;if(Kh()&&a.callbackNode!==g)return null;var w=Fi(a,a===Fr?Qr:0);if(w===0)return null;if(w&30||w&a.expiredLanes||c)c=o0(a,w);else{c=w;var C=_n;_n|=2;var B=DS();(Fr!==a||Qr!==c)&&(La=null,$h=oe()+500,Jc(a,c));do try{hI();break}catch(Q){OS(a,Q)}while(!0);Ca(),Zm.current=B,_n=C,yr!==null?c=0:(Fr=null,Qr=0,c=Tr)}if(c!==0){if(c===2&&(C=Sn(a),C!==0&&(w=C,c=j1(a,C))),c===1)throw g=Kf,Jc(a,0),Fl(a,w),$i(a,oe()),g;if(c===6)Fl(a,w);else{if(C=a.current.alternate,!(w&30)&&!cI(C)&&(c=o0(a,w),c===2&&(B=Sn(a),B!==0&&(w=B,c=j1(a,B))),c===1))throw g=Kf,Jc(a,0),Fl(a,w),$i(a,oe()),g;switch(a.finishedWork=C,a.finishedLanes=w,c){case 0:case 1:throw Error(t(345));case 2:$c(a,Ji,La);break;case 3:if(Fl(a,w),(w&130023424)===w&&(c=F1+500-oe(),10<c)){if(Fi(a,0)!==0)break;if(C=a.suspendedLanes,(C&w)!==w){Ci(),a.pingedLanes|=a.suspendedLanes&C;break}a.timeoutHandle=Af($c.bind(null,a,Ji,La),c);break}$c(a,Ji,La);break;case 4:if(Fl(a,w),(w&4194240)===w)break;for(c=a.eventTimes,C=-1;0<w;){var j=31-rn(w);B=1<<j,j=c[j],j>C&&(C=j),w&=~B}if(w=C,w=oe()-w,w=(120>w?120:480>w?480:1080>w?1080:1920>w?1920:3e3>w?3e3:4320>w?4320:1960*lI(w/1960))-w,10<w){a.timeoutHandle=Af($c.bind(null,a,Ji,La),w);break}$c(a,Ji,La);break;case 5:$c(a,Ji,La);break;default:throw Error(t(329))}}}return $i(a,oe()),a.callbackNode===g?RS.bind(null,a):null}function j1(a,c){var g=Yf;return a.current.memoizedState.isDehydrated&&(Jc(a,c).flags|=256),a=o0(a,c),a!==2&&(c=Ji,Ji=g,c!==null&&z1(c)),a}function z1(a){Ji===null?Ji=a:Ji.push.apply(Ji,a)}function cI(a){for(var c=a;;){if(c.flags&16384){var g=c.updateQueue;if(g!==null&&(g=g.stores,g!==null))for(var w=0;w<g.length;w++){var C=g[w],B=C.getSnapshot;C=C.value;try{if(!_i(B(),C))return!1}catch{return!1}}}if(g=c.child,c.subtreeFlags&16384&&g!==null)g.return=c,c=g;else{if(c===a)break;for(;c.sibling===null;){if(c.return===null||c.return===a)return!0;c=c.return}c.sibling.return=c.return,c=c.sibling}}return!0}function Fl(a,c){for(c&=~N1,c&=~e0,a.suspendedLanes|=c,a.pingedLanes&=~c,a=a.expirationTimes;0<c;){var g=31-rn(c),w=1<<g;a[g]=-1,c&=~w}}function BS(a){if(_n&6)throw Error(t(327));Kh();var c=Fi(a,0);if(!(c&1))return $i(a,oe()),null;var g=o0(a,c);if(a.tag!==0&&g===2){var w=Sn(a);w!==0&&(c=w,g=j1(a,w))}if(g===1)throw g=Kf,Jc(a,0),Fl(a,c),$i(a,oe()),g;if(g===6)throw Error(t(345));return a.finishedWork=a.current.alternate,a.finishedLanes=c,$c(a,Ji,La),$i(a,oe()),null}function H1(a,c){var g=_n;_n|=1;try{return a(c)}finally{_n=g,_n===0&&($h=oe()+500,Ic&&Rs())}}function Xc(a){Ll!==null&&Ll.tag===0&&!(_n&6)&&Kh();var c=_n;_n|=1;var g=Ls.transition,w=en;try{if(Ls.transition=null,en=1,a)return a()}finally{en=w,Ls.transition=g,_n=c,!(_n&6)&&Rs()}}function G1(){fs=Jh.current,In(Jh)}function Jc(a,c){a.finishedWork=null,a.finishedLanes=0;var g=a.timeoutHandle;if(g!==-1&&(a.timeoutHandle=-1,Ef(g)),yr!==null)for(g=yr.return;g!==null;){var w=g;switch(ro(w),w.tag){case 1:w=w.type.childContextTypes,w!=null&&Cc();break;case 3:Ho(),In(Jr),In(wr),Os();break;case 5:Pl(w);break;case 4:Ho();break;case 13:In(Ln);break;case 19:In(Ln);break;case 10:Dc(w.type._context);break;case 22:case 23:G1()}g=g.return}if(Fr=a,yr=a=kl(a.current,null),Qr=fs=c,Tr=0,Kf=null,N1=e0=Wc=0,Ji=Yf=null,so!==null){for(c=0;c<so.length;c++)if(g=so[c],w=g.interleaved,w!==null){g.interleaved=null;var C=w.next,B=g.pending;if(B!==null){var j=B.next;B.next=C,w.next=j}g.pending=w}so=null}return a}function OS(a,c){do{var g=yr;try{if(Ca(),Ra.current=Vh,hs){for(var w=Pn.memoizedState;w!==null;){var C=w.queue;C!==null&&(C.pending=null),w=w.next}hs=!1}if(ao=0,mn=Xn=Pn=null,Nr=!1,Go=0,L1.current=null,g===null||g.return===null){Tr=1,Kf=c,yr=null;break}e:{var B=a,j=g.return,Q=g,ie=c;if(c=Qr,Q.flags|=32768,ie!==null&&typeof ie=="object"&&typeof ie.then=="function"){var Se=ie,je=Q,He=je.tag;if(!(je.mode&1)&&(He===0||He===11||He===15)){var ke=je.alternate;ke?(je.updateQueue=ke.updateQueue,je.memoizedState=ke.memoizedState,je.lanes=ke.lanes):(je.updateQueue=null,je.memoizedState=null)}var ft=gt(j);if(ft!==null){ft.flags&=-257,Wt(ft,j,Q,B,c),ft.mode&1&&We(B,Se,c),c=ft,ie=Se;var xt=c.updateQueue;if(xt===null){var Mt=new Set;Mt.add(ie),c.updateQueue=Mt}else xt.add(ie);break e}else{if(!(c&1)){We(B,Se,c),V1();break e}ie=Error(t(426))}}else if(Dn&&Q.mode&1){var cr=gt(j);if(cr!==null){!(cr.flags&65536)&&(cr.flags|=256),Wt(cr,j,Q,B,c),Cl(b(ie,Q));break e}}B=ie=b(ie,Q),Tr!==4&&(Tr=2),Yf===null?Yf=[B]:Yf.push(B),B=j;do{switch(B.tag){case 3:B.flags|=65536,c&=-c,B.lanes|=c;var ve=le(B,ie,c);Ta(B,ve);break e;case 1:Q=ie;var ae=B.type,_e=B.stateNode;if(!(B.flags&128)&&(typeof ae.getDerivedStateFromError=="function"||_e!==null&&typeof _e.componentDidCatch=="function"&&(Dl===null||!Dl.has(_e)))){B.flags|=65536,c&=-c,B.lanes|=c;var Xe=Te(B,Q,c);Ta(B,Xe);break e}}B=B.return}while(B!==null)}NS(g)}catch(bt){c=bt,yr===g&&g!==null&&(yr=g=g.return);continue}break}while(!0)}function DS(){var a=Zm.current;return Zm.current=Vh,a===null?Vh:a}function V1(){(Tr===0||Tr===3||Tr===2)&&(Tr=4),Fr===null||!(Wc&268435455)&&!(e0&268435455)||Fl(Fr,Qr)}function o0(a,c){var g=_n;_n|=2;var w=DS();(Fr!==a||Qr!==c)&&(La=null,Jc(a,c));do try{uI();break}catch(C){OS(a,C)}while(!0);if(Ca(),_n=g,Zm.current=w,yr!==null)throw Error(t(261));return Fr=null,Qr=0,Tr}function uI(){for(;yr!==null;)LS(yr)}function hI(){for(;yr!==null&&!Me();)LS(yr)}function LS(a){var c=US(a.alternate,a,fs);a.memoizedProps=a.pendingProps,c===null?NS(a):yr=c,L1.current=null}function NS(a){var c=a;do{var g=c.alternate;if(a=c.return,c.flags&32768){if(g=iI(g,c),g!==null){g.flags&=32767,yr=g;return}if(a!==null)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{Tr=6,yr=null;return}}else if(g=rI(g,c,fs),g!==null){yr=g;return}if(c=c.sibling,c!==null){yr=c;return}yr=c=a}while(c!==null);Tr===0&&(Tr=5)}function $c(a,c,g){var w=en,C=Ls.transition;try{Ls.transition=null,en=1,dI(a,c,g,w)}finally{Ls.transition=C,en=w}return null}function dI(a,c,g,w){do Kh();while(Ll!==null);if(_n&6)throw Error(t(327));g=a.finishedWork;var C=a.finishedLanes;if(g===null)return null;if(a.finishedWork=null,a.finishedLanes=0,g===a.current)throw Error(t(177));a.callbackNode=null,a.callbackPriority=0;var B=g.lanes|g.childLanes;if(Or(a,B),a===Fr&&(yr=Fr=null,Qr=0),!(g.subtreeFlags&2064)&&!(g.flags&2064)||n0||(n0=!0,jS(mt,function(){return Kh(),null})),B=(g.flags&15990)!==0,g.subtreeFlags&15990||B){B=Ls.transition,Ls.transition=null;var j=en;en=1;var Q=_n;_n|=4,L1.current=null,oI(a,g),bS(g,a),fr(Sf),ki=!!Al,Sf=Al=null,a.current=g,aI(g),we(),_n=Q,en=j,Ls.transition=B}else a.current=g;if(n0&&(n0=!1,Ll=a,r0=C),B=a.pendingLanes,B===0&&(Dl=null),Tt(g.stateNode),$i(a,oe()),c!==null)for(w=a.onRecoverableError,g=0;g<c.length;g++)C=c[g],w(C.value,{componentStack:C.stack,digest:C.digest});if(t0)throw t0=!1,a=k1,k1=null,a;return r0&1&&a.tag!==0&&Kh(),B=a.pendingLanes,B&1?a===U1?qf++:(qf=0,U1=a):qf=0,Rs(),null}function Kh(){if(Ll!==null){var a=cl(r0),c=Ls.transition,g=en;try{if(Ls.transition=null,en=16>a?16:a,Ll===null)var w=!1;else{if(a=Ll,Ll=null,r0=0,_n&6)throw Error(t(331));var C=_n;for(_n|=4,vt=a.current;vt!==null;){var B=vt,j=B.child;if(vt.flags&16){var Q=B.deletions;if(Q!==null){for(var ie=0;ie<Q.length;ie++){var Se=Q[ie];for(vt=Se;vt!==null;){var je=vt;switch(je.tag){case 0:case 11:case 15:$f(8,je,B)}var He=je.child;if(He!==null)He.return=je,vt=He;else for(;vt!==null;){je=vt;var ke=je.sibling,ft=je.return;if(MS(je),je===Se){vt=null;break}if(ke!==null){ke.return=ft,vt=ke;break}vt=ft}}}var xt=B.alternate;if(xt!==null){var Mt=xt.child;if(Mt!==null){xt.child=null;do{var cr=Mt.sibling;Mt.sibling=null,Mt=cr}while(Mt!==null)}}vt=B}}if(B.subtreeFlags&2064&&j!==null)j.return=B,vt=j;else e:for(;vt!==null;){if(B=vt,B.flags&2048)switch(B.tag){case 0:case 11:case 15:$f(9,B,B.return)}var ve=B.sibling;if(ve!==null){ve.return=B.return,vt=ve;break e}vt=B.return}}var ae=a.current;for(vt=ae;vt!==null;){j=vt;var _e=j.child;if(j.subtreeFlags&2064&&_e!==null)_e.return=j,vt=_e;else e:for(j=ae;vt!==null;){if(Q=vt,Q.flags&2048)try{switch(Q.tag){case 0:case 11:case 15:Qm(9,Q)}}catch(bt){sr(Q,Q.return,bt)}if(Q===j){vt=null;break e}var Xe=Q.sibling;if(Xe!==null){Xe.return=Q.return,vt=Xe;break e}vt=Q.return}}if(_n=C,Rs(),dt&&typeof dt.onPostCommitFiberRoot=="function")try{dt.onPostCommitFiberRoot(yt,a)}catch{}w=!0}return w}finally{en=g,Ls.transition=c}}return!1}function FS(a,c,g){c=b(g,c),c=le(a,c,1),a=Fn(a,c,1),c=Ci(),a!==null&&(Jn(a,1,c),$i(a,c))}function sr(a,c,g){if(a.tag===3)FS(a,a,g);else for(;c!==null;){if(c.tag===3){FS(c,a,g);break}else if(c.tag===1){var w=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof w.componentDidCatch=="function"&&(Dl===null||!Dl.has(w))){a=b(g,a),a=Te(c,a,1),c=Fn(c,a,1),a=Ci(),c!==null&&(Jn(c,1,a),$i(c,a));break}}c=c.return}}function fI(a,c,g){var w=a.pingCache;w!==null&&w.delete(c),c=Ci(),a.pingedLanes|=a.suspendedLanes&g,Fr===a&&(Qr&g)===g&&(Tr===4||Tr===3&&(Qr&130023424)===Qr&&500>oe()-F1?Jc(a,0):N1|=g),$i(a,c)}function kS(a,c){c===0&&(a.mode&1?(c=jt,jt<<=1,!(jt&130023424)&&(jt=4194304)):c=1);var g=Ci();a=cs(a,c),a!==null&&(Jn(a,c,g),$i(a,g))}function pI(a){var c=a.memoizedState,g=0;c!==null&&(g=c.retryLane),kS(a,g)}function mI(a,c){var g=0;switch(a.tag){case 13:var w=a.stateNode,C=a.memoizedState;C!==null&&(g=C.retryLane);break;case 19:w=a.stateNode;break;default:throw Error(t(314))}w!==null&&w.delete(c),kS(a,g)}var US;US=function(a,c,g){if(a!==null)if(a.memoizedProps!==c.pendingProps||Jr.current)tn=!0;else{if(!(a.lanes&g)&&!(c.flags&128))return tn=!1,nI(a,c,g);tn=!!(a.flags&131072)}else tn=!1,Dn&&c.flags&1048576&&Pf(c,Dh,c.index);switch(c.lanes=0,c.tag){case 2:var w=c.type;Ym(a,c),a=c.pendingProps;var C=xa(c,wr.current);zo(c,g),C=Uc(null,c,w,a,C,g);var B=kf();return c.flags|=1,typeof C=="object"&&C!==null&&typeof C.render=="function"&&C.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,Dr(w)?(B=!0,Ma(c)):B=!1,c.memoizedState=C.state!==null&&C.state!==void 0?C.state:null,qt(c),C.updater=Wh,c.stateNode=C,C._reactInternals=c,x(c,w,a,g),c=Kt(null,c,w,!0,B,g)):(c.tag=0,Dn&&B&&Rf(c),at(null,c,C,g),c=c.child),c;case 16:w=c.elementType;e:{switch(Ym(a,c),a=c.pendingProps,C=w._init,w=C(w._payload),c.type=w,C=c.tag=yI(w),a=Xi(w,a),C){case 0:c=rt(null,c,w,a,g);break e;case 1:c=At(null,c,w,a,g);break e;case 11:c=Cr(null,c,w,a,g);break e;case 14:c=bi(null,c,w,Xi(w.type,a),g);break e}throw Error(t(306,w,""))}return c;case 0:return w=c.type,C=c.pendingProps,C=c.elementType===w?C:Xi(w,C),rt(a,c,w,C,g);case 1:return w=c.type,C=c.pendingProps,C=c.elementType===w?C:Xi(w,C),At(a,c,w,C,g);case 3:e:{if(Xt(c),a===null)throw Error(t(387));w=c.pendingProps,B=c.memoizedState,C=B.element,Kn(a,c),Wn(c,w,null,g);var j=c.memoizedState;if(w=j.element,B.isDehydrated)if(B={element:w,isDehydrated:!1,cache:j.cache,pendingSuspenseBoundaries:j.pendingSuspenseBoundaries,transitions:j.transitions},c.updateQueue.baseState=B,c.memoizedState=B,c.flags&256){C=b(Error(t(423)),c),c=dn(a,c,w,g,C);break e}else if(w!==C){C=b(Error(t(424)),c),c=dn(a,c,w,g,C);break e}else for(Kr=Qs(c.stateNode.containerInfo.firstChild),Ar=c,Dn=!0,Wi=null,g=Oc(c,null,w,g),c.child=g;g;)g.flags=g.flags&-3|4096,g=g.sibling;else{if(jo(),w===C){c=Da(a,c,g);break e}at(a,c,w,g)}c=c.child}return c;case 5:return Pa(c),a===null&&Nh(c),w=c.type,C=c.pendingProps,B=a!==null?a.memoizedProps:null,j=C.children,wf(w,C)?j=null:B!==null&&wf(w,B)&&(c.flags|=32),Ee(a,c),at(a,c,j,g),c.child;case 6:return a===null&&Nh(c),null;case 13:return uo(a,c,g);case 4:return Fc(c,c.stateNode.containerInfo),w=c.pendingProps,a===null?c.child=Aa(c,null,w,g):at(a,c,w,g),c.child;case 11:return w=c.type,C=c.pendingProps,C=c.elementType===w?C:Xi(w,C),Cr(a,c,w,C,g);case 7:return at(a,c,c.pendingProps,g),c.child;case 8:return at(a,c,c.pendingProps.children,g),c.child;case 12:return at(a,c,c.pendingProps.children,g),c.child;case 10:e:{if(w=c.type._context,C=c.pendingProps,B=c.memoizedProps,j=C.value,bn(Ea,w._currentValue),w._currentValue=j,B!==null)if(_i(B.value,j)){if(B.children===C.children&&!Jr.current){c=Da(a,c,g);break e}}else for(B=c.child,B!==null&&(B.return=c);B!==null;){var Q=B.dependencies;if(Q!==null){j=B.child;for(var ie=Q.firstContext;ie!==null;){if(ie.context===w){if(B.tag===1){ie=An(-1,g&-g),ie.tag=2;var Se=B.updateQueue;if(Se!==null){Se=Se.shared;var je=Se.pending;je===null?ie.next=ie:(ie.next=je.next,je.next=ie),Se.pending=ie}}B.lanes|=g,ie=B.alternate,ie!==null&&(ie.lanes|=g),Lc(B.return,g,c),Q.lanes|=g;break}ie=ie.next}}else if(B.tag===10)j=B.type===c.type?null:B.child;else if(B.tag===18){if(j=B.return,j===null)throw Error(t(341));j.lanes|=g,Q=j.alternate,Q!==null&&(Q.lanes|=g),Lc(j,g,c),j=B.sibling}else j=B.child;if(j!==null)j.return=B;else for(j=B;j!==null;){if(j===c){j=null;break}if(B=j.sibling,B!==null){B.return=j.return,j=B;break}j=j.return}B=j}at(a,c,C.children,g),c=c.child}return c;case 9:return C=c.type,w=c.pendingProps.children,zo(c,g),C=Si(C),w=w(C),c.flags|=1,at(a,c,w,g),c.child;case 14:return w=c.type,C=Xi(w,c.pendingProps),C=Xi(w.type,C),bi(a,c,w,C,g);case 15:return xe(a,c,c.type,c.pendingProps,g);case 17:return w=c.type,C=c.pendingProps,C=c.elementType===w?C:Xi(w,C),Ym(a,c),c.tag=1,Dr(w)?(a=!0,Ma(c)):a=!1,zo(c,g),h(c,w,C),x(c,w,C,g),Kt(null,c,w,!0,a,g);case 19:return gS(a,c,g);case 22:return fe(a,c,g)}throw Error(t(156,c.tag))};function jS(a,c){return W(a,c)}
vendor: 4,735 bytes, line 40
40function gI(a,c,g,w){this.tag=a,this.key=g,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=w,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ns(a,c,g,w){return new gI(a,c,g,w)}function W1(a){return a=a.prototype,!(!a||!a.isReactComponent)}function yI(a){if(typeof a=="function")return W1(a)?1:0;if(a!=null){if(a=a.$$typeof,a===te)return 11;if(a===me)return 14}return 2}function kl(a,c){var g=a.alternate;return g===null?(g=Ns(a.tag,c,a.key,a.mode),g.elementType=a.elementType,g.type=a.type,g.stateNode=a.stateNode,g.alternate=a,a.alternate=g):(g.pendingProps=c,g.type=a.type,g.flags=0,g.subtreeFlags=0,g.deletions=null),g.flags=a.flags&14680064,g.childLanes=a.childLanes,g.lanes=a.lanes,g.child=a.child,g.memoizedProps=a.memoizedProps,g.memoizedState=a.memoizedState,g.updateQueue=a.updateQueue,c=a.dependencies,g.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},g.sibling=a.sibling,g.index=a.index,g.ref=a.ref,g}function a0(a,c,g,w,C,B){var j=2;if(w=a,typeof a=="function")W1(a)&&(j=1);else if(typeof a=="string")j=5;else e:switch(a){case N:return Kc(g.children,C,B,c);case H:j=8,C|=8;break;case F:return a=Ns(12,g,c,C|2),a.elementType=F,a.lanes=B,a;case ne:return a=Ns(13,g,c,C),a.elementType=ne,a.lanes=B,a;case ce:return a=Ns(19,g,c,C),a.elementType=ce,a.lanes=B,a;case ge:return l0(g,C,B,c);default:if(typeof a=="object"&&a!==null)switch(a.$$typeof){case L:j=10;break e;case V:j=9;break e;case te:j=11;break e;case me:j=14;break e;case he:j=16,w=null;break e}throw Error(t(130,a==null?a:typeof a,""))}return c=Ns(j,g,c,C),c.elementType=a,c.type=w,c.lanes=B,c}function Kc(a,c,g,w){return a=Ns(7,a,w,c),a.lanes=g,a}function l0(a,c,g,w){return a=Ns(22,a,w,c),a.elementType=ge,a.lanes=g,a.stateNode={isHidden:!1},a}function X1(a,c,g){return a=Ns(6,a,null,c),a.lanes=g,a}function J1(a,c,g){return c=Ns(4,a.children!==null?a.children:[],a.key,c),c.lanes=g,c.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation},c}function vI(a,c,g,w,C){this.tag=c,this.containerInfo=a,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Br(0),this.expirationTimes=Br(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Br(0),this.identifierPrefix=w,this.onRecoverableError=C,this.mutableSourceEagerHydrationData=null}function $1(a,c,g,w,C,B,j,Q,ie){return a=new vI(a,c,g,Q,ie),c===1?(c=1,B===!0&&(c|=8)):c=0,B=Ns(3,null,null,c),a.current=B,B.stateNode=a,B.memoizedState={element:w,isDehydrated:g,cache:null,transitions:null,pendingSuspenseBoundaries:null},qt(B),a}function _I(a,c,g){var w=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:O,key:w==null?null:""+w,children:a,containerInfo:c,implementation:g}}function zS(a){if(!a)return eo;a=a._reactInternals;e:{if(As(a)!==a||a.tag!==1)throw Error(t(170));var c=a;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(Dr(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(t(171))}if(a.tag===1){var g=a.type;if(Dr(g))return Tc(a,g,c)}return c}function HS(a,c,g,w,C,B,j,Q,ie){return a=$1(g,w,!0,a,C,B,j,Q,ie),a.context=zS(null),g=a.current,w=Ci(),C=Nl(g),B=An(w,C),B.callback=c??null,Fn(g,B,C),a.current.lanes=C,Jn(a,C,w),$i(a,w),a}function c0(a,c,g,w){var C=c.current,B=Ci(),j=Nl(C);return g=zS(g),c.context===null?c.context=g:c.pendingContext=g,c=An(B,j),c.payload={element:a},w=w===void 0?null:w,w!==null&&(c.callback=w),a=Fn(C,c,j),a!==null&&(po(a,C,j,B),Lr(a,C,j)),j}function u0(a){if(a=a.current,!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function GS(a,c){if(a=a.memoizedState,a!==null&&a.dehydrated!==null){var g=a.retryLane;a.retryLane=g!==0&&g<c?g:c}}function K1(a,c){GS(a,c),(a=a.alternate)&&GS(a,c)}function xI(){return null}var VS=typeof reportError=="function"?reportError:function(a){console.error(a)};function Y1(a){this._internalRoot=a}h0.prototype.render=Y1.prototype.render=function(a){var c=this._internalRoot;if(c===null)throw Error(t(409));c0(a,c,null,null)},h0.prototype.unmount=Y1.prototype.unmount=function(){var a=this._internalRoot;if(a!==null){this._internalRoot=null;var c=a.containerInfo;Xc(function(){c0(null,a,null,null)}),c[Mi]=null}};function h0(a){this._internalRoot=a}
vendor: 4,627 bytes, line 40
40h0.prototype.unstable_scheduleHydration=function(a){if(a){var c=Zu();a={blockedOn:null,target:a,priority:c};for(var g=0;g<Bo.length&&c!==0&&c<Bo[g].priority;g++);Bo.splice(g,0,a),g===0&&nh(a)}};function q1(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11)}function d0(a){return!(!a||a.nodeType!==1&&a.nodeType!==9&&a.nodeType!==11&&(a.nodeType!==8||a.nodeValue!==" react-mount-point-unstable "))}function WS(){}function MI(a,c,g,w,C){if(C){if(typeof w=="function"){var B=w;w=function(){var Se=u0(j);B.call(Se)}}var j=HS(c,w,a,0,null,!1,!1,"",WS);return a._reactRootContainer=j,a[Mi]=j.current,Sl(a.nodeType===8?a.parentNode:a),Xc(),j}for(;C=a.lastChild;)a.removeChild(C);if(typeof w=="function"){var Q=w;w=function(){var Se=u0(ie);Q.call(Se)}}var ie=$1(a,0,!1,null,null,!1,!1,"",WS);return a._reactRootContainer=ie,a[Mi]=ie.current,Sl(a.nodeType===8?a.parentNode:a),Xc(function(){c0(c,ie,g,w)}),ie}function f0(a,c,g,w,C){var B=g._reactRootContainer;if(B){var j=B;if(typeof C=="function"){var Q=C;C=function(){var ie=u0(j);Q.call(ie)}}c0(c,j,a,C)}else j=MI(g,c,a,C,w);return u0(j)}hc=function(a){switch(a.tag){case 3:var c=a.stateNode;if(c.current.memoizedState.isDehydrated){var g=nr(c.pendingLanes);g!==0&&(bs(c,g|1),$i(c,oe()),!(_n&6)&&($h=oe()+500,Rs()))}break;case 13:Xc(function(){var w=cs(a,1);if(w!==null){var C=Ci();po(w,a,1,C)}}),K1(a,1)}},sf=function(a){if(a.tag===13){var c=cs(a,134217728);if(c!==null){var g=Ci();po(c,a,134217728,g)}K1(a,134217728)}},wm=function(a){if(a.tag===13){var c=Nl(a),g=cs(a,c);if(g!==null){var w=Ci();po(g,a,c,w)}K1(a,c)}},Zu=function(){return en},eh=function(a,c){var g=en;try{return en=a,c()}finally{en=g}},Ze=function(a,c,g){switch(c){case"input":if(st(a,g),c=g.name,g.type==="radio"&&c!=null){for(g=a;g.parentNode;)g=g.parentNode;for(g=g.querySelectorAll("input[name="+JSON.stringify(""+c)+'][type="radio"]'),c=0;c<g.length;c++){var w=g[c];if(w!==a&&w.form===a.form){var C=Rh(w);if(!C)throw Error(t(90));Be(w),st(w,C)}}}break;case"textarea":ye(a,g);break;case"select":c=g.value,c!=null&&J(a,!!g.multiple,c,!1)}},Bn=H1,tr=Xc;var SI={usingClientEntryPoint:!1,Events:[Zs,$n,Rh,nt,Gt,H1]},Qf={findFiberByHostInstance:Uo,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},wI={bundleType:Qf.bundleType,version:Qf.version,rendererPackageName:Qf.rendererPackageName,rendererConfig:Qf.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:P.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){return a=qu(a),a===null?null:a.stateNode},findFiberByHostInstance:Qf.findFiberByHostInstance||xI,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var p0=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!p0.isDisabled&&p0.supportsFiber)try{yt=p0.inject(wI),dt=p0}catch{}}return Ki.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=SI,Ki.createPortal=function(a,c){var g=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!q1(c))throw Error(t(200));return _I(a,c,null,g)},Ki.createRoot=function(a,c){if(!q1(a))throw Error(t(299));var g=!1,w="",C=VS;return c!=null&&(c.unstable_strictMode===!0&&(g=!0),c.identifierPrefix!==void 0&&(w=c.identifierPrefix),c.onRecoverableError!==void 0&&(C=c.onRecoverableError)),c=$1(a,1,!1,null,null,g,!1,w,C),a[Mi]=c.current,Sl(a.nodeType===8?a.parentNode:a),new Y1(c)},Ki.findDOMNode=function(a){if(a==null)return null;if(a.nodeType===1)return a;var c=a._reactInternals;if(c===void 0)throw typeof a.render=="function"?Error(t(188)):(a=Object.keys(a).join(","),Error(t(268,a)));return a=qu(c),a=a===null?null:a.stateNode,a},Ki.flushSync=function(a){return Xc(a)},Ki.hydrate=function(a,c,g){if(!d0(c))throw Error(t(200));return f0(null,a,c,!0,g)},Ki.hydrateRoot=function(a,c,g){if(!q1(a))throw Error(t(405));var w=g!=null&&g.hydratedSources||null,C=!1,B="",j=VS;if(g!=null&&(g.unstable_strictMode===!0&&(C=!0),g.identifierPrefix!==void 0&&(B=g.identifierPrefix),g.onRecoverableError!==void 0&&(j=g.onRecoverableError)),c=HS(c,null,a,1,g??null,C,!1,B,j),a[Mi]=c.current,Sl(a),w)for(a=0;a<w.length;a++)g=w[a],C=g._getVersion,C=C(g._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[g,C]:c.mutableSourceEagerHydrationData.push(g,C);return new h0(c)},Ki.render=function(a,c,g){if(!d0(c))throw Error(t(200));return f0(null,a,c,!1,g)}
40,Ki.unmountComponentAtNode=function(a){if(!d0(a))throw Error(t(40));return a._reactRootContainer?(Xc(function(){f0(null,null,a,!1,function(){a._reactRootContainer=null,a[Mi]=null})}),!0):!1},Ki.unstable_batchedUpdates=H1,Ki.unstable_renderSubtreeIntoContainer=function(a,c,g,w){if(!d0(g))throw Error(t(200));if(a==null||a._reactInternals===void 0)throw Error(t(38));return f0(a,c,g,!1,w)},Ki.version="18.3.1-next-f1338f8080-20240426",Ki}var ZS;function ab(){if(ZS)return ev.exports;ZS=1;function r(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(e){console.error(e)}}return r(),ev.exports=BI(),ev.exports}var ew;function OI(){if(ew)return m0;ew=1;var r=ab();return m0.createRoot=r.createRoot,m0.hydrateRoot=r.hydrateRoot,m0}var DI=OI();const LI=[{id:1,name:"Home",href:"home"},{id:2,name:"Journey",href:"journey"},{id:3,name:"Skills",href:"skills"},{id:4,name:"Projects",href:"my-work"},{id:5,name:"Contact",href:"Contact"}],NI=[{image:"./assets/peer-review.png",title:"Peer Guide",description:"Looking to showcase your projects and get real feedback? PeerGuide is a fullâstack collaboration hubâReact front end, Node.jsâ¯+â¯Express backend, MongoDB databaseâwhere users submit projects, exchange peer reviews in real time, track progress, and explore a vibrant creative community.",buttonText:"Explore More",url:"https://peerguide.vercel.app/"},{image:"./assets/india.png",title:"Xplore INDIA",description:"Dreaming of hassleâfree India trips? XploreIndia is a fullâstack travel buddyâReact front end, Node.jsâ¯+â¯Strapi CMS, Neon (PostgreSQL) backendâoffering curated destination guides, seamless routing, responsive design, and an onâdemand chatbot for insider tips.",buttonText:"Explore More",url:"https://xploreindia.vercel.app"},{image:"./assets/chat.png",title:"ChatX",description:"Built a smart real-time chat app where users donât just messageâthey have meaningful AI-powered conversations. The frontend runs on React.js with Hooks and Context API, while the backend uses Node.js, Express, and MongoDB for secure JWT-based auth. Groq LLM handles intelligent replies, and Socket.IO keeps chats flowing live and fast.",buttonText:"Explore More",url:"https://github.com/DIVYANSHKATHURIA/ChatX"},{image:"./assets/resume.png",title:"Resume Analyzer",description:"Ever wondered if your resume truly showcases your potential? This full-stack Resume Analyzer evaluates your resume, scrapes real-time data from Coursera and Indeed for personalized course and job recommendations, and leverages an advanced LLM like Ollama for smart career insights.",buttonText:"Explore More",url:"https://github.com/DIVYANSHKATHURIA/Resume-Aanlyzer"},{image:"./assets/summerizer.png",title:"text-Summerization Web App",description:"Tired of reading long articles or notes? Try my website! With just a few clicks, it provides concise, high-quality summaries using the advanced Facebook BART model from Hugging Face. Save time and get to the key points instantly",buttonText:"Explore More",url:"https://textsummerizer.onrender.com"},{image:"./assets/chess.jpg",title:"Chess",description:"Want to create your own chess game and challenge friends? I built a fully interactive chess game in Python where you can play, strategize, and checkmate right from your screen!",buttonText:"Explore More",url:"https://github.com/DIVYANSHKATHURIA/chess"},{image:"./assets/8051.png",title:"8051 Door-Locking system",description:"I developed a door locking system that reliably handles locking and unlocking functions. It integrates an 8051 microcontroller, a 16x2 LCD display, a servo motor, and a keypad. The system was programmed in C using Keil µVision and tested with the Simulide simulator for full functionality",buttonText:"Explore More",url:"https://github.com/DIVYANSHKATHURIA/8051-microcontroller"},{image:"./assets/extension.png",title:"Text-Summerizer extension",description:"Tired of reading long notes? Try this Chrome extension! It offers a user-friendly interface for summarizing text directly within web pages. Using the powerful Facebook BART model from Hugging Face, it generates high-quality summaries with ease.",buttonText:"Explore More",url:"https://github.com/DIVYANSHKATHURIA/Text-Summerization-chrome-extension"},{image:"./assets/language.png",title:"Audio Classifying",description:"Have you ever wondered how machines can understand different languages through sound, just like humans? I developed an audio classification system using CNNs and Mel Spectrograms that can identify various languages. Curious to see how it works and how you can apply it to your own projects?",buttonText:"Explore More",url:"https://github.com/DIVYANSHKATHURIA/Audio-Classification-using-CNN"}],tw=({onClick:r=()=>{}})=>_.jsx("ul",{className:"nav-ul flex flex-col sm:flex-row gap-4 sm:gap-8",children:LI.map(e=>_.jsx("li",{className:"nav-li text-neutral-400 hover:text-white transition-colors cursor-pointer",onClick:t=>{var n;t.preventDefault(),(n=document.getElementById(e.href))==null||n.scrollIntoView({behavior:"smooth"}),r()},children:_.jsx("a",{href:`#${e.href}`,className:"nav-li_a w-full h-full block",children:e.name})},e.id))}),FI=()=>{const[r,e]=z.useState(!1),t=()=>e(!r),n=()=>e(!1);return _.jsxs("header",{className:"fixed top-0 left-0 right-0 z-50 bg-black/90 shadow-md",children:[_.jsx("div",{className:"max-w-7xl mx-auto px-6 sm:px-10",children:_.jsxs("div",{className:"flex justify-between items-center py-4",children:[_.jsx("a",{href:"#home",className:"text-neutral-400 font-bold text-xl hover:text-white transition-colors",children:"Divyansh Kathuria"}),_.jsx("button",{onClick:t,className:"text-neutral-400 hover:text-white focus:outline-none sm:hidden flex items-center","aria-label":"Toggle menu",children:_.jsx("img",{src:r?"assets/close.svg":"assets/menu.svg",alt:"toggle",className:"w-6 h-6 z-50"})}),_.jsx("nav",{className:"hidden sm:flex",children:_.jsx(tw,{})})]})}),r&&_.jsx("div",{className:"sm:hidden bg-black/90 fixed top-0 left-0 w-full h-full z-40",children:_.jsx("nav",{className:"p-6",children:_.jsx(tw,{onClick:n})})})]})};/** 41 * @license 42 * Copyright 2010-2024 Three.js Authors 43 * SPDX-License-Identifier: MIT 44 */const em="171",kI={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},UI={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},lb=0,V_=1,cb=2,jI=3,ub=0,Oy=1,wp=2,vo=3,Qo=0,Ni=1,xo=2,Ya=0,xu=1,Cg=2,W_=3,X_=4,hb=5,ql=100,db=101,fb=102,pb=103,mb=104,gb=2
vendor: 18,542 bytes, line 44
4400,yb=201,vb=202,_b=203,Tg=204,Ig=205,xb=206,Mb=207,Sb=208,wb=209,Ab=210,Eb=211,bb=212,Cb=213,Tb=214,Pg=0,Rg=1,Bg=2,Cu=3,Og=4,Dg=5,Lg=6,Ng=7,tm=0,Ib=1,Pb=2,Jo=0,Rb=1,Bb=2,Ob=3,jx=4,Db=5,Lb=6,Nb=7,J_="attached",Fb="detached",Dy=300,el=301,Zl=302,Np=303,Fp=304,Vd=306,ec=1e3,ys=1001,Od=1002,zr=1003,Ly=1004,zI=1004,fu=1005,HI=1005,Zn=1006,Cd=1007,GI=1007,js=1008,VI=1008,Mo=1009,zx=1010,Hx=1011,Dd=1012,Ny=1013,tl=1014,Di=1015,ju=1016,Fy=1017,ky=1018,Tu=1020,Gx=35902,Vx=1021,Wx=1022,hi=1023,Xx=1024,Jx=1025,Mu=1026,Iu=1027,Uy=1028,nm=1029,$x=1030,jy=1031,WI=1032,zy=1033,Ap=33776,Ep=33777,bp=33778,Cp=33779,Fg=35840,kg=35841,Ug=35842,jg=35843,zg=36196,Hg=37492,Gg=37496,Vg=37808,Wg=37809,Xg=37810,Jg=37811,$g=37812,Kg=37813,Yg=37814,qg=37815,Qg=37816,Zg=37817,ey=37818,ty=37819,ny=37820,ry=37821,Tp=36492,iy=36494,sy=36495,Kx=36283,oy=36284,ay=36285,ly=36286,kb=2200,Ub=2201,jb=2202,Ld=2300,Nd=2301,xg=2302,pu=2400,mu=2401,kp=2402,Hy=2500,Yx=2501,zb=0,qx=1,cy=2,Hb=3200,Gb=3201,XI=3202,JI=3203,ac=0,Vb=1,Wa="",Zi="srgb",Pu="srgb-linear",Up="linear",Cn="srgb",$I=0,uu=7680,KI=7681,YI=7682,qI=7683,QI=34055,ZI=34056,eP=5386,tP=512,nP=513,rP=514,iP=515,sP=516,oP=517,aP=518,$_=519,Wb=512,Xb=513,Jb=514,Qx=515,$b=516,Kb=517,Yb=518,qb=519,jp=35044,lP=35048,cP=35040,uP=35045,hP=35049,dP=35041,fP=35046,pP=35050,mP=35042,gP="100",K_="300 es",Xo=2e3,zp=2001;class ta{addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const n=this._listeners;n[e]===void 0&&(n[e]=[]),n[e].indexOf(t)===-1&&n[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const n=this._listeners;return n[e]!==void 0&&n[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const s=i.indexOf(t);s!==-1&&i.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const n=this._listeners[e.type];if(n!==void 0){e.target=this;const i=n.slice(0);for(let s=0,o=i.length;s<o;s++)i[s].call(this,e);e.target=null}}}const li=["00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f","10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f","20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f","30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f","40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f","50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f","60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f","70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f","80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f","90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df","e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef","f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"];let nw=1234567;const Su=Math.PI/180,Fd=180/Math.PI;function _s(){const r=Math.random()*4294967295|0,e=Math.random()*4294967295|0,t=Math.random()*4294967295|0,n=Math.random()*4294967295|0;return(li[r&255]+li[r>>8&255]+li[r>>16&255]+li[r>>24&255]+"-"+li[e&255]+li[e>>8&255]+"-"+li[e>>16&15|64]+li[e>>24&255]+"-"+li[t&63|128]+li[t>>8&255]+"-"+li[t>>16&255]+li[t>>24&255]+li[n&255]+li[n>>8&255]+li[n>>16&255]+li[n>>24&255]).toLowerCase()}function Yt(r,e,t){return Math.max(e,Math.min(t,r))}function Zx(r,e){return(r%e+e)%e}function yP(r,e,t,n,i){return n+(r-e)*(i-n)/(t-e)}function vP(r,e,t){return r!==e?(t-r)/(e-r):0}function Ip(r,e,t){return(1-t)*r+t*e}function _P(r,e,t,n){return Ip(r,e,1-Math.exp(-t*n))}function xP(r,e=1){return e-Math.abs(Zx(r,e*2)-e)}function MP(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*(3-2*r))}function SP(r,e,t){return r<=e?0:r>=t?1:(r=(r-e)/(t-e),r*r*r*(r*(r*6-15)+10))}function wP(r,e){return r+Math.floor(Math.random()*(e-r+1))}function AP(r,e){return r+Math.random()*(e-r)}function EP(r){return r*(.5-Math.random())}function bP(r){r!==void 0&&(nw=r);let e=nw+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function CP(r){return r*Su}function TP(r){return r*Fd}function IP(r){return(r&r-1)===0&&r!==0}function PP(r){return Math.pow(2,Math.ceil(Math.log(r)/Math.LN2))}function RP(r){return Math.pow(2,Math.floor(Math.log(r)/Math.LN2))}function BP(r,e,t,n,i){const s=Math.cos,o=Math.sin,l=s(t/2),u=o(t/2),d=s((e+n)/2),p=o((e+n)/2),m=s((e-n)/2),y=o((e-n)/2),v=s((n-e)/2),S=o((n-e)/2);switch(i){case"XYX":r.set(l*p,u*m,u*y,l*d);break;case"YZY":r.set(u*y,l*p,u*m,l*d);break;case"ZXZ":r.set(u*m,u*y,l*p,l*d);break;case"XZX":r.set(l*p,u*S,u*v,l*d);break;case"YXY":r.set(u*v,l*p,u*S,l*d);break;case"ZYZ":r.set(u*S,u*v,l*p,l*d);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Oi(r,e){switch(e.constructor){case Float32Array:return r;case Uint32Array:return r/4294967295;case Uint16Array:return r/65535;case Uint8Array:return r/255;case Int32Array:return Math.max(r/2147483647,-1);case Int16Array:return Math.max(r/32767,-1);case Int8Array:return Math.max(r/127,-1);default:throw new Error("Invalid component type.")}}function nn(r,e){switch(e.constructor){case Float32Array:return r;case Uint32Array:return Math.round(r*4294967295);case Uint16Array:return Math.round(r*65535);case Uint8Array:return Math.round(r*255);case Int32Array:return Math.round(r*2147483647);case Int16Array:return Math.round(r*32767);case Int8Array:return Math.round(r*127);default:throw new Error("Invalid component type.")}}const Qb={DEG2RAD:Su,RAD2DEG:Fd,generateUUID:_s,clamp:Yt,euclideanModulo:Zx,mapLinear:yP,inverseLerp:vP,lerp:Ip,damp:_P,pingpong:xP,smoothstep:MP,smootherstep:SP,randInt:wP,randFloat:AP,randFloatSpread:EP,seededRandom:bP,degToRad:CP,radToDeg:TP,isPowerOfTwo:IP,ceilPowerOfTwo:PP,floorPowerOfTwo:RP,setQuaternionFromProperEuler:BP,normalize:nn,denormalize:Oi};class Ne{constructor(e=0,t=0){Ne.prototype.isVector2=!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){return this.x=e,this.y=t,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,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){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const t=this.x,n=this.y,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6],this.y=i[1]*t+i[4]*n+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,t){return this.x=Yt(this.x,e.x,t.x),this.y=Yt(this.y,e.y,t.y),this}clampScalar(e,t){return this.x=Yt(this.x,e,t),this.y=Yt(this.y,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Yt(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,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(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Yt(n,-1,1))}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){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this}lerpVectors(e,t,n){return this.x=e.x+(t.x-e.x)*n,this.y=e.y+(t.y-e.y)*n,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this}rotateAround(e,t){const n=Math.cos(t),i=Math.sin(t),s=this.x-e.x,o=this.y-e.y;return this.x=s*n-o*i+e.x,this.y=s*i+o*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class Qt{constructor(e,t,n,i,s,o,l,u,d){Qt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,t,n,i,s,o,l,u,d)}set(e,t,n,i,s,o,l,u,d){const p=this.elements;return p[0]=e,p[1]=i,p[2]=l,p[3]=t,p[4]=s,p[5]=u,p[6]=n,p[7]=o,p[8]=d,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const t=this.elements,n=e.elements;return 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],this}extractBasis(e,t,n){return e.setFromMatrix3Column(this,0),t.setFromMatrix3Column(this,1),n.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const t=e.elements;return this.set(t[0],t[4],t[8],t[1],t[5],t[9],t[2],t[6],t[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,s=this.elements,o=n[0],l=n[3],u=n[6],d=n[1],p=n[4],m=n[7],y=n[2],v=n[5],S=n[8],E=i[0],A=i[3],M=i[6],T=i[1],I=i[4],P=i[7],k=i[2],O=i[5],N=i[8];return s[0]=o*E+l*T+u*k,s[3]=o*A+l*I+u*O,s[6]=o*M+l*P+u*N,s[1]=d*E+p*T+m*k,s[4]=d*A+p*I+m*O,s[7]=d*M+p*P+m*N,s[2]=y*E+v*T+S*k,s[5]=y*A+v*I+S*O,s[8]=y*M+v*P+S*N,this}multiplyScalar(e){const t=this.elements;return 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,this}determinant(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],d=e[7],p=e[8];return t*o*p-t*l*d-n*s*p+n*l*u+i*s*d-i*o*u}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],d=e[7],p=e[8],m=p*o-l*d,y=l*u-p*s,v=d*s-o*u,S=t*m+n*y+i*v;if(S===0)return this.set(0,0,0,0,0,0,0,0,0);const E=1/S;return e[0]=m*E,e[1]=(i*d-p*n)*E,e[2]=(l*n-i*o)*E,e[3]=y*E,e[4]=(p*t-i*u)*E,e[5]=(i*s-l*t)*E,e[6]=v*E,e[7]=(n*u-d*t)*E,e[8]=(o*t-n*s)*E,this}transpose(){let e;const t=this.elements;return 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,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const t=this.elements;return 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],this}setUvTransform(e,t,n,i,s,o,l){const u=Math.cos(s),d=Math.sin(s);return this.set(n*u,n*d,-n*(u*o+d*l)+o+e,-i*d,i*u,-i*(-d*o+u*l)+l+t,0,0,1),this}scale(e,t){return this.premultiply(rv.makeScale(e,t)),this}rotate(e){return this.premultiply(rv.makeRotation(-e)),this}translate(e,t){return this.premultiply(rv.makeTranslation(e,t)),this}makeTranslation(e,t){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,t,0,0,1),this}makeRotation(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,n,t,0,0,0,1),this}makeScale(e,t){return this.set(e,0,0,0,t,0,0,0,1),this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<9;i++)if(t[i]!==n[i])return!1;return!0}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;return 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}clone(){return new this.constructor().fromArray(this.elements)}}const rv=new Qt;function Zb(r){for(let e=r.length-1;e>=0;--e)if(r[e]>=65535)return!0;return!1}const OP={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Sd(r,e){return new OP[r](e)}function Hp(r){return document.createElementNS("http://www.w3.org/1999/xhtml",r)}function eC(){const r=Hp("canvas");return r.style.display="block",r}const rw={};function _d(r){r in rw||(rw[r]=!0,console.warn(r))}function DP(r,e,t){return new Promise(function(n,i){function s(){switch(r.clientWaitSync(e,r.SYNC_FLUSH_COMMANDS_BIT,0)){case r.WAIT_FAILED:i();break;case r.TIMEOUT_EXPIRED:setTimeout(s,t);break;default:n()}}setTimeout(s,t)})}function LP(r){const e=r.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}function NP(r){const e=r.elements;e[11]===-1?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=-e[14]+1)}const iw=new Qt().set(.4123908,.3575843,.1804808,.212639,.7151687,.0721923,.0193308,.1191948,.9505322),sw=new Qt().set(3.2409699,-1.5373832,-.4986108,-.9692436,1.8759675,.0415551,.0556301,-.203977,1.0569715);function FP(){const r={enabled:!0,workingColorSpace:Pu,spaces:{},convert:function(i,s,o){return this.enabled===!1||s===o||!s||!o||(this.spaces[s].transfer===Cn&&(i.r=qa(i.r),i.g=qa(i.g),i.b=qa(i.b)),this.spaces[s].primaries!==this.spaces[o].primaries&&(i.applyMatrix3(this.spaces[s].toXYZ),i.applyMatrix3(this.spaces[o].fromXYZ)),this.spaces[o].transfer===Cn&&(i.r=Td(i.r),i.g=Td(i.g),i.b=Td(i.b))),i},fromWorkingColorSpace:function(i,s){return this.convert(i,this.workingColorSpace,s)},toWorkingColorSpace:function(i,s){return this.convert(i,s,this.workingColorSpace)},getPrimaries:function(i){return this.spaces[i].primaries},getTransfer:function(i){return i===Wa?Up:this.spaces[i].transfer},getLuminanceCoefficients:function(i,s=this.workingColorSpace){return i.fromArray(this.spaces[s].luminanceCoefficients)},define:function(i){Object.assign(this.spaces,i)},_getMatrix:function(i,s,o){return i.copy(this.spaces[s].toXYZ).multiply(this.spaces[o].fromXYZ)},_getDrawingBufferColorSpace:function(i){return this.spaces[i].outputColorSpaceConfig.drawingBufferColorSpace},_getUnpackColorSpace:function(i=this.workingColorSpace){return this.spaces[i].workingColorSpaceConfig.unpackColorSpace}},e=[.64,.33,.3,.6,.15,.06],t=[.2126,.7152,.0722],n=[.3127,.329];return r.define({[Pu]:{primaries:e,whitePoint:n,transfer:Up,toXYZ:iw,fromXYZ:sw,luminanceCoefficients:t,workingColorSpaceConfig:{unpackColorSpace:Zi},outputColorSpaceConfig:{drawingBufferColorSpace:Zi}},[Zi]:{primaries:e,whitePoint:n,transfer:Cn,toXYZ:iw,fromXYZ:sw,luminanceCoefficients:t,outputColorSpaceConfig:{drawingBufferColorSpace:Zi}}}),r}const yn=FP();function qa(r){return r<.04045?r*.0773993808:Math.pow(r*.9478672986+.0521327014,2.4)}function Td(r){return r<.0031308?r*12.92:1.055*Math.pow(r,.41666)-.055}let Yh;class tC{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{Yh===void 0&&(Yh=Hp("canvas")),Yh.width=e.width,Yh.height=e.height;const n=Yh.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=Yh}return t.width>2048||t.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),t.toDataURL("image/jpeg",.6)):t.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const t=Hp("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const i=n.getImageData(0,0,e.width,e.height),s=i.data;for(let o=0;o<s.length;o++)s[o]=qa(s[o]/255)*255;return n.putImageData(i,0,0),t}else if(e.data){const t=e.data.slice(0);for(let n=0;n<t.length;n++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[n]=Math.floor(qa(t[n]/255)*255):t[n]=qa(t[n]);return{data:t,width:e.width,height:e.height}}else return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}let kP=0;class gu{constructor(e=null){this.isSource=!0,Object.defineProperty(this,"id",{value:kP++}),this.uuid=_s(),this.data=e,this.dataReady=!0,this.version=0}set needsUpdate(e){e===!0&&this.version++}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.images[this.uuid]!==void 0)return e.images[this.uuid];const n={uuid:this.uuid,url:""},i=this.data;if(i!==null){let s;if(Array.isArray(i)){s=[];for(let o=0,l=i.length;o<l;o++)i[o].isDataTexture?s.push(iv(i[o].image)):s.push(iv(i[o]))}else s=iv(i);n.url=s}return t||(e.images[this.uuid]=n),n}}function iv(r){return typeof HTMLImageElement<"u"&&r instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&r instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&r instanceof ImageBitmap?tC.getDataURL(r):r.data?{data:Array.from(r.data),width:r.width,height:r.height,type:r.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let UP=0;class Gn extends ta{constructor(e=Gn.DEFAULT_IMAGE,t=Gn.DEFAULT_MAPPING,n=ys,i=ys,s=Zn,o=js,l=hi,u=Mo,d=Gn.DEFAULT_ANISOTROPY,p=Wa){super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:UP++}),this.uuid=_s(),this.name="",this.source=new gu(e),this.mipmaps=[],this.mapping=t,this.channel=0,this.wrapS=n,this.wrapT=i,this.magFilter=s,this.minFilter=o,this.anisotropy=d,this.format=l,this.internalFormat=null,this.type=u,this.offset=new Ne(0,0),this.repeat=new Ne(1,1),this.center=new Ne(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Qt,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.colorSpace
vendor: 4,377 bytes, line 44
44=p,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.pmremVersion=0}get image(){return this.source.data}set image(e=null){this.source.data=e}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){return this.name=e.name,this.source=e.source,this.mipmaps=e.mipmaps.slice(0),this.mapping=e.mapping,this.channel=e.channel,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.colorSpace=e.colorSpace,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){const t=e===void 0||typeof e=="string";if(!t&&e.textures[this.uuid]!==void 0)return e.textures[this.uuid];const n={metadata:{version:4.6,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,channel:this.channel,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,internalFormat:this.internalFormat,type:this.type,colorSpace:this.colorSpace,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,generateMipmaps:this.generateMipmaps,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};return Object.keys(this.userData).length>0&&(n.userData=this.userData),t||(e.textures[this.uuid]=n),n}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==Dy)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ec:e.x=e.x-Math.floor(e.x);break;case ys:e.x=e.x<0?0:1;break;case Od:Math.abs(Math.floor(e.x)%2)===1?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 ec:e.y=e.y-Math.floor(e.y);break;case ys:e.y=e.y<0?0:1;break;case Od:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}Gn.DEFAULT_IMAGE=null;Gn.DEFAULT_MAPPING=Dy;Gn.DEFAULT_ANISOTROPY=1;class xn{constructor(e=0,t=0,n=0,i=1){xn.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=i}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,i){return this.x=e,this.y=t,this.z=n,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,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){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this.w=e.w+t.w,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this.w+=e.w*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this.w=e.w-t.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,s=this.w,o=e.elements;
vendor: 4,209 bytes, line 44
44return this.x=o[0]*t+o[4]*n+o[8]*i+o[12]*s,this.y=o[1]*t+o[5]*n+o[9]*i+o[13]*s,this.z=o[2]*t+o[6]*n+o[10]*i+o[14]*s,this.w=o[3]*t+o[7]*n+o[11]*i+o[15]*s,this}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this.w/=e.w,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);return t<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/t,this.y=e.y/t,this.z=e.z/t),this}setAxisAngleFromRotationMatrix(e){let t,n,i,s;const u=e.elements,d=u[0],p=u[4],m=u[8],y=u[1],v=u[5],S=u[9],E=u[2],A=u[6],M=u[10];if(Math.abs(p-y)<.01&&Math.abs(m-E)<.01&&Math.abs(S-A)<.01){if(Math.abs(p+y)<.1&&Math.abs(m+E)<.1&&Math.abs(S+A)<.1&&Math.abs(d+v+M-3)<.1)return this.set(1,0,0,0),this;t=Math.PI;const I=(d+1)/2,P=(v+1)/2,k=(M+1)/2,O=(p+y)/4,N=(m+E)/4,H=(S+A)/4;return I>P&&I>k?I<.01?(n=0,i=.707106781,s=.707106781):(n=Math.sqrt(I),i=O/n,s=N/n):P>k?P<.01?(n=.707106781,i=0,s=.707106781):(i=Math.sqrt(P),n=O/i,s=H/i):k<.01?(n=.707106781,i=.707106781,s=0):(s=Math.sqrt(k),n=N/s,i=H/s),this.set(n,i,s,t),this}let T=Math.sqrt((A-S)*(A-S)+(m-E)*(m-E)+(y-p)*(y-p));return Math.abs(T)<.001&&(T=1),this.x=(A-S)/T,this.y=(m-E)/T,this.z=(y-p)/T,this.w=Math.acos((d+v+M-1)/2),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this.w=t[15],this}min(e){return 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),this}max(e){return 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),this}clamp(e,t){return this.x=Yt(this.x,e.x,t.x),this.y=Yt(this.y,e.y,t.y),this.z=Yt(this.z,e.z,t.z),this.w=Yt(this.w,e.w,t.w),this}clampScalar(e,t){return this.x=Yt(this.x,e,t),this.y=Yt(this.y,e,t),this.z=Yt(this.z,e,t),this.w=Yt(this.w,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Yt(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,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){return 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,this}lerpVectors(e,t,n){return 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,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e[t+3]=this.w,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this.w=e.getW(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class nC extends ta{constructor(e=1,t=1,n={}){super(),this.isRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new xn(0,0,e,t),this.scissorTest=!1,this.viewport=new xn(0,0,e,t);const i={width:e,height:t,depth:1};n=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Zn,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},n);const s=new Gn(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.c
vendor: 5,642 bytes, line 44
44olorSpace);s.flipY=!1,s.generateMipmaps=n.generateMipmaps,s.internalFormat=n.internalFormat,this.textures=[];const o=n.count;for(let l=0;l<o;l++)this.textures[l]=s.clone(),this.textures[l].isRenderTargetTexture=!0;this.depthBuffer=n.depthBuffer,this.stencilBuffer=n.stencilBuffer,this.resolveDepthBuffer=n.resolveDepthBuffer,this.resolveStencilBuffer=n.resolveStencilBuffer,this.depthTexture=n.depthTexture,this.samples=n.samples}get texture(){return this.textures[0]}set texture(e){this.textures[0]=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;for(let i=0,s=this.textures.length;i<s;i++)this.textures[i].image.width=e,this.textures[i].image.height=t,this.textures[i].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.scissor.copy(e.scissor),this.scissorTest=e.scissorTest,this.viewport.copy(e.viewport),this.textures.length=0;for(let n=0,i=e.textures.length;n<i;n++)this.textures[n]=e.textures[n].clone(),this.textures[n].isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new gu(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,this.resolveDepthBuffer=e.resolveDepthBuffer,this.resolveStencilBuffer=e.resolveStencilBuffer,e.depthTexture!==null&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class Hs extends nC{constructor(e=1,t=1,n={}){super(e,t,n),this.isWebGLRenderTarget=!0}}class Gy extends Gn{constructor(e=null,t=1,n=1,i=1){super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:n,depth:i},this.magFilter=zr,this.minFilter=zr,this.wrapR=ys,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class jP extends Hs{constructor(e=1,t=1,n=1,i={}){super(e,t,i),this.isWebGLArrayRenderTarget=!0,this.depth=n,this.texture=new Gy(null,e,t,n),this.texture.isRenderTargetTexture=!0}}class eM extends Gn{constructor(e=null,t=1,n=1,i=1){super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:n,depth:i},this.magFilter=zr,this.minFilter=zr,this.wrapR=ys,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class zP extends Hs{constructor(e=1,t=1,n=1,i={}){super(e,t,i),this.isWebGL3DRenderTarget=!0,this.depth=n,this.texture=new eM(null,e,t,n),this.texture.isRenderTargetTexture=!0}}class fi{constructor(e=0,t=0,n=0,i=1){this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=i}static slerpFlat(e,t,n,i,s,o,l){let u=n[i+0],d=n[i+1],p=n[i+2],m=n[i+3];const y=s[o+0],v=s[o+1],S=s[o+2],E=s[o+3];if(l===0){e[t+0]=u,e[t+1]=d,e[t+2]=p,e[t+3]=m;return}if(l===1){e[t+0]=y,e[t+1]=v,e[t+2]=S,e[t+3]=E;return}if(m!==E||u!==y||d!==v||p!==S){let A=1-l;const M=u*y+d*v+p*S+m*E,T=M>=0?1:-1,I=1-M*M;if(I>Number.EPSILON){const k=Math.sqrt(I),O=Math.atan2(k,M*T);A=Math.sin(A*O)/k,l=Math.sin(l*O)/k}const P=l*T;if(u=u*A+y*P,d=d*A+v*P,p=p*A+S*P,m=m*A+E*P,A===1-l){const k=1/Math.sqrt(u*u+d*d+p*p+m*m);u*=k,d*=k,p*=k,m*=k}}e[t]=u,e[t+1]=d,e[t+2]=p,e[t+3]=m}static multiplyQuaternionsFlat(e,t,n,i,s,o){const l=n[i],u=n[i+1],d=n[i+2],p=n[i+3],m=s[o],y=s[o+1],v=s[o+2],S=s[o+3];return e[t]=l*S+p*m+u*v-d*y,e[t+1]=u*S+p*y+d*m-l*v,e[t+2]=d*S+p*v+l*y-u*m,e[t+3]=p*S-l*m-u*y-d*v,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,i){return this._x=e,this._y=t,this._z=n,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,t=!0){const n=e._x,i=e._y,s=e._z,o=e._order,l=Math.cos,u=Math.sin,d=l(n/2),p=l(i/2),m=l(s/2),y=u(n/2),v=u(i/2),S=u(s/2);switch(o){case"XYZ":this._x=y*p*m+d*v*S,this._y=d*v*m-y*p*S,this._z=d*p*S+y*v*m,this._w=d*p*m-y*v*S;break;case"YXZ":this._x=y*p*m+d*v*S,this._y=d*v*m-y*p*S,this._z=d*p*S-y*v*m,this._w=d*p*m+y*v*S;break;case"ZXY":this._x=y*p*m-d*v*S,this._y=d*v*m+y*p*S,this._z=d*p*S+y*v*m,this._w=d*p*m-y*v*S;break;case"ZYX":this._x=y*p*m-d*v*S,this._y=d*v*m+y*p*S,this._z=d*p*S-y*v*m,this._w=d*p*m+y*v*S;break;case"YZX":this._x=y*p*m+d*v*S,this._y=d*v*m+y*p*S,this._z=d*p*S-y*v*m,this._w=d*p*m-y*v*S;break;case"XZY":this._x=y*p*m-d*v*S,this._y=d*v*m-y*p*S,this._z=d*p*S+y*v*m,this._w=d*p*m+y*v*S;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return t===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,i=Math.sin(n);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],i=t[4],s=t[8],o=t[1],l=t[5],u=t[9],d=t[2],p=t[6],m=t[10],y=n+l+m;if(y>0){const v=.5/Math.sqrt(y+1);this._w=.25/v,this._x=(p-u)*v,this._y=(s-d)*v,this._z=(o-i)*v}else if(n>l&&n>m){const v=2*Math.sqrt(1+n-l-m);this._w=(p-u)/v,this._x=.25*v,this._y=(i+o)/v,this._z=(s+d)/v}else if(l>m){const v=2*Math.sqrt(1+l-n-m);this._w=(s-d)/v,this._x=(i+o)/v,this._y=.25*v,this._z=(u+p)/v}else{const v=2*Math.sqrt(1+m-n-l);this._w=(o-i)/v,this._x=(s+d)/v,this._y=(u+p)/v,this._z=.25*v}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<Number.EPSILON?(n=0,Math.abs(e.x)>
vendor: 11,888 bytes, line 44
44Math.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=n):(this._x=0,this._y=-e.z,this._z=e.y,this._w=n)):(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),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Yt(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(n===0)return this;const i=Math.min(1,t/n);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),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();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(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(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,t){const n=e._x,i=e._y,s=e._z,o=e._w,l=t._x,u=t._y,d=t._z,p=t._w;return this._x=n*p+o*l+i*d-s*u,this._y=i*p+o*u+s*l-n*d,this._z=s*p+o*d+n*u-i*l,this._w=o*p-n*l-i*u-s*d,this._onChangeCallback(),this}slerp(e,t){if(t===0)return this;if(t===1)return this.copy(e);const n=this._x,i=this._y,s=this._z,o=this._w;let l=o*e._w+n*e._x+i*e._y+s*e._z;if(l<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,l=-l):this.copy(e),l>=1)return this._w=o,this._x=n,this._y=i,this._z=s,this;const u=1-l*l;if(u<=Number.EPSILON){const v=1-t;return this._w=v*o+t*this._w,this._x=v*n+t*this._x,this._y=v*i+t*this._y,this._z=v*s+t*this._z,this.normalize(),this}const d=Math.sqrt(u),p=Math.atan2(d,l),m=Math.sin((1-t)*p)/d,y=Math.sin(t*p)/d;return this._w=o*m+this._w*y,this._x=n*m+this._x*y,this._y=i*m+this._y*y,this._z=s*m+this._z*y,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=2*Math.PI*Math.random(),t=2*Math.PI*Math.random(),n=Math.random(),i=Math.sqrt(1-n),s=Math.sqrt(n);return this.set(i*Math.sin(e),i*Math.cos(e),s*Math.sin(t),s*Math.cos(t))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,t=0){return this._x=e[t],this._y=e[t+1],this._z=e[t+2],this._w=e[t+3],this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._w,e}fromBufferAttribute(e,t){return this._x=e.getX(t),this._y=e.getY(t),this._z=e.getZ(t),this._w=e.getW(t),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class ${constructor(e=0,t=0,n=0){$.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return n===void 0&&(n=this.z),this.x=e,this.y=t,this.z=n,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,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){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this}addScaledVector(e,t){return this.x+=e.x*t,this.y+=e.y*t,this.z+=e.z*t,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,t){return this.x=e.x*t.x,this.y=e.y*t.y,this.z=e.z*t.z,this}applyEuler(e){return this.applyQuaternion(ow.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(ow.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,i=this.z,s=e.elements;return this.x=s[0]*t+s[3]*n+s[6]*i,this.y=s[1]*t+s[4]*n+s[7]*i,this.z=s[2]*t+s[5]*n+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,i=this.z,s=e.elements,o=1/(s[3]*t+s[7]*n+s[11]*i+s[15]);return this.x=(s[0]*t+s[4]*n+s[8]*i+s[12])*o,this.y=(s[1]*t+s[5]*n+s[9]*i+s[13])*o,this.z=(s[2]*t+s[6]*n+s[10]*i+s[14])*o,this}applyQuaternion(e){const t=this.x,n=this.y,i=this.z,s=e.x,o=e.y,l=e.z,u=e.w,d=2*(o*i-l*n),p=2*(l*t-s*i),m=2*(s*n-o*t);return this.x=t+u*d+o*m-l*p,this.y=n+u*p+l*d-s*m,this.z=i+u*m+s*p-o*d,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,i=this.z,s=e.elements;return this.x=s[0]*t+s[4]*n+s[8]*i,this.y=s[1]*t+s[5]*n+s[9]*i,this.z=s[2]*t+s[6]*n+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return 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}max(e){return 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}clamp(e,t){return this.x=Yt(this.x,e.x,t.x),this.y=Yt(this.y,e.y,t.y),this.z=Yt(this.z,e.z,t.z),this}clampScalar(e,t){return this.x=Yt(this.x,e,t),this.y=Yt(this.y,e,t),this.z=Yt(this.z,e,t),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Yt(n,e,t))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,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){return this.x+=(e.x-this.x)*t,this.y+=(e.y-this.y)*t,this.z+=(e.z-this.z)*t,this}lerpVectors(e,t,n){return 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}cross(e){return this.crossVectors(this,e)}crossVectors(e,t){const n=e.x,i=e.y,s=e.z,o=t.x,l=t.y,u=t.z;return this.x=i*u-s*l,this.y=s*o-n*u,this.z=n*l-i*o,this}projectOnVector(e){const t=e.lengthSq();if(t===0)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return sv.copy(this).projectOnVector(e),this.sub(sv)}reflect(e){return this.sub(sv.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(t===0)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Yt(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,i=this.z-e.z;return t*t+n*n+i*i}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 i=Math.sin(t)*e;return this.x=i*Math.sin(n),this.y=Math.cos(t)*e,this.z=i*Math.cos(n),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,t,n){return this.x=e*Math.sin(t),this.y=n,this.z=e*Math.cos(t),this}setFromMatrixPosition(e){const t=e.elements;return this.x=t[12],this.y=t[13],this.z=t[14],this}setFromMatrixScale(e){const t=this.setFromMatrixColumn(e,0).length(),n=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=i,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,t*4)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,t*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,t=0){return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(e=[],t=0){return e[t]=this.x,e[t+1]=this.y,e[t+2]=this.z,e}fromBufferAttribute(e,t){return this.x=e.getX(t),this.y=e.getY(t),this.z=e.getZ(t),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,t=Math.random()*2-1,n=Math.sqrt(1-t*t);return this.x=n*Math.cos(e),this.y=t,this.z=n*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const sv=new $,ow=new fi;class pi{constructor(e=new $(1/0,1/0,1/0),t=new $(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),this}setFromArray(e){this.makeEmpty();for(let t=0,n=e.length;t<n;t+=3)this.expandByPoint(mo.fromArray(e,t));return this}setFromBufferAttribute(e){this.makeEmpty();for(let t=0,n=e.count;t<n;t++)this.expandByPoint(mo.fromBufferAttribute(e,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=mo.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}setFromObject(e,t=!1){return this.makeEmpty(),this.expandByObject(e,t)}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=this.min.z=1/0,this.max.x=this.max.y=this.max.z=-1/0,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){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),this}expandByObject(e,t=!1){e.updateWorldMatrix(!1,!1);const n=e.geometry;if(n!==void 0){const s=n.getAttribute("position");if(t===!0&&s!==void 0&&e.isInstancedMesh!==!0)for(let o=0,l=s.count;o<l;o++)e.isMesh===!0?e.getVertexPosition(o,mo):mo.fromBufferAttribute(s,o),mo.applyMatrix4(e.matrixWorld),this.expandByPoint(mo);else e.boundingBox!==void 0?(e.boundingBox===null&&e.computeBoundingBox(),g0.copy(e.boundingBox)):(n.boundingBox===null&&n.computeBoundingBox(),g0.copy(n.boundingBox)),g0.applyMatrix4(e.matrixWorld),this.union(g0)}const i=e.children;for(let s=0,o=i.length;s<o;s++)this.expandByObject(i[s],t);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){return this.clampPoint(e.center,mo),mo.distanceToSquared(e.center)<=e.radius*e.radiu
vendor: 21,545 bytes, line 44
44s}intersectsPlane(e){let t,n;return e.normal.x>0?(t=e.normal.x*this.min.x,n=e.normal.x*this.max.x):(t=e.normal.x*this.max.x,n=e.normal.x*this.min.x),e.normal.y>0?(t+=e.normal.y*this.min.y,n+=e.normal.y*this.max.y):(t+=e.normal.y*this.max.y,n+=e.normal.y*this.min.y),e.normal.z>0?(t+=e.normal.z*this.min.z,n+=e.normal.z*this.max.z):(t+=e.normal.z*this.max.z,n+=e.normal.z*this.min.z),t<=-e.constant&&n>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(ep),y0.subVectors(this.max,ep),qh.subVectors(e.a,ep),Qh.subVectors(e.b,ep),Zh.subVectors(e.c,ep),jl.subVectors(Qh,qh),zl.subVectors(Zh,Qh),Yc.subVectors(qh,Zh);let t=[0,-jl.z,jl.y,0,-zl.z,zl.y,0,-Yc.z,Yc.y,jl.z,0,-jl.x,zl.z,0,-zl.x,Yc.z,0,-Yc.x,-jl.y,jl.x,0,-zl.y,zl.x,0,-Yc.y,Yc.x,0];return!ov(t,qh,Qh,Zh,y0)||(t=[1,0,0,0,1,0,0,0,1],!ov(t,qh,Qh,Zh,y0))?!1:(v0.crossVectors(jl,zl),t=[v0.x,v0.y,v0.z],ov(t,qh,Qh,Zh,y0))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,mo).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(mo).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Na[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Na[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Na[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Na[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Na[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Na[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Na[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Na[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Na),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Na=[new $,new $,new $,new $,new $,new $,new $,new $],mo=new $,g0=new pi,qh=new $,Qh=new $,Zh=new $,jl=new $,zl=new $,Yc=new $,ep=new $,y0=new $,v0=new $,qc=new $;function ov(r,e,t,n,i){for(let s=0,o=r.length-3;s<=o;s+=3){qc.fromArray(r,s);const l=i.x*Math.abs(qc.x)+i.y*Math.abs(qc.y)+i.z*Math.abs(qc.z),u=e.dot(qc),d=t.dot(qc),p=n.dot(qc);if(Math.max(-Math.max(u,d,p),Math.min(u,d,p))>l)return!1}return!0}const HP=new pi,tp=new $,av=new $;class ei{constructor(e=new $,t=-1){this.isSphere=!0,this.center=e,this.radius=t}set(e,t){return this.center.copy(e),this.radius=t,this}setFromPoints(e,t){const n=this.center;t!==void 0?n.copy(t):HP.setFromPoints(e).getCenter(n);let i=0;for(let s=0,o=e.length;s<o;s++)i=Math.max(i,n.distanceToSquared(e[s]));return this.radius=Math.sqrt(i),this}copy(e){return this.center.copy(e.center),this.radius=e.radius,this}isEmpty(){return this.radius<0}makeEmpty(){return this.center.set(0,0,0),this.radius=-1,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);return t.copy(e),n>this.radius*this.radius&&(t.sub(this.center).normalize(),t.multiplyScalar(this.radius).add(this.center)),t}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;tp.subVectors(e,this.center);const t=tp.lengthSq();if(t>this.radius*this.radius){const n=Math.sqrt(t),i=(n-this.radius)*.5;this.center.addScaledVector(tp,i/n),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(av.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(tp.copy(e.center).add(av)),this.expandByPoint(tp.copy(e.center).sub(av))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Fa=new $,lv=new $,_0=new $,Hl=new $,cv=new $,x0=new $,uv=new $;class Wd{constructor(e=new $,t=new $(0,0,-1)){this.origin=e,this.direction=t}set(e,t){return this.origin.copy(e),this.direction.copy(t),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,t){return t.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Fa)),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.origin).addScaledVector(this.direction,n)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Fa.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Fa.copy(this.origin).addScaledVector(this.direction,t),Fa.distanceToSquared(e))}distanceSqToSegment(e,t,n,i){lv.copy(e).add(t).multiplyScalar(.5),_0.copy(t).sub(e).normalize(),Hl.copy(this.origin).sub(lv);const s=e.distanceTo(t)*.5,o=-this.direction.dot(_0),l=Hl.dot(this.direction),u=-Hl.dot(_0),d=Hl.lengthSq(),p=Math.abs(1-o*o);let m,y,v,S;if(p>0)if(m=o*u-l,y=o*l-u,S=s*p,m>=0)if(y>=-S)if(y<=S){const E=1/p;m*=E,y*=E,v=m*(m+o*y+2*l)+y*(o*m+y+2*u)+d}else y=s,m=Math.max(0,-(o*y+l)),v=-m*m+y*(y+2*u)+d;else y=-s,m=Math.max(0,-(o*y+l)),v=-m*m+y*(y+2*u)+d;else y<=-S?(m=Math.max(0,-(-o*s+l)),y=m>0?-s:Math.min(Math.max(-s,-u),s),v=-m*m+y*(y+2*u)+d):y<=S?(m=0,y=Math.min(Math.max(-s,-u),s),v=y*(y+2*u)+d):(m=Math.max(0,-(o*s+l)),y=m>0?s:Math.min(Math.max(-s,-u),s),v=-m*m+y*(y+2*u)+d);else y=o>0?-s:s,m=Math.max(0,-(o*y+l)),v=-m*m+y*(y+2*u)+d;return n&&n.copy(this.origin).addScaledVector(this.direction,m),i&&i.copy(lv).addScaledVector(_0,y),v}intersectSphere(e,t){Fa.subVectors(e.center,this.origin);const n=Fa.dot(this.direction),i=Fa.dot(Fa)-n*n,s=e.radius*e.radius;if(i>s)return null;const o=Math.sqrt(s-i),l=n-o,u=n+o;return u<0?null:l<0?this.at(u,t):this.at(l,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(t===0)return e.distanceToPoint(this.origin)===0?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 n===null?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);return t===0||e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,i,s,o,l,u;const d=1/this.direction.x,p=1/this.direction.y,m=1/this.direction.z,y=this.origin;return d>=0?(n=(e.min.x-y.x)*d,i=(e.max.x-y.x)*d):(n=(e.max.x-y.x)*d,i=(e.min.x-y.x)*d),p>=0?(s=(e.min.y-y.y)*p,o=(e.max.y-y.y)*p):(s=(e.max.y-y.y)*p,o=(e.min.y-y.y)*p),n>o||s>i||((s>n||isNaN(n))&&(n=s),(o<i||isNaN(i))&&(i=o),m>=0?(l=(e.min.z-y.z)*m,u=(e.max.z-y.z)*m):(l=(e.max.z-y.z)*m,u=(e.min.z-y.z)*m),n>u||l>i)||((l>n||n!==n)&&(n=l),(u<i||i!==i)&&(i=u),i<0)?null:this.at(n>=0?n:i,t)}intersectsBox(e){return this.intersectBox(e,Fa)!==null}intersectTriangle(e,t,n,i,s){cv.subVectors(t,e),x0.subVectors(n,e),uv.crossVectors(cv,x0);let o=this.direction.dot(uv),l;if(o>0){if(i)return null;l=1}else if(o<0)l=-1,o=-o;else return null;Hl.subVectors(this.origin,e);const u=l*this.direction.dot(x0.crossVectors(Hl,x0));if(u<0)return null;const d=l*this.direction.dot(cv.cross(Hl));if(d<0||u+d>o)return null;const p=-l*Hl.dot(uv);return p<0?null:this.at(p/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Nt{constructor(e,t,n,i,s,o,l,u,d,p,m,y,v,S,E,A){Nt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,t,n,i,s,o,l,u,d,p,m,y,v,S,E,A)}set(e,t,n,i,s,o,l,u,d,p,m,y,v,S,E,A){const M=this.elements;return M[0]=e,M[4]=t,M[8]=n,M[12]=i,M[1]=s,M[5]=o,M[9]=l,M[13]=u,M[2]=d,M[6]=p,M[10]=m,M[14]=y,M[3]=v,M[7]=S,M[11]=E,M[15]=A,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Nt().fromArray(this.elements)}copy(e){const t=this.elements,n=e.elements;return 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],this}copyPosition(e){const t=this.elements,n=e.elements;return t[12]=n[12],t[13]=n[13],t[14]=n[14],this}setFromMatrix3(e){const t=e.elements;return 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),this}extractBasis(e,t,n){return e.setFromMatrixColumn(this,0),t.setFromMatrixColumn(this,1),n.setFromMatrixColumn(this,2),this}makeBasis(e,t,n){return 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),this}extractRotation(e){const t=this.elements,n=e.elements,i=1/ed.setFromMatrixColumn(e,0).length(),s=1/ed.setFromMatrixColumn(e,1).length(),o=1/ed.setFromMatrixColumn(e,2).length();return t[0]=n[0]*i,t[1]=n[1]*i,t[2]=n[2]*i,t[3]=0,t[4]=n[4]*s,t[5]=n[5]*s,t[6]=n[6]*s,t[7]=0,t[8]=n[8]*o,t[9]=n[9]*o,t[10]=n[10]*o,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromEuler(e){const t=this.elements,n=e.x,i=e.y,s=e.z,o=Math.cos(n),l=Math.sin(n),u=Math.cos(i),d=Math.sin(i),p=Math.cos(s),m=Math.sin(s);if(e.order==="XYZ"){const y=o*p,v=o*m,S=l*p,E=l*m;t[0]=u*p,t[4]=-u*m,t[8]=d,t[1]=v+S*d,t[5]=y-E*d,t[9]=-l*u,t[2]=E-y*d,t[6]=S+v*d,t[10]=o*u}else if(e.order==="YXZ"){const y=u*p,v=u*m,S=d*p,E=d*m;t[0]=y+E*l,t[4]=S*l-v,t[8]=o*d,t[1]=o*m,t[5]=o*p,t[9]=-l,t[2]=v*l-S,t[6]=E+y*l,t[10]=o*u}else if(e.order==="ZXY"){const y=u*p,v=u*m,S=d*p,E=d*m;t[0]=y-E*l,t[4]=-o*m,t[8]=S+v*l,t[1]=v+S*l,t[5]=o*p,t[9]=E-y*l,t[2]=-o*d,t[6]=l,t[10]=o*u}else if(e.order==="ZYX"){const y=o*p,v=o*m,S=l*p,E=l*m;t[0]=u*p,t[4]=S*d-v,t[8]=y*d+E,t[1]=u*m,t[5]=E*d+y,t[9]=v*d-S,t[2]=-d,t[6]=l*u,t[10]=o*u}else if(e.order==="YZX"){const y=o*u,v=o*d,S=l*u,E=l*d;t[0]=u*p,t[4]=E-y*m,t[8]=S*m+v,t[1]=m,t[5]=o*p,t[9]=-l*p,t[2]=-d*p,t[6]=v*m+S,t[10]=y-E*m}else if(e.order==="XZY"){const y=o*u,v=o*d,S=l*u,E=l*d;t[0]=u*p,t[4]=-m,t[8]=d*p,t[1]=y*m+E,t[5]=o*p,t[9]=v*m-S,t[2]=S*m-v,t[6]=l*p,t[10]=E*m+y}return t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this}makeRotationFromQuaternion(e){return this.compose(GP,e,VP)}lookAt(e,t,n){const i=this.elements;return ps.subVectors(e,t),ps.lengthSq()===0&&(ps.z=1),ps.normalize(),Gl.crossVectors(n,ps),Gl.lengthSq()===0&&(Math.abs(n.z)===1?ps.x+=1e-4:ps.z+=1e-4,ps.normalize(),Gl.crossVectors(n,ps)),Gl.normalize(),M0.crossVectors(ps,Gl),i[0]=Gl.x,i[4]=M0.x,i[8]=ps.x,i[1]=Gl.y,i[5]=M0.y,i[9]=ps.y,i[2]=Gl.z,i[6]=M0.z,i[10]=ps.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,i=t.elements,s=this.elements,o=n[0],l=n[4],u=n[8],d=n[12],p=n[1],m=n[5],y=n[9],v=n[13],S=n[2],E=n[6],A=n[10],M=n[14],T=n[3],I=n[7],P=n[11],k=n[15],O=i[0],N=i[4],H=i[8],F=i[12],L=i[1],V=i[5],te=i[9],ne=i[13],ce=i[2],me=i[6],he=i[10],ge=i[14],U=i[3],Z=i[7],q=i[11],X=i[15];return s[0]=o*O+l*L+u*ce+d*U,s[4]=o*N+l*V+u*me+d*Z,s[8]=o*H+l*te+u*he+d*q,s[12]=o*F+l*ne+u*ge+d*X,s[1]=p*O+m*L+y*ce+v*U,s[5]=p*N+m*V+y*me+v*Z,s[9]=p*H+m*te+y*he+v*q,s[13]=p*F+m*ne+y*ge+v*X,s[2]=S*O+E*L+A*ce+M*U,s[6]=S*N+E*V+A*me+M*Z,s[10]=S*H+E*te+A*he+M*q,s[14]=S*F+E*ne+A*ge+M*X,s[3]=T*O+I*L+P*ce+k*U,s[7]=T*N+I*V+P*me+k*Z,s[11]=T*H+I*te+P*he+k*q,s[15]=T*F+I*ne+P*ge+k*X,this}multiplyScalar(e){const t=this.elements;return 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,this}determinant(){const e=this.elements,t=e[0],n=e[4],i=e[8],s=e[12],o=e[1],l=e[5],u=e[9],d=e[13],p=e[2],m=e[6],y=e[10],v=e[14],S=e[3],E=e[7],A=e[11],M=e[15];return S*(+s*u*m-i*d*m-s*l*y+n*d*y+i*l*v-n*u*v)+E*(+t*u*v-t*d*y+s*o*y-i*o*v+i*d*p-s*u*p)+A*(+t*d*m-t*l*v-s*o*m+n*o*v+s*l*p-n*d*p)+M*(-i*l*p-t*u*m+t*l*y+i*o*m-n*o*y+n*u*p)}transpose(){const e=this.elements;let t;return 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,this}setPosition(e,t,n){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=t,i[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],d=e[7],p=e[8],m=e[9],y=e[10],v=e[11],S=e[12],E=e[13],A=e[14],M=e[15],T=m*A*d-E*y*d+E*u*v-l*A*v-m*u*M+l*y*M,I=S*y*d-p*A*d-S*u*v+o*A*v+p*u*M-o*y*M,P=p*E*d-S*m*d+S*l*v-o*E*v-p*l*M+o*m*M,k=S*m*u-p*E*u-S*l*y+o*E*y+p*l*A-o*m*A,O=t*T+n*I+i*P+s*k;if(O===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const N=1/O;return e[0]=T*N,e[1]=(E*y*s-m*A*s-E*i*v+n*A*v+m*i*M-n*y*M)*N,e[2]=(l*A*s-E*u*s+E*i*d-n*A*d-l*i*M+n*u*M)*N,e[3]=(m*u*s-l*y*s-m*i*d+n*y*d+l*i*v-n*u*v)*N,e[4]=I*N,e[5]=(p*A*s-S*y*s+S*i*v-t*A*v-p*i*M+t*y*M)*N,e[6]=(S*u*s-o*A*s-S*i*d+t*A*d+o*i*M-t*u*M)*N,e[7]=(o*y*s-p*u*s+p*i*d-t*y*d-o*i*v+t*u*v)*N,e[8]=P*N,e[9]=(S*m*s-p*E*s-S*n*v+t*E*v+p*n*M-t*m*M)*N,e[10]=(o*E*s-S*l*s+S*n*d-t*E*d-o*n*M+t*l*M)*N,e[11]=(p*l*s-o*m*s-p*n*d+t*m*d+o*n*v-t*l*v)*N,e[12]=k*N,e[13]=(p*E*i-S*m*i+S*n*y-t*E*y-p*n*A+t*m*A)*N,e[14]=(S*l*i-o*E*i-S*n*u+t*E*u+o*n*A-t*l*A)*N,e[15]=(o*m*i-p*l*i+p*n*u-t*m*u-o*n*y+t*l*y)*N,this}scale(e){const t=this.elements,n=e.x,i=e.y,s=e.z;return t[0]*=n,t[4]*=i,t[8]*=s,t[1]*=n,t[5]*=i,t[9]*=s,t[2]*=n,t[6]*=i,t[10]*=s,t[3]*=n,t[7]*=i,t[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,t=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],n=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,i))}makeTranslation(e,t,n){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,t,0,0,1,n,0,0,0,1),this}makeRotationX(e){const t=Math.cos(e),n=Math.sin(e);return this.set(1,0,0,0,0,t,-n,0,0,n,t,0,0,0,0,1),this}makeRotationY(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,0,n,0,0,1,0,0,-n,0,t,0,0,0,0,1),this}makeRotationZ(e){const t=Math.cos(e),n=Math.sin(e);return this.set(t,-n,0,0,n,t,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,t){const n=Math.cos(t),i=Math.sin(t),s=1-n,o=e.x,l=e.y,u=e.z,d=s*o,p=s*l;return this.set(d*o+n,d*l-i*u,d*u+i*l,0,d*l+i*u,p*l+n,p*u-i*o,0,d*u-i*l,p*u+i*o,s*u*u+n,0,0,0,0,1),this}makeScale(e,t,n){return this.set(e,0,0,0,0,t,0,0,0,0,n,0,0,0,0,1),this}makeShear(e,t,n,i,s,o){return this.set(1,n,s,0,e,1,o,0,t,i,1,0,0,0,0,1),this}compose(e,t,n){const i=this.elements,s=t._x,o=t._y,l=t._z,u=t._w,d=s+s,p=o+o,m=l+l,y=s*d,v=s*p,S=s*m,E=o*p,A=o*m,M=l*m,T=u*d,I=u*p,P=u*m,k=n.x,O=n.y,N=n.z;return i[0]=(1-(E+M))*k,i[1]=(v+P)*k,i[2]=(S-I)*k,i[3]=0,i[4]=(v-P)*O,i[5]=(1-(y+M))*O,i[6]=(A+T)*O,i[7]=0,i[8]=(S+I)*N,i[9]=(A-T)*N,i[10]=(1-(y+E))*N,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,t,n){const i=this.elements;let s=ed.set(i[0],i[1],i[2]).length();const o=ed.set(i[4],i[5],i[6]).length(),l=ed.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],go.copy(this);const d=1/s,p=1/o,m=1/l;return go.elements[0]*=d,go.elements[1]*=d,go.elements[2]*=d,go.elements[4]*=p,go.elements[5]*=p,go.elements[6]*=p,go.elements[8]*=m,go.elements[9]*=m,go.elements[10]*=m,t.setFromRotationMatrix(go),n.x=s,n.y=o,n.z=l,this}makePerspective(e,t,n,i,s,o,l=Xo){const u=this.elements,d=2*s/(t-e),p=2*s/(n-i),m=(t+e)/(t-e),y=(n+i)/(n-i);let v,S;if(l===Xo)v=-(o+s)/(o-s),S=-2*o*s/(o-s);else if(l===zp)v=-o/(o-s),S=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+l);return u[0]=d,u[4]=0,u[8]=m,u[12]=0,u[1]=0,u[5]=p,u[9]=y,u[13]=0,u[2]=0,u[6]=0,u[10]=v,u[14]=S,u[3]=0,u[7]=0,u[11]=-1,u[15]=0,this}makeOrthographic(e,t,n,i,s,o,l=Xo){const u=this.elements,d=1/(t-e),p=1/(n-i),m=1/(o-s),y=(t+e)*d,v=(n+i)*p;let S,E;if(l===Xo)S=(o+s)*m,E=-2*m;else if(l===zp)S=s*m,E=-1*m;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+l);return u[0]=2*d,u[4]=0,u[8]=0,u[12]=-y,u[1]=0,u[5]=2*p,u[9]=0,u[13]=-v,u[2]=0,u[6]=0,u[10]=E,u[14]=-S,u[3]=0,u[7]=0,u[11]=0,u[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let i=0;i<16;i++)if(t[i]!==n[i])return!1;return!0}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;return 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],e}}const ed=new $,go=new Nt,GP=new $(0,0,0),VP=new $(1,1,1),Gl=new $,M0=new $,ps=new $,aw=new Nt,lw=new fi;class Ms{constructor(e=0,t=0,n=0,i=Ms.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=i}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,i=this._order){return this._x=e,this._y=t,this._z=n,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,t=this._order,n=!0){const i=e.elements,s=i[0],o=i[4],l=i[8],u=i[1],d=i[5],p=i[9],m=i[2],y=i[6],v=i[10];switch(t){case"XYZ":this._y=Math.asin(Yt(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-p,v),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(y,d),this._z=0);break;case"YXZ":this._x=Math.asin(-Yt(p,-1,1)),Math.abs(p)<.9999999?(this._y=Math.atan2(l,v),this._z=Math.atan2(u,d)):(this._y=Math.atan2(-m,s),this._z=0);break;case"ZXY":this._x=Math.asin(Yt(y,-1,1)),Math.abs(y)<.9999999?(this._y=Math.atan2(-m,v),this._z=Math.atan2(-o,d)):(this._y=0,this._z=Math.atan2(u,s));break;case"ZYX":this._y=Math.asin(-Yt(m,-1,1)),Math.abs(m)<.9999999?(this._x=Math.atan2(y,v),this._z=Math.atan2(u,s)):(this._x=0,this._z=Math.atan2(-o,d));break;case"YZX":this._z=Math.asin(Yt(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(-p,d),this._y=Math.atan2(-m,s)):(this._x=0,this._y=Math.atan2(l,v));break;case"XZY":this._z=Math.asin(-Yt(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(y,d),this._y=Math.atan2(l,s)):(this._x=Math.atan2(-p,v),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,n===!0&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return aw.makeRotationFromQuaternion(e),this.setFromRotationMatrix(aw,t,n)}setFromVector3(e,t=this._order){return this.set(e.x,e.y,e.z,t)}reorder(e){return lw.setFromEuler(this),this.setFromQuaternion(lw,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],t=0){return e[t]=this._x,e[t+1]=this._y,e[t+2]=this._z,e[t+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}Ms.DEFAULT_ORDER="XYZ";class wu{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(this.mask&e.mask)!==0}isEnabled(e){return(this.mask&(1<<e|0))!==0}}let WP=0;const cw=new $,td=new fi,ka=new Nt,S0=new $,np=new $,XP=new $,JP=new fi,uw=new $(1,0,0),hw=new $(0,1,0),dw=new $(0,0,1),fw={type:"added"},$P={type:"removed"},nd={type:"childadded",child:null},hv={type:"childremoved",child:null};class fn extends ta{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:WP++}),this.uuid=_s(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=fn.DEFAULT_UP.clone();const e=new $,t=new Ms,n=new fi,i=new $(1,1,1);function s(){n.setFromEuler(t,!1)}function o(){t.setFromQuaternion(n,void 0,!1)}t._onChange(s),n._onChange(o),Object.defineProperties(this,{position:{configurable:!0,enumerable:!0,value:e},rotation:{configurable:!0,enumerable:!0,value:t},quaternion:{configurable:!0,enumerable:!0,value:n},scale:{configurable:!0,enumerable:!0,value:i},modelViewMatrix:{value:new Nt},normalMatrix:{value:new Qt}}),this.matrix=new Nt,this.matrixWorld=new Nt,this.matrixAutoUpdate=fn.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldAutoUpdate=fn.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.layers=new wu,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeShadow(){}onAfterShadow(){}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}
vendor: 4,289 bytes, line 44
44setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return td.setFromAxisAngle(e,t),this.quaternion.multiply(td),this}rotateOnWorldAxis(e,t){return td.setFromAxisAngle(e,t),this.quaternion.premultiply(td),this}rotateX(e){return this.rotateOnAxis(uw,e)}rotateY(e){return this.rotateOnAxis(hw,e)}rotateZ(e){return this.rotateOnAxis(dw,e)}translateOnAxis(e,t){return cw.copy(e).applyQuaternion(this.quaternion),this.position.add(cw.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(uw,e)}translateY(e){return this.translateOnAxis(hw,e)}translateZ(e){return this.translateOnAxis(dw,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(ka.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?S0.copy(e):S0.set(e,t,n);const i=this.parent;this.updateWorldMatrix(!0,!1),np.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?ka.lookAt(np,S0,this.up):ka.lookAt(S0,np,this.up),this.quaternion.setFromRotationMatrix(ka),i&&(ka.extractRotation(i.matrixWorld),td.setFromRotationMatrix(ka),this.quaternion.premultiply(td.invert()))}add(e){if(arguments.length>1){for(let t=0;t<arguments.length;t++)this.add(arguments[t]);return this}return e===this?(console.error("THREE.Object3D.add: object can't be added as a child of itself.",e),this):(e&&e.isObject3D?(e.removeFromParent(),e.parent=this,this.children.push(e),e.dispatchEvent(fw),nd.child=e,this.dispatchEvent(nd),nd.child=null):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let n=0;n<arguments.length;n++)this.remove(arguments[n]);return this}const t=this.children.indexOf(e);return t!==-1&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent($P),hv.child=e,this.dispatchEvent(hv),hv.child=null),this}removeFromParent(){const e=this.parent;return e!==null&&e.remove(this),this}clear(){return this.remove(...this.children)}attach(e){return this.updateWorldMatrix(!0,!1),ka.copy(this.matrixWorld).invert(),e.parent!==null&&(e.parent.updateWorldMatrix(!0,!1),ka.multiply(e.parent.matrixWorld)),e.applyMatrix4(ka),e.removeFromParent(),e.parent=this,this.children.push(e),e.updateWorldMatrix(!1,!0),e.dispatchEvent(fw),nd.child=e,this.dispatchEvent(nd),nd.child=null,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,i=this.children.length;n<i;n++){const o=this.children[n].getObjectByProperty(e,t);if(o!==void 0)return o}}getObjectsByProperty(e,t,n=[]){this[e]===t&&n.push(this);const i=this.children;for(let s=0,o=i.length;s<o;s++)i[s].getObjectsByProperty(e,t,n);return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(np,e,XP),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(np,JP,e),e}getWorldDirection(e){this.updateWorldMatrix(!0,!1);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,i=t.length;n<i;n++)t[n].traverse(e)}traverseVisible(e){if(this.visible===!1)return;e(this);const t=this.children;for(let n=0,i=t.length;n<i;n++)t[n].traverseVisible(e)}traverseAncestors(e){const t=this.parent;t!==null&&(e(t),t.traverseAncestors(e))}updateMatrix(){this.matrix.compose(this.position,this.quaternion,this.scale),this.matrixWorldNeedsUpdate=!0}updateMatrixWorld(e){this.matrixAutoUpdate&&this.updateMatrix(),(this.matrixWorldNeedsUpdate||e)&&(this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),this.matrixWorldNeedsUpdate=!1,e=!0);const t=this.children;for(let n=0,i=t.length;n<i;n++)t[n].updateMatrixWorld(e)}updateWorldMatrix(e,t){const n=this.parent;if(e===!0&&n!==null&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),this.matrixWorldAutoUpdate===!0&&(this.parent===null?this.matrixWorld.copy(this.matrix
vendor: 4,876 bytes, line 44
44):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix)),t===!0){const i=this.children;for(let s=0,o=i.length;s<o;s++)i[s].updateWorldMatrix(!1,!0)}}toJSON(e){const t=e===void 0||typeof e=="string",n={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},n.metadata={version:4.6,type:"Object",generator:"Object3D.toJSON"});const i={};i.uuid=this.uuid,i.type=this.type,this.name!==""&&(i.name=this.name),this.castShadow===!0&&(i.castShadow=!0),this.receiveShadow===!0&&(i.receiveShadow=!0),this.visible===!1&&(i.visible=!1),this.frustumCulled===!1&&(i.frustumCulled=!1),this.renderOrder!==0&&(i.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(l=>({boxInitialized:l.boxInitialized,boxMin:l.box.min.toArray(),boxMax:l.box.max.toArray(),sphereInitialized:l.sphereInitialized,sphereRadius:l.sphere.radius,sphereCenter:l.sphere.center.toArray()})),i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function s(l,u){return l[u.uuid]===void 0&&(l[u.uuid]=u.toJSON(e)),u.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(e.geometries,this.geometry);const l=this.geometry.parameters;if(l!==void 0&&l.shapes!==void 0){const u=l.shapes;if(Array.isArray(u))for(let d=0,p=u.length;d<p;d++){const m=u[d];s(e.shapes,m)}else s(e.shapes,u)}}if(this.isSkinnedMesh&&(i.bindMode=this.bindMode,i.bindMatrix=this.bindMatrix.toArray(),this.skeleton!==void 0&&(s(e.skeletons,this.skeleton),i.skeleton=this.skeleton.uuid)),this.material!==void 0)if(Array.isArray(this.material)){const l=[];for(let u=0,d=this.material.length;u<d;u++)l.push(s(e.materials,this.material[u]));i.material=l}else i.material=s(e.materials,this.material);if(this.children.length>0){i.children=[];for(let l=0;l<this.children.length;l++)i.children.push(this.children[l].toJSON(e).object)}if(this.animations.length>0){i.animations=[];for(let l=0;l<this.animations.length;l++){const u=this.animations[l];i.animations.push(s(e.animations,u))}}if(t){const l=o(e.geometries),u=o(e.materials),d=o(e.textures),p=o(e.images),m=o(e.shapes),y=o(e.skeletons),v=o(e.animations),S=o(e.nodes);l.length>0&&(n.geometries=l),u.length>0&&(n.materials=u),d.length>0&&(n.textures=d),p.length>0&&(n.images=p),m.length>0&&(n.shapes=m),y.length>0&&(n.skeletons=y),v.length>0&&(n.animations=v),S.length>0&&(n.nodes=S)}return n.object=i,n;function o(l){const u=[];for(const d in l){const p=l[d];delete p.metadata,u.push(p)}return u}}clone(e){return new this.constructor().copy(this,e)}copy(e,t=!0){if(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.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,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.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),t===!0)for(let n=0;n<e.children.length;n++){const i=e.children[n];this.add(i.clone())}return this}}fn.DEFAULT_UP=new $(0,1,0);fn.DEFAULT_MATRIX_AUTO_UPDATE=!0;fn.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const yo=new $,Ua=new $,dv=new $,ja=new $,rd=new $,id=new $,pw=new $,fv=ne
vendor: 2,785 bytes, line 44
44w $,pv=new $,mv=new $,gv=new xn,yv=new xn,vv=new xn;class es{constructor(e=new $,t=new $,n=new $){this.a=e,this.b=t,this.c=n}static getNormal(e,t,n,i){i.subVectors(n,t),yo.subVectors(e,t),i.cross(yo);const s=i.lengthSq();return s>0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,t,n,i,s){yo.subVectors(i,t),Ua.subVectors(n,t),dv.subVectors(e,t);const o=yo.dot(yo),l=yo.dot(Ua),u=yo.dot(dv),d=Ua.dot(Ua),p=Ua.dot(dv),m=o*d-l*l;if(m===0)return s.set(0,0,0),null;const y=1/m,v=(d*u-l*p)*y,S=(o*p-l*u)*y;return s.set(1-v-S,S,v)}static containsPoint(e,t,n,i){return this.getBarycoord(e,t,n,i,ja)===null?!1:ja.x>=0&&ja.y>=0&&ja.x+ja.y<=1}static getInterpolation(e,t,n,i,s,o,l,u){return this.getBarycoord(e,t,n,i,ja)===null?(u.x=0,u.y=0,"z"in u&&(u.z=0),"w"in u&&(u.w=0),null):(u.setScalar(0),u.addScaledVector(s,ja.x),u.addScaledVector(o,ja.y),u.addScaledVector(l,ja.z),u)}static getInterpolatedAttribute(e,t,n,i,s,o){return gv.setScalar(0),yv.setScalar(0),vv.setScalar(0),gv.fromBufferAttribute(e,t),yv.fromBufferAttribute(e,n),vv.fromBufferAttribute(e,i),o.setScalar(0),o.addScaledVector(gv,s.x),o.addScaledVector(yv,s.y),o.addScaledVector(vv,s.z),o}static isFrontFacing(e,t,n,i){return yo.subVectors(n,t),Ua.subVectors(e,t),yo.cross(Ua).dot(i)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,i){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,t,n,i){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return yo.subVectors(this.c,this.b),Ua.subVectors(this.a,this.b),yo.cross(Ua).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return es.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return es.getBarycoord(e,this.a,this.b,this.c,t)}getInterpolation(e,t,n,i,s){return es.getInterpolation(e,this.a,this.b,this.c,t,n,i,s)}containsPoint(e){return es.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return es.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,i=this.b,s=this.c;let o,l;rd.subVectors(i,n),id.subVectors(s,n),fv.subVectors(e,n);const u=rd.dot(fv),d=id.dot(fv);if(u<=0&&d<=0)return t.copy(n);pv.subVectors(e,i);const p=rd.dot(pv),m=id.dot(pv);if(p>=0&&m<=p)return t.copy(i);const y=u*m-p*d;if(y<=0&&u>=0&&p<=0)return o=u/(u-p),t.copy(n).addScaledVector(rd,o);mv.subVectors(e,s);const v=rd.dot(mv),S=id.dot(mv);if(S>=0&&v<=S)return t.copy(s);const E=v*d-u*S;
vendor: 18,800 bytes, line 44
44if(E<=0&&d>=0&&S<=0)return l=d/(d-S),t.copy(n).addScaledVector(id,l);const A=p*S-v*m;if(A<=0&&m-p>=0&&v-S>=0)return pw.subVectors(s,i),l=(m-p)/(m-p+(v-S)),t.copy(i).addScaledVector(pw,l);const M=1/(A+E+y);return o=E*M,l=y*M,t.copy(n).addScaledVector(rd,o).addScaledVector(id,l)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const rC={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},Vl={h:0,s:0,l:0},w0={h:0,s:0,l:0};function _v(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+(e-r)*6*t:t<1/2?e:t<2/3?r+(e-r)*6*(2/3-t):r}let tt=class{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,t,n)}set(e,t,n){if(t===void 0&&n===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,t,n);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,t=Zi){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,yn.toWorkingColorSpace(this,t),this}setRGB(e,t,n,i=yn.workingColorSpace){return this.r=e,this.g=t,this.b=n,yn.toWorkingColorSpace(this,i),this}setHSL(e,t,n,i=yn.workingColorSpace){if(e=Zx(e,1),t=Yt(t,0,1),n=Yt(n,0,1),t===0)this.r=this.g=this.b=n;else{const s=n<=.5?n*(1+t):n+t-n*t,o=2*n-s;this.r=_v(o,s,e+1/3),this.g=_v(o,s,e),this.b=_v(o,s,e-1/3)}return yn.toWorkingColorSpace(this,i),this}setStyle(e,t=Zi){function n(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=i[1],l=i[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,t);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,t);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(l))return n(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,t);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=i[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,t);if(o===6)return this.setHex(parseInt(s,16),t);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,t);return this}setColorName(e,t=Zi){const n=rC[e.toLowerCase()];return n!==void 0?this.setHex(n,t):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=qa(e.r),this.g=qa(e.g),this.b=qa(e.b),this}copyLinearToSRGB(e){return this.r=Td(e.r),this.g=Td(e.g),this.b=Td(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Zi){return yn.fromWorkingColorSpace(ci.copy(this),e),Math.round(Yt(ci.r*255,0,255))*65536+Math.round(Yt(ci.g*255,0,255))*256+Math.round(Yt(ci.b*255,0,255))}getHexString(e=Zi){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,t=yn.workingColorSpace){yn.fromWorkingColorSpace(ci.copy(this),t);const n=ci.r,i=ci.g,s=ci.b,o=Math.max(n,i,s),l=Math.min(n,i,s);let u,d;const p=(l+o)/2;if(l===o)u=0,d=0;else{const m=o-l;switch(d=p<=.5?m/(o+l):m/(2-o-l),o){case n:u=(i-s)/m+(i<s?6:0);break;case i:u=(s-n)/m+2;break;case s:u=(n-i)/m+4;break}u/=6}return e.h=u,e.s=d,e.l=p,e}getRGB(e,t=yn.workingColorSpace){return yn.fromWorkingColorSpace(ci.copy(this),t),e.r=ci.r,e.g=ci.g,e.b=ci.b,e}getStyle(e=Zi){yn.fromWorkingColorSpace(ci.copy(this),e);const t=ci.r,n=ci.g,i=ci.b;return e!==Zi?`color(${e} ${t.toFixed(3)} ${n.toFixed(3)} ${i.toFixed(3)})`:`rgb(${Math.round(t*255)},${Math.round(n*255)},${Math.round(i*255)})`}offsetHSL(e,t,n){return this.getHSL(Vl),this.setHSL(Vl.h+e,Vl.s+t,Vl.l+n)}add(e){return this.r+=e.r,this.g+=e.g,this.b+=e.b,this}addColors(e,t){return this.r=e.r+t.r,this.g=e.g+t.g,this.b=e.b+t.b,this}addScalar(e){return this.r+=e,this.g+=e,this.b+=e,this}sub(e){return 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),this}multiply(e){return this.r*=e.r,this.g*=e.g,this.b*=e.b,this}multiplyScalar(e){return this.r*=e,this.g*=e,this.b*=e,this}lerp(e,t){return this.r+=(e.r-this.r)*t,this.g+=(e.g-this.g)*t,this.b+=(e.b-this.b)*t,this}lerpColors(e,t,n){return 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,this}lerpHSL(e,t){this.getHSL(Vl),e.getHSL(w0);const n=Ip(Vl.h,w0.h,t),i=Ip(Vl.s,w0.s,t),s=Ip(Vl.l,w0.l,t);return this.setHSL(n,i,s),this}setFromVector3(e){return this.r=e.x,this.g=e.y,this.b=e.z,this}applyMatrix3(e){const t=this.r,n=this.g,i=this.b,s=e.elements;return this.r=s[0]*t+s[3]*n+s[6]*i,this.g=s[1]*t+s[4]*n+s[7]*i,this.b=s[2]*t+s[5]*n+s[8]*i,this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e,t=0){return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(e=[],t=0){return e[t]=this.r,e[t+1]=this.g,e[t+2]=this.b,e}fromBufferAttribute(e,t){return this.r=e.getX(t),this.g=e.getY(t),this.b=e.getZ(t),this}toJSON(){return this.getHex()}*[Symbol.iterator](){yield this.r,yield this.g,yield this.b}};const ci=new tt;tt.NAMES=rC;let KP=0;class xr extends ta{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:KP++}),this.uuid=_s(),this.name="",this.type="Material",this.blending=xu,this.side=Qo,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.alphaHash=!1,this.blendSrc=Tg,this.blendDst=Ig,this.blendEquation=ql,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.blendColor=new tt(0,0,0),this.blendAlpha=0,this.depthFunc=Cu,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=$_,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=uu,this.stencilZFail=uu,this.stencilZPass=uu,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.forceSinglePass=!1,this.visible=!0,this.toneMapped=!0,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}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const t in e){const n=e[t];if(n===void 0){console.warn(`THREE.Material: parameter '${t}' has value of undefined.`);continue}const i=this[t];if(i===void 0){console.warn(`THREE.Material: '${t}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(n):i&&i.isVector3&&n&&n.isVector3?i.copy(n):this[t]=n}}toJSON(e){const t=e===void 0||typeof e=="string";t&&(e={textures:{},images:{}});const n={metadata:{version:4.6,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()),this.roughness!==void 0&&(n.roughness=this.roughness),this.metalness!==void 0&&(n.metalness=this.metalness),this.sheen!==void 0&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(n.shininess=this.shininess),this.clearcoat!==void 0&&(n.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(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),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(n.dispersion=this.dispersion),this.iridescence!==void 0&&(n.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(n.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(n.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(n.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(n.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(n.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(n.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(n.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),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),this.lightMap&&this.lightMap.isTexture&&(n.lightMap=this.lightMap.toJSON(e).uuid,n.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(n.aoMap=this.aoMap.toJSON(e).uuid,n.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(n.bumpMap=this.bumpMap.toJSON(e).uuid,n.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(n.normalMap=this.normalMap.toJSON(e).uuid,n.normalMapType=this.normalMapType,n.normalScale=this.normalScale.toArray()),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),this.envMap&&this.envMap.isTexture&&(n.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(n.combine=this.combine)),this.envMapRotation!==void 0&&(n.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(n.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(n.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(n.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(n.size=this.size),this.shadowSide!==null&&(n.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==xu&&(n.blending=this.blending),this.side!==Qo&&(n.side=this.side),this.vertexColors===!0&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),this.transparent===!0&&(n.transparent=!0),this.blendSrc!==Tg&&(n.blendSrc=this.blendSrc),this.blendDst!==Ig&&(n.blendDst=this.blendDst),this.blendEquation!==ql&&(n.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(n.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(n.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(n.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(n.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(n.blendAlpha=this.blendAlpha),this.depthFunc!==Cu&&(n.depthFunc=this.depthFunc),this.depthTest===!1&&(n.depthTest=this.depthTest),this.depthWrite===!1&&(n.depthWrite=this.depthWrite),this.colorWrite===!1&&(n.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(n.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==$_&&(n.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(n.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(n.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==uu&&(n.stencilFail=this.stencilFail),this.stencilZFail!==uu&&(n.stencilZFail=this.stencilZFail),this.stencilZPass!==uu&&(n.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(n.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(n.rotation=this.rotation),this.polygonOffset===!0&&(n.polygonOffset=!0),this.polygonOffsetFactor!==0&&(n.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(n.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(n.linewidth=this.linewidth),this.dashSize!==void 0&&(n.dashSize=this.dashSize),this.gapSize!==void 0&&(n.gapSize=this.gapSize),this.scale!==void 0&&(n.scale=this.scale),this.dithering===!0&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),this.alphaHash===!0&&(n.alphaHash=!0),this.alphaToCoverage===!0&&(n.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(n.premultipliedAlpha=!0),this.forceSinglePass===!0&&(n.forceSinglePass=!0),this.wireframe===!0&&(n.wireframe=!0),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(n.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(n.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(n.flatShading=!0),this.visible===!1&&(n.visible=!1),this.toneMapped===!1&&(n.toneMapped=!1),this.fog===!1&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData);function i(s){const o=[];for(const l in s){const u=s[l];delete u.metadata,o.push(u)}return o}if(t){const s=i(e.textures),o=i(e.images);s.length>0&&(n.textures=s),o.length>0&&(n.images=o)}return n}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,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.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,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(t!==null){const i=t.length;n=new Array(i);for(let s=0;s!==i;++s)n[s]=t[s].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipSh
vendor: 4,278 bytes, line 44
44adows,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.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}}class vs extends xr{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new tt(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.envMapRotation=new Ms,this.combine=tm,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return 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.envMapRotation.copy(e.envMapRotation),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.fog=e.fog,this}}const Xa=YP();function YP(){const r=new ArrayBuffer(4),e=new Float32Array(r),t=new Uint32Array(r),n=new Uint32Array(512),i=new Uint32Array(512);for(let u=0;u<256;++u){const d=u-127;d<-27?(n[u]=0,n[u|256]=32768,i[u]=24,i[u|256]=24):d<-14?(n[u]=1024>>-d-14,n[u|256]=1024>>-d-14|32768,i[u]=-d-1,i[u|256]=-d-1):d<=15?(n[u]=d+15<<10,n[u|256]=d+15<<10|32768,i[u]=13,i[u|256]=13):d<128?(n[u]=31744,n[u|256]=64512,i[u]=24,i[u|256]=24):(n[u]=31744,n[u|256]=64512,i[u]=13,i[u|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),l=new Uint32Array(64);for(let u=1;u<1024;++u){let d=u<<13,p=0;for(;!(d&8388608);)d<<=1,p-=8388608;d&=-8388609,p+=947912704,s[u]=d|p}for(let u=1024;u<2048;++u)s[u]=939524096+(u-1024<<13);for(let u=1;u<31;++u)o[u]=u<<23;o[31]=1199570944,o[32]=2147483648;for(let u=33;u<63;++u)o[u]=2147483648+(u-32<<23);o[63]=3347054592;for(let u=1;u<64;++u)u!==32&&(l[u]=1024);return{floatView:e,uint32View:t,baseTable:n,shiftTable:i,mantissaTable:s,exponentTable:o,offsetTable:l}}function qi(r){Math.abs(r)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),r=Yt(r,-65504,65504),Xa.floatView[0]=r;const e=Xa.uint32View[0],t=e>>23&511;return Xa.baseTable[t]+((e&8388607)>>Xa.shiftTable[t])}function xp(r){const e=r>>10;return Xa.uint32View[0]=Xa.mantissaTable[Xa.offsetTable[e]+(r&1023)]+Xa.exponentTable[e],Xa.floatView[0]}const qP={toHalfFloat:qi,fromHalfFloat:xp},vr=new $,A0=new Ne;class vn{constructor(e,t,n=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=t,this.count=e!==void 0?e.length/t:0,this.normalized=n,this.usage=jp,this.updateRanges=[],this.gpuType=Di,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return 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,this.gpuType=e.gpuType,this}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let i=0,s=this.itemSize;i<s;i++)this.array[e+i]=t.array[n+i];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(this.itemSize===2)for(let t=0,n=this.count;t<n;t++)A0.fromBufferAttribute(this,t),A0.applyMatrix3(e),this.setXY(t,A0.x,A0.y);else if(this.itemSize===3)for(let t=0,n=this.count;t<n;
vendor: 5,218 bytes, line 44
44t++)vr.fromBufferAttribute(this,t),vr.applyMatrix3(e),this.setXYZ(t,vr.x,vr.y,vr.z);return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++)vr.fromBufferAttribute(this,t),vr.applyMatrix4(e),this.setXYZ(t,vr.x,vr.y,vr.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)vr.fromBufferAttribute(this,t),vr.applyNormalMatrix(e),this.setXYZ(t,vr.x,vr.y,vr.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)vr.fromBufferAttribute(this,t),vr.transformDirection(e),this.setXYZ(t,vr.x,vr.y,vr.z);return this}set(e,t=0){return this.array.set(e,t),this}getComponent(e,t){let n=this.array[e*this.itemSize+t];return this.normalized&&(n=Oi(n,this.array)),n}setComponent(e,t,n){return this.normalized&&(n=nn(n,this.array)),this.array[e*this.itemSize+t]=n,this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=Oi(t,this.array)),t}setX(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=Oi(t,this.array)),t}setY(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize+1]=t,this}getZ(e){let t=this.array[e*this.itemSize+2];return this.normalized&&(t=Oi(t,this.array)),t}setZ(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize+2]=t,this}getW(e){let t=this.array[e*this.itemSize+3];return this.normalized&&(t=Oi(t,this.array)),t}setW(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,n){return e*=this.itemSize,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array)),this.array[e+0]=t,this.array[e+1]=n,this}setXYZ(e,t,n,i){return e*=this.itemSize,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array),i=nn(i,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=i,this}setXYZW(e,t,n,i,s){return e*=this.itemSize,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array),i=nn(i,this.array),s=nn(s,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=i,this.array[e+3]=s,this}onUpload(e){return this.onUploadCallback=e,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.from(this.array),normalized:this.normalized};return this.name!==""&&(e.name=this.name),this.usage!==jp&&(e.usage=this.usage),e}}class QP extends vn{constructor(e,t,n){super(new Int8Array(e),t,n)}}class ZP extends vn{constructor(e,t,n){super(new Uint8Array(e),t,n)}}class eR extends vn{constructor(e,t,n){super(new Uint8ClampedArray(e),t,n)}}class tR extends vn{constructor(e,t,n){super(new Int16Array(e),t,n)}}class tM extends vn{constructor(e,t,n){super(new Uint16Array(e),t,n)}}class nR extends vn{constructor(e,t,n){super(new Int32Array(e),t,n)}}class nM extends vn{constructor(e,t,n){super(new Uint32Array(e),t,n)}}class rR extends vn{constructor(e,t,n){super(new Uint16Array(e),t,n),this.isFloat16BufferAttribute=!0}getX(e){let t=xp(this.array[e*this.itemSize]);return this.normalized&&(t=Oi(t,this.array)),t}setX(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize]=qi(t),this}getY(e){let t=xp(this.array[e*this.itemSize+1]);return this.normalized&&(t=Oi(t,this.array)),t}setY(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize+1]=qi(t),this}getZ(e){let t=xp(this.array[e*this.itemSize+2]);return this.normalized&&(t=Oi(t,this.array)),t}setZ(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize+2]=qi(t),this}getW(e){let t=xp(this.array[e*this.itemSize+3]);return this.normalized&&(t=Oi(t,this.array)),t}setW(e,t){return this.normalized&&(t=nn(t,this.array)),this.array[e*this.itemSize+3]=qi(t),this}setXY(e,t,n){return e*=this.itemSize,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array)),this.array[e+0]=qi(t),this.array[e+1]=qi(n),this}setXYZ(e,t,n,i){return e*=this.itemSize,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array),i=nn(i,this.array)),this.array[e+0]=qi(t),this.array[e+1]=qi(n),this.array[e+2]=qi(i),this}setXYZW(e,t,n,i,s){return e*=this.itemSize,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array),i=nn(i,this.array),s=nn(s,this.array)),this.array[e+0]=qi(t),this.array[e+1]=qi(n),this.array[e+2]=qi(i),this.array[e+3]=qi(s),this}}class Et extends vn{constructor(e,t,n){super(new Float32Array(e),t,n)}}let iR=0;const Fs=new Nt,xv=new fn,sd=new $,ms=new pi,rp=new pi,Ur=new $;class Jt extends ta{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:iR++}),this.uuid=_s(),this.name="",this.type="BufferGeometry",this.index=null,this.indirect=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(e){return Array.isArray(e)?this.index=new(Zb(e)?nM:tM)(e,1):this.index=e,this}setIndirect(e){return this.indirect=e,this}getIndirect(){return this.indirect}getAttribute(e){return this.attributes[e]}setAttribute(e,t){return this.attributes[e]=t,this}deleteAttribute(e){return delete this.attributes[e],this}hasAttribute(e){return this.attributes[e]!==void 0}
vendor: 5,763 bytes, line 44
44addGroup(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;t!==void 0&&(t.applyMatrix4(e),t.needsUpdate=!0);const n=this.attributes.normal;if(n!==void 0){const s=new Qt().getNormalMatrix(e);n.applyNormalMatrix(s),n.needsUpdate=!0}const i=this.attributes.tangent;return i!==void 0&&(i.transformDirection(e),i.needsUpdate=!0),this.boundingBox!==null&&this.computeBoundingBox(),this.boundingSphere!==null&&this.computeBoundingSphere(),this}applyQuaternion(e){return Fs.makeRotationFromQuaternion(e),this.applyMatrix4(Fs),this}rotateX(e){return Fs.makeRotationX(e),this.applyMatrix4(Fs),this}rotateY(e){return Fs.makeRotationY(e),this.applyMatrix4(Fs),this}rotateZ(e){return Fs.makeRotationZ(e),this.applyMatrix4(Fs),this}translate(e,t,n){return Fs.makeTranslation(e,t,n),this.applyMatrix4(Fs),this}scale(e,t,n){return Fs.makeScale(e,t,n),this.applyMatrix4(Fs),this}lookAt(e){return xv.lookAt(e),xv.updateMatrix(),this.applyMatrix4(xv.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(sd).negate(),this.translate(sd.x,sd.y,sd.z),this}setFromPoints(e){const t=this.getAttribute("position");if(t===void 0){const n=[];for(let i=0,s=e.length;i<s;i++){const o=e[i];n.push(o.x,o.y,o.z||0)}this.setAttribute("position",new Et(n,3))}else{const n=Math.min(e.length,t.count);for(let i=0;i<n;i++){const s=e[i];t.setXYZ(i,s.x,s.y,s.z||0)}e.length>t.count&&console.warn("THREE.BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry."),t.needsUpdate=!0}return this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pi);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.",this),this.boundingBox.set(new $(-1/0,-1/0,-1/0),new $(1/0,1/0,1/0));return}if(e!==void 0){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,i=t.length;n<i;n++){const s=t[n];ms.setFromBufferAttribute(s),this.morphTargetsRelative?(Ur.addVectors(this.boundingBox.min,ms.min),this.boundingBox.expandByPoint(Ur),Ur.addVectors(this.boundingBox.max,ms.max),this.boundingBox.expandByPoint(Ur)):(this.boundingBox.expandByPoint(ms.min),this.boundingBox.expandByPoint(ms.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(){this.boundingSphere===null&&(this.boundingSphere=new ei);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute){console.error("THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.",this),this.boundingSphere.set(new $,1/0);return}if(e){const n=this.boundingSphere.center;if(ms.setFromBufferAttribute(e),t)for(let s=0,o=t.length;s<o;s++){const l=t[s];rp.setFromBufferAttribute(l),this.morphTargetsRelative?(Ur.addVectors(ms.min,rp.min),ms.expandByPoint(Ur),Ur.addVectors(ms.max,rp.max),ms.expandByPoint(Ur)):(ms.expandByPoint(rp.min),ms.expandByPoint(rp.max))}ms.getCenter(n);let i=0;for(let s=0,o=e.count;s<o;s++)Ur.fromBufferAttribute(e,s),i=Math.max(i,n.distanceToSquared(Ur));if(t)for(let s=0,o=t.length;s<o;s++){const l=t[s],u=this.morphTargetsRelative;for(let d=0,p=l.count;d<p;d++)Ur.fromBufferAttribute(l,d),u&&(sd.fromBufferAttribute(e,d),Ur.add(sd)),i=Math.max(i,n.distanceToSquared(Ur))}this.boundingSphere.radius=Math.sqrt(i),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,t=this.attributes;if(e===null||t.position===void 0||t.normal===void 0||t.uv===void 0){console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");return}const n=t.position,i=t.normal,s=t.uv;this.hasAttribute("tangent")===!1&&this.setAttribute("tangent",new vn(new Float32Array(4*n.count),4));const o=this.getAttribute("tangent"),l=[],u=[];for(let H=0;H<n.count;H++)l[H]=new $,u[H]=new $;const d=new $,p=new $,m=new $,y=new Ne,v=new Ne,S=new Ne,E=new $,A=new $;function M(H,F,L){d.fromBufferAttribute(n,H),p.fromBufferAttribute(n,F),m.fromBufferAttribute(n,L),y.fromBufferAttribute(s,H),v.fromBufferAttribute(s,F),S.fromBufferAttribute(s,L),p.sub(d),m.sub(d),v.sub(y),S.sub(y);const V=1/(v.x*S.y-S.x*v.y);isFinite(V)&&(E.copy(p).multiplyScalar(S.y).addScaledVector(m,-v.y).multiplyScalar(V),A.copy(m).multiplyScalar(v.x).addScaledVector(p,-S.x).multiplyScalar(V),l[H].add(E),l[F].add(E),l[L].add(E),u[H].add(A),u[F].add(A),u[L].add(A))}let T=this.groups;T.length===0&&(T=[{start:0,count:e.count}]);for(let H=0,F=T.length;H<F;++H){const L=T[H],V=L.start,te=L.count;for(let ne=V,ce=V+te;ne<ce;ne+=3)M(e.getX(ne+0),e.getX(ne+1),e.getX(ne+2))}const I=new $,P=new $,k=new $,O=new $;function N(H){k.fromBufferAttribute(i,H),O.copy(k);const F=l[H];I.copy(F),I.sub(k.multiplyScalar(k.dot(F))).normalize(),P.crossVectors(O,F);const V=P.dot(u[H])<0?-1:1;o.setXYZW(H,I.x,I.y,I.z,V)}for(let H=0,F=T.length;H<F;++H){const L=T[H],V=L.start,te=L.count;for(let ne=V,ce=V+te;ne<ce;ne+=3)N(e.getX(ne+0)),N(e.getX(ne+1)),N(e.getX(ne+2))}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(t!==void 0){let n=this.getAttribute("normal");if(n===void 0)n=new vn(new Float32Array(t.count*3),3),this.setAttribute("normal",n
vendor: 6,170 bytes, line 44
44);else for(let y=0,v=n.count;y<v;y++)n.setXYZ(y,0,0,0);const i=new $,s=new $,o=new $,l=new $,u=new $,d=new $,p=new $,m=new $;if(e)for(let y=0,v=e.count;y<v;y+=3){const S=e.getX(y+0),E=e.getX(y+1),A=e.getX(y+2);i.fromBufferAttribute(t,S),s.fromBufferAttribute(t,E),o.fromBufferAttribute(t,A),p.subVectors(o,s),m.subVectors(i,s),p.cross(m),l.fromBufferAttribute(n,S),u.fromBufferAttribute(n,E),d.fromBufferAttribute(n,A),l.add(p),u.add(p),d.add(p),n.setXYZ(S,l.x,l.y,l.z),n.setXYZ(E,u.x,u.y,u.z),n.setXYZ(A,d.x,d.y,d.z)}else for(let y=0,v=t.count;y<v;y+=3)i.fromBufferAttribute(t,y+0),s.fromBufferAttribute(t,y+1),o.fromBufferAttribute(t,y+2),p.subVectors(o,s),m.subVectors(i,s),p.cross(m),n.setXYZ(y+0,p.x,p.y,p.z),n.setXYZ(y+1,p.x,p.y,p.z),n.setXYZ(y+2,p.x,p.y,p.z);this.normalizeNormals(),n.needsUpdate=!0}}normalizeNormals(){const e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++)Ur.fromBufferAttribute(e,t),Ur.normalize(),e.setXYZ(t,Ur.x,Ur.y,Ur.z)}toNonIndexed(){function e(l,u){const d=l.array,p=l.itemSize,m=l.normalized,y=new d.constructor(u.length*p);let v=0,S=0;for(let E=0,A=u.length;E<A;E++){l.isInterleavedBufferAttribute?v=u[E]*l.data.stride+l.offset:v=u[E]*p;for(let M=0;M<p;M++)y[S++]=d[v++]}return new vn(y,p,m)}if(this.index===null)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new Jt,n=this.index.array,i=this.attributes;for(const l in i){const u=i[l],d=e(u,n);t.setAttribute(l,d)}const s=this.morphAttributes;for(const l in s){const u=[],d=s[l];for(let p=0,m=d.length;p<m;p++){const y=d[p],v=e(y,n);u.push(v)}t.morphAttributes[l]=u}t.morphTargetsRelative=this.morphTargetsRelative;const o=this.groups;for(let l=0,u=o.length;l<u;l++){const d=o[l];t.addGroup(d.start,d.count,d.materialIndex)}return t}toJSON(){const e={metadata:{version:4.6,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};if(e.uuid=this.uuid,e.type=this.type,this.name!==""&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),this.parameters!==void 0){const u=this.parameters;for(const d in u)u[d]!==void 0&&(e[d]=u[d]);return e}e.data={attributes:{}};const t=this.index;t!==null&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const u in n){const d=n[u];e.data.attributes[u]=d.toJSON(e.data)}const i={};let s=!1;for(const u in this.morphAttributes){const d=this.morphAttributes[u],p=[];for(let m=0,y=d.length;m<y;m++){const v=d[m];p.push(v.toJSON(e.data))}p.length>0&&(i[u]=p,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const l=this.boundingSphere;return l!==null&&(e.data.boundingSphere={center:l.center.toArray(),radius:l.radius}),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;n!==null&&this.setIndex(n.clone(t));const i=e.attributes;for(const d in i){const p=i[d];this.setAttribute(d,p.clone(t))}const s=e.morphAttributes;for(const d in s){const p=[],m=s[d];for(let y=0,v=m.length;y<v;y++)p.push(m[y].clone(t));this.morphAttributes[d]=p}this.morphTargetsRelative=e.morphTargetsRelative;const o=e.groups;for(let d=0,p=o.length;d<p;d++){const m=o[d];this.addGroup(m.start,m.count,m.materialIndex)}const l=e.boundingBox;l!==null&&(this.boundingBox=l.clone());const u=e.boundingSphere;return u!==null&&(this.boundingSphere=u.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,this}dispose(){this.dispatchEvent({type:"dispose"})}}const mw=new Nt,Qc=new Wd,E0=new ei,gw=new $,b0=new $,C0=new $,T0=new $,Mv=new $,I0=new $,yw=new $,P0=new $;class hr extends fn{constructor(e=new Jt,t=new vs){super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),e.morphTargetInfluences!==void 0&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),e.morphTargetDictionary!==void 0&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s<o;s++){const l=i[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[l]=s}}}}getVertexPosition(e,t){const n=this.geometry,i=n.attributes.position,s=n.morphAttributes.position,o=n.morphTargetsRelative;t.fromBufferAttribute(i,e);const l=this.morphTargetInfluences;if(s&&l){I0.set(0,0,0);for(let u=0,d=s.length;u<d;u++){const p=l[u],m=s[u];p!==0&&(Mv.fromBufferAttribute(m,e),o?I0.addScaledVector(Mv,p):I0.addScaledVector(Mv.sub(t),p))}t.add(I0)}return t}raycast(e,t){const n=this.geometry,i=this.material,s=this.matrixWorld;i!==void 0&&(n.boundingSphere===null&&n.computeBoundingSphere(),E0.copy(n.boundingSphere),E0.applyMatrix4(s),Qc.copy(e.ray).recast(e.near),!(E0.containsPoint(Qc.origin)===!1&&(Qc.intersectSphere(E0,gw)===null||Qc.origin.distanceToSquared(gw)>(e.far-e.near)**2))&&(mw.copy(s).invert(),Qc.copy(e.ray).applyMatrix4(mw),!(n.boundingBox!==null&&Qc.intersectsBox(n.boundingBox)===!1)&&this._computeIntersections(e,t,Qc)))}_computeIntersections(e,t,n){let i;const s=this.geometry,o=this.material,l=s.index,u=s.attributes.position,d=s.attributes.uv,p=s.attributes.uv1,m=s.attributes.normal,y=s.groups,v=s.drawRange;if(l!==null)if(Array.isArray(o))for(let S=0,E=y.length;S<E;S++){const A=y[S],M=o[A.materialIndex],T=Math.max(A.start,v.start),I=Math.min(l.count,Math.min(A.start+A.count,v.start+v.count));for(let P=T,k=I;P<k;P+=3){const O=l.getX(P),N=l.getX(P+1),H=l.getX(P+2);i=R0(this,M,e,n,d,p,m,O,N,H),i&&(i.faceIndex=Math.floor(P/3),i.face.materialIndex=A.materialIndex,t.push(i))}}else{const S=Math.max(0,v.start),E=Math.min(l.count,v.start+v.count);for(let A=S,M=E;
vendor: 7,141 bytes, lines 44-48
44A<M;A+=3){const T=l.getX(A),I=l.getX(A+1),P=l.getX(A+2);i=R0(this,o,e,n,d,p,m,T,I,P),i&&(i.faceIndex=Math.floor(A/3),t.push(i))}}else if(u!==void 0)if(Array.isArray(o))for(let S=0,E=y.length;S<E;S++){const A=y[S],M=o[A.materialIndex],T=Math.max(A.start,v.start),I=Math.min(u.count,Math.min(A.start+A.count,v.start+v.count));for(let P=T,k=I;P<k;P+=3){const O=P,N=P+1,H=P+2;i=R0(this,M,e,n,d,p,m,O,N,H),i&&(i.faceIndex=Math.floor(P/3),i.face.materialIndex=A.materialIndex,t.push(i))}}else{const S=Math.max(0,v.start),E=Math.min(u.count,v.start+v.count);for(let A=S,M=E;A<M;A+=3){const T=A,I=A+1,P=A+2;i=R0(this,o,e,n,d,p,m,T,I,P),i&&(i.faceIndex=Math.floor(A/3),t.push(i))}}}}function sR(r,e,t,n,i,s,o,l){let u;if(e.side===Ni?u=n.intersectTriangle(o,s,i,!0,l):u=n.intersectTriangle(i,s,o,e.side===Qo,l),u===null)return null;P0.copy(l),P0.applyMatrix4(r.matrixWorld);const d=t.ray.origin.distanceTo(P0);return d<t.near||d>t.far?null:{distance:d,point:P0.clone(),object:r}}function R0(r,e,t,n,i,s,o,l,u,d){r.getVertexPosition(l,b0),r.getVertexPosition(u,C0),r.getVertexPosition(d,T0);const p=sR(r,e,t,n,b0,C0,T0,yw);if(p){const m=new $;es.getBarycoord(yw,b0,C0,T0,m),i&&(p.uv=es.getInterpolatedAttribute(i,l,u,d,m,new Ne)),s&&(p.uv1=es.getInterpolatedAttribute(s,l,u,d,m,new Ne)),o&&(p.normal=es.getInterpolatedAttribute(o,l,u,d,m,new $),p.normal.dot(n.direction)>0&&p.normal.multiplyScalar(-1));const y={a:l,b:u,c:d,normal:new $,materialIndex:0};es.getNormal(b0,C0,T0,y.normal),p.face=y,p.barycoord=m}return p}class zu extends Jt{constructor(e=1,t=1,n=1,i=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:i,heightSegments:s,depthSegments:o};const l=this;i=Math.floor(i),s=Math.floor(s),o=Math.floor(o);const u=[],d=[],p=[],m=[];let y=0,v=0;S("z","y","x",-1,-1,n,t,e,o,s,0),S("z","y","x",1,-1,n,t,-e,o,s,1),S("x","z","y",1,1,e,n,t,i,o,2),S("x","z","y",1,-1,e,n,-t,i,o,3),S("x","y","z",1,-1,e,t,n,i,s,4),S("x","y","z",-1,-1,e,t,-n,i,s,5),this.setIndex(u),this.setAttribute("position",new Et(d,3)),this.setAttribute("normal",new Et(p,3)),this.setAttribute("uv",new Et(m,2));function S(E,A,M,T,I,P,k,O,N,H,F){const L=P/N,V=k/H,te=P/2,ne=k/2,ce=O/2,me=N+1,he=H+1;let ge=0,U=0;const Z=new $;for(let q=0;q<he;q++){const X=q*V-ne;for(let se=0;se<me;se++){const Le=se*L-te;Z[E]=Le*T,Z[A]=X*I,Z[M]=ce,d.push(Z.x,Z.y,Z.z),Z[E]=0,Z[A]=0,Z[M]=O>0?1:-1,p.push(Z.x,Z.y,Z.z),m.push(se/N),m.push(1-q/H),ge+=1}}for(let q=0;q<H;q++)for(let X=0;X<N;X++){const se=y+X+me*q,Le=y+X+me*(q+1),pe=y+(X+1)+me*(q+1),Ae=y+(X+1)+me*q;u.push(se,Le,Ae),u.push(Le,pe,Ae),U+=6}l.addGroup(v,U,F),v+=U,y+=ge}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new zu(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function kd(r){const e={};for(const t in r){e[t]={};for(const n in r[t]){const i=r[t][n];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?i.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][n]=null):e[t][n]=i.clone():Array.isArray(i)?e[t][n]=i.slice():e[t][n]=i}}return e}function Pi(r){const e={};for(let t=0;t<r.length;t++){const n=kd(r[t]);for(const i in n)e[i]=n[i]}return e}function oR(r){const e=[];for(let t=0;t<r.length;t++)e.push(r[t].clone());return e}function iC(r){const e=r.getRenderTarget();return e===null?r.outputColorSpace:e.isXRRenderTarget===!0?e.texture.colorSpace:yn.workingColorSpace}const sC={clone:kd,merge:Pi};var aR=`void main() { 45 gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); 46}`,lR=`void main() { 47 gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 ); 48}`;class So extends xr{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=aR,this.fragmentShader=lR,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=kd(e.uniforms),this.uniformsGroups=oR(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const t=super.toJSON(e);t.glslVersion=this.glslVersion,t.uniforms={};for(const i in this.uniforms){const o=this.uniforms[i].value;o&&o.isTexture?t.uniforms[i]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?t.uniforms[i]={type:"c",value:o.getHex()}:o&&o.isVector2?t.uniforms[i]={type:"v2",value:o.toArray()}:o&&o.isVector3?t.uniforms[i]={type:"v3",value:o.toArray()}:o&&o.isVector4?t.uniforms[i]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?t.uniforms[i]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?t.uniforms[i]={type:"m4",value:o.toArray()}:t.uniforms[i]={value:o}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader,t.lights=this.lights,t.clipping=this.clipping;const n={};for(const i in this.extensions)this.extensions[i]===!0&&(n[i]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class rm extends fn{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Nt,this.projectionMatrix=new Nt,this.projectionMatrixInverse=new Nt,this.coordinateSystem=Xo}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}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)}}const Wl=new $,vw=new Ne,_w=new Ne;let _r=class extends rm{constructor(e=50,t=1,n=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=i,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){return 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=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=Fd*2*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Su*.5*this.fov);return .5*this.getFilmHeight()/e}
vendor: 18,190 bytes, lines 48-83
48getEffectiveFOV(){return Fd*2*Math.atan(Math.tan(Su*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,t,n){Wl.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),t.set(Wl.x,Wl.y).multiplyScalar(-e/Wl.z),Wl.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Wl.x,Wl.y).multiplyScalar(-e/Wl.z)}getViewSize(e,t){return this.getViewBounds(e,vw,_w),t.subVectors(_w,vw)}setViewOffset(e,t,n,i,s,o){this.aspect=e/t,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(Su*.5*this.fov)/this.zoom,n=2*t,i=this.aspect*n,s=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const u=o.fullWidth,d=o.fullHeight;s+=o.offsetX*i/u,t-=o.offsetY*n/d,i*=o.width/u,n*=o.height/d}const l=this.filmOffset;l!==0&&(s+=e*l/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,t,t-n,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return 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,this.view!==null&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}};const od=-90,ad=1;class oC extends fn{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new _r(od,ad,e,t);i.layers=this.layers,this.add(i);const s=new _r(od,ad,e,t);s.layers=this.layers,this.add(s);const o=new _r(od,ad,e,t);o.layers=this.layers,this.add(o);const l=new _r(od,ad,e,t);l.layers=this.layers,this.add(l);const u=new _r(od,ad,e,t);u.layers=this.layers,this.add(u);const d=new _r(od,ad,e,t);d.layers=this.layers,this.add(d)}updateCoordinateSystem(){const e=this.coordinateSystem,t=this.children.concat(),[n,i,s,o,l,u]=t;for(const d of t)this.remove(d);if(e===Xo)n.up.set(0,1,0),n.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),l.up.set(0,1,0),l.lookAt(0,0,1),u.up.set(0,1,0),u.lookAt(0,0,-1);else if(e===zp)n.up.set(0,-1,0),n.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),l.up.set(0,-1,0),l.lookAt(0,0,1),u.up.set(0,-1,0),u.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const d of t)this.add(d),d.updateMatrixWorld()}update(e,t){this.parent===null&&this.updateMatrixWorld();const{renderTarget:n,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,l,u,d,p]=this.children,m=e.getRenderTarget(),y=e.getActiveCubeFace(),v=e.getActiveMipmapLevel(),S=e.xr.enabled;e.xr.enabled=!1;const E=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0,i),e.render(t,s),e.setRenderTarget(n,1,i),e.render(t,o),e.setRenderTarget(n,2,i),e.render(t,l),e.setRenderTarget(n,3,i),e.render(t,u),e.setRenderTarget(n,4,i),e.render(t,d),n.texture.generateMipmaps=E,e.setRenderTarget(n,5,i),e.render(t,p),e.setRenderTarget(m,y,v),e.xr.enabled=S,n.texture.needsPMREMUpdate=!0}}class im extends Gn{constructor(e,t,n,i,s,o,l,u,d,p){e=e!==void 0?e:[],t=t!==void 0?t:el,super(e,t,n,i,s,o,l,u,d,p),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class aC extends Hs{constructor(e=1,t={}){super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},i=[n,n,n,n,n,n];this.texture=new im(i,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=t.generateMipmaps!==void 0?t.generateMipmaps:!1,this.texture.minFilter=t.minFilter!==void 0?t.minFilter:Zn}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.colorSpace=t.colorSpace,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={uniforms:{tEquirect:{value:null}},vertexShader:` 49 50 varying vec3 vWorldDirection; 51 52 vec3 transformDirection( in vec3 dir, in mat4 matrix ) { 53 54 return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); 55 56 } 57 58 void main() { 59 60 vWorldDirection = transformDirection( position, modelMatrix ); 61 62 #include <begin_vertex> 63 #include <project_vertex> 64 65 } 66 `,fragmentShader:` 67 68 uniform sampler2D tEquirect; 69 70 varying vec3 vWorldDirection; 71 72 #include <common> 73 74 void main() { 75 76 vec3 direction = normalize( vWorldDirection ); 77 78 vec2 sampleUV = equirectUv( direction ); 79 80 gl_FragColor = texture2D( tEquirect, sampleUV ); 81 82 } 83 `},i=new zu(5,5,5),s=new So({name:"CubemapFromEquirect",uniforms:kd(n.uniforms),vertexShader:n.vertexShader,fragmentShader:n.fragmentShader,side:Ni,blending:Ya});s.uniforms.tEquirect.value=t;const o=new hr(i,s),l=t.minFilter;return t.minFilter===js&&(t.minFilter=Zn),new oC(1,10,this).update(e,o),t.minFilter=l,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,n,i){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(t,n,i);e.setRenderTarget(s)}}class Vy{constructor(e,t=25e-5){this.isFogExp2=!0,this.name="",this.color=new tt(e),this.density=t}clone(){return new Vy(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class Wy{constructor(e,t=1,n=1e3){this.isFog=!0,this.name="",this.color=new tt(e),this.near=t,this.far=n}clone(){return new Wy(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class Gp extends fn{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new Ms,this.environmentIntensity=1,this.environmentRotation=new Ms,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return this.fog!==null&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(t.object.backgroundIntensity=this.backgroundIntensity),t.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(t.object.environmentIntensity=this.environmentIntensity),t.object.environmentRotation=this.environmentRotation.toArray(),t}}class sm{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=e!==void 0?e.length/t:0,this.usage=jp,this.updateRanges=[],this.version=0,this.uuid=_s()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,t){this.updateRanges.push({start:e,count:t})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,t,n){e*=this.stride,n*=t.stride;for(let i=0,s=this.stride;i<s;i++)this.array[e+i]=t.array[n+i];return this}set(e,t=0){return this.array.set(e,t),this}clone(e){e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=_s()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(t,this.stride);return n.setUsage(this.usage),n}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return e.arrayBuffers===void 0&&(e.arrayBuffers={}),this.array.buffer._uuid===void 0&&(this.array.buffer._uuid=_s()),e.arrayBuffers[this.array.buffer._uuid]===void 0&&(e.arrayBuffers[this.array.buffer._uuid]=Array.from(new Uint32Array(this.array.buffer))),{uuid:this.uuid,buffer:this.array.buffer._uuid,type:this.array.constructor.name,stride:this.stride}}}const Ti=new $;class tc{constructor(e,t,n,i=!1){this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=n,this.normalized=i}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++)Ti.fromBufferAttribute(this,t),Ti.applyMatrix4(e),this.setXYZ(t,Ti.x,Ti.y,Ti.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)Ti.fromBufferAttribute(this,t),Ti.applyNormalMatrix(e),this.setXYZ(t,Ti.x,Ti.y,Ti.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)Ti.fromBufferAttribute(this,t),Ti.transformDirection(e),this.setXYZ(t,Ti.x,Ti.y,Ti.z);return this}getComponent(e,t){let n=this.array[e*this.data.stride+this.offset+t];return this.normalized&&(n=Oi(n,this.array)),n}setComponent(e,t,n){return this.normalized&&(n=nn(n,this.array)),this.data.array[e*this.data.stride+this.offset+t]=n,this}setX(e,t){return this.normalized&&(t=nn(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=nn(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=nn(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=nn(t,this.array)),this.data.array[e*this.data.stride+this.offset+3]=t,this}getX(e){let t=this.data.array[e*this.data.stride+this.offset];return this.normalized&&(t=Oi(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=Oi(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=Oi(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=Oi(t,this.array)),t}setXY(e,t,n){return e=e*this.data.stride+this.offset,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this}setXYZ(e,t,n,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array),i=nn(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this}setXYZW(e,t,n,i,s){return e=e*this.data.stride+this.offset,this.normalized&&(t=nn(t,this.array),n=nn(n,this.array),i=nn(i,this.array),s=nn(s,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=i,this.data.array[e+3]=s,this}clone(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let n=0;n<this.count;n++){const i=n*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[i+s])}return new vn(new this.array.constructor(t),this.itemSize,this.normalized)}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new tc(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(e===void 0){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const t=[];for(let n=0;n<this.count;n++){const i=n*this.data.stride+this.offset;for(let s=0;s<this.itemSize;s++)t.push(this.data.array[i+s])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:t,normalized:this.normalized}}else return e.interleavedBuffers===void 0&&(e.interleavedBuffers={}),e.interleavedBuffers[this.data.uuid]===void 0&&(e.interleavedBuffers[this.data.uuid]=this.data.toJSON(e)),{isInterleavedBufferAttribute:!0,itemSize:this.itemSize,data:this.data.uuid,offset:this.offset,normalized:this.normalized}}}class rM extends xr{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new tt(16777215),this.map=null,this.alphaMap=null,this.rotation=0,this.sizeAttenuation=!0,this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.rotation=e.rotation,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}let ld;const ip=new $,cd=new $,ud=new $,hd=new Ne,sp=new Ne,lC=new Nt,B0=new $,op=new $,O0=new $,xw=new Ne,Sv=new Ne,Mw=new Ne;class cC extends fn{constructor(e=new rM){if(super(),this.isSprite=!0,this.type="Sprite",ld===void 0){ld=new Jt;const t=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),n=new sm(t,5);ld.setIndex([0,1,2,0,2,3]),ld.setAttribute("position",new tc(n,3,0,!1)),ld.setAttribute("uv",new tc(n,2,3,!1))}this.geometry=ld,this.material=e,this.center=new Ne(.5,.5)}raycast(e,t){e.camera===null&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),cd.setFromMatrixScale(this.matrixWorld),lC.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),ud.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&this.material.sizeAttenuation===!1&&cd.multiplyScalar(-ud.z);const n=this.material.rotation;let i,s;n!==0&&(s=Math.cos(n),i=Math.sin(n));const o=this.center;D0(B0.set(-.5,-.5,0),ud,o,cd,i,s),D0(op.set(.5,-.5,0),ud,o,cd,i,s),D0(O0.set(.5,.5,0),ud,o,cd,i,s),xw.set(0,0),Sv.set(1,0),Mw.set(1,1);let l=e.ray.intersectTriangle(B0,op,O0,!1,ip);if(l===null&&(D0(op.set(-.5,.5,0),ud,o,cd,i,s),Sv.set(0,1),l=e.ray.intersectTriangle(B0,O0,op,!1,ip),l===null))return;const u=e.ray.origin.distanceTo(ip);u<e.near||u>e.far||t.push({distance:u,point:ip.clone(),uv:es.getInterpolation(ip,B0,op,O0,xw,Sv,Mw,new Ne),face:null,object:this})}copy(e,t){return super.copy(e,t),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function D0(r,e,t,n,i,s){hd.subVectors(r,t).addScalar(.5).multiply(n),i!==void 0?(sp.x=s*hd.x-i*hd.y,sp.y=i*hd.x+s*hd.y):sp.copy(hd),r.copy(e),r.x+=sp.x,r.y+=sp.y,r.applyMatrix4(lC)}const L0=new $,Sw=new $;class uC extends fn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const t=e.levels;for(let n=0,i=t.length;n<i;n++){const s=t[n];this.addLevel(s.object.clone(),s.distance,s.hysteresis)}return this.autoUpdate=e.autoUpdate,this}addLevel(e,t=0,n=0){t=Math.abs(t);const i=this.levels;let s;for(s=0;s<i.length&&!(t<i[s].distance);s++);return i.splice(s,0,{distance:t,hysteresis:n,object:e}),this.add(e),this}removeLevel(e){const t=this.levels;for(let n=0;n<t.length;n++)if(t[n].distance===e){const i=t.splice(n,1);return this.remove(i[0].object),!0}return!1}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){const t=this.levels;if(t.length>0){let n,i;for(n=1,i=t.length;n<i;n++){let s=t[n].distance;if(t[n].object.visible&&(s-=s*t[n].hysteresis),e<s)break}return t[n-1].object}return null}raycast(e,t){if(this.levels.length>0){L0.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(L0);this.getObjectForDistance(i).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){L0.setFromMatrixPosition(e.matrixWorld),Sw.setFromMatrixPosition(this.matrixWorld);const n=L0.distanceTo(Sw)/e.zoom;t[0].object.visible=!0;let i,s;for(i=1,s=t.length;i<s;i++){let o=t[i].distance;if(t[i].object.visible&&(o-=o*t[i].hysteresis),n>=o)t[i-1].object.visible=!1,t[i].object.visible=!0;else break}for(this._currentLevel=i-1;i<s;i++)t[i].object.visible=!1}}toJSON(e){const t=super.toJSON(e);this.autoUpdate===!1&&(t.object.autoUpdate=!1),t.object.levels=[];const n=this.levels;for(let i=0,s=n.length;i<s;i++){const o=n[i];t.object.levels.push({object:o.object.uuid,distance:o.distance,hysteresis:o.hysteresis})}return t}}const ww=new $,Aw=new xn,Ew=new xn,cR=new $,bw=new Nt,N0=new $,wv=new ei,Cw=new Nt,Av=new Wd;class iM extends hr{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode=J_,this.bindMatrix=new Nt,this.bindMatrixInverse=new Nt,this.boundingBox=null,this.boundingSphere=null}computeBoundingBox(){const e=this.geometry;this.boundingBox===null&&(this.boundingBox=new pi),this.boundingBox.makeEmpty();const t=e.getAttribute("position");for(let n=0;n<t.count;n++)this.getVertexPosition(n,N0),this.boundingBox.expandByPoint(N0)}computeBoundingSphere(){const e=this.geometry;this.boundingSphere===null&&(this.boundingSphere=new ei),this.boundingSphere.makeEmpty();const t=e.getAttribute("position");for(let n=0;n<t.count;n++)this.getVertexPosition(n,N0),this.boundingSphere.expandByPoint(N0)}copy(e,t){return super.copy(e,t),this.bindMode=e.bindMode,this.bindMatrix.copy(e.bindMatrix),this.bindMatrixInverse.copy(e.bindMatrixInverse),this.skeleton=e.skeleton,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}raycast(e,t){const n=this.material,i=this.matrixWorld;n!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),wv.copy(this.boundingSphere),wv.applyM
vendor: 7,583 bytes, line 83
83atrix4(i),e.ray.intersectsSphere(wv)!==!1&&(Cw.copy(i).invert(),Av.copy(e.ray).applyMatrix4(Cw),!(this.boundingBox!==null&&Av.intersectsBox(this.boundingBox)===!1)&&this._computeIntersections(e,t,Av)))}getVertexPosition(e,t){return super.getVertexPosition(e,t),this.applyBoneTransform(e,t),t}bind(e,t){this.skeleton=e,t===void 0&&(this.updateMatrixWorld(!0),this.skeleton.calculateInverses(),t=this.matrixWorld),this.bindMatrix.copy(t),this.bindMatrixInverse.copy(t).invert()}pose(){this.skeleton.pose()}normalizeSkinWeights(){const e=new xn,t=this.geometry.attributes.skinWeight;for(let n=0,i=t.count;n<i;n++){e.fromBufferAttribute(t,n);const s=1/e.manhattanLength();s!==1/0?e.multiplyScalar(s):e.set(1,0,0,0),t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),this.bindMode===J_?this.bindMatrixInverse.copy(this.matrixWorld).invert():this.bindMode===Fb?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}applyBoneTransform(e,t){const n=this.skeleton,i=this.geometry;Aw.fromBufferAttribute(i.attributes.skinIndex,e),Ew.fromBufferAttribute(i.attributes.skinWeight,e),ww.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let s=0;s<4;s++){const o=Ew.getComponent(s);if(o!==0){const l=Aw.getComponent(s);bw.multiplyMatrices(n.bones[l].matrixWorld,n.boneInverses[l]),t.addScaledVector(cR.copy(ww).applyMatrix4(bw),o)}}return t.applyMatrix4(this.bindMatrixInverse)}}class Xy extends fn{constructor(){super(),this.isBone=!0,this.type="Bone"}}class $o extends Gn{constructor(e=null,t=1,n=1,i,s,o,l,u,d=zr,p=zr,m,y){super(null,o,l,u,d,p,i,s,m,y),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const Tw=new Nt,uR=new Nt;class om{constructor(e=[],t=[]){this.uuid=_s(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(e.length*16),t.length===0)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 n=0,i=this.bones.length;n<i;n++)this.boneInverses.push(new Nt)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const n=new Nt;this.bones[e]&&n.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(n)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const n=this.bones[e];n&&n.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const n=this.bones[e];n&&(n.parent&&n.parent.isBone?(n.matrix.copy(n.parent.matrixWorld).invert(),n.matrix.multiply(n.matrixWorld)):n.matrix.copy(n.matrixWorld),n.matrix.decompose(n.position,n.quaternion,n.scale))}}update(){const e=this.bones,t=this.boneInverses,n=this.boneMatrices,i=this.boneTexture;for(let s=0,o=e.length;s<o;s++){const l=e[s]?e[s].matrixWorld:uR;Tw.multiplyMatrices(l,t[s]),Tw.toArray(n,s*16)}i!==null&&(i.needsUpdate=!0)}clone(){return new om(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(this.bones.length*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const n=new $o(t,e,e,hi,Di);return n.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=n,this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){const i=this.bones[t];if(i.name===e)return i}}dispose(){this.boneTexture!==null&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,i=e.bones.length;n<i;n++){const s=e.bones[n];let o=t[s];o===void 0&&(console.warn("THREE.Skeleton: No bone found with UUID:",s),o=new Xy),this.bones.push(o),this.boneInverses.push(new Nt().fromArray(e.boneInverses[n]))}return this.init(),this}toJSON(){const e={metadata:{version:4.6,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,n=this.boneInverses;for(let i=0,s=t.length;i<s;i++){const o=t[i];e.bones.push(o.uuid);const l=n[i];e.boneInverses.push(l.toArray())}return e}}class Ru extends vn{constructor(e,t,n,i=1){super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=i}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}toJSON(){const e=super.toJSON();return e.meshPerAttribute=this.meshPerAttribute,e.isInstancedBufferAttribute=!0,e}}const dd=new Nt,Iw=new Nt,F0=[],Pw=new pi,hR=new Nt,ap=new hr,lp=new ei;class sM extends hr{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Ru(new Float32Array(n*16),16),this.instanceColor=null,this.morphTexture=null,this.count=n,this.boundingBox=null,this.boundingSphere=null;for(let i=0;i<n;i++)this.setMatrixAt(i,hR)}computeBoundingBox(){const e=this.geometry,t=this.count;this.boundingBox===null&&(this.boundingBox=new pi),e.boundingBox===null&&e.computeBoundingBox(),this.boundingBox.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,dd),Pw.copy(e.boundingBox).applyMatrix4(dd),this.boundingBox.union(Pw)}computeBoundingSphere(){const e=this.geometry,t=this.count;this.boundingSphere===null&&(this.boundingSphere=new ei),e.boundingSphere===null&&e.computeBoundingSphere(),this.boundingSphere.makeEmpty();for(let n=0;n<t;n++)this.getMatrixAt(n,dd),lp.copy(e.boundingSphere).applyMatrix4(dd),this.boundingSphere.union(lp)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),e.morphTexture!==null&&(this.morphTexture=e.morphTexture.clone()),e.instanceColor!==null&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,e.boundingBox!==null&&(this.boundingBox=e.boundingBox.clone()),e.boundingSphere!==null&&(this.boundingSphere=e.boundingSphere.clone()),this}getColorAt(e,t){t.fromArray(this.instanceColor.array,e*3)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,e*16)}getMorphAt(e,t){const n=t.morphTargetInfluences,i=this.morphTexture.source.data.data,s=n.length+1,o=e*s+1;for(let l=0;l<n.length;l++)n[l]=i[o+l]}raycast(e,t){const n=this.matrixWorld,i=this.count;if(ap.geometry=this.geometry,ap.material=this.material,ap.material!==void 0&&(this.boundingSphere===null&&this.computeBoundingSphere(),lp.copy(this.boundingSphere),lp.applyMatrix4(n),e.ray.intersectsSphere(lp)!==!1))for(let s=0;s<i;s++){this.getMatrixAt(s,dd),Iw.multiplyMatrices(n,dd),ap.matrixWorld=Iw,ap.raycast(e,F0);for(let o=0,l=F0.length;o<l;o++){const u=F0[o];u.instanceId=s,u.object=this,t.push(u)}F0.length=0}}setColorAt(e,t){this.instanceColor===null&&(this.instanceColor=new Ru(new Float32Array(this.instanceMatrix.count*3).fill(1),3)),t.toArray(this.instanceColor.array,e*3)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,e*16)}setMorphAt(e,t){const n=t.morphTargetInfluences,i=n.length+1;this.morphTexture===null&&(this.morphTexture=new $o(new Float32Array(i*this.count),i,this.count,Uy,Di));const s=this.morphTexture.source.data.data;let o=0;for(let d=0;d<n.length;d++)o+=n[d];const l=this.geometry.morphTargetsRelative?1:1-o,u=i*e;s[u]=l,s.set(n,u+1)}updateMorphTargets(){}dispose(){return this.dispatchEvent({type:"dispose"}),this.morphTexture!==null&&(this.morphTexture.dispose(),this.morphTexture=null),this}}const Ev=new $,dR=new $,fR=new Qt;class Yl{constructor(e=new $(1,0,0),t=0){this.isPlane=!0,this.normal=e,this.constant=t}set(e,t){return this.normal.copy(e),this.constant=t,this}setComponents(e,t,n,i){return this.normal.set(e,t,n),this.constant=i,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}
vendor: 5,890 bytes, line 83
83setFromCoplanarPoints(e,t,n){const i=Ev.subVectors(n,t).cross(dR.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),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(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,t){const n=e.delta(Ev),i=this.normal.dot(n);if(i===0)return this.distanceToPoint(e.start)===0?t.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/i;return s<0||s>1?null:t.copy(e.start).addScaledVector(n,s)}intersectsLine(e){const t=this.distanceToPoint(e.start),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||fR.getNormalMatrix(e),i=this.coplanarPoint(Ev).applyMatrix4(e),s=this.normal.applyMatrix3(n).normalize();return this.constant=-i.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Zc=new ei,k0=new $;class am{constructor(e=new Yl,t=new Yl,n=new Yl,i=new Yl,s=new Yl,o=new Yl){this.planes=[e,t,n,i,s,o]}set(e,t,n,i,s,o){const l=this.planes;return l[0].copy(e),l[1].copy(t),l[2].copy(n),l[3].copy(i),l[4].copy(s),l[5].copy(o),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e,t=Xo){const n=this.planes,i=e.elements,s=i[0],o=i[1],l=i[2],u=i[3],d=i[4],p=i[5],m=i[6],y=i[7],v=i[8],S=i[9],E=i[10],A=i[11],M=i[12],T=i[13],I=i[14],P=i[15];if(n[0].setComponents(u-s,y-d,A-v,P-M).normalize(),n[1].setComponents(u+s,y+d,A+v,P+M).normalize(),n[2].setComponents(u+o,y+p,A+S,P+T).normalize(),n[3].setComponents(u-o,y-p,A-S,P-T).normalize(),n[4].setComponents(u-l,y-m,A-E,P-I).normalize(),t===Xo)n[5].setComponents(u+l,y+m,A+E,P+I).normalize();else if(t===zp)n[5].setComponents(l,m,E,I).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+t);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Zc.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const t=e.geometry;t.boundingSphere===null&&t.computeBoundingSphere(),Zc.copy(t.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Zc)}intersectsSprite(e){return Zc.center.set(0,0,0),Zc.radius=.7071067811865476,Zc.applyMatrix4(e.matrixWorld),this.intersectsSphere(Zc)}intersectsSphere(e){const t=this.planes,n=e.center,i=-e.radius;for(let s=0;s<6;s++)if(t[s].distanceToPoint(n)<i)return!1;return!0}intersectsBox(e){const t=this.planes;for(let n=0;n<6;n++){const i=t[n];if(k0.x=i.normal.x>0?e.max.x:e.min.x,k0.y=i.normal.y>0?e.max.y:e.min.y,k0.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(k0)<0)return!1}return!0}containsPoint(e){const t=this.planes;for(let n=0;n<6;n++)if(t[n].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function bv(r,e){return r-e}function pR(r,e){return r.z-e.z}function mR(r,e){return e.z-r.z}class gR{constructor(){this.index=0,this.pool=[],this.list=[]}push(e,t,n,i){const s=this.pool,o=this.list;this.index>=s.length&&s.push({start:-1,count:-1,z:-1,index:-1});const l=s[this.index];o.push(l),this.index++,l.start=e,l.count=t,l.z=n,l.index=i}reset(){this.list.length=0,this.index=0}}const Yi=new Nt,yR=new tt(1,1,1),Cv=new am,U0=new pi,eu=new ei,cp=new $,Rw=new $,vR=new $,Tv=new gR,ui=new hr,j0=[];function _R(r,e,t=0){const n=e.itemSize;if(r.isInterleavedBufferAttribute||r.array.constructor!==e.array.constructor){const i=r.count;for(let s=0;s<i;s++)for(let o=0;o<n;o++)e.setComponent(s+t,o,r.getComponent(s,o))}else e.array.set(r.array,t*n);e.needsUpdate=!0}function tu(r,e){if(r.constructor!==e.constructor){const t=Math.min(r.length,e.length);for(let n=0;n<t;n++)e[n]=r[n]}else{const t=Math.min(r.length,e.length);e.set(new r.constructor(r.buffer,0,t))}}class hC extends hr{get maxInstanceCount(){return this._maxInstanceCount}get instanceCount(){return this._instanceInfo.length-this._availableInstanceIds.length}get unusedVertexCount(){return this._maxVertexCount-this._nextVertexStart}get unusedIndexCount(){return this._maxIndexCount-this._nextIndexStart}constructor(e,t,n=t*2,i){super(new Jt,i),this.isBatchedMesh=!0,this.perObjectFrustumCulled=!0,this.sortObjects=!0,this.boundingBox=null,this.boundingSphere=null,this.customSort=null,this._instanceInfo=[],this._geometryInfo=[],this._availableInstanceIds=[],this._availableGeometryIds=[],this._nextIndexStart=0,this._nextVertexStart=0,this._geometryCount=0,this._visibilityChanged=!0,this._geometryInitialized=!1,this._maxInstanceCount=e,this._maxVertexCount=t,this._maxIndexCount=n,this._multiDrawCounts=new Int32Array(e),this._multiDrawStarts=new Int32Array(e),this._multiDrawCount=0,this._multiDrawInstances=null,this._matricesTexture=null,this._indirectTexture=null,this._colorsTexture=null,this._initMatricesTexture(),this._initIndirectTexture()}_initMatricesTexture(){let e=Math.sqrt(this._maxInstanceCount*4);e=Math.ceil(e/4)*4,e=Math.max(e,4);const t=new Float32Array(e*e*4),n=new $o(t,e,e,hi,Di);this._matricesTexture=n}_initIndirectTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);const t=new Uint32Array(e*e),n=new $o(t,e,e,nm,tl);this._indirectTexture=n}_initColorsTexture(){let e=Math.sqrt(this._maxInstanceCount);e=Math.ceil(e);const t=new Float32Array(e*e*4).fill(1),n=new $o(t,e,e,hi,Di);
83n.colorSpace=yn.workingColorSpace,this._colorsTexture=n}_initializeGeometry(e){const t=this.geometry,n=this._maxVertexCount,i=this._maxIndexCount;if(this._geometryInitialized===!1){for(const s in e.attributes){const o=e.getAttribute(s),{array:l,itemSize:u,normalized:d}=o,p=new l.constructor(n*u),m=new vn(p,u,d);t.setAttribute(s,m)}if(e.getIndex()!==null){const s=n>65535?new Uint32Array(i):new Uint16Array(i);t.setIndex(new vn(s,1))}this._geometryInitialized=!0}}_validateGeometry(e){const t=this.geometry;if(!!e.getIndex()!=!!t.getIndex())throw new Error('THREE.BatchedMesh: All geometries must consistently have "index".');for(const n in t.attributes){if(!e.hasAttribute(n))throw new Error(`THREE.BatchedMesh: Added geometry missing "${n}". All geometries must have consistent attributes.`);const i=e.getAttribute(n),s=t.getAttribute(n);if(i.itemSize!==s.itemSize||i.normalized!==s.normalized)throw new Error("THREE.BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}validateInstanceId(e){const t=this._instanceInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid instanceId ${e}. Instance is either out of range or has been deleted.`)}validateGeometryId(e){const t=this._geometryInfo;if(e<0||e>=t.length||t[e].active===!1)throw new Error(`THREE.BatchedMesh: Invalid geometryId ${e}. Geometry is either out of range or has been deleted.`)}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new pi);const e=this.boundingBox,t=this._instanceInfo;e.makeEmpty();for(let n=0,i=t.length;n<i;n++){if(t[n].active===!1)continue;const s=t[n].geometryIndex;this.getMatrixAt(n,Yi),this.getBoundingBoxAt(s,U0).applyMatrix4(Yi),e.union(U0)}}computeBoundingSphere(){this.boundingSphere===null&&(this.boundingSphere=new ei);const e=this.boundingSphere,t=this._instanceInfo;e.makeEmpty();for(let n=0,i=t.length;n<i;n++){if(t[n].active===!1)continue;const s=t[n].geometryIndex;this.getMatrixAt(n,Yi),this.getBoundingSphereAt(s,eu).applyMatrix4(Yi),e.union(eu)}}addInstance(e){if(this._instanceInfo.length>=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("THREE.BatchedMesh: Maximum item count reached.");const n={visible:!0,active:!0,geometryIndex:e};let i=null;this._availableInstanceIds.length>0?(this._availableInstanceIds.sort(bv),i=this._availableInstanceIds.shift(),this._instanceInfo[i]=n):(i=this._instanceInfo.length,this._instanceInfo.push(n));const s=this._matricesTexture;Yi.identity().toArray(s.image.data,i*16),s.needsUpdate=!0;const o=this._colorsTexture;return o&&(yR.toArray(o.image.data,i*4),o.needsUpdate=!0),this._visibilityChanged=!0,i}addGeometry(e,t=-1,n=-1){this._initializeGeometry(e),this._validateGeometry(e);const i={vertexStart:-1,vertexCount:-1,reservedVertexCount:-1,indexStart:-1,indexCount:-1,reservedIndexCount:-1,start:-1,count:-1,boundingBox:null,boundingSphere:null,active:!0},s=this._geometryInfo;i.vertexStart=this._nextVertexStart,i.reservedVertexCount=t===-1?e.getAttribute("position").count:t;const o=e.getIndex();if(o!==null&&(i.indexStart=this._nextIndexStart,i.reservedIndexCount=n===-1?o.count:n),i.indexStart!==-1&&i.indexStart+i.reservedIndexCount>this._maxIndexCount||i.vertexStart+i.reservedVertexCount>this._maxVertexCount)throw new Error("THREE.BatchedMesh: Reserved space request exceeds the maximum buffer size.");let u;return this._availableGeometryIds.length>0?(this._availableGeometryIds.sort(bv),u=this._availableGeometryIds.shift(),s[u]=i):(u=this._geometryCount,this._geometryCount++,s.push(i)),this.setGeometryAt(u,e),this._nextIndexStart=i.indexStart+i.reservedIndexCount,this._nextVertexStart=i.vertexStart+i.reservedVertexCount,u}setGeometryAt(e,t){if(e>=this._geometryCount)throw new Error("THREE.BatchedMesh: Maximum geometry count reached.");this._validateGeometry(t);const n=this.geometry,i=n.getIndex()!==null,s=n.getIndex(),o=t.getIndex(),l=this._geometryInfo[e];if(i&&o.count>l.reservedIndexCount||t.attributes.position.count>l.reservedVertexCount)throw new Error("THREE.BatchedMesh: Reserved space not large enough for provided geometry.");const u=l.vertexStart,d=l.reservedVertexCount;l.vertexCount=t.getAttribute("position").count;for(const p in n.attributes){const m=t.getAttribute(p),y=n.getAttribute(p);_R(m,y,u);const v=m.itemSize;
vendor: 8,885 bytes, line 83
83for(let S=m.count,E=d;S<E;S++){const A=u+S;for(let M=0;M<v;M++)y.setComponent(A,M,0)}y.needsUpdate=!0,y.addUpdateRange(u*v,d*v)}if(i){const p=l.indexStart,m=l.reservedIndexCount;l.indexCount=t.getIndex().count;for(let y=0;y<o.count;y++)s.setX(p+y,u+o.getX(y));for(let y=o.count,v=m;y<v;y++)s.setX(p+y,u);s.needsUpdate=!0,s.addUpdateRange(p,l.reservedIndexCount)}return l.start=i?l.indexStart:l.vertexStart,l.count=i?l.indexCount:l.vertexCount,l.boundingBox=null,t.boundingBox!==null&&(l.boundingBox=t.boundingBox.clone()),l.boundingSphere=null,t.boundingSphere!==null&&(l.boundingSphere=t.boundingSphere.clone()),this._visibilityChanged=!0,e}deleteGeometry(e){const t=this._geometryInfo;if(e>=t.length||t[e].active===!1)return this;const n=this._instanceInfo;for(let i=0,s=n.length;i<s;i++)n[i].geometryIndex===e&&this.deleteInstance(i);return t[e].active=!1,this._availableGeometryIds.push(e),this._visibilityChanged=!0,this}deleteInstance(e){return this.validateInstanceId(e),this._instanceInfo[e].active=!1,this._availableInstanceIds.push(e),this._visibilityChanged=!0,this}optimize(){let e=0,t=0;const n=this._geometryInfo,i=n.map((o,l)=>l).sort((o,l)=>n[o].vertexStart-n[l].vertexStart),s=this.geometry;for(let o=0,l=n.length;o<l;o++){const u=i[o],d=n[u];if(d.active!==!1){if(s.index!==null){if(d.indexStart!==t){const{indexStart:p,vertexStart:m,reservedIndexCount:y}=d,v=s.index,S=v.array,E=e-m;for(let A=p;A<p+y;A++)S[A]=S[A]+E;v.array.copyWithin(t,p,p+y),v.addUpdateRange(t,y),d.indexStart=t}t+=d.reservedIndexCount}if(d.vertexStart!==e){const{vertexStart:p,reservedVertexCount:m}=d,y=s.attributes;for(const v in y){const S=y[v],{array:E,itemSize:A}=S;E.copyWithin(e*A,p*A,(p+m)*A),S.addUpdateRange(e*A,m*A)}d.vertexStart=e}e+=d.reservedVertexCount,d.start=s.index?d.indexStart:d.vertexStart,this._nextIndexStart=s.index?d.indexStart+d.reservedIndexCount:0,this._nextVertexStart=d.vertexStart+d.reservedVertexCount}}return this}getBoundingBoxAt(e,t){if(e>=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingBox===null){const s=new pi,o=n.index,l=n.attributes.position;for(let u=i.start,d=i.start+i.count;u<d;u++){let p=u;o&&(p=o.getX(p)),s.expandByPoint(cp.fromBufferAttribute(l,p))}i.boundingBox=s}return t.copy(i.boundingBox),t}getBoundingSphereAt(e,t){if(e>=this._geometryCount)return null;const n=this.geometry,i=this._geometryInfo[e];if(i.boundingSphere===null){const s=new ei;this.getBoundingBoxAt(e,U0),U0.getCenter(s.center);const o=n.index,l=n.attributes.position;let u=0;for(let d=i.start,p=i.start+i.count;d<p;d++){let m=d;o&&(m=o.getX(m)),cp.fromBufferAttribute(l,m),u=Math.max(u,s.center.distanceToSquared(cp))}s.radius=Math.sqrt(u),i.boundingSphere=s}return t.copy(i.boundingSphere),t}setMatrixAt(e,t){this.validateInstanceId(e);const n=this._matricesTexture,i=this._matricesTexture.image.data;return t.toArray(i,e*16),n.needsUpdate=!0,this}getMatrixAt(e,t){return this.validateInstanceId(e),t.fromArray(this._matricesTexture.image.data,e*16)}setColorAt(e,t){return this.validateInstanceId(e),this._colorsTexture===null&&this._initColorsTexture(),t.toArray(this._colorsTexture.image.data,e*4),this._colorsTexture.needsUpdate=!0,this}getColorAt(e,t){return this.validateInstanceId(e),t.fromArray(this._colorsTexture.image.data,e*4)}setVisibleAt(e,t){return this.validateInstanceId(e),this._instanceInfo[e].visible===t?this:(this._instanceInfo[e].visible=t,this._visibilityChanged=!0,this)}getVisibleAt(e){return this.validateInstanceId(e),this._instanceInfo[e].visible}setGeometryIdAt(e,t){return this.validateInstanceId(e),this.validateGeometryId(t),this._instanceInfo[e].geometryIndex=t,this}getGeometryIdAt(e){return this.validateInstanceId(e),this._instanceInfo[e].geometryIndex}getGeometryRangeAt(e,t={}){this.validateGeometryId(e);const n=this._geometryInfo[e];return t.vertexStart=n.vertexStart,t.vertexCount=n.vertexCount,t.reservedVertexCount=n.reservedVertexCount,t.indexStart=n.indexStart,t.indexCount=n.indexCount,t.reservedIndexCount=n.reservedIndexCount,t.start=n.start,t.count=n.count,t}setInstanceCount(e){const t=this._availableInstanceIds,n=this._instanceInfo;for(t.sort(bv);t[t.length-1]===n.length;)n.pop(),t.pop();if(e<n.length)throw new Error(`BatchedMesh: Instance ids outside the range ${e} are being used. Cannot shrink instance count.`);const i=new Int32Array(e),s=new Int32Array(e);tu(this._multiDrawCounts,i),tu(this._multiDrawStarts,s),this._multiDrawCounts=i,this._multiDrawStarts=s,this._maxInstanceCount=e;const o=this._indirectTexture,l=this._matricesTexture,u=this._colorsTexture;o.dispose(),this._initIndirectTexture(),tu(o.image.data,this._indirectTexture.image.data),l.dispose(),this._initMatricesTexture(),tu(l.image.data,this._matricesTexture.image.data),u&&(u.dispose(),this._initColorsTexture(),tu(u.image.data,this._colorsTexture.image.data))}setGeometrySize(e,t){const n=[...this._geometryInfo].filter(l=>l.active);if(Math.max(...n.map(l=>l.vertexStart+l.reservedVertexCount))>e)throw new Error(`BatchedMesh: Geometry vertex values are being used outside the range ${t}. Cannot shrink further.`);if(this.geometry.index&&Math.max(...n.map(u=>u.indexStart+u.reservedIndexCount))>t)throw new Error(`BatchedMesh: Geometry index values are being used outside the range ${t}. Cannot shrink further.`);const s=this.geometry;s.dispose(),this._maxVertexCount=e,this._maxIndexCount=t,this._geometryInitialized&&(this._geometryInitialized=!1,this.geometry=new Jt,this._initializeGeometry(s));const o=this.geometry;s.index&&tu(s.index.array,o.index.array);for(const l in s.attributes)tu(s.attributes[l].array,o.attributes[l].array)}raycast(e,t){const n=this._instanceInfo,i=this._geometryInfo,s=this.matrixWorld,o=this.geometry;ui.material=this.material,ui.geometry.index=o.index,ui.geometry.attributes=o.attributes,ui.geometry.boundingBox===null&&(ui.geometry.boundingBox=new pi),ui.geometry.boundingSphere===null&&(ui.geometry.boundingSphere=new ei);for(let l=0,u=n.length;l<u;l++){if(!n[l].visible||!n[l].active)continue;const d=n[l].geometryIndex,p=i[d];ui.geometry.setDrawRange(p.start,p.count),this.getMatrixAt(l,ui.matrixWorld).premultiply(s),this.getBoundingBoxAt(d,ui.geometry.boundingBox),this.getBoundingSphereAt(d,ui.geometry.boundingSphere),ui.raycast(e,j0);for(let m=0,y=j0.length;m<y;m++){const v=j0[m];v.object=this,v.batchId=l,t.push(v)}j0.length=0}ui.material=null,ui.geometry.index=null,ui.geometry.attributes={},ui.geometry.setDrawRange(0,1/0)}copy(e){return super.copy(e),this.geometry=e.geometry.clone(),this.perObjectFrustumCulled=e.perObjectFrustumCulled,this.sortObjects=e.sortObjects,this.boundingBox=e.boundingBox!==null?e.boundingBox.clone():null,this.boundingSphere=e.boundingSphere!==null?e.boundingSphere.clone():null,this._geometryInfo=e._geometryInfo.map(t=>({...t,boundingBox:t.boundingBox!==null?t.boundingBox.clone():null,boundingSphere:t.boundingSphere!==null?t.boundingSphere.clone():null})),this._instanceInfo=e._instanceInfo.map(t=>({...t})),this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null),this}onBeforeRender(e,t,n,i,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=i.getIndex(),l=o===null?1:o.array.BYTES_PER_ELEMENT,u=this._instanceInfo,d=this._multiDrawStarts,p=this._multiDrawCounts,m=this._geometryInfo,y=this.perObjectFrustumCulled,v=this._indirectTexture,S=v.image.data;y&&(Yi.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse).multiply(this.matrixWorld),Cv.setFromProjectionMatrix(Yi,e.coordinateSystem));let E=0;if(this.sortObjects){Yi.copy(this.matrixWorld).invert(),cp.setFromMatrixPosition(n.matrixWorld).applyMatrix4(Yi),Rw.set(0,0,-1).transformDirection(n.matrixWorld).transformDirection(Yi);for(let T=0,I=u.length;T<I;T++)if(u[T].visible&&u[T].active){const P=u[T].geometryIndex;this.getMatrixAt(T,Yi),this.getBoundingSphereAt(P,eu).applyMatrix4(Yi);let k=!1;if(y&&(k=!Cv.intersectsSphere(eu)),!k){const O=m[P],N=vR.subVectors(eu.center,cp).dot(Rw);Tv.push(O.start,O.count,N,T)}}const A=Tv.list,M=this.customSort;M===null?A.sort(s.transparent?mR:pR):M.call(this,A,n);for(let T=0,I=A.length;T<I;T++){const P=A[T];
vendor: 16,491 bytes, line 83
83d[E]=P.start*l,p[E]=P.count,S[E]=P.index,E++}Tv.reset()}else for(let A=0,M=u.length;A<M;A++)if(u[A].visible&&u[A].active){const T=u[A].geometryIndex;let I=!1;if(y&&(this.getMatrixAt(A,Yi),this.getBoundingSphereAt(T,eu).applyMatrix4(Yi),I=!Cv.intersectsSphere(eu)),!I){const P=m[T];d[E]=P.start*l,p[E]=P.count,S[E]=A,E++}}v.needsUpdate=!0,this._multiDrawCount=E,this._visibilityChanged=!1}onBeforeShadow(e,t,n,i,s,o){this.onBeforeRender(e,null,i,s,o)}}class mi extends xr{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new tt(16777215),this.map=null,this.linewidth=1,this.linecap="round",this.linejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const uy=new $,hy=new $,Bw=new Nt,up=new Wd,z0=new ei,Iv=new $,Ow=new $;class nl extends fn{constructor(e=new Jt,t=new mi){super(),this.isLine=!0,this.type="Line",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[0];for(let i=1,s=t.count;i<s;i++)uy.fromBufferAttribute(t,i-1),hy.fromBufferAttribute(t,i),n[i]=n[i-1],n[i]+=uy.distanceTo(hy);e.setAttribute("lineDistance",new Et(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const n=this.geometry,i=this.matrixWorld,s=e.params.Line.threshold,o=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),z0.copy(n.boundingSphere),z0.applyMatrix4(i),z0.radius+=s,e.ray.intersectsSphere(z0)===!1)return;Bw.copy(i).invert(),up.copy(e.ray).applyMatrix4(Bw);const l=s/((this.scale.x+this.scale.y+this.scale.z)/3),u=l*l,d=this.isLineSegments?2:1,p=n.index,y=n.attributes.position;if(p!==null){const v=Math.max(0,o.start),S=Math.min(p.count,o.start+o.count);for(let E=v,A=S-1;E<A;E+=d){const M=p.getX(E),T=p.getX(E+1),I=H0(this,e,up,u,M,T);I&&t.push(I)}if(this.isLineLoop){const E=p.getX(S-1),A=p.getX(v),M=H0(this,e,up,u,E,A);M&&t.push(M)}}else{const v=Math.max(0,o.start),S=Math.min(y.count,o.start+o.count);for(let E=v,A=S-1;E<A;E+=d){const M=H0(this,e,up,u,E,E+1);M&&t.push(M)}if(this.isLineLoop){const E=H0(this,e,up,u,S-1,v);E&&t.push(E)}}}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s<o;s++){const l=i[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[l]=s}}}}}function H0(r,e,t,n,i,s){const o=r.geometry.attributes.position;if(uy.fromBufferAttribute(o,i),hy.fromBufferAttribute(o,s),t.distanceSqToSegment(uy,hy,Iv,Ow)>n)return;Iv.applyMatrix4(r.matrixWorld);const u=e.ray.origin.distanceTo(Iv);if(!(u<e.near||u>e.far))return{distance:u,point:Ow.clone().applyMatrix4(r.matrixWorld),index:i,face:null,faceIndex:null,barycoord:null,object:r}}const Dw=new $,Lw=new $;class bo extends nl{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const t=e.attributes.position,n=[];for(let i=0,s=t.count;i<s;i+=2)Dw.fromBufferAttribute(t,i),Lw.fromBufferAttribute(t,i+1),n[i]=i===0?0:n[i-1],n[i+1]=n[i]+Dw.distanceTo(Lw);e.setAttribute("lineDistance",new Et(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class oM extends nl{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type="LineLoop"}}class lm extends xr{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new tt(16777215),this.map=null,this.alphaMap=null,this.size=1,this.sizeAttenuation=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.alphaMap=e.alphaMap,this.size=e.size,this.sizeAttenuation=e.sizeAttenuation,this.fog=e.fog,this}}const Nw=new Nt,Y_=new Wd,G0=new ei,V0=new $;class Jy extends fn{constructor(e=new Jt,t=new lm){super(),this.isPoints=!0,this.type="Points",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),this.material=Array.isArray(e.material)?e.material.slice():e.material,this.geometry=e.geometry,this}raycast(e,t){const n=this.geometry,i=this.matrixWorld,s=e.params.Points.threshold,o=n.drawRange;if(n.boundingSphere===null&&n.computeBoundingSphere(),G0.copy(n.boundingSphere),G0.applyMatrix4(i),G0.radius+=s,e.ray.intersectsSphere(G0)===!1)return;Nw.copy(i).invert(),Y_.copy(e.ray).applyMatrix4(Nw);const l=s/((this.scale.x+this.scale.y+this.scale.z)/3),u=l*l,d=n.index,m=n.attributes.position;if(d!==null){const y=Math.max(0,o.start),v=Math.min(d.count,o.start+o.count);for(let S=y,E=v;S<E;S++){const A=d.getX(S);V0.fromBufferAttribute(m,A),Fw(V0,A,u,i,e,t,this)}}else{const y=Math.max(0,o.start),v=Math.min(m.count,o.start+o.count);for(let S=y,E=v;S<E;S++)V0.fromBufferAttribute(m,S),Fw(V0,S,u,i,e,t,this)}}updateMorphTargets(){const t=this.geometry.morphAttributes,n=Object.keys(t);if(n.length>0){const i=t[n[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s<o;s++){const l=i[s].name||String(s);this.morphTargetInfluences.push(0),this.morphTargetDictionary[l]=s}}}}}function Fw(r,e,t,n,i,s,o){const l=Y_.distanceSqToPoint(r);if(l<t){const u=new $;Y_.closestPointToPoint(r,u),u.applyMatrix4(n);const d=i.ray.origin.distanceTo(u);if(d<i.near||d>i.far)return;s.push({distance:d,distanceToRay:Math.sqrt(l),point:u,index:e,face:null,faceIndex:null,barycoord:null,object:o})}}class $a extends fn{constructor(){super(),this.isGroup=!0,this.type="Group"}}class xR extends Gn{constructor(e,t,n,i,s,o,l,u,d){super(e,t,n,i,s,o,l,u,d),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:Zn,this.magFilter=s!==void 0?s:Zn,this.generateMipmaps=!1;const p=this;function m(){p.needsUpdate=!0,e.requestVideoFrameCallback(m)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(m)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class MR extends Gn{constructor(e,t){super({width:e,height:t}),this.isFramebufferTexture=!0,this.magFilter=zr,this.minFilter=zr,this.generateMipmaps=!1,this.needsUpdate=!0}}class $y extends Gn{constructor(e,t,n,i,s,o,l,u,d,p,m,y){super(null,o,l,u,d,p,i,s,m,y),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class SR extends $y{constructor(e,t,n,i,s,o){super(e,t,n,s,o),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=ys,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class wR extends $y{constructor(e,t,n){super(void 0,e[0].width,e[0].height,t,n,el),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class AR extends Gn{constructor(e,t,n,i,s,o,l,u,d){super(e,t,n,i,s,o,l,u,d),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Ky extends Gn{constructor(e,t,n,i,s,o,l,u,d,p=Mu){if(p!==Mu&&p!==Iu)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");n===void 0&&p===Mu&&(n=tl),n===void 0&&p===Iu&&(n=Tu),super(null,i,s,o,l,u,p,n,d),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=l!==void 0?l:zr,this.minFilter=u!==void 0?u:zr,this.flipY=!1,this.generateMipmaps=!1,this.compareFunction=null}copy(e){return super.copy(e),this.compareFunction=e.compareFunction,this}toJSON(e){const t=super.toJSON(e);return this.compareFunction!==null&&(t.compareFunction=this.compareFunction),t}}class Co{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),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=!1;const t=[];let n,i=this.getPoint(0),s=0;t.push(0);for(let o=1;o<=e;o++)n=this.getPoint(o/e),s+=n.distanceTo(i),t.push(s),i=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let i=0;const s=n.length;let o;t?o=t:o=e*n[s-1];let l=0,u=s-1,d;for(;l<=u;)if(i=Math.floor(l+(u-l)/2),d=n[i]-o,d<0)l=i+1;else if(d>0)u=i-1;else{u=i;break}if(i=u,n[i]===o)return i/(s-1);const p=n[i],y=n[i+1]-p,v=(o-p)/y;return(i+v)/(s-1)}getTangent(e,t){let i=e-1e-4,s=e+1e-4;i<0&&(i=0),s>1&&(s=1);const o=this.getPoint(i),l=this.getPoint(s),u=t||(o.isVector2?new Ne:new $);return u.copy(l).sub(o).normalize(),u}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new $,i=[],s=[],o=[],l=new $,u=new Nt;for(let v=0;v<=e;v++){const S=v/e;i[v]=this.getTangentAt(S,new $)}s[0]=new $,o[0]=new $;let d=Number.MAX_VALUE;const p=Math.abs(i[0].x),m=Math.abs(i[0].y),y=Math.abs(i[0].z);p<=d&&(d=p,n.set(1,0,0)),m<=d&&(d=m,n.set(0,1,0)),y<=d&&n.set(0,0,1),l.crossVectors(i[0],n).normalize(),s[0].crossVectors(i[0],l),o[0].crossVectors(i[0],s[0]);for(let v=1;v<=e;v++){if(s[v]=s[v-1].clone(),o[v]=o[v-1].clone(),l.crossVectors(i[v-1],i[v]),l.length()>Number.EPSILON){l.normalize();const S=Math.acos(Yt(i[v-1].dot(i[v]),-1,1));s[v].applyMatrix4(u.makeRotationAxis(l,S))}o[v].crossVectors(i[v],s[v])}if(t===!0){let v=Math.acos(Yt(s[0].dot(s[e]),-1,1));v/=e,i[0].dot(l.crossVectors(s[0],s[e]))>0&&(v=-v);for(let S=1;S<=e;S++)s[S].applyMatrix4(u.makeRotationAxis(i[S],v*S)),o[S].crossVectors(i[S],s[S])}return{tangents:i,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Yy extends Co{constructor(e=0,t=0,n=1,i=1,s=0,o=Math.PI*2,l=!1,u=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=i,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=l,this.aRotation=u}getPoint(e,t=new Ne){const n=t,i=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)<Number.EPSILON;for(;s<0;)s+=i;for(;s>i;)s-=i;s<Number.EPSILON&&(o?s=0:s=i),this.aClockwise===!0&&!o&&(s===i?s=-i:s=s-i);const l=this.aStartAngle+e*s;let u=this.aX+this.xRadius*Math.cos(l),d=this.aY+this.yRadius*Math.sin(l);if(this.aRotation!==0){const p=Math.cos(this.aRotation),m=Math.sin(this.aRotation),y=u-this.aX,v=d-this.aY;u=y*p-v*m+this.aX,d=y*m+v*p+this.aY}return n.set(u,d)}copy(e){return 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,this}toJSON(){const e=super.toJSON();return 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,e}fromJSON(e){return 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,this}}class dC extends Yy{constructor(e,t,n,i,s,o){super(e,t,n,n,i,s,o),this.isArcCurve=!0,this.type="ArcCurve"}}function aM(){let r=0,e=0,t=0,n=0;function i(s,o,l,u){r=s,e=l,t=-3*s+3*o-2*l-u,n=2*s-2*o+l+u}return{initCatmullRom:function(s,o,l,u,d){i(o,l,d*(l-s),d*(u-o))},initNonuniformCatmullRom:function(s,o,l,u,d,p,m){let y=(o-s)/d-(l-s)/(d+p)+(l-o)/p,v=(l-o)/p-(u-o)/(p+m)+(u-l)/m;y*=p,v*=p,i(o,l,y,v)},calc:function(s){const o=s*s,l=o*s;return r+e*s+t*o+n*l}}}const W0=new $,Pv=new aM,Rv=new aM,Bv=new aM;class fC extends Co{constructor(e=[],t=!1,n="centripetal",i=.5){super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=n,this.tension=i}getPoint(e,t=new $){const n=t,i=this.points,s=i.length,o=(s-(this.closed?0:1))*e;let l=Math.floor(o),u=o-l;this.closed?l+=l>0?0:(Math.floor(Math.abs(l)/s)+1)*s:u===0&&l===s-1&&(l=s-2,u=1);let d,p;this.closed||l>0?d=i[(l-1)%s]:(W0.subVectors(i[0],i[1]).add(i[0]),d=W0);const m=i[l%s],y=i[(l+1)%s];if(this.closed||l+2<s?p=i[(l+2)%s]:(W0.subVectors(i[s-1],i[s-2]).add(i[s-1]),p=W0),this.curveType==="centripetal"||this.curveType==="chordal"){const v=this.curveType==="chordal"?.5:.25;let S=Math.pow(d.distanceToSquared(m),v),E=Math.pow(m.distanceToSquared(y),v),A=Math.pow(y.distanceToSquared(p),v);E<1e-4&&(E=1),S<1e-4&&(S=E),A<1e-4&&(A=E),Pv.initNonuniformCatmullRom(d.x,m.x,y.x,p.x,S,E,A),Rv.initNonuniformCatmullRom(d.y,m.y,y.y,p.y,S,E,A),Bv.initNonuniformCatmullRom(d.z,m.z,y.z,p.z,S,E,A)}else this.curveType==="catmullrom"&&(Pv.initCatmullRom(d.x,m.x,y.x,p.x,this.tension),Rv.initCatmullRom(d.y,m.y,y.y,p.y,this.tension),Bv.initCatmullRom(d.z,m.z,y.z,p.z,this.tension));return n.set(Pv.calc(u),Rv.calc(u),Bv.calc(u)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(i.clone())}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const i=this.points[t];e.points.push(i.toArray())}return e.closed=this.closed,e.curveType=this.curveType,e.tension=this.tension,e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(new $().fromArray(i))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}}function kw(r,e,t,n,i){const s=(n-e)*.5,o=(i-t)*.5,l=r*r,u=r*l;return(2*t-2*n+s+o)*u+(-3*t+3*n-2*s-o)*l+s*r+t}function ER(r,e){const t=1-r;return t*t*e}function bR(r,e){return 2*(1-r)*r*e}function CR(r,e){return r*r*e}function Pp(r,e,t,n){return ER(r,e)+bR(r,t)+CR(r,n)}function TR(r,e){const t=1-r;return t*t*t*e}function IR(r,e){const t=1-r;return 3*t*t*r*e}function PR(r,e){return 3*(1-r)*r*r*e}function RR(r,e){return r*r*r*e}function Rp(r,e,t,n,i){return TR(r,e)+IR(r,t)+PR(r,n)+RR(r,i)}class lM extends Co{constructor(e=new Ne,t=new Ne,n=new Ne,i=new Ne){super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=n,this.v3=i}getPoint(e,t=new Ne){const n=t,i=this.v0,s=this.v1,o=this.v2,l=this.v3;return n.set(Rp(e,i.x,s.x,o.x,l.x),Rp(e,i.y,s.y,o.y,l.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class pC extends Co{constructor(e=new $,t=new $,n=new $,i=new $){super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=n,this.v3=i}getPoint(e,t=new $){const n=t,i=this.v0,s=this.v1,o=this.v2,l=this.v3;return n.set(Rp(e,i.x,s.x,o.x,l.x),Rp(e,i.y,s.y,o.y,l.y),Rp(e,i.z,s.z,o.z,l.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this.v3.copy(e.v3),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e.v3=this.v3.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this.v3.fromArray(e.v3),this}}class cM extends Co{constructor(e=new Ne,t=new Ne){super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e,t=new Ne){const n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}
vendor: 4,414 bytes, line 83
83getTangent(e,t=new Ne){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class mC extends Co{constructor(e=new $,t=new $){super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e,t=new $){const n=t;return e===1?n.copy(this.v2):(n.copy(this.v2).sub(this.v1),n.multiplyScalar(e).add(this.v1)),n}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t=new $){return t.subVectors(this.v2,this.v1).normalize()}getTangentAt(e,t){return this.getTangent(e,t)}copy(e){return super.copy(e),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class uM extends Co{constructor(e=new Ne,t=new Ne,n=new Ne){super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new Ne){const n=t,i=this.v0,s=this.v1,o=this.v2;return n.set(Pp(e,i.x,s.x,o.x),Pp(e,i.y,s.y,o.y)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class hM extends Co{constructor(e=new $,t=new $,n=new $){super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=n}getPoint(e,t=new $){const n=t,i=this.v0,s=this.v1,o=this.v2;return n.set(Pp(e,i.x,s.x,o.x),Pp(e,i.y,s.y,o.y),Pp(e,i.z,s.z,o.z)),n}copy(e){return super.copy(e),this.v0.copy(e.v0),this.v1.copy(e.v1),this.v2.copy(e.v2),this}toJSON(){const e=super.toJSON();return e.v0=this.v0.toArray(),e.v1=this.v1.toArray(),e.v2=this.v2.toArray(),e}fromJSON(e){return super.fromJSON(e),this.v0.fromArray(e.v0),this.v1.fromArray(e.v1),this.v2.fromArray(e.v2),this}}class dM extends Co{constructor(e=[]){super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e,t=new Ne){const n=t,i=this.points,s=(i.length-1)*e,o=Math.floor(s),l=s-o,u=i[o===0?o:o-1],d=i[o],p=i[o>i.length-2?i.length-1:o+1],m=i[o>i.length-3?i.length-1:o+2];return n.set(kw(l,u.x,d.x,p.x,m.x),kw(l,u.y,d.y,p.y,m.y)),n}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(i.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const i=this.points[t];e.points.push(i.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const i=e.points[t];this.points.push(new Ne().fromArray(i))}return this}}var dy=Object.freeze({__proto__:null,ArcCurve:dC,CatmullRomCurve3:fC,CubicBezierCurve:lM,CubicBezierCurve3:pC,EllipseCurve:Yy,LineCurve:cM,LineCurve3:mC,QuadraticBezierCurve:uM,QuadraticBezierCurve3:hM,SplineCurve:dM});class gC extends Co{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(e){this.curves.push(e)}closePath(){const e=this.curves[0].getPoint(0),t=this.curves[this.curves.length-1].getPoint(1);if(!e.equals(t)){const n=e.isVector2===!0?"LineCurve":"LineCurve3";this.curves.push(new dy[n](t,e))}return this}getPoint(e,t){const n=e*this.getLength(),i=this.getCurveLengths();let s=0;for(;s<i.length;){if(i[s]>=n){const o=i[s]-n,l=this.curves[s],u=l.getLength(),d=u===0?0:1-o/u;return l.getPointAt(d,t)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,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,i=this.curves.length;n<i;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(e=40){const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return this.autoClose&&t.push(t[0]),t}getPoints(e=12){const t=[];let n;for(let i=0,s=this.curves;i<s.length;i++){const o=s[i],l=o.isEllipseCurve?e*2:o.isLineCurve||o.isLineCurve3?1:o.isS
vendor: 6,644 bytes, line 83
83plineCurve?e*o.points.length:e,u=o.getPoints(l);for(let d=0;d<u.length;d++){const p=u[d];n&&n.equals(p)||(t.push(p),n=p)}}return this.autoClose&&t.length>1&&!t[t.length-1].equals(t[0])&&t.push(t[0]),t}copy(e){super.copy(e),this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const i=e.curves[t];this.curves.push(i.clone())}return this.autoClose=e.autoClose,this}toJSON(){const e=super.toJSON();e.autoClose=this.autoClose,e.curves=[];for(let t=0,n=this.curves.length;t<n;t++){const i=this.curves[t];e.curves.push(i.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 i=e.curves[t];this.curves.push(new dy[i.type]().fromJSON(i))}return this}}class Vp extends gC{constructor(e){super(),this.type="Path",this.currentPoint=new Ne,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){return this.currentPoint.set(e,t),this}lineTo(e,t){const n=new cM(this.currentPoint.clone(),new Ne(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,n,i){const s=new uM(this.currentPoint.clone(),new Ne(e,t),new Ne(n,i));return this.curves.push(s),this.currentPoint.set(n,i),this}bezierCurveTo(e,t,n,i,s,o){const l=new lM(this.currentPoint.clone(),new Ne(e,t),new Ne(n,i),new Ne(s,o));return this.curves.push(l),this.currentPoint.set(s,o),this}splineThru(e){const t=[this.currentPoint.clone()].concat(e),n=new dM(t);return this.curves.push(n),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,n,i,s,o){const l=this.currentPoint.x,u=this.currentPoint.y;return this.absarc(e+l,t+u,n,i,s,o),this}absarc(e,t,n,i,s,o){return this.absellipse(e,t,n,n,i,s,o),this}ellipse(e,t,n,i,s,o,l,u){const d=this.currentPoint.x,p=this.currentPoint.y;return this.absellipse(e+d,t+p,n,i,s,o,l,u),this}absellipse(e,t,n,i,s,o,l,u){const d=new Yy(e,t,n,i,s,o,l,u);if(this.curves.length>0){const m=d.getPoint(0);m.equals(this.currentPoint)||this.lineTo(m.x,m.y)}this.curves.push(d);const p=d.getPoint(1);return this.currentPoint.copy(p),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class cm extends Jt{constructor(e=[new Ne(0,-.5),new Ne(.5,0),new Ne(0,.5)],t=12,n=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:i},t=Math.floor(t),i=Yt(i,0,Math.PI*2);const s=[],o=[],l=[],u=[],d=[],p=1/t,m=new $,y=new Ne,v=new $,S=new $,E=new $;let A=0,M=0;for(let T=0;T<=e.length-1;T++)switch(T){case 0:A=e[T+1].x-e[T].x,M=e[T+1].y-e[T].y,v.x=M*1,v.y=-A,v.z=M*0,E.copy(v),v.normalize(),u.push(v.x,v.y,v.z);break;case e.length-1:u.push(E.x,E.y,E.z);break;default:A=e[T+1].x-e[T].x,M=e[T+1].y-e[T].y,v.x=M*1,v.y=-A,v.z=M*0,S.copy(v),v.x+=E.x,v.y+=E.y,v.z+=E.z,v.normalize(),u.push(v.x,v.y,v.z),E.copy(S)}for(let T=0;T<=t;T++){const I=n+T*p*i,P=Math.sin(I),k=Math.cos(I);for(let O=0;O<=e.length-1;O++){m.x=e[O].x*P,m.y=e[O].y,m.z=e[O].x*k,o.push(m.x,m.y,m.z),y.x=T/t,y.y=O/(e.length-1),l.push(y.x,y.y);const N=u[3*O+0]*P,H=u[3*O+1],F=u[3*O+0]*k;d.push(N,H,F)}}for(let T=0;T<t;T++)for(let I=0;I<e.length-1;I++){const P=I+T*e.length,k=P,O=P+e.length,N=P+e.length+1,H=P+1;s.push(k,O,H),s.push(N,H,O)}this.setIndex(s),this.setAttribute("position",new Et(o,3)),this.setAttribute("uv",new Et(l,2)),this.setAttribute("normal",new Et(d,3))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new cm(e.points,e.segments,e.phiStart,e.phiLength)}}class qy extends cm{constructor(e=1,t=1,n=4,i=8){const s=new Vp;s.absarc(0,-t/2,e,Math.PI*1.5,0),s.absarc(0,t/2,e,0,Math.PI*.5),super(s.getPoints(n),i),this.type="CapsuleGeometry",this.parameters={radius:e,length:t,capSegments:n,radialSegments:i}}static fromJSON(e){return new qy(e.radius,e.length,e.capSegments,e.radialSegments)}}class Qy extends Jt{constructor(e=1,t=32,n=0,i=Math.PI*2){super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:i},t=Math.max(3,t);const s=[],o=[],l=[],u=[],d=new $,p=new Ne;o.push(0,0,0),l.push(0,0,1),u.push(.5,.5);for(let m=0,y=3;m<=t;m++,y+=3){const v=n+m/t*i;d.x=e*Math.cos(v),d.y=e*Math.sin(v),o.push(d.x,d.y,d.z),l.push(0,0,1),p.x=(o[y]/e+1)/2,p.y=(o[y+1]/e+1)/2,u.push(p.x,p.y)}for(let m=1;m<=t;m++)s.push(m,m+1,0);this.setIndex(s),this.setAttribute("position",new Et(o,3)),this.setAttribute("normal",new Et(l,3)),this.setAttribute("uv",new Et(u,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Qy(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class Xd extends Jt{constructor(e=1,t=1,n=1,i=32,s=1,o=!1,l=0,u=Math.PI*2){super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:i,heightSegments:s,openEnded:o,thetaStart:l,thetaLength:u};const d=this;i=Math.floor(i),s=Math.floor(s);const p=[],m=[],y=[],v=[];let S=0;const E=[],A=n/2;let M=0;T(),o===!1&&(e>0&&I(!0),t>0&&I(!1)),this.setIndex(p),this.setAttribute("position",new Et(m,3)),this.setAttribute("normal",new Et(y,3)),this.setAttribute("uv",new Et(v,2));function T(){const P=new $,k=new $;let O=0;const N=(t-e)/n;for(let H=0;H<=s;H++){const F=[],L=H/s,V=L*(t-e)+e;for(let te=0;te<=i;te++){const ne=te/i,ce=ne*u+l,me=Math.sin(ce),he=Math.cos(ce);k.x=V*me,k.y=-L*n+A,k.z=V*he,m.push(k.x,k.y,k.z),P.set(me,N,he).normalize(),y.push(P.x,P.y,P.z),v.push(ne,1-L),F.push(S++)}E.push(F)}for(let H=0;H<i;H++)for(let F=0;F<s;F++){const L=E[F][H],V=E[F+1][H],te=E[F+1][H+1],ne=E[F][H+1];(e>0||F!==0)&&(p.push(L,V,ne),O+=3),(t>0||F!==s-1)&&(p.push(V,te,ne),O+=3)}d.addGroup(M,O,0),M+=O}function I(P){const k=S,O=new Ne,N=new $;let H=0;const F=P===!0?e:t,L=P===!0?1:-1;for(let te=1;te<=i;te++)m.push(0,A*L,0),y.push(0,L,0),v.push(.5,.5),S++;const V=S;for(let te=0;te<=i;te++){const ce=te/i*u+l,me=Math.cos(ce),he=Math.sin(ce);N.x=F*he,N.y=A*L,N.z=F*me,m.push(N.x,N.y,N.z),y.push(0,L,0),O.x=me*.5+.5,O.y=he*.5*L+.5,v.push(O.x,O.y),S++}for(let te=0;te<i;te++){const ne=k+te,ce=V+te;P===!0?p.push(ce,ce+1,ne):p.push(ce+1,ce,ne),H+=3}d.addGroup(M,H,P===!0?1:2),M+=H}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Xd(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class Zy extends Xd{constructor(e=1,t=1,n=32,i=1,s=!1,o=0,l=Math.PI*2){super(0,e,t,n,i,s,o,l),this.type="C
83oneGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:i,openEnded:s,thetaStart:o,thetaLength:l}}static fromJSON(e){return new Zy(e.radius,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class lc extends Jt{constructor(e=[],t=[],n=1,i=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:i};const s=[],o=[];l(i),d(n),p(),this.setAttribute("position",new Et(s,3)),this.setAttribute("normal",new Et(s.slice(),3)),this.setAttribute("uv",new Et(o,2)),i===0?this.computeVertexNormals():this.normalizeNormals();function l(T){const I=new $,P=new $,k=new $;for(let O=0;O<t.length;O+=3)v(t[O+0],I),v(t[O+1],P),v(t[O+2],k),u(I,P,k,T)}function u(T,I,P,k){const O=k+1,N=[];for(let H=0;H<=O;H++){N[H]=[];const F=T.clone().lerp(P,H/O),L=I.clone().lerp(P,H/O),V=O-H;for(let te=0;te<=V;te++)te===0&&H===O?N[H][te]=F:N[H][te]=F.clone().lerp(L,te/V)}for(let H=0;H<O;H++)for(let F=0;F<2*(O-H)-1;F++){const L=Math.floor(F/2);F%2===0?(y(N[H][L+1]),y(N[H+1][L]),y(N[H][L])):(y(N[H][L+1]),y(N[H+1][L+1]),y(N[H+1][L]))}}function d(T){const I=new $;for(let P=0;P<s.length;P+=3)I.x=s[P+0],I.y=s[P+1],I.z=s[P+2],I.normalize().multiplyScalar(T),s[P+0]=I.x,s[P+1]=I.y,s[P+2]=I.z}function p(){const T=new $;for(let I=0;I<s.length;I+=3){T.x=s[I+0],T.y=s[I+1],T.z=s[I+2];const P=A(T)/2/Math.PI+.5,k=M(T)/Math.PI+.5;o.push(P,1-k)}S(),m()}function m(){for(let T=0;T<o.length;T+=6){const I=o[T+0],P=o[T+2],k=o[T+4],O=Math.max(I,P,k),N=Math.min(I,P,k);O>.9&&N<.1&&(I<.2&&(o[T+0]+=1),P<.2&&(o[T+2]+=1),k<.2&&(o[T+4]+=1))}}function y(T){s.push(T.x,T.y,T.z)}function v(T,I){const P=T*3;I.x=e[P+0],I.y=e[P+1],I.z=e[P+2]}function S(){const T=new $,I=new $,P=new $,k=new $,O=new Ne,N=new Ne,H=new Ne;for(let F=0,L=0;F<s.length;F+=9,L+=6){T.set(s[F+0],s[F+1],s[F+2]),I.set(s[F+3],s[F+4],s[F+5]),P.set(s[F+6],s[F+7],s[F+8]),O.set(o[L+0],o[L+1]),N.set(o[L+2],o[L+3]),H.set(o[L+4],o[L+5]),k.copy(T).add(I).add(P).divideScalar(3);const V=A(k);E(O,L+0,T,V),E(N,L+2,I,V),E(H,L+4,P,V)}}function E(T,I,P,k){k<0&&T.x===1&&(o[I]=T.x-1),P.x===0&&P.z===0&&(o[I]=k/2/Math.PI+.5)}function A(T){return Math.atan2(T.z,-T.x)}function M(T){return Math.atan2(-T.y,Math.sqrt(T.x*T.x+T.z*T.z))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new lc(e.vertices,e.indices,e.radius,e.details)}}class e1 extends lc{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2,i=1/n,s=[-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,-i,-n,0,-i,n,0,i,-n,0,i,n,-i,-n,0,-i,n,0,i,-n,0,i,n,0,-n,0,-i,n,0,-i,-n,0,i,n,0,i],o=[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,
vendor: 64,695 bytes, line 83
8319,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9];super(s,o,e,t),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new e1(e.radius,e.detail)}}const X0=new $,J0=new $,Ov=new $,$0=new es;class yC extends Jt{constructor(e=null,t=1){if(super(),this.type="EdgesGeometry",this.parameters={geometry:e,thresholdAngle:t},e!==null){const i=Math.pow(10,4),s=Math.cos(Su*t),o=e.getIndex(),l=e.getAttribute("position"),u=o?o.count:l.count,d=[0,0,0],p=["a","b","c"],m=new Array(3),y={},v=[];for(let S=0;S<u;S+=3){o?(d[0]=o.getX(S),d[1]=o.getX(S+1),d[2]=o.getX(S+2)):(d[0]=S,d[1]=S+1,d[2]=S+2);const{a:E,b:A,c:M}=$0;if(E.fromBufferAttribute(l,d[0]),A.fromBufferAttribute(l,d[1]),M.fromBufferAttribute(l,d[2]),$0.getNormal(Ov),m[0]=`${Math.round(E.x*i)},${Math.round(E.y*i)},${Math.round(E.z*i)}`,m[1]=`${Math.round(A.x*i)},${Math.round(A.y*i)},${Math.round(A.z*i)}`,m[2]=`${Math.round(M.x*i)},${Math.round(M.y*i)},${Math.round(M.z*i)}`,!(m[0]===m[1]||m[1]===m[2]||m[2]===m[0]))for(let T=0;T<3;T++){const I=(T+1)%3,P=m[T],k=m[I],O=$0[p[T]],N=$0[p[I]],H=`${P}_${k}`,F=`${k}_${P}`;F in y&&y[F]?(Ov.dot(y[F].normal)<=s&&(v.push(O.x,O.y,O.z),v.push(N.x,N.y,N.z)),y[F]=null):H in y||(y[H]={index0:d[T],index1:d[I],normal:Ov.clone()})}}for(const S in y)if(y[S]){const{index0:E,index1:A}=y[S];X0.fromBufferAttribute(l,E),J0.fromBufferAttribute(l,A),v.push(X0.x,X0.y,X0.z),v.push(J0.x,J0.y,J0.z)}this.setAttribute("position",new Et(v,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}class Au extends Vp{constructor(e){super(e),this.uuid=_s(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,i=this.holes.length;n<i;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 i=e.holes[t];this.holes.push(i.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 i=this.holes[t];e.holes.push(i.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 i=e.holes[t];this.holes.push(new Vp().fromJSON(i))}return this}}const BR={triangulate:function(r,e,t=2){const n=e&&e.length,i=n?e[0]*t:r.length;let s=vC(r,0,i,t,!0);const o=[];if(!s||s.next===s.prev)return o;let l,u,d,p,m,y,v;if(n&&(s=FR(r,e,s,t)),r.length>80*t){l=d=r[0],u=p=r[1];for(let S=t;S<i;S+=t)m=r[S],y=r[S+1],m<l&&(l=m),y<u&&(u=y),m>d&&(d=m),y>p&&(p=y);v=Math.max(d-l,p-u),v=v!==0?32767/v:0}return Wp(s,o,t,l,u,v,0),o}};function vC(r,e,t,n,i){let s,o;if(i===$R(r,e,t,n)>0)for(s=e;s<t;s+=n)o=Uw(s,r[s],r[s+1],o);else for(s=t-n;s>=e;s-=n)o=Uw(s,r[s],r[s+1],o);return o&&t1(o,o.next)&&(Jp(o),o=o.next),o}function Bu(r,e){if(!r)return r;e||(e=r);let t=r,n;do if(n=!1,!t.steiner&&(t1(t,t.next)||Qn(t.prev,t,t.next)===0)){if(Jp(t),t=e=t.prev,t===t.next)break;n=!0}else t=t.next;while(n||t!==e);return e}function Wp(r,e,t,n,i,s,o){if(!r)return;!o&&s&&HR(r,n,i,s);let l=r,u,d;for(;r.prev!==r.next;){if(u=r.prev,d=r.next,s?DR(r,n,i,s):OR(r)){e.push(u.i/t|0),e.push(r.i/t|0),e.push(d.i/t|0),Jp(r),r=d.next,l=d.next;continue}if(r=d,r===l){o?o===1?(r=LR(Bu(r),e,t),Wp(r,e,t,n,i,s,2)):o===2&&NR(r,e,t,n,i,s):Wp(Bu(r),e,t,n,i,s,1);break}}}function OR(r){const e=r.prev,t=r,n=r.next;if(Qn(e,t,n)>=0)return!1;const i=e.x,s=t.x,o=n.x,l=e.y,u=t.y,d=n.y,p=i<s?i<o?i:o:s<o?s:o,m=l<u?l<d?l:d:u<d?u:d,y=i>s?i>o?i:o:s>o?s:o,v=l>u?l>d?l:d:u>d?u:d;let S=n.next;for(;S!==e;){if(S.x>=p&&S.x<=y&&S.y>=m&&S.y<=v&&wd(i,l,s,u,o,d,S.x,S.y)&&Qn(S.prev,S,S.next)>=0)return!1;S=S.next}return!0}function DR(r,e,t,n){const i=r.prev,s=r,o=r.next;if(Qn(i,s,o)>=0)return!1;const l=i.x,u=s.x,d=o.x,p=i.y,m=s.y,y=o.y,v=l<u?l<d?l:d:u<d?u:d,S=p<m?p<y?p:y:m<y?m:y,E=l>u?l>d?l:d:u>d?u:d,A=p>m?p>y?p:y:m>y?m:y,M=q_(v,S,e,t,n),T=q_(E,A,e,t,n);let I=r.prevZ,P=r.nextZ;for(;I&&I.z>=M&&P&&P.z<=T;){if(I.x>=v&&I.x<=E&&I.y>=S&&I.y<=A&&I!==i&&I!==o&&wd(l,p,u,m,d,y,I.x,I.y)&&Qn(I.prev,I,I.next)>=0||(I=I.prevZ,P.x>=v&&P.x<=E&&P.y>=S&&P.y<=A&&P!==i&&P!==o&&wd(l,p,u,m,d,y,P.x,P.y)&&Qn(P.prev,P,P.next)>=0))return!1;P=P.nextZ}for(;I&&I.z>=M;){if(I.x>=v&&I.x<=E&&I.y>=S&&I.y<=A&&I!==i&&I!==o&&wd(l,p,u,m,d,y,I.x,I.y)&&Qn(I.prev,I,I.next)>=0)return!1;I=I.prevZ}for(;P&&P.z<=T;){if(P.x>=v&&P.x<=E&&P.y>=S&&P.y<=A&&P!==i&&P!==o&&wd(l,p,u,m,d,y,P.x,P.y)&&Qn(P.prev,P,P.next)>=0)return!1;P=P.nextZ}return!0}function LR(r,e,t){let n=r;do{const i=n.prev,s=n.next.next;!t1(i,s)&&_C(i,n,n.next,s)&&Xp(i,s)&&Xp(s,i)&&(e.push(i.i/t|0),e.push(n.i/t|0),e.push(s.i/t|0),Jp(n),Jp(n.next),n=r=s),n=n.next}while(n!==r);return Bu(n)}function NR(r,e,t,n,i,s){let o=r;do{let l=o.next.next;for(;l!==o.prev;){if(o.i!==l.i&&WR(o,l)){let u=xC(o,l);o=Bu(o,o.next),u=Bu(u,u.next),Wp(o,e,t,n,i,s,0),Wp(u,e,t,n,i,s,0);return}l=l.next}o=o.next}while(o!==r)}function FR(r,e,t,n){const i=[];let s,o,l,u,d;for(s=0,o=e.length;s<o;s++)l=e[s]*n,u=s<o-1?e[s+1]*n:r.length,d=vC(r,l,u,n,!1),d===d.next&&(d.steiner=!0),i.push(VR(d));for(i.sort(kR),s=0;s<i.length;s++)t=UR(i[s],t);return t}function kR(r,e){return r.x-e.x}function UR(r,e){const t=jR(r,e);if(!t)return e;const n=xC(t,r);return Bu(n,n.next),Bu(t,t.next)}function jR(r,e){let t=e,n=-1/0,i;const s=r.x,o=r.y;do{if(o<=t.y&&o>=t.next.y&&t.next.y!==t.y){const y=t.x+(o-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(y<=s&&y>n&&(n=y,i=t.x<t.next.x?t:t.next,y===s))return i}t=t.next}while(t!==e);if(!i)return null;const l=i,u=i.x,d=i.y;let p=1/0,m;t=i;do s>=t.x&&t.x>=u&&s!==t.x&&wd(o<d?s:n,o,u,d,o<d?n:s,o,t.x,t.y)&&(m=Math.abs(o-t.y)/(s-t.x),Xp(t,r)&&(m<p||m===p&&(t.x>i.x||t.x===i.x&&zR(i,t)))&&(i=t,p=m)),t=t.next;while(t!==l);return i}function zR(r,e){return Qn(r.prev,r,e.prev)<0&&Qn(e.next,r,r.next)<0}function HR(r,e,t,n){let i=r;do i.z===0&&(i.z=q_(i.x,i.y,e,t,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==r);i.prevZ.nextZ=null,i.prevZ=null,GR(i)}function GR(r){let e,t,n,i,s,o,l,u,d=1;do{for(t=r,r=null,s=null,o=0;t;){for(o++,n=t,l=0,e=0;e<d&&(l++,n=n.nextZ,!!n);e++);for(u=d;l>0||u>0&&n;)l!==0&&(u===0||!n||t.z<=n.z)?(i=t,t=t.nextZ,l--):(i=n,n=n.nextZ,u--),s?s.nextZ=i:r=i,i.prevZ=s,s=i;t=n}s.nextZ=null,d*=2}while(o>1);return r}function q_(r,e,t,n,i){return r=(r-t)*i|0,e=(e-n)*i|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,r|e<<1}function VR(r){let e=r,t=r;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==r);return t}function wd(r,e,t,n,i,s,o,l){return(i-o)*(e-l)>=(r-o)*(s-l)&&(r-o)*(n-l)>=(t-o)*(e-l)&&(t-o)*(s-l)>=(i-o)*(n-l)}function WR(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!XR(r,e)&&(Xp(r,e)&&Xp(e,r)&&JR(r,e)&&(Qn(r.prev,r,e.prev)||Qn(r,e.prev,e))||t1(r,e)&&Qn(r.prev,r,r.next)>0&&Qn(e.prev,e,e.next)>0)}function Qn(r,e,t){return(e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function t1(r,e){return r.x===e.x&&r.y===e.y}function _C(r,e,t,n){const i=Y0(Qn(r,e,t)),s=Y0(Qn(r,e,n)),o=Y0(Qn(t,n,r)),l=Y0(Qn(t,n,e));return!!(i!==s&&o!==l||i===0&&K0(r,t,e)||s===0&&K0(r,n,e)||o===0&&K0(t,r,n)||l===0&&K0(t,e,n))}function K0(r,e,t){return e.x<=Math.max(r.x,t.x)&&e.x>=Math.min(r.x,t.x)&&e.y<=Math.max(r.y,t.y)&&e.y>=Math.min(r.y,t.y)}function Y0(r){return r>0?1:r<0?-1:0}function XR(r,e){let t=r;do{if(t.i!==r.i&&t.next.i!==r.i&&t.i!==e.i&&t.next.i!==e.i&&_C(t,t.next,r,e))return!0;t=t.next}while(t!==r);return!1}function Xp(r,e){return Qn(r.prev,r,r.next)<0?Qn(r,e,r.next)>=0&&Qn(r,r.prev,e)>=0:Qn(r,e,r.prev)<0||Qn(r,r.next,e)<0}function JR(r,e){let t=r,n=!1;const i=(r.x+e.x)/2,s=(r.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&i<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(n=!n),t=t.next;while(t!==r);return n}function xC(r,e){const t=new Q_(r.i,r.x,r.y),n=new Q_(e.i,e.x,e.y),i=r.next,s=e.prev;return r.next=e,e.prev=r,t.next=i,i.prev=t,n.next=t,t.prev=n,s.next=n,n.prev=s,n}function Uw(r,e,t,n){const i=new Q_(r,e,t);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Jp(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function Q_(r,e,t){this.i=r,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function $R(r,e,t,n){let i=0;for(let s=e,o=t-n;s<t;s+=n)i+=(r[o]-r[s])*(r[s+1]+r[o+1]),o=s;return i}class Ko{static area(e){const t=e.length;let n=0;for(let i=t-1,s=0;s<t;i=s++)n+=e[i].x*e[s].y-e[s].x*e[i].y;return n*.5}static isClockWise(e){return Ko.area(e)<0}static triangulateShape(e,t){const n=[],i=[],s=[];jw(e),zw(n,e);let o=e.length;t.forEach(jw);for(let u=0;u<t.length;u++)i.push(o),o+=t[u].length,zw(n,t[u]);const l=BR.triangulate(n,i);for(let u=0;u<l.length;u+=3)s.push(l.slice(u,u+3));return s}}function jw(r){const e=r.length;e>2&&r[e-1].equals(r[0])&&r.pop()}function zw(r,e){for(let t=0;t<e.length;t++)r.push(e[t].x),r.push(e[t].y)}class n1 extends Jt{constructor(e=new Au([new Ne(.5,.5),new Ne(-.5,.5),new Ne(-.5,-.5),new Ne(.5,-.5)]),t={}){super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];const n=this,i=[],s=[];for(let l=0,u=e.length;l<u;l++){const d=e[l];o(d)}this.setAttribute("position",new Et(i,3)),this.setAttribute("uv",new Et(s,2)),this.computeVertexNormals();function o(l){const u=[],d=t.curveSegments!==void 0?t.curveSegments:12,p=t.steps!==void 0?t.steps:1,m=t.depth!==void 0?t.depth:1;let y=t.bevelEnabled!==void 0?t.bevelEnabled:!0,v=t.bevelThickness!==void 0?t.bevelThickness:.2,S=t.bevelSize!==void 0?t.bevelSize:v-.1,E=t.bevelOffset!==void 0?t.bevelOffset:0,A=t.bevelSegments!==void 0?t.bevelSegments:3;const M=t.extrudePath,T=t.UVGenerator!==void 0?t.UVGenerator:KR;let I,P=!1,k,O,N,H;M&&(I=M.getSpacedPoints(p),P=!0,y=!1,k=M.computeFrenetFrames(p,!1),O=new $,N=new $,H=new $),y||(A=0,v=0,S=0,E=0);const F=l.extractPoints(d);let L=F.shape;const V=F.holes;if(!Ko.isClockWise(L)){L=L.reverse();for(let Be=0,Oe=V.length;Be<Oe;Be++){const K=V[Be];Ko.isClockWise(K)&&(V[Be]=K.reverse())}}const ne=Ko.triangulateShape(L,V),ce=L;for(let Be=0,Oe=V.length;Be<Oe;Be++){const K=V[Be];L=L.concat(K)}function me(Be,Oe,K){return Oe||console.error("THREE.ExtrudeGeometry: vec does not exist"),Be.clone().addScaledVector(Oe,K)}const he=L.length,ge=ne.length;function U(Be,Oe,K){let pt,Fe,st;const Ve=Be.x-Oe.x,St=Be.y-Oe.y,$e=K.x-Be.x,J=K.y-Be.y,G=Ve*Ve+St*St,ee=Ve*J-St*$e;if(Math.abs(ee)>Number.EPSILON){const ye=Math.sqrt(G),Pe=Math.sqrt($e*$e+J*J),be=Oe.x-St/ye,et=Oe.y+Ve/ye,Je=K.x-J/Pe,Qe=K.y+$e/Pe,Ht=((Je-be)*J-(Qe-et)*$e)/(Ve*J-St*$e);pt=be+Ve*Ht-Be.x,Fe=et+St*Ht-Be.y;const Ue=pt*pt+Fe*Fe;if(Ue<=2)return new Ne(pt,Fe);st=Math.sqrt(Ue/2)}else{let ye=!1;Ve>Number.EPSILON?$e>Number.EPSILON&&(ye=!0):Ve<-Number.EPSILON?$e<-Number.EPSILON&&(ye=!0):Math.sign(St)===Math.sign(J)&&(ye=!0),ye?(pt=-St,Fe=Ve,st=Math.sqrt(G)):(pt=Ve,Fe=St,st=Math.sqrt(G/2))}return new Ne(pt/st,Fe/st)}const Z=[];for(let Be=0,Oe=ce.length,K=Oe-1,pt=Be+1;Be<Oe;Be++,K++,pt++)K===Oe&&(K=0),pt===Oe&&(pt=0),Z[Be]=U(ce[Be],ce[K],ce[pt]);const q=[];let X,se=Z.concat();for(let Be=0,Oe=V.length;Be<Oe;Be++){const K=V[Be];X=[];for(let pt=0,Fe=K.length,st=Fe-1,Ve=pt+1;pt<Fe;pt++,st++,Ve++)st===Fe&&(st=0),Ve===Fe&&(Ve=0),X[pt]=U(K[pt],K[st],K[Ve]);q.push(X),se=se.concat(X)}for(let Be=0;Be<A;Be++){const Oe=Be/A,K=v*Math.cos(Oe*Math.PI/2),pt=S*Math.sin(Oe*Math.PI/2)+E;for(let Fe=0,st=ce.length;Fe<st;Fe++){const Ve=me(ce[Fe],Z[Fe],pt);Ie(Ve.x,Ve.y,-K)}for(let Fe=0,st=V.length;Fe<st;Fe++){const Ve=V[Fe];X=q[Fe];for(let St=0,$e=Ve.length;St<$e;St++){const J=me(Ve[St],X[St],pt);Ie(J.x,J.y,-K)}}}const Le=S+E;for(let Be=0;Be<he;Be++){const Oe=y?me(L[Be],se[Be],Le):L[Be];P?(N.copy(k.normals[0]).multiplyScalar(Oe.x),O.copy(k.binormals[0]).multiplyScalar(Oe.y),H.copy(I[0]).add(N).add(O),Ie(H.x,H.y,H.z)):Ie(Oe.x,Oe.y,0)}for(let Be=1;Be<=p;Be++)for(let Oe=0;Oe<he;Oe++){const K=y?me(L[Oe],se[Oe],Le):L[Oe];P?(N.copy(k.normals[Be]).multiplyScalar(K.x),O.copy(k.binormals[Be]).multiplyScalar(K.y),H.copy(I[Be]).add(N).add(O),Ie(H.x,H.y,H.z)):Ie(K.x,K.y,m/p*Be)}for(let Be=A-1;Be>=0;Be--){const Oe=Be/A,K=v*Math.cos(Oe*Math.PI/2),pt=S*Math.sin(Oe*Math.PI/2)+E;for(let Fe=0,st=ce.length;Fe<st;Fe++){const Ve=me(ce[Fe],Z[Fe],pt);Ie(Ve.x,Ve.y,m+K)}for(let Fe=0,st=V.length;Fe<st;Fe++){const Ve=V[Fe];X=q[Fe];for(let St=0,$e=Ve.length;St<$e;St++){const J=me(Ve[St],X[St],pt);P?Ie(J.x,J.y+I[p-1].y,I[p-1].x+K):Ie(J.x,J.y,m+K)}}}pe(),Ae();function pe(){const Be=i.length/3;if(y){let Oe=0,K=he*Oe;for(let pt=0;pt<ge;pt++){const Fe=ne[pt];Ge(Fe[2]+K,Fe[1]+K,Fe[0]+K)}Oe=p+A*2,K=he*Oe;for(let pt=0;pt<ge;pt++){const Fe=ne[pt];Ge(Fe[0]+K,Fe[1]+K,Fe[2]+K)}}else{for(let Oe=0;Oe<ge;Oe++){const K=ne[Oe];Ge(K[2],K[1],K[0])}for(let Oe=0;Oe<ge;Oe++){const K=ne[Oe];Ge(K[0]+he*p,K[1]+he*p,K[2]+he*p)}}n.addGroup(Be,i.length/3-Be,0)}function Ae(){const Be=i.length/3;let Oe=0;Re(ce,Oe),Oe+=ce.length;for(let K=0,pt=V.length;K<pt;K++){const Fe=V[K];Re(Fe,Oe),Oe+=Fe.length}n.addGroup(Be,i.length/3-Be,1)}function Re(Be,Oe){let K=Be.length;for(;--K>=0;){const pt=K;let Fe=K-1;Fe<0&&(Fe=Be.length-1);for(let st=0,Ve=p+A*2;st<Ve;st++){const St=he*st,$e=he*(st+1),J=Oe+pt+St,G=Oe+Fe+St,ee=Oe+Fe+$e,ye=Oe+pt+$e;qe(J,G,ee,ye)}}}function Ie(Be,Oe,K){u.push(Be),u.push(Oe),u.push(K)}function Ge(Be,Oe,K){lt(Be),lt(Oe),lt(K);const pt=i.length/3,Fe=T.generateTopUV(n,i,pt-3,pt-2,pt-1);Pt(Fe[0]),Pt(Fe[1]),Pt(Fe[2])}function qe(Be,Oe,K,pt){lt(Be),lt(Oe),lt(pt),lt(Oe),lt(K),lt(pt);const Fe=i.length/3,st=T.generateSideWallUV(n,i,Fe-6,Fe-3,Fe-2,Fe-1);Pt(st[0]),Pt(st[1]),Pt(st[3]),Pt(st[1]),Pt(st[2]),Pt(st[3])}function lt(Be){i.push(u[Be*3+0]),i.push(u[Be*3+1]),i.push(u[Be*3+2])}function Pt(Be){s.push(Be.x),s.push(Be.y)}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes,n=this.parameters.options;return YR(t,n,e)}static fromJSON(e,t){const n=[];for(let s=0,o=e.shapes.length;s<o;s++){const l=t[e.shapes[s]];n.push(l)}const i=e.options.extrudePath;return i!==void 0&&(e.options.extrudePath=new dy[i.type]().fromJSON(i)),new n1(n,e.options)}}const KR={generateTopUV:function(r,e,t,n,i){const s=e[t*3],o=e[t*3+1],l=e[n*3],u=e[n*3+1],d=e[i*3],p=e[i*3+1];return[new Ne(s,o),new Ne(l,u),new Ne(d,p)]},generateSideWallUV:function(r,e,t,n,i,s){const o=e[t*3],l=e[t*3+1],u=e[t*3+2],d=e[n*3],p=e[n*3+1],m=e[n*3+2],y=e[i*3],v=e[i*3+1],S=e[i*3+2],E=e[s*3],A=e[s*3+1],M=e[s*3+2];return Math.abs(l-p)<Math.abs(o-d)?[new Ne(o,1-u),new Ne(d,1-m),new Ne(y,1-S),new Ne(E,1-M)]:[new Ne(l,1-u),new Ne(p,1-m),new Ne(v,1-S),new Ne(A,1-M)]}};function YR(r,e,t){if(t.shapes=[],Array.isArray(r))for(let n=0,i=r.length;n<i;n++){const s=r[n];t.shapes.push(s.uuid)}else t.shapes.push(r.uuid);return t.options=Object.assign({},e),e.extrudePath!==void 0&&(t.options.extrudePath=e.extrudePath.toJSON()),t}class r1 extends lc{constructor(e=1,t=0){const n=(1+Math.sqrt(5))/2,i=[-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],s=[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(i,s,e,t),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new r1(e.radius,e.detail)}}class um extends lc{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],i=[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,i,e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new um(e.radius,e.detail)}}class Jd extends Jt{constructor(e=1,t=1,n=1,i=1){super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:i};const s=e/2,o=t/2,l=Math.floor(n),u=Math.floor(i),d=l+1,p=u+1,m=e/l,y=t/u,v=[],S=[],E=[],A=[];for(let M=0;M<p;M++){const T=M*y-o;for(let I=0;I<d;I++){const P=I*m-s;S.push(P,-T,0),E.push(0,0,1),A.push(I/l),A.push(1-M/u)}}for(let M=0;M<u;M++)for(let T=0;T<l;T++){const I=T+d*M,P=T+d*(M+1),k=T+1+d*(M+1),O=T+1+d*M;v.push(I,P,O),v.push(P,k,O)}this.setIndex(v),this.setAttribute("position",new Et(S,3)),this.setAttribute("normal",new Et(E,3)),this.setAttribute("uv",new Et(A,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new Jd(e.width,e.height,e.widthSegments,e.heightSegments)}}class i1 extends Jt{constructor(e=.5,t=1,n=32,i=1,s=0,o=Math.PI*2){super(),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:i,thetaStart:s,thetaLength:o},n=Math.max(3,n),i=Math.max(1,i);const l=[],u=[],d=[],p=[];let m=e;const y=(t-e)/i,v=new $,S=new Ne;for(let E=0;E<=i;E++){for(let A=0;A<=n;A++){const M=s+A/n*o;v.x=m*Math.cos(M),v.y=m*Math.sin(M),u.push(v.x,v.y,v.z),d.push(0,0,1),S.x=(v.x/t+1)/2,S.y=(v.y/t+1)/2,p.push(S.x,S.y)}m+=y}for(let E=0;E<i;E++){const A=E*(n+1);for(let M=0;M<n;M++){const T=M+A,I=T,P=T+n+1,k=T+n+2,O=T+1;l.push(I,P,O),l.push(P,k,O)}}this.setIndex(l),this.setAttribute("position",new Et(u,3)),this.setAttribute("normal",new Et(d,3)),this.setAttribute("uv",new Et(p,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new i1(e.innerRadius,e.outerRadius,e.thetaSegments,e.phiSegments,e.thetaStart,e.thetaLength)}}class s1 extends Jt{constructor(e=new Au([new Ne(0,.5),new Ne(-.5,-.5),new Ne(.5,-.5)]),t=12){super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};const n=[],i=[],s=[],o=[];let l=0,u=0;if(Array.isArray(e)===!1)d(e);else for(let p=0;p<e.length;p++)d(e[p]),this.addGroup(l,u,p),l+=u,u=0;this.setIndex(n),this.setAttribute("position",new Et(i,3)),this.setAttribute("normal",new Et(s,3)),this.setAttribute("uv",new Et(o,2));function d(p){const m=i.length/3,y=p.extractPoints(t);let v=y.shape;const S=y.holes;Ko.isClockWise(v)===!1&&(v=v.reverse());for(let A=0,M=S.length;A<M;A++){const T=S[A];Ko.isClockWise(T)===!0&&(S[A]=T.reverse())}const E=Ko.triangulateShape(v,S);for(let A=0,M=S.length;A<M;A++){const T=S[A];v=v.concat(T)}for(let A=0,M=v.length;A<M;A++){const T=v[A];i.push(T.x,T.y,0),s.push(0,0,1),o.push(T.x,T.y)}for(let A=0,M=E.length;A<M;A++){const T=E[A],I=T[0]+m,P=T[1]+m,k=T[2]+m;n.push(I,P,k),u+=3}}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON(),t=this.parameters.shapes;return qR(t,e)}static fromJSON(e,t){const n=[];for(let i=0,s=e.shapes.length;i<s;i++){const o=t[e.shapes[i]];n.push(o)}return new s1(n,e.curveSegments)}}function qR(r,e){if(e.shapes=[],Array.isArray(r))for(let t=0,n=r.length;t<n;t++){const i=r[t];e.shapes.push(i.uuid)}else e.shapes.push(r.uuid);return e}class hm extends Jt{constructor(e=1,t=32,n=16,i=0,s=Math.PI*2,o=0,l=Math.PI){super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:i,phiLength:s,thetaStart:o,thetaLength:l},t=Math.max(3,Math.floor(t)),n=Math.max(2,Math.floor(n));const u=Math.min(o+l,Math.PI);let d=0;const p=[],m=new $,y=new $,v=[],S=[],E=[],A=[];for(let M=0;M<=n;M++){const T=[],I=M/n;let P=0;M===0&&o===0?P=.5/t:M===n&&u===Math.PI&&(P=-.5/t);for(let k=0;k<=t;k++){const O=k/t;m.x=-e*Math.cos(i+O*s)*Math.sin(o+I*l),m.y=e*Math.cos(o+I*l),m.z=e*Math.sin(i+O*s)*Math.sin(o+I*l),S.push(m.x,m.y,m.z),y.copy(m).normalize(),E.push(y.x,y.y,y.z),A.push(O+P,1-I),T.push(d++)}p.push(T)}for(let M=0;M<n;M++)for(let T=0;T<t;T++){const I=p[M][T+1],P=p[M][T],k=p[M+1][T],O=p[M+1][T+1];(M!==0||o>0)&&v.push(I,P,O),(M!==n-1||u<Math.PI)&&v.push(P,k,O)}this.setIndex(v),this.setAttribute("position",new Et(S,3)),this.setAttribute("normal",new Et(E,3)),this.setAttribute("uv",new Et(A,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new hm(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class o1 extends lc{constructor(e=1,t=0){const n=[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],i=[2,1,0,0,3,2,1,3,0,2,3,1];super(n,i,e,t),this.type="TetrahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new o1(e.radius,e.detail)}}class a1 extends Jt{constructor(e=1,t=.4,n=12,i=48,s=Math.PI*2){super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:i,arc:s},n=Math.floor(n),i=Math.floor(i);const o=[],l=[],u=[],d=[],p=new $,m=new $,y=new $;for(let v=0;v<=n;v++)for(let S=0;S<=i;S++){const E=S/i*s,A=v/n*Math.PI*2;m.x=(e+t*Math.cos(A))*Math.cos(E),m.y=(e+t*Math.cos(A))*Math.sin(E),m.z=t*Math.sin(A),l.push(m.x,m.y,m.z),p.x=e*Math.cos(E),p.y=e*Math.sin(E),y.subVectors(m,p).normalize(),u.push(y.x,y.y,y.z),d.push(S/i),d.push(v/n)}for(let v=1;v<=n;v++)for(let S=1;S<=i;S++){const E=(i+1)*v+S-1,A=(i+1)*(v-1)+S-1,M=(i+1)*(v-1)+S,T=(i+1)*v+S;o.push(E,A,T),o.push(A,M,T)}this.setIndex(o),this.setAttribute("position",new Et(l,3)),this.setAttribute("normal",new Et(u,3)),this.setAttribute("uv",new Et(d,2))}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new a1(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class l1 extends Jt{constructor(e=1,t=.4,n=64,i=8,s=2,o=3){super(),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:i,p:s,q:o},n=Math.floor(n),i=Math.floor(i);const l=[],u=[],d=[],p=[],m=new $,y=new $,v=new $,S=new $,E=new $,A=new $,M=new $;for(let I=0;I<=n;++I){const P=I/n*s*Math.PI*2;T(P,s,o,e,v),T(P+.01,s,o,e,S),A.subVectors(S,v),M.addVectors(S,v),E.crossVectors(A,M),M.crossVectors(E,A),E.normalize(),M.normalize();for(let k=0;k<=i;++k){const O=k/i*Math.PI*2,N=-t*Math.cos(O),H=t*Math.sin(O);m.x=v.x+(N*M.x+H*E.x),m.y=v.y+(N*M.y+H*E.y),m.z=v.z+(N*M.z+H*E.z),u.push(m.x,m.y,m.z),y.subVectors(m,v).normalize(),d.push(y.x,y.y,y.z),p.push(I/n),p.push(k/i)}}for(let I=1;I<=n;I++)for(let P=1;P<=i;P++){const k=(i+1)*(I-1)+(P-1),O=(i+1)*I+(P-1),N=(i+1)*I+P,H=(i+1)*(I-1)+P;l.push(k,O,H),l.push(O,N,H)}this.setIndex(l),this.setAttribute("position",new Et(u,3)),this.setAttribute("normal",new Et(d,3)),this.setAttribute("uv",new Et(p,2));function T(I,P,k,O,N){const H=Math.cos(I),F=Math.sin(I),L=k/P*I,V=Math.cos(L);N.x=O*(2+V)*.5*H,N.y=O*(2+V)*F*.5,N.z=O*Math.sin(L)*.5}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}static fromJSON(e){return new l1(e.radius,e.tube,e.tubularSegments,e.radialSegments,e.p,e.q)}}class c1 extends Jt{constructor(e=new hM(new $(-1,-1,0),new $(-1,1,0),new $(1,1,0)),t=64,n=1,i=8,s=!1){super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:i,closed:s};const o=e.computeFrenetFrames(t,s);this.tangents=o.tangents,this.normals=o.normals,this.binormals=o.binormals;const l=new $,u=new $,d=new Ne;let p=new $;const m=[],y=[],v=[],S=[];E(),this.setIndex(S),this.setAttribute("position",new Et(m,3)),this.setAttribute("normal",new Et(y,3)),this.setAttribute("uv",new Et(v,2));function E(){for(let I=0;I<t;I++)A(I);A(s===!1?t:0),T(),M()}function A(I){p=e.getPointAt(I/t,p);const P=o.normals[I],k=o.binormals[I];for(let O=0;O<=i;O++){const N=O/i*Math.PI*2,H=Math.sin(N),F=-Math.cos(N);u.x=F*P.x+H*k.x,u.y=F*P.y+H*k.y,u.z=F*P.z+H*k.z,u.normalize(),y.push(u.x,u.y,u.z),l.x=p.x+n*u.x,l.y=p.y+n*u.y,l.z=p.z+n*u.z,m.push(l.x,l.y,l.z)}}function M(){for(let I=1;I<=t;I++)for(let P=1;P<=i;P++){const k=(i+1)*(I-1)+(P-1),O=(i+1)*I+(P-1),N=(i+1)*I+P,H=(i+1)*(I-1)+P;S.push(k,O,H),S.push(O,N,H)}}function T(){for(let I=0;I<=t;I++)for(let P=0;P<=i;P++)d.x=I/t,d.y=P/i,v.push(d.x,d.y)}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}toJSON(){const e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(e){return new c1(new dy[e.path.type]().fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class MC extends Jt{constructor(e=null){if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},e!==null){const t=[],n=new Set,i=new $,s=new $;if(e.index!==null){const o=e.attributes.position,l=e.index;let u=e.groups;u.length===0&&(u=[{start:0,count:l.count,materialIndex:0}]);for(let d=0,p=u.length;d<p;++d){const m=u[d],y=m.start,v=m.count;for(let S=y,E=y+v;S<E;S+=3)for(let A=0;A<3;A++){const M=l.getX(S+A),T=l.getX(S+(A+1)%3);i.fromBufferAttribute(o,M),s.fromBufferAttribute(o,T),Hw(i,s,n)===!0&&(t.push(i.x,i.y,i.z),t.push(s.x,s.y,s.z))}}}else{const o=e.attributes.position;for(let l=0,u=o.count/3;l<u;l++)for(let d=0;d<3;d++){const p=3*l+d,m=3*l+(d+1)%3;i.fromBufferAttribute(o,p),s.fromBufferAttribute(o,m),Hw(i,s,n)===!0&&(t.push(i.x,i.y,i.z),t.push(s.x,s.y,s.z))}}this.setAttribute("position",new Et(t,3))}}copy(e){return super.copy(e),this.parameters=Object.assign({},e.parameters),this}}function Hw(r,e,t){const n=`${r.x},${r.y},${r.z}-${e.x},${e.y},${e.z}`,i=`${e.x},${e.y},${e.z}-${r.x},${r.y},${r.z}`;return t.has(n)===!0||t.has(i)===!0?!1:(t.add(n),t.add(i),!0)}var Gw=Object.freeze({__proto__:null,BoxGeometry:zu,CapsuleGeometry:qy,CircleGeometry:Qy,ConeGeometry:Zy,CylinderGeometry:Xd,DodecahedronGeometry:e1,EdgesGeometry:yC,ExtrudeGeometry:n1,IcosahedronGeometry:r1,LatheGeometry:cm,OctahedronGeometry:um,PlaneGeometry:Jd,PolyhedronGeometry:lc,RingGeometry:i1,ShapeGeometry:s1,SphereGeometry:hm,TetrahedronGeometry:o1,TorusGeometry:a1,TorusKnotGeometry:l1,TubeGeometry:c1,WireframeGeometry:MC});class SC extends xr{constructor(e){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new tt(0),this.transparent=!0,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.fog=e.fog,this}}class wC extends So{constructor(e){super(e),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class dm extends xr{constructor(e){super(),this.isMeshStandardMaterial=!0,this.type="MeshStandardMaterial",this.defines={STANDARD:""},this.color=new tt(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 tt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ac,this.normalScale=new Ne(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ms,this.envMapIntensity=1,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return 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.envMapRotation.copy(e.envMapRotation),this.envMapIntensity=e.envMapIntensity,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class Gs extends dm{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.anisotropyRotation=0,this.anisotropyMap=null,this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Ne(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Yt(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(t){this.ior=(1+.4*t)/(1-.4*t)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new tt(0),this.sheenColorMap=null,this.sheenRoughness=1,this.sheenRoughnessMap=null,this.transmissionMap=null,this.thickness=0,this.thicknessMap=null,this.attenuationDistance=1/0,this.attenuationColor=new tt(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new tt(1,1,1),this.specularColorMap=null,this._anisotropy=0,this._clearcoat=0,this._dispersion=0,this._iridescence=0,this._sheen=0,this._transmission=0,this.setValues(e)}get anisotropy(){return this._anisotropy}set anisotropy(e){this._anisotropy>0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,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.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,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,this}}class AC extends xr{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new tt(16777215),this.specular=new tt(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ac,this.normalScale=new Ne(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ms,this.combine=tm,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return 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.envMapRotation.copy(e.envMapRotation),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,this.fog=e.fog,this}}class EC extends xr{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new tt(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ac,this.normalScale=new Ne(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return 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,this.fog=e.fog,this}}class bC extends xr{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ac,this.normalScale=new Ne(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return 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,this}}class CC extends xr{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new tt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new tt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ac,this.normalScale=new Ne(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new Ms,this.combine=tm,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return 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.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.envMapRotation.copy(e.envMapRotation),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,this.fog=e.fog,this}}class fM extends xr{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=Hb,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return 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,this}}class pM extends xr{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}class TC extends xr{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new tt(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=ac,this.normalScale=new Ne(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return 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,this.fog=e.fog,this}}class IC extends mi{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function yu(r,e,t){return!r||!t&&r.constructor===e?r:typeof e.BYTES_PER_ELEMENT=="number"?new e(r):Array.prototype.slice.call(r)}function PC(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function RC(r){function e(i,s){return r[i]-r[s]}const t=r.length,n=new Array(t);for(let i=0;i!==t;++i)n[i]=i;return n.sort(e),n}function Z_(r,e,t){const n=r.length,i=new r.constructor(n);for(let s=0,o=0;o!==n;++s){const l=t[s]*e;for(let u=0;u!==e;++u)i[o++]=r[l+u]}return i}function mM(r,e,t,n){let i=1,s=r[0];for(;s!==void 0&&s[n]===void 0;)s=r[i++];if(s===void 0)return;let o=s[n];if(o!==void 0)if(Array.isArray(o))do o=s[n],o!==void 0&&(e.push(s.time),t.push.apply(t,o)),s=r[i++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[n],o!==void 0&&(e.push(s.time),o.toArray(t,t.length)),s=r[i++];while(s!==void 0);else do o=s[n],o!==void 0&&(e.push(s.time),t.push(o)),s=r[i++];while(s!==void 0)}function QR(r,e,t,n,i=30){const s=r.clone();s.name=e;const o=[];for(let u=0;u<s.tracks.length;++u){const d=s.tracks[u],p=d.getValueSize(),m=[],y=[];for(let v=0;v<d.times.length;++v){const S=d.times[v]*i;if(!(S<t||S>=n)){m.push(d.times[v]);for(let E=0;E<p;++E)y.push(d.values[v*p+E])}}m.length!==0&&(d.times=yu(m,d.times.constructor),d.values=yu(y,d.values.constructor),o.push(d))}s.tracks=o;let l=1/0;for(let u=0;u<s.tracks.length;++u)l>s.tracks[u].times[0]&&(l=s.tracks[u].times[0]);for(let u=0;u<s.tracks.length;++u)s.tracks[u].shift(-1*l);return s.resetDuration(),s}function ZR(r,e=0,t=r,n=30){n<=0&&(n=30);const i=t.tracks.length,s=e/n;for(let o=0;o<i;++o){const l=t.tracks[o],u=l.ValueTypeName;if(u==="bool"||u==="string")continue;const d=r.tracks.find(function(M){return M.name===l.name&&M.ValueTypeName===u});if(d===void 0)continue;let p=0;const m=l.getValueSize();l.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(p=m/3);let y=0;const v=d.getValueSize();d.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(y=v/3);const S=l.times.length-1;let E;if(s<=l.times[0]){const M=p,T=m-p;E=l.values.slice(M,T)}else if(s>=l.times[S]){const M=S*m+p,T=M+m-p;E=l.values.slice(M,T)}else{const M=l.createInterpolant(),T=p,I=m-p;M.evaluate(s),E=M.resultBuffer.slice(T,I)}u==="quaternion"&&new fi().fromArray(E).normalize().conjugate().toArray(E);const A=d.times.length;for(let M=0;M<A;++M){const T=M*v+y;if(u==="quaternion")fi.multiplyQuaternionsFlat(d.values,T,E,0,d.values,T);else{const I=v-y*2;for(let P=0;P<I;++P)d.values[T+P]-=E[P]}}}return r.blendMode=Yx,r}const e5={convertArray:yu,isTypedArray:PC,getKeyframeOrder:RC,sortedArray:Z_,flattenJSON:mM,subclip:QR,makeClipAdditive:ZR};class $d{constructor(e,t,n,i){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=i!==void 0?i: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,i=t[n],s=t[n-1];e:{t:{let o;n:{r:if(!(e<i)){for(let l=n+2;;){if(i===void 0){if(e<s)break r;return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===l)break;if(s=i,i=t[++n],e<i)break t}o=t.length;break n}if(!(e>=s)){const l=t[1];e<l&&(n=2,s=l);for(let u=n-2;;){if(s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(n===u)break;if(i=s,s=t[--n-1],e>=s)break t}o=n,n=0;break n}break e}for(;n<o;){const l=n+o>>>1;e<t[l]?o=l:n=l+1}if(i=t[n],s=t[n-1],s===void 0)return this._cachedIndex=0,this.copySampleValue_(0);if(i===void 0)return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,s,i)}return this.interpolate_(n,s,e,i)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,i=this.valueSize,s=e*i;for(let o=0;o!==i;++o)t[o]=n[s+o];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class BC extends $d{constructor(e,t,n,i){super(e,t,n,i),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:pu,endingEnd:pu}}intervalChanged_(e,t,n){const i=this.parameterPositions;let s=e-2,o=e+1,l=i[s],u=i[o];if(l===void 0)switch(this.getSettings_().endingStart){case mu:s=e,l=2*t-n;break;case kp:s=i.length-2,l=t+i[s]-i[s+1];break;default:s=e,l=n}if(u===void 0)switch(this.getSettings_().endingEnd){case mu:o=e,u=2*n-t;break;case kp:o=1,u=n+i[1]-i[0];break;default:o=e-1,u=t}const d=(n-t)*.5,p=this.valueSize;this._weightPrev=d/(t-l),this._weightNext=d/(u-n),this._offsetPrev=s*p,this._offsetNext=o*p}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,l=this.valueSize,u=e*l,d=u-l,p=this._offsetPrev,m=this._offsetNext,y=this._weightPrev,v=this._weightNext,S=(n-t)/(i-t),E=S*S,A=E*S,M=-y*A+2*y*E-y*S,T=(1+y)*A+(-1.5-2*y)*E+(-.5+y)*S+1,I=(-1-v)*A+(1.5+v)*E+.5*S,P=v*A-v*E;for(let k=0;k!==l;++k)s[k]=M*o[p+k]+T*o[d+k]+I*o[u+k]+P*o[m+k];return s}}class gM extends $d{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,l=this.valueSize,u=e*l,d=u-l,p=(n-t)/(i-t),m=1-p;for(let y=0;y!==l;++y)s[y]=o[d+y]*m+o[u+y]*p;return s}}class OC extends $d{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e){return this.copySampleValue_(e-1)}}class To{constructor(e,t,n,i){if(e===void 0)throw new Error("THREE.KeyframeTrack: track name is undefined");if(t===void 0||t.length===0)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=yu(t,this.TimeBufferType),this.values=yu(n,this.ValueBufferType),this.setInterpolation(i||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:yu(e.times,Array),values:yu(e.values,Array)};const i=e.getInterpolation();i!==e.DefaultInterpolation&&(n.interpolation=i)}return n.type=e.ValueTypeName,n}InterpolantFactoryMethodDiscrete(e){return new OC(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new gM(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new BC(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Ld:t=this.InterpolantFactoryMethodDiscrete;break;case Nd:t=this.InterpolantFactoryMethodLinear;break;case xg:t=this.InterpolantFactoryMethodSmooth;break}if(t===void 0){const n="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(this.createInterpolant===void 0)if(e!==this.DefaultInterpolation)this.setInterpolation(this.DefaultInterpolation);else throw new Error(n);return console.warn("THREE.KeyframeTrack:",n),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Ld;case this.InterpolantFactoryMethodLinear:return Nd;case this.InterpolantFactoryMethodSmooth:return xg}}getValueSize(){return this.values.length/this.times.length}shift(e){if(e!==0){const t=this.times;for(let n=0,i=t.length;n!==i;++n)t[n]+=e}return this}scale(e){if(e!==1){const t=this.times;for(let n=0,i=t.length;n!==i;++n)t[n]*=e}return this}trim(e,t){const n=this.times,i=n.length;let s=0,o=i-1;for(;s!==i&&n[s]<e;)++s;for(;o!==-1&&n[o]>t;)--o;if(++o,s!==0||o!==i){s>=o&&(o=Math.max(o,1),s=o-1);const l=this.getValueSize();this.times=n.slice(s,o),this.values=this.values.slice(s*l,o*l)}return this}validate(){let e=!0;const t=this.getValueSize();t-Math.floor(t)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const n=this.times,i=this.values,s=n.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let l=0;l!==s;l++){const u=n[l];if(typeof u=="number"&&isNaN(u)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,l,u),e=!1;break}if(o!==null&&o>u){console.error("THREE.KeyframeTrack: Out of order keys.",this,l,u,o),e=!1;break}o=u}if(i!==void 0&&PC(i))for(let l=0,u=i.length;l!==u;++l){const d=i[l];if(isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,l,d),e=!1;break}}return e}optimize(){const e=this.times.slice(),t=this.values.slice(),n=this.getValueSize(),i=this.getInterpolation()===xg,s=e.length-1;let o=1;for(let l=1;l<s;++l){let u=!1;const d=e[l],p=e[l+1];if(d!==p&&(l!==1||d!==e[0]))if(i)u=!0;else{const m=l*n,y=m-n,v=m+n;for(let S=0;S!==n;++S){const E=t[m+S];if(E!==t[y+S]||E!==t[v+S]){u=!0;break}}}if(u){if(l!==o){e[o]=e[l];const m=l*n,y=o*n;for(let v=0;v!==n;++v)t[y+v]=t[m+v]}++o}}if(s>0){e[o]=e[s];for(let l=s*n,u=o*n,d=0;d!==n;++d)t[u+d]=t[l+d];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=t.slice(0,o*n)):(this.times=e,this.values=t),this}clone(){const e=this.times.slice(),t=this.values.slice(),n=this.constructor,i=new n(this.name,e,t);return i.createInterpolant=this.createInterpolant,i}}To.prototype.TimeBufferType=Float32Array;To.prototype.ValueBufferType=Float32Array;To.prototype.DefaultInterpolation=Nd;class Hu extends To{constructor(e,t,n){super(e,t,n)}}Hu.prototype.ValueTypeName="bool";Hu.prototype.ValueBufferType=Array;Hu.prototype.DefaultInterpolation=Ld;Hu.prototype.InterpolantFactoryMethodLinear=void 0;Hu.prototype.InterpolantFactoryMethodSmooth=void 0;class yM extends To{}yM.prototype.ValueTypeName="color";class Ou extends To{}Ou.prototype.ValueTypeName="number";class DC extends $d{constructor(e,t,n,i){super(e,t,n,i)}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,l=this.valueSize,u=(n-t)/(i-t);let d=e*l;for(let p=d+l;d!==p;d+=4)fi.slerpFlat(s,0,o,d-l,o,d,u);return s}}class Du extends To{InterpolantFactoryMethodLinear(e){return new DC(this.times,this.values,this.getValueSize(),e)}}Du.prototype.ValueTypeName="quaternion";Du.prototype.InterpolantFactoryMethodSmooth=void 0;class Gu extends To{constructor(e,t,n){super(e,t,n)}}Gu.prototype.ValueTypeName="string";Gu.prototype.ValueBufferType=Array;Gu.prototype.DefaultInterpolation=Ld;Gu.prototype.InterpolantFactoryMethodLinear=void 0;Gu.prototype.InterpolantFactoryMethodSmooth=void 0;class Lu extends To{}Lu.prototype.ValueTypeName="vector";class Ud{constructor(e="",t=-1,n=[],i=Hy){this.name=e,this.tracks=n,this.duration=t,this.blendMode=i,this.uuid=_s(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,i=1/(e.fps||1);for(let o=0,l=n.length;o!==l;++o)t.push(n5(n[o]).scale(i));const s=new this(e.name,e.duration,t,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const t=[],n=e.tracks,i={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=n.length;s!==o;++s)t.push(To.toJSON(n[s]));return i}static CreateFromMorphTargetSequence(e,t,n,i){const s=t.length,o=[];for(let l=0;l<s;l++){let u=[],d=[];u.push((l+s-1)%s,l,(l+1)%s),d.push(0,1,0);const p=RC(u);u=Z_(u,1,p),d=Z_(d,1,p),!i&&u[0]===0&&(u.push(s),d.push(d[0])),o.push(new Ou(".morphTargetInfluences["+t[l].name+"]",u,d).scale(1/n))}return new this(e,-1,o)}static findByName(e,t){let n=e;if(!Array.isArray(e)){const i=e;n=i.geometry&&i.geometry.animations||i.animations}for(let i=0;i<n.length;i++)if(n[i].name===t)return n[i];return null}static CreateClipsFromMorphTargetSequences(e,t,n){const i={},s=/^([\w-]*?)([\d]+)$/;for(let l=0,u=e.length;l<u;l++){const d=e[l],p=d.name.match(s);if(p&&p.length>1){const m=p[1];let y=i[m];y||(i[m]=y=[]),y.push(d)}}const o=[];for(const l in i)o.push(this.CreateFromMorphTargetSequence(l,i[l],t,n));return o}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(m,y,v,S,E){if(v.length!==0){const A=[],M=[];mM(v,A,M,S),A.length!==0&&E.push(new m(y,A,M))}},i=[],s=e.name||"default",o=e.fps||30,l=e.blendMode;let u=e.length||-1;const d=e.hierarchy||[];for(let m=0;m<d.length;m++){const y=d[m].keys;if(!(!y||y.length===0))if(y[0].morphTargets){const v={};let S;for(S=0;S<y.length;S++)if(y[S].morphTargets)for(let E=0;E<y[S].morphTargets.length;E++)v[y[S].morphTargets[E]]=-1;for(const E in v){const A=[],M=[];for(let T=0;T!==y[S].morphTargets.length;++T){const I=y[S];A.push(I.time),M.push(I.morphTarget===E?1:0)}i.push(new Ou(".morphTargetInfluence["+E+"]",A,M))}u=v.length*o}else{const v=".bones["+t[m].name+"]";n(Lu,v+".position",y,"pos",i),n(Du,v+".quaternion",y,"rot",i),n(Lu,v+".scale",y,"scl",i)}}return i.length===0?null:new this(s,u,i,l)}resetDuration(){const e=this.tracks;let t=0;for(let n=0,i=e.length;n!==i;++n){const s=this.tracks[n];t=Math.max(t,s.times[s.times.length-1])}return this.duration=t,this}trim(){for(let e=0;e<this.tracks.length;e++)this.tracks[e].trim(0,this.duration);return this}validate(){let e=!0;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 t5(r){switch(r.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return Ou;case"vector":case"vector2":case"vector3":case"vector4":return Lu;case"color":return yM;case"quaternion":return Du;case"bool":case"boolean":return Hu;case"string":return Gu}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+r)}function n5(r){if(r.type===void 0)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const e=t5(r.type);if(r.times===void 0){const t=[],n=[];mM(r.keys,t,n,"value"),r.times=t,r.values=n}return e.parse!==void 0?e.parse(r):new e(r.name,r.times,r.values,r.interpolation)}const Ka={enabled:!1,files:{},add:function(r,e){this.enabled!==!1&&(this.files[r]=e)},get:function(r){if(this.enabled!==!1)return this.files[r]},remove:function(r){delete this.files[r]},clear:function(){this.files={}}};class vM{constructor(e,t,n){const i=this;let s=!1,o=0,l=0,u;const d=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(p){l++,s===!1&&i.onStart!==void 0&&i.onStart(p,o,l),s=!0},this.itemEnd=function(p){o++,i.onProgress!==void 0&&i.onProgress(p,o,l),o===l&&(s=!1,i.onLoad!==void 0&&i.onLoad())},this.itemError=function(p){i.onError!==void 0&&i.onError(p)},this.resolveURL=function(p){return u?u(p):p},this.setURLModifier=function(p){return u=p,this},this.addHandler=function(p,m){return d.push(p,m),this},this.removeHandler=function(p){const m=d.indexOf(p);return m!==-1&&d.splice(m,2),this},this.getHandler=function(p){for(let m=0,y=d.length;m<y;m+=2){const v=d[m],S=d[m+1];if(v.global&&(v.lastIndex=0),v.test(p))return S}return null}}}const LC=new vM;class gi{constructor(e){this.manager=e!==void 0?e:LC,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const n=this;return new Promise(function(i,s){n.load(e,i,t,s)})}parse(){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}gi.DEFAULT_MATERIAL_NAME="__DEFAULT";const za={};class r5 extends Error{constructor(e,t){super(e),this.response=t}}class Ss extends gi{constructor(e){super(e)}load(e,t,n,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=Ka.get(e);if(s!==void 0)return this.manager.itemStart(e),setTimeout(()=>{t&&t(s),this.manager.itemEnd(e)},0),s;if(za[e]!==void 0){za[e].push({onLoad:t,onProgress:n,onError:i});return}za[e]=[],za[e].push({onLoad:t,onProgress:n,onError:i});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),l=this.mimeType,u=this.responseType;fetch(o).then(d=>{if(d.status===200||d.status===0){if(d.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||d.body===void 0||d.body.getReader===void 0)return d;const p=za[e],m=d.body.getReader(),y=d.headers.get("X-File-Size")||d.headers.get("Content-Length"),v=y?parseInt(y):0,S=v!==0;let E=0;const A=new ReadableStream({start(M){T();function T(){m.read().then(({done:I,value:P})=>{if(I)M.close();else{E+=P.byteLength;const k=new ProgressEvent("progress",{lengthComputable:S,loaded:E,total:v});for(let O=0,N=p.length;O<N;O++){const H=p[O];H.onProgress&&H.onProgress(k)}M.enqueue(P),T()}},I=>{M.error(I)})}}});return new Response(A)}else throw new r5(`fetch for "${d.url}" responded with ${d.status}: ${d.statusText}`,d)}).then(d=>{switch(u){case"arraybuffer":return d.arrayBuffer();case"blob":return d.blob();case"document":return d.text().then(p=>new DOMParser().parseFromString(p,l));case"json":return d.json();default:if(l===void 0)return d.text();{const m=/charset="?([^;"\s]*)"?/i.exec(l),y=m&&m[1]?m[1].toLowerCase():void 0,v=new TextDecoder(y);return d.arrayBuffer().then(S=>v.decode(S))}}}).then(d=>{Ka.add(e,d);const p=za[e];delete za[e];for(let m=0,y=p.length;m<y;m++){const v=p[m];v.onLoad&&v.onLoad(d)}}).catch(d=>{const p=za[e];if(p===void 0)throw this.manager.itemError(e),d;delete za[e];for(let m=0,y=p.length;m<y;m++){const v=p[m];v.onError&&v.onError(d)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class i5 extends gi{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new Ss(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{t(s.parse(JSON.parse(l)))}catch(u){i?i(u):console.error(u),s.manager.itemError(e)}},n,i)}parse(e){const t=[];for(let n=0;n<e.length;n++){const i=Ud.parse(e[n]);t.push(i)}return t}}class s5 extends gi{constructor(e){super(e)}load(e,t,n,i){const s=this,o=[],l=new $y,u=new Ss(this.manager);u.setPath(this.path),u.setResponseType("arraybuffer"),u.setRequestHeader(this.requestHeader),u.setWithCredentials(s.withCredentials);let d=0;function p(m){u.load(e[m],function(y){const v=s.parse(y,!0);o[m]={width:v.width,height:v.height,format:v.format,mipmaps:v.mipmaps},d+=1,d===6&&(v.mipmapCount===1&&(l.minFilter=Zn),l.image=o,l.format=v.format,l.needsUpdate=!0,t&&t(l))},n,i)}if(Array.isArray(e))for(let m=0,y=e.length;m<y;++m)p(m);else u.load(e,function(m){const y=s.parse(m,!0);if(y.isCubemap){const v=y.mipmaps.length/y.mipmapCount;for(let S=0;S<v;S++){o[S]={mipmaps:[]};for(let E=0;E<y.mipmapCount;E++)o[S].mipmaps.push(y.mipmaps[S*y.mipmapCount+E]),o[S].format=y.format,o[S].width=y.width,o[S].height=y.height}l.image=o}else l.image.width=y.width,l.image.height=y.height,l.mipmaps=y.mipmaps;y.mipmapCount===1&&(l.minFilter=Zn),l.format=y.format,l.needsUpdate=!0,t&&t(l)},n,i);return l}}class $p extends gi{constructor(e){super(e)}load(e,t,n,i){this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Ka.get(e);if(o!==void 0)return s.manager.itemStart(e),setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o;const l=Hp("img");function u(){p(),Ka.add(e,this),t&&t(this),s.manager.itemEnd(e)}function d(m){p(),i&&i(m),s.manager.itemError(e),s.manager.itemEnd(e)}function p(){l.removeEventListener("load",u,!1),l.removeEventListener("error",d,!1)}return l.addEventListener("load",u,!1),l.addEventListener("error",d,!1),e.slice(0,5)!=="data:"&&this.crossOrigin!==void 0&&(l.crossOrigin=this.crossOrigin),s.manager.itemStart(e),l.src=e,l}}class o5 extends gi{constructor(e){super(e)}load(e,t,n,i){const s=new im;s.colorSpace=Zi;const o=new $p(this.manager);o.setCrossOrigin(this.crossOrigin),o.setPath(this.path);let l=0;function u(d){o.load(e[d],function(p){s.images[d]=p,l++,l===6&&(s.needsUpdate=!0,t&&t(s))},void 0,i)}for(let d=0;d<e.length;++d)u(d);return s}}class a5 extends gi{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new $o,l=new Ss(this.manager);return l.setResponseType("arraybuffer"),l.setRequestHeader(this.requestHeader),l.setPath(this.path),l.setWithCredentials(s.withCredentials),l.load(e,function(u){let d;try{d=s.parse(u)}catch(p){if(i!==void 0)i(p);else{console.error(p);return}}d.image!==void 0?o.image=d.image:d.data!==void 0&&(o.image.width=d.width,o.image.height=d.height,o.image.data=d.data),o.wrapS=d.wrapS!==void 0?d.wrapS:ys,o.wrapT=d.wrapT!==void 0?d.wrapT:ys,o.magFilter=d.magFilter!==void 0?d.magFilter:Zn,o.minFilter=d.minFilter!==void 0?d.minFilter:Zn,o.anisotropy=d.anisotropy!==void 0?d.anisotropy:1,d.colorSpace!==void 0&&(o.colorSpace=d.colorSpace),d.flipY!==void 0&&(o.flipY=d.flipY),d.format!==void 0&&(o.format=d.format),d.type!==void 0&&(o.type=d.type),d.mipmaps!==void 0&&(o.mipmaps=d.mipmaps,o.minFilter=js),d.mipmapCount===1&&(o.minFilter=Zn),d.generateMipmaps!==void 0&&(o.generateMipmaps=d.generateMipmaps),o.needsUpdate=!0,t&&t(o,d)},n,i),o}}class _M extends gi{constructor(e){super(e)}load(e,t,n,i){const s=new Gn,o=new $p(this.manager);return o.setCrossOrigin(this.crossOrigin),o.setPath(this.path),o.load(e,function(l){s.image=l,s.needsUpdate=!0,t!==void 0&&t(s)},n,i),s}}class cc extends fn{constructor(e,t=1){super(),this.isLight=!0,this.type="Light",this.color=new tt(e),this.intensity=t}dispose(){}copy(e,t){return super.copy(e,t),this.color.copy(e.color),this.intensity=e.intensity,this}toJSON(e){const t=super.toJSON(e);return t.object.color=this.color.getHex(),t.object.intensity=this.intensity,this.groundColor!==void 0&&(t.object.groundColor=this.groundColor.getHex()),this.distance!==void 0&&(t.object.distance=this.distance),this.angle!==void 0&&(t.object.angle=this.angle),this.decay!==void 0&&(t.object.decay=this.decay),this.penumbra!==void 0&&(t.object.penumbra=this.penumbra),this.shadow!==void 0&&(t.object.shadow=this.shadow.toJSON()),this.target!==void 0&&(t.object.target=this.target.uuid),t}}class NC extends cc{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(fn.DEFAULT_UP),this.updateMatrix(),this.groundColor=new tt(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}}const Dv=new Nt,Vw=new $,Ww=new $;class xM{constructor(e){this.camera=e,this.intensity=1,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Ne(512,512),this.map=null,this.mapPass=null,this.matrix=new Nt,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new am,this._frameExtents=new Ne(1,1),this._viewportCount=1,this._viewports=[new xn(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,n=this.matrix;Vw.setFromMatrixPosition(e.matrixWorld),t.position.copy(Vw),Ww.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(Ww),t.updateMatrixWorld(),Dv.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Dv),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(Dv)}getViewport(e){return this._viewports[e]}getFrameExtents(){return this._frameExtents}dispose(){this.map&&this.map.dispose(),this.mapPass&&this.mapPass.dispose()}copy(e){return this.camera=e.camera.clone(),this.intensity=e.intensity,this.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return new this.constructor().copy(this)}toJSON(){const e={};return this.intensity!==1&&(e.intensity=this.intensity),this.bias!==0&&(e.bias=this.bias),this.normalBias!==0&&(e.normalBias=this.normalBias),this.radius!==1&&(e.radius=this.radius),(this.mapSize.x!==512||this.mapSize.y!==512)&&(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class l5 extends xM{constructor(){super(new _r(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,n=Fd*2*e.angle*this.focus,i=this.mapSize.width/this.mapSize.height,s=e.distance||t.far;(n!==t.fov||i!==t.aspect||s!==t.far)&&(t.fov=n,t.aspect=i,t.far=s,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class MM extends cc{constructor(e,t,n=0,i=Math.PI/3,s=0,o=2){super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(fn.DEFAULT_UP),this.updateMatrix(),this.target=new fn,this.distance=n,this.angle=i,this.penumbra=s,this.decay=o,this.map=null,this.shadow=new l5}get power(){return this.intensity*Math.PI}set power(e){this.intensity=e/Math.PI}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),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(),this}}const Xw=new Nt,hp=new $,Lv=new $;class c5 extends xM{constructor(){super(new _r(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Ne(4,2),this._viewportCount=6,this._viewports=[new xn(2,1,1,1),new xn(0,1,1,1),new xn(3,1,1,1),new xn(1,1,1,1),new xn(3,0,1,1),new xn(1,0,1,1)],this._cubeDirections=[new $(1,0,0),new $(-1,0,0),new $(0,0,1),new $(0,0,-1),new $(0,1,0),new $(0,-1,0)],this._cubeUps=[new $(0,1,0),new $(0,1,0),new $(0,1,0),new $(0,1,0),new $(0,0,1),new $(0,0,-1)]}updateMatrices(e,t=0){const n=this.camera,i=this.matrix,s=e.distance||n.far;s!==n.far&&(n.far=s,n.updateProjectionMatrix()),hp.setFromMatrixPosition(e.matrixWorld),n.position.copy(hp),Lv.copy(n.position),Lv.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(Lv),n.updateMatrixWorld(),i.makeTranslation(-hp.x,-hp.y,-hp.z),Xw.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(Xw)}}class SM extends cc{constructor(e,t,n=0,i=2){super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=i,this.shadow=new c5}get power(){return this.intensity*4*Math.PI}set power(e){this.intensity=e/(4*Math.PI)}dispose(){this.shadow.dispose()}copy(e,t){return super.copy(e,t),this.distance=e.distance,this.decay=e.decay,this.shadow=e.shadow.clone(),this}}class Kd extends rm{constructor(e=-1,t=1,n=1,i=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="Orthogra
83phicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=i,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,t){return 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=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,t,n,i,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=t,this.view.offsetX=n,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),t=(this.top-this.bottom)/(2*this.zoom),n=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let s=n-e,o=n+e,l=i+t,u=i-t;if(this.view!==null&&this.view.enabled){const d=(this.right-this.left)/this.view.fullWidth/this.zoom,p=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=d*this.view.offsetX,o=s+d*this.view.width,l-=p*this.view.offsetY,u=l-p*this.view.height}this.projectionMatrix.makeOrthographic(s,o,l,u,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);return 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,this.view!==null&&(t.object.view=Object.assign({},this.view)),t}}class u5 extends xM{constructor(){super(new Kd(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}}class wM extends cc{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(fn.DEFAULT_UP),this.updateMatrix(),this.target=new fn,this.shadow=new u5}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class FC extends cc{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class kC extends cc{constructor(e,t,n=10,i=10){super(e,t),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=n,this.height=i}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){return super.copy(e),this.width=e.width,this.height=e.height,this}toJSON(e){const t=super.toJSON(e);return t.object.width=this.width,t.object.height=this.height,t}}class UC{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new $)}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,i=e.y,s=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.282095),t.addScaledVector(o[1],.488603*i),t.addScaledVector(o[2],.488603*s),t.addScaledVector(o[3],.488603*n),t.addScaledVector(o[4],1.092548*(n*i)),t.addScaledVector(o[5],1.092548*(i*s)),t.addScaledVector(o[6],.315392*(3*s*s-1)),t.addScaledVector(o[7],1.092548*(n*s)),t.addScaledVector(o[8],.546274*(n*n-i*i)),t}getIrradianceAt(e,t){const n=e.x,i=e.y,s=e.z,o=this.coefficients;return t.copy(o[0]).multiplyScalar(.886227),t.addScaledVector(o[1],2*.511664*i),t.addScaledVector(o[2],2*.511664*s),t.addScaledVector(o[3],2*.511664*n),t.addScaledVector(o[4],2*.429043*n*i),t.addScaledVector(o[5],2*.429043*i*s),t.addScaledVector(o[6],.743125*s*s-.247708),t.addScaledVector(o[7],2*.429043*n*s),t.addScaledVector(o[8],.429043*(n*n-i*i)),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!1;return!0}copy(e){return this.set(e.coefficients)}clone(){return new this.constructor().copy(this)}fromArray(e,t=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].fromArray(e,t+i*3);return this}toArray(e=[],t=0){const n=this.coefficients;for(let i=0;i<9;i++)n[i].toArray(e,t+i*3);return e}static getBasisAt(e,t){const n=e.x,i=e.y,s=e.z;t[0]=.282095,t[1]=.488603*i,t[2]=.488603*s,t[3]=.488603*n,t[4]=1.092548*n*i,t[5]=1.092548*i*s,t[6]=.315392*(3*s*s-1),t[7]=1.092548*n*s,t[8]=.546274*(n*n-i*i)}}class jC extends cc{constructor(e=new UC,t=1){super(void 0,t),this.isLightProbe=!0,this.sh=e}copy(e){return super.copy(e),this.sh.copy(e.sh),this}fromJSON(e){return this.intensity=e.intensity,this.sh.fromArray(e.sh),this}toJSON(e){const t=super.toJSON(e);return t.object.sh=this.sh.toArray(),t}}class u1 extends gi{constructor(e){super(e),this.textures={}}load(e,t,n,i){const s=this,o=new Ss(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(l){try{t(s.parse(JSON.parse(l)))}catch(u){i?i(u):console.error(u),s.manager.itemError(e)}},n,i)}parse(e){const t=this.textures;function n(s){return t[s]===void 0&&console.warn("THREE.MaterialLoader: Undefined texture",s),t[s]}const i=this.createMaterialFromType(e.type);if(e.uuid!==void 0&&(i.uuid=e.uuid),e.name!==void 0&&(i.name=e.name),e.color!==void 0&&i.color!==void 0&&i.color.setHex(e.color),e.roughness!==void 0&&(i.roughness=e.roughness),e.metalness!==void 0&&(i.metalness=e.metalness),e.sheen!==void 0&&(i.sheen=e.sheen),e.sheenColor!==void 0&&(i.sheenColor=new tt().setHex(e.sheenColor)),e.sheenRoughness!==void 0&&(i.sheenRoughness=e.sheenRoughness),e.emissive!==void 0&&i.emissive!==void 0&&i.emissive.setHex(e.emissive),e.specular!==void 0&&i.specular!==void 0&&i.specular.setHex(e.specular),e.specularIntensity!==void 0&&(i.specularIntensity=e.specularIntensity),e.specularColor!==void 0&&i.specularColor!==void 0&&i.specularColor.setHex(e.specularColor),e.shininess!==void 0&&(i.shininess=e.shininess),e.clearcoat!==void 0&&(i.clearcoat=e.clearcoat),e.clearcoatRoughness!==void 0&&(i.clearcoatRoughness=e.clearcoatRoughness),e.dispersion!==void 0&&(i.dispersion=e.dispersion),e.iridescence!==void 0&&(i.iridescence=e.iridescence),e.iridescenceIOR!==void 0&&(i.iridescenceIOR=e.iridescenceIOR),e.iridescenceThicknessRange!==void 0&&(i.iridescenceThicknessRange=e.iridescenceThicknessRange),e.transmission!==void 0&&(i.transmission=e.transmission),e.thickness!==void 0&&(i.thickness=e.thickness),e.attenuationDistance!==void 0&&(i.attenuationDistance=e.attenuationDistance),e.attenuationColor!==void 0&&i.attenuationColor!==void 0&&i.attenuationColor.setHex(e.attenuationColor),e.anisotropy!==void 0&&(i.anisotropy=e.anisotropy),e.anisotropyRotation!==void 0&&(i.anisotropyRotation=e.anisotropyRotation),e.fog!==void 0&&(i.fog=e.fog),e.flatShading!==void 0&&(i.flatShading=e.flatShading),e.blending!==void 0&&(i.blending=e.blending),e.combine!==void 0&&(i.combine=e.combine),e.side!==void 0&&(i.side=e.side),e.shadowSide!==void 0&&(i.shadowSide=e.shadowSide),e.opacity!==void 0&&(i.opacity=e.opacity),e.transparent!==void 0&&(i.transparent=e.transparent),e.alphaTest!==void 0&&(i.alphaTest=e.alphaTest),e.alphaHash!==void 0&&(i.alphaHash=e.alphaHash),e.depthFunc!==void 0&&(i.depthFunc=e.depthFunc),e.depthTest!==void 0&&(i.depthTest=e.depthTest),e.depthWrite!==void 0&&(i.depthWrite=e.depthWrite),e.colorWrite!==void 0&&(i.colorWrite=e.colorWrite),e.blendSrc!==void 0&&(i.blendSrc=e.blendSrc),e.blendDst!==void 0&&(i.blendDst=e.blendDst),e.blendEquation!==void 0&&(i.blendEquation=e.blendEquation),e.blendSrcAlpha!==void 0&&(i.blendSrcAlpha=e.blendSrcAlpha),e.blendDstAlpha!==void 0&&(i.blendDstAlpha=e.blendDstAlpha),e.blendEquationAlpha!==void 0&&(i.blendEquationAlpha=e.blendEquationAlpha),e.blendColor!==void 0&&i.blendColor!==void 0&&i.blendColor.setHex(e.blendColor),e.blendAlpha!==void 0&&(i.blendAlpha=e.blendAlpha),e.stencilWriteMask!==void 0&&(i.stencilWriteMask=e.stencilWriteMask),e.stencilFunc!==void 0&&(i.stencilFunc=e.stencilFunc),e.stencilRef!==void 0&&(i.stencilRef=e.stencilRef),e.stencilFuncMask!==void 0&&(i.stencilFuncMask=e.stencilFuncMask),e.stencilFail!==void 0&&(i.stencilFail=e.stencilFail),e.stencilZFail!==void 0&&(i.stencilZFail=e.stencilZFail),e.stencilZPass!==void 0&&(i.stencilZPass=e.stencilZPass),e.stencilWrite!==void 0&&(i.stencilWrite=e.stencilWrite),e.wireframe
vendor: 44,256 bytes, line 83
83!==void 0&&(i.wireframe=e.wireframe),e.wireframeLinewidth!==void 0&&(i.wireframeLinewidth=e.wireframeLinewidth),e.wireframeLinecap!==void 0&&(i.wireframeLinecap=e.wireframeLinecap),e.wireframeLinejoin!==void 0&&(i.wireframeLinejoin=e.wireframeLinejoin),e.rotation!==void 0&&(i.rotation=e.rotation),e.linewidth!==void 0&&(i.linewidth=e.linewidth),e.dashSize!==void 0&&(i.dashSize=e.dashSize),e.gapSize!==void 0&&(i.gapSize=e.gapSize),e.scale!==void 0&&(i.scale=e.scale),e.polygonOffset!==void 0&&(i.polygonOffset=e.polygonOffset),e.polygonOffsetFactor!==void 0&&(i.polygonOffsetFactor=e.polygonOffsetFactor),e.polygonOffsetUnits!==void 0&&(i.polygonOffsetUnits=e.polygonOffsetUnits),e.dithering!==void 0&&(i.dithering=e.dithering),e.alphaToCoverage!==void 0&&(i.alphaToCoverage=e.alphaToCoverage),e.premultipliedAlpha!==void 0&&(i.premultipliedAlpha=e.premultipliedAlpha),e.forceSinglePass!==void 0&&(i.forceSinglePass=e.forceSinglePass),e.visible!==void 0&&(i.visible=e.visible),e.toneMapped!==void 0&&(i.toneMapped=e.toneMapped),e.userData!==void 0&&(i.userData=e.userData),e.vertexColors!==void 0&&(typeof e.vertexColors=="number"?i.vertexColors=e.vertexColors>0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(i.uniforms[s]={},o.type){case"t":i.uniforms[s].value=n(o.value);break;case"c":i.uniforms[s].value=new tt().setHex(o.value);break;case"v2":i.uniforms[s].value=new Ne().fromArray(o.value);break;case"v3":i.uniforms[s].value=new $().fromArray(o.value);break;case"v4":i.uniforms[s].value=new xn().fromArray(o.value);break;case"m3":i.uniforms[s].value=new Qt().fromArray(o.value);break;case"m4":i.uniforms[s].value=new Nt().fromArray(o.value);break;default:i.uniforms[s].value=o.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)i.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=n(e.map)),e.matcap!==void 0&&(i.matcap=n(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=n(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=n(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=n(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),i.normalScale=new Ne().fromArray(s)}return e.displacementMap!==void 0&&(i.displacementMap=n(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=n(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=n(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=n(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=n(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=n(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=n(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=n(e.envMap)),e.envMapRotation!==void 0&&i.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=n(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=n(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=n(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=n(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=n(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new Ne().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=n(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=n(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=n(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=n(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=n(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=n(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return u1.createMaterialFromType(e)}static createMaterialFromType(e){const t={ShadowMaterial:SC,SpriteMaterial:rM,RawShaderMaterial:wC,ShaderMaterial:So,PointsMaterial:lm,MeshPhysicalMaterial:Gs,MeshStandardMaterial:dm,MeshPhongMaterial:AC,MeshToonMaterial:EC,MeshNormalMaterial:bC,MeshLambertMaterial:CC,MeshDepthMaterial:fM,MeshDistanceMaterial:pM,MeshBasicMaterial:vs,MeshMatcapMaterial:TC,LineDashedMaterial:IC,LineBasicMaterial:mi,Material:xr};return new t[e]}}class Ql{static decodeText(e){if(console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."),typeof TextDecoder<"u")return new TextDecoder().decode(e);let t="";for(let n=0,i=e.length;n<i;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch{return t}}static extractUrlBase(e){const t=e.lastIndexOf("/");return t===-1?"./":e.slice(0,t+1)}static resolveURL(e,t){return typeof e!="string"||e===""?"":(/^https?:\/\//i.test(t)&&/^\//.test(e)&&(t=t.replace(/(^https?:\/\/[^\/]+).*/i,"$1")),/^(https?:)?\/\//i.test(e)||/^data:.*,.*$/i.test(e)||/^blob:.*$/i.test(e)?e:t+e)}}class zC extends Jt{constructor(){super(),this.isInstancedBufferGeometry=!0,this.type="InstancedBufferGeometry",this.instanceCount=1/0}copy(e){return super.copy(e),this.instanceCount=e.instanceCount,this}toJSON(){const e=super.toJSON();return e.instanceCount=this.instanceCount,e.isInstancedBufferGeometry=!0,e}}class HC extends gi{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new Ss(s.manager);o.setPath(s.path),o.setRequestHeader(s.requestHeader),o.setWithCredentials(s.withCredentials),o.load(e,function(l){try{t(s.parse(JSON.parse(l)))}catch(u){i?i(u):console.error(u),s.manager.itemError(e)}},n,i)}parse(e){const t={},n={};function i(v,S){if(t[S]!==void 0)return t[S];const A=v.interleavedBuffers[S],M=s(v,A.buffer),T=Sd(A.type,M),I=new sm(T,A.stride);return I.uuid=A.uuid,t[S]=I,I}function s(v,S){if(n[S]!==void 0)return n[S];const A=v.arrayBuffers[S],M=new Uint32Array(A).buffer;return n[S]=M,M}const o=e.isInstancedBufferGeometry?new zC:new Jt,l=e.data.index;if(l!==void 0){const v=Sd(l.type,l.array);o.setIndex(new vn(v,1))}const u=e.data.attributes;for(const v in u){const S=u[v];let E;if(S.isInterleavedBufferAttribute){const A=i(e.data,S.data);E=new tc(A,S.itemSize,S.offset,S.normalized)}else{const A=Sd(S.type,S.array),M=S.isInstancedBufferAttribute?Ru:vn;E=new M(A,S.itemSize,S.normalized)}S.name!==void 0&&(E.name=S.name),S.usage!==void 0&&E.setUsage(S.usage),o.setAttribute(v,E)}const d=e.data.morphAttributes;if(d)for(const v in d){const S=d[v],E=[];for(let A=0,M=S.length;A<M;A++){const T=S[A];let I;if(T.isInterleavedBufferAttribute){const P=i(e.data,T.data);I=new tc(P,T.itemSize,T.offset,T.normalized)}else{const P=Sd(T.type,T.array);I=new vn(P,T.itemSize,T.normalized)}T.name!==void 0&&(I.name=T.name),E.push(I)}o.morphAttributes[v]=E}e.data.morphTargetsRelative&&(o.morphTargetsRelative=!0);const m=e.data.groups||e.data.drawcalls||e.data.offsets;if(m!==void 0)for(let v=0,S=m.length;v!==S;++v){const E=m[v];o.addGroup(E.start,E.count,E.materialIndex)}const y=e.data.boundingSphere;if(y!==void 0){const v=new $;y.center!==void 0&&v.fromArray(y.center),o.boundingSphere=new ei(v,y.radius)}return e.name&&(o.name=e.name),e.userData&&(o.userData=e.userData),o}}class h5 extends gi{constructor(e){super(e)}load(e,t,n,i){const s=this,o=this.path===""?Ql.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||o;const l=new Ss(this.manager);l.setPath(this.path),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(u){let d=null;try{d=JSON.parse(u)}catch(m){i!==void 0&&i(m),console.error("THREE:ObjectLoader: Can't parse "+e+".",m.message);return}const p=d.metadata;if(p===void 0||p.type===void 0||p.type.toLowerCase()==="geometry"){i!==void 0&&i(new Error("THREE.ObjectLoader: Can't load "+e)),console.error("THREE.ObjectLoader: Can't load "+e);return}s.parse(d,t)},n,i)}async loadAsync(e,t){const n=this,i=this.path===""?Ql.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||i;const s=new Ss(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials);const o=await s.loadAsync(e,t),l=JSON.parse(o),u=l.metadata;if(u===void 0||u.type===void 0||u.type.toLowerCase()==="geometry")throw new Error("THREE.ObjectLoader: Can't load "+e);return await n.parseAsync(l)}parse(e,t){const n=this.parseAnimations(e.animations),i=this.parseShapes(e.shapes),s=this.parseGeometries(e.geometries,i),o=this.parseImages(e.images,function(){t!==void 0&&t(d)}),l=this.parseTextures(e.textures,o),u=this.parseMaterials(e.materials,l),d=this.parseObject(e.object,s,u,l,n),p=this.parseSkeletons(e.skeletons,d);if(this.bindSkeletons(d,p),this.bindLightTargets(d),t!==void 0){let m=!1;for(const y in o)if(o[y].data instanceof HTMLImageElement){m=!0;break}m===!1&&t(d)}return d}async parseAsync(e){const t=this.parseAnimations(e.animations),n=this.parseShapes(e.shapes),i=this.parseGeometries(e.geometries,n),s=await this.parseImagesAsync(e.images),o=this.parseTextures(e.textures,s),l=this.parseMaterials(e.materials,o),u=this.parseObject(e.object,i,l,o,t),d=this.parseSkeletons(e.skeletons,u);return this.bindSkeletons(u,d),this.bindLightTargets(u),u}parseShapes(e){const t={};if(e!==void 0)for(let n=0,i=e.length;n<i;n++){const s=new Au().fromJSON(e[n]);t[s.uuid]=s}return t}parseSkeletons(e,t){const n={},i={};if(t.traverse(function(s){s.isBone&&(i[s.uuid]=s)}),e!==void 0)for(let s=0,o=e.length;s<o;s++){const l=new om().fromJSON(e[s],i);n[l.uuid]=l}return n}parseGeometries(e,t){const n={};if(e!==void 0){const i=new HC;for(let s=0,o=e.length;s<o;s++){let l;const u=e[s];switch(u.type){case"BufferGeometry":case"InstancedBufferGeometry":l=i.parse(u);break;default:u.type in Gw?l=Gw[u.type].fromJSON(u,t):console.warn(`THREE.ObjectLoader: Unsupported geometry type "${u.type}"`)}l.uuid=u.uuid,u.name!==void 0&&(l.name=u.name),u.userData!==void 0&&(l.userData=u.userData),n[u.uuid]=l}}return n}parseMaterials(e,t){const n={},i={};if(e!==void 0){const s=new u1;s.setTextures(t);for(let o=0,l=e.length;o<l;o++){const u=e[o];n[u.uuid]===void 0&&(n[u.uuid]=s.parse(u)),i[u.uuid]=n[u.uuid]}}return i}parseAnimations(e){const t={};if(e!==void 0)for(let n=0;n<e.length;n++){const i=e[n],s=Ud.parse(i);t[s.uuid]=s}return t}parseImages(e,t){const n=this,i={};let s;function o(u){return n.manager.itemStart(u),s.load(u,function(){n.manager.itemEnd(u)},void 0,function(){n.manager.itemError(u),n.manager.itemEnd(u)})}function l(u){if(typeof u=="string"){const d=u,p=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(d)?d:n.resourcePath+d;return o(p)}else return u.data?{data:Sd(u.type,u.data),width:u.width,height:u.height}:null}if(e!==void 0&&e.length>0){const u=new vM(t);s=new $p(u),s.setCrossOrigin(this.crossOrigin);for(let d=0,p=e.length;d<p;d++){const m=e[d],y=m.url;if(Array.isArray(y)){const v=[];for(let S=0,E=y.length;S<E;S++){const A=y[S],M=l(A);M!==null&&(M instanceof HTMLImageElement?v.push(M):v.push(new $o(M.data,M.width,M.height)))}i[m.uuid]=new gu(v)}else{const v=l(m.url);i[m.uuid]=new gu(v)}}}return i}async parseImagesAsync(e){const t=this,n={};let i;async function s(o){if(typeof o=="string"){const l=o,u=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(l)?l:t.resourcePath+l;return await i.loadAsync(u)}else return o.data?{data:Sd(o.type,o.data),width:o.width,height:o.height}:null}if(e!==void 0&&e.length>0){i=new $p(this.manager),i.setCrossOrigin(this.crossOrigin);for(let o=0,l=e.length;o<l;o++){const u=e[o],d=u.url;if(Array.isArray(d)){const p=[];for(let m=0,y=d.length;m<y;m++){const v=d[m],S=await s(v);S!==null&&(S instanceof HTMLImageElement?p.push(S):p.push(new $o(S.data,S.width,S.height)))}n[u.uuid]=new gu(p)}else{const p=await s(u.url);n[u.uuid]=new gu(p)}}}return n}parseTextures(e,t){function n(s,o){return typeof s=="number"?s:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",s),o[s])}const i={};if(e!==void 0)for(let s=0,o=e.length;s<o;s++){const l=e[s];l.image===void 0&&console.warn('THREE.ObjectLoader: No "image" specified for',l.uuid),t[l.image]===void 0&&console.warn("THREE.ObjectLoader: Undefined image",l.image);const u=t[l.image],d=u.data;let p;Array.isArray(d)?(p=new im,d.length===6&&(p.needsUpdate=!0)):(d&&d.data?p=new $o:p=new Gn,d&&(p.needsUpdate=!0)),p.source=u,p.uuid=l.uuid,l.name!==void 0&&(p.name=l.name),l.mapping!==void 0&&(p.mapping=n(l.mapping,d5)),l.channel!==void 0&&(p.channel=l.channel),l.offset!==void 0&&p.offset.fromArray(l.offset),l.repeat!==void 0&&p.repeat.fromArray(l.repeat),l.center!==void 0&&p.center.fromArray(l.center),l.rotation!==void 0&&(p.rotation=l.rotation),l.wrap!==void 0&&(p.wrapS=n(l.wrap[0],Jw),p.wrapT=n(l.wrap[1],Jw)),l.format!==void 0&&(p.format=l.format),l.internalFormat!==void 0&&(p.internalFormat=l.internalFormat),l.type!==void 0&&(p.type=l.type),l.colorSpace!==void 0&&(p.colorSpace=l.colorSpace),l.minFilter!==void 0&&(p.minFilter=n(l.minFilter,$w)),l.magFilter!==void 0&&(p.magFilter=n(l.magFilter,$w)),l.anisotropy!==void 0&&(p.anisotropy=l.anisotropy),l.flipY!==void 0&&(p.flipY=l.flipY),l.generateMipmaps!==void 0&&(p.generateMipmaps=l.generateMipmaps),l.premultiplyAlpha!==void 0&&(p.premultiplyAlpha=l.premultiplyAlpha),l.unpackAlignment!==void 0&&(p.unpackAlignment=l.unpackAlignment),l.compareFunction!==void 0&&(p.compareFunction=l.compareFunction),l.userData!==void 0&&(p.userData=l.userData),i[l.uuid]=p}return i}parseObject(e,t,n,i,s){let o;function l(y){return t[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined geometry",y),t[y]}function u(y){if(y!==void 0){if(Array.isArray(y)){const v=[];for(let S=0,E=y.length;S<E;S++){const A=y[S];n[A]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",A),v.push(n[A])}return v}return n[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined material",y),n[y]}}function d(y){return i[y]===void 0&&console.warn("THREE.ObjectLoader: Undefined texture",y),i[y]}let p,m;switch(e.type){case"Scene":o=new Gp,e.background!==void 0&&(Number.isInteger(e.background)?o.background=new tt(e.background):o.background=d(e.background)),e.environment!==void 0&&(o.environment=d(e.environment)),e.fog!==void 0&&(e.fog.type==="Fog"?o.fog=new Wy(e.fog.color,e.fog.near,e.fog.far):e.fog.type==="FogExp2"&&(o.fog=new Vy(e.fog.color,e.fog.density)),e.fog.name!==""&&(o.fog.name=e.fog.name)),e.backgroundBlurriness!==void 0&&(o.backgroundBlurriness=e.backgroundBlurriness),e.backgroundIntensity!==void 0&&(o.backgroundIntensity=e.backgroundIntensity),e.backgroundRotation!==void 0&&o.backgroundRotation.fromArray(e.backgroundRotation),e.environmentIntensity!==void 0&&(o.environmentIntensity=e.environmentIntensity),e.environmentRotation!==void 0&&o.environmentRotation.fromArray(e.environmentRotation);break;case"PerspectiveCamera":o=new _r(e.fov,e.aspect,e.near,e.far),e.focus!==void 0&&(o.focus=e.focus),e.zoom!==void 0&&(o.zoom=e.zoom),e.filmGauge!==void 0&&(o.filmGauge=e.filmGauge),e.filmOffset!==void 0&&(o.filmOffset=e.filmOffset),e.view!==void 0&&(o.view=Object.assign({},e.view));break;case"OrthographicCamera":o=new Kd(e.left,e.right,e.top,e.bottom,e.near,e.far),e.zoom!==void 0&&(o.zoom=e.zoom),e.view!==void 0&&(o.view=Object.assign({},e.view));break;case"AmbientLight":o=new FC(e.color,e.intensity);break;case"DirectionalLight":o=new wM(e.color,e.intensity),o.target=e.target||"";break;case"PointLight":o=new SM(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":o=new kC(e.color,e.intensity,e.width,e.height);break;case"SpotLight":o=new MM(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay),o.target=e.target||"";break;case"HemisphereLight":o=new NC(e.color,e.groundColor,e.intensity);break;case"LightProbe":o=new jC().fromJSON(e);break;case"SkinnedMesh":p=l(e.geometry),m=u(e.material),o=new iM(p,m),e.bindMode!==void 0&&(o.bindMode=e.bindMode),e.bindMatrix!==void 0&&o.bindMatrix.fromArray(e.bindMatrix),e.skeleton!==void 0&&(o.skeleton=e.skeleton);break;case"Mesh":p=l(e.geometry),m=u(e.material),o=new hr(p,m);break;case"InstancedMesh":p=l(e.geometry),m=u(e.material);const y=e.count,v=e.instanceMatrix,S=e.instanceColor;o=new sM(p,m,y),o.instanceMatrix=new Ru(new Float32Array(v.array),16),S!==void 0&&(o.instanceColor=new Ru(new Float32Array(S.array),S.itemSize));break;case"BatchedMesh":p=l(e.geometry),m=u(e.material),o=new hC(e.maxInstanceCount,e.maxVertexCount,e.maxIndexCount,m),o.geometry=p,o.perObjectFrustumCulled=e.perObjectFrustumCulled,o.sortObjects=e.sortObjects,o._drawRanges=e.drawRanges,o._reservedRanges=e.reservedRanges,o._visibility=e.visibility,o._active=e.active,o._bounds=e.bounds.map(E=>{const A=new pi;A.min.fromArray(E.boxMin),A.max.fromArray(E.boxMax);const M=new ei;return M.radius=E.sphereRadius,M.center.fromArray(E.sphereCenter),{boxInitialized:E.boxInitialized,box:A,sphereInitialized:E.sphereInitialized,sphere:M}}),o._maxInstanceCount=e.maxInstanceCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=d(e.matricesTexture.uuid),e.colorsTexture!==void 0&&(o._colorsTexture=d(e.colorsTexture.uuid));break;case"LOD":o=new uC;break;case"Line":o=new nl(l(e.geometry),u(e.material));break;case"LineLoop":o=new oM(l(e.geometry),u(e.material));break;case"LineSegments":o=new bo(l(e.geometry),u(e.material));break;case"PointCloud":case"Points":o=new Jy(l(e.geometry),u(e.material));break;case"Sprite":o=new cC(u(e.material));break;case"Group":o=new $a;break;case"Bone":o=new Xy;break;default:o=new fn}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(o.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const y=e.children;for(let v=0;v<y.length;v++)o.add(this.parseObject(y[v],t,n,i,s))}if(e.animations!==void 0){const y=e.animations;for(let v=0;v<y.length;v++){const S=y[v];o.animations.push(s[S])}}if(e.type==="LOD"){e.autoUpdate!==void 0&&(o.autoUpdate=e.autoUpdate);const y=e.levels;for(let v=0;v<y.length;v++){const S=y[v],E=o.getObjectByProperty("uuid",S.object);E!==void 0&&o.addLevel(E,S.distance,S.hysteresis)}}return o}bindSkeletons(e,t){Object.keys(t).length!==0&&e.traverse(function(n){if(n.isSkinnedMesh===!0&&n.skeleton!==void 0){const i=t[n.skeleton];i===void 0?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",n.skeleton):n.bind(i,n.bindMatrix)}})}bindLightTargets(e){e.traverse(function(t){if(t.isDirectionalLight||t.isSpotLight){const n=t.target,i=e.getObjectByProperty("uuid",n);i!==void 0?t.target=i:t.target=new fn}})}}const d5={UVMapping:Dy,CubeReflectionMapping:el,CubeRefractionMapping:Zl,EquirectangularReflectionMapping:Np,EquirectangularRefractionMapping:Fp,CubeUVReflectionMapping:Vd},Jw={RepeatWrapping:ec,ClampToEdgeWrapping:ys,MirroredRepeatWrapping:Od},$w={NearestFilter:zr,NearestMipmapNearestFilter:Ly,NearestMipmapLinearFilter:fu,LinearFilter:Zn,LinearMipmapNearestFilter:Cd,LinearMipmapLinearFilter:js};class GC extends gi{constructor(e){super(e),this.isImageBitmapLoader=!0,typeof createImageBitmap>"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Ka.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(d=>{t&&t(d),s.manager.itemEnd(e)}).catch(d=>{i&&i(d)});return}return setTimeout(function(){t&&t(o),s.manager.itemEnd(e)},0),o}const l={};l.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",l.headers=this.requestHeader;const u=fetch(e,l).then(function(d){return d.blob()}).then(function(d){return createImageBitmap(d,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(d){return Ka.add(e,d),t&&t(d),s.manager.itemEnd(e),d}).catch(function(d){i&&i(d),Ka.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});Ka.add(e,u),s.manager.itemStart(e)}}let q0;class AM{static getContext(){return q0===void 0&&(q0=new(window.AudioContext||window.webkitAudioContext)),q0}static setContext(e){q0=e}}class f5 extends gi{constructor(e){super(e)}load(e,t,n,i){const s=this,o=new Ss(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(u){try{const d=u.slice(0);AM.getContext().decodeAudioData(d,function(m){t(m)}).catch(l)}catch(d){l(d)}},n,i);function l(u){i?i(u):console.error(u),s.manager.itemError(e)}}}const Kw=new Nt,Yw=new Nt,nu=new Nt;class p5{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new _r,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new _r,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const t=this._cache;if(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){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,nu.copy(e.projectionMatrix);const i=t.eyeSep/2,s=i*t.near/t.focus,o=t.near*Math.tan(Su*t.fov*.5)/t.zoom;let l,u;Yw.elements[12]=-i,Kw.elements[12]=i,l=-o*t.aspect+s,u=o*t.aspect+s,nu.elements[0]=2*t.near/(u-l),nu.elements[8]=(u+l)/(u-l),this.cameraL.projectionMatrix.copy(nu),l=-o*t.aspect-s,u=o*t.aspect-s,nu.elements[0]=2*t.near/(u-l),nu.elements[8]=(u+l)/(u-l),this.cameraR.projectionMatrix.copy(nu)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(Yw),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(Kw)}}class VC extends _r{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class EM{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=qw(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const t=qw();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function qw(){return performance.now()}const ru=new $,Qw=new fi,m5=new $,iu=new $;class g5 extends fn{constructor(){super(),this.type="AudioListener",this.context=AM.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new EM}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const t=this.context.listener,n=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(ru,Qw,m5),iu.set(0,0,-1).applyQuaternion(Qw),t.positionX){const i=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(ru.x,i),t.positionY.linearRampToValueAtTime(ru.y,i),t.positionZ.linearRampToValueAtTime(ru.z,i),t.forwardX.linearRampToValueAtTime(iu.x,i),t.forwardY.linearRampToValueAtTime(iu.y,i),t.forwardZ.linearRampToValueAtTime(iu.z,i),t.upX.linearRampToValueAtTime(n.x,i),t.upY.linearRampToValueAtTime(n.y,i),t.upZ.linearRampToValueAtTime(n.z,i)}else t.setPosition(ru.x,ru.y,ru.z),t.setOrientation(iu.x,iu.y,iu.z,n.x,n.y,n.z)}}class WC extends fn{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=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const t=this.context.createBufferSource();return 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=!0,this.source=t,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}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());return this._connected=!0,this}disconnect(){if(this._connected!==!1){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());return this._connected=!1,this}}getFilters(){return this.filters}setFilters(e){return e||(e=[]),this._connected===!0?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this}setDetune(e){return this.detune=e,this.isPlaying===!0&&this.source.detune!==void 0&&this.source.detune.setTargetAtTime(this.detune,this.context.currentTime,.01),this}getDetune(){return this.detune}getFilter(){return this.getFilters()[0]}setFilter(e){return this.setFilters(e?[e]:[])}setPlaybackRate(e){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.playbackRate=e,this.isPlaying===!0&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1,this._progress=0}getLoop(){return this.hasPlaybackControl===!1?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(e){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.loop=e,this.isPlaying===!0&&(this.source.loop=this.loop),this}setLoopStart(e){return this.loopStart=e,this}setLoopEnd(e){return this.loopEnd=e,this}getVolume(){return this.gain.gain.value}setVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}copy(e,t){return super.copy(e,t),e.sourceType!=="buffer"?(console.warn("THREE.Audio: Audio source type cannot be copied."),this):(this.autoplay=e.autoplay,this.buffer=e.buffer,this.detune=e.detune,this.loop=e.loop,this.loopStart=e.loopStart,this.loopEnd=e.loopEnd,this.offset=e.offset,this.duration=e.duration,this.playbackRate=e.playbackRate,this.hasPlaybackControl=e.hasPlaybackControl,this.sourceType=e.sourceType,this.filters=e.filters.slice(),this)}clone(e){return new this.constructor(this.listener).copy(this,e)}}const su=new $,Zw=new fi,y5=new $,ou=new $;class v5 extends WC{constructor(e){super(e),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",this.panner.connect(this.gain)}connect(){super.connect(),this.panner.connect(this.gain)}disconnect(){super.disconnect(),this.panner.disconnect(this.gain)}getOutput(){return this.panner}getRefDistance(){return this.panner.refDistance}setRefDistance(e){return this.panner.refDistance=e,this}getRolloffFactor(){return this.panner.rolloffFactor}setRolloffFactor(e){return this.panner.rolloffFactor=e,this}getDistanceModel(){return this.panner.distanceModel}setDistanceModel(e){return this.panner.distanceModel=e,this}getMaxDistance(){return this.panner.maxDistance}setMaxDistance(e){return this.panner.maxDistance=e,this}setDirectionalCone(e,t,n){return this.panner.coneInnerAngle=e,this.panner.coneOuterAngle=t,this.panner.coneOuterGain=n,this}updateMatrixWorld(e){if(super.updateMatrixWorld(e),this.hasPlaybackControl===!0&&this.isPlaying===!1)return;this.matrixWorld.decompose(su,Zw,y5),ou.set(0,0,1).applyQuaternion(Zw);const t=this.panner;if(t.positionX){const n=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(su.x,n),t.positionY.linearRampToValueAtTime(su.y,n),t.positionZ.linearRampToValueAtTime(su.z,n),t.orientationX.linearRampToValueAtTime(ou.x,n),t.orientationY.linearRampToValueAtTime(ou.y,n),t.orientationZ.linearRampToValueAtTime(ou.z,n)}else t.setPosition(su.x,su.y,su.z),t.setOrientation(ou.x,ou.y,ou.z)}}class _5{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(){return this.analyser.getByteFrequencyData(this.data),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 XC{constructor(e,t,n){this.binding=e,this.valueSize=n;let i,s,o;switch(t){case"quaternion":i=this._slerp,s=this._slerpAdditive,o=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(n*6),this._workIndex=5;break;case"string":case"bool":i=this._select,s=this._select,o=this._setAdditiveIdentityOther,this.buffer=new Array(n*5);break;default:i=this._lerp,s=this._lerpAdditive,o=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(n*5)}this._mixBufferRegion=i,this._mixBufferRegionAdditive=s,this._setIdentity=o,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,i=this.valueSize,s=e*i+i;let o=this.cumulativeWeight;if(o===0){for(let l=0;l!==i;++l)n[s+l]=n[l];o=t}else{o+=t;const l=t/o;this._mixBufferRegion(n,s,0,l,i)}this.cumulativeWeight=o}accumulateAdditive(e){const t=this.buffer,n=this.valueSize,i=n*this._addIndex;this.cumulativeWeightAdditive===0&&this._setIdentity(),this._mixBufferRegionAdditive(t,i,0,e,n),this.cumulativeWeightAdditive+=e}apply(e){const t=this.valueSize,n=this.buffer,i=e*t+t,s=this.cumulativeWeight,o=this.cumulativeWeightAdditive,l=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,s<1){const u=t*this._origIndex;this._mixBufferRegion(n,i,u,1-s,t)}o>0&&this._mixBufferRegionAdditive(n,i,this._addIndex*t,1,t);for(let u=t,d=t+t;u!==d;++u)if(n[u]!==n[u+t]){l.setValue(n,i);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,i=n*this._origIndex;e.getValue(t,i);for(let s=n,o=i;s!==o;++s)t[s]=t[i+s%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,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,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,i,s){if(i>=.5)for(let o=0;o!==s;++o)e[t+o]=e[n+o]}_slerp(e,t,n,i){fi.slerpFlat(e,t,e,t,e,n,i)}_slerpAdditive(e,t,n,i,s){const o=this._workIndex*s;fi.multiplyQuaternionsFlat(e,o,e,t,e,n),fi.slerpFlat(e,t,e,t,e,o,i)}_lerp(e,t,n,i,s){const o=1-i;for(let l=0;l!==s;++l){const u=t+l;e[u]=e[u]*o+e[n+l]*i}}_lerpAdditive(e,t,n,i,s){for(let o=0;o!==s;++o){const l=t+o;e[l]=e[l]+e[n+o]*i}}}const bM="\\[\\]\\.:\\/",x5=new RegExp("["+bM+"]","g"),CM="[^"+bM+"]",M5="[^"+bM.replace("\\.","")+"]",S5=/((?:WC+[\/:])*)/.source.replace("WC",CM),w5=/(WCOD+)?/.source.replace("WCOD",M5),A5=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",CM),E5=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",CM),b5=new RegExp("^"+S5+w5+A5+E5+"$"),C5=["material","materials","bones","map"];class T5{constructor(e,t,n){const i=n||gn.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,i)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,i=this._bindings[n];i!==void 0&&i.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let i=this._targetGroup.nCachedObjects_,s=n.length;i!==s;++i)n[i].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 gn{constructor(e,t,n){this.path=t,this.parsedPath=n||gn.parseTrackName(t),this.node=gn.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new gn.Composite(e,t,n):new gn(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(x5,"")}static parseTrackName(e){const t=b5.exec(e);if(t===null)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]},i=n.nodeName&&n.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const s=n.nodeName.substring(i+1);C5.indexOf(s)!==-1&&(n.nodeName=n.nodeName.substring(0,i),n.objectName=s)}if(n.propertyName===null||n.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(t===void 0||t===""||t==="."||t===-1||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(n!==void 0)return n}if(e.children){const n=function(s){for(let o=0;o<s.length;o++){const l=s[o];if(l.name===t||l.uuid===t)return l;const u=n(l.children);if(u)return u}return null},i=n(e.children);if(i)return i}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 i=0,s=n.length;i!==s;++i)e[t++]=n[i]}_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=!0}_setValue_direct_setMatrixWorldNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_array(e,t){const n=this.resolvedProperty;for(let i=0,s=n.length;i!==s;++i)n[i]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const n=this.resolvedProperty;for(let i=0,s=n.length;i!==s;++i)n[i]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const n=this.resolvedProperty;for(let i=0,s=n.length;i!==s;++i)n[i]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_arrayElement(e,t){this.resolvedProperty[this.propertyIndex]=e[t]}_setValue_arrayElement_setNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.needsUpdate=!0}_setValue_arrayElement_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty[this.propertyIndex]=e[t],this.targetObject.matrixWorldNeedsUpdate=!0}_setValue_fromArray(e,t){this.resolvedProperty.fromArray(e,t)}_setValue_fromArray_setNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.needsUpdate=!0}_setValue_fromArray_setMatrixWorldNeedsUpdate(e,t){this.resolvedProperty.fromArray(e,t),this.targetObject.matrixWorldNeedsUpdate=!0}_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,n=t.objectName,i=t.propertyName;let s=t.propertyIndex;if(e||(e=gn.findNode(this.rootNode,t.nodeName),this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e){console.warn("THREE.PropertyBinding: No target node found for track: "+this.path+".");return}if(n){let d=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 p=0;p<e.length;p++)if(e[p].name===d){d=p;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material){console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);return}if(!e.material.map){console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);return}e=e.material.map;break;default:if(e[n]===void 0){console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);return}e=e[n]}if(d!==void 0){if(e[d]===void 0){console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);return}e=e[d]}}const o=e[i];if(o===void 0){const d=t.nodeName;console.error("THREE.PropertyBinding: Trying to update property for track: "+d+"."+i+" but it wasn't found.",e);return}let l=this.Versioning.None;this.targetObject=e,e.needsUpdate!==void 0?l=this.Versioning.NeedsUpdate:e.matrixWorldNeedsUpdate!==void 0&&(l=this.Versioning.MatrixWorldNeedsUpdate);let u=this.BindingType.Direct;if(s!==void 0){if(i==="morphTargetInfluences"){if(!e.geometry){console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",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}e.morphTargetDictionary[s]!==void 0&&(s=e.morphTargetDictionary[s])}u=this.BindingType.ArrayElement,this.resolvedProperty=o,this.propertyIndex=s}else o.fromArray!==void 0&&o.toArray!==void 0?(u=this.BindingType.HasFromToArray,this.resolvedProperty=o):Array.isArray(o)?(u=this.BindingType.EntireArray,this.resolvedProperty=o):this.propertyName=i;this.getValue=this.GetterByBindingType[u],this.setValue=this.SetterByBindingTypeAndVersioning[u][l]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}gn.Composite=T5;gn.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3};gn.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2};gn.prototype.GetterByBindingType=[gn.prototype._getValue_direct,gn.prototype._getValue_array,gn.prototype._getValue_arrayElement,gn.prototype._getValue_toArray];gn.prototype.SetterByBindingTypeAndVersioning=[[gn.prototype._setValue_direct,gn.prototype._setValue_direct_setNeedsUpdate,gn.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[gn.prototype._setValue_array,gn.prototype._setValue_array_setNeedsUpdate,gn.prototype._setValue_array_setMatrixWorldNeedsUpdate],[gn.prototype._setValue_arrayElement,gn.prototype._setValue_arrayElement_setNeedsUpdate,gn.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[gn.prototype._setValue_fromArray,gn.prototype._setValue_fromArray_setNeedsUpdate,gn.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class I5{constructor(){this.isAnimationObjectGroup=!0,this.uuid=_s(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const e={};this._indicesByUUID=e;for(let n=0,i=arguments.length;n!==i;++n)e[arguments[n].uuid]=n;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,i=this._parsedPaths,s=this._bindings,o=s.length;let l,u=e.length,d=this.nCachedObjects_;for(let p=0,m=arguments.length;p!==m;++p){const y=arguments[p],v=y.uuid;let S=t[v];if(S===void 0){S=u++,t[v]=S,e.push(y);for(let E=0,A=o;E!==A;++E)s[E].push(new gn(y,n[E],i[E]))}else if(S<d){l=e[S];const E=--d,A=e[E];t[A.uuid]=S,e[S]=A,t[v]=E,e[E]=y;for(let M=0,T=o;M!==T;++M){const I=s[M],P=I[E];let k=I[S];I[S]=P,k===void 0&&(k=new gn(y,n[M],i[M])),I[E]=k}}else e[S]!==l&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastru
83cture when reloading scenes.")}this.nCachedObjects_=d}remove(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,i=n.length;let s=this.nCachedObjects_;for(let o=0,l=arguments.length;o!==l;++o){const u=arguments[o],d=u.uuid,p=t[d];if(p!==void 0&&p>=s){const m=s++,y=e[m];t[y.uuid]=p,e[p]=y,t[d]=m,e[m]=u;for(let v=0,S=i;v!==S;++v){const E=n[v],A=E[m],M=E[p];E[p]=A,E[m]=M}}}this.nCachedObjects_=s}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,i=n.length;let s=this.nCachedObjects_,o=e.length;for(let l=0,u=arguments.length;l!==u;++l){const d=arguments[l],p=d.uuid,m=t[p];if(m!==void 0)if(delete t[p],m<s){const y=--s,v=e[y],S=--o,E=e[S];t[v.uuid]=m,e[m]=v,t[E.uuid]=y,e[y]=E,e.pop();for(let A=0,M=i;A!==M;++A){const T=n[A],I=T[y],P=T[S];T[m]=I,T[y]=P,T.pop()}}else{const y=--o,v=e[y];y>0&&(t[v.uuid]=m),e[m]=v,e.pop();for(let S=0,E=i;S!==E;++S){const A=n[S];A[m]=A[y],A.pop()}}}this.nCachedObjects_=s}subscribe_(e,t){const n=this._bindingsIndicesByPath;let i=n[e];const s=this._bindings;if(i!==void 0)return s[i];const o=this._paths,l=this._parsedPaths,u=this._objects,d=u.length,p=this.nCachedObjects_,m=new Array(d);i=s.length,n[e]=i,o.push(e),l.push(t),s.push(m);for(let y=p,v=u.length;y!==v;++y){const S=u[y];m[y]=new gn(S,e,t)}return m}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(n!==void 0){const i=this._paths,s=this._parsedPaths,o=this._bindings,l=o.length-1,u=o[l],d=e[l];t[d]=n,o[n]=u,o.pop(),s[n]=s[l],s.pop(),i[n]=i[l],i.pop()}}}class JC{constructor(e,t,n=null,i=t.blendMode){this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=i;const s=t.tracks,o=s.length,l=new Array(o),u={endingStart:pu,endingEnd:pu};for(let d=0;d!==o;++d){const p=s[d].createInterpolant(null);l[d]=p,p.settings=u}this._interpolantSettings=u,this._interpolants=l,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ub,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,t){return this.loop=e,this.repetitions=t,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,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){if(e.fadeOut(t),this.fadeIn(t),n){const i=this._clip.duration,s=e._clip.duration,o=s/i,l=i/s;e.warp(1,o,t),this.warp(l,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,t,n){const i=this._mixer,s=i.time,o=this.timeScale;let l=this._timeScaleInterpolant;l===null&&(l=i._lendControlInterpolant(),this._timeScaleInterpolant=l);const u=l.parameterPositions,d=l.sampleValues;return u[0]=s,u[1]=s+n,d[0]=e/o,d[1]=t/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,t,n,i){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const u=(e-s)*n;u<0||n===0?t=0:(this._startTime=null,t=n*u)}t*=this._updateTimeScale(e);const o=this._updateTime(t),l=this._updateWeight(e);if(l>0){const u=this._interpolants,d=this._propertyBindings;switch(this.blendMode){case Yx:for(let p=0,m=u.length;p!==m;++p)u[p].evaluate(o),d[p].accumulateAdditive(l);break;case Hy:default:for(let p=0,m=u.length;p!==m;++p)u[p].evaluate(o),d[p].accumulate(i,l)}}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(n!==null){const i=n.evaluate(e)[0];t*=i,e>n.parameterPositions[1]&&(this.stopWarping(),t===0?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let i=this.time+e,s=this._loopCount;const o=n===jb;if(e===0)return s===-1?i:o&&(s&1)===1?t-i:i;if(n===kb){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=t)i=t;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),i>=t||i<0){const l=Math.floor(i/t);i-=t*l,s+=Math.abs(l);const u=this.repetitions-s;if(u<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?t:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(u===1){const d=e<0;this._setEndings(d,!d,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:l})}}else this.time=i;if(o&&(s&1)===1)return t-i}return i}
vendor: 8,767 bytes, line 83
83_setEndings(e,t,n){const i=this._interpolantSettings;n?(i.endingStart=mu,i.endingEnd=mu):(e?i.endingStart=this.zeroSlopeAtStart?mu:pu:i.endingStart=kp,t?i.endingEnd=this.zeroSlopeAtEnd?mu:pu:i.endingEnd=kp)}_scheduleFading(e,t,n){const i=this._mixer,s=i.time;let o=this._weightInterpolant;o===null&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);const l=o.parameterPositions,u=o.sampleValues;return l[0]=s,u[0]=t,l[1]=s+e,u[1]=n,this}}const P5=new Float32Array(1);class R5 extends ta{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,i=e._clip.tracks,s=i.length,o=e._propertyBindings,l=e._interpolants,u=n.uuid,d=this._bindingsByRootAndName;let p=d[u];p===void 0&&(p={},d[u]=p);for(let m=0;m!==s;++m){const y=i[m],v=y.name;let S=p[v];if(S!==void 0)++S.referenceCount,o[m]=S;else{if(S=o[m],S!==void 0){S._cacheIndex===null&&(++S.referenceCount,this._addInactiveBinding(S,u,v));continue}const E=t&&t._propertyBindings[m].binding.parsedPath;S=new XC(gn.create(n,v,E),y.ValueTypeName,y.getValueSize()),++S.referenceCount,this._addInactiveBinding(S,u,v),o[m]=S}l[m].resultBuffer=S.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const n=(e._localRoot||this._root).uuid,i=e._clip.uuid,s=this._actionsByClip[i];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,i,n)}const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}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 t!==null&&t<this._nActiveActions}_addInactiveAction(e,t,n){const i=this._actions,s=this._actionsByClip;let o=s[t];if(o===void 0)o={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,s[t]=o;else{const l=o.knownActions;e._byClipCacheIndex=l.length,l.push(e)}e._cacheIndex=i.length,i.push(e),o.actionByRoot[n]=e}_removeInactiveAction(e){const t=this._actions,n=t[t.length-1],i=e._cacheIndex;n._cacheIndex=i,t[i]=n,t.pop(),e._cacheIndex=null;const s=e._clip.uuid,o=this._actionsByClip,l=o[s],u=l.knownActions,d=u[u.length-1],p=e._byClipCacheIndex;d._byClipCacheIndex=p,u[p]=d,u.pop(),e._byClipCacheIndex=null;const m=l.actionByRoot,y=(e._localRoot||this._root).uuid;delete m[y],u.length===0&&delete o[s],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){const t=e._propertyBindings;for(let n=0,i=t.length;n!==i;++n){const s=t[n];--s.referenceCount===0&&this._removeInactiveBinding(s)}}_lendAction(e){const t=this._actions,n=e._cacheIndex,i=this._nActiveActions++,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_takeBackAction(e){const t=this._actions,n=e._cacheIndex,i=--this._nActiveActions,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_addInactiveBinding(e,t,n){const i=this._bindingsByRootAndName,s=this._bindings;let o=i[t];o===void 0&&(o={},i[t]=o),o[n]=e,e._cacheIndex=s.length,s.push(e)}_removeInactiveBinding(e){const t=this._bindings,n=e.binding,i=n.rootNode.uuid,s=n.path,o=this._bindingsByRootAndName,l=o[i],u=t[t.length-1],d=e._cacheIndex;u._cacheIndex=d,t[d]=u,t.pop(),delete l[s],Object.keys(l).length===0&&delete o[i]}_lendBinding(e){const t=this._bindings,n=e._cacheIndex,i=this._nActiveBindings++,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_takeBackBinding(e){const t=this._bindings,n=e._cacheIndex,i=--this._nActiveBindings,s=t[i];e._cacheIndex=i,t[i]=e,s._cacheIndex=n,t[n]=s}_lendControlInterpolant(){const e=this._controlInterpolants,t=this._nActiveControlInterpolants++;let n=e[t];return n===void 0&&(n=new gM(new Float32Array(2),new Float32Array(2),1,P5),n.__cacheIndex=t,e[t]=n),n}_takeBackControlInterpolant(e){const t=this._controlInterpolants,n=e.__cacheIndex,i=--this._nActiveControlInterpolants,s=t[i];e.__cacheIndex=i,t[i]=e,s.__cacheIndex=n,t[n]=s}clipAction(e,t,n){const i=t||this._root,s=i.uuid;let o=typeof e=="string"?Ud.findByName(i,e):e;const l=o!==null?o.uuid:e,u=this._actionsByClip[l];let d=null;if(n===void 0&&(o!==null?n=o.blendMode:n=Hy),u!==void 0){const m=u.actionByRoot[s];if(m!==void 0&&m.blendMode===n)return m;d=u.knownActions[0],o===null&&(o=d._clip)}if(o===null)return null;const p=new JC(this,o,t,n);return this._bindAction(p,d),this._addInactiveAction(p,l,s),p}existingAction(e,t){const n=t||this._root,i=n.uuid,s=typeof e=="string"?Ud.findByName(n,e):e,o=s?s.uuid:e,l=this._actionsByClip[o];return l!==void 0&&l.actionByRoot[i]||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,i=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let d=0;d!==n;++d)t[d]._update(i,e,s,o);const l=this._bindings,u=this._nActiveBindings;for(let d=0;d!==u;++d)l[d].apply(o);return this}setTime(e){this.time=0;for(let t=0;t<this._actions.length;t++)this._actions[t].time=0;return this.update(e)}getRoot(){return this._root}uncacheClip(e){const t=this._actions,n=e.uuid,i=this._actionsByClip,s=i[n];if(s!==void 0){const o=s.knownActions;for(let l=0,u=o.length;l!==u;++l){const d=o[l];this._deactivateAction(d);const p=d._cacheIndex,m=t[t.length-1];d._cacheIndex=null,d._byClipCacheIndex=null,m._cacheIndex=p,t[p]=m,t.pop(),this._removeInactiveBindingsForAction(d)}delete i[n]}}uncacheRoot(e){const t=e.uuid,n=this._actionsByClip;for(const o in n){const l=n[o].actionByRoot,u=l[t];u!==void 0&&(this._deactivateAction(u),this._removeInactiveAction(u))}const i=this._bindingsByRootAndName,s=i[t];if(s!==void 0)for(const o in s){const l=s[o];l.restoreOriginalState(),this._removeInactiveBinding(l)}}uncacheAction(e,t){const n=this.existingAction(e,t);n!==null&&(this._deactivateAction(n),this._removeInactiveAction(n))}}class TM{constructor(e){this.value=e}clone(){return new TM(this.value.clone===void 0?this.value:this.value.clone())}}let B5=0;class O5 extends ta{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:B5++}),this.name="",this.usage=jp,this.uniforms=[]}add(e){return this.uniforms.push(e),this}remove(e){const t=this.uniforms.indexOf(e);return t!==-1&&this.uniforms.splice(t,1),this}setName(e){return this.name=e,this}setUsage(e){return this.usage=e,this}dispose(){return this.dispatchEvent({type:"dispose"}),this}copy(e){this.name=e.name,this.usage=e.usage;const t=e.uniforms;this.uniforms.length=0;for(let n=0,i=t.length;n<i;n++){const s=Array.isArray(t[n])?t[n]:[t[n]];for(let o=0;o<s.length;o++)this.uniforms.push(s[o].clone())}return this}clone(){return new this.constructor().copy(this)}}class D5 extends sm{constructor(e,t,n=1){super(e,t),this.isInstancedInterleavedBuffer=!0,this.meshPerAttribute=n}copy(e){return super.copy(e),this.meshPerAttribute=e.meshPerAttribute,this}clone(e){const t=super.clone(e);return t.meshPerAttribute=this.meshPerAttribute,t}toJSON(e){const t=super.toJSON(e);return t.isInstancedInterleavedBuffer=!0,t.meshPerAttribute=this.meshPerAttribute,t}}class L5{constructor(e,t,n,i,s){this.isGLBufferAttribute=!0,this.name="",this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=i,this.count=s,this.version=0}set needsUpdate(e){e===!0&&this.version++}setBuffer(e){return this.buffer=e,this}setType(e,t){return this.type=e,this.elementSize=t,this}setItemSize(e){return this.itemSize=e,this}setCount(e){return this.count=e,this}}const e2=new Nt;class $C{constructor(e,t,n=0,i=1/0){this.ray=new Wd(e,t),this.near=n,this.far=i,this.camera=null,this.layers=new wu,this.params={Mesh:{},Line:{threshold:1},LOD:{},Points:{threshold:1},Sprite:{}}}set(e,t){this.ray.set(e,t)}setFromCamera(e,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):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):console.error("THREE.Raycaster:
83Unsupported camera type: "+t.type)}setFromXRController(e){return e2.identity().extractRotation(e.matrixWorld),this.ray.origin.setFromMatrixPosition(e.matrixWorld),this.ray.direction.set(0,0,-1).applyMatrix4(e2),this}intersectObject(e,t=!0,n=[]){return ex(e,this,n,t),n.sort(t2),n}intersectObjects(e,t=!0,n=[]){for(let i=0,s=e.length;i<s;i++)ex(e[i],this,n,t);return n.sort(t2),n}}function t2(r,e){return r.distance-e.distance}function ex(r,e,t,n){let i=!0;if(r.layers.test(e.layers)&&r.raycast(e,t)===!1&&(i=!1),i===!0&&n===!0){const s=r.children;for(let o=0,l=s.length;o<l;o++)ex(s[o],e,t,!0)}}class N5{constructor(e=1,t=0,n=0){return this.radius=e,this.phi=t,this.theta=n,this}set(e,t,n){return this.radius=e,this.phi=t,this.theta=n,this}copy(e){return this.radius=e.radius,this.phi=e.phi,this.theta=e.theta,this}makeSafe(){return this.phi=Yt(this.phi,1e-6,Math.PI-1e-6),this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+t*t+n*n),this.radius===0?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(Yt(t/this.radius,-1,1))),this}clone(){return new this.constructor().copy(this)}}class F5{constructor(e=1,t=0,n=0){return this.radius=e,this.theta=t,this.y=n,this}set(e,t,n){return this.radius=e,this.theta=t,this.y=n,this}copy(e){return this.radius=e.radius,this.theta=e.theta,this.y=e.y,this}setFromVector3(e){return this.setFromCartesianCoords(e.x,e.y,e.z)}setFromCartesianCoords(e,t,n){return this.radius=Math.sqrt(e*e+n*n),this.theta=Math.atan2(e,n),this.y=t,this}clone(){return new this.constructor().copy(this)}}class IM{constructor(e,t,n,i){IM.prototype.isMatrix2=!0,this.elements=[1,0,0,1],e!==void 0&&this.set(e,t,n,i)}identity(){return this.set(1,0,0,1),this}fromArray(e,t=0){for(let n=0;n<4;n++)this.elements[n]=e[n+t];return this}set(e,t,n,i){const s=this.elements;return s[0]=e,s[2]=t,s[1]=n,s[3]=i,this}}const n2=new Ne;class k5{constructor(e=new Ne(1/0,1/0),t=new Ne(-1/0,-1/0)){this.isBox2=!0,this.min=e,this.max=t}set(e,t){return this.min.copy(e),this.max.copy(t),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=n2.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}clone(){return new this.constructor().copy(this)}copy(e){return this.min.copy(e.min),this.max.copy(e.max),this}makeEmpty(){return this.min.x=this.min.y=1/0,this.max.x=this.max.y=-1/0,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){return this.min.min(e),this.max.max(e),this}expandByVector(e){return this.min.sub(e),this.max.add(e),this}expandByScalar(e){return this.min.addScalar(-e),this.max.addScalar(e),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){return this.clampPoint(e,n2).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const r2=new $,Q0=new $;class U5{constructor(e=new $,t=new $){this.start=e,this.end=t}set(e,t){return this.start.copy(e),this.end.copy(t),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),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){r2.subVectors(e,this.start),Q0.subVectors(this.end,this.start);const n=Q0.dot(Q0);let s=Q0.dot(r2)/n;return t&&(s=Yt(s,0,1)),s}closestPointToPoint(e,t,n){const i=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(i).add(this.start)}
vendor: 13,673 bytes, line 83
83applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const i2=new $;class j5 extends fn{constructor(e,t){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new Jt,i=[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 o=0,l=1,u=32;o<u;o++,l++){const d=o/u*Math.PI*2,p=l/u*Math.PI*2;i.push(Math.cos(d),Math.sin(d),1,Math.cos(p),Math.sin(p),1)}n.setAttribute("position",new Et(i,3));const s=new mi({fog:!1,toneMapped:!1});this.cone=new bo(n,s),this.add(this.cone),this.update()}dispose(){this.cone.geometry.dispose(),this.cone.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),this.parent?(this.parent.updateWorldMatrix(!0),this.matrix.copy(this.parent.matrixWorld).invert().multiply(this.light.matrixWorld)):this.matrix.copy(this.light.matrixWorld),this.matrixWorld.copy(this.light.matrixWorld);const e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),i2.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(i2),this.color!==void 0?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const Xl=new $,Z0=new Nt,Nv=new Nt;class z5 extends bo{constructor(e){const t=KC(e),n=new Jt,i=[],s=[],o=new tt(0,0,1),l=new tt(0,1,0);for(let d=0;d<t.length;d++){const p=t[d];p.parent&&p.parent.isBone&&(i.push(0,0,0),i.push(0,0,0),s.push(o.r,o.g,o.b),s.push(l.r,l.g,l.b))}n.setAttribute("position",new Et(i,3)),n.setAttribute("color",new Et(s,3));const u=new mi({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0});super(n,u),this.isSkeletonHelper=!0,this.type="SkeletonHelper",this.root=e,this.bones=t,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1}updateMatrixWorld(e){const t=this.bones,n=this.geometry,i=n.getAttribute("position");Nv.copy(this.root.matrixWorld).invert();for(let s=0,o=0;s<t.length;s++){const l=t[s];l.parent&&l.parent.isBone&&(Z0.multiplyMatrices(Nv,l.matrixWorld),Xl.setFromMatrixPosition(Z0),i.setXYZ(o,Xl.x,Xl.y,Xl.z),Z0.multiplyMatrices(Nv,l.parent.matrixWorld),Xl.setFromMatrixPosition(Z0),i.setXYZ(o+1,Xl.x,Xl.y,Xl.z),o+=2)}n.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose()}}function KC(r){const e=[];r.isBone===!0&&e.push(r);for(let t=0;t<r.children.length;t++)e.push.apply(e,KC(r.children[t]));return e}class H5 extends hr{constructor(e,t,n){const i=new hm(t,4,2),s=new vs({wireframe:!0,fog:!1,toneMapped:!1});super(i,s),this.light=e,this.color=n,this.type="PointLightHelper",this.matrix=this.light.matrixWorld,this.matrixAutoUpdate=!1,this.update()}dispose(){this.geometry.dispose(),this.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.color!==void 0?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const G5=new $,s2=new tt,o2=new tt;class V5 extends fn{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="HemisphereLightHelper";const i=new um(t);i.rotateY(Math.PI*.5),this.material=new vs({wireframe:!0,fog:!1,toneMapped:!1}),this.color===void 0&&(this.material.vertexColors=!0);const s=i.getAttribute("position"),o=new Float32Array(s.count*3);i.setAttribute("color",new vn(o,3)),this.add(new hr(i,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const e=this.children[0];if(this.color!==void 0)this.material.color.set(this.color);else{const t=e.geometry.getAttribute("color");s2.copy(this.light.color),o2.copy(this.light.groundColor);for(let n=0,i=t.count;n<i;n++){const s=n<i/2?s2:o2;t.setXYZ(n,s.r,s.g,s.b)}t.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),e.lookAt(G5.setFromMatrixPosition(this.light.matrixWorld).negate())}}class W5 extends bo{constructor(e=10,t=10,n=4473924,i=8947848){n=new tt(n),i=new tt(i);const s=t/2,o=e/t,l=e/2,u=[],d=[];for(let y=0,v=0,S=-l;y<=t;y++,S+=o){u.push(-l,0,S,l,0,S),u.push(S,0,-l,S,0,l);const E=y===s?n:i;E.toArray(d,v),v+=3,E.toArray(d,v),v+=3,E.toArray(d,v),v+=3,E.toArray(d,v),v+=3}const p=new Jt;p.setAttribute("position",new Et(u,3)),p.setAttribute("color",new Et(d,3));const m=new mi({vertexColors:!0,toneMapped:!1});super(p,m),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}class X5 extends bo{constructor(e=10,t=16,n=8,i=64,s=4473924,o=8947848){s=new tt(s),o=new tt(o);const l=[],u=[];if(t>1)for(let m=0;m<t;m++){const y=m/t*(Math.PI*2),v=Math.sin(y)*e,S=Math.cos(y)*e;l.push(0,0,0),l.push(v,0,S);const E=m&1?s:o;u.push(E.r,E.g,E.b),u.push(E.r,E.g,E.b)}for(let m=0;m<n;m++){const y=m&1?s:o,v=e-e/n*m;for(let S=0;S<i;S++){let E=S/i*(Math.PI*2),A=Math.sin(E)*v,M=Math.cos(E)*v;l.push(A,0,M),u.push(y.r,y.g,y.b),E=(S+1)/i*(Math.PI*2),A=Math.sin(E)*v,M=Math.cos(E)*v,l.push(A,0,M),u.push(y.r,y.g,y.b)}}const d=new Jt;d.setAttribute("position",new Et(l,3)),d.setAttribute("color",new Et(u,3));const p=new mi({vertexColors:!0,toneMapped:!1});super(d,p),this.type="PolarGridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}const a2=new $,eg=new $,l2=new $;class J5 extends fn{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="DirectionalLightHelper",t===void 0&&(t=1);let i=new Jt;i.setAttribute("position",new Et([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const s=new mi({fog:!1,toneMapped:!1});this.lightPlane=new nl(i,s),this.add(this.lightPlane),i=new Jt,i.setAttribute("position",new Et([0,0,0,0,0,1],3)),this.targetLine=new nl(i,s),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),a2.setFromMatrixPosition(this.light.matrixWorld),eg.setFromMatrixPosition(this.light.target.matrixWorld),l2.subVectors(eg,a2),this.lightPlane.lookAt(eg),this.color!==void 0?(this.lightPlane.material.color.set(this.color),this.targetLine.material.color.set(this.color)):(this.lightPlane.material.color.copy(this.light.color),this.targetLine.material.color.copy(this.light.color)),this.targetLine.lookAt(eg),this.targetLine.scale.z=l2.length()}}const tg=new $,or=new rm;class $5 extends bo{constructor(e){const t=new Jt,n=new mi({color:16777215,vertexColors:!0,toneMapped:!1}),i=[],s=[],o={};l("n1","n2"),l("n2","n4"),l("n4","n3"),l("n3","n1"),l("f1","f2"),l("f2","f4"),l("f4","f3"),l("f3","f1"),l("n1","f1"),l("n2","f2"),l("n3","f3"),l("n4","f4"),l("p","n1"),l("p","n2"),l("p","n3"),l("p","n4"),l("u1","u2"),l("u2","u3"),l("u3","u1"),l("c","t"),l("p","c"),l("cn1","cn2"),l("cn3","cn4"),l("cf1","cf2"),l("cf3","cf4");function l(S,E){u(S),u(E)}function u(S){i.push(0,0,0),s.push(0,0,0),o[S]===void 0&&(o[S]=[]),o[S].push(i.length/3-1)}t.setAttribute("position",new Et(i,3)),t.setAttribute("color",new Et(s,3)),super(t,n),this.type="CameraHelper",this.camera=e,this.camera.updateProjectionMatrix&&this.camera.updateProjectionMatrix(),this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.pointMap=o,this.update();const d=new tt(16755200),p=new tt(16711680),m=new tt(43775),y=new tt(16777215),v=new tt(3355443);this.setColors(d,p,m,y,v)}setColors(e,t,n,i,s){const l=this.geometry.getAttribute("color");l.setXYZ(0,e.r,e.g,e.b),l.setXYZ(1,e.r,e.g,e.b),l.setXYZ(2,e.r,e.g,e.b),l.setXYZ(3,e.r,e.g,e.b),l.setXYZ(4,e.r,e.g,e.b),l.setXYZ(5,e.r,e.g,e.b),l.setXYZ(6,e.r,e.g,e.b),l.setXYZ(7,e.r,e.g,e.b),l.setXYZ(8,e.r,e.g,e.b),l.setXYZ(9,e.r,e.g,e.b),l.setXYZ(10,e.r,e.g,e.b),l.setXYZ(11,e.r,e.g,e.b),l.setXYZ(12,e.r,e.g,e.b),l.setXYZ(13,e.r,e.g,e.b),l.setXYZ(14,e.r,e.g,e.b),l.setXYZ(15,e.r,e.g,e.b),l.setXYZ(16,e.r,e.g,e.b),l.setXYZ(17,e.r,e.g,e.b),l.setXYZ(18,e.r,e.g,e.b),l.setXYZ(19,e.r,e.g,e.b),l.setXYZ(20,e.r,e.g,e.b),l.setXYZ(21,e.r,e.g,e.b),l.setXYZ(22,e.r,e.g,e.b),l.setXYZ(23,e.r,e.g,e.b),l.setXYZ(24,t.r,t.g,t.b),l.setXYZ(25,t.r,t.g,t.b),l.setXYZ(26,t.r,t.g,t.b),l.setXYZ(27,t.r,t.g,t.b),l.setXYZ(28,t.r,t.g,t.b),l.setXYZ(29,t.r,t.g,t.b),l.setXYZ(30,t.r,t.g,t.b),l.setXYZ(31,t.r,t.g,t.b),l.setXYZ(32,n.r,n.g,n.b),l.setXYZ(33,n.r,n.g,n.b),l.setXYZ(34,n.r,n.g,n.b),l.setXYZ(35,n.r,n.g,n.b),l.setXYZ(36,n.r,n.g,n.b),l.setXYZ(37,n.r,n.g,n.b),l.setXYZ(38,i.r,i.g,i.b),l.setXYZ(39,i.r,i.g,i.b),l.setXYZ(40,s.r,s.g,s.b),l.setXYZ(41,s.r,s.g,s.b),l.setXYZ(42,s.r,s.g,s.b),l.setXYZ(43,s.r,s.g,s.b),l.setXYZ(44,s.r,s.g,s.b),l.setXYZ(45,s.r,s.g,s.b),l.setXYZ(46,s.r,s.g,s.b),l.setXYZ(47,s.r,s.g,s.b),l.setXYZ(48,s.r,s.g,s.b),l.setXYZ(49,s.r,s.g,s.b),l.needsUpdate=!0}update(){const e=this.geometry,t=this.pointMap,n=1,i=1;or.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),ur("c",t,e,or,0,0,-1),ur("t",t,e,or,0,0,1),ur("n1",t,e,or,-n,-i,-1),ur("n2",t,e,or,n,-i,-1),ur("n3",t,e,or,-n,i,-1),ur("n4",t,e,or,n,i,-1),ur("f1",t,e,or,-n,-i,1),ur("f2",t,e,or,n,-i,1),ur("f3",t,e,or,-n,i,1),ur("f4",t,e,or,n,i,1),ur("u1",t,e,or,n*.7,i*1.1,-1),ur("u2",t,e,or,-n*.7,i*1.1,-1),ur("u3",t,e,or,0,i*2,-1),ur("cf1",t,e,or,-n,0,1),ur("cf2",t,e,or,n,0,1),ur("cf3",t,e,or,0,-i,1),ur("cf4",t,e,or,0,i,1),ur("cn1",t,e,or,-n,0,-1),ur("cn2",t,e,or,n,0,-1),ur("cn3",t,e,or,0,-i,-1),ur("cn4",t,e,or,0,i,-1),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}}function ur(r,e,t,n,i,s,o){tg.set(i,s,o).unproject(n);const l=e[r];if(l!==void 0){const u=t.getAttribute("position");for(let d=0,p=l.length;d<p;d++)u.setXYZ(l[d],tg.x,tg.y,tg.z)}}const ng=new pi;class K5 extends bo{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]),i=new Float32Array(8*3),s=new Jt;s.setIndex(new vn(n,1)),s.setAttribute("position",new vn(i,3)),super(s,new mi({color:t,toneMapped:!1})),this.object=e,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(e){if(e!==void 0&&console.warn("THREE.BoxHelper: .update() has no longer arguments."),this.object!==void 0&&ng.setFromObject(this.object),ng.isEmpty())return;const t=ng.min,n=ng.max,i=this.geometry.attributes.position,s=i.array;s[0]=n.x,s[1]=n.y,s[2]=n.z,s[3]=t.x,s[4]=n.y,s[5]=n.z,s[6]=t.x,s[7]=t.y,s[8]=n.z,s[9]=n.x,s[10]=t.y,s[11]=n.z,s[12]=n.x,s[13]=n.y,s[14]=t.z,s[15]=t.x,s[16]=n.y,s[17]=t.z,s[18]=t.x,s[19]=t.y,s[20]=t.z,s[21]=n.x,s[22]=t.y,s[23]=t.z,i.needsUpdate=!0,this.geometry.computeBoundingSphere()}setFromObject(e){return this.object=e,this.update(),this}copy(e,t){return super.copy(e,t),this.object=e.object,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class Y5 extends bo{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]),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],s=new Jt;s.setIndex(new vn(n,1)),s.setAttribute("position",new Et(i,3)),super(s,new mi({color:t,toneMapped:!1})),this.box=e,this.type="Box3Helper",this.geometry.computeBoundingSphere()}updateMatrixWorld(e){const t=this.box;t.isEmpty()||(t.getCenter(this.position),t.getSize(this.scale),this.scale.multiplyScalar(.5),super.updateMatrixWorld(e))}dispose(){this.geometry.dispose(),this.material.dispose()}}class q5 extends nl{constructor(e,t=1,n=16776960){const i=n,s=[1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],o=new Jt;o.setAttribute("position",new Et(s,3)),o.computeBoundingSphere(),super(o,new mi({color:i,toneMapped:!1})),this.type="PlaneHelper",this.plane=e,this.size=t;const l=[1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],u=new Jt;u.setAttribute("position",new Et(l,3)),u.computeBoundingSphere(),this.add(new hr(u,new vs({color:i,opacity:.2,transparent:!0,depthWrite:!1,toneMapped:!1})))}updateMatrixWorld(e){this.position.set(0,0,0),this.scale.set(.5*this.size,.5*this.size,1),this.lookAt(this.plane.normal),this.translateZ(-this.plane.constant),super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose(),this.children[0].geometry.dispose(),this.children[0].material.dispose()}}const c2=new $;let rg,Fv;class Q5 extends fn{constructor(e=new $(0,0,1),t=new $(0,0,0),n=1,i=16776960,s=n*.2,o=s*.2){super(),this.type="ArrowHelper",rg===void 0&&(rg=new Jt,rg.setAttribute("position",new Et([0,0,0,0,1,0],3)),Fv=new Xd(0,.5,1,5,1),Fv.translate(0,-.5,0)),this.position.copy(t),this.line=new nl(rg,new mi({color:i,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new hr(Fv,new vs({color:i,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,s,o)}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{c2.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(c2,t)}}setLength(e,t=e*.2,n=t*.2){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){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class Z5 extends bo{constructor(e=1){const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Jt;i.setAttribute("position",new Et(t,3)),i.setAttribute("color",new Et(n,3));const s=new mi({vertexColors:!0,toneMapped:!1});super(i,s),this.type="AxesHelper"}
vendor: 5,461 bytes, line 83
83setColors(e,t,n){const i=new tt,s=this.geometry.attributes.color.array;return i.set(e),i.toArray(s,0),i.toArray(s,3),i.set(t),i.toArray(s,6),i.toArray(s,9),i.set(n),i.toArray(s,12),i.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class eB{constructor(){this.type="ShapePath",this.color=new tt,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new Vp,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,t),this}lineTo(e,t){return this.currentPath.lineTo(e,t),this}quadraticCurveTo(e,t,n,i){return this.currentPath.quadraticCurveTo(e,t,n,i),this}bezierCurveTo(e,t,n,i,s,o){return this.currentPath.bezierCurveTo(e,t,n,i,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(M){const T=[];for(let I=0,P=M.length;I<P;I++){const k=M[I],O=new Au;O.curves=k.curves,T.push(O)}return T}function n(M,T){const I=T.length;let P=!1;for(let k=I-1,O=0;O<I;k=O++){let N=T[k],H=T[O],F=H.x-N.x,L=H.y-N.y;if(Math.abs(L)>Number.EPSILON){if(L<0&&(N=T[O],F=-F,H=T[k],L=-L),M.y<N.y||M.y>H.y)continue;if(M.y===N.y){if(M.x===N.x)return!0}else{const V=L*(M.x-N.x)-F*(M.y-N.y);if(V===0)return!0;if(V<0)continue;P=!P}}else{if(M.y!==N.y)continue;if(H.x<=M.x&&M.x<=N.x||N.x<=M.x&&M.x<=H.x)return!0}}return P}const i=Ko.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,l,u;const d=[];if(s.length===1)return l=s[0],u=new Au,u.curves=l.curves,d.push(u),d;let p=!i(s[0].getPoints());p=e?!p:p;const m=[],y=[];let v=[],S=0,E;y[S]=void 0,v[S]=[];for(let M=0,T=s.length;M<T;M++)l=s[M],E=l.getPoints(),o=i(E),o=e?!o:o,o?(!p&&y[S]&&S++,y[S]={s:new Au,p:E},y[S].s.curves=l.curves,p&&S++,v[S]=[]):v[S].push({h:l,p:E[0]});if(!y[0])return t(s);if(y.length>1){let M=!1,T=0;for(let I=0,P=y.length;I<P;I++)m[I]=[];for(let I=0,P=y.length;I<P;I++){const k=v[I];for(let O=0;O<k.length;O++){const N=k[O];let H=!0;for(let F=0;F<y.length;F++)n(N.p,y[F].p)&&(I!==F&&T++,H?(H=!1,m[F].push(N)):M=!0);H&&m[I].push(N)}}T>0&&M===!1&&(v=m)}let A;for(let M=0,T=y.length;M<T;M++){u=y[M].s,d.push(u),A=v[M];for(let I=0,P=A.length;I<P;I++)u.holes.push(A[I].h)}return d}}class tB extends ta{constructor(e,t=null){super(),this.object=e,this.domElement=t,this.enabled=!0,this.state=-1,this.keys={},this.mouseButtons={LEFT:null,MIDDLE:null,RIGHT:null},this.touches={ONE:null,TWO:null}}connect(){}disconnect(){}dispose(){}update(){}}function nB(r,e){const t=r.image&&r.image.width?r.image.width/r.image.height:1;return t>e?(r.repeat.x=1,r.repeat.y=t/e,r.offset.x=0,r.offset.y=(1-r.repeat.y)/2):(r.repeat.x=e/t,r.repeat.y=1,r.offset.x=(1-r.repeat.x)/2,r.offset.y=0),r}function rB(r,e){const t=r.image&&r.image.width?r.image.width/r.image.height:1;return t>e?(r.repeat.x=e/t,r.repeat.y=1,r.offset.x=(1-r.repeat.x)/2,r.offset.y=0):(r.repeat.x=1,r.repeat.y=t/e,r.offset.x=0,r.offset.y=(1-r.repeat.y)/2),r}function iB(r){return r.repeat.x=1,r.repeat.y=1,r.offset.x=0,r.offset.y=0,r}function tx(r,e,t,n){const i=sB(n);switch(t){case Vx:return r*e;case Xx:return r*e;case Jx:return r*e*2;case Uy:return r*e/i.components*i.byteLength;case nm:return r*e/i.components*i.byteLength;case $x:return r*e*2/i.components*i.byteLength;case jy:return r*e*2/i.components*i.byteLength;case Wx:return r*e*3/i.components*i.byteLength;case hi:return r*e*4/i.components*i.byteLength;case zy:return r*e*4/i.components*i.byteLength;case Ap:case Ep:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*8;case bp:case Cp:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case kg:case jg:return Math.max(r,16)*Math.max(e,8)/4;case Fg:case Ug:return Math.max(r,8)*Math.max(e,8)/2;case zg:case Hg:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*8;case Gg:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case Vg:return Math.floor((r+3)/4)*Math.floor((e+3)/4)*16;case Wg:return Math.floor((r+4)/5)*Math.floor((e+3)/4)*16;case Xg:return Math.floor((r+4)/5)*Math.floor((e+4)/5)*16;case Jg:return Math.floor((r+5)/6)*Math.floor((e+4)/5)*16;case $g:return Math.floor((r+5)/6)*Math.floor((e+5)/6)*16;case Kg:return Math.floor((r+7)/8)*Math.floor((e+4)/5)*16;case Yg:return Math.floor((r+7)/8)*Math.floor((e+5)/6)*16;case qg:return Math.floor((r+7)/8)*Math.floor((e+7)/8)*16;case Qg:return Math.floor((r+9)/10)*Math.floor((e+4)/5)*16;case Zg:return Math.floor((r+9)/10)*Math.floor((e+5)/6)*16;case ey:return Math.floor((r+9)/10)*Math.floor((e+7)/8)*16;case ty:return Math.floor((r+9)/10)*Math.floor((e+9)/10)*16;case ny:return Math.floor((r+11)/12)*Math.floor((e+9)/10)*16;case ry:return Math.floor((r+11)/12)*Math.floor((e+11)/12)*16;case Tp:case iy:case sy:return Math.ceil(r/4)*Math.ceil(e/4)*16;case Kx:case oy:return Math.ceil(r/4)*Math.ceil(e/4)*8;case ay:case ly:return Math.ceil(r/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${t} format.`)}function sB(r){switch(r){case Mo:case zx:return{byteLength:1,components:1};case Dd:case Hx:case ju:return{byteLength:2,components:1};case Fy:case ky:return{byteLength:2,components:4};case tl:case Ny:case Di:return{byteLength:4,components:1};case Gx:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${r}.`)}const oB={contain:nB,cover:rB,fill:iB,getByteLength:tx};class aB extends Hs{constructor(e=1,t=1,n=1,i={}){console.warn('THREE.WebGLMultipleRenderTargets has been deprecated and will be removed in r172. Use THREE.WebGLRenderTarget and set the "count" parameter to enable MRT.'),super(e,t,{...i,count:n}
vendor: 4,828 bytes, lines 83-146
83),this.isWebGLMultipleRenderTargets=!0}get texture(){return this.textures}}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:em}}));typeof window<"u"&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=em);/** 84 * @license 85 * Copyright 2010-2024 Three.js Authors 86 * SPDX-License-Identifier: MIT 87 */function YC(){let r=null,e=!1,t=null,n=null;function i(s,o){t(s,o),n=r.requestAnimationFrame(i)}return{start:function(){e!==!0&&t!==null&&(n=r.requestAnimationFrame(i),e=!0)},stop:function(){r.cancelAnimationFrame(n),e=!1},setAnimationLoop:function(s){t=s},setContext:function(s){r=s}}}function lB(r){const e=new WeakMap;function t(l,u){const d=l.array,p=l.usage,m=d.byteLength,y=r.createBuffer();r.bindBuffer(u,y),r.bufferData(u,d,p),l.onUploadCallback();let v;if(d instanceof Float32Array)v=r.FLOAT;else if(d instanceof Uint16Array)l.isFloat16BufferAttribute?v=r.HALF_FLOAT:v=r.UNSIGNED_SHORT;else if(d instanceof Int16Array)v=r.SHORT;else if(d instanceof Uint32Array)v=r.UNSIGNED_INT;else if(d instanceof Int32Array)v=r.INT;else if(d instanceof Int8Array)v=r.BYTE;else if(d instanceof Uint8Array)v=r.UNSIGNED_BYTE;else if(d instanceof Uint8ClampedArray)v=r.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+d);return{buffer:y,type:v,bytesPerElement:d.BYTES_PER_ELEMENT,version:l.version,size:m}}function n(l,u,d){const p=u.array,m=u.updateRanges;if(r.bindBuffer(d,l),m.length===0)r.bufferSubData(d,0,p);else{m.sort((v,S)=>v.start-S.start);let y=0;for(let v=1;v<m.length;v++){const S=m[y],E=m[v];E.start<=S.start+S.count+1?S.count=Math.max(S.count,E.start+E.count-S.start):(++y,m[y]=E)}m.length=y+1;for(let v=0,S=m.length;v<S;v++){const E=m[v];r.bufferSubData(d,E.start*p.BYTES_PER_ELEMENT,p,E.start,E.count)}u.clearUpdateRanges()}u.onUploadCallback()}function i(l){return l.isInterleavedBufferAttribute&&(l=l.data),e.get(l)}function s(l){l.isInterleavedBufferAttribute&&(l=l.data);const u=e.get(l);u&&(r.deleteBuffer(u.buffer),e.delete(l))}function o(l,u){if(l.isInterleavedBufferAttribute&&(l=l.data),l.isGLBufferAttribute){const p=e.get(l);(!p||p.version<l.version)&&e.set(l,{buffer:l.buffer,type:l.type,bytesPerElement:l.elementSize,version:l.version});return}const d=e.get(l);if(d===void 0)e.set(l,t(l,u));else if(d.version<l.version){if(d.size!==l.array.byteLength)throw new Error("THREE.WebGLAttributes: The size of the buffer attribute's array buffer does not match the original size. Resizing buffer attributes is not supported.");n(d.buffer,l,u),d.version=l.version}}return{get:i,remove:s,update:o}}var cB=`#ifdef USE_ALPHAHASH 88 if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard; 89#endif`,uB=`#ifdef USE_ALPHAHASH 90 const float ALPHA_HASH_SCALE = 0.05; 91 float hash2D( vec2 value ) { 92 return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) ); 93 } 94 float hash3D( vec3 value ) { 95 return hash2D( vec2( hash2D( value.xy ), value.z ) ); 96 } 97 float getAlphaHashThreshold( vec3 position ) { 98 float maxDeriv = max( 99 length( dFdx( position.xyz ) ), 100 length( dFdy( position.xyz ) ) 101 ); 102 float pixScale = 1.0 / ( ALPHA_HASH_SCALE * maxDeriv ); 103 vec2 pixScales = vec2( 104 exp2( floor( log2( pixScale ) ) ), 105 exp2( ceil( log2( pixScale ) ) ) 106 ); 107 vec2 alpha = vec2( 108 hash3D( floor( pixScales.x * position.xyz ) ), 109 hash3D( floor( pixScales.y * position.xyz ) ) 110 ); 111 float lerpFactor = fract( log2( pixScale ) ); 112 float x = ( 1.0 - lerpFactor ) * alpha.x + lerpFactor * alpha.y; 113 float a = min( lerpFactor, 1.0 - lerpFactor ); 114 vec3 cases = vec3( 115 x * x / ( 2.0 * a * ( 1.0 - a ) ), 116 ( x - 0.5 * a ) / ( 1.0 - a ), 117 1.0 - ( ( 1.0 - x ) * ( 1.0 - x ) / ( 2.0 * a * ( 1.0 - a ) ) ) 118 ); 119 float threshold = ( x < ( 1.0 - a ) ) 120 ? ( ( x < a ) ? cases.x : cases.y ) 121 : cases.z; 122 return clamp( threshold , 1.0e-6, 1.0 ); 123 } 124#endif`,hB=`#ifdef USE_ALPHAMAP 125 diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g; 126#endif`,dB=`#ifdef USE_ALPHAMAP 127 uniform sampler2D alphaMap; 128#endif`,fB=`#ifdef USE_ALPHATEST 129 #ifdef ALPHA_TO_COVERAGE 130 diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a ); 131 if ( diffuseColor.a == 0.0 ) discard; 132 #else 133 if ( diffuseColor.a < alphaTest ) discard; 134 #endif 135#endif`,pB=`#ifdef USE_ALPHATEST 136 uniform float alphaTest; 137#endif`,mB=`#ifdef USE_AOMAP 138 float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0; 139 reflectedLight.indirectDiffuse *= ambientOcclusion; 140 #if defined( USE_CLEARCOAT ) 141 clearcoatSpecularIndirect *= ambientOcclusion; 142 #endif 143 #if defined( USE_SHEEN ) 144 sheenSpecularIndirect *= ambientOcclusion; 145 #endif 146 #if defined( USE_ENVMAP ) && defined( STANDARD )
147 float dotNV = saturate( dot( geometryNormal, geometryViewDir ) ); 148 reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness ); 149 #endif 150#endif`,gB=`#ifdef USE_AOMAP 151 uniform sampler2D aoMap; 152 uniform float aoMapIntensity; 153#endif`,yB=`#ifdef USE_BATCHING 154 #if ! defined( GL_ANGLE_multi_draw ) 155 #define gl_DrawID _gl_DrawID 156 uniform int _gl_DrawID; 157 #endif 158 uniform highp sampler2D batchingTexture; 159 uniform highp usampler2D batchingIdTexture; 160 mat4 getBatchingMatrix( const in float i ) { 161 int size = textureSize( batchingTexture, 0 ).x; 162 int j = int( i ) * 4; 163 int x = j % size; 164 int y = j / size; 165 vec4 v1 = texelFetch( batchingTexture, ivec2( x, y ), 0 ); 166 vec4 v2 = texelFetch( batchingTexture, ivec2( x + 1, y ), 0 ); 167 vec4 v3 = texelFetch( batchingTexture, ivec2( x + 2, y ), 0 ); 168 vec4 v4 = texelFetch( batchingTexture, ivec2( x + 3, y ), 0 ); 169 return mat4( v1, v2, v3, v4 ); 170 } 171 float getIndirectIndex( const in int i ) { 172 int size = textureSize( batchingIdTexture, 0 ).x; 173 int x = i % size; 174 int y = i / size; 175 return float( texelFetch( batchingIdTexture, ivec2( x, y ), 0 ).r ); 176 } 177#endif 178#ifdef USE_BATCHING_COLOR 179 uniform sampler2D batchingColorTexture; 180 vec3 getBatchingColor( const in float i ) { 181 int size = textureSize( batchingColorTexture, 0 ).x; 182 int j = int( i ); 183 int x = j % size; 184 int y = j / size; 185 return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb; 186 } 187#endif`,vB=`#ifdef USE_BATCHING 188 mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) ); 189#endif`,_B=`vec3 transformed = vec3( position ); 190#ifdef USE_ALPHAHASH 191 vPosition = vec3( position ); 192#endif`,xB=`vec3 objectNormal = vec3( normal ); 193#ifdef USE_TANGENT 194 vec3 objectTangent = vec3( tangent.xyz ); 195#endif`,MB=`float G_BlinnPhong_Implicit( ) { 196 return 0.25; 197} 198float D_BlinnPhong( const in float shininess, const in float dotNH ) { 199 return RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess ); 200} 201vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) { 202 vec3 halfDir = normalize( lightDir + viewDir ); 203 float dotNH = saturate( dot( normal, halfDir ) ); 204 float dotVH = saturate( dot( viewDir, halfDir ) ); 205 vec3 F = F_Schlick( specularColor, 1.0, dotVH ); 206 float G = G_BlinnPhong_Implicit( ); 207 float D = D_BlinnPhong( shininess, dotNH ); 208 return F * ( G * D ); 209} // validated`,SB=`#ifdef USE_IRIDESCENCE 210 const mat3 XYZ_TO_REC709 = mat3( 211 3.2404542, -0.9692660, 0.0556434, 212 -1.5371385, 1.8760108, -0.2040259, 213 -0.4985314, 0.0415560, 1.0572252 214 ); 215 vec3 Fresnel0ToIor( vec3 fresnel0 ) { 216 vec3 sqrtF0 = sqrt( fresnel0 ); 217 return ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 ); 218 } 219 vec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) { 220 return pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) ); 221 } 222 float IorToFresnel0( float transmittedIor, float incidentIor ) { 223 return pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor )); 224 } 225 vec3 evalSensitivity( float OPD, vec3 shift ) { 226 float phase = 2.0 * PI * OPD * 1.0e-9; 227 vec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 ); 228 vec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 ); 229 vec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 ); 230 vec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var ); 231 xyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) ); 232 xyz /= 1.0685e-7; 233 vec3 rgb = XYZ_TO_REC709 * xyz; 234 return rgb; 235 } 236 vec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) { 237 vec3 I; 238 float iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) ); 239 float sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) ); 240 float cosTheta2Sq = 1.0 - sinTheta2Sq; 241 if ( cosTheta2Sq < 0.0 ) { 242 return vec3( 1.0 ); 243 } 244 float cosTheta2 = sqrt( cosTheta2Sq ); 245 float R0 = IorToFresnel0( iridescenceIOR, outsideIOR );
246 float R12 = F_Schlick( R0, 1.0, cosTheta1 ); 247 float T121 = 1.0 - R12; 248 float phi12 = 0.0; 249 if ( iridescenceIOR < outsideIOR ) phi12 = PI; 250 float phi21 = PI - phi12; 251 vec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) ); vec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR ); 252 vec3 R23 = F_Schlick( R1, 1.0, cosTheta2 ); 253 vec3 phi23 = vec3( 0.0 ); 254 if ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI; 255 if ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI; 256 if ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI; 257 float OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2; 258 vec3 phi = vec3( phi21 ) + phi23; 259 vec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 ); 260 vec3 r123 = sqrt( R123 ); 261 vec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 ); 262 vec3 C0 = R12 + Rs; 263 I = C0; 264 vec3 Cm = Rs - T121; 265 for ( int m = 1; m <= 2; ++ m ) { 266 Cm *= r123; 267 vec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi ); 268 I += Cm * Sm; 269 } 270 return max( I, vec3( 0.0 ) ); 271 } 272#endif`,wB=`#ifdef USE_BUMPMAP 273 uniform sampler2D bumpMap; 274 uniform float bumpScale; 275 vec2 dHdxy_fwd() { 276 vec2 dSTdx = dFdx( vBumpMapUv ); 277 vec2 dSTdy = dFdy( vBumpMapUv ); 278 float Hll = bumpScale * texture2D( bumpMap, vBumpMapUv ).x; 279 float dBx = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdx ).x - Hll; 280 float dBy = bumpScale * texture2D( bumpMap, vBumpMapUv + dSTdy ).x - Hll; 281 return vec2( dBx, dBy ); 282 } 283 vec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) { 284 vec3 vSigmaX = normalize( dFdx( surf_pos.xyz ) ); 285 vec3 vSigmaY = normalize( dFdy( surf_pos.xyz ) ); 286 vec3 vN = surf_norm; 287 vec3 R1 = cross( vSigmaY, vN ); 288 vec3 R2 = cross( vN, vSigmaX ); 289 float fDet = dot( vSigmaX, R1 ) * faceDirection; 290 vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 ); 291 return normalize( abs( fDet ) * surf_norm - vGrad ); 292 } 293#endif`,AB=`#if NUM_CLIPPING_PLANES > 0 294 vec4 plane; 295 #ifdef ALPHA_TO_COVERAGE 296 float distanceToPlane, distanceGradient; 297 float clipOpacity = 1.0; 298 #pragma unroll_loop_start 299 for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 300 plane = clippingPlanes[ i ]; 301 distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; 302 distanceGradient = fwidth( distanceToPlane ) / 2.0; 303 clipOpacity *= smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); 304 if ( clipOpacity == 0.0 ) discard; 305 } 306 #pragma unroll_loop_end 307 #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 308 float unionClipOpacity = 1.0; 309 #pragma unroll_loop_start 310 for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 311 plane = clippingPlanes[ i ]; 312 distanceToPlane = - dot( vClipPosition, plane.xyz ) + plane.w; 313 distanceGradient = fwidth( distanceToPlane ) / 2.0; 314 unionClipOpacity *= 1.0 - smoothstep( - distanceGradient, distanceGradient, distanceToPlane ); 315 } 316 #pragma unroll_loop_end 317 clipOpacity *= 1.0 - unionClipOpacity; 318 #endif 319 diffuseColor.a *= clipOpacity; 320 if ( diffuseColor.a == 0.0 ) discard; 321 #else 322 #pragma unroll_loop_start 323 for ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) { 324 plane = clippingPlanes[ i ]; 325 if ( dot( vClipPosition, plane.xyz ) > plane.w ) discard; 326 } 327 #pragma unroll_loop_end 328 #if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES 329 bool clipped = true; 330 #pragma unroll_loop_start 331 for ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) { 332 plane = clippingPlanes[ i ]; 333 clipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped; 334 } 335 #pragma unroll_loop_end 336 if ( clipped ) discard; 337 #endif 338 #endif 339#endif`,EB=`#if NUM_CLIPPING_PLANES > 0 340 varying vec3 vClipPosition; 341 uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ]; 342#endif`,bB=`#if NUM_CLIPPING_PLANES > 0 343 varying vec3 vClipPosition; 344#endif`,CB=`#if NUM_CLIPPING_PLANES > 0 345 vClipPosition = - mvPosition.xyz; 346#endif`,TB=`#if defined( USE_COLOR_ALPHA ) 347 diffuseColor *= vColor; 348#elif defined( USE_COLOR ) 349 diffuseColor.rgb *= vColor; 350#endif`,IB=`#if defined( USE_COLOR_ALPHA ) 351 varying vec4 vColor; 352#elif defined( USE_COLOR ) 353 varying vec3 vColor; 354#endif`,PB=`#if defined( USE_COLOR_ALPHA ) 355 varying vec4 vColor; 356#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) 357 varying vec3 vColor; 358#endif`,RB=`#if defined( USE_COLOR_ALPHA ) 359 vColor = vec4( 1.0 ); 360#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR ) 361 vColor = vec3( 1.0 ); 362#endif 363#ifdef USE_COLOR 364 vColor *= color; 365#endif 366#ifdef USE_INSTANCING_COLOR 367 vColor.xyz *= instanceColor.xyz; 368#endif 369#ifdef USE_BATCHING_COLOR 370 vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) ); 371 vColor.xyz *= batchingColor.xyz; 372#endif`,BB=`#define PI 3.141592653589793 373#define PI2 6.283185307179586 374#define PI_HALF 1.5707963267948966 375#define RECIPROCAL_PI 0.3183098861837907 376#define RECIPROCAL_PI2 0.15915494309189535 377#define EPSILON 1e-6 378#ifndef saturate 379#define saturate( a ) clamp( a, 0.0, 1.0 ) 380#endif 381#define whiteComplement( a ) ( 1.0 - saturate( a ) ) 382float pow2( const in float x ) { return x*x; } 383vec3 pow2( const in vec3 x ) { return x*x; } 384float pow3( const in float x ) { return x*x*x; } 385float pow4( const in float x ) { float x2 = x*x; return x2*x2; } 386float max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); } 387float average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); } 388highp float rand( const in vec2 uv ) { 389 const highp float a = 12.9898, b = 78.233, c = 43758.5453; 390 highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI ); 391 return fract( sin( sn ) * c ); 392} 393#ifdef HIGH_PRECISION 394 float precisionSafeLength( vec3 v ) { return length( v ); } 395#else 396 float precisionSafeLength( vec3 v ) { 397 float maxComponent = max3( abs( v ) ); 398 return length( v / maxComponent ) * maxComponent; 399 } 400#endif 401struct IncidentLight { 402 vec3 color; 403 vec3 direction; 404 bool visible; 405}; 406struct ReflectedLight { 407 vec3 directDiffuse; 408 vec3 directSpecular; 409 vec3 indirectDiffuse; 410 vec3 indirectSpecular; 411}; 412#ifdef USE_ALPHAHASH 413 varying vec3 vPosition; 414#endif 415vec3 transformDirection( in vec3 dir, in mat4 matrix ) { 416 return normalize( ( matrix * vec4( dir, 0.0 ) ).xyz ); 417} 418vec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) { 419 return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz ); 420} 421mat3 transposeMat3( const in mat3 m ) { 422 mat3 tmp; 423 tmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x ); 424 tmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y ); 425 tmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z ); 426 return tmp; 427} 428bool isPerspectiveMatrix( mat4 m ) { 429 return m[ 2 ][ 3 ] == - 1.0; 430} 431vec2 equirectUv( in vec3 dir ) { 432 float u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5; 433 float v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5; 434 return vec2( u, v ); 435}
436vec3 BRDF_Lambert( const in vec3 diffuseColor ) { 437 return RECIPROCAL_PI * diffuseColor; 438} 439vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) { 440 float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); 441 return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); 442} 443float F_Schlick( const in float f0, const in float f90, const in float dotVH ) { 444 float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH ); 445 return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel ); 446} // validated`,OB=`#ifdef ENVMAP_TYPE_CUBE_UV 447 #define cubeUV_minMipLevel 4.0 448 #define cubeUV_minTileSize 16.0 449 float getFace( vec3 direction ) { 450 vec3 absDirection = abs( direction ); 451 float face = - 1.0; 452 if ( absDirection.x > absDirection.z ) { 453 if ( absDirection.x > absDirection.y ) 454 face = direction.x > 0.0 ? 0.0 : 3.0; 455 else 456 face = direction.y > 0.0 ? 1.0 : 4.0; 457 } else { 458 if ( absDirection.z > absDirection.y ) 459 face = direction.z > 0.0 ? 2.0 : 5.0; 460 else 461 face = direction.y > 0.0 ? 1.0 : 4.0; 462 } 463 return face; 464 } 465 vec2 getUV( vec3 direction, float face ) { 466 vec2 uv; 467 if ( face == 0.0 ) { 468 uv = vec2( direction.z, direction.y ) / abs( direction.x ); 469 } else if ( face == 1.0 ) { 470 uv = vec2( - direction.x, - direction.z ) / abs( direction.y ); 471 } else if ( face == 2.0 ) { 472 uv = vec2( - direction.x, direction.y ) / abs( direction.z ); 473 } else if ( face == 3.0 ) { 474 uv = vec2( - direction.z, direction.y ) / abs( direction.x ); 475 } else if ( face == 4.0 ) { 476 uv = vec2( - direction.x, direction.z ) / abs( direction.y ); 477 } else { 478 uv = vec2( direction.x, direction.y ) / abs( direction.z ); 479 } 480 return 0.5 * ( uv + 1.0 ); 481 } 482 vec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) { 483 float face = getFace( direction ); 484 float filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 ); 485 mipInt = max( mipInt, cubeUV_minMipLevel ); 486 float faceSize = exp2( mipInt ); 487 highp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0; 488 if ( face > 2.0 ) { 489 uv.y += faceSize; 490 face -= 3.0; 491 } 492 uv.x += face * faceSize; 493 uv.x += filterInt * 3.0 * cubeUV_minTileSize; 494 uv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize ); 495 uv.x *= CUBEUV_TEXEL_WIDTH; 496 uv.y *= CUBEUV_TEXEL_HEIGHT; 497 #ifdef texture2DGradEXT 498 return texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb; 499 #else 500 return texture2D( envMap, uv ).rgb; 501 #endif 502 } 503 #define cubeUV_r0 1.0 504 #define cubeUV_m0 - 2.0 505 #define cubeUV_r1 0.8 506 #define cubeUV_m1 - 1.0 507 #define cubeUV_r4 0.4 508 #define cubeUV_m4 2.0 509 #define cubeUV_r5 0.305 510 #define cubeUV_m5 3.0 511 #define cubeUV_r6 0.21 512 #define cubeUV_m6 4.0 513 float roughnessToMip( float roughness ) { 514 float mip = 0.0; 515 if ( roughness >= cubeUV_r1 ) { 516 mip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0; 517 } else if ( roughness >= cubeUV_r4 ) { 518 mip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1; 519 } else if ( roughness >= cubeUV_r5 ) { 520 mip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4; 521 } else if ( roughness >= cubeUV_r6 ) { 522 mip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5; 523 } else { 524 mip = - 2.0 * log2( 1.16 * roughness ); } 525 return mip; 526 } 527 vec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) { 528 float mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP ); 529 float mipF = fract( mip ); 530 float mipInt = floor( mip ); 531 vec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt ); 532 if ( mipF == 0.0 ) { 533 return vec4( color0, 1.0 ); 534 } else { 535 vec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 ); 536 return vec4( mix( color0, color1, mipF ), 1.0 ); 537 } 538 } 539#endif`,DB=`vec3 transformedNormal = objectNormal; 540#ifdef USE_TANGENT 541 vec3 transformedTangent = objectTangent; 542#endif 543#ifdef USE_BATCHING 544 mat3 bm = mat3( batchingMatrix ); 545 transformedNormal /= vec3( dot( bm[ 0 ], bm[ 0 ] ), dot( bm[ 1 ], bm[ 1 ] ), dot( bm[ 2 ], bm[ 2 ] ) ); 546 transformedNormal = bm * transformedNormal; 547 #ifdef USE_TANGENT 548 transformedTangent = bm * transformedTangent; 549 #endif 550#endif 551#ifdef USE_INSTANCING 552 mat3 im = mat3( instanceMatrix ); 553 transformedNormal /= vec3( dot( im[ 0 ], im[ 0 ] ), dot( im[ 1 ], im[ 1 ] ), dot( im[ 2 ], im[ 2 ] ) ); 554 transformedNormal = im * transformedNormal; 555 #ifdef USE_TANGENT 556 transformedTangent = im * transformedTangent; 557 #endif 558#endif 559transformedNormal = normalMatrix * transformedNormal; 560#ifdef FLIP_SIDED 561 transformedNormal = - transformedNormal; 562#endif 563#ifdef USE_TANGENT 564 transformedTangent = ( modelViewMatrix * vec4( transformedTangent, 0.0 ) ).xyz; 565 #ifdef FLIP_SIDED 566 transformedTangent = - transformedTangent; 567 #endif 568#endif`,LB=`#ifdef USE_DISPLACEMENTMAP 569 uniform sampler2D displacementMap; 570 uniform float displacementScale; 571 uniform float displacementBias; 572#endif`,NB=`#ifdef USE_DISPLACEMENTMAP 573 transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + dis
573placementBias ); 574#endif`,FB=`#ifdef USE_EMISSIVEMAP 575 vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv ); 576 #ifdef DECODE_VIDEO_TEXTURE_EMISSIVE 577 emissiveColor = sRGBTransferEOTF( emissiveColor ); 578 #endif 579 totalEmissiveRadiance *= emissiveColor.rgb; 580#endif`,kB=`#ifdef USE_EMISSIVEMAP 581 uniform sampler2D emissiveMap; 582#endif`,UB="gl_FragColor = linearToOutputTexel( gl_FragColor );",jB=`vec4 LinearTransferOETF( in vec4 value ) { 583 return value; 584} 585vec4 sRGBTransferEOTF( in vec4 value ) { 586 return 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 ); 587} 588vec4 sRGBTransferOETF( in vec4 value ) { 589 return 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 ); 590}`,zB=`#ifdef USE_ENVMAP 591 #ifdef ENV_WORLDPOS 592 vec3 cameraToFrag; 593 if ( isOrthographic ) { 594 cameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); 595 } else { 596 cameraToFrag = normalize( vWorldPosition - cameraPosition ); 597 } 598 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 599 #ifdef ENVMAP_MODE_REFLECTION 600 vec3 reflectVec = reflect( cameraToFrag, worldNormal ); 601 #else 602 vec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio ); 603 #endif 604 #else 605 vec3 reflectVec = vReflect; 606 #endif 607 #ifdef ENVMAP_TYPE_CUBE 608 vec4 envColor = textureCube( envMap, envMapRotation * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) ); 609 #else 610 vec4 envColor = vec4( 0.0 ); 611 #endif 612 #ifdef ENVMAP_BLENDING_MULTIPLY 613 outgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity ); 614 #elif defined( ENVMAP_BLENDING_MIX ) 615 outgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity ); 616 #elif defined( ENVMAP_BLENDING_ADD ) 617 outgoingLight += envColor.xyz * specularStrength * reflectivity; 618 #endif 619#endif`,HB=`#ifdef USE_ENVMAP 620 uniform float envMapIntensity; 621 uniform float flipEnvMap; 622 uniform mat3 envMapRotation; 623 #ifdef ENVMAP_TYPE_CUBE 624 uniform samplerCube envMap; 625 #else 626 uniform sampler2D envMap; 627 #endif 628 629#endif`,GB=`#ifdef USE_ENVMAP 630 uniform float reflectivity; 631 #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) 632 #define ENV_WORLDPOS 633 #endif 634 #ifdef ENV_WORLDPOS 635 varying vec3 vWorldPosition; 636 uniform float refractionRatio; 637 #else 638 varying vec3 vReflect; 639 #endif 640#endif`,VB=`#ifdef USE_ENVMAP 641 #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT ) 642 #define ENV_WORLDPOS 643 #endif 644 #ifdef ENV_WORLDPOS 645 646 varying vec3 vWorldPosition; 647 #else 648 varying vec3 vReflect; 649 uniform float refractionRatio; 650 #endif 651#endif`,WB=`#ifdef USE_ENVMAP 652 #ifdef ENV_WORLDPOS 653 vWorldPosition = worldPosition.xyz; 654 #else 655 vec3 cameraToVertex; 656 if ( isOrthographic ) { 657 cameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) ); 658 } else {
659 cameraToVertex = normalize( worldPosition.xyz - cameraPosition ); 660 } 661 vec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 662 #ifdef ENVMAP_MODE_REFLECTION 663 vReflect = reflect( cameraToVertex, worldNormal ); 664 #else 665 vReflect = refract( cameraToVertex, worldNormal, refractionRatio ); 666 #endif 667 #endif 668#endif`,XB=`#ifdef USE_FOG 669 vFogDepth = - mvPosition.z; 670#endif`,JB=`#ifdef USE_FOG 671 varying float vFogDepth; 672#endif`,$B=`#ifdef USE_FOG 673 #ifdef FOG_EXP2 674 float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth ); 675 #else 676 float fogFactor = smoothstep( fogNear, fogFar, vFogDepth ); 677 #endif 678 gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor ); 679#endif`,KB=`#ifdef USE_FOG 680 uniform vec3 fogColor; 681 varying float vFogDepth; 682 #ifdef FOG_EXP2 683 uniform float fogDensity; 684 #else 685 uniform float fogNear; 686 uniform float fogFar; 687 #endif 688#endif`,YB=`#ifdef USE_GRADIENTMAP 689 uniform sampler2D gradientMap; 690#endif 691vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) { 692 float dotNL = dot( normal, lightDirection ); 693 vec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 ); 694 #ifdef USE_GRADIENTMAP 695 return vec3( texture2D( gradientMap, coord ).r ); 696 #else 697 vec2 fw = fwidth( coord ) * 0.5; 698 return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) ); 699 #endif 700}`,qB=`#ifdef USE_LIGHTMAP 701 uniform sampler2D lightMap; 702 uniform float lightMapIntensity; 703#endif`,QB=`LambertMaterial material; 704material.diffuseColor = diffuseColor.rgb; 705material.specularStrength = specularStrength;`,ZB=`varying vec3 vViewPosition; 706struct LambertMaterial { 707 vec3 diffuseColor; 708 float specularStrength; 709}; 710void RE_Direct_Lambert( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { 711 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 712 vec3 irradiance = dotNL * directLight.color; 713 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 714} 715void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in LambertMaterial material, inout ReflectedLight reflectedLight ) { 716 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 717} 718#define RE_Direct RE_Direct_Lambert 719#define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`,eO=`uniform bool receiveShadow; 720uniform vec3 ambientLightColor; 721#if defined( USE_LIGHT_PROBES ) 722 uniform vec3 lightProbe[ 9 ]; 723#endif 724vec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) { 725 float x = normal.x, y = normal.y, z = normal.z; 726 vec3 result = shCoefficients[ 0 ] * 0.886227; 727 result += shCoefficients[ 1 ] * 2.0 * 0.511664 * y; 728 result += shCoefficients[ 2 ] * 2.0 * 0.511664 * z; 729 result += shCoefficients[ 3 ] * 2.0 * 0.511664 * x; 730 result += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y; 731 result += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z; 732 result += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 ); 733 result += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z; 734 result += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y ); 735 return result; 736} 737vec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) { 738 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 739 vec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe ); 740 return irradiance; 741} 742vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { 743 vec3 irradiance = ambientLightColor; 744 return irradiance; 745} 746float getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) { 747 float distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 ); 748 if ( cutoffDistance > 0.0 ) { 749 distanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) ); 750 } 751 return distanceFalloff; 752} 753float getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) { 754 return smoothstep( coneCosine, penumbraCosine, angleCosine ); 755} 756#if NUM_DIR_LIGHTS > 0 757 struct DirectionalLight { 758 vec3 direction; 759 vec3 color; 760 }; 761 uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ]; 762 void getDirectionalLightInfo( const in DirectionalLight directionalLight, out IncidentLight light ) { 763 light.color = directionalLight.color; 764 light.direction = directionalLight.direction; 765 light.visible = true; 766 } 767#endif 768#if NUM_POINT_LIGHTS > 0 769 struct PointLight { 770 vec3 position; 771 vec3 color; 772 float distance; 773 float decay; 774 }; 775 uniform PointLight pointLights[ NUM_POINT_LIGHTS ]; 776 void getPointLightInfo( const in PointLight pointLight, const in vec3 geometryPosition, out IncidentLight light ) { 777 vec3 lVector = pointLight.position - geometryPosition; 778 light.direction = normalize( lVector ); 779 float lightDistance = length( lVector ); 780 light.color = pointLight.color; 781 light.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay ); 782 light.visible = ( light.color != vec3( 0.0 ) ); 783 } 784#endif
785#if NUM_SPOT_LIGHTS > 0 786 struct SpotLight { 787 vec3 position; 788 vec3 direction; 789 vec3 color; 790 float distance; 791 float decay; 792 float coneCos; 793 float penumbraCos; 794 }; 795 uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ]; 796 void getSpotLightInfo( const in SpotLight spotLight, const in vec3 geometryPosition, out IncidentLight light ) { 797 vec3 lVector = spotLight.position - geometryPosition; 798 light.direction = normalize( lVector ); 799 float angleCos = dot( light.direction, spotLight.direction ); 800 float spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos ); 801 if ( spotAttenuation > 0.0 ) { 802 float lightDistance = length( lVector ); 803 light.color = spotLight.color * spotAttenuation; 804 light.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay ); 805 light.visible = ( light.color != vec3( 0.0 ) ); 806 } else { 807 light.color = vec3( 0.0 ); 808 light.visible = false; 809 } 810 } 811#endif 812#if NUM_RECT_AREA_LIGHTS > 0 813 struct RectAreaLight { 814 vec3 color; 815 vec3 position; 816 vec3 halfWidth; 817 vec3 halfHeight; 818 }; 819 uniform sampler2D ltc_1; uniform sampler2D ltc_2; 820 uniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ]; 821#endif 822#if NUM_HEMI_LIGHTS > 0 823 struct HemisphereLight { 824 vec3 direction; 825 vec3 skyColor; 826 vec3 groundColor; 827 }; 828 uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ]; 829 vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) { 830 float dotNL = dot( normal, hemiLight.direction ); 831 float hemiDiffuseWeight = 0.5 * dotNL + 0.5; 832 vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight ); 833 return irradiance; 834 } 835#endif`,tO=`#ifdef USE_ENVMAP 836 vec3 getIBLIrradiance( const in vec3 normal ) { 837 #ifdef ENVMAP_TYPE_CUBE_UV 838 vec3 worldNormal = inverseTransformDirection( normal, viewMatrix ); 839 vec4 envMapColor = textureCubeUV( envMap, envMapRotation * worldNormal, 1.0 ); 840 return PI * envMapColor.rgb * envMapIntensity; 841 #else 842 return vec3( 0.0 ); 843 #endif 844 } 845 vec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) { 846 #ifdef ENVMAP_TYPE_CUBE_UV 847 vec3 reflectVec = reflect( - viewDir, normal ); 848 reflectVec = normalize( mix( reflectVec, normal, roughness * roughness) ); 849 reflectVec = inverseTransformDirection( reflectVec, viewMatrix ); 850 vec4 envMapColor = textureCubeUV( envMap, envMapRotation * reflectVec, roughness ); 851 return envMapColor.rgb * envMapIntensity; 852 #else 853 return vec3( 0.0 ); 854 #endif 855 } 856 #ifdef USE_ANISOTROPY 857 vec3 getIBLAnisotropyRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in vec3 bitangent, const in float anisotropy ) { 858 #ifdef ENVMAP_TYPE_CUBE_UV 859 vec3 bentNormal = cross( bitangent, viewDir ); 860 bentNormal = normalize( cross( bentNormal, bitangent ) ); 861 bentNormal = normalize( mix( bentNormal, normal, pow2( pow2( 1.0 - anisotropy * ( 1.0 - roughness ) ) ) ) ); 862 return getIBLRadiance( viewDir, bentNormal, roughness ); 863 #else 864 return vec3( 0.0 ); 865 #endif 866 } 867 #endif 868#endif`,nO=`ToonMaterial material; 869material.diffuseColor = diffuseColor.rgb;`,rO=`varying vec3 vViewPosition; 870struct ToonMaterial { 871 vec3 diffuseColor; 872}; 873void RE_Direct_Toon( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { 874 vec3 irradiance = getGradientIrradiance( geometryNormal, directLight.direction ) * directLight.color; 875 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 876} 877void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in ToonMaterial material, inout ReflectedLight reflectedLight ) { 878 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 879} 880#define RE_Direct RE_Direct_Toon 881#define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`,iO=`BlinnPhongMaterial material; 882material.diffuseColor = diffuseColor.rgb; 883material.specularColor = specular; 884material.specularShininess = shininess; 885material.specularStrength = specularStrength;`,sO=`varying vec3 vViewPosition; 886struct BlinnPhongMaterial { 887 vec3 diffuseColor; 888 vec3 specularColor; 889 float specularShininess; 890 float specularStrength; 891}; 892void RE_Direct_BlinnPhong( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {
893 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 894 vec3 irradiance = dotNL * directLight.color; 895 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 896 reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometryViewDir, geometryNormal, material.specularColor, material.specularShininess ) * material.specularStrength; 897} 898void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) { 899 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 900} 901#define RE_Direct RE_Direct_BlinnPhong 902#define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`,oO=`PhysicalMaterial material; 903material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor ); 904vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) ); 905float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z ); 906material.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness; 907material.roughness = min( material.roughness, 1.0 ); 908#ifdef IOR 909 material.ior = ior; 910 #ifdef USE_SPECULAR 911 float specularIntensityFactor = specularIntensity; 912 vec3 specularColorFactor = specularColor; 913 #ifdef USE_SPECULAR_COLORMAP 914 specularColorFactor *= texture2D( specularColorMap, vSpecularColorMapUv ).rgb; 915 #endif 916 #ifdef USE_SPECULAR_INTENSITYMAP 917 specularIntensityFactor *= texture2D( specularIntensityMap, vSpecularIntensityMapUv ).a; 918 #endif 919 material.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor ); 920 #else 921 float specularIntensityFactor = 1.0; 922 vec3 specularColorFactor = vec3( 1.0 ); 923 material.specularF90 = 1.0; 924 #endif 925 material.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor ); 926#else 927 material.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor ); 928 material.specularF90 = 1.0; 929#endif 930#ifdef USE_CLEARCOAT 931 material.clearcoat = clearcoat; 932 material.clearcoatRoughness = clearcoatRoughness; 933 material.clearcoatF0 = vec3( 0.04 ); 934 material.clearcoatF90 = 1.0; 935 #ifdef USE_CLEARCOATMAP 936 material.clearcoat *= texture2D( clearcoatMap, vClearcoatMapUv ).x; 937 #endif 938 #ifdef USE_CLEARCOAT_ROUGHNESSMAP 939 material.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vClearcoatRoughnessMapUv ).y; 940 #endif 941 material.clearcoat = saturate( material.clearcoat ); material.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 ); 942 material.clearcoatRoughness += geometryRoughness; 943 material.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 ); 944#endif 945#ifdef USE_DISPERSION 946 material.dispersion = dispersion; 947#endif 948#ifdef USE_IRIDESCENCE 949 material.iridescence = iridescence; 950 material.iridescenceIOR = iridescenceIOR; 951 #ifdef USE_IRIDESCENCEMAP 952 material.iridescence *= texture2D( iridescenceMap, vIridescenceMapUv ).r; 953 #endif 954 #ifdef USE_IRIDESCENCE_THICKNESSMAP 955 material.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vIridescenceThicknessMapUv ).g + iridescenceThicknessMinimum; 956 #else 957 material.iridescenceThickness = iridescenceThicknessMaximum; 958 #endif 959#endif 960#ifdef USE_SHEEN 961 material.sheenColor = sheenColor; 962 #ifdef USE_SHEEN_COLORMAP 963 material.sheenColor *= texture2D( sheenColorMap, vSheenColorMapUv ).rgb; 964 #endif 965 material.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 ); 966 #ifdef USE_SHEEN_ROUGHNESSMAP 967 material.sheenRoughness *= texture2D( sheenRoughnessMap, vSheenRoughnessMapUv ).a; 968 #endif 969#endif 970#ifdef USE_ANISOTROPY 971 #ifdef USE_ANISOTROPYMAP 972 mat2 anisotropyMat = mat2( anisotropyVector.x, anisotropyVector.y, - anisotropyVector.y, anisotropyVector.x ); 973 vec3 anisotropyPolar = texture2D( anisotropyMap, vAnisotropyMapUv ).rgb; 974 vec2 anisotropyV = anisotropyMat * normalize( 2.0 * anisotropyPolar.rg - vec2( 1.0 ) ) * anisotropyPolar.b; 975 #else 976 vec2 anisotropyV = anisotropyVector; 977 #endif 978 material.anisotropy = length( anisotropyV ); 979 if( material.anisotropy == 0.0 ) { 980 anisotropyV = vec2( 1.0, 0.0 ); 981 } else { 982 anisotropyV /= material.anisotropy; 983 material.anisotropy = saturate( material.anisotropy ); 984 } 985 material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );
986 material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y; 987 material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y; 988#endif`,aO
vendor: 14,687 bytes, lines 988-1289
988=`struct PhysicalMaterial { 989 vec3 diffuseColor; 990 float roughness; 991 vec3 specularColor; 992 float specularF90; 993 float dispersion; 994 #ifdef USE_CLEARCOAT 995 float clearcoat; 996 float clearcoatRoughness; 997 vec3 clearcoatF0; 998 float clearcoatF90; 999 #endif 1000 #ifdef USE_IRIDESCENCE 1001 float iridescence; 1002 float iridescenceIOR; 1003 float iridescenceThickness; 1004 vec3 iridescenceFresnel; 1005 vec3 iridescenceF0; 1006 #endif 1007 #ifdef USE_SHEEN 1008 vec3 sheenColor; 1009 float sheenRoughness; 1010 #endif 1011 #ifdef IOR 1012 float ior; 1013 #endif 1014 #ifdef USE_TRANSMISSION 1015 float transmission; 1016 float transmissionAlpha; 1017 float thickness; 1018 float attenuationDistance; 1019 vec3 attenuationColor; 1020 #endif 1021 #ifdef USE_ANISOTROPY 1022 float anisotropy; 1023 float alphaT; 1024 vec3 anisotropyT; 1025 vec3 anisotropyB; 1026 #endif 1027}; 1028vec3 clearcoatSpecularDirect = vec3( 0.0 ); 1029vec3 clearcoatSpecularIndirect = vec3( 0.0 ); 1030vec3 sheenSpecularDirect = vec3( 0.0 ); 1031vec3 sheenSpecularIndirect = vec3(0.0 ); 1032vec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) { 1033 float x = clamp( 1.0 - dotVH, 0.0, 1.0 ); 1034 float x2 = x * x; 1035 float x5 = clamp( x * x2 * x2, 0.0, 0.9999 ); 1036 return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 ); 1037} 1038float V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) { 1039 float a2 = pow2( alpha ); 1040 float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) ); 1041 float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) ); 1042 return 0.5 / max( gv + gl, EPSILON ); 1043} 1044float D_GGX( const in float alpha, const in float dotNH ) { 1045 float a2 = pow2( alpha ); 1046 float denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0; 1047 return RECIPROCAL_PI * a2 / pow2( denom ); 1048} 1049#ifdef USE_ANISOTROPY 1050 float V_GGX_SmithCorrelated_Anisotropic( const in float alphaT, const in float alphaB, const in float dotTV, const in float dotBV, const in float dotTL, const in float dotBL, const in float dotNV, const in float dotNL ) { 1051 float gv = dotNL * length( vec3( alphaT * dotTV, alphaB * dotBV, dotNV ) ); 1052 float gl = dotNV * length( vec3( alphaT * dotTL, alphaB * dotBL, dotNL ) ); 1053 float v = 0.5 / ( gv + gl ); 1054 return saturate(v); 1055 } 1056 float D_GGX_Anisotropic( const in float alphaT, const in float alphaB, const in float dotNH, const in float dotTH, const in float dotBH ) { 1057 float a2 = alphaT * alphaB; 1058 highp vec3 v = vec3( alphaB * dotTH, alphaT * dotBH, a2 * dotNH ); 1059 highp float v2 = dot( v, v ); 1060 float w2 = a2 / v2; 1061 return RECIPROCAL_PI * a2 * pow2 ( w2 ); 1062 } 1063#endif 1064#ifdef USE_CLEARCOAT 1065 vec3 BRDF_GGX_Clearcoat( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material) { 1066 vec3 f0 = material.clearcoatF0; 1067 float f90 = material.clearcoatF90; 1068 float roughness = material.clearcoatRoughness; 1069 float alpha = pow2( roughness ); 1070 vec3 halfDir = normalize( lightDir + viewDir ); 1071 float dotNL = saturate( dot( normal, lightDir ) ); 1072 float dotNV = saturate( dot( normal, viewDir ) ); 1073 float dotNH = saturate( dot( normal, halfDir ) ); 1074 float dotVH = saturate( dot( viewDir, halfDir ) ); 1075 vec3 F = F_Schlick( f0, f90, dotVH ); 1076 float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); 1077 float D = D_GGX( alpha, dotNH ); 1078 return F * ( V * D ); 1079 } 1080#endif 1081vec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in PhysicalMaterial material ) { 1082 vec3 f0 = material.specularColor; 1083 float f90 = material.specularF90; 1084 float roughness = material.roughness; 1085 float alpha = pow2( roughness ); 1086 vec3 halfDir = normalize( lightDir + viewDir ); 1087 float dotNL = saturate( dot( normal, lightDir ) ); 1088 float dotNV = saturate( dot( normal, viewDir ) ); 1089 float dotNH = saturate( dot( normal, halfDir ) ); 1090 float dotVH = saturate( dot( viewDir, halfDir ) ); 1091 vec3 F = F_Schlick( f0, f90, dotVH ); 1092 #ifdef USE_IRIDESCENCE 1093 F = mix( F, material.iridescenceFresnel, material.iridescence ); 1094 #endif 1095 #ifdef USE_ANISOTROPY 1096 float dotTL = dot( material.anisotropyT, lightDir ); 1097 float dotTV = dot( material.anisotropyT, viewDir ); 1098 float dotTH = dot( material.anisotropyT, halfDir ); 1099 float dotBL = dot( material.anisotropyB, lightDir ); 1100 float dotBV = dot( material.anisotropyB, viewDir ); 1101 float dotBH = dot( material.anisotropyB, halfDir ); 1102 float V = V_GGX_SmithCorrelated_Anisotropic( material.alphaT, alpha, dotTV, dotBV, dotTL, dotBL, dotNV, dotNL ); 1103 float D = D_GGX_Anisotropic( material.alphaT, alpha, dotNH, dotTH, dotBH ); 1104 #else 1105 float V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV ); 1106 float D = D_GGX( alpha, dotNH ); 1107 #endif 1108 return F * ( V * D ); 1109} 1110vec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) { 1111 const float LUT_SIZE = 64.0; 1112 const float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE; 1113 const float LUT_BIAS = 0.5 / LUT_SIZE; 1114 float dotNV = saturate( dot( N, V ) ); 1115 vec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) ); 1116 uv = uv * LUT_SCALE + LUT_BIAS; 1117 return uv; 1118} 1119float LTC_ClippedSphereFormFactor( const in vec3 f ) { 1120 float l = length( f ); 1121 return max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 ); 1122} 1123vec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) { 1124 float x = dot( v1, v2 ); 1125 float y = abs( x ); 1126 float a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y; 1127 float b = 3.4175940 + ( 4.1616724 + y ) * y; 1128 float v = a / b; 1129 float theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v; 1130 return cross( v1, v2 ) * theta_sintheta; 1131} 1132vec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) { 1133 vec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ]; 1134 vec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ]; 1135 vec3 lightNormal = cross( v1, v2 ); 1136 if( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 ); 1137 vec3 T1, T2; 1138 T1 = normalize( V - N * dot( V, N ) ); 1139 T2 = - cross( N, T1 ); 1140 mat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) ); 1141 vec3 coords[ 4 ]; 1142 coords[ 0 ] = mat * ( rectCoords[ 0 ] - P ); 1143 coords[ 1 ] = mat * ( rectCoords[ 1 ] - P ); 1144 coords[ 2 ] = mat * ( rectCoords[ 2 ] - P ); 1145 coords[ 3 ] = mat * ( rectCoords[ 3 ] - P ); 1146 coords[ 0 ] = normalize( coords[ 0 ] ); 1147 coords[ 1 ] = normalize( coords[ 1 ] ); 1148 coords[ 2 ] = normalize( coords[ 2 ] ); 1149 coords[ 3 ] = normalize( coords[ 3 ] ); 1150 vec3 vectorFormFactor = vec3( 0.0 ); 1151 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] ); 1152 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] ); 1153 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] ); 1154 vectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] ); 1155 float result = LTC_ClippedSphereFormFactor( vectorFormFactor ); 1156 return vec3( result ); 1157} 1158#if defined( USE_SHEEN ) 1159float D_Charlie( float roughness, float dotNH ) { 1160 float alpha = pow2( roughness ); 1161 float invAlpha = 1.0 / alpha; 1162 float cos2h = dotNH * dotNH; 1163 float sin2h = max( 1.0 - cos2h, 0.0078125 ); 1164 return ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI ); 1165} 1166float V_Neubelt( float dotNV, float dotNL ) { 1167 return saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) ); 1168} 1169vec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) { 1170 vec3 halfDir = normalize( lightDir + viewDir ); 1171 float dotNL = saturate( dot( normal, lightDir ) ); 1172 float dotNV = saturate( dot( normal, viewDir ) ); 1173 float dotNH = saturate( dot( normal, halfDir ) ); 1174 float D = D_Charlie( sheenRoughness, dotNH ); 1175 float V = V_Neubelt( dotNV, dotNL ); 1176 return sheenColor * ( D * V ); 1177} 1178#endif 1179float IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { 1180 float dotNV = saturate( dot( normal, viewDir ) ); 1181 float r2 = roughness * roughness; 1182 float a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95; 1183 float b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72; 1184 float DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) ); 1185 return saturate( DG * RECIPROCAL_PI ); 1186} 1187vec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) { 1188 float dotNV = saturate( dot( normal, viewDir ) ); 1189 const vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 ); 1190 const vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 ); 1191 vec4 r = roughness * c0 + c1; 1192 float a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y; 1193 vec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw; 1194 return fab; 1195} 1196vec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) { 1197 vec2 fab = DFGApprox( normal, viewDir, roughness ); 1198 return specularColor * fab.x + specularF90 * fab.y; 1199} 1200#ifdef USE_IRIDESCENCE 1201void computeMultiscatteringIridescence( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float iridescence, const in vec3 iridescenceF0, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) { 1202#else 1203void 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 ) { 1204#endif 1205 vec2 fab = DFGApprox( normal, viewDir, roughness ); 1206 #ifdef USE_IRIDESCENCE 1207 vec3 Fr = mix( specularColor, iridescenceF0, iridescence ); 1208 #else 1209 vec3 Fr = specularColor; 1210 #endif 1211 vec3 FssEss = Fr * fab.x + specularF90 * fab.y; 1212 float Ess = fab.x + fab.y; 1213 float Ems = 1.0 - Ess; 1214 vec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619; vec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg ); 1215 singleScatter += FssEss; 1216 multiScatter += Fms * Ems; 1217} 1218#if NUM_RECT_AREA_LIGHTS > 0 1219 void RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1220 vec3 normal = geometryNormal; 1221 vec3 viewDir = geometryViewDir; 1222 vec3 position = geometryPosition; 1223 vec3 lightPos = rectAreaLight.position; 1224 vec3 halfWidth = rectAreaLight.halfWidth; 1225 vec3 halfHeight = rectAreaLight.halfHeight; 1226 vec3 lightColor = rectAreaLight.color; 1227 float roughness = material.roughness; 1228 vec3 rectCoords[ 4 ]; 1229 rectCoords[ 0 ] = lightPos + halfWidth - halfHeight; rectCoords[ 1 ] = lightPos - halfWidth - halfHeight; 1230 rectCoords[ 2 ] = lightPos - halfWidth + halfHeight; 1231 rectCoords[ 3 ] = lightPos + halfWidth + halfHeight; 1232 vec2 uv = LTC_Uv( normal, viewDir, roughness ); 1233 vec4 t1 = texture2D( ltc_1, uv ); 1234 vec4 t2 = texture2D( ltc_2, uv ); 1235 mat3 mInv = mat3( 1236 vec3( t1.x, 0, t1.y ), 1237 vec3( 0, 1, 0 ), 1238 vec3( t1.z, 0, t1.w ) 1239 ); 1240 vec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y ); 1241 reflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords ); 1242 reflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords ); 1243 } 1244#endif 1245void RE_Direct_Physical( const in IncidentLight directLight, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1246 float dotNL = saturate( dot( geometryNormal, directLight.direction ) ); 1247 vec3 irradiance = dotNL * directLight.color; 1248 #ifdef USE_CLEARCOAT 1249 float dotNLcc = saturate( dot( geometryClearcoatNormal, directLight.direction ) ); 1250 vec3 ccIrradiance = dotNLcc * directLight.color; 1251 clearcoatSpecularDirect += ccIrradiance * BRDF_GGX_Clearcoat( directLight.direction, geometryViewDir, geometryClearcoatNormal, material ); 1252 #endif 1253 #ifdef USE_SHEEN 1254 sheenSpecularDirect += irradiance * BRDF_Sheen( directLight.direction, geometryViewDir, geometryNormal, material.sheenColor, material.sheenRoughness ); 1255 #endif 1256 reflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometryViewDir, geometryNormal, material ); 1257 reflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 1258} 1259void RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) { 1260 reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor ); 1261} 1262void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in vec3 geometryPosition, const in vec3 geometryNormal, const in vec3 geometryViewDir, const in vec3 geometryClearcoatNormal, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) { 1263 #ifdef USE_CLEARCOAT 1264 clearcoatSpecularIndirect += clearcoatRadiance * EnvironmentBRDF( geometryClearcoatNormal, geometryViewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness ); 1265 #endif 1266 #ifdef USE_SHEEN 1267 sheenSpecularIndirect += irradiance * material.sheenColor * IBLSheenBRDF( geometryNormal, geometryViewDir, material.sheenRoughness ); 1268 #endif 1269 vec3 singleScattering = vec3( 0.0 ); 1270 vec3 multiScattering = vec3( 0.0 ); 1271 vec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI; 1272 #ifdef USE_IRIDESCENCE 1273 computeMultiscatteringIridescence( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering ); 1274 #else 1275 computeMultiscattering( geometryNormal, geometryViewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering ); 1276 #endif 1277 vec3 totalScattering = singleScattering + multiScattering; 1278 vec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) ); 1279 reflectedLight.indirectSpecular += radiance * singleScattering; 1280 reflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance; 1281 reflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance; 1282} 1283#define RE_Direct RE_Direct_Physical 1284#define RE_Direct_RectArea RE_Direct_RectArea_Physical 1285#define RE_IndirectDiffuse RE_IndirectDiffuse_Physical 1286#define RE_IndirectSpecular RE_IndirectSpecular_Physical 1287float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) { 1288 return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion ); 1289}`,
1289lO=` 1290vec3 geometryPosition = - vViewPosition; 1291vec3 geometryNormal = normal; 1292vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition ); 1293vec3 geometryClearcoatNormal = vec3( 0.0 ); 1294#ifdef USE_CLEARCOAT 1295 geometryClearcoatNormal = clearcoatNormal; 1296#endif 1297#ifdef USE_IRIDESCENCE 1298 float dotNVi = saturate( dot( normal, geometryViewDir ) ); 1299 if ( material.iridescenceThickness == 0.0 ) { 1300 material.iridescence = 0.0; 1301 } else { 1302 material.iridescence = saturate( material.iridescence ); 1303 } 1304 if ( material.iridescence > 0.0 ) { 1305 material.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor ); 1306 material.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi ); 1307 } 1308#endif 1309IncidentLight directLight; 1310#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct ) 1311 PointLight pointLight; 1312 #if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0 1313 PointLightShadow pointLightShadow; 1314 #endif 1315 #pragma unroll_loop_start 1316 for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) { 1317 pointLight = pointLights[ i ]; 1318 getPointLightInfo( pointLight, geometryPosition, directLight ); 1319 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS ) 1320 pointLightShadow = pointLightShadows[ i ]; 1321 directLight.color *= ( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowIntensity, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0; 1322 #endif 1323 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1324 } 1325 #pragma unroll_loop_end 1326#endif 1327#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct ) 1328 SpotLight spotLight; 1329 vec4 spotColor; 1330 vec3 spotLightCoord; 1331 bool inSpotLightMap; 1332 #if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0 1333 SpotLightShadow spotLightShadow; 1334 #endif 1335 #pragma unroll_loop_start 1336 for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) { 1337 spotLight = spotLights[ i ]; 1338 getSpotLightInfo( spotLight, geometryPosition, directLight ); 1339 #if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) 1340 #define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX 1341 #elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1342 #define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS 1343 #else 1344 #define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS ) 1345 #endif 1346 #if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS ) 1347 spotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w; 1348 inSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) ); 1349 spotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy ); 1350 directLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color; 1351 #endif 1352 #undef SPOT_LIGHT_MAP_INDEX 1353 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1354 spotLightShadow = spotLightShadows[ i ]; 1355 directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowIntensity, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; 1356 #endif 1357 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1358 } 1359 #pragma unroll_loop_end 1360#endif 1361#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct ) 1362 DirectionalLight directionalLight; 1363 #if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0 1364 DirectionalLightShadow directionalLightShadow; 1365 #endif 1366 #pragma unroll_loop_start 1367 for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) { 1368 directionalLight = directionalLights[ i ]; 1369 getDirectionalLightInfo( directionalLight, directLight ); 1370 #if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS ) 1371 directionalLightShadow = directionalLightShadows[ i ]; 1372 directLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowIntensity, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; 1373 #endif 1374 RE_Direct( directLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1375 } 1376 #pragma unroll_loop_end 1377#endif 1378#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea ) 1379 RectAreaLight rectAreaLight; 1380 #pragma unroll_loop_start 1381 for ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) { 1382 rectAreaLight = rectAreaLights[ i ]; 1383 RE_Direct_RectArea( rectAreaLight, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1384 } 1385 #pragma unroll_loop_end 1386#endif 1387#if defined( RE_IndirectDiffuse ) 1388 vec3 iblIrradiance = vec3( 0.0 ); 1389 vec3 irradiance = getAmbientLightIrradiance( ambientLightColor ); 1390 #if defined( USE_LIGHT_PROBES ) 1391 irradiance += getLightProbeIrradiance( lightProbe, geometryNormal ); 1392 #endif 1393 #if ( NUM_HEMI_LIGHTS > 0 ) 1394 #pragma unroll_loop_start 1395 for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) { 1396 irradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometryNormal ); 1397 } 1398 #pragma unroll_loop_end 1399 #endif 1400#endif 1401#if defined( RE_IndirectSpecular ) 1402 vec3 radiance = vec3( 0.0 ); 1403 vec3 clearcoatRadiance = vec3( 0.0 ); 1404#endif`,cO=`#if defined( RE_IndirectDiffuse ) 1405 #ifdef USE_LIGHTMAP 1406 vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); 1407 vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity; 1408 irradiance += lightMapIrradiance; 1409 #endif 1410 #if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV ) 1411 iblIrradiance += getIBLIrradiance( geometryNormal ); 1412 #endif 1413#endif 1414#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular ) 1415 #ifdef USE_ANISOTROPY 1416 radiance += getIBLAnisotropyRadiance( geometryViewDir, geometryNormal, material.roughness, material.anisotropyB, material.anisotropy ); 1417 #else 1418 radiance += getIBLRadiance( geometryViewDir, geometryNormal, material.roughness ); 1419 #endif 1420 #ifdef USE_CLEARCOAT 1421 clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness ); 1422 #endif 1423#endif`,uO=`#if defined( RE_IndirectDiffuse ) 1424 RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1425#endif 1426#if defined( RE_IndirectSpecular ) 1427 RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight ); 1428#endif`,hO=`#if defined( USE_LOGDEPTHBUF ) 1429 gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5; 1430#endif`,dO=`#if defined( USE_LOGDEPTHBUF ) 1431 uniform float logDepthBufFC; 1432 varying float vFragDepth; 1433 varying float vIsPerspective; 1434#endif`,fO=`#ifdef USE_LOGDEPTHBUF 1435 varying float vFragDepth; 1436 varying float vIsPerspective; 1437#endif`,pO=`#ifdef USE_LOGDEPTHBUF 1438 vFragDepth = 1.0 + gl_Position.w; 1439 vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) ); 1440#endif`,mO=`#ifdef USE_MAP 1441 vec4 sampledDiffuseColor = texture2D( map, vMapUv ); 1442 #ifdef DECODE_VIDEO_TEXTURE 1443 sampledDiffuseColor = sRGBTransferEOTF( sampledDiffuseColor ); 1444 #endif 1445 diffuseColor *= sampledDiffuseColor; 1446#endif`,gO=`#ifdef USE_MAP 1447 uniform sampler2D map; 1448#endif`,yO=`#if defined( USE_MAP ) || defined( USE_ALPHAMAP ) 1449 #if defined( USE_POINTS_UV ) 1450 vec2 uv = vUv; 1451 #else 1452 vec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy; 1453 #endif 1454#endif 1455#ifdef USE_MAP 1456 diffuseColor *= texture2D( map, uv ); 1457#endif 1458#ifdef USE_ALPHAMAP 1459 diffuseColor.a *= texture2D( alphaMap, uv ).g; 1460#endif`,vO=`#if defined( USE_POINTS_UV ) 1461 varying vec2 vUv; 1462#else 1463 #if defined( USE_MAP ) || defined( USE_ALPHAMAP ) 1464 uniform mat3 uvTransform; 1465 #endif 1466#endif 1467#ifdef USE_MAP 1468 uniform sampler2D map; 1469#endif 1470#ifdef USE_ALPHAMAP 1471 uniform sampler2D alphaMap; 1472#endif`,_O=`float metalnessFactor = metalness; 1473#ifdef USE_METALNESSMAP 1474 vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv ); 1475 metalnessFactor *= texelMetalness.b; 1476#endif`,xO=`#ifdef USE_METALNESSMAP 1477 uniform sampler2D metalnessMap; 1478#endif`,MO=`#ifdef USE_INSTANCING_MORPH 1479 float morphTargetInfluences[ MORPHTARGETS_COUNT ]; 1480 float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r; 1481 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1482 morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r; 1483 } 1484#endif`,SO=`#if defined( USE_MORPHCOLORS ) 1485 vColor *= morphTargetBaseInfluence; 1486 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1487 #if defined( USE_COLOR_ALPHA ) 1488 if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ]; 1489 #elif defined( USE_COLOR ) 1490 if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ]; 1491 #endif 1492 } 1493#endif`,wO=`#ifdef USE_MORPHNORMALS 1494 objectNormal *= morphTargetBaseInfluence; 1495 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1496 if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ]; 1497 } 1498#endif`,AO=`#ifdef USE_MORPHTARGETS 1499 #ifndef USE_INSTANCING_MORPH 1500 uniform float morphTargetBaseInfluence; 1501 uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ]; 1502 #endif 1503 uniform sampler2DArray morphTargetsTexture; 1504 uniform ivec2 morphTargetsTextureSize; 1505 vec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) { 1506 int texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset; 1507 int y = texelIndex / morphTargetsTextureSize.x; 1508 int x = texelIndex - y * morphTargetsTextureSize.x; 1509 ivec3 morphUV = ivec3( x, y, morphTargetIndex ); 1510 return texelFetch( morphTargetsTexture, morphUV, 0 ); 1511 } 1512#endif`,EO=`#ifdef USE_MORPHTARGETS 1513 transformed *= morphTargetBaseInfluence; 1514 for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) { 1515 if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ]; 1516 } 1517#endif`,bO=`float faceDirection = gl_FrontFacing ? 1.0 : - 1.0; 1518#ifdef FLAT_SHADED 1519 vec3 fdx = dFdx( vViewPosition ); 1520 vec3 fdy = dFdy( vViewPosition ); 1521 vec3 normal = normalize( cross( fdx, fdy ) ); 1522#else 1523 vec3 normal = normalize( vNormal ); 1524 #ifdef DOUBLE_SIDED 1525 normal *= faceDirection; 1526 #endif 1527#endif 1528#if defined( USE_NORMALMAP_TANGENTSPACE ) || defined( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) 1529 #ifdef USE_TANGENT 1530 mat3 tbn = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); 1531 #else 1532 mat3 tbn = getTangentFrame( - vViewPosition, normal, 1533 #if defined( USE_NORMALMAP ) 1534 vNormalMapUv 1535 #elif defined( USE_CLEARCOAT_NORMALMAP ) 1536 vClearcoatNormalMapUv 1537 #else 1538 vUv 1539 #endif 1540 ); 1541 #endif 1542 #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) 1543 tbn[0] *= faceDirection; 1544 tbn[1] *= faceDirection; 1545 #endif 1546#endif 1547#ifdef USE_CLEARCOAT_NORMALMAP 1548 #ifdef USE_TANGENT 1549 mat3 tbn2 = mat3( normalize( vTangent ), normalize( vBitangent ), normal ); 1550 #else 1551 mat3 tbn2 = getTangentFrame( - vViewPosition, normal, vClearcoatNormalMapUv ); 1552 #endif 1553 #if defined( DOUBLE_SIDED ) && ! defined( FLAT_SHADED ) 1554 tbn2[0] *= faceDirection; 1555 tbn2[1] *= faceDirection; 1556 #endif 1557#endif 1558vec3 nonPerturbedNormal = normal;`,CO=`#ifdef USE_NORMALMAP_OBJECTSPACE 1559 normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; 1560 #ifdef FLIP_SIDED 1561 normal = - normal; 1562 #endif 1563 #ifdef DOUBLE_SIDED 1564 normal = normal * faceDirection; 1565 #endif 1566 normal = normalize( normalMatrix * normal ); 1567#elif defined( USE_NORMALMAP_TANGENTSPACE ) 1568 vec3 mapN = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0; 1569 mapN.xy *= normalScale; 1570 normal = normalize( tbn * mapN ); 1571#elif defined( USE_BUMPMAP )
1572 normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection ); 1573#endif`,TO=`#ifndef FLAT_SHADED 1574 varying vec3 vNormal; 1575 #ifdef USE_TANGENT 1576 varying vec3 vTangent; 1577 varying vec3 vBitangent; 1578 #endif 1579#endif`,IO=`#ifndef FLAT_SHADED 1580 varying vec3 vNormal; 1581 #ifdef USE_TANGENT 1582 varying vec3 vTangent; 1583 varying vec3 vBitangent; 1584 #endif 1585#endif`,PO=`#ifndef FLAT_SHADED 1586 vNormal = normalize( transformedNormal ); 1587 #ifdef USE_TANGENT 1588 vTangent = normalize( transformedTangent ); 1589 vBitangent = normalize( cross( vNormal, vTangent ) * tangent.w ); 1590 #endif 1591#endif`,RO=`#ifdef USE_NORMALMAP 1592 uniform sampler2D normalMap; 1593 uniform vec2 normalScale; 1594#endif 1595#ifdef USE_NORMALMAP_OBJECTSPACE 1596 uniform mat3 normalMatrix; 1597#endif 1598#if ! defined ( USE_TANGENT ) && ( defined ( USE_NORMALMAP_TANGENTSPACE ) || defined ( USE_CLEARCOAT_NORMALMAP ) || defined( USE_ANISOTROPY ) ) 1599 mat3 getTangentFrame( vec3 eye_pos, vec3 surf_norm, vec2 uv ) { 1600 vec3 q0 = dFdx( eye_pos.xyz ); 1601 vec3 q1 = dFdy( eye_pos.xyz ); 1602 vec2 st0 = dFdx( uv.st ); 1603 vec2 st1 = dFdy( uv.st ); 1604 vec3 N = surf_norm; 1605 vec3 q1perp = cross( q1, N ); 1606 vec3 q0perp = cross( N, q0 ); 1607 vec3 T = q1perp * st0.x + q0perp * st1.x; 1608 vec3 B = q1perp * st0.y + q0perp * st1.y; 1609 float det = max( dot( T, T ), dot( B, B ) ); 1610 float scale = ( det == 0.0 ) ? 0.0 : inversesqrt( det ); 1611 return mat3( T * scale, B * scale, N ); 1612 } 1613#endif`,BO=`#ifdef USE_CLEARCOAT 1614 vec3 clearcoatNormal = nonPerturbedNormal; 1615#endif`,OO=`#ifdef USE_CLEARCOAT_NORMALMAP 1616 vec3 clearcoatMapN = texture2D( clearcoatNormalMap, vClearcoatNormalMapUv ).xyz * 2.0 - 1.0; 1617 clearcoatMapN.xy *= clearcoatNormalScale; 1618 clearcoatNormal = normalize( tbn2 * clearcoatMapN ); 1619#endif`,DO=`#ifdef USE_CLEARCOATMAP 1620 uniform sampler2D clearcoatMap; 1621#endif 1622#ifdef USE_CLEARCOAT_NORMALMAP 1623 uniform sampler2D clearcoatNormalMap; 1624 uniform vec2 clearcoatNormalScale; 1625#endif 1626#ifdef USE_CLEARCOAT_ROUGHNESSMAP 1627 uniform sampler2D clearcoatRoughnessMap; 1628#endif`,LO=`#ifdef USE_IRIDESCENCEMAP 1629 uniform sampler2D iridescenceMap; 1630#endif 1631#ifdef USE_IRIDESCENCE_THICKNESSMAP 1632 uniform sampler2D iridescenceThicknessMap; 1633#endif`,NO=`#ifdef OPAQUE 1634diffuseColor.a = 1.0; 1635#endif 1636#ifdef USE_TRANSMISSION 1637diffuseColor.a *= material.transmissionAlpha; 1638#endif 1639gl_FragColor = vec4( outgoingLight, diffuseColor.a );`,FO=`vec3 packNormalToRGB( const in vec3 normal ) { 1640 return normalize( normal ) * 0.5 + 0.5; 1641} 1642vec3 unpackRGBToNormal( const in vec3 rgb ) { 1643 return 2.0 * rgb.xyz - 1.0; 1644} 1645const float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;const float ShiftRight8 = 1. / 256.; 1646const float Inv255 = 1. / 255.; 1647const vec4 PackFactors = vec4( 1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0 ); 1648const vec2 UnpackFactors2 = vec2( UnpackDownscale, 1.0 / PackFactors.g ); 1649const vec3 UnpackFactors3 = vec3( UnpackDownscale / PackFactors.rg, 1.0 / PackFactors.b ); 1650const vec4 UnpackFactors4 = vec4( UnpackDownscale / PackFactors.rgb, 1.0 / PackFactors.a ); 1651vec4 packDepthToRGBA( const in float v ) { 1652 if( v <= 0.0 ) 1653 return vec4( 0., 0., 0., 0. ); 1654 if( v >= 1.0 ) 1655 return vec4( 1., 1., 1., 1. ); 1656 float vuf; 1657 float af = modf( v * PackFactors.a, vuf ); 1658 float bf = modf( vuf * ShiftRight8, vuf ); 1659 float gf = modf( vuf * ShiftRight8, vuf ); 1660 return vec4( vuf * Inv255, gf * PackUpscale, bf * PackUpscale, af ); 1661} 1662vec3 packDepthToRGB( const in float v ) { 1663 if( v <= 0.0 ) 1664 return vec3( 0., 0., 0. ); 1665 if( v >= 1.0 ) 1666 return vec3( 1., 1., 1. ); 1667 float vuf; 1668 float bf = modf( v * PackFactors.b, vuf ); 1669 float gf = modf( vuf * ShiftRight8, vuf ); 1670 return vec3( vuf * Inv255, gf * PackUpscale, bf ); 1671} 1672vec2 packDepthToRG( const in float v ) { 1673 if( v <= 0.0 ) 1674 return vec2( 0., 0. ); 1675 if( v >= 1.0 ) 1676 return vec2( 1., 1. ); 1677 float vuf; 1678 float gf = modf( v * 256., vuf ); 1679 return vec2( vuf * Inv255, gf ); 1680} 1681float unpackRGBAToDepth( const in vec4 v ) { 1682 return dot( v, UnpackFactors4 ); 1683} 1684float unpackRGBToDepth( const in vec3 v ) { 1685 return dot( v, UnpackFactors3 ); 1686} 1687float unpackRGToDepth( const in vec2 v ) { 1688 return v.r * UnpackFactors2.r + v.g * UnpackFactors2.g; 1689} 1690vec4 pack2HalfToRGBA( const in vec2 v ) {
1691 vec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) ); 1692 return vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w ); 1693} 1694vec2 unpackRGBATo2Half( const in vec4 v ) { 1695 return vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) ); 1696} 1697float viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) { 1698 return ( viewZ + near ) / ( near - far ); 1699} 1700float orthographicDepthToViewZ( const in float depth, const in float near, const in float far ) { 1701 return depth * ( near - far ) - near; 1702} 1703float viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) { 1704 return ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ ); 1705} 1706float perspectiveDepthToViewZ( const in float depth, const in float near, const in float far ) { 1707 return ( near * far ) / ( ( far - near ) * depth - far ); 1708}`,kO=`#ifdef PREMULTIPLIED_ALPHA 1709 gl_FragColor.rgb *= gl_FragColor.a; 1710#endif`,UO=`vec4 mvPosition = vec4( transformed, 1.0 ); 1711#ifdef USE_BATCHING 1712 mvPosition = batchingMatrix * mvPosition; 1713#endif 1714#ifdef USE_INSTANCING 1715 mvPosition = instanceMatrix * mvPosition; 1716#endif 1717mvPosition = modelViewMatrix * mvPosition; 1718gl_Position = projectionMatrix * mvPosition;`,jO=`#ifdef DITHERING 1719 gl_FragColor.rgb = dithering( gl_FragColor.rgb ); 1720#endif`,zO=`#ifdef DITHERING 1721 vec3 dithering( vec3 color ) { 1722 float grid_position = rand( gl_FragCoord.xy ); 1723 vec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 ); 1724 dither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position ); 1725 return color + dither_shift_RGB; 1726 } 1727#endif`,HO=`float roughnessFactor = roughness; 1728#ifdef USE_ROUGHNESSMAP 1729 vec4 texelRoughness = texture2D( roughnessMap, vRoughnessMapUv ); 1730 roughnessFactor *= texelRoughness.g; 1731#endif`,GO=`#ifdef USE_ROUGHNESSMAP 1732 uniform sampler2D roughnessMap; 1733#endif`,VO=
vendor: 8,887 bytes, lines 1733-1919
1733`#if NUM_SPOT_LIGHT_COORDS > 0 1734 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; 1735#endif 1736#if NUM_SPOT_LIGHT_MAPS > 0 1737 uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ]; 1738#endif 1739#ifdef USE_SHADOWMAP 1740 #if NUM_DIR_LIGHT_SHADOWS > 0 1741 uniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ]; 1742 varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; 1743 struct DirectionalLightShadow { 1744 float shadowIntensity; 1745 float shadowBias; 1746 float shadowNormalBias; 1747 float shadowRadius; 1748 vec2 shadowMapSize; 1749 }; 1750 uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; 1751 #endif 1752 #if NUM_SPOT_LIGHT_SHADOWS > 0 1753 uniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ]; 1754 struct SpotLightShadow { 1755 float shadowIntensity; 1756 float shadowBias; 1757 float shadowNormalBias; 1758 float shadowRadius; 1759 vec2 shadowMapSize; 1760 }; 1761 uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; 1762 #endif 1763 #if NUM_POINT_LIGHT_SHADOWS > 0 1764 uniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ]; 1765 varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; 1766 struct PointLightShadow { 1767 float shadowIntensity; 1768 float shadowBias; 1769 float shadowNormalBias; 1770 float shadowRadius; 1771 vec2 shadowMapSize; 1772 float shadowCameraNear; 1773 float shadowCameraFar; 1774 }; 1775 uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; 1776 #endif 1777 float texture2DCompare( sampler2D depths, vec2 uv, float compare ) { 1778 return step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) ); 1779 } 1780 vec2 texture2DDistribution( sampler2D shadow, vec2 uv ) { 1781 return unpackRGBATo2Half( texture2D( shadow, uv ) ); 1782 } 1783 float VSMShadow (sampler2D shadow, vec2 uv, float compare ){ 1784 float occlusion = 1.0; 1785 vec2 distribution = texture2DDistribution( shadow, uv ); 1786 float hard_shadow = step( compare , distribution.x ); 1787 if (hard_shadow != 1.0 ) { 1788 float distance = compare - distribution.x ; 1789 float variance = max( 0.00000, distribution.y * distribution.y ); 1790 float softness_probability = variance / (variance + distance * distance ); softness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 ); occlusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 ); 1791 } 1792 return occlusion; 1793 } 1794 float getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord ) { 1795 float shadow = 1.0; 1796 shadowCoord.xyz /= shadowCoord.w; 1797 shadowCoord.z += shadowBias; 1798 bool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0; 1799 bool frustumTest = inFrustum && shadowCoord.z <= 1.0; 1800 if ( frustumTest ) { 1801 #if defined( SHADOWMAP_TYPE_PCF ) 1802 vec2 texelSize = vec2( 1.0 ) / shadowMapSize; 1803 float dx0 = - texelSize.x * shadowRadius; 1804 float dy0 = - texelSize.y * shadowRadius; 1805 float dx1 = + texelSize.x * shadowRadius; 1806 float dy1 = + texelSize.y * shadowRadius; 1807 float dx2 = dx0 / 2.0; 1808 float dy2 = dy0 / 2.0; 1809 float dx3 = dx1 / 2.0; 1810 float dy3 = dy1 / 2.0; 1811 shadow = ( 1812 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) + 1813 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) + 1814 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) + 1815 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) + 1816 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) + 1817 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) + 1818 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) + 1819 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) + 1820 texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) + 1821 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) + 1822 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) + 1823 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) + 1824 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) + 1825 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) + 1826 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) + 1827 texture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) + 1828 texture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z ) 1829 ) * ( 1.0 / 17.0 ); 1830 #elif defined( SHADOWMAP_TYPE_PCF_SOFT ) 1831 vec2 texelSize = vec2( 1.0 ) / shadowMapSize; 1832 float dx = texelSize.x; 1833 float dy = texelSize.y; 1834 vec2 uv = shadowCoord.xy; 1835 vec2 f = fract( uv * shadowMapSize + 0.5 ); 1836 uv -= f * texelSize; 1837 shadow = ( 1838 texture2DCompare( shadowMap, uv, shadowCoord.z ) + 1839 texture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) + 1840 texture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) + 1841 texture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) + 1842 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), 1843 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ), 1844 f.x ) + 1845 mix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), 1846 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ), 1847 f.x ) + 1848 mix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), 1849 texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ), 1850 f.y ) + 1851 mix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), 1852 texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ), 1853 f.y ) + 1854 mix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), 1855 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ), 1856 f.x ), 1857 mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), 1858 texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ), 1859 f.x ), 1860 f.y ) 1861 ) * ( 1.0 / 9.0 ); 1862 #elif defined( SHADOWMAP_TYPE_VSM ) 1863 shadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z ); 1864 #else 1865 shadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ); 1866 #endif 1867 } 1868 return mix( 1.0, shadow, shadowIntensity ); 1869 } 1870 vec2 cubeToUV( vec3 v, float texelSizeY ) { 1871 vec3 absV = abs( v ); 1872 float scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) ); 1873 absV *= scaleToCube; 1874 v *= scaleToCube * ( 1.0 - 2.0 * texelSizeY ); 1875 vec2 planar = v.xy; 1876 float almostATexel = 1.5 * texelSizeY; 1877 float almostOne = 1.0 - almostATexel; 1878 if ( absV.z >= almostOne ) { 1879 if ( v.z > 0.0 ) 1880 planar.x = 4.0 - v.x; 1881 } else if ( absV.x >= almostOne ) { 1882 float signX = sign( v.x ); 1883 planar.x = v.z * signX + 2.0 * signX; 1884 } else if ( absV.y >= almostOne ) { 1885 float signY = sign( v.y ); 1886 planar.x = v.x + 2.0 * signY + 2.0; 1887 planar.y = v.z * signY - 2.0; 1888 } 1889 return vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 ); 1890 } 1891 float getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowIntensity, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) { 1892 float shadow = 1.0; 1893 vec3 lightToPosition = shadowCoord.xyz; 1894 1895 float lightToPositionLength = length( lightToPosition ); 1896 if ( lightToPositionLength - shadowCameraFar <= 0.0 && lightToPositionLength - shadowCameraNear >= 0.0 ) { 1897 float dp = ( lightToPositionLength - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear ); dp += shadowBias; 1898 vec3 bd3D = normalize( lightToPosition ); 1899 vec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) ); 1900 #if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM ) 1901 vec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y; 1902 shadow = ( 1903 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) + 1904 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) + 1905 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) + 1906 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) + 1907 texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) + 1908 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) + 1909 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) + 1910 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) + 1911 texture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp ) 1912 ) * ( 1.0 / 9.0 ); 1913 #else 1914 shadow = texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ); 1915 #endif 1916 } 1917 return mix( 1.0, shadow, shadowIntensity ); 1918 } 1919#endif`,
1919WO=`#if NUM_SPOT_LIGHT_COORDS > 0 1920 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ]; 1921 varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ]; 1922#endif 1923#ifdef USE_SHADOWMAP 1924 #if NUM_DIR_LIGHT_SHADOWS > 0 1925 uniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ]; 1926 varying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ]; 1927 struct DirectionalLightShadow { 1928 float shadowIntensity; 1929 float shadowBias; 1930 float shadowNormalBias; 1931 float shadowRadius; 1932 vec2 shadowMapSize; 1933 }; 1934 uniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ]; 1935 #endif 1936 #if NUM_SPOT_LIGHT_SHADOWS > 0 1937 struct SpotLightShadow { 1938 float shadowIntensity; 1939 float shadowBias; 1940 float shadowNormalBias; 1941 float shadowRadius; 1942 vec2 shadowMapSize; 1943 }; 1944 uniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ]; 1945 #endif 1946 #if NUM_POINT_LIGHT_SHADOWS > 0 1947 uniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ]; 1948 varying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ]; 1949 struct PointLightShadow { 1950 float shadowIntensity; 1951 float shadowBias; 1952 float shadowNormalBias; 1953 float shadowRadius; 1954 vec2 shadowMapSize; 1955 float shadowCameraNear; 1956 float shadowCameraFar; 1957 }; 1958 uniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ]; 1959 #endif 1960#endif`,XO=`#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 ) 1961 vec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix ); 1962 vec4 shadowWorldPosition; 1963#endif 1964#if defined( USE_SHADOWMAP ) 1965 #if NUM_DIR_LIGHT_SHADOWS > 0 1966 #pragma unroll_loop_start 1967 for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { 1968 shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 ); 1969 vDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition; 1970 } 1971 #pragma unroll_loop_end 1972 #endif 1973 #if NUM_POINT_LIGHT_SHADOWS > 0 1974 #pragma unroll_loop_start 1975 for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { 1976 shadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 ); 1977 vPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition; 1978 } 1979 #pragma unroll_loop_end 1980 #endif 1981#endif 1982#if NUM_SPOT_LIGHT_COORDS > 0 1983 #pragma unroll_loop_start 1984 for ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) { 1985 shadowWorldPosition = worldPosition; 1986 #if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS ) 1987 shadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias; 1988 #endif 1989 vSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition; 1990 } 1991 #pragma unroll_loop_end 1992#endif`,JO=`float getShadowMask() { 1993 float shadow = 1.0; 1994 #ifdef USE_SHADOWMAP 1995 #if NUM_DIR_LIGHT_SHADOWS > 0 1996 DirectionalLightShadow directionalLight; 1997 #pragma unroll_loop_start 1998 for ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) { 1999 directionalLight = directionalLightShadows[ i ]; 2000 shadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowIntensity, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0; 2001 } 2002 #pragma unroll_loop_end 2003 #endif 2004 #if NUM_SPOT_LIGHT_SHADOWS > 0 2005 SpotLightShadow spotLight; 2006 #pragma unroll_loop_start 2007 for ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) { 2008 spotLight = spotLightShadows[ i ]; 2009 shadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowIntensity, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0; 2010 } 2011 #pragma unroll_loop_end 2012 #endif 2013 #if NUM_POINT_LIGHT_SHADOWS > 0 2014 PointLightShadow pointLight; 2015 #pragma unroll_loop_start 2016 for ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) { 2017 pointLight = pointLightShadows[ i ]; 2018 shadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowIntensity, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0; 2019 } 2020 #pragma unroll_loop_end 2021 #endif 2022 #endif 2023 return shadow; 2024}`,$O=`#ifdef USE_SKINNING 2025 mat4 boneMatX = getBoneMatrix( skinIndex.x ); 2026 mat4 boneMatY = getBoneMatrix( skinIndex.y ); 2027 mat4 boneMatZ = getBoneMatrix( skinIndex.z ); 2028 mat4 boneMatW = getBoneMatrix( skinIndex.w ); 2029#endif`,KO=`#ifdef USE_SKINNING 2030 uniform mat4 bindMatrix; 2031 uniform mat4 bindMatrixInverse; 2032 uniform highp sampler2D boneTexture; 2033 mat4 getBoneMatrix( const in float i ) { 2034 int size = textureSize( boneTexture, 0 ).x; 2035 int j = int( i ) * 4; 2036 int x = j % size; 2037 int y = j / size; 2038 vec4 v1 = texelFetch( boneTexture, ivec2( x, y ), 0 ); 2039 vec4 v2 = texelFetch( boneTexture, ivec2( x + 1, y ), 0 ); 2040 vec4 v3 = texelFetch( boneTexture, ivec2( x + 2, y ), 0 ); 2041 vec4 v4 = texelFetch( boneTexture, ivec2( x + 3, y ), 0 ); 2042 return mat4( v1, v2, v3, v4 ); 2043 } 2044#endif`,YO=`#ifdef USE_SKINNING 2045 vec4 skinVertex = bindMatrix * vec4( transformed, 1.0 ); 2046 vec4 skinned = vec4( 0.0 ); 2047 skinned += boneMatX * skinVertex * skinWeight.x; 2048 skinned += boneMatY * skinVertex * skinWeight.y; 2049 skinned += boneMatZ * skinVertex * skinWeight.z; 2050 skinned += boneMatW * skinVertex * skinWeight.w; 2051 transformed = ( bindMatrixInverse * skinned ).xyz; 2052#endif`,qO=`#ifdef USE_SKINNING 2053 mat4 skinMatrix = mat4( 0.0 ); 2054 skinMatrix += skinWeight.x * boneMatX; 2055 skinMatrix += skinWeight.y * boneMatY; 2056 skinMatrix += skinWeight.z * boneMatZ; 2057 skinMatrix += skinWeight.w * boneMatW; 2058 skinMatrix = bindMatrixInverse * skinMatrix * bindMatrix; 2059 objectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz; 2060 #ifdef USE_TANGENT 2061 objectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz; 2062 #endif 2063#endif`,QO=`float specularStrength; 2064#ifdef USE_SPECULARMAP 2065 vec4 texelSpecular = texture2D( specularMap, vSpecularMapUv ); 2066 specularStrength = texelSpecular.r; 2067#else 2068 specularStrength = 1.0; 2069#endif`,ZO=`#ifdef USE_SPECULARMAP 2070 uniform sampler2D specularMap; 2071#endif`,eD=`#if defined( TONE_MAPPING ) 2072 gl_FragColor.rgb = toneMapping( gl_FragColor.rgb ); 2073#endif`,tD=`#ifndef saturate 2074#define saturate( a ) clamp( a, 0.0, 1.0 ) 2075#endif 2076uniform float toneMappingExposure; 2077vec3 LinearToneMapping( vec3 color ) { 2078 return saturate( toneMappingExposure * color ); 2079} 2080vec3 ReinhardToneMapping( vec3 color ) { 2081 color *= toneMappingExposure; 2082 return saturate( color / ( vec3( 1.0 ) + color ) ); 2083} 2084vec3 CineonToneMapping( vec3 color ) { 2085 color *= toneMappingExposure; 2086 color = max( vec3( 0.0 ), color - 0.004 ); 2087 return pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) ); 2088} 2089vec3 RRTAndODTFit( vec3 v ) { 2090 vec3 a = v * ( v + 0.0245786 ) - 0.000090537; 2091 vec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081; 2092 return a / b; 2093} 2094vec3 ACESFilmicToneMapping( vec3 color ) { 2095 const mat3 ACESInputMat = mat3( 2096 vec3( 0.59719, 0.07600, 0.02840 ), vec3( 0.35458, 0.90834, 0.13383 ), 2097 vec3( 0.04823, 0.01566, 0.83777 ) 2098 ); 2099 const mat3 ACESOutputMat = mat3( 2100 vec3( 1.60475, -0.10208, -0.00327 ), vec3( -0.53108, 1.10813, -0.07276 ), 2101 vec3( -0.07367, -0.00605, 1.07602 ) 2102 ); 2103 color *= toneMappingExposure / 0.6; 2104 color = ACESInputMat * color; 2105 color = RRTAndODTFit( color ); 2106 color = ACESOutputMat * color; 2107 return saturate( color ); 2108} 2109const mat3 LINEAR_REC2020_TO_LINEAR_SRGB = mat3( 2110 vec3( 1.6605, - 0.1246, - 0.0182 ), 2111 vec3( - 0.5876, 1.1329, - 0.1006 ), 2112 vec3( - 0.0728, - 0.0083, 1.1187 ) 2113); 2114const mat3 LINEAR_SRGB_TO_LINEAR_REC2020 = mat3( 2115 vec3( 0.6274, 0.0691, 0.0164 ), 2116 vec3( 0.3293, 0.9195, 0.0880 ), 2117 vec3( 0.0433, 0.0113, 0.8956 ) 2118); 2119vec3 agxDefaultContrastApprox( vec3 x ) { 2120 vec3 x2 = x * x; 2121 vec3 x4 = x2 * x2; 2122 return + 15.5 * x4 * x2 2123 - 40.14 * x4 * x 2124 + 31.96 * x4 2125 - 6.868 * x2 * x 2126 + 0.4298 * x2 2127 + 0.1191 * x 2128 - 0.00232; 2129} 2130vec3 AgXToneMapping( vec3 color ) { 2131 const mat3 AgXInsetMatrix = mat3( 2132 vec3( 0.856627153315983, 0.137318972929847, 0.11189821299995 ), 2133 vec3( 0.0951212405381588, 0.761241990602591, 0.0767994186031903 ), 2134 vec3( 0.0482516061458583, 0.101439036467562, 0.811302368396859 ) 2135 );
2136 const mat3 AgXOutsetMatrix = mat3( 2137 vec3( 1.1271005818144368, - 0.1413297634984383, - 0.14132976349843826 ), 2138 vec3( - 0.11060664309660323, 1.157823702216272, - 0.11060664309660294 ), 2139 vec3( - 0.016493938717834573, - 0.016493938717834257, 1.2519364065950405 ) 2140 ); 2141 const float AgxMinEv = - 12.47393; const float AgxMaxEv = 4.026069; 2142 color *= toneMappingExposure; 2143 color = LINEAR_SRGB_TO_LINEAR_REC2020 * color; 2144 color = AgXInsetMatrix * color; 2145 color = max( color, 1e-10 ); color = log2( color ); 2146 color = ( color - AgxMinEv ) / ( AgxMaxEv - AgxMinEv ); 2147 color = clamp( color, 0.0, 1.0 ); 2148 color = agxDefaultContrastApprox( color ); 2149 color = AgXOutsetMatrix * color; 2150 color = pow( max( vec3( 0.0 ), color ), vec3( 2.2 ) ); 2151 color = LINEAR_REC2020_TO_LINEAR_SRGB * color; 2152 color = clamp( color, 0.0, 1.0 ); 2153 return color; 2154} 2155vec3 NeutralToneMapping( vec3 color ) { 2156 const float StartCompression = 0.8 - 0.04; 2157 const float Desaturation = 0.15; 2158 color *= toneMappingExposure; 2159 float x = min( color.r, min( color.g, color.b ) ); 2160 float offset = x < 0.08 ? x - 6.25 * x * x : 0.04; 2161 color -= offset; 2162 float peak = max( color.r, max( color.g, color.b ) ); 2163 if ( peak < StartCompression ) return color; 2164 float d = 1. - StartCompression; 2165 float newPeak = 1. - d * d / ( peak + d - StartCompression ); 2166 color *= newPeak / peak; 2167 float g = 1. - 1. / ( Desaturation * ( peak - newPeak ) + 1. ); 2168 return mix( color, vec3( newPeak ), g ); 2169} 2170vec3 CustomToneMapping( vec3 color ) { return color; }`,nD=`#ifdef USE_TRANSMISSION 2171 material.transmission = transmission; 2172 material.transmissionAlpha = 1.0; 2173 material.thickness = thickness; 2174 material.attenuationDistance = attenuationDistance; 2175 material.attenuationColor = attenuationColor; 2176 #ifdef USE_TRANSMISSIONMAP 2177 material.transmission *= texture2D( transmissionMap, vTransmissionMapUv ).r; 2178 #endif 2179 #ifdef USE_THICKNESSMAP 2180 material.thickness *= texture2D( thicknessMap, vThicknessMapUv ).g; 2181 #endif 2182 vec3 pos = vWorldPosition; 2183 vec3 v = normalize( cameraPosition - pos ); 2184 vec3 n = inverseTransformDirection( normal, viewMatrix ); 2185 vec4 transmitted = getIBLVolumeRefraction( 2186 n, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90, 2187 pos, modelMatrix, viewMatrix, projectionMatrix, material.dispersion, material.ior, material.thickness, 2188 material.attenuationColor, material.attenuationDistance ); 2189 material.transmissionAlpha = mix( material.transmissionAlpha, transmitted.a, material.transmission ); 2190 totalDiffuse = mix( totalDiffuse, transmitted.rgb, material.transmission ); 2191#endif`,rD=`#ifdef USE_TRANSMISSION 2192 uniform float transmission; 2193 uniform float thickness; 2194 uniform float attenuationDistance; 2195 uniform vec3 attenuationColor; 2196 #ifdef USE_TRANSMISSIONMAP 2197 uniform sampler2D transmissionMap; 2198 #endif 2199 #ifdef USE_THICKNESSMAP 2200 uniform sampler2D thicknessMap; 2201 #endif 2202 uniform vec2 transmissionSamplerSize; 2203 uniform sampler2D transmissionSamplerMap; 2204 uniform mat4 modelMatrix; 2205 uniform mat4 projectionMatrix; 2206 varying vec3 vWorldPosition; 2207 float w0( float a ) { 2208 return ( 1.0 / 6.0 ) * ( a * ( a * ( - a + 3.0 ) - 3.0 ) + 1.0 ); 2209 } 2210 float w1( float a ) { 2211 return ( 1.0 / 6.0 ) * ( a * a * ( 3.0 * a - 6.0 ) + 4.0 ); 2212 } 2213 float w2( float a ){ 2214 return ( 1.0 / 6.0 ) * ( a * ( a * ( - 3.0 * a + 3.0 ) + 3.0 ) + 1.0 ); 2215 } 2216 float w3( float a ) { 2217 return ( 1.0 / 6.0 ) * ( a * a * a ); 2218 } 2219 float g0( float a ) { 2220 return w0( a ) + w1( a ); 2221 } 2222 float g1( float a ) { 2223 return w2( a ) + w3( a ); 2224 } 2225 float h0( float a ) { 2226 return - 1.0 + w1( a ) / ( w0( a ) + w1( a ) ); 2227 } 2228 float h1( float a ) { 2229 return 1.0 + w3( a ) / ( w2( a ) + w3( a ) ); 2230 } 2231 vec4 bicubic( sampler2D tex, vec2 uv, vec4 texelSize, float lod ) { 2232 uv = uv * texelSize.zw + 0.5; 2233 vec2 iuv = floor( uv ); 2234 vec2 fuv = fract( uv ); 2235 float g0x = g0( fuv.x ); 2236 float g1x = g1( fuv.x ); 2237 float h0x = h0( fuv.x ); 2238 float h1x = h1( fuv.x ); 2239 float h0y = h0( fuv.y ); 2240 float h1y = h1( fuv.y ); 2241 vec2 p0 = ( vec2( iuv.x + h0x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 2242 vec2 p1 = ( vec2( iuv.x + h1x, iuv.y + h0y ) - 0.5 ) * texelSize.xy; 2243 vec2 p2 = ( vec2( iuv.x + h0x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 2244 vec2 p3 = ( vec2( iuv.x + h1x, iuv.y + h1y ) - 0.5 ) * texelSize.xy; 2245 return g0( fuv.y ) * ( g0x * textureLod( tex, p0, lod ) + g1x * textureLod( tex, p1, lod ) ) + 2246 g1( fuv.y ) * ( g0x * textureLod( tex, p2, lod ) + g1x * textureLod( tex, p3, lod ) ); 2247 } 2248 vec4 textureBicubic( sampler2D sampler, vec2 uv, float lod ) { 2249 vec2 fLodSize = vec2( textureSize( sampler, int( lod ) ) ); 2250 vec2 cLodSize = vec2( textureSize( sampler, int( lod + 1.0 ) ) ); 2251 vec2 fLodSizeInv = 1.0 / fLodSize; 2252 vec2 cLodSizeInv = 1.0 / cLodSize; 2253 vec4 fSample = bicubic( sampler, uv, vec4( fLodSizeInv, fLodSize ), floor( lod ) ); 2254 vec4 cSample = bicubic( sampler, uv, vec4( cLodSizeInv, cLodSize ), ceil( lod ) ); 2255 return mix( fSample, cSample, fract( lod ) ); 2256 } 2257 vec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) { 2258 vec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior ); 2259 vec3 modelScale; 2260 modelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) ); 2261 modelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) ); 2262 modelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) ); 2263 return normalize( refractionVector ) * thickness * modelScale; 2264 } 2265 float applyIorToRoughness( const in float roughness, const in float ior ) { 2266 return roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 ); 2267 } 2268 vec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) { 2269 float lod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior ); 2270 return textureBicubic( transmissionSamplerMap, fragCoord.xy, lod ); 2271 } 2272 vec3 volumeAttenuation( const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) { 2273 if ( isinf( attenuationDistance ) ) { 2274 return vec3( 1.0 ); 2275 } else { 2276 vec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance; 2277 vec3 transmittance = exp( - attenuationCoefficient * transmissionDistance ); return transmittance; 2278 } 2279 } 2280 vec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor, 2281 const in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix, 2282 const in mat4 viewMatrix, const in mat4 projMatrix, const in float dispersion, const in float ior, const in float thickness, 2283 const in vec3 attenuationColor, const in float attenuationDistance ) { 2284 vec4 transmittedLight; 2285 vec3 transmittance; 2286 #ifdef USE_DISPERSION 2287 float halfSpread = ( ior - 1.0 ) * 0.025 * dispersion; 2288 vec3 iors = vec3( ior - halfSpread, ior, ior + halfSpread ); 2289 for ( int i = 0; i < 3; i ++ ) { 2290 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, iors[ i ], modelMatrix ); 2291 vec3 refractedRayExit = position + transmissionRay; 2292 2293 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 2294 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 2295 refractionCoords += 1.0; 2296 refractionCoords /= 2.0; 2297 2298 vec4 transmissionSample = getTransmissionSample( refractionCoords, roughness, iors[ i ] ); 2299 transmittedLight[ i ] = transmissionSample[ i ]; 2300 transmittedLight.a += transmissionSample.a; 2301 transmittance[ i ] = diffuseColor[ i ] * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance )[ i ]; 2302 } 2303 transmittedLight.a /= 3.0; 2304 2305 #else 2306 2307 vec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix ); 2308 vec3 refractedRayExit = position + transmissionRay; 2309 vec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 ); 2310 vec2 refractionCoords = ndcPos.xy / ndcPos.w; 2311 refractionCoords += 1.0; 2312 refractionCoords /= 2.0; 2313 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior ); 2314 transmittance = diffuseColor * volumeAttenuation( length( transmissionRay ), attenuationColor, attenuationDistance ); 2315 2316 #endif 2317 vec3 attenuatedColor = transmittance * transmittedLight.rgb; 2318 vec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness ); 2319 float transmittanceFactor = ( transmittance.r + transmittance.g + transmittance.b ) / 3.0; 2320 return vec4( ( 1.0 - F ) * attenuatedColor, 1.0 - ( 1.0 - transmittedLight.a ) * transmittanceFactor ); 2321 } 2322#endif`,iD=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2323 varying vec2 vUv; 2324#endif 2325#ifdef USE_MAP 2326 varying vec2 vMapUv; 2327#endif 2328#ifdef USE_ALPHAMAP
2329 varying vec2 vAlphaMapUv; 2330#endif 2331#ifdef USE_LIGHTMAP 2332 varying vec2 vLightMapUv; 2333#endif 2334#ifdef USE_AOMAP 2335 varying vec2 vAoMapUv; 2336#endif 2337#ifdef USE_BUMPMAP 2338 varying vec2 vBumpMapUv; 2339#endif 2340#ifdef USE_NORMALMAP 2341 varying vec2 vNormalMapUv; 2342#endif 2343#ifdef USE_EMISSIVEMAP 2344 varying vec2 vEmissiveMapUv; 2345#endif 2346#ifdef USE_METALNESSMAP 2347 varying vec2 vMetalnessMapUv; 2348#endif 2349#ifdef USE_ROUGHNESSMAP 2350 varying vec2 vRoughnessMapUv; 2351#endif 2352#ifdef USE_ANISOTROPYMAP 2353 varying vec2 vAnisotropyMapUv; 2354#endif 2355#ifdef USE_CLEARCOATMAP 2356 varying vec2 vClearcoatMapUv; 2357#endif 2358#ifdef USE_CLEARCOAT_NORMALMAP 2359 varying vec2 vClearcoatNormalMapUv; 2360#endif 2361#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2362 varying vec2 vClearcoatRoughnessMapUv; 2363#endif 2364#ifdef USE_IRIDESCENCEMAP 2365 varying vec2 vIridescenceMapUv; 2366#endif 2367#ifdef USE_IRIDESCENCE_THICKNESSMAP 2368 varying vec2 vIridescenceThicknessMapUv; 2369#endif 2370#ifdef USE_SHEEN_COLORMAP 2371 varying vec2 vSheenColorMapUv; 2372#endif 2373#ifdef USE_SHEEN_ROUGHNESSMAP 2374 varying vec2 vSheenRoughnessMapUv; 2375#endif 2376#ifdef USE_SPECULARMAP 2377 varying vec2 vSpecularMapUv; 2378#endif 2379#ifdef USE_SPECULAR_COLORMAP 2380 varying vec2 vSpecularColorMapUv; 2381#endif 2382#ifdef USE_SPECULAR_INTENSITYMAP 2383 varying vec2 vSpecularIntensityMapUv; 2384#endif 2385#ifdef USE_TRANSMISSIONMAP 2386 uniform mat3 transmissionMapTransform; 2387 varying vec2 vTransmissionMapUv; 2388#endif 2389#ifdef USE_THICKNESSMAP 2390 uniform mat3 thicknessMapTransform; 2391 varying vec2 vThicknessMapUv; 2392#endif`,sD=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2393 varying vec2 vUv; 2394#endif 2395#ifdef USE_MAP 2396 uniform mat3 mapTransform; 2397 varying vec2 vMapUv; 2398#endif 2399#ifdef USE_ALPHAMAP 2400 uniform mat3 alphaMapTransform; 2401 varying vec2 vAlphaMapUv; 2402#endif 2403#ifdef USE_LIGHTMAP 2404 uniform mat3 lightMapTransform; 2405 varying vec2 vLightMapUv; 2406#endif 2407#ifdef USE_AOMAP 2408 uniform mat3 aoMapTransform; 2409 varying vec2 vAoMapUv; 2410#endif 2411#ifdef USE_BUMPMAP 2412 uniform mat3 bumpMapTransform; 2413 varying vec2 vBumpMapUv; 2414#endif 2415#ifdef USE_NORMALMAP 2416 uniform mat3 normalMapTransform; 2417 varying vec2 vNormalMapUv; 2418#endif 2419#ifdef USE_DISPLACEMENTMAP 2420 uniform mat3 displacementMapTransform; 2421 varying vec2 vDisplacementMapUv; 2422#endif 2423#ifdef USE_EMISSIVEMAP 2424 uniform mat3 emissiveMapTransform; 2425 varying vec2 vEmissiveMapUv; 2426#endif 2427#ifdef USE_METALNESSMAP 2428 uniform mat3 metalnessMapTransform; 2429 varying vec2 vMetalnessMapUv; 2430#endif 2431#ifdef USE_ROUGHNESSMAP 2432 uniform mat3 roughnessMapTransform; 2433 varying vec2 vRoughnessMapUv; 2434#endif 2435#ifdef USE_ANISOTROPYMAP 2436 uniform mat3 anisotropyMapTransform; 2437 varying vec2 vAnisotropyMapUv; 2438#endif 2439#ifdef USE_CLEARCOATMAP 2440 uniform mat3 clearcoatMapTransform; 2441 varying vec2 vClearcoatMapUv; 2442#endif 2443#ifdef USE_CLEARCOAT_NORMALMAP 2444 uniform mat3 clearcoatNormalMapTransform; 2445 varying vec2 vClearcoatNormalMapUv; 2446#endif 2447#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2448 uniform mat3 clearcoatRoughnessMapTransform; 2449 varying vec2 vClearcoatRoughnessMapUv; 2450#endif 2451#ifdef USE_SHEEN_COLORMAP 2452 uniform mat3 sheenColorMapTransform; 2453 varying vec2 vSheenColorMapUv; 2454#endif 2455#ifdef USE_SHEEN_ROUGHNESSMAP 2456 uniform mat3 sheenRoughnessMapTransform; 2457 varying vec2 vSheenRoughnessMapUv; 2458#endif 2459#ifdef USE_IRIDESCENCEMAP 2460 uniform mat3 iridescenceMapTransform; 2461 varying vec2 vIridescenceMapUv; 2462#endif 2463#ifdef USE_IRIDESCENCE_THICKNESSMAP 2464 uniform mat3 iridescenceThicknessMapTransform; 2465 varying vec2 vIridescenceThicknessMapUv; 2466#endif 2467#ifdef USE_SPECULARMAP 2468 uniform mat3 specularMapTransform; 2469 varying vec2 vSpecularMapUv; 2470#endif 2471#ifdef USE_SPECULAR_COLORMAP 2472 uniform mat3 specularColorMapTransform; 2473 varying vec2 vSpecularColorMapUv; 2474#endif 2475#ifdef USE_SPECULAR_INTENSITYMAP 2476 uniform mat3 specularIntensityMapTransform; 2477 varying vec2 vSpecularIntensityMapUv; 2478#endif 2479#ifdef USE_TRANSMISSIONMAP 2480 uniform mat3 transmissionMapTransform; 2481 varying vec2 vTransmissionMapUv; 2482#endif 2483#ifdef USE_THICKNESSMAP 2484 uniform mat3 thicknessMapTransform; 2485 varying vec2 vThicknessMapUv; 2486#endif`,oD=`#if defined( USE_UV ) || defined( USE_ANISOTROPY ) 2487 vUv = vec3( uv, 1 ).xy; 2488#endif 2489#ifdef USE_MAP 2490 vMapUv = ( mapTransform * vec3( MAP_UV, 1 ) ).xy; 2491#endif 2492#ifdef USE_ALPHAMAP 2493 vAlphaMapUv = ( alphaMapTransform * vec3( ALPHAMAP_UV, 1 ) ).xy; 2494#endif 2495#ifdef USE_LIGHTMAP 2496 vLightMapUv = ( lightMapTransform * vec3( LIGHTMAP_UV, 1 ) ).xy; 2497#endif 2498#ifdef USE_AOMAP 2499 vAoMapUv = ( aoMapTransform * vec3( AOMAP_UV, 1 ) ).xy; 2500#endif 2501#ifdef USE_BUMPMAP 2502 vBumpMapUv = ( bumpMapTransform * vec3( BUMPMAP_UV, 1 ) ).xy; 2503#endif 2504#ifdef USE_NORMALMAP 2505 vNormalMapUv = ( normalMapTransform * vec3( NORMALMAP_UV, 1 ) ).xy; 2506#endif 2507#ifdef USE_DISPLACEMENTMAP 2508 vDisplacementMapUv = ( displacementMapTransform * vec3( DISPLACEMENTMAP_UV, 1 ) ).xy; 2509#endif 2510#ifdef USE_EMISSIVEMAP 2511 vEmissiveMapUv = ( emissiveMapTransform * vec3( EMISSIVEMAP_UV, 1 ) ).xy; 2512#endif 2513#ifdef USE_METALNESSMAP 2514 vMetalnessMapUv = ( metalnessMapTransform * vec3( METALNESSMAP_UV, 1 ) ).xy; 2515#endif 2516#ifdef USE_ROUGHNESSMAP 2517 vRoughnessMapUv = ( roughnessMapTransform * vec3( ROUGHNESSMAP_UV, 1 ) ).xy; 2518#endif 2519#ifdef USE_ANISOTROPYMAP 2520 vAnisotropyMapUv = ( anisotropyMapTransform * vec3( ANISOTROPYMAP_UV, 1 ) ).xy; 2521#endif 2522#ifdef USE_CLEARCOATMAP 2523 vClearcoatMapUv = ( clearcoatMapTransform * vec3( CLEARCOATMAP_UV, 1 ) ).xy; 2524#endif 2525#ifdef USE_CLEARCOAT_NORMALMAP 2526 vClearcoatNormalMapUv = ( clearcoatNormalMapTransform * vec3( CLEARCOAT_NORMALMAP_UV, 1 ) ).xy; 2527#endif 2528#ifdef USE_CLEARCOAT_ROUGHNESSMAP 2529 vClearcoatRoughnessMapUv = ( clearcoatRoughnessMapTransform * vec3( CLEARCOAT_ROUGHNESSMAP_UV, 1 ) ).xy; 2530#endif
2531#ifdef USE_IRIDESCENCEMAP 2532 vIridescenceMapUv = ( iridescenceMapTransform * vec3( IRIDESCENCEMAP_UV, 1 ) ).xy; 2533#endif 2534#ifdef USE_IRIDESCENCE_THICKNESSMAP 2535 vIridescenceThicknessMapUv = ( iridescenceThicknessMapTransform * vec3( IRIDESCENCE_THICKNESSMAP_UV, 1 ) ).xy; 2536#endif 2537#ifdef USE_SHEEN_COLORMAP 2538 vSheenColorMapUv = ( sheenColorMapTransform * vec3( SHEEN_COLORMAP_UV, 1 ) ).xy; 2539#endif 2540#ifdef USE_SHEEN_ROUGHNESSMAP 2541 vSheenRoughnessMapUv = ( sheenRoughnessMapTransform * vec3( SHEEN_ROUGHNESSMAP_UV, 1 ) ).xy; 2542#endif 2543#ifdef USE_SPECULARMAP 2544 vSpecularMapUv = ( specularMapTransform * vec3( SPECULARMAP_UV, 1 ) ).xy; 2545#endif 2546#ifdef USE_SPECULAR_COLORMAP 2547 vSpecularColorMapUv = ( specularColorMapTransform * vec3( SPECULAR_COLORMAP_UV, 1 ) ).xy; 2548#endif 2549#ifdef USE_SPECULAR_INTENSITYMAP 2550 vSpecularIntensityMapUv = ( specularIntensityMapTransform * vec3( SPECULAR_INTENSITYMAP_UV, 1 ) ).xy; 2551#endif 2552#ifdef USE_TRANSMISSIONMAP 2553 vTransmissionMapUv = ( transmissionMapTransform * vec3( TRANSMISSIONMAP_UV, 1 ) ).xy; 2554#endif 2555#ifdef USE_THICKNESSMAP 2556 vThicknessMapUv = ( thicknessMapTransform * vec3( THICKNESSMAP_UV, 1 ) ).xy; 2557#endif`,aD=`#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_LIGHT_COORDS > 0 2558 vec4 worldPosition = vec4( transformed, 1.0 ); 2559 #ifdef USE_BATCHING 2560 worldPosition = batchingMatrix * worldPosition; 2561 #endif 2562 #ifdef USE_INSTANCING 2563 worldPosition = instanceMatrix * worldPosition; 2564 #endif 2565 worldPosition = modelMatrix * worldPosition; 2566#endif`;const lD=`varying vec2 vUv; 2567uniform mat3 uvTransform; 2568void main() { 2569 vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 2570 gl_Position = vec4( position.xy, 1.0, 1.0 ); 2571}`,cD=`uniform sampler2D t2D; 2572uniform float backgroundIntensity; 2573varying vec2 vUv; 2574void main() { 2575 vec4 texColor = texture2D( t2D, vUv ); 2576 #ifdef DECODE_VIDEO_TEXTURE 2577 texColor = vec4( mix( pow( texColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), texColor.rgb * 0.0773993808, vec3( lessThanEqual( texColor.rgb, vec3( 0.04045 ) ) ) ), texColor.w ); 2578 #endif 2579 texColor.rgb *= backgroundIntensity; 2580 gl_FragColor = texColor; 2581 #include <tonemapping_fragment> 2582 #include <colorspace_fragment> 2583}`,uD=`varying vec3 vWorldDirection; 2584#include <common> 2585void main() { 2586 vWorldDirection = transformDirection( position, modelMatrix ); 2587 #include <begin_vertex> 2588 #include <project_vertex> 2589 gl_Position.z = gl_Position.w; 2590}`,hD=`#ifdef ENVMAP_TYPE_CUBE 2591 uniform samplerCube envMap; 2592#elif defined( ENVMAP_TYPE_CUBE_UV ) 2593 uniform sampler2D envMap; 2594#endif 2595uniform float flipEnvMap; 2596uniform float backgroundBlurriness; 2597uniform float backgroundIntensity; 2598uniform mat3 backgroundRotation; 2599varying vec3 vWorldDirection; 2600#include <cube_uv_reflection_fragment> 2601void main() { 2602 #ifdef ENVMAP_TYPE_CUBE 2603 vec4 texColor = textureCube( envMap, backgroundRotation * vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) ); 2604 #elif defined( ENVMAP_TYPE_CUBE_UV ) 2605 vec4 texColor = textureCubeUV( envMap, backgroundRotation * vWorldDirection, backgroundBlurriness ); 2606 #else 2607 vec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 ); 2608 #endif 2609 texColor.rgb *= backgroundIntensity; 2610 gl_FragColor = texColor; 2611 #include <tonemapping_fragment> 2612 #include <colorspace_fragment> 2613}`,dD=`varying vec3 vWorldDirection; 2614#include <common> 2615void main() { 2616 vWorldDirection = transformDirection( position, modelMatrix ); 2617 #include <begin_vertex> 2618 #include <project_vertex> 2619 gl_Position.z = gl_Position.w; 2620}`,fD=`uniform samplerCube tCube; 2621uniform float tFlip; 2622uniform float opacity; 2623varying vec3 vWorldDirection; 2624void main() { 2625 vec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) ); 2626 gl_FragColor = texColor; 2627 gl_FragColor.a *= opacity; 2628 #include <tonemapping_fragment> 2629 #include <colorspace_fragment> 2630}`,pD=`#include <common> 2631#include <batching_pars_vertex> 2632#include <uv_pars_vertex> 2633#include <displacementmap_pars_vertex> 2634#include <morphtarget_pars_vertex> 2635#include <skinning_pars_vertex> 2636#include <logdepthbuf_pars_vertex> 2637#include <clipping_planes_pars_vertex> 2638varying vec2 vHighPrecisionZW; 2639void main() { 2640 #include <uv_vertex> 2641 #include <batching_vertex> 2642 #include <skinbase_vertex> 2643 #include <morphinstance_vertex> 2644 #ifdef USE_DISPLACEMENTMAP 2645 #include <beginnormal_vertex> 2646 #include <morphnormal_vertex> 2647 #include <skinnormal_vertex> 2648 #endif 2649 #include <begin_vertex> 2650 #include <morphtarget_vertex> 2651 #include <skinning_vertex> 2652 #include <displacementmap_vertex> 2653 #include <project_vertex> 2654 #include <logdepthbuf_vertex> 2655 #include <clipping_planes_vertex> 2656 vHighPrecisionZW = gl_Position.zw; 2657}`,mD=`#if DEPTH_PACKING == 3200 2658 uniform float opacity; 2659#endif 2660#include <common> 2661#include <packing> 2662#include <uv_pars_fragment> 2663#include <map_pars_fragment> 2664#include <alphamap_pars_fragment> 2665#include <alphatest_pars_fragment> 2666#include <alphahash_pars_fragment> 2667#include <logdepthbuf_pars_fragment> 2668#include <clipping_planes_pars_fragment> 2669varying vec2 vHighPrecisionZW; 2670void main() { 2671 vec4 diffuseColor = vec4( 1.0 ); 2672 #include <clipping_planes_fragment> 2673 #if DEPTH_PACKING == 3200 2674 diffuseColor.a = opacity; 2675 #endif 2676 #include <map_fragment> 2677 #include <alphamap_fragment> 2678 #include <alphatest_fragment> 2679 #include <alphahash_fragment> 2680 #include <logdepthbuf_fragment> 2681 float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5; 2682 #if DEPTH_PACKING == 3200 2683 gl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity ); 2684 #elif DEPTH_PACKING == 3201 2685 gl_FragColor = packDepthToRGBA( fragCoordZ ); 2686 #elif DEPTH_PACKING == 3202 2687 gl_FragColor = vec4( packDepthToRGB( fragCoordZ ), 1.0 ); 2688 #elif DEPTH_PACKING == 3203 2689 gl_FragColor = vec4( packDepthToRG( fragCoordZ ), 0.0, 1.0 ); 2690 #endif 2691}`,gD=`#define DISTANCE 2692varying vec3 vWorldPosition; 2693#include <common> 2694#include <batching_pars_vertex> 2695#include <uv_pars_vertex> 2696#include <displacementmap_pars_vertex> 2697#include <morphtarget_pars_vertex> 2698#include <skinning_pars_vertex> 2699#include <clipping_planes_pars_vertex> 2700void main() { 2701 #include <uv_vertex> 2702 #include <batching_vertex> 2703 #include <skinbase_vertex> 2704 #include <morphinstance_vertex> 2705 #ifdef USE_DISPLACEMENTMAP 2706 #include <beginnormal_vertex> 2707 #include <morphnormal_vertex> 2708 #include <skinnormal_vertex> 2709 #endif 2710 #include <begin_vertex> 2711 #include <morphtarget_vertex> 2712 #include <skinning_vertex> 2713 #include <displacementmap_vertex> 2714 #include <project_vertex> 2715 #include <worldpos_vertex> 2716 #include <clipping_planes_vertex> 2717 vWorldPosition = worldPosition.xyz; 2718}`,yD=`#define DISTANCE 2719uniform vec3 referencePosition; 2720uniform float nearDistance; 2721uniform float farDistance; 2722varying vec3 vWorldPosition; 2723#include <common> 2724#include <packing> 2725#include <uv_pars_fragment> 2726#include <map_pars_fragment> 2727#include <alphamap_pars_fragment> 2728#include <alphatest_pars_fragment> 2729#include <alphahash_pars_fragment> 2730#include <clipping_planes_pars_fragment> 2731void main () { 2732 vec4 diffuseColor = vec4( 1.0 ); 2733 #include <clipping_planes_fragment> 2734 #include <map_fragment> 2735 #include <alphamap_fragment> 2736 #include <alphatest_fragment> 2737 #include <alphahash_fragment> 2738 float dist = length( vWorldPosition - referencePosition ); 2739 dist = ( dist - nearDistance ) / ( farDistance - nearDistance ); 2740 dist = saturate( dist ); 2741 gl_FragColor = packDepthToRGBA( dist ); 2742}`,vD=`varying vec3 vWorldDirection; 2743#include <common> 2744void main() { 2745 vWorldDirection = transformDirection( position, modelMatrix ); 2746 #include <begin_vertex> 2747 #include <project_vertex> 2748}`,_D=`uniform sampler2D tEquirect; 2749varying vec3 vWorldDirection; 2750#include <common> 2751void main() { 2752 vec3 direction = normalize( vWorldDirection ); 2753 vec2 sampleUV = equirectUv( direction ); 2754 gl_FragColor = texture2D( tEquirect, sampleUV ); 2755 #include <tonemapping_fragment> 2756 #include <colorspace_fragment> 2757}`,xD=`uniform float scale; 2758attribute float lineDistance; 2759varying float vLineDistance; 2760#include <common> 2761#include <uv_pars_vertex> 2762#include <color_pars_vertex> 2763#include <fog_pars_vertex> 2764#include <morphtarget_pars_vertex> 2765#include <logdepthbuf_pars_vertex> 2766#include <clipping_planes_pars_vertex> 2767void main() { 2768 vLineDistance = scale * lineDistance; 2769 #include <uv_vertex> 2770 #include <color_vertex> 2771 #include <morphinstance_vertex> 2772 #include <morphcolor_vertex> 2773 #include <begin_vertex> 2774 #include <morphtarget_vertex> 2775 #include <project_vertex> 2776 #include <logdepthbuf_vertex> 2777 #include <clipping_planes_vertex> 2778 #include <fog_vertex> 2779}`,MD=`uniform vec3 diffuse; 2780uniform float opacity; 2781uniform float dashSize; 2782uniform float totalSize; 2783varying float vLineDistance; 2784#include <common> 2785#include <color_pars_fragment> 2786#include <uv_pars_fragment> 2787#include <map_pars_fragment> 2788#include <fog_pars_fragment> 2789#include <logdepthbuf_pars_fragment> 2790#include <clipping_planes_pars_fragment> 2791void main() { 2792 vec4 diffuseColor = vec4( diffuse, opacity ); 2793 #include <clipping_planes_fragment> 2794 if ( mod( vLineDistance, totalSize ) > dashSize ) { 2795 discard; 2796 } 2797 vec3 outgoingLight = vec3( 0.0 ); 2798 #include <logdepthbuf_fragment> 2799 #include <map_fragment> 2800 #include <color_fragment> 2801 outgoingLight = diffuseColor.rgb; 2802 #include <opaque_fragment> 2803 #include <tonemapping_fragment> 2804 #include <colorspace_fragment> 2805 #include <fog_fragment> 2806 #include <premultiplied_alpha_fragment> 2807}`,SD=`#include <common> 2808#include <batching_pars_vertex> 2809#include <uv_pars_vertex> 2810#include <envmap_pars_vertex> 2811#include <color_pars_vertex> 2812#include <fog_pars_vertex> 2813#include <morphtarget_pars_vertex> 2814#include <skinning_pars_vertex> 2815#include <logdepthbuf_pars_vertex> 2816#include <clipping_planes_pars_vertex> 2817void main() { 2818 #include <uv_vertex> 2819 #include <color_vertex> 2820 #include <morphinstance_vertex> 2821 #include <morphcolor_vertex> 2822 #include <batching_vertex> 2823 #if defined ( USE_ENVMAP ) || defined ( USE_SKINNING ) 2824 #include <beginnormal_vertex> 2825 #include <morphnormal_vertex> 2826 #include <skinbase_vertex> 2827 #include <skinnormal_vertex> 2828 #include <defaultnormal_vertex> 2829 #endif 2830 #include <begin_vertex> 2831 #include <morphtarget_vertex> 2832 #include <skinning_vertex> 2833 #include <project_vertex> 2834 #include <logdepthbuf_vertex> 2835 #include <clipping_planes_vertex> 2836 #include <worldpos_vertex> 2837 #include <envmap_vertex> 2838 #include <fog_vertex> 2839}`,wD=`uniform vec3 diffuse; 2840uniform float opacity; 2841#ifndef FLAT_SHADED 2842 varying vec3 vNormal; 2843#endif 2844#include <common> 2845#include <dithering_pars_fragment> 2846#include <color_pars_fragment> 2847#include <uv_pars_fragment> 2848#include <map_pars_fragment> 2849#include <alphamap_pars_fragment> 2850#include <alphatest_pars_fragment> 2851#include <alphahash_pars_fragment> 2852#include <aomap_pars_fragment> 2853#include <lightmap_pars_fragment> 2854#include <envmap_common_pars_fragment> 2855#include <envmap_pars_fragment> 2856#include <fog_pars_fragment> 2857#include <specularmap_pars_fragment> 2858#include <logdepthbuf_pars_fragment> 2859#include <clipping_planes_pars_fragment> 2860void main() { 2861 vec4 diffuseColor = vec4( diffuse, opacity ); 2862 #include <clipping_planes_fragment> 2863 #include <logdepthbuf_fragment> 2864 #include <map_fragment> 2865 #include <color_fragment> 2866 #include <alphamap_fragment> 2867 #include <alphatest_fragment> 2868 #include <alphahash_fragment> 2869 #include <specularmap_fragment> 2870 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 2871 #ifdef USE_LIGHTMAP 2872 vec4 lightMapTexel = texture2D( lightMap, vLightMapUv ); 2873 reflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI; 2874 #else 2875 reflectedLight.indirectDiffuse += vec3( 1.0 ); 2876 #endif 2877 #include <aomap_fragment> 2878 reflectedLight.indirectDiffuse *= diffuseColor.rgb; 2879 vec3 outgoingLight = reflectedLight.indirectDiffuse; 2880 #include <envmap_fragment> 2881 #include <opaque_fragment> 2882 #include <tonemapping_fragment> 2883 #include <colorspace_fragment> 2884 #include <fog_fragment> 2885 #include <premultiplied_alpha_fragment> 2886 #include <dithering_fragment> 2887}`,AD=`#define LAMBERT 2888varying vec3 vViewPosition; 2889#include <common> 2890#include <batching_pars_vertex> 2891#include <uv_pars_vertex> 2892#include <displacementmap_pars_vertex> 2893#include <envmap_pars_vertex> 2894#include <color_pars_vertex> 2895#include <fog_pars_vertex> 2896#include <normal_pars_vertex> 2897#include <morphtarget_pars_vertex> 2898#include <skinning_pars_vertex> 2899#include <shadowmap_pars_vertex> 2900#include <logdepthbuf_pars_vertex> 2901#include <clipping_planes_pars_vertex> 2902void main() { 2903 #include <uv_vertex> 2904 #include <color_vertex> 2905 #include <morphinstance_vertex> 2906 #include <morphcolor_vertex> 2907 #include <batching_vertex> 2908 #include <beginnormal_vertex> 2909 #include <morphnormal_vertex> 2910 #include <skinbase_vertex> 2911 #include <skinnormal_vertex> 2912 #include <defaultnormal_vertex> 2913 #include <normal_vertex> 2914 #include <begin_vertex> 2915 #include <morphtarget_vertex> 2916 #include <skinning_vertex> 2917 #include <displacementmap_vertex> 2918 #include <project_vertex> 2919 #include <logdepthbuf_vertex> 2920 #include <clipping_planes_vertex> 2921 vViewPosition = - mvPosition.xyz; 2922 #include <worldpos_vertex> 2923 #include <envmap_vertex> 2924 #include <shadowmap_vertex> 2925 #include <fog_vertex> 2926}`,ED=`#define LAMBERT 2927uniform vec3 diffuse; 2928uniform vec3 emissive; 2929uniform float opacity; 2930#include <common> 2931#include <packing> 2932#include <dithering_pars_fragment> 2933#include <color_pars_fragment> 2934#include <uv_pars_fragment> 2935#include <map_pars_fragment> 2936#include <alphamap_pars_fragment> 2937#include <alphatest_pars_fragment> 2938#include <alphahash_pars_fragment> 2939#include <aomap_pars_fragment> 2940#include <lightmap_pars_fragment> 2941#include <emissivemap_pars_fragment> 2942#include <envmap_common_pars_fragment> 2943#include <envmap_pars_fragment> 2944#include <fog_pars_fragment> 2945#include <bsdfs> 2946#include <lights_pars_begin> 2947#include <normal_pars_fragment> 2948#include <lights_lambert_pars_fragment> 2949#include <shadowmap_pars_fragment> 2950#include <bumpmap_pars_fragment> 2951#include <normalmap_pars_fragment> 2952#include <specularmap_pars_fragment> 2953#include <logdepthbuf_pars_fragment> 2954#include <clipping_planes_pars_fragment> 2955void main() { 2956 vec4 diffuseColor = vec4( diffuse, opacity ); 2957 #include <clipping_planes_fragment> 2958 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 2959 vec3 totalEmissiveRadiance = emissive; 2960 #include <logdepthbuf_fragment> 2961 #include <map_fragment> 2962 #include <color_fragment> 2963 #include <alphamap_fragment> 2964 #include <alphatest_fragment> 2965 #include <alphahash_fragment> 2966 #include <specularmap_fragment> 2967 #include <normal_fragment_begin> 2968 #include <normal_fragment_maps> 2969 #include <emissivemap_fragment> 2970 #include <lights_lambert_fragment> 2971 #include <lights_fragment_begin> 2972 #include <lights_fragment_maps> 2973 #include <lights_fragment_end> 2974 #include <aomap_fragment> 2975 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; 2976 #include <envmap_fragment> 2977 #include <opaque_fragment> 2978 #include <tonemapping_fragment> 2979 #include <colorspace_fragment> 2980 #include <fog_fragment> 2981 #include <premultiplied_alpha_fragment> 2982 #include <dithering_fragment> 2983}`,bD=`#define MATCAP 2984varying vec3 vViewPosition; 2985#include <common> 2986#include <batching_pars_vertex> 2987#include <uv_pars_vertex> 2988#include <color_pars_vertex> 2989#include <displacementmap_pars_vertex> 2990#include <fog_pars_vertex> 2991#include <normal_pars_vertex> 2992#include <morphtarget_pars_vertex> 2993#include <skinning_pars_vertex> 2994#include <logdepthbuf_pars_vertex> 2995#include <clipping_planes_pars_vertex> 2996void main() { 2997 #include <uv_vertex> 2998 #include <color_vertex> 2999 #include <morphinstance_vertex> 3000 #include <morphcolor_vertex> 3001 #include <batching_vertex> 3002 #include <beginnormal_vertex> 3003 #include <morphnormal_vertex> 3004 #include <skinbase_vertex> 3005 #include <skinnormal_vertex> 3006 #include <defaultnormal_vertex> 3007 #include <normal_vertex> 3008 #include <begin_vertex> 3009 #include <morphtarget_vertex> 3010 #include <skinning_vertex> 3011 #include <displacementmap_vertex> 3012 #include <project_vertex> 3013 #include <logdepthbuf_vertex> 3014 #include <clipping_planes_vertex> 3015 #include <fog_vertex> 3016 vViewPosition = - mvPosition.xyz; 3017}`,CD=`#define MATCAP 3018uniform vec3 diffuse; 3019uniform float opacity; 3020uniform sampler2D matcap; 3021varying vec3 vViewPosition; 3022#include <common> 3023#include <dithering_pars_fragment> 3024#include <color_pars_fragment> 3025#include <uv_pars_fragment> 3026#include <map_pars_fragment> 3027#include <alphamap_pars_fragment> 3028#include <alphatest_pars_fragment> 3029#include <alphahash_pars_fragment> 3030#include <fog_pars_fragment> 3031#include <normal_pars_fragment> 3032#include <bumpmap_pars_fragment> 3033#include <normalmap_pars_fragment> 3034#include <logdepthbuf_pars_fragment> 3035#include <clipping_planes_pars_fragment> 3036void main() { 3037 ve
3037c4 diffuseColor = vec4( diffuse, opacity ); 3038 #include <clipping_planes_fragment> 3039 #include <logdepthbuf_fragment> 3040 #include <map_fragment> 3041 #include <color_fragment> 3042 #include <alphamap_fragment> 3043 #include <alphatest_fragment> 3044 #include <alphahash_fragment> 3045 #include <normal_fragment_begin> 3046 #include <normal_fragment_maps> 3047 vec3 viewDir = normalize( vViewPosition ); 3048 vec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) ); 3049 vec3 y = cross( viewDir, x ); 3050 vec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5; 3051 #ifdef USE_MATCAP 3052 vec4 matcapColor = texture2D( matcap, uv ); 3053 #else 3054 vec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 ); 3055 #endif 3056 vec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb; 3057 #include <opaque_fragment> 3058 #include <tonemapping_fragment> 3059 #include <colorspace_fragment> 3060 #include <fog_fragment> 3061 #include <premultiplied_alpha_fragment> 3062 #include <dithering_fragment> 3063}`,TD=`#define NORMAL 3064#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3065 varying vec3 vViewPosition; 3066#endif 3067#include <common> 3068#include <batching_pars_vertex> 3069#include <uv_pars_vertex> 3070#include <displacementmap_pars_vertex> 3071#include <normal_pars_vertex> 3072#include <morphtarget_pars_vertex> 3073#include <skinning_pars_vertex> 3074#include <logdepthbuf_pars_vertex> 3075#include <clipping_planes_pars_vertex> 3076void main() { 3077 #include <uv_vertex> 3078 #include <batching_vertex> 3079 #include <beginnormal_vertex> 3080 #include <morphinstance_vertex> 3081 #include <morphnormal_vertex> 3082 #include <skinbase_vertex> 3083 #include <skinnormal_vertex> 3084 #include <defaultnormal_vertex> 3085 #include <normal_vertex> 3086 #include <begin_vertex> 3087 #include <morphtarget_vertex> 3088 #include <skinning_vertex> 3089 #include <displacementmap_vertex> 3090 #include <project_vertex> 3091 #include <logdepthbuf_vertex> 3092 #include <clipping_planes_vertex> 3093#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3094 vViewPosition = - mvPosition.xyz; 3095#endif 3096}`,ID=`#define NORMAL 3097uniform float opacity; 3098#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP_TANGENTSPACE ) 3099 varying vec3 vViewPosition; 3100#endif 3101#include <packing> 3102#include <uv_pars_fragment> 3103#include <normal_pars_fragment> 3104#include <bumpmap_pars_fragment> 3105#include <normalmap_pars_fragment> 3106#include <logdepthbuf_pars_fragment> 3107#include <clipping_planes_pars_fragment> 3108void main() { 3109 vec4 diffuseColor = vec4( 0.0, 0.0, 0.0, opacity ); 3110 #include <clipping_planes_fragment> 3111 #include <logdepthbuf_fragment> 3112 #include <normal_fragment_begin> 3113 #include <normal_fragment_maps> 3114 gl_FragColor = vec4( packNormalToRGB( normal ), diffuseColor.a ); 3115 #ifdef OPAQUE 3116 gl_FragColor.a = 1.0; 3117 #endif 3118}`,PD=`#define PHONG 3119varying vec3 vViewPosition; 3120#include <common> 3121#include <batching_pars_vertex> 3122#include <uv_pars_vertex> 3123#include <displacementmap_pars_vertex> 3124#include <envmap_pars_vertex> 3125#include <color_pars_vertex> 3126#include <fog_pars_vertex> 3127#include <normal_pars_vertex> 3128#include <morphtarget_pars_vertex> 3129#include <skinning_pars_vertex> 3130#include <shadowmap_pars_vertex> 3131#include <logdepthbuf_pars_vertex> 3132#include <clipping_planes_pars_vertex> 3133void main() { 3134 #include <uv_vertex> 3135 #include <color_vertex> 3136 #include <morphcolor_vertex> 3137 #include <batching_vertex> 3138 #include <beginnormal_vertex> 3139 #include <morphinstance_vertex> 3140 #include <morphnormal_vertex> 3141 #include <skinbase_vertex> 3142 #include <skinnormal_vertex> 3143 #include <defaultnormal_vertex> 3144 #include <normal_vertex> 3145 #include <begin_vertex> 3146 #include <morphtarget_vertex> 3147 #include <skinning_vertex> 3148 #include <displacementmap_vertex> 3149 #include <project_vertex> 3150 #include <logdepthbuf_vertex> 3151 #include <clipping_planes_vertex> 3152 vViewPosition = - mvPosition.xyz; 3153 #include <worldpos_vertex> 3154 #include <envmap_vertex> 3155 #include <shadowmap_vertex> 3156 #include <fog_vertex> 3157}`,RD=`#define PHONG 3158uniform vec3 diffuse; 3159uniform vec3 emissive; 3160uniform vec3 specular; 3161uniform float shininess; 3162uniform float opacity; 3163#include <common> 3164#include <packing> 3165#include <dithering_pars_fragment> 3166#include <color_pars_fragment> 3167#include <uv_pars_fragment> 3168#include <map_pars_fragment> 3169#include <alphamap_pars_fragment> 3170#include <alphatest_pars_fragment> 3171#include <alphahash_pars_fragment> 3172#include <aomap_pars_fragment> 3173#include <lightmap_pars_fragment> 3174#include <emissivemap_pars_fragment> 3175#include <envmap_common_pars_fragment> 3176#include <envmap_pars_fragment> 3177#include <fog_pars_fragment> 3178#include <bsdfs> 3179#include <lights_pars_begin> 3180#include <normal_pars_fragment> 3181#include <lights_phong_pars_fragment> 3182#include <shadowmap_pars_fragment> 3183#include <bumpmap_pars_fragment> 3184#include <normalmap_pars_fragment> 3185#include <specularmap_pars_fragment> 3186#include <logdepthbuf_pars_fragment> 3187#include <clipping_planes_pars_fragment> 3188void main() { 3189 vec4 diffuseColor = vec4( diffuse, opacity ); 3190 #include <clipping_planes_fragment> 3191 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3192 vec3 totalEmissiveRadiance = emissive; 3193 #include <logdepthbuf_fragment> 3194 #include <map_fragment> 3195 #include <color_fragment> 3196 #include <alphamap_fragment> 3197 #include <alphatest_fragment> 3198 #include <alphahash_fragment> 3199 #include <specularmap_fragment> 3200 #include <normal_fragment_begin> 3201 #include <normal_fragment_maps> 3202 #include <emissivemap_fragment> 3203 #include <lights_phong_fragment> 3204 #include <lights_fragment_begin> 3205 #include <lights_fragment_maps> 3206 #include <lights_fragment_end> 3207 #include <aomap_fragment> 3208 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance; 3209 #include <envmap_fragment> 3210 #include <opaque_fragment> 3211 #include <tonemapping_fragment> 3212 #include <colorspace_fragment> 3213 #include <fog_fragment> 3214 #include <premultiplied_alpha_fragment> 3215 #include <dithering_fragment> 3216}`,BD=`#define STANDARD 3217varying vec3 vViewPosition; 3218#ifdef USE_TRANSMISSION 3219 varying vec3 vWorldPosition; 3220#endif 3221#include <common> 3222#include <batching_pars_vertex> 3223#include <uv_pars_vertex> 3224#include <displacementmap_pars_vertex> 3225#include <color_pars_vertex> 3226#include <fog_pars_vertex> 3227#include <normal_pars_vertex> 3228#include <morphtarget_pars_vertex> 3229#include <skinning_pars_vertex> 3230#include <shadowmap_pars_vertex> 3231#include <logdepthbuf_pars_vertex> 3232#include <clipping_planes_pars_vertex> 3233void main() { 3234 #include <uv_vertex> 3235 #include <color_vertex> 3236 #include <morphinstance_vertex> 3237 #include <morphcolor_vertex> 3238 #include <batching_vertex> 3239 #include <beginnormal_vertex> 3240 #include <morphnormal_vertex> 3241 #include <skinbase_vertex> 3242 #include <skinnormal_vertex> 3243 #include <defaultnormal_vertex> 3244 #include <normal_vertex> 3245 #include <begin_vertex> 3246 #include <morphtarget_vertex> 3247 #include <skinning_vertex> 3248 #include <displacementmap_vertex> 3249 #include <project_vertex> 3250 #include <logdepthbuf_vertex> 3251 #include <clipping_planes_vertex> 3252 vViewPosition = - mvPosition.xyz; 3253 #include <worldpos_vertex> 3254 #include <shadowmap_vertex> 3255 #include <fog_vertex> 3256#ifdef USE_TRANSMISSION 3257 vWorldPosition = worldPosition.xyz; 3258#endif 3259}`,OD=`#define STANDARD 3260#ifdef PHYSICAL 3261 #define IOR 3262 #define USE_SPECULAR 3263#endif 3264uniform vec3 diffuse; 3265uniform vec3 emissive; 3266uniform float roughness; 3267uniform float metalness; 3268uniform float opacity; 3269#ifdef IOR 3270 uniform float ior; 3271#endif 3272#ifdef USE_SPECULAR 3273 uniform float specularIntensity; 3274 uniform vec3 specularColor; 3275 #ifdef USE_SPECULAR_COLORMAP 3276 uniform sampler2D specularColorMap; 3277 #endif 3278 #ifdef USE_SPECULAR_INTENSITYMAP 3279 uniform sampler2D specularIntensityMap; 3280 #endif 3281#endif 3282#ifdef USE_CLEARCOAT 3283 uniform float clearcoat; 3284 uniform float clearcoatRoughness; 3285#endif 3286#ifdef USE_DISPERSION 3287 uniform float dispersion; 3288#endif
3289#ifdef USE_IRIDESCENCE 3290 uniform float iridescence; 3291 uniform float iridescenceIOR; 3292 uniform float iridescenceThicknessMinimum; 3293 uniform float iridescenceThicknessMaximum; 3294#endif 3295#ifdef USE_SHEEN 3296 uniform vec3 sheenColor; 3297 uniform float sheenRoughness; 3298 #ifdef USE_SHEEN_COLORMAP 3299 uniform sampler2D sheenColorMap; 3300 #endif 3301 #ifdef USE_SHEEN_ROUGHNESSMAP 3302 uniform sampler2D sheenRoughnessMap; 3303 #endif 3304#endif 3305#ifdef USE_ANISOTROPY 3306 uniform vec2 anisotropyVector; 3307 #ifdef USE_ANISOTROPYMAP 3308 uniform sampler2D anisotropyMap; 3309 #endif 3310#endif 3311varying vec3 vViewPosition; 3312#include <common> 3313#include <packing> 3314#include <dithering_pars_fragment> 3315#include <color_pars_fragment> 3316#include <uv_pars_fragment> 3317#include <map_pars_fragment> 3318#include <alphamap_pars_fragment> 3319#include <alphatest_pars_fragment> 3320#include <alphahash_pars_fragment> 3321#include <aomap_pars_fragment> 3322#include <lightmap_pars_fragment> 3323#include <emissivemap_pars_fragment> 3324#include <iridescence_fragment> 3325#include <cube_uv_reflection_fragment> 3326#include <envmap_common_pars_fragment> 3327#include <envmap_physical_pars_fragment> 3328#include <fog_pars_fragment> 3329#include <lights_pars_begin> 3330#include <normal_pars_fragment> 3331#include <lights_physical_pars_fragment> 3332#include <transmission_pars_fragment> 3333#include <shadowmap_pars_fragment> 3334#include <bumpmap_pars_fragment> 3335#include <normalmap_pars_fragment> 3336#include <clearcoat_pars_fragment> 3337#include <iridescence_pars_fragment> 3338#include <roughnessmap_pars_fragment> 3339#include <metalnessmap_pars_fragment> 3340#include <logdepthbuf_pars_fragment> 3341#include <clipping_planes_pars_fragment> 3342void main() { 3343 vec4 diffuseColor = vec4( diffuse, opacity ); 3344 #include <clipping_planes_fragment> 3345 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3346 vec3 totalEmissiveRadiance = emissive; 3347 #include <logdepthbuf_fragment> 3348 #include <map_fragment> 3349 #include <color_fragment> 3350 #include <alphamap_fragment> 3351 #include <alphatest_fragment> 3352 #include <alphahash_fragment> 3353 #include <roughnessmap_fragment> 3354 #include <metalnessmap_fragment> 3355 #include <normal_fragment_begin> 3356 #include <normal_fragment_maps> 3357 #include <clearcoat_normal_fragment_begin> 3358 #include <clearcoat_normal_fragment_maps> 3359 #include <emissivemap_fragment> 3360 #include <lights_physical_fragment> 3361 #include <lights_fragment_begin> 3362 #include <lights_fragment_maps> 3363 #include <lights_fragment_end> 3364 #include <aomap_fragment> 3365 vec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse; 3366 vec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular; 3367 #include <transmission_fragment> 3368 vec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance; 3369 #ifdef USE_SHEEN 3370 float sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor ); 3371 outgoingLight = outgoingLight * sheenEnergyComp + sheenSpecularDirect + sheenSpecularIndirect; 3372 #endif 3373 #ifdef USE_CLEARCOAT 3374 float dotNVcc = saturate( dot( geometryClearcoatNormal, geometryViewDir ) ); 3375 vec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc ); 3376 outgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + ( clearcoatSpecularDirect + clearcoatSpecularIndirect ) * material.clearcoat; 3377 #endif 3378 #include <opaque_fragment> 3379 #include <tonemapping_fragment> 3380 #include <colorspace_fragment> 3381 #include <fog_fragment> 3382 #include <premultiplied_alpha_fragment> 3383 #include <dithering_fragment> 3384}`,DD=`#define TOON 3385varying vec3 vViewPosition; 3386#include <common> 3387#include <batching_pars_vertex> 3388#include <uv_pars_vertex> 3389#include <displacementmap_pars_vertex> 3390#include <color_pars_vertex> 3391#include <fog_pars_vertex> 3392#include <normal_pars_vertex> 3393#include <morphtarget_pars_vertex> 3394#include <skinning_pars_vertex> 3395#include <shadowmap_pars_vertex> 3396#include <logdepthbuf_pars_vertex> 3397#include <clipping_planes_pars_vertex> 3398void main() { 3399 #include <uv_vertex> 3400 #include <color_vertex> 3401 #include <morphinstance_vertex> 3402 #include <morphcolor_vertex> 3403 #include <batching_vertex> 3404 #include <beginnormal_vertex> 3405 #include <morphnormal_vertex> 3406 #include <skinbase_vertex> 3407 #include <skinnormal_vertex> 3408 #include <defaultnormal_vertex> 3409 #include <normal_vertex> 3410 #include <begin_vertex> 3411 #include <morphtarget_vertex> 3412 #include <skinning_vertex> 3413 #include <displacementmap_vertex> 3414 #include <project_vertex> 3415 #include <logdepthbuf_vertex> 3416 #include <clipping_planes_vertex> 3417 vViewPosition = - mvPosition.xyz; 3418 #include <worldpos_vertex> 3419 #include <shadowmap_vertex> 3420 #include <fog_vertex> 3421}`,LD=`#define TOON 3422uniform vec3 diffuse; 3423uniform vec3 emissive; 3424uniform float opacity; 3425#include <common> 3426#include <packing> 3427#include <dithering_pars_fragment> 3428#include <color_pars_fragment> 3429#include <uv_pars_fragment> 3430#include <map_pars_fragment> 3431#include <alphamap_pars_fragment> 3432#include <alphatest_pars_fragment> 3433#include <alphahash_pars_fragment> 3434#include <aomap_pars_fragment> 3435#include <lightmap_pars_fragment> 3436#include <emissivemap_pars_fragment> 3437#include <gradientmap_pars_fragment> 3438#include <fog_pars_fragment> 3439#include <bsdfs> 3440#include <lights_pars_begin> 3441#include <normal_pars_fragment> 3442#include <lights_toon_pars_fragment> 3443#include <shadowmap_pars_fragment> 3444#include <bumpmap_pars_fragment> 3445#include <normalmap_pars_fragment> 3446#include <logdepthbuf_pars_fragment> 3447#include <clipping_planes_pars_fragment> 3448void main() { 3449 vec4 diffuseColor = vec4( diffuse, opacity ); 3450 #include <clipping_planes_fragment> 3451 ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); 3452 vec3 totalEmissiveRadiance = emissive; 3453 #include <logdepthbuf_fragment> 3454 #include <map_fragment> 3455 #include <color_fragment> 3456 #include <alphamap_fragment> 3457 #include <alphatest_fragment> 3458 #include <alphahash_fragment> 3459 #include <normal_fragment_begin> 3460 #include <normal_fragment_maps> 3461 #include <emissivemap_fragment> 3462 #include <lights_toon_fragment> 3463 #include <lights_fragment_begin> 3464 #include <lights_fragment_maps> 3465 #include <lights_fragment_end> 3466 #include <aomap_fragment> 3467 vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance; 3468 #include <opaque_fragment> 3469 #include <tonemapping_fragment> 3470 #include <colorspace_fragment> 3471 #include <fog_fragment> 3472 #include <premultiplied_alpha_fragment> 3473 #include <dithering_fragment> 3474}`,ND=`uniform float size; 3475uniform float scale; 3476#include <common> 3477#include <color_pars_vertex> 3478#include <fog_pars_vertex> 3479#include <morphtarget_pars_vertex> 3480#include <logdepthbuf_pars_vertex> 3481#include <clipping_planes_pars_vertex> 3482#ifdef USE_POINTS_UV 3483 varying vec2 vUv; 3484 uniform mat3 uvTransform; 3485#endif 3486void main() { 3487 #ifdef USE_POINTS_UV 3488 vUv = ( uvTransform * vec3( uv, 1 ) ).xy; 3489 #endif 3490 #include <color_vertex> 3491 #include <morphinstance_vertex> 3492 #include <morphcolor_vertex> 3493 #include <begin_vertex> 3494 #include <morphtarget_vertex> 3495 #include <project_vertex> 3496 gl_PointSize = size; 3497 #ifdef USE_SIZEATTENUATION 3498 bool isPerspective = isPerspectiveMatrix( projectionMatrix ); 3499 if ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z ); 3500 #endif 3501 #include <logdepthbuf_vertex> 3502 #include <clipping_planes_vertex> 3503 #include <worldpos_vertex> 3504 #include <fog_vertex> 3505}`,FD=`uniform vec3 diffuse; 3506uniform float opacity; 3507#include <common> 3508#include <color_pars_fragment> 3509#include <map_particle_pars_fragment> 3510#include <alphatest_pars_fragment> 3511#include <alphahash_pars_fragment> 3512#include <fog_pars_fragment> 3513#include <logdepthbuf_pars_fragment> 3514#include <clipping_planes_pars_fragment> 3515void main() { 3516 vec4 diffuseColor = vec4( diffuse, opacity ); 3517 #include <clipping_planes_fragment> 3518 vec3 outgoingLight = vec3( 0.0 ); 3519 #include <logdepthbuf_fragment> 3520 #include <map_particle_fragment> 3521 #include <color_fragment> 3522 #include <alphatest_fragment> 3523 #include <alphahash_fragment> 3524 outgoingLight = diffuseColor.rgb; 3525 #include <opaque_fragment> 3526 #include <tonemapping_fragment> 3527 #include <colorspace_fragment> 3528 #include <fog_fragment> 3529 #include <premultiplied_alpha_fragment> 3530}`,kD=`#include <common> 3531#include <batching_pars_vertex> 3532#include <fog_pars_vertex> 3533#include <morphtarget_pars_vertex> 3534#include <skinning_pars_vertex> 3535#include <logdepthbuf_pars_vertex> 3536#include <shadowmap_pars_vertex> 3537void main() { 3538 #include <batching_vertex> 3539 #include <beginnormal_vertex> 3540 #include <morphinstance_vertex> 3541 #include <morphnormal_vertex> 3542 #include <skinbase_vertex> 3543 #include <skinnormal_vertex> 3544 #include <defaultnormal_vertex> 3545 #include <begin_vertex> 3546 #include <morphtarget_vertex> 3547 #include <skinning_vertex> 3548 #include <project_vertex> 3549 #include <logdepthbuf_vertex> 3550 #include <worldpos_vertex> 3551 #include <shadowmap_vertex> 3552 #include <fog_vertex> 3553}`,UD=`uniform vec3 color; 3554uniform float opacity; 3555#include <common> 3556#include <packing> 3557#include <fog_pars_fragment> 3558#include <bsdfs> 3559#include <lights_pars_begin> 3560#include <logdepthbuf_pars_fragment> 3561#include <shadowmap_pars_fragment> 3562#include <shadowmask_pars_fragment> 3563void main() { 3564 #include <logdepthbuf_fragment> 3565 gl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) ); 3566 #include <tonemapping_fragment> 3567 #include <colorspace_fragment> 3568 #include <fog_fragment> 3569}`,jD=`uniform float rotation; 3570uniform vec2 center; 3571#include <common> 3572#include <uv_pars_vertex> 3573#include <fog_pars_vertex> 3574#include <logdepthbuf_pars_vertex> 3575#include <clipping_planes_pars_vertex> 3576void main() { 3577 #include <uv_vertex> 3578 vec4 mvPosition = modelViewMatrix[ 3 ]; 3579 vec2 scale = vec2( length( modelMatrix[ 0 ].xyz ), length( modelMatrix[ 1 ].xyz ) ); 3580 #ifndef USE_SIZEATTENUATION 3581 bool isPerspective = isPerspectiveMatrix( projectionMatrix ); 3582 if ( isPerspective ) scale *= - mvPosition.z; 3583 #endif 3584 vec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale; 3585 vec2 rotatedPosition; 3586 rotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y; 3587 rotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y; 3588 mvPosition.xy += rotatedPosition; 3589 gl_Position = projectionMatrix * mvPosition; 3590 #include <logdepthbuf_vertex> 3591 #include <clipping_planes_vertex> 3592 #include <fog_vertex> 3593}`,zD=`uniform vec3 diffuse; 3594uniform float opacity; 3595#include <common> 3596#include <uv_pars_fragment> 3597#include <map_pars_fragment> 3598#include <alphamap_pars_fragment> 3599#include <alphatest_pars_fragment> 3600#include <alphahash_pars_fragment> 3601#include <fog_pars_fragment> 3602#include <logdepthbuf_pars_fragment> 3603#include <clipping_planes_pars_fragment> 3604void main() { 3605 vec4 diffuseColor = vec4( diffuse, opacity ); 3606 #include <clipping_planes_fragment> 3607 vec3 outgoingLight = vec3( 0.0 ); 3608 #include <logdepthbuf_fragment> 3609 #include <map_fragment> 3610 #include <alphamap_fragment> 3611 #include <alphatest_fragment> 3612 #include <alphahash_fragment> 3613 outgoingLight = diffuseColor.rgb; 3614 #include <opaque_fragment> 3615 #include <tonemapping_fragment> 3616 #include <colorspace_fragment> 3617 #include <fog_fragment> 3618}`,an={alphahash_fragment:cB,alphahash_pars_fragment:uB,alphamap_fragment:hB,alphamap_pars_fragment:dB,alphatest_fragment:fB,alphatest_pars_fragment:pB,aomap_fragment:mB,aomap_pars_fragment:gB,batching_pars_vertex:yB,batching_vertex:vB,begin_vertex:_B,beginnormal_vertex:xB,bsdfs:MB,iridescence_fragment:SB,bumpmap_pars_fragment:wB,clipping_planes_fragment:AB,clipping_planes_pars_fragment:EB,clipping_planes_pars_vertex:bB,clipping_planes_vertex:CB,color_fragment:TB,color_pars_fragment:IB,color_pars_vertex:PB,color_vertex:RB,common:BB,cube_uv_reflection_fragment:OB,defaultnormal_vertex:DB,displacementmap_pars_vertex:LB,displacementmap_vertex:NB,emissivemap_fragment:FB,emissivemap_pars_fragment:kB,colorspace_fragment:UB,colorspace_pars_fragment:jB,envmap_fragment:zB,envmap_common_pars_fragment:HB,envmap_pars_fragment:GB,envmap_pars_vertex:VB,envmap_physical_pars_fragment:tO,envmap_vertex:WB,fog_vertex:XB,fog_pars_vertex:JB,fog_fragment:$B,fog_pars_fragment:KB,gradientmap_pars_fragment:YB,lightmap_pars_fragment:qB,lights_lambert_fragment:QB,lights_lambert_pars_fragment:ZB,lights_pars_begin:eO,lights_toon_fragment:nO,lights_toon_pars_fragment:rO,lights_phong_fragment:iO,lights_phong_pars_fragment:sO,lights_physical_fragment:oO,lights_physical_pars_fragment:aO,lights_fragment_begin:lO,lights_fragment_maps:cO,lights_fragment_end:uO,logdepthbuf_fragment:hO,logdepthbuf_pars_fragment:dO,logdepthbuf_pars_vertex:fO,logdepthbuf_vertex:pO,map_fragment:mO,map_pars_fragment:gO,map_particle_fragment:yO,map_particle_pars_fragment:vO,metalnessmap_fragment:_O,metalnessmap_pars_fragment:xO,morphinstance_vertex:MO,morphcolor_vertex:SO,morphnormal_vertex:wO,morphtarget_pars_vertex:AO,morphtarget_vertex:EO,normal_fragment_begin:bO,normal_fragment_maps:CO,normal_pars_fragment:TO,normal_pars_vertex:IO,normal_vertex:PO,normalmap_pars_fragment:RO,clearcoat_normal_fragment_begin:BO,clearcoat_normal_fragment_maps:OO,clearcoat_pars_fragment:DO,iridescence_pars_fragment:LO,opaque_fragment:NO,packing:FO,premultiplied_alpha_fragment:kO,project_vertex:UO,dithering_fragment:jO,dithering_pars_fragment:zO,roughnessmap_fragment:HO,roughnessmap_pars_fragment:GO,shadowmap_pars_fragment:VO,shadowmap_pars_vertex:WO,shadowmap_vertex:XO,shadowmask_pars_fragment:JO,skinbase_vertex:$O,skinning_pars_vertex:KO,skinning_vertex:YO,skinnormal_vertex:qO,specularmap_fragment:QO,specularmap_pars_fragment:ZO,tonemapping_fragment:eD,tonemapping_pars_fragment:tD,transmission_fragment:nD,transmission_pars_fragment:rD,uv_pars_fragment:iD,uv_pars_vertex:sD,uv_vertex:oD,worldpos_vertex:aD,background_vert:lD,background_frag:cD,backgroundCube_vert:uD,backgroundCube_frag:hD,cube_vert:dD,cube_frag:fD,depth_vert:pD,depth_frag:mD,distanceRGBA_vert:gD,distanceRGBA_frag:yD,equirect_vert:vD,equirect_frag:_D,linedashed_vert:xD,linedashed_frag:MD,meshbasic_vert:SD,meshbasic_frag:wD,meshlambert_vert:AD,meshlambert_frag:ED,meshmatcap_vert:bD,meshmatcap_frag:CD,meshnormal_vert:TD,meshnormal_frag:ID,meshphong_vert:PD,meshphong_frag:RD,meshphysical_vert:BD,meshphysical_frag:OD,meshtoon_vert:DD,meshtoon_frag:LD,points_vert:ND,points_frag:FD,shadow_vert:kD,shadow_frag:UD,sprite_vert:jD,sprite_frag:zD},it={common:{diffuse:{value:new tt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new Qt}},envmap:{envMap:{value:null},envMapRotation:{value:new Qt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new Qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new Qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new Qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new Qt},normalScale:{value:new Ne(1,1)}}
vendor: 19,110 bytes, line 3618
3618,displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new Qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new Qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new Qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new Qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new tt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,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 tt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0},uvTransform:{value:new Qt}},sprite:{diffuse:{value:new tt(16777215)},opacity:{value:1},center:{value:new Ne(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new Qt},alphaMap:{value:null},alphaMapTransform:{value:new Qt},alphaTest:{value:0}}},_o={basic:{uniforms:Pi([it.common,it.specularmap,it.envmap,it.aomap,it.lightmap,it.fog]),vertexShader:an.meshbasic_vert,fragmentShader:an.meshbasic_frag},lambert:{uniforms:Pi([it.common,it.specularmap,it.envmap,it.aomap,it.lightmap,it.emissivemap,it.bumpmap,it.normalmap,it.displacementmap,it.fog,it.lights,{emissive:{value:new tt(0)}}]),vertexShader:an.meshlambert_vert,fragmentShader:an.meshlambert_frag},phong:{uniforms:Pi([it.common,it.specularmap,it.envmap,it.aomap,it.lightmap,it.emissivemap,it.bumpmap,it.normalmap,it.displacementmap,it.fog,it.lights,{emissive:{value:new tt(0)},specular:{value:new tt(1118481)},shininess:{value:30}}]),vertexShader:an.meshphong_vert,fragmentShader:an.meshphong_frag},standard:{uniforms:Pi([it.common,it.envmap,it.aomap,it.lightmap,it.emissivemap,it.bumpmap,it.normalmap,it.displacementmap,it.roughnessmap,it.metalnessmap,it.fog,it.lights,{emissive:{value:new tt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:an.meshphysical_vert,fragmentShader:an.meshphysical_frag},toon:{uniforms:Pi([it.common,it.aomap,it.lightmap,it.emissivemap,it.bumpmap,it.normalmap,it.displacementmap,it.gradientmap,it.fog,it.lights,{emissive:{value:new tt(0)}}]),vertexShader:an.meshtoon_vert,fragmentShader:an.meshtoon_frag},matcap:{uniforms:Pi([it.common,it.bumpmap,it.normalmap,it.displacementmap,it.fog,{matcap:{value:null}}]),vertexShader:an.meshmatcap_vert,fragmentShader:an.meshmatcap_frag},points:{uniforms:Pi([it.points,it.fog]),vertexShader:an.points_vert,fragmentShader:an.points_frag},dashed:{uniforms:Pi([it.common,it.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:an.linedashed_vert,fragmentShader:an.linedashed_frag},depth:{uniforms:Pi([it.common,it.displacementmap]),vertexShader:an.depth_vert,fragmentShader:an.depth_frag},normal:{uniforms:Pi([it.common,it.bumpmap,it.normalmap,it.displacementmap,{opacity:{value:1}}]),vertexShader:an.meshnormal_vert,fragmentShader:an.meshnormal_frag},sprite:{uniforms:Pi([it.sprite,it.fog]),vertexShader:an.sprite_vert,fragmentShader:an.sprite_frag},background:{uniforms:{uvTransform:{value:new Qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:an.background_vert,fragmentShader:an.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new Qt}},vertexShader:an.backgroundCube_vert,fragmentShader:an.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:an.cube_vert,fragmentShader:an.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:an.equirect_vert,fragmentShader:an.equirect_frag},distanceRGBA:{uniforms:Pi([it.common,it.displacementmap,{referencePosition:{value:new $},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:an.distanceRGBA_vert,fragmentShader:an.distanceRGBA_frag},shadow:{uniforms:Pi([it.lights,it.fog,{color:{value:new tt(0)},opacity:{value:1}}]),vertexShader:an.shadow_vert,fragmentShader:an.shadow_frag}};_o.physical={uniforms:Pi([_o.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new Qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new Qt},clearcoatNormalScale:{value:new Ne(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new Qt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new Qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new Qt},sheen:{value:0},sheenColor:{value:new tt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new Qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new Qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new Qt},transmissionSamplerSize:{value:new Ne},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new Qt},attenuationDistance:{value:0},attenuationColor:{value:new tt(0)},specularColor:{value:new tt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new Qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new Qt},anisotropyVector:{value:new Ne},anisotropyMap:{value:null},anisotropyMapTransform:{value:new Qt}}]),vertexShader:an.meshphysical_vert,fragmentShader:an.meshphysical_frag};const ig={r:0,b:0,g:0},au=new Ms,HD=new Nt;function GD(r,e,t,n,i,s,o){const l=new tt(0);let u=s===!0?0:1,d,p,m=null,y=0,v=null;function S(I){let P=I.isScene===!0?I.background:null;return P&&P.isTexture&&(P=(I.backgroundBlurriness>0?t:e).get(P)),P}function E(I){let P=!1;const k=S(I);k===null?M(l,u):k&&k.isColor&&(M(k,1),P=!0);const O=r.xr.getEnvironmentBlendMode();O==="additive"?n.buffers.color.setClear(0,0,0,1,o):O==="alpha-blend"&&n.buffers.color.setClear(0,0,0,0,o),(r.autoClear||P)&&(n.buffers.depth.setTest(!0),n.buffers.depth.setMask(!0),n.buffers.color.setMask(!0),r.clear(r.autoClearColor,r.autoClearDepth,r.autoClearStencil))}function A(I,P){const k=S(P);k&&(k.isCubeTexture||k.mapping===Vd)?(p===void 0&&(p=new hr(new zu(1,1,1),new So({name:"BackgroundCubeMaterial",uniforms:kd(_o.backgroundCube.uniforms),vertexShader:_o.backgroundCube.vertexShader,fragmentShader:_o.backgroundCube.fragmentShader,side:Ni,depthTest:!1,depthWrite:!1,fog:!1})),p.geometry.deleteAttribute("normal"),p.geometry.deleteAttribute("uv"),p.onBeforeRender=function(O,N,H){this.matrixWorld.copyPosition(H.matrixWorld)},Object.defineProperty(p.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(p)),au.copy(P.backgroundRotation),au.x*=-1,au.y*=-1,au.z*=-1,k.isCubeTexture&&k.isRenderTargetTexture===!1&&(au.y*=-1,au.z*=-1),p.material.uniforms.envMap.value=k,p.material.uniforms.flipEnvMap.value=k.isCubeTexture&&k.isRenderTargetTexture===!1?-1:1,p.material.uniforms.backgroundBlurriness.value=P.backgroundBlurriness,p.material.uniforms.backgroundIntensity.value=P.backgroundIntensity,p.material.uniforms.backgroundRotation.value.setFromMatrix4(HD.makeRotationFromEuler(au)),p.material.toneMapped=yn.getTransfer(k.colorSpace)!==Cn,(m!==k||y!==k.version||v!==r.toneMapping)&&(p.material.needsUpdate=!0,m=k,y=k.version,v=r.toneMapping),p.layers.enableAll(),I.unshift(p,p.geometry,p.material,0,0,null)):k&&k.isTexture&&(d===void 0&&(d=new hr(new Jd(2,2),new So({name:"BackgroundMaterial",uniforms:kd(_o.background.uniforms),vertexShader:_o.background.vertexShader,fragmentShader:_o.background.fragmentShader,side:Qo,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),Object.defineProperty(d.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(d)),d.material.uniforms.t2D.value=k,d.material.uniforms.backgroundIntensity.value=P.backgroundIntensity,d.material.toneMapped=yn.getTransfer(k.colorSpace)!==Cn,k.matrixAutoUpdate===!0&&k.updateMatrix(),d.material.uniforms.uvTransform.value.copy(k.matrix),(m!==k||y!==k.version||v!==r.toneMapping)&&(d.material.needsUpdate=!0,m=k,y=k.version,v=r.toneMapping),d.layers.enableAll(),I.unshift(d,d.geometry,d.material,0,0,null))}function M(I,P){I.getRGB(ig,iC(r)),n.buffers.color.setClear(ig.r,ig.g,ig.b,P,o)}function T(){p!==void 0&&(p.geometry.dispose(),p.material.dispose()),d!==void 0&&(d.geometry.dispose(),d.material.dispose())}return{getClearColor:function(){return l},setClearColor:function(I,P=1){l.set(I),u=P,M(l,u)},getClearAlpha:function(){return u},setClearAlpha:function(I){u=I,M(l,u)},render:E,addToRenderList:A,dispose:T}}function VD(r,e){const t=r.getParameter(r.MAX_VERTEX_ATTRIBS),n={},i=y(null);let s=i,o=!1;function l(L,V,te,ne,ce){let me=!1;const he=m(ne,te,V);s!==he&&(s=he,d(s.object)),me=v(L,ne,te,ce),me&&S(L,ne,te,ce),ce!==null&&e.update(ce,r.ELEMENT_ARRAY_BUFFER),(me||o)&&(o=!1,P(L,V,te,ne),ce!==null&&r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e.get(ce).buffer))}function u(){return r.createVertexArray()}function d(L){return r.bindVertexArray(L)}function p(L){return r.deleteVertexArray(L)}function m(L,V,te){const ne=te.wireframe===!0;let ce=n[L.id];ce===void 0&&(ce={},n[L.id]=ce);let me=ce[V.id];me===void 0&&(me={},ce[V.id]=me);let he=me[ne];return he===void 0&&(he=y(u()),me[ne]=he),he}function y(L){const V=[],te=[],ne=[];for(let ce=0;ce<t;ce++)V[ce]=0,te[ce]=0,ne[ce]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:V,enabledAttributes:te,attributeDivisors:ne,object:L,attributes:{},index:null}}function v(L,V,te,ne){const ce=s.attributes,me=V.attributes;let he=0;const ge=te.getAttributes();for(const U in ge)if(ge[U].location>=0){const q=ce[U];let X=me[U];if(X===void 0&&(U==="instanceMatrix"&&L.instanceMatrix&&(X=L.instanceMatrix),U==="instanceColor"&&L.instanceColor&&(X=L.instanceColor)),q===void 0||q.attribute!==X||X&&q.data!==X.data)return!0;he++}return s.attributesNum!==he||s.index!==ne}function S(L,V,te,ne){const ce={},me=V.attributes;let he=0;const ge=te.getAttributes();for(const U in ge)if(ge[U].location>=0){let q=me[U];q===void 0&&(U==="instanceMatrix"&&L.instanceMatrix&&(q=L.instanceMatrix),U==="instanceColor"&&L.instanceColor&&(q=L.instanceColor));const X={};X.attribute=q,q&&q.data&&(X.data=q.data),ce[U]=X,he++}s.attributes=ce,s.attributesNum=he,s.index=ne}function E(){const L=s.newAttributes;for(let V=0,te=L.length;V<te;V++)L[V]=0}function A(L){M(L,0)}function M(L,V){const te=s.newAttributes,ne=s.enabledAttributes,ce=s.attributeDivisors;te[L]=1,ne[L]===0&&(r.enableVertexAttribArray(L),ne[L]=1),ce[L]!==V&&(r.vertexAttribDivisor(L,V),ce[L]=V)}function T(){const L=s.newAttributes,V=s.enabledAttributes;for(let te=0,ne=V.length;te<ne;te++)V[te]!==L[te]&&(r.disableVertexAttribArray(te),V[te]=0)}function I(L,V,te,ne,ce,me,he){he===!0?r.vertexAttribIPointer(L,V,te,ce,me):r.vertexAttribPointer(L,V,te,ne,ce,me)}function P(L,V,te,ne){E();const ce=ne.attributes,me=te.getAttributes(),he=V.defaultAttributeValues;for(const ge in me){const U=me[ge];if(U.location>=0){let Z=ce[ge];if(Z===void 0&&(ge==="instanceMatrix"&&L.instanceMatrix&&(Z=L.instanceMatrix),ge==="instanceColor"&&L.instanceColor&&(Z=L.instanceColor)),Z!==void 0){const q=Z.normalized,X=Z.itemSize,se=e.get(Z);if(se===void 0)continue;const Le=se.buffer,pe=se.type,Ae=se.bytesPerElement,Re=pe===r.INT||pe===r.UNSIGNED_INT||Z.gpuType===Ny;if(Z.isInterleavedBufferAttribute){const Ie=Z.data,Ge=Ie.stride,qe=Z.offset;if(Ie.isInstancedInterleavedBuffer){for(let lt=0;lt<U.locationSize;lt++)M(U.location+lt,Ie.meshPerAttribute);L.isInstancedMesh!==!0&&ne._maxInstanceCount===void 0&&(ne._maxInstanceCount=Ie.meshPerAttribute*Ie.count)}else for(let lt=0;lt<U.locationSize;lt++)A(U.location+lt);r.bindBuffer(r.ARRAY_BUFFER,Le);for(let lt=0;lt<U.locationSize;lt++)I(U.location+lt,X/U.locationSize,pe,q,Ge*Ae,(qe+X/U.locationSize*lt)*Ae,Re)}else{if(Z.isInstancedBufferAttribute){for(let Ie=0;Ie<U.locationSize;Ie++)M(U.location+Ie,Z.meshPerAttribute);L.isInstancedMesh!==!0&&ne._maxInstanceCount===void 0&&(ne._maxInstanceCount=Z.meshPerAttribute*Z.count)}else for(let Ie=0;Ie<U.locationSize;Ie++)A(U.location+Ie);r.bindBuffer(r.ARRAY_BUFFER,Le);for(let Ie=0;Ie<U.locationSize;Ie++)I(U.location+Ie,X/U.locationSize,pe,q,X*Ae,X/U.locationSize*Ie*Ae,Re)}}else if(he!==void 0){const q=he[ge];if(q!==void 0)switch(q.length){case 2:r.vertexAttrib2fv(U.location,q);break;case 3:r.vertexAttrib3fv(U.location,q);break;case 4:r.vertexAttrib4fv(U.location,q);break;default:r.vertexAttrib1fv(U.location,q)}}}}T()}function k(){H();for(const L in n){const V=n[L];for(const te in V){const ne=V[te];for(const ce in ne)p(ne[ce].object),delete ne[ce];delete V[te]}delete n[L]}}function O(L){if(n[L.id]===void 0)return;const V=n[L.id];for(const te in V){const ne=V[te];for(const ce in ne)p(ne[ce].object),delete ne[ce];delete V[te]}delete n[L.id]}function N(L){for(const V in n){const te=n[V];if(te[L.id]===void 0)continue;const ne=te[L.id];for(const ce in ne)p(ne[ce].object),delete ne[ce];delete te[L.id]}}function H(){F(),o=!0,s!==i&&(s=i,d(s.object))}function F(){i.geometry=null,i.program=null,i.wireframe=!1}return{setup:l,reset:H,resetDefaultState:F,dispose:k,releaseStatesOfGeometry:O,releaseStatesOfProgram:N,initAttributes:E,enableAttribute:A,disableUnusedAttributes:T}}function WD(r,e,t){let n;function i(d){n=d}function s(d,p){r.drawArrays(n,d,p),t.update(p,n,1)}function o(d,p,m){m!==0&&(r.drawArraysInstanced(n,d,p,m),t.update(p,n,m))}function l(d,p,m){if(m===0)return;e.get("WEBGL_multi_draw").multiDrawArraysWEBGL(n,d,0,p,0,m);let v=0;for(let S=0;S<m;S++)v+=p[S];t.update(v,n,1)}function u(d,p,m,y){if(m===0)return;const v=e.get("WEBGL_multi_draw");if(v===null)for(let S=0;S<d.length;S++)o(d[S],p[S],y[S]);else{v.multiDrawArraysInstancedWEBGL(n,d,0,p,0,y,0,m);let S=0;for(let E=0;E<m;E++)S+=p[E]*y[E];t.update(S,n,1)}}this.setMode=i,this.render=s,this.renderInstances=o,this.renderMultiDraw=l,this.renderMultiDrawInstances=u}function XD(r,e,t,n){let i;function s(){if(i!==void 0)return i;if(e.has("EXT_texture_filter_anisotropic")===!0){const N=e.get("EXT_texture_filter_anisotropic");i=r.getParameter(N.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else i=0;return i}function o(N){return!(N!==hi&&n.convert(N)!==r.getParameter(r.IMPLEMENTATION_COLOR_READ_FORMAT))}function l(N){const H=N===ju&&(e.has("EXT_color_buffer_half_float")||e.has("EXT_color_buffer_float"));return!(N!==Mo&&n.convert(N)!==r.getParameter(r.IMPLEMENTATION_COLOR_READ_TYPE)&&N!==Di&&!H)}function u(N){if(N==="highp"){if(r.getShaderPrecisionFormat(r.VERTEX_SHADER,r.HIGH_FLOAT).precision>0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision>0)return"highp";N="mediump"}return N==="mediump"&&r.getShaderPrecisionFormat(r.VERTEX_SHADER,r.MEDIUM_FLOAT).precision>0&&r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let d=t.precision!==void 0?t.precision:"highp";const p=u(d);p!==d&&(console.warn("THREE.WebGLRenderer:",d,"not supported, using",p,"instead."),d=p);const m=t.logarithmicDepthBuffer===!0,y=t.reverseDepthBuffer===!0&&e.has("EXT_clip_control"),v=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),S=r.getParameter(r.MAX_VERTEX_TEXTURE_IMAGE_UNITS),E=r.getParameter(r.MAX_TEXTURE_SIZE),A=r.getParameter(r.MAX_CUBE_MAP_TEXTURE_SIZE),M=r.getParameter(r.MAX_VERTEX_ATTRIBS),T=r.getParameter(r.MAX_VERTEX_UNIFORM_VECTORS),I=r.getParameter(r.MAX_VARYING_VECTORS),P=r.getParameter(r.MAX_FRAGMENT_UNIFORM_VECTORS),k=S>0,O=r.getParameter(r.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:u,textureFormatReadable:o,textureTypeReadable:l,precision:d,logarithmicDepthBuffer:m,reverseDepthBuffer:y,maxTextures:v,maxVertexTextures:S,maxTextureSize:E,maxCubemapSize:A,maxAttributes:M,maxVertexUniforms:T,maxVaryings:I,maxFragmentUniforms:P,vertexTextures:k,maxSamples:O}}function JD(r){const e=this;let t=null,n=0,i=!1,s=!1;const o=new Yl,l=new Qt,u={value:null,needsUpdate:!1};this.uniform=u,this.numPlanes=0,this.numIntersection=0,this.init=function(m,y){const v=m.length!==0||y||n!==0||i;return i=y,n=m.length,v},this.beginShadows=function(){s=!0,p(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(m,y){t=p(m,y,0)},this.setState=function(m,y,v){const S=m.clippingPlanes,E=m.clipIntersection,A=m.clipShadows,M=r.get(m);if(!i||S===null||S.length===0||s&&!A)s?p(null):d();else{const T=s?0:n,I=T*4;let P=M.clippingState||null;u.value=P,P=p(S,y,I,v);for(let k=0;k!==I;++k)P[k]=t[k];M.clippingState=P,this.numIntersection=E?this.numPlanes:0,this.numPlanes+=T}};function d(){u.value!==t&&(u.value=t,u.needsUpdate=n>0),e.numPlanes=n,e.numIntersection=0}function p(m,y,v,S){const E=m!==null?m.length:0;let A=null;if(E!==0){if(A=u.value,S!==!0||A===null){const M=v+E*4,T=y.matrixWorldInverse;l.getNormalMatrix(T),(A===null||A.length<M)&&(A=new Float32Array(M));for(let I=0,P=v;I!==E;++I,P+=4)o.copy(m[I]).applyMatrix4(T,l),o.normal.toArray(A,P),A[P+3]=o.constant}u.value=A,u.needsUpdate=!0}return e.numPlanes=E,e.numIntersection=0,A}}function $D(r){let e=new WeakMap;function t(o,l){return l===Np?o.mapping=el:l===Fp&&(o.mapping=Zl),o}function n(o){if(o&&o.isTexture){const l=o.mapping;if(l===Np||l===Fp)if(e.has(o)){const u=e.get(o).texture;return t(u,o.mapping)}else{const u=o.image;if(u&&u.height>0){const d=new aC(u.height);return d.fromEquirectangularTexture(r,o),e.set(o,d),o.addEventListener("dispose",i),t(d.texture,o.mapping)}else return null}}return o}function i(o){const l=o.target;l.removeEventListener("dispose",i);const u=e.get(l);u!==void 0&&(e.delete(l),u.dispose())}function s(){e=new WeakMap}return{get:n,dispose:s}}const Ad=4,u2=[.125,.215,.35,.446,.526,.582],du=20,kv=new Kd,h2=new tt;let Uv=null,jv=0,zv=0,Hv=!1;const hu=(1+Math.sqrt(5))/2,fd=1/hu,d2=[new $(-hu,fd,0),new $(hu,fd,0),new $(-fd,0,hu),new $(fd,0,hu),new $(0,hu,-fd),new $(0,hu,fd),new $(-1,1,-1),new $(1,1,-1),new $(-1,1,1),new $(1,1,1)];
vendor: 2,839 bytes, line 3618
3618class nx{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,t=0,n=.1,i=100){Uv=this._renderer.getRenderTarget(),jv=this._renderer.getActiveCubeFace(),zv=this._renderer.getActiveMipmapLevel(),Hv=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,n,i,s),t>0&&this._blur(s,0,0,t),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,t=null){return this._fromTexture(e,t)}fromCubemap(e,t=null){return this._fromTexture(e,t)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=m2(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=p2(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(Uv,jv,zv),this._renderer.xr.enabled=Hv,e.scissorTest=!1,sg(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===el||e.mapping===Zl?this._setSize(e.image.length===0?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),Uv=this._renderer.getRenderTarget(),jv=this._renderer.getActiveCubeFace(),zv=this._renderer.getActiveMipmapLevel(),Hv=this._renderer.xr.enabled,this._renderer.xr.enabled=!1;const n=t||this._allocateTargets();return this._textureToCubeUV(e,n),this._applyPMREM(n),this._cleanup(n),n}_allocateTargets(){const e=3*Math.max(this._cubeSize,112),t=4*this._cubeSize,n={magFilter:Zn,minFilter:Zn,generateMipmaps:!1,type:ju,format:hi,colorSpace:Pu,depthBuffer:!1},i=f2(e,t,n);if(this._pingPongRenderTarget===null||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){this._pingPongRenderTarget!==null&&this._dispose(),this._pingPongRenderTarget=f2(e,t,n);const{_lodMax:s}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=KD(s)),this._blurMaterial=YD(s,e,t)}return i}_compileMaterial(e){const t=new hr(this._lodPlanes[0],e);this._renderer.compile(t,kv)}_sceneToCubeUV(e,t,n,i){const l=new _r(90,1,t,n),u=[1,-1,1,1,1,1],d=[1,1,1,-1,-1,-1],p=this._renderer,m=p.autoClear,y=p.toneMapping;p.getClearColor(h2),p.toneMapping=Jo,p.autoClear=!1;
vendor: 5,418 bytes, lines 3618-3693
3618const v=new vs({name:"PMREM.Background",side:Ni,depthWrite:!1,depthTest:!1}),S=new hr(new zu,v);let E=!1;const A=e.background;A?A.isColor&&(v.color.copy(A),e.background=null,E=!0):(v.color.copy(h2),E=!0);for(let M=0;M<6;M++){const T=M%3;T===0?(l.up.set(0,u[M],0),l.lookAt(d[M],0,0)):T===1?(l.up.set(0,0,u[M]),l.lookAt(0,d[M],0)):(l.up.set(0,u[M],0),l.lookAt(0,0,d[M]));const I=this._cubeSize;sg(i,T*I,M>2?I:0,I,I),p.setRenderTarget(i),E&&p.render(S,l),p.render(e,l)}S.geometry.dispose(),S.material.dispose(),p.toneMapping=y,p.autoClear=m,e.background=A}_textureToCubeUV(e,t){const n=this._renderer,i=e.mapping===el||e.mapping===Zl;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=m2()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=p2());const s=i?this._cubemapMaterial:this._equirectMaterial,o=new hr(this._lodPlanes[0],s),l=s.uniforms;l.envMap.value=e;const u=this._cubeSize;sg(t,0,0,3*u,2*u),n.setRenderTarget(t),n.render(o,kv)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;const i=this._lodPlanes.length;for(let s=1;s<i;s++){const o=Math.sqrt(this._sigmas[s]*this._sigmas[s]-this._sigmas[s-1]*this._sigmas[s-1]),l=d2[(i-s-1)%d2.length];this._blur(e,s-1,s,o,l)}t.autoClear=n}_blur(e,t,n,i,s){const o=this._pingPongRenderTarget;this._halfBlur(e,o,t,n,i,"latitudinal",s),this._halfBlur(o,e,n,n,i,"longitudinal",s)}_halfBlur(e,t,n,i,s,o,l){const u=this._renderer,d=this._blurMaterial;o!=="latitudinal"&&o!=="longitudinal"&&console.error("blur direction must be either latitudinal or longitudinal!");const p=3,m=new hr(this._lodPlanes[i],d),y=d.uniforms,v=this._sizeLods[n]-1,S=isFinite(s)?Math.PI/(2*v):2*Math.PI/(2*du-1),E=s/S,A=isFinite(s)?1+Math.floor(p*E):du;A>du&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${A} samples when the maximum is set to ${du}`);const M=[];let T=0;for(let N=0;N<du;++N){const H=N/E,F=Math.exp(-H*H/2);M.push(F),N===0?T+=F:N<A&&(T+=2*F)}for(let N=0;N<M.length;N++)M[N]=M[N]/T;y.envMap.value=e.texture,y.samples.value=A,y.weights.value=M,y.latitudinal.value=o==="latitudinal",l&&(y.poleAxis.value=l);const{_lodMax:I}=this;y.dTheta.value=S,y.mipInt.value=I-n;const P=this._sizeLods[i],k=3*P*(i>I-Ad?i-I+Ad:0),O=4*(this._cubeSize-P);sg(t,k,O,3*P,2*P),u.setRenderTarget(t),u.render(m,kv)}}function KD(r){const e=[],t=[],n=[];let i=r;const s=r-Ad+1+u2.length;for(let o=0;o<s;o++){const l=Math.pow(2,i);t.push(l);let u=1/l;o>r-Ad?u=u2[o-r+Ad-1]:o===0&&(u=0),n.push(u);const d=1/(l-2),p=-d,m=1+d,y=[p,p,m,p,m,m,p,p,m,m,p,m],v=6,S=6,E=3,A=2,M=1,T=new Float32Array(E*S*v),I=new Float32Array(A*S*v),P=new Float32Array(M*S*v);for(let O=0;O<v;O++){const N=O%3*2/3-1,H=O>2?0:-1,F=[N,H,0,N+2/3,H,0,N+2/3,H+1,0,N,H,0,N+2/3,H+1,0,N,H+1,0];T.set(F,E*S*O),I.set(y,A*S*O);const L=[O,O,O,O,O,O];P.set(L,M*S*O)}const k=new Jt;k.setAttribute("position",new vn(T,E)),k.setAttribute("uv",new vn(I,A)),k.setAttribute("faceIndex",new vn(P,M)),e.push(k),i>Ad&&i--}return{lodPlanes:e,sizeLods:t,sigmas:n}}function f2(r,e,t){const n=new Hs(r,e,t);return n.texture.mapping=Vd,n.texture.name="PMREM.cubeUv",n.scissorTest=!0,n}function sg(r,e,t,n,i){r.viewport.set(e,t,n,i),r.scissor.set(e,t,n,i)}function YD(r,e,t){const n=new Float32Array(du),i=new $(0,1,0);return new So({name:"SphericalGaussianBlur",defines:{n:du,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/t,CUBEUV_MAX_MIP:`${r}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:n},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:PM(),fragmentShader:` 3619 3620 precision mediump float; 3621 precision mediump int; 3622 3623 varying vec3 vOutputDirection; 3624 3625 uniform sampler2D envMap; 3626 uniform int samples; 3627 uniform float weights[ n ]; 3628 uniform bool latitudinal; 3629 uniform float dTheta; 3630 uniform float mipInt; 3631 uniform vec3 poleAxis; 3632 3633 #define ENVMAP_TYPE_CUBE_UV 3634 #include <cube_uv_reflection_fragment> 3635 3636 vec3 getSample( float theta, vec3 axis ) { 3637 3638 float cosTheta = cos( theta ); 3639 // Rodrigues' axis-angle rotation 3640 vec3 sampleDirection = vOutputDirection * cosTheta 3641 + cross( axis, vOutputDirection ) * sin( theta ) 3642 + axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta ); 3643 3644 return bilinearCubeUV( envMap, sampleDirection, mipInt ); 3645 3646 } 3647 3648 void main() { 3649 3650 vec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection ); 3651 3652 if ( all( equal( axis, vec3( 0.0 ) ) ) ) { 3653 3654 axis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x ); 3655 3656 } 3657 3658 axis = normalize( axis ); 3659 3660 gl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 ); 3661 gl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis ); 3662 3663 for ( int i = 1; i < n; i++ ) { 3664 3665 if ( i >= samples ) { 3666 3667 break; 3668 3669 } 3670 3671 float theta = dTheta * float( i ); 3672 gl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis ); 3673 gl_FragColor.rgb += weights[ i ] * getSample( theta, axis ); 3674 3675 } 3676 3677 } 3678 `,blending:Ya,depthTest:!1,depthWrite:!1})}function p2(){return new So({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:PM(),fragmentShader:` 3679 3680 precision mediump float; 3681 precision mediump int; 3682 3683 varying vec3 vOutputDirection; 3684 3685 uniform sampler2D envMap; 3686 3687 #include <common> 3688 3689 void main() { 3690 3691 vec3 outputDirection = normalize( vOutputDirection ); 3692 vec2 uv = equirectUv( outputDirection ); 3693
3694 gl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 ); 3695 3696 } 3697 `,blending:Ya,depthTest:!1,depthWrite:!1})}function m2(){return new So({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:PM(),fragmentShader:` 3698 3699 precision mediump float; 3700 precision mediump int; 3701 3702 uniform float flipEnvMap; 3703 3704 varying vec3 vOutputDirection; 3705 3706 uniform samplerCube envMap; 3707 3708 void main() { 3709 3710 gl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) ); 3711 3712 } 3713 `,blending:Ya,depthTest:!1,depthWrite:!1})}function PM(){return` 3714 3715 precision mediump float; 3716 precision mediump int; 3717 3718 attribute float faceIndex; 3719 3720 varying vec3 vOutputDirection; 3721 3722 // RH coordinate system; PMREM face-indexing convention 3723 vec3 getDirection( vec2 uv, float face ) { 3724 3725 uv = 2.0 * uv - 1.0; 3726 3727 vec3 direction = vec3( uv, 1.0 ); 3728 3729 if ( face == 0.0 ) { 3730 3731 direction = direction.zyx; // ( 1, v, u ) pos x 3732 3733 } else if ( face == 1.0 ) { 3734 3735 direction = direction.xzy; 3736 direction.xz *= -1.0; // ( -u, 1, -v ) pos y 3737 3738 } else if ( face == 2.0 ) { 3739 3740 direction.x *= -1.0; // ( -u, v, 1 ) pos z 3741 3742 } else if ( face == 3.0 ) { 3743 3744 direction = direction.zyx; 3745 direction.xz *= -1.0; // ( -1, v, -u ) neg x 3746 3747 } else if ( face == 4.0 ) { 3748 3749 direction = direction.xzy; 3750 direction.xy *= -1.0; // ( -u, -1, v ) neg y 3751 3752 } else if ( face == 5.0 ) { 3753 3754 direction.z *= -1.0; // ( u, v, -1 ) neg z 3755 3756 } 3757 3758 return direction; 3759 3760 } 3761 3762 void main() { 3763 3764 vOutputDirection = getDirection( uv, faceIndex ); 3765 gl_Position = vec4( position, 1.0 ); 3766 3767 } 3768 `}function qD(r){let e=new WeakMap,t=null;function n(l){if(l&&l.isTexture){const u=l.mapping,d=u===Np||u===Fp,p=u===el||u===Zl;if(d||p){let m=e.get(l);const y=m!==void 0?m.texture.pmremVersion:0;if(l.isRenderTargetTexture&&l.pmremVersion!==y)return t===null&&(t=new nx(r)),m=d?t.fromEquirectangular(l,m):t.fromCubemap(l,m),m.texture.pmremVersion=l.pmremVersion,e.set(l,m),m.texture;if(m!==void 0)return m.texture;{const v=l.image;return d&&v&&v.height>0||p&&v&&i(v)?(t===null&&(t=new nx(r)),m=d?t.fromEquirectangular(l):t.fromCubemap(l),m.texture.pmremVersion=l.pmremVersion,e.set(l,m),l.addEventListener("dispose",s),m.texture):null}}}return l}function i(l){let u=0;const d=6;for(let p=0;p<d;p++)l[p]!==void 0&&u++;return u===d}function s(l){const u=l.target;u.removeEventListener("dispose",s);const d=e.get(u);d!==void 0&&(e.delete(u),d.dispose())}function o(){e=new WeakMap,t!==null&&(t.dispose(),t=null)}return{get:n,dispose:o}}function QD(r){const e={};function t(n){if(e[n]!==void 0)return e[n];let i;switch(n){case"WEBGL_depth_texture":i=r.getExtension("WEBGL_depth_texture")||r.getExtension("MOZ_WEBGL_depth_texture")||r.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":i=r.getExtension("EXT_texture_filter_anisotropic")||r.getExtension("MOZ_EXT_texture_filter_anisotropic")||r.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":i=r.getExtension("WEBGL_compressed_texture_s3tc")||r.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||r.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":i=r.getExtension("WEBGL_compressed_texture_pvrtc")||r.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:i=r.getExtension(n)}return e[n]=i,i}return{has:function(n){return t(n)!==null},init:function(){t("EXT_color_buffer_float"),t("WEBGL_clip_cull_distance"),t("OES_texture_float_linear"),t("EXT_color_buffer_half_float"),t("WEBGL_multisampled_render_to_texture"),t("WEBGL_render_shared_exponent")},get:function(n){const i=t(n);return i===null&&_d("THREE.WebGLRenderer: "+n+" extension not supported."),i}}}function ZD(r,e,t,n){const i={},s=new WeakMap;function o(m){const y=m.target;y.index!==null&&e.remove(y.index);for(const S in y.attributes)e.remove(y.attributes[S]);y.removeEventListener("dispose",o),delete i[y.id];const v=s.get(y);v&&(e.remove(v),s.delete(y)),n.releaseStatesOfGeometry(y),y.isInstancedBufferGeometry===!0&&delete y._maxInstanceCount,t.memory.geometries--}function l(m,y){return i[y.id]===!0||(y.addEventListener("dispose",o),i[y.id]=!0,t.memory.geometries++),y}function u(m){const y=m.attributes;for(const v in y)e.update(y[v],r.ARRAY_BUFFER)}function d(m){const y=[],v=m.index,S=m.attributes.position;let E=0;if(v!==null){const T=v.array;E=v.version;for(let I=0,P=T.length;I<P;I+=3){const k=T[I+0],O=T[I+1],N=T[I+2];y.push(k,O,O,N,N,k)}}else if(S!==void 0){const T=S.array;E=S.version;for(let I=0,P=T.length/3-1;I<P;I+=3){const k=I+0,O=I+1,N=I+2;y.push(k,O,O,N,N,k)}}else return;const A=new(Zb(y)?nM:tM)(y,1);A.version=E;const M=s.get(m);M&&e.remove(M),s.set(m,A)}function p(m){const y=s.get(m);
vendor: 18,106 bytes, lines 3768-3803
3768if(y){const v=m.index;v!==null&&y.version<v.version&&d(m)}else d(m);return s.get(m)}return{get:l,update:u,getWireframeAttribute:p}}function eL(r,e,t){let n;function i(y){n=y}let s,o;function l(y){s=y.type,o=y.bytesPerElement}function u(y,v){r.drawElements(n,v,s,y*o),t.update(v,n,1)}function d(y,v,S){S!==0&&(r.drawElementsInstanced(n,v,s,y*o,S),t.update(v,n,S))}function p(y,v,S){if(S===0)return;e.get("WEBGL_multi_draw").multiDrawElementsWEBGL(n,v,0,s,y,0,S);let A=0;for(let M=0;M<S;M++)A+=v[M];t.update(A,n,1)}function m(y,v,S,E){if(S===0)return;const A=e.get("WEBGL_multi_draw");if(A===null)for(let M=0;M<y.length;M++)d(y[M]/o,v[M],E[M]);else{A.multiDrawElementsInstancedWEBGL(n,v,0,s,y,0,E,0,S);let M=0;for(let T=0;T<S;T++)M+=v[T]*E[T];t.update(M,n,1)}}this.setMode=i,this.setIndex=l,this.render=u,this.renderInstances=d,this.renderMultiDraw=p,this.renderMultiDrawInstances=m}function tL(r){const e={geometries:0,textures:0},t={frame:0,calls:0,triangles:0,points:0,lines:0};function n(s,o,l){switch(t.calls++,o){case r.TRIANGLES:t.triangles+=l*(s/3);break;case r.LINES:t.lines+=l*(s/2);break;case r.LINE_STRIP:t.lines+=l*(s-1);break;case r.LINE_LOOP:t.lines+=l*s;break;case r.POINTS:t.points+=l*s;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",o);break}}function i(){t.calls=0,t.triangles=0,t.points=0,t.lines=0}return{memory:e,render:t,programs:null,autoReset:!0,reset:i,update:n}}function nL(r,e,t){const n=new WeakMap,i=new xn;function s(o,l,u){const d=o.morphTargetInfluences,p=l.morphAttributes.position||l.morphAttributes.normal||l.morphAttributes.color,m=p!==void 0?p.length:0;let y=n.get(l);if(y===void 0||y.count!==m){let L=function(){H.dispose(),n.delete(l),l.removeEventListener("dispose",L)};var v=L;y!==void 0&&y.texture.dispose();const S=l.morphAttributes.position!==void 0,E=l.morphAttributes.normal!==void 0,A=l.morphAttributes.color!==void 0,M=l.morphAttributes.position||[],T=l.morphAttributes.normal||[],I=l.morphAttributes.color||[];let P=0;S===!0&&(P=1),E===!0&&(P=2),A===!0&&(P=3);let k=l.attributes.position.count*P,O=1;k>e.maxTextureSize&&(O=Math.ceil(k/e.maxTextureSize),k=e.maxTextureSize);const N=new Float32Array(k*O*4*m),H=new Gy(N,k,O,m);H.type=Di,H.needsUpdate=!0;const F=P*4;for(let V=0;V<m;V++){const te=M[V],ne=T[V],ce=I[V],me=k*O*4*V;for(let he=0;he<te.count;he++){const ge=he*F;S===!0&&(i.fromBufferAttribute(te,he),N[me+ge+0]=i.x,N[me+ge+1]=i.y,N[me+ge+2]=i.z,N[me+ge+3]=0),E===!0&&(i.fromBufferAttribute(ne,he),N[me+ge+4]=i.x,N[me+ge+5]=i.y,N[me+ge+6]=i.z,N[me+ge+7]=0),A===!0&&(i.fromBufferAttribute(ce,he),N[me+ge+8]=i.x,N[me+ge+9]=i.y,N[me+ge+10]=i.z,N[me+ge+11]=ce.itemSize===4?i.w:1)}}y={count:m,texture:H,size:new Ne(k,O)},n.set(l,y),l.addEventListener("dispose",L)}if(o.isInstancedMesh===!0&&o.morphTexture!==null)u.getUniforms().setValue(r,"morphTexture",o.morphTexture,t);else{let S=0;for(let A=0;A<d.length;A++)S+=d[A];const E=l.morphTargetsRelative?1:1-S;u.getUniforms().setValue(r,"morphTargetBaseInfluence",E),u.getUniforms().setValue(r,"morphTargetInfluences",d)}u.getUniforms().setValue(r,"morphTargetsTexture",y.texture,t),u.getUniforms().setValue(r,"morphTargetsTextureSize",y.size)}return{update:s}}function rL(r,e,t,n){let i=new WeakMap;function s(u){const d=n.render.frame,p=u.geometry,m=e.get(u,p);if(i.get(m)!==d&&(e.update(m),i.set(m,d)),u.isInstancedMesh&&(u.hasEventListener("dispose",l)===!1&&u.addEventListener("dispose",l),i.get(u)!==d&&(t.update(u.instanceMatrix,r.ARRAY_BUFFER),u.instanceColor!==null&&t.update(u.instanceColor,r.ARRAY_BUFFER),i.set(u,d))),u.isSkinnedMesh){const y=u.skeleton;i.get(y)!==d&&(y.update(),i.set(y,d))}return m}function o(){i=new WeakMap}function l(u){const d=u.target;d.removeEventListener("dispose",l),t.remove(d.instanceMatrix),d.instanceColor!==null&&t.remove(d.instanceColor)}return{update:s,dispose:o}}const qC=new Gn,g2=new Ky(1,1),QC=new Gy,ZC=new eM,eT=new im,y2=[],v2=[],_2=new Float32Array(16),x2=new Float32Array(9),M2=new Float32Array(4);function Yd(r,e,t){const n=r[0];if(n<=0||n>0)return r;const i=e*t;let s=y2[i];if(s===void 0&&(s=new Float32Array(i),y2[i]=s),e!==0){n.toArray(s,0);for(let o=1,l=0;o!==e;++o)l+=t,r[o].toArray(s,l)}return s}function Ir(r,e){if(r.length!==e.length)return!1;for(let t=0,n=r.length;t<n;t++)if(r[t]!==e[t])return!1;return!0}function Pr(r,e){for(let t=0,n=e.length;t<n;t++)r[t]=e[t]}function h1(r,e){let t=v2[e];t===void 0&&(t=new Int32Array(e),v2[e]=t);for(let n=0;n!==e;++n)t[n]=r.allocateTextureUnit();return t}function iL(r,e){const t=this.cache;t[0]!==e&&(r.uniform1f(this.addr,e),t[0]=e)}function sL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(r.uniform2f(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Ir(t,e))return;r.uniform2fv(this.addr,e),Pr(t,e)}}function oL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(r.uniform3f(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else if(e.r!==void 0)(t[0]!==e.r||t[1]!==e.g||t[2]!==e.b)&&(r.uniform3f(this.addr,e.r,e.g,e.b),t[0]=e.r,t[1]=e.g,t[2]=e.b);else{if(Ir(t,e))return;r.uniform3fv(this.addr,e),Pr(t,e)}}function aL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(r.uniform4f(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Ir(t,e))return;r.uniform4fv(this.addr,e),Pr(t,e)}}function lL(r,e){const t=this.cache,n=e.elements;if(n===void 0){if(Ir(t,e))return;r.uniformMatrix2fv(this.addr,!1,e),Pr(t,e)}else{if(Ir(t,n))return;M2.set(n),r.uniformMatrix2fv(this.addr,!1,M2),Pr(t,n)}}function cL(r,e){const t=this.cache,n=e.elements;if(n===void 0){if(Ir(t,e))return;r.uniformMatrix3fv(this.addr,!1,e),Pr(t,e)}else{if(Ir(t,n))return;x2.set(n),r.uniformMatrix3fv(this.addr,!1,x2),Pr(t,n)}}function uL(r,e){const t=this.cache,n=e.elements;if(n===void 0){if(Ir(t,e))return;r.uniformMatrix4fv(this.addr,!1,e),Pr(t,e)}else{if(Ir(t,n))return;_2.set(n),r.uniformMatrix4fv(this.addr,!1,_2),Pr(t,n)}}function hL(r,e){const t=this.cache;t[0]!==e&&(r.uniform1i(this.addr,e),t[0]=e)}function dL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(r.uniform2i(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Ir(t,e))return;r.uniform2iv(this.addr,e),Pr(t,e)}}function fL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(r.uniform3i(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Ir(t,e))return;r.uniform3iv(this.addr,e),Pr(t,e)}}function pL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(r.uniform4i(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Ir(t,e))return;r.uniform4iv(this.addr,e),Pr(t,e)}}function mL(r,e){const t=this.cache;t[0]!==e&&(r.uniform1ui(this.addr,e),t[0]=e)}function gL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y)&&(r.uniform2ui(this.addr,e.x,e.y),t[0]=e.x,t[1]=e.y);else{if(Ir(t,e))return;r.uniform2uiv(this.addr,e),Pr(t,e)}}function yL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z)&&(r.uniform3ui(this.addr,e.x,e.y,e.z),t[0]=e.x,t[1]=e.y,t[2]=e.z);else{if(Ir(t,e))return;r.uniform3uiv(this.addr,e),Pr(t,e)}}function vL(r,e){const t=this.cache;if(e.x!==void 0)(t[0]!==e.x||t[1]!==e.y||t[2]!==e.z||t[3]!==e.w)&&(r.uniform4ui(this.addr,e.x,e.y,e.z,e.w),t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w);else{if(Ir(t,e))return;r.uniform4uiv(this.addr,e),Pr(t,e)}}function _L(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i);let s;this.type===r.SAMPLER_2D_SHADOW?(g2.compareFunction=Qx,s=g2):s=qC,t.setTexture2D(e||s,i)}function xL(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i),t.setTexture3D(e||ZC,i)}function ML(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i),t.setTextureCube(e||eT,i)}function SL(r,e,t){const n=this.cache,i=t.allocateTextureUnit();n[0]!==i&&(r.uniform1i(this.addr,i),n[0]=i),t.setTexture2DArray(e||QC,i)}function wL(r){switch(r){case 5126:return iL;case 35664:return sL;case 35665:return oL;case 35666:return aL;case 35674:return lL;case 35675:return cL;case 35676:return uL;case 5124:case 35670:return hL;case 35667:case 35671:return dL;case 35668:case 35672:return fL;case 35669:case 35673:return pL;case 5125:return mL;case 36294:return gL;case 36295:return yL;case 36296:return vL;case 35678:case 36198:case 36298:case 36306:case 35682:return _L;case 35679:case 36299:case 36307:return xL;case 35680:case 36300:case 36308:case 36293:return ML;case 36289:case 36303:case 36311:case 36292:return SL}}function AL(r,e){r.uniform1fv(this.addr,e)}function EL(r,e){const t=Yd(e,this.size,2);r.uniform2fv(this.addr,t)}function bL(r,e){const t=Yd(e,this.size,3);r.uniform3fv(this.addr,t)}function CL(r,e){const t=Yd(e,this.size,4);r.uniform4fv(this.addr,t)}function TL(r,e){const t=Yd(e,this.size,4);r.uniformMatrix2fv(this.addr,!1,t)}function IL(r,e){const t=Yd(e,this.size,9);r.uniformMatrix3fv(this.addr,!1,t)}function PL(r,e){const t=Yd(e,this.size,16);r.uniformMatrix4fv(this.addr,!1,t)}function RL(r,e){r.uniform1iv(this.addr,e)}function BL(r,e){r.uniform2iv(this.addr,e)}function OL(r,e){r.uniform3iv(this.addr,e)}function DL(r,e){r.uniform4iv(this.addr,e)}function LL(r,e){r.uniform1uiv(this.addr,e)}function NL(r,e){r.uniform2uiv(this.addr,e)}function FL(r,e){r.uniform3uiv(this.addr,e)}function kL(r,e){r.uniform4uiv(this.addr,e)}function UL(r,e,t){const n=this.cache,i=e.length,s=h1(t,i);Ir(n,s)||(r.uniform1iv(this.addr,s),Pr(n,s));for(let o=0;o!==i;++o)t.setTexture2D(e[o]||qC,s[o])}function jL(r,e,t){const n=this.cache,i=e.length,s=h1(t,i);Ir(n,s)||(r.uniform1iv(this.addr,s),Pr(n,s));for(let o=0;o!==i;++o)t.setTexture3D(e[o]||ZC,s[o])}function zL(r,e,t){const n=this.cache,i=e.length,s=h1(t,i);Ir(n,s)||(r.uniform1iv(this.addr,s),Pr(n,s));for(let o=0;o!==i;++o)t.setTextureCube(e[o]||eT,s[o])}function HL(r,e,t){const n=this.cache,i=e.length,s=h1(t,i);Ir(n,s)||(r.uniform1iv(this.addr,s),Pr(n,s));for(let o=0;o!==i;++o)t.setTexture2DArray(e[o]||QC,s[o])}function GL(r){switch(r){case 5126:return AL;case 35664:return EL;case 35665:return bL;case 35666:return CL;case 35674:return TL;case 35675:return IL;case 35676:return PL;case 5124:case 35670:return RL;case 35667:case 35671:return BL;case 35668:case 35672:return OL;case 35669:case 35673:return DL;case 5125:return LL;case 36294:return NL;case 36295:return FL;case 36296:return kL;case 35678:case 36198:case 36298:case 36306:case 35682:return UL;case 35679:case 36299:case 36307:return jL;case 35680:case 36300:case 36308:case 36293:return zL;case 36289:case 36303:case 36311:case 36292:return HL}}class VL{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.type=t.type,this.setValue=wL(t.type)}}class WL{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.type=t.type,this.size=t.size,this.setValue=GL(t.type)}}class XL{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,n){const i=this.seq;for(let s=0,o=i.length;s!==o;++s){const l=i[s];l.setValue(e,t[l.id],n)}}}const Gv=/(\w+)(\])?(\[|\.)?/g;function S2(r,e){r.seq.push(e),r.map[e.id]=e}function JL(r,e,t){const n=r.name,i=n.length;for(Gv.lastIndex=0;;){const s=Gv.exec(n),o=Gv.lastIndex;let l=s[1];const u=s[2]==="]",d=s[3];if(u&&(l=l|0),d===void 0||d==="["&&o+2===i){S2(t,d===void 0?new VL(l,r,e):new WL(l,r,e));break}else{let m=t.map[l];m===void 0&&(m=new XL(l),S2(t,m)),t=m}}}class Mg{constructor(e,t){this.seq=[],this.map={};const n=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let i=0;i<n;++i){const s=e.getActiveUniform(t,i),o=e.getUniformLocation(t,s.name);JL(s,o,this)}}setValue(e,t,n,i){const s=this.map[t];s!==void 0&&s.setValue(e,n,i)}setOptional(e,t,n){const i=t[n];i!==void 0&&this.setValue(e,n,i)}static upload(e,t,n,i){for(let s=0,o=t.length;s!==o;++s){const l=t[s],u=n[l.id];u.needsUpdate!==!1&&l.setValue(e,u.value,i)}}static seqWithValue(e,t){const n=[];for(let i=0,s=e.length;i!==s;++i){const o=e[i];o.id in t&&n.push(o)}return n}}function w2(r,e,t){const n=r.createShader(e);return r.shaderSource(n,t),r.compileShader(n),n}const $L=37297;let KL=0;function YL(r,e){const t=r.split(` 3769`),n=[],i=Math.max(e-6,0),s=Math.min(e+6,t.length);for(let o=i;o<s;o++){const l=o+1;n.push(`${l===e?">":" "} ${l}: ${t[o]}`)}return n.join(` 3770`)}const A2=new Qt;function qL(r){yn._getMatrix(A2,yn.workingColorSpace,r);const e=`mat3( ${A2.elements.map(t=>t.toFixed(4))} )`;switch(yn.getTransfer(r)){case Up:return[e,"LinearTransferOETF"];case Cn:return[e,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space: ",r),[e,"LinearTransferOETF"]}}function E2(r,e,t){const n=r.getShaderParameter(e,r.COMPILE_STATUS),i=r.getShaderInfoLog(e).trim();if(n&&i==="")return"";const s=/ERROR: 0:(\d+)/.exec(i);if(s){const o=parseInt(s[1]);return t.toUpperCase()+` 3771 3772`+i+` 3773 3774`+YL(r.getShaderSource(e),o)}else return i}function QL(r,e){const t=qL(e);return[`vec4 ${r}( vec4 value ) {`,` return ${t[1]}( vec4( value.rgb * ${t[0]}, value.a ) );`,"}"].join(` 3775`)}function ZL(r,e){let t;switch(e){case Rb:t="Linear";break;case Bb:t="Reinhard";break;case Ob:t="Cineon";break;case jx:t="ACESFilmic";break;case Lb:t="AgX";break;case Nb:t="Neutral";break;case Db:t="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",e),t="Linear"}return"vec3 "+r+"( vec3 color ) { return "+t+"ToneMapping( color ); }"}const og=new $;function e6(){yn.getLuminanceCoefficients(og);const r=og.x.toFixed(4),e=og.y.toFixed(4),t=og.z.toFixed(4);return["float luminance( const in vec3 rgb ) {",` const vec3 weights = vec3( ${r}, ${e}, ${t} );`," return dot( weights, rgb );","}"].join(` 3776`)}function t6(r){return[r.extensionClipCullDistance?"#extension GL_ANGLE_clip_cull_distance : require":"",r.extensionMultiDraw?"#extension GL_ANGLE_multi_draw : require":""].filter(Mp).join(` 3777`)}function n6(r){const e=[];for(const t in r){const n=r[t];n!==!1&&e.push("#define "+t+" "+n)}return e.join(` 3778`)}function r6(r,e){const t={},n=r.getProgramParameter(e,r.ACTIVE_ATTRIBUTES);for(let i=0;i<n;i++){const s=r.getActiveAttrib(e,i),o=s.name;let l=1;s.type===r.FLOAT_MAT2&&(l=2),s.type===r.FLOAT_MAT3&&(l=3),s.type===r.FLOAT_MAT4&&(l=4),t[o]={type:s.type,location:r.getAttribLocation(e,o),locationSize:l}}return t}function Mp(r){return r!==""}function b2(r,e){const t=e.numSpotLightShadows+e.numSpotLightMaps-e.numSpotLightShadowsWithMaps;return r.replace(/NUM_DIR_LIGHTS/g,e.numDirLights).replace(/NUM_SPOT_LIGHTS/g,e.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,e.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,t).replace(/NUM_RECT_AREA_LIGHTS/g,e.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,e.numPointLights).replace(/NUM_HEMI_LIGHTS/g,e.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,e.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,e.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,e.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,e.numPointLightShadows)}function C2(r,e){return r.replace(/NUM_CLIPPING_PLANES/g,e.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,e.numClippingPlanes-e.numClipIntersection)}const i6=/^[ \t]*#include +<([\w\d./]+)>/gm;function rx(r){return r.replace(i6,o6)}const s6=new Map;function o6(r,e){let t=an[e];if(t===void 0){const n=s6.get(e);if(n!==void 0)t=an[n],console.warn('THREE.WebGLRenderer: Shader chunk "%s" has been deprecated. Use "%s" instead.',e,n);else throw new Error("Can not resolve #include <"+e+">")}return rx(t)}const a6=/#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 T2(r){return r.replace(a6,l6)}function l6(r,e,t,n){let i="";for(let s=parseInt(e);s<parseInt(t);s++)i+=n.replace(/\[\s*i\s*\]/g,"[ "+s+" ]").replace(/UNROLLED_LOOP_INDEX/g,s);return i}function I2(r){let e=`precision ${r.precision} float; 3779 precision ${r.precision} int; 3780 precision ${r.precision} sampler2D; 3781 precision ${r.precision} samplerCube; 3782 precision ${r.precision} sampler3D; 3783 precision ${r.precision} sampler2DArray; 3784 precision ${r.precision} sampler2DShadow; 3785 precision ${r.precision} samplerCubeShadow; 3786 precision ${r.precision} sampler2DArrayShadow; 3787 precision ${r.precision} isampler2D; 3788 precision ${r.precision} isampler3D; 3789 precision ${r.precision} isamplerCube; 3790 precision ${r.precision} isampler2DArray; 3791 precision ${r.precision} usampler2D; 3792 precision ${r.precision} usampler3D; 3793 precision ${r.precision} usamplerCube; 3794 precision ${r.precision} usampler2DArray; 3795 `;return r.precision==="highp"?e+=` 3796#define HIGH_PRECISION`:r.precision==="mediump"?e+=` 3797#define MEDIUM_PRECISION`:r.precision==="lowp"&&(e+=` 3798#define LOW_PRECISION`),e}function c6(r){let e="SHADOWMAP_TYPE_BASIC";return r.shadowMapType===Oy?e="SHADOWMAP_TYPE_PCF":r.shadowMapType===wp?e="SHADOWMAP_TYPE_PCF_SOFT":r.shadowMapType===vo&&(e="SHADOWMAP_TYPE_VSM"),e}function u6(r){let e="ENVMAP_TYPE_CUBE";if(r.envMap)switch(r.envMapMode){case el:case Zl:e="ENVMAP_TYPE_CUBE";break;case Vd:e="ENVMAP_TYPE_CUBE_UV";break}return e}function h6(r){let e="ENVMAP_MODE_REFLECTION";if(r.envMap)switch(r.envMapMode){case Zl:e="ENVMAP_MODE_REFRACTION";break}return e}function d6(r){let e="ENVMAP_BLENDING_NONE";if(r.envMap)switch(r.combine){case tm:e="ENVMAP_BLENDING_MULTIPLY";break;case Ib:e="ENVMAP_BLENDING_MIX";break;case Pb:e="ENVMAP_BLENDING_ADD";break}return e}function f6(r){const e=r.envMapCubeUVHeight;if(e===null)return null;const t=Math.log2(e)-2,n=1/e;return{texelWidth:1/(3*Math.max(Math.pow(2,t),7*16)),texelHeight:n,maxMip:t}}function p6(r,e,t,n){const i=r.getContext(),s=t.defines;let o=t.vertexShader,l=t.fragmentShader;const u=c6(t),d=u6(t),p=h6(t),m=d6(t),y=f6(t),v=t6(t),S=n6(s),E=i.createProgram();let A,M,T=t.glslVersion?"#version "+t.glslVersion+` 3799`:"";t.isRawShaderMaterial?(A=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S].filter(Mp).join(` 3800`),A.length>0&&(A+=` 3801`),M=["#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S].filter(Mp).join(` 3802`),M.length>0&&(M+=` 3803`)):(A=[I2(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S,t.extensionCl
vendor: 6,454 bytes, lines 3803-3805
3803ipCullDistance?"#define USE_CLIP_DISTANCE":"",t.batching?"#define USE_BATCHING":"",t.batchingColor?"#define USE_BATCHING_COLOR":"",t.instancing?"#define USE_INSTANCING":"",t.instancingColor?"#define USE_INSTANCING_COLOR":"",t.instancingMorph?"#define USE_INSTANCING_MORPH":"",t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.map?"#define USE_MAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+p:"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.displacementMap?"#define USE_DISPLACEMENTMAP":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.mapUv?"#define MAP_UV "+t.mapUv:"",t.alphaMapUv?"#define ALPHAMAP_UV "+t.alphaMapUv:"",t.lightMapUv?"#define LIGHTMAP_UV "+t.lightMapUv:"",t.aoMapUv?"#define AOMAP_UV "+t.aoMapUv:"",t.emissiveMapUv?"#define EMISSIVEMAP_UV "+t.emissiveMapUv:"",t.bumpMapUv?"#define BUMPMAP_UV "+t.bumpMapUv:"",t.normalMapUv?"#define NORMALMAP_UV "+t.normalMapUv:"",t.displacementMapUv?"#define DISPLACEMENTMAP_UV "+t.displacementMapUv:"",t.metalnessMapUv?"#define METALNESSMAP_UV "+t.metalnessMapUv:"",t.roughnessMapUv?"#define ROUGHNESSMAP_UV "+t.roughnessMapUv:"",t.anisotropyMapUv?"#define ANISOTROPYMAP_UV "+t.anisotropyMapUv:"",t.clearcoatMapUv?"#define CLEARCOATMAP_UV "+t.clearcoatMapUv:"",t.clearcoatNormalMapUv?"#define CLEARCOAT_NORMALMAP_UV "+t.clearcoatNormalMapUv:"",t.clearcoatRoughnessMapUv?"#define CLEARCOAT_ROUGHNESSMAP_UV "+t.clearcoatRoughnessMapUv:"",t.iridescenceMapUv?"#define IRIDESCENCEMAP_UV "+t.iridescenceMapUv:"",t.iridescenceThicknessMapUv?"#define IRIDESCENCE_THICKNESSMAP_UV "+t.iridescenceThicknessMapUv:"",t.sheenColorMapUv?"#define SHEEN_COLORMAP_UV "+t.sheenColorMapUv:"",t.sheenRoughnessMapUv?"#define SHEEN_ROUGHNESSMAP_UV "+t.sheenRoughnessMapUv:"",t.specularMapUv?"#define SPECULARMAP_UV "+t.specularMapUv:"",t.specularColorMapUv?"#define SPECULAR_COLORMAP_UV "+t.specularColorMapUv:"",t.specularIntensityMapUv?"#define SPECULAR_INTENSITYMAP_UV "+t.specularIntensityMapUv:"",t.transmissionMapUv?"#define TRANSMISSIONMAP_UV "+t.transmissionMapUv:"",t.thicknessMapUv?"#define THICKNESSMAP_UV "+t.thicknessMapUv:"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.flatShading?"#define FLAT_SHADED":"",t.skinning?"#define USE_SKINNING":"",t.morphTargets?"#define USE_MORPHTARGETS":"",t.morphNormals&&t.flatShading===!1?"#define USE_MORPHNORMALS":"",t.morphColors?"#define USE_MORPHCOLORS":"",t.morphTargetsCount>0?"#define MORPHTARGETS_TEXTURE_STRIDE "+t.morphTextureStride:"",t.morphTargetsCount>0?"#define MORPHTARGETS_COUNT "+t.morphTargetsCount:"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+u:"",t.sizeAttenuation?"#define USE_SIZEATTENUATION":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING"," attribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR"," attribute vec3 instanceColor;","#endif","#ifdef USE_INSTANCING_MORPH"," uniform sampler2D morphTexture;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_UV1"," attribute vec2 uv1;","#endif","#ifdef USE_UV2"," attribute vec2 uv2;","#endif","#ifdef USE_UV3"," attribute vec2 uv3;","#endif","#ifdef USE_TANGENT"," attribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )"," attribute vec4 color;","#elif defined( USE_COLOR )"," attribute vec3 color;","#endif","#ifdef USE_SKINNING"," attribute vec4 skinIndex;"," attribute vec4 skinWeight;","#endif",` 3804`].filter(Mp).join(` 3805`),M=[I2(t),"#define SHADER_TYPE "+t.shaderType,"#define SHADER_NAME "+t.shaderName,S,t.useFog&&t.fog?"#define USE_FOG":"",t.useFog&&t.fogExp2?"#define FOG_EXP2":"",t.alphaToCoverage?"#define ALPHA_TO_COVERAGE":"",t.map?"#define USE_MAP":"",t.matcap?"#define USE_MATCAP":"",t.envMap?"#define USE_ENVMAP":"",t.envMap?"#define "+d:"",t.envMap?"#define "+p:"",t.envMap?"#define "+m:"",y?"#define CUBEUV_TEXEL_WIDTH "+y.texelWidth:"",y?"#define CUBEUV_TEXEL_HEIGHT "+y.texelHeight:"",y?"#define CUBEUV_MAX_MIP "+y.maxMip+".0":"",t.lightMap?"#define USE_LIGHTMAP":"",t.aoMap?"#define USE_AOMAP":"",t.bumpMap?"#define USE_BUMPMAP":"",t.normalMap?"#define USE_NORMALMAP":"",t.normalMapObjectSpace?"#define USE_NORMALMAP_OBJECTSPACE":"",t.normalMapTangentSpace?"#define USE_NORMALMAP_TANGENTSPACE":"",t.emissiveMap?"#define USE_EMISSIVEMAP":"",t.anisotropy?"#define USE_ANISOTROPY":"",t.anisotropyMap?"#define USE_ANISOTROPYMAP":"",t.clearcoat?"#define USE_CLEARCOAT":"",t.clearcoatMap?"#define USE_CLEARCOATMAP":"",t.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",t.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",t.dispersion?"#define USE_DISPERSION":"",t.iridescence?"#define USE_IR
3805IDESCENCE":"",t.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",t.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",t.specularMap?"#define USE_SPECULARMAP":"",t.specularColorMap?"#define USE_SPECULAR_COLORMAP":"",t.specularIntensityMap?"#define USE_SPECULAR_INTENSITYMAP":"",t.roughnessMap?"#define USE_ROUGHNESSMAP":"",t.metalnessMap?"#define USE_METALNESSMAP":"",t.alphaMap?"#define USE_ALPHAMAP":"",t.alphaTest?"#define USE_ALPHATEST":"",t.alphaHash?"#define USE_ALPHAHASH":"",t.sheen?"#define USE_SHEEN":"",t.sheenColorMap?"#define USE_SHEEN_COLORMAP":"",t.sheenRoughnessMap?"#define USE_SHEEN_ROUGHNESSMAP":"",t.transmission?"#define USE_TRANSMISSION":"",t.transmissionMap?"#define USE_TRANSMISSIONMAP":"",t.thicknessMap?"#define USE_THICKNESSMAP":"",t.vertexTangents&&t.flatShading===!1?"#define USE_TANGENT":"",t.vertexColors||t.instancingColor||t.batchingColor?"#define USE_COLOR":"",t.vertexAlphas?"#define USE_COLOR_ALPHA":"",t.vertexUv1s?"#define USE_UV1":"",t.vertexUv2s?"#define USE_UV2":"",t.vertexUv3s?"#define USE_UV3":"",t.pointsUvs?"#define USE_POINTS_UV":"",t.gradientMap?"#define USE_GRADIENTMAP":"",t.flatShading?"#define FLAT_SHADED":"",t.doubleSided?"#define DOUBLE_SIDED":"",t.flipSided?"#define FLIP_SIDED":"",t.shadowMapEnabled?"#define USE_SHADOWMAP":"",t.shadowMapEnabled?"#define "+u:"",t.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",t.numLightProbes>0?"#define USE_LIGHT_PROBES":"",t.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",t.decodeVideoTextureEmissive?"#define DECODE_VIDEO_TEXTURE_EMISSIVE":"",t.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",t.reverseDepthBuffer?"#define USE_REVERSEDEPTHBUF":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",t.toneMapping!==Jo?"#define TONE_MAPPING":"",t.toneMapping!==Jo?an.tonemapping_pars_fragment:"",t.toneMapping!==Jo?ZL("toneMapping",t.toneMapping):"",t.dithering?"#define DITHERING":"",t.opaque?"#define OPAQUE":"",an.colorspace_pars_fragment,QL("linearToOutputTexel",t.outputColorSpace),e6(),t.useDepthPacking?"#define DEPTH_PACKING "+t.depthPacking:"",` 3806`].filter(Mp).join(` 3807`)),o=rx(o),o=b2(o,t),o=C2(o,t),l=rx(l),l=b2(l,t),l=C2(l,t),o=T2(o),l=T2(l),t.isRawShaderMaterial!==!0&&(T=`#version 300 es 3808`,A=[v,"#define attribute in","#define varying out","#define texture2D texture"].join(` 3809`)+` 3810`+A,M=["#define varying in",t.glslVersion===K_?"":"layout(location = 0) out highp vec4 pc_fragColor;",t.glslVersion===K_?"":"#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(` 3811`)+` 3812`+M);const I=T+A+o,P=T+M+l,k=w2(i,i.VERTEX_SHADER,I),O=w2(i,i.FRAGMENT_SHADER,P);i.attachShader(E,k),i.attachShader(E,O),t.index0AttributeName!==void 0?i.bindAttribLocation(E,0,t.index0AttributeName):t.morphTargets===!0&&i.bindAttribLocation(E,0,"position"),i.linkProgram(E);function N(V){if(r.debug.checkShaderErrors){const te=i.getProgramInfoLog(E).trim(),ne=i.getShaderInfoLog(k).trim(),ce=i.getShaderInfoLog(O).trim();let me=!0,he=!0;if(i.getProgramParameter(E,i.LINK_STATUS)===!1)if(me=!1,typeof r.debug.onShaderError=="function")r.debug.onShaderError(i,E,k,O);else{const ge=E2(i,k,"vertex"),U=E2(i,O,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(E,i.VALIDATE_STATUS)+` 3813 3814Material Name: `+V.name+` 3815Material Type: `+V.type+` 3816 3817Program Info Log: `+te+` 3818`+ge+` 3819`+U)}else te!==""?console.warn("THREE.WebGLProgram: Program Info Log:",te):(ne===""||ce==="")&&(he=!1);he&&(V.diagnostics={runnable:me,programLog:te,vertexShader:{log:ne,prefix:A},fragmentShader:{log:ce,prefix:M}})}i.deleteShader(k),i.deleteShader(O),H=new Mg(i,E),F=r6(i,E)}let H;this.getUniforms=function(){return H===void 0&&N(this),H};let F;this.getAttributes=function(){return F===void 0&&N(this),F};let L=t.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return L===!1&&(L=i.getProgramParameter(E,$L)),L},this.destroy=function(){n.releaseStatesOfProgram(this),i.deleteProgram(E),this.program=void 0},this.type=t.shaderType,this.name=t.shaderName,this.id=KL++,this.cacheKey=e,this.usedTimes=1,this.program=E,this.vertexShader=k,this.fragmentShader=O,this}let m6=0;class g6{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,i=this._getShaderStage(t),s=this._getShaderStage(n),o=this._getShaderCacheForMaterial(e);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,n.usedTimes===0&&this.shaderCache.delete(n.code);return this.materialCache.delete(e),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;let n=t.get(e);return n===void 0&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return n===void 0&&(n=new y6(e),t.set(e,n)),n}}class y6{constructor(e){this.id=m6++,this.code=e,this.usedTimes=0}}function v6(r,e,t,n,i,s,o){const l=new wu,u=new g6,d=new Set,p=[],m=i.logarithmicDepthBuffer,y=i.vertexTextures;let v=i.precision;const S={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 E(F){return d.add(F),F===0?"uv":`uv${F}`}function A(F,L,V,te,ne){const ce=te.fog,me=ne.geometry,he=F.isMeshStandardMaterial?te.environment:null,ge=(F.isMeshStandardMaterial?t:e).get(F.envMap||he),U=ge&&ge.mapping===Vd?ge.image.height:null,Z=S[F.type];F.precision!==null&&(v=i.getMaxPrecision(F.precision),v!==F.precision&&console.warn("THREE.WebGLProgram.getParameters:",F.precision,"not supported, using",v,"instead."));const q=me.morphAttributes.position||me.morphAttributes.normal||me.morphAttributes.color,X=q!==void 0?q.length:0;let se=0;me.morphAttributes.position!==void 0&&(se=1),me.morphAttributes.normal!==void 0&&(se=2),me.morphAttributes.color!==void 0&&(se=3);let Le,pe,Ae,Re;if(Z){const un=_o[Z];Le=un.vertexShader,pe=un.fragmentShader}else Le=F.vertexShader,pe=F.fragmentShader,u.update(F),Ae=u.getVertexShaderID(F),Re=u.getFragmentShaderID(F);const Ie=r.getRenderTarget(),Ge=r.state.buffers.depth.getReversed(),qe=ne.isInstancedMesh===!0,lt=ne.isBatchedMesh===!0,Pt=!!F.map,Be=!!F.matc
vendor: 71,743 bytes, lines 3819-3871
3819ap,Oe=!!ge,K=!!F.aoMap,pt=!!F.lightMap,Fe=!!F.bumpMap,st=!!F.normalMap,Ve=!!F.displacementMap,St=!!F.emissiveMap,$e=!!F.metalnessMap,J=!!F.roughnessMap,G=F.anisotropy>0,ee=F.clearcoat>0,ye=F.dispersion>0,Pe=F.iridescence>0,be=F.sheen>0,et=F.transmission>0,Je=G&&!!F.anisotropyMap,Qe=ee&&!!F.clearcoatMap,Ht=ee&&!!F.clearcoatNormalMap,Ue=ee&&!!F.clearcoatRoughnessMap,ut=Pe&&!!F.iridescenceMap,Ct=Pe&&!!F.iridescenceThicknessMap,Rt=be&&!!F.sheenColorMap,ht=be&&!!F.sheenRoughnessMap,$t=!!F.specularMap,kt=!!F.specularColorMap,pn=!!F.specularIntensityMap,ue=et&&!!F.transmissionMap,Ze=et&&!!F.thicknessMap,Ce=!!F.gradientMap,De=!!F.alphaMap,ot=F.alphaTest>0,nt=!!F.alphaHash,Gt=!!F.extensions;let Bn=Jo;F.toneMapped&&(Ie===null||Ie.isXRRenderTarget===!0)&&(Bn=r.toneMapping);const tr={shaderID:Z,shaderType:F.type,shaderName:F.name,vertexShader:Le,fragmentShader:pe,defines:F.defines,customVertexShaderID:Ae,customFragmentShaderID:Re,isRawShaderMaterial:F.isRawShaderMaterial===!0,glslVersion:F.glslVersion,precision:v,batching:lt,batchingColor:lt&&ne._colorsTexture!==null,instancing:qe,instancingColor:qe&&ne.instanceColor!==null,instancingMorph:qe&&ne.morphTexture!==null,supportsVertexTextures:y,outputColorSpace:Ie===null?r.outputColorSpace:Ie.isXRRenderTarget===!0?Ie.texture.colorSpace:Pu,alphaToCoverage:!!F.alphaToCoverage,map:Pt,matcap:Be,envMap:Oe,envMapMode:Oe&&ge.mapping,envMapCubeUVHeight:U,aoMap:K,lightMap:pt,bumpMap:Fe,normalMap:st,displacementMap:y&&Ve,emissiveMap:St,normalMapObjectSpace:st&&F.normalMapType===Vb,normalMapTangentSpace:st&&F.normalMapType===ac,metalnessMap:$e,roughnessMap:J,anisotropy:G,anisotropyMap:Je,clearcoat:ee,clearcoatMap:Qe,clearcoatNormalMap:Ht,clearcoatRoughnessMap:Ue,dispersion:ye,iridescence:Pe,iridescenceMap:ut,iridescenceThicknessMap:Ct,sheen:be,sheenColorMap:Rt,sheenRoughnessMap:ht,specularMap:$t,specularColorMap:kt,specularIntensityMap:pn,transmission:et,transmissionMap:ue,thicknessMap:Ze,gradientMap:Ce,opaque:F.transparent===!1&&F.blending===xu&&F.alphaToCoverage===!1,alphaMap:De,alphaTest:ot,alphaHash:nt,combine:F.combine,mapUv:Pt&&E(F.map.channel),aoMapUv:K&&E(F.aoMap.channel),lightMapUv:pt&&E(F.lightMap.channel),bumpMapUv:Fe&&E(F.bumpMap.channel),normalMapUv:st&&E(F.normalMap.channel),displacementMapUv:Ve&&E(F.displacementMap.channel),emissiveMapUv:St&&E(F.emissiveMap.channel),metalnessMapUv:$e&&E(F.metalnessMap.channel),roughnessMapUv:J&&E(F.roughnessMap.channel),anisotropyMapUv:Je&&E(F.anisotropyMap.channel),clearcoatMapUv:Qe&&E(F.clearcoatMap.channel),clearcoatNormalMapUv:Ht&&E(F.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:Ue&&E(F.clearcoatRoughnessMap.channel),iridescenceMapUv:ut&&E(F.iridescenceMap.channel),iridescenceThicknessMapUv:Ct&&E(F.iridescenceThicknessMap.channel),sheenColorMapUv:Rt&&E(F.sheenColorMap.channel),sheenRoughnessMapUv:ht&&E(F.sheenRoughnessMap.channel),specularMapUv:$t&&E(F.specularMap.channel),specularColorMapUv:kt&&E(F.specularColorMap.channel),specularIntensityMapUv:pn&&E(F.specularIntensityMap.channel),transmissionMapUv:ue&&E(F.transmissionMap.channel),thicknessMapUv:Ze&&E(F.thicknessMap.channel),alphaMapUv:De&&E(F.alphaMap.channel),vertexTangents:!!me.attributes.tangent&&(st||G),vertexColors:F.vertexColors,vertexAlphas:F.vertexColors===!0&&!!me.attributes.color&&me.attributes.color.itemSize===4,pointsUvs:ne.isPoints===!0&&!!me.attributes.uv&&(Pt||De),fog:!!ce,useFog:F.fog===!0,fogExp2:!!ce&&ce.isFogExp2,flatShading:F.flatShading===!0,sizeAttenuation:F.sizeAttenuation===!0,logarithmicDepthBuffer:m,reverseDepthBuffer:Ge,skinning:ne.isSkinnedMesh===!0,morphTargets:me.morphAttributes.position!==void 0,morphNormals:me.morphAttributes.normal!==void 0,morphColors:me.morphAttributes.color!==void 0,morphTargetsCount:X,morphTextureStride:se,numDirLights:L.directional.length,numPointLights:L.point.length,numSpotLights:L.spot.length,numSpotLightMaps:L.spotLightMap.length,numRectAreaLights:L.rectArea.length,numHemiLights:L.hemi.length,numDirLightShadows:L.directionalShadowMap.length,numPointLightShadows:L.pointShadowMap.length,numSpotLightShadows:L.spotShadowMap.length,numSpotLightShadowsWithMaps:L.numSpotLightShadowsWithMaps,numLightProbes:L.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:F.dithering,shadowMapEnabled:r.shadowMap.enabled&&V.length>0,shadowMapType:r.shadowMap.type,toneMapping:Bn,decodeVideoTexture:Pt&&F.map.isVideoTexture===!0&&yn.getTransfer(F.map.colorSpace)===Cn,decodeVideoTextureEmissive:St&&F.emissiveMap.isVideoTexture===!0&&yn.getTransfer(F.emissiveMap.colorSpace)===Cn,premultipliedAlpha:F.premultipliedAlpha,doubleSided:F.side===xo,flipSided:F.side===Ni,useDepthPacking:F.depthPacking>=0,depthPacking:F.depthPacking||0,index0AttributeName:F.index0AttributeName,extensionClipCullDistance:Gt&&F.extensions.clipCullDistance===!0&&n.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(Gt&&F.extensions.multiDraw===!0||lt)&&n.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:n.has("KHR_parallel_shader_compile"),customProgramCacheKey:F.customProgramCacheKey()};return tr.vertexUv1s=d.has(1),tr.vertexUv2s=d.has(2),tr.vertexUv3s=d.has(3),d.clear(),tr}function M(F){const L=[];if(F.shaderID?L.push(F.shaderID):(L.push(F.customVertexShaderID),L.push(F.customFragmentShaderID)),F.defines!==void 0)for(const V in F.defines)L.push(V),L.push(F.defines[V]);return F.isRawShaderMaterial===!1&&(T(L,F),I(L,F),L.push(r.outputColorSpace)),L.push(F.customProgramCacheKey),L.join()}function T(F,L){F.push(L.precision),F.push(L.outputColorSpace),F.push(L.envMapMode),F.push(L.envMapCubeUVHeight),F.push(L.mapUv),F.push(L.alphaMapUv),F.push(L.lightMapUv),F.push(L.aoMapUv),F.push(L.bumpMapUv),F.push(L.normalMapUv),F.push(L.displacementMapUv),F.push(L.emissiveMapUv),F.push(L.metalnessMapUv),F.push(L.roughnessMapUv),F.push(L.anisotropyMapUv),F.push(L.clearcoatMapUv),F.push(L.clearcoatNormalMapUv),F.push(L.clearcoatRoughnessMapUv),F.push(L.iridescenceMapUv),F.push(L.iridescenceThicknessMapUv),F.push(L.sheenColorMapUv),F.push(L.sheenRoughnessMapUv),F.push(L.specularMapUv),F.push(L.specularColorMapUv),F.push(L.specularIntensityMapUv),F.push(L.transmissionMapUv),F.push(L.thicknessMapUv),F.push(L.combine),F.push(L.fogExp2),F.push(L.sizeAttenuation),F.push(L.morphTargetsCount),F.push(L.morphAttributeCount),F.push(L.numDirLights),F.push(L.numPointLights),F.push(L.numSpotLights),F.push(L.numSpotLightMaps),F.push(L.numHemiLights),F.push(L.numRectAreaLights),F.push(L.numDirLightShadows),F.push(L.numPointLightShadows),F.push(L.numSpotLightShadows),F.push(L.numSpotLightShadowsWithMaps),F.push(L.numLightProbes),F.push(L.shadowMapType),F.push(L.toneMapping),F.push(L.numClippingPlanes),F.push(L.numClipIntersection),F.push(L.depthPacking)}function I(F,L){l.disableAll(),L.supportsVertexTextures&&l.enable(0),L.instancing&&l.enable(1),L.instancingColor&&l.enable(2),L.instancingMorph&&l.enable(3),L.matcap&&l.enable(4),L.envMap&&l.enable(5),L.normalMapObjectSpace&&l.enable(6),L.normalMapTangentSpace&&l.enable(7),L.clearcoat&&l.enable(8),L.iridescence&&l.enable(9),L.alphaTest&&l.enable(10),L.vertexColors&&l.enable(11),L.vertexAlphas&&l.enable(12),L.vertexUv1s&&l.enable(13),L.vertexUv2s&&l.enable(14),L.vertexUv3s&&l.enable(15),L.vertexTangents&&l.enable(16),L.anisotropy&&l.enable(17),L.alphaHash&&l.enable(18),L.batching&&l.enable(19),L.dispersion&&l.enable(20),L.batchingColor&&l.enable(21),F.push(l.mask),l.disableAll(),L.fog&&l.enable(0),L.useFog&&l.enable(1),L.flatShading&&l.enable(2),L.logarithmicDepthBuffer&&l.enable(3),L.reverseDepthBuffer&&l.enable(4),L.skinning&&l.enable(5),L.morphTargets&&l.enable(6),L.morphNormals&&l.enable(7),L.morphColors&&l.enable(8),L.premultipliedAlpha&&l.enable(9),L.shadowMapEnabled&&l.enable(10),L.doubleSided&&l.enable(11),L.flipSided&&l.enable(12),L.useDepthPacking&&l.enable(13),L.dithering&&l.enable(14),L.transmission&&l.enable(15),L.sheen&&l.enable(16),L.opaque&&l.enable(17),L.pointsUvs&&l.enable(18),L.decodeVideoTexture&&l.enable(19),L.decodeVideoTextureEmissive&&l.enable(20),L.alphaToCoverage&&l.enable(21),F.push(l.mask)}function P(F){const L=S[F.type];let V;if(L){const te=_o[L];V=sC.clone(te.uniforms)}else V=F.uniforms;return V}function k(F,L){let V;for(let te=0,ne=p.length;te<ne;te++){const ce=p[te];if(ce.cacheKey===L){V=ce,++V.usedTimes;break}}return V===void 0&&(V=new p6(r,L,F,s),p.push(V)),V}function O(F){if(--F.usedTimes===0){const L=p.indexOf(F);p[L]=p[p.length-1],p.pop(),F.destroy()}}function N(F){u.remove(F)}function H(){u.dispose()}return{getParameters:A,getProgramCacheKey:M,getUniforms:P,acquireProgram:k,releaseProgram:O,releaseShaderCache:N,programs:p,dispose:H}}function _6(){let r=new WeakMap;function e(o){return r.has(o)}function t(o){let l=r.get(o);return l===void 0&&(l={},r.set(o,l)),l}function n(o){r.delete(o)}function i(o,l,u){r.get(o)[l]=u}function s(){r=new WeakMap}return{has:e,get:t,remove:n,update:i,dispose:s}}function x6(r,e){return r.groupOrder!==e.groupOrder?r.groupOrder-e.groupOrder:r.renderOrder!==e.renderOrder?r.renderOrder-e.renderOrder:r.material.id!==e.material.id?r.material.id-e.material.id:r.z!==e.z?r.z-e.z:r.id-e.id}function P2(r,e){return r.groupOrder!==e.groupOrder?r.groupOrder-e.groupOrder:r.renderOrder!==e.renderOrder?r.renderOrder-e.renderOrder:r.z!==e.z?e.z-r.z:r.id-e.id}function R2(){const r=[];let e=0;const t=[],n=[],i=[];function s(){e=0,t.length=0,n.length=0,i.length=0}function o(m,y,v,S,E,A){let M=r[e];return M===void 0?(M={id:m.id,object:m,geometry:y,material:v,groupOrder:S,renderOrder:m.renderOrder,z:E,group:A},r[e]=M):(M.id=m.id,M.object=m,M.geometry=y,M.material=v,M.groupOrder=S,M.renderOrder=m.renderOrder,M.z=E,M.group=A),e++,M}function l(m,y,v,S,E,A){const M=o(m,y,v,S,E,A);v.transmission>0?n.push(M):v.transparent===!0?i.push(M):t.push(M)}function u(m,y,v,S,E,A){const M=o(m,y,v,S,E,A);v.transmission>0?n.unshift(M):v.transparent===!0?i.unshift(M):t.unshift(M)}function d(m,y){t.length>1&&t.sort(m||x6),n.length>1&&n.sort(y||P2),i.length>1&&i.sort(y||P2)}function p(){for(let m=e,y=r.length;m<y;m++){const v=r[m];if(v.id===null)break;v.id=null,v.object=null,v.geometry=null,v.material=null,v.group=null}}return{opaque:t,transmissive:n,transparent:i,init:s,push:l,unshift:u,finish:p,sort:d}}function M6(){let r=new WeakMap;function e(n,i){const s=r.get(n);let o;return s===void 0?(o=new R2,r.set(n,[o])):i>=s.length?(o=new R2,s.push(o)):o=s[i],o}function t(){r=new WeakMap}return{get:e,dispose:t}}function S6(){const r={};return{get:function(e){if(r[e.id]!==void 0)return r[e.id];let t;switch(e.type){case"DirectionalLight":t={direction:new $,color:new tt};break;case"SpotLight":t={position:new $,direction:new $,color:new tt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":t={position:new $,color:new tt,distance:0,decay:0};break;case"HemisphereLight":t={direction:new $,skyColor:new tt,groundColor:new tt};break;case"RectAreaLight":t={color:new tt,position:new $,halfWidth:new $,halfHeight:new $};break}return r[e.id]=t,t}}}function w6(){const r={};return{get:function(e){if(r[e.id]!==void 0)return r[e.id];let t;switch(e.type){case"DirectionalLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ne};break;case"SpotLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ne};break;case"PointLight":t={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ne,shadowCameraNear:1,shadowCameraFar:1e3};break}return r[e.id]=t,t}}}let A6=0;function E6(r,e){return(e.castShadow?2:0)-(r.castShadow?2:0)+(e.map?1:0)-(r.map?1:0)}function b6(r){const e=new S6,t=w6(),n={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let d=0;d<9;d++)n.probe.push(new $);const i=new $,s=new Nt,o=new Nt;function l(d){let p=0,m=0,y=0;for(let F=0;F<9;F++)n.probe[F].set(0,0,0);let v=0,S=0,E=0,A=0,M=0,T=0,I=0,P=0,k=0,O=0,N=0;d.sort(E6);for(let F=0,L=d.length;F<L;F++){const V=d[F],te=V.color,ne=V.intensity,ce=V.distance,me=V.shadow&&V.shadow.map?V.shadow.map.texture:null;if(V.isAmbientLight)p+=te.r*ne,m+=te.g*ne,y+=te.b*ne;else if(V.isLightProbe){for(let he=0;he<9;he++)n.probe[he].addScaledVector(V.sh.coefficients[he],ne);N++}else if(V.isDirectionalLight){const he=e.get(V);if(he.color.copy(V.color).multiplyScalar(V.intensity),V.castShadow){const ge=V.shadow,U=t.get(V);U.shadowIntensity=ge.intensity,U.shadowBias=ge.bias,U.shadowNormalBias=ge.normalBias,U.shadowRadius=ge.radius,U.shadowMapSize=ge.mapSize,n.directionalShadow[v]=U,n.directionalShadowMap[v]=me,n.directionalShadowMatrix[v]=V.shadow.matrix,T++}n.directional[v]=he,v++}else if(V.isSpotLight){const he=e.get(V);he.position.setFromMatrixPosition(V.matrixWorld),he.color.copy(te).multiplyScalar(ne),he.distance=ce,he.coneCos=Math.cos(V.angle),he.penumbraCos=Math.cos(V.angle*(1-V.penumbra)),he.decay=V.decay,n.spot[E]=he;const ge=V.shadow;if(V.map&&(n.spotLightMap[k]=V.map,k++,ge.updateMatrices(V),V.castShadow&&O++),n.spotLightMatrix[E]=ge.matrix,V.castShadow){const U=t.get(V);U.shadowIntensity=ge.intensity,U.shadowBias=ge.bias,U.shadowNormalBias=ge.normalBias,U.shadowRadius=ge.radius,U.shadowMapSize=ge.mapSize,n.spotShadow[E]=U,n.spotShadowMap[E]=me,P++}E++}else if(V.isRectAreaLight){const he=e.get(V);he.color.copy(te).multiplyScalar(ne),he.halfWidth.set(V.width*.5,0,0),he.halfHeight.set(0,V.height*.5,0),n.rectArea[A]=he,A++}else if(V.isPointLight){const he=e.get(V);if(he.color.copy(V.color).multiplyScalar(V.intensity),he.distance=V.distance,he.decay=V.decay,V.castShadow){const ge=V.shadow,U=t.get(V);U.shadowIntensity=ge.intensity,U.shadowBias=ge.bias,U.shadowNormalBias=ge.normalBias,U.shadowRadius=ge.radius,U.shadowMapSize=ge.mapSize,U.shadowCameraNear=ge.camera.near,U.shadowCameraFar=ge.camera.far,n.pointShadow[S]=U,n.pointShadowMap[S]=me,n.pointShadowMatrix[S]=V.shadow.matrix,I++}n.point[S]=he,S++}else if(V.isHemisphereLight){const he=e.get(V);he.skyColor.copy(V.color).multiplyScalar(ne),he.groundColor.copy(V.groundColor).multiplyScalar(ne),n.hemi[M]=he,M++}}A>0&&(r.has("OES_texture_float_linear")===!0?(n.rectAreaLTC1=it.LTC_FLOAT_1,n.rectAreaLTC2=it.LTC_FLOAT_2):(n.rectAreaLTC1=it.LTC_HALF_1,n.rectAreaLTC2=it.LTC_HALF_2)),n.ambient[0]=p,n.ambient[1]=m,n.ambient[2]=y;const H=n.hash;(H.directionalLength!==v||H.pointLength!==S||H.spotLength!==E||H.rectAreaLength!==A||H.hemiLength!==M||H.numDirectionalShadows!==T||H.numPointShadows!==I||H.numSpotShadows!==P||H.numSpotMaps!==k||H.numLightProbes!==N)&&(n.directional.length=v,n.spot.length=E,n.rectArea.length=A,n.point.length=S,n.hemi.length=M,n.directionalShadow.length=T,n.directionalShadowMap.length=T,n.pointShadow.length=I,n.pointShadowMap.length=I,n.spotShadow.length=P,n.spotShadowMap.length=P,n.directionalShadowMatrix.length=T,n.pointShadowMatrix.length=I,n.spotLightMatrix.length=P+k-O,n.spotLightMap.length=k,n.numSpotLightShadowsWithMaps=O,n.numLightProbes=N,H.directionalLength=v,H.pointLength=S,H.spotLength=E,H.rectAreaLength=A,H.hemiLength=M,H.numDirectionalShadows=T,H.numPointShadows=I,H.numSpotShadows=P,H.numSpotMaps=k,H.numLightProbes=N,n.version=A6++)}function u(d,p){let m=0,y=0,v=0,S=0,E=0;const A=p.matrixWorldInverse;for(let M=0,T=d.length;M<T;M++){const I=d[M];if(I.isDirectionalLight){const P=n.directional[m];P.direction.setFromMatrixPosition(I.matrixWorld),i.setFromMatrixPosition(I.target.matrixWorld),P.direction.sub(i),P.direction.transformDirection(A),m++}else if(I.isSpotLight){const P=n.spot[v];P.position.setFromMatrixPosition(I.matrixWorld),P.position.applyMatrix4(A),P.direction.setFromMatrixPosition(I.matrixWorld),i.setFromMatrixPosition(I.target.matrixWorld),P.direction.sub(i),P.direction.transformDirection(A),v++}else if(I.isRectAreaLight){const P=n.rectArea[S];P.position.setFromMatrixPosition(I.matrixWorld),P.position.applyMatrix4(A),o.identity(),s.copy(I.matrixWorld),s.premultiply(A),o.extractRotation(s),P.halfWidth.set(I.width*.5,0,0),P.halfHeight.set(0,I.height*.5,0),P.halfWidth.applyMatrix4(o),P.halfHeight.applyMatrix4(o),S++}else if(I.isPointLight){const P=n.point[y];P.position.setFromMatrixPosition(I.matrixWorld),P.position.applyMatrix4(A),y++}else if(I.isHemisphereLight){const P=n.hemi[E];P.direction.setFromMatrixPosition(I.matrixWorld),P.direction.transformDirection(A),E++}}}return{setup:l,setupView:u,state:n}}function B2(r){const e=new b6(r),t=[],n=[];function i(p){d.camera=p,t.length=0,n.length=0}function s(p){t.push(p)}function o(p){n.push(p)}function l(){e.setup(t)}function u(p){e.setupView(t,p)}const d={lightsArray:t,shadowsArray:n,camera:null,lights:e,transmissionRenderTarget:{}};return{init:i,state:d,setupLights:l,setupLightsView:u,pushLight:s,pushShadow:o}}function C6(r){let e=new WeakMap;function t(i,s=0){const o=e.get(i);let l;return o===void 0?(l=new B2(r),e.set(i,[l])):s>=o.length?(l=new B2(r),o.push(l)):l=o[s],l}function n(){e=new WeakMap}return{get:t,dispose:n}}const T6=`void main() { 3820 gl_Position = vec4( position, 1.0 ); 3821}`,I6=`uniform sampler2D shadow_pass; 3822uniform vec2 resolution; 3823uniform float radius; 3824#include <packing> 3825void main() { 3826 const float samples = float( VSM_SAMPLES ); 3827 float mean = 0.0; 3828 float squared_mean = 0.0; 3829 float uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 ); 3830 float uvStart = samples <= 1.0 ? 0.0 : - 1.0; 3831 for ( float i = 0.0; i < samples; i ++ ) { 3832 float uvOffset = uvStart + i * uvStride; 3833 #ifdef HORIZONTAL_PASS 3834 vec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) ); 3835 mean += distribution.x; 3836 squared_mean += distribution.y * distribution.y + distribution.x * distribution.x; 3837 #else 3838 float depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) ); 3839 mean += depth; 3840 squared_mean += depth * depth; 3841 #endif 3842 } 3843 mean = mean / samples; 3844 squared_mean = squared_mean / samples; 3845 float std_dev = sqrt( squared_mean - mean * mean ); 3846 gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); 3847}`;function P6(r,e,t){let n=new am;const i=new Ne,s=new Ne,o=new xn,l=new fM({depthPacking:Gb}),u=new pM,d={},p=t.maxTextureSize,m={[Qo]:Ni,[Ni]:Qo,[xo]:xo},y=new So({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Ne},radius:{value:4}},vertexShader:T6,fragmentShader:I6}),v=y.clone();v.defines.HORIZONTAL_PASS=1;const S=new Jt;S.setAttribute("position",new vn(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const E=new hr(S,y),A=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=Oy;let M=this.type;this.render=function(O,N,H){if(A.enabled===!1||A.autoUpdate===!1&&A.needsUpdate===!1||O.length===0)return;const F=r.getRenderTarget(),L=r.getActiveCubeFace(),V=r.getActiveMipmapLevel(),te=r.state;te.setBlending(Ya),te.buffers.color.setClear(1,1,1,1),te.buffers.depth.setTest(!0),te.setScissorTest(!1);const ne=M!==vo&&this.type===vo,ce=M===vo&&this.type!==vo;for(let me=0,he=O.length;me<he;me++){const ge=O[me],U=ge.shadow;if(U===void 0){console.warn("THREE.WebGLShadowMap:",ge,"has no shadow.");continue}if(U.autoUpdate===!1&&U.needsUpdate===!1)continue;i.copy(U.mapSize);const Z=U.getFrameExtents();if(i.multiply(Z),s.copy(U.mapSize),(i.x>p||i.y>p)&&(i.x>p&&(s.x=Math.floor(p/Z.x),i.x=s.x*Z.x,U.mapSize.x=s.x),i.y>p&&(s.y=Math.floor(p/Z.y),i.y=s.y*Z.y,U.mapSize.y=s.y)),U.map===null||ne===!0||ce===!0){const X=this.type!==vo?{minFilter:zr,magFilter:zr}:{};U.map!==null&&U.map.dispose(),U.map=new Hs(i.x,i.y,X),U.map.texture.name=ge.name+".shadowMap",U.camera.updateProjectionMatrix()}r.setRenderTarget(U.map),r.clear();const q=U.getViewportCount();for(let X=0;X<q;X++){const se=U.getViewport(X);o.set(s.x*se.x,s.y*se.y,s.x*se.z,s.y*se.w),te.viewport(o),U.updateMatrices(ge,X),n=U.getFrustum(),P(N,H,U.camera,ge,this.type)}U.isPointLightShadow!==!0&&this.type===vo&&T(U,H),U.needsUpdate=!1}M=this.type,A.needsUpdate=!1,r.setRenderTarget(F,L,V)};function T(O,N){const H=e.update(E);y.defines.VSM_SAMPLES!==O.blurSamples&&(y.defines.VSM_SAMPLES=O.blurSamples,v.defines.VSM_SAMPLES=O.blurSamples,y.needsUpdate=!0,v.needsUpdate=!0),O.mapPass===null&&(O.mapPass=new Hs(i.x,i.y)),y.uniforms.shadow_pass.value=O.map.texture,y.uniforms.resolution.value=O.mapSize,y.uniforms.radius.value=O.radius,r.setRenderTarget(O.mapPass),r.clear(),r.renderBufferDirect(N,null,H,y,E,null),v.uniforms.shadow_pass.value=O.mapPass.texture,v.uniforms.resolution.value=O.mapSize,v.uniforms.radius.value=O.radius,r.setRenderTarget(O.map),r.clear(),r.renderBufferDirect(N,null,H,v,E,null)}function I(O,N,H,F){let L=null;const V=H.isPointLight===!0?O.customDistanceMaterial:O.customDepthMaterial;if(V!==void 0)L=V;else if(L=H.isPointLight===!0?u:l,r.localClippingEnabled&&N.clipShadows===!0&&Array.isArray(N.clippingPlanes)&&N.clippingPlanes.length!==0||N.displacementMap&&N.displacementScale!==0||N.alphaMap&&N.alphaTest>0||N.map&&N.alphaTest>0){const te=L.uuid,ne=N.uuid;let ce=d[te];ce===void 0&&(ce={},d[te]=ce);let me=ce[ne];me===void 0&&(me=L.clone(),ce[ne]=me,N.addEventListener("dispose",k)),L=me}if(L.visible=N.visible,L.wireframe=N.wireframe,F===vo?L.side=N.shadowSide!==null?N.shadowSide:N.side:L.side=N.shadowSide!==null?N.shadowSide:m[N.side],L.alphaMap=N.alphaMap,L.alphaTest=N.alphaTest,L.map=N.map,L.clipShadows=N.clipShadows,L.clippingPlanes=N.clippingPlanes,L.clipIntersection=N.clipIntersection,L.displacementMap=N.displacementMap,L.displacementScale=N.displacementScale,L.displacementBias=N.displacementBias,L.wireframeLinewidth=N.wireframeLinewidth,L.linewidth=N.linewidth,H.isPointLight===!0&&L.isMeshDistanceMaterial===!0){const te=r.properties.get(L);te.light=H}return L}function P(O,N,H,F,L){if(O.visible===!1)return;if(O.layers.test(N.layers)&&(O.isMesh||O.isLine||O.isPoints)&&(O.castShadow||O.receiveShadow&&L===vo)&&(!O.frustumCulled||n.intersectsObject(O))){O.modelViewMatrix.multiplyMatrices(H.matrixWorldInverse,O.matrixWorld);const ne=e.update(O),ce=O.material;if(Array.isArray(ce)){const me=ne.groups;for(let he=0,ge=me.length;he<ge;he++){const U=me[he],Z=ce[U.materialIndex];if(Z&&Z.visible){const q=I(O,Z,F,L);O.onBeforeShadow(r,O,N,H,ne,q,U),r.renderBufferDirect(H,null,ne,q,O,U),O.onAfterShadow(r,O,N,H,ne,q,U)}}}else if(ce.visible){const me=I(O,ce,F,L);O.onBeforeShadow(r,O,N,H,ne,me,null),r.renderBufferDirect(H,null,ne,me,O,null),O.onAfterShadow(r,O,N,H,ne,me,null)}}const te=O.children;for(let ne=0,ce=te.length;ne<ce;ne++)P(te[ne],N,H,F,L)}function k(O){O.target.removeEventListener("dispose",k);for(const H in d){const F=d[H],L=O.target.uuid;L in F&&(F[L].dispose(),delete F[L])}}}const R6={[Pg]:Rg,[Bg]:Lg,[Og]:Ng,[Cu]:Dg,[Rg]:Pg,[Lg]:Bg,[Ng]:Og,[Dg]:Cu};function B6(r,e){function t(){let ue=!1;const Ze=new xn;let Ce=null;const De=new xn(0,0,0,0);return{setMask:function(ot){Ce!==ot&&!ue&&(r.colorMask(ot,ot,ot,ot),Ce=ot)},setLocked:function(ot){ue=ot},setClear:function(ot,nt,Gt,Bn,tr){tr===!0&&(ot*=Bn,nt*=Bn,Gt*=Bn),Ze.set(ot,nt,Gt,Bn),De.equals(Ze)===!1&&(r.clearColor(ot,nt,Gt,Bn),De.copy(Ze))},reset:function(){ue=!1,Ce=null,De.set(-1,0,0,0)}}}function n(){let ue=!1,Ze=!1,Ce=null,De=null,ot=null;return{setReversed:function(nt){if(Ze!==nt){const Gt=e.get("EXT_clip_control");Ze?Gt.clipControlEXT(Gt.LOWER_LEFT_EXT,Gt.ZERO_TO_ONE_EXT):Gt.clipControlEXT(Gt.LOWER_LEFT_EXT,Gt.NEGATIVE_ONE_TO_ONE_EXT);const Bn=ot;ot=null,this.setClear(Bn)}Ze=nt},getReversed:function(){return Ze},setTest:function(nt){nt?Ie(r.DEPTH_TEST):Ge(r.DEPTH_TEST)},setMask:function(nt){Ce!==nt&&!ue&&(r.depthMask(nt),Ce=nt)},setFunc:function(nt){if(Ze&&(nt=R6[nt]),De!==nt){switch(nt){case Pg:r.depthFunc(r.NEVER);break;case Rg:r.depthFunc(r.ALWAYS);break;case Bg:r.depthFunc(r.LESS);break;case Cu:r.depthFunc(r.LEQUAL);break;case Og:r.depthFunc(r.EQUAL);break;case Dg:r.depthFunc(r.GEQUAL);break;case Lg:r.depthFunc(r.GREATER);break;case Ng:r.depthFunc(r.NOTEQUAL);break;default:r.depthFunc(r.LEQUAL)}De=nt}},setLocked:function(nt){ue=nt},setClear:function(nt){ot!==nt&&(Ze&&(nt=1-nt),r.clearDepth(nt),ot=nt)},reset:function(){ue=!1,Ce=null,De=null,ot=null,Ze=!1}}}function i(){let ue=!1,Ze=null,Ce=null,De=null,ot=null,nt=null,Gt=null,Bn=null,tr=null;return{setTest:function(un){ue||(un?Ie(r.STENCIL_TEST):Ge(r.STENCIL_TEST))},setMask:function(un){Ze!==un&&!ue&&(r.stencilMask(un),Ze=un)},setFunc:function(un,Hr,Gr){(Ce!==un||De!==Hr||ot!==Gr)&&(r.stencilFunc(un,Hr,Gr),Ce=un,De=Hr,ot=Gr)},setOp:function(un,Hr,Gr){(nt!==un||Gt!==Hr||Bn!==Gr)&&(r.stencilOp(un,Hr,Gr),nt=un,Gt=Hr,Bn=Gr)},setLocked:function(un){ue=un},setClear:function(un){tr!==un&&(r.clearStencil(un),tr=un)},reset:function(){ue=!1,Ze=null,Ce=null,De=null,ot=null,nt=null,Gt=null,Bn=null,tr=null}}}const s=new t,o=new n,l=new i,u=new WeakMap,d=new WeakMap;let p={},m={},y=new WeakMap,v=[],S=null,E=!1,A=null,M=null,T=null,I=null,P=null,k=null,O=null,N=new tt(0,0,0),H=0,F=!1,L=null,V=null,te=null,ne=null,ce=null;const me=r.getParameter(r.MAX_COMBINED_TEXTURE_IMAGE_UNITS);let he=!1,ge=0;const U=r.getParameter(r.VERSION);U.indexOf("WebGL")!==-1?(ge=parseFloat(/^WebGL (\d)/.exec(U)[1]),he=ge>=1):U.indexOf("OpenGL ES")!==-1&&(ge=parseFloat(/^OpenGL ES (\d)/.exec(U)[1]),he=ge>=2);let Z=null,q={};const X=r.getParameter(r.SCISSOR_BOX),se=r.getParameter(r.VIEWPORT),Le=new xn().fromArray(X),pe=new xn().fromArray(se);function Ae(ue,Ze,Ce,De){const ot=new Uint8Array(4),nt=r.createTexture();r.bindTexture(ue,nt),r.texParameteri(ue,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(ue,r.TEXTURE_MAG_FILTER,r.NEAREST);for(let Gt=0;Gt<Ce;Gt++)ue===r.TEXTURE_3D||ue===r.TEXTURE_2D_ARRAY?r.texImage3D(Ze,0,r.RGBA,1,1,De,0,r.RGBA,r.UNSIGNED_BYTE,ot):r.texImage2D(Ze+Gt,0,r.RGBA,1,1,0,r.RGBA,r.UNSIGNED_BYTE,ot);return nt}const Re={};Re[r.TEXTURE_2D]=Ae(r.TEXTURE_2D,r.TEXTURE_2D,1),Re[r.TEXTURE_CUBE_MAP]=Ae(r.TEXTURE_CUBE_MAP,r.TEXTURE_CUBE_MAP_POSITIVE_X,6),Re[r.TEXTURE_2D_ARRAY]=Ae(r.TEXTURE_2D_ARRAY,r.TEXTURE_2D_ARRAY,1,1),Re[r.TEXTURE_3D]=Ae(r.TEXTURE_3D,r.TEXTURE_3D,1,1),s.setClear(0,0,0,1),o.setClear(1),l.setClear(0),Ie(r.DEPTH_TEST),o.setFunc(Cu),Fe(!1),st(V_),Ie(r.CULL_FACE),K(Ya);function Ie(ue){p[ue]!==!0&&(r.enable(ue),p[ue]=!0)}function Ge(ue){p[ue]!==!1&&(r.disable(ue),p[ue]=!1)}function qe(ue,Ze){return m[ue]!==Ze?(r.bindFramebuffer(ue,Ze),m[ue]=Ze,ue===r.DRAW_FRAMEBUFFER&&(m[r.FRAMEBUFFER]=Ze),ue===r.FRAMEBUFFER&&(m[r.DRAW_FRAMEBUFFER]=Ze),!0):!1}function lt(ue,Ze){let Ce=v,De=!1;if(ue){Ce=y.get(Ze),Ce===void 0&&(Ce=[],y.set(Ze,Ce));const ot=ue.textures;if(Ce.length!==ot.length||Ce[0]!==r.COLOR_ATTACHMENT0){for(let nt=0,Gt=ot.length;nt<Gt;nt++)Ce[nt]=r.COLOR_ATTACHMENT0+nt;Ce.length=ot.length,De=!0}}else Ce[0]!==r.BACK&&(Ce[0]=r.BACK,De=!0);De&&r.drawBuffers(Ce)}function Pt(ue){return S!==ue?(r.useProgram(ue),S=ue,!0):!1}const Be={[ql]:r.FUNC_ADD,[db]:r.FUNC_SUBTRACT,[fb]:r.FUNC_REVERSE_SUBTRACT};Be[pb]=r.MIN,Be[mb]=r.MAX;const Oe={[gb]:r.ZERO,[yb]:r.ONE,[vb]:r.SRC_COLOR,[Tg]:r.SRC_ALPHA,[Ab]:r.SRC_ALPHA_SATURATE,[Sb]:r.DST_COLOR,[xb]:r.DST_ALPHA,[_b]:r.ONE_MINUS_SRC_COLOR,[Ig]:r.ONE_MINUS_SRC_ALPHA,[wb]:r.ONE_MINUS_DST_COLOR,[Mb]:r.ONE_MINUS_DST_ALPHA,[Eb]:r.CONSTANT_COLOR,[bb]:r.ONE_MINUS_CONSTANT_COLOR,[Cb]:r.CONSTANT_ALPHA,[Tb]:r.ONE_MINUS_CONSTANT_ALPHA};function K(ue,Ze,Ce,De,ot,nt,Gt,Bn,tr,un){if(ue===Ya){E===!0&&(Ge(r.BLEND),E=!1);return}if(E===!1&&(Ie(r.BLEND),E=!0),ue!==hb){if(ue!==A||un!==F){if((M!==ql||P!==ql)&&(r.blendEquation(r.FUNC_ADD),M=ql,P=ql),un)switch(ue){case xu:r.blendFuncSeparate(r.ONE,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA);break;case Cg:r.blendFunc(r.ONE,r.ONE);break;case W_:r.blendFuncSeparate(r.ZERO,r.ONE_MINUS_SRC_COLOR,r.ZERO,r.ONE);break;case X_:r.blendFuncSeparate(r.ZERO,r.SRC_COLOR,r.ZERO,r.SRC_ALPHA);break;default:console.error("THREE.WebGLState: Invalid blending: ",ue);break}else switch(ue){case xu:r.blendFuncSeparate(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA);break;case Cg:r.blendFunc(r.SRC_ALPHA,r.ONE);break;case W_:r.blendFuncSeparate(r.ZERO,r.ONE_MINUS_SRC_COLOR,r.ZERO,r.ONE);break;case X_:r.blendFunc(r.ZERO,r.SRC_COLOR);break;default:console.error("THREE.WebGLState: Invalid blending: ",ue);break}T=null,I=null,k=null,O=null,N.set(0,0,0),H=0,A=ue,F=un}return}ot=ot||Ze,nt=nt||Ce,Gt=Gt||De,(Ze!==M||ot!==P)&&(r.blendEquationSeparate(Be[Ze],Be[ot]),M=Ze,P=ot),(Ce!==T||De!==I||nt!==k||Gt!==O)&&(r.blendFuncSeparate(Oe[Ce],Oe[De],Oe[nt],Oe[Gt]),T=Ce,I=De,k=nt,O=Gt),(Bn.equals(N)===!1||tr!==H)&&(r.blendColor(Bn.r,Bn.g,Bn.b,tr),N.copy(Bn),H=tr),A=ue,F=!1}function pt(ue,Ze){ue.side===xo?Ge(r.CULL_FACE):Ie(r.CULL_FACE);let Ce=ue.side===Ni;Ze&&(Ce=!Ce),Fe(Ce),ue.blending===xu&&ue.transparent===!1?K(Ya):K(ue.blending,ue.blendEquation,ue.blendSrc,ue.blendDst,ue.blendEquationAlpha,ue.blendSrcAlpha,ue.blendDstAlpha,ue.blendColor,ue.blendAlpha,ue.premultipliedAlpha),o.setFunc(ue.depthFunc),o.setTest(ue.depthTest),o.setMask(ue.depthWrite),s.setMask(ue.colorWrite);const De=ue.stencilWrite;l.setTest(De),De&&(l.setMask(ue.stencilWriteMask),l.setFunc(ue.stencilFunc,ue.stencilRef,ue.stencilFuncMask),l.setOp(ue.stencilFail,ue.stencilZFail,ue.stencilZPass)),St(ue.polygonOffset,ue.polygonOffsetFactor,ue.polygonOffsetUnits),ue.alphaToCoverage===!0?Ie(r.SAMPLE_ALPHA_TO_COVERAGE):Ge(r.SAMPLE_ALPHA_TO_COVERAGE)}function Fe(ue){L!==ue&&(ue?r.frontFace(r.CW):r.frontFace(r.CCW),L=ue)}function st(ue){ue!==lb?(Ie(r.CULL_FACE),ue!==V&&(ue===V_?r.cullFace(r.BACK):ue===cb?r.cullFace(r.FRONT):r.cullFace(r.FRONT_AND_BACK))):Ge(r.CULL_FACE),V=ue}function Ve(ue){ue!==te&&(he&&r.lineWidth(ue),te=ue)}function St(ue,Ze,Ce){ue?(Ie(r.POLYGON_OFFSET_FILL),(ne!==Ze||ce!==Ce)&&(r.polygonOffset(Ze,Ce),ne=Ze,ce=Ce)):Ge(r.POLYGON_OFFSET_FILL)}function $e(ue){ue?Ie(r.SCISSOR_TEST):Ge(r.SCISSOR_TEST)}function J(ue){ue===void 0&&(ue=r.TEXTURE0+me-1),Z!==ue&&(r.activeTexture(ue),Z=ue)}function G(ue,Ze,Ce){Ce===void 0&&(Z===null?Ce=r.TEXTURE0+me-1:Ce=Z);let De=q[Ce];De===void 0&&(De={type:void 0,texture:void 0},q[Ce]=De),(De.type!==ue||De.texture!==Ze)&&(Z!==Ce&&(r.activeTexture(Ce),Z=Ce),r.bindTexture(ue,Ze||Re[ue]),De.type=ue,De.texture=Ze)}function ee(){const ue=q[Z];ue!==void 0&&ue.type!==void 0&&(r.bindTexture(ue.type,null),ue.type=void 0,ue.texture=void 0)}function ye(){try{r.compressedTexImage2D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function Pe(){try{r.compressedTexImage3D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function be(){try{r.texSubImage2D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function et(){try{r.texSubImage3D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function Je(){try{r.compressedTexSubImage2D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function Qe(){try{r.compressedTexSubImage3D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function Ht(){try{r.texStorage2D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function Ue(){try{r.texStorage3D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function ut(){try{r.texImage2D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function Ct(){try{r.texImage3D.apply(r,arguments)}catch(ue){console.error("THREE.WebGLState:",ue)}}function Rt(ue){Le.equals(ue)===!1&&(r.scissor(ue.x,ue.y,ue.z,ue.w),Le.copy(ue))}function ht(ue){pe.equals(ue)===!1&&(r.viewport(ue.x,ue.y,ue.z,ue.w),pe.copy(ue))}function $t(ue,Ze){let Ce=d.get(Ze);Ce===void 0&&(Ce=new WeakMap,d.set(Ze,Ce));let De=Ce.get(ue);De===void 0&&(De=r.getUniformBlockIndex(Ze,ue.name),Ce.set(ue,De))}function kt(ue,Ze){const De=d.get(Ze).get(ue);u.get(Ze)!==De&&(r.uniformBlockBinding(Ze,De,ue.__bindingPointIndex),u.set(Ze,De))}function pn(){r.disable(r.BLEND),r.disable(r.CULL_FACE),r.disable(r.DEPTH_TEST),r.disable(r.POLYGON_OFFSET_FILL),r.disable(r.SCISSOR_TEST),r.disable(r.STENCIL_TEST),r.disable(r.SAMPLE_ALPHA_TO_COVERAGE),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ZERO),r.blendFuncSeparate(r.ONE,r.ZERO,r.ONE,r.ZERO),r.blendColor(0,0,0,0),r.colorMask(!0,!0,!0,!0),r.clearColor(0,0,0,0),r.depthMask(!0),r.depthFunc(r.LESS),o.setReversed(!1),r.clearDepth(1),r.stencilMask(4294967295),r.stencilFunc(r.ALWAYS,0,4294967295),r.stencilOp(r.KEEP,r.KEEP,r.KEEP),r.clearStencil(0),r.cullFace(r.BACK),r.frontFace(r.CCW),r.polygonOffset(0,0),r.activeTexture(r.TEXTURE0),r.bindFramebuffer(r.FRAMEBUFFER,null),r.bindFramebuffer(r.DRAW_FRAMEBUFFER,null),r.bindFramebuffer(r.READ_FRAMEBUFFER,null),r.useProgram(null),r.lineWidth(1),r.scissor(0,0,r.canvas.width,r.canvas.height),r.viewport(0,0,r.canvas.width,r.canvas.height),p={},Z=null,q={},m={},y=new WeakMap,v=[],S=null,E=!1,A=null,M=null,T=null,I=null,P=null,k=null,O=null,N=new tt(0,0,0),H=0,F=!1,L=null,V=null,te=null,ne=null,ce=null,Le.set(0,0,r.canvas.width,r.canvas.height),pe.set(0,0,r.canvas.width,r.canvas.height),s.reset(),o.reset(),l.reset()}return{buffers:{color:s,depth:o,stencil:l},enable:Ie,disable:Ge,bindFramebuffer:qe,drawBuffers:lt,useProgram:Pt,setBlending:K,setMaterial:pt,setFlipSided:Fe,setCullFace:st,setLineWidth:Ve,setPolygonOffset:St,setScissorTest:$e,activeTexture:J,bindTexture:G,unbindTexture:ee,compressedTexImage2D:ye,compressedTexImage3D:Pe,texImage2D:ut,texImage3D:Ct,updateUBOMapping:$t,uniformBlockBinding:kt,texStorage2D:Ht,texStorage3D:Ue,texSubImage2D:be,texSubImage3D:et,compressedTexSubImage2D:Je,compressedTexSubImage3D:Qe,scissor:Rt,viewport:ht,reset:pn}}function O6(r,e,t,n,i,s,o){const l=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,u=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),d=new Ne,p=new WeakMap;let m;const y=new WeakMap;let v=!1;try{v=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function S(J,G){return v?new OffscreenCanvas(J,G):Hp("canvas")}function E(J,G,ee){let ye=1;const Pe=$e(J);if((Pe.width>ee||Pe.height>ee)&&(ye=ee/Math.max(Pe.width,Pe.height)),ye<1)if(typeof HTMLImageElement<"u"&&J instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&J instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&J instanceof ImageBitmap||typeof VideoFrame<"u"&&J instanceof VideoFrame){const be=Math.floor(ye*Pe.width),et=Math.floor(ye*Pe.height);m===void 0&&(m=S(be,et));const Je=G?S(be,et):m;return Je.width=be,Je.height=et,Je.getContext("2d").drawImage(J,0,0,be,et),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Pe.width+"x"+Pe.height+") to ("+be+"x"+et+")."),Je}else return"data"in J&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Pe.width+"x"+Pe.height+")."),J;return J}function A(J){return J.generateMipmaps}function M(J){r.generateMipmap(J)}function T(J){return J.isWebGLCubeRenderTarget?r.TEXTURE_CUBE_MAP:J.isWebGL3DRenderTarget?r.TEXTURE_3D:J.isWebGLArrayRenderTarget||J.isCompressedArrayTexture?r.TEXTURE_2D_ARRAY:r.TEXTURE_2D}function I(J,G,ee,ye,Pe=!1){if(J!==null){if(r[J]!==void 0)return r[J];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+J+"'")}let be=G;if(G===r.RED&&(ee===r.FLOAT&&(be=r.R32F),ee===r.HALF_FLOAT&&(be=r.R16F),ee===r.UNSIGNED_BYTE&&(be=r.R8)),G===r.RED_INTEGER&&(ee===r.UNSIGNED_BYTE&&(be=r.R8UI),ee===r.UNSIGNED_SHORT&&(be=r.R16UI),ee===r.UNSIGNED_INT&&(be=r.R32UI),ee===r.BYTE&&(be=r.R8I),ee===r.SHORT&&(be=r.R16I),ee===r.INT&&(be=r.R32I)),G===r.RG&&(ee===r.FLOAT&&(be=r.RG32F),ee===r.HALF_FLOAT&&(be=r.RG16F),ee===r.UNSIGNED_BYTE&&(be=r.RG8)),G===r.RG_INTEGER&&(ee===r.UNSIGNED_BYTE&&(be=r.RG8UI),ee===r.UNSIGNED_SHORT&&(be=r.RG16UI),ee===r.UNSIGNED_INT&&(be=r.RG32UI),ee===r.BYTE&&(be=r.RG8I),ee===r.SHORT&&(be=r.RG16I),ee===r.INT&&(be=r.RG32I)),G===r.RGB_INTEGER&&(ee===r.UNSIGNED_BYTE&&(be=r.RGB8UI),ee===r.UNSIGNED_SHORT&&(be=r.RGB16UI),ee===r.UNSIGNED_INT&&(be=r.RGB32UI),ee===r.BYTE&&(be=r.RGB8I),ee===r.SHORT&&(be=r.RGB16I),ee===r.INT&&(be=r.RGB32I)),G===r.RGBA_INTEGER&&(ee===r.UNSIGNED_BYTE&&(be=r.RGBA8UI),ee===r.UNSIGNED_SHORT&&(be=r.RGBA16UI),ee===r.UNSIGNED_INT&&(be=r.RGBA32UI),ee===r.BYTE&&(be=r.RGBA8I),ee===r.SHORT&&(be=r.RGBA16I),ee===r.INT&&(be=r.RGBA32I)),G===r.RGB&&ee===r.UNSIGNED_INT_5_9_9_9_REV&&(be=r.RGB9_E5),G===r.RGBA){const et=Pe?Up:yn.getTransfer(ye);ee===r.FLOAT&&(be=r.RGBA32F),ee===r.HALF_FLOAT&&(be=r.RGBA16F),ee===r.UNSIGNED_BYTE&&(be=et===Cn?r.SRGB8_ALPHA8:r.RGBA8),ee===r.UNSIGNED_SHORT_4_4_4_4&&(be=r.RGBA4),ee===r.UNSIGNED_SHORT_5_5_5_1&&(be=r.RGB5_A1)}return(be===r.R16F||be===r.R32F||be===r.RG16F||be===r.RG32F||be===r.RGBA16F||be===r.RGBA32F)&&e.get("EXT_color_buffer_float"),be}function P(J,G){let ee;return J?G===null||G===tl||G===Tu?ee=r.DEPTH24_STENCIL8:G===Di?ee=r.DEPTH32F_STENCIL8:G===Dd&&(ee=r.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):G===null||G===tl||G===Tu?ee=r.DEPTH_COMPONENT24:G===Di?ee=r.DEPTH_COMPONENT32F:G===Dd&&(ee=r.DEPTH_COMPONENT16),ee}function k(J,G){return A(J)===!0||J.isFramebufferTexture&&J.minFilter!==zr&&J.minFilter!==Zn?Math.log2(Math.max(G.width,G.height))+1:J.mipmaps!==void 0&&J.mipmaps.length>0?J.mipmaps.length:J.isCompressedTexture&&Array.isArray(J.image)?G.mipmaps.length:1}function O(J){const G=J.target;G.removeEventListener("dispose",O),H(G),G.isVideoTexture&&p.delete(G)}function N(J){const G=J.target;G.removeEventListener("dispose",N),L(G)}function H(J){const G=n.get(J);if(G.__webglInit===void 0)return;const ee=J.source,ye=y.get(ee);if(ye){const Pe=ye[G.__cacheKey];Pe.usedTimes--,Pe.usedTimes===0&&F(J),Object.keys(ye).length===0&&y.delete(ee)}n.remove(J)}function F(J){const G=n.get(J);r.deleteTexture(G.__webglTexture);const ee=J.source,ye=y.get(ee);delete ye[G.__cacheKey],o.memory.textures--}function L(J){const G=n.get(J);if(J.depthTexture&&(J.depthTexture.dispose(),n.remove(J.depthTexture)),J.isWebGLCubeRenderTarget)for(let ye=0;ye<6;ye++){if(Array.isArray(G.__webglFramebuffer[ye]))for(let Pe=0;Pe<G.__webglFramebuffer[ye].length;Pe++)r.deleteFramebuffer(G.__webglFramebuffer[ye][Pe]);else r.deleteFramebuffer(G.__webglFramebuffer[ye]);G.__webglDepthbuffer&&r.deleteRenderbuffer(G.__webglDepthbuffer[ye])}else{if(Array.isArray(G.__webglFramebuffer))for(let ye=0;ye<G.__webglFramebuffer.length;ye++)r.deleteFramebuffer(G.__webglFramebuffer[ye]);else r.deleteFramebuffer(G.__webglFramebuffer);if(G.__webglDepthbuffer&&r.deleteRenderbuffer(G.__webglDepthbuffer),G.__webglMultisampledFramebuffer&&r.deleteFramebuffer(G.__webglMultisampledFramebuffer),G.__webglColorRenderbuffer)for(let ye=0;ye<G.__webglColorRenderbuffer.length;ye++)G.__webglColorRenderbuffer[ye]&&r.deleteRenderbuffer(G.__webglColorRenderbuffer[ye]);G.__webglDepthRenderbuffer&&r.deleteRenderbuffer(G.__webglDepthRenderbuffer)}const ee=J.textures;for(let ye=0,Pe=ee.length;ye<Pe;ye++){const be=n.get(ee[ye]);be.__webglTexture&&(r.deleteTexture(be.__webglTexture),o.memory.textures--),n.remove(ee[ye])}n.remove(J)}let V=0;function te(){V=0}function ne(){const J=V;return J>=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+J+" texture units while this GPU supports only "+i.maxTextures),V+=1,J}function ce(J){const G=[];return G.push(J.wrapS),G.push(J.wrapT),G.push(J.wrapR||0),G.push(J.magFilter),G.push(J.minFilter),G.push(J.anisotropy),G.push(J.internalFormat),G.push(J.format),G.push(J.type),G.push(J.generateMipmaps),G.push(J.premultiplyAlpha),G.push(J.flipY),G.push(J.unpackAlignment),G.push(J.colorSpace),G.join()}function me(J,G){const ee=n.get(J);if(J.isVideoTexture&&Ve(J),J.isRenderTargetTexture===!1&&J.version>0&&ee.__version!==J.version){const ye=J.image;if(ye===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(ye.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{pe(ee,J,G);return}}t.bindTexture(r.TEXTURE_2D,ee.__webglTexture,r.TEXTURE0+G)}function he(J,G){const ee=n.get(J);if(J.version>0&&ee.__version!==J.version){pe(ee,J,G);return}t.bindTexture(r.TEXTURE_2D_ARRAY,ee.__webglTexture,r.TEXTURE0+G)}function ge(J,G){const ee=n.get(J);if(J.version>0&&ee.__version!==J.version){pe(ee,J,G);return}t.bindTexture(r.TEXTURE_3D,ee.__webglTexture,r.TEXTURE0+G)}function U(J,G){const ee=n.get(J);if(J.version>0&&ee.__version!==J.version){Ae(ee,J,G);return}t.bindTexture(r.TEXTURE_CUBE_MAP,ee.__webglTexture,r.TEXTURE0+G)}const Z={[ec]:r.REPEAT,[ys]:r.CLAMP_TO_EDGE,[Od]:r.MIRRORED_REPEAT},q={[zr]:r.NEAREST,[Ly]:r.NEAREST_MIPMAP_NEAREST,[fu]:r.NEAREST_MIPMAP_LINEAR,[Zn]:r.LINEAR,[Cd]:r.LINEAR_MIPMAP_NEAREST,[js]:r.LINEAR_MIPMAP_LINEAR},X={[Wb]:r.NEVER,[qb]:r.ALWAYS,[Xb]:r.LESS,[Qx]:r.LEQUAL,[Jb]:r.EQUAL,[Yb]:r.GEQUAL,[$b]:r.GREATER,[Kb]:r.NOTEQUAL};function se(J,G){if(G.type===Di&&e.has("OES_texture_float_linear")===!1&&(G.magFilter===Zn||G.magFilter===Cd||G.magFilter===fu||G.magFilter===js||G.minFilter===Zn||G.minFilter===Cd||G.minFilter===fu||G.minFilter===js)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),r.texParameteri(J,r.TEXTURE_WRAP_S,Z[G.wrapS]),r.texParameteri(J,r.TEXTURE_WRAP_T,Z[G.wrapT]),(J===r.TEXTURE_3D||J===r.TEXTURE_2D_ARRAY)&&r.texParameteri(J,r.TEXTURE_WRAP_R,Z[G.wrapR]),r.texParameteri(J,r.TEXTURE_MAG_FILTER,q[G.magFilter]),r.texParameteri(J,r.TEXTURE_MIN_FILTER,q[G.minFilter]),G.compareFunction&&(r.texParameteri(J,r.TEXTURE_COMPARE_MODE,r.COMPARE_REF_TO_TEXTURE),r.texParameteri(J,r.TEXTURE_COMPARE_FUNC,X[G.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if(G.magFilter===zr||G.minFilter!==fu&&G.minFilter!==js||G.type===Di&&e.has("OES_texture_float_linear")===!1)return;if(G.anisotropy>1||n.get(G).__currentAnisotropy){const ee=e.get("EXT_texture_filter_anisotropic");r.texParameterf(J,ee.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(G.anisotropy,i.getMaxAnisotropy())),n.get(G).__currentAnisotropy=G.anisotropy}}}function Le(J,G){let ee=!1;J.__webglInit===void 0&&(J.__webglInit=!0,G.addEventListener("dispose",O));const ye=G.source;let Pe=y.get(ye);Pe===void 0&&(Pe={},y.set(ye,Pe));const be=ce(G);if(be!==J.__cacheKey){Pe[be]===void 0&&(Pe[be]={texture:r.createTexture(),usedTimes:0},o.memory.textures++,ee=!0),Pe[be].usedTimes++;const et=Pe[J.__cacheKey];et!==void 0&&(Pe[J.__cacheKey].usedTimes--,et.usedTimes===0&&F(G)),J.__cacheKey=be,J.__webglTexture=Pe[be].texture}return ee}function pe(J,G,ee){let ye=r.TEXTURE_2D;(G.isDataArrayTexture||G.isCompressedArrayTexture)&&(ye=r.TEXTURE_2D_ARRAY),G.isData3DTexture&&(ye=r.TEXTURE_3D);const Pe=Le(J,G),be=G.source;t.bindTexture(ye,J.__webglTexture,r.TEXTURE0+ee);const et=n.get(be);if(be.version!==et.__version||Pe===!0){t.activeTexture(r.TEXTURE0+ee);const Je=yn.getPrimaries(yn.workingColorSpace),Qe=G.colorSpace===Wa?null:yn.getPrimaries(G.colorSpace),Ht=G.colorSpace===Wa||Je===Qe?r.NONE:r.BROWSER_DEFAULT_WEBGL;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,G.flipY),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,G.premultiplyAlpha),r.pixelStorei(r.UNPACK_ALIGNMENT,G.unpackAlignment),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,Ht);let Ue=E(G.image,!1,i.maxTextureSize);Ue=St(G,Ue);const ut=s.convert(G.format,G.colorSpace),Ct=s.convert(G.type);let Rt=I(G.internalFormat,ut,Ct,G.colorSpace,G.isVideoTexture);se(ye,G);let ht;const $t=G.mipmaps,kt=G.isVideoTexture!==!0,pn=et.__version===void 0||Pe===!0,ue=be.dataReady,Ze=k(G,Ue);if(G.isDepthTexture)Rt=P(G.format===Iu,G.type),pn&&(kt?t.texStorage2D(r.TEXTURE_2D,1,Rt,Ue.width,Ue.height):t.texImage2D(r.TEXTURE_2D,0,Rt,Ue.width,Ue.height,0,ut,Ct,null));else if(G.isDataTexture)if($t.length>0){kt&&pn&&t.texStorage2D(r.TEXTURE_2D,Ze,Rt,$t[0].width,$t[0].height);for(let Ce=0,De=$t.length;Ce<De;Ce++)ht=$t[Ce],kt?ue&&t.texSubImage2D(r.TEXTURE_2D,Ce,0,0,ht.width,ht.height,ut,Ct,ht.data):t.texImage2D(r.TEXTURE_2D,Ce,Rt,ht.width,ht.height,0,ut,Ct,ht.data);G.generateMipmaps=!1}else kt?(pn&&t.texStorage2D(r.TEXTURE_2D,Ze,Rt,Ue.width,Ue.height),ue&&t.texSubImage2D(r.TEXTURE_2D,0,0,0,Ue.width,Ue.height,ut,Ct,Ue.data)):t.texImage2D(r.TEXTURE_2D,0,Rt,Ue.width,Ue.height,0,ut,Ct,Ue.data);else if(G.isCompressedTexture)if(G.isCompressedArrayTexture){kt&&pn&&t.texStorage3D(r.TEXTURE_2D_ARRAY,Ze,Rt,$t[0].width,$t[0].height,Ue.depth);for(let Ce=0,De=$t.length;Ce<De;Ce++)if(ht=$t[Ce],G.format!==hi)if(ut!==null)if(kt){if(ue)if(G.layerUpdates.size>0){const ot=tx(ht.width,ht.height,G.format,G.type);for(const nt of G.layerUpdates){const Gt=ht.data.subarray(nt*ot/ht.data.BYTES_PER_ELEMENT,(nt+1)*ot/ht.data.BYTES_PER_ELEMENT);t.compressedTexSubImage3D(r.TEXTURE_2D_ARRAY,Ce,0,0,nt,ht.width,ht.height,1,ut,Gt)}G.clearLayerUpdates()}else t.compressedTexSubImage3D(r.TEXTURE_2D_ARRAY,Ce,0,0,0,ht.width,ht.height,Ue.depth,ut,ht.data)}else t.compressedTexImage3D(r.TEXTURE_2D_ARRAY,Ce,Rt,ht.width,ht.height,Ue.depth,0,ht.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else kt?ue&&t.texSubImage3D(r.TEXTURE_2D_ARRAY,Ce,0,0,0,ht.width,ht.height,Ue.depth,ut,Ct,ht.data):t.texImage3D(r.TEXTURE_2D_ARRAY,Ce,Rt,ht.width,ht.height,Ue.depth,0,ut,Ct,ht.data)}else{kt&&pn&&t.texStorage2D(r.TEXTURE_2D,Ze,Rt,$t[0].width,$t[0].height);for(let Ce=0,De=$t.length;Ce<De;Ce++)ht=$t[Ce],G.format!==hi?ut!==null?kt?ue&&t.compressedTexSubImage2D(r.TEXTURE_2D,Ce,0,0,ht.width,ht.height,ut,ht.data):t.compressedTexImage2D(r.TEXTURE_2D,Ce,Rt,ht.width,ht.height,0,ht.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):kt?ue&&t.texSubImage2D(r.TEXTURE_2D,Ce,0,0,ht.width,ht.height,ut,Ct,ht.data):t.texImage2D(r.TEXTURE_2D,Ce,Rt,ht.width,ht.height,0,ut,Ct,ht.data)}else if(G.isDataArrayTexture)if(kt){if(pn&&t.texStorage3D(r.TEXTURE_2D_ARRAY,Ze,Rt,Ue.width,Ue.height,Ue.depth),ue)if(G.layerUpdates.size>0){const Ce=tx(Ue.width,Ue.height,G.format,G.type);for(const De of G.layerUpdates){const ot=Ue.data.subarray(De*Ce/Ue.data.BYTES_PER_ELEMENT,(De+1)*Ce/Ue.data.BYTES_PER_ELEMENT);t.texSubImage3D(r.TEXTURE_2D_ARRAY,0,0,0,De,Ue.width,Ue.height,1,ut,Ct,ot)}G.clearLayerUpdates()}else t.texSubImage3D(r.TEXTURE_2D_ARRAY,0,0,0,0,Ue.width,Ue.height,Ue.depth,ut,Ct,Ue.data)}else t.texImage3D(r.TEXTURE_2D_ARRAY,0,Rt,Ue.width,Ue.height,Ue.depth,0,ut,Ct,Ue.data);else if(G.isData3DTexture)kt?(pn&&t.texStorage3D(r.TEXTURE_3D,Ze,Rt,Ue.width,Ue.height,Ue.depth),ue&&t.texSubImage3D(r.TEXTURE_3D,0,0,0,0,Ue.width,Ue.height,Ue.depth,ut,Ct,Ue.data)):t.texImage3D(r.TEXTURE_3D,0,Rt,Ue.width,Ue.height,Ue.depth,0,ut,Ct,Ue.data);else if(G.isFramebufferTexture){if(pn)if(kt)t.texStorage2D(r.TEXTURE_2D,Ze,Rt,Ue.width,Ue.height);else{let Ce=Ue.width,De=Ue.height;for(let ot=0;ot<Ze;ot++)t.texImage2D(r.TEXTURE_2D,ot,Rt,Ce,De,0,ut,Ct,null),Ce>>=1,De>>=1}}else if($t.length>0){if(kt&&pn){const Ce=$e($t[0]);t.texStorage2D(r.TEXTURE_2D,Ze,Rt,Ce.width,Ce.height)}for(let Ce=0,De=$t.length;Ce<De;Ce++)ht=$t[Ce],kt?ue&&t.texSubImage2D(r.TEXTURE_2D,Ce,0,0,ut,Ct,ht):t.texImage2D(r.TEXTURE_2D,Ce,Rt,ut,Ct,ht);G.generateMipmaps=!1}else if(kt){if(pn){const Ce=$e(Ue);t.texStorage2D(r.TEXTURE_2D,Ze,Rt,Ce.width,Ce.height)}ue&&t.texSubImage2D(r.TEXTURE_2D,0,0,0,ut,Ct,Ue)}else t.texImage2D(r.TEXTURE_2D,0,Rt,ut,Ct,Ue);A(G)&&M(ye),et.__version=be.version,G.onUpdate&&G.onUpdate(G)}J.__version=G.version}function Ae(J,G,ee){if(G.image.length!==6)return;const ye=Le(J,G),Pe=G.source;t.bindTexture(r.TEXTURE_CUBE_MAP,J.__webglTexture,r.TEXTURE0+ee);const be=n.get(Pe);if(Pe.version!==be.__version||ye===!0){t.activeTexture(r.TEXTURE0+ee);const et=yn.getPrimaries(yn.workingColorSpace),Je=G.colorSpace===Wa?null:yn.getPrimaries(G.colorSpace),Qe=G.colorSpace===Wa||et===Je?r.NONE:r.BROWSER_DEFAULT_WEBGL;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,G.flipY),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,G.premultiplyAlpha),r.pixelStorei(r.UNPACK_ALIGNMENT,G.unpackAlignment),r.pixelStorei(r.UNPACK_COLORSPACE_CONVERSION_WEBGL,Qe);const Ht=G.isCompressedTexture||G.image[0].isCompressedTexture,Ue=G.image[0]&&G.image[0].isDataTexture,ut=[];for(let De=0;De<6;De++)!Ht&&!Ue?ut[De]=E(G.image[De],!0,i.maxCubemapSize):ut[De]=Ue?G.image[De].image:G.image[De],ut[De]=St(G,ut[De]);const Ct=ut[0],Rt=s.convert(G.format,G.colorSpace),ht=s.convert(G.type),$t=I(G.internalFormat,Rt,ht,G.colorSpace),kt=G.isVideoTexture!==!0,pn=be.__version===void 0||ye===!0,ue=Pe.dataReady;let Ze=k(G,Ct);se(r.TEXTURE_CUBE_MAP,G);let Ce;if(Ht){kt&&pn&&t.texStorage2D(r.TEXTURE_CUBE_MAP,Ze,$t,Ct.width,Ct.height);for(let De=0;De<6;De++){Ce=ut[De].mipmaps;for(let ot=0;ot<Ce.length;ot++){const nt=Ce[ot];G.format!==hi?Rt!==null?kt?ue&&t.compressedTexSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot,0,0,nt.width,nt.height,Rt,nt.data):t.compressedTexImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot,$t,nt.width,nt.height,0,nt.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):kt?ue&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot,0,0,nt.width,nt.height,Rt,ht,nt.data):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot,$t,nt.width,nt.height,0,Rt,ht,nt.data)}}}else{if(Ce=G.mipmaps,kt&&pn){Ce.length>0&&Ze++;const De=$e(ut[0]);t.texStorage2D(r.TEXTURE_CUBE_MAP,Ze,$t,De.width,De.height)}for(let De=0;De<6;De++)if(Ue){kt?ue&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,0,0,0,ut[De].width,ut[De].height,Rt,ht,ut[De].data):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,0,$t,ut[De].width,ut[De].height,0,Rt,ht,ut[De].data);for(let ot=0;ot<Ce.length;ot++){const Gt=Ce[ot].image[De].image;kt?ue&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot+1,0,0,Gt.width,Gt.height,Rt,ht,Gt.data):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot+1,$t,Gt.width,Gt.height,0,Rt,ht,Gt.data)}}else{kt?ue&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,0,0,0,Rt,ht,ut[De]):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,0,$t,Rt,ht,ut[De]);for(let ot=0;ot<Ce.length;ot++){const nt=Ce[ot];kt?ue&&t.texSubImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot+1,0,0,Rt,ht,nt.image[De]):t.texImage2D(r.TEXTURE_CUBE_MAP_POSITIVE_X+De,ot+1,$t,Rt,ht,nt.image[De])}}}A(G)&&M(r.TEXTURE_CUBE_MAP),be.__version=Pe.version,G.onUpdate&&G.onUpdate(G)}J.__version=G.version}function Re(J,G,ee,ye,Pe,be){const et=s.convert(ee.format,ee.colorSpace),Je=s.convert(ee.type),Qe=I(ee.internalFormat,et,Je,ee.colorSpace),Ht=n.get(G),Ue=n.get(ee);if(Ue.__renderTarget=G,!Ht.__hasExternalTextures){const ut=Math.max(1,G.width>>be),Ct=Math.max(1,G.height>>be);Pe===r.TEXTURE_3D||Pe===r.TEXTURE_2D_ARRAY?t.texImage3D(Pe,be,Qe,ut,Ct,G.depth,0,et,Je,null):t.texImage2D(Pe,be,Qe,ut,Ct,0,et,Je,null)}t.bindFramebuffer(r.FRAMEBUFFER,J),st(G)?l.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,ye,Pe,Ue.__webglTexture,0,Fe(G)):(Pe===r.TEXTURE_2D||Pe>=r.TEXTURE_CUBE_MAP_POSITIVE_X&&Pe<=r.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&r.framebufferTexture2D(r.FRAMEBUFFER,ye,Pe,Ue.__webglTexture,be),t.bindFramebuffer(r.FRAMEBUFFER,null)}function Ie(J,G,ee){if(r.bindRenderbuffer(r.RENDERBUFFER,J),G.depthBuffer){const ye=G.depthTexture,Pe=ye&&ye.isDepthTexture?ye.type:null,be=P(G.stencilBuffer,Pe),et=G.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,Je=Fe(G);st(G)?l.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,Je,be,G.width,G.height):ee?r.renderbufferStorageMultisample(r.RENDERBUFFER,Je,be,G.width,G.height):r.renderbufferStorage(r.RENDERBUFFER,be,G.width,G.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,et,r.RENDERBUFFER,J)}else{const ye=G.textures;for(let Pe=0;Pe<ye.length;Pe++){const be=ye[Pe],et=s.convert(be.format,be.colorSpace),Je=s.convert(be.type),Qe=I(be.internalFormat,et,Je,be.colorSpace),Ht=Fe(G);ee&&st(G)===!1?r.renderbufferStorageMultisample(r.RENDERBUFFER,Ht,Qe,G.width,G.height):st(G)?l.renderbufferStorageMultisampleEXT(r.RENDERBUFFER,Ht,Qe,G.width,G.height):r.renderbufferStorage(r.RENDERBUFFER,Qe,G.width,G.height)}}r.bindRenderbuffer(r.RENDERBUFFER,null)}function Ge(J,G){if(G&&G.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(t.bindFramebuffer(r.FRAMEBUFFER,J),!(G.depthTexture&&G.depthTexture.isDepthTexture))throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");const ye=n.get(G.depthTexture);ye.__renderTarget=G,(!ye.__webglTexture||G.depthTexture.image.width!==G.width||G.depthTexture.image.height!==G.height)&&(G.depthTexture.image.width=G.width,G.depthTexture.image.height=G.height,G.depthTexture.needsUpdate=!0),me(G.depthTexture,0);const Pe=ye.__webglTexture,be=Fe(G);if(G.depthTexture.format===Mu)st(G)?l.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,Pe,0,be):r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,Pe,0);else if(G.depthTexture.format===Iu)st(G)?l.framebufferTexture2DMultisampleEXT(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.TEXTURE_2D,Pe,0,be):r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.TEXTURE_2D,Pe,0);else throw new Error("Unknown depthTexture format")}function qe(J){const G=n.get(J),ee=J.isWebGLCubeRenderTarget===!0;if(G.__boundDepthTexture!==J.depthTexture){const ye=J.depthTexture;if(G.__depthDisposeCallback&&G.__depthDisposeCallback(),ye){const Pe=()=>{delete G.__boundDepthTexture,delete G.__depthDisposeCallback,ye.removeEventListener("dispose",Pe)};ye.addEventListener("dispose",Pe),G.__depthDisposeCallback=Pe}G.__boundDepthTexture=ye}if(J.depthTexture&&!G.__autoAllocateDepthBuffer){if(ee)throw new Error("target.depthTexture not supported in Cube render targets");Ge(G.__webglFramebuffer,J)}else if(ee){G.__webglDepthbuffer=[];for(let ye=0;ye<6;ye++)if(t.bindFramebuffer(r.FRAMEBUFFER,G.__webglFramebuffer[ye]),G.__webglDepthbuffer[ye]===void 0)G.__webglDepthbuffer[ye]=r.createRenderbuffer(),Ie(G.__webglDepthbuffer[ye],J,!1);else{const Pe=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,be=G.__webglDepthbuffer[ye];r.bindRenderbuffer(r.RENDERBUFFER,be),r.framebufferRenderbuffer(r.FRAMEBUFFER,Pe,r.RENDERBUFFER,be)}}else if(t.bindFramebuffer(r.FRAMEBUFFER,G.__webglFramebuffer),G.__webglDepthbuffer===void 0)G.__webglDepthbuffer=r.createRenderbuffer(),Ie(G.__webglDepthbuffer,J,!1);else{const ye=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,Pe=G.__webglDepthbuffer;r.bindRenderbuffer(r.RENDERBUFFER,Pe),r.framebufferRenderbuffer(r.FRAMEBUFFER,ye,r.RENDERBUFFER,Pe)}t.bindFramebuffer(r.FRAMEBUFFER,null)}function lt(J,G,ee){const ye=n.get(J);G!==void 0&&Re(ye.__webglFramebuffer,J,J.texture,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,0),ee!==void 0&&qe(J)}function Pt(J){const G=J.texture,ee=n.get(J),ye=n.get(G);J.addEventListener("dispose",N);const Pe=J.textures,be=J.isWebGLCubeRenderTarget===!0,et=Pe.length>1;if(et||(ye.__webglTexture===void 0&&(ye.__webglTexture=r.createTexture()),ye.__version=G.version,o.memory.textures++),be){ee.__webglFramebuffer=[];for(let Je=0;Je<6;Je++)if(G.mipmaps&&G.mipmaps.length>0){ee.__webglFramebuffer[Je]=[];for(let Qe=0;Qe<G.mipmaps.length;Qe++)ee.__webglFramebuffer[Je][Qe]=r.createFramebuffer()}else ee.__webglFramebuffer[Je]=r.createFramebuffer()}else{if(G.mipmaps&&G.mipmaps.length>0){ee.__webglFramebuffer=[];for(let Je=0;Je<G.mipmaps.length;Je++)ee.__webglFramebuffer[Je]=r.createFramebuffer()}else ee.__webglFramebuffer=r.createFramebuffer();if(et)for(let Je=0,Qe=Pe.length;Je<Qe;Je++){const Ht=n.get(Pe[Je]);Ht.__webglTexture===void 0&&(Ht.__webglTexture=r.createTexture(),o.memory.textures++)}if(J.samples>0&&st(J)===!1){ee.__webglMultisampledFramebuffer=r.createFramebuffer(),ee.__webglColorRenderbuffer=[],t.bindFramebuffer(r.FRAMEBUFFER,ee.__webglMultisampledFramebuffer);for(let Je=0;Je<Pe.length;Je++){const Qe=Pe[Je];ee.__webglColorRenderbuffer[Je]=r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,ee.__webglColorRenderbuffer[Je]);const Ht=s.convert(Qe.format,Qe.colorSpace),Ue=s.convert(Qe.type),ut=I(Qe.internalFormat,Ht,Ue,Qe.colorSpace,J.isXRRenderTarget===!0),Ct=Fe(J);r.renderbufferStorageMultisample(r.RENDERBUFFER,Ct,ut,J.width,J.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+Je,r.RENDERBUFFER,ee.__webglColorRenderbuffer[Je])}r.bindRenderbuffer(r.RENDERBUFFER,null),J.depthBuffer&&(ee.__webglDepthRenderbuffer=r.createRenderbuffer(),Ie(ee.__webglDepthRenderbuffer,J,!0)),t.bindFramebuffer(r.FRAMEBUFFER,null)}}if(be){t.bindTexture(r.TEXTURE_CUBE_MAP,ye.__webglTexture),se(r.TEXTURE_CUBE_MAP,G);for(let Je=0;Je<6;Je++)if(G.mipmaps&&G.mipmaps.length>0)for(let Qe=0;Qe<G.mipmaps.length;Qe++)Re(ee.__webglFramebuffer[Je][Qe],J,G,r.COLOR_ATTACHMENT0,r.TEXTURE_CUBE_MAP_POSITIVE_X+Je,Qe);else Re(ee.__webglFramebuffer[Je],J,G,r.COLOR_ATTACHMENT0,r.TEXTURE_CUBE_MAP_POSITIVE_X+Je,0);A(G)&&M(r.TEXTURE_CUBE_MAP),t.unbindTexture()}else if(et){for(let Je=0,Qe=Pe.length;Je<Qe;Je++){const Ht=Pe[Je],Ue=n.get(Ht);t.bindTexture(r.TEXTURE_2D,Ue.__webglTexture),se(r.TEXTURE_2D,Ht),Re(ee.__webglFramebuffer,J,Ht,r.COLOR_ATTACHMENT0+Je,r.TEXTURE_2D,0),A(Ht)&&M(r.TEXTURE_2D)}t.unbindTexture()}else{let Je=r.TEXTURE_2D;if((J.isWebGL3DRenderTarget||J.isWebGLArrayRenderTarget)&&(Je=J.isWebGL3DRenderTarget?r.TEXTURE_3D:r.TEXTURE_2D_ARRAY),t.bindTexture(Je,ye.__webglTexture),se(Je,G),G.mipmaps&&G.mipmaps.length>0)for(let Qe=0;Qe<G.mipmaps.length;Qe++)Re(ee.__webglFramebuffer[Qe],J,G,r.COLOR_ATTACHMENT0,Je,Qe);else Re(ee.__webglFramebuffer,J,G,r.COLOR_ATTACHMENT0,Je,0);A(G)&&M(Je),t.unbindTexture()}J.depthBuffer&&qe(J)}function Be(J){const G=J.textures;for(let ee=0,ye=G.length;ee<ye;ee++){const Pe=G[ee];if(A(Pe)){const be=T(J),et=n.get(Pe).__webglTexture;t.bindTexture(be,et),M(be),t.unbindTexture()}}}const Oe=[],K=[];function pt(J){if(J.samples>0){if(st(J)===!1){const G=J.textures,ee=J.width,ye=J.height;let Pe=r.COLOR_BUFFER_BIT;const be=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT,et=n.get(J),Je=G.length>1;if(Je)for(let Qe=0;Qe<G.length;Qe++)t.bindFramebuffer(r.FRAMEBUFFER,et.__webglMultisampledFramebuffer),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+Qe,r.RENDERBUFFER,null),t.bindFramebuffer(r.FRAMEBUFFER,et.__webglFramebuffer),r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,r.COLOR_ATTACHMENT0+Qe,r.TEXTURE_2D,null,0);t.bindFramebuffer(r.READ_FRAMEBUFFER,et.__webglMultisampledFramebuffer),t.bindFramebuffer(r.DRAW_FRAMEBUFFER,et.__webglFramebuffer);for(let Qe=0;Qe<G.length;Qe++){if(J.resolveDepthBuffer&&(J.depthBuffer&&(Pe|=r.DEPTH_BUFFER_BIT),J.stencilBuffer&&J.resolveStencilBuffer&&(Pe|=r.STENCIL_BUFFER_BIT)),Je){r.framebufferRenderbuffer(r.READ_FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.RENDERBUFFER,et.__webglColorRenderbuffer[Qe]);const Ht=n.get(G[Qe]).__webglTexture;r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,Ht,0)}r.blitFramebuffer(0,0,ee,ye,0,0,ee,ye,Pe,r.NEAREST),u===!0&&(Oe.length=0,K.length=0,Oe.push(r.COLOR_ATTACHMENT0+Qe),J.depthBuffer&&J.resolveDepthBuffer===!1&&(Oe.push(be),K.push(be),r.invalidateFramebuffer(r.DRAW_FRAMEBUFFER,K)),r.invalidateFramebuffer(r.READ_FRAMEBUFFER,Oe))}if(t.bindFramebuffer(r.READ_FRAMEBUFFER,null),t.bindFramebuffer(r.DRAW_FRAMEBUFFER,null),Je)for(let Qe=0;Qe<G.length;Qe++){t.bindFramebuffer(r.FRAMEBUFFER,et.__webglMultisampledFramebuffer),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+Qe,r.RENDERBUFFER,et.__webglColorRenderbuffer[Qe]);const Ht=n.get(G[Qe]).__webglTexture;t.bindFramebuffer(r.FRAMEBUFFER,et.__webglFramebuffer),r.framebufferTexture2D(r.DRAW_FRAMEBUFFER,r.COLOR_ATTACHMENT0+Qe,r.TEXTURE_2D,Ht,0)}t.bindFramebuffer(r.DRAW_FRAMEBUFFER,et.__webglMultisampledFramebuffer)}else if(J.depthBuffer&&J.resolveDepthBuffer===!1&&u){const G=J.stencilBuffer?r.DEPTH_STENCIL_ATTACHMENT:r.DEPTH_ATTACHMENT;r.invalidateFramebuffer(r.DRAW_FRAMEBUFFER,[G])}}}function Fe(J){return Math.min(i.maxSamples,J.samples)}function st(J){const G=n.get(J);return J.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&G.__useRenderToTexture!==!1}function Ve(J){const G=o.render.frame;p.get(J)!==G&&(p.set(J,G),J.update())}function St(J,G){const ee=J.colorSpace,ye=J.format,Pe=J.type;return J.isCompressedTexture===!0||J.isVideoTexture===!0||ee!==Pu&&ee!==Wa&&(yn.getTransfer(ee)===Cn?(ye!==hi||Pe!==Mo)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",ee)),G}function $e(J){return typeof HTMLImageElement<"u"&&J instanceof HTMLImageElement?(d.width=J.naturalWidth||J.width,d.height=J.naturalHeight||J.height):typeof VideoFrame<"u"&&J instanceof VideoFrame?(d.width=J.displayWidth,d.height=J.displayHeight):(d.width=J.width,d.height=J.height),d}this.allocateTextureUnit=ne,this.resetTextureUnits=te,this.setTexture2D=me,this.setTexture2DArray=he,this.setTexture3D=ge,this.setTextureCube=U,this.rebindTextures=lt,this.setupRenderTarget=Pt,this.updateRenderTargetMipmap=Be,this.updateMultisampleRenderTarget=pt,this.setupDepthRenderbuffer=qe,this.setupFrameBufferTexture=Re,this.useMultisampledRTT=st}function tT(r,e){function t(n,i=Wa){let s;const o=yn.getTransfer(i);if(n===Mo)return r.UNSIGNED_BYTE;if(n===Fy)return r.UNSIGNED_SHORT_4_4_4_4;if(n===ky)return r.UNSIGNED_SHORT_5_5_5_1;if(n===Gx)return r.UNSIGNED_INT_5_9_9_9_REV;if(n===zx)return r.BYTE;if(n===Hx)return r.SHORT;if(n===Dd)return r.UNSIGNED_SHORT;if(n===Ny)return r.INT;if(n===tl)return r.UNSIGNED_INT;if(n===Di)return r.FLOAT;if(n===ju)return r.HALF_FLOAT;if(n===Vx)return r.ALPHA;if(n===Wx)return r.RGB;if(n===hi)return r.RGBA;if(n===Xx)return r.LUMINANCE;if(n===Jx)return r.LUMINANCE_ALPHA;if(n===Mu)return r.DEPTH_COMPONENT;if(n===Iu)return r.DEPTH_STENCIL;if(n===Uy)return r.RED;if(n===nm)return r.RED_INTEGER;if(n===$x)return r.RG;if(n===jy)return r.RG_INTEGER;if(n===zy)return r.RGBA_INTEGER;if(n===Ap||n===Ep||n===bp||n===Cp)if(o===Cn)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(n===Ap)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Ep)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===bp)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Cp)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(n===Ap)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Ep)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===bp)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Cp)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(n===Fg||n===kg||n===Ug||n===jg)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(n===Fg)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===kg)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===Ug)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===jg)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(n===zg||n===Hg||n===Gg)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(n===zg||n===Hg)return o===Cn?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(n===Gg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(n===Vg||n===Wg||n===Xg||n===Jg||n===$g||n===Kg||n===Yg||n===qg||n===Qg||n===Zg||n===ey||n===ty||n===ny||n===ry)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(n===Vg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===Wg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===Xg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===Jg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===$g)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===Kg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===Yg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===qg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===Qg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===Zg)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===ey)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===ty)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===ny)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===ry)return o===Cn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(n===Tp||n===iy||n===sy)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(n===Tp)return o===Cn?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(n===iy)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(n===sy)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(n===Kx||n===oy||n===ay||n===ly)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(n===Tp)return s.COMPRESSED_RED_RGTC1_EXT;if(n===oy)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===ay)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===ly)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return n===Tu?r.UNSIGNED_INT_24_8:r[n]!==void 0?r[n]:null}return{convert:t}}const D6={type:"move"};class Vv{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new $a,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new $a,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new $,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new $),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new $a,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new $,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new $),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const t=this._hand;if(t)for(const n of e.hand.values())this._getHandJoint(t,n)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,t,n){let i=null,s=null,o=null;const l=this._targetRay,u=this._grip,d=this._hand;if(e&&t.session.visibilityState!=="visible-blurred"){if(d&&e.hand){o=!0;for(const E of e.hand.values()){const A=t.getJointPose(E,n),M=this._getHandJoint(d,E);A!==null&&(M.matrix.fromArray(A.transform.matrix),M.matrix.decompose(M.position,M.rotation,M.scale),M.matrixWorldNeedsUpdate=!0,M.jointRadius=A.radius),M.visible=A!==null}const p=d.joints["index-finger-tip"],m=d.joints["thumb-tip"],y=p.position.distanceTo(m.position),v=.02,S=.005;d.inputState.pinching&&y>v+S?(d.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!d.inputState.pinching&&y<=v-S&&(d.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else u!==null&&e.gripSpace&&(s=t.getPose(e.gripSpace,n),s!==null&&(u.matrix.fromArray(s.transform.matrix),u.matrix.decompose(u.position,u.rotation,u.scale),u.matrixWorldNeedsUpdate=!0,s.linearVelocity?(u.hasLinearVelocity=!0,u.linearVelocity.copy(s.linearVelocity)):u.hasLinearVelocity=!1,s.angularVelocity?(u.hasAngularVelocity=!0,u.angularVelocity.copy(s.angularVelocity)):u.hasAngularVelocity=!1));l!==null&&(i=t.getPose(e.targetRaySpace,n),i===null&&s!==null&&(i=s),i!==null&&(l.matrix.fromArray(i.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,i.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(i.linearVelocity)):l.hasLinearVelocity=!1,i.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(i.angularVelocity)):l.hasAngularVelocity=!1,this.dispatchEvent(D6)))}return l!==null&&(l.visible=i!==null),u!==null&&(u.visible=s!==null),d!==null&&(d.visible=o!==null),this}_getHandJoint(e,t){if(e.joints[t.jointName]===void 0){const n=new $a;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}const L6=` 3848void main() { 3849 3850 gl_Position = vec4( position, 1.0 ); 3851 3852}`,N6=` 3853uniform sampler2DArray depthColor; 3854uniform float depthWidth; 3855uniform float depthHeight; 3856 3857void main() { 3858 3859 vec2 coord = vec2( gl_FragCoord.x / depthWidth, gl_FragCoord.y / depthHeight ); 3860 3861 if ( coord.x >= 1.0 ) { 3862 3863 gl_FragDepth = texture( depthColor, vec3( coord.x - 1.0, coord.y, 1 ) ).r; 3864 3865 } else { 3866 3867 gl_FragDepth = texture( depthColor, vec3( coord.x, coord.y, 0 ) ).r; 3868 3869 } 3870 3871}`;class F6{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,t,n){if(this.texture===null){const i=new Gn,s=e.properties.get(i);s.__webglTexture=t.texture,(t.depthNear!=n.depthNear||t.depthFar!=n.depthFar)&&(this.depthNear=t.depthNear,this.depthFar=t.depthFar),this.texture=i}}getMesh(e){if(this.texture!==null&&this.mesh===null){const t=e.cameras[0].viewport,n=new So({vertexShader:L6,fragmentShader:N6,uniforms:{depthColor:{value:this.texture},depthWidth:{value:t.z},depthHeight:{value:t.w}}});this.mesh=new hr(new Jd(20,20),n)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class k6 extends ta{constructor(e,t){super();const n=this;let i=null,s=1,o=null,l="local-floor",u=1,d=null,p=null,m=null,y=null,v=null,S=null;const E=new F6,A=t.getContextAttributes();let M=null,T=null;const I=[],P=[],k=new Ne;let O=null;const N=new _r;N.viewport=new xn;const H=new _r;H.viewport=new xn;const F=[N,H],L=new VC;let V=null,te=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(pe){let Ae=I[pe];return Ae===void 0&&(Ae=new Vv,I[pe]=Ae),Ae.getTargetRaySpace()},this.getControllerGrip=function(pe){let Ae=I[pe];return Ae===void 0&&(Ae=new Vv,I[pe]=Ae),Ae.getGripSpace()},this.getHand=function(pe){let Ae=I[pe];return Ae===void 0&&(Ae=new Vv,I[pe]=Ae),Ae.getHandSpace()};function ne(pe){const Ae=P.indexOf(pe.inputSource);if(Ae===-1)return;const Re=I[Ae];Re!==void 0&&(Re.update(pe.inputSource,pe.frame,d||o),Re.dispatchEvent({type:pe.type,data:pe.inputSource}))}function ce(){i.removeEventListener("select",ne),i.removeEventListener("selectstart",ne),i.removeEventListener("selectend",ne),i.removeEventListener("squeeze",ne),i.removeEventListener("squeezestart",ne),i.removeEventListener("squeezeend",ne),i.removeEventListener("end",ce),i.removeEventListener("inputsourceschange",me);for(let pe=0;pe<I.length;pe++){const Ae=P[pe];Ae!==null&&(P[pe]=null,I[pe].disconnect(Ae))}V=null,te=null,E.reset(),e.setRenderTarget(M),v=null,y=null,m=null,i=null,T=null,Le.stop(),n.isPresenting=!1,e.setPixelRatio(O),e.setSize(k.width,k.height,!1),n.dispatchEvent({type:"sessionend"})}this.setFramebufferScaleFactor=function(pe){s=pe,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(pe){l=pe,n.isPresenting===!0&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return d||o},this.setReferenceSpace=function(pe){d=pe},this.getBaseLayer=function(){return y!==null?y:v},this.getBinding=function(){return m},this.getFrame=function(){return S}
vendor: 6,553 bytes, line 3871
3871,this.getSession=function(){return i},this.setSession=async function(pe){if(i=pe,i!==null){if(M=e.getRenderTarget(),i.addEventListener("select",ne),i.addEventListener("selectstart",ne),i.addEventListener("selectend",ne),i.addEventListener("squeeze",ne),i.addEventListener("squeezestart",ne),i.addEventListener("squeezeend",ne),i.addEventListener("end",ce),i.addEventListener("inputsourceschange",me),A.xrCompatible!==!0&&await t.makeXRCompatible(),O=e.getPixelRatio(),e.getSize(k),i.renderState.layers===void 0){const Ae={antialias:A.antialias,alpha:!0,depth:A.depth,stencil:A.stencil,framebufferScaleFactor:s};v=new XRWebGLLayer(i,t,Ae),i.updateRenderState({baseLayer:v}),e.setPixelRatio(1),e.setSize(v.framebufferWidth,v.framebufferHeight,!1),T=new Hs(v.framebufferWidth,v.framebufferHeight,{format:hi,type:Mo,colorSpace:e.outputColorSpace,stencilBuffer:A.stencil})}else{let Ae=null,Re=null,Ie=null;A.depth&&(Ie=A.stencil?t.DEPTH24_STENCIL8:t.DEPTH_COMPONENT24,Ae=A.stencil?Iu:Mu,Re=A.stencil?Tu:tl);const Ge={colorFormat:t.RGBA8,depthFormat:Ie,scaleFactor:s};m=new XRWebGLBinding(i,t),y=m.createProjectionLayer(Ge),i.updateRenderState({layers:[y]}),e.setPixelRatio(1),e.setSize(y.textureWidth,y.textureHeight,!1),T=new Hs(y.textureWidth,y.textureHeight,{format:hi,type:Mo,depthTexture:new Ky(y.textureWidth,y.textureHeight,Re,void 0,void 0,void 0,void 0,void 0,void 0,Ae),stencilBuffer:A.stencil,colorSpace:e.outputColorSpace,samples:A.antialias?4:0,resolveDepthBuffer:y.ignoreDepthValues===!1})}T.isXRRenderTarget=!0,this.setFoveation(u),d=null,o=await i.requestReferenceSpace(l),Le.setContext(i),Le.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}},this.getEnvironmentBlendMode=function(){if(i!==null)return i.environmentBlendMode},this.getDepthTexture=function(){return E.getDepthTexture()};function me(pe){for(let Ae=0;Ae<pe.removed.length;Ae++){const Re=pe.removed[Ae],Ie=P.indexOf(Re);Ie>=0&&(P[Ie]=null,I[Ie].disconnect(Re))}for(let Ae=0;Ae<pe.added.length;Ae++){const Re=pe.added[Ae];let Ie=P.indexOf(Re);if(Ie===-1){for(let qe=0;qe<I.length;qe++)if(qe>=P.length){P.push(Re),Ie=qe;break}else if(P[qe]===null){P[qe]=Re,Ie=qe;break}if(Ie===-1)break}const Ge=I[Ie];Ge&&Ge.connect(Re)}}const he=new $,ge=new $;function U(pe,Ae,Re){he.setFromMatrixPosition(Ae.matrixWorld),ge.setFromMatrixPosition(Re.matrixWorld);const Ie=he.distanceTo(ge),Ge=Ae.projectionMatrix.elements,qe=Re.projectionMatrix.elements,lt=Ge[14]/(Ge[10]-1),Pt=Ge[14]/(Ge[10]+1),Be=(Ge[9]+1)/Ge[5],Oe=(Ge[9]-1)/Ge[5],K=(Ge[8]-1)/Ge[0],pt=(qe[8]+1)/qe[0],Fe=lt*K,st=lt*pt,Ve=Ie/(-K+pt),St=Ve*-K;if(Ae.matrixWorld.decompose(pe.position,pe.quaternion,pe.scale),pe.translateX(St),pe.translateZ(Ve),pe.matrixWorld.compose(pe.position,pe.quaternion,pe.scale),pe.matrixWorldInverse.copy(pe.matrixWorld).invert(),Ge[10]===-1)pe.projectionMatrix.copy(Ae.projectionMatrix),pe.projectionMatrixInverse.copy(Ae.projectionMatrixInverse);else{const $e=lt+Ve,J=Pt+Ve,G=Fe-St,ee=st+(Ie-St),ye=Be*Pt/J*$e,Pe=Oe*Pt/J*$e;pe.projectionMatrix.makePerspective(G,ee,ye,Pe,$e,J),pe.projectionMatrixInverse.copy(pe.projectionMatrix).invert()}}function Z(pe,Ae){Ae===null?pe.matrixWorld.copy(pe.matrix):pe.matrixWorld.multiplyMatrices(Ae.matrixWorld,pe.matrix),pe.matrixWorldInverse.copy(pe.matrixWorld).invert()}this.updateCamera=function(pe){if(i===null)return;let Ae=pe.near,Re=pe.far;E.texture!==null&&(E.depthNear>0&&(Ae=E.depthNear),E.depthFar>0&&(Re=E.depthFar)),L.near=H.near=N.near=Ae,L.far=H.far=N.far=Re,(V!==L.near||te!==L.far)&&(i.updateRenderState({depthNear:L.near,depthFar:L.far}),V=L.near,te=L.far),N.layers.mask=pe.layers.mask|2,H.layers.mask=pe.layers.mask|4,L.layers.mask=N.layers.mask|H.layers.mask;const Ie=pe.parent,Ge=L.cameras;Z(L,Ie);for(let qe=0;qe<Ge.length;qe++)Z(Ge[qe],Ie);Ge.length===2?U(L,N,H):L.projectionMatrix.copy(N.projectionMatrix),q(pe,L,Ie)};function q(pe,Ae,Re){Re===null?pe.matrix.copy(Ae.matrixWorld):(pe.matrix.copy(Re.matrixWorld),pe.matrix.invert(),pe.matrix.multiply(Ae.matrixWorld)),pe.matrix.decompose(pe.position,pe.quaternion,pe.scale),pe.updateMatrixWorld(!0),pe.projectionMatrix.copy(Ae.projectionMatrix),pe.projectionMatrixInverse.copy(Ae.projectionMatrixInverse),pe.isPerspectiveCamera&&(pe.fov=Fd*2*Math.atan(1/pe.projectionMatrix.elements[5]),pe.zoom=1)}this.getCamera=function(){return L},this.getFoveation=function(){if(!(y===null&&v===null))return u},this.setFoveation=function(pe){u=pe,y!==null&&(y.fixedFoveation=pe),v!==null&&v.fixedFoveation!==void 0&&(v.fixedFoveation=pe)},this.hasDepthSensing=function(){return E.texture!==null},this.getDepthSensingMesh=function(){return E.getMesh(L)};let X=null;function se(pe,Ae){if(p=Ae.getViewerPose(d||o),S=Ae,p!==null){const Re=p.views;v!==null&&(e.setRenderTargetFramebuffer(T,v.framebuffer),e.setRenderTarget(T));let Ie=!1;Re.length!==L.cameras.length&&(L.cameras.length=0,Ie=!0);for(let qe=0;qe<Re.length;qe++){const lt=Re[qe];let Pt=null;if(v!==null)Pt=v.getViewport(lt);else{const Oe=m.getViewSubImage(y,lt);Pt=Oe.viewport,qe===0&&(e.setRenderTargetTextures(T,Oe.colorTexture,y.ignoreDepthValues?void 0:Oe.depthStencilTexture),e.setRenderTarget(T))}let Be=F[qe];Be===void 0&&(Be=new _r,Be.layers.enable(qe),Be.viewport=new xn,F[qe]=Be),Be.matrix.fromArray(lt.transform.matrix),Be.matrix.decompose(Be.position,Be.quaternion,Be.scale),Be.projectionMatrix.fromArray(lt.projectionMatrix),Be.projectionMatrixInverse.copy(Be.projectionMatrix).invert(),Be.viewport.set(Pt.x,Pt.y,Pt.width,Pt.height),qe===0&&(L.matrix.copy(Be.matrix),L.matrix.decompose(L.position,L.quaternion,L.scale)),Ie===!0&&L.cameras.push(Be)}const Ge=i.enabledFeatures;if(Ge&&Ge.includes("depth-sensing")){const qe=m.getDepthInformation(Re[0]);qe&&qe.isValid&&qe.texture&&E.init(e,qe,i.renderState)}}for(let Re=0;Re<I.length;Re++){const Ie=P[Re],Ge=I[Re];Ie!==null&&Ge!==void 0&&Ge.update(Ie,Ae,d||o)}X&&X(pe,Ae),Ae.detectedPlanes&&n.dispatchEvent({type:"planesdetected",data:Ae}),S=null}const Le=new YC;Le.setAnimationLoop(se),this.setAnimationLoop=function(pe){X=pe},this.dispose=function(){}}}const lu=new Ms,U6=new Nt;function j6(r,e){function t(A,M){A.matrixAutoUpdate===!0&&A.updateMatrix(),M.value.copy(A.matrix)}function n(A,M){M.color.getRGB(A.fogColor.value,iC(r)),M.isFog?(A.fogNear.value=M.near,A.fogFar.value=M.far):M.isFogExp2&&(A.fogDensity.value=M.density)}function i(A,M,T,I,P){M.isMeshBasicMaterial||M.isMeshLambertMaterial?s(A,M):M.isMeshToonMaterial?(s(A,M),m(A,M)):M.isMeshPhongMaterial?(s(A,M),p(A,M)):M.isMeshStandardMaterial?(s(A,M),y(A,M),M.isMeshPhysicalMaterial&&v(A,M,P)):M.isMeshMat
vendor: 42,018 bytes, line 3871
3871capMaterial?(s(A,M),S(A,M)):M.isMeshDepthMaterial?s(A,M):M.isMeshDistanceMaterial?(s(A,M),E(A,M)):M.isMeshNormalMaterial?s(A,M):M.isLineBasicMaterial?(o(A,M),M.isLineDashedMaterial&&l(A,M)):M.isPointsMaterial?u(A,M,T,I):M.isSpriteMaterial?d(A,M):M.isShadowMaterial?(A.color.value.copy(M.color),A.opacity.value=M.opacity):M.isShaderMaterial&&(M.uniformsNeedUpdate=!1)}function s(A,M){A.opacity.value=M.opacity,M.color&&A.diffuse.value.copy(M.color),M.emissive&&A.emissive.value.copy(M.emissive).multiplyScalar(M.emissiveIntensity),M.map&&(A.map.value=M.map,t(M.map,A.mapTransform)),M.alphaMap&&(A.alphaMap.value=M.alphaMap,t(M.alphaMap,A.alphaMapTransform)),M.bumpMap&&(A.bumpMap.value=M.bumpMap,t(M.bumpMap,A.bumpMapTransform),A.bumpScale.value=M.bumpScale,M.side===Ni&&(A.bumpScale.value*=-1)),M.normalMap&&(A.normalMap.value=M.normalMap,t(M.normalMap,A.normalMapTransform),A.normalScale.value.copy(M.normalScale),M.side===Ni&&A.normalScale.value.negate()),M.displacementMap&&(A.displacementMap.value=M.displacementMap,t(M.displacementMap,A.displacementMapTransform),A.displacementScale.value=M.displacementScale,A.displacementBias.value=M.displacementBias),M.emissiveMap&&(A.emissiveMap.value=M.emissiveMap,t(M.emissiveMap,A.emissiveMapTransform)),M.specularMap&&(A.specularMap.value=M.specularMap,t(M.specularMap,A.specularMapTransform)),M.alphaTest>0&&(A.alphaTest.value=M.alphaTest);const T=e.get(M),I=T.envMap,P=T.envMapRotation;I&&(A.envMap.value=I,lu.copy(P),lu.x*=-1,lu.y*=-1,lu.z*=-1,I.isCubeTexture&&I.isRenderTargetTexture===!1&&(lu.y*=-1,lu.z*=-1),A.envMapRotation.value.setFromMatrix4(U6.makeRotationFromEuler(lu)),A.flipEnvMap.value=I.isCubeTexture&&I.isRenderTargetTexture===!1?-1:1,A.reflectivity.value=M.reflectivity,A.ior.value=M.ior,A.refractionRatio.value=M.refractionRatio),M.lightMap&&(A.lightMap.value=M.lightMap,A.lightMapIntensity.value=M.lightMapIntensity,t(M.lightMap,A.lightMapTransform)),M.aoMap&&(A.aoMap.value=M.aoMap,A.aoMapIntensity.value=M.aoMapIntensity,t(M.aoMap,A.aoMapTransform))}function o(A,M){A.diffuse.value.copy(M.color),A.opacity.value=M.opacity,M.map&&(A.map.value=M.map,t(M.map,A.mapTransform))}function l(A,M){A.dashSize.value=M.dashSize,A.totalSize.value=M.dashSize+M.gapSize,A.scale.value=M.scale}function u(A,M,T,I){A.diffuse.value.copy(M.color),A.opacity.value=M.opacity,A.size.value=M.size*T,A.scale.value=I*.5,M.map&&(A.map.value=M.map,t(M.map,A.uvTransform)),M.alphaMap&&(A.alphaMap.value=M.alphaMap,t(M.alphaMap,A.alphaMapTransform)),M.alphaTest>0&&(A.alphaTest.value=M.alphaTest)}function d(A,M){A.diffuse.value.copy(M.color),A.opacity.value=M.opacity,A.rotation.value=M.rotation,M.map&&(A.map.value=M.map,t(M.map,A.mapTransform)),M.alphaMap&&(A.alphaMap.value=M.alphaMap,t(M.alphaMap,A.alphaMapTransform)),M.alphaTest>0&&(A.alphaTest.value=M.alphaTest)}function p(A,M){A.specular.value.copy(M.specular),A.shininess.value=Math.max(M.shininess,1e-4)}function m(A,M){M.gradientMap&&(A.gradientMap.value=M.gradientMap)}function y(A,M){A.metalness.value=M.metalness,M.metalnessMap&&(A.metalnessMap.value=M.metalnessMap,t(M.metalnessMap,A.metalnessMapTransform)),A.roughness.value=M.roughness,M.roughnessMap&&(A.roughnessMap.value=M.roughnessMap,t(M.roughnessMap,A.roughnessMapTransform)),M.envMap&&(A.envMapIntensity.value=M.envMapIntensity)}function v(A,M,T){A.ior.value=M.ior,M.sheen>0&&(A.sheenColor.value.copy(M.sheenColor).multiplyScalar(M.sheen),A.sheenRoughness.value=M.sheenRoughness,M.sheenColorMap&&(A.sheenColorMap.value=M.sheenColorMap,t(M.sheenColorMap,A.sheenColorMapTransform)),M.sheenRoughnessMap&&(A.sheenRoughnessMap.value=M.sheenRoughnessMap,t(M.sheenRoughnessMap,A.sheenRoughnessMapTransform))),M.clearcoat>0&&(A.clearcoat.value=M.clearcoat,A.clearcoatRoughness.value=M.clearcoatRoughness,M.clearcoatMap&&(A.clearcoatMap.value=M.clearcoatMap,t(M.clearcoatMap,A.clearcoatMapTransform)),M.clearcoatRoughnessMap&&(A.clearcoatRoughnessMap.value=M.clearcoatRoughnessMap,t(M.clearcoatRoughnessMap,A.clearcoatRoughnessMapTransform)),M.clearcoatNormalMap&&(A.clearcoatNormalMap.value=M.clearcoatNormalMap,t(M.clearcoatNormalMap,A.clearcoatNormalMapTransform),A.clearcoatNormalScale.value.copy(M.clearcoatNormalScale),M.side===Ni&&A.clearcoatNormalScale.value.negate())),M.dispersion>0&&(A.dispersion.value=M.dispersion),M.iridescence>0&&(A.iridescence.value=M.iridescence,A.iridescenceIOR.value=M.iridescenceIOR,A.iridescenceThicknessMinimum.value=M.iridescenceThicknessRange[0],A.iridescenceThicknessMaximum.value=M.iridescenceThicknessRange[1],M.iridescenceMap&&(A.iridescenceMap.value=M.iridescenceMap,t(M.iridescenceMap,A.iridescenceMapTransform)),M.iridescenceThicknessMap&&(A.iridescenceThicknessMap.value=M.iridescenceThicknessMap,t(M.iridescenceThicknessMap,A.iridescenceThicknessMapTransform))),M.transmission>0&&(A.transmission.value=M.transmission,A.transmissionSamplerMap.value=T.texture,A.transmissionSamplerSize.value.set(T.width,T.height),M.transmissionMap&&(A.transmissionMap.value=M.transmissionMap,t(M.transmissionMap,A.transmissionMapTransform)),A.thickness.value=M.thickness,M.thicknessMap&&(A.thicknessMap.value=M.thicknessMap,t(M.thicknessMap,A.thicknessMapTransform)),A.attenuationDistance.value=M.attenuationDistance,A.attenuationColor.value.copy(M.attenuationColor)),M.anisotropy>0&&(A.anisotropyVector.value.set(M.anisotropy*Math.cos(M.anisotropyRotation),M.anisotropy*Math.sin(M.anisotropyRotation)),M.anisotropyMap&&(A.anisotropyMap.value=M.anisotropyMap,t(M.anisotropyMap,A.anisotropyMapTransform))),A.specularIntensity.value=M.specularIntensity,A.specularColor.value.copy(M.specularColor),M.specularColorMap&&(A.specularColorMap.value=M.specularColorMap,t(M.specularColorMap,A.specularColorMapTransform)),M.specularIntensityMap&&(A.specularIntensityMap.value=M.specularIntensityMap,t(M.specularIntensityMap,A.specularIntensityMapTransform))}function S(A,M){M.matcap&&(A.matcap.value=M.matcap)}function E(A,M){const T=e.get(M).light;A.referencePosition.value.setFromMatrixPosition(T.matrixWorld),A.nearDistance.value=T.shadow.camera.near,A.farDistance.value=T.shadow.camera.far}return{refreshFogUniforms:n,refreshMaterialUniforms:i}}function z6(r,e,t,n){let i={},s={},o=[];const l=r.getParameter(r.MAX_UNIFORM_BUFFER_BINDINGS);function u(T,I){const P=I.program;n.uniformBlockBinding(T,P)}function d(T,I){let P=i[T.id];P===void 0&&(S(T),P=p(T),i[T.id]=P,T.addEventListener("dispose",A));const k=I.program;n.updateUBOMapping(T,k);const O=e.render.frame;s[T.id]!==O&&(y(T),s[T.id]=O)}function p(T){const I=m();T.__bindingPointIndex=I;const P=r.createBuffer(),k=T.__size,O=T.usage;return r.bindBuffer(r.UNIFORM_BUFFER,P),r.bufferData(r.UNIFORM_BUFFER,k,O),r.bindBuffer(r.UNIFORM_BUFFER,null),r.bindBufferBase(r.UNIFORM_BUFFER,I,P),P}function m(){for(let T=0;T<l;T++)if(o.indexOf(T)===-1)return o.push(T),T;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}function y(T){const I=i[T.id],P=T.uniforms,k=T.__cache;r.bindBuffer(r.UNIFORM_BUFFER,I);for(let O=0,N=P.length;O<N;O++){const H=Array.isArray(P[O])?P[O]:[P[O]];for(let F=0,L=H.length;F<L;F++){const V=H[F];if(v(V,O,F,k)===!0){const te=V.__offset,ne=Array.isArray(V.value)?V.value:[V.value];let ce=0;for(let me=0;me<ne.length;me++){const he=ne[me],ge=E(he);typeof he=="number"||typeof he=="boolean"?(V.__data[0]=he,r.bufferSubData(r.UNIFORM_BUFFER,te+ce,V.__data)):he.isMatrix3?(V.__data[0]=he.elements[0],V.__data[1]=he.elements[1],V.__data[2]=he.elements[2],V.__data[3]=0,V.__data[4]=he.elements[3],V.__data[5]=he.elements[4],V.__data[6]=he.elements[5],V.__data[7]=0,V.__data[8]=he.elements[6],V.__data[9]=he.elements[7],V.__data[10]=he.elements[8],V.__data[11]=0):(he.toArray(V.__data,ce),ce+=ge.storage/Float32Array.BYTES_PER_ELEMENT)}r.bufferSubData(r.UNIFORM_BUFFER,te,V.__data)}}}r.bindBuffer(r.UNIFORM_BUFFER,null)}function v(T,I,P,k){const O=T.value,N=I+"_"+P;if(k[N]===void 0)return typeof O=="number"||typeof O=="boolean"?k[N]=O:k[N]=O.clone(),!0;{const H=k[N];if(typeof O=="number"||typeof O=="boolean"){if(H!==O)return k[N]=O,!0}else if(H.equals(O)===!1)return H.copy(O),!0}return!1}function S(T){const I=T.uniforms;let P=0;const k=16;for(let N=0,H=I.length;N<H;N++){const F=Array.isArray(I[N])?I[N]:[I[N]];for(let L=0,V=F.length;L<V;L++){const te=F[L],ne=Array.isArray(te.value)?te.value:[te.value];for(let ce=0,me=ne.length;ce<me;ce++){const he=ne[ce],ge=E(he),U=P%k,Z=U%ge.boundary,q=U+Z;P+=Z,q!==0&&k-q<ge.storage&&(P+=k-q),te.__data=new Float32Array(ge.storage/Float32Array.BYTES_PER_ELEMENT),te.__offset=P,P+=ge.storage}}}const O=P%k;return O>0&&(P+=k-O),T.__size=P,T.__cache={},this}function E(T){const I={boundary:0,storage:0};return typeof T=="number"||typeof T=="boolean"?(I.boundary=4,I.storage=4):T.isVector2?(I.boundary=8,I.storage=8):T.isVector3||T.isColor?(I.boundary=16,I.storage=12):T.isVector4?(I.boundary=16,I.storage=16):T.isMatrix3?(I.boundary=48,I.storage=48):T.isMatrix4?(I.boundary=64,I.storage=64):T.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",T),I}function A(T){const I=T.target;I.removeEventListener("dispose",A);const P=o.indexOf(I.__bindingPointIndex);o.splice(P,1),r.deleteBuffer(i[I.id]),delete i[I.id],delete s[I.id]}function M(){for(const T in i)r.deleteBuffer(i[T]);o=[],i={},s={}}return{bind:u,update:d,dispose:M}}class RM{constructor(e={}){const{canvas:t=eC(),context:n=null,depth:i=!0,stencil:s=!1,alpha:o=!1,antialias:l=!1,premultipliedAlpha:u=!0,preserveDrawingBuffer:d=!1,powerPreference:p="default",failIfMajorPerformanceCaveat:m=!1,reverseDepthBuffer:y=!1}=e;this.isWebGLRenderer=!0;let v;if(n!==null){if(typeof WebGLRenderingContext<"u"&&n instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");v=n.getContextAttributes().alpha}else v=o;const S=new Uint32Array(4),E=new Int32Array(4);let A=null,M=null;const T=[],I=[];this.domElement=t,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Zi,this.toneMapping=Jo,this.toneMappingExposure=1;const P=this;let k=!1,O=0,N=0,H=null,F=-1,L=null;const V=new xn,te=new xn;let ne=null;const ce=new tt(0);let me=0,he=t.width,ge=t.height,U=1,Z=null,q=null;const X=new xn(0,0,he,ge),se=new xn(0,0,he,ge);let Le=!1;const pe=new am;let Ae=!1,Re=!1;const Ie=new Nt,Ge=new Nt,qe=new $,lt=new xn,Pt={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let Be=!1;function Oe(){return H===null?U:1}let K=n;function pt(W,de){return t.getContext(W,de)}try{const W={alpha:!0,depth:i,stencil:s,antialias:l,premultipliedAlpha:u,preserveDrawingBuffer:d,powerPreference:p,failIfMajorPerformanceCaveat:m};if("setAttribute"in t&&t.setAttribute("data-engine",`three.js r${em}`),t.addEventListener("webglcontextlost",De,!1),t.addEventListener("webglcontextrestored",ot,!1),t.addEventListener("webglcontextcreationerror",nt,!1),K===null){const de="webgl2";if(K=pt(de,W),K===null)throw pt(de)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(W){throw console.error("THREE.WebGLRenderer: "+W.message),W}let Fe,st,Ve,St,$e,J,G,ee,ye,Pe,be,et,Je,Qe,Ht,Ue,ut,Ct,Rt,ht,$t,kt,pn,ue;function Ze(){Fe=new QD(K),Fe.init(),kt=new tT(K,Fe),st=new XD(K,Fe,e,kt),Ve=new B6(K,Fe),st.reverseDepthBuffer&&y&&Ve.buffers.depth.setReversed(!0),St=new tL(K),$e=new _6,J=new O6(K,Fe,Ve,$e,st,kt,St),G=new $D(P),ee=new qD(P),ye=new lB(K),pn=new VD(K,ye),Pe=new ZD(K,ye,St,pn),be=new rL(K,Pe,ye,St),Rt=new nL(K,st,J),Ue=new JD($e),et=new v6(P,G,ee,Fe,st,pn,Ue),Je=new j6(P,$e),Qe=new M6,Ht=new C6(Fe),Ct=new GD(P,G,ee,Ve,be,v,u),ut=new P6(P,be,st),ue=new z6(K,St,st,Ve),ht=new WD(K,Fe,St),$t=new eL(K,Fe,St),St.programs=et.programs,P.capabilities=st,P.extensions=Fe,P.properties=$e,P.renderLists=Qe,P.shadowMap=ut,P.state=Ve,P.info=St}Ze();const Ce=new k6(P,K);this.xr=Ce,this.getContext=function(){return K},this.getContextAttributes=function(){return K.getContextAttributes()},this.forceContextLoss=function(){const W=Fe.get("WEBGL_lose_context");W&&W.loseContext()},this.forceContextRestore=function(){const W=Fe.get("WEBGL_lose_context");W&&W.restoreContext()},this.getPixelRatio=function(){return U},this.setPixelRatio=function(W){W!==void 0&&(U=W,this.setSize(he,ge,!1))},this.getSize=function(W){return W.set(he,ge)},this.setSize=function(W,de,Me=!0){if(Ce.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}he=W,ge=de,t.width=Math.floor(W*U),t.height=Math.floor(de*U),Me===!0&&(t.style.width=W+"px",t.style.height=de+"px"),this.setViewport(0,0,W,de)},this.getDrawingBufferSize=function(W){return W.set(he*U,ge*U).floor()},this.setDrawingBufferSize=function(W,de,Me){he=W,ge=de,U=Me,t.width=Math.floor(W*Me),t.height=Math.floor(de*Me),this.setViewport(0,0,W,de)},this.getCurrentViewport=function(W){return W.copy(V)},this.getViewport=function(W){return W.copy(X)},this.setViewport=function(W,de,Me,we){W.isVector4?X.set(W.x,W.y,W.z,W.w):X.set(W,de,Me,we),Ve.viewport(V.copy(X).multiplyScalar(U).round())},this.getScissor=function(W){return W.copy(se)},this.setScissor=function(W,de,Me,we){W.isVector4?se.set(W.x,W.y,W.z,W.w):se.set(W,de,Me,we),Ve.scissor(te.copy(se).multiplyScalar(U).round())},this.getScissorTest=function(){return Le},this.setScissorTest=function(W){Ve.setScissorTest(Le=W)},this.setOpaqueSort=function(W){Z=W},this.setTransparentSort=function(W){q=W},this.getClearColor=function(W){return W.copy(Ct.getClearColor())},this.setClearColor=function(){Ct.setClearColor.apply(Ct,arguments)},this.getClearAlpha=function(){return Ct.getClearAlpha()},this.setClearAlpha=function(){Ct.setClearAlpha.apply(Ct,arguments)},this.clear=function(W=!0,de=!0,Me=!0){let we=0;if(W){let oe=!1;if(H!==null){const ze=H.texture.format;oe=ze===zy||ze===jy||ze===nm}if(oe){const ze=H.texture.type,Ye=ze===Mo||ze===tl||ze===Dd||ze===Tu||ze===Fy||ze===ky,ct=Ct.getClearColor(),mt=Ct.getClearAlpha(),Ut=ct.r,Bt=ct.g,yt=ct.b;Ye?(S[0]=Ut,S[1]=Bt,S[2]=yt,S[3]=mt,K.clearBufferuiv(K.COLOR,0,S)):(E[0]=Ut,E[1]=Bt,E[2]=yt,E[3]=mt,K.clearBufferiv(K.COLOR,0,E))}else we|=K.COLOR_BUFFER_BIT}de&&(we|=K.DEPTH_BUFFER_BIT),Me&&(we|=K.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),K.clear(we)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){t.removeEventListener("webglcontextlost",De,!1),t.removeEventListener("webglcontextrestored",ot,!1),t.removeEventListener("webglcontextcreationerror",nt,!1),Ct.dispose(),Qe.dispose(),Ht.dispose(),$e.dispose(),G.dispose(),ee.dispose(),be.dispose(),pn.dispose(),ue.dispose(),et.dispose(),Ce.dispose(),Ce.removeEventListener("sessionstart",al),Ce.removeEventListener("sessionend",Po),ws.stop()};function De(W){W.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),k=!0}function ot(){console.log("THREE.WebGLRenderer: Context Restored."),k=!1;const W=St.autoReset,de=ut.enabled,Me=ut.autoUpdate,we=ut.needsUpdate,oe=ut.type;Ze(),St.autoReset=W,ut.enabled=de,ut.autoUpdate=Me,ut.needsUpdate=we,ut.type=oe}function nt(W){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",W.statusMessage)}function Gt(W){const de=W.target;de.removeEventListener("dispose",Gt),Bn(de)}function Bn(W){tr(W),$e.remove(W)}function tr(W){const de=$e.get(W).programs;de!==void 0&&(de.forEach(function(Me){et.releaseProgram(Me)}),W.isShaderMaterial&&et.releaseShaderCache(W))}this.renderBufferDirect=function(W,de,Me,we,oe,ze){de===null&&(de=Pt);const Ye=oe.isMesh&&oe.matrixWorld.determinant()<0,ct=$u(W,de,Me,we,oe);Ve.setMaterial(we,Ye);let mt=Me.index,Ut=1;if(we.wireframe===!0){if(mt=Pe.getWireframeAttribute(Me),mt===void 0)return;Ut=2}const Bt=Me.drawRange,yt=Me.attributes.position;let dt=Bt.start*Ut,Tt=(Bt.start+Bt.count)*Ut;ze!==null&&(dt=Math.max(dt,ze.start*Ut),Tt=Math.min(Tt,(ze.start+ze.count)*Ut)),mt!==null?(dt=Math.max(dt,0),Tt=Math.min(Tt,mt.count)):yt!=null&&(dt=Math.max(dt,0),Tt=Math.min(Tt,yt.count));const rn=Tt-dt;if(rn<0||rn===1/0)return;pn.setup(oe,we,ct,Me,mt);let sn,zt=ht;if(mt!==null&&(sn=ye.get(mt),zt=$t,zt.setIndex(sn)),oe.isMesh)we.wireframe===!0?(Ve.setLineWidth(we.wireframeLinewidth*Oe()),zt.setMode(K.LINES)):zt.setMode(K.TRIANGLES);else if(oe.isLine){let wt=we.linewidth;wt===void 0&&(wt=1),Ve.setLineWidth(wt*Oe()),oe.isLineSegments?zt.setMode(K.LINES):oe.isLineLoop?zt.setMode(K.LINE_LOOP):zt.setMode(K.LINE_STRIP)}else oe.isPoints?zt.setMode(K.POINTS):oe.isSprite&&zt.setMode(K.TRIANGLES);if(oe.isBatchedMesh)if(oe._multiDrawInstances!==null)zt.renderMultiDrawInstances(oe._multiDrawStarts,oe._multiDrawCounts,oe._multiDrawCount,oe._multiDrawInstances);else if(Fe.get("WEBGL_multi_draw"))zt.renderMultiDraw(oe._multiDrawStarts,oe._multiDrawCounts,oe._multiDrawCount);else{const wt=oe._multiDrawStarts,En=oe._multiDrawCounts,jt=oe._multiDrawCount,nr=mt?ye.get(mt).bytesPerElement:1,Fi=$e.get(we).currentProgram.getUniforms();for(let Rr=0;Rr<jt;Rr++)Fi.setValue(K,"_gl_DrawID",Rr),zt.render(wt[Rr]/nr,En[Rr])}else if(oe.isInstancedMesh)zt.renderInstances(dt,rn,oe.count);else if(Me.isInstancedBufferGeometry){const wt=Me._maxInstanceCount!==void 0?Me._maxInstanceCount:1/0,En=Math.min(Me.instanceCount,wt);zt.renderInstances(dt,rn,En)}else zt.render(dt,rn)};function un(W,de,Me){W.transparent===!0&&W.side===xo&&W.forceSinglePass===!1?(W.side=Ni,W.needsUpdate=!0,ll(W,de,Me),W.side=Qo,W.needsUpdate=!0,ll(W,de,Me),W.side=xo):ll(W,de,Me)}this.compile=function(W,de,Me=null){Me===null&&(Me=W),M=Ht.get(Me),M.init(de),I.push(M),Me.traverseVisible(function(oe){oe.isLight&&oe.layers.test(de.layers)&&(M.pushLight(oe),oe.castShadow&&M.pushShadow(oe))}),W!==Me&&W.traverseVisible(function(oe){oe.isLight&&oe.layers.test(de.layers)&&(M.pushLight(oe),oe.castShadow&&M.pushShadow(oe))}),M.setupLights();const we=new Set;return W.traverse(function(oe){if(!(oe.isMesh||oe.isPoints||oe.isLine||oe.isSprite))return;const ze=oe.material;if(ze)if(Array.isArray(ze))for(let Ye=0;Ye<ze.length;Ye++){const ct=ze[Ye];un(ct,Me,oe),we.add(ct)}else un(ze,Me,oe),we.add(ze)}),I.pop(),M=null,we},this.compileAsync=function(W,de,Me=null){const we=this.compile(W,de,Me);return new Promise(oe=>{function ze(){if(we.forEach(function(Ye){$e.get(Ye).currentProgram.isReady()&&we.delete(Ye)}),we.size===0){oe(W);return}setTimeout(ze,10)}Fe.get("KHR_parallel_shader_compile")!==null?ze():setTimeout(ze,10)})};let Hr=null;function Gr(W){Hr&&Hr(W)}function al(){ws.stop()}function Po(){ws.start()}const ws=new YC;ws.setAnimationLoop(Gr),typeof self<"u"&&ws.setContext(self),this.setAnimationLoop=function(W){Hr=W,Ce.setAnimationLoop(W),W===null?ws.stop():ws.start()},Ce.addEventListener("sessionstart",al),Ce.addEventListener("sessionend",Po),this.render=function(W,de){if(de!==void 0&&de.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(k===!0)return;if(W.matrixWorldAutoUpdate===!0&&W.updateMatrixWorld(),de.parent===null&&de.matrixWorldAutoUpdate===!0&&de.updateMatrixWorld(),Ce.enabled===!0&&Ce.isPresenting===!0&&(Ce.cameraAutoUpdate===!0&&Ce.updateCamera(de),de=Ce.getCamera()),W.isScene===!0&&W.onBeforeRender(P,W,de,H),M=Ht.get(W,I.length),M.init(de),I.push(M),Ge.multiplyMatrices(de.projectionMatrix,de.matrixWorldInverse),pe.setFromProjectionMatrix(Ge),Re=this.localClippingEnabled,Ae=Ue.init(this.clippingPlanes,Re),A=Qe.get(W,T.length),A.init(),T.push(A),Ce.enabled===!0&&Ce.isPresenting===!0){const ze=P.xr.getDepthSensingMesh();ze!==null&&ns(ze,de,-1/0,P.sortObjects)}ns(W,de,0,P.sortObjects),A.finish(),P.sortObjects===!0&&A.sort(Z,q),Be=Ce.enabled===!1||Ce.isPresenting===!1||Ce.hasDepthSensing()===!1,Be&&Ct.addToRenderList(A,W),this.info.render.frame++,Ae===!0&&Ue.beginShadows();const Me=M.state.shadowsArray;ut.render(Me,W,de),Ae===!0&&Ue.endShadows(),this.info.autoReset===!0&&this.info.reset();const we=A.opaque,oe=A.transmissive;if(M.setupLights(),de.isArrayCamera){const ze=de.cameras;if(oe.length>0)for(let Ye=0,ct=ze.length;Ye<ct;Ye++){const mt=ze[Ye];rs(we,oe,W,mt)}Be&&Ct.render(W);for(let Ye=0,ct=ze.length;Ye<ct;Ye++){const mt=ze[Ye];ra(A,W,mt,mt.viewport)}}else oe.length>0&&rs(we,oe,W,de),Be&&Ct.render(W),ra(A,W,de);H!==null&&(J.updateMultisampleRenderTarget(H),J.updateRenderTargetMipmap(H)),W.isScene===!0&&W.onAfterRender(P,W,de),pn.resetDefaultState(),F=-1,L=null,I.pop(),I.length>0?(M=I[I.length-1],Ae===!0&&Ue.setGlobalState(P.clippingPlanes,M.state.camera)):M=null,T.pop(),T.length>0?A=T[T.length-1]:A=null};function ns(W,de,Me,we){if(W.visible===!1)return;if(W.layers.test(de.layers)){if(W.isGroup)Me=W.renderOrder;else if(W.isLOD)W.autoUpdate===!0&&W.update(de);else if(W.isLight)M.pushLight(W),W.castShadow&&M.pushShadow(W);else if(W.isSprite){if(!W.frustumCulled||pe.intersectsSprite(W)){we&<.setFromMatrixPosition(W.matrixWorld).applyMatrix4(Ge);const Ye=be.update(W),ct=W.material;ct.visible&&A.push(W,Ye,ct,Me,lt.z,null)}}else if((W.isMesh||W.isLine||W.isPoints)&&(!W.frustumCulled||pe.intersectsObject(W))){const Ye=be.update(W),ct=W.material;if(we&&(W.boundingSphere!==void 0?(W.boundingSphere===null&&W.computeBoundingSphere(),lt.copy(W.boundingSphere.center)):(Ye.boundingSphere===null&&Ye.computeBoundingSphere(),lt.copy(Ye.boundingSphere.center)),lt.applyMatrix4(W.matrixWorld).applyMatrix4(Ge)),Array.isArray(ct)){const mt=Ye.groups;for(let Ut=0,Bt=mt.length;Ut<Bt;Ut++){const yt=mt[Ut],dt=ct[yt.materialIndex];dt&&dt.visible&&A.push(W,Ye,dt,Me,lt.z,yt)}}else ct.visible&&A.push(W,Ye,ct,Me,lt.z,null)}}const ze=W.children;for(let Ye=0,ct=ze.length;Ye<ct;Ye++)ns(ze[Ye],de,Me,we)}function ra(W,de,Me,we){const oe=W.opaque,ze=W.transmissive,Ye=W.transparent;M.setupLightsView(Me),Ae===!0&&Ue.setGlobalState(P.clippingPlanes,Me),we&&Ve.viewport(V.copy(we)),oe.length>0&&Ro(oe,de,Me),ze.length>0&&Ro(ze,de,Me),Ye.length>0&&Ro(Ye,de,Me),Ve.buffers.depth.setTest(!0),Ve.buffers.depth.setMask(!0),Ve.buffers.color.setMask(!0),Ve.setPolygonOffset(!1)}function rs(W,de,Me,we){if((Me.isScene===!0?Me.overrideMaterial:null)!==null)return;M.state.transmissionRenderTarget[we.id]===void 0&&(M.state.transmissionRenderTarget[we.id]=new Hs(1,1,{generateMipmaps:!0,type:Fe.has("EXT_color_buffer_half_float")||Fe.has("EXT_color_buffer_float")?ju:Mo,minFilter:js,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:yn.workingColorSpace}));const ze=M.state.transmissionRenderTarget[we.id],Ye=we.viewport||V;ze.setSize(Ye.z,Ye.w);const ct=P.getRenderTarget();P.setRenderTarget(ze),P.getClearColor(ce),me=P.getClearAlpha(),me<1&&P.setClearColor(16777215,.5),P.clear(),Be&&Ct.render(Me);const mt=P.toneMapping;P.toneMapping=Jo;const Ut=we.viewport;if(we.viewport!==void 0&&(we.viewport=void 0),M.setupLightsView(we),Ae===!0&&Ue.setGlobalState(P.clippingPlanes,we),Ro(W,Me,we),J.updateMultisampleRenderTarget(ze),J.updateRenderTargetMipmap(ze),Fe.has("WEBGL_multisampled_render_to_texture")===!1){let Bt=!1;for(let yt=0,dt=de.length;yt<dt;yt++){const Tt=de[yt],rn=Tt.object,sn=Tt.geometry,zt=Tt.material,wt=Tt.group;if(zt.side===xo&&rn.layers.test(we.layers)){const En=zt.side;zt.side=Ni,zt.needsUpdate=!0,Xu(rn,Me,we,sn,zt,wt),zt.side=En,zt.needsUpdate=!0,Bt=!0}}Bt===!0&&(J.updateMultisampleRenderTarget(ze),J.updateRenderTargetMipmap(ze))}P.setRenderTarget(ct),P.setClearColor(ce,me),Ut!==void 0&&(we.viewport=Ut),P.toneMapping=mt}function Ro(W,de,Me){const we=de.isScene===!0?de.overrideMaterial:null;for(let oe=0,ze=W.length;oe<ze;oe++){const Ye=W[oe],ct=Ye.object,mt=Ye.geometry,Ut=we===null?Ye.material:we,Bt=Ye.group;ct.layers.test(Me.layers)&&Xu(ct,de,Me,mt,Ut,Bt)}}function Xu(W,de,Me,we,oe,ze){W.onBeforeRender(P,de,Me,we,oe,ze),W.modelViewMatrix.multiplyMatrices(Me.matrixWorldInverse,W.matrixWorld),W.normalMatrix.getNormalMatrix(W.modelViewMatrix),oe.onBeforeRender(P,de,Me,we,W,ze),oe.transparent===!0&&oe.side===xo&&oe.forceSinglePass===!1?(oe.side=Ni,oe.needsUpdate=!0,P.renderBufferDirect(Me,de,we,oe,W,ze),oe.side=Qo,oe.needsUpdate=!0,P.renderBufferDirect(Me,de,we,oe,W,ze),oe.side=xo):P.renderBufferDirect(Me,de,we,oe,W,ze),W.onAfterRender(P,de,Me,we,oe,ze)}function ll(W,de,Me){de.isScene!==!0&&(de=Pt);const we=$e.get(W),oe=M.state.lights,ze=M.state.shadowsArray,Ye=oe.state.version,ct=et.getParameters(W,oe.state,ze,de,Me),mt=et.getProgramCacheKey(ct);let Ut=we.programs;we.environment=W.isMeshStandardMaterial?de.environment:null,we.fog=de.fog,we.envMap=(W.isMeshStandardMaterial?ee:G).get(W.envMap||we.environment),we.envMapRotation=we.environment!==null&&W.envMap===null?de.environmentRotation:W.envMapRotation,Ut===void 0&&(W.addEventListener("dispose",Gt),Ut=new Map,we.programs=Ut);let Bt=Ut.get(mt);if(Bt!==void 0){if(we.currentProgram===Bt&&we.lightsStateVersion===Ye)return As(W,ct),Bt}else ct.uniforms=et.getUniforms(W),W.onBeforeCompile(ct,P),Bt=et.acquireProgram(ct,mt),Ut.set(mt,Bt),we.uniforms=ct.uniforms;const yt=we.uniforms;return(!W.isShaderMaterial&&!W.isRawShaderMaterial||W.clipping===!0)&&(yt.clippingPlanes=Ue.uniform),As(W,ct),we.needsLights=Yu(W),we.lightsStateVersion=Ye,we.needsLights&&(yt.ambientLightColor.value=oe.state.ambient,yt.lightProbe.value=oe.state.probe,yt.directionalLights.value=oe.state.directional,yt.directionalLightShadows.value=oe.state.directionalShadow,yt.spotLights.value=oe.state.spot,yt.spotLightShadows.value=oe.state.spotShadow,yt.rectAreaLights.value=oe.state.rectArea,yt.ltc_1.value=oe.state.rectAreaLTC1,yt.ltc_2.value=oe.state.rectAreaLTC2,yt.pointLights.value=oe.state.point,yt.pointLightShadows.value=oe.state.pointShadow,yt.hemisphereLights.value=oe.state.hemi,yt.directionalShadowMap.value=oe.state.directionalShadowMap,yt.directionalShadowMatrix.value=oe.state.directionalShadowMatrix,yt.spotShadowMap.value=oe.state.spotShadowMap,yt.spotLightMatrix.value=oe.state.spotLightMatrix,yt.spotLightMap.value=oe.state.spotLightMap,yt.pointShadowMap.value=oe.state.pointShadowMap,yt.pointShadowMatrix.value=oe.state.pointShadowMatrix),we.currentProgram=Bt,we.uniformsList=null,Bt}function Ju(W){if(W.uniformsList===null){const de=W.currentProgram.getUniforms();W.uniformsList=Mg.seqWithValue(de.seq,W.uniforms)}return W.uniformsList}function As(W,de){const Me=$e.get(W);Me.outputColorSpace=de.outputColorSpace,Me.batching=de.batching,Me.batchingColor=de.batchingColor,Me.instancing=de.instancing,Me.instancingColor=de.instancingColor,Me.instancingMorph=de.instancingMorph,Me.skinning=de.skinning,Me.morphTargets=de.morphTargets,Me.morphNormals=de.morphNormals,Me.morphColors=de.morphColors,Me.morphTargetsCount=de.morphTargetsCount,Me.numClippingPlanes=de.numClippingPlanes,Me.numIntersection=de.numClipIntersection,Me.vertexAlphas=de.vertexAlphas,Me.vertexTangents=de.vertexTangents,Me.toneMapping=de.toneMapping}function $u(W,de,Me,we,oe){de.isScene!==!0&&(de=Pt),J.resetTextureUnits();const ze=de.fog,Ye=we.isMeshStandardMaterial?de.environment:null,ct=H===null?P.outputColorSpace:H.isXRRenderTarget===!0?H.texture.colorSpace:Pu,mt=(we.isMeshStandardMaterial?ee:G).get(we.envMap||Ye),Ut=we.vertexColors===!0&&!!Me.attributes.color&&Me.attributes.color.itemSize===4,Bt=!!Me.attributes.tangent&&(!!we.normalMap||we.anisotropy>0),yt=!!Me.morphAttributes.position,dt=!!Me.morphAttributes.normal,Tt=!!Me.morphAttributes.color;let rn=Jo;we.toneMapped&&(H===null||H.isXRRenderTarget===!0)&&(rn=P.toneMapping);const sn=Me.morphAttributes.position||Me.morphAttributes.normal||Me.morphAttributes.color,zt=sn!==void 0?sn.length:0,wt=$e.get(we),En=M.state.lights;if(Ae===!0&&(Re===!0||W!==L)){const Jn=W===L&&we.id===F;Ue.setState(we,W,Jn)}let jt=!1;we.version===wt.__version?(wt.needsLights&&wt.lightsStateVersion!==En.state.version||wt.outputColorSpace!==ct||oe.isBatchedMesh&&wt.batching===!1||!oe.isBatchedMesh&&wt.batching===!0||oe.isBatchedMesh&&wt.batchingColor===!0&&oe.colorTexture===null||oe.isBatchedMesh&&wt.batchingColor===!1&&oe.colorTexture!==null||oe.isInstancedMesh&&wt.instancing===!1||!oe.isInstancedMesh&&wt.instancing===!0||oe.isSkinnedMesh&&wt.skinning===!1||!oe.isSkinnedMesh&&wt.skinning===!0||oe.isInstancedMesh&&wt.instancingColor===!0&&oe.instanceColor===null||oe.isInstancedMesh&&wt.instancingColor===!1&&oe.instanceColor!==null||oe.isInstancedMesh&&wt.instancingMorph===!0&&oe.morphTexture===null||oe.isInstancedMesh&&wt.instancingMorph===!1&&oe.morphTexture!==null||wt.envMap!==mt||we.fog===!0&&wt.fog!==ze||wt.numClippingPlanes!==void 0&&(wt.numClippingPlanes!==Ue.numPlanes||wt.numIntersection!==Ue.numIntersection)||wt.vertexAlphas!==Ut||wt.vertexTangents!==Bt||wt.morphTargets!==yt||wt.morphNormals!==dt||wt.morphColors!==Tt||wt.toneMapping!==rn||wt.morphTargetsCount!==zt)&&(jt=!0):(jt=!0,wt.__version=we.version);let nr=wt.currentProgram;jt===!0&&(nr=ll(we,de,oe));let Fi=!1,Rr=!1,Es=!1;const Sn=nr.getUniforms(),On=wt.uniforms;if(Ve.useProgram(nr.program)&&(Fi=!0,Rr=!0,Es=!0),we.id!==F&&(F=we.id,Rr=!0),Fi||L!==W){Ve.buffers.depth.getReversed()?(Ie.copy(W.projectionMatrix),LP(Ie),NP(Ie),Sn.setValue(K,"projectionMatrix",Ie)):Sn.setValue(K,"projectionMatrix",W.projectionMatrix),Sn.setValue(K,"viewMatrix",W.matrixWorldInverse);const Or=Sn.map.cameraPosition;Or!==void 0&&Or.setValue(K,qe.setFromMatrixPosition(W.matrixWorld)),st.logarithmicDepthBuffer&&Sn.setValue(K,"logDepthBufFC",2/(Math.log(W.far+1)/Math.LN2)),(we.isMeshPhongMaterial||we.isMeshToonMaterial||we.isMeshLambertMaterial||we.isMeshBasicMaterial||we.isMeshStandardMaterial||we.isShaderMaterial)&&Sn.setValue(K,"isOrthographic",W.isOrthographicCamera===!0),L!==W&&(L=W,Rr=!0,Es=!0)}if(oe.isSkinnedMesh){Sn.setOptional(K,oe,"bindMatrix"),Sn.setOptional(K,oe,"bindMatrixInverse");const Jn=oe.skeleton;Jn&&(Jn.boneTexture===null&&Jn.computeBoneTexture(),Sn.setValue(K,"boneTexture",Jn.boneTexture,J))}oe.isBatchedMesh&&(Sn.setOptional(K,oe,"batchingTexture"),Sn.setValue(K,"batchingTexture",oe._matricesTexture,J),Sn.setOptional(K,oe,"batchingIdTexture"),Sn.setValue(K,"batchingIdTexture",oe._indirectTexture,J),Sn.setOptional(K,oe,"batchingColorTexture"),oe._colorsTexture!==null&&Sn.setValue(K,"batchingColorTexture",oe._colorsTexture,J));const Br=Me.morphAttributes;if((Br.position!==void 0||Br.normal!==void 0||Br.color!==void 0)&&Rt.update(oe,Me,nr),(Rr||wt.receiveShadow!==oe.receiveShadow)&&(wt.receiveShadow=oe.receiveShadow,Sn.setValue(K,"receiveShadow",oe.receiveShadow)),we.isMeshGouraudMaterial&&we.envMap!==null&&(On.envMap.value=mt,On.flipEnvMap.value=mt.isCubeTexture&&mt.isRenderTargetTexture===!1?-1:1),we.isMeshStandardMaterial&&we.envMap===null&&de.environment!==null&&(On.envMapIntensity.value=de.environmentIntensity),Rr&&(Sn.setValue(K,"toneMappingExposure",P.toneMappingExposure),wt.needsLights&&Ku(On,Es),ze&&we.fog===!0&&Je.refreshFogUniforms(On,ze),Je.refreshMaterialUniforms(On,we,U,ge,M.state.transmissionRenderTarget[W.id]),Mg.upload(K,Ju(wt),On,J)),we.isShaderMaterial&&we.uniformsNeedUpdate===!0&&(Mg.upload(K,Ju(wt),On,J),we.uniformsNeedUpdate=!1),we.isSpriteMaterial&&Sn.setValue(K,"center",oe.center),Sn.setValue(K,"modelViewMatrix",oe.modelViewMatrix),Sn.setValue(K,"normalMatrix",oe.normalMatrix),Sn.setValue(K,"modelMatrix",oe.matrixWorld),we.isShaderMaterial||we.isRawShaderMaterial){const Jn=we.uniformsGroups;for(let Or=0,bs=Jn.length;Or<bs;Or++){const en=Jn[Or];ue.update(en,nr),ue.bind(en,nr)}}return nr}function Ku(W,de){W.ambientLightColor.needsUpdate=de,W.lightProbe.needsUpdate=de,W.directionalLights.needsUpdate=de,W.directionalLightShadows.needsUpdate=de,W.pointLights.needsUpdate=de,W.pointLightShadows.needsUpdate=de,W.spotLights.needsUpdate=de,W.spotLightShadows.needsUpdate=de,W.rectAreaLights.needsUpdate=de,W.hemisphereLights.needsUpdate=de}function Yu(W){return W.isMeshLambertMaterial||W.isMeshToonMaterial||W.isMeshPhongMaterial||W.isMeshStandardMaterial||W.isShadowMaterial||W.isShaderMaterial&&W.lights===!0}this.getActiveCubeFace=function(){return O},this.getActiveMipmapLevel=function(){return N},this.getRenderTarget=function(){return H},this.setRenderTargetTextures=function(W,de,Me){$e.get(W.texture).__webglTexture=de,$e.get(W.depthTexture).__webglTexture=Me;const we=$e.get(W);we.__hasExternalTextures=!0,we.__autoAllocateDepthBuffer=Me===void 0,we.__autoAllocateDepthBuffer||Fe.has("WEBGL_multisampled_render_to_texture")===!0&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),we.__useRenderToTexture=!1)},this.setRenderTargetFramebuffer=function(W,de){const Me=$e.get(W);Me.__webglFramebuffer=de,Me.__useDefaultFramebuffer=de===void 0},this.setRenderTarget=function(W,de=0,Me=0){H=W,O=de,N=Me;let we=!0,oe=null,ze=!1,Ye=!1;if(W){const mt=$e.get(W);if(mt.__useDefaultFramebuffer!==void 0)Ve.bindFramebuffer(K.FRAMEBUFFER,null),we=!1;else if(mt.__webglFramebuffer===void 0)J.setupRenderTarget(W);else if(mt.__hasExternalTextures)J.rebindTextures(W,$e.get(W.texture).__webglTexture,$e.get(W.depthTexture).__webglTexture);else if(W.depthBuffer){const yt=W.depthTexture;if(mt.__boundDepthTexture!==yt){if(yt!==null&&$e.has(yt)&&(W.width!==yt.image.width||W.height!==yt.image.height))throw new Error("WebGLRenderTarget: Attached DepthTexture is initialized to the incorrect size.");J.setupDepthRenderbuffer(W)}}const Ut=W.texture;(Ut.isData3DTexture||Ut.isDataArrayTexture||Ut.isCompressedArrayTexture)&&(Ye=!0);const Bt=$e.get(W).__webglFramebuffer;W.isWebGLCubeRenderTarget?(Array.isArray(Bt[de])?oe=Bt[de][Me]:oe=Bt[de],ze=!0):W.samples>0&&J.useMultisampledRTT(W)===!1?oe=$e.get(W).__webglMultisampledFramebuffer:Array.isArray(Bt)?oe=Bt[Me]:oe=Bt,V.copy(W.viewport),te.copy(W.scissor),ne=W.scissorTest}else V.copy(X).multiplyScalar(U).floor(),te.copy(se).multiplyScalar(U).floor(),ne=Le;if(Ve.bindFramebuffer(K.FRAMEBUFFER,oe)&&we&&Ve.drawBuffers(W,oe),Ve.viewport(V),Ve.scissor(te),Ve.setScissorTest(ne),ze){const mt=$e.get(W.texture);K.framebufferTexture2D(K.FRAMEBUFFER,K.COLOR_ATTACHMENT0,K.TEXTURE_CUBE_MAP_POSITIVE_X+de,mt.__webglTexture,Me)}else if(Ye){const mt=$e.get(W.texture),Ut=de||0;K.framebufferTextureLayer(K.FRAMEBUFFER,K.COLOR_ATTACHMENT0,mt.__webglTexture,Me||0,Ut)}F=-1},this.readRenderTargetPixels=function(W,de,Me,we,oe,ze,Ye){if(!(W&&W.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let ct=$e.get(W).__webglFramebuffer;if(W.isWebGLCubeRenderTarget&&Ye!==void 0&&(ct=ct[Ye]),ct){Ve.bindFramebuffer(K.FRAMEBUFFER,ct);try{const mt=W.texture,Ut=mt.format,Bt=mt.type;if(!st.textureFormatReadable(Ut)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!st.textureTypeReadable(Bt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}de>=0&&de<=W.width-we&&Me>=0&&Me<=W.height-oe&&K.readPixels(de,Me,we,oe,kt.convert(Ut),kt.convert(Bt),ze)}finally{const mt=H!==null?$e.get(H).__webglFramebuffer:null;Ve.bindFramebuffer(K.FRAMEBUFFER,mt)}}},this.readRenderTargetPixelsAsync=async function(W,de,Me,we,oe,ze,Ye){if(!(W&&W.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let ct=$e.get(W).__webglFramebuffer;if(W.isWebGLCubeRenderTarget&&Ye!==void 0&&(ct=ct[Ye]),ct){const mt=W.texture,Ut=mt.format,Bt=mt.type;if(!st.textureFormatReadable(Ut))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!st.textureTypeReadable(Bt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(de>=0&&de<=W.width-we&&Me>=0&&Me<=W.height-oe){Ve.bindFramebuffer(K.FRAMEBUFFER,ct);const yt=K.createBuffer();K.bindBuffer(K.PIXEL_PACK_BUFFER,yt),K.bufferData(K.PIXEL_PACK_BUFFER,ze.byteLength,K.STREAM_READ),K.readPixels(de,Me,we,oe,kt.convert(Ut),kt.convert(Bt),0);const dt=H!==null?$e.get(H).__webglFramebuffer:null;Ve.bindFramebuffer(K.FRAMEBUFFER,dt);const Tt=K.fenceSync(K.SYNC_GPU_COMMANDS_COMPLETE,0);return K.flush(),await DP(K,Tt,4),K.bindBuffer(K.PIXEL_PACK_BUFFER,yt),K.getBufferSubData(K.PIXEL_PACK_BUFFER,0,ze),K.deleteBuffer(yt),K.deleteSync(Tt),ze}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(W,de=null,Me=0){W.isTexture!==!0&&(_d("WebGLRenderer: copyFramebufferToTexture function signature has changed."),de=arguments[0]||null,W=arguments[1]);const we=Math.pow(2,-Me),oe=Math.floor(W.image.width*we),ze=Math.floor(W.image.height*we),Ye=de!==null?de.x:0,ct=de!==null?de.y:0;J.setTexture2D(W,0),K.copyTexSubImage2D(K.TEXTURE_2D,Me,0,0,Ye,ct,oe,ze),Ve.unbindTexture()};const qu=K.createFramebuffer(),Qu=K.createFramebuffer();this.copyTextureToTexture=function(W,de,Me=null,we=null,oe=0,ze=null){W.isTexture!==!0&&(_d("WebGLRenderer: copyTextureToTexture function signature has changed."),we=arguments[0]||null,W=arguments[1],de=arguments[2],ze=arguments[3]||0,Me=null),ze===null&&(oe!==0?(_d("WebGLRenderer: copyTextureToTexture function signature has changed to support src and dst mipmap levels."),ze=oe,oe=0):ze=0);let Ye,ct,mt,Ut,Bt,yt,dt,Tt,rn;const sn=W.isCompressedTexture?W.mipmaps[ze]:W.image;if(Me!==null)Ye=Me.max.x-Me.min.x,ct=Me.max.y-Me.min.y,mt=Me.isBox3?Me.max.z-Me.min.z:1,Ut=Me.min.x,Bt=Me.min.y,yt=Me.isBox3?Me.min.z:0;else{const Br=Math.pow(2,-oe);Ye=Math.floor(sn.width*Br),ct=Math.floor(sn.height*Br),W.isDataArrayTexture?mt=sn.depth:W.isData3DTexture?mt=Math.floor(sn.depth*Br):mt=1,Ut=0,Bt=0,yt=0}we!==null?(dt=we.x,Tt=we.y,rn=we.z):(dt=0,Tt=0,rn=0);const zt=kt.convert(de.format),wt=kt.convert(de.type);let En;de.isData3DTexture?(J.setTexture3D(de,0),En=K.TEXTURE_3D):de.isDataArrayTexture||de.isCompressedArrayTexture?(J.setTexture2DArray(de,0),En=K.TEXTURE_2D_ARRAY):(J.setTexture2D(de,0),En=K.TEXTURE_2D),K.pixelStorei(K.UNPACK_FLIP_Y_WEBGL,de.flipY),K.pixelStorei(K.UNPACK_PREMULTIPLY_ALPHA_WEBGL,de.premultiplyAlpha),K.pixelStorei(K.UNPACK_ALIGNMENT,de.unpackAlignment);const jt=K.getParameter(K.UNPACK_ROW_LENGTH),nr=K.getParameter(K.UNPACK_IMAGE_HEIGHT),Fi=K.getParameter(K.UNPACK_SKIP_PIXELS),Rr=K.getParameter(K.UNPACK_SKIP_ROWS),Es=K.getParameter(K.UNPACK_SKIP_IMAGES);K.pixelStorei(K.UNPACK_ROW_LENGTH,sn.width),K.pixelStorei(K.UNPACK_IMAGE_HEIGHT,sn.height),K.pixelStorei(K.UNPACK_SKIP_PIXELS,Ut),K.pixelStorei(K.UNPACK_SKIP_ROWS,Bt),K.pixelStorei(K.UNPACK_SKIP_IMAGES,yt);const Sn=W.isDataArrayTexture||W.isData3DTexture,On=de.isDataArrayTexture||de.isData3DTexture;if(W.isDepthTexture){const Br=$e.get(W),Jn=$e.get(de),Or=$e.get(Br.__renderTarget),bs=$e.get(Jn.__renderTarget);Ve.bindFramebuffer(K.READ_FRAMEBUFFER,Or.__webglFramebuffer),Ve.bindFramebuffer(K.DRAW_FRAMEBUFFER,bs.__webglFramebuffer);for(let en=0;en<mt;en++)Sn&&(K.framebufferTextureLayer(K.READ_FRAMEBUFFER,K.COLOR_ATTACHMENT0,$e.get(W).__webglTexture,oe,yt+en),K.framebufferTextureLayer(K.DRAW_FRAMEBUFFER,K.COLOR_ATTACHMENT0,$e.get(de).__webglTexture,ze,rn+en)),K.blitFramebuffer(Ut,Bt,Ye,ct,dt,Tt,Ye,ct,K.DEPTH_BUFFER_BIT,K.NEAREST);Ve.bindFramebuffer(K.READ_FRAMEBUFFER,null),Ve.bindFramebuffer(K.DRAW_FRAMEBUFFER,null)}else if(oe!==0||W.isRenderTargetTexture||$e.has(W)){const Br=$e.get(W),Jn=$e.get(de);Ve.bindFramebuffer(K.READ_FRAMEBUFFER,qu),Ve.bindFramebuffer(K.DRAW_FRAMEBUFFER,Qu);for(let Or=0;Or<mt;Or++)Sn?K.framebufferTextureLayer(K.READ_FRAMEBUFFER,K.COLOR_ATTACHMENT0,Br.__webglTexture,oe,yt+Or):K.framebufferTexture2D(K.READ_FRAMEBUFFER,K.COLOR_ATTACHMENT0,K.TEXTURE_2D,Br.__webglTexture,oe),On?K.framebufferTextureLayer(K.DRAW_FRAMEBUFFER,K.COLOR_ATTACHMENT0,Jn.__webglTexture,ze,rn+Or):K.framebufferTexture2D(K.DRAW_FRAMEBUFFER,K.COLOR_ATTACHMENT0,K.TEXTURE_2D,Jn.__webglTexture,ze),oe!==0?K.blitFramebuffer(Ut,Bt,Ye,ct,dt,Tt,Ye,ct,K.COLOR_BUFFER_BIT,K.NEAREST):On?K.copyTexSubImage3D(En,ze,dt,Tt,rn+Or,Ut,Bt,Ye,ct):K.copyTexSubImage2D(En,ze,dt,Tt,Ut,Bt,Ye,ct);Ve.bindFramebuffer(K.READ_FRAMEBUFFER,null),Ve.bindFramebuffer(K.DRAW_FRAMEBUFFER,null)}else On?W.isDataTexture||W.isData3DTexture?K.texSubImage3D(En,ze,dt,Tt,rn,Ye,ct,mt,zt,wt,sn.data):de.isCompressedArrayTexture?K.compressedTexSubImage3D(En,ze,dt,Tt,rn,Ye,ct,mt,zt,sn.data):K.texSubImage3D(En,ze,dt,Tt,rn,Ye,ct,mt,zt,wt,sn):W.isDataTexture?K.texSubImage2D(K.TEXTURE_2D,ze,dt,Tt,Ye,ct,zt,wt,sn.data):W.isCompressedTexture?K.compressedTexSubImage2D(K.TEXTURE_2D,ze,dt,Tt,sn.width,sn.height,zt,sn.data):K.texSubImage2D(K.TEXTURE_2D,ze,dt,Tt,Ye,ct,zt,wt,sn);K.pixelStorei(K.UNPACK_ROW_LENGTH,jt),K.pixelStorei(K.UNPACK_IMAGE_HEIGHT,nr),K.pixelStorei(K.UNPACK_SKIP_PIXELS,Fi),K.pixelStorei(K.UNPACK_SKIP_ROWS,Rr),K.pixelStorei(K.UNPACK_SKIP_IMAGES,Es),ze===0&&de.generateMipmaps&&K.generateMipmap(En),Ve.unbindTexture()},this.copyTextureToTexture3D=function(W,de,Me=null,we=null,oe=0){return W.isTexture!==!0&&(_d("WebGLRenderer: copyTextureToTexture3D function signature has changed."),Me=arguments[0]||null,we=arguments[1]||null,W=arguments[2],de=arguments[3],oe=arguments[4]||0),_d('WebGLRenderer: copyTextureToTexture3D function has been deprecated. Use "copyTextureToTexture" instead.'),this.copyTextureToTexture(W,de,Me,we,oe)},this.initRenderTarget=function(W){$e.get(W).__webglFramebuffer===void 0&&J.setupRenderTarget(W)},this.initTexture=function(W){W.isCubeTexture?J.setTextureCube(W,0):W.isData3DTexture?J.setTexture3D(W,0):W.isDataArrayTexture||W.isCompressedArrayTexture?J.setTexture2DArray(W,0):J.setTexture2D(W,0),Ve.unbindTexture()},this.resetState=function(){O=0,N=0,H=null,Ve.reset(),pn.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Xo}get outputColorSpace(){return this._outputColorSpace}
3871set outputColorSpace(e){this._outputColorSpace=e;const t=this.getContext();t.drawingBufferColorspace=yn._getDrawingBufferColorSpace(e),t.unpackColorSpace=yn._getUnpackColorSpace()}}const H6=Object.freeze(Object.defineProperty({__proto__:null,ACESFilmicToneMapping:jx,AddEquation:ql,AddOperation:Pb,AdditiveAnimationBlendMode:Yx,AdditiveBlending:Cg,AgXToneMapping:Lb,AlphaFormat:Vx,AlwaysCompare:qb,AlwaysDepth:Rg,AlwaysStencilFunc:$_,AmbientLight:FC,AnimationAction:JC,AnimationClip:Ud,AnimationLoader:i5,AnimationMixer:R5,AnimationObjectGroup:I5,AnimationUtils:e5,ArcCurve:dC,ArrayCamera:VC,ArrowHelper:Q5,AttachedBindMode:J_,Audio:WC,AudioAnalyser:_5,AudioContext:AM,AudioListener:g5,AudioLoader:f5,AxesHelper:Z5,BackSide:Ni,BasicDepthPacking:Hb,BasicShadowMap:ub,BatchedMesh:hC,Bone:Xy,BooleanKeyframeTrack:Hu,Box2:k5,Box3:pi,Box3Helper:Y5,BoxGeometry:zu,BoxHelper:K5,BufferAttribute:vn,BufferGeometry:Jt,BufferGeometryLoader:HC,ByteType:zx,Cache:Ka,Camera:rm,CameraHelper:$5,CanvasTexture:AR,CapsuleGeometry:qy,CatmullRomCurve3:fC,CineonToneMapping:Ob,CircleGeometry:Qy,ClampToEdgeWrapping:ys,Clock:EM,Color:tt,ColorKeyframeTrack:yM,ColorManagement:yn,CompressedArrayTexture:SR,CompressedCubeTexture:wR,CompressedTexture:$y,CompressedTextureLoader:s5,ConeGeometry:Zy,ConstantAlphaFactor:Cb,ConstantColorFactor:Eb,Controls:tB,CubeCamera:oC,CubeReflectionMapping:el,CubeRefractionMapping:Zl,CubeTexture:im,CubeTextureLoader:o5,CubeUVReflectionMapping:Vd,CubicBezierCurve:lM,CubicBezierCurve3:pC,CubicInterpolant:BC,CullFaceBack:V_,CullFaceFront:cb,CullFaceFrontBack:jI,CullFaceNone:lb,Curve:Co,CurvePath:gC,CustomBlending:hb,CustomToneMapping:Db,CylinderGeometry:Xd,Cylindrical:F5,Data3DTexture:eM,DataArrayTexture:Gy,DataTexture:$o,DataTextureLoader:a5,DataUtils:qP,DecrementStencilOp:qI,DecrementWrapStencilOp:ZI,DefaultLoadingManager:LC,DepthFormat:Mu,DepthStencilFormat:Iu,DepthTexture:Ky,DetachedBindMode:Fb,DirectionalLight:wM,DirectionalLightHelper:J5,DiscreteInterpolant:OC,DodecahedronGeometry:e1,DoubleSide:xo,DstAlphaFactor:xb,DstColorFactor:Sb,DynamicCopyUsage:pP,DynamicDrawUsage:lP,DynamicReadUsage:hP,EdgesGeometry:yC,EllipseCurve:Yy,EqualCompare:Jb,EqualDepth:Og,EqualStencilFunc:rP,EquirectangularReflectionMapping:Np,EquirectangularRefractionMapping:Fp,Euler:Ms,EventDispatcher:ta,ExtrudeGeometry:n1,FileLoader:Ss,Float16BufferAttribute:rR,Float32BufferAttribute:Et,FloatType:Di,Fog:Wy,FogExp2:Vy,FramebufferTexture:MR,FrontSide:Qo,Frustum:am,GLBufferAttribute:L5,GLSL1:gP,GLSL3:K_,GreaterCompare:$b,GreaterDepth:Lg,GreaterEqualCompare:Yb,GreaterEqualDepth:Dg,GreaterEqualStencilFunc:aP,GreaterStencilFunc:sP,GridHelper:W5,Group:$a,HalfFloatType:ju,HemisphereLight:NC,HemisphereLightHelper:V5,IcosahedronGeometry:r1,ImageBitmapLoader:GC,ImageLoader:$p,ImageUtils:tC,IncrementStencilOp:YI,IncrementWrapStencilOp:QI,InstancedBufferAttribute:Ru,InstancedBufferGeometry:zC,InstancedInterleavedBuffer:D5,InstancedMesh:sM,Int16BufferAttribute:tR,Int32BufferAttribute:nR,Int8BufferAttribute:QP,IntType:Ny,InterleavedBuffer:sm,InterleavedBufferAttribute:tc,Interpolant:$d,InterpolateDiscrete:Ld,InterpolateLinear:Nd,InterpolateSmooth:xg,InvertStencilOp:eP,KeepStencilOp:uu,KeyframeTrack:To,LOD:uC,LatheGeometry:cm,Layers:wu,LessCompare:Xb,LessDepth:Bg,LessEqualCompare:Qx,LessEqualDepth:Cu,LessEqualStencilFunc:iP,LessStencilFunc:nP,Light:cc,LightProbe:jC,Line:nl,Line3:U5,LineBasicMaterial:mi,LineCurve:cM,LineCurve3:mC,LineDashedMaterial:IC,LineLoop:oM,LineSegments:bo,LinearFilter:Zn,LinearInterpolant:gM,LinearMipMapLinearFilter:VI,LinearMipMapNearestFilter:GI,LinearMipmapLinearFilter:js,LinearMipmapNearestFilter:Cd,LinearSRGBColorSpace:Pu,LinearToneMapping:Rb,LinearTransfer:Up,Loader:gi,LoaderUtils:Ql,LoadingManager:vM,LoopOnce:kb,LoopPingPong:jb,LoopRepeat:Ub,LuminanceAlphaFormat:Jx,LuminanceFormat:Xx,MOUSE:kI,Material:xr,MaterialLoader:u1,MathUtils:Qb,Matrix2:IM,Matrix3:Qt,Matrix4:Nt,MaxEquation:mb,Mesh:hr,MeshBasicMaterial:vs,MeshDepthMaterial:fM,MeshDistanceMaterial:pM,MeshLambertMaterial:CC,MeshMatcapMaterial:TC,MeshNormalMaterial:bC,MeshPhongMaterial:AC,MeshPhysicalMaterial:Gs,MeshStandardMaterial:dm,MeshToonMaterial:EC,MinEquation:pb,MirroredRepeatWrapping:Od,MixOperation:Ib,MultiplyBlending:X_,MultiplyOperation:tm,NearestFilter:zr,NearestMipMapLinearFilter:HI,NearestMipMapNearestFilter:zI,NearestMipmapLinearFilter:fu,NearestMipmapNearestFilter:Ly,NeutralToneMapping:Nb,NeverCompare:Wb,NeverDepth:Pg,NeverStencilFunc:tP,NoBlending:Ya,NoColorSpace:Wa,NoToneMapping:Jo,NormalAnimationBlendMode:Hy,NormalBlending:xu,NotEqualCompare:Kb,NotEqualDepth:Ng,NotEqualStencilFunc:oP,NumberKeyframeTrack:Ou,Object3D:fn,ObjectLoader:h5,ObjectSpaceNormalMap:Vb,OctahedronGeometry:um,OneFactor:yb,OneMinusConstantAlphaFactor:Tb,OneMinusConstantColorFactor:bb,OneMinusDstAlphaFactor:Mb,OneMinusDstColorFactor:wb,OneMinusSrcAlphaFactor:Ig,OneMinusSrcColorFactor:_b,Orthogra
vendor: 32,059 bytes, lines 3871-3899
3871phicCamera:Kd,PCFShadowMap:Oy,PCFSoftShadowMap:wp,PMREMGenerator:nx,Path:Vp,PerspectiveCamera:_r,Plane:Yl,PlaneGeometry:Jd,PlaneHelper:q5,PointLight:SM,PointLightHelper:H5,Points:Jy,PointsMaterial:lm,PolarGridHelper:X5,PolyhedronGeometry:lc,PositionalAudio:v5,PropertyBinding:gn,PropertyMixer:XC,QuadraticBezierCurve:uM,QuadraticBezierCurve3:hM,Quaternion:fi,QuaternionKeyframeTrack:Du,QuaternionLinearInterpolant:DC,RED_GREEN_RGTC2_Format:ay,RED_RGTC1_Format:Kx,REVISION:em,RGBADepthPacking:Gb,RGBAFormat:hi,RGBAIntegerFormat:zy,RGBA_ASTC_10x10_Format:ty,RGBA_ASTC_10x5_Format:Qg,RGBA_ASTC_10x6_Format:Zg,RGBA_ASTC_10x8_Format:ey,RGBA_ASTC_12x10_Format:ny,RGBA_ASTC_12x12_Format:ry,RGBA_ASTC_4x4_Format:Vg,RGBA_ASTC_5x4_Format:Wg,RGBA_ASTC_5x5_Format:Xg,RGBA_ASTC_6x5_Format:Jg,RGBA_ASTC_6x6_Format:$g,RGBA_ASTC_8x5_Format:Kg,RGBA_ASTC_8x6_Format:Yg,RGBA_ASTC_8x8_Format:qg,RGBA_BPTC_Format:Tp,RGBA_ETC2_EAC_Format:Gg,RGBA_PVRTC_2BPPV1_Format:jg,RGBA_PVRTC_4BPPV1_Format:Ug,RGBA_S3TC_DXT1_Format:Ep,RGBA_S3TC_DXT3_Format:bp,RGBA_S3TC_DXT5_Format:Cp,RGBDepthPacking:XI,RGBFormat:Wx,RGBIntegerFormat:WI,RGB_BPTC_SIGNED_Format:iy,RGB_BPTC_UNSIGNED_Format:sy,RGB_ETC1_Format:zg,RGB_ETC2_Format:Hg,RGB_PVRTC_2BPPV1_Format:kg,RGB_PVRTC_4BPPV1_Format:Fg,RGB_S3TC_DXT1_Format:Ap,RGDepthPacking:JI,RGFormat:$x,RGIntegerFormat:jy,RawShaderMaterial:wC,Ray:Wd,Raycaster:$C,RectAreaLight:kC,RedFormat:Uy,RedIntegerFormat:nm,ReinhardToneMapping:Bb,RenderTarget:nC,RepeatWrapping:ec,ReplaceStencilOp:KI,ReverseSubtractEquation:fb,RingGeometry:i1,SIGNED_RED_GREEN_RGTC2_Format:ly,SIGNED_RED_RGTC1_Format:oy,SRGBColorSpace:Zi,SRGBTransfer:Cn,Scene:Gp,ShaderChunk:an,ShaderLib:_o,ShaderMaterial:So,ShadowMaterial:SC,Shape:Au,ShapeGeometry:s1,ShapePath:eB,ShapeUtils:Ko,ShortType:Hx,Skeleton:om,SkeletonHelper:z5,SkinnedMesh:iM,Source:gu,Sphere:ei,SphereGeometry:hm,Spherical:N5,SphericalHarmonics3:UC,SplineCurve:dM,SpotLight:MM,SpotLightHelper:j5,Sprite:cC,SpriteMaterial:rM,SrcAlphaFactor:Tg,SrcAlphaSaturateFactor:Ab,SrcColorFactor:vb,StaticCopyUsage:fP,StaticDrawUsage:jp,StaticReadUsage:uP,StereoCamera:p5,StreamCopyUsage:mP,StreamDrawUsage:cP,StreamReadUsage:dP,StringKeyframeTrack:Gu,SubtractEquation:db,SubtractiveBlending:W_,TOUCH:UI,TangentSpaceNormalMap:ac,TetrahedronGeometry:o1,Texture:Gn,TextureLoader:_M,TextureUtils:oB,TorusGeometry:a1,TorusKnotGeometry:l1,Triangle:es,TriangleFanDrawMode:cy,TriangleStripDrawMode:qx,TrianglesDrawMode:zb,TubeGeometry:c1,UVMapping:Dy,Uint16BufferAttribute:tM,Uint32BufferAttribute:nM,Uint8BufferAttribute:ZP,Uint8ClampedBufferAttribute:eR,Uniform:TM,UniformsGroup:O5,UniformsLib:it,UniformsUtils:sC,UnsignedByteType:Mo,UnsignedInt248Type:Tu,UnsignedInt5999Type:Gx,UnsignedIntType:tl,UnsignedShort4444Type:Fy,UnsignedShort5551Type:ky,UnsignedShortType:Dd,VSMShadowMap:vo,Vector2:Ne,Vector3:$,Vector4:xn,VectorKeyframeTrack:Lu,VideoTexture:xR,WebGL3DRenderTarget:zP,WebGLArrayRenderTarget:jP,WebGLCoordinateSystem:Xo,WebGLCubeRenderTarget:aC,WebGLMultipleRenderTargets:aB,WebGLRenderTarget:Hs,WebGLRenderer:RM,WebGLUtils:tT,WebGPUCoordinateSystem:zp,WireframeGeometry:MC,WrapAroundEnding:kp,ZeroCurvatureEnding:pu,ZeroFactor:gb,ZeroSlopeEnding:mu,ZeroStencilOp:$I,createCanvasElement:eC},Symbol.toStringTag,{value:"Module"}));var Wv={exports:{}},Jl={};/** 3872 * @license React 3873 * react-reconciler-constants.production.min.js 3874 * 3875 * Copyright (c) Facebook, Inc. and its affiliates. 3876 * 3877 * This source code is licensed under the MIT license found in the 3878 * LICENSE file in the root directory of this source tree. 3879 */var O2;function G6(){return O2||(O2=1,Jl.ConcurrentRoot=1,Jl.ContinuousEventPriority=4,Jl.DefaultEventPriority=16,Jl.DiscreteEventPriority=1,Jl.IdleEventPriority=536870912,Jl.LegacyRoot=0),Jl}var D2;function V6(){return D2||(D2=1,Wv.exports=G6()),Wv.exports}var Ed=V6();function W6(r){let e;const t=new Set,n=(d,p)=>{const m=typeof d=="function"?d(e):d;if(m!==e){const y=e;e=p?m:Object.assign({},e,m),t.forEach(v=>v(e,y))}},i=()=>e,s=(d,p=i,m=Object.is)=>{console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let y=p(e);function v(){const S=p(e);if(!m(y,S)){const E=y;d(y=S,E)}}return t.add(v),()=>t.delete(v)},u={setState:n,getState:i,subscribe:(d,p,m)=>p||m?s(d,p,m):(t.add(d),()=>t.delete(d)),destroy:()=>t.clear()};return e=r(n,i,u),u}const X6=typeof window>"u"||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent),L2=X6?z.useEffect:z.useLayoutEffect;function nT(r){const e=typeof r=="function"?W6(r):r,t=(n=e.getState,i=Object.is)=>{const[,s]=z.useReducer(A=>A+1,0),o=e.getState(),l=z.useRef(o),u=z.useRef(n),d=z.useRef(i),p=z.useRef(!1),m=z.useRef();m.current===void 0&&(m.current=n(o));let y,v=!1;(l.current!==o||u.current!==n||d.current!==i||p.current)&&(y=n(o),v=!i(m.current,y)),L2(()=>{v&&(m.current=y),l.current=o,u.current=n,d.current=i,p.current=!1});const S=z.useRef(o);L2(()=>{const A=()=>{try{const T=e.getState(),I=u.current(T);d.current(m.current,I)||(l.current=T,m.current=I,s())}catch{p.current=!0,s()}},M=e.subscribe(A);return e.getState()!==S.current&&A(),M},[]);const E=v?y:m.current;return z.useDebugValue(E),E};return Object.assign(t,e),t[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const n=[t,e];return{next(){const i=n.length<=0;return{value:n.shift(),done:i}}}},t}const J6=r=>typeof r=="object"&&typeof r.then=="function",vu=[];function rT(r,e,t=(n,i)=>n===i){if(r===e)return!0;if(!r||!e)return!1;const n=r.length;if(e.length!==n)return!1;for(let i=0;i<n;i++)if(!t(r[i],e[i]))return!1;return!0}function iT(r,e=null,t=!1,n={}){e===null&&(e=[r]);for(const s of vu)if(rT(e,s.keys,s.equal)){if(t)return;if(Object.prototype.hasOwnProperty.call(s,"error"))throw s.error;if(Object.prototype.hasOwnProperty.call(s,"response"))return n.lifespan&&n.lifespan>0&&(s.timeout&&clearTimeout(s.timeout),s.timeout=setTimeout(s.remove,n.lifespan)),s.response;if(!t)throw s.promise}const i={keys:e,equal:n.equal,remove:()=>{const s=vu.indexOf(i);s!==-1&&vu.splice(s,1)},promise:(J6(r)?r:r(...e)).then(s=>{i.response=s,n.lifespan&&n.lifespan>0&&(i.timeout=setTimeout(i.remove,n.lifespan))}).catch(s=>i.error=s)};if(vu.push(i),!t)throw i.promise}const $6=(r,e,t)=>iT(r,e,!1,t),K6=(r,e,t)=>void iT(r,e,!0,t),Y6=r=>{if(r===void 0||r.length===0)vu.splice(0,vu.length);else{const e=vu.find(t=>rT(r,t.keys,t.equal));e&&e.remove()}};var Xv={exports:{}},Jv={exports:{}},$v={};/** 3880 * @license React 3881 * scheduler.production.min.js 3882 * 3883 * Copyright (c) Facebook, Inc. and its affiliates. 3884 * 3885 * This source code is licensed under the MIT license found in the 3886 * LICENSE file in the root directory of this source tree. 3887 */var N2;function q6(){return N2||(N2=1,function(r){function e(U,Z){var q=U.length;U.push(Z);e:for(;0<q;){var X=q-1>>>1,se=U[X];if(0<i(se,Z))U[X]=Z,U[q]=se,q=X;else break e}}function t(U){return U.length===0?null:U[0]}function n(U){if(U.length===0)return null;var Z=U[0],q=U.pop();if(q!==Z){U[0]=q;e:for(var X=0,se=U.length,Le=se>>>1;X<Le;){var pe=2*(X+1)-1,Ae=U[pe],Re=pe+1,Ie=U[Re];if(0>i(Ae,q))Re<se&&0>i(Ie,Ae)?(U[X]=Ie,U[Re]=q,X=Re):(U[X]=Ae,U[pe]=q,X=pe);else if(Re<se&&0>i(Ie,q))U[X]=Ie,U[Re]=q,X=Re;else break e}}return Z}function i(U,Z){var q=U.sortIndex-Z.sortIndex;return q!==0?q:U.id-Z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;r.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();r.unstable_now=function(){return o.now()-l}}var u=[],d=[],p=1,m=null,y=3,v=!1,S=!1,E=!1,A=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(U){for(var Z=t(d);Z!==null;){if(Z.callback===null)n(d);else if(Z.startTime<=U)n(d),Z.sortIndex=Z.expirationTime,e(u,Z);else break;Z=t(d)}}function P(U){if(E=!1,I(U),!S)if(t(u)!==null)S=!0,he(k);else{var Z=t(d);Z!==null&&ge(P,Z.startTime-U)}}function k(U,Z){S=!1,E&&(E=!1,M(H),H=-1),v=!0;var q=y;try{for(I(Z),m=t(u);m!==null&&(!(m.expirationTime>Z)||U&&!V());){var X=m.callback;if(typeof X=="function"){m.callback=null,y=m.priorityLevel;var se=X(m.expirationTime<=Z);Z=r.unstable_now(),typeof se=="function"?m.callback=se:m===t(u)&&n(u),I(Z)}else n(u);m=t(u)}if(m!==null)var Le=!0;else{var pe=t(d);pe!==null&&ge(P,pe.startTime-Z),Le=!1}return Le}finally{m=null,y=q,v=!1}}var O=!1,N=null,H=-1,F=5,L=-1;function V(){return!(r.unstable_now()-L<F)}function te(){if(N!==null){var U=r.unstable_now();L=U;var Z=!0;try{Z=N(!0,U)}finally{Z?ne():(O=!1,N=null)}}else O=!1}var ne;if(typeof T=="function")ne=function(){T(te)};else if(typeof MessageChannel<"u"){var ce=new MessageChannel,me=ce.port2;ce.port1.onmessage=te,ne=function(){me.postMessage(null)}}else ne=function(){A(te,0)};function he(U){N=U,O||(O=!0,ne())}function ge(U,Z){H=A(function(){U(r.unstable_now())},Z)}r.unstable_IdlePriority=5,r.unstable_ImmediatePriority=1,r.unstable_LowPriority=4,r.unstable_NormalPriority=3,r.unstable_Profiling=null,r.unstable_UserBlockingPriority=2,r.unstable_cancelCallback=function(U){U.callback=null},r.unstable_continueExecution=function(){S||v||(S=!0,he(k))},r.unstable_forceFrameRate=function(U){0>U||125<U?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<U?Math.floor(1e3/U):5},r.unstable_getCurrentPriorityLevel=function(){return y},r.unstable_getFirstCallbackNode=function(){return t(u)},r.unstable_next=function(U){switch(y){case 1:case 2:case 3:var Z=3;break;default:Z=y}var q=y;y=Z;try{return U()}finally{y=q}},r.unstable_pauseExecution=function(){},r.unstable_requestPaint=function(){},r.unstable_runWithPriority=function(U,Z){switch(U){case 1:case 2:case 3:case 4:case 5:break;default:U=3}var q=y;y=U;try{return Z()}finally{y=q}},r.unstable_scheduleCallback=function(U,Z,q){var X=r.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?X+q:X):q=X,U){case 1:var se=-1;break;case 2:se=250;break;case 5:se=1073741823;break;case 4:se=1e4;break;default:se=5e3}return se=q+se,U={id:p++,callback:Z,priorityLevel:U,startTime:q,expirationTime:se,sortIndex:-1},q>X?(U.sortIndex=q,e(d,U),t(u)===null&&U===t(d)&&(E?(M(H),H=-1):E=!0,ge(P,q-X))):(U.sortIndex=se,e(u,U),S||v||(S=!0,he(k))),U},r.unstable_shouldYield=V,r.unstable_wrapCallback=function(U){var Z=y;return function(){var q=y;y=Z;try{return U.apply(this,arguments)}finally{y=q}}}}($v)),$v}var F2;function Q6(){return F2||(F2=1,Jv.exports=q6()),Jv.exports}/** 3888 * @license React 3889 * react-reconciler.production.min.js 3890 * 3891 * Copyright (c) Facebook, Inc. and its affiliates. 3892 * 3893 * This source code is licensed under the MIT license found in the 3894 * LICENSE file in the root directory of this source tree. 3895 */var Kv,k2;function Z6(){return k2||(k2=1,Kv=function(e){var t={},n=By(),i=Q6(),s=Object.assign;function o(h){for(var f="https://reactjs.org/docs/error-decoder.html?invariant="+h,x=1;x<arguments.length;x++)f+="&args[]="+encodeURIComponent(arguments[x]);return"Minified React error #"+h+"; visit "+f+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var l=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,u=Symbol.for("react.element"),d=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),v=Symbol.for("react.provider"),S=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),M=Symbol.for("react.suspense_list"),T=Symbol.for("react.memo"),I=Symbol.for("react.lazy"),P=Symbol.for("react.offscreen"),k=Symbol.iterator;function O(h){return h===null||typeof h!="object"?null:(h=k&&h[k]||h["@@iterator"],typeof h=="function"?h:null)}function N(h){if(h==null)return null;if(typeof h=="function")return h.displayName||h.name||null;if(typeof h=="string")return h;switch(h){case p:return"Fragment";case d:return"Portal";case y:return"Profiler";case m:return"StrictMode";case A:return"Suspense";case M:return"SuspenseList"}if(typeof h=="object")switch(h.$$typeof){case S:return(h.displayName||"Context")+".Consumer";case v:return(h._context.displayName||"Context")+".Provider";case E:var f=h.render;return h=h.displayName,h||(h=f.displayName||f.name||"",h=h!==""?"ForwardRef("+h+")":"ForwardRef"),h;case T:return f=h.displayName||null,f!==null?f:N(h.type)||"Memo";case I:f=h._payload,h=h._init;try{return N(h(f))}catch{}}return null}function H(h){var f=h.type;switch(h.tag){case 24:return"Cache";case 9:return(f.displayName||"Context")+".Consumer";case 10:return(f._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return h=f.render,h=h.displayName||h.name||"",f.displayName||(h!==""?"ForwardRef("+h+")":"ForwardRef");case 7:return"Fragment";case 5:return f;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return N(f);case 8:return f===m?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof f=="function")return f.displayName||f.name||null;if(typeof f=="string")return f}return null}function F(h){var f=h,x=h;if(h.alternate)for(;f.return;)f=f.return;else{h=f;do f=h,f.flags&4098&&(x=f.return),h=f.return;while(h)}return f.tag===3?x:null}function L(h){if(F(h)!==h)throw Error(o(188))}function V(h){var f=h.alternate;if(!f){if(f=F(h),f===null)throw Error(o(188));return f!==h?null:h}for(var x=h,b=f;;){var R=x.return;if(R===null)break;var D=R.alternate;if(D===null){if(b=R.return,b!==null){x=b;continue}break}if(R.child===D.child){for(D=R.child;D;){if(D===x)return L(R),h;if(D===b)return L(R),f;D=D.sibling}throw Error(o(188))}if(x.return!==b.return)x=R,b=D;else{for(var Y=!1,le=R.child;le;){if(le===x){Y=!0,x=R,b=D;break}if(le===b){Y=!0,b=R,x=D;break}le=le.sibling}if(!Y){for(le=D.child;le;){if(le===x){Y=!0,x=D,b=R;break}if(le===b){Y=!0,b=D,x=R;break}le=le.sibling}if(!Y)throw Error(o(189))}}if(x.alternate!==b)throw Error(o(190))}if(x.tag!==3)throw Error(o(188));return x.stateNode.current===x?h:f}function te(h){return h=V(h),h!==null?ne(h):null}function ne(h){if(h.tag===5||h.tag===6)return h;for(h=h.child;h!==null;){var f=ne(h);if(f!==null)return f;h=h.sibling}return null}function ce(h){if(h.tag===5||h.tag===6)return h;for(h=h.child;h!==null;){if(h.tag!==4){var f=ce(h);if(f!==null)return f}h=h.sibling}return null}var me=Array.isArray,he=e.getPublicInstance,ge=e.getRootHostContext,U=e.getChildHostContext,Z=e.prepareForCommit,q=e.resetAfterCommit,X=e.createInstance,se=e.appendInitialChild,Le=e.finalizeInitialChildren,pe=e.prepareUpdate,Ae=e.shouldSetTextContent,Re=e.createTextInstance,Ie=e.scheduleTimeout,Ge=e.cancelTimeout,qe=e.noTimeout,lt=e.isPrimaryRenderer,Pt=e.supportsMutation,Be=e.supportsPersistence,Oe=e.supportsHydration,K=e.getInstanceFromNode,pt=e.preparePortalMount,Fe=e.getCurrentEventPriority,st=e.detachDeletedInstance,Ve=e.supportsMicrotasks,St=e.scheduleMicrotask,$e=e.supportsTestSelectors,J=e.findFiberRoot,G=e.getBoundingRect,ee=e.getTextContent,ye=e.isHiddenSubtree,Pe=e.matchAccessibilityRole,be=e.setFocusIfFocusable,et=e.setupIntersectionObserver,Je=e.appendChild,Qe=e.appendChildToContainer,Ht=e.commitTextUpdate,Ue=e.commitMount,ut=e.commitUpdate,Ct=e.insertBefore,Rt=e.insertInContainerBefore,ht=e.removeChild,$t=e.removeChildFromContainer,kt=e.resetTextContent,pn=e.hideInstance,ue=e.hideTextInstance,Ze=e.unhideInstance,Ce=e.unhideTextInstance,De=e.clearContainer,ot=e.cloneInstance,nt=e.createContainerChildSet,Gt=e.appendChildToContainerChildSet,Bn=e.finalizeContainerChildren,tr=e.replaceContainerChildren,un=e.cloneHiddenInstance,Hr=e.cloneHiddenTextInstance,Gr=e.canHydrateInstance,al=e.canHydrateTextInstance,Po=e.canHydrateSuspenseInstance,ws=e.isSuspenseInstancePending,ns=e.isSuspenseInstanceFallback,ra=e.registerSuspenseInstanceRetry,rs=e.getNextHydratableSibling,Ro=e.getFirstHydratableChild,Xu=e.getFirstHydratableChildWithinContainer,ll=e.getFirstHydratableChildWithinSuspenseInstance,Ju=e.hydrateInstance,As=e.hydrateTextInstance,$u=e.hydrateSuspenseInstance,Ku=e.getNextHydratableInstanceAfterSuspenseInstance,Yu=e.commitHydratedContainer,qu=e.commitHydratedSuspenseInstance,Qu=e.clearSuspenseBoundary,W=e.clearSuspenseBoundaryFromContainer,de=e.shouldDeleteUnhydratedTailInstances,Me=e.didNotMatchHydratedContainerTextInstance,we=e.didNotMatchHydratedTextInstance,oe;function ze(h){if(oe===void 0)try{throw Error()}catch(x){var f=x.stack.trim().match(/\n( *(at )?)/);oe=f&&f[1]||""}return` 3896`+oe+h}var Ye=!1;function ct(h,f){if(!h||Ye)return"";Ye=!0;var x=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(f)if(f=function(){throw Error()},Object.defineProperty(f.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(f,[])}catch(We){var b=We}Reflect.construct(h,[],f)}else{try{f.call()}catch(We){b=We}h.call(f.prototype)}else{try{throw Error()}catch(We){b=We}h()}}catch(We){if(We&&b&&typeof We.stack=="string"){for(var R=We.stack.split(` 3897`),D=b.stack.split(` 3898`),Y=R.length-1,le=D.length-1;1<=Y&&0<=le&&R[Y]!==D[le];)le--;for(;1<=Y&&0<=le;Y--,le--)if(R[Y]!==D[le]){if(Y!==1||le!==1)do if(Y--,le--,0>le||R[Y]!==D[le]){var Te=` 3899`+R[Y].replace(" at new "," at ");return h.displayName&&Te.includes("<anonymous>")&&(Te=Te.replace("<anonymous>",h.displayName)),Te}while(1<=Y&&0<=le);break}}}finally{Ye=!1,Error.prepareStackTrace=x}return(h=h?h.displayName||h.name:"")?ze(h):""}var mt=Object.prototype.hasOwnProperty,Ut=[],Bt=-1;function yt(h){return{current:h}}function dt(h){0>Bt||(h.current=Ut[Bt],Ut[Bt]=null,Bt--)}function Tt(h,f){Bt++,Ut[Bt]=h.current,h.current=f}var rn={},sn=yt(rn),zt=yt(!1),wt=rn;function En(h,f){var x=h.type.contextTypes;if(!x)return rn;var b=h.stateNode;if(b&&b.__reactInternalMemoizedUnmaskedChildContext===f)return b.__reactInternalMemoizedMaskedChildContext;var R={},D;for(D in x)R[D]=f[D];return b&&(h=h.stateNode,h.__reactInternalMemoizedUnmaskedChildContext=f,h.__reactInternalMemoizedMaskedChildContext=R),R}function jt(h){return h=h.childContextTypes,h!=null}function nr(){dt(zt),dt(sn)}function Fi(h,f,x){if(sn.current!==rn)throw Error(o(168));Tt(sn,f),Tt(zt,x)}function Rr(h,f,x){var b=h.stateNode;if(f=f.childContextTypes,typeof b.getChildContext!="function")return x;b=b.getChildContext();for(var R in b)if(!(R in f))throw Error(o(108,H(h)||"Unknown",R));return s({},x,b)}function Es(h){return h=(h=h.stateNode)&&h.__reactInternalMemoizedMergedChildContext||rn,wt=sn.current,Tt(sn,h),Tt(zt,zt.current),!0}function Sn(h,f,x){var b=h.stateNode;if(!b)throw Error(o(169));x?(h=Rr(h,f,wt),b.__reactInternalMemoizedMergedChildContext=h,dt(zt),dt(sn),Tt(sn,h)):dt(zt),Tt(zt,x)}var On=Math.clz32?Math.clz32:Or,Br=Math.log,Jn=Math.LN2;function Or(h){return h>>>=0,h===0?32:31-(Br(h)/Jn|0)|0}var bs=64,en=4194304;function cl(h){switch(h&-h){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return h&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return h&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return h}}function hc(h,f){var x=h.pendingLanes;if(x===0)return 0;var b=0,R=h.suspendedLanes,D=h.pingedLanes,Y=x&268435455;if(Y!==0){var le=Y&~R;le!==0?b=cl(le):(D&=Y,D!==0&&(b=cl(D)))}else Y=x&~R,Y!==0?b=cl(Y):D!==0&&(b=cl(D));if(b===0)return 0;if(f!==0&&f!==b&&!(f&R)&&(R=b&-b,D=f&-f,R>=D||R===16&&(D&4194240)!==0))return f;if(b&4&&(b|=x&16),f=h.entangledLanes,f!==0)for(h=h.entanglements,f&=b;0<f;)x=31-On(f),R=1<<x,b|=h[x],f&=~R;return b}function sf(h,f){switch(h){case 1:case 2:case 4:return f+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return f+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function wm(h,f){for(var x=h.suspendedLanes,b=h.pingedLanes,R=h.expirationTimes,D=h.pendingLanes;0<D;){var Y=31-On(D),le=1<<Y,Te=R[Y];Te===-1?(!(le&x)||le&b)&&(R[Y]=sf(le,f)):Te<=f&&(h.expiredLanes|=le),D&=~le}}function Zu(h){return h=h.pendingLanes&-1073741825,h!==0?h:h&1073741824?1073741824:0}function eh(h){for(var f=[],x=0;31>x;x++)f.push(h);return f}function ia(h,f,x){h.pendingLanes|=f,f!==536870912&&(h.suspendedLanes=0,h.pingedLanes=0),h=h.eventTimes,f=31-On(f),h[f]=x}function th(h,f){var x=h.pendingLanes&~f;h.pendingLanes=f,h.suspendedLanes=0,h.pingedLanes=0,h.expiredLanes&=f,h.mutableReadLanes&=f,h.entangledLanes&=f,f=h.entanglements;var b=h.eventTimes;for(h=h.expirationTimes;0<x;){var R=31-On(x),D=1<<R;f[R]=0,b[R]=-1,h[R]=-1,x&=~D}}function Cs(h,f){var x=h.entangledLanes|=f;for(h=h.entanglements;x;){var b=31-On(x),R=1<<b;R&f|h[b]&f&&(h[b]|=f),x&=~R}}var on=0;function Ws(h){return h&=-h,1<h?4<h?h&268435455?16:536870912:4:1}var sa=i.unstable_scheduleCallback,ul=i.unstable_cancelCallback,Bo=i.unstable_shouldYield,w1=i.unstable_requestPaint,ar=i.unstable_now,oa=i.unstable_ImmediatePriority,A1=i.unstable_UserBlockingPriority,nh=i.unstable_NormalPriority,rh=i.unstable_IdlePriority,dc=null,Ts=null;function fc(h){if(Ts&&typeof Ts.onCommitFiberRoot=="function")try{Ts.onCommitFiberRoot(dc,h,void 0,(h.current.flags&128)===128)}catch{}}function pc(h,f){return h===f&&(h!==0||1/h===1/f)||h!==h&&f!==f}var Vr=typeof Object.is=="function"?Object.is:pc,ki=null,ih=!1,of=!1;function sh(h){ki===null?ki=[h]:ki.push(h)}function oh(h){ih=!0,sh(h)}function Ui(){if(!of&&ki!==null){of=!0;var h=0,f=on;try{var x=ki;for(on=1;h<x.length;h++){var b=x[h];do b=b(!0);while(b!==null)}ki=null,ih=!1}catch(R){throw ki!==null&&(ki=ki.slice(h+1)),sa(oa,Ui),R}finally{on=f,of=!1}}return null}var Am=l.ReactCurrentBatchConfig;function is(h,f){if(Vr(h,f))return!0;if(typeof h!="object"||h===null||typeof f!="object"||f===null)return!1;var x=Object.keys(h),b=Object.keys(f);if(x.length!==b.length)return!1;for(b=0;b<x.length;b++){var R=x[b];if(!mt.call(f,R)||!Vr(h[R],f[R]))return!1}return!0}function af(h){switch(h.tag){case 5:return ze(h.type);case 16:return ze("Lazy");case 13:return ze("Suspense");case 19:return ze("SuspenseList");case 0:case 2:case 15:return h=ct(h.type,!1),h;case 11:return h=ct(h.type.render,!1),h;case 1:return h=ct(h.type,!0),h;default:return""}}function ti(h,f){if(h&&h.defaultProps){f=s({},f),h=h.defaultProps;for(var x in h)f[x]===void 0&&(f[x]=h[x]);return f}return f}var mc=yt(null),aa=null,Xs=null,ah=null;function Wr(){ah=Xs=aa=null}function la(h,f,x){lt?(Tt(mc,f._currentValue),f._currentValue=x):(Tt(mc,f._currentValue2),f._currentValue2=x)}function gc(h){var f=mc.current;dt(mc),lt?h._currentValue=f:h._currentValue2=f}function ca(h,f,x){for(;h!==null;){var b=h.alternate;if((h.childLanes&f)!==f?(h.childLanes|=f,b!==null&&(b.childLanes|=f)):b!==null&&(b.childLanes&f)!==f&&(b.childLanes|=f),h===x)break;h=h.return}}function hl(h,f){aa=h,ah=Xs=null,h=h.dependencies,h!==null&&h.firstContext!==null&&(h.lanes&f&&(mr=!0),h.firstContext=null)}function ni(h){var f=lt?h._currentValue:h._currentValue2;if(ah!==h)if(h={context:h,memoizedValue:f,next:null},Xs===null){if(aa===null)throw Error(o(308));Xs=h,aa.dependencies={lanes:0,firstContext:h}}else Xs=Xs.next=h;return f}var ji=null,zi=!1;function dl(h){h.updateQueue={baseState:h.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function lf(h,f){h=h.updateQueue,f.updateQueue===h&&(f.updateQueue={baseState:h.baseState,firstBaseUpdate:h.firstBaseUpdate,lastBaseUpdate:h.lastBaseUpdate,shared:h.shared,effects:h.effects})}function Js(h,f){return{eventTime:h,lane:f,tag:0,payload:null,callback:null,next:null}}function Oo(h,f){var x=h.updateQueue;x!==null&&(x=x.shared,Kn!==null&&h.mode&1&&!(qt&2)?(h=x.interleaved,h===null?(f.next=f,ji===null?ji=[x]:ji.push(x)):(f.next=h.next,h.next=f),x.interleaved=f):(h=x.pending,h===null?f.next=f:(f.next=h.next,h.next=f),x.pending=f))}function lh(h,f,x){if(f=f.updateQueue,f!==null&&(f=f.shared,(x&4194240)!==0)){var b=f.lanes;b&=h.pendingLanes,x|=b,f.lanes=x,Cs(h,x)}}function ch(h,f){var x=h.updateQueue,b=h.alternate;if(b!==null&&(b=b.updateQueue,x===b)){var R=null,D=null;if(x=x.firstBaseUpdate,x!==null){do{var Y={eventTime:x.eventTime,lane:x.lane,tag:x.tag,payload:x.payload,callback:x.callback,next:null};D===null?R=D=Y:D=D.next=Y,x=x.next}while(x!==null);D===null?R=D=f:D=D.next=f}else R=D=f;x={baseState:b.baseState,firstBaseUpdate:R,lastBaseUpdate:D,shared:b.shared,effects:b.effects},h.updateQueue=x;return}h=x.lastBaseUpdate,h===null?x.firstBaseUpdate=f:h.next=f,x.lastBaseUpdate=f}function uh(h,f,x,b){var R=h.updateQueue;zi=!1;var D=R.firstBaseUpdate,Y=R.lastBaseUpdate,le=R.shared.pending;if(le!==null){R.shared.pending=null;var Te=le,We=Te.next;Te.next=null,Y===null?D=We:Y.next=We,Y=Te;var gt=h.alternate;gt!==null&&(gt=gt.updateQueue,le=gt.lastBaseUpdate,le!==Y&&(le===null?gt.firstBaseUpdate=We:le.next=We,gt.lastBaseUpdate=Te))}if(D!==null){var Wt=R.baseState;Y=0,gt=We=Te=null,le=D;do{var Ot=le.lane,tn=le.eventTime;if((b&Ot)===Ot){gt!==null&&(gt=gt.next={eventTime:tn,lane:0,tag:le.tag,payload:le.payload,callback:le.callback,next:null});e:{var at=h,Cr=le;switch(Ot=f,tn=x,Cr.tag){case 1:if(at=Cr.payload,typeof at=="function"){Wt=at.call(tn,Wt,Ot);break e}Wt=at;break e;case 3:at.flags=at.flags&-65537|128;case 0:if(at=Cr.payload,Ot=typeof at=="function"?at.call(tn,Wt,Ot):at,Ot==null)break e;Wt=s({},Wt,Ot);break e;case 2:zi=!0}}le.callback!==null&&le.lane!==0&&(h.flags|=64,Ot=R.effects,Ot===null?R.effects=[le]:Ot.push(le))}else tn={eventTime:tn,lane:Ot,tag:le.tag,payload:le.payload,callback:le.callback,next:null},gt===null?(We=gt=tn,Te=Wt):gt=gt.next=tn,Y|=Ot;if(le=le.next,le===null){if(le=R.shared.pending,le===null)break;Ot=le,le=Ot.next,Ot.next=null,R.lastBaseUpdate=Ot,R.shared.pending=null}}while(!0);if(gt===null&&(Te=Wt),R.baseState=Te,R.firstBaseUpdate=We,R.lastBaseUpdate=gt,f=R.shared.interleaved,f!==null){R=f;do Y|=R.lane,R=R.next;while(R!==f)}else D===null&&(R.shared.lanes=0);Bs|=Y,h.lanes=Y,h.memoizedState=Wt}}function Em(h,f,x){if(h=f.effects,f.effects=null,h!==null)for(f=0;f<h.length;f++){var b=h[f],R=b.callback;if(R!==null){if(b.callback=null,b=x,typeof R!="function")throw Error(o(191,R));R.call(b)}}}var bm=new n.Component().refs;function cf(h,f,x,b){f=h.memoizedState,x=x(b,f),x=x==null?f:s({},f,x),h.memoizedState=x,h.lanes===0&&(h.updateQueue.baseState=x)}var hh={isMounted:function(h){return(h=h._reactInternals)?F(h)===h:!1},enqueueSetState:function(h,f,x){h=h._reactInternals;var b=mn(),R=hs(h),D=Js(b,R);D.payload=f,x!=null&&(D.callback=x),Oo(h,D),f=Nr(h,R,b),f!==null&&lh(f,h,R)},enqueueReplaceState:function(h,f,x){h=h._reactInternals;var b=mn(),R=hs(h),D=Js(b,R);D.tag=1,D.payload=f,x!=null&&(D.callback=x),Oo(h,D),f=Nr(h,R,b),f!==null&&lh(f,h,R)},enqueueForceUpdate:function(h,f){h=h._reactInternals;var x=mn(),b=hs(h),R=Js(x,b);R.tag=2,f!=null&&(R.callback=f),Oo(h,R),f=Nr(h,b,x),f!==null&&lh(f,h,b)}};function uf(h,f,x,b,R,D,Y){return h=h.stateNode,typeof h.shouldComponentUpdate=="function"?h.shouldComponentUpdate(b,D,Y):f.prototype&&f.prototype.isPureReactComponent?!is(x,b)||!is(R,D):!0}function Cm(h,f,x){var b=!1,R=rn,D=f.contextType;return typeof D=="object"&&D!==null?D=ni(D):(R=jt(f)?wt:sn.current,b=f.contextTypes,D=(b=b!=null)?En(h,R):rn),f=new f(x,D),h.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,f.updater=hh,h.stateNode=f,f._reactInternals=h,b&&(h=h.stateNode,h.__reactInternalMemoizedUnmaskedChildContext=R,h.__reactInternalMemoizedMaskedChildContext=D),f}function Tm(h,f,x,b){h=f.state,typeof f.componentWillReceiveProps=="function"&&f.componentWillReceiveProps(x,b),typeof f.UNSAFE_componentWillReceiveProps=="function"&&f.UNSAFE_componentWillReceiveProps(x,b),f.state!==h&&hh.enqueueReplaceState(f,f.state,null)}function hf(h,f,x,b){var R=h.stateNode;R.props=x,R.state=h.memoizedState,R.refs=bm,dl(h);var D=f.contextType;typeof D=="object"&&D!==null?R.context=ni(D):(D=jt(f)?wt:sn.current,R.context=En(h,D)),R.state=h.memoizedState,D=f.getDerivedStateFromProps,typeof D=="function"&&(cf(h,f,D,x),R.state=h.memoizedState),typeof f.getDerivedStateFromProps=="function"||typeof R.getSnapshotBeforeUpdate=="function"||typeof R.UNSAFE_componentWillMount!="function"&&typeof R.componentWillMount!="function"||(f=R.state,typeof R.componentWillMount=="function"&&R.componentWillMount(),typeof R.UNSAFE_componentWillMount=="function"&&R.UNSAFE_componentWillMount(),f!==R.state&&hh.enqueueReplaceState(R,R.state,null),uh(h,x,R,b),R.state=h.memoizedState),typeof R.componentDidMount=="function"&&(h.flags|=4194308)}var fl=[],Do=0,dh=null,fh=0,Hi=[],vi=0,ua=null,$s=1,Ks="";function ha(h,f){fl[Do++]=fh,fl[Do++]=dh,dh=h,fh=f}function Im(h,f,x){Hi[vi++]=$s,Hi[vi++]=Ks,Hi[vi++]=ua,ua=h;var b=$s;h=Ks;var R=32-On(b)-1;b&=~(1<<R),x+=1;var D=32-On(f)+R;if(30<D){var Y=R-R%5;D=(b&(1<<Y)-1).toString(32),b>>=Y,R-=Y,$s=1<<32-On(f)+R|x<<R|b,Ks=D+h}else $s=1<<D|x<<R|b,Ks=h}function df(h){h.return!==null&&(ha(h,1),Im(h,1,0))}function ff(h){for(;h===dh;)dh=fl[--Do],fl[Do]=null,fh=fl[--Do],fl[Do]=null;for(;h===ua;)ua=Hi[--vi],Hi[vi]=null,Ks=Hi[--vi],Hi[vi]=null,$s=Hi[--vi],Hi[vi]=null}var Xr=null,Sr=null,Nn=!1,pl=!1,Gi=null;function pf(h,f){var x=Ei(5,null,null,0);x.elementType="DELETED",x.stateNode=f,x.return=h,f=h.deletions,f===null?(h.deletions=[x],h.flags|=16):f.push(x)}function mf(h,f){switch(h.tag){case 5:return f=Gr(f,h.type,h.pendingProps),f!==null?(h.stateNode=f,Xr=h,Sr=Ro(f),!0):!1;case 6:return f=al(f,h.pendingProps),f!==null?(h.stateNode=f,Xr=h,Sr=null,!0):!1;case 13:if(f=Po(f),f!==null){var x=ua!==null?{id:$s,overflow:Ks}:null;return h.memoizedState={dehydrated:f,treeContext:x,retryLane:1073741824},x=Ei(18,null,null,0),x.stateNode=f,x.return=h,h.child=x,Xr=h,Sr=null,!0}return!1;default:return!1}}function ph(h){return(h.mode&1)!==0&&(h.flags&128)===0}function Lo(h){if(Nn){var f=Sr;if(f){var x=f;if(!mf(h,f)){if(ph(h))throw Error(o(418));f=rs(x);var b=Xr;f&&mf(h,f)?pf(b,x):(h.flags=h.flags&-4097|2,Nn=!1,Xr=h)}}else{if(ph(h))throw Error(o(418));h.flags=h.flags&-4097|2,Nn=!1,Xr=h}}}function Pm(h){for(h=h.return;h!==null&&h.tag!==5&&h.tag!==3&&h.tag!==13;)h=h.return;Xr=h}function yc(h){if(!Oe||h!==Xr)return!1;if(!Nn)return Pm(h),Nn=!0,!1;if(h.tag!==3&&(h.tag!==5||de(h.type)&&!Ae(h.type,h.memoizedProps))){var f=Sr;if(f){if(ph(h)){for(h=Sr;h;)h=rs(h);throw Error(o(418))}for(;f;)pf(h,f),f=rs(f)}}if(Pm(h),h.tag===13){if(!Oe)throw Error(o(316));if(h=h.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(o(317));Sr=Ku(h)}else Sr=Xr?rs(h.stateNode):null;return!0}function ml(){Oe&&(Sr=Xr=null,pl=Nn=!1)}function mh(h){Gi===null?Gi=[h]:Gi.push(h)}function gl(h,f,x){if(h=x.ref,h!==null&&typeof h!="function"&&typeof h!="object"){if(x._owner){if(x=x._owner,x){if(x.tag!==1)throw Error(o(309));var b=x.stateNode}if(!b)throw Error(o(147,h));var R=b,D=""+h;return f!==null&&f.ref!==null&&typeof f.ref=="function"&&f.ref._stringRef===D?f.ref:(f=function(Y){var le=R.refs;le===bm&&(le=R.refs={}),Y===null?delete le[D]:le[D]=Y},f._stringRef=D,f)}if(typeof h!="string")throw Error(o(284));if(!x._owner)throw Error(o(290,h))}return h}function No(h,f){throw h=Object.prototype.toString.call(f),Error(o(31,h==="[object Object]"?"object with keys {"+Object.keys(f).join(", ")+"}":h))}function yl(h){var f=h._init;return f(h._payload)}function Rm(h){function f(xe,fe){if(h){var Ee=xe.deletions;Ee===null?(xe.deletions=[fe],xe.flags|=16):Ee.push(fe)}}function x(xe,fe){if(!h)return null;for(;
vendor: 5,039 bytes, line 3899
3899fe!==null;)f(xe,fe),fe=fe.sibling;return null}function b(xe,fe){for(xe=new Map;fe!==null;)fe.key!==null?xe.set(fe.key,fe):xe.set(fe.index,fe),fe=fe.sibling;return xe}function R(xe,fe){return xe=co(xe,fe),xe.index=0,xe.sibling=null,xe}function D(xe,fe,Ee){return xe.index=Ee,h?(Ee=xe.alternate,Ee!==null?(Ee=Ee.index,Ee<fe?(xe.flags|=2,fe):Ee):(xe.flags|=2,fe)):(xe.flags|=1048576,fe)}function Y(xe){return h&&xe.alternate===null&&(xe.flags|=2),xe}function le(xe,fe,Ee,rt){return fe===null||fe.tag!==6?(fe=Hh(Ee,xe.mode,rt),fe.return=xe,fe):(fe=R(fe,Ee),fe.return=xe,fe)}function Te(xe,fe,Ee,rt){var At=Ee.type;return At===p?gt(xe,fe,Ee.props.children,rt,Ee.key):fe!==null&&(fe.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===I&&yl(At)===fe.type)?(rt=R(fe,Ee.props),rt.ref=gl(xe,fe,Ee),rt.return=xe,rt):(rt=zh(Ee.type,Ee.key,Ee.props,null,xe.mode,rt),rt.ref=gl(xe,fe,Ee),rt.return=xe,rt)}function We(xe,fe,Ee,rt){return fe===null||fe.tag!==4||fe.stateNode.containerInfo!==Ee.containerInfo||fe.stateNode.implementation!==Ee.implementation?(fe=Gh(Ee,xe.mode,rt),fe.return=xe,fe):(fe=R(fe,Ee.children||[]),fe.return=xe,fe)}function gt(xe,fe,Ee,rt,At){return fe===null||fe.tag!==7?(fe=Oa(Ee,xe.mode,rt,At),fe.return=xe,fe):(fe=R(fe,Ee),fe.return=xe,fe)}function Wt(xe,fe,Ee){if(typeof fe=="string"&&fe!==""||typeof fe=="number")return fe=Hh(""+fe,xe.mode,Ee),fe.return=xe,fe;if(typeof fe=="object"&&fe!==null){switch(fe.$$typeof){case u:return Ee=zh(fe.type,fe.key,fe.props,null,xe.mode,Ee),Ee.ref=gl(xe,null,fe),Ee.return=xe,Ee;case d:return fe=Gh(fe,xe.mode,Ee),fe.return=xe,fe;case I:var rt=fe._init;return Wt(xe,rt(fe._payload),Ee)}if(me(fe)||O(fe))return fe=Oa(fe,xe.mode,Ee,null),fe.return=xe,fe;No(xe,fe)}return null}function Ot(xe,fe,Ee,rt){var At=fe!==null?fe.key:null;if(typeof Ee=="string"&&Ee!==""||typeof Ee=="number")return At!==null?null:le(xe,fe,""+Ee,rt);if(typeof Ee=="object"&&Ee!==null){switch(Ee.$$typeof){case u:return Ee.key===At?Te(xe,fe,Ee,rt):null;case d:return Ee.key===At?We(xe,fe,Ee,rt):null;case I:return At=Ee._init,Ot(xe,fe,At(Ee._payload),rt)}if(me(Ee)||O(Ee))return At!==null?null:gt(xe,fe,Ee,rt,null);No(xe,Ee)}return null}function tn(xe,fe,Ee,rt,At){if(typeof rt=="string"&&rt!==""||typeof rt=="number")return xe=xe.get(Ee)||null,le(fe,xe,""+rt,At);if(typeof rt=="object"&&rt!==null){switch(rt.$$typeof){case u:return xe=xe.get(rt.key===null?Ee:rt.key)||null,Te(fe,xe,rt,At);case d:return xe=xe.get(rt.key===null?Ee:rt.key)||null,We(fe,xe,rt,At);case I:var Kt=rt._init;return tn(xe,fe,Ee,Kt(rt._payload),At)}if(me(rt)||O(rt))return xe=xe.get(Ee)||null,gt(fe,xe,rt,At,null);No(fe,rt)}return null}function at(xe,fe,Ee,rt){for(var At=null,Kt=null,Xt=fe,dn=fe=0,ir=null;Xt!==null&&dn<Ee.length;dn++){Xt.index>dn?(ir=Xt,Xt=null):ir=Xt.sibling;var hn=Ot(xe,Xt,Ee[dn],rt);if(hn===null){Xt===null&&(Xt=ir);break}h&&Xt&&hn.alternate===null&&f(xe,Xt),fe=D(hn,fe,dn),Kt===null?At=hn:Kt.sibling=hn,Kt=hn,Xt=ir}if(dn===Ee.length)return x(xe,Xt),Nn&&ha(xe,dn),At;if(Xt===null){for(;dn<Ee.length;dn++)Xt=Wt(xe,Ee[dn],rt),Xt!==null&&(fe=D(Xt,fe,dn),Kt===null?At=Xt:Kt.sibling=Xt,Kt=Xt);return Nn&&ha(xe,dn),At}for(Xt=b(xe,Xt);dn<Ee.length;dn++)ir=tn(Xt,xe,dn,Ee[dn],rt),ir!==null&&(h&&ir.alternate!==null&&Xt.delete(ir.key===null?dn:ir.key),fe=D(ir,fe,dn),Kt===null?At=ir:Kt.sibling=ir,Kt=ir);return h&&Xt.forEach(function(uo){return f(xe,uo)}),Nn&&ha(xe,dn),At}function Cr(xe,fe,Ee,rt){var At=O(Ee);if(typeof At!="function")throw Error(o(150));if(Ee=At.call(Ee),Ee==null)throw Error(o(151));for(var Kt=At=null,Xt=fe,dn=fe=0,ir=null,hn=Ee.next();Xt!==null&&!hn.done;dn++,hn=Ee.next()){Xt.index>dn?(ir=Xt,Xt=null):ir=Xt.sibling;var uo=Ot(xe,Xt,hn.value,rt);if(uo===null){Xt===null&&(Xt=ir);break}h&&Xt&&uo.alternate===null&&f(xe,Xt),fe=D(uo,fe,dn),Kt===null?At=uo:Kt.sibling=uo,Kt=uo,Xt=ir}if(hn.done)return x(xe,Xt),Nn&&ha(xe,dn),At;if(Xt===null){for(;!hn.done;dn++,hn=Ee.next())hn=Wt(xe,hn.value,rt),hn!==null&&(fe=D(hn,fe,dn),Kt===null?At=hn:Kt.sibling=hn,Kt=hn);return Nn&&ha(xe,dn),At}for(Xt=b(xe,Xt);!hn.done;dn++,hn=Ee.next())hn=tn(Xt,xe,dn,hn.value,rt),hn!==null&&(h&&hn.alternate!==null&&Xt.delete(hn.key===null?dn:hn.key),fe=D(hn,fe,dn),Kt===null?At=hn:Kt.sibling=hn,Kt=hn);return h&&Xt.forEach(function(Xf){return f(xe,Xf)}),Nn&&ha(xe,dn),At}function bi(xe,fe,Ee,rt){if(typeof Ee=="object"&&Ee!==null&&Ee.type===p&&Ee.key===null&&(Ee=Ee.props.children),typeof Ee=="object"&&Ee!==null){switch(Ee.$$typeof){case u:e:{for(var At=Ee.key,Kt=fe;Kt!==null;){if(Kt.key===At){if(At=Ee.type,At===p){if(Kt.tag===7){x(xe,Kt.sibling),fe=R(Kt,Ee.props.children),fe.return=xe,xe=fe;break e}}else if(Kt.elementType===At||typeof At=="object"&&At!==null&&At.$$typeof===I&&yl(At)===Kt.type){x(xe,Kt.sibling),fe=R(Kt,Ee.props),fe.ref=gl(xe,Kt,Ee),fe.return=xe,xe=fe;break e}x(xe,Kt);break}else f(xe,Kt);Kt=Kt.sibling}Ee.type===p?(fe=Oa(Ee.props.children,xe.mode,rt,Ee.key),fe.return=xe,xe=fe):(rt=zh(Ee.type,Ee.key,Ee.props,null,xe.mode,rt),rt.ref=gl(xe,fe,Ee),rt.return=xe,xe=rt)}return Y(xe);case d:e:{for(Kt=Ee.key;
vendor: 128,387 bytes, lines 3899-3913
3899fe!==null;){if(fe.key===Kt)if(fe.tag===4&&fe.stateNode.containerInfo===Ee.containerInfo&&fe.stateNode.implementation===Ee.implementation){x(xe,fe.sibling),fe=R(fe,Ee.children||[]),fe.return=xe,xe=fe;break e}else{x(xe,fe);break}else f(xe,fe);fe=fe.sibling}fe=Gh(Ee,xe.mode,rt),fe.return=xe,xe=fe}return Y(xe);case I:return Kt=Ee._init,bi(xe,fe,Kt(Ee._payload),rt)}if(me(Ee))return at(xe,fe,Ee,rt);if(O(Ee))return Cr(xe,fe,Ee,rt);No(xe,Ee)}return typeof Ee=="string"&&Ee!==""||typeof Ee=="number"?(Ee=""+Ee,fe!==null&&fe.tag===6?(x(xe,fe.sibling),fe=R(fe,Ee),fe.return=xe,xe=fe):(x(xe,fe),fe=Hh(Ee,xe.mode,rt),fe.return=xe,xe=fe),Y(xe)):x(xe,fe)}return bi}var Ys=Rm(!0),Bm=Rm(!1),vl={},ri=yt(vl),da=yt(vl),fa=yt(vl);function ss(h){if(h===vl)throw Error(o(174));return h}function gh(h,f){Tt(fa,f),Tt(da,h),Tt(ri,vl),h=ge(f),dt(ri),Tt(ri,h)}function _l(){dt(ri),dt(da),dt(fa)}function Om(h){var f=ss(fa.current),x=ss(ri.current);f=U(x,h.type,f),x!==f&&(Tt(da,h),Tt(ri,f))}function gf(h){da.current===h&&(dt(ri),dt(da))}var jn=yt(0);function yh(h){for(var f=h;f!==null;){if(f.tag===13){var x=f.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||ws(x)||ns(x)))return f}else if(f.tag===19&&f.memoizedProps.revealOrder!==void 0){if(f.flags&128)return f}else if(f.child!==null){f.child.return=f,f=f.child;continue}if(f===h)break;for(;f.sibling===null;){if(f.return===null||f.return===h)return null;f=f.return}f.sibling.return=f.return,f=f.sibling}return null}var _i=[];function pa(){for(var h=0;h<_i.length;h++){var f=_i[h];lt?f._workInProgressVersionPrimary=null:f._workInProgressVersionSecondary=null}_i.length=0}var vc=l.ReactCurrentDispatcher,xi=l.ReactCurrentBatchConfig,ma=0,zn=null,dr=null,fr=null,vh=!1,Is=!1,ga=0,_c=0;function pr(){throw Error(o(321))}function _h(h,f){if(f===null)return!1;for(var x=0;x<f.length&&x<h.length;x++)if(!Vr(h[x],f[x]))return!1;return!0}function xl(h,f,x,b,R,D){if(ma=D,zn=f,f.memoizedState=null,f.updateQueue=null,f.lanes=0,vc.current=h===null||h.memoizedState===null?Sf:wf,h=x(b,R),Is){D=0;do{if(Is=!1,ga=0,25<=D)throw Error(o(301));D+=1,fr=dr=null,f.updateQueue=null,vc.current=Af,h=x(b,R)}while(Is)}if(vc.current=Al,f=dr!==null&&dr.next!==null,ma=0,fr=dr=zn=null,vh=!1,f)throw Error(o(300));return h}function Fo(){var h=ga!==0;return ga=0,h}function os(){var h={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return fr===null?zn.memoizedState=fr=h:fr=fr.next=h,fr}function as(){if(dr===null){var h=zn.alternate;h=h!==null?h.memoizedState:null}else h=dr.next;var f=fr===null?zn.memoizedState:fr.next;if(f!==null)fr=f,dr=h;else{if(h===null)throw Error(o(310));dr=h,h={memoizedState:dr.memoizedState,baseState:dr.baseState,baseQueue:dr.baseQueue,queue:dr.queue,next:null},fr===null?zn.memoizedState=fr=h:fr=fr.next=h}return fr}function Ps(h,f){return typeof f=="function"?f(h):f}function xc(h){var f=as(),x=f.queue;if(x===null)throw Error(o(311));x.lastRenderedReducer=h;var b=dr,R=b.baseQueue,D=x.pending;if(D!==null){if(R!==null){var Y=R.next;R.next=D.next,D.next=Y}b.baseQueue=R=D,x.pending=null}if(R!==null){D=R.next,b=b.baseState;var le=Y=null,Te=null,We=D;do{var gt=We.lane;if((ma>)===gt)Te!==null&&(Te=Te.next={lane:0,action:We.action,hasEagerState:We.hasEagerState,eagerState:We.eagerState,next:null}),b=We.hasEagerState?We.eagerState:h(b,We.action);else{var Wt={lane:gt,action:We.action,hasEagerState:We.hasEagerState,eagerState:We.eagerState,next:null};Te===null?(le=Te=Wt,Y=b):Te=Te.next=Wt,zn.lanes|=gt,Bs|=gt}We=We.next}while(We!==null&&We!==D);Te===null?Y=b:Te.next=le,Vr(b,f.memoizedState)||(mr=!0),f.memoizedState=b,f.baseState=Y,f.baseQueue=Te,x.lastRenderedState=b}if(h=x.interleaved,h!==null){R=h;do D=R.lane,zn.lanes|=D,Bs|=D,R=R.next;while(R!==h)}else R===null&&(x.lanes=0);return[f.memoizedState,x.dispatch]}function Mc(h){var f=as(),x=f.queue;if(x===null)throw Error(o(311));x.lastRenderedReducer=h;var b=x.dispatch,R=x.pending,D=f.memoizedState;if(R!==null){x.pending=null;var Y=R=R.next;do D=h(D,Y.action),Y=Y.next;while(Y!==R);Vr(D,f.memoizedState)||(mr=!0),f.memoizedState=D,f.baseQueue===null&&(f.baseState=D),x.lastRenderedState=D}return[D,b]}function yf(){}function vf(h,f){var x=zn,b=as(),R=f(),D=!Vr(b.memoizedState,R);if(D&&(b.memoizedState=R,mr=!0),b=b.queue,Ml(qs.bind(null,x,b,h),[h]),b.getSnapshot!==f||D||fr!==null&&fr.memoizedState.tag&1){if(x.flags|=2048,wc(9,xf.bind(null,x,b,R,f),void 0,null),Kn===null)throw Error(o(349));ma&30||_f(x,f,R)}return R}function _f(h,f,x){h.flags|=16384,h={getSnapshot:f,value:x},f=zn.updateQueue,f===null?(f={lastEffect:null,stores:null},zn.updateQueue=f,f.stores=[h]):(x=f.stores,x===null?f.stores=[h]:x.push(h))}function xf(h,f,x,b){f.value=x,f.getSnapshot=b,xh(f)&&Nr(h,1,-1)}function qs(h,f,x){return x(function(){xh(f)&&Nr(h,1,-1)})}function xh(h){var f=h.getSnapshot;h=h.value;try{var x=f();return!Vr(h,x)}catch{return!0}}function Sc(h){var f=os();return typeof h=="function"&&(h=h()),f.memoizedState=f.baseState=h,h={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ps,lastRenderedState:h},f.queue=h,h=h.dispatch=E1.bind(null,zn,h),[f.memoizedState,h]}function wc(h,f,x,b){return h={tag:h,create:f,destroy:x,deps:b,next:null},f=zn.updateQueue,f===null?(f={lastEffect:null,stores:null},zn.updateQueue=f,f.lastEffect=h.next=h):(x=f.lastEffect,x===null?f.lastEffect=h.next=h:(b=x.next,x.next=h,h.next=b,f.lastEffect=h)),h}function Dm(){return as().memoizedState}function ko(h,f,x,b){var R=os();zn.flags|=h,R.memoizedState=wc(1|f,x,void 0,b===void 0?null:b)}function Mh(h,f,x,b){var R=as();b=b===void 0?null:b;var D=void 0;if(dr!==null){var Y=dr.memoizedState;if(D=Y.destroy,b!==null&&_h(b,Y.deps)){R.memoizedState=wc(f,x,D,b);return}}zn.flags|=h,R.memoizedState=wc(1|f,x,D,b)}function Sh(h,f){return ko(8390656,8,h,f)}function Ml(h,f){return Mh(2048,8,h,f)}function Tn(h,f){return Mh(4,2,h,f)}function wh(h,f){return Mh(4,4,h,f)}function Ac(h,f){if(typeof f=="function")return h=h(),f(h),function(){f(null)};if(f!=null)return h=h(),f.current=h,function(){f.current=null}}function Sl(h,f,x){return x=x!=null?x.concat([h]):null,Mh(4,4,Ac.bind(null,f,h),x)}function Ah(){}function Eh(h,f){var x=as();f=f===void 0?null:f;var b=x.memoizedState;return b!==null&&f!==null&&_h(f,b[1])?b[0]:(x.memoizedState=[h,f],h)}function wl(h,f){var x=as();f=f===void 0?null:f;var b=x.memoizedState;return b!==null&&f!==null&&_h(f,b[1])?b[0]:(h=h(),x.memoizedState=[h,f],h)}function bh(h,f){var x=on;on=x!==0&&4>x?x:4,h(!0);var b=xi.transition;xi.transition={};try{h(!1),f()}finally{on=x,xi.transition=b}}function ya(){return as().memoizedState}function Lm(h,f,x){var b=hs(h);x={lane:b,action:x,hasEagerState:!1,eagerState:null,next:null},Nm(h)?Mf(f,x):(Ec(h,f,x),x=mn(),h=Nr(h,b,x),h!==null&&bc(h,f,b))}function E1(h,f,x){var b=hs(h),R={lane:b,action:x,hasEagerState:!1,eagerState:null,next:null};if(Nm(h))Mf(f,R);else{Ec(h,f,R);var D=h.alternate;if(h.lanes===0&&(D===null||D.lanes===0)&&(D=f.lastRenderedReducer,D!==null))try{var Y=f.lastRenderedState,le=D(Y,x);if(R.hasEagerState=!0,R.eagerState=le,Vr(le,Y))return}catch{}finally{}x=mn(),h=Nr(h,b,x),h!==null&&bc(h,f,b)}}function Nm(h){var f=h.alternate;return h===zn||f!==null&&f===zn}function Mf(h,f){Is=vh=!0;var x=h.pending;x===null?f.next=f:(f.next=x.next,x.next=f),h.pending=f}function Ec(h,f,x){Kn!==null&&h.mode&1&&!(qt&2)?(h=f.interleaved,h===null?(x.next=x,ji===null?ji=[f]:ji.push(f)):(x.next=h.next,h.next=x),f.interleaved=x):(h=f.pending,h===null?x.next=x:(x.next=h.next,h.next=x),f.pending=x)}function bc(h,f,x){if(x&4194240){var b=f.lanes;b&=h.pendingLanes,x|=b,f.lanes=x,Cs(h,x)}}var Al={readContext:ni,useCallback:pr,useContext:pr,useEffect:pr,useImperativeHandle:pr,useInsertionEffect:pr,useLayoutEffect:pr,useMemo:pr,useReducer:pr,useRef:pr,useState:pr,useDebugValue:pr,useDeferredValue:pr,useTransition:pr,useMutableSource:pr,useSyncExternalStore:pr,useId:pr,unstable_isNewReconciler:!1},Sf={readContext:ni,useCallback:function(h,f){return os().memoizedState=[h,f===void 0?null:f],h},useContext:ni,useEffect:Sh,useImperativeHandle:function(h,f,x){return x=x!=null?x.concat([h]):null,ko(4194308,4,Ac.bind(null,f,h),x)},useLayoutEffect:function(h,f){return ko(4194308,4,h,f)},useInsertionEffect:function(h,f){return ko(4,2,h,f)},useMemo:function(h,f){var x=os();return f=f===void 0?null:f,h=h(),x.memoizedState=[h,f],h},useReducer:function(h,f,x){var b=os();return f=x!==void 0?x(f):f,b.memoizedState=b.baseState=f,h={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:h,lastRenderedState:f},b.queue=h,h=h.dispatch=Lm.bind(null,zn,h),[b.memoizedState,h]},useRef:function(h){var f=os();return h={current:h},f.memoizedState=h},useState:Sc,useDebugValue:Ah,useDeferredValue:function(h){var f=Sc(h),x=f[0],b=f[1];return Sh(function(){var R=xi.transition;xi.transition={};try{b(h)}finally{xi.transition=R}},[h]),x},useTransition:function(){var h=Sc(!1),f=h[0];return h=bh.bind(null,h[1]),os().memoizedState=h,[f,h]},useMutableSource:function(){},useSyncExternalStore:function(h,f,x){var b=zn,R=os();if(Nn){if(x===void 0)throw Error(o(407));x=x()}else{if(x=f(),Kn===null)throw Error(o(349));ma&30||_f(b,f,x)}R.memoizedState=x;var D={value:x,getSnapshot:f};return R.queue=D,Sh(qs.bind(null,b,D,h),[h]),b.flags|=2048,wc(9,xf.bind(null,b,D,x,f),void 0,null),x},useId:function(){var h=os(),f=Kn.identifierPrefix;if(Nn){var x=Ks,b=$s;x=(b&~(1<<32-On(b)-1)).toString(32)+x,f=":"+f+"R"+x,x=ga++,0<x&&(f+="H"+x.toString(32)),f+=":"}else x=_c++,f=":"+f+"r"+x.toString(32)+":";return h.memoizedState=f},unstable_isNewReconciler:!1},wf={readContext:ni,useCallback:Eh,useContext:ni,useEffect:Ml,useImperativeHandle:Sl,useInsertionEffect:Tn,useLayoutEffect:wh,useMemo:wl,useReducer:xc,useRef:Dm,useState:function(){return xc(Ps)},useDebugValue:Ah,useDeferredValue:function(h){var f=xc(Ps),x=f[0],b=f[1];return Ml(function(){var R=xi.transition;xi.transition={};try{b(h)}finally{xi.transition=R}},[h]),x},useTransition:function(){var h=xc(Ps)[0],f=as().memoizedState;return[h,f]},useMutableSource:yf,useSyncExternalStore:vf,useId:ya,unstable_isNewReconciler:!1},Af={readContext:ni,useCallback:Eh,useContext:ni,useEffect:Ml,useImperativeHandle:Sl,useInsertionEffect:Tn,useLayoutEffect:wh,useMemo:wl,useReducer:Mc,useRef:Dm,useState:function(){return Mc(Ps)},useDebugValue:Ah,useDeferredValue:function(h){var f=Mc(Ps),x=f[0],b=f[1];return Ml(function(){var R=xi.transition;xi.transition={};try{b(h)}finally{xi.transition=R}},[h]),x},useTransition:function(){var h=Mc(Ps)[0],f=as().memoizedState;return[h,f]},useMutableSource:yf,useSyncExternalStore:vf,useId:ya,unstable_isNewReconciler:!1};function Ef(h,f){try{var x="",b=f;do x+=af(b),b=b.return;while(b);var R=x}catch(D){R=` 3900Error generating stack: `+D.message+` 3901`+D.stack}return{value:h,source:f,stack:R}}function Ch(h,f){try{console.error(f.value)}catch(x){setTimeout(function(){throw x})}}var b1=typeof WeakMap=="function"?WeakMap:Map;function Fm(h,f,x){x=Js(-1,x),x.tag=3,x.payload={element:null};var b=f.value;return x.callback=function(){Pl||(Pl=!0,Ln=b),Ch(h,f)},x}function Th(h,f,x){x=Js(-1,x),x.tag=3;var b=h.type.getDerivedStateFromError;if(typeof b=="function"){var R=f.value;x.payload=function(){return b(R)},x.callback=function(){Ch(h,f)}}var D=h.stateNode;return D!==null&&typeof D.componentDidCatch=="function"&&(x.callback=function(){Ch(h,f),typeof b!="function"&&(us===null?us=new Set([this]):us.add(this));var Y=f.stack;this.componentDidCatch(f.value,{componentStack:Y!==null?Y:""})}),x}function Qs(h,f,x){var b=h.pingCache;if(b===null){b=h.pingCache=new b1;var R=new Set;b.set(f,R)}else R=b.get(f),R===void 0&&(R=new Set,b.set(f,R));R.has(x)||(R.add(x),h=Gf.bind(null,h,f,x),f.then(h,h))}function bf(h){do{var f;if((f=h.tag===13)&&(f=h.memoizedState,f=f!==null?f.dehydrated!==null:!0),f)return h;h=h.return}while(h!==null);return null}function va(h,f,x,b,R){return h.mode&1?(h.flags|=65536,h.lanes=R,h):(h===f?h.flags|=65536:(h.flags|=128,x.flags|=131072,x.flags&=-52805,x.tag===1&&(x.alternate===null?x.tag=17:(f=Js(-1,1),f.tag=2,Oo(x,f))),x.lanes|=1),h)}function lr(h){h.flags|=4}function El(h,f){if(h!==null&&h.child===f.child)return!0;if(f.flags&16)return!1;for(h=f.child;h!==null;){if(h.flags&12854||h.subtreeFlags&12854)return!1;h=h.sibling}return!0}var Mi,_a,Ih,Ph;if(Pt)Mi=function(h,f){for(var x=f.child;x!==null;){if(x.tag===5||x.tag===6)se(h,x.stateNode);else if(x.tag!==4&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===f)break;for(;x.sibling===null;){if(x.return===null||x.return===f)return;x=x.return}x.sibling.return=x.return,x=x.sibling}},_a=function(){},Ih=function(h,f,x,b,R){if(h=h.memoizedProps,h!==b){var D=f.stateNode,Y=ss(ri.current);x=pe(D,x,h,b,R,Y),(f.updateQueue=x)&&lr(f)}},Ph=function(h,f,x,b){x!==b&&lr(f)};else if(Be){Mi=function(h,f,x,b){for(var R=f.child;R!==null;){if(R.tag===5){var D=R.stateNode;x&&b&&(D=un(D,R.type,R.memoizedProps,R)),se(h,D)}else if(R.tag===6)D=R.stateNode,x&&b&&(D=Hr(D,R.memoizedProps,R)),se(h,D);else if(R.tag!==4){if(R.tag===22&&R.memoizedState!==null)D=R.child,D!==null&&(D.return=R),Mi(h,R,!0,!0);else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R===f)break;for(;R.sibling===null;){if(R.return===null||R.return===f)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};var Uo=function(h,f,x,b){for(var R=f.child;R!==null;){if(R.tag===5){var D=R.stateNode;x&&b&&(D=un(D,R.type,R.memoizedProps,R)),Gt(h,D)}else if(R.tag===6)D=R.stateNode,x&&b&&(D=Hr(D,R.memoizedProps,R)),Gt(h,D);else if(R.tag!==4){if(R.tag===22&&R.memoizedState!==null)D=R.child,D!==null&&(D.return=R),Uo(h,R,!0,!0);else if(R.child!==null){R.child.return=R,R=R.child;continue}}if(R===f)break;for(;R.sibling===null;){if(R.return===null||R.return===f)return;R=R.return}R.sibling.return=R.return,R=R.sibling}};_a=function(h,f){var x=f.stateNode;if(!El(h,f)){h=x.containerInfo;var b=nt(h);Uo(b,f,!1,!1),x.pendingChildren=b,lr(f),Bn(h,b)}},Ih=function(h,f,x,b,R){var D=h.stateNode,Y=h.memoizedProps;if((h=El(h,f))&&Y===b)f.stateNode=D;else{var le=f.stateNode,Te=ss(ri.current),We=null;Y!==b&&(We=pe(le,x,Y,b,R,Te)),h&&We===null?f.stateNode=D:(D=ot(D,We,x,Y,b,f,h,le),Le(D,x,b,R,Te)&&lr(f),f.stateNode=D,h?lr(f):Mi(D,f,!1,!1))}},Ph=function(h,f,x,b){x!==b?(h=ss(fa.current),x=ss(ri.current),f.stateNode=Re(b,h,x,f),lr(f)):f.stateNode=h.stateNode}}else _a=function(){},Ih=function(){},Ph=function(){};function Zs(h,f){if(!Nn)switch(h.tailMode){case"hidden":f=h.tail;for(var x=null;f!==null;)f.alternate!==null&&(x=f),f=f.sibling;x===null?h.tail=null:x.sibling=null;break;case"collapsed":x=h.tail;for(var b=null;x!==null;)x.alternate!==null&&(b=x),x=x.sibling;b===null?f||h.tail===null?h.tail=null:h.tail.sibling=null:b.sibling=null}}function $n(h){var f=h.alternate!==null&&h.alternate.child===h.child,x=0,b=0;if(f)for(var R=h.child;R!==null;)x|=R.lanes|R.childLanes,b|=R.subtreeFlags&14680064,b|=R.flags&14680064,R.return=h,R=R.sibling;else for(R=h.child;R!==null;)x|=R.lanes|R.childLanes,b|=R.subtreeFlags,b|=R.flags,R.return=h,R=R.sibling;return h.subtreeFlags|=b,h.childLanes=x,f}function Rh(h,f,x){var b=f.pendingProps;switch(ff(f),f.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $n(f),null;case 1:return jt(f.type)&&nr(),$n(f),null;case 3:return b=f.stateNode,_l(),dt(zt),dt(sn),pa(),b.pendingContext&&(b.context=b.pendingContext,b.pendingContext=null),(h===null||h.child===null)&&(yc(f)?lr(f):h===null||h.memoizedState.isDehydrated&&!(f.flags&256)||(f.flags|=1024,Gi!==null&&(Uc(Gi),Gi=null))),_a(h,f),$n(f),null;case 5:gf(f),x=ss(fa.current);var R=f.type;if(h!==null&&f.stateNode!=null)Ih(h,f,R,b,x),h.ref!==f.ref&&(f.flags|=512,f.flags|=2097152);else{if(!b){if(f.stateNode===null)throw Error(o(166));return $n(f),null}if(h=ss(ri.current),yc(f)){if(!Oe)throw Error(o(175));h=Ju(f.stateNode,f.type,f.memoizedProps,x,h,f,!pl),f.updateQueue=h,h!==null&&lr(f)}else{var D=X(R,b,x,h,f);Mi(D,f,!1,!1),f.stateNode=D,Le(D,R,b,x,h)&&lr(f)}f.ref!==null&&(f.flags|=512,f.flags|=2097152)}return $n(f),null;case 6:if(h&&f.stateNode!=null)Ph(h,f,h.memoizedProps,b);else{if(typeof b!="string"&&f.stateNode===null)throw Error(o(166));if(h=ss(fa.current),x=ss(ri.current),yc(f)){if(!Oe)throw Error(o(176));if(h=f.stateNode,b=f.memoizedProps,(x=As(h,b,f,!pl))&&(R=Xr,R!==null))switch(D=(R.mode&1)!==0,R.tag){case 3:Me(R.stateNode.containerInfo,h,b,D);break;case 5:we(R.type,R.memoizedProps,R.stateNode,h,b,D)}x&&lr(f)}else f.stateNode=Re(b,h,x,f)}return $n(f),null;case 13:if(dt(jn),b=f.memoizedState,Nn&&Sr!==null&&f.mode&1&&!(f.flags&128)){for(h=Sr;h;)h=rs(h);return ml(),f.flags|=98560,f}if(b!==null&&b.dehydrated!==null){if(b=yc(f),h===null){if(!b)throw Error(o(318));if(!Oe)throw Error(o(344));if(h=f.memoizedState,h=h!==null?h.dehydrated:null,!h)throw Error(o(317));$u(h,f)}else ml(),!(f.flags&128)&&(f.memoizedState=null),f.flags|=4;return $n(f),null}return Gi!==null&&(Uc(Gi),Gi=null),f.flags&128?(f.lanes=x,f):(b=b!==null,x=!1,h===null?yc(f):x=h.memoizedState!==null,b&&!x&&(f.child.flags|=8192,f.mode&1&&(h===null||jn.current&1?Wn===0&&(Wn=3):kh())),f.updateQueue!==null&&(f.flags|=4),$n(f),null);case 4:return _l(),_a(h,f),h===null&&pt(f.stateNode.containerInfo),$n(f),null;case 10:return gc(f.type._context),$n(f),null;case 17:return jt(f.type)&&nr(),$n(f),null;case 19:if(dt(jn),R=f.memoizedState,R===null)return $n(f),null;if(b=(f.flags&128)!==0,D=R.rendering,D===null)if(b)Zs(R,!1);else{if(Wn!==0||h!==null&&h.flags&128)for(h=f.child;h!==null;){if(D=yh(h),D!==null){for(f.flags|=128,Zs(R,!1),h=D.updateQueue,h!==null&&(f.updateQueue=h,f.flags|=4),f.subtreeFlags=0,h=x,b=f.child;b!==null;)x=b,R=h,x.flags&=14680066,D=x.alternate,D===null?(x.childLanes=0,x.lanes=R,x.child=null,x.subtreeFlags=0,x.memoizedProps=null,x.memoizedState=null,x.updateQueue=null,x.dependencies=null,x.stateNode=null):(x.childLanes=D.childLanes,x.lanes=D.lanes,x.child=D.child,x.subtreeFlags=0,x.deletions=null,x.memoizedProps=D.memoizedProps,x.memoizedState=D.memoizedState,x.updateQueue=D.updateQueue,x.type=D.type,R=D.dependencies,x.dependencies=R===null?null:{lanes:R.lanes,firstContext:R.firstContext}),b=b.sibling;return Tt(jn,jn.current&1|2),f.child}h=h.sibling}R.tail!==null&&ar()>Ho&&(f.flags|=128,b=!0,Zs(R,!1),f.lanes=4194304)}else{if(!b)if(h=yh(D),h!==null){if(f.flags|=128,b=!0,h=h.updateQueue,h!==null&&(f.updateQueue=h,f.flags|=4),Zs(R,!0),R.tail===null&&R.tailMode==="hidden"&&!D.alternate&&!Nn)return $n(f),null}else 2*ar()-R.renderingStartTime>Ho&&x!==1073741824&&(f.flags|=128,b=!0,Zs(R,!1),f.lanes=4194304);R.isBackwards?(D.sibling=f.child,f.child=D):(h=R.last,h!==null?h.sibling=D:f.child=D,R.last=D)}return R.tail!==null?(f=R.tail,R.rendering=f,R.tail=f.sibling,R.renderingStartTime=ar(),f.sibling=null,h=jn.current,Tt(jn,b?h&1|2:h&1),f):($n(f),null);case 22:case 23:return jc(),b=f.memoizedState!==null,h!==null&&h.memoizedState!==null!==b&&(f.flags|=8192),b&&f.mode&1?Lr&1073741824&&($n(f),Pt&&f.subtreeFlags&6&&(f.flags|=8192)):$n(f),null;case 24:return null;case 25:return null}throw Error(o(156,f.tag))}var Cf=l.ReactCurrentOwner,mr=!1;function Vn(h,f,x,b){f.child=h===null?Bm(f,null,x,b):Ys(f,h.child,x,b)}function In(h,f,x,b,R){x=x.render;var D=f.ref;return hl(f,R),b=xl(h,f,x,b,D,R),x=Fo(),h!==null&&!mr?(f.updateQueue=h.updateQueue,f.flags&=-2053,h.lanes&=~R,ii(h,f,R)):(Nn&&x&&df(f),f.flags|=1,Vn(h,f,b,R),f.child)}function bn(h,f,x,b,R){if(h===null){var D=x.type;return typeof D=="function"&&!jh(D)&&D.defaultProps===void 0&&x.compare===null&&x.defaultProps===void 0?(f.tag=15,f.type=D,eo(h,f,D,b,R)):(h=zh(x.type,null,b,f,f.mode,R),h.ref=f.ref,h.return=f,f.child=h)}if(D=h.child,!(h.lanes&R)){var Y=D.memoizedProps;if(x=x.compare,x=x!==null?x:is,x(Y,b)&&h.ref===f.ref)return ii(h,f,R)}return f.flags|=1,h=co(D,b),h.ref=f.ref,h.return=f,f.child=h}function eo(h,f,x,b,R){if(h!==null&&is(h.memoizedProps,b)&&h.ref===f.ref)if(mr=!1,(h.lanes&R)!==0)h.flags&131072&&(mr=!0);else return f.lanes=h.lanes,ii(h,f,R);return to(h,f,x,b,R)}function wr(h,f,x){var b=f.pendingProps,R=b.children,D=h!==null?h.memoizedState:null;if(b.mode==="hidden")if(!(f.mode&1))f.memoizedState={baseLanes:0,cachePool:null},Tt(Ta,Lr),Lr|=x;else if(x&1073741824)f.memoizedState={baseLanes:0,cachePool:null},b=D!==null?D.baseLanes:x,Tt(Ta,Lr),Lr|=b;else return h=D!==null?D.baseLanes|x:x,f.lanes=f.childLanes=1073741824,f.memoizedState={baseLanes:h,cachePool:null},f.updateQueue=null,Tt(Ta,Lr),Lr|=h,null;else D!==null?(b=D.baseLanes|x,f.memoizedState=null):b=x,Tt(Ta,Lr),Lr|=b;return Vn(h,f,R,x),f.child}function Jr(h,f){var x=f.ref;(h===null&&x!==null||h!==null&&h.ref!==x)&&(f.flags|=512,f.flags|=2097152)}function to(h,f,x,b,R){var D=jt(x)?wt:sn.current;return D=En(f,D),hl(f,R),x=xl(h,f,x,b,D,R),b=Fo(),h!==null&&!mr?(f.updateQueue=h.updateQueue,f.flags&=-2053,h.lanes&=~R,ii(h,f,R)):(Nn&&b&&df(f),f.flags|=1,Vn(h,f,x,R),f.child)}function xa(h,f,x,b,R){if(jt(x)){var D=!0;Es(f)}else D=!1;if(hl(f,R),f.stateNode===null)h!==null&&(h.alternate=null,f.alternate=null,f.flags|=2),Cm(f,x,b),hf(f,x,b,R),b=!0;else if(h===null){var Y=f.stateNode,le=f.memoizedProps;Y.props=le;var Te=Y.context,We=x.contextType;typeof We=="object"&&We!==null?We=ni(We):(We=jt(x)?wt:sn.current,We=En(f,We));var gt=x.getDerivedStateFromProps,Wt=typeof gt=="function"||typeof Y.getSnapshotBeforeUpdate=="function";Wt||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(le!==b||Te!==We)&&Tm(f,Y,b,We),zi=!1;var Ot=f.memoizedState;Y.state=Ot,uh(f,b,Y,R),Te=f.memoizedState,le!==b||Ot!==Te||zt.current||zi?(typeof gt=="function"&&(cf(f,x,gt,b),Te=f.memoizedState),(le=zi||uf(f,x,le,b,Ot,Te,We))?(Wt||typeof Y.UNSAFE_componentWillMount!="function"&&typeof Y.componentWillMount!="function"||(typeof Y.componentWillMount=="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount=="function"&&Y.UNSAFE_componentWillMount()),typeof Y.componentDidMount=="function"&&(f.flags|=4194308)):(typeof Y.componentDidMount=="function"&&(f.flags|=4194308),f.memoizedProps=b,f.memoizedState=Te),Y.props=b,Y.state=Te,Y.context=We,b=le):(typeof Y.componentDidMount=="function"&&(f.flags|=4194308),b=!1)}else{Y=f.stateNode,lf(h,f),le=f.memoizedProps,We=f.type===f.elementType?le:ti(f.type,le),Y.props=We,Wt=f.pendingProps,Ot=Y.context,Te=x.contextType,typeof Te=="object"&&Te!==null?Te=ni(Te):(Te=jt(x)?wt:sn.current,Te=En(f,Te));var tn=x.getDerivedStateFromProps;(gt=typeof tn=="function"||typeof Y.getSnapshotBeforeUpdate=="function")||typeof Y.UNSAFE_componentWillReceiveProps!="function"&&typeof Y.componentWillReceiveProps!="function"||(le!==Wt||Ot!==Te)&&Tm(f,Y,b,Te),zi=!1,Ot=f.memoizedState,Y.state=Ot,uh(f,b,Y,R);var at=f.memoizedState;le!==Wt||Ot!==at||zt.current||zi?(typeof tn=="function"&&(cf(f,x,tn,b),at=f.memoizedState),(We=zi||uf(f,x,We,b,Ot,at,Te)||!1)?(gt||typeof Y.UNSAFE_componentWillUpdate!="function"&&typeof Y.componentWillUpdate!="function"||(typeof Y.componentWillUpdate=="function"&&Y.componentWillUpdate(b,at,Te),typeof Y.UNSAFE_componentWillUpdate=="function"&&Y.UNSAFE_componentWillUpdate(b,at,Te)),typeof Y.componentDidUpdate=="function"&&(f.flags|=4),typeof Y.getSnapshotBeforeUpdate=="function"&&(f.flags|=1024)):(typeof Y.componentDidUpdate!="function"||le===h.memoizedProps&&Ot===h.memoizedState||(f.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||le===h.memoizedProps&&Ot===h.memoizedState||(f.flags|=1024),f.memoizedProps=b,f.memoizedState=at),Y.props=b,Y.state=at,Y.context=Te,b=We):(typeof Y.componentDidUpdate!="function"||le===h.memoizedProps&&Ot===h.memoizedState||(f.flags|=4),typeof Y.getSnapshotBeforeUpdate!="function"||le===h.memoizedProps&&Ot===h.memoizedState||(f.flags|=1024),b=!1)}return Dr(h,f,x,b,D,R)}function Dr(h,f,x,b,R,D){Jr(h,f);var Y=(f.flags&128)!==0;if(!b&&!Y)return R&&Sn(f,x,!1),ii(h,f,D);b=f.stateNode,Cf.current=f;var le=Y&&typeof x.getDerivedStateFromError!="function"?null:b.render();return f.flags|=1,h!==null&&Y?(f.child=Ys(f,h.child,null,D),f.child=Ys(f,null,le,D)):Vn(h,f,le,D),f.memoizedState=b.state,R&&Sn(f,x,!0),f.child}function Cc(h){var f=h.stateNode;f.pendingContext?Fi(h,f.pendingContext,f.pendingContext!==f.context):f.context&&Fi(h,f.context,!1),gh(h,f.containerInfo)}function Tf(h,f,x,b,R){return ml(),mh(R),f.flags|=256,Vn(h,f,x,b),f.child}var Tc={dehydrated:null,treeContext:null,retryLane:0};function Ma(h){return{baseLanes:h,cachePool:null}}function If(h,f,x){var b=f.pendingProps,R=jn.current,D=!1,Y=(f.flags&128)!==0,le;if((le=Y)||(le=h!==null&&h.memoizedState===null?!1:(R&2)!==0),le?(D=!0,f.flags&=-129):(h===null||h.memoizedState!==null)&&(R|=1),Tt(jn,R&1),h===null)return Lo(f),h=f.memoizedState,h!==null&&(h=h.dehydrated,h!==null)?(f.mode&1?ns(h)?f.lanes=8:f.lanes=1073741824:f.lanes=1,null):(R=b.children,h=b.fallback,D?(b=f.mode,D=f.child,R={mode:"hidden",children:R},!(b&1)&&D!==null?(D.childLanes=0,D.pendingProps=R):D=Gc(R,b,0,null),h=Oa(h,b,x,null),D.return=f,h.return=f,D.sibling=h,f.child=D,f.child.memoizedState=Ma(x),f.memoizedState=Tc,h):ls(f,R));if(R=h.memoizedState,R!==null){if(le=R.dehydrated,le!==null){if(Y)return f.flags&256?(f.flags&=-257,Pc(h,f,x,Error(o(422)))):f.memoizedState!==null?(f.child=h.child,f.flags|=128,null):(D=b.fallback,R=f.mode,b=Gc({mode:"visible",children:b.children},R,0,null),D=Oa(D,R,x,null),D.flags|=2,b.return=f,D.return=f,b.sibling=D,f.child=b,f.mode&1&&Ys(f,h.child,null,x),f.child.memoizedState=Ma(x),f.memoizedState=Tc,D);if(!(f.mode&1))f=Pc(h,f,x,null);else if(ns(le))f=Pc(h,f,x,Error(o(419)));else if(b=(x&h.childLanes)!==0,mr||b){if(b=Kn,b!==null){switch(x&-x){case 4:D=2;break;case 16:D=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:D=32;break;case 536870912:D=268435456;break;default:D=0}b=D&(b.suspendedLanes|x)?0:D,b!==0&&b!==R.retryLane&&(R.retryLane=b,Nr(h,b,-1))}kh(),f=Pc(h,f,x,Error(o(421)))}else ws(le)?(f.flags|=128,f.child=h.child,f=Hm.bind(null,h),ra(le,f),f=null):(x=R.treeContext,Oe&&(Sr=ll(le),Xr=f,Nn=!0,Gi=null,pl=!1,x!==null&&(Hi[vi++]=$s,Hi[vi++]=Ks,Hi[vi++]=ua,$s=x.id,Ks=x.overflow,ua=f)),f=ls(f,f.pendingProps.children),f.flags|=4096);return f}return D?(b=Bh(h,f,b.children,b.fallback,x),D=f.child,R=h.child.memoizedState,D.memoizedState=R===null?Ma(x):{baseLanes:R.baseLanes|x,cachePool:null},D.childLanes=h.childLanes&~x,f.memoizedState=Tc,b):(x=Ic(h,f,b.children,x),f.memoizedState=null,x)}return D?(b=Bh(h,f,b.children,b.fallback,x),D=f.child,R=h.child.memoizedState,D.memoizedState=R===null?Ma(x):{baseLanes:R.baseLanes|x,cachePool:null},D.childLanes=h.childLanes&~x,f.memoizedState=Tc,b):(x=Ic(h,f,b.children,x),f.memoizedState=null,x)}function ls(h,f){return f=Gc({mode:"visible",children:f},h.mode,0,null),f.return=h,h.child=f}function Ic(h,f,x,b){var R=h.child;return h=R.sibling,x=co(R,{mode:"visible",children:x}),!(f.mode&1)&&(x.lanes=b),x.return=f,x.sibling=null,h!==null&&(b=f.deletions,b===null?(f.deletions=[h],f.flags|=16):b.push(h)),f.child=x}function Bh(h,f,x,b,R){var D=f.mode;h=h.child;var Y=h.sibling,le={mode:"hidden",children:x};return!(D&1)&&f.child!==h?(x=f.child,x.childLanes=0,x.pendingProps=le,f.deletions=null):(x=co(h,le),x.subtreeFlags=h.subtreeFlags&14680064),Y!==null?b=co(Y,b):(b=Oa(b,D,R,null),b.flags|=2),b.return=f,x.return=f,x.sibling=b,f.child=x,b}function Pc(h,f,x,b){return b!==null&&mh(b),Ys(f,h.child,null,x),h=ls(f,f.pendingProps.children),h.flags|=2,f.memoizedState=null,h}function km(h,f,x){h.lanes|=f;var b=h.alternate;b!==null&&(b.lanes|=f),ca(h.return,f,x)}function Rs(h,f,x,b,R){var D=h.memoizedState;D===null?h.memoizedState={isBackwards:f,rendering:null,renderingStartTime:0,last:b,tail:x,tailMode:R}:(D.isBackwards=f,D.rendering=null,D.renderingStartTime=0,D.last=b,D.tail=x,D.tailMode=R)}function Sa(h,f,x){var b=f.pendingProps,R=b.revealOrder,D=b.tail;if(Vn(h,f,b.children,x),b=jn.current,b&2)b=b&1|2,f.flags|=128;else{if(h!==null&&h.flags&128)e:for(h=f.child;h!==null;){if(h.tag===13)h.memoizedState!==null&&km(h,x,f);else if(h.tag===19)km(h,x,f);else if(h.child!==null){h.child.return=h,h=h.child;continue}if(h===f)break e;for(;h.sibling===null;){if(h.return===null||h.return===f)break e;h=h.return}h.sibling.return=h.return,h=h.sibling}b&=1}if(Tt(jn,b),!(f.mode&1))f.memoizedState=null;else switch(R){case"forwards":for(x=f.child,R=null;x!==null;)h=x.alternate,h!==null&&yh(h)===null&&(R=x),x=x.sibling;x=R,x===null?(R=f.child,f.child=null):(R=x.sibling,x.sibling=null),Rs(f,!1,R,x,D);break;case"backwards":for(x=null,R=f.child,f.child=null;R!==null;){if(h=R.alternate,h!==null&&yh(h)===null){f.child=R;break}h=R.sibling,R.sibling=x,x=R,R=h}Rs(f,!0,x,null,D);break;case"together":Rs(f,!1,null,null,void 0);break;default:f.memoizedState=null}return f.child}function ii(h,f,x){if(h!==null&&(f.dependencies=h.dependencies),Bs|=f.lanes,!(x&f.childLanes))return null;if(h!==null&&f.child!==h.child)throw Error(o(153));if(f.child!==null){for(h=f.child,x=co(h,h.pendingProps),f.child=x,x.return=f;h.sibling!==null;)h=h.sibling,x=x.sibling=co(h,h.pendingProps),x.return=f;x.sibling=null}return f.child}function Oh(h,f,x){switch(f.tag){case 3:Cc(f),ml();break;case 5:Om(f);break;case 1:jt(f.type)&&Es(f);break;case 4:gh(f,f.stateNode.containerInfo);break;case 10:la(f,f.type._context,f.memoizedProps.value);break;case 13:var b=f.memoizedState;if(b!==null)return b.dehydrated!==null?(Tt(jn,jn.current&1),f.flags|=128,null):x&f.child.childLanes?If(h,f,x):(Tt(jn,jn.current&1),h=ii(h,f,x),h!==null?h.sibling:null);Tt(jn,jn.current&1);break;case 19:if(b=(x&f.childLanes)!==0,h.flags&128){if(b)return Sa(h,f,x);f.flags|=128}var R=f.memoizedState;if(R!==null&&(R.rendering=null,R.tail=null,R.lastEffect=null),Tt(jn,jn.current),b)break;return null;case 22:case 23:return f.lanes=0,wr(h,f,x)}return ii(h,f,x)}function Dh(h,f){switch(ff(f),f.tag){case 1:return jt(f.type)&&nr(),h=f.flags,h&65536?(f.flags=h&-65537|128,f):null;case 3:return _l(),dt(zt),dt(sn),pa(),h=f.flags,h&65536&&!(h&128)?(f.flags=h&-65537|128,f):null;case 5:return gf(f),null;case 13:if(dt(jn),h=f.memoizedState,h!==null&&h.dehydrated!==null){if(f.alternate===null)throw Error(o(340));ml()}return h=f.flags,h&65536?(f.flags=h&-65537|128,f):null;case 19:return dt(jn),null;case 4:return _l(),null;case 10:return gc(f.type._context),null;case 22:case 23:return jc(),null;case 24:return null;default:return null}}var $r=!1,gr=!1,wa=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Vi(h,f){var x=h.ref;if(x!==null)if(typeof x=="function")try{x(null)}catch(b){Yr(h,f,b)}else x.current=null}function no(h,f,x){try{x()}catch(b){Yr(h,f,b)}}var Pf=!1;function Rf(h,f){for(Z(h.containerInfo),Ke=f;Ke!==null;)if(h=Ke,f=h.child,(h.subtreeFlags&1028)!==0&&f!==null)f.return=h,Ke=f;else for(;Ke!==null;){h=Ke;try{var x=h.alternate;if(h.flags&1024)switch(h.tag){case 0:case 11:case 15:break;case 1:if(x!==null){var b=x.memoizedProps,R=x.memoizedState,D=h.stateNode,Y=D.getSnapshotBeforeUpdate(h.elementType===h.type?b:ti(h.type,b),R);D.__reactInternalSnapshotBeforeUpdate=Y}break;case 3:Pt&&De(h.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(le){Yr(h,h.return,le)}if(f=h.sibling,f!==null){f.return=h.return,Ke=f;break}Ke=h.return}return x=Pf,Pf=!1,x}function ro(h,f,x){var b=f.updateQueue;if(b=b!==null?b.lastEffect:null,b!==null){var R=b=b.next;do{if((R.tag&h)===h){var D=R.destroy;R.destroy=void 0,D!==void 0&&no(f,x,D)}R=R.next}while(R!==b)}}function Ar(h,f){if(f=f.updateQueue,f=f!==null?f.lastEffect:null,f!==null){var x=f=f.next;do{if((x.tag&h)===h){var b=x.create;x.destroy=b()}x=x.next}while(x!==f)}}function Kr(h){var f=h.ref;if(f!==null){var x=h.stateNode;switch(h.tag){case 5:h=he(x);break;default:h=x}typeof f=="function"?f(h):f.current=h}}function Dn(h,f,x){if(Ts&&typeof Ts.onCommitFiberUnmount=="function")try{Ts.onCommitFiberUnmount(dc,f)}catch{}switch(f.tag){case 0:case 11:case 14:case 15:if(h=f.updateQueue,h!==null&&(h=h.lastEffect,h!==null)){var b=h=h.next;do{var R=b,D=R.destroy;R=R.tag,D!==void 0&&(R&2||R&4)&&no(f,x,D),b=b.next}while(b!==h)}break;case 1:if(Vi(f,x),h=f.stateNode,typeof h.componentWillUnmount=="function")try{h.props=f.memoizedProps,h.state=f.memoizedState,h.componentWillUnmount()}catch(Y){Yr(f,x,Y)}break;case 5:Vi(f,x);break;case 4:Pt?Df(h,f,x):Be&&Be&&(f=f.stateNode.containerInfo,x=nt(f),tr(f,x))}}function Wi(h,f,x){for(var b=f;;)if(Dn(h,b,x),b.child===null||Pt&&b.tag===4){if(b===f)break;for(;b.sibling===null;){if(b.return===null||b.return===f)return;b=b.return}b.sibling.return=b.return,b=b.sibling}else b.child.return=b,b=b.child}function Bf(h){var f=h.alternate;f!==null&&(h.alternate=null,Bf(f)),h.child=null,h.deletions=null,h.sibling=null,h.tag===5&&(f=h.stateNode,f!==null&&st(f)),h.stateNode=null,h.return=null,h.dependencies=null,h.memoizedProps=null,h.memoizedState=null,h.pendingProps=null,h.stateNode=null,h.updateQueue=null}function Of(h){return h.tag===5||h.tag===3||h.tag===4}function Lh(h){e:for(;;){for(;h.sibling===null;){if(h.return===null||Of(h.return))return null;h=h.return}for(h.sibling.return=h.return,h=h.sibling;h.tag!==5&&h.tag!==6&&h.tag!==18;){if(h.flags&2||h.child===null||h.tag===4)continue e;h.child.return=h,h=h.child}if(!(h.flags&2))return h.stateNode}}function Nh(h){if(Pt){e:{for(var f=h.return;f!==null;){if(Of(f))break e;f=f.return}throw Error(o(160))}var x=f;switch(x.tag){case 5:f=x.stateNode,x.flags&32&&(kt(f),x.flags&=-33),x=Lh(h),bl(h,x,f);break;case 3:case 4:f=x.stateNode.containerInfo,x=Lh(h),Fh(h,x,f);break;default:throw Error(o(161))}}}function Fh(h,f,x){var b=h.tag;if(b===5||b===6)h=h.stateNode,f?Rt(x,h,f):Qe(x,h);else if(b!==4&&(h=h.child,h!==null))for(Fh(h,f,x),h=h.sibling;h!==null;)Fh(h,f,x),h=h.sibling}function bl(h,f,x){var b=h.tag;if(b===5||b===6)h=h.stateNode,f?Ct(x,h,f):Je(x,h);else if(b!==4&&(h=h.child,h!==null))for(bl(h,f,x),h=h.sibling;h!==null;)bl(h,f,x),h=h.sibling}function Df(h,f,x){for(var b=f,R=!1,D,Y;;){if(!R){R=b.return;e:for(;;){if(R===null)throw Error(o(160));switch(D=R.stateNode,R.tag){case 5:Y=!1;break e;case 3:D=D.containerInfo,Y=!0;break e;case 4:D=D.containerInfo,Y=!0;break e}R=R.return}R=!0}if(b.tag===5||b.tag===6)Wi(h,b,x),Y?$t(D,b.stateNode):ht(D,b.stateNode);else if(b.tag===18)Y?W(D,b.stateNode):Qu(D,b.stateNode);else if(b.tag===4){if(b.child!==null){D=b.stateNode.containerInfo,Y=!0,b.child.return=b,b=b.child;continue}}else if(Dn(h,b,x),b.child!==null){b.child.return=b,b=b.child;continue}if(b===f)break;for(;b.sibling===null;){if(b.return===null||b.return===f)return;b=b.return,b.tag===4&&(R=!1)}b.sibling.return=b.return,b=b.sibling}}function jo(h,f){if(Pt){switch(f.tag){case 0:case 11:case 14:case 15:ro(3,f,f.return),Ar(3,f),ro(5,f,f.return);return;case 1:return;case 5:var x=f.stateNode;if(x!=null){var b=f.memoizedProps;h=h!==null?h.memoizedProps:b;var R=f.type,D=f.updateQueue;f.updateQueue=null,D!==null&&ut(x,D,R,h,b,f)}return;case 6:if(f.stateNode===null)throw Error(o(162));x=f.memoizedProps,Ht(f.stateNode,h!==null?h.memoizedProps:x,x);return;case 3:Oe&&h!==null&&h.memoizedState.isDehydrated&&Yu(f.stateNode.containerInfo);return;case 12:return;case 13:Cl(f);return;case 19:Cl(f);return;case 17:return}throw Error(o(163))}switch(f.tag){case 0:case 11:case 14:case 15:ro(3,f,f.return),Ar(3,f),ro(5,f,f.return);return;case 12:return;case 13:Cl(f);return;case 19:Cl(f);return;case 3:Oe&&h!==null&&h.memoizedState.isDehydrated&&Yu(f.stateNode.containerInfo);break;case 22:case 23:return}e:if(Be){switch(f.tag){case 1:case 5:case 6:break e;case 3:case 4:f=f.stateNode,tr(f.containerInfo,f.pendingChildren);break e}throw Error(o(163))}}function Cl(h){var f=h.updateQueue;if(f!==null){h.updateQueue=null;var x=h.stateNode;x===null&&(x=h.stateNode=new wa),f.forEach(function(b){var R=Gm.bind(null,h,b);x.has(b)||(x.add(b),b.then(R,R))})}}function C1(h,f){for(Ke=f;Ke!==null;){f=Ke;var x=f.deletions;if(x!==null)for(var b=0;b<x.length;b++){var R=x[b];try{var D=h;Pt?Df(D,R,f):Wi(D,R,f);var Y=R.alternate;Y!==null&&(Y.return=null),R.return=null}catch(At){Yr(R,f,At)}}if(x=f.child,f.subtreeFlags&12854&&x!==null)x.return=f,Ke=x;else for(;Ke!==null;){f=Ke;try{var le=f.flags;if(le&32&&Pt&&kt(f.stateNode),le&512){var Te=f.alternate;if(Te!==null){var We=Te.ref;We!==null&&(typeof We=="function"?We(null):We.current=null)}}if(le&8192)switch(f.tag){case 13:if(f.memoizedState!==null){var gt=f.alternate;(gt===null||gt.memoizedState===null)&&(Fc=ar())}break;case 22:var Wt=f.memoizedState!==null,Ot=f.alternate,tn=Ot!==null&&Ot.memoizedState!==null;if(x=f,Pt){e:if(b=x,R=Wt,D=null,Pt)for(var at=b;;){if(at.tag===5){if(D===null){D=at;var Cr=at.stateNode;R?pn(Cr):Ze(at.stateNode,at.memoizedProps)}}else if(at.tag===6){if(D===null){var bi=at.stateNode;R?ue(bi):Ce(bi,at.memoizedProps)}}else if((at.tag!==22&&at.tag!==23||at.memoizedState===null||at===b)&&at.child!==null){at.child.return=at,at=at.child;continue}if(at===b)break;for(;at.sibling===null;){if(at.return===null||at.return===b)break e;D===at&&(D=null),at=at.return}D===at&&(D=null),at.sibling.return=at.return,at=at.sibling}}if(Wt&&!tn&&x.mode&1){Ke=x;for(var xe=x.child;xe!==null;){for(x=Ke=xe;Ke!==null;){b=Ke;var fe=b.child;switch(b.tag){case 0:case 11:case 14:case 15:ro(4,b,b.return);break;case 1:Vi(b,b.return);var Ee=b.stateNode;if(typeof Ee.componentWillUnmount=="function"){var rt=b.return;try{Ee.props=b.memoizedProps,Ee.state=b.memoizedState,Ee.componentWillUnmount()}catch(At){Yr(b,rt,At)}}break;case 5:Vi(b,b.return);break;case 22:if(b.memoizedState!==null){Nf(x);continue}}fe!==null?(fe.return=b,Ke=fe):Nf(x)}xe=xe.sibling}}}switch(le&4102){case 2:Nh(f),f.flags&=-3;break;case 6:Nh(f),f.flags&=-3,jo(f.alternate,f);break;case 4096:f.flags&=-4097;break;case 4100:f.flags&=-4097,jo(f.alternate,f);break;case 4:jo(f.alternate,f)}}catch(At){Yr(f,f.return,At)}if(x=f.sibling,x!==null){x.return=f.return,Ke=x;break}Ke=f.return}}}function Rc(h,f,x){Ke=h,Bc(h)}function Bc(h,f,x){for(var b=(h.mode&1)!==0;Ke!==null;){var R=Ke,D=R.child;if(R.tag===22&&b){var Y=R.memoizedState!==null||$r;if(!Y){var le=R.alternate,Te=le!==null&&le.memoizedState!==null||gr;le=$r;var We=gr;if($r=Y,(gr=Te)&&!We)for(Ke=R;Ke!==null;)Y=Ke,Te=Y.child,Y.tag===22&&Y.memoizedState!==null?Aa(R):Te!==null?(Te.return=Y,Ke=Te):Aa(R);for(;D!==null;)Ke=D,Bc(D),D=D.sibling;Ke=R,$r=le,gr=We}Lf(h)}else R.subtreeFlags&8772&&D!==null?(D.return=R,Ke=D):Lf(h)}}function Lf(h){for(;Ke!==null;){var f=Ke;if(f.flags&8772){var x=f.alternate;try{if(f.flags&8772)switch(f.tag){case 0:case 11:case 15:gr||Ar(5,f);break;case 1:var b=f.stateNode;if(f.flags&4&&!gr)if(x===null)b.componentDidMount();else{var R=f.elementType===f.type?x.memoizedProps:ti(f.type,x.memoizedProps);b.componentDidUpdate(R,x.memoizedState,b.__reactInternalSnapshotBeforeUpdate)}var D=f.updateQueue;D!==null&&Em(f,D,b);break;case 3:var Y=f.updateQueue;if(Y!==null){if(x=null,f.child!==null)switch(f.child.tag){case 5:x=he(f.child.stateNode);break;case 1:x=f.child.stateNode}Em(f,Y,x)}break;case 5:var le=f.stateNode;x===null&&f.flags&4&&Ue(le,f.type,f.memoizedProps,f);break;case 6:break;case 4:break;case 12:break;case 13:if(Oe&&f.memoizedState===null){var Te=f.alternate;if(Te!==null){var We=Te.memoizedState;if(We!==null){var gt=We.dehydrated;gt!==null&&qu(gt)}}}break;case 19:case 17:case 21:case 22:case 23:break;default:throw Error(o(163))}gr||f.flags&512&&Kr(f)}catch(Wt){Yr(f,f.return,Wt)}}if(f===h){Ke=null;break}if(x=f.sibling,x!==null){x.return=f.return,Ke=x;break}Ke=f.return}}function Nf(h){for(;Ke!==null;){var f=Ke;if(f===h){Ke=null;break}var x=f.sibling;if(x!==null){x.return=f.return,Ke=x;break}Ke=f.return}}function Aa(h){for(;Ke!==null;){var f=Ke;try{switch(f.tag){case 0:case 11:case 15:var x=f.return;try{Ar(4,f)}catch(Te){Yr(f,x,Te)}break;case 1:var b=f.stateNode;if(typeof b.componentDidMount=="function"){var R=f.return;try{b.componentDidMount()}catch(Te){Yr(f,R,Te)}}var D=f.return;try{Kr(f)}catch(Te){Yr(f,D,Te)}break;case 5:var Y=f.return;try{Kr(f)}catch(Te){Yr(f,Y,Te)}}}catch(Te){Yr(f,f.return,Te)}if(f===h){Ke=null;break}var le=f.sibling;if(le!==null){le.return=f.return,Ke=le;break}Ke=f.return}}var Oc=0,Ea=1,ba=2,io=3,Tl=4;if(typeof Symbol=="function"&&Symbol.for){var Ca=Symbol.for;Oc=Ca("selector.component"),Ea=Ca("selector.has_pseudo_class"),ba=Ca("selector.role"),io=Ca("selector.test_id"),Tl=Ca("selector.text")}function Dc(h){var f=K(h);if(f!=null){if(typeof f.memoizedProps["data-testname"]!="string")throw Error(o(364));return f}if(h=J(h),h===null)throw Error(o(362));return h.stateNode.current}function Lc(h,f){switch(f.$$typeof){case Oc:if(h.type===f.value)return!0;break;case Ea:e:{f=f.value,h=[h,0];for(var x=0;x<h.length;){var b=h[x++],R=h[x++],D=f[R];if(b.tag!==5||!ye(b)){for(;D!=null&&Lc(b,D);)R++,D=f[R];if(R===f.length){f=!0;break e}else for(b=b.child;b!==null;)h.push(b,R),b=b.sibling}}f=!1}return f;case ba:if(h.tag===5&&Pe(h.stateNode,f.value))return!0;break;case Tl:if((h.tag===5||h.tag===6)&&(h=ee(h),h!==null&&0<=h.indexOf(f.value)))return!0;break;case io:if(h.tag===5&&(h=h.memoizedProps["data-testname"],typeof h=="string"&&h.toLowerCase()===f.value.toLowerCase()))return!0;break;default:throw Error(o(365))}return!1}function zo(h){switch(h.$$typeof){case Oc:return"<"+(N(h.value)||"Unknown")+">";case Ea:return":has("+(zo(h)||"")+")";case ba:return'[role="'+h.value+'"]';case Tl:return'"'+h.value+'"';case io:return'[data-testname="'+h.value+'"]';default:throw Error(o(365))}}function Si(h,f){var x=[];h=[h,0];for(var b=0;b<h.length;){var R=h[b++],D=h[b++],Y=f[D];if(R.tag!==5||!ye(R)){for(;Y!=null&&Lc(R,Y);)D++,Y=f[D];if(D===f.length)x.push(R);else for(R=R.child;R!==null;)h.push(R,D),R=R.sibling}}return x}function so(h,f){if(!$e)throw Error(o(363));h=Dc(h),h=Si(h,f),f=[],h=Array.from(h);for(var x=0;x<h.length;){var b=h[x++];if(b.tag===5)ye(b)||f.push(b.stateNode);else for(b=b.child;b!==null;)h.push(b),b=b.sibling}return f}var Ff=Math.ceil,Nc=l.ReactCurrentDispatcher,cs=l.ReactCurrentOwner,wn=l.ReactCurrentBatchConfig,qt=0,Kn=null,An=null,Fn=0,Lr=0,Ta=yt(0),Wn=0,Il=null,Bs=0,wi=0,Ia=0,oo=null,rr=null,Fc=0,Ho=1/0;function Pa(){Ho=ar()+500}var Pl=!1,Ln=null,us=null,Rl=!1,Os=null,Ra=0,Ba=0,ao=null,Pn=-1,Xn=0;function mn(){return qt&6?ar():Pn!==-1?Pn:Pn=ar()}function hs(h){return h.mode&1?qt&2&&Fn!==0?Fn&-Fn:Am.transition!==null?(Xn===0&&(h=bs,bs<<=1,!(bs&4194240)&&(bs=64),Xn=h),Xn):(h=on,h!==0?h:Fe()):1}function Nr(h,f,x){if(50<Ba)throw Ba=0,ao=null,Error(o(185));var b=Go(h,f);return b===null?null:(ia(b,f,x),(!(qt&2)||b!==Kn)&&(b===Kn&&(!(qt&2)&&(wi|=f),Wn===4&&br(b,Fn)),si(b,x),f===1&&qt===0&&!(h.mode&1)&&(Pa(),ih&&Ui())),b)}function Go(h,f){h.lanes|=f;var x=h.alternate;for(x!==null&&(x.lanes|=f),x=h,h=h.return;h!==null;)h.childLanes|=f,x=h.alternate,x!==null&&(x.childLanes|=f),x=h,h=h.return;return x.tag===3?x.stateNode:null}function si(h,f){var x=h.callbackNode;wm(h,f);var b=hc(h,h===Kn?Fn:0);if(b===0)x!==null&&ul(x),h.callbackNode=null,h.callbackPriority=0;else if(f=b&-b,h.callbackPriority!==f){if(x!=null&&ul(x),f===1)h.tag===0?oh(Ai.bind(null,h)):sh(Ai.bind(null,h)),Ve?St(function(){qt===0&&Ui()}):sa(oa,Ui),x=null;else{switch(Ws(b)){case 1:x=oa;break;case 4:x=A1;break;case 16:x=nh;break;case 536870912:x=rh;break;default:x=nh}x=Uh(x,Er.bind(null,h))}h.callbackPriority=f,h.callbackNode=x}}function Er(h,f){if(Pn=-1,Xn=0,qt&6)throw Error(o(327));var x=h.callbackNode;if(Ds()&&h.callbackNode!==x)return null;var b=hc(h,h===Kn?Fn:0);if(b===0)return null;if(b&30||b&h.expiredLanes||f)f=zc(h,b);else{f=b;var R=qt;qt|=2;var D=jf();(Kn!==h||Fn!==f)&&(Pa(),lo(h,f));do try{jm();break}catch(le){Uf(h,le)}while(!0);Wr(),Nc.current=D,qt=R,An!==null?f=0:(Kn=null,Fn=0,f=Wn)}if(f!==0){if(f===2&&(R=Zu(h),R!==0&&(b=R,f=kc(h,R))),f===1)throw x=Il,lo(h,0),br(h,b),si(h,ar()),x;if(f===6)br(h,b);else{if(R=h.current.alternate,!(b&30)&&!kf(R)&&(f=zc(h,b),f===2&&(D=Zu(h),D!==0&&(b=D,f=kc(h,D))),f===1))throw x=Il,lo(h,0),br(h,b),si(h,ar()),x;switch(h.finishedWork=R,h.finishedLanes=b,f){case 0:case 1:throw Error(o(345));case 2:ds(h,rr);break;case 3:if(br(h,b),(b&130023424)===b&&(f=Fc+500-ar(),10<f)){if(hc(h,0)!==0)break;if(R=h.suspendedLanes,(R&b)!==b){mn(),h.pingedLanes|=h.suspendedLanes&R;break}h.timeoutHandle=Ie(ds.bind(null,h,rr),f);break}ds(h,rr);break;case 4:if(br(h,b),(b&4194240)===b)break;for(f=h.eventTimes,R=-1;0<b;){var Y=31-On(b);D=1<<Y,Y=f[Y],Y>R&&(R=Y),b&=~D}if(b=R,b=ar()-b,b=(120>b?120:480>b?480:1080>b?1080:1920>b?1920:3e3>b?3e3:4320>b?4320:1960*Ff(b/1960))-b,10<b){h.timeoutHandle=Ie(ds.bind(null,h,rr),b);break}ds(h,rr);break;case 5:ds(h,rr);break;default:throw Error(o(329))}}}return si(h,ar()),h.callbackNode===x?Er.bind(null,h):null}function kc(h,f){var x=oo;return h.current.memoizedState.isDehydrated&&(lo(h,f).flags|=256),h=zc(h,f),h!==2&&(f=rr,rr=x,f!==null&&Uc(f)),h}function Uc(h){rr===null?rr=h:rr.push.apply(rr,h)}function kf(h){for(var f=h;;){if(f.flags&16384){var x=f.updateQueue;if(x!==null&&(x=x.stores,x!==null))for(var b=0;b<x.length;b++){var R=x[b],D=R.getSnapshot;R=R.value;try{if(!Vr(D(),R))return!1}catch{return!1}}}if(x=f.child,f.subtreeFlags&16384&&x!==null)x.return=f,f=x;else{if(f===h)break;for(;f.sibling===null;){if(f.return===null||f.return===h)return!0;f=f.return}f.sibling.return=f.return,f=f.sibling}}return!0}function br(h,f){for(f&=~Ia,f&=~wi,h.suspendedLanes|=f,h.pingedLanes&=~f,h=h.expirationTimes;0<f;){var x=31-On(f),b=1<<x;h[x]=-1,f&=~b}}function Ai(h){if(qt&6)throw Error(o(327));Ds();var f=hc(h,0);if(!(f&1))return si(h,ar()),null;var x=zc(h,f);if(h.tag!==0&&x===2){var b=Zu(h);b!==0&&(f=b,x=kc(h,b))}if(x===1)throw x=Il,lo(h,0),br(h,f),si(h,ar()),x;if(x===6)throw Error(o(345));return h.finishedWork=h.current.alternate,h.finishedLanes=f,ds(h,rr),si(h,ar()),null}function Bl(h){Os!==null&&Os.tag===0&&!(qt&6)&&Ds();var f=qt;qt|=1;var x=wn.transition,b=on;try{if(wn.transition=null,on=1,h)return h()}finally{on=b,wn.transition=x,qt=f,!(qt&6)&&Ui()}}function jc(){Lr=Ta.current,dt(Ta)}function lo(h,f){h.finishedWork=null,h.finishedLanes=0;var x=h.timeoutHandle;if(x!==qe&&(h.timeoutHandle=qe,Ge(x)),An!==null)for(x=An.return;x!==null;){var b=x;switch(ff(b),b.tag){case 1:b=b.type.childContextTypes,b!=null&&nr();break;case 3:_l(),dt(zt),dt(sn),pa();break;case 5:gf(b);break;case 4:_l();break;case 13:dt(jn);break;case 19:dt(jn);break;case 10:gc(b.type._context);break;case 22:case 23:jc()}x=x.return}if(Kn=h,An=h=co(h.current,null),Fn=Lr=f,Wn=0,Il=null,Ia=wi=Bs=0,rr=oo=null,ji!==null){for(f=0;f<ji.length;f++)if(x=ji[f],b=x.interleaved,b!==null){x.interleaved=null;var R=b.next,D=x.pending;if(D!==null){var Y=D.next;D.next=R,b.next=Y}x.pending=b}ji=null}return h}function Uf(h,f){do{var x=An;try{if(Wr(),vc.current=Al,vh){for(var b=zn.memoizedState;b!==null;){var R=b.queue;R!==null&&(R.pending=null),b=b.next}vh=!1}if(ma=0,fr=dr=zn=null,Is=!1,ga=0,cs.current=null,x===null||x.return===null){Wn=1,Il=f,An=null;break}e:{var D=h,Y=x.return,le=x,Te=f;if(f=Fn,le.flags|=32768,Te!==null&&typeof Te=="object"&&typeof Te.then=="function"){var We=Te,gt=le,Wt=gt.tag;if(!(gt.mode&1)&&(Wt===0||Wt===11||Wt===15)){var Ot=gt.alternate;Ot?(gt.updateQueue=Ot.updateQueue,gt.memoizedState=Ot.memoizedState,gt.lanes=Ot.lanes):(gt.updateQueue=null,gt.memoizedState=null)}var tn=bf(Y);if(tn!==null){tn.flags&=-257,va(tn,Y,le,D,f),tn.mode&1&&Qs(D,We,f),f=tn,Te=We;var at=f.updateQueue;if(at===null){var Cr=new Set;Cr.add(Te),f.updateQueue=Cr}else at.add(Te);break e}else{if(!(f&1)){Qs(D,We,f),kh();break e}Te=Error(o(426))}}else if(Nn&&le.mode&1){var bi=bf(Y);if(bi!==null){!(bi.flags&65536)&&(bi.flags|=256),va(bi,Y,le,D,f),mh(Te);break e}}D=Te,Wn!==4&&(Wn=2),oo===null?oo=[D]:oo.push(D),Te=Ef(Te,le),le=Y;do{switch(le.tag){case 3:le.flags|=65536,f&=-f,le.lanes|=f;var xe=Fm(le,Te,f);ch(le,xe);break e;case 1:D=Te;var fe=le.type,Ee=le.stateNode;if(!(le.flags&128)&&(typeof fe.getDerivedStateFromError=="function"||Ee!==null&&typeof Ee.componentDidCatch=="function"&&(us===null||!us.has(Ee)))){le.flags|=65536,f&=-f,le.lanes|=f;var rt=Th(le,D,f);ch(le,rt);break e}}le=le.return}while(le!==null)}Hf(x)}catch(At){f=At,An===x&&x!==null&&(An=x=x.return);continue}break}while(!0)}function jf(){var h=Nc.current;return Nc.current=Al,h===null?Al:h}function kh(){(Wn===0||Wn===3||Wn===2)&&(Wn=4),Kn===null||!(Bs&268435455)&&!(wi&268435455)||br(Kn,Fn)}function zc(h,f){var x=qt;qt|=2;var b=jf();Kn===h&&Fn===f||lo(h,f);do try{Um();break}catch(R){Uf(h,R)}while(!0);if(Wr(),qt=x,Nc.current=b,An!==null)throw Error(o(261));return Kn=null,Fn=0,Wn}function Um(){for(;An!==null;)zf(An)}function jm(){for(;An!==null&&!Bo();)zf(An)}function zf(h){var f=Wf(h.alternate,h,Lr);h.memoizedProps=h.pendingProps,f===null?Hf(h):An=f,cs.current=null}function Hf(h){var f=h;do{var x=f.alternate;if(h=f.return,f.flags&32768){if(x=Dh(x,f),x!==null){x.flags&=32767,An=x;return}if(h!==null)h.flags|=32768,h.subtreeFlags=0,h.deletions=null;else{Wn=6,An=null;return}}else if(x=Rh(x,f,Lr),x!==null){An=x;return}if(f=f.sibling,f!==null){An=f;return}An=f=h}while(f!==null);Wn===0&&(Wn=5)}function ds(h,f){var x=on,b=wn.transition;try{wn.transition=null,on=1,zm(h,f,x)}finally{wn.transition=b,on=x}return null}function zm(h,f,x){do Ds();while(Os!==null);if(qt&6)throw Error(o(327));var b=h.finishedWork,R=h.finishedLanes;if(b===null)return null;if(h.finishedWork=null,h.finishedLanes=0,b===h.current)throw Error(o(177));h.callbackNode=null,h.callbackPriority=0;var D=b.lanes|b.childLanes;if(th(h,D),h===Kn&&(An=Kn=null,Fn=0),!(b.subtreeFlags&2064)&&!(b.flags&2064)||Rl||(Rl=!0,Uh(nh,function(){return Ds(),null})),D=(b.flags&15990)!==0,b.subtreeFlags&15990||D){D=wn.transition,wn.transition=null;var Y=on;on=1;var le=qt;qt|=4,cs.current=null,Rf(h,b),C1(h,b),q(h.containerInfo),h.current=b,Rc(b),w1(),qt=le,on=Y,wn.transition=D}else h.current=b;if(Rl&&(Rl=!1,Os=h,Ra=R),D=h.pendingLanes,D===0&&(us=null),fc(b.stateNode),si(h,ar()),f!==null)for(x=h.onRecoverableError,b=0;b<f.length;b++)x(f[b]);if(Pl)throw Pl=!1,h=Ln,Ln=null,h;return Ra&1&&h.tag!==0&&Ds(),D=h.pendingLanes,D&1?h===ao?Ba++:(Ba=0,ao=h):Ba=0,Ui(),null}function Ds(){if(Os!==null){var h=Ws(Ra),f=wn.transition,x=on;try{if(wn.transition=null,on=16>h?16:h,Os===null)var b=!1;else{if(h=Os,Os=null,Ra=0,qt&6)throw Error(o(331));var R=qt;for(qt|=4,Ke=h.current;Ke!==null;){var D=Ke,Y=D.child;if(Ke.flags&16){var le=D.deletions;if(le!==null){for(var Te=0;Te<le.length;Te++){var We=le[Te];for(Ke=We;Ke!==null;){var gt=Ke;switch(gt.tag){case 0:case 11:case 15:ro(8,gt,D)}var Wt=gt.child;if(Wt!==null)Wt.return=gt,Ke=Wt;else for(;Ke!==null;){gt=Ke;var Ot=gt.sibling,tn=gt.return;if(Bf(gt),gt===We){Ke=null;break}if(Ot!==null){Ot.return=tn,Ke=Ot;break}Ke=tn}}}var at=D.alternate;if(at!==null){var Cr=at.child;if(Cr!==null){at.child=null;do{var bi=Cr.sibling;Cr.sibling=null,Cr=bi}while(Cr!==null)}}Ke=D}}if(D.subtreeFlags&2064&&Y!==null)Y.return=D,Ke=Y;else e:for(;Ke!==null;){if(D=Ke,D.flags&2048)switch(D.tag){case 0:case 11:case 15:ro(9,D,D.return)}var xe=D.sibling;if(xe!==null){xe.return=D.return,Ke=xe;break e}Ke=D.return}}var fe=h.current;for(Ke=fe;Ke!==null;){Y=Ke;var Ee=Y.child;if(Y.subtreeFlags&2064&&Ee!==null)Ee.return=Y,Ke=Ee;else e:for(Y=fe;Ke!==null;){if(le=Ke,le.flags&2048)try{switch(le.tag){case 0:case 11:case 15:Ar(9,le)}}catch(At){Yr(le,le.return,At)}if(le===Y){Ke=null;break e}var rt=le.sibling;if(rt!==null){rt.return=le.return,Ke=rt;break e}Ke=le.return}}if(qt=R,Ui(),Ts&&typeof Ts.onPostCommitFiberRoot=="function")try{Ts.onPostCommitFiberRoot(dc,h)}catch{}b=!0}return b}finally{on=x,wn.transition=f}}return!1}function Hc(h,f,x){f=Ef(x,f),f=Fm(h,f,1),Oo(h,f),f=mn(),h=Go(h,1),h!==null&&(ia(h,1,f),si(h,f))}function Yr(h,f,x){if(h.tag===3)Hc(h,h,x);else for(;f!==null;){if(f.tag===3){Hc(f,h,x);break}else if(f.tag===1){var b=f.stateNode;if(typeof f.type.getDerivedStateFromError=="function"||typeof b.componentDidCatch=="function"&&(us===null||!us.has(b))){h=Ef(x,h),h=Th(f,h,1),Oo(f,h),h=mn(),f=Go(f,1),f!==null&&(ia(f,1,h),si(f,h));break}}f=f.return}}function Gf(h,f,x){var b=h.pingCache;b!==null&&b.delete(f),f=mn(),h.pingedLanes|=h.suspendedLanes&x,Kn===h&&(Fn&x)===x&&(Wn===4||Wn===3&&(Fn&130023424)===Fn&&500>ar()-Fc?lo(h,0):Ia|=x),si(h,f)}function Vf(h,f){f===0&&(h.mode&1?(f=en,en<<=1,!(en&130023424)&&(en=4194304)):f=1);var x=mn();h=Go(h,f),h!==null&&(ia(h,f,x),si(h,x))}function Hm(h){var f=h.memoizedState,x=0;f!==null&&(x=f.retryLane),Vf(h,x)}function Gm(h,f){var x=0;switch(h.tag){case 13:var b=h.stateNode,R=h.memoizedState;R!==null&&(x=R.retryLane);break;case 19:b=h.stateNode;break;default:throw Error(o(314))}b!==null&&b.delete(f),Vf(h,x)}var Wf;Wf=function(h,f,x){if(h!==null)if(h.memoizedProps!==f.pendingProps||zt.current)mr=!0;else{if(!(h.lanes&x)&&!(f.flags&128))return mr=!1,Oh(h,f,x);mr=!!(h.flags&131072)}else mr=!1,Nn&&f.flags&1048576&&Im(f,fh,f.index);switch(f.lanes=0,f.tag){case 2:var b=f.type;h!==null&&(h.alternate=null,f.alternate=null,f.flags|=2),h=f.pendingProps;var R=En(f,sn.current);hl(f,x),R=xl(null,f,b,h,R,x);var D=Fo();return f.flags|=1,typeof R=="object"&&R!==null&&typeof R.render=="function"&&R.$$typeof===void 0?(f.tag=1,f.memoizedState=null,f.updateQueue=null,jt(b)?(D=!0,Es(f)):D=!1,f.memoizedState=R.state!==null&&R.state!==void 0?R.state:null,dl(f),R.updater=hh,f.stateNode=R,R._reactInternals=f,hf(f,b,h,x),f=Dr(null,f,b,!0,D,x)):(f.tag=0,Nn&&D&&df(f),Vn(null,f,R,x),f=f.child),f;case 16:b=f.elementType;e:{switch(h!==null&&(h.alternate=null,f.alternate=null,f.flags|=2),h=f.pendingProps,R=b._init,b=R(b._payload),f.type=b,R=f.tag=T1(b),h=ti(b,h),R){case 0:f=to(null,f,b,h,x);break e;case 1:f=xa(null,f,b,h,x);break e;case 11:f=In(null,f,b,h,x);break e;case 14:f=bn(null,f,b,ti(b.type,h),x);break e}throw Error(o(306,b,""))}return f;case 0:return b=f.type,R=f.pendingProps,R=f.elementType===b?R:ti(b,R),to(h,f,b,R,x);case 1:return b=f.type,R=f.pendingProps,R=f.elementType===b?R:ti(b,R),xa(h,f,b,R,x);case 3:e:{if(Cc(f),h===null)throw Error(o(387));b=f.pendingProps,D=f.memoizedState,R=D.element,lf(h,f),uh(f,b,null,x);var Y=f.memoizedState;if(b=Y.element,Oe&&D.isDehydrated)if(D={element:b,isDehydrated:!1,cache:Y.cache,transitions:Y.transitions},f.updateQueue.baseState=D,f.memoizedState=D,f.flags&256){R=Error(o(423)),f=Tf(h,f,b,x,R);break e}else if(b!==R){R=Error(o(424)),f=Tf(h,f,b,x,R);break e}else for(Oe&&(Sr=Xu(f.stateNode.containerInfo),Xr=f,Nn=!0,Gi=null,pl=!1),x=Bm(f,null,b,x),f.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(ml(),b===R){f=ii(h,f,x);break e}Vn(h,f,b,x)}f=f.child}return f;case 5:return Om(f),h===null&&Lo(f),b=f.type,R=f.pendingProps,D=h!==null?h.memoizedProps:null,Y=R.children,Ae(b,R)?Y=null:D!==null&&Ae(b,D)&&(f.flags|=32),Jr(h,f),Vn(h,f,Y,x),f.child;case 6:return h===null&&Lo(f),null;case 13:return If(h,f,x);case 4:return gh(f,f.stateNode.containerInfo),b=f.pendingProps,h===null?f.child=Ys(f,null,b,x):Vn(h,f,b,x),f.child;case 11:return b=f.type,R=f.pendingProps,R=f.elementType===b?R:ti(b,R),In(h,f,b,R,x);case 7:return Vn(h,f,f.pendingProps,x),f.child;case 8:return Vn(h,f,f.pendingProps.children,x),f.child;case 12:return Vn(h,f,f.pendingProps.children,x),f.child;case 10:e:{if(b=f.type._context,R=f.pendingProps,D=f.memoizedProps,Y=R.value,la(f,b,Y),D!==null)if(Vr(D.value,Y)){if(D.children===R.children&&!zt.current){f=ii(h,f,x);break e}}else for(D=f.child,D!==null&&(D.return=f);D!==null;){var le=D.dependencies;if(le!==null){Y=D.child;for(var Te=le.firstContext;Te!==null;){if(Te.context===b){if(D.tag===1){Te=Js(-1,x&-x),Te.tag=2;var We=D.updateQueue;if(We!==null){We=We.shared;var gt=We.pending;gt===null?Te.next=Te:(Te.next=gt.next,gt.next=Te),We.pending=Te}}D.lanes|=x,Te=D.alternate,Te!==null&&(Te.lanes|=x),ca(D.return,x,f),le.lanes|=x;break}Te=Te.next}}else if(D.tag===10)Y=D.type===f.type?null:D.child;else if(D.tag===18){if(Y=D.return,Y===null)throw Error(o(341));Y.lanes|=x,le=Y.alternate,le!==null&&(le.lanes|=x),ca(Y,x,f),Y=D.sibling}else Y=D.child;if(Y!==null)Y.return=D;else for(Y=D;Y!==null;){if(Y===f){Y=null;break}if(D=Y.sibling,D!==null){D.return=Y.return,Y=D;break}Y=Y.return}D=Y}Vn(h,f,R.children,x),f=f.child}return f;case 9:return R=f.type,b=f.pendingProps.children,hl(f,x),R=ni(R),b=b(R),f.flags|=1,Vn(h,f,b,x),f.child;case 14:return b=f.type,R=ti(b,f.pendingProps),R=ti(b.type,R),bn(h,f,b,R,x);case 15:return eo(h,f,f.type,f.pendingProps,x);case 17:return b=f.type,R=f.pendingProps,R=f.elementType===b?R:ti(b,R),h!==null&&(h.alternate=null,f.alternate=null,f.flags|=2),f.tag=1,jt(b)?(h=!0,Es(f)):h=!1,hl(f,x),Cm(f,b,R),hf(f,b,R,x),Dr(null,f,b,!0,h,x);case 19:return Sa(h,f,x);case 22:return wr(h,f,x)}throw Error(o(156,f.tag))};function Uh(h,f){return sa(h,f)}function Vm(h,f,x,b){this.tag=h,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=f,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=b,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ei(h,f,x,b){return new Vm(h,f,x,b)}function jh(h){return h=h.prototype,!(!h||!h.isReactComponent)}function T1(h){if(typeof h=="function")return jh(h)?1:0;if(h!=null){if(h=h.$$typeof,h===E)return 11;if(h===T)return 14}return 2}function co(h,f){var x=h.alternate;return x===null?(x=Ei(h.tag,f,h.key,h.mode),x.elementType=h.elementType,x.type=h.type,x.stateNode=h.stateNode,x.alternate=h,h.alternate=x):(x.pendingProps=f,x.type=h.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=h.flags&14680064,x.childLanes=h.childLanes,x.lanes=h.lanes,x.child=h.child,x.memoizedProps=h.memoizedProps,x.memoizedState=h.memoizedState,x.updateQueue=h.updateQueue,f=h.dependencies,x.dependencies=f===null?null:{lanes:f.lanes,firstContext:f.firstContext},x.sibling=h.sibling,x.index=h.index,x.ref=h.ref,x}function zh(h,f,x,b,R,D){var Y=2;if(b=h,typeof h=="function")jh(h)&&(Y=1);else if(typeof h=="string")Y=5;else e:switch(h){case p:return Oa(x.children,R,D,f);case m:Y=8,R|=8;break;case y:return h=Ei(12,x,f,R|2),h.elementType=y,h.lanes=D,h;case A:return h=Ei(13,x,f,R),h.elementType=A,h.lanes=D,h;case M:return h=Ei(19,x,f,R),h.elementType=M,h.lanes=D,h;case P:return Gc(x,R,D,f);default:if(typeof h=="object"&&h!==null)switch(h.$$typeof){case v:Y=10;break e;case S:Y=9;break e;case E:Y=11;break e;case T:Y=14;break e;case I:Y=16,b=null;break e}throw Error(o(130,h==null?h:typeof h,""))}return f=Ei(Y,x,f,R),f.elementType=h,f.type=b,f.lanes=D,f}function Oa(h,f,x,b){return h=Ei(7,h,b,f),h.lanes=x,h}function Gc(h,f,x,b){return h=Ei(22,h,b,f),h.elementType=P,h.lanes=x,h.stateNode={},h}function Hh(h,f,x){return h=Ei(6,h,null,f),h.lanes=x,h}function Gh(h,f,x){return f=Ei(4,h.children!==null?h.children:[],h.key,f),f.lanes=x,f.stateNode={containerInfo:h.containerInfo,pendingChildren:null,implementation:h.implementation},f}function Vh(h,f,x,b,R){this.tag=f,this.containerInfo=h,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=qe,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=eh(0),this.expirationTimes=eh(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=eh(0),this.identifierPrefix=b,this.onRecoverableError=R,Oe&&(this.mutableSourceEagerHydrationData=null)}function Wm(h,f,x,b,R,D,Y,le,Te){return h=new Vh(h,f,x,le,Te),f===1?(f=1,D===!0&&(f|=8)):f=0,D=Ei(3,null,null,f),h.current=D,D.stateNode=h,D.memoizedState={element:b,isDehydrated:x,cache:null,transitions:null},dl(D),h}function Xm(h){if(!h)return rn;h=h._reactInternals;e:{if(F(h)!==h||h.tag!==1)throw Error(o(170));var f=h;do{switch(f.tag){case 3:f=f.stateNode.context;break e;case 1:if(jt(f.type)){f=f.stateNode.__reactInternalMemoizedMergedChildContext;break e}}f=f.return}while(f!==null);throw Error(o(171))}if(h.tag===1){var x=h.type;if(jt(x))return Rr(h,x,f)}return f}function Jm(h){var f=h._reactInternals;if(f===void 0)throw typeof h.render=="function"?Error(o(188)):(h=Object.keys(h).join(","),Error(o(268,h)));return h=te(f),h===null?null:h.stateNode}function Xi(h,f){if(h=h.memoizedState,h!==null&&h.dehydrated!==null){var x=h.retryLane;h.retryLane=x!==0&&x<f?x:f}}function Vc(h,f){Xi(h,f),(h=h.alternate)&&Xi(h,f)}function Wh(h){return h=te(h),h===null?null:h.stateNode}function $m(){return null}return t.attemptContinuousHydration=function(h){if(h.tag===13){var f=mn();Nr(h,134217728,f),Vc(h,134217728)}},t.attemptHydrationAtCurrentPriority=function(h){if(h.tag===13){var f=mn(),x=hs(h);Nr(h,x,f),Vc(h,x)}},t.attemptSynchronousHydration=function(h){switch(h.tag){case 3:var f=h.stateNode;if(f.current.memoizedState.isDehydrated){var x=cl(f.pendingLanes);x!==0&&(Cs(f,x|1),si(f,ar()),!(qt&6)&&(Pa(),Ui()))}break;case 13:var b=mn();Bl(function(){return Nr(h,1,b)}),Vc(h,1)}},t.batchedUpdates=function(h,f){var x=qt;qt|=1;try{return h(f)}finally{qt=x,qt===0&&(Pa(),ih&&Ui())}},t.createComponentSelector=function(h){return{$$typeof:Oc,value:h}},t.createContainer=function(h,f,x,b,R,D,Y){return Wm(h,f,!1,null,x,b,R,D,Y)},t.createHasPseudoClassSelector=function(h){return{$$typeof:Ea,value:h}},t.createHydrationContainer=function(h,f,x,b,R,D,Y,le,Te){return h=Wm(x,b,!0,h,R,D,Y,le,Te),h.context=Xm(null),x=h.current,b=mn(),R=hs(x),D=Js(b,R),D.callback=f??null,Oo(x,D),h.current.lanes=R,ia(h,R,b),si(h,b),h},t.createPortal=function(h,f,x){var b=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:d,key:b==null?null:""+b,children:h,containerInfo:f,implementation:x}},t.createRoleSelector=function(h){return{$$typeof:ba,value:h}},t.createTestNameSelector=function(h){return{$$typeof:io,value:h}},t.createTextSelector=function(h){return{$$typeof:Tl,value:h}},t.deferredUpdates=function(h){var f=on,x=wn.transition;try{return wn.transition=null,on=16,h()}finally{on=f,wn.transition=x}},t.discreteUpdates=function(h,f,x,b,R){var D=on,Y=wn.transition;try{return wn.transition=null,on=1,h(f,x,b,R)}finally{on=D,wn.transition=Y,qt===0&&Pa()}},t.findAllNodes=so,t.findBoundingRects=function(h,f){if(!$e)throw Error(o(363));f=so(h,f),h=[];for(var x=0;x<f.length;x++)h.push(G(f[x]));for(f=h.length-1;0<f;f--){x=h[f];for(var b=x.x,R=b+x.width,D=x.y,Y=D+x.height,le=f-1;0<=le;le--)if(f!==le){var Te=h[le],We=Te.x,gt=We+Te.width,Wt=Te.y,Ot=Wt+Te.height;if(b>=We&&D>=Wt&&R<=gt&&Y<=Ot){h.splice(f,1);break}else if(b!==We||x.width!==Te.width||Ot<D||Wt>Y){if(!(D!==Wt||x.height!==Te.height||gt<b||We>R)){We>b&&(Te.width+=We-b,Te.x=b),gt<R&&(Te.width=R-We),h.splice(f,1);break}}else{Wt>D&&(Te.height+=Wt-D,Te.y=D),Ot<Y&&(Te.height=Y-Wt),h.splice(f,1);break}}}return h},t.findHostInstance=Jm,t.findHostInstanceWithNoPortals=function(h){return h=V(h),h=h!==null?ce(h):null,h===null?null:h.stateNode},t.findHostInstanceWithWarning=function(h){return Jm(h)},t.flushControlled=function(h){var f=qt;qt|=1;var x=wn.transition,b=on;try{wn.transition=null,on=1,h()}finally{on=b,wn.transition=x,qt=f,qt===0&&(Pa(),Ui())}},t.flushPassiveEffects=Ds,t.flushSync=Bl,t.focusWithin=function(h,f){if(!$e)throw Error(o(363));for(h=Dc(h),f=Si(h,f),f=Array.from(f),h=0;h<f.length;){var x=f[h++];if(!ye(x)){if(x.tag===5&&be(x.stateNode))return!0;for(x=x.child;x!==null;)f.push(x),x=x.sibling}}return!1},t.getCurrentUpdatePriority=function(){return on},t.getFindAllNodesFailureDescription=function(h,f){if(!$e)throw Error(o(363));var x=0,b=[];h=[Dc(h),0];for(var R=0;R<h.length;){var D=h[R++],Y=h[R++],le=f[Y];if((D.tag!==5||!ye(D))&&(Lc(D,le)&&(b.push(zo(le)),Y++,Y>x&&(x=Y)),Y<f.length))for(D=D.child;D!==null;)h.push(D,Y),D=D.sibling}if(x<f.length){for(h=[];x<f.length;x++)h.push(zo(f[x]));return`findAllNodes was able to match part of the selector: 3902 `+(b.join(" > ")+` 3903 3904No matching component was found for: 3905 `)+h.join(" > ")}return null},t.getPublicRootInstance=function(h){if(h=h.current,!h.child)return null;switch(h.child.tag){case 5:return he(h.child.stateNode);default:return h.child.stateNode}},t.injectIntoDevTools=function(h){if(h={bundleType:h.bundleType,version:h.version,rendererPackageName:h.rendererPackageName,rendererConfig:h.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:l.ReactCurrentDispatcher,findHostInstanceByFiber:Wh,findFiberByHostInstance:h.findFiberByHostInstance||$m,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")h=!1;else{var f=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(f.isDisabled||!f.supportsFiber)h=!0;else{try{dc=f.inject(h),Ts=f}catch{}h=!!f.checkDCE}}return h},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(h,f,x,b){if(!$e)throw Error(o(363));h=so(h,f);var R=et(h,x,b).disconnect;return{disconnect:function(){R()}}},t.registerMutableSourceForHydration=function(h,f){var x=f._getVersion;x=x(f._source),h.mutableSourceEagerHydrationData==null?h.mutableSourceEagerHydrationData=[f,x]:h.mutableSourceEagerHydrationData.push(f,x)},t.runWithPriority=function(h,f){var x=on;try{return on=h,f()}finally{on=x}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(h,f,x,b){var R=f.current,D=mn(),Y=hs(R);return x=Xm(x),f.context===null?f.context=x:f.pendingContext=x,f=Js(D,Y),f.payload={element:h},b=b===void 0?null:b,b!==null&&(f.callback=b),Oo(R,f),h=Nr(R,Y,D),h!==null&&lh(h,R,Y),Y},t}),Kv}var U2;function e9(){return U2||(U2=1,Xv.exports=Z6()),Xv.exports}var t9=e9();const n9=oc(t9);var Yv={exports:{}},qv={};/** 3906 * @license React 3907 * scheduler.production.min.js 3908 * 3909 * Copyright (c) Facebook, Inc. and its affiliates. 3910 * 3911 * This source code is licensed under the MIT license found in the 3912 * LICENSE file in the root directory of this source tree. 3913 */var j2;function r9(){return j2||(j2=1,function(r){function e(U,Z){var q=U.length;U.push(Z);e:for(;0<q;){var X=q-1>>>1,se=U[X];if(0<i(se,Z))U[X]=Z,U[q]=se,q=X;else break e}}function t(U){return U.length===0?null:U[0]}function n(U){if(U.length===0)return null;var Z=U[0],q=U.pop();if(q!==Z){U[0]=q;e:for(var X=0,se=U.length,Le=se>>>1;X<Le;){var pe=2*(X+1)-1,Ae=U[pe],Re=pe+1,Ie=U[Re];if(0>i(Ae,q))Re<se&&0>i(Ie,Ae)?(U[X]=Ie,U[Re]=q,X=Re):(U[X]=Ae,U[pe]=q,X=pe);else if(Re<se&&0>i(Ie,q))U[X]=Ie,U[Re]=q,X=Re;else break e}}return Z}function i(U,Z){var q=U.sortIndex-Z.sortIndex;return q!==0?q:U.id-Z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;r.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();r.unstable_now=function(){return o.now()-l}}var u=[],d=[],p=1,m=null,y=3,v=!1,S=!1,E=!1,A=typeof setTimeout=="function"?setTimeout:null,M=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function I(U){for(var Z=t(d);Z!==null;){if(Z.callback===null)n(d);else if(Z.startTime<=U)n(d),Z.sortIndex=Z.expirationTime,e(u,Z);else break;Z=t(d)}}function P(U){if(E=!1,I(U),!S)if(t(u)!==null)S=!0,he(k);else{var Z=t(d);Z!==null&&ge(P,Z.startTime-U)}}function k(U,Z){S=!1,E&&(E=!1,M(H),H=-1),v=!0;var q=y;try{for(I(Z),m=t(u);m!==null&&(!(m.expirationTime>Z)||U&&!V());){var X=m.callback;if(typeof X=="function"){m.callback=null,y=m.priorityLevel;var se=X(m.expirationTime<=Z);Z=r.unstable_now(),typeof se=="function"?m.callback=se:m===t(u)&&n(u),I(Z)}else n(u);m=t(u)}if(m!==null)var Le=!0;else{var pe=t(d);pe!==null&&ge(P,pe.startTime-Z),Le=!1}return Le}finally{m=null,y=q,v=!1}}var O=!1,N=null,H=-1,F=5,L=-1;function V(){return!(r.unstable_now()-L<F)}function te(){if(N!==null){var U=r.unstable_now();L=U;var Z=!0;try{Z=N(!0,U)}finally{Z?ne():(O=!1,N=null)}}else O=!1}var ne;if(typeof T=="function")ne=function(){T(te)};else if(typeof MessageChannel<"u"){var ce=new MessageChannel,me=ce.port2;ce.port1.onmessage=te,ne=function(){me.postMessage(null)}}else ne=function(){A(te,0)};function he(U){N=U,O||(O=!0,ne())}function ge(U,Z){H=A(function(){U(r.unstable_now())},Z)}r.unstable_IdlePriority=5,r.unstable_ImmediatePriority=1,r.unstable_LowPriority=4,r.unstable_NormalPriority=3,r.unstable_Profiling=null,r.unstable_UserBlockingPriority=2,r.unstable_cancelCallback=function(U){U.callback=null},r.unstable_continueExecution=function(){S||v||(S=!0,he(k))},r.unstable_forceFrameRate=function(U){0>U||125<U?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<U?Math.floor(1e3/U):5},r.unstable_getCurrentPriorityLevel=function(){return y},r.unstable_getFirstCallbackNode=function(){return t(u)},r.unstable_next=function(U){switch(y){case 1:case 2:case 3:var Z=3;break;default:Z=y}var q=y;y=Z;try{return U()}finally{y=q}},r.unstable_pauseExecution=function(){},r.unstable_requestPaint=function(){},r.unstable_runWithPriority=function(U,Z){switch(U){case 1:case 2:case 3:case 4:case 5:break;default:U=3}var q=y;y=U;try{return Z()}finally{y=q}},r.unstable_scheduleCallback=function(U,Z,q){var X=r.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?X+q:X):q=X,U){case 1:var se=-1;break;case 2:se=250;break;case 5:se=1073741823;break;case 4:se=1e4;break;default:se=5e3}return se=q+se,U={id:p++,callback:Z,priorityLevel:U,startTime:q,expirationTime:se,sortIndex:-1},q>X?(U.sortIndex=q,e(d,U),t(u)===null&&U===t(d)&&(E?(M(H),H=-1):E=!0,ge(P,q-X))):(U.sortIndex=se,e(u,U),S||v||(S=!0,he(k))),U},r.unstable_shouldYield=V,r.unstable_wrapCallback=function(U){var Z=y;return function(){var q=y;y=Z;try{return U.apply(this,arguments)}finally{y=q}}}}(qv)),qv}var z2;function i9(){return z2||(z2=1,Yv.exports=r9()),Yv.exports}var H2=i9();const BM={},s9=r=>void Object.assign(BM,r);function o9(r,e){function t(p,{args:m=[],attach:y,...v},S){let E=`${p[0].toUpperCase()}${p.slice(1)}`,A;if(p==="primitive"){if(v.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const M=v.object;A=xd(M,{type:p,root:S,attach:y,primitive:!0})}else{const M=BM[E];if(!M)throw new Error(`R3F: ${E} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(m))throw new Error("R3F: The args prop must be an array!");A=xd(new M(...m),{type:p,root:S,attach:y,memoizedProps:{args:m}})}return A.__r3f.attach===void 0&&(A instanceof Jt?A.__r3f.attach="geometry":A instanceof xr&&(A.__r3f.attach="material")),E!=="inject"&&e_(A,v),A}function n(p,m){let y=!1;if(m){var v,S;(v=m.__r3f)!=null&&v.attach?Zv(p,m,m.__r3f.attach):m.isObject3D&&p.isObject3D&&(p.add(m),y=!0),y||(S=p.__r3f)==null||S.objects.push(m),m.__r3f||xd(m,{}),m.__r3f.parent=p,sx(m),Md(m)}}function i(p,m,y){let v=!1;if(m){var S,E;if((S=m.__r3f)!=null&&S.attach)Zv(p,m,m.__r3f.attach);else if(m.isObject3D&&p.isObject3D){m.parent=p,m.dispatchEvent({type:"added"}),p.dispatchEvent({type:"childadded",child:m});const A=p.children.filter(T=>T!==m),M=A.indexOf(y);p.children=[...A.slice(0,M),m,...A.slice(M)],v=!0}v||(E=p.__r3f)==null||E.objects.push(m),m.__r3f||xd(m,{}),m.__r3f.parent=p,sx(m),Md(m)}}function s(p,m,y=!1){p&&[...p].forEach(v=>o(m,v,y))}function o(p,m,y){if(m){var v,S,E;if(m.__r3f&&(m.__r3f.parent=null),(v=p.__r3f)!=null&&v.objects&&(p.__r3f.objects=p.__r3f.objects.filter(P=>P!==m)),(S=m.__r3f)!=null&&S.attach)J2(p,m,m.__r3f.attach);else if(m.isObject3D&&p.isObject3D){var A;p.remove(m),(A=m.__r3f)!=null&&A.root&&m9(Sg(m),m)}const T=(E=m.__r3f)==null?void 0:E.primitive,I=!T&&(y===void 0?m.dispose!==null:y);if(!T){var M;s((M=m.__r3f)==null?void 0:M.objects,m,I),s(m.children,m,I)}if(delete m.__r3f,I&&m.dispose&&m.type!=="Scene"){const P=()=>{try{m.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?H2.unstable_scheduleCallback(H2.unstable_IdlePriority,P):P()}Md(p)}}function l(p,m,y,v){var S;const E=(S=p.__r3f)==null?void 0:S.parent;if(!E)return;const A=t(m,y,p.__r3f.root);if(p.children){for(const M of p.children)M.__r3f&&n(A,M);p.children=p.children.filter(M=>!M.__r3f)}p.__r3f.objects.forEach(M=>n(A,M)),p.__r3f.objects=[],p.__r3f.autoRemovedBeforeAppend||o(E,p),A.parent&&(A.__r3f.autoRemovedBeforeAppend=!0),n(E,A),A.raycast&&A.__r3f.eventCount&&Sg(A).getState().internal.interaction.push(A),[v,v.alternate].forEach(M=>{M!==null&&(M.stateNode=A,M.ref&&(typeof M.ref=="function"?M.ref(A):M.ref.current=A))})}const u=()=>{};return{reconciler:n9({createInstance:t,removeChild:o,appendChild:n,appendInitialChild:n,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(p,m)=>{if(!m)return;const y=p.getState().scene;y.__r3f&&(y.__r3f.root=p,n(y,m))},removeChildFromContainer:(p,m)=>{m&&o(p.getState().scene,m)},insertInContainerBefore:(p,m,y)=>{if(!m||!y)return;const v=p.getState().scene;v.__r3f&&i(v,m,y)},getRootHostContext:()=>null,getChildHostContext:p=>p,finalizeInitialChildren(p){var m;return!!((m=p==null?void 0:p.__r3f)!=null?m:{}).handlers},prepareUpdate(p,m,y,v){var S;if(((S=p==null?void 0:p.__r3f)!=null?S:{}).primitive&&v.object&&v.object!==p)return[!0];{const{args:A=[],children:M,...T}=v,{args:I=[],children:P,...k}=y;if(!Array.isArray(A))throw new Error("R3F: the args prop must be an array!");if(A.some((N,H)=>N!==I[H]))return[!0];const O=hT(p,T,k,!0);return O.changes.length?[!1,O]:null}},commitUpdate(p,[m,y],v,S,E,A){m?l(p,v,E,A):e_(p,y)},commitMount(p,m,y,v){var S;const E=(S=p.__r3f)!=null?S:{};p.raycast&&E.handlers&&E.eventCount&&Sg(p).getState().internal.interaction.push(p)},getPublicInstance:p=>p,prepareForCommit:()=>null,preparePortalMount:p=>xd(p.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(p){var m;const{attach:y,parent:v}=(m=p.__r3f)!=null?m:{};y&&v&&J2(v,p,y),p.isObject3D&&(p.visible=!1),Md(p)},unhideInstance(p,m){var y;const{attach:v,parent:S}=(y=p.__r3f)!=null?y:{};v&&S&&Zv(S,p,v),(p.isObject3D&&m.visible==null||m.visible)&&(p.visible=!0),Md(p)},createTextInstance:u,hideTextInstance:u,unhideTextInstance:u,getCurrentEventPriority:()=>e?e():Ed.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&kn.fun(performance.now)?performance.now:kn.fun(Date.now)?Date.now:()=>0,scheduleTimeout:kn.fun(setTimeout)?setTimeout:void 0,cancelTimeout:kn.fun(clearTimeout)?clearTimeout:void 0}),applyProps:e_}}var G2,V2;const Qv=r=>"colorSpace"in r||"outputColorSpace"in r,sT=()=>{var r;return(r=BM.ColorManagement)!=null?r:null},oT=r=>r&&r.isOrthographicCamera,a9=r=>r&&r.hasOwnProperty("current"),fm=typeof window<"u"&&((G2=window.document)!=null&&G2.createElement||((V2=window.navigator)==null?void 0:V2.product)==="ReactNative")?z.useLayoutEffect:z.useEffect;function aT(r){const e=z.useRef(r);return fm(()=>void(e.current=r),[r]),e}function l9({set:r}){return fm(()=>(r(new Promise(()=>null)),()=>r(!1)),[r]),null}class lT extends z.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}lT.getDerivedStateFromError=()=>({error:!0});const cT="__default",W2=new Map,c9=r=>r&&!!r.memoized&&!!r.changes;function uT(r){var e;const t=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(r)?Math.min(Math.max(r[0],t),r[1]):r}const dp=r=>{var e;return(e=r.__r3f)==null?void 0:e.root.getState()};function Sg(r){let e=r.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const kn={obj:r=>r===Object(r)&&!kn.arr(r)&&typeof r!="function",fun:r=>typeof r=="function",str:r=>typeof r=="string",num:r=>typeof r=="number",boo:r=>typeof r=="boolean",und:r=>r===void 0,arr:r=>Array.isArray(r),equ(r,e,{arrays:t="shallow",objects:n="reference",strict:i=!0}={}){if(typeof r!=typeof e||!!r!=!!e)return!1;if(kn.str(r)||kn.num(r)||kn.boo(r))return r===e;const s=kn.obj(r);if(s&&n==="reference")return r===e;const o=kn.arr(r);if(o&&t==="reference")return r===e;if((o||s)&&r===e)return!0;let l;for(l in r)if(!(l in e))return!1;if(s&&t==="shallow"&&n==="shallow"){for(l in i?e:r)if(!kn.equ(r[l],e[l],{strict:i,objects:"reference"}))return!1}else for(l in i?e:r)if(r[l]!==e[l])return!1;if(kn.und(l)){if(o&&r.length===0&&e.length===0||s&&Object.keys(r).length===0&&Object.keys(e).length===0)return!0;if(r!==e)return!1}return!0}};function u9(r){const e={nodes:{},materials:{}};return r&&r.traverse(t=>{t.name&&(e.nodes[t.name]=t),t.material&&!e.materials[t.material.name]&&(e.materials[t.material.name]=t.material)}),e}function h9(r){r.dispose&&r.type!=="Scene"&&r.dispose();for(const e in r)e.dispose==null||e.dispose(),delete r[e]}function xd(r,e){const t=r;return t.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},r}function ix(r,e){let t=r;if(e.includes("-")){const n=e.split("-"),i=n.pop();return t=n.reduce((s,o)=>s[o],r),{target:t,key:i}}else return{target:t,key:e}}const X2=/-\d+$/;function Zv(r,e,t){if(kn.str(t)){if(X2.test(t)){const s=t.replace(X2,""),{target:o,key:l}=ix(r,s);Array.isArray(o[l])||(o[l]=[])}const{target:n,key:i}=ix(r,t);e.__r3f.previousAttach=n[i],n[i]=e}else e.__r3f.previousAttach=t(r,e)}function J2(r,e,t){var n,i;if(kn.str(t)){const{target:s,key:o}=ix(r,t),l=e.__r3f.previousAttach;l===void 0?delete s[o]:s[o]=l}else(n=e.__r3f)==null||n.previousAttach==null||n.previousAttach(r,e);(i=e.__r3f)==null||delete i.previousAttach}function hT(r,{children:e,key:t,ref:n,...i},{children:s,key:o,ref:l,...u}={},d=!1){const p=r.__r3f,m=Object.entries(i),y=[];if(d){const S=Object.keys(u);for(let E=0;E<S.length;E++)i.hasOwnProperty(S[E])||m.unshift([S[E],cT+"remove"])}m.forEach(([S,E])=>{var A;if((A=r.__r3f)!=null&&A.primitive&&S==="object"||kn.equ(E,u[S]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(S))return y.push([S,E,!0,[]]);let M=[];S.includes("-")&&(M=S.split("-")),y.push([S,E,!1,M]);for(const T in i){const I=i[T];T.startsWith(`${S}-`)&&y.push([T,I,!1,T.split("-")])}});const v={...i};return p!=null&&p.memoizedProps&&p!=null&&p.memoizedProps.args&&(v.args=p.memoizedProps.args),p!=null&&p.memoizedProps&&p!=null&&p.memoizedProps.attach&&(v.attach=p.memoizedProps.attach),{memoized:v,changes:y}}const d9=typeof process<"u"&&!1;function e_(r,e){var t;const n=r.__r3f,i=n==null?void 0:n.root,s=i==null||i.getState==null?void 0:i.getState(),{memoized:o,changes:l}=c9(e)?e:hT(r,e),u=n==null?void 0:n.eventCount;r.__r3f&&(r.__r3f.memoizedProps=o);for(let p=0;p<l.length;p++){let[m,y,v,S]=l[p];if(Qv(r)){const T="srgb",I="srgb-linear";m==="encoding"?(m="colorSpace",y=y===3001?T:I):m==="outputEncoding"&&(m="outputColorSpace",y=y===3001?T:I)}let E=r,A=E[m];if(S.length&&(A=S.reduce((M,T)=>M[T],r),!(A&&A.set))){const[M,...T]=S.reverse();E=T.reverse().reduce((I,P)=>I[P],r),m=M}if(y===cT+"remove")if(E.constructor){let M=W2.get(E.constructor);M||(M=new E.constructor,W2.set(E.constructor,M)),y=M[m]}else y=0;if(v&&n)y?n.handlers[m]=y:delete n.handlers[m],n.eventCount=Object.keys(n.handlers).length;else if(A&&A.set&&(A.copy||A instanceof wu)){if(Array.isArray(y))A.fromArray?A.fromArray(y):A.set(...y);else if(A.copy&&y&&y.constructor&&(d9?A.constructor.name===y.constructor.name:A.constructor===y.constructor))A.copy(y);else if(y!==void 0){const M=A instanceof tt;!M&&A.setScalar?A.setScalar(y):A instanceof wu&&y instanceof wu?A.mask=y.mask:A.set(y),!sT()&&s&&!s.linear&&M&&A.convertSRGBToLinear()}}else if(E[m]=y,E[m]instanceof Gn&&E[m].format===hi&&E[m].type===Mo&&s){const M=E[m];Qv(M)&&Qv(s.gl)?M.colorSpace=s.gl.outputColorSpace:M.encoding=s.gl.outputEncoding}Md(r)}if(n&&n.parent&&r.raycast&&u!==n.eventCount){const p=Sg(r).getState().internal,m=p.interaction.indexOf(r);m>-1&&p.interaction.splice(m,1),n.eventCount&&p.interaction.push(r)}return!(l.length===1&&l[0][0]==="onUpdate")&&l.length&&(t=r.__r3f)!=null&&t.parent&&sx(r),r}function Md(r){var e,t;const n=(e=r.__r3f)==null||(t=e.root)==null||t.getState==null?void 0:t.getState();n&&n.internal.frames===0&&n.invalidate()}function sx(r){r.onUpdate==null||r.onUpdate(r)}function f9(r,e){r.manual||(oT(r)?(r.left=e.width/-2,r.right=e.width/2,r.top=e.height/2,r.bottom=e.height/-2):r.aspect=e.width/e.height,r.updateProjectionMatrix(),r.updateMatrixWorld())}function ag(r){return(r.eventObject||r.object).uuid+"/"+r.index+r.instanceId}function p9(){var r;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Ed.DefaultEventPriority;switch((r=e.event)==null?void 0:r.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Ed.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Ed.ContinuousEventPriority;default:return Ed.DefaultEventPriority}}function dT(r,e,t,n){const i=t.get(e);i&&(t.delete(e),t.size===0&&(r.delete(n),i.target.releasePointerCapture(n)))}function m9(r,e){const{internal:t}=r.getState();t.interaction=t.interaction.filter(n=>n!==e),t.initialHits=t.initialHits.filter(n=>n!==e),t.hovered.forEach((n,i)=>{(n.eventObject===e||n.object===e)&&t.hovered.delete(i)}),t.capturedMap.forEach((n,i)=>{dT(t.capturedMap,e,n,i)})}function g9(r){function e(u){const{internal:d}=r.getState(),p=u.offsetX-d.initialClick[0],m=u.offsetY-d.initialClick[1];return Math.round(Math.sqrt(p*p+m*m))}function t(u){return u.filter(d=>["Move","Over","Enter","Out","Leave"].some(p=>{var m;return(m=d.__r3f)==null?void 0:m.handlers["onPointer"+p]}))}function n(u,d){const p=r.getState(),m=new Set,y=[],v=d?d(p.internal.interaction):p.internal.interaction;for(let M=0;M<v.length;M++){const T=dp(v[M]);T&&(T.raycaster.camera=void 0)}p.previousRoot||p.events.compute==null||p.events.compute(u,p);function S(M){const T=dp(M);if(!T||!T.events.enabled||T.raycaster.camera===null)return[];if(T.raycaster.camera===void 0){var I;T.events.compute==null||T.events.compute(u,T,(I=T.previousRoot)==null?void 0:I.getState()),T.raycaster.camera===void 0&&(T.raycaster.camera=null)}return T.raycaster.camera?T.raycaster.intersectObject(M,!0):[]}let E=v.flatMap(S).sort((M,T)=>{const I=dp(M.object),P=dp(T.object);return!I||!P?M.distance-T.distance:P.events.priority-I.events.priority||M.distance-T.distance}).filter(M=>{const T=ag(M);return m.has(T)?!1:(m.add(T),!0)});p.events.filter&&(E=p.events.filter(E,p));for(const M of E){let T=M.object;for(;T;){var A;(A=T.__r3f)!=null&&A.eventCount&&y.push({...M,eventObject:T}),T=T.parent}}if("pointerId"in u&&p.internal.capturedMap.has(u.pointerId))for(let M of p.internal.capturedMap.get(u.pointerId).values())m.has(ag(M.intersection))||y.push(M.intersection);return y}function i(u,d,p,m){const y=r.getState();if(u.length){const v={stopped:!1};for(const S of u){const E=dp(S.object)||y,{raycaster:A,pointer:M,camera:T,internal:I}=E,P=new $(M.x,M.y,0).unproject(T),k=L=>{var V,te;return(V=(te=I.capturedMap.get(L))==null?void 0:te.has(S.eventObject))!=null?V:!1},O=L=>{const V={intersection:S,target:d.target};I.capturedMap.has(L)?I.capturedMap.get(L).set(S.eventObject,V):I.capturedMap.set(L,new Map([[S.eventObject,V]])),d.target.setPointerCapture(L)},N=L=>{const V=I.capturedMap.get(L);V&&dT(I.capturedMap,S.eventObject,V,L)};let H={};for(let L in d){let V=d[L];typeof V!="function"&&(H[L]=V)}let F={...S,...H,pointer:M,intersections:u,stopped:v.stopped,delta:p,unprojectedPoint:P,ray:A.ray,camera:T,stopPropagation(){const L="pointerId"in d&&I.capturedMap.get(d.pointerId);if((!L||L.has(S.eventObject))&&(F.stopped=v.stopped=!0,I.hovered.size&&Array.from(I.hovered.values()).find(V=>V.eventObject===S.eventObject))){const V=u.slice(0,u.indexOf(S));s([...V,S])}},target:{hasPointerCapture:k,setPointerCapture:O,releasePointerCapture:N},currentTarget:{hasPointerCapture:k,setPointerCapture:O,releasePointerCapture:N},nativeEvent:d};if(m(F),v.stopped===!0)break}}return u}function s(u){const{internal:d}=r.getState();for(const p of d.hovered.values())if(!u.length||!u.find(m=>m.object===p.object&&m.index===p.index&&m.instanceId===p.instanceId)){const y=p.eventObject.__r3f,v=y==null?void 0:y.handlers;if(d.hovered.delete(ag(p)),y!=null&&y.eventCount){const S={...p,intersections:u};v.onPointerOut==null||v.onPointerOut(S),v.onPointerLeave==null||v.onPointerLeave(S)}}}function o(u,d){for(let p=0;p<d.length;p++){const m=d[p].__r3f;m==null||m.handlers.onPointerMissed==null||m.handlers.onPointerMissed(u)}}function l(u){switch(u){case"onPointerLeave":case"onPointerCancel":return()=>s([]);case"onLostPointerCapture":return d=>{const{internal:p}=r.getState();"pointerId"in d&&p.capturedMap.has(d.pointerId)&&requestAnimationFrame(()=>{p.capturedMap.has(d.pointerId)&&(p.capturedMap.delete(d.pointerId),s([]))})}}return function(p){const{onPointerMissed:m,internal:y}=r.getState();y.lastEvent.current=p;const v=u==="onPointerMove",S=u==="onClick"||u==="onContextMenu"||u==="onDoubleClick",A=n(p,v?t:void 0),M=S?e(p):0;u==="onPointerDown"&&(y.initialClick=[p.offsetX,p.offsetY],y.initialHits=A.map(I=>I.eventObject)),S&&!A.length&&M<=2&&(o(p,y.interaction),m&&m(p)),v&&s(A);function T(I){const P=I.eventObject,k=P.__r3f,O=k==null?void 0:k.handlers;if(k!=null&&k.eventCount)if(v){if(O.onPointerOver||O.onPointerEnter||O.onPointerOut||O.onPointerLeave){const N=ag(I),H=y.hovered.get(N);H?H.stopped&&I.stopPropagation():(y.hovered.set(N,I),O.onPointerOver==null||O.onPointerOver(I),O.onPointerEnter==null||O.onPointerEnter(I))}O.onPointerMove==null||O.onPointerMove(I)}else{const N=O[u];N?(!S||y.initialHits.includes(P))&&(o(p,y.interaction.filter(H=>!y.initialHits.includes(H))),N(I)):S&&y.initialHits.includes(P)&&o(p,y.interaction.filter(H=>!y.initialHits.includes(H)))}}i(A,p,M,T)}}return{handlePointer:l}}const fT=r=>!!(r!=null&&r.render),pT=z.createContext(null),y9=(r,e)=>{const t=nT((l,u)=>{const d=new $,p=new $,m=new $;function y(M=u().camera,T=p,I=u().size){const{width:P,height:k,top:O,left:N}=I,H=P/k;T instanceof $?m.copy(T):m.set(...T);const F=M.getWorldPosition(d).distanceTo(m);if(oT(M))return{width:P/M.zoom,height:k/M.zoom,top:O,left:N,factor:1,distance:F,aspect:H};{const L=M.fov*Math.PI/180,V=2*Math.tan(L/2)*F,te=V*(P/k);return{width:te,height:V,top:O,left:N,factor:P/te,distance:F,aspect:H}}}let v;const S=M=>l(T=>({performance:{...T.performance,current:M}})),E=new Ne;return{set:l,get:u,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(M=1)=>r(u(),M),advance:(M,T)=>e(M,T,u()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new EM,pointer:E,mouse:E,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const M=u();v&&clearTimeout(v),M.performance.current!==M.performance.min&&S(M.performance.min),v=setTimeout(()=>S(u().performance.max),M.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:y},setEvents:M=>l(T=>({...T,events:{...T.events,...M}})),setSize:(M,T,I,P,k)=>{const O=u().camera,N={width:M,height:T,top:P||0,left:k||0,updateStyle:I};l(H=>({size:N,viewport:{...H.viewport,...y(O,p,N)}}))},setDpr:M=>l(T=>{const I=uT(M);return{viewport:{...T.viewport,dpr:I,initialDpr:T.viewport.initialDpr||I}}}),setFrameloop:(M="always")=>{const T=u().clock;T.stop(),T.elapsedTime=0,M!=="never"&&(T.start(),T.elapsedTime=0),l(()=>({frameloop:M}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:z.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(M,T,I)=>{const P=u().internal;return P.priority=P.priority+(T>0?1:0),P.subscribers.push({ref:M,priority:T,store:I}),P.subscribers=P.subscribers.sort((k,O)=>k.priority-O.priority),()=>{const k=u().internal;k!=null&&k.subscribers&&(k.priority=k.priority-(T>0?1:0),k.subscribers=k.subscribers.filter(O=>O.ref!==M))}}}}}),n=t.getState();let i=n.size,s=n.viewport.dpr,o=n.camera;return t.subscribe(()=>{const{camera:l,size:u,viewport:d,gl:p,set:m}=t.getState();if(u.width!==i.width||u.height!==i.height||d.dpr!==s){var y;i=u,s=d.dpr,f9(l,u),p.setPixelRatio(d.dpr);const v=(y=u.updateStyle)!=null?y:typeof HTMLCanvasElement<"u"&&p.domElement instanceof HTMLCanvasElement;p.setSize(u.width,u.height,v)}l!==o&&(o=l,m(v=>({viewport:{...v.viewport,...v.viewport.getCurrentViewport(l)}})))}),t.subscribe(l=>r(l)),t};let lg,v9=new Set,_9=new Set,x9=new Set;function t_(r,e){if(r.size)for(const{callback:t}of r.values())t(e)}function fp(r,e){switch(r){case"before":return t_(v9,e);case"after":return t_(_9,e);case"tail":return t_(x9,e)}}let n_,r_;function i_(r,e,t){let n=e.clock.getDelta();for(e.frameloop==="never"&&typeof r=="number"&&(n=r-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=r),n_=e.internal.subscribers,lg=0;lg<n_.length;lg++)r_=n_[lg],r_.ref.current(r_.store.getState(),n,t);return!e.internal.priority&&e.gl.render&&e.gl.render(e.scene,e.camera),e.internal.frames=Math.max(0,e.internal.frames-1),e.frameloop==="always"?1:e.internal.frames}function M9(r){let e=!1,t=!1,n,i,s;function o(d){i=requestAnimationFrame(o),e=!0,n=0,fp("before",d),t=!0;for(const m of r.values()){var p;s=m.store.getState(),s.internal.active&&(s.frameloop==="always"||s.internal.frames>0)&&!((p=s.gl.xr)!=null&&p.isPresenting)&&(n+=i_(d,s))}if(t=!1,fp("after",d),n===0)return fp("tail",d),e=!1,cancelAnimationFrame(i)}function l(d,p=1){var m;if(!d)return r.forEach(y=>l(y.store.getState(),p));(m=d.gl.xr)!=null&&m.isPresenting||!d.internal.active||d.frameloop==="never"||(p>1?d.internal.frames=Math.min(60,d.internal.frames+p):t?d.internal.frames=2:d.internal.frames=1,e||(e=!0,requestAnimationFrame(o)))}function u(d,p=!0,m,y){if(p&&fp("before",d),m)i_(d,m,y);else for(const v of r.values())i_(d,v.store.getState());p&&fp("after",d)}return{loop:o,invalidate:l,advance:u}}function mT(){const r=z.useContext(pT);if(!r)throw new Error("R3F: Hooks can only be used within the Canvas component!");return r}function Id(r=t=>t,e){return mT()(r,e)}function OM(r,e=0){const t=mT(),n=t.getState().internal.subscribe,i=aT(r);return fm(()=>n(i,e,t),[e,n,t]),null}const $2=new WeakMap;function gT(r,e){return function(t,...n){let i=$2.get(t);return i||(i=new t,$2.set(t,i)),r&&r(i),Promise.all(n.map(s=>new Promise((o,l)=>i.load(s,u=>{u.scene&&Object.assign(u,u9(u.scene)),o(u)},e,u=>l(new Error(`Could not load ${s}: ${u==null?void 0:u.message}`))))))}}function pm(r,e,t,n){const i=Array.isArray(e)?e:[e],s=$6(gT(t,n),[r,...i],{equal:kn.equ});return Array.isArray(e)?s:s[0]}pm.preload=function(r,e,t){const n=Array.isArray(e)?e:[e];return K6(gT(t),[r,...n])};pm.clear=function(r,e){const t=Array.isArray(e)?e:[e];return Y6([r,...t])};const jd=new Map,{invalidate:K2,advance:Y2}=M9(jd),{reconciler:fy,applyProps:pd}=o9(jd,p9),md={objects:"shallow",strict:!1},S9=(r,e)=>{const t=typeof r=="function"?r(e):r;return fT(t)?t:new RM({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...r})};function w9(r,e){const t=typeof HTMLCanvasElement<"u"&&r instanceof HTMLCanvasElement;if(e){const{width:n,height:i,top:s,left:o,updateStyle:l=t}=e;return{width:n,height:i,top:s,left:o,updateStyle:l}}else if(typeof HTMLCanvasElement<"u"&&r instanceof HTMLCanvasElement&&r.parentElement){const{width:n,height:i,top:s,left:o}=r.parentElement.getBoundingClientRect();return{width:n,height:i,top:s,left:o,updateStyle:t}}else if(typeof OffscreenCanvas<"u"&&r instanceof OffscreenCanvas)return{width:r.width,height:r.height,top:0,left:0,updateStyle:t};return{width:0,height:0,top:0,left:0}}function A9(r){const e=jd.get(r),t=e==null?void 0:e.fiber,n=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,s=n||y9(K2,Y2),o=t||fy.createContainer(s,Ed.ConcurrentRoot,null,!1,null,"",i,null);e||jd.set(r,{fiber:o,store:s});let l,u=!1,d;return{configure(p={}){let{gl:m,size:y,scene:v,events:S,onCreated:E,shadows:A=!1,linear:M=!1,flat:T=!1,legacy:I=!1,orthographic:P=!1,frameloop:k="always",dpr:O=[1,2],performance:N,raycaster:H,camera:F,onPointerMissed:L}=p,V=s.getState(),te=V.gl;V.gl||V.set({gl:te=S9(m,r)});let ne=V.raycaster;ne||V.set({raycaster:ne=new $C});const{params:ce,...me}=H||{};if(kn.equ(me,ne,md)||pd(ne,{...me}),kn.equ(ce,ne.params,md)||pd(ne,{params:{...ne.params,...ce}}),!V.camera||V.camera===d&&!kn.equ(d,F,md)){d=F;const q=F instanceof rm,X=q?F:P?new Kd(0,0,0,0,.1,1e3):new _r(75,0,.1,1e3);q||(X.position.z=5,F&&(pd(X,F),("aspect"in F||"left"in F||"right"in F||"bottom"in F||"top"in F)&&(X.manual=!0,X.updateProjectionMatrix())),!V.camera&&!(F!=null&&F.rotation)&&X.lookAt(0,0,0)),V.set({camera:X}),ne.camera=X}if(!V.scene){let q;v instanceof Gp?q=v:(q=new Gp,v&&pd(q,v)),V.set({scene:xd(q)})}if(!V.xr){var he;const q=(Le,pe)=>{const Ae=s.getState();Ae.frameloop!=="never"&&Y2(Le,!0,Ae,pe)},X=()=>{const Le=s.getState();Le.gl.xr.enabled=Le.gl.xr.isPresenting,Le.gl.xr.setAnimationLoop(Le.gl.xr.isPresenting?q:null),Le.gl.xr.isPresenting||K2(Le)},se={connect(){const Le=s.getState().gl;Le.xr.addEventListener("sessionstart",X),Le.xr.addEventListener("sessionend",X)},disconnect(){const Le=s.getState().gl;Le.xr.removeEventListener("sessionstart",X),Le.xr.removeEventListener("sessionend",X)}};typeof((he=te.xr)==null?void 0:he.addEventListener)=="function"&&se.connect(),V.set({xr:se})}if(te.shadowMap){const q=te.shadowMap.enabled,X=te.shadowMap.type;if(te.shadowMap.enabled=!!A,kn.boo(A))te.shadowMap.type=wp;else if(kn.str(A)){var ge;const se={basic:ub,percentage:Oy,soft:wp,variance:vo};te.shadowMap.type=(ge=se[A])!=null?ge:wp}else kn.obj(A)&&Object.assign(te.shadowMap,A);(q!==te.shadowMap.enabled||X!==te.shadowMap.type)&&(te.shadowMap.needsUpdate=!0)}const U=sT();U&&("enabled"in U?U.enabled=!I:"legacyMode"in U&&(U.legacyMode=I)),u||pd(te,{outputEncoding:M?3e3:3001,toneMapping:T?Jo:jx}),V.legacy!==I&&V.set(()=>({legacy:I})),V.linear!==M&&V.set(()=>({linear:M})),V.flat!==T&&V.set(()=>({flat:T})),m&&!kn.fun(m)&&!fT(m)&&!kn.equ(m,te,md)&&pd(te,m),S&&!V.events.handlers&&V.set({events:S(s)});const Z=w9(r,y);return kn.equ(Z,V.size,md)||V.setSize(Z.width,Z.height,Z.updateStyle,Z.top,Z.left),O&&V.viewport.dpr!==uT(O)&&V.setDpr(O),V.frameloop!==k&&V.setFrameloop(k),V.onPointerMissed||V.set({onPointerMissed:L}),N&&!kn.equ(N,V.performance,md)&&V.set(q=>({performance:{...q.performance,...N}})),l=E,u=!0,this},render(p){return u||this.configure(),fy.updateContainer(_.jsx(E9,{store:s,children:p,onCreated:l,rootElement:r}),o,null,()=>{}),s},unmount(){yT(r)}}}function E9({store:r,children:e,onCreated:t,rootElement:n}){return fm(()=>{const i=r.getState();i.set(s=>({internal:{...s.internal,active:!0}})),t&&t(i),r.getState().events.connected||i.events.connect==null||i.events.connect(n)},[]),_.jsx(pT.Provider,{value:r,children:e})}function yT(r,e){const t=jd.get(r),n=t==null?void 0:t.fiber;if(n){const i=t==null?void 0:t.store.getState();i&&(i.internal.active=!1),fy.updateContainer(null,n,null,()=>{i&&setTimeout(()=>{try{var s,o,l,u;i.events.disconnect==null||i.events.disconnect(),(s=i.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(l=i.gl)==null||l.forceContextLoss==null||l.forceContextLoss(),(u=i.gl)!=null&&u.xr&&i.xr.disconnect(),h9(i),jd.delete(r)}catch{}},500)})}}fy.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:z.version});const s_={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function b9(r){const{handlePointer:e}=g9(r);return{priority:1,enabled:!0,compute(t,n,i){n.pointer.set(t.offsetX/n.size.width*2-1,-(t.offsetY/n.size.height)*2+1),n.raycaster.setFromCamera(n.pointer,n.camera)},connected:void 0,handlers:Object.keys(s_).reduce((t,n)=>({...t,[n]:e(n)}),{}),update:()=>{var t;const{events:n,internal:i}=r.getState();(t=i.lastEvent)!=null&&t.current&&n.handlers&&n.handlers.onPointerMove(i.lastEvent.current)},connect:t=>{var n;const{set:i,events:s}=r.getState();s.disconnect==null||s.disconnect(),i(o=>({events:{...o.events,connected:t}})),Object.entries((n=s.handlers)!=null?n:[]).forEach(([o,l])=>{const[u,d]=s_[o];t.addEventListener(u,l,{passive:d})})},disconnect:()=>{const{set:t,events:n}=r.getState();if(n.connected){var i;Object.entries((i=n.handlers)!=null?i:[]).forEach(([s,o])=>{if(n&&n.connected instanceof HTMLElement){const[l]=s_[s];n.connected.removeEventListener(l,o)}}),t(s=>({events:{...s.events,connected:void 0}}))}}}}var o_,q2;function C9(){if(q2)return o_;q2=1;function r(e,t,n){var i,s,o,l,u;t==null&&(t=100);function d(){var m=Date.now()-l;m<t&&m>=0?i=setTimeout(d,t-m):(i=null,n||(u=e.apply(o,s),o=s=null))}var p=function(){o=this,s=arguments,l=Date.now();var m=n&&!i;return i||(i=setTimeout(d,t)),m&&(u=e.apply(o,s),o=s=null),u};return p.clear=function(){i&&(clearTimeout(i),i=null)},p.flush=function(){i&&(u=e.apply(o,s),o=s=null,clearTimeout(i),i=null)},p}return r.debounce=r,o_=r,o_}var T9=C9();const Q2=oc(T9);var I9=Object.defineProperty,P9=Object.defineProperties,R9=Object.getOwnPropertyDescriptors,Z2=Object.getOwnPropertySymbols,B9=Object.prototype.hasOwnProperty,O9=Object.prototype.propertyIsEnumerable,eA=(r,e,t)=>e in r?I9(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,tA=(r,e)=>{for(var t in e||(e={}))B9.call(e,t)&&eA(r,t,e[t]);if(Z2)for(var t of Z2(e))O9.call(e,t)&&eA(r,t,e[t]);return r},D9=(r,e)=>P9(r,R9(e)),nA,rA;typeof window<"u"&&((nA=window.document)!=null&&nA.createElement||((rA=window.navigator)==null?void 0:rA.product)==="ReactNative")?z.useLayoutEffect:z.useEffect;function vT(r,e,t){if(!r)return;if(t(r)===!0)return r;let n=r.child;for(;n;){const i=vT(n,e,t);if(i)return i;n=n.sibling}}function _T(r){try{return Object.defineProperties(r,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return r}}const iA=console.error;console.error=function(){const r=[...arguments].join("");if(r!=null&&r.startsWith("Warning:")&&r.includes("useContext")){console.error=iA;return}return iA.apply(this,arguments)};const DM=_T(z.createContext(null));class xT extends z.Component{render(){return z.createElement(DM.Provider,{value:this._reactInternals},this.props.children)}}function L9(){const r=z.useContext(DM);if(r===null)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const e=z.useId();return z.useMemo(()=>{for(const n of[r,r==null?void 0:r.alternate]){if(!n)continue;const i=vT(n,!1,s=>{let o=s.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(i)return i}},[r,e])}function N9(){const r=L9(),[e]=z.useState(()=>new Map);e.clear();let t=r;for(;t;){if(t.type&&typeof t.type=="object"){const i=t.type._context===void 0&&t.type.Provider===t.type?t.type:t.type._context;i&&i!==DM&&!e.has(i)&&e.set(i,z.useContext(_T(i)))}t=t.return}return e}function F9(){const r=N9();return z.useMemo(()=>Array.from(r.keys()).reduce((e,t)=>n=>z.createElement(e,null,z.createElement(t.Provider,D9(tA({},n),{value:r.get(t)}))),e=>z.createElement(xT,tA({},e))),[r])}function k9({debounce:r,scroll:e,polyfill:t,offsetSize:n}={debounce:0,scroll:!1,offsetSize:!1}){const i=t||typeof window<"u"&&window.ResizeObserver,[s,o]=z.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0});if(!i)return s.width=1280,s.height=800,[()=>{},s,()=>{}];const l=z.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:s,orientationHandler:null}),u=r?typeof r=="number"?r:r.scroll:null,d=r?typeof r=="number"?r:r.resize:null,p=z.useRef(!1);z.useEffect(()=>(p.current=!0,()=>void(p.current=!1)));const[m,y,v]=z.useMemo(()=>{const M=()=>{if(!l.current.element)return;const{left:T,top:I,width:P,height:k,bottom:O,right:N,x:H,y:F}=l.current.element.getBoundingClientRect(),L={left:T,top:I,width:P,height:k,bottom:O,right:N,x:H,y:F};l.current.element instanceof HTMLElement&&n&&(L.height=l.current.element.offsetHeight,L.width=l.current.element.offsetWidth),Object.freeze(L),p.current&&!H9(l.current.lastBounds,L)&&o(l.current.lastBounds=L)};return[M,d?Q2(M,d):M,u?Q2(M,u):M]},[o,n,u,d]);function S(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(M=>M.removeEventListener("scroll",v,!0)),l.current.scrollContainers=null),l.current.resizeObserver&&(l.current.resizeObserver.disconnect(),l.current.resizeObserver=null),l.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",l.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",l.current.orientationHandler))}function E(){var M;l.current.element&&(l.current.resizeObserver=new i(y),(M=l.current.resizeObserver)==null||M.observe(l.current.element),e&&l.current.scrollContainers&&l.current.scrollContainers.forEach(T=>T.addEventListener("scroll",v,{capture:!0,passive:!0})),l.current.orientationHandler=()=>{v()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",l.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",l.current.orientationHandler))}const A=M=>{!M||M===l.current.element||(S(),l.current.element=M,l.current.scrollContainers=MT(M),E())};return j9(v,!!e),U9(y),z.useEffect(()=>{S(),E()},[e,v,y]),z.useEffect(()=>S,[]),[A,s,m]}function U9(r){z.useEffect(()=>{const e=r;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[r])}function j9(r,e){z.useEffect(()=>{if(e){const t=r;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",t,!0)}},[r,e])}function MT(r){const e=[];if(!r||r===document.body)return e;const{overflow:t,overflowX:n,overflowY:i}=window.getComputedStyle(r);return[t,n,i].some(s=>s==="auto"||s==="scroll")&&e.push(r),[...e,...MT(r.parentElement)]}const z9=["x","y","top","bottom","left","right","width","height"],H9=(r,e)=>z9.every(t=>r[t]===e[t]),G9=z.forwardRef(function({children:e,fallback:t,resize:n,style:i,gl:s,events:o=b9,eventSource:l,eventPrefix:u,shadows:d,linear:p,flat:m,legacy:y,orthographic:v,frameloop:S,dpr:E,performance:A,raycaster:M,camera:T,scene:I,onPointerMissed:P,onCreated:k,...O},N){z.useMemo(()=>s9(H6),[]);const H=F9(),[F,L]=k9({scroll:!0,debounce:{scroll:50,resize:0},...n}),V=z.useRef(null),te=z.useRef(null);z.useImperativeHandle(N,()=>V.current);const ne=aT(P),[ce,me]=z.useState(!1),[he,ge]=z.useState(!1);if(ce)throw ce;if(he)throw he;const U=z.useRef(null);fm(()=>{const q=V.current;L.width>0&&L.height>0&&q&&(U.current||(U.current=A9(q)),U.current.configure({gl:s,events:o,shadows:d,linear:p,flat:m,legacy:y,orthographic:v,frameloop:S,dpr:E,performance:A,raycaster:M,camera:T,scene:I,size:L,onPointerMissed:(...X)=>ne.current==null?void 0:ne.current(...X),onCreated:X=>{X.events.connect==null||X.events.connect(l?a9(l)?l.current:l:te.current),u&&X.setEvents({compute:(se,Le)=>{const pe=se[u+"X"],Ae=se[u+"Y"];Le.pointer.set(pe/Le.size.width*2-1,-(Ae/Le.size.height)*2+1),Le.raycaster.setFromCamera(Le.pointer,Le.camera)}}),k==null||k(X)}}),U.current.render(_.jsx(H,{children:_.jsx(lT,{set:ge,children:_.jsx(z.Suspense,{fallback:_.jsx(l9,{set:me}),children:e})})})))}),z.useEffect(()=>{const q=V.current;if(q)return()=>yT(q)},[]);const Z=l?"none":"auto";return _.jsx("div",{ref:te,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:Z,...i},...O,children:_.jsx("div",{ref:F,style:{width:"100%",height:"100%"},children:_.jsx("canvas",{ref:V,style:{display:"block"},children:t})})})}),sA=z.forwardRef(function(e,t){return _.jsx(xT,{children:_.jsx(G9,{...e,ref:t})})});function ox(){return ox=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},ox.apply(null,arguments)}function V9(r,e,t){return Math.max(e,Math.min(r,t))}const di={toVector(r,e){return r===void 0&&(r=e),Array.isArray(r)?r:[r,r]},add(r,e){return[r[0]+e[0],r[1]+e[1]]},sub(r,e){return[r[0]-e[0],r[1]-e[1]]},addTo(r,e){r[0]+=e[0],r[1]+=e[1]},subTo(r,e){r[0]-=e[0],r[1]-=e[1]}};function oA(r,e,t){return e===0||Math.abs(e)===1/0?Math.pow(r,t*5):r*e*t/(e+t*r)}function aA(r,e,t,n=.15){return n===0?V9(r,e,t):r<e?-oA(e-r,t-e,n)+e:r>t?+oA(r-t,t-e,n)+t:r}function W9(r,[e,t],[n,i]){const[[s,o],[l,u]]=r;return[aA(e,s,o,n),aA(t,l,u,i)]}function X9(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}function J9(r){var e=X9(r,"string");return typeof e=="symbol"?e:String(e)}function Qi(r,e,t){return e=J9(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function lA(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function er(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?lA(Object(t),!0).forEach(function(n){Qi(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):lA(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const ST={pointer:{start:"down",change:"move",end:"up"},mouse:{start:"down",change:"move",end:"up"},touch:{start:"start",change:"move",end:"end"},gesture:{start:"start",change:"change",end:"end"}};function cA(r){return r?r[0].toUpperCase()+r.slice(1):""}const $9=["enter","leave"];function K9(r=!1,e){return r&&!$9.includes(e)}function Y9(r,e="",t=!1){const n=ST[r],i=n&&n[e]||e;return"on"+cA(r)+cA(i)+(K9(t,i)?"Capture":"")}const q9=["gotpointercapture","lostpointercapture"];function Q9(r){let e=r.substring(2).toLowerCase();const t=!!~e.indexOf("passive");t&&(e=e.replace("passive",""));const n=q9.includes(e)?"capturecapture":"capture",i=!!~e.indexOf(n);return i&&(e=e.replace("capture","")),{device:e,capture:i,passive:t}}function Z9(r,e=""){const t=ST[r],n=t&&t[e]||e;return r+n}function d1(r){return"touches"in r}function wT(r){return d1(r)?"touch":"pointerType"in r?r.pointerType:"mouse"}function eN(r){return Array.from(r.touches).filter(e=>{var t,n;return e.target===r.currentTarget||((t=r.currentTarget)===null||t===void 0||(n=t.contains)===null||n===void 0?void 0:n.call(t,e.target))})}function tN(r){return r.type==="touchend"||r.type==="touchcancel"?r.changedTouches:r.targetTouches}function AT(r){return d1(r)?tN(r)[0]:r}function nN(r){return eN(r).map(e=>e.identifier)}function a_(r){const e=AT(r);return d1(r)?e.identifier:e.pointerId}function uA(r){const e=AT(r);return[e.clientX,e.clientY]}function rN(r){const e={};if("buttons"in r&&(e.buttons=r.buttons),"shiftKey"in r){const{shiftKey:t,altKey:n,metaKey:i,ctrlKey:s}=r;Object.assign(e,{shiftKey:t,altKey:n,metaKey:i,ctrlKey:s})}return e}function py(r,...e){return typeof r=="function"?r(...e):r}function iN(){}function sN(...r){return r.length===0?iN:r.length===1?r[0]:function(){let e;for(const t of r)e=t.apply(this,arguments)||e;return e}}function hA(r,e){return Object.assign({},e,r||{})}const oN=32;class aN{constructor(e,t,n){this.ctrl=e,this.args=t,this.key=n,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){const{state:e,shared:t,ingKey:n,args:i}=this;t[n]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-1/0,1/0],[-1/0,1/0]],e.args=i,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){const t=this.state,n=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=n.from?py(n.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){const t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){const e=this.state;e._initial=e._values,e.initial=e.values}compute(e){const{state:t,config:n,shared:i}=this;t.args=this.args;let s=0;if(e&&(t.event=e,n.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,i.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,i.locked=!!document.pointerLockElement,Object.assign(i,rN(e)),i.down=i.pressed=i.buttons%2===1||i.touches>0,s=e.timeStamp-t.timeStamp,t.timeStamp=e.timeStamp,t.elapsedTime=t.timeStamp-t.startTime),t._active){const O=t._delta.map(Math.abs);di.addTo(t._distance,O)}this.axisIntent&&this.axisIntent(e);const[o,l]=t._movement,[u,d]=n.threshold,{_step:p,values:m}=t;if(n.hasCustomTransform?(p[0]===!1&&(p[0]=Math.abs(o)>=u&&m[0]),p[1]===!1&&(p[1]=Math.abs(l)>=d&&m[1])):(p[0]===!1&&(p[0]=Math.abs(o)>=u&&Math.sign(o)*u),p[1]===!1&&(p[1]=Math.abs(l)>=d&&Math.sign(l)*d)),t.intentional=p[0]!==!1||p[1]!==!1,!t.intentional)return;const y=[0,0];if(n.hasCustomTransform){const[O,N]=m;y[0]=p[0]!==!1?O-p[0]:0,y[1]=p[1]!==!1?N-p[1]:0}else y[0]=p[0]!==!1?o-p[0]:0,y[1]=p[1]!==!1?l-p[1]:0;this.restrictToAxis&&!t._blocked&&this.restrictToAxis(y);const v=t.offset,S=t._active&&!t._blocked||t.active;S&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=i[this.ingKey]=t._active,e&&(t.first&&("bounds"in n&&(t._bounds=py(n.bounds,t)),this.setup&&this.setup()),t.movement=y,this.computeOffset()));const[E,A]=t.offset,[[M,T],[I,P]]=t._bounds;t.overflow=[E<M?-1:E>T?1:0,A<I?-1:A>P?1:0],t._movementBound[0]=t.overflow[0]?t._movementBound[0]===!1?t._movement[0]:t._movementBound[0]:!1,t._movementBound[1]=t.overflow[1]?t._movementBound[1]===!1?t._movement[1]:t._movementBound[1]:!1;const k=t._active?n.rubberband||[0,0]:[0,0];if(t.offset=W9(t._bounds,t.offset,k),t.delta=di.sub(t.offset,v),this.computeMovement(),S&&(!t.last||s>oN)){t.delta=di.sub(t.offset,v);const O=t.delta.map(Math.abs);di.addTo(t.distance,O),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first&&s>0&&(t.velocity=[O[0]/s,O[1]/s],t.timeDelta=s)}}emit(){const e=this.state,t=this.shared,n=this.config;if(e._active||this.clean(),(e._blocked||!e.intentional)&&!e._force&&!n.triggerAllEvents)return;const i=this.handler(er(er(er({},t),e),{},{[this.aliasKey]:e.values}));i!==void 0&&(e.memo=i)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}}function lN([r,e],t){const n=Math.abs(r),i=Math.abs(e);if(n>i&&n>t)return"x";if(i>n&&i>t)return"y"}class cN extends aN{constructor(...e){super(...e),Qi(this,"aliasKey","xy")}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=di.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=di.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){const t=this.state,n=this.config;if(!t.axis&&e){const i=typeof n.axisThreshold=="object"?n.axisThreshold[wT(e)]:n.axisThreshold;t.axis=lN(t._movement,i)}t._blocked=(n.lockDirection||!!n.axis)&&!t.axis||!!n.axis&&n.axis!==t.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case"x":e[1]=0;break;case"y":e[0]=0;break}}}const uN=r=>r,dA=.15,ET={enabled(r=!0){return r},eventOptions(r,e,t){return er(er({},t.shared.eventOptions),r)},preventDefault(r=!1){return r},triggerAllEvents(r=!1){return r},rubberband(r=0){switch(r){case!0:return[dA,dA];case!1:return[0,0];default:return di.toVector(r)}},from(r){if(typeof r=="function")return r;if(r!=null)return di.toVector(r)},transform(r,e,t){const n=r||t.shared.transform;return this.hasCustomTransform=!!n,n||uN},threshold(r){return di.toVector(r,0)}},hN=0,mm=er(er({},ET),{},{axis(r,e,{axis:t}){if(this.lockDirection=t==="lock",!this.lockDirection)return t},axisThreshold(r=hN){return r},bounds(r={}){if(typeof r=="function")return s=>mm.bounds(r(s));if("current"in r)return()=>r.current;if(typeof HTMLElement=="function"&&r instanceof HTMLElement)return r;const{left:e=-1/0,right:t=1/0,top:n=-1/0,bottom:i=1/0}=r;return[[e,t],[n,i]]}}),fA={ArrowRight:(r,e=1)=>[r*e,0],ArrowLeft:(r,e=1)=>[-1*r*e,0],ArrowUp:(r,e=1)=>[0,-1*r*e],ArrowDown:(r,e=1)=>[0,r*e]};class dN extends cN{constructor(...e){super(...e),Qi(this,"ingKey","dragging")}reset(){super.reset();const e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){const e=this.state;if(e._bounds instanceof HTMLElement){const t=e._bounds.getBoundingClientRect(),n=e.currentTarget.getBoundingClientRect(),i={left:t.left-n.left+e.offset[0],right:t.right-n.right+e.offset[0],top:t.top-n.top+e.offset[1],bottom:t.bottom-n.bottom+e.offset[1]};e._bounds=mm.bounds(i)}}cancel(){const e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){const t=this.config,n=this.state;if(e.buttons!=null&&(Array.isArray(t.pointerButtons)?!t.pointerButtons.includes(e.buttons):t.pointerButtons!==-1&&t.pointerButtons!==e.buttons))return;const i=this.ctrl.setEventIds(e);t.pointerCapture&&e.target.setPointerCapture(e.pointerId),!(i&&i.size>1&&n._pointerActive)&&(this.start(e),this.setupPointer(e),n._pointerId=a_(e),n._pointerActive=!0,this.computeValues(uA(e)),this.computeInitial(),t.preventScrollAxis&&wT(e)!=="mouse"?(n._active=!1,this.setupScrollPrevention(e)):t.delay>0?(this.setupDelayTrigger(e),t.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){const t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){const t=this.state,n=this.config;if(!t._pointerActive)return;const i=a_(e);if(t._pointerId!==void 0&&i!==t._pointerId)return;const s=uA(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=di.sub(s,t._values),this.computeValues(s)),di.addTo(t._movement,t._delta),this.compute(e),t._delayed&&t.intentional){this.timeoutStore.remove("dragDelay"),t.active=!1,this.startPointerDrag(e);return}if(n.preventScrollAxis&&!t._preventScroll)if(t.axis)if(t.axis===n.preventScrollAxis||n.preventScrollAxis==="xy"){t._active=!1,this.clean();return}else{this.timeoutStore.remove("startPointerDrag"),this.startPointerDrag(e);return}else return;this.emit()}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch{}const t=this.state,n=this.config;if(!t._active||!t._pointerActive)return;const i=a_(e);if(t._pointerId!==void 0&&i!==t._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(e);const[s,o]=t._distance;if(t.tap=s<=n.tapsThreshold&&o<=n.tapsThreshold,t.tap&&n.filterTaps)t._force=!0;else{const[l,u]=t._delta,[d,p]=t._movement,[m,y]=n.swipe.velocity,[v,S]=n.swipe.distance,E=n.swipe.duration;if(t.elapsedTime<E){const A=Math.abs(l/t.timeDelta),M=Math.abs(u/t.timeDelta);A>m&&Math.abs(d)>v&&(t.swipe[0]=Math.sign(l)),M>y&&Math.abs(p)>S&&(t.swipe[1]=Math.sign(u))}}this.emit()}pointerClick(e){!this.state.tap&&e.detail>0&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){const t=this.config,n=t.device;t.pointerLock&&e.currentTarget.requestPointerLock(),t.pointerCapture||(this.eventStore.add(this.sharedConfig.window,n,"change",this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,n,"end",this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,n,"cancel",this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,fN(e);const t=this.eventStore.add(this.sharedConfig.window,"touch","change",this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,"touch","end",t),this.eventStore.add(this.sharedConfig.window,"touch","cancel",t),this.timeoutStore.add("startPointerDrag",this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add("dragDelay",()=>{this.state._step=[0,0],this.startPointerDrag(e)},this.config.delay)}keyDown(e){const t=fA[e.key];if(t){const n=this.state,i=e.shiftKey?10:e.altKey?.1:1;this.start(e),n._delta=t(this.config.keyboardDisplacement,i),n._keyboardActive=!0,di.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in fA&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){const t=this.config.device;e(t,"start",this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,"change",this.pointerMove.bind(this)),e(t,"end",this.pointerUp.bind(this)),e(t,"cancel",this.pointerUp.bind(this)),e("lostPointerCapture","",this.pointerUp.bind(this))),this.config.keys&&(e("key","down",this.keyDown.bind(this)),e("key","up",this.keyUp.bind(this))),this.config.filterTaps&&e("click","",this.pointerClick.bind(this),{capture:!0,passive:!1})}}function fN(r){"persist"in r&&typeof r.persist=="function"&&r.persist()}const gm=typeof window<"u"&&window.document&&window.document.createElement;function bT(){return gm&&"ontouchstart"in window}function pN(){return bT()||gm&&window.navigator.maxTouchPoints>1}function mN(){return gm&&"onpointerdown"in window}function gN(){return gm&&"exitPointerLock"in window.document}function yN(){try{return"constructor"in GestureEvent}catch{return!1}}const Us={isBrowser:gm,gesture:yN(),touch:bT(),touchscreen:pN(),pointer:mN(),pointerLock:gN()},vN=250,_N=180,xN=.5,MN=50,SN=250,wN=10,pA={mouse:0,touch:0,pen:8},AN=er(er({},mm),{},{device(r,e,{pointer:{touch:t=!1,lock:n=!1,mouse:i=!1}={}}){return this.pointerLock=n&&Us.pointerLock,Us.touch&&t?"touch":this.pointerLock?"mouse":Us.pointer&&!i?"pointer":Us.touch?"touch":"mouse"},preventScrollAxis(r,e,{preventScroll:t}){if(this.preventScrollDelay=typeof t=="number"?t:t||t===void 0&&r?vN:void 0,!(!Us.touchscreen||t===!1))return r||(t!==void 0?"y":void 0)},pointerCapture(r,e,{pointer:{capture:t=!0,buttons:n=1,keys:i=!0}={}}){return this.pointerButtons=n,this.keys=i,!this.pointerLock&&this.device==="pointer"&&t},threshold(r,e,{filterTaps:t=!1,tapsThreshold:n=3,axis:i=void 0}){const s=di.toVector(r,t?n:i?1:0);return this.filterTaps=t,this.tapsThreshold=n,s},swipe({velocity:r=xN,distance:e=MN,duration:t=SN}={}){return{velocity:this.transform(di.toVector(r)),distance:this.transform(di.toVector(e)),duration:t}},delay(r=0){switch(r){case!0:return _N;case!1:return 0;default:return r}},axisThreshold(r){return r?er(er({},pA),r):pA},keyboardDisplacement(r=wN){return r}});er(er({},ET),{},{device(r,e,{shared:t,pointer:{touch:n=!1}={}}){if(t.target&&!Us.touch&&Us.gesture)return"gesture";if(Us.touch&&n)return"touch";if(Us.touchscreen){if(Us.pointer)return"pointer";if(Us.touch)return"touch"}},bounds(r,e,{scaleBounds:t={},angleBounds:n={}}){const i=o=>{const l=hA(py(t,o),{min:-1/0,max:1/0});return[l.min,l.max]},s=o=>{const l=hA(py(n,o),{min:-1/0,max:1/0});return[l.min,l.max]};return typeof t!="function"&&typeof n!="function"?[i(),s()]:o=>[i(o),s(o)]},threshold(r,e,t){return this.lockDirection=t.axis==="lock",di.toVector(r,this.lockDirection?[.1,3]:0)},modifierKey(r){return r===void 0?"ctrlKey":r},pinchOnWheel(r=!0){return r}});er(er({},mm),{},{mouseOnly:(r=!0)=>r});er(er({},mm),{},{mouseOnly:(r=!0)=>r});const CT=new Map,ax=new Map;function EN(r){CT.set(r.key,r.engine),ax.set(r.key,r.resolver)}const bN={key:"drag",engine:dN,resolver:AN};function CN(r,e){if(r==null)return{};var t={},n=Object.keys(r),i,s;for(s=0;s<n.length;s++)i=n[s],!(e.indexOf(i)>=0)&&(t[i]=r[i]);return t}function TN(r,e){if(r==null)return{};var t=CN(r,e),n,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(r);for(i=0;i<s.length;i++)n=s[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(r,n)&&(t[n]=r[n])}return t}const IN={target(r){if(r)return()=>"current"in r?r.current:r},enabled(r=!0){return r},window(r=Us.isBrowser?window:void 0){return r},eventOptions({passive:r=!0,capture:e=!1}={}){return{passive:r,capture:e}},transform(r){return r}},PN=["target","eventOptions","window","enabled","transform"];function wg(r={},e){const t={};for(const[n,i]of Object.entries(e))switch(typeof i){case"function":t[n]=i.call(t,r[n],n,r);break;case"object":t[n]=wg(r[n],i);break;case"boolean":i&&(t[n]=r[n]);break}return t}function RN(r,e,t={}){const n=r,{target:i,eventOptions:s,window:o,enabled:l,transform:u}=n,d=TN(n,PN);if(t.shared=wg({target:i,eventOptions:s,window:o,enabled:l,transform:u},IN),e){const p=ax.get(e);t[e]=wg(er({shared:t.shared},d),p)}else for(const p in d){const m=ax.get(p);m&&(t[p]=wg(er({shared:t.shared},d[p]),m))}return t}class TT{constructor(e,t){Qi(this,"_listeners",new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,i,s){const o=this._listeners,l=Z9(t,n),u=this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{},d=er(er({},u),s);e.addEventListener(l,i,d);const p=()=>{e.removeEventListener(l,i,d),o.delete(p)};return o.add(p),p}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}}class BN{constructor(){Qi(this,"_timeouts",new Map)}add(e,t,n=140,...i){this.remove(e),this._timeouts.set(e,window.setTimeout(t,n,...i))}remove(e){const t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>void window.clearTimeout(e)),this._timeouts.clear()}}class ON{constructor(e){Qi(this,"gestures",new Set),Qi(this,"_targetEventStore",new TT(this)),Qi(this,"gestureEventStores",{}),Qi(this,"gestureTimeoutStores",{}),Qi(this,"handlers",{}),Qi(this,"config",{}),Qi(this,"pointerIds",new Set),Qi(this,"touchIds",new Set),Qi(this,"state",{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),DN(this,e)}setEventIds(e){if(d1(e))return this.touchIds=new Set(nN(e)),this.touchIds;if("pointerId"in e)return e.type==="pointerup"||e.type==="pointercancel"?this.pointerIds.delete(e.pointerId):e.type==="pointerdown"&&this.pointerIds.add(e.pointerId),this.pointerIds}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=RN(e,t,this.config)}clean(){this._targetEventStore.clean();for(const e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...e){const t=this.config.shared,n={};let i;if(!(t.target&&(i=t.target(),!i))){if(t.enabled){for(const o of this.gestures){const l=this.config[o],u=mA(n,l.eventOptions,!!i);if(l.enabled){const d=CT.get(o);new d(this,e,o).bind(u)}}const s=mA(n,t.eventOptions,!!i);for(const o in this.nativeHandlers)s(o,"",l=>this.nativeHandlers[o](er(er({},this.state.shared),{},{event:l,args:e})),void 0,!0)}for(const s in n)n[s]=sN(...n[s]);if(!i)return n;for(const s in n){const{device:o,capture:l,passive:u}=Q9(s);this._targetEventStore.add(i,o,"",n[s],{capture:l,passive:u})}}}}function gd(r,e){r.gestures.add(e),r.gestureEventStores[e]=new TT(r,e),r.gestureTimeoutStores[e]=new BN}function DN(r,e){e.drag&&gd(r,"drag"),e.wheel&&gd(r,"wheel"),e.scroll&&gd(r,"scroll"),e.move&&gd(r,"move"),e.pinch&&gd(r,"pinch"),e.hover&&gd(r,"hover")}const mA=(r,e,t)=>(n,i,s,o={},l=!1)=>{var u,d;const p=(u=o.capture)!==null&&u!==void 0?u:e.capture,m=(d=o.passive)!==null&&d!==void 0?d:e.passive;let y=l?n:Y9(n,i,p);t&&m&&(y+="Passive"),r[y]=r[y]||[],r[y].push(s)};function LN(r,e={},t,n){const i=re.useMemo(()=>new ON(r),[]);if(i.applyHandlers(r,n),i.applyConfig(e,t),re.useEffect(i.effect.bind(i)),re.useEffect(()=>i.clean.bind(i),[]),e.target===void 0)return i.bind.bind(i)}function NN(r,e){return EN(bN),LN({drag:r},e||{},"drag")}const FN=parseInt(em.replace(/\D+/g,""));function gA(r,e){if(e===zb)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),r;if(e===cy||e===qx){let t=r.getIndex();if(t===null){const o=[],l=r.getAttribute("position");if(l!==void 0){for(let u=0;u<l.count;u++)o.push(u);r.setIndex(o),t=r.getIndex()}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."),r}const n=t.count-2,i=[];if(t)if(e===cy)for(let o=1;o<=n;o++)i.push(t.getX(0)),i.push(t.getX(o)),i.push(t.getX(o+1));else for(let o=0;o<n;o++)o%2===0?(i.push(t.getX(o)),i.push(t.getX(o+1)),i.push(t.getX(o+2))):(i.push(t.getX(o+2)),i.push(t.getX(o+1)),i.push(t.getX(o)));i.length/3!==n&&console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unable to generate correct amount of triangles.");const s=r.clone();return s.setIndex(i),s.clearGroups(),s}else return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:",e),r}function my(r){if(typeof TextDecoder<"u")return new TextDecoder().decode(r);let e="";for(let t=0,n=r.length;t<n;t++)e+=String.fromCharCode(r[t]);try{return decodeURIComponent(escape(e))}catch{return e}}const _u="srgb",Qa="srgb-linear",yA=3001,kN=3e3;class LM extends gi{constructor(e){super(e),this.dracoLoader=null,this.ktx2Loader=null,this.meshoptDecoder=null,this.pluginCallbacks=[],this.register(function(t){return new GN(t)}),this.register(function(t){return new VN(t)}),this.register(function(t){return new ZN(t)}),this.register(function(t){return new e7(t)}),this.register(function(t){return new t7(t)}),this.register(function(t){return new XN(t)}),this.register(function(t){return new JN(t)}),this.register(function(t){return new $N(t)}),this.register(function(t){return new KN(t)}),this.register(function(t){return new HN(t)}),this.register(function(t){return new YN(t)}),this.register(function(t){return new WN(t)}),this.register(function(t){return new QN(t)}),this.register(function(t){return new qN(t)}),this.register(function(t){return new jN(t)}),this.register(function(t){return new n7(t)}),this.register(function(t){return new r7(t)})}load(e,t,n,i){const s=this;let o;if(this.resourcePath!=="")o=this.resourcePath;else if(this.path!==""){const d=Ql.extractUrlBase(e);o=Ql.resolveURL(d,this.path)}else o=Ql.extractUrlBase(e);this.manager.itemStart(e);const l=function(d){i?i(d):console.error(d),s.manager.itemError(e),s.manager.itemEnd(e)},u=new Ss(this.manager);u.setPath(this.path),u.setResponseType("arraybuffer"),u.setRequestHeader(this.requestHeader),u.setWithCredentials(this.withCredentials),u.load(e,function(d){try{s.parse(d,o,function(p){t(p),s.manager.itemEnd(e)},l)}catch(p){l(p)}},n,l)}setDRACOLoader(e){return this.dracoLoader=e,this}setDDSLoader(){throw new Error('THREE.GLTFLoader: "MSFT_texture_dds" no longer supported. Please update to "KHR_texture_basisu".')}setKTX2Loader(e){return this.ktx2Loader=e,this}setMeshoptDecoder(e){return this.meshoptDecoder=e,this}register(e){return this.pluginCallbacks.indexOf(e)===-1&&this.pluginCallbacks.push(e),this}unregister(e){return this.pluginCallbacks.indexOf(e)!==-1&&this.pluginCallbacks.splice(this.pluginCallbacks.indexOf(e),1),this}parse(e,t,n,i){let s;const o={},l={};if(typeof e=="string")s=JSON.parse(e);else if(e instanceof ArrayBuffer)if(my(new Uint8Array(e.slice(0,4)))===IT){try{o[cn.KHR_BINARY_GLTF]=new i7(e)}catch(p){i&&i(p);return}
vendor: 13,856 bytes, line 3913
3913s=JSON.parse(o[cn.KHR_BINARY_GLTF].content)}else s=JSON.parse(my(new Uint8Array(e)));else s=e;if(s.asset===void 0||s.asset.version[0]<2){i&&i(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));return}const u=new y7(s,{path:t||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});u.fileLoader.setRequestHeader(this.requestHeader);for(let d=0;d<this.pluginCallbacks.length;d++){const p=this.pluginCallbacks[d](u);p.name||console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),l[p.name]=p,o[p.name]=!0}if(s.extensionsUsed)for(let d=0;d<s.extensionsUsed.length;++d){const p=s.extensionsUsed[d],m=s.extensionsRequired||[];switch(p){case cn.KHR_MATERIALS_UNLIT:o[p]=new zN;break;case cn.KHR_DRACO_MESH_COMPRESSION:o[p]=new s7(s,this.dracoLoader);break;case cn.KHR_TEXTURE_TRANSFORM:o[p]=new o7;break;case cn.KHR_MESH_QUANTIZATION:o[p]=new a7;break;default:m.indexOf(p)>=0&&l[p]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+p+'".')}}u.setExtensions(o),u.setPlugins(l),u.parse(n,i)}parseAsync(e,t){const n=this;return new Promise(function(i,s){n.parse(e,t,i,s)})}}function UN(){let r={};return{get:function(e){return r[e]},add:function(e,t){r[e]=t},remove:function(e){delete r[e]},removeAll:function(){r={}}}}const cn={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class jN{constructor(e){this.parser=e,this.name=cn.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,t=this.parser.json.nodes||[];for(let n=0,i=t.length;n<i;n++){const s=t[n];s.extensions&&s.extensions[this.name]&&s.extensions[this.name].light!==void 0&&e._addNodeRef(this.cache,s.extensions[this.name].light)}}_loadLight(e){const t=this.parser,n="light:"+e;let i=t.cache.get(n);if(i)return i;const s=t.json,u=((s.extensions&&s.extensions[this.name]||{}).lights||[])[e];let d;const p=new tt(16777215);u.color!==void 0&&p.setRGB(u.color[0],u.color[1],u.color[2],Qa);const m=u.range!==void 0?u.range:0;switch(u.type){case"directional":d=new wM(p),d.target.position.set(0,0,-1),d.add(d.target);break;case"point":d=new SM(p),d.distance=m;break;case"spot":d=new MM(p),d.distance=m,u.spot=u.spot||{},u.spot.innerConeAngle=u.spot.innerConeAngle!==void 0?u.spot.innerConeAngle:0,u.spot.outerConeAngle=u.spot.outerConeAngle!==void 0?u.spot.outerConeAngle:Math.PI/4,d.angle=u.spot.outerConeAngle,d.penumbra=1-u.spot.innerConeAngle/u.spot.outerConeAngle,d.target.position.set(0,0,-1),d.add(d.target);break;default:throw new Error("THREE.GLTFLoader: Unexpected light type: "+u.type)}return d.position.set(0,0,0),d.decay=2,Ga(d,u),u.intensity!==void 0&&(d.intensity=u.intensity),d.name=t.createUniqueName(u.name||"light_"+e),i=Promise.resolve(d),t.cache.add(n,i),i}getDependency(e,t){if(e==="light")return this._loadLight(t)}createNodeAttachment(e){const t=this,n=this.parser,s=n.json.nodes[e],l=(s.extensions&&s.extensions[this.name]||{}).light;return l===void 0?null:this._loadLight(l).then(function(u){return n._getNodeRef(t.cache,l,u)})}}class zN{constructor(){this.name=cn.KHR_MATERIALS_UNLIT}getMaterialType(){return vs}extendParams(e,t,n){const i=[];e.color=new tt(1,1,1),e.opacity=1;const s=t.pbrMetallicRoughness;if(s){if(Array.isArray(s.baseColorFactor)){const o=s.baseColorFactor;e.color.setRGB(o[0],o[1],o[2],Qa),e.opacity=o[3]}s.baseColorTexture!==void 0&&i.push(n.assignTexture(e,"map",s.baseColorTexture,_u))}return Promise.all(i)}}class HN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_EMISSIVE_STRENGTH}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=i.extensions[this.name].emissiveStrength;return s!==void 0&&(t.emissiveIntensity=s),Promise.resolve()}}class GN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_CLEARCOAT}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];if(o.clearcoatFactor!==void 0&&(t.clearcoat=o.clearcoatFactor),o.clearcoatTexture!==void 0&&s.push(n.assignTexture(t,"clearcoatMap",o.clearcoatTexture)),o.clearcoatRoughnessFactor!==void 0&&(t.clearcoatRoughness=o.clearcoatRoughnessFactor),o.clearcoatRoughnessTexture!==void 0&&s.push(n.assignTexture(t,"clearcoatRoughnessMap",o.clearcoatRoughnessTexture)),o.clearcoatNormalTexture!==void 0&&(s.push(n.assignTexture(t,"clearcoatNormalMap",o.clearcoatNormalTexture)),o.clearcoatNormalTexture.scale!==void 0)){const l=o.clearcoatNormalTexture.scale;t.clearcoatNormalScale=new Ne(l,l)}return Promise.all(s)}}class VN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_DISPERSION}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=i.extensions[this.name];return t.dispersion=s.dispersion!==void 0?s.dispersion:0,Promise.resolve()}}class WN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_IRIDESCENCE}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return o.iridescenceFactor!==void 0&&(t.iridescence=o.iridescenceFactor),o.iridescenceTexture!==void 0&&s.push(n.assignTexture(t,"iridescenceMap",o.iridescenceTexture)),o.iridescenceIor!==void 0&&(t.iridescenceIOR=o.iridescenceIor),t.iridescenceThicknessRange===void 0&&(t.iridescenceThicknessRange=[100,400]),o.iridescenceThicknessMinimum!==void 0&&(t.iridescenceThicknessRange[0]=o.iridescenceThicknessMinimum),o.iridescenceThicknessMaximum!==void 0&&(t.iridescenceThicknessRange[1]=o.iridescenceThicknessMaximum),o.iridescenceThicknessTexture!==void 0&&s.push(n.assignTexture(t,"iridescenceThicknessMap",o.iridescenceThicknessTexture)),Promise.all(s)}}class XN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_SHEEN}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[];t.sheenColor=new tt(0,0,0),t.sheenRoughness=0,t.sheen=1;const o=i.extensions[this.name];if(o.sheenColorFactor!==void 0){const l=o.sheenColorFactor;t.sheenColor.setRGB(l[0],l[1],l[2],Qa)}return o.sheenRoughnessFactor!==void 0&&(t.sheenRoughness=o.sheenRoughnessFactor),o.sheenColorTexture!==void 0&&s.push(n.assignTexture(t,"sheenColorMap",o.sheenColorTexture,_u)),o.sheenRoughnessTexture!==void 0&&s.push(n.assignTexture(t,"sheenRoughnessMap",o.sheenRoughnessTexture)),Promise.all(s)}}class JN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_TRANSMISSION}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return o.transmissionFactor!==void 0&&(t.transmission=o.transmissionFactor),o.transmissionTexture!==void 0&&s.push(n.assignTexture(t,"transmissionMap",o.transmissionTexture)),Promise.all(s)}}class $N{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_VOLUME}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];t.thickness=o.thicknessFactor!==void 0?o.thicknessFactor:0,o.thicknessTexture!==void 0&&s.push(n.assignTexture(t,"thicknessMap",o.thicknessTexture)),t.attenuationDistance=o.attenuationDistance||1/0;const l=o.attenuationColor||[1,1,1];return t.attenuationColor=new tt().setRGB(l[0],l[1],l[2],Qa),Promise.all(s)}}class KN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_IOR}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const i=this.parser.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=i.extensions[this.name];return t.ior=s.ior!==void 0?s.ior:1.5,Promise.resolve()}}class YN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_SPECULAR}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];t.specularIntensity=o.specularFactor!==void 0?o.specularFactor:1,o.specularTexture!==void 0&&s.push(n.assignTexture(t,"specularIntensityMap",o.specularTexture));const l=o.specularColorFactor||[1,1,1];return t.specularColor=new tt().setRGB(l[0],l[1],l[2],Qa),o.specularColorTexture!==void 0&&s.push(n.assignTexture(t,"specularColorMap",o.specularColorTexture,_u)),Promise.all(s)}}class qN{constructor(e){this.parser=e,this.name=cn.EXT_MATERIALS_BUMP}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return t.bumpScale=o.bumpFactor!==void 0?o.bumpFactor:1,o.bumpTexture!==void 0&&s.push(n.assignTexture(t,"bumpMap",o.bumpTexture)),Promise.all(s)}}class QN{constructor(e){this.parser=e,this.name=cn.KHR_MATERIALS_ANISOTROPY}getMaterialType(e){const n=this.parser.json.materials[e];return!n.extensions||!n.extensions[this.name]?null:Gs}extendMaterialParams(e,t){const n=this.parser,i=n.json.materials[e];if(!i.extensions||!i.extensions[this.name])return Promise.resolve();const s=[],o=i.extensions[this.name];return o.anisotropyStrength!==void 0&&(t.anisotropy=o.anisotropyStrength),o.anisotropyRotation!==void 0&&(t.anisotropyRotation=o.anisotropyRotation),o.anisotropyTexture!==void 0&&s.push(n.assignTexture(t,"anisotropyMap",o.anisotropyTexture)),Promise.all(s)}}class ZN{constructor(e){this.parser=e,this.name=cn.KHR_TEXTURE_BASISU}loadTexture(e){const t=this.parser,n=t.json,i=n.textures[e];if(!i.extensions||!i.extensions[this.name])return null;const s=i.extensions[this.name],o=t.options.ktx2Loader;if(!o){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return t.loadTextureImage(e,s.source,o)}}class e7{constructor(e){this.parser=e,this.name=cn.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,i=n.json,s=i.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],l=i.images[o.source];let u=n.textureLoader;if(l.uri){const d=n.options.manager.getHandler(l.uri);d!==null&&(u=d)}return this.detectSupport().then(function(d){if(d)return n.loadTextureImage(e,o.source,u);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class t7{constructor(e){this.parser=e,this.name=cn.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const t=this.name,n=this.parser,i=n.json,s=i.textures[e];if(!s.extensions||!s.extensions[t])return null;const o=s.extensions[t],l=i.images[o.source];let u=n.textureLoader;if(l.uri){const d=n.options.manager.getHandler(l.uri);d!==null&&(u=d)}return this.detectSupport().then(function(d){if(d)return n.loadTextureImage(e,o.source,u);if(i.extensionsRequired&&i.extensionsRequired.indexOf(t)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return n.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const t=new Image;t.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdj
3913FDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",t.onload=t.onerror=function(){e(t.height===1)}})),this.isSupported}}class n7{constructor(e){this.name=cn.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const t=this.parser.json,n=t.bufferViews[e];if(n.extensions&&n.extensions[this.name]){const i=n.extensions[this.name],s=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(t.extensionsRequired&&t.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(l){const u=i.byteOffset||0,d=i.byteLength||0,p=i.count,m=i.byteStride,y=new Uint8Array(l,u,d);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(p,m,y,i.mode,i.filter).then(function(v){return v.buffer}):o.ready.then(function(){const v=new ArrayBuffer(p*m);return o.decodeGltfBuffer(new Uint8Array(v),p,m,y,i.mode,i.filter),v})})}else return null}}class r7{constructor(e){this.name=cn.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const t=this.parser.json,n=t.nodes[e];if(!n.extensions||!n.extensions[this.name]||n.mesh===void 0)return null;const i=t.meshes[n.mesh];for(const d of i.primitives)if(d.mode!==ks.TRIANGLES&&d.mode!==ks.TRIANGLE_STRIP&&d.mode!==ks.TRIANGLE_FAN&&d.mode!==void 0)return null;const o=n.extensions[this.name].attributes,l=[],u={};for(const d in o)l.push(this.parser.getDependency("accessor",o[d]).then(p=>(u[d]=p,u[d])));return l.length<1?null:(l.push(this.parser.createNodeMesh(e)),Promise.all(l).then(d=>{const p=d.pop(),m=p.isGroup?p.children:[p],y=d[0].count,v=[];for(const S of m){const E=new Nt,A=new $,M=new fi,T=new $(1,1,1),I=new sM(S.geometry,S.material,y);for(let P=0;P<y;P++)u.TRANSLATION&&A.fromBufferAttribute(u.TRANSLATION,P),u.ROTATION&&M.fromBufferAttribute(u.ROTATION,P),u.SCALE&&T.fromBufferAttribute(u.SCALE,P),I.setMatrixAt(P,E.compose(A,M,T));for(const P in u)if(P==="_COLOR_0"){const k=u[P];I.instanceColor=new Ru(k.array,k.itemSize,k.normalized)}else P!=="TRANSLATION"&&P!=="ROTATION"&&P!=="SCALE"&&S.geometry.setAttribute(P,u[P]);fn.prototype.copy.call(I,S),this.parser.assignFinalMaterial(I),v.push(I)}return p.isGroup?(p.clear(),p.add(...v),p):v[0]}))}}const IT="glTF",pp=12,vA={JSON:1313821514,BIN:5130562};class i7{constructor(e){this.name=cn.KHR_BINARY_GLTF,this.content=null,this.body=null;const t=new DataView(e,0,pp);if(this.header={magic:my(new Uint8Array(e.slice(0,4))),version:t.getUint32(4,!0),length:t.getUint32(8,!0)},this.header.magic!==IT)throw new Error("THREE.GLTFLoader: Unsupported glTF-Binary header.");if(this.header.version<2)throw new Error("THREE.GLTFLoader: Legacy binary file detected.");const n=this.header.length-pp,i=new DataView(e,pp);let s=0;for(;s<n;){const o=i.getUint32(s,!0);s+=4;const l=i.getUint32(s,!0);if(s+=4,l===vA.JSON){const u=new Uint8Array(e,pp+s,o);this.content=my(u)}else if(l===vA.BIN){const u=pp+s;this.body=e.slice(u,u+o)}s+=o}if(this.content===null)throw new Error("THREE.GLTFLoader: JSON content not found.")}}class s7{constructor(e,t){if(!t)throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");this.name=cn.KHR_DRACO_MESH_COMPRESSION,this.json=e,this.dracoLoader=t,this.dracoLoader.preload()}decodePrimitive(e,t){const n=this.json,i=this.dracoLoader,s=e.extensions[this.name].bufferView,o=e.extensions[this.name].attributes,l={},u={},d={};for(const p in o){const m=lx[p]||p.toLowerCase();l[m]=o[p]}for(const p in e.attributes){const m=lx[p]||p.toLowerCase();if(o[p]!==void 0){const y=n.accessors[e.attributes[p]],v=Pd[y.componentType];d[m]=v.name,u[m]=y.normalized===!0}}return t.getDependency("bufferView",s).then(function(p){return new Promise(function(m,y){i.decodeDracoFile(p,function(v){for(const S in v.attributes){const E=v.attributes[S],A=u[S];A!==void 0&&(E.normalized=A)}m(v)},l,d,Qa,y)})})}}class o7{constructor(){this.name=cn.KHR_TEXTURE_TRANSFORM}extendTexture(e,t){return(t.texCoord===void 0||t.texCoord===e.channel)&&t.offset===void 0&&t.rotation===void 0&&t.scale===void 0||(e=e.clone(),t.texCoord!==void 0&&(e.channel=t.texCoord),t.offset!==void 0&&e.offset.fromArray(t.offset),t.rotation!==void 0&&(e.rotation=t.rotation),t.scale!==void 0&&e.repeat.fromArray(t.scale),e.needsUpdate=!0),e}}
vendor: 30,282 bytes, lines 3913-3914
3913class a7{constructor(){this.name=cn.KHR_MESH_QUANTIZATION}}class PT extends $d{constructor(e,t,n,i){super(e,t,n,i)}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,i=this.valueSize,s=e*i*3+i;for(let o=0;o!==i;o++)t[o]=n[s+o];return t}interpolate_(e,t,n,i){const s=this.resultBuffer,o=this.sampleValues,l=this.valueSize,u=l*2,d=l*3,p=i-t,m=(n-t)/p,y=m*m,v=y*m,S=e*d,E=S-d,A=-2*v+3*y,M=v-y,T=1-A,I=M-y+m;for(let P=0;P!==l;P++){const k=o[E+P+l],O=o[E+P+u]*p,N=o[S+P+l],H=o[S+P]*p;s[P]=T*k+I*O+A*N+M*H}return s}}const l7=new fi;class c7 extends PT{interpolate_(e,t,n,i){const s=super.interpolate_(e,t,n,i);return l7.fromArray(s).normalize().toArray(s),s}}const ks={FLOAT:5126,FLOAT_MAT3:35675,FLOAT_MAT4:35676,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,LINEAR:9729,REPEAT:10497,SAMPLER_2D:35678,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,UNSIGNED_BYTE:5121,UNSIGNED_SHORT:5123},Pd={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},_A={9728:zr,9729:Zn,9984:Ly,9985:Cd,9986:fu,9987:js},xA={33071:ys,33648:Od,10497:ec},l_={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},lx={POSITION:"position",NORMAL:"normal",TANGENT:"tangent",...FN>=152?{TEXCOORD_0:"uv",TEXCOORD_1:"uv1",TEXCOORD_2:"uv2",TEXCOORD_3:"uv3"}:{TEXCOORD_0:"uv",TEXCOORD_1:"uv2"},COLOR_0:"color",WEIGHTS_0:"skinWeight",JOINTS_0:"skinIndex"},$l={scale:"scale",translation:"position",rotation:"quaternion",weights:"morphTargetInfluences"},u7={CUBICSPLINE:void 0,LINEAR:Nd,STEP:Ld},c_={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"};function h7(r){return r.DefaultMaterial===void 0&&(r.DefaultMaterial=new dm({color:16777215,emissive:0,metalness:1,roughness:1,transparent:!1,depthTest:!0,side:Qo})),r.DefaultMaterial}function cu(r,e,t){for(const n in t.extensions)r[n]===void 0&&(e.userData.gltfExtensions=e.userData.gltfExtensions||{},e.userData.gltfExtensions[n]=t.extensions[n])}function Ga(r,e){e.extras!==void 0&&(typeof e.extras=="object"?Object.assign(r.userData,e.extras):console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, "+e.extras))}function d7(r,e,t){let n=!1,i=!1,s=!1;for(let d=0,p=e.length;d<p;d++){const m=e[d];if(m.POSITION!==void 0&&(n=!0),m.NORMAL!==void 0&&(i=!0),m.COLOR_0!==void 0&&(s=!0),n&&i&&s)break}if(!n&&!i&&!s)return Promise.resolve(r);const o=[],l=[],u=[];for(let d=0,p=e.length;d<p;d++){const m=e[d];if(n){const y=m.POSITION!==void 0?t.getDependency("accessor",m.POSITION):r.attributes.position;o.push(y)}if(i){const y=m.NORMAL!==void 0?t.getDependency("accessor",m.NORMAL):r.attributes.normal;l.push(y)}if(s){const y=m.COLOR_0!==void 0?t.getDependency("accessor",m.COLOR_0):r.attributes.color;u.push(y)}}return Promise.all([Promise.all(o),Promise.all(l),Promise.all(u)]).then(function(d){const p=d[0],m=d[1],y=d[2];return n&&(r.morphAttributes.position=p),i&&(r.morphAttributes.normal=m),s&&(r.morphAttributes.color=y),r.morphTargetsRelative=!0,r})}function f7(r,e){if(r.updateMorphTargets(),e.weights!==void 0)for(let t=0,n=e.weights.length;t<n;t++)r.morphTargetInfluences[t]=e.weights[t];if(e.extras&&Array.isArray(e.extras.targetNames)){const t=e.extras.targetNames;if(r.morphTargetInfluences.length===t.length){r.morphTargetDictionary={};for(let n=0,i=t.length;n<i;n++)r.morphTargetDictionary[t[n]]=n}else console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.")}}function p7(r){let e;const t=r.extensions&&r.extensions[cn.KHR_DRACO_MESH_COMPRESSION];if(t?e="draco:"+t.bufferView+":"+t.indices+":"+u_(t.attributes):e=r.indices+":"+u_(r.attributes)+":"+r.mode,r.targets!==void 0)for(let n=0,i=r.targets.length;n<i;n++)e+=":"+u_(r.targets[n]);return e}function u_(r){let e="";const t=Object.keys(r).sort();for(let n=0,i=t.length;n<i;n++)e+=t[n]+":"+r[t[n]]+";";return e}function cx(r){switch(r){case Int8Array:return 1/127;case Uint8Array:return 1/255;case Int16Array:return 1/32767;case Uint16Array:return 1/65535;default:throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.")}}function m7(r){return r.search(/\.jpe?g($|\?)/i)>0||r.search(/^data\:image\/jpeg/)===0?"image/jpeg":r.search(/\.webp($|\?)/i)>0||r.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const g7=new Nt;class y7{constructor(e={},t={}){this.json=e,this.extensions={},this.plugins={},this.options=t,this.cache=new UN,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let n=!1,i=!1,s=-1;typeof navigator<"u"&&typeof navigator.userAgent<"u"&&(n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)===!0,i=navigator.userAgent.indexOf("Firefox")>-1,s=i?navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1]:-1),typeof createImageBitmap>"u"||n||i&&s<98?this.textureLoader=new _M(this.options.manager):this.textureLoader=new GC(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Ss(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,t){const n=this,i=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([n.getDependencies("scene"),n.getDependencies("animation"),n.getDependencies("camera")])}).then(function(o){const l={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:n,userData:{}};return cu(s,l,i),Ga(l,i),Promise.all(n._invokeAll(function(u){return u.afterRoot&&u.afterRoot(l)})).then(function(){for(const u of l.scenes)u.updateMatrixWorld();e(l)})}).catch(t)}_markDefs(){const e=this.json.nodes||[],t=this.json.skins||[],n=this.json.meshes||[];for(let i=0,s=t.length;i<s;i++){const o=t[i].joints;for(let l=0,u=o.length;l<u;l++)e[o[l]].isBone=!0}for(let i=0,s=e.length;i<s;i++){const o=e[i];o.mesh!==void 0&&(this._addNodeRef(this.meshCache,o.mesh),o.skin!==void 0&&(n[o.mesh].isSkinnedMesh=!0)),o.camera!==void 0&&this._addNodeRef(this.cameraCache,o.camera)}}_addNodeRef(e,t){t!==void 0&&(e.refs[t]===void 0&&(e.refs[t]=e.uses[t]=0),e.refs[t]++)}_getNodeRef(e,t,n){if(e.refs[t]<=1)return n;const i=n.clone(),s=(o,l)=>{const u=this.associations.get(o);u!=null&&this.associations.set(l,u);for(const[d,p]of o.children.entries())s(p,l.children[d])};return s(n,i),i.name+="_instance_"+e.uses[t]++,i}_invokeOne(e){const t=Object.values(this.plugins);t.push(this);for(let n=0;n<t.length;n++){const i=e(t[n]);if(i)return i}return null}_invokeAll(e){const t=Object.values(this.plugins);t.unshift(this);const n=[];for(let i=0;i<t.length;i++){const s=e(t[i]);s&&n.push(s)}return n}getDependency(e,t){const n=e+":"+t;let i=this.cache.get(n);if(!i){switch(e){case"scene":i=this.loadScene(t);break;case"node":i=this._invokeOne(function(s){return s.loadNode&&s.loadNode(t)});break;case"mesh":i=this._invokeOne(function(s){return s.loadMesh&&s.loadMesh(t)});break;case"accessor":i=this.loadAccessor(t);break;case"bufferView":i=this._invokeOne(function(s){return s.loadBufferView&&s.loadBufferView(t)});break;case"buffer":i=this.loadBuffer(t);break;case"material":i=this._invokeOne(function(s){return s.loadMaterial&&s.loadMaterial(t)});break;case"texture":i=this._invokeOne(function(s){return s.loadTexture&&s.loadTexture(t)});break;case"skin":i=this.loadSkin(t);break;case"animation":i=this._invokeOne(function(s){return s.loadAnimation&&s.loadAnimation(t)});break;case"camera":i=this.loadCamera(t);break;default:if(i=this._invokeOne(function(s){return s!=this&&s.getDependency&&s.getDependency(e,t)}),!i)throw new Error("Unknown type: "+e);break}this.cache.add(n,i)}return i}getDependencies(e){let t=this.cache.get(e);if(!t){const n=this,i=this.json[e+(e==="mesh"?"es":"s")]||[];t=Promise.all(i.map(function(s,o){return n.getDependency(e,o)})),this.cache.add(e,t)}return t}loadBuffer(e){const t=this.json.buffers[e],n=this.fileLoader;if(t.type&&t.type!=="arraybuffer")throw new Error("THREE.GLTFLoader: "+t.type+" buffer type is not supported.");if(t.uri===void 0&&e===0)return Promise.resolve(this.extensions[cn.KHR_BINARY_GLTF].body);const i=this.options;return new Promise(function(s,o){n.load(Ql.resolveURL(t.uri,i.path),s,void 0,function(){o(new Error('THREE.GLTFLoader: Failed to load buffer "'+t.uri+'".'))})})}loadBufferView(e){const t=this.json.bufferViews[e];return this.getDependency("buffer",t.buffer).then(function(n){const i=t.byteLength||0,s=t.byteOffset||0;return n.slice(s,s+i)})}loadAccessor(e){const t=this,n=this.json,i=this.json.accessors[e];if(i.bufferView===void 0&&i.sparse===void 0){const o=l_[i.type],l=Pd[i.componentType],u=i.normalized===!0,d=new l(i.count*o);return Promise.resolve(new vn(d,o,u))}const s=[];return i.bufferView!==void 0?s.push(this.getDependency("bufferView",i.bufferView)):s.push(null),i.sparse!==void 0&&(s.push(this.getDependency("bufferView",i.sparse.indices.bufferView)),s.push(this.getDependency("bufferView",i.sparse.values.bufferView))),Promise.all(s).then(function(o){const l=o[0],u=l_[i.type],d=Pd[i.componentType],p=d.BYTES_PER_ELEMENT,m=p*u,y=i.byteOffset||0,v=i.bufferView!==void 0?n.bufferViews[i.bufferView].byteStride:void 0,S=i.normalized===!0;let E,A;if(v&&v!==m){const M=Math.floor(y/v),T="InterleavedBuffer:"+i.bufferView+":"+i.componentType+":"+M+":"+i.count;let I=t.cache.get(T);I||(E=new d(l,M*v,i.count*v/p),I=new sm(E,v/p),t.cache.add(T,I)),A=new tc(I,u,y%v/p,S)}else l===null?E=new d(i.count*u):E=new d(l,y,i.count*u),A=new vn(E,u,S);if(i.sparse!==void 0){const M=l_.SCALAR,T=Pd[i.sparse.indices.componentType],I=i.sparse.indices.byteOffset||0,P=i.sparse.values.byteOffset||0,k=new T(o[1],I,i.sparse.count*M),O=new d(o[2],P,i.sparse.count*u);l!==null&&(A=new vn(A.array.slice(),A.itemSize,A.normalized));for(let N=0,H=k.length;N<H;N++){const F=k[N];if(A.setX(F,O[N*u]),u>=2&&A.setY(F,O[N*u+1]),u>=3&&A.setZ(F,O[N*u+2]),u>=4&&A.setW(F,O[N*u+3]),u>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}}return A})}loadTexture(e){const t=this.json,n=this.options,s=t.textures[e].source,o=t.images[s];let l=this.textureLoader;if(o.uri){const u=n.manager.getHandler(o.uri);u!==null&&(l=u)}return this.loadTextureImage(e,s,l)}loadTextureImage(e,t,n){const i=this,s=this.json,o=s.textures[e],l=s.images[t],u=(l.uri||l.bufferView)+":"+o.sampler;if(this.textureCache[u])return this.textureCache[u];const d=this.loadImageSource(t,n).then(function(p){p.flipY=!1,p.name=o.name||l.name||"",p.name===""&&typeof l.uri=="string"&&l.uri.startsWith("data:image/")===!1&&(p.name=l.uri);const y=(s.samplers||{})[o.sampler]||{};return p.magFilter=_A[y.magFilter]||Zn,p.minFilter=_A[y.minFilter]||js,p.wrapS=xA[y.wrapS]||ec,p.wrapT=xA[y.wrapT]||ec,i.associations.set(p,{textures:e}),p}).catch(function(){return null});return this.textureCache[u]=d,d}loadImageSource(e,t){const n=this,i=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(m=>m.clone());const o=i.images[e],l=self.URL||self.webkitURL;let u=o.uri||"",d=!1;if(o.bufferView!==void 0)u=n.getDependency("bufferView",o.bufferView).then(function(m){d=!0;const y=new Blob([m],{type:o.mimeType});return u=l.createObjectURL(y),u});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const p=Promise.resolve(u).then(function(m){return new Promise(function(y,v){let S=y;t.isImageBitmapLoader===!0&&(S=function(E){const A=new Gn(E);A.needsUpdate=!0,y(A)}),t.load(Ql.resolveURL(m,s.path),S,void 0,v)})}).then(function(m){return d===!0&&l.revokeObjectURL(u),Ga(m,o),m.userData.mimeType=o.mimeType||m7(o.uri),m}).catch(function(m){throw console.error("THREE.GLTFLoader: Couldn't load texture",u),m});return this.sourceCache[e]=p,p}assignTexture(e,t,n,i){const s=this;return this.getDependency("texture",n.index).then(function(o){if(!o)return null;if(n.texCoord!==void 0&&n.texCoord>0&&(o=o.clone(),o.channel=n.texCoord),s.extensions[cn.KHR_TEXTURE_TRANSFORM]){const l=n.extensions!==void 0?n.extensions[cn.KHR_TEXTURE_TRANSFORM]:void 0;if(l){const u=s.associations.get(o);o=s.extensions[cn.KHR_TEXTURE_TRANSFORM].extendTexture(o,l),s.associations.set(o,u)}}return i!==void 0&&(typeof i=="number"&&(i=i===yA?_u:Qa),"colorSpace"in o?o.colorSpace=i:o.encoding=i===_u?yA:kN),e[t]=o,o})}assignFinalMaterial(e){const t=e.geometry;let n=e.material;const i=t.attributes.tangent===void 0,s=t.attributes.color!==void 0,o=t.attributes.normal===void 0;if(e.isPoints){const l="PointsMaterial:"+n.uuid;let u=this.cache.get(l);u||(u=new lm,xr.prototype.copy.call(u,n),u.color.copy(n.color),u.map=n.map,u.sizeAttenuation=!1,this.cache.add(l,u)),n=u}else if(e.isLine){const l="LineBasicMaterial:"+n.uuid;let u=this.cache.get(l);u||(u=new mi,xr.prototype.copy.call(u,n),u.color.copy(n.color),u.map=n.map,this.cache.add(l,u)),n=u}if(i||s||o){let l="ClonedMaterial:"+n.uuid+":";i&&(l+="derivative-tangents:"),s&&(l+="vertex-colors:"),o&&(l+="flat-shading:");let u=this.cache.get(l);u||(u=n.clone(),s&&(u.vertexColors=!0),o&&(u.flatShading=!0),i&&(u.normalScale&&(u.normalScale.y*=-1),u.clearcoatNormalScale&&(u.clearcoatNormalScale.y*=-1)),this.cache.add(l,u),this.associations.set(u,this.associations.get(n))),n=u}e.material=n}getMaterialType(){return dm}loadMaterial(e){const t=this,n=this.json,i=this.extensions,s=n.materials[e];let o;const l={},u=s.extensions||{},d=[];if(u[cn.KHR_MATERIALS_UNLIT]){const m=i[cn.KHR_MATERIALS_UNLIT];o=m.getMaterialType(),d.push(m.extendParams(l,s,t))}else{const m=s.pbrMetallicRoughness||{};if(l.color=new tt(1,1,1),l.opacity=1,Array.isArray(m.baseColorFactor)){const y=m.baseColorFactor;l.color.setRGB(y[0],y[1],y[2],Qa),l.opacity=y[3]}m.baseColorTexture!==void 0&&d.push(t.assignTexture(l,"map",m.baseColorTexture,_u)),l.metalness=m.metallicFactor!==void 0?m.metallicFactor:1,l.roughness=m.roughnessFactor!==void 0?m.roughnessFactor:1,m.metallicRoughnessTexture!==void 0&&(d.push(t.assignTexture(l,"metalnessMap",m.metallicRoughnessTexture)),d.push(t.assignTexture(l,"roughnessMap",m.metallicRoughnessTexture))),o=this._invokeOne(function(y){return y.getMaterialType&&y.getMaterialType(e)}),d.push(Promise.all(this._invokeAll(function(y){return y.extendMaterialParams&&y.extendMaterialParams(e,l)})))}s.doubleSided===!0&&(l.side=xo);const p=s.alphaMode||c_.OPAQUE;if(p===c_.BLEND?(l.transparent=!0,l.depthWrite=!1):(l.transparent=!1,p===c_.MASK&&(l.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==vs&&(d.push(t.assignTexture(l,"normalMap",s.normalTexture)),l.normalScale=new Ne(1,1),s.normalTexture.scale!==void 0)){const m=s.normalTexture.scale;l.normalScale.set(m,m)}if(s.occlusionTexture!==void 0&&o!==vs&&(d.push(t.assignTexture(l,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(l.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==vs){const m=s.emissiveFactor;l.emissive=new tt().setRGB(m[0],m[1],m[2],Qa)}return s.emissiveTexture!==void 0&&o!==vs&&d.push(t.assignTexture(l,"emissiveMap",s.emissiveTexture,_u)),Promise.all(d).then(function(){const m=new o(l);return s.name&&(m.name=s.name),Ga(m,s),t.associations.set(m,{materials:e}),s.extensions&&cu(i,m,s),m})}createUniqueName(e){const t=gn.sanitizeNodeName(e||"");return t in this.nodeNamesUsed?t+"_"+ ++this.nodeNamesUsed[t]:(this.nodeNamesUsed[t]=0,t)}loadGeometries(e){const t=this,n=this.extensions,i=this.primitiveCache;function s(l){return n[cn.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(l,t).then(function(u){return MA(u,l,t)})}const o=[];for(let l=0,u=e.length;l<u;l++){const d=e[l],p=p7(d),m=i[p];if(m)o.push(m.promise);else{let y;d.extensions&&d.extensions[cn.KHR_DRACO_MESH_COMPRESSION]?y=s(d):y=MA(new Jt,d,t),i[p]={primitive:d,promise:y},o.push(y)}}return Promise.all(o)}loadMesh(e){const t=this,n=this.json,i=this.extensions,s=n.meshes[e],o=s.primitives,l=[];for(let u=0,d=o.length;u<d;u++){const p=o[u].material===void 0?h7(this.cache):this.getDependency("material",o[u].material);l.push(p)}return l.push(t.loadGeometries(o)),Promise.all(l).then(function(u){const d=u.slice(0,u.length-1),p=u[u.length-1],m=[];for(let v=0,S=p.length;v<S;v++){const E=p[v],A=o[v];let M;const T=d[v];if(A.mode===ks.TRIANGLES||A.mode===ks.TRIANGLE_STRIP||A.mode===ks.TRIANGLE_FAN||A.mode===void 0)M=s.isSkinnedMesh===!0?new iM(E,T):new hr(E,T),M.isSkinnedMesh===!0&&M.normalizeSkinWeights(),A.mode===ks.TRIANGLE_STRIP?M.geometry=gA(M.geometry,qx):A.mode===ks.TRIANGLE_FAN&&(M.geometry=gA(M.geometry,cy));else if(A.mode===ks.LINES)M=new bo(E,T);else if(A.mode===ks.LINE_STRIP)M=new nl(E,T);else if(A.mode===ks.LINE_LOOP)M=new oM(E,T);else if(A.mode===ks.POINTS)M=new Jy(E,T);else throw new Error("THREE.GLTFLoader: Primitive mode unsupported: "+A.mode);Object.keys(M.geometry.morphAttributes).length>0&&f7(M,s),M.name=t.createUniqueName(s.name||"mesh_"+e),Ga(M,s),A.extensions&&cu(i,M,A),t.assignFinalMaterial(M),m.push(M)}for(let v=0,S=m.length;v<S;v++)t.associations.set(m[v],{meshes:e,primitives:v});if(m.length===1)return s.extensions&&cu(i,m[0],s),m[0];const y=new $a;s.extensions&&cu(i,y,s),t.associations.set(y,{meshes:e});for(let v=0,S=m.length;v<S;v++)y.add(m[v]);return y})}loadCamera(e){let t;const n=this.json.cameras[e],i=n[n.type];if(!i){console.warn("THREE.GLTFLoader: Missing camera parameters.");return}return n.type==="perspective"?t=new _r(Qb.radToDeg(i.yfov),i.aspectRatio||1,i.znear||1,i.zfar||2e6):n.type==="orthographic"&&(t=new Kd(-i.xmag,i.xmag,i.ymag,-i.ymag,i.znear,i.zfar)),n.name&&(t.name=this.createUniqueName(n.name)),Ga(t,n),Promise.resolve(t)}loadSkin(e){const t=this.json.skins[e],n=[];for(let i=0,s=t.joints.length;i<s;i++)n.push(this._loadNodeShallow(t.joints[i]));return t.inverseBindMatrices!==void 0?n.push(this.getDependency("accessor",t.inverseBindMatrices)):n.push(null),Promise.all(n).then(function(i){const s=i.pop(),o=i,l=[],u=[];for(let d=0,p=o.length;d<p;d++){const m=o[d];if(m){l.push(m);const y=new Nt;s!==null&&y.fromArray(s.array,d*16),u.push(y)}else console.warn('THREE.GLTFLoader: Joint "%s" could not be found.',t.joints[d])}return new om(l,u)})}loadAnimation(e){const t=this.json,n=this,i=t.animations[e],s=i.name?i.name:"animation_"+e,o=[],l=[],u=[],d=[],p=[];for(let m=0,y=i.channels.length;m<y;m++){const v=i.channels[m],S=i.samplers[v.sampler],E=v.target,A=E.node,M=i.parameters!==void 0?i.parameters[S.input]:S.input,T=i.parameters!==void 0?i.parameters[S.output]:S.output;E.node!==void 0&&(o.push(this.getDependency("node",A)),l.push(this.getDependency("accessor",M)),u.push(this.getDependency("accessor",T)),d.push(S),p.push(E))}return Promise.all([Promise.all(o),Promise.all(l),Promise.all(u),Promise.all(d),Promise.all(p)]).then(function(m){const y=m[0],v=m[1],S=m[2],E=m[3],A=m[4],M=[];for(let T=0,I=y.length;T<I;T++){const P=y[T],k=v[T],O=S[T],N=E[T],H=A[T];if(P===void 0)continue;P.updateMatrix&&P.updateMatrix();const F=n._createAnimationTracks(P,k,O,N,H);if(F)for(let L=0;L<F.length;L++)M.push(F[L])}return new Ud(s,void 0,M)})}createNodeMesh(e){const t=this.json,n=this,i=t.nodes[e];return i.mesh===void 0?null:n.getDependency("mesh",i.mesh).then(function(s){const o=n._getNodeRef(n.meshCache,i.mesh,s);return i.weights!==void 0&&o.traverse(function(l){if(l.isMesh)for(let u=0,d=i.weights.length;u<d;u++)l.morphTargetInfluences[u]=i.weights[u]}),o})}loadNode(e){const t=this.json,n=this,i=t.nodes[e],s=n._loadNodeShallow(e),o=[],l=i.children||[];for(let d=0,p=l.length;d<p;d++)o.push(n.getDependency("node",l[d]));const u=i.skin===void 0?Promise.resolve(null):n.getDependency("skin",i.skin);return Promise.all([s,Promise.all(o),u]).then(function(d){const p=d[0],m=d[1],y=d[2];y!==null&&p.traverse(function(v){v.isSkinnedMesh&&v.bind(y,g7)});for(let v=0,S=m.length;v<S;v++)p.add(m[v]);return p})}_loadNodeShallow(e){const t=this.json,n=this.extensions,i=this;if(this.nodeCache[e]!==void 0)return this.nodeCache[e];const s=t.nodes[e],o=s.name?i.createUniqueName(s.name):"",l=[],u=i._invokeOne(function(d){return d.createNodeMesh&&d.createNodeMesh(e)});return u&&l.push(u),s.camera!==void 0&&l.push(i.getDependency("camera",s.camera).then(function(d){return i._getNodeRef(i.cameraCache,s.camera,d)})),i._invokeAll(function(d){return d.createNodeAttachment&&d.createNodeAttachment(e)}).forEach(function(d){l.push(d)}),this.nodeCache[e]=Promise.all(l).then(function(d){let p;if(s.isBone===!0?p=new Xy:d.length>1?p=new $a:d.length===1?p=d[0]:p=new fn,p!==d[0])for(let m=0,y=d.length;m<y;m++)p.add(d[m]);if(s.name&&(p.userData.name=s.name,p.name=o),Ga(p,s),s.extensions&&cu(n,p,s),s.matrix!==void 0){const m=new Nt;m.fromArray(s.matrix),p.applyMatrix4(m)}else s.translation!==void 0&&p.position.fromArray(s.translation),s.rotation!==void 0&&p.quaternion.fromArray(s.rotation),s.scale!==void 0&&p.scale.fromArray(s.scale);return i.associations.has(p)||i.associations.set(p,{}),i.associations.get(p).nodes=e,p}),this.nodeCache[e]}loadScene(e){const t=this.extensions,n=this.json.scenes[e],i=this,s=new $a;n.name&&(s.name=i.createUniqueName(n.name)),Ga(s,n),n.extensions&&cu(t,s,n);const o=n.nodes||[],l=[];for(let u=0,d=o.length;u<d;u++)l.push(i.getDependency("node",o[u]));return Promise.all(l).then(function(u){for(let p=0,m=u.length;p<m;p++)s.add(u[p]);const d=p=>{const m=new Map;for(const[y,v]of i.associations)(y instanceof xr||y instanceof Gn)&&m.set(y,v);return p.traverse(y=>{const v=i.associations.get(y);v!=null&&m.set(y,v)}),m};return i.associations=d(s),s})}_createAnimationTracks(e,t,n,i,s){const o=[],l=e.name?e.name:e.uuid,u=[];$l[s.path]===$l.weights?e.traverse(function(y){y.morphTargetInfluences&&u.push(y.name?y.name:y.uuid)}):u.push(l);let d;switch($l[s.path]){case $l.weights:d=Ou;break;case $l.rotation:d=Du;break;case $l.position:case $l.scale:d=Lu;break;default:switch(n.itemSize){case 1:d=Ou;break;case 2:case 3:default:d=Lu;break}break}const p=i.interpolation!==void 0?u7[i.interpolation]:Nd,m=this._getArrayFromAccessor(n);for(let y=0,v=u.length;y<v;y++){const S=new d(u[y]+"."+$l[s.path],t.array,m,p);i.interpolation==="CUBICSPLINE"&&this._createCubicSplineTrackInterpolant(S),o.push(S)}return o}_getArrayFromAccessor(e){let t=e.array;if(e.normalized){const n=cx(t.constructor),i=new Float32Array(t.length);for(let s=0,o=t.length;s<o;s++)i[s]=t[s]*n;t=i}return t}_createCubicSplineTrackInterpolant(e){e.createInterpolant=function(n){const i=this instanceof Du?c7:PT;return new i(this.times,this.values,this.getValueSize()/3,n)},e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline=!0}}function v7(r,e,t){const n=e.attributes,i=new pi;if(n.POSITION!==void 0){const l=t.json.accessors[n.POSITION],u=l.min,d=l.max;if(u!==void 0&&d!==void 0){if(i.set(new $(u[0],u[1],u[2]),new $(d[0],d[1],d[2])),l.normalized){const p=cx(Pd[l.componentType]);i.min.multiplyScalar(p),i.max.multiplyScalar(p)}}else{console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");return}}else return;const s=e.targets;if(s!==void 0){const l=new $,u=new $;for(let d=0,p=s.length;d<p;d++){const m=s[d];if(m.POSITION!==void 0){const y=t.json.accessors[m.POSITION],v=y.min,S=y.max;if(v!==void 0&&S!==void 0){if(u.setX(Math.max(Math.abs(v[0]),Math.abs(S[0]))),u.setY(Math.max(Math.abs(v[1]),Math.abs(S[1]))),u.setZ(Math.max(Math.abs(v[2]),Math.abs(S[2]))),y.normalized){const E=cx(Pd[y.componentType]);u.multiplyScalar(E)}l.max(u)}else console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.")}}i.expandByVector(l)}r.boundingBox=i;const o=new ei;i.getCenter(o.center),o.radius=i.min.distanceTo(i.max)/2,r.boundingSphere=o}function MA(r,e,t){const n=e.attributes,i=[];function s(o,l){return t.getDependency("accessor",o).then(function(u){r.setAttribute(l,u)})}for(const o in n){const l=lx[o]||o.toLowerCase();l in r.attributes||i.push(s(n[o],l))}if(e.indices!==void 0&&!r.index){const o=t.getDependency("accessor",e.indices).then(function(l){r.setIndex(l)});i.push(o)}return Ga(r,e),v7(r,e,t),Promise.all(i).then(function(){return e.targets!==void 0?d7(r,e.targets,t):r})}const h_=new WeakMap;class _7 extends gi{constructor(e){super(e),this.decoderPath="",this.decoderConfig={},this.decoderBinary=null,this.decoderPending=null,this.workerLimit=4,this.workerPool=[],this.workerNextTaskID=1,this.workerSourceURL="",this.defaultAttributeIDs={position:"POSITION",normal:"NORMAL",color:"COLOR",uv:"TEX_COORD"},this.defaultAttributeTypes={position:"Float32Array",normal:"Float32Array",color:"Float32Array",uv:"Float32Array"}}setDecoderPath(e){return this.decoderPath=e,this}setDecoderConfig(e){return this.decoderConfig=e,this}setWorkerLimit(e){return this.workerLimit=e,this}load(e,t,n,i){const s=new Ss(this.manager);s.setPath(this.path),s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,o=>{const l={attributeIDs:this.defaultAttributeIDs,attributeTypes:this.defaultAttributeTypes,useUniqueIDs:!1};this.decodeGeometry(o,l).then(t).catch(i)},n,i)}decodeDracoFile(e,t,n,i){const s={attributeIDs:n||this.defaultAttributeIDs,attributeTypes:i||this.defaultAttributeTypes,useUniqueIDs:!!n};this.decodeGeometry(e,s).then(t)}decodeGeometry(e,t){for(const u in t.attributeTypes){const d=t.attributeTypes[u];d.BYTES_PER_ELEMENT!==void 0&&(t.attributeTypes[u]=d.name)}const n=JSON.stringify(t);if(h_.has(e)){const u=h_.get(e);if(u.key===n)return u.promise;if(e.byteLength===0)throw new Error("THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred.")}let i;const s=this.workerNextTaskID++,o=e.byteLength,l=this._getWorker(s,o).then(u=>(i=u,new Promise((d,p)=>{i._callbacks[s]={resolve:d,reject:p},i.postMessage({type:"decode",id:s,taskConfig:t,buffer:e},[e])}))).then(u=>this._createGeometry(u.geometry));return l.catch(()=>!0).then(()=>{i&&s&&this._releaseTask(i,s)}),h_.set(e,{key:n,promise:l}),l}_createGeometry(e){const t=new Jt;e.index&&t.setIndex(new vn(e.index.array,1));for(let n=0;n<e.attributes.length;n++){const i=e.attributes[n],s=i.name,o=i.array,l=i.itemSize;t.setAttribute(s,new vn(o,l))}return t}_loadLibrary(e,t){const n=new Ss(this.manager);return n.setPath(this.decoderPath),n.setResponseType(t),n.setWithCredentials(this.withCredentials),new Promise((i,s)=>{n.load(e,i,void 0,s)})}preload(){return this._initDecoder(),this}_initDecoder(){if(this.decoderPending)return this.decoderPending;const e=typeof WebAssembly!="object"||this.decoderConfig.type==="js",t=[];return e?t.push(this._loadLibrary("draco_decoder.js","text")):(t.push(this._loadLibrary("draco_wasm_wrapper.js","text")),t.push(this._loadLibrary("draco_decoder.wasm","arraybuffer"))),this.decoderPending=Promise.all(t).then(n=>{const i=n[0];e||(this.decoderConfig.wasmBinary=n[1]);const s=x7.toString(),o=["/* draco decoder */",i,"","/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join(` 3914`);this.workerSourceURL=URL.createObjectURL(new Blob([o]))}),this.decoderPending}_getWorker(e,t){return this._initDecoder().then(()=>{if(this.workerPool.length<this.workerLimit){const i=new Worker(this.workerSourceURL);i._callbacks={},i._taskCosts={},i._taskLoad=0,i.postMessage({type:"init",decoderConfig:this.decoderConfig}),i.onmessage=function(s){const o=s.data;switch(o.type){case"decode":i._callbacks[o.id].resolve(o);break;case"error":i._callbacks[o.id].reject(o);break;default:console.error('THREE.DRACOLoader: Unexpected message, "'+o.type+'"')}},this.workerPool.push(i)}else this.workerPool.sort(function(i,s){return i._taskLoad>s._taskLoad?-1:1});const n=this.workerPool[this.workerPool.length-1];return n._taskCosts[e]=t,n._taskLoad+=t,n})}_releaseTask(e,t){e._taskLoad-=e._taskCosts[t],delete e._callbacks[t],delete e._taskCosts[t]}debug(){console.log("Task load: ",this.workerPool.map(e=>e._taskLoad))}dispose(){for(let e=0;e<this.workerPool.length;++e)this.workerPool[e].terminate();return this.workerPool.length=0,this}}function x7(){let r,e;onmessage=function(o){const l=o.data;switch(l.type){case"init":r=l.decoderConfig,e=new Promise(function(p){r.onModuleLoaded=function(m){p({draco:m})},DracoDecoderModule(r)});break;case"decode":const u=l.buffer,d=l.taskConfig;e.then(p=>{const m=p.draco,y=new m.Decoder,v=new m.DecoderBuffer;v.Init(new Int8Array(u),u.byteLength);try{const S=t(m,y,v,d),E=S.attributes.map(A=>A.array.buffer);S.index&&E.push(S.index.array.buffer),self.postMessage({type:"decode",id:l.id,geometry:S},E)}catch(S){console.error(S),self.postMessage({type:"error",id:l.id,error:S.message})}finally{m.destroy(v),m.destroy(y)}});break}};function t(o,l,u,d){const p=d.attributeIDs,m=d.attributeTypes;let y,v;const S=l.GetEncodedGeometryType(u);if(S===o.TRIANGULAR_MESH)y=new o.Mesh,v=l.DecodeBufferToMesh(u,y);else if(S===o.POINT_CLOUD)y=new o.PointCloud,v=l.DecodeBufferToPointCloud(u,y);else throw new Error("THREE.DRACOLoader: Unexpected geometry type.");if(!v.ok()||y.ptr===0)throw new Error("THREE.DRACOLoader: Decoding failed: "+v.error_msg());const E={index:null,attributes:[]};for(const A in p){const M=self[m[A]];let T,I;if(d.useUniqueIDs)I=p[A],T=l.GetAttributeByUniqueId(y,I);else{if(I=l.GetAttributeId(y,o[p[A]]),I===-1)continue;T=l.GetAttribute(y,I)}E.attributes.push(i(o,l,y,A,M,T))}return S===o.TRIANGULAR_MESH&&(E.index=n(o,l,y)),o.destroy(y),E}function n(o,l,u){const p=u.num_faces()*3,m=p*4,y=o._malloc(m);l.GetTrianglesUInt32Array(u,m,y);const v=new Uint32Array(o.HEAPF32.buffer,y,p).slice();return o._free(y),{array:v,itemSize:1}}function i(o,l,u,d,p,m){const y=m.num_components(),S=u.num_points()*y,E=S*p.BYTES_PER_ELEMENT,A=s(o,p),M=o._malloc(E);l.GetAttributeDataArrayForAllPoints(u,m,A,E,M);const T=new p(o.HEAPF32.buffer,M,S).slice();return o._free(M),{name:d,array:T,itemSize:y}}function s(o,l){switch(l){case Float32Array:return o.DT_FLOAT32;case Int8Array:return o.DT_INT8;case Int16Array:return o.DT_INT16;case Int32Array:return o.DT_INT32;case Uint8Array:return o.DT_UINT8;case Uint16Array:return o.DT_UINT16;case Uint32Array:return o.DT_UINT32}}}let cg;const d_=()=>{if(cg)return cg;
3914const r="B9h9z9tFBBBF8fL9gBB9gLaaaaaFa9gEaaaB9gFaFa9gEaaaFaEMcBFFFGGGEIIILF9wFFFLEFBFKNFaFCx/IFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBF8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBGy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBEn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBIi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBKI9z9iqlBOc+x8ycGBM/qQFTa8jUUUUBCU/EBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAGTkUUUBRNCUoBAG9uC/wgBZHKCUGAKCUG9JyRVAECFJRICBRcGXEXAcAF9PQFAVAFAclAcAVJAF9JyRMGXGXAG9FQBAMCbJHKC9wZRSAKCIrCEJCGrRQANCUGJRfCBRbAIRTEXGXAOATlAQ9PQBCBRISEMATAQJRIGXAS9FQBCBRtCBREEXGXAOAIlCi9PQBCBRISLMANCU/CBJAEJRKGXGXGXGXGXATAECKrJ2BBAtCKZrCEZfIBFGEBMAKhB83EBAKCNJhB83EBSEMAKAI2BIAI2BBHmCKrHYAYCE6HYy86BBAKCFJAICIJAYJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCGJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCEJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCIJAYAmJHY2BBAI2BFHmCKrHPAPCE6HPy86BBAKCLJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCKJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCOJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCNJAYAmJHY2BBAI2BGHmCKrHPAPCE6HPy86BBAKCVJAYAPJHY2BBAmCIrCEZHPAPCE6HPy86BBAKCcJAYAPJHY2BBAmCGrCEZHPAPCE6HPy86BBAKCMJAYAPJHY2BBAmCEZHmAmCE6Hmy86BBAKCSJAYAmJHm2BBAI2BEHICKrHYAYCE6HYy86BBAKCQJAmAYJHm2BBAICIrCEZHYAYCE6HYy86BBAKCfJAmAYJHm2BBAICGrCEZHYAYCE6HYy86BBAKCbJAmAYJHK2BBAICEZHIAICE6HIy86BBAKAIJRISGMAKAI2BNAI2BBHmCIrHYAYCb6HYy86BBAKCFJAICNJAYJHY2BBAmCbZHmAmCb6Hmy86BBAKCGJAYAmJHm2BBAI2BFHYCIrHPAPCb6HPy86BBAKCEJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCIJAmAYJHm2BBAI2BGHYCIrHPAPCb6HPy86BBAKCLJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCKJAmAYJHm2BBAI2BEHYCIrHPAPCb6HPy86BBAKCOJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCNJAmAYJHm2BBAI2BIHYCIrHPAPCb6HPy86BBAKCVJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCcJAmAYJHm2BBAI2BLHYCIrHPAPCb6HPy86BBAKCMJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCSJAmAYJHm2BBAI2BKHYCIrHPAPCb6HPy86BBAKCQJAmAPJHm2BBAYCbZHYAYCb6HYy86BBAKCfJAmAYJHm2BBAI2BOHICIrHYAYCb6HYy86BBAKCbJAmAYJHK2BBAICbZHIAICb6HIy86BBAKAIJRISFMAKAI8pBB83BBAKCNJAICNJ8pBB83BBAICTJRIMAtCGJRtAECTJHEAS9JQBMMGXAIQBCBRISEMGXAM9FQBANAbJ2BBRtCBRKAfREEXAEANCU/CBJAKJ2BBHTCFrCBATCFZl9zAtJHt86BBAEAGJREAKCFJHKAM9HQBMMAfCFJRfAIRTAbCFJHbAG9HQBMMABAcAG9sJANCUGJAMAG9sTkUUUBpANANCUGJAMCaJAG9sJAGTkUUUBpMAMCBAIyAcJRcAIQBMC9+RKSFMCBC99AOAIlAGCAAGCA9Ly6yRKMALCU/EBJ8kUUUUBAKM+OmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUFT+JUUUBpALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIA
3914LAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM+lLKFaF99GaG99FaG99GXGXAGCI9HQBAF9FQFEXGXGX9DBBB8/9DBBB+/ABCGJHG1BB+yAB1BBHE+yHI+L+TABCFJHL1BBHK+yHO+L+THN9DBBBB9gHVyAN9DBB/+hANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE86BBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG86BBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG86BBABCIJRBAFCaJHFQBSGMMAF9FQBEXGXGX9DBBB8/9DBBB+/ABCIJHG8uFB+yAB8uFBHE+yHI+L+TABCGJHL8uFBHK+yHO+L+THN9DBBBB9gHVyAN9DB/+g6ANAN+U9DBBBBANAVyHcAc+MHMAECa3yAI+SHIAI+UAcAMAKCa3yAO+SHcAc+U+S+S+R+VHO+U+SHN+L9DBBB9P9d9FQBAN+oRESFMCUUUU94REMAGAE87FBGXGX9DBBB8/9DBBB+/Ac9DBBBB9gyAcAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMALAG87FBGXGX9DBBB8/9DBBB+/AI9DBBBB9gyAIAO+U+SHN+L9DBBB9P9d9FQBAN+oRGSFMCUUUU94RGMABAG87FBABCNJRBAFCaJHFQBMMM/SEIEaE99EaF99GXAF9FQBCBREABRIEXGXGX9D/zI818/AICKJ8uFBHLCEq+y+VHKAI8uFB+y+UHO9DB/+g6+U9DBBB8/9DBBB+/AO9DBBBB9gy+SHN+L9DBBB9P9d9FQBAN+oRVSFMCUUUU94RVMAICIJ8uFBRcAICGJ8uFBRMABALCFJCEZAEqCFWJAV87FBGXGXAKAM+y+UHN9DB/+g6+U9DBBB8/9DBBB+/AN9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRMSFMCUUUU94RMMABALCGJCEZAEqCFWJAM87FBGXGXAKAc+y+UHK9DB/+g6+U9DBBB8/9DBBB+/AK9DBBBB9gy+SHS+L9DBBB9P9d9FQBAS+oRcSFMCUUUU94RcMABALCaJCEZAEqCFWJAc87FBGXGX9DBBU8/AOAO+U+TANAN+U+TAKAK+U+THO9DBBBBAO9DBBBB9gy+R9DB/+g6+U9DBBB8/+SHO+L9DBBB9P9d9FQBAO+oRcSFMCUUUU94RcMABALCEZAEqCFWJAc87FBAICNJRIAECIJREAFCaJHFQBMMM9JBGXAGCGrAF9sHF9FQBEXABAB8oGBHGCNWCN91+yAGCi91CnWCUUU/8EJ+++U84GBABCIJRBAFCaJHFQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEM/lFFFaGXGXAFABqCEZ9FQBABRESFMGXGXAGCT9PQBABRESFMABREEXAEAF8oGBjGBAECIJAFCIJ8oGBjGBAECNJAFCNJ8oGBjGBAECSJAFCSJ8oGBjGBAECTJREAFCTJRFAGC9wJHGCb9LQBMMAGCI9JQBEXAEAF8oGBjGBAFCIJRFAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF2BB86BBAECFJREAFCFJRFAGCaJHGQBMMABMoFFGaGXGXABCEZ9FQBABRESFMAFCgFZC+BwsN9sRIGXGXAGCT9PQBABRESFMABREEXAEAIjGBAECSJAIjGBAECNJAIjGBAECIJAIjGBAECTJREAGC9wJHGCb9LQBMMAGCI9JQBEXAEAIjGBAECIJREAGC98JHGCE9LQBMMGXAG9FQBEXAEAF86BBAECFJREAGCaJHGQBMMABMMMFBCUNMIT9kBB",e="B9h9z9tFBBBFiI9gBB9gLaaaaaFa9gEaaaB9gFaFaEMcBBFBFFGGGEILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBOn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBNI9z9iqlBVc+N9IcIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMk8lLbaE97F9+FaL978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAeDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAeDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMG
3914XAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBReCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBH8ZCFD9tA8ZAPD9OD9hD9RH8ZDQBTFtGmEYIPLdKeOnHpAIAQJDBIBHyCFD9tAyAPD9OD9hD9RHyAIASJDBIBH8cCFD9tA8cAPD9OD9hD9RH8cDQBTFtGmEYIPLdKeOnH8dDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAeD9uHeDyBjGBAEAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeApA8dDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNiV8ZcpMyS8cQ8df8eb8fHdAyA8cDQNiV8ZcpMyS8cQ8df8eb8fH8ZDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/dLEK97FaF97GXGXAGCI9HQBAF9FQFCBRGEXABABDBBBHECiD+rFCiD+sFD/6FHIAECND+rFCiD+sFD/6FAID/gFAECTD+rFCiD+sFD/6FHLD/gFD/kFD/lFHKCBDtD+2FHOAICUUUU94DtHND9OD9RD/kFHI9DBB/+hDYAIAID/mFAKAKD/mFALAOALAND9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHLD/mF9DBBX9LDYHOD/kFCgFDtD9OAECUUU94DtD9OD9QAIALD/mFAOD/kFCND+rFCU/+EDtD9OD9QAKALD/mFAOD/kFCTD+rFCUU/8ODtD9OD9QDMBBABCTJRBAGCIJHGAF9JQBSGMMAF9FQBCBRGEXABCTJHVAVDBBBHECBDtHOCUU98D8cFCUU98D8cEHND9OABDBBBHKAEDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAKAEDQBFGENVcMTtmYi8ZpyHECTD+sFD/6FHID/gFAECTD+rFCTD+sFD/6FHLD/gFD/kFD/lFHE9DB/+g6DYALAEAOD+2FHOALCUUUU94DtHcD9OD9RD/kFHLALD/mFAEAED/mFAIAOAIAcD9OD9RD/kFHEAED/mFD/kFD/kFD/jFD/nFHID/mF9DBBX9LDYHOD/kFCTD+rFALAID/mFAOD/kFCggEDtD9OD9QHLAEAID/mFAOD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHEDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAKAND9OALAEDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM/hEIGaF97FaL978jUUUUBCTlREGXAF9FQBCBRIEXAEABDBBBHLABCTJHKDBBBHODQILKOSQfbPden8c8d8e8fHNCTD+sFHVCID+rFDMIBAB9DBBU8/DY9D/zI818/DYAVCEDtD9QD/6FD/nFHVALAODQBFGENVcMTtmYi8ZpyHLCTD+rFCTD+sFD/6FD/mFHOAOD/mFAVALCTD+sFD/6FD/mFHcAcD/mFAVANCTD+rFCTD+sFD/6FD/mFHNAND/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHVD/mF9DBBX9LDYHLD/kFCggEDtHMD9OAcAVD/mFALD/kFCTD+rFD9QHcANAVD/mFALD/kFCTD+rFAOAVD/mFALD/kFAMD9OD9QHVDQBFTtGEmYILPdKOenHLD8dBAEDBIBDyB+t+J83EBABCNJALD8dFAEDBIBDyF+t+J83EBAKAcAVDQNVi8ZcMpySQ8c8dfb8e8fHVD8dBAEDBIBDyG+t+J83EBABCiJAVD8dFAEDBIBDyE+t+J83EBABCAJRBAICIJHIAF9JQBMMM9jFF97GXAGCGrAF9sHG9FQBCBRFEXABABDBBBHECND+rFCND+sFD/6FAECiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBABCTJRBAFCIJHFAG9JQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB",t=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),n=new Uint8Array([32,0,65,253,3,1,2,34,4,106,6,5,11,8,7,20,13,33,12,16,128,9,116,64,19,113,127,15,10,21,22,14,255,66,24,54,136,107,18,23,192,26,114,118,132,17,77,101,130,144,27,87,131,44,45,74,156,154,70,167]);if(typeof WebAssembly!="object")return{supported:!1};let i=r;WebAssembly.validate(t)&&(i=e);let s;const o=WebAssembly.instantiate(l(i),{}).then(m=>{s=m.instance,s.exports.__wasm_call_ctors()});function l(m){const y=new Uint8Array(m.length);for(let S=0;S<m.length;++S){const E=m.charCodeAt(S);y[S]=E>96?E-71:E>64?E-65:E>47?E+4:E>46?63:62}let v=0;for(let S=0;S<m.length;++S)y[v++]=y[S]<60?n[y[S]]:(y[S]-60)*64+y[++S];return y.buffer.slice(0,v)}function u(m,y,v,S,E,A){const M=s.exports.sbrk,T=v+3&-4,I=M(T*S),P=M(E.length),k=new Uint8Array(s.exports.memory.buffer);k.set(E,P);const O=m(I,v,S,P,E.length);if(O===0&&A&&A(I,T,S),y.set(k.subarray(I,I+v*S)),M(I-M(0)),O!==0)throw new Error(`Malformed buffer data: ${O}`)}const d={0:"",1:"meshopt_decodeFilterOct",2:"meshopt_decodeFilterQuat",3:"meshopt_decodeFilterExp",NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},p={0:"meshopt_decodeVertexBuffer",1:"meshopt_decodeIndexBuffer",2:"meshopt_decodeIndexSequence",ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"};return cg={ready:o,supported:!0,decodeVertexBuffer(m,y,v,S,E){u(s.exports.meshopt_decodeVertexBuffer,m,y,v,S,s.exports[d[E]])},decodeIndexBuffer(m,y,v,S){u(s.exports.meshopt_decodeIndexBuffer,m,y,v,S)},decodeIndexSequence(m,y,v,S){u(s.exports.meshopt_decodeIndexSequence,m,y,v,S)},decodeGltfBuffer(m,y,v,S,E,A){u(s.exports[p[E]],m,y,v,S,s.exports[d[A]])}},cg};
3914let ug=null,RT="https://www.gstatic.com/draco/versioned/decoders/1.5.5/";function BT(r=!0,e=!0,t){return n=>{t&&t(n),r&&(ug||(ug=new _7),ug.setDecoderPath(typeof r=="string"?r:RT),n.setDRACOLoader(ug)),e&&n.setMeshoptDecoder(typeof d_=="function"?d_():d_)}}const Vu=(r,e,t,n)=>pm(LM,r,BT(e,t,n));Vu.preload=(r,e,t,n)=>pm.preload(LM,r,BT(e,t,n));Vu.clear=r=>pm.clear(LM,r);Vu.setDecoderPath=r=>{RT=r};function M7(r,e,t){const n=Id(y=>y.size),i=Id(y=>y.viewport),s=typeof r=="number"?r:n.width*i.dpr,o=n.height*i.dpr,l=(typeof r=="number"?t:r)||{},{samples:u=0,depth:d,...p}=l,m=z.useMemo(()=>{const y=new Hs(s,o,{minFilter:Zn,magFilter:Zn,type:ju,...p});return d&&(y.depthTexture=new Ky(s,o,Di)),y.samples=u,y},[]);return z.useLayoutEffect(()=>{m.setSize(s,o),u&&(m.samples=u)},[u,m,s,o]),z.useEffect(()=>()=>m.dispose(),[]),m}const S7=r=>typeof r=="function",SA=z.forwardRef(({envMap:r,resolution:e=256,frames:t=1/0,makeDefault:n,children:i,...s},o)=>{const l=Id(({set:A})=>A),u=Id(({camera:A})=>A),d=Id(({size:A})=>A),p=z.useRef(null);z.useImperativeHandle(o,()=>p.current,[]);const m=z.useRef(null),y=M7(e);z.useLayoutEffect(()=>{s.manual||(p.current.aspect=d.width/d.height)},[d,s]),z.useLayoutEffect(()=>{p.current.updateProjectionMatrix()});let v=0,S=null;const E=S7(i);return OM(A=>{E&&(t===1/0||v<t)&&(m.current.visible=!1,A.gl.setRenderTarget(y),S=A.scene.background,r&&(A.scene.background=r),A.gl.render(A.scene,p.current),A.scene.background=S,A.gl.setRenderTarget(null),m.current.visible=!0,v++)}),z.useLayoutEffect(()=>{if(n){const A=u;return l(()=>({camera:p.current})),()=>l(()=>({camera:A}))}},[p,n,l]),z.createElement(z.Fragment,null,z.createElement("perspectiveCamera",ox({ref:p},s),!E&&i),z.createElement("group",{ref:m},E&&i(y.texture)))});var f_={exports:{}},p_,wA;function w7(){if(wA)return p_;wA=1;var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return p_=r,p_}var m_,AA;function A7(){if(AA)return m_;AA=1;var r=w7();function e(){}function t(){}return t.resetWarningCache=e,m_=function(){function n(o,l,u,d,p,m){if(m!==r){var y=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw y.name="Invariant Violation",y}}n.isRequired=n;function i(){return n}var s={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:i,element:n,elementType:n,instanceOf:i,node:n,objectOf:i,oneOf:i,oneOfType:i,shape:i,exact:i,checkPropTypes:t,resetWarningCache:e};return s.PropTypes=s,s},m_}var EA;function E7(){return EA||(EA=1,f_.exports=A7()()),f_.exports}var b7=E7();const It=oc(b7);var NM=ab();const C7=oc(NM);function bA(r,e){if(typeof r=="function")return r(e);r!=null&&(r.current=e)}function OT(...r){return e=>{let t=!1;const n=r.map(i=>{const s=bA(i,e);return!t&&typeof s=="function"&&(t=!0),s});if(t)return()=>{for(let i=0;i<n.length;i++){const s=n[i];typeof s=="function"?s():bA(r[i],null)}}}}function Wu(...r){return z.useCallback(OT(...r),r)}var DT=z.forwardRef((r,e)=>{const{children:t,...n}=r,i=z.Children.toArray(t),s=i.find(T7);if(s){const o=s.props.children,l=i.map(u=>u===s?z.Children.count(o)>1?z.Children.only(null):z.isValidElement(o)?o.props.children:null:u);return _.jsx(ux,{...n,ref:e,children:z.isValidElement(o)?z.cloneElement(o,void 0,l):null})}return _.jsx(ux,{...n,ref:e,children:t})});DT.displayName="Slot";var ux=z.forwardRef((r,e)=>{const{children:t,...n}=r;if(z.isValidElement(t)){const i=P7(t);return z.cloneElement(t,{...I7(n,t.props),ref:e?OT(e,i):i})}return z.Children.count(t)>1?z.Children.only(null):null});ux.displayName="SlotClone";var LT=({children:r})=>_.jsx(_.Fragment,{children:r});function T7(r){return z.isValidElement(r)&&r.type===LT}function I7(r,e){const t={...e};for(const n in e){const i=r[n],s=e[n];/^on[A-Z]/.test(n)?i&&s?t[n]=(...l)=>{s(...l),i(...l)}:i&&(t[n]=i):n==="style"?t[n]={...i,...s}:n==="className"&&(t[n]=[i,s].filter(Boolean).join(" "))}return{...r,...t}}function P7(r){var n,i;let e=(n=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:n.get,t=e&&"isReactWarning"in e&&e.
3914isReactWarning;return t?r.ref:(e=(i=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:i.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?r.props.ref:r.props.ref||r.ref)}var R7=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],uc=R7.reduce((r,e)=>{const t=z.forwardRef((n,i)=>{const{asChild:s,...o}=n,l=s?DT:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),_.jsx(l,{...o,ref:i})});return t.displayName=`Primitive.${e}`,{...r,[e]:t}},{});function B7(r,e){r&&NM.flushSync(()=>r.dispatchEvent(e))}var Nu=globalThis!=null&&globalThis.document?z.useLayoutEffect:()=>{},O7="Portal",NT=z.forwardRef((r,e)=>{var l;const{container:t,...n}=r,[i,s]=z.useState(!1);Nu(()=>s(!0),[]);const o=t||i&&((l=globalThis==null?void 0:globalThis.document)==null?void 0:l.body);return o?C7.createPortal(_.jsx(uc.div,{...n,ref:e}),o):null});NT.displayName=O7;var D7=NT,CA=Object.prototype.hasOwnProperty;function gy(r,e){var t,n;if(r===e)return!0;if(r&&e&&(t=r.constructor)===e.constructor){if(t===Date)return r.getTime()===e.getTime();if(t===RegExp)return r.toString()===e.toString();if(t===Array){if((n=r.length)===e.length)for(;n--&&gy(r[n],e[n]););return n===-1}if(!t||typeof r=="object"){n=0;for(t in r)if(CA.call(r,t)&&++n&&!CA.call(e,t)||!(t in e)||!gy(r[t],e[t]))return!1;return Object.keys(e).length===n}}return r!==r&&e!==e}function FT(r,e){if(Object.is(r,e))return!0;if(typeof r!="object"||r===null||typeof e!="object"||e===null)return!1;const t=Object.keys(r);if(t.length!==Object.keys(e).length)return!1;for(let n=0;n<t.length;n++)if(!Object.prototype.hasOwnProperty.call(e,t[n])||!Object.is(r[t[n]],e[t[n]]))return!1;return!0}var f1=function(e,t,n,i){this.name=e,this.fn=t,this.args=n,this.modifiers=i};f1.prototype._test=function(e){var t=this.fn;try{Rd(this.modifiers.slice(),t,this)(e)}catch{t=function(){return!1}}try{return Rd(this.modifiers.slice(),t,this)(e)}catch{return!1}};f1.prototype._check=function(e){try{Rd(this.modifiers.slice(),this.fn,this)(e)}catch{if(Rd(this.modifiers.slice(),function(n){return n},this)(!1))return}if(!Rd(this.modifiers.slice(),this.fn,this)(e))throw null};f1.prototype._testAsync=function(e){var t=this;return new Promise(function(n,i){UT(t.modifiers.slice(),t.fn,t)(e).then(function(s){s?n(e):i(null)}).catch(function(s){return i(s)})})};function kT(r,e){return e===void 0&&(e="simple"),typeof r=="object"?r[e]:r}function Rd(r,e,t){if(r.length){var n=r.shift(),i=Rd(r,e,t);return n.perform(i,t)}else return kT(e)}function UT(r,e,t){if(r.length){var n=r.shift(),i=UT(r,e,t);return n.performAsync(i,t)}else return function(s){return Promise.resolve(kT(e,"async")(s))}}var L7=function(e,t,n){this.name=e,this.perform=t,this.performAsync=n},FM=function(r){function e(t,n,i,s){for(var o=[],l=arguments.length-4;l-- >0;)o[l]=arguments[l+4];r.call(this,o),r.captureStackTrace&&r.captureStackTrace(this,e),this.rule=t,this.value=n,this.cause=i,this.target=s}return r&&(e.__proto__=r),e.prototype=Object.create(r&&r.prototype),e.prototype.constructor=e,e}(Error),Zo=function(e,t){e===void 0&&(e=[]),t===void 0&&(t=[]),this.chain=e,this.nextRuleModifiers=t};Zo.prototype._applyRule=function(e,t){var n=this;return function(){for(var i=[],s=arguments.length;s--;)i[s]=arguments[s];return n.chain.push(new f1(t,e.apply(n,i),i,n.nextRuleModifiers)),n.nextRuleModifiers=[],n}};Zo.prototype._applyModifier=function(e,t){return this.nextRuleModifiers.push(new L7(t,e.simple,e.async)),this};Zo.prototype._clone=function(){return new Zo(this.chain.slice(),this.nextRuleModifiers.slice())};Zo.prototype.test=function(e){return this.chain.every(function(t){return t._test(e)})};Zo.prototype.testAll=function(e){var t=[];return this.chain.forEach(function(n){try{n._check(e)}catch(i){t.push(new FM(n,e,i))}}),t};Zo.prototype.check=function(e){this.chain.forEach(function(t){try{t._check(e)}catch(n){throw new FM(t,e,n)}})};Zo.prototype.testAsync=function(e){var t=this;return new Promise(function(n,i){jT(e,t.chain.slice(),n,i)})};function jT(r,e,t,n){if(e.length){var i=e.shift();i._testAsync(r).then(function(){jT(r,e,t,n)},function(s){n(new FM(i,r,s))})}else t(r)}var TA=function(r,e){return e&&typeof r=="string"&&r.trim().length===0?!0:r==null};function N7(r,e){return e===void 0&&(e=!1),{simple:function(t){return TA(t,e)||r.check(t)===void 0},async:function(t){return TA(t,e)||r.testAsync(t)}}}function ts(){return typeof Proxy<"u"?zT(new Zo):hx(new Zo)}var Kp={};ts.extend=function(r){Object.assign(Kp,r)};ts.clearCustomRules=function(){Kp={}};function zT(r){return new Proxy(r,{get:function(t,n){if(n in t)return t[n];var i=zT(r._clone());if(n in yy)return i._applyModifier(yy[n],n);if(n in Kp)return i._applyRule(Kp[n],n);if(n in dx)return i._applyRule(dx[n],n)}})}
3914function hx(r){var e=function(i,s){return Object.keys(i).forEach(function(o){s[o]=function(){for(var l=[],u=arguments.length;u--;)l[u]=arguments[u];var d=hx(s._clone()),p=d._applyRule(i[o],o).apply(void 0,l);return p}}),s},t=e(dx,r),n=e(Kp,t);return Object.keys(yy).forEach(function(i){Object.defineProperty(n,i,{get:function(){var s=hx(n._clone());return s._applyModifier(yy[i],i)}})}),n}var yy={not:{simple:function(r){return function(e){return!r(e)}},async:function(r){return function(e){return Promise.resolve(r(e)).then(function(t){return!t}).catch(function(){return!0})}}},some:{simple:function(r){return function(e){return hg(e).some(function(t){try{return r(t)}catch{return!1}})}},async:function(r){return function(e){return Promise.all(hg(e).map(function(t){try{return r(t).catch(function(){return!1})}catch{return!1}})).then(function(t){return t.some(Boolean)})}}},every:{simple:function(r){return function(e){return e!==!1&&hg(e).every(r)}},async:function(r){return function(e){return Promise.all(hg(e).map(r)).then(function(t){return t.every(Boolean)})}}},strict:{simple:function(r,e){return function(t){return IA(e)&&t&&typeof t=="object"?Object.keys(e.args[0]).length===Object.keys(t).length&&r(t):r(t)}},async:function(r,e){return function(t){return Promise.resolve(r(t)).then(function(n){return IA(e)&&t&&typeof t=="object"?Object.keys(e.args[0]).length===Object.keys(t).length&&n:n}).catch(function(){return!1})}}}};function IA(r){return r&&r.name==="schema"&&r.args.length>0&&typeof r.args[0]=="object"}function hg(r){return typeof r=="string"?r.split(""):r}var dx={equal:function(r){return function(e){return e==r}},exact:function(r){return function(e){return e===r}},number:function(r){return r===void 0&&(r=!0),function(e){return typeof e=="number"&&(r||isFinite(e))}},integer:function(){return function(r){var e=Number.isInteger||F7;return e(r)}},numeric:function(){return function(r){return!isNaN(parseFloat(r))&&isFinite(r)}},string:function(){return yd("string")},boolean:function(){return yd("boolean")},undefined:function(){return yd("undefined")},null:function(){return yd("null")},array:function(){return yd("array")},object:function(){return yd("object")},instanceOf:function(r){return function(e){return e instanceof r}},pattern:function(r){return function(e){return r.test(e)}},lowercase:function(){return function(r){return typeof r=="boolean"||r===r.toLowerCase()&&r.trim()!==""}},uppercase:function(){return function(r){return r===r.toUpperCase()&&r.trim()!==""}},vowel:function(){return function(r){return/^[aeiou]+$/i.test(r)}},consonant:function(){return function(r){return/^(?=[^aeiou])([a-z]+)$/i.test(r)}},first:function(r){return function(e){return e[0]==r}},last:function(r){return function(e){return e[e.length-1]==r}},empty:function(){return function(r){return r.length===0}},length:function(r,e){return function(t){return t.length>=r&&t.length<=(e||r)}},minLength:function(r){return function(e){return e.length>=r}},maxLength:function(r){return function(e){return e.length<=r}},negative:function(){return function(r){return r<0}},positive:function(){return function(r){return r>=0}},between:function(r,e){return function(t){return t>=r&&t<=e}},range:function(r,e){return function(t){return t>=r&&t<=e}},lessThan:function(r){return function(e){return e<r}},lessThanOrEqual:function(r){return function(e){return e<=r}},greaterThan:function(r){return function(e){return e>r}},greaterThanOrEqual:function(r){return function(e){return e>=r}},even:function(){return function(r){return r%2===0}},odd:function(){return function(r){return r%2!==0}},includes:function(r){return function(e){return~e.indexOf(r)}},schema:function(r){return k7(r)},passesAnyOf:function(){for(var r=[],e=arguments.length;e--;)r[e]=arguments[e];return function(t){return r.some(function(n){return n.test(t)})}},optional:N7};function yd(r){return function(e){return Array.isArray(e)&&r==="array"||e===null&&r==="null"||typeof e===r}}function F7(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r}function k7(r){return{simple:function(e){var t=[];if(Object.keys(r).forEach(function(n){var i=r[n];try{i.check((e||{})[n])}catch(s){s.target=n,t.push(s)}}),t.length>0)throw t;return!0},async:function(e){var t=[],n=Object.keys(r).map(function(i){var s=r[i];return s.testAsync((e||{})[i]).catch(function(o){o.target=i,t.push(o)})});return Promise.all(n).then(function(){if(t.length>0)throw t;return!0})}}}var Rn="colors",Ii="sizes",_t="space",U7={gap:_t,gridGap:_t,columnGap:_t,gridColumnGap:_t,rowGap:_t,gridRowGap:_t,inset:_t,insetBlock:_t,insetBlockEnd:_t,insetBlockStart:_t,insetInline:_t,insetInlineEnd:_t,insetInlineStart:_t,margin:_t,marginTop:_t,marginRight:_t,marginBottom:_t,marginLeft:_t,marginBlock:_t,marginBlockEnd:_t,marginBlockStart:_t,marginInline:_t,marginInlineEnd:_t,marginInlineStart:_t,padding:_t,paddingTop:_t,paddingRight:_t,paddingBottom:_t,paddingLeft:_t,paddingBlock:_t,paddingBlockEnd:_t,paddingBlockStart:_t,paddingInline:_t,paddingInlineEnd:_t,paddingInlineStart:_t,top:_t,right:_t,bottom:_t,left:_t,scrollMargin:_t,scrollMarginTop:_t,scrollMarginRight:_t,scrollMarginBottom:_t,scrollMarginLeft:_t,scrollMarginX:_t,scrollMarginY:_t,scrollMarginBlock:_t,scrollMarginBlockEnd:_t,scrollMarginBlockStart:_t,scrollMarginInline:_t,scrollMarginInlineEnd:_t,scrollMarginInlineStart:_t,scrollPadding:_t,scrollPaddingTop:_t,scrollPaddingRight:_t,scrollPaddingBottom:_t,scrollPaddingLeft:_t,scrollPaddingX:_t,scrollPaddingY:_t,scrollPaddingBlock:_t,scrollPaddingBlockEnd:_t,scrollPaddingBlockStart:_t,scrollPaddingInline:_t,scrollPaddingInlineEnd:_t,scrollPaddingInlineStart:_t,fontSize:"fontSizes",background:Rn,backgroundColor:Rn,backgroundImage:Rn,borderImage:Rn,border:Rn,borderBlock:Rn,borderBlockEnd:Rn,borderBlockStart:Rn,borderBottom:Rn,borderBottomColor:Rn,borderColor:Rn,borderInline:
vendor: 4,452 bytes, line 3914
3914Rn,borderInlineEnd:Rn,borderInlineStart:Rn,borderLeft:Rn,borderLeftColor:Rn,borderRight:Rn,borderRightColor:Rn,borderTop:Rn,borderTopColor:Rn,caretColor:Rn,color:Rn,columnRuleColor:Rn,fill:Rn,outline:Rn,outlineColor:Rn,stroke:Rn,textDecorationColor:Rn,fontFamily:"fonts",fontWeight:"fontWeights",lineHeight:"lineHeights",letterSpacing:"letterSpacings",blockSize:Ii,minBlockSize:Ii,maxBlockSize:Ii,inlineSize:Ii,minInlineSize:Ii,maxInlineSize:Ii,width:Ii,minWidth:Ii,maxWidth:Ii,height:Ii,minHeight:Ii,maxHeight:Ii,flexBasis:Ii,gridTemplateColumns:Ii,gridTemplateRows:Ii,borderWidth:"borderWidths",borderTopWidth:"borderWidths",borderRightWidth:"borderWidths",borderBottomWidth:"borderWidths",borderLeftWidth:"borderWidths",borderStyle:"borderStyles",borderTopStyle:"borderStyles",borderRightStyle:"borderStyles",borderBottomStyle:"borderStyles",borderLeftStyle:"borderStyles",borderRadius:"radii",borderTopLeftRadius:"radii",borderTopRightRadius:"radii",borderBottomRightRadius:"radii",borderBottomLeftRadius:"radii",boxShadow:"shadows",textShadow:"shadows",transition:"transitions",zIndex:"zIndices"},j7=(r,e)=>typeof e=="function"?{"()":Function.prototype.toString.call(e)}:e,qd=()=>{const r=Object.create(null);return(e,t,...n)=>{const i=(s=>JSON.stringify(s,j7))(e);return i in r?r[i]:r[i]=t(e,...n)}},Eu=Symbol.for("sxs.internal"),kM=(r,e)=>Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)),PA=r=>{for(const e in r)return!0;return!1},{hasOwnProperty:z7}=Object.prototype,fx=r=>r.includes("-")?r:r.replace(/[A-Z]/g,e=>"-"+e.toLowerCase()),H7=/\s+(?![^()]*\))/,vd=r=>e=>r(...typeof e=="string"?String(e).split(H7):[e]),RA={appearance:r=>({WebkitAppearance:r,appearance:r}),backfaceVisibility:r=>({WebkitBackfaceVisibility:r,backfaceVisibility:r}),backdropFilter:r=>({WebkitBackdropFilter:r,backdropFilter:r}),backgroundClip:r=>({WebkitBackgroundClip:r,backgroundClip:r}),boxDecorationBreak:r=>({WebkitBoxDecorationBreak:r,boxDecorationBreak:r}),clipPath:r=>({WebkitClipPath:r,clipPath:r}),content:r=>({content:r.includes('"')||r.includes("'")||/^([A-Za-z]+\([^]*|[^]*-quote|inherit|initial|none|normal|revert|unset)$/.test(r)?r:`"${r}"`}),hyphens:r=>({WebkitHyphens:r,hyphens:r}),maskImage:r=>({WebkitMaskImage:r,maskImage:r}),maskSize:r=>({WebkitMaskSize:r,maskSize:r}),tabSize:r=>({MozTabSize:r,tabSize:r}),textSizeAdjust:r=>({WebkitTextSizeAdjust:r,textSizeAdjust:r}),userSelect:r=>({WebkitUserSelect:r,userSelect:r}),marginBlock:vd((r,e)=>({marginBlockStart:r,marginBlockEnd:e||r})),marginInline:vd((r,e)=>({marginInlineStart:r,marginInlineEnd:e||r})),maxSize:vd((r,e)=>({maxBlockSize:r,maxInlineSize:e||r})),minSize:vd((r,e)=>({minBlockSize:r,minInlineSize:e||r})),paddingBlock:vd((r,e)=>({paddingBlockStart:r,paddingBlockEnd:e||r})),paddingInline:vd((r,e)=>({paddingInlineStart:r,paddingInlineEnd:e||r}))},g_=/([\d.]+)([^]*)/,G7=(r,e)=>r.length?r.reduce((t,n)=>(t.push(...e.map(i=>i.includes("&")?i.replace(/&/g,/[ +>|~]/.test(n)&&/&.*&/.test(i)?`:is(${n})`:n):n+" "+i)),t),[]):e,V7=(r,e)=>r in W7&&typeof e=="string"?e.replace(/^((?:[^]*[^\w-])?)(fit-content|stretch)((?:[^\w-][^]*)?)$/,(t,n,i,s)=>n+(i==="stretch"?`-moz-available${s};${fx(r)}:${n}-webkit-fill-available`:`-moz-fit-content${s};${fx(r)}:${n}fit-content`)+s):String(e),W7={blockSize:1,height:1,inlineSize:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,width:1},rl=r=>r?r+"-":"",HT=(r,e,t)=>r.replace(/([+-])?((?:\d+(?:\.\d*)?|\.\d+)(?:[Ee][+-]?\d+)?)?(\$|--)([$\w-]+)/g,(n,i,s,o,l)=>o=="$"==!!s?n:(i||o=="--"?"calc(":"")+"var(--"+(o==="$"?rl(e)+(l.includes("$")?"":rl(t))+l.replace(/\$/g,"-"):l)+")"+(i||o=="--"?"*"+(i||"")+(s||"1")+")":"")),X7=/\s*,\s*(?![^()]*\))/,J7=Object.prototype.toString,bd=(r,e,t,n,i)=>{let s,o,l;const u=(d,p,m)=>{let y,v;const S=E=>{for(y in E){const T=y.charCodeAt(0)===64,I=T&&Array.isArray(E[y])?E[y]:[E[y]];for(v of I){const P=/[A-Z]/.test(M=y)?M:M.replace(/-[^]/g,O=>O[1].toUpperCase()),k=typeof v=="object"&&v&&v.toString===J7&&(!n.utils[P]||!p.length);if(P in n.utils&&!k){const O=n.utils[P];if(O!==o){o=O,S(O(v)),o=null;continue}}else if(P in RA){const O=RA[P];if(O!==l){l=O,S(O(v)),l=null;continue}}if(T&&(A=y.slice(1)in n.media?"@media "+n.media[y.slice(1)]:y,y=A.replace(/\(\s*([\w-]+)\s*(=|<|<=|>|>=)\s*([\w-]+)\s*(?:(<|<=|>|>=)\s*([\w-]+)\s*)?\)/g,(O,N,H,F,L,V)=>{const te=g_.test(N),ne=.0625*(te?-1:1),[ce,me]=te?[F,N]:[N,F];return"("+(H[0]==="="?"":H[0]===">
3914"===te?"max-":"min-")+ce+":"+(H[0]!=="="&&H.length===1?me.replace(g_,(he,ge,U)=>Number(ge)+ne*(H===">"?1:-1)+U):me)+(L?") and ("+(L[0]===">"?"min-":"max-")+ce+":"+(L.length===1?V.replace(g_,(he,ge,U)=>Number(ge)+ne*(L===">"?-1:1)+U):V):"")+")"})),k){const O=T?m.concat(y):[...m],N=T?[...p]:G7(p,y.split(X7));s!==void 0&&i(BA(...s)),s=void 0,u(v,N,O)}else s===void 0&&(s=[[],p,m]),y=T||y.charCodeAt(0)!==36?y:`--${rl(n.prefix)}${y.slice(1).replace(/\$/g,"-")}`,v=k?v:typeof v=="number"?v&&P in $7?String(v)+"px":String(v):HT(V7(P,v??""),n.prefix,n.themeMap[P]),s[0].push(`${T?`${y} `:`${fx(y)}:`}${v}`)}}var A,M};S(d),s!==void 0&&i(BA(...s)),s=void 0};u(r,e,t)},BA=(r,e,t)=>`${t.map(n=>`${n}{`).join("")}${e.length?`${e.join(",")}{`:""}${r.join(";")}${e.length?"}":""}${Array(t.length?t.length+1:0).join("}")}`,$7={animationDelay:1,animationDuration:1,backgroundSize:1,blockSize:1,border:1,borderBlock:1,borderBlockEnd:1,borderBlockEndWidth:1,borderBlockStart:1,borderBlockStartWidth:1,borderBlockWidth:1,borderBottom:1,borderBottomLeftRadius:1,borderBottomRightRadius:1,borderBottomWidth:1,borderEndEndRadius:1,borderEndStartRadius:1,borderInlineEnd:1,borderInlineEndWidth:1,borderInlineStart:1,borderInlineStartWidth:1,borderInlineWidth:1,borderLeft:1,borderLeftWidth:1,borderRadius:1,borderRight:1,borderRightWidth:1,borderSpacing:1,borderStartEndRadius:1,borderStartStartRadius:1,borderTop:1,borderTopLeftRadius:1,borderTopRightRadius:1,borderTopWidth:1,borderWidth:1,bottom:1,columnGap:1,columnRule:1,columnRuleWidth:1,columnWidth:1,containIntrinsicSize:1,flexBasis:1,fontSize:1,gap:1,gridAutoColumns:1,gridAutoRows:1,gridTemplateColumns:1,gridTemplateRows:1,height:1,inlineSize:1,inset:1,insetBlock:1,insetBlockEnd:1,insetBlockStart:1,insetInline:1,insetInlineEnd:1,insetInlineStart:1,left:1,letterSpacing:1,margin:1,marginBlock:1,marginBlockEnd:1,marginBlockStart:1,marginBottom:1,marginInline:1,marginInlineEnd:1,marginInlineStart:1,marginLeft:1,marginRight:1,marginTop:1,maxBlockSize:1,maxHeight:1,maxInlineSize:1,maxWidth:1,minBlockSize:1,minHeight:1,minInlineSize:1,minWidth:1,offsetDistance:1,offsetRotate:1,outline:1,outlineOffset:1,outlineWidth:1,overflowClipMargin:1,padding:1,paddingBlock:1,paddingBlockEnd:1,paddingBlockStart:1,paddingBottom:1,paddingInline:1,paddingInlineEnd:1,paddingInlineStart:1,paddingLeft:1,paddingRight:1,paddingTop:1,perspective:1,right:1,rowGap:1,scrollMargin:1,scrollMarginBlock:1,scrollMarginBlockEnd:1,scrollMarginBlockStart:1,scrollMarginBottom:1,scrollMarginInline:1,scrollMarginInlineEnd:1,scrollMarginInlineStart:1,scrollMarginLeft:1,scrollMarginRight:1,scrollMarginTop:1,scrollPadding:1,scrollPaddingBlock:1,scrollPaddingBlockEnd:1,scrollPaddingBlockStart:1,scrollPaddingBottom:1,scrollPaddingInline:1,scrollPaddingInlineEnd:1,scrollPaddingInlineStart:1,scrollPaddingLeft:1,scrollPaddingRight:1,scrollPaddingTop:1,shapeMargin:1,textDecoration:1,textDecorationThickness:1,textIndent:1,textUnderlineOffset:1,top:1,transitionDelay:1,transitionDuration:1,verticalAlign:1,width:1,wordSpacing:1},OA=r=>String.fromCharCode(r+(r>25?39:97)),bu=r=>(e=>{let t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=OA(t%52)+n;return OA(t%52)+n})(((e,t)=>{let n=t.length;for(;n;)e=33*e^t.charCodeAt(--n);return e})(5381,JSON.stringify(r))>>>0),Sp=["themed","global","styled","onevar","resonevar","allvar","inline"],K7=r=>{if(r.href&&!r.href.startsWith(location.origin))return!1;try{return!!r.cssRules}catch{return!1}},Y7=r=>{let e;const t=()=>{const{cssRules:i}=e.sheet;return[].map.call(i,(s,o)=>{const{cssText:l}=s;let u="";if(l.startsWith("--sxs"))return"";if(i[o-1]&&(u=i[o-1].cssText).startsWith("--sxs")){if(!s.cssRules.length)return"";for(const d in e.rules)if(e.rules[d].group===s)return`--sxs{--sxs:${[...e.rules[d].cache].join(" ")}}${l}`;return s.cssRules.length?`${u}${l}`:""}return l}).join("")},n=()=>{if(e){const{rules:l,sheet:u}=e;if(!u.deleteRule){for(;Object(Object(u.cssRules)[0]).type===3;)u.cssRules.splice(0,1);u.cssRules=[]}for(const d in l)delete l[d]}const i=Object(r).styleSheets||[];for(const l of i)if(K7(l)){for(let u=0,d=l.cssRules;d[u];++u){const p=Object(d[u]);if(p.type!==1)continue;const m=Object(d[u+1]);if(m.type!==4)continue;++u;const{cssText:y}=p;if(!y.startsWith("--sxs"))continue;const v=y.slice(14,-3).trim().split(/\s+/),S=Sp[v[0]];S&&(e||(e={sheet:l,reset:n,rules:{},toString:t}),e.rules[S]={group:m,index:u,cache:new Set(v)})}if(e)break}if(!e){const l=(u,d)=>({type:d,cssRules:[],insertRule(p,m){this.cssRules.splice(m,0,l(p,{import:3,undefined:1}[(p.toLowerCase().match(/^@([a-z]+)/)||[])[1]]||4))},get cssText(){return u==="@media{}"?`@media{${[].map.call(this.cssRules,p=>p.cssText).join("")}}`:u}});e={sheet:r?(r.head||r).appendChild(document.createElement("style")).sheet:l("","text/css"),rules:{},reset:n,toString:t}}const{sheet:s,rules:o}=e;for(let l=Sp.length-1;l>=0;--l){const u=Sp[l];if(!o[u]){const d=Sp[l+1],p=o[d]?o[d].index:s.cssRules.length;s.insertRule("@media{}",p),s.insertRule(`--sxs{--sxs:${l}}`,p),o[u]={group:s.cssRules[p+1],index:p,cache:new Set([l])}}q7(o[u])}};return n(),e},q7=r=>{const e=r.group;let t=e.cssRules.length;r.apply=n=>{try{e.insertRule(n,t),++t}catch{}}},mp=Symbol(),Q7=qd(),DA=(r,e)=>Q7(r,()=>(...t)=>{let n={type:null,composers:new Set};for(const i of t)if(i!=null)if(i[Eu]){n.type==null&&(n.type=i[Eu].type);for(const s of i[Eu].composers)n.composers.add(s)}else i.constructor!==Object||i.$$typeof?n.type==null&&(n.type=i):n.composers.add(Z7(i,r));return n.type==null&&(n.type="span"),n.composers.size||n.composers.add(["PJLV",{},[],[],{},[]]),e8(r,n,e)}),Z7=({variants:r,compoundVariants:e,defaultVariants:t,...n},i)=>{const s=`${rl(i.prefix)}c-${bu(n)}`,o=[],l=[],u=Object.create(null),d=[];for(const y in t)u[y]=String(t[y]);if(typeof r=="object"&&r)for(const y in r){p=u,m=y,z7.call(p,m)||(u[y]="undefined");const v=r[y];for(const S in v){const E={[y]:String(S)};String(S)==="undefined"&&d.push(y);const A=v[S],M=[E,A,!PA(A)];o.push(M)}}var p,m;if(typeof e=="object"&&e)for(const y of e){let{css:v,...S}=y;v=typeof v=="object"&&v||{};for(const A in S)S[A]=String(S[A]);const E=[S,v,!PA(v)];l.push(E)}return[s,n,o,l,u,d]},e8=(r,e,t)=>{const[n,i,s,o]=t8(e.composers),l=typeof e.type=="function"||e.type.$$typeof?(m=>{function y(){for(let v=0;v<y[mp].length;v++){const[S,E]=y[mp][v];m.rules[S].apply(E)}return y[mp]=[],null}return y[mp]=[],y.rules={}
vendor: 2,517 bytes, line 3914
3914,Sp.forEach(v=>y.rules[v]={apply:S=>y[mp].push([v,S])}),y})(t):null,u=(l||t).rules,d=`.${n}${i.length>1?`:where(.${i.slice(1).join(".")})`:""}`,p=m=>{m=typeof m=="object"&&m||n8;const{css:y,...v}=m,S={};for(const M in s)if(delete v[M],M in m){let T=m[M];typeof T=="object"&&T?S[M]={"@initial":s[M],...T}:(T=String(T),S[M]=T!=="undefined"||o.has(M)?T:s[M])}else S[M]=s[M];const E=new Set([...i]);for(const[M,T,I,P]of e.composers){t.rules.styled.cache.has(M)||(t.rules.styled.cache.add(M),bd(T,[`.${M}`],[],r,N=>{u.styled.apply(N)}));const k=LA(I,S,r.media),O=LA(P,S,r.media,!0);for(const N of k)if(N!==void 0)for(const[H,F,L]of N){const V=`${M}-${bu(F)}-${H}`;E.add(V);const te=(L?t.rules.resonevar:t.rules.onevar).cache,ne=L?u.resonevar:u.onevar;te.has(V)||(te.add(V),bd(F,[`.${V}`],[],r,ce=>{ne.apply(ce)}))}for(const N of O)if(N!==void 0)for(const[H,F]of N){const L=`${M}-${bu(F)}-${H}`;E.add(L),t.rules.allvar.cache.has(L)||(t.rules.allvar.cache.add(L),bd(F,[`.${L}`],[],r,V=>{u.allvar.apply(V)}))}}if(typeof y=="object"&&y){const M=`${n}-i${bu(y)}-css`;E.add(M),t.rules.inline.cache.has(M)||(t.rules.inline.cache.add(M),bd(y,[`.${M}`],[],r,T=>{u.inline.apply(T)}))}for(const M of String(m.className||"").trim().split(/\s+/))M&&E.add(M);const A=v.className=[...E].join(" ");return{type:e.type,className:A,selector:d,props:v,toString:()=>A,deferredInjector:l}};return kM(p,{className:n,selector:d,[Eu]:e,toString:()=>(t.rules.styled.cache.has(n)||p(),n)})},t8=r=>{let e="";const t=[],n={},i=[];for(const[s,,,,o,l]of r){e===""&&(e=s),t.push(s),i.push(...l);for(const u in o){const d=o[u];(n[u]===void 0||d!=="undefined"||l.includes(d))&&(n[u]=d)}}return[e,t,n,new Set(i)]},LA=(r,e,t,n)=>{const i=[];e:for(let[s,o,l]of r){if(l)continue;let u,d=0,p=!1;for(u in s){const m=s[u];let y=e[u];if(y!==m){if(typeof y!="object"||!y)continue e;{let v,S,E=0;for(const A in y){if(m===String(y[A])){if(A!=="@initial"){const M=A.slice(1);(S=S||[]).push(M in t?t[M]:A.replace(/^@media ?/,"")),p=!0}d+=E,v=!0}++E}if(S&&S.length&&(o={["@media "+S.join(", ")]:o}),!v)continue e}}}(i[d]=i[d]||[]).push([n?"cv":`${u}-${s[u]}`,o,p])}return i},n8={},r8=qd(),i8=(r,e)=>r8(r,()=>(...t)=>{const n=()=>{for(let i of t){i=typeof i=="object"&&i||{};let s=bu(i);if(!e.rules.global.cache.has(s)){if(e.rules.global.cache.add(s),"@import"in i){let o=[].indexOf.call(e.sheet.cssRules,e.rules.themed.group)-1;for(let l of[].concat(i["@import"]))l=l.includes('"')||l.includes("'")?l:`"${l}"`,e.sheet.insertRule(`@import ${l};`,o++);delete i["@import"]}
3914bd(i,[],[],r,o=>{e.rules.global.apply(o)})}}return""};return kM(n,{toString:n})}),s8=qd(),o8=(r,e)=>s8(r,()=>t=>{const n=`${rl(r.prefix)}k-${bu(t)}`,i=()=>{if(!e.rules.global.cache.has(n)){e.rules.global.cache.add(n);const s=[];bd(t,[],[],r,l=>s.push(l));const o=`@keyframes ${n}{${s.join("")}}`;e.rules.global.apply(o)}return n};return kM(i,{get name(){return i()},toString:i})}),a8=class{constructor(r,e,t,n){this.token=r==null?"":String(r),this.value=e==null?"":String(e),this.scale=t==null?"":String(t),this.prefix=n==null?"":String(n)}get computedValue(){return"var("+this.variable+")"}get variable(){return"--"+rl(this.prefix)+rl(this.scale)+this.token}toString(){return this.computedValue}},l8=qd(),c8=(r,e)=>l8(r,()=>(t,n)=>{n=typeof t=="object"&&t||Object(n);const i=`.${t=(t=typeof t=="string"?t:"")||`${rl(r.prefix)}t-${bu(n)}`}`,s={},o=[];for(const u in n){s[u]={};for(const d in n[u]){const p=`--${rl(r.prefix)}${u}-${d}`,m=HT(String(n[u][d]),r.prefix,u);s[u][d]=new a8(d,m,u,r.prefix),o.push(`${p}:${m}`)}}const l=()=>{if(o.length&&!e.rules.themed.cache.has(t)){e.rules.themed.cache.add(t);const u=`${n===r.theme?":root,":""}.${t}{${o.join(";")}}`;e.rules.themed.apply(u)}return t};return{...s,get className(){return l()},selector:i,toString:l}}),u8=qd(),h8=qd(),d8=r=>{const e=(t=>{let n=!1;const i=u8(t,s=>{n=!0;const o="prefix"in(s=typeof s=="object"&&s||{})?String(s.prefix):"",l=typeof s.media=="object"&&s.media||{},u=typeof s.root=="object"?s.root||null:globalThis.document||null,d=typeof s.theme=="object"&&s.theme||{},p={prefix:o,media:l,theme:d,themeMap:typeof s.themeMap=="object"&&s.themeMap||{...U7},utils:typeof s.utils=="object"&&s.utils||{}},m=Y7(u),y={css:DA(p,m),globalCss:i8(p,m),keyframes:o8(p,m),createTheme:c8(p,m),reset(){m.reset(),y.theme.toString()},theme:{},sheet:m,config:p,prefix:o,getCssText:m.toString,toString:m.toString};return String(y.theme=y.createTheme(d)),y});return n||i.reset(),i})(r);return e.styled=(({config:t,sheet:n})=>h8(t,()=>{const i=DA(t,n);return(...s)=>{const o=i(...s),l=o[Eu].type,u=re.forwardRef((d,p)=>{const m=d&&d.as||l,{props:y,deferredInjector:v}=o(d);return delete y.as,y.ref=p,v?re.createElement(re.Fragment,null,re.createElement(m,y),re.createElement(v,null)):re.createElement(m,y)});return u.className=o.className,u.displayName=`Styled.${l.displayName||l.name||l}`,u.selector=o.selector,u.toString=()=>o.selector,u[Eu]=o[Eu],u}}))(e),e};function Va(r,e,{checkForDefaultPrevented:t=!0}={}){return function(i){if(r==null||r(i),t===!1||!i.defaultPrevented)return e==null?void 0:e(i)}}function GT(r,e=[]){let t=[];function n(s,o){const l=z.createContext(o),u=t.length;t=[...t,o];const d=m=>{var M;const{scope:y,children:v,...S}=m,E=((M=y==null?void 0:y[r])==null?void 0:M[u])||l,A=z.useMemo(()=>S,Object.values(S));return _.jsx(E.Provider,{value:A,children:v})};d.displayName=s+"Provider";function p(m,y){var E;const v=((E=y==null?void 0:y[r])==null?void 0:E[u])||l,S=z.useContext(v);if(S)return S;if(o!==void 0)return o;throw new Error(`\`${m}\` must be used within \`${s}\``)}return[d,p]}const i=()=>{const s=t.map(o=>z.createContext(o));return function(l){const u=(l==null?void 0:l[r])||s;return z.useMemo(()=>({[`__scope${r}`]:{...l,[r]:u}}),[l,u])}};return i.scopeName=r,[n,f8(i,...e)]}function f8(...r){const e=r[0];if(r.length===1)return e;const t=()=>{const n=r.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(s){const o=n.reduce((l,{useScope:u,scopeName:d})=>{const m=u(s)[`__scope${d}`];return{...l,...m}},{});return z.useMemo(()=>({[`__scope${e.scopeName}`]:o}),[o])}};return t.scopeName=e.scopeName,t}function Qd(r){const e=z.useRef(r);return z.useEffect(()=>{e.current=r}),z.useMemo(()=>(...t)=>{var n;return(n=e.current)==null?void 0:n.call(e,...t)},[])}function p8(r,e=globalThis==null?void 0:globalThis.document){const t=Qd(r);z.useEffect(()=>{const n=i=>{i.key==="Escape"&&t(i)};return e.addEventListener("keydown",n,{capture:!0}),()=>e.removeEventListener("keydown",n,{capture:!0})},[t,e])}var m8="DismissableLayer",px="dismissableLayer.update",g8="dismissableLayer.pointerDownOutside",y8="dismissableLayer.focusOutside",NA,VT=z.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),WT=z.forwardRef((r,e)=>{const{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:s,onInteractOutside:o,onDismiss:l,...u}=r,d=z.useContext(VT),[p,m]=z.useState(null),y=(p==null?void 0:p.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,v]=z.useState({}),S=Wu(e,N=>m(N)),E=Array.from(d.layers),[A]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),M=E.indexOf(A),T=p?E.indexOf(p):-1,I=d.layersWithOutsidePointerEventsDisabled.size>0,P=T>=M,k=x8(N=>{const H=N.target,F=[...d.branches].some(L=>L.contains(H));!P||F||(i==null||i(N),o==null||o(N),N.defaultPrevented||l==null||l())},y),O=M8(N=>{const H=N.target;[...d.branches].some(L=>L.contains(H))||(s==null||s(N),o==null||o(N),N.defaultPrevented||l==null||l())},y);return p8(N=>{T===d.layers.size-1&&(n==null||n(N),!N.defaultPrevented&&l&&(N.preventDefault(),l()))},y),z.useEffect(()=>{if(p)return t&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(NA=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(p)),d.layers.add(p),FA(),()=>{t&&d.layersWithOutsidePointerEventsDisabled.size===1&&(y.body.style.pointerEvents=NA)}},[p,y,t,d]),z.useEffect(()=>()=>{p&&(d.layers.delete(p),d.layersWithOutsidePointerEventsDisabled.delete(p),FA())},[p,d]),z.useEffect(()=>{const N=()=>v({});return document.addEventListener(px,N),()=>document.removeEventListener(px,N)},[]),_.jsx(uc.div,{...u,ref:S,style:{pointerEvents:I?P?"auto":"none":void 0,...r.style},onFocusCapture:Va(r.onFocusCapture,O.onFocusCapture),onBlurCapture:Va(r.onBlurCapture,O.onBlurCapture),onPointerDownCapture:Va(r.onPointerDownCapture,k.onPointerDownCapture)})});WT.displayName=m8;var v8="DismissableLayerBranch",_8=z.forwardRef((r,e)=>{const t=z.useContext(VT),n=z.useRef(null),i=Wu(e,n);return z.useEffect(()=>{const s=n.current;if(s)return t.branches.add(s),()=>{t.branches.delete(s)}},[t.branches]),_.jsx(uc.div,{...r,ref:i})});_8.displayName=v8;function x8(r,e=globalThis==null?void 0:globalThis.document){const t=Qd(r),n=z.useRef(!1),i=z.useRef(()=>{});return z.useEffect(()=>{const s=l=>{if(l.target&&!n.current){let u=function(){XT(g8,t,d,{discrete:!0})};const d={originalEvent:l};l.pointerType==="touch"?(e.removeEventListener("click",i.current),i.current=u,e.addEventListener("click",i.current,{once:!0})):u()}else e.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{e.addEventListener("pointerdown",s)},0);return()=>{window.clearTimeout(o),e.removeEventListener("pointerdown",s),e.removeEventListener("click",i.current)}},[e,t]),{onPointerDownCapture:()=>n.current=!0}}function M8(r,e=globalThis==null?void 0:globalThis.document){const t=Qd(r),n=z.useRef(!1);return z.useEffect(()=>{const i=s=>{s.target&&!n.current&&XT(y8,t,{originalEvent:s},{discrete:!1})};return e.addEventListener("focusin",i),()=>e.removeEventListener("focusin",i)},[e,t]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function FA(){const r=new CustomEvent(px);document.dispatchEvent(r)}function XT(r,e,t,{discrete:n}){const i=t.originalEvent.target,s=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:t});e&&i.addEventListener(r,e,{once:!0}),n?B7(i,s):i.dispatchEvent(s)}var S8=II.useId||(()=>{}),w8=0;function A8(r){const[e,t]=z.useState(S8());return Nu(()=>{t(n=>n??String(w8++))},[r]),e?`radix-${e}
3914`:""}const E8=["top","right","bottom","left"],nc=Math.min,gs=Math.max,vy=Math.round,dg=Math.floor,Yo=r=>({x:r,y:r}),b8={left:"right",right:"left",bottom:"top",top:"bottom"},C8={start:"end",end:"start"};function mx(r,e,t){return gs(r,nc(e,t))}function il(r,e){return typeof r=="function"?r(e):r}function sl(r){return r.split("-")[0]}function Zd(r){return r.split("-")[1]}function UM(r){return r==="x"?"y":"x"}function jM(r){return r==="y"?"height":"width"}function rc(r){return["top","bottom"].includes(sl(r))?"y":"x"}function zM(r){return UM(rc(r))}function T8(r,e,t){t===void 0&&(t=!1);const n=Zd(r),i=zM(r),s=jM(i);let o=i==="x"?n===(t?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(o=_y(o)),[o,_y(o)]}function I8(r){const e=_y(r);return[gx(r),e,gx(e)]}function gx(r){return r.replace(/start|end/g,e=>C8[e])}function P8(r,e,t){const n=["left","right"],i=["right","left"],s=["top","bottom"],o=["bottom","top"];switch(r){case"top":case"bottom":return t?e?i:n:e?n:i;case"left":case"right":return e?s:o;default:return[]}}function R8(r,e,t,n){const i=Zd(r);let s=P8(sl(r),t==="start",n);return i&&(s=s.map(o=>o+"-"+i),e&&(s=s.concat(s.map(gx)))),s}function _y(r){return r.replace(/left|right|bottom|top/g,e=>b8[e])}function B8(r){return{top:0,right:0,bottom:0,left:0,...r}}function JT(r){return typeof r!="number"?B8(r):{top:r,right:r,bottom:r,left:r}}function xy(r){const{x:e,y:t,width:n,height:i}=r;return{width:n,height:i,top:t,left:e,right:e+n,bottom:t+i,x:e,y:t}}function kA(r,e,t){let{reference:n,floating:i}=r;const s=rc(e),o=zM(e),l=jM(o),u=sl(e),d=s==="y",p=n.x+n.width/2-i.width/2,m=n.y+n.height/2-i.height/2,y=n[l]/2-i[l]/2;let v;switch(u){case"top":v={x:p,y:n.y-i.height};break;case"bottom":v={x:p,y:n.y+n.height};break;case"right":v={x:n.x+n.width,y:m};break;case"left":v={x:n.x-i.width,y:m};break;default:v={x:n.x,y:n.y}}switch(Zd(e)){case"start":v[o]-=y*(t&&d?-1:1);break;case"end":v[o]+=y*(t&&d?-1:1);break}return v}const O8=async(r,e,t)=>{const{placement:n="bottom",strategy:i="absolute",middleware:s=[],platform:o}=t,l=s.filter(Boolean),u=await(o.isRTL==null?void 0:o.isRTL(e));let d=await o.getElementRects({reference:r,floating:e,strategy:i}),{x:p,y:m}=kA(d,n,u),y=n,v={},S=0;for(let E=0;E<l.length;E++){const{name:A,fn:M}=l[E],{x:T,y:I,data:P,reset:k}=await M({x:p,y:m,initialPlacement:n,placement:y,strategy:i,middlewareData:v,rects:d,platform:o,elements:{reference:r,floating:e}});p=T??p,m=I??m,v={...v,[A]:{...v[A],...P}},k&&S<=50&&(S++,typeof k=="object"&&(k.placement&&(y=k.placement),k.rects&&(d=k.rects===!0?await o.getElementRects({reference:r,floating:e,strategy:i}):k.rects),{x:p,y:m}=kA(d,y,u)),E=-1)}return{x:p,y:m,placement:y,strategy:i,middlewareData:v}};async function Yp(r,e){var t;e===void 0&&(e={});const{x:n,y:i,platform:s,rects:o,elements:l,strategy:u}=r,{boundary:d="clippingAncestors",rootBoundary:p="viewport",elementContext:m="floating",altBoundary:y=!1,padding:v=0}=il(e,r),S=JT(v),A=l[y?m==="floating"?"reference":"floating":m],M=xy(await s.getClippingRect({element:(t=await(s.isElement==null?void 0:s.isElement(A)))==null||t?A:A.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:d,rootBoundary:p,strategy:u})),T=m==="floating"?{x:n,y:i,width:o.floating.width,height:o.floating.height}:o.reference,I=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),P=await(s.isElement==null?void 0:s.isElement(I))?await(s.getScale==null?void 0:s.getScale(I))||{x:1,y:1}:{x:1,y:1},k=xy(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:T,offsetParent:I,strategy:u}):T);return{top:(M.top-k.top+S.top)/P.y,bottom:(k.bottom-M.bottom+S.bottom)/P.y,left:(M.left-k.left+S.left)/P.x,right:(k.right-M.right+S.right)/P.x}}const D8=r=>({name:"arrow",options:r,async fn(e){const{x:t,y:n,placement:i,rects:s,platform:o,elements:l,middlewareData:u}=e,{element:d,padding:p=0}=il(r,e)||{};if(d==null)return{};const m=JT(p),y={x:t,y:n},v=zM(i),S=jM(v),E=await o.getDimensions(d),A=v==="y",M=A?"top":"left",T=A?"bottom":"right",I=A?"clientHeight":"clientWidth",P=s.reference[S]+s.reference[v]-y[v]-s.floating[S],k=y[v]-s.reference[v],O=await(o.getOffsetParent==null?void 0:o.getOffsetParent(d));let N=O?O[I]:0;(!N||!await(o.isElement==null?void 0:o.isElement(O)))&&(N=l.floating[I]||s.floating[S]);const H=P/2-k/2,F=N/2-E[S]/2-1,L=nc(m[M],F),V=nc(m[T],F),te=L,ne=N-E[S]-V,ce=N/2-E[S]/2+H,me=mx(te,ce,ne),he=!u.arrow&&Zd(i)!=null&&ce!==me&&s.reference[S]/2-(ce<te?L:V)-E[S]/2<0,ge=he?ce<te?ce-te:ce-ne:0;return{[v]:y[v]+ge,data:{[v]:me,centerOffset:ce-me-ge,...he&&{alignmentOffset:ge}},reset:he}}}),L8=function(r){return r===void 0&&(r={}),{name:"flip",options:r,async fn(e){var t,n;const{placement:i,middlewareData:s,rects:o,initialPlacement:l,platform:u,elements:d}=e,{mainAxis:p=!0,crossAxis:m=!0,fallbackPlacements:y,fallbackStrategy:v="bestFit",fallbackAxisSideDirection:S="none",flipAlignment:E=!0,...A}=il(r,e);if((t=s.arrow)!=null&&t.alignmentOffset)return{};const M=sl(i),T=rc(l),I=sl(l)===l,P=await(u.isRTL==null?void 0:u.isRTL(d.floating)),k=y||(I||!E?[_y(l)]:I8(l)),O=S!=="none";!y&&O&&k.push(...R8(l,E,S,P));const N=[l,...k],H=await Yp(e,A),F=[];let L=((n=s.flip)==null?void 0:n.overflows)||[];if(p&&F.push(H[M]),m){const ce=T8(i,o,P);F.push(H[ce[0]],H[ce[1]])}if(L=[...L,{placement:i,overflows:F}],!F.every(ce=>ce<=0)){var V,te;const ce=(((V=s.flip)==null?void 0:V.index)||0)+1,me=N[ce];if(me)return{data:{index:ce,overflows:L},reset:{placement:me}};let he=(te=L.filter(ge=>ge.overflows[0]<=0).sort((ge,U)=>ge.overflows[1]-U.overflows[1])[0])==null?void 0:te.placement;if(!he)switch(v){case"bestFit":{var ne;const ge=(ne=L.filter(U=>{if(O){const Z=rc(U.placement);return Z===T||Z==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(Z=>Z>0).reduce((Z,q)=>Z+q,0)]).sort((U,Z)=>U[1]-Z[1])[0])==null?void 0:ne[0];ge&&(he=ge);break}case"initialPlacement":he=l;break}if(i!==he)return{reset:{placement:he}}}return{}}}};function UA(r,e){return{top:r.top-e.height,right:r.right-e.width,bottom:r.bottom-e.height,left:r.left-e.width}}function jA(r){return E8.some(e=>r[e]>=0)}const N8=function(r){return r===void 0&&(r={}),{name:"hide",options:r,async fn(e){const{rects:t}=e,{strategy:n="referenceHidden",...i}=il(r,e);switch(n){case"referenceHidden":{const s=await Yp(e,{...i,elementContext:"reference"}),o=UA(s,t.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:jA(o)}}}case"escaped":{const s=await Yp(e,{...i,altBoundary:!0}),o=UA(s,t.floating);return{data:{escapedOffsets:o,escaped:jA(o)}}}default:return{}}}}};async function F8(r,e){const{placement:t,platform:n,elements:i}=r,s=await(n.isRTL==null?void 0:n.isRTL(i.floating)),o=sl(t),l=Zd(t),u=rc(t)==="y",d=["left","top"].includes(o)?-1:1,p=s&&u?-1:1,m=il(e,r);let{mainAxis:y,crossAxis:v,alignmentAxis:S}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}
vendor: 4,877 bytes, line 3914
3914:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return l&&typeof S=="number"&&(v=l==="end"?S*-1:S),u?{x:v*p,y:y*d}:{x:y*d,y:v*p}}const k8=function(r){return r===void 0&&(r=0),{name:"offset",options:r,async fn(e){var t,n;const{x:i,y:s,placement:o,middlewareData:l}=e,u=await F8(e,r);return o===((t=l.offset)==null?void 0:t.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:i+u.x,y:s+u.y,data:{...u,placement:o}}}}},U8=function(r){return r===void 0&&(r={}),{name:"shift",options:r,async fn(e){const{x:t,y:n,placement:i}=e,{mainAxis:s=!0,crossAxis:o=!1,limiter:l={fn:A=>{let{x:M,y:T}=A;return{x:M,y:T}}},...u}=il(r,e),d={x:t,y:n},p=await Yp(e,u),m=rc(sl(i)),y=UM(m);let v=d[y],S=d[m];if(s){const A=y==="y"?"top":"left",M=y==="y"?"bottom":"right",T=v+p[A],I=v-p[M];v=mx(T,v,I)}if(o){const A=m==="y"?"top":"left",M=m==="y"?"bottom":"right",T=S+p[A],I=S-p[M];S=mx(T,S,I)}const E=l.fn({...e,[y]:v,[m]:S});return{...E,data:{x:E.x-t,y:E.y-n,enabled:{[y]:s,[m]:o}}}}}},j8=function(r){return r===void 0&&(r={}),{options:r,fn(e){const{x:t,y:n,placement:i,rects:s,middlewareData:o}=e,{offset:l=0,mainAxis:u=!0,crossAxis:d=!0}=il(r,e),p={x:t,y:n},m=rc(i),y=UM(m);let v=p[y],S=p[m];const E=il(l,e),A=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(u){const I=y==="y"?"height":"width",P=s.reference[y]-s.floating[I]+A.mainAxis,k=s.reference[y]+s.reference[I]-A.mainAxis;v<P?v=P:v>k&&(v=k)}if(d){var M,T;const I=y==="y"?"width":"height",P=["top","left"].includes(sl(i)),k=s.reference[m]-s.floating[I]+(P&&((M=o.offset)==null?void 0:M[m])||0)+(P?0:A.crossAxis),O=s.reference[m]+s.reference[I]+(P?0:((T=o.offset)==null?void 0:T[m])||0)-(P?A.crossAxis:0);S<k?S=k:S>O&&(S=O)}return{[y]:v,[m]:S}}}},z8=function(r){return r===void 0&&(r={}),{name:"size",options:r,async fn(e){var t,n;const{placement:i,rects:s,platform:o,elements:l}=e,{apply:u=()=>{},...d}=il(r,e),p=await Yp(e,d),m=sl(i),y=Zd(i),v=rc(i)==="y",{width:S,height:E}=s.floating;let A,M;m==="top"||m==="bottom"?(A=m,M=y===(await(o.isRTL==null?void 0:o.isRTL(l.floating))?"start":"end")?"left":"right"):(M=m,A=y==="end"?"top":"bottom");const T=E-p.top-p.bottom,I=S-p.left-p.right,P=nc(E-p[A],T),k=nc(S-p[M],I),O=!e.middlewareData.shift;let N=P,H=k;if((t=e.middlewareData.shift)!=null&&t.enabled.x&&(H=I),(n=e.middlewareData.shift)!=null&&n.enabled.y&&(N=T),O&&!y){const L=gs(p.left,0),V=gs(p.right,0),te=gs(p.top,0),ne=gs(p.bottom,0);v?H=S-2*(L!==0||V!==0?L+V:gs(p.left,p.right)):N=E-2*(te!==0||ne!==0?te+ne:gs(p.top,p.bottom))}await u({...e,availableWidth:H,availableHeight:N});const F=await o.getDimensions(l.floating);return S!==F.width||E!==F.height?{reset:{rects:!0}}:{}}}};function p1(){return typeof window<"u"}function ef(r){return $T(r)?(r.nodeName||"").toLowerCase():"#document"}function xs(r){var e;return(r==null||(e=r.ownerDocument)==null?void 0:e.defaultView)||window}function na(r){var e;return(e=($T(r)?r.ownerDocument:r.document)||window.document)==null?void 0:e.documentElement}function $T(r){return p1()?r instanceof Node||r instanceof xs(r).Node:!1}function wo(r){return p1()?r instanceof Element||r instanceof xs(r).Element:!1}function ea(r){return p1()?r instanceof HTMLElement||r instanceof xs(r).HTMLElement:!1}function zA(r){return!p1()||typeof ShadowRoot>"u"?!1:r instanceof ShadowRoot||r instanceof xs(r).ShadowRoot}function ym(r){const{overflow:e,overflowX:t,overflowY:n,display:i}=Ao(r);return/auto|scroll|overlay|hidden|clip/.test(e+n+t)&&!["inline","contents"].includes(i)}function H8(r){return["table","td","th"].includes(ef(r))}function m1(r){return[":popover-open",":modal"].some(e=>{try{return r.matches(e)}catch{return!1}})}function HM(r){const e=GM(),t=wo(r)?Ao(r):r;return t.transform!=="none"||t.perspective!=="none"||(t.containerType?t.containerType!=="normal":!1)||!e&&(t.backdropFilter?t.backdropFilter!=="none":!1)||!e&&(t.filter?t.filter!=="none":!1)||["transform","perspective","filter"].some(n=>(t.willChange||"").includes(n))||["paint","layout","strict","content"].some(n=>(t.contain||"").includes(n))}function G8(r){let e=ic(r);for(;ea(e)&&!zd(e);){if(HM(e))return e;if(m1(e))return null;e=ic(e)}return null}function GM(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}function zd(r){return["html","body","#document"].includes(ef(r))}function Ao(r){return xs(r).getComputedStyle(r)}function g1(r){return wo(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:{scrollLeft:r.scrollX,scrollTop:r.scrollY}}function ic(r){if(ef(r)==="html")return r;const e=r.assignedSlot||r.parentNode||zA(r)&&r.host||na(r);return zA(e)?e.host:e}function KT(r){const e=ic(r);return zd(e)?r.ownerDocument?r.ownerDocument.body:r.body:ea(e)&&ym(e)?e:KT(e)}function qp(r,e,t){var n;e===void 0&&(e=[]),t===void 0&&(t=!0);const i=KT(r),s=i===((n=r.ownerDocument)==null?void 0:n.body),o=xs(i);if(s){const l=yx(o);
vendor: 7,257 bytes, line 3914
3914return e.concat(o,o.visualViewport||[],ym(i)?i:[],l&&t?qp(l):[])}return e.concat(i,qp(i,[],t))}function yx(r){return r.parent&&Object.getPrototypeOf(r.parent)?r.frameElement:null}function YT(r){const e=Ao(r);let t=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const i=ea(r),s=i?r.offsetWidth:t,o=i?r.offsetHeight:n,l=vy(t)!==s||vy(n)!==o;return l&&(t=s,n=o),{width:t,height:n,$:l}}function VM(r){return wo(r)?r:r.contextElement}function Bd(r){const e=VM(r);if(!ea(e))return Yo(1);const t=e.getBoundingClientRect(),{width:n,height:i,$:s}=YT(e);let o=(s?vy(t.width):t.width)/n,l=(s?vy(t.height):t.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!l||!Number.isFinite(l))&&(l=1),{x:o,y:l}}const V8=Yo(0);function qT(r){const e=xs(r);return!GM()||!e.visualViewport?V8:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function W8(r,e,t){return e===void 0&&(e=!1),!t||e&&t!==xs(r)?!1:e}function Fu(r,e,t,n){e===void 0&&(e=!1),t===void 0&&(t=!1);const i=r.getBoundingClientRect(),s=VM(r);let o=Yo(1);e&&(n?wo(n)&&(o=Bd(n)):o=Bd(r));const l=W8(s,t,n)?qT(s):Yo(0);let u=(i.left+l.x)/o.x,d=(i.top+l.y)/o.y,p=i.width/o.x,m=i.height/o.y;if(s){const y=xs(s),v=n&&wo(n)?xs(n):n;let S=y,E=yx(S);for(;E&&n&&v!==S;){const A=Bd(E),M=E.getBoundingClientRect(),T=Ao(E),I=M.left+(E.clientLeft+parseFloat(T.paddingLeft))*A.x,P=M.top+(E.clientTop+parseFloat(T.paddingTop))*A.y;u*=A.x,d*=A.y,p*=A.x,m*=A.y,u+=I,d+=P,S=xs(E),E=yx(S)}}return xy({width:p,height:m,x:u,y:d})}function WM(r,e){const t=g1(r).scrollLeft;return e?e.left+t:Fu(na(r)).left+t}function QT(r,e,t){t===void 0&&(t=!1);const n=r.getBoundingClientRect(),i=n.left+e.scrollLeft-(t?0:WM(r,n)),s=n.top+e.scrollTop;return{x:i,y:s}}function X8(r){let{elements:e,rect:t,offsetParent:n,strategy:i}=r;const s=i==="fixed",o=na(n),l=e?m1(e.floating):!1;if(n===o||l&&s)return t;let u={scrollLeft:0,scrollTop:0},d=Yo(1);const p=Yo(0),m=ea(n);if((m||!m&&!s)&&((ef(n)!=="body"||ym(o))&&(u=g1(n)),ea(n))){const v=Fu(n);d=Bd(n),p.x=v.x+n.clientLeft,p.y=v.y+n.clientTop}const y=o&&!m&&!s?QT(o,u,!0):Yo(0);return{width:t.width*d.x,height:t.height*d.y,x:t.x*d.x-u.scrollLeft*d.x+p.x+y.x,y:t.y*d.y-u.scrollTop*d.y+p.y+y.y}}function J8(r){return Array.from(r.getClientRects())}function $8(r){const e=na(r),t=g1(r),n=r.ownerDocument.body,i=gs(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),s=gs(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight);let o=-t.scrollLeft+WM(r);const l=-t.scrollTop;return Ao(n).direction==="rtl"&&(o+=gs(e.clientWidth,n.clientWidth)-i),{width:i,height:s,x:o,y:l}}function K8(r,e){const t=xs(r),n=na(r),i=t.visualViewport;let s=n.clientWidth,o=n.clientHeight,l=0,u=0;if(i){s=i.width,o=i.height;const d=GM();(!d||d&&e==="fixed")&&(l=i.offsetLeft,u=i.offsetTop)}return{width:s,height:o,x:l,y:u}}function Y8(r,e){const t=Fu(r,!0,e==="fixed"),n=t.top+r.clientTop,i=t.left+r.clientLeft,s=ea(r)?Bd(r):Yo(1),o=r.clientWidth*s.x,l=r.clientHeight*s.y,u=i*s.x,d=n*s.y;return{width:o,height:l,x:u,y:d}}function HA(r,e,t){let n;if(e==="viewport")n=K8(r,t);else if(e==="document")n=$8(na(r));else if(wo(e))n=Y8(e,t);else{const i=qT(r);n={x:e.x-i.x,y:e.y-i.y,width:e.width,height:e.height}}return xy(n)}function ZT(r,e){const t=ic(r);return t===e||!wo(t)||zd(t)?!1:Ao(t).position==="fixed"||ZT(t,e)}function q8(r,e){const t=e.get(r);if(t)return t;let n=qp(r,[],!1).filter(l=>wo(l)&&ef(l)!=="body"),i=null;const s=Ao(r).position==="fixed";let o=s?ic(r):r;for(;wo(o)&&!zd(o);){const l=Ao(o),u=HM(o);!u&&l.position==="fixed"&&(i=null),(s?!u&&!i:!u&&l.position==="static"&&!!i&&["absolute","fixed"].includes(i.position)||ym(o)&&!u&&ZT(r,o))?n=n.filter(p=>p!==o):i=l,o=ic(o)}return e.set(r,n),n}function Q8(r){let{element:e,boundary:t,rootBoundary:n,strategy:i}=r;const o=[...t==="clippingAncestors"?m1(e)?[]:q8(e,this._c):[].concat(t),n],l=o[0],u=o.reduce((d,p)=>{const m=HA(e,p,i);return d.top=gs(m.top,d.top),d.right=nc(m.right,d.right),d.bottom=nc(m.bottom,d.bottom),d.left=gs(m.left,d.left),d},HA(e,l,i));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function Z8(r){const{width:e,height:t}=YT(r);return{width:e,height:t}}function eF(r,e,t){const n=ea(e),i=na(e),s=t==="fixed",o=Fu(r,!0,s,e);let l={scrollLeft:0,scrollTop:0};const u=Yo(0);if(n||!n&&!s)if((ef(e)!=="body"||ym(i))&&(l=g1(e)),n){const y=Fu(e,!0,s,e);u.x=y.x+e.clientLeft,u.y=y.y+e.clientTop}else i&&(u.x=WM(i));const d=i&&!n&&!s?QT(i,l):Yo(0),p=o.left+l.scrollLeft-u.x-d.x,m=o.top+l.scrollTop-u.y-d.y;return{x:p,y:m,width:o.width,height:o.height}}function y_(r){return Ao(r).position==="static"}function GA(r,e){if(!ea(r)||Ao(r).position==="fixed")return null;if(e)return e(r);let t=r.offsetParent;return na(r)===t&&(t=t.ownerDocument.body),t}function e4(r,e){const t=xs(r);if(m1(r))return t;if(!ea(r)){let i=ic(r);for(;i&&!zd(i);){if(wo(i)&&!y_(i))return i;i=ic(i)}return t}let n=GA(r,e);for(;n&&H8(n)&&y_(n);)n=GA(n,e);return n&&zd(n)&&y_(n)&&!HM(n)?t:n||G8(r)||t}const tF=async function(r){const e=this.getOffsetParent||e4,t=this.getDimensions,n=await t(r.floating);return{reference:eF(r.reference,await e(r.floating),r.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function nF(r){return Ao(r).direction==="rtl"}const rF={convertOffsetParentRelativeRectToViewportRelativeRect:X8,getDocumentElement:na,getClippingRect:Q8,getOffsetParent:e4,getElementRects:tF,getClientRects:J8,getDimensions:Z8,getScale:Bd,isElement:wo,isRTL:nF};function iF(r,e){let t=null,n;const i=na(r);function s(){var l;clearTimeout(n),(l=t)==null||l.disconnect(),t=null}function o(l,u){l===void 0&&(l=!1),u===void 0&&(u=1),s();const{left:d,top:p,width:m,height:y}=r.getBoundingClientRect();if(l||e(),!m||!y)return;const v=dg(p),S=dg(i.clientWidth-(d+m)),E=dg(i.clientHeight-(p+y)),A=dg(d),T={rootMargin:-v+"px "+-S+"px "+-E+"px "+-A+"px",threshold:gs(0,nc(1,u))||1};let I=!0;function P(k){const O=k[0].intersectionRatio;if(O!==u){if(!I)return o();O?o(!1,O):n=setTimeout(()=>{o(!1,1e-7)},1e3)}I=!1}try{t=new IntersectionObserver(P,{...T,root:i.ownerDocument})}catch{t=new IntersectionObserver(P,T)}t.observe(r)}return o(!0),s}function sF(r,e,t,n){n===void 0&&(n={});const{ancestorScroll:i=!0,ancestorResize:s=!0,elementResize:o=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:u=!1}=n,d=VM(r),p=i||s?[...d?qp(d):[],...qp(e)]:[];p.forEach(M=>{i&&M.addEventListener("scroll",t,{passive:!0}),s&&M.addEventListener("resize",t)});const m=d&&l?iF(d,t):null;let y=-1,v=null;o&&(v=new ResizeObserver(M=>{let[T]=M;T&&T.target===d&&v&&(v.unobserve(e),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var I;(I=v)==null||I.observe(e)})),t()}),d&&!u&&v.observe(d),v.observe(e));let S,E=u?Fu(r):null;u&&A();function A(){const M=Fu(r);E&&(M.x!==E.x||M.y!==E.y||M.width!==E.width||M.height!==E.height)&&t(),E=M,S=requestAnimationFrame(A)}return t(),()=>{var M;p.forEach(T=>{i&&T.removeEventListener("scroll",t),s&&T.removeEventListener("resize",t)}),m==null||m(),(M=v)==null||M.disconnect(),v=null,u&&cancelAnimationFrame(S)}}const oF=k8,aF=U8,lF=L8,cF=z8,uF=N8,VA=D8,hF=j8,dF=(r,e,t)=>{const n=new Map,i={platform:rF,...t},s={...i.platform,_c:n};return O8(r,e,{...i,platform:s})};var Ag=typeof document<"u"?z.useLayoutEffect:z.useEffect;function My(r,e){if(r===e)return!0;
vendor: 6,567 bytes, line 3914
3914if(typeof r!=typeof e)return!1;if(typeof r=="function"&&r.toString()===e.toString())return!0;let t,n,i;if(r&&e&&typeof r=="object"){if(Array.isArray(r)){if(t=r.length,t!==e.length)return!1;for(n=t;n--!==0;)if(!My(r[n],e[n]))return!1;return!0}if(i=Object.keys(r),t=i.length,t!==Object.keys(e).length)return!1;for(n=t;n--!==0;)if(!{}.hasOwnProperty.call(e,i[n]))return!1;for(n=t;n--!==0;){const s=i[n];if(!(s==="_owner"&&r.$$typeof)&&!My(r[s],e[s]))return!1}return!0}return r!==r&&e!==e}function t4(r){return typeof window>"u"?1:(r.ownerDocument.defaultView||window).devicePixelRatio||1}function WA(r,e){const t=t4(r);return Math.round(e*t)/t}function v_(r){const e=z.useRef(r);return Ag(()=>{e.current=r}),e}function fF(r){r===void 0&&(r={});const{placement:e="bottom",strategy:t="absolute",middleware:n=[],platform:i,elements:{reference:s,floating:o}={},transform:l=!0,whileElementsMounted:u,open:d}=r,[p,m]=z.useState({x:0,y:0,strategy:t,placement:e,middlewareData:{},isPositioned:!1}),[y,v]=z.useState(n);My(y,n)||v(n);const[S,E]=z.useState(null),[A,M]=z.useState(null),T=z.useCallback(U=>{U!==O.current&&(O.current=U,E(U))},[]),I=z.useCallback(U=>{U!==N.current&&(N.current=U,M(U))},[]),P=s||S,k=o||A,O=z.useRef(null),N=z.useRef(null),H=z.useRef(p),F=u!=null,L=v_(u),V=v_(i),te=v_(d),ne=z.useCallback(()=>{if(!O.current||!N.current)return;const U={placement:e,strategy:t,middleware:y};V.current&&(U.platform=V.current),dF(O.current,N.current,U).then(Z=>{const q={...Z,isPositioned:te.current!==!1};ce.current&&!My(H.current,q)&&(H.current=q,NM.flushSync(()=>{m(q)}))})},[y,e,t,V,te]);Ag(()=>{d===!1&&H.current.isPositioned&&(H.current.isPositioned=!1,m(U=>({...U,isPositioned:!1})))},[d]);const ce=z.useRef(!1);Ag(()=>(ce.current=!0,()=>{ce.current=!1}),[]),Ag(()=>{if(P&&(O.current=P),k&&(N.current=k),P&&k){if(L.current)return L.current(P,k,ne);ne()}},[P,k,ne,L,F]);const me=z.useMemo(()=>({reference:O,floating:N,setReference:T,setFloating:I}),[T,I]),he=z.useMemo(()=>({reference:P,floating:k}),[P,k]),ge=z.useMemo(()=>{const U={position:t,left:0,top:0};if(!he.floating)return U;const Z=WA(he.floating,p.x),q=WA(he.floating,p.y);return l?{...U,transform:"translate("+Z+"px, "+q+"px)",...t4(he.floating)>=1.5&&{willChange:"transform"}}:{position:t,left:Z,top:q}},[t,l,he.floating,p.x,p.y]);return z.useMemo(()=>({...p,update:ne,refs:me,elements:he,floatingStyles:ge}),[p,ne,me,he,ge])}const pF=r=>{function e(t){return{}.hasOwnProperty.call(t,"current")}return{name:"arrow",options:r,fn(t){const{element:n,padding:i}=typeof r=="function"?r(t):r;return n&&e(n)?n.current!=null?VA({element:n.current,padding:i}).fn(t):{}:n?VA({element:n,padding:i}).fn(t):{}}}},mF=(r,e)=>({...oF(r),options:[r,e]}),gF=(r,e)=>({...aF(r),options:[r,e]}),yF=(r,e)=>({...hF(r),options:[r,e]}),vF=(r,e)=>({...lF(r),options:[r,e]}),_F=(r,e)=>({...cF(r),options:[r,e]}),xF=(r,e)=>({...uF(r),options:[r,e]}),MF=(r,e)=>({...pF(r),options:[r,e]});var SF="Arrow",n4=z.forwardRef((r,e)=>{const{children:t,width:n=10,height:i=5,...s}=r;return _.jsx(uc.svg,{...s,ref:e,width:n,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:r.asChild?t:_.jsx("polygon",{points:"0,0 30,0 15,10"})})});n4.displayName=SF;var wF=n4;function AF(r){const[e,t]=z.useState(void 0);return Nu(()=>{if(r){t({width:r.offsetWidth,height:r.offsetHeight});const n=new ResizeObserver(i=>{if(!Array.isArray(i)||!i.length)return;const s=i[0];let o,l;if("borderBoxSize"in s){const u=s.borderBoxSize,d=Array.isArray(u)?u[0]:u;o=d.inlineSize,l=d.blockSize}else o=r.offsetWidth,l=r.offsetHeight;t({width:o,height:l})});return n.observe(r,{box:"border-box"}),()=>n.unobserve(r)}else t(void 0)},[r]),e}var XM="Popper",[r4,i4]=GT(XM),[EF,s4]=r4(XM),o4=r=>{const{__scopePopper:e,children:t}=r,[n,i]=z.useState(null);return _.jsx(EF,{scope:e,anchor:n,onAnchorChange:i,children:t})};o4.displayName=XM;var a4="PopperAnchor",l4=z.forwardRef((r,e)=>{const{__scopePopper:t,virtualRef:n,...i}=r,s=s4(a4,t),o=z.useRef(null),l=Wu(e,o);return z.useEffect(()=>{s.onAnchorChange((n==null?void 0:n.current)||o.current)}),n?null:_.jsx(uc.div,{...i,ref:l})});l4.displayName=a4;var JM="PopperContent",[bF,CF]=r4(JM),c4=z.forwardRef((r,e)=>{var Ie,Ge,qe,lt,Pt,Be;const{__scopePopper:t,side:n="bottom",sideOffset:i=0,align:s="center",alignOffset:o=0,arrowPadding:l=0,avoidCollisions:u=!0,collisionBoundary:d=[],collisionPadding:p=0,sticky:m="partial",hideWhenDetached:y=!1,updatePositionStrategy:v="optimized",onPlaced:S,...E}=r,A=s4(JM,t),[M,T]=z.useState(null),I=Wu(e,Oe=>T(Oe)),[P,k]=z.useState(null),O=AF(P),N=(O==null?void 0:O.width)??0,H=(O==null?void 0:O.height)??0,F=n+(s!=="center"?"-"+s:""),L=typeof p=="number"?p:{top:0,right:0,bottom:0,left:0,...p},V=Array.isArray(d)?d:[d],te=V.length>0,ne={padding:L,boundary:V.filter(IF),altBoundary:te},{refs:ce,floatingStyles:me,placement:he,isPositioned:ge,middlewareData:U}=fF({strategy:"fixed",placement:F,whileElementsMounted:(...Oe)=>sF(...Oe,{animationFrame:v==="always"}),elements:{reference:A.anchor},middleware:[mF({mainAxis:i+H,alignmentAxis:o}),u&&gF({mainAxis:!0,crossAxis:!1,limiter:m==="partial"?yF():void 0,...ne}),u&&vF({...ne}),_F({...ne,apply:({elements:Oe,rects:K,availableWidth:pt,availableHeight:Fe})=>{const{width:st,height:Ve}=K.reference,St=Oe.floating.style;St.setProperty("--radix-popper-available-width",`${pt}px`),St.setProperty("--radix-popper-available-height",`${Fe}px`),St.setProperty("--radix-popper-anchor-width",`${st}px`),St.setProperty("--radix-popper-anchor-height",`${Ve}px`)}}),P&&MF({element:P,padding:l}),PF({arrowWidth:N,arrowHeight:H}),y&&xF({strategy:"referenceHidden",...ne})]}),[Z,q]=d4(he),X=Qd(S);Nu(()=>{ge&&(X==null||X())},[ge,X]);const se=(Ie=U.arrow)==null?void 0:Ie.x,Le=(Ge=U.arrow)==null?void 0:Ge.y,pe=((qe=U.arrow)==null?void 0:qe.centerOffset)!==0,[Ae,Re]=z.useState();return Nu(()=>{M&&Re(window.getComputedStyle(M).zIndex)},[M]),_.jsx("div",{ref:ce.setFloating,"data-radix-popper-content-wrapper":"",style:{...me,transform:ge?me.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Ae,"--radix-popper-transform-origin":[(lt=U.transformOrigin)==null?void 0:lt.x,(Pt=U.transformOrigin)==null?void 0:Pt.y].join(" "),...((Be=U.hide)==null?void 0:Be.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:r.dir,children:_.jsx(bF,{scope:t,placedSide:Z,onArrowChange:k,arrowX:se,arrowY:Le,shouldHideArrow:pe,children:_.jsx(uc.div,{"data-side":Z,"data-align":q,...E,ref:I,style:{...E.style,animation:ge?void 0:"none"}})})})});c4.displayName=JM;var u4="PopperArrow",TF={top:"bottom",right:"left",bottom:"top",left:"r
3914ight"},h4=z.forwardRef(function(e,t){const{__scopePopper:n,...i}=e,s=CF(u4,n),o=TF[s.placedSide];return _.jsx("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:_.jsx(wF,{...i,ref:t,style:{...i.style,display:"block"}})})});h4.displayName=u4;function IF(r){return r!==null}var PF=r=>({name:"transformOrigin",options:r,fn(e){var A,M,T;const{placement:t,rects:n,middlewareData:i}=e,o=((A=i.arrow)==null?void 0:A.centerOffset)!==0,l=o?0:r.arrowWidth,u=o?0:r.arrowHeight,[d,p]=d4(t),m={start:"0%",center:"50%",end:"100%"}[p],y=(((M=i.arrow)==null?void 0:M.x)??0)+l/2,v=(((T=i.arrow)==null?void 0:T.y)??0)+u/2;let S="",E="";return d==="bottom"?(S=o?m:`${y}px`,E=`${-u}px`):d==="top"?(S=o?m:`${y}px`,E=`${n.floating.height+u}px`):d==="right"?(S=`${-u}px`,E=o?m:`${v}px`):d==="left"&&(S=`${n.floating.width+u}px`,E=o?m:`${v}px`),{data:{x:S,y:E}}}});function d4(r){const[e,t="center"]=r.split("-");return[e,t]}var RF=o4,BF=l4,OF=c4,DF=h4;function LF(r,e){return z.useReducer((t,n)=>e[t][n]??t,r)}var f4=r=>{const{present:e,children:t}=r,n=NF(e),i=typeof t=="function"?t({present:n.isPresent}):z.Children.only(t),s=Wu(n.ref,FF(i));return typeof t=="function"||n.isPresent?z.cloneElement(i,{ref:s}):null};f4.displayName="Presence";function NF(r){const[e,t]=z.useState(),n=z.useRef({}),i=z.useRef(r),s=z.useRef("none"),o=r?"mounted":"unmounted",[l,u]=LF(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return z.useEffect(()=>{const d=fg(n.current);s.current=l==="mounted"?d:"none"},[l]),Nu(()=>{const d=n.current,p=i.current;if(p!==r){const y=s.current,v=fg(d);r?u("MOUNT"):v==="none"||(d==null?void 0:d.display)==="none"?u("UNMOUNT"):u(p&&y!==v?"ANIMATION_OUT":"UNMOUNT"),i.current=r}},[r,u]),Nu(()=>{if(e){let d;const p=e.ownerDocument.defaultView??window,m=v=>{const E=fg(n.current).includes(v.animationName);if(v.target===e&&E&&(u("ANIMATION_END"),!i.current)){const A=e.style.animationFillMode;e.style.animationFillMode="forwards",d=p.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=A)})}},y=v=>{v.target===e&&(s.current=fg(n.current))};return e.addEventListener("animationstart",y),e.addEventListener("animationcancel",m),e.addEventListener("animationend",m),()=>{p.clearTimeout(d),e.removeEventListener("animationstart",y),e.removeEventListener("animationcancel",m),e.removeEventListener("animationend",m)}}else u("ANIMATION_END")},[e,u]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:z.useCallback(d=>{d&&(n.current=getComputedStyle(d)),t(d)},[])}}function fg(r){return(r==null?void 0:r.animationName)||"none"}function FF(r){var n,i;let e=(n=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:n.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?r.ref:(e=(i=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:i.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?r.props.ref:r.props.ref||r.ref)}function kF({prop:r,defaultProp:e,onChange:t=()=>{}}){const[n,i]=UF({defaultProp:e,onChange:t}),s=r!==void 0,o=s?r:n,l=Qd(t),u=z.useCallback(d=>{if(s){const m=typeof d=="function"?d(r):d;m!==r&&l(m)}else i(d)},[s,r,i,l]);return[o,u]}function UF({defaultProp:r,onChange:e}){const t=z.useState(r),[n]=t,i=z.useRef(n),s=Qd(e);return z.useEffect(()=>{i.current!==n&&(s(n),i.current=n)},[n,i,s]),t}var jF="VisuallyHidden",p4=z.forwardRef((r,e)=>_.jsx(uc.span,{...r,ref:e,style:{position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal",...r.style}}));p4.displayName=jF;var zF=p4,[y1,FV]=GT("Tooltip",[i4]),v1=i4(),HF="TooltipProvider",vx="tooltip.open",[kV,$M]=y1(HF),_1="Tooltip",[GF,x1]=y1(_1),m4=r=>{const{__scopeTooltip:e,children:t,open:n,defaultOpen:i=!1,onOpenChange:s,disableHoverableContent:o,delayDuration:l}=r,u=$M(_1,r.__scopeTooltip),d=v1(e),[p,m]=z.useState(null),y=A8(),v=z.useRef(0),S=o??u.disableHoverableContent,E=l??u.delayDuration,A=z.useRef(!1),[M=!1,T]=k
vendor: 4,742 bytes, line 3914
3914F({prop:n,defaultProp:i,onChange:N=>{N?(u.onOpen(),document.dispatchEvent(new CustomEvent(vx))):u.onClose(),s==null||s(N)}}),I=z.useMemo(()=>M?A.current?"delayed-open":"instant-open":"closed",[M]),P=z.useCallback(()=>{window.clearTimeout(v.current),v.current=0,A.current=!1,T(!0)},[T]),k=z.useCallback(()=>{window.clearTimeout(v.current),v.current=0,T(!1)},[T]),O=z.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{A.current=!0,T(!0),v.current=0},E)},[E,T]);return z.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),_.jsx(RF,{...d,children:_.jsx(GF,{scope:e,contentId:y,open:M,stateAttribute:I,trigger:p,onTriggerChange:m,onTriggerEnter:z.useCallback(()=>{u.isOpenDelayed?O():P()},[u.isOpenDelayed,O,P]),onTriggerLeave:z.useCallback(()=>{S?k():(window.clearTimeout(v.current),v.current=0)},[k,S]),onOpen:P,onClose:k,disableHoverableContent:S,children:t})})};m4.displayName=_1;var _x="TooltipTrigger",g4=z.forwardRef((r,e)=>{const{__scopeTooltip:t,...n}=r,i=x1(_x,t),s=$M(_x,t),o=v1(t),l=z.useRef(null),u=Wu(e,l,i.onTriggerChange),d=z.useRef(!1),p=z.useRef(!1),m=z.useCallback(()=>d.current=!1,[]);return z.useEffect(()=>()=>document.removeEventListener("pointerup",m),[m]),_.jsx(BF,{asChild:!0,...o,children:_.jsx(uc.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...n,ref:u,onPointerMove:Va(r.onPointerMove,y=>{y.pointerType!=="touch"&&!p.current&&!s.isPointerInTransitRef.current&&(i.onTriggerEnter(),p.current=!0)}),onPointerLeave:Va(r.onPointerLeave,()=>{i.onTriggerLeave(),p.current=!1}),onPointerDown:Va(r.onPointerDown,()=>{d.current=!0,document.addEventListener("pointerup",m,{once:!0})}),onFocus:Va(r.onFocus,()=>{d.current||i.onOpen()}),onBlur:Va(r.onBlur,i.onClose),onClick:Va(r.onClick,i.onClose)})})});g4.displayName=_x;var VF="TooltipPortal",[UV,WF]=y1(VF,{forceMount:void 0}),Hd="TooltipContent",y4=z.forwardRef((r,e)=>{const t=WF(Hd,r.__scopeTooltip),{forceMount:n=t.forceMount,side:i="top",...s}=r,o=x1(Hd,r.__scopeTooltip);return _.jsx(f4,{present:n||o.open,children:o.disableHoverableContent?_.jsx(v4,{side:i,...s,ref:e}):_.jsx(XF,{side:i,...s,ref:e})})}),XF=z.forwardRef((r,e)=>{const t=x1(Hd,r.__scopeTooltip),n=$M(Hd,r.__scopeTooltip),i=z.useRef(null),s=Wu(e,i),[o,l]=z.useState(null),{trigger:u,onClose:d}=t,p=i.current,{onPointerInTransitChange:m}=n,y=z.useCallback(()=>{l(null),m(!1)},[m]),v=z.useCallback((S,E)=>{const A=S.currentTarget,M={x:S.clientX,y:S.clientY},T=KF(M,A.getBoundingClientRect()),I=YF(M,T),P=qF(E.getBoundingClientRect()),k=ZF([...I,...P]);l(k),m(!0)},[m]);return z.useEffect(()=>()=>y(),[y]),z.useEffect(()=>{if(u&&p){const S=A=>v(A,p),E=A=>v(A,u);return u.addEventListener("pointerleave",S),p.addEventListener("pointerleave",E),()=>{u.removeEventListener("pointerleave",S),p.removeEventListener("pointerleave",E)}}},[u,p,v,y]),z.useEffect(()=>{if(o){const S=E=>{const A=E.target,M={x:E.clientX,y:E.clientY},T=(u==null?void 0:u.contains(A))||(p==null?void 0:p.contains(A)),I=!QF(M,o);T?y():I&&(y(),d())};return document.addEventListener("pointermove",S),()=>document.removeEventListener("pointermove",S)}},[u,p,o,d,y]),_.jsx(v4,{...r,ref:s})}),[JF,$F]=y1(_1,{isInside:!1}),v4=z.forwardRef((r,e)=>{const{__scopeTooltip:t,children:n,"aria-label":i,onEscapeKeyDown:s,onPointerDownOutside:o,...l}=r,u=x1(Hd,t),d=v1(t),{onClose:p}=u;return z.useEffect(()=>(document.addEventListener(vx,p),()=>document.removeEventListener(vx,p)),[p]),z.useEffect(()=>{if(u.trigger){const m=y=>{const v=y.target;v!=null&&v.contains(u.trigger)&&p()};return window.addEventListener("scroll",m,{capture:!0}),()=>window.removeEventListener("scroll",m,{capture:!0})}},[u.trigger,p]),_.jsx(WT,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:s,onPointerDownOutside:o,onFocusOutside:m=>m.preventDefault(),onDismiss:p,children:_.jsxs(OF,{"data-state":u.stateAttribute,...d,...l,ref:e,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[_.jsx(LT,{children:n}),_.jsx(JF,{scope:t,isInside:!0,children:_.jsx(zF,{id:u.contentId,role:"tooltip",children:i||n})})]})})});y4.displayName=Hd;var _4="TooltipArrow",x4=z.forwardRef((r,e)=>{const{__scopeTooltip:t,...n}=r,i=v1(t);return $F(_4,t).isInside?null:_.jsx(DF,{...i,...n,ref:e})});x4.displayName=_4;function KF(r,e){const t=Math.abs(e.top-r.y),n=Math.abs(e.bottom-r.y),i=Math.abs(e.right-r.x),s=Math.abs(e.left-r.x);
3914switch(Math.min(t,n,i,s)){case s:return"left";case i:return"right";case t:return"top";case n:return"bottom";default:throw new Error("unreachable")}}function YF(r,e,t=5){const n=[];switch(e){case"top":n.push({x:r.x-t,y:r.y+t},{x:r.x+t,y:r.y+t});break;case"bottom":n.push({x:r.x-t,y:r.y-t},{x:r.x+t,y:r.y-t});break;case"left":n.push({x:r.x+t,y:r.y-t},{x:r.x+t,y:r.y+t});break;case"right":n.push({x:r.x-t,y:r.y-t},{x:r.x-t,y:r.y+t});break}return n}function qF(r){const{top:e,right:t,bottom:n,left:i}=r;return[{x:i,y:e},{x:t,y:e},{x:t,y:n},{x:i,y:n}]}function QF(r,e){const{x:t,y:n}=r;let i=!1;for(let s=0,o=e.length-1;s<e.length;o=s++){const l=e[s].x,u=e[s].y,d=e[o].x,p=e[o].y;u>n!=p>n&&t<(d-l)*(n-u)/(p-u)+l&&(i=!i)}return i}function ZF(r){const e=r.slice();return e.sort((t,n)=>t.x<n.x?-1:t.x>n.x?1:t.y<n.y?-1:t.y>n.y?1:0),ek(e)}function ek(r){if(r.length<=1)return r.slice();const e=[];for(let n=0;n<r.length;n++){const i=r[n];for(;e.length>=2;){const s=e[e.length-1],o=e[e.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))e.pop();else break}e.push(i)}e.pop();const t=[];for(let n=r.length-1;n>=0;n--){const i=r[n];for(;t.length>=2;){const s=t[t.length-1],o=t[t.length-2];if((s.x-o.x)*(i.y-o.y)>=(s.y-o.y)*(i.x-o.x))t.pop();else break}t.push(i)}return t.pop(),e.length===1&&t.length===1&&e[0].x===t[0].x&&e[0].y===t[0].y?e:e.concat(t)}var tk=m4,nk=g4,rk=y4,ik=x4;function sk(r,e){if(r==null)return{};var t={},n=Object.keys(r),i,s;for(s=0;s<n.length;s++)i=n[s],!(e.indexOf(i)>=0)&&(t[i]=r[i]);return t}function Un(r,e){if(r==null)return{};var t=sk(r,e),n,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(r);for(i=0;i<s.length;i++)n=s[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(r,n)&&(t[n]=r[n])}return t}let qn;(function(r){r[r.UNSUPPORTED_INPUT=0]="UNSUPPORTED_INPUT",r[r.NO_COMPONENT_FOR_TYPE=1]="NO_COMPONENT_FOR_TYPE",r[r.UNKNOWN_INPUT=2]="UNKNOWN_INPUT",r[r.DUPLICATE_KEYS=3]="DUPLICATE_KEYS",r[r.ALREADY_REGISTERED_TYPE=4]="ALREADY_REGISTERED_TYPE",r[r.CLIPBOARD_ERROR=5]="CLIPBOARD_ERROR",r[r.THEME_ERROR=6]="THEME_ERROR",r[r.PATH_DOESNT_EXIST=7]="PATH_DOESNT_EXIST",r[r.INPUT_TYPE_OVERRIDE=8]="INPUT_TYPE_OVERRIDE",r[r.EMPTY_KEY=9]="EMPTY_KEY"})(qn||(qn={}));const ok={[qn.UNSUPPORTED_INPUT]:(r,e)=>[`An input with type \`${r}\` input was found at path \`${e}\` but it's not supported yet.`],[qn.NO_COMPONENT_FOR_TYPE]:(r,e)=>[`Type \`${r}\` found at path \`${e}\` can't be displayed in panel because no component supports it yet.`],[qn.UNKNOWN_INPUT]:(r,e)=>[`input at path \`${r}\` is not recognized.`,e],[qn.DUPLICATE_KEYS]:(r,e,t)=>[`Key \`${r}\` of path \`${e}\` already exists at path \`${t}\`. Even nested keys need to be unique. Rename one of the keys.`],[qn.ALREADY_REGISTERED_TYPE]:r=>[`Type ${r} has already been registered. You can't register a component with the same type.`],[qn.CLIPBOARD_ERROR]:r=>["Error copying the value",r],[qn.THEME_ERROR]:(r,e)=>[`Error accessing the theme \`${r}.${e}\` value.`],[qn.PATH_DOESNT_EXIST]:r=>[`Error getting the value at path \`${r}\`. There is probably an error in your \`render\` function.`],[qn.PATH_DOESNT_EXIST]:r=>[`Error accessing the value at path \`${r}\``],[qn.INPUT_TYPE_OVERRIDE]:(r,e,t)=>[`Input at path \`${r}\` already exists with type: \`${e}\`. Its type cannot be overridden with type \`${t}\`.`],[qn.EMPTY_KEY]:()=>["Keys can not be empty, if you want to hide a label use whitespace."]};function M4(r,e,...t){const[n,...i]=ok[e](...t);console[r]("LEVA: "+n,...i)}const Ja=M4.bind(null,"warn"),ak=M4.bind(null,"log"),lk=["value"],ck=["schema"],uk=["value"],S4=[],ku={};function XA(r){let{value:e}=r,t=Un(r,lk);for(let n of S4){const i=n(e,t);if(i)return i}}function ol(r,e){let{schema:t}=e,n=Un(e,ck);if(r in ku){Ja(qn.ALREADY_REGISTERED_TYPE,r);return}S4.push((i,s)=>t(i,s)&&r),ku[r]=n}function __(r,e,t,n){const{normalize:i}=ku[r];if(i)return i(e,t,n);if(typeof e!="object"||!("value"in e))return{value:e};const{value:s}=e,o=Un(e,uk);return{value:s,settings:o}}function hk(r,e,t,n,i,s){const{sanitize:o}=ku[r];return o?o(e,t,n,i,s):e}function JA(r,e,t){const{format:n}=ku[r];return n?n(e,t):e}function dk(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function $A(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Zt(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};
3914e%2?$A(Object(t),!0).forEach(function(n){dk(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):$A(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}const sc=(r,e,t)=>r>t?t:r<e?e:r,fk=r=>{if(r===""||typeof r=="number")return r;try{const e=Kl(r);if(!isNaN(e))return e}catch{}return parseFloat(r)},pk=Math.log(10);function KA(r){let e=Math.abs(+String(r).replace(".",""));if(e===0)return .01;for(;e!==0&&e%10===0;)e/=10;const t=Math.floor(Math.log(e)/pk)+1,n=Math.floor(Math.log10(Math.abs(r))),i=Math.pow(10,n-t);return Math.max(i,.001)}const Sy=(r,e,t)=>t===e?0:(sc(r,e,t)-e)/(t-e),wy=(r,e,t)=>r*(t-e)+e,mk=()=>"_"+Math.random().toString(36).substr(2,9),YA=/\(([0-9+\-*/^ .]+)\)/,qA=/(\d+(?:\.\d+)?) ?\^ ?(\d+(?:\.\d+)?)/,QA=/(\d+(?:\.\d+)?) ?\* ?(\d+(?:\.\d+)?)/,ZA=/(\d+(?:\.\d+)?) ?\/ ?(\d+(?:\.\d+)?)/,eE=/(\d+(?:\.\d+)?) ?\+ ?(\d+(?:\.\d+)?)/,tE=/(\d+(?:\.\d+)?) ?- ?(\d+(?:\.\d+)?)/;function Kl(r){if(isNaN(Number(r)))if(YA.test(r)){const e=r.replace(YA,(t,n)=>String(Kl(n)));return Kl(e)}else if(qA.test(r)){const e=r.replace(qA,(t,n,i)=>String(Math.pow(Number(n),Number(i))));return Kl(e)}else if(QA.test(r)){const e=r.replace(QA,(t,n,i)=>String(Number(n)*Number(i)));return Kl(e)}else if(ZA.test(r)){const e=r.replace(ZA,(t,n,i)=>{if(i!=0)return String(Number(n)/Number(i));throw new Error("Division by zero")});return Kl(e)}else if(eE.test(r)){const e=r.replace(eE,(t,n,i)=>String(Number(n)+Number(i)));return Kl(e)}else if(tE.test(r)){const e=r.replace(tE,(t,n,i)=>String(Number(n)-Number(i)));return Kl(e)}else return Number(r);return Number(r)}function gk(r,e){const t=Zt({},r);return e.forEach(n=>n in r&&delete t[n]),t}function yk(r,e){return r.reduce((t,n,i)=>Object.assign(t,{[e[i]]:n}),{})}function w4(r){return Object.prototype.toString.call(r)==="[object Object]"}const vk=r=>w4(r)&&Object.keys(r).length===0;let qo;(function(r){r.BUTTON="BUTTON",r.BUTTON_GROUP="BUTTON_GROUP",r.MONITOR="MONITOR",r.FOLDER="FOLDER"})(qo||(qo={}));let Eo;(function(r){r.SELECT="SELECT",r.IMAGE="IMAGE",r.NUMBER="NUMBER",r.COLOR="COLOR",r.STRING="STRING",r.BOOLEAN="BOOLEAN",r.INTERVAL="INTERVAL",r.VECTOR3D="VECTOR3D",r.VECTOR2D="VECTOR2D"})(Eo||(Eo={}));const _k=["type","__customInput"],xk=["render","label","optional","order","disabled","hint","onChange","onEditStart","onEditEnd","transient"],Mk=["type"];function A4(r,e,t={},n){var i,s;if(typeof r!="object"||Array.isArray(r))return{type:n,input:r,options:Zt({key:e,label:e,optional:!1,disabled:!1,order:0},t)};if("__customInput"in r){const{type:k,__customInput:O}=r,N=Un(r,_k);return A4(O,e,N,k)}const{render:o,label:l,optional:u,order:d=0,disabled:p,hint:m,onChange:y,onEditStart:v,onEditEnd:S,transient:E}
3914=r,A=Un(r,xk),M=Zt({render:o,key:e,label:l??e,hint:m,transient:E??!!y,onEditStart:v,onEditEnd:S,disabled:p,optional:u,order:d},t);let{type:T}=A,I=Un(A,Mk);if(T=n??T,T in qo)return{type:T,input:I,options:M};let P;return n&&w4(I)&&"value"in I?P=I.value:P=vk(I)?void 0:I,{type:T,input:P,options:Zt(Zt({},M),{},{onChange:y,optional:(i=M.optional)!==null&&i!==void 0?i:!1,disabled:(s=M.disabled)!==null&&s!==void 0?s:!1})}}function Sk(r,e,t,n){const i=A4(r,e),{type:s,input:o,options:l}=i;if(s)return s in qo?i:{type:s,input:__(s,o,t,n),options:l};let u=XA(o);return u?{type:u,input:__(u,o,t,n),options:l}:(u=XA({value:o}),u?{type:u,input:__(u,{value:o},t,n),options:l}:!1)}function nE(r,e,t,n,i){const{value:s,type:o,settings:l}=r;r.value=E4({type:o,value:s,settings:l},e,t,n),r.fromPanel=i}const wk=function(e,t,n){this.type="LEVA_ERROR",this.message="LEVA: "+e,this.previousValue=t,this.error=n};function E4({type:r,value:e,settings:t},n,i,s){const o=r!=="SELECT"&&typeof n=="function"?n(e):n;let l;try{l=hk(r,o,t,e,i,s)}catch(u){throw new wk(`The value \`${n}\` did not result in a correct value.`,e,u)}return gy(l,e)?e:l}const b4=(r,e,t=!1)=>{let n=0;return function(){const i=arguments,s=t&&!n,o=()=>r.apply(this,i);window.clearTimeout(n),n=window.setTimeout(o,e),s&&o()}},C4=r=>r.shiftKey?5:r.altKey?1/5:1,Ak=["value"],Ek=["min","max"],bk=r=>{if(typeof r=="number")return!0;if(typeof r=="string"){const e=parseFloat(r);return isNaN(e)?!1:r.substring((""+e).length).trim().length<4}return!1},T4=(r,{min:e=-1/0,max:t=1/0,suffix:n})=>{const i=parseFloat(r);if(r===""||isNaN(i))throw Error("Invalid number");const s=sc(i,e,t);return n?s+n:s},Ck=(r,{pad:e=0,suffix:t})=>{const n=parseFloat(r).toFixed(e);return t?n+t:n},I4=r=>{let{value:e}=r,t=Un(r,Ak);const{min:n=-1/0,max:i=1/0}=t,s=Un(t,Ek);let o=parseFloat(e);const l=typeof e=="string"?e.substring((""+o).length):void 0;o=sc(o,n,i);let u=t.step;u||(Number.isFinite(n)?Number.isFinite(i)?u=+(Math.abs(i-n)/100).toPrecision(1):u=+(Math.abs(o-n)/100).toPrecision(1):Number.isFinite(i)&&(u=+(Math.abs(i-o)/100).toPrecision(1)));const d=u?KA(u)*10:KA(o);u=u||d/10;const p=Math.round(sc(Math.log10(1/d),0,2));return{value:l?o+l:o,settings:Zt({initialValue:o,step:u,pad:p,min:n,max:i,suffix:l},s)}},P4=(r,{step:e,initialValue:t})=>{const n=Math.round((r-t)/e);return t+n*e};var R4=Object.freeze({__proto__:null,schema:bk,sanitize:T4,format:Ck,normalize:I4,sanitizeStep:P4});function Mr(){return Mr=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},Mr.apply(this,arguments)}const B4=z.createContext({});function yi(){return z.useContext(B4)}const O4=z.createContext(null),D4=z.createContext(null),L4=z.createContext(null);function vm(){return z.useContext(D4)}function Tk(){return z.useContext(L4)}const Ik=()=>({colors:{elevation1:"#292d39",elevation2:"#181c20",elevation3:"#373c4b",accent1:"#0066dc",accent2:"#007bff",accent3:"#3c93ff",highlight1:"#535760",highlight2:"#8c92a4",highlight3:"#fefefe",vivid1:"#ffcc00",folderWidgetColor:"$highlight2",folderTextColor:"$highlight3",toolTipBackground:"$highlight3",toolTipText:"$elevation2"},radii:{xs:"2px",sm:"3px",lg:"10px"},space:{xs:"3px",sm:"6px",md:"10px",rowGap:"7px",colGap:"7px"},fonts:{mono:"ui-monospace, SFMono-Regular, Menlo, 'Roboto Mono', monospace",sans:"system-ui, sans-serif"},fontSizes:{root:"11px",toolTip:"$root"},sizes:{rootWidth:"280px",controlWidth:"160px",numberInputMinWidth:"38px",scrubberWidth:"8px",scrubberHeight:"16px",rowHeight:"24px",folderTitleHeight:"20px",checkboxSize:"16px",joystickWidth:"100px",joystickHeight:"100px",colorPickerWidth:"$controlWidth",colorPickerHeight:"100px",imagePreviewWidth:"$controlWidth",imagePreviewHeight:"100px",monitorHeight:"60px",titleBarHeight:"39px"},shadows:{level1:"0 0 9px 0 #00000088",level2:"0 4px 14px #00000033"},borderWidths:{root:"0px",input:"1px",focus:"1px",hover:"1px",active:"1px",folder:"1px"},fontWeights:{label:"normal",folder:"normal",button:"normal"}});function pg(r,e){const[t,n]=r.split(" "),i={};return t!=="none"&&(i.boxShadow=`${e.inset?"inset ":""}0 0 0 $borderWidths${[e.key]} $colors${t!=="default"&&t||e.borderColor}`),n&&(i.backgroundColor=n),i}const gp={$inputStyle:()=>r=>pg(r,{key:"$input",borderColor:"$highlight1",inset:!0}
3914),$focusStyle:()=>r=>pg(r,{key:"$focus",borderColor:"$accent2"}),$hoverStyle:()=>r=>pg(r,{key:"$hover",borderColor:"$accent1",inset:!0}),$activeStyle:()=>r=>pg(r,{key:"$active",borderColor:"$accent1",inset:!0})},{styled:Ft,css:jV,createTheme:zV,globalCss:Pk,keyframes:HV}=d8({prefix:"leva",theme:Ik(),utils:Zt(Zt({},gp),{},{$flex:()=>({display:"flex",alignItems:"center"}),$flexCenter:()=>({display:"flex",alignItems:"center",justifyContent:"center"}),$reset:()=>({outline:"none",fontSize:"inherit",fontWeight:"inherit",color:"inherit",fontFamily:"inherit",border:"none",backgroundColor:"transparent",appearance:"none"}),$draggable:()=>({touchAction:"none",WebkitUserDrag:"none",userSelect:"none"}),$focus:r=>({"&:focus":gp.$focusStyle()(r)}),$focusWithin:r=>({"&:focus-within":gp.$focusStyle()(r)}),$hover:r=>({"&:hover":gp.$hoverStyle()(r)}),$active:r=>({"&:active":gp.$activeStyle()(r)})})}),Rk=Pk({".leva__panel__dragged":{WebkitUserDrag:"none",userSelect:"none",input:{userSelect:"none"},"*":{cursor:"ew-resize !important"}}});function Za(r,e){const{theme:t}=z.useContext(O4);if(!(r in t)||!(e in t[r]))return Ja(qn.THEME_ERROR,r,e),"";let n=e;for(;;){let i=t[r][n];if(typeof i=="string"&&i.charAt(0)==="$")n=i.substr(1);else return i}}const N4=Ft("input",{$reset:"",padding:"0 $sm",width:0,minWidth:0,flex:1,height:"100%",variants:{levaType:{number:{textAlign:"right"}},as:{textarea:{padding:"$sm"}}}}),F4=Ft("div",{$draggable:"",height:"100%",$flexCenter:"",position:"relative",padding:"0 $xs",fontSize:"0.8em",opacity:.8,cursor:"default",touchAction:"none",[`& + ${N4}`]:{paddingLeft:0}}),Bk=Ft(F4,{cursor:"ew-resize",marginRight:"-$xs",textTransform:"uppercase",opacity:.3,"&:hover":{opacity:1},variants:{dragging:{true:{backgroundColor:"$accent2",opacity:1}}}}),Ok=Ft("div",{$flex:"",position:"relative",borderRadius:"$sm",overflow:"hidden",color:"inherit",height:"$rowHeight",backgroundColor:"$elevation3",$inputStyle:"$elevation1",$hover:"",$focusWithin:"",variants:{textArea:{true:{height:"auto"}}}}),Dk=["innerLabel","value","onUpdate","onChange","onKeyDown","type","id","inputType","rows"],Lk=["onUpdate"];function KM(r){let{innerLabel:e,value:t,onUpdate:n,onChange:i,onKeyDown:s,type:o,id:l,inputType:u="text",rows:d=0}=r,p=Un(r,Dk);const{id:m,emitOnEditStart:y,emitOnEditEnd:v,disabled:S}=yi(),E=l||m,A=z.useRef(null),M=d>0,T=M?"textarea":"input",I=z.useCallback(O=>N=>{const H=N.currentTarget.value;O(H)},[]);re.useEffect(()=>{const O=A.current,N=I(H=>{n(H),v()});return O==null||O.addEventListener("blur",N),()=>O==null?void 0:O.removeEventListener("blur",N)},[I,n,v]);const P=z.useCallback(O=>{O.key==="Enter"&&I(n)(O)},[I,n]),k=Object.assign({as:T},M?{rows:d}:{},p);return re.createElement(Ok,{textArea:M},e&&typeof e=="string"?re.createElement(F4,null,e):e,re.createElement(N4,Mr({levaType:o,ref:A,id:E,type:u,autoComplete:"off",spellCheck:"false",value:t,onChange:I(i),onFocus:()=>y(),onKeyPress:P,onKeyDown:s,disabled:S},k)))}function Nk(r){let{onUpdate:e}=r,t=Un(r,Lk);const n=z.useCallback(s=>e(fk(s)),[e]),i=z.useCallback(s=>{const o=s.key==="ArrowUp"?1:s.key==="ArrowDown"?-1:0;if(o){s.preventDefault();const l=s.altKey?.1:s.shiftKey?10:1;e(u=>parseFloat(u)+o*l)}},[e]);return re.createElement(KM,Mr({},t,{onUpdate:n,onKeyDown:i,type:"number"}))}const Ay=Ft("div",{}),xx=Ft("div",{position:"relative",background:"$elevation2",transition:"height 300ms ease",variants:{fill:{true:{},false:{}},flat:{false:{},true:{}},isRoot:{true:{},false:{paddingLeft:"$md","&::after":{content:'""',position:"absolute",left:0,top:0,width:"$borderWidths$folder",height:"100%",backgroundColor:"$folderWidgetColor",opacity:.4,transform:"translateX(-50%)"}}}},compoundVariants:[{isRoot:!0,fill:!1,css:{overflowY:"auto",maxHeight:"calc(100vh - 20px - $$titleBarHeight)"}},{isRoot:!0,flat:!1,css:{borderRadius:"$lg"}}]}),Fk=Ft("div",{$flex:"",color:"$folderTextColor",userSelect:"none",cursor:"pointer",height:"$folderTitleHeight",fontWeight:"$folder","> svg":{marginLeft:-4,marginRight:4,cursor:"pointer",fill:"$folderWidgetColor",opacity:.6},"&:hover > svg":{fill:"$folderWidgetColor"},[`&:hover + ${xx}::after`]:{opacity:.6},[`${Ay}:hover > & + ${xx}::after`]:{opacity:.6},[`${Ay}:hover > & > svg`]:{opacity:1}}),k4=Ft("div",{position:"relative",display:"grid",gridTemplateColumns:"100%",rowGap:"$rowGap",transition:"opacity 250ms ease",variants:{toggled:{true:{opacity:1,transitionDelay:"250m
3914s"},false:{opacity:0,transitionDelay:"0ms",pointerEvents:"none"}},isRoot:{true:{"& > div":{paddingLeft:"$md",paddingRight:"$md"},"& > div:first-of-type":{paddingTop:"$sm"},"& > div:last-of-type":{paddingBottom:"$sm"},[`> ${Ay}:not(:first-of-type)`]:{paddingTop:"$sm",marginTop:"$md",borderTop:"$borderWidths$folder solid $colors$elevation1"}}}}}),U4=Ft("div",{position:"relative",zIndex:100,display:"grid",rowGap:"$rowGap",gridTemplateRows:"minmax($sizes$rowHeight, max-content)",alignItems:"center",color:"$highlight2",[`${k4} > &`]:{"&:first-of-type":{marginTop:"$rowGap"},"&:last-of-type":{marginBottom:"$rowGap"}},variants:{disabled:{true:{pointerEvents:"none"},false:{"&:hover,&:focus-within":{color:"$highlight3"}}}}}),j4=Ft(U4,{gridTemplateColumns:"auto $sizes$controlWidth",columnGap:"$colGap"}),kk=Ft("div",{$flex:"",height:"100%",position:"relative",overflow:"hidden","& > div":{marginLeft:"$colGap",padding:"0 $xs",opacity:.4},"& > div:hover":{opacity:.8},"& > div > svg":{display:"none",cursor:"pointer",width:13,minWidth:13,height:13,backgroundColor:"$elevation2"},"&:hover > div > svg":{display:"block"},variants:{align:{top:{height:"100%",alignItems:"flex-start",paddingTop:"$sm"}}}}),Uk=Ft("input",{$reset:"",height:0,width:0,opacity:0,margin:0,"& + label":{position:"relative",$flexCenter:"",height:"100%",userSelect:"none",cursor:"pointer",paddingLeft:2,paddingRight:"$sm",pointerEvents:"auto"},"& + label:after":{content:'""',width:6,height:6,backgroundColor:"$elevation3",borderRadius:"50%",$activeStyle:""},"&:focus + label:after":{$focusStyle:""},"& + label:active:after":{backgroundColor:"$accent1",$focusStyle:""},"&:checked + label:after":{backgroundColor:"$accent1"}}),Mx=Ft("label",{fontWeight:"$label",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","& > svg":{display:"block"}}),jk=Ft("div",{opacity:1,variants:{disabled:{true:{opacity:.6,pointerEvents:"none",[`& ${Mx}`]:{pointerEvents:"auto"}}}}}),z4=Ft("div",{position:"fixed",top:0,bottom:0,right:0,left:0,zIndex:1e3,userSelect:"none"}),zk=Ft("div",{background:"$toolTipBackground",fontFamily:"$sans",fontSize:"$toolTip",padding:"$xs $sm",color:"$toolTipText",borderRadius:"$xs",boxShadow:"$level2",maxWidth:260}),Hk=Ft(ik,{fill:"$toolTipBackground"});function YM({children:r}){const{className:e}=z.useContext(O4);return re.createElement(D7,{className:e},r)}const Gk=["align"];function Vk(){const{id:r,disable:e,disabled:t}=yi();return re.createElement(re.Fragment,null,re.createElement(Uk,{id:r+"__disable",type:"checkbox",checked:!t,onChange:()=>e(!t)}),re.createElement("label",{htmlFor:r+"__disable"}))}function Wk(r){const{id:e,optional:t,hint:n}=yi(),i=r.htmlFor||(e?{htmlFor:e}:null),s=!n&&typeof r.children=="string"?{title:r.children}:null;return re.createElement(re.Fragment,null,t&&re.createElement(Vk,null),n!==void 0?re.createElement(tk,null,re.createElement(nk,{asChild:!0},re.createElement(Mx,Mr({},i,r))),re.createElement(rk,{side:"top",sideOffset:2},re.createElement(zk,null,n,re.createElement(Hk,null)))):re.createElement(Mx,Mr({},i,s,r)))}function Io(r){let{align:e}=r,t=Un(r,Gk);const{value:n,label:i,key:s,disabled:o}=yi(),{hideCopyButton:l}=Tk(),u=!l&&s!==void 0,[d,p]=z.useState(!1),m=async()=>{try{await navigator.clipboard.writeText(JSON.stringify({[s]:n??""})),p(!0)}catch{Ja(qn.CLIPBOARD_ERROR,{[s]:n})}};return re.createElement(kk,{align:e,onPointerLeave:()=>p(!1)},re.createElement(Wk,t),u&&!o&&re.createElement("div",{title:`Click to copy ${typeof i=="string"?i:s} value`},d?re.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},re.createElement("path",{d:"M9 2a1 1 0 000 2h2a1 1 0 100-2H9z"}),re.createElement("path",{fillRule:"evenodd",d:"M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})):re.createElement("svg",{onClick:m,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},re.createElement("path",{d:"M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z"}),re.createElement("path",{d:"M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z"}))))}const Xk=["toggled"],Jk=Ft("svg",{fill:"currentColor",transition:"transform 350ms ease, fill 250ms ease"});function qM(r){let{toggled:e}=r,t=Un(r,Xk);return re.createElement(Jk,Mr({width:"9",height:"5",viewBox:"0 0 9 5",xmlns:"http://www.w3.org/2000/svg",style:{transform:`rotate(${e?0:-90}deg)`}},t),re.createElement("path",{d:"M3.8 4.4c.4.3 1 .3 1.4 0L8 1.7A1 1 0 007.4 0H1.6a1 1 0 00-.7 1.7l3 2.7z"}))}const $k=["input"];
3914function Vs(r){let{input:e}=r,t=Un(r,$k);return e?re.createElement(j4,t):re.createElement(U4,t)}function H4({value:r,type:e,settings:t,setValue:n}){const[i,s]=z.useState(JA(e,r,t)),o=z.useRef(r),l=z.useRef(t);l.current=t;const u=z.useCallback(p=>s(JA(e,p,l.current)),[e]),d=z.useCallback(p=>{try{n(p)}catch(m){const{type:y,previousValue:v}=m;if(y!=="LEVA_ERROR")throw m;u(v)}},[u,n]);return z.useEffect(()=>{gy(r,o.current)||u(r),o.current=r},[r,u]),{displayValue:i,onChange:s,onUpdate:d}}function _m(r,e){const{emitOnEditStart:t,emitOnEditEnd:n}=yi();return NN(i=>{i.first&&(document.body.classList.add("leva__panel__dragged"),t==null||t());const s=r(i);return i.last&&(document.body.classList.remove("leva__panel__dragged"),n==null||n()),s},e)}function Kk(r){const e=z.useRef(null),t=z.useRef(null),n=z.useRef(!1);return z.useEffect(()=>{const i=b4(()=>{e.current.width=e.current.offsetWidth*window.devicePixelRatio,e.current.height=e.current.offsetHeight*window.devicePixelRatio,r(e.current,t.current)},250);return window.addEventListener("resize",i),n.current||(i(),n.current=!0),()=>window.removeEventListener("resize",i)},[r]),z.useEffect(()=>{t.current=e.current.getContext("2d")},[]),[e,t]}function G4(){const r=z.useRef(null),e=z.useRef({x:0,y:0}),t=z.useCallback(n=>{Object.assign(e.current,n),r.current&&(r.current.style.transform=`translate3d(${e.current.x}px, ${e.current.y}px, 0)`)},[]);return[r,t]}const Yk=["__refCount"],x_=(r,e)=>{if(!r[e])return null;const t=r[e];return Un(t,Yk)};function qk(r){const e=vm(),[t,n]=z.useState(x_(e.getData(),r)),i=z.useCallback(d=>e.setValueAtPath(r,d,!0),[r,e]),s=z.useCallback(d=>e.setSettingsAtPath(r,d),[r,e]),o=z.useCallback(d=>e.disableInputAtPath(r,d),[r,e]),l=z.useCallback(()=>e.emitOnEditStart(r),[r,e]),u=z.useCallback(()=>e.emitOnEditEnd(r),[r,e]);return z.useEffect(()=>{n(x_(e.getData(),r));const d=e.useStore.subscribe(p=>x_(p.data,r),n,{equalityFn:FT});return()=>d()},[e,r]),[t,{set:i,setSettings:s,disable:o,storeId:e.storeId,emitOnEditStart:l,emitOnEditEnd:u}]}const Qk=Ft("div",{variants:{hasRange:{true:{position:"relative",display:"grid",gridTemplateColumns:"auto $sizes$numberInputMinWidth",columnGap:"$colGap",alignItems:"center"}}}}),V4=Ft("div",{position:"relative",width:"100%",height:2,borderRadius:"$xs",backgroundColor:"$elevation1"}),Sx=Ft("div",{position:"absolute",width:"$scrubberWidth",height:"$scrubberHeight",borderRadius:"$xs",boxShadow:"0 0 0 2px $colors$elevation2",backgroundColor:"$accent2",cursor:"pointer",$active:"none $accent1",$hover:"none $accent3",variants:{position:{left:{borderTopRightRadius:0,borderBottomRightRadius:0,transform:"translateX(calc(-0.5 * ($sizes$scrubberWidth + 4px)))"},right:{borderTopLeftRadius:0,borderBottomLeftRadius:0,transform:"translateX(calc(0.5 * ($sizes$scrubberWidth + 4px)))"}}}}),W4=Ft("div",{position:"relative",$flex:"",height:"100%",cursor:"pointer",touchAction:"none"}),X4=Ft("div",{position:"absolute",height:"100%",backgroundColor:"$accent2"});function Zk({value:r,min:e,max:t,onDrag:n,step:i,initialValue:s}){const o=z.useRef(null),l=z.useRef(null),u=z.useRef(0),d=Za("sizes","scrubberWidth"),p=_m(({event:y,first:v,xy:[S],movement:[E],memo:A})=>{if(v){const{width:T,left:I}=o.current.getBoundingClientRect();u.current=T-parseFloat(d),A=(y==null?void 0:y.target)===l.current?r:wy((S-I)/T,e,t)}const M=A+wy(E/u.current,0,t-e);return n(P4(M,{step:i,initialValue:s})),A}),m=Sy(r,e,t);return re.createElement(W4,Mr({ref:o},p()),re.createElement(V4,null,re.createElement(X4,{style:{left:0,right:`${(1-m)*100}%`}})),re.createElement(Sx,{ref:l,style:{left:`calc(${m} * (100% - ${d}))`}}))}const eU=re.memo(({label:r,onUpdate:e,step:t,innerLabelTrim:n})=>{const[i,s]=z.useState(!1),o=_m(({active:l,delta:[u],event:d,memo:p=0})=>(s(l),p+=u/2,Math.abs(p)>=1&&(e(m=>parseFloat(m)+Math.floor(p)*t*C4(d)),p=0),p));return re.createElement(Bk,Mr({dragging:i,title:r.length>1?r:""},o()),r.slice(0,n))});function J4({label:r,id:e,displayValue:t,onUpdate:n,onChange:i,settings:s,innerLabelTrim:o=1}){const l=o>0&&re.createElement(eU,{label:r,step:s.step,onUpdate:n,innerLabelTrim:o});return re.createElement(Nk,{id:e,value:String(t),onUpdate:n,onChange:i,innerLabel:l})}function tU(){const r=yi(),{label:e,value:t,onUpdate:n,settings:i,id:s}=r,{min:o,max:l}=i,u=l!==1/0&&o!==-1/0;return re.createElement(Vs,{input:!0},re.createElement(Io,null,e),re.createElement(Qk,{hasRange:u},u&&re.createElement(Zk,Mr({value:parseFloat(t),onDrag:n},i)),re.createElement(J4,Mr({},r,{id:s,label:"value",innerLabelTrim:u?0:1}))))}const{sanitizeStep:nU}=R4,rU=Un(R4,["sanitizeStep"]);var iU=Zt({component:tU},rU);const sU=(r,e)=>ts().schema({options:ts().passesAnyOf(ts().object(),ts().array())}).test(e),oU=(r,{values:e})=>
3914{if(e.indexOf(r)<0)throw Error("Selected value doesn't match Select options");return r},aU=(r,{values:e})=>e.indexOf(r),lU=r=>{let{value:e,options:t}=r,n,i;return Array.isArray(t)?(i=t,n=t.map(s=>String(s))):(i=Object.values(t),n=Object.keys(t)),"value"in r?i.includes(e)||(n.unshift(String(e)),i.unshift(e)):e=i[0],Object.values(t).includes(e)||(t[String(e)]=e),{value:e,settings:{keys:n,values:i}}};var cU=Object.freeze({__proto__:null,schema:sU,sanitize:oU,format:aU,normalize:lU});const uU=Ft("div",{$flexCenter:"",position:"relative","> svg":{pointerEvents:"none",position:"absolute",right:"$md"}}),wx=Ft("select",{position:"absolute",top:0,left:0,width:"100%",height:"100%",opacity:0}),hU=Ft("div",{display:"flex",alignItems:"center",width:"100%",height:"$rowHeight",backgroundColor:"$elevation3",borderRadius:"$sm",padding:"0 $sm",cursor:"pointer",[`${wx}:focus + &`]:{$focusStyle:""},[`${wx}:hover + &`]:{$hoverStyle:""}});function dU({displayValue:r,value:e,onUpdate:t,id:n,settings:i,disabled:s}){const{keys:o,values:l}=i,u=z.useRef();return e===l[r]&&(u.current=o[r]),re.createElement(uU,null,re.createElement(wx,{id:n,value:r,onChange:d=>t(l[Number(d.currentTarget.value)]),disabled:s},o.map((d,p)=>re.createElement("option",{key:d,value:p},d))),re.createElement(hU,null,u.current),re.createElement(qM,{toggled:!0}))}function fU(){const{label:r,value:e,displayValue:t,onUpdate:n,id:i,disabled:s,settings:o}=yi();return re.createElement(Vs,{input:!0},re.createElement(Io,null,r),re.createElement(dU,{id:i,value:e,displayValue:t,onUpdate:n,settings:o,disabled:s}))}var pU=Zt({component:fU},cU);const mU=r=>ts().string().test(r),gU=r=>{if(typeof r!="string")throw Error("Invalid string");return r},yU=({value:r,editable:e=!0,rows:t=!1})=>({value:r,settings:{editable:e,rows:typeof t=="number"?t:t?5:0}});var vU=Object.freeze({__proto__:null,schema:mU,sanitize:gU,normalize:yU});const _U=["displayValue","onUpdate","onChange","editable"],xU=Ft("div",{whiteSpace:"pre-wrap"});function MU(r){let{displayValue:e,onUpdate:t,onChange:n,editable:i=!0}=r,s=Un(r,_U);return i?re.createElement(KM,Mr({value:e,onUpdate:t,onChange:n},s)):re.createElement(xU,null,e)}function SU(){const{label:r,settings:e,displayValue:t,onUpdate:n,onChange:i}=yi();return re.createElement(Vs,{input:!0},re.createElement(Io,null,r),re.createElement(MU,Mr({displayValue:t,onUpdate:n,onChange:i},e)))}var wU=Zt({component:SU},vU);const AU=r=>ts().boolean().test(r),EU=r=>{if(typeof r!="boolean")throw Error("Invalid boolean");return r};var bU=Object.freeze({__proto__:null,schema:AU,sanitize:EU});const CU=Ft("div",{position:"relative",$flex:"",height:"$rowHeight",input:{$reset:"",height:0,width:0,opacity:0,margin:0},label:{position:"relative",$flexCenter:"",userSelect:"none",cursor:"pointer",height:"$checkboxSize",width:"$checkboxSize",backgroundColor:"$elevation3",borderRadius:"$sm",$hover:""},"input:focus + label":{$focusStyle:""},"input:focus:checked + label, input:checked + label:hover":{$hoverStyle:"$accent3"},"input + label:active":{backgroundColor:"$accent1"},"input:checked + label:active":{backgroundColor:"$accent1"},"label > svg":{display:"none",width:"90%",height:"90%",stroke:"$highlight3"},"input:checked + label":{backgroundColor:"$accent2"},"input:checked + label > svg":{display:"block"}});function TU({value:r,onUpdate:e,id:t,disabled:n}){return re.createElement(CU,null,re.createElement("input",{id:t,type:"checkbox",checked:r,onChange:i=>e(i.currentTarget.checked),disabled:n}),re.createElement("label",{htmlFor:t},re.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},re.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"}))))}function IU(){const{label:r,value:e,onUpdate:t,disabled:n,id:i}=yi();return re.createElement(Vs,{input:!0},re.createElement(Io,null,r),re.createElement(TU,{value:e,onUpdate:t,id:i,disabled:n}))}var PU=Zt({component:IU},bU);const RU=["locked"];function BU({value:r,id:e,valueKey:t,settings:n,onUpdate:i,innerLabelTrim:s}){const o=z.useRef(r[t]);o.current=r[t];const l=z.useCallback(d=>i({[t]:E4({type:"NUMBER",value:o.current,settings:n},d)}),[i,n,t]),u=H4({type:"NUMBER",value:r[t],settings:n,setValue:l});return re.createElement(J4,{id:e,label:t,value:r[t],displayValue:u.displayValue,onUpdate:u.onUpdate,onChange:u.onChange,settings:n,innerLabelTrim:s})}const OU=Ft("div",{display:"grid",columnGap:"$colGap",gridAutoFlow:"column dense",alignItems:"center",variants:{withLock:{true:{gridTemplateColumns:"10px auto","> svg":{cursor:"pointer"}}}}});function DU(r){let{locked:e}=r,t=Un(r,RU);return re.createElement("svg",Mr({width:"10",height:"10",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t),e?re.createElement("path",{d:"M5 4.63601C5 3.76031 5.24219 3.1054 5.64323 2.67357C6.03934 2.24705 6.64582 1.9783 7.5014 1.9783C8.35745 1.9783 8.96306 2.24652 9.35823 2.67208C9.75838 3.10299 10 3.75708 10 4.63325V5.99999H5V4.63601ZM4 5.99999V4.63601C4 3.58148 4.29339 2.65754 4.91049 1.99307C5.53252 1.32329 6.42675 0.978302 7.5014 0.978302C8.57583 0.978302 9.46952 1.32233 10.091 1.99162C10.7076 2.65557 11 3.57896 11 4.63325V5.99999H12C12.5523 5.99999 13 6.44771 13 6.99999V13C13 13.5523 12.5523 14 12 14H3C2.44772 14 2 13.5523 2 13V6.99999C2 6.44771 2.44772 5.99999 3 5.99999H4ZM3 6.99999H12V13H3V6.99999Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}):re.createElement("path",{d:"M9 3.63601C9 2.76044 9.24207 2.11211 9.64154 1.68623C10.0366 1.26502 10.6432 1 11.5014 1C12.4485 1 13.0839 1.30552 13.4722 1.80636C13.8031 2.23312 14 2.84313 14 3.63325H15C15 2.68242 14.7626 1.83856 14.2625 1.19361C13.6389 0.38943 12.6743 0 11.5014 0C10.4294 0 9.53523 0.337871 8.91218 1.0021C8.29351 1.66167 8 2.58135 8 3.63601V6H1C0.447715 6 0 6.44772 0 7V13C0 13.5523 0.447715 14 1 14H10C10.5523 14 11 13.5523 11 13V7C11 6.44772 10.5523 6 10 6H9V3.63601ZM1 7H10V13H1V7Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}function QM({value:r,onUpdate:e,settings:t,innerLabelTrim:n}){const{id:i,setSettings:s}=yi(),{lock:o,locked:l}=t;return re.createElement(OU,{withLock:o},o&&re.createElement(DU,{locked:l,onClick:()=>s({locked:!l})}),Object.keys(r).map((u,d)=>re.createElement(BU,{id:d===0?i:`${i}.${u}`,key:u,valueKey:u,value:r,settings:t[u],onUpdate:e,innerLabelTrim:n})))}const $4=(r,e)=>{const t={};let n=0,i=1/0;Object.entries(r).forEach(([s,o])=>{t[s]=I4(Zt({value:o},e[s])).settings,n=Math.max(n,t[s].step),i=Math.min(i,t[s].pad)});for(let s in t){const{step:o,min:l,max:u}=e[s]||{};
3914!isFinite(o)&&(!isFinite(l)||!isFinite(u))&&(t[s].step=n,t[s].pad=i)}return t},LU=["lock"],NU=["value"];function FU(r){const e=ts().array().length(r).every.number(),t=n=>{if(!n||typeof n!="object")return!1;const i=Object.values(n);return i.length===r&&i.every(s=>isFinite(s))};return n=>e.test(n)||t(n)}function kU(r){return Array.isArray(r)?"array":"object"}function Bp(r,e,t){return kU(r)===e?r:e==="array"?Object.values(r):yk(r,t)}const UU=(r,e,t)=>{const n=Bp(r,"object",e.keys);for(let o in n)n[o]=T4(n[o],e[o]);const i=Object.keys(n);let s={};if(i.length===e.keys.length)s=n;else{const o=Bp(t,"object",e.keys);if(i.length===1&&e.locked){const l=i[0],u=n[l],d=o[l],p=d!==0?u/d:1;for(let m in o)m===l?s[l]=u:s[m]=o[m]*p}else s=Zt(Zt({},o),n)}return Bp(s,e.format,e.keys)},jU=(r,e)=>Bp(r,"object",e.keys),zU=r=>!!r&&("step"in r||"min"in r||"max"in r);function HU(r,e,t=[]){const{lock:n=!1}=e,i=Un(e,LU),s=Array.isArray(r)?"array":"object",o=s==="object"?Object.keys(r):t,l=Bp(r,"object",o),u=zU(i)?o.reduce((p,m)=>Object.assign(p,{[m]:i}),{}):i,d=$4(l,u);return{value:s==="array"?r:l,settings:Zt(Zt({},d),{},{format:s,keys:o,lock:n,locked:!1})}}function K4(r){return{schema:FU(r.length),normalize:e=>{let{value:t}=e,n=Un(e,NU);return HU(t,n,r)},format:(e,t)=>jU(e,t),sanitize:(e,t,n)=>UU(e,t,n)}}var GU={grad:.9,turn:360,rad:360/(2*Math.PI)},Ha=function(r){return typeof r=="string"?r.length>0:typeof r=="number"},jr=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*r)/t+0},zs=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),r>t?t:r>e?r:e},Y4=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},rE=function(r){return{r:zs(r.r,0,255),g:zs(r.g,0,255),b:zs(r.b,0,255),a:zs(r.a)}},M_=function(r){return{r:jr(r.r),g:jr(r.g),b:jr(r.b),a:jr(r.a,3)}},VU=/^#([0-9a-f]{3,8})$/i,mg=function(r){var e=r.toString(16);return e.length<2?"0"+e:e},q4=function(r){var e=r.r,t=r.g,n=r.b,i=r.a,s=Math.max(e,t,n),o=s-Math.min(e,t,n),l=o?s===e?(t-n)/o:s===t?2+(n-e)/o:4+(e-t)/o:0;return{h:60*(l<0?l+6:l),s:s?o/s*100:0,v:s/255*100,a:i}},Q4=function(r){var e=r.h,t=r.s,n=r.v,i=r.a;e=e/360*6,t/=100,n/=100;var s=Math.floor(e),o=n*(1-t),l=n*(1-(e-s)*t),u=n*(1-(1-e+s)*t),d=s%6;return{r:255*[n,l,o,o,u,n][d],g:255*[u,n,n,l,o,o][d],b:255*[o,o,u,n,n,l][d],a:i}},iE=function(r){return{h:Y4(r.h),s:zs(r.s,0,100),l:zs(r.l,0,100),a:zs(r.a)}},sE=function(r){return{h:jr(r.h),s:jr(r.s),l:jr(r.l),a:jr(r.a,3)}},oE=function(r){return Q4((t=(e=r).s,{h:e.h,s:(t*=((n=e.l)<50?n:100-n)/100)>0?2*t/(n+t)*100:0,v:n+t,a:e.a}));var e,t,n},Op=function(r){return{h:(e=q4(r)).h,s:(i=(200-(t=e.s))*(n=e.v)/100)>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0,l:i/2,a:e.a};var e,t,n,i},WU=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,XU=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,JU=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,$U=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ax={string:[[function(r){var e=VU.exec(r);return e?(r=e[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?jr(parseInt(r[3]+r[3],16)/255,2):1}:r.length===6||r.length===8?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:r.length===8?jr(parseInt(r.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(r){var e=JU.exec(r)||$U.exec(r);return e?e[2]!==e[4]||e[4]!==e[6]?null:rE({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(r){var e=WU.exec(r)||XU.exec(r);if(!e)return null;var t,n,i=iE({h:(t=e[1],n=e[2],n===void 0&&(n="deg"),Number(t)*(GU[n]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return oE(i)},"hsl"]],object:[[function(r){var e=r.r,t=r.g,n=r.b,i=r.a,s=i===void 0?1:i;return Ha(e)&&Ha(t)&&Ha(n)?rE({r:Number(e),g:Number(t),b:Number(n),a:Number(s)}):null},"rgb"],[function(r){var e=r.h,t=r.s,n=r.l,i=r.a,s=i===void 0?1:i;if(!Ha(e)||!Ha(t)||!Ha(n))return null;var o=iE({h:Number(e),s:Number(t),l:Number(n),a:Number(s)});return oE(o)},"hsl"],[function(r){var e=r.h,t=r.s,n=r.v,i=r.a,s=i===void 0?1:i;if(!Ha(e)||!Ha(t)||!Ha(n))return null;var o=function(l){return{h:Y4(l.h),s:zs(l.s,0,100),v:zs(l.v,0,100),a:zs(l.a)}}({h:Number(e),s:Number(t),v:Number(n),a:Number(s)});return Q4(o)},"hsv"]]},aE=function(r,e){for(var t=0;t<e.length;t++){var n=e[t][0](r);if(n)return[n,e[t][1]]}return[null,void 0]},Z4=function(r){return typeof r=="string"?aE(r.trim(),Ax.string):typeof r=="object"&&r!==null?aE(r,Ax.object):[null,void 0]}
vendor: 5,016 bytes, line 3914
3914,KU=function(r){return Z4(r)[1]},S_=function(r,e){var t=Op(r);return{h:t.h,s:zs(t.s+100*e,0,100),l:t.l,a:t.a}},w_=function(r){return(299*r.r+587*r.g+114*r.b)/1e3/255},lE=function(r,e){var t=Op(r);return{h:t.h,s:t.s,l:zs(t.l+100*e,0,100),a:t.a}},Ex=function(){function r(e){this.parsed=Z4(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return r.prototype.isValid=function(){return this.parsed!==null},r.prototype.brightness=function(){return jr(w_(this.rgba),2)},r.prototype.isDark=function(){return w_(this.rgba)<.5},r.prototype.isLight=function(){return w_(this.rgba)>=.5},r.prototype.toHex=function(){return e=M_(this.rgba),t=e.r,n=e.g,i=e.b,o=(s=e.a)<1?mg(jr(255*s)):"","#"+mg(t)+mg(n)+mg(i)+o;var e,t,n,i,s,o},r.prototype.toRgb=function(){return M_(this.rgba)},r.prototype.toRgbString=function(){return e=M_(this.rgba),t=e.r,n=e.g,i=e.b,(s=e.a)<1?"rgba("+t+", "+n+", "+i+", "+s+")":"rgb("+t+", "+n+", "+i+")";var e,t,n,i,s},r.prototype.toHsl=function(){return sE(Op(this.rgba))},r.prototype.toHslString=function(){return e=sE(Op(this.rgba)),t=e.h,n=e.s,i=e.l,(s=e.a)<1?"hsla("+t+", "+n+"%, "+i+"%, "+s+")":"hsl("+t+", "+n+"%, "+i+"%)";var e,t,n,i,s},r.prototype.toHsv=function(){return e=q4(this.rgba),{h:jr(e.h),s:jr(e.s),v:jr(e.v),a:jr(e.a,3)};var e},r.prototype.invert=function(){return Bi({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},r.prototype.saturate=function(e){return e===void 0&&(e=.1),Bi(S_(this.rgba,e))},r.prototype.desaturate=function(e){return e===void 0&&(e=.1),Bi(S_(this.rgba,-e))},r.prototype.grayscale=function(){return Bi(S_(this.rgba,-1))},r.prototype.lighten=function(e){return e===void 0&&(e=.1),Bi(lE(this.rgba,e))},r.prototype.darken=function(e){return e===void 0&&(e=.1),Bi(lE(this.rgba,-e))},r.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},r.prototype.alpha=function(e){return typeof e=="number"?Bi({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):jr(this.rgba.a,3);var t},r.prototype.hue=function(e){var t=Op(this.rgba);return typeof e=="number"?Bi({h:e,s:t.s,l:t.l,a:t.a}):jr(t.h)},r.prototype.isEqual=function(e){return this.toHex()===Bi(e).toHex()},r}(),Bi=function(r){return r instanceof Ex?r:new Ex(r)},cE=[],YU=function(r){r.forEach(function(e){cE.indexOf(e)<0&&(e(Ex,Ax),cE.push(e))})};function qU(r,e){var t={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",s
3914andybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var i in t)n[t[i]]=i;var s={};r.prototype.toName=function(o){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var l,u,d=n[this.toHex()];if(d)return d;if(o!=null&&o.closest){var p=this.toRgb(),m=1/0,y="black";if(!s.length)for(var v in t)s[v]=new r(t[v]).toRgb();for(var S in t){var E=(l=p,u=s[S],Math.pow(l.r-u.r,2)+Math.pow(l.g-u.g,2)+Math.pow(l.b-u.b,2));E<m&&(m=E,y=S)}return y}},e.string.push([function(o){var l=o.toLowerCase(),u=l==="transparent"?"#0000":t[l];return u?new r(u).toRgb():null},"name"])}function tf(){return(tf=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r}).apply(this,arguments)}function ZM(r,e){if(r==null)return{};var t,n,i={},s=Object.keys(r);for(n=0;n<s.length;n++)e.indexOf(t=s[n])>=0||(i[t]=r[t]);return i}function bx(r){var e=z.useRef(r),t=z.useRef(function(n){e.current&&e.current(n)});return e.current=r,t.current}var Gd=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),r>t?t:r<e?e:r},Dp=function(r){return"touches"in r},Cx=function(r){return r&&r.ownerDocument.defaultView||self},uE=function(r,e,t){var n=r.getBoundingClientRect(),i=Dp(e)?function(s,o){for(var l=0;l<s.length;l++)if(s[l].identifier===o)return s[l];return s[0]}(e.touches,t):e;return{left:Gd((i.pageX-(n.left+Cx(r).pageXOffset))/n.width),top:Gd((i.pageY-(n.top+Cx(r).pageYOffset))/n.height)}},hE=function(r){!Dp(r)&&r.preventDefault()},eS=re.memo(function(r){var e=r.onMove,t=r.onKey,n=ZM(r,["onMove","onKey"]),i=z.useRef(null),s=bx(e),o=bx(t),l=z.useRef(null),u=z.useRef(!1),d=z.useMemo(function(){var v=function(A){hE(A),(Dp(A)?A.touches.length>0:A.buttons>0)&&i.current?s(uE(i.current,A,l.current)):E(!1)},S=function(){return E(!1)};function E(A){var M=u.current,T=Cx(i.current),I=A?T.addEventListener:T.removeEventListener;I(M?"touchmove":"mousemove",v),I(M?"touchend":"mouseup",S)}return[function(A){var M=A.nativeEvent,T=i.current;if(T&&(hE(M),!function(P,k){return k&&!Dp(P)}(M,u.current)&&T)){if(Dp(M)){u.current=!0;var I=M.changedTouches||[];I.length&&(l.current=I[0].identifier)}
vendor: 4,345 bytes, line 3914
3914T.focus(),s(uE(T,M,l.current)),E(!0)}},function(A){var M=A.which||A.keyCode;M<37||M>40||(A.preventDefault(),o({left:M===39?.05:M===37?-.05:0,top:M===40?.05:M===38?-.05:0}))},E]},[o,s]),p=d[0],m=d[1],y=d[2];return z.useEffect(function(){return y},[y]),re.createElement("div",tf({},n,{onTouchStart:p,onMouseDown:p,className:"react-colorful__interactive",ref:i,onKeyDown:m,tabIndex:0,role:"slider"}))}),xm=function(r){return r.filter(Boolean).join(" ")},tS=function(r){var e=r.color,t=r.left,n=r.top,i=n===void 0?.5:n,s=xm(["react-colorful__pointer",r.className]);return re.createElement("div",{className:s,style:{top:100*i+"%",left:100*t+"%"}},re.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:e}}))},Li=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*r)/t},e3=function(r){var e=r.s,t=r.v,n=r.a,i=(200-e)*t/100;return{h:Li(r.h),s:Li(i>0&&i<200?e*t/100/(i<=100?i:200-i)*100:0),l:Li(i/2),a:Li(n,2)}},Tx=function(r){var e=e3(r);return"hsl("+e.h+", "+e.s+"%, "+e.l+"%)"},A_=function(r){var e=e3(r);return"hsla("+e.h+", "+e.s+"%, "+e.l+"%, "+e.a+")"},t3=function(r){var e=r.h,t=r.s,n=r.v,i=r.a;e=e/360*6,t/=100,n/=100;var s=Math.floor(e),o=n*(1-t),l=n*(1-(e-s)*t),u=n*(1-(1-e+s)*t),d=s%6;return{r:Li(255*[n,l,o,o,u,n][d]),g:Li(255*[u,n,n,l,o,o][d]),b:Li(255*[o,o,u,n,n,l][d]),a:Li(i,2)}},n3=function(r){var e=r.r,t=r.g,n=r.b,i=r.a,s=Math.max(e,t,n),o=s-Math.min(e,t,n),l=o?s===e?(t-n)/o:s===t?2+(n-e)/o:4+(e-t)/o:0;return{h:Li(60*(l<0?l+6:l)),s:Li(s?o/s*100:0),v:Li(s/255*100),a:i}},r3=re.memo(function(r){var e=r.hue,t=r.onChange,n=xm(["react-colorful__hue",r.className]);return re.createElement("div",{className:n},re.createElement(eS,{onMove:function(i){t({h:360*i.left})},onKey:function(i){t({h:Gd(e+360*i.left,0,360)})},"aria-label":"Hue","aria-valuenow":Li(e),"aria-valuemax":"360","aria-valuemin":"0"},re.createElement(tS,{className:"react-colorful__hue-pointer",left:e/360,color:Tx({h:e,s:100,v:100,a:1})})))}),i3=re.memo(function(r){var e=r.hsva,t=r.onChange,n={backgroundColor:Tx({h:e.h,s:100,v:100,a:1})};return re.createElement("div",{className:"react-colorful__saturation",style:n},re.createElement(eS,{onMove:function(i){t({s:100*i.left,v:100-100*i.top})},onKey:function(i){t({s:Gd(e.s+100*i.left,0,100),v:Gd(e.v-100*i.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+Li(e.s)+"%, Brightness "+Li(e.v)+"%"},re.createElement(tS,{className:"react-colorful__saturation-pointer",top:1-e.v/100,left:e.s/100,color:Tx(e)})))}),nS=function(r,e){if(r===e)return!0;for(var t in r)if(r[t]!==e[t])return!1;return!0};function s3(r,e,t){var n=bx(t),i=z.useState(function(){return r.toHsva(e)}),s=i[0],o=i[1],l=z.useRef({color:e,hsva:s});z.useEffect(function(){if(!r.equal(e,l.current.color)){var d=r.toHsva(e);l.current={hsva:d,color:e},o(d)}},[e,r]),z.useEffect(function(){var d;nS(s,l.current.hsva)||r.equal(d=r.fromHsva(s),l.current.color)||(l.current={hsva:s,color:d},n(d))},[s,r,n]);var u=z.useCallback(function(d){o(function(p){return Object.assign({},p,d)})},[]);return[s,u]}var QU=typeof window<"u"?z.useLayoutEffect:z.useEffect,ZU=function(){return typeof __webpack_nonce__<"u"?__webpack_nonce__:void 0},dE=new Map,o3=function(r){QU(function(){var e=r.current?r.current.ownerDocument:document;if(e!==void 0&&!dE.has(e)){var t=e.createElement("style");t.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;
3914left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,dE.set(e,t);var n=ZU();n&&t.setAttribute("nonce",n),e.head.appendChild(t)}},[])},ej=function(r){var e=r.className,t=r.colorModel,n=r.color,i=n===void 0?t.defaultColor:n,s=r.onChange,o=ZM(r,["className","colorModel","color","onChange"]),l=z.useRef(null);o3(l);var u=s3(t,i,s),d=u[0],p=u[1],m=xm(["react-colorful",e]);return re.createElement("div",tf({},o,{ref:l,className:m}),re.createElement(i3,{hsva:d,onChange:p}),re.createElement(r3,{hue:d.h,onChange:p,className:"react-colorful__last-control"}))},tj=function(r){var e=r.className,t=r.hsva,n=r.onChange,i={backgroundImage:"linear-gradient(90deg, "+A_(Object.assign({},t,{a:0}))+", "+A_(Object.assign({},t,{a:1}))+")"},s=xm(["react-colorful__alpha",e]),o=Li(100*t.a);return re.createElement("div",{className:s},re.createElement("div",{className:"react-colorful__alpha-gradient",style:i}),re.createElement(eS,{onMove:function(l){n({a:l.left})},onKey:function(l){n({a:Gd(t.a+l.left)})},"aria-label":"Alpha","aria-valuetext":o+"%","aria-valuenow":o,"aria-valuemin":"0","aria-valuemax":"100"},re.createElement(tS,{className:"react-colorful__alpha-pointer",left:t.a,color:A_(t)})))},nj=function(r){var e=r.className,t=r.colorModel,n=r.color,i=n===void 0?t.defaultColor:n,s=r.onChange,o=ZM(r,["className","colorModel","color","onChange"]),l=z.useRef(null);o3(l);var u=s3(t,i,s),d=u[0],p=u[1],m=xm(["react-colorful",e]);return re.createElement("div",tf({},o,{ref:l,className:m}),re.createElement(i3,{hsva:d,onChange:p}),re.createElement(r3,{hue:d.h,onChange:p}),re.createElement(tj,{hsva:d,onChange:p,className:"react-colorful__last-control"}))},rj={defaultColor:{r:0,g:0,b:0,a:1},toHsva:n3,fromHsva:t3,equal:nS},ij=function(r){return re.createElement(nj,tf({},r,{colorModel:rj}))},sj={defaultColor:{r:0,g:0,b:0},toHsva:function(r){return n3({r:r.r,g:r.g,b:r.b,a:1})},fromHsva:function(r){return{r:(e=t3(r)).r,g:e.g,b:e.b};var e},equal:nS},oj=function(r){return re.createElement(ej,tf({},r,{colorModel:sj}))};function nf(r,e,t,n){function i(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function l(p){try{d(n.next(p))}catch(m){o(m)}}function u(p){try{d(n.throw(p))}catch(m){o(m)}}function d(p){p.done?s(p.value):i(p.value).then(l,u)}d((n=n.apply(r,e||[])).next())})}function rf(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(d){return function(p){return u([d,p])}}function u(d){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,d[0]&&(t=0)),t;)try{if(n=1,i&&(s=d[0]&2?i.return:d[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,d[1])).done)return s;switch(i=0,s&&(d=[d[0]&2,s.value]),d[0]){case 0:case 1:s=d;break;case 4:return t.label++,{value:d[1],done:!1};case 5:t.label++,i=d[1],d=[0];continue;
3914case 7:d=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(d[0]===6||d[0]===2)){t=0;continue}if(d[0]===3&&(!s||d[1]>s[0]&&d[1]<s[3])){t.label=d[1];break}if(d[0]===6&&t.label<s[1]){t.label=s[1],s=d;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(d);break}s[2]&&t.ops.pop(),t.trys.pop();continue}d=e.call(r,t)}catch(p){d=[6,p],i=0}finally{n=s=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}function aj(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){o={error:l}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return s}function lj(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(aj(arguments[e]));return r}var cj=new Map([["aac","audio/aac"],["abw","application/x-abiword"],["arc","application/x-freearc"],["avif","image/avif"],["avi","video/x-msvideo"],["azw","application/vnd.amazon.ebook"],["bin","application/octet-stream"],["bmp","image/bmp"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["cda","application/x-cdf"],["csh","application/x-csh"],["css","text/css"],["csv","text/csv"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["eot","application/vnd.ms-fontobject"],["epub","application/epub+zip"],["gz","application/gzip"],["gif","image/gif"],["heic","image/heic"],["heif","image/heif"],["htm","text/html"],["html","text/html"],["ico","image/vnd.microsoft.icon"],["ics","text/calendar"],["jar","application/java-archive"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["js","text/javascript"],["json","application/json"],["jsonld","application/ld+json"],["mid","audio/midi"],["midi","audio/midi"],["mjs","text/javascript"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mpeg","video/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["opus","audio/opus"],["otf","font/otf"],["png","image/png"],["pdf","application/pdf"],["php","application/x-httpd-php"],["ppt","application/vnd.ms-powerpoint"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["rar","application/vnd.rar"],["rtf","application/rtf"],["sh","application/x-sh"],["svg","image/svg+xml"],["swf","application/x-shockwave-flash"],["tar","application/x-tar"],["tif","image/tiff"],["tiff","image/tiff"],["ts","video/mp2t"],["ttf","font/ttf"],["txt","text/plain"],["vsd","application/vnd.visio"],["wav","audio/wav"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["woff","font/woff"],["woff2","font/woff2"],["xhtml","application/xhtml+xml"],["xls","application/vnd.ms-excel"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xml","application/xml"],["xul","application/vnd.mozilla.xul+xml"],["zip","application/zip"],["7z","application/x-7z-compressed"],["mkv","video/x-matroska"],["mov","video/quicktime"],["msg","application/vnd.ms-outlook"]]);function Mm(r,e){var t=uj(r);if(typeof t.path!="string"){var n=r.webkitRelativePath;Object.defineProperty(t,"path",{value:typeof e=="string"?e:typeof n=="string"&&n.length>0?n:r.name,writable:!1,configurable:!1,enumerable:!0})}return t}function uj(r){var e=r.name,t=e&&e.lastIndexOf(".")!==-1;if(t&&!r.type){var n=e.split(".").pop().toLowerCase(),i=cj.get(n);i&&Object.defineProperty(r,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return r}var hj=[".DS_Store","Thumbs.db"];function dj(r){return nf(this,void 0,void 0,function(){return rf(this,function(e){return Ey(r)&&fj(r)?[2,yj(r.dataTransfer,r.type)]:pj(r)?[2,mj(r)]:Array.isArray(r)&&r.every(function(t){return"getFile"in t&&typeof t.getFile=="function"})?[2,gj(r)]:[2,[]]})})}function fj(r){return Ey(r.dataTransfer)}function pj(r){return Ey(r)&&Ey(r.target)}function Ey(r){return typeof r=="object"&&r!==null}function mj(r){return Ix(r.target.files).map(function(e){return Mm(e)})}function gj(r){return nf(this,void 0,void 0,function(){var e;return rf(this,function(t){switch(t.label){case 0:return[4,Promise.all(r.map(function(n){return n.getFile()}))];case 1:return e=t.sent(),[2,e.map(function(n){return Mm(n)})]}})})}function yj(r,e){return nf(this,void 0,void 0,function(){var t,n;return rf(this,function(i){switch(i.label){case 0:return r===null?[2,[]]:r.items?(t=Ix(r.items).filter(function(s){return s.kind==="file"}),e!=="drop"?[2,t]:[4,Promise.all(t.map(vj))]):[3,2];case 1:return n=i.sent(),[2,fE(a3(n))];case 2:return[2,fE(Ix(r.files).map(function(s){return Mm(s)}))]}})})}function fE(r){return r.filter(function(e){return hj.indexOf(e.name)===-1})}function Ix(r){if(r===null)return[];for(var e=[],t=0;t<r.length;t++){var n=r[t];e.push(n)}return e}function vj(r){if(typeof r.webkitGetAsEntry!="function")return pE(r);var e=r.webkitGetAsEntry();return e&&e.isDirectory?l3(e):pE(r)}function a3(r){return r.reduce(function(e,t){return lj(e,Array.isArray(t)?a3(t):[t])},[])}function pE(r){var e=r.getAsFile();if(!e)return Promise.reject(r+" is not a File");var t=Mm(e);return Promise.resolve(t)}function _j(r){return nf(this,void 0,void 0,function(){return rf(this,function(e){return[2,r.isDirectory?l3(r):xj(r)]})})}function l3(r){var e=r.createReader();return new Promise(function(t,n){var i=[];function s(){var o=this;e.readEntries(function(l){return nf(o,void 0,void 0,function(){var u,d,p;return rf(this,function(m){switch(m.label){case 0:if(l.length)return[3,5];m.label=1;case 1:return m.trys.push([1,3,,4]),[4,Promise.all(i)];case 2:return u=m.sent(),t(u),[3,4];case 3:return d=m.sent(),n(d),[3,4];case 4:return[3,6];case 5:p=Promise.all(l.map(_j)),i.push(p),s(),m.label=6;case 6:return[2]}})})},function(l){n(l)})}s()})}function xj(r){return nf(this,void 0,void 0,function(){return rf(this,function(e){return[2,new Promise(function(t,n){r.file(function(i){var s=Mm(i,r.fullPath);t(s)},function(i){n(i)})})]})})}var gg={},mE;function Mj(){return mE||(mE=1,gg.__esModule=!0,gg.default=function(r,e){if(r&&e){var t=Array.isArray(e)?e:e.split(",");if(t.length===0)return!0;var n=r.name||"",i=(r.type||"").toLowerCase(),s=i.replace(/\/.*$/,"");return t.some(function(o){var l=o.trim().toLowerCase();return l.charAt(0)==="."?n.toLowerCase().endsWith(l):l.endsWith("/*")?s===l.replace(/\/.*$/,""):i===l})}return!0}),gg}var Sj=Mj();const wj=oc(Sj);function gE(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function yE(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};
vendor: 9,767 bytes, lines 3914-3917
3914e%2?gE(Object(t),!0).forEach(function(n){c3(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):gE(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function c3(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function vE(r,e){return Cj(r)||bj(r,e)||Ej(r,e)||Aj()}function Aj(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3915In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ej(r,e){if(r){if(typeof r=="string")return _E(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _E(r,e)}}function _E(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function bj(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n=[],i=!0,s=!1,o,l;try{for(t=t.call(r);!(i=(o=t.next()).done)&&(n.push(o.value),!(e&&n.length===e));i=!0);}catch(u){s=!0,l=u}finally{try{!i&&t.return!=null&&t.return()}finally{if(s)throw l}}return n}}function Cj(r){if(Array.isArray(r))return r}var Tj="file-invalid-type",Ij="file-too-large",Pj="file-too-small",Rj="too-many-files",Bj=function(e){e=Array.isArray(e)&&e.length===1?e[0]:e;var t=Array.isArray(e)?"one of ".concat(e.join(", ")):e;return{code:Tj,message:"File type must be ".concat(t)}},xE=function(e){return{code:Ij,message:"File is larger than ".concat(e," ").concat(e===1?"byte":"bytes")}},ME=function(e){return{code:Pj,message:"File is smaller than ".concat(e," ").concat(e===1?"byte":"bytes")}},Oj={code:Rj,message:"Too many files"};function u3(r,e){var t=r.type==="application/x-moz-file"||wj(r,e);return[t,t?null:Bj(e)]}function h3(r,e,t){if(yp(r.size))if(yp(e)&&yp(t)){if(r.size>t)return[!1,xE(t)];if(r.size<e)return[!1,ME(e)]}else{if(yp(e)&&r.size<e)return[!1,ME(e)];if(yp(t)&&r.size>t)return[!1,xE(t)]}return[!0,null]}function yp(r){return r!=null}function Dj(r){var e=r.files,t=r.accept,n=r.minSize,i=r.maxSize,s=r.multiple,o=r.maxFiles;return!s&&e.length>1||s&&o>=1&&e.length>o?!1:e.every(function(l){var u=u3(l,t),d=vE(u,1),p=d[0],m=h3(l,n,i),y=vE(m,1),v=y[0];return p&&v})}function by(r){return typeof r.isPropagationStopped=="function"?r.isPropagationStopped():typeof r.cancelBubble<"u"?r.cancelBubble:!1}function yg(r){return r.dataTransfer?Array.prototype.some.call(r.dataTransfer.types,function(e){return e==="Files"||e==="application/x-moz-file"}):!!r.target&&!!r.target.files}function SE(r){r.preventDefault()}function Lj(r){return r.indexOf("MSIE")!==-1||r.indexOf("Trident/")!==-1}function Nj(r){return r.indexOf("Edge/")!==-1}function Fj(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.navigator.userAgent;return Lj(r)||Nj(r)}function Wo(){for(var r=arguments.length,e=new Array(r),t=0;t<r;t++)e[t]=arguments[t];return function(n){for(var i=arguments.length,s=new Array(i>1?i-1:0),o=1;o<i;o++)s[o-1]=arguments[o];return e.some(function(l){return!by(n)&&l&&l.apply(void 0,[n].concat(s)),by(n)})}}function kj(){return"showOpenFilePicker"in window}function Uj(r){return r=typeof r=="string"?r.split(","):r,[{description:"everything",accept:Array.isArray(r)?r.filter(function(e){return e==="audio/*"||e==="video/*"||e==="image/*"||e==="text/*"||/\w+\/[-+.\w]+/g.test(e)}).reduce(function(e,t){return yE(yE({},e),{},c3({},t,[]))},{}):{}}]}function jj(r){return r instanceof DOMException&&(r.name==="AbortError"||r.code===r.ABORT_ERR)}function zj(r){return r instanceof DOMException&&(r.name==="SecurityError"||r.code===r.SECURITY_ERR)}var Hj=["children"],Gj=["open"],Vj=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],Wj=["refKey","onChange","onClick"];function Xj(r){return Kj(r)||$j(r)||d3(r)||Jj()}function Jj(){throw new TypeError(`Invalid attempt to spread non-iterable instance. 3916In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $j(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Kj(r){if(Array.isArray(r))return Px(r)}function E_(r,e){return Qj(r)||qj(r,e)||d3(r,e)||Yj()}function Yj(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. 3917In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function d3(r,e){if(r){if(typeof r=="string")return Px(r,e);var t=Object.prototype.toString.call(r).slice(8,-1);if(t==="Object"&&r.constructor&&(t=r.constructor.name),t==="Map"||t==="Set")return Array.from(r);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Px(r,e)}}function Px(r,e){(e==null||e>r.length)&&(e=r.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=r[t];return n}function qj(r,e){var t=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(t!=null){var n=[],i=!0,s=!1,o,l;try{for(t=t.call(r);!(i=(o=t.next()).done)&&(n.push(o.value),!(e&&n.length===e));i=!0);}catch(u){s=!0,l=u}finally{try{!i&&t.return!=null&&t.return()}finally{if(s)throw l}}return n}}function Qj(r){if(Array.isArray(r))return r}function wE(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable})),t.push.apply(t,n)}return t}function Yn(r){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?wE(Object(t),!0).forEach(function(n){Rx(r,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):wE(Object(t)).forEach(function(n){Object.defineProperty(r,n,Object.getOwnPropertyDescriptor(t,n))})}return r}function Rx(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function Cy(r,e){if(r==null)return{};var t=Zj(r,e),n,i;if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(r);for(i=0;i<s.length;i++)n=s[i],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(r,n)&&(t[n]=r[n])}return t}function Zj(r,e){if(r==null)return{};var t={},n=Object.keys(r),i,s;for(s=0;s<n.length;s++)i=n[s],!(e.indexOf(i)>=0)&&(t[i]=r[i]);return t}var rS=z.forwardRef(function(r,e){var t=r.children,n=Cy(r,Hj),i=p3(n),s=i.open,o=Cy(i,Gj);return z.useImperativeHandle(e,function(){return{open:s}},[s]),re.createElement(z.Fragment,null,t(Yn(Yn({},o),{},{open:s})))});rS.displayName="Dropzone";var f3={disabled:!1,getFilesFromEvent:dj,maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!0};rS.defaultProps=f3;rS.propTypes={children:It.func,accept:It.oneOfType([It.string,It.arrayOf(It.string)]),multiple:It.bool,preventDropOnDocument:It.bool,noClick:It.bool,noKeyboard:It.bool,noDrag:It.bool,noDragEventsBubbling:It.bool,minSize:It.number,maxSize:It.number,maxFiles:It.number,disabled:It.bool,getFilesFromEvent:It.func,onFileDialogCancel:It.func,onFileDialogOpen:It.func,useFsAccessApi:It.bool,onDragEnter:It.func,onDragLeave:It.func,onDragOver:It.func,onDrop:It.func,onDropAccepted:It.func,onDropRejected:It.func,validator:It.func};var Bx={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],fileRejections:[]};function p3(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=Yn(Yn({},f3),r),t=e.accept,n=e.disabled,i=e.getFilesFromEvent,s=e.maxSize,o=e.minSize,l=e.multiple,u=e.maxFiles,d=e.onDragEnter,p=e.onDragLeave,m=e.onDragOver,y=e.onDrop,v=e.onDropAccepted,S=e.onDropRejected,E=e.onFileDialogCancel,A=e.onFileDialogOpen,M=e.useFsAccessApi,T=e.preventDropOnDocument,I=e.noClick,P=e.noKeyboard,k=e.noDrag,O=e.noDragEventsBubbling,N=e.validator,H=z.useMemo(function(){return typeof A=="function"?A:AE},[A]),F=z.useMemo(function(){return typeof E=="function"?E:AE},[E]),L=z.useRef(null),V=z.useRef(null),te=z.useReducer(ez,Bx),ne=E_(te,2),ce=ne[0],me=ne[1],he=ce.isFocused,ge=ce.isFileDialogActive,U=ce.draggedFiles,Z=z.useRef(typeof window<"u"&&window.isSecureContext&&M&&kj()),q=function(){!Z.current&&ge&&setTimeout(function(){if(V.current){var ye=V.current.files;ye.length||(me({type:"closeDialog"}),F())}},300)};z.useEffect(function(){return window.addEventListener("focus",q,!1),function(){window.removeEventListener("focus",q,!1)}},[V,ge,F,Z]);var X=z.useRef([]),se=function(ye){L.current&&L.current.contains(ye.target)||(ye.preventDefault(),X.current=[])};z.useEffect(function(){return T&&(document.addEventListener("dragover",SE,!1),document.addEventListener("drop",se,!1)),function(){T&&(document.removeEventListener("dragover",SE),document.removeEventListener("drop",se))}},[L,T]);var Le=z.useCallback(function(ee){ee.preventDefault(),ee.persist(),Fe(ee),X.current=[].concat(Xj(X.current),[ee.target]),yg(ee)&&Promise.resolve(i(ee)).then(function(ye){by(ee)&&!O||(me({draggedFiles:ye,isDragActive:!0,type:"setDraggedFiles"}),d&&d(ee))})},[i,d,O]),pe=z.useCallback(function(ee){ee.preventDefault(),ee.persist(),Fe(ee);var ye=yg(ee);if(ye&&ee.dataTransfer)try{ee.dataTransfer.dropEffect="copy"}catch{}return ye&&m&&m(ee),!1},[m,O]),Ae=z.useCallback(function(ee){ee.preventDefault(),ee.persist(),Fe(ee);var ye=X.current.filter(function(be){return L.current&&L.current.contains(be)}),Pe=ye.indexOf(ee.target);Pe!==-1&&ye.splice(Pe,1),X.current=ye,!(ye.length>0)&&(me({isDragActive:!1,type:"setDraggedFiles",draggedFiles:[]}),yg(ee)&&p&&p(ee))},[L,p,O]),Re=z.useCallback(function(ee,ye){var Pe=[],be=[];
3917ee.forEach(function(et){var Je=u3(et,t),Qe=E_(Je,2),Ht=Qe[0],Ue=Qe[1],ut=h3(et,o,s),Ct=E_(ut,2),Rt=Ct[0],ht=Ct[1],$t=N?N(et):null;if(Ht&&Rt&&!$t)Pe.push(et);else{var kt=[Ue,ht];$t&&(kt=kt.concat($t)),be.push({file:et,errors:kt.filter(function(pn){return pn})})}}),(!l&&Pe.length>1||l&&u>=1&&Pe.length>u)&&(Pe.forEach(function(et){be.push({file:et,errors:[Oj]})}),Pe.splice(0)),me({acceptedFiles:Pe,fileRejections:be,type:"setFiles"}),y&&y(Pe,be,ye),be.length>0&&S&&S(be,ye),Pe.length>0&&v&&v(Pe,ye)},[me,l,t,o,s,u,y,v,S,N]),Ie=z.useCallback(function(ee){ee.preventDefault(),ee.persist(),Fe(ee),X.current=[],yg(ee)&&Promise.resolve(i(ee)).then(function(ye){by(ee)&&!O||Re(ye,ee)}),me({type:"reset"})},[i,Re,O]),Ge=z.useCallback(function(){if(Z.current){me({type:"openDialog"}),H();var ee={multiple:l,types:Uj(t)};window.showOpenFilePicker(ee).then(function(ye){return i(ye)}).then(function(ye){Re(ye,null),me({type:"closeDialog"})}).catch(function(ye){jj(ye)?(F(ye),me({type:"closeDialog"})):zj(ye)&&(Z.current=!1,V.current&&(V.current.value=null,V.current.click()))});return}V.current&&(me({type:"openDialog"}),H(),V.current.value=null,V.current.click())},[me,H,F,M,Re,t,l]),qe=z.useCallback(function(ee){!L.current||!L.current.isEqualNode(ee.target)||(ee.key===" "||ee.key==="Enter"||ee.keyCode===32||ee.keyCode===13)&&(ee.preventDefault(),Ge())},[L,Ge]),lt=z.useCallback(function(){me({type:"focus"})},[]),Pt=z.useCallback(function(){me({type:"blur"})},[]),Be=z.useCallback(function(){I||(Fj()?setTimeout(Ge,0):Ge())},[I,Ge]),Oe=function(ye){return n?null:ye},K=function(ye){return P?null:Oe(ye)},pt=function(ye){return k?null:Oe(ye)},Fe=function(ye){O&&ye.stopPropagation()},st=z.useMemo(function(){return function(){var ee=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ye=ee.refKey,Pe=ye===void 0?"ref":ye,be=ee.role,et=ee.onKeyDown,Je=ee.onFocus,Qe=ee.onBlur,Ht=ee.onClick,Ue=ee.onDragEnter,ut=ee.onDragOver,Ct=ee.onDragLeave,Rt=ee.onDrop,ht=Cy(ee,Vj);return Yn(Yn(Rx({onKeyDown:K(Wo(et,qe)),onFocus:K(Wo(Je,lt)),onBlur:K(Wo(Qe,Pt)),onClick:Oe(Wo(Ht,Be)),onDragEnter:pt(Wo(Ue,Le)),onDragOver:pt(Wo(ut,pe)),onDragLeave:pt(Wo(Ct,Ae)),onDrop:pt(Wo(Rt,Ie)),role:typeof be=="string"&&be!==""?be:"button"},Pe,L),!n&&!P?{tabIndex:0}:{}),ht)}},[L,qe,lt,Pt,Be,Le,pe,Ae,Ie,P,k,n]),Ve=z.useCallback(function(ee){ee.stopPropagation()},[]),St=z.useMemo(function(){return function(){var ee=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ye=ee.refKey,Pe=ye===void 0?"ref":ye,be=ee.onChange,et=ee.onClick,Je=Cy(ee,Wj),Qe=Rx({accept:t,multiple:l,type:"file",style:{display:"none"},onChange:Oe(Wo(be,Ie)),onClick:Oe(Wo(et,Ve)),tabIndex:-1},Pe,V);return Yn(Yn({},Qe),Je)}},[V,t,l,Ie,n]),$e=U.length,J=$e>0&&Dj({files:U,accept:t,minSize:o,maxSize:s,multiple:l,maxFiles:u}),G=$e>0&&!J;return Yn(Yn({},ce),{},{isDragAccept:J,isDragReject:G,isFocused:he&&!n,getRootProps:st,getInputProps:St,rootRef:L,inputRef:V,open:Oe(Ge)})}function ez(r,e){switch(e.type){case"focus":return Yn(Yn({},r),{},{isFocused:!0});case"blur":return Yn(Yn({},r),{},{isFocused:!1});case"openDialog":return Yn(Yn({},Bx),{},{isFileDialogActive:!0});case"closeDialog":return Yn(Yn({},r),{},{isFileDialogActive:!1});case"setDraggedFiles":var t=e.isDragActive,n=e.draggedFiles;return Yn(Yn({},r),{},{draggedFiles:n,isDragActive:t});case"setFiles":return Yn(Yn({},r),{},{acceptedFiles:e.acceptedFiles,fileRejections:e.fileRejections});case"reset":return Yn({},Bx);default:return r}}function AE(){}const tz=r=>(e,t,n)=>{const i=n.subscribe;return n.subscribe=(o,l,u)=>{let d=o;if(l){const p=(u==null?void 0:u.equalityFn)||Object.is;let m=o(n.getState());d=y=>{const v=o(y);if(!p(m,v)){const S=m;l(m=v,S)}},u!=null&&u.fireImmediately&&l(m,m)}return i(d)},r(e,t,n)};/*! 3918 * isobject <https://github.com/jonschlinkert/isobject> 3919 * 3920 * Copyright (c) 2014-2017, Jon Schlinkert. 3921 * Released under the MIT License. 3922 */var b_,EE;function nz(){return EE||(EE=1,b_=function(e){return e!=null&&typeof e=="object"&&Array.isArray(e)===!1}),b_}/*! 3923 * is-plain-object <https://github.com/jonschlinkert/is-plain-object> 3924 * 3925 * Copyright (c) 2014-2017, Jon Schlinkert. 3926 * Released under the MIT License. 3927 */var C_,bE;function m3(){if(bE)return C_;bE=1;var r=nz();function e(t){return r(t)===!0&&Object.prototype.toString.call(t)==="[object Object]"}return C_=function(n){var i,s;return!(e(n)===!1||(i=n.constructor,typeof i!="function")||(s=i.prototype,e(s)===!1)||s.hasOwnProperty("isPrototypeOf")===!1)},C_}/*! 3928 * is-extendable <https://github.com/jonschlinkert/is-extendable> 3929 * 3930 * Copyright (c) 2015-2017, Jon Schlinkert. 3931 * Released under the MIT License. 3932 */var T_,CE;function iS(){if(CE)return T_;CE=1;var r=m3();return T_=function(t){return r(t)||typeof t=="function"||Array.isArray(t)},T_}/*! 3933 * for-in <https://github.com/jonschlinkert/for-in> 3934 * 3935 * Copyright (c) 2014-2017, Jon Schlinkert. 3936 * Released under the MIT License. 3937 */var I_,TE;function rz(){return TE||(TE=1,I_=function(e,t,n){for(var i in e)if(t.call(n,e[i],i,e)===!1)break}),I_}var P_,IE;function iz(){if(IE)return P_;IE=1;var r=iS(),e=rz();function t(o,l){for(var u=arguments.length,d=0;++d<u;){var p=arguments[d];i(p)&&e(p,n,o)}return o}function n(o,l){if(s(l)){var u=this[l];i(o)&&i(u)?t(u,o):this[l]=o}}function i(o){return r(o)&&!Array.isArray(o)}function s(o){return o!=="__proto__"&&o!=="constructor"&&o!=="prototype"}return P_=t,P_}/*! 3938 * get-value <https://github.com/jonschlinkert/get-value> 3939 * 3940 * Copyright (c) 2014-2015, Jon Schlinkert.
3941 * Licensed under the MIT License. 3942 */var R_,PE;function sz(){if(PE)return R_;PE=1,R_=function(t,n,i,s,o){if(!r(t)||!n)return t;if(n=e(n),i&&(n+="."+e(i)),s&&(n+="."+e(s)),o&&(n+="."+e(o)),n in t)return t[n];for(var l=n.split("."),u=l.length,d=-1;t&&++d<u;){for(var p=l[d];p[p.length-1]==="\\";)p=p.slice(0,-1)+"."+l[++d];t=t[p]}return t};function r(t){return t!==null&&(typeof t=="object"||typeof t=="function")}function e(t){return t?Array.isArray(t)?t.join("."):t:""}return R_}/*! 3943 * assign-symbols <https://github.com/jonschlinkert/assign-symbols> 3944 * 3945 * Copyright (c) 2015, Jon Schlinkert. 3946 * Licensed under the MIT License. 3947 */var B_,RE;function oz(){return RE||(RE=1,B_=function(r,e){if(r===null||typeof r>"u")throw new TypeError("expected first argument to be an object.");if(typeof e>"u"||typeof Symbol>"u"||typeof Object.getOwnPropertySymbols!="function")return r;for(var t=Object.prototype.propertyIsEnumerable,n=Object(r),i=arguments.length,s=0;++s<i;)for(var o=Object(arguments[s]),l=Object.getOwnPropertySymbols(o),u=0;u<l.length;u++){var d=l[u];t.call(o,d)&&(n[d]=o[d])}return n}),B_}var O_,BE;function az(){if(BE)return O_;BE=1;var r=iS(),e=oz();O_=Object.assign||function(l){if(l===null||typeof l>"u")throw new TypeError("Cannot convert undefined or null to object");s(l)||(l={});for(var u=1;u<arguments.length;u++){var d=arguments[u];n(d)&&(d=i(d)),s(d)&&(t(l,d),e(l,d))}return l};function t(l,u){for(var d in u)o(u,d)&&(l[d]=u[d])}function n(l){return l&&typeof l=="string"}function i(l){var u={};for(var d in l)u[d]=l[d];return u}function s(l){return l&&typeof l=="object"||r(l)}function o(l,u){return Object.prototype.hasOwnProperty.call(l,u)}return O_}/*! 3948 * split-string <https://github.com/jonschlinkert/split-string> 3949 * 3950 * Copyright (c) 2015-2017, Jon Schlinkert. 3951 * Released under the MIT License. 3952 */var D_,OE;function lz(){if(OE)return D_;OE=1;var r=az();D_=function(i,s,o){if(typeof i!="string")throw new TypeError("expected a string");typeof s=="function"&&(o=s,s=null),typeof s=="string"&&(s={sep:s});var l=r({sep:"."},s),u=l.quotes||['"',"'","`"],d;l.brackets===!0?d={"<":">","(":")","[":"]","{":"}"}:l.brackets&&(d=l.brackets);var p=[],m=[],y=[""],v=l.sep,S=i.length,E=-1,A;function M(){if(d&&m.length)return d[m[m.length-1]]}for(;++E<S;){var T=i[E],I=i[E+1],P={val:T,idx:E,arr:y,str:i};if(p.push(P),T==="\\"){P.val=n(l,i,E)===!0?T+I:I,P.escaped=!0,typeof o=="function"&&o(P),y[y.length-1]+=P.val,E++;continue}if(d&&d[T]){m.push(T);var k=M(),O=E+1;if(i.indexOf(k,O+1)!==-1)for(;m.length&&O<S;){var N=i[++O];if(N==="\\"){N++;continue}if(u.indexOf(N)!==-1){O=e(i,N,O+1);continue}if(k=M(),m.length&&i.indexOf(k,O+1)===-1)break;if(d[N]){m.push(N);continue}k===N&&m.pop()}if(A=O,A===-1){y[y.length-1]+=T;continue}T=i.slice(E,A+1),P.val=T,P.idx=E=A}if(u.indexOf(T)!==-1){if(A=e(i,T,E+1),A===-1){y[y.length-1]+=T;continue}t(T,l)===!0?T=i.slice(E,A+1):T=i.slice(E+1,A),P.val=T,P.idx=E=A}if(typeof o=="function"&&(o(P,p),T=P.val,E=P.idx),P.val===v&&P.split!==!1){y.push("");continue}y[y.length-1]+=P.val}return y};function e(i,s,o,l){var u=i.indexOf(s,o);return i.charAt(u-1)==="\\"?e(i,s,u+1):u}function t(i,s){return s.keepDoubleQuotes===!0&&i==='"'||s.keepSingleQuotes===!0&&i==="'"?!0:s.keepQuotes}function n(i,s,o){return typeof i.keepEscaping=="function"?i.keepEscaping(s,o):i.keepEscaping===!0||s[o+1]==="\\"}return D_}/*! 3953 * is-extendable <https://github.com/jonschlinkert/is-extendable> 3954 * 3955 * Copyright (c) 2015, Jon Schlinkert. 3956 * Licensed under the MIT License. 3957 */var L_,DE;function cz(){return DE||(DE=1,L_=function(e){return typeof e<"u"&&e!==null&&(typeof e=="object"||typeof e=="function")}),L_}var N_,LE;function uz(){if(LE)return N_;LE=1;var r=cz();N_=function(i){r(i)||(i={});for(var s=arguments.length,o=1;o<s;o++){var l=arguments[o];r(l)&&e(i,l)}return i};function e(n,i){for(var s in i)t(i,s)&&(n[s]=i[s])}function t(n,i){return Object.prototype.hasOwnProperty.call(n,i)}return N_}/*! 3958 * is-extendable <https://github.com/jonschlinkert/is-extendable> 3959 * 3960 * Copyright (c) 2015, Jon Schlinkert. 3961 * Licensed under the MIT License. 3962 */var F_,NE;function hz(){return NE||(NE=1,F_=function(e){return typeof e<"u"&&e!==null&&(typeof e=="object"||typeof e=="function")}),F_}/*! 3963 * set-value <https://github.com/jonschlinkert/set-value> 3964 * 3965 * Copyright (c) 2014-2015, 2017, Jon Schlinkert. 3966 * Released under the MIT License. 3967 */var k_,FE;function dz(){if(FE)return k_;FE=1;var r=lz(),e=uz(),t=m3(),n=hz();k_=function(s,o,l){if(!n(s)||(Array.isArray(o)&&(o=[].concat.apply([],o).join(".")),typeof o!="string"))return s;for(var u=r(o,{sep:".",brackets:!0}).filter(i),d=u.length,p=-1,m=s;++p<d;){var y=u[p];if(p!==d-1){n(m[y])||(m[y]={}),m=m[y];continue}t(m[y])&&t(l)?m[y]=e({},m[y],l):m[y]=l}return s};function i(s){return s!=="__proto__"&&s!=="constructor"&&s!=="prototype"}return k_}var U_,kE;function fz(){if(kE)return U_;kE=1;var r=iS(),e=iz(),t=sz(),n=dz();return U_=function(s,o,l){if(!r(s))throw new TypeError("expected an object");
3967if(typeof o!="string"||l==null)return e.apply(null,arguments);if(typeof l=="string")return n(s,o,l),s;var u=t(s,o);return r(l)&&r(u)&&(l=e({},u,l)),n(s,o,l),s},U_}var pz=fz();const mz=oc(pz),sS=(...r)=>r.filter(Boolean).join(".");function gz(r){const e=r.split(".");return[e.pop(),e.join(".")||void 0]}function yz(r){const e=z.useRef(null),t=z.useRef(null),n=z.useRef(!0);return z.useLayoutEffect(()=>{r||(e.current.style.height="0px",e.current.style.overflow="hidden")},[]),z.useEffect(()=>{if(n.current){n.current=!1;return}let i;const s=e.current,o=()=>{r&&(s.style.removeProperty("height"),s.style.removeProperty("overflow"),t.current.scrollIntoView({behavior:"smooth",block:"nearest"}))};s.addEventListener("transitionend",o,{once:!0});const{height:l}=t.current.getBoundingClientRect();return s.style.height=l+"px",r||(s.style.overflow="hidden",i=window.setTimeout(()=>s.style.height="0px",50)),()=>{s.removeEventListener("transitionend",o),clearTimeout(i)}},[r]),{wrapperRef:e,contentRef:t}}const vz=r=>{const[e,t]=z.useState(r.getVisiblePaths());return z.useEffect(()=>{t(r.getVisiblePaths());const n=r.useStore.subscribe(r.getVisiblePaths,t,{equalityFn:FT});return()=>n()},[r]),e};function g3(r=3){const e=z.useRef(null),t=z.useRef(null),[n,i]=z.useState(!1),s=z.useCallback(()=>i(!0),[]),o=z.useCallback(()=>i(!1),[]);return z.useLayoutEffect(()=>{if(n){const{bottom:l,top:u,left:d}=e.current.getBoundingClientRect(),{height:p}=t.current.getBoundingClientRect(),m=l+p>window.innerHeight-40?"up":"down";t.current.style.position="fixed",t.current.style.zIndex="10000",t.current.style.left=d+"px",m==="down"?t.current.style.top=l+r+"px":t.current.style.bottom=window.innerHeight-u+r+"px"}},[r,n]),{popinRef:e,wrapperRef:t,shown:n,show:s,hide:o}}YU([qU]);const _z={rgb:"toRgb",hsl:"toHsl",hsv:"toHsv",hex:"toHex"};ts.extend({color:()=>r=>Bi(r).isValid()});const xz=r=>ts().color().test(r);function y3(r,{format:e,hasAlpha:t,isString:n}){const i=_z[e]+(n&&e!=="hex"?"String":""),s=r[i]();return typeof s=="object"&&!t?gk(s,["a"]):s}const v3=(r,e)=>{const t=Bi(r);if(!t.isValid())throw Error("Invalid color");return y3(t,e)},Mz=(r,e)=>y3(Bi(r),Zt(Zt({},e),{},{isString:!0,format:"hex"})),Sz=({value:r})=>{const e=KU(r),t=e==="name"?"hex":e,n=typeof r=="object"?"a"in r:e==="hex"&&r.length===8||/^(rgba)|(hsla)|(hsva)/.test(r),i={format:t,hasAlpha:n,isString:typeof r=="string"};return{value:v3(r,i),settings:i}};var wz=Object.freeze({__proto__:null,schema:xz,sanitize:v3,format:Mz,normalize:Sz});const Az=Ft("div",{position:"relative",boxSizing:"border-box",borderRadius:"$sm",overflow:"hidden",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",backgroundColor:"#fff",backgroundImage:`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,$inputStyle:"",$hover:"",zIndex:1,variants:{active:{true:{$inputStyle:"$accent1"}}},"&::before":{content:'""',position:"absolute",top:0,bottom:0,right:0,left:0,backgroundColor:"currentColor",zIndex:1}}),Ez=Ft("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto",columnGap:"$colGap",alignItems:"center"}),bz=Ft("div",{width:"$colorPickerWidth",height:"$colorPickerHeight",".react-colorful":{width:"100%",height:"100%",boxShadow:"$level2",cursor:"crosshair"},".react-colorful__saturation":{borderRadius:"$sm $sm 0 0"},".react-colorful__alpha, .react-colorful__hue":{height:10},".react-colorful__last-control":{borderRadius:"0 0 $sm $sm"},".react-colorful__pointer":{height:12,width:12}});function UE(r,e){return e!=="rgb"?Bi(r).toRgb():r}function Cz({value:r,displayValue:e,settings:t,onUpdate:n}){const{emitOnEditStart:i,emitOnEditEnd:s}=yi(),{format:o,hasAlpha:l}=t,{popinRef:u,wrapperRef:d,shown:p,show:m,hide:y}=g3(),v=z.useRef(0),[S,E]=z.useState(()=>UE(r,o)),A=l?ij:oj,M=()=>{E(UE(r,o)),m(),i()},T=()=>{y(),s(),window.clearTimeout(v.current)},I=()=>{v.current=window.setTimeout(T,500)};return z.useEffect(()=>()=>window.clearTimeout(v.current),[]),re.createElement(re.Fragment,null,re.createElement(Az,{ref:u,active:p,onClick:()=>M(),style:{color:e}}),p&&re.createElement(YM,null,re.createElement(z4,{onPointerUp:T}),re.createElement(bz,{ref:d,onMouseEnter:()=>window.clearTimeout(v.current),onMouseLeave:P=>P.buttons===0&&I()},re.createElement(A,{color:S,onChange:n}))))}function Tz(){const{value:r,displayValue:e,label:t,onChange:n,onUpdate:i,settings:s}=yi();return re.createElement(Vs,{input:!0},re.createElement(Io,null,t),re.createElement(Ez,null,re.createElement(Cz,{value:r,displayValue:e,onCh
3967ange:n,onUpdate:i,settings:s}),re.createElement(KM,{value:e,onChange:n,onUpdate:i})))}var Iz=Zt({component:Tz},wz);function Pz(){const{label:r,displayValue:e,onUpdate:t,settings:n}=yi();return re.createElement(Vs,{input:!0},re.createElement(Io,null,r),re.createElement(QM,{value:e,settings:n,onUpdate:t}))}var Rz=Zt({component:Pz},K4(["x","y","z"]));const Bz=Ft("div",{$flexCenter:"",position:"relative",backgroundColor:"$elevation3",borderRadius:"$sm",cursor:"pointer",height:"$rowHeight",width:"$rowHeight",touchAction:"none",$draggable:"",$hover:"","&:active":{cursor:"none"},"&::after":{content:'""',backgroundColor:"$accent2",height:4,width:4,borderRadius:2}}),Oz=Ft("div",{$flexCenter:"",width:"$joystickWidth",height:"$joystickHeight",borderRadius:"$sm",boxShadow:"$level2",position:"fixed",zIndex:1e4,overflow:"hidden",$draggable:"",transform:"translate(-50%, -50%)",variants:{isOutOfBounds:{true:{backgroundColor:"$elevation1"},false:{backgroundColor:"$elevation3"}}},"> div":{position:"absolute",$flexCenter:"",borderStyle:"solid",borderWidth:1,borderColor:"$highlight1",backgroundColor:"$elevation3",width:"80%",height:"80%","&::after,&::before":{content:'""',position:"absolute",zindex:10,backgroundColor:"$highlight1"},"&::before":{width:"100%",height:1},"&::after":{height:"100%",width:1}},"> span":{position:"relative",zindex:100,width:10,height:10,backgroundColor:"$accent2",borderRadius:"50%"}});function Dz({value:r,settings:e,onUpdate:t}){const n=z.useRef(),i=z.useRef(0),s=z.useRef(0),o=z.useRef(1),[l,u]=z.useState(!1),[d,p]=z.useState(!1),[m,y]=G4(),v=z.useRef(null),S=z.useRef(null);z.useLayoutEffect(()=>{if(l){const{top:te,left:ne,width:ce,height:me}=v.current.getBoundingClientRect();S.current.style.left=ne+ce/2+"px",S.current.style.top=te+me/2+"px"}},[l]);const{keys:[E,A],joystick:M}=e,T=M==="invertY"?1:-1,{[E]:{step:I},[A]:{step:P}}=e,k=Za("sizes","joystickWidth"),O=Za("sizes","joystickHeight"),N=parseFloat(k)*.8/2,H=parseFloat(O)*.8/2,F=z.useCallback(()=>{n.current||(p(!0),i.current&&y({x:i.current*N}),s.current&&y({y:s.current*-H}),n.current=window.setInterval(()=>{t(te=>{const ne=I*i.current*o.current,ce=T*P*s.current*o.current;return Array.isArray(te)?{[E]:te[0]+ne,[A]:te[1]+ce}:{[E]:te[E]+ne,[A]:te[A]+ce}})},16))},[N,H,t,y,I,P,E,A,T]),L=z.useCallback(()=>{window.clearTimeout(n.current),n.current=void 0,p(!1)},[]);z.useEffect(()=>{function te(ne){o.current=C4(ne)}return window.addEventListener("keydown",te),window.addEventListener("keyup",te),()=>{window.clearTimeout(n.current),window.removeEventListener("keydown",te),window.removeEventListener("keyup",te)}},[]);const V=_m(({first:te,active:ne,delta:[ce,me],movement:[he,ge]})=>{te&&u(!0);const U=sc(he,-N,N),Z=sc(ge,-H,H);i.current=Math.abs(he)>Math.abs(U)?Math.sign(he-U):0,s.current=Math.abs(ge)>Math.abs(Z)?Math.sign(Z-ge):0;let q=r[E],X=r[A];ne?(i.current||(q+=ce*I*o.current,y({x:U})),s.current||(X-=T*me*P*o.current,y({y:Z})),i.current||s.current?F():L(),t({[E]:q,[A]:X})):(u(!1),i.current=0,s.current=0,y({x:0,y:0}),L())});return re.createElement(Bz,Mr({ref:v},V()),l&&re.createElement(YM,null,re.createElement(Oz,{ref:S,isOutOfBounds:d},re.createElement("div",null),re.createElement("span",{ref:m}))))}const Lz=Ft("div",{display:"grid",columnGap:"$colGap",variants:{withJoystick:{true:{gridTemplateColumns:"$sizes$rowHeight auto"},false:{gridTemplateColumns:"auto"}}}});function Nz(){const{label:r,displayValue:e,onUpdate:t,settings:n}=yi();return re.createElement(Vs,{input:!0},re.createElement(Io,null,r),re.createElement(Lz,{withJoystick:!!n.joystick},n.joystick&&re.createElement(Dz,{value:e,settings:n,onUpdate:t}),re.createElement(QM,{value:e,settings:n,onUpdate:t})))}const Fz=["joystick"],_3=K4(["x","y"]),kz=r=>{let{joystick:e=!0}=r,t=Un(r,Fz);const{value:n,settings:i}=_3.normalize(t);return{value:n,settings:Zt(Zt({},i),{},{joystick:e})}};var Uz=Zt(Zt({component:Nz},_3),{},{normalize:kz});const jz=r=>{if(r!==void 0){if(r instanceof File)try{return URL.createObjectURL(r)}catch{return}if(typeof r=="string"&&r.indexOf("blob:")===0)return r;throw Error("Invalid image format [undefined | blob |Â File].")}},zz=(r,e)=>typeof e=="object"&&"image"in e,Hz=({image:r})=>({value:r});var Gz=Object.freeze({__proto__:null,sanitize:jz,schema:zz,normalize:Hz});const Vz=Ft("div",{position:"relative",display:"grid",gridTemplateColumns:"$sizes$rowHeight auto 20px",columnGap:"$colGap",alignItems:"center"}),Wz=Ft("div",{$flexCenter:"",overflow:"hidden",height:"$rowHeight",background:"$elevation3",textAlign:"center",color:"inherit",borderRadius:"$sm",outline:"none",userSelect:"none",cursor:"pointer",$inputStyle:"",$hover:"",$focusWithin:"",$active:"$accent1 $elevation1",variants:{isDragAccept:{true:{$inputStyle:"$accent1",backgroundColor:"$elevation1"}}}}),Xz=Ft("div",{boxSizing:"border-box",borderRadius:"$sm",height:"$rowHeight",width:"$rowHeight",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center",variants:{hasImage:{true:{cursor:"pointer",$hover:"",$active:""}}}}),Jz=Ft("div",{$flexCenter:"",width:"$imagePreviewWidth",height:"$imagePreviewHeight",borderRadius:"$sm",boxShadow:"$level2",pointerEvents:"none",$inputStyle:"",backgroundSize:"cover",backgroundPosition:"center"}
3967),$z=Ft("div",{fontSize:"0.8em",height:"100%",padding:"$rowGap $md"}),Kz=Ft("div",{$flexCenter:"",top:"0",right:"0",marginRight:"$sm",height:"100%",cursor:"pointer",variants:{disabled:{true:{color:"$elevation3",cursor:"default"}}},"&::after,&::before":{content:'""',position:"absolute",height:2,width:10,borderRadius:1,backgroundColor:"currentColor"},"&::after":{transform:"rotate(45deg)"},"&::before":{transform:"rotate(-45deg)"}});function Yz(){const{label:r,value:e,onUpdate:t,disabled:n}=yi(),{popinRef:i,wrapperRef:s,shown:o,show:l,hide:u}=g3(),d=z.useCallback(S=>{S.length&&t(S[0])},[t]),p=z.useCallback(S=>{S.stopPropagation(),t(void 0)},[t]),{getRootProps:m,getInputProps:y,isDragAccept:v}=p3({maxFiles:1,accept:"image/*",onDrop:d,disabled:n});return re.createElement(Vs,{input:!0},re.createElement(Io,null,r),re.createElement(Vz,null,re.createElement(Xz,{ref:i,hasImage:!!e,onPointerDown:()=>!!e&&l(),onPointerUp:u,style:{backgroundImage:e?`url(${e})`:"none"}}),o&&!!e&&re.createElement(YM,null,re.createElement(z4,{onPointerUp:u,style:{cursor:"pointer"}}),re.createElement(Jz,{ref:s,style:{backgroundImage:`url(${e})`}})),re.createElement(Wz,m({isDragAccept:v}),re.createElement("input",y()),re.createElement($z,null,v?"drop image":"click or drop")),re.createElement(Kz,{onClick:p,disabled:!e})))}var qz=Zt({component:Yz},Gz);const jE=ts().number(),Qz=(r,e)=>ts().array().length(2).every.number().test(r)&&ts().schema({min:jE,max:jE}).test(e),Ty=r=>({min:r[0],max:r[1]}),x3=(r,{bounds:[e,t]},n)=>{const i=Array.isArray(r)?Ty(r):r,s={min:n[0],max:n[1]},{min:o,max:l}=Zt(Zt({},s),i);return[sc(Number(o),e,Math.max(e,l)),sc(Number(l),Math.min(t,o),t)]},Zz=({value:r,min:e,max:t})=>{const n={min:e,max:t},i=$4(Ty(r),{min:n,max:n}),s=[e,t],o=Zt(Zt({},i),{},{bounds:s});return{value:x3(Ty(r),o,r),settings:o}};var eH=Object.freeze({__proto__:null,schema:Qz,format:Ty,sanitize:x3,normalize:Zz});const tH=["value","bounds","onDrag"],nH=["bounds"],rH=Ft("div",{display:"grid",columnGap:"$colGap",gridTemplateColumns:"auto calc($sizes$numberInputMinWidth * 2 + $space$rowGap)"});function iH(r){let{value:e,bounds:[t,n],onDrag:i}=r,s=Un(r,tH);const o=z.useRef(null),l=z.useRef(null),u=z.useRef(null),d=z.useRef(0),p=Za("sizes","scrubberWidth"),m=_m(({event:S,first:E,xy:[A],movement:[M],memo:T={}})=>{if(E){const{width:P,left:k}=o.current.getBoundingClientRect();d.current=P-parseFloat(p);const O=(S==null?void 0:S.target)===l.current||(S==null?void 0:S.target)===u.current;T.pos=wy((A-k)/P,t,n);const N=Math.abs(T.pos-e.min)-Math.abs(T.pos-e.max);T.key=N<0||N===0&&T.pos<=e.min?"min":"max",O&&(T.pos=e[T.key])}const I=T.pos+wy(M/d.current,0,n-t);return i({[T.key]:nU(I,s[T.key])}),T}),y=`calc(${Sy(e.min,t,n)} * (100% - ${p} - 8px) + 4px)`,v=`calc(${1-Sy(e.max,t,n)} * (100% - ${p} - 8px) + 4px)`;return re.createElement(W4,Mr({ref:o},m()),re.createElement(V4,null,re.createElement(X4,{style:{left:y,right:v}})),re.createElement(Sx,{position:"left",ref:l,style:{left:y}}),re.createElement(Sx,{position:"right",ref:u,style:{right:v}}))}function sH(){const{label:r,displayValue:e,onUpdate:t,settings:n}=yi(),i=Un(n,nH);return re.createElement(re.Fragment,null,re.createElement(Vs,{input:!0},re.createElement(Io,null,r),re.createElement(rH,null,re.createElement(iH,Mr({value:e},n,{onDrag:t})),re.createElement(QM,{value:e,settings:i,onUpdate:t,innerLabelTrim:0}))))}var oH=Zt({component:sH},eH);const aH=()=>{const r=new Map;return{on:(e,t)=>{let n=r.get(e);n===void 0&&(n=new Set,r.set(e,n)),n.add(t)},off:(e,t)=>{const n=r.get(e);n!==void 0&&(n.delete(t),n.size===0&&r.delete(e))},emit:(e,...t)=>{const n=r.get(e);if(n!==void 0)for(const i of n)i(...t)}}},lH=["type","value"],cH=["onChange","transient","onEditStart","onEditEnd"],uH=function(){const e=nT(tz(()=>({data:{}}))),t=aH();this.storeId=mk(),this.useStore=e;const n={},i=new Set;this.getVisiblePaths=()=>{const o=this.getData(),l=Object.keys(o),u=[];Object.entries(n).forEach(([p,m])=>{m.render&&l.some(y=>y.indexOf(p)===0)&&!m.render(this.get)&&u.push(p+".")});const d=[];return i.forEach(p=>{p in o&&o[p].__refCount>0&&u.every(m=>p.indexOf(m)===-1)&&(!o[p].render||o[p].render(this.get))&&d.push(p)}),d},this.setOrderedPaths=o=>{o.forEach(l=>i.add(l))},this.orderPaths=o=>(this.setOrderedPaths(o),o),this.disposePaths=o=>{e.setState(l=>{const u=l.data;return o.forEach(d=>{if(d in u){const p=u[d];p.__refCount--,p.__refCount===0&&p.type in qo&&delete u[d]}}),{data:u}})},this.dispose=()=>{e.setState(()=>({data:{}}))},this.getFolderSettings=o=>n[o]||{},this.getData=()=>e.getState().data,this.addData=(o,l)=>{e.setState(u=>{const d=u.data;
3967return Object.entries(o).forEach(([p,m])=>{let y=d[p];if(y){const{type:v,value:S}=m,E=Un(m,lH);v!==y.type?Ja(qn.INPUT_TYPE_OVERRIDE,v):((y.__refCount===0||l)&&Object.assign(y,E),y.__refCount++)}else d[p]=Zt(Zt({},m),{},{__refCount:1})}),{data:d}})},this.setValueAtPath=(o,l,u)=>{e.setState(d=>{const p=d.data;return nE(p[o],l,o,this,u),{data:p}})},this.setSettingsAtPath=(o,l)=>{e.setState(u=>{const d=u.data;return d[o].settings=Zt(Zt({},d[o].settings),l),{data:d}})},this.disableInputAtPath=(o,l)=>{e.setState(u=>{const d=u.data;return d[o].disabled=l,{data:d}})},this.set=(o,l)=>{e.setState(u=>{const d=u.data;return Object.entries(o).forEach(([p,m])=>{try{nE(d[p],m,void 0,void 0,l)}catch{}}),{data:d}})},this.getInput=o=>{try{return this.getData()[o]}catch{Ja(qn.PATH_DOESNT_EXIST,o)}},this.get=o=>{var l;return(l=this.getInput(o))===null||l===void 0?void 0:l.value},this.emitOnEditStart=o=>{t.emit(`onEditStart:${o}`,this.get(o),o,Zt(Zt({},this.getInput(o)),{},{get:this.get}))},this.emitOnEditEnd=o=>{t.emit(`onEditEnd:${o}`,this.get(o),o,Zt(Zt({},this.getInput(o)),{},{get:this.get}))},this.subscribeToEditStart=(o,l)=>{const u=`onEditStart:${o}`;return t.on(u,l),()=>t.off(u,l)},this.subscribeToEditEnd=(o,l)=>{const u=`onEditEnd:${o}`;return t.on(u,l),()=>t.off(u,l)};const s=(o,l,u)=>{const d={};return Object.entries(o).forEach(([p,m])=>{if(p==="")return Ja(qn.EMPTY_KEY);let y=sS(l,p);if(m.type===qo.FOLDER){const v=s(m.schema,y,u);Object.assign(d,v),y in n||(n[y]=m.settings)}else if(p in u)Ja(qn.DUPLICATE_KEYS,p,y,u[p].path);else{const v=Sk(m,p,y,d);if(v){const{type:S,options:E,input:A}=v,{onChange:M,transient:T,onEditStart:I,onEditEnd:P}=E,k=Un(E,cH);d[y]=Zt(Zt(Zt({type:S},k),A),{},{fromPanel:!0}),u[p]={path:y,onChange:M,transient:T,onEditStart:I,onEditEnd:P}}else Ja(qn.UNKNOWN_INPUT,y,m)}}),d};this.getDataFromSchema=o=>{const l={};return[s(o,"",l),l]}};new uH;const zE=r=>"__levaInput"in r,hH=(r,e)=>{const t={},n=e?e.toLowerCase():null;return r.forEach(i=>{const[s,o]=gz(i);(!n||s.toLowerCase().indexOf(n)>-1)&&mz(t,o,{[s]:{__levaInput:!0,path:i}})}),t},dH=["type","label","path","valueKey","value","settings","setValue","disabled"];function fH(r){let{type:e,label:t,path:n,valueKey:i,value:s,settings:o,setValue:l,disabled:u}=r,d=Un(r,dH);const{displayValue:p,onChange:m,onUpdate:y}=H4({type:e,value:s,settings:o,setValue:l}),v=ku[e].component;return v?re.createElement(B4.Provider,{value:Zt({key:i,path:n,id:""+n,label:t,displayValue:p,value:s,onChange:m,onUpdate:y,settings:o,setValue:l,disabled:u},d)},re.createElement(jk,{disabled:u},re.createElement(v,null))):(Ja(qn.NO_COMPONENT_FOR_TYPE,e,n),null)}const pH=Ft("button",{display:"block",$reset:"",fontWeight:"$button",height:"$rowHeight",borderStyle:"none",borderRadius:"$sm",backgroundColor:"$elevation1",color:"$highlight1","&:not(:disabled)":{color:"$highlight3",backgroundColor:"$accent2",cursor:"pointer",$hover:"$accent3",$active:"$accent3 $accent1",$focus:""}});function mH({onClick:r,settings:e,label:t}){const n=vm();return re.createElement(Vs,null,re.createElement(pH,{disabled:e.disabled,onClick:()=>r(n.get)},t))}const gH=Ft("div",{$flex:"",justifyContent:"flex-end",gap:"$colGap"}),yH=Ft("button",{$reset:"",cursor:"pointer",borderRadius:"$xs","&:hover":{backgroundColor:"$elevation3"}}),vH=({label:r,opts:e})=>{let t=typeof r=="string"&&r.trim()===""?null:r,n=e;
3967return typeof e.opts=="object"&&(n.label!==void 0&&(t=e.label),n=e.opts),{label:t,opts:n}};function _H(r){const{label:e,opts:t}=vH(r),n=vm();return re.createElement(Vs,{input:!!e},e&&re.createElement(Io,null,e),re.createElement(gH,null,Object.entries(t).map(([i,s])=>re.createElement(yH,{key:i,onClick:()=>s(n.get)},i))))}const xH=Ft("canvas",{height:"$monitorHeight",width:"100%",display:"block",borderRadius:"$sm"}),M3=100;function MH(r,e){r.push(e),r.length>M3&&r.shift()}const SH=z.forwardRef(function({initialValue:r},e){const t=Za("colors","highlight3"),n=Za("colors","elevation2"),i=Za("colors","highlight1"),[s,o]=z.useMemo(()=>[Bi(i).alpha(.4).toRgbString(),Bi(i).alpha(.1).toRgbString()],[i]),l=z.useRef([r]),u=z.useRef(r),d=z.useRef(r),p=z.useRef(),m=z.useCallback((S,E)=>{if(!S)return;const{width:A,height:M}=S,T=new Path2D,I=A/M3,P=M*.05;for(let N=0;N<l.current.length;N++){const H=Sy(l.current[N],u.current,d.current),F=I*N,L=M-H*(M-P*2)-P;T.lineTo(F,L)}E.clearRect(0,0,A,M);const k=new Path2D(T);k.lineTo(I*(l.current.length+1),M),k.lineTo(0,M),k.lineTo(0,0);const O=E.createLinearGradient(0,0,0,M);O.addColorStop(0,s),O.addColorStop(1,o),E.fillStyle=O,E.fill(k),E.strokeStyle=n,E.lineJoin="round",E.lineWidth=14,E.stroke(T),E.strokeStyle=t,E.lineWidth=2,E.stroke(T)},[t,n,s,o]),[y,v]=Kk(m);return z.useImperativeHandle(e,()=>({frame:S=>{(u.current===void 0||S<u.current)&&(u.current=S),(d.current===void 0||S>d.current)&&(d.current=S),MH(l.current,S),p.current=requestAnimationFrame(()=>m(y.current,v.current))}}),[y,v,m]),z.useEffect(()=>()=>cancelAnimationFrame(p.current),[]),re.createElement(xH,{ref:y})}),HE=r=>Number.isFinite(r)?r.toPrecision(2):r.toString(),wH=z.forwardRef(function({initialValue:r},e){const[t,n]=z.useState(HE(r));return z.useImperativeHandle(e,()=>({frame:i=>n(HE(i))}),[]),re.createElement("div",null,t)});function GE(r){return typeof r=="function"?r():r.current}function AH({label:r,objectOrFn:e,settings:t}){const n=z.useRef(),i=z.useRef(GE(e));return z.useEffect(()=>{const s=window.setInterval(()=>{var o;document.hidden||(o=n.current)===null||o===void 0||o.frame(GE(e))},t.interval);return()=>window.clearInterval(s)},[e,t.interval]),re.createElement(Vs,{input:!0},re.createElement(Io,{align:"top"},r),t.graph?re.createElement(SH,{ref:n,initialValue:i.current}):re.createElement(wH,{ref:n,initialValue:i.current}))}const EH=["type","label","key"],bH={[qo.BUTTON]:mH,[qo.BUTTON_GROUP]:_H,[qo.MONITOR]:AH},CH=re.memo(({path:r})=>{const[e,{set:t,setSettings:n,disable:i,storeId:s,emitOnEditStart:o,emitOnEditEnd:l}]=qk(r);if(!e)return null;const{type:u,label:d,key:p}=e,m=Un(e,EH);if(u in qo){const y=bH[u];return re.createElement(y,Mr({label:d,path:r},m))}return u in ku?re.createElement(fH,Mr({key:s+r,type:u,label:d,storeId:s,path:r,valueKey:p,setValue:t,setSettings:n,disable:i,emitOnEditStart:o,emitOnEditEnd:l},m)):(ak(qn.UNSUPPORTED_INPUT,u,r),null)});function TH({toggle:r,toggled:e,name:t}){return re.createElement(Fk,{onClick:()=>r()},re.createElement(qM,{toggled:e}),re.createElement("div",null,t))}const IH=({name:r,path:e,tree:t})=>{const n=vm(),i=sS(e,r),{collapsed:s,color:o}=n.getFolderSettings(i),[l,u]=z.useState(!s),d=z.useRef(null),p=Za("colors","folderWidgetColor"),m=Za("colors","folderTextColor");return z.useLayoutEffect(()=>{d.current.style.setProperty("--leva-colors-folderWidgetColor",o||p),d.current.style.setProperty("--leva-colors-folderTextColor",o||m)},[o,p,m]),re.createElement(Ay,{ref:d},re.createElement(TH,{name:r,toggled:l,toggle:()=>u(y=>!y)}),re.createElement(S3,{parent:i,tree:t,toggled:l}))},S3=re.memo(({isRoot:r=!1,fill:e=!1,flat:t=!1,parent:n,tree:i,toggled:s})=>{const{wrapperRef:o,contentRef:l}=yz(s),u=vm(),d=([m,y])=>{var v;return(zE(y)?(v=u.getInput(y.path))===null||v===void 0?void 0:v.order:u.getFolderSettings(sS(n,m)).order)||0},p=Object.entries(i).sort((m,y)=>d(m)-d(y));return re.createElement(xx,{ref:o,isRoot:r,fill:e,flat:t},re.createElement(k4,{ref:l,isRoot:r,toggled:s},p.map(([m,y])=>zE(y)?re.createElement(CH,{key:y.path,valueKey:y.valueKey,path:y.path}):re.createElement(IH,{key:m,name:m,path:n,tree:y}))))}),PH=Ft("div",{position:"relative",fontFamily:"$mono",fontSize:"$root",color:"$rootText",backgroundColor:"$elevation1",variants:{fill:{false:{position:"fixed",top:"10px",right:"10px",zIndex:1e3,width:"$rootWidth"},true:{position:"relative",width:"100%"}},flat:{false:{borderRadius:"$lg",boxShadow:"$level1"}},oneLineLabels:{true:{[`${j4}`]:{gridTemplateColumns:"auto",gridAutoColumns:"minmax(max-content, 1fr)",gridAutoRows:"minmax($sizes$rowHeight), auto)",rowGap:0,columnGap:0,marginTop:"$rowGap"}}},hideTitleBar:{true:{$$titleBarHeight:"0px"},false:{$$titleBarHeight:"$sizes$titleBarHeight"}}},"&,*,*:after,*:before":{boxSizing:"border-box"},"*::selection":{backgroundColor:"$accent2"}}),w3=40,Iy=Ft("i",{$flexCenter:"",width:w3,userSelect:"none",cursor:"pointer","> svg":{fill:"$highlight1",transition:"transform 350ms ease, fill 250ms ease"},"&:hover > svg":{fill:"$highlight3"},variants:{active:{true:{"> svg":{fill:"$highlight2"}}}}}),RH=Ft("div",{display:"flex",alignItems:"stretch",justifyContent:"space-between",height:"$titleBarHeight",variants:{mode:{drag:{cursor:"grab"}}}}),BH=Ft("div",{$flex:"",position:"relative",width:"100%",overflow:"hidden",transition:"height 250ms ease",color:"$highlight3",paddingLeft:"$md",[`> ${Iy}
3967`]:{height:30},variants:{toggled:{true:{height:30},false:{height:0}}}}),OH=Ft("input",{$reset:"",flex:1,position:"relative",height:30,width:"100%",backgroundColor:"transparent",fontSize:"10px",borderRadius:"$root","&:focus":{},"&::placeholder":{color:"$highlight2"}}),DH=Ft("div",{touchAction:"none",$flexCenter:"",flex:1,"> svg":{fill:"$highlight1"},color:"$highlight1",variants:{drag:{true:{$draggable:"","> svg":{transition:"fill 250ms ease"},"&:hover":{color:"$highlight3"},"&:hover > svg":{fill:"$highlight3"}}},filterEnabled:{false:{paddingRight:w3}}}}),LH=re.forwardRef(({setFilter:r,toggle:e},t)=>{const[n,i]=z.useState(""),s=z.useMemo(()=>b4(r,250),[r]),o=()=>{r(""),i("")},l=u=>{const d=u.currentTarget.value;e(!0),i(d)};return z.useEffect(()=>{s(n)},[n,s]),re.createElement(re.Fragment,null,re.createElement(OH,{ref:t,value:n,placeholder:"[Open filter with CMD+SHIFT+L]",onPointerDown:u=>u.stopPropagation(),onChange:l}),re.createElement(Iy,{onClick:()=>o(),style:{visibility:n?"visible":"hidden"}},re.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"14",width:"14",viewBox:"0 0 20 20",fill:"currentColor"},re.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"}))))});function NH({setFilter:r,onDrag:e,onDragStart:t,onDragEnd:n,toggle:i,toggled:s,title:o,drag:l,filterEnabled:u,from:d}){const[p,m]=z.useState(!1),y=z.useRef(null);z.useEffect(()=>{var S,E;p?(S=y.current)===null||S===void 0||S.focus():(E=y.current)===null||E===void 0||E.blur()},[p]);const v=_m(({offset:[S,E],first:A,last:M})=>{e({x:S,y:E}),A&&t({x:S,y:E}),M&&n({x:S,y:E})},{filterTaps:!0,from:({offset:[S,E]})=>[(d==null?void 0:d.x)||S,(d==null?void 0:d.y)||E]});return z.useEffect(()=>{const S=E=>{E.key==="L"&&E.shiftKey&&E.metaKey&&m(A=>!A)};return window.addEventListener("keydown",S),()=>window.removeEventListener("keydown",S)},[]),re.createElement(re.Fragment,null,re.createElement(RH,{mode:l?"drag":void 0},re.createElement(Iy,{active:!s,onClick:()=>i()},re.createElement(qM,{toggled:s,width:12,height:8})),re.createElement(DH,Mr({},l?v():{},{drag:l,filterEnabled:u}),o===void 0&&l?re.createElement("svg",{width:"20",height:"10",viewBox:"0 0 28 14",xmlns:"http://www.w3.org/2000/svg"},re.createElement("circle",{cx:"2",cy:"2",r:"2"}),re.createElement("circle",{cx:"14",cy:"2",r:"2"}),re.createElement("circle",{cx:"26",cy:"2",r:"2"}),re.createElement("circle",{cx:"2",cy:"12",r:"2"}),re.createElement("circle",{cx:"14",cy:"12",r:"2"}),re.createElement("circle",{cx:"26",cy:"12",r:"2"})):o),u&&re.createElement(Iy,{active:p,onClick:()=>m(S=>!S)},re.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",height:"20",viewBox:"0 0 20 20"},re.createElement("path",{d:"M9 9a2 2 0 114 0 2 2 0 01-4 0z"}),re.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a4 4 0 00-3.446 6.032l-2.261 2.26a1 1 0 101.414 1.415l2.261-2.261A4 4 0 1011 5z",clipRule:"evenodd"})))),re.createElement(BH,{toggled:p},re.createElement(LH,{ref:y,setFilter:r,toggle:i})))}re.memo(({store:r,rootClass:e,fill:t=!1,flat:n=!1,neverHide:i=!1,oneLineLabels:s=!1,titleBar:o={title:void 0,drag:!0,filter:!0,position:void 0,onDrag:void 0,onDragStart:void 0,onDragEnd:void 0},hideCopyButton:l=!1,toggled:u,setToggle:d})=>{var p,m;const y=vz(r),[v,S]=z.useState(""),E=z.useMemo(()=>hH(y,v),[y,v]),[A,M]=G4(),T=i||y.length>0,I=typeof o=="object"&&o.title||void 0,P=typeof o=="object"&&(p=o.drag)!==null&&p!==void 0?p:!0,k=typeof o=="object"&&(m=o.filter)!==null&&m!==void 0?m:!0,O=typeof o=="object"&&o.position||void 0,N=typeof o=="object"&&o.onDrag||void 0,H=typeof o=="object"&&o.onDragStart||void 0,F=typeof o=="object"&&o.onDragEnd||void 0;return re.useEffect(()=>{M({x:O==null?void 0:O.x,y:O==null?void 0:O.y})},[O,M]),Rk(),re.createElement(L4.Provider,{value:{hideCopyButton:l}},re.createElement(PH,{ref:A,className:e,fill:t,flat:n,oneLineLabels:s,hideTitleBar:!o,style:{display:T?"block":"none"}},o&&re.createElement(NH,{onDrag:L=>{M(L),N==null||N(L)},onDragStart:L=>H==null?void 0:H(L),onDragEnd:L=>F==null?void 0:F(L),setFilter:S,toggle:L=>d(V=>
3967L??!V),toggled:u,title:I,drag:P,filterEnabled:k,from:O}),T&&re.createElement(D4.Provider,{value:r},re.createElement(S3,{isRoot:!0,fill:t,flat:n,tree:E,toggled:u}))))});ol(Eo.SELECT,pU);ol(Eo.IMAGE,qz);ol(Eo.NUMBER,iU);ol(Eo.COLOR,Iz);ol(Eo.STRING,wU);ol(Eo.BOOLEAN,PU);ol(Eo.INTERVAL,oH);ol(Eo.VECTOR3D,Rz);ol(Eo.VECTOR2D,Uz);const FH=r=>{const{nodes:e,materials:t}=Vu("/models/isro_chandrayyan-3_mission_lander_module_vikram.glb"),n=z.useRef();return OM(({clock:i})=>{n.current&&(n.current.rotation.y+=.01,n.current.position.x=Math.sin(i.getElapsedTime())*10,n.current.position.z=-1,n.current.position.y=1+Math.sin(i.getElapsedTime()*2)*.5)}),_.jsxs("group",{ref:n,...r,dispose:null,children:[_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramDoor_Vikram_0.geometry,material:t.Vikram,position:[0,1.574,-1.083]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramNose001_Vikram_0.geometry,material:t.Vikram,position:[0,.674,-.825]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramSocket_Vikram_0.geometry,material:t.Vikram,position:[0,.654,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e["Vikram������������_������������_Vikram_0"].geometry,material:t.Vikram,position:[0,1.095,-.824]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e["VikramBody������������������������_Vikram_0"].geometry,material:t.Vikram}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramOriNose_Vikram_0.geometry,material:t.Vikram}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramNose002_Vikram_0.geometry,material:t.Vikram,position:[-.8,.674,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramNose003_Vikram_0.geometry,material:t.Vikram,position:[0,.674,.8]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramNose004_Vikram_0.geometry,material:t.Vikram,position:[.8,.674,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramDoorFastener_Vikram_0.geometry,material:t.Vikram}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramLegJoint_Vikram_0.geometry,material:t.Vikram,position:[0,-.014,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramSolarPanelLeft_Vikram_0.geometry,material:t.Vikram,position:[.876,1.698,-.158],rotation:[0,0,.296]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramSolarPanelRight_Vikram_0.geometry,material:t.Vikram,position:[-.889,1.612,-.302],rotation:[0,0,-.295]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramSolarPanelBack_Vikram_0.geometry,material:t.Vikram,position:[-.003,1.711,1.04]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyCoreFoil_Vikram_0.geometry,material:t.Vikram,position:[0,2.168,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPartStarSensor_Vikram_0.geometry,material:t.Vikram,position:[.547,2.151,-1.107],rotation:[.333,.314,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPartLHVC_Vikram_0.geometry,material:t.Vikram,position:[.393,2.128,1.435],rotation:[Math.PI/2,0,Math.PI]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPart004_Vikram_0.geometry,material:t.Vikram,position:[0,2.405,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPartLDV_Vikram_0.geometry,material:t.Vikram,position:[.804,2.116,.804],rotation:[-.495,-.148,-1.311]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPartLASA_Vikram_0.geometry,material:t.Vikram,position:[1.008,1.313,.786],rotation:[-1.122,-.317,-1.452]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPartKaRA_Vikram_0.geometry,material:t.Vikram,position:[.637,1.302,1.026]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPartReactionWheels_Vikram_0.geometry,material:t.Vikram,position:[-.34,2.437,.377],rotation:[Math.PI,1.34,-M
3967ath.PI]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyLRA_Vikram_0.geometry,material:t.Vikram,position:[.145,2.942,-.704]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramSolarPanelRightHolder_Vikram_0.geometry,material:t.Vikram,position:[-.831,1.673,-1.311],rotation:[-Math.PI/2,-1.268,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPayload_Vikram_0.geometry,material:t.Vikram,position:[-.269,1.9,1.029],rotation:[.778,0,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramBodyPartLHDAC_Vikram_0.geometry,material:t.Vikram,position:[-.884,1.314,1.075],rotation:[-Math.PI/2,0,-Math.PI]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramFootPad001_Vikram_0.geometry,material:t.Vikram}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramFootPad002_Vikram_0.geometry,material:t.Vikram,rotation:[0,Math.PI/2,0]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramFootPad003_Vikram_0.geometry,material:t.Vikram,rotation:[-Math.PI,0,-Math.PI]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:e.VikramFootPad004_Vikram_0.geometry,material:t.Vikram,rotation:[0,-Math.PI/2,0]})]})};Vu.preload("/models/isro_chandrayyan-3_mission_lander_module_vikram.glb");var vg={},VE;function kH(){if(VE)return vg;VE=1,vg.match=s,vg.parse=o;var r=/(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i,e=/\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/,t=/^(?:(min|max)-)?(.+)/,n=/(em|rem|px|cm|mm|in|pt|pc)?$/,i=/(dpi|dpcm|dppx)?$/;function s(p,m){return o(p).some(function(y){var v=y.inverse,S=y.type==="all"||m.type===y.type;if(S&&v||!(S||v))return!1;var E=y.expressions.every(function(A){var M=A.feature,T=A.modifier,I=A.value,P=m[M];if(!P)return!1;switch(M){case"orientation":case"scan":return P.toLowerCase()===I.toLowerCase();case"width":case"height":case"device-width":case"device-height":I=d(I),P=d(P);break;case"resolution":I=u(I),P=u(P);break;case"aspect-ratio":case"device-aspect-ratio":case"device-pixel-ratio":I=l(I),P=l(P);break;case"grid":case"color":case"color-index":case"monochrome":I=parseInt(I,10)||1,P=parseInt(P,10)||0;break}switch(T){case"min":return P>=I;case"max":return P<=I;default:return P===I}});return E&&!v||!E&&v})}function o(p){return p.split(",").map(function(m){m=m.trim();var y=m.match(r),v=y[1],S=y[2],E=y[3]||"",A={};return A.inverse=!!v&&v.toLowerCase()==="not",A.type=S?S.toLowerCase():"all",E=E.match(/\([^\)]+\)/g)||[],A.expressions=E.map(function(M){var T=M.match(e),I=T[1].toLowerCase().match(t);return{modifier:I[1],feature:I[2],value:T[2]}}),A})}function l(p){var m=Number(p),y;return m||(y=p.match(/^(\d+)\s*\/\s*(\d+)$/),m=y[1]/y[2]),m}function u(p){var m=parseFloat(p),y=String(p).match(i)[1];switch(y){case"dpcm":return m/2.54;case"dppx":return m*96;default:return m}}function d(p){var m=parseFloat(p),y=String(p).match(n)[1];switch(y){case"em":return m*16;case"rem":return m*16;case"cm":return m*96/2.54;case"mm":return m*96/2.54/10;case"in":return m*96;case"pt":return m*72;case"pc":return m*72/12;default:return m}}return vg}var j_,WE;function UH(){if(WE)return j_;WE=1;var r=kH().match,e=typeof window<"u"?window.matchMedia:null;function t(i,s,o){var l=this,u;e&&!o&&(u=e.call(window,i)),u?(this.matches=u.matches,this.media=u.media,u.addListener(m)):(this.matches=r(i,s),this.media=i),this.addListener=d,this.removeListener=p,this.dispose=y;function d(v){u&&u.addListener(v)}function p(v){u&&u.removeListener(v)}function m(v){l.matches=v.matches,l.media=v.media}function y(){u&&u.removeListener(m)}}function n(i,s,o){return new t(i,s,o)}return j_=n,j_}var jH=UH();const zH=oc(jH);var HH=/[A-Z]/g,GH=/^ms-/,z_={};function VH(r){return"-"+r.toLowerCase()}function A3(r){if(z_.hasOwnProperty(r))return z_[r];var e=r.replace(HH,VH);return z_[r]=GH.test(e)?"-"+e:e}function WH(r,e){if(r===e)return!0;if(!r||!e)return!1;const t=Object.keys(r),n=Object.keys(e),i=t.length;if(n.length!==i)return!1;for(let s=0;s<i;s++){const o=t[s];if(r[o]!==e[o]||!Object.prototype.hasOwnProperty.call(e,o))return!1}return!0}const Ri=It.oneOfType([It.string,It.number]),oS={all:It.bool,grid:It.bool,aural:It.bool,braille:It.bool,handheld:It.bool,print:It.bool,projection:It.bool,screen:It.bool,tty:It.bool,tv:It.bool,embossed:It.bool},E3={orientation:It.oneOf(["portrait","landscape"]),scan:It.oneOf(["progressive","interlace"]),aspectRatio:It.string,deviceAspectRatio:It.string,height:Ri,deviceHeight:Ri,width:Ri,deviceWidth:Ri,color:It.bool,colorIndex:It.bool,monochrome:It.bool,resolution:Ri,type:Object.keys(oS)},{type:GV,...XH}=E3,b3={minAspectRatio:It.string,maxAspectRatio:It.string,minDeviceAspectRatio:It.string,maxDeviceAspectRatio:It.string,minHeight:Ri,maxHeight:Ri,minDeviceHeight:Ri,maxDeviceHeight:Ri,minWidth:Ri,maxWidth:Ri,minDeviceWidth:Ri,maxDeviceWidth:Ri,minColor:It.number,maxColor:It.number,minColorIndex:It.number,maxColorIndex:It.number,minMonochrome:It.number,maxMonochrome:It.number,minResolution:Ri,maxResolution:Ri,...XH},JH={...oS,...b3};var $H={all:JH,types:oS,matchers:E3,features:b3};const KH=r=>`not ${r}`,YH=(r,e)=>{const t=A3(r);return typeof e=="number"&&(e=`${e}px`),e===!0?t:e===!1?KH(t):`(${t}: ${e})`},qH=r=>r.join(" and "),QH=r=>{const e=[];return Object.keys($H.all).forEach(t=>{const n=r[t];n!=null&&e.push(YH(t,n))}),qH(e)},ZH=z.createContext(void 0),eG=r=>r.query||QH(r),XE=r=>r?Object.keys(r).reduce((t,n)=>(t[A3(n)]=r[n],t),{}):void 0,C3=()=>{const r=z.useRef(!1);return z.useEffect(()=>{r.current=!0},[]),r.current},tG=r=>{const e=z.useContext(ZH),t=()=>XE(r)||XE(e),[n,i]=z.useState(t);return z.useEffect(()=>{const s=t();WH(n,s)||i(s)},[r,e]),n},nG=r=>{const e=()=>eG(r),[t,n]=z.useState(e);return z.useEffect(()=>{const i=e();t!==i&&n(i)},[r]),t},rG=(r,e)=>{const t=()=>zH(r,e||{},!!e),[n,i]=z.useState(t),s=C3();return z.useEffect(()=>{if(s){const o=t();return i(o),()=>{o&&o.dispose()}}},[r,e]),n},iG=r=>{const[e,t]=z.useState(r.matches);return z.useEffect(()=>{const n=i=>{t(i.matches)};
3967return r.addListener(n),t(r.matches),()=>{r.removeListener(n)}},[r]),e},Py=(r,e,t)=>{const n=tG(e),i=nG(r);if(!i)throw new Error("Invalid or missing MediaQuery!");const s=rG(i,n),o=iG(s),l=C3();return z.useEffect(()=>{l&&t&&t(o)},[o]),z.useEffect(()=>()=>{s&&s.dispose()},[]),o},sG=r=>{const e=Py({query:"(max-width: 1024px)"}),t=Py({query:"(max-width: 768px)"}),{nodes:n,materials:i}=Vu("/models/pc.glb"),s=z.useRef(),[o,l]=z.useState({x:1.5,y:0}),{size:u,viewport:d}=Id(),p=m=>{const y=t?m.clientX/u.width+1:m.clientX/u.width,v=t||e?m.clientX/u.width-1:m.clientX/u.width-1.5;l({x:y,y:v})};return OM(()=>{s.current&&(s.current.rotation.y=o.x*-1,s.current.rotation.x=o.y*-.5)}),_.jsx("group",{ref:s,...r,dispose:null,onPointerMove:p,children:_.jsxs("group",{scale:.01,children:[_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["Object_782_OnTheFly-bg_0"].geometry,material:i["Material.074_40"],position:[101.601,40.622,244.007],rotation:[-Math.PI/2,.078,Math.PI/2],scale:21.893}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_788_Material057_0.geometry,material:i["Material.074_33"],position:[159.018,47.32,359.936],rotation:[-Math.PI/2,0,Math.PI],scale:19.608}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_798_Material057_0.geometry,material:i["Material.074_33"],position:[122.701,53.533,358.456],rotation:[-Math.PI/2,.163,-Math.PI],scale:19.608}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_800_Material005_0.geometry,material:i["Material.074_32"],position:[190.986,44.577,567.479],rotation:[-Math.PI/2,-.089,-Math.PI],scale:8.872}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_802_Material005_0.geometry,material:i["Material.074_32"],position:[190.868,44.628,565.255],rotation:[-Math.PI/2,-.089,-Math.PI],scale:8.872}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_804_Material005_0.geometry,material:i["Material.074_32"],position:[192.49,44.419,565.412],rotation:[-Math.PI/2,-.089,-Math.PI],scale:8.872}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_806_Material005_0.geometry,material:i["Material.074_32"],position:[192.403,44.401,567.472],rotation:[-Math.PI/2,-.089,-Math.PI],scale:8.872}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_810_Material005_0.geometry,material:i["Material.074_32"],position:[141.038,50.582,552.01],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.713}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_812_Material068_0.geometry,material:i["Material.074_37"],position:[141.038,50.582,532.026],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.713}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_814_Material068_0.geometry,material:i["Material.074_37"],position:[141.038,50.582,514.784],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.713}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_816_Material068_0.geometry,material:i["Material.074_37"],position:[141.038,50.582,498.138],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.713}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_818_Material066_0.geometry,material:i["Material.074_35"],position:[141.038,50.582,480.752],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.713}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_820_Material066_0.geometry,material:i["Material.074_35"],position:[141.038,50.582,463.616],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.713}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_822_Material066_0.geometry,material:i["Material.074_35"],position:[141.038,50.582,443.746],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.713}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_824_Material066_0.geometry,material:i["Material.074_35"],position:[141.649,50.885,427.978],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.158}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_826_Material060_0.geometry,material:i["Material.074_34"],position:[142.095,50.955,409.216],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.158}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_828_Material005_0.geometry,material:i["Material.074_32"],position:[158.03,48.549,561.971],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_830_Material069_0.geometry,material:i["Material.074_38"],position:[158.03,48.437,543.875],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_832_Material068_0.geometry,material:i["Material.074_37"],position:[158.03,48.437,528.227],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_834_Material068_0.geometry,material:i["Material.074_37"],position:[158.03,48.437,509.564],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_836_Material068_0.geometry,material:i["Material.074_37"],position:[158.03,48.353,494.3
396705],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_838_Material070_0.geometry,material:i["Material.074_39"],position:[156.657,48.636,594.003],rotation:[-1.588,0,Math.PI/2],scale:2.692}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_840_Material070_0.geometry,material:i["Material.074_39"],position:[192.644,45.65,594.798],rotation:[-Math.PI/2,-.12,Math.PI/2],scale:3.123}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_842_Material066_0.geometry,material:i["Material.074_35"],position:[158.03,48.437,475.976],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_844_Material066_0.geometry,material:i["Material.074_35"],position:[157.211,48.437,455.625],rotation:[-Math.PI/2,0,Math.PI/2],scale:[6.414,5.272,6.414]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_846_Material066_0.geometry,material:i["Material.074_35"],position:[158.03,48.437,441.26],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_848_Material060_0.geometry,material:i["Material.074_34"],position:[159.027,48.639,422.071],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.915}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_850_Material070_0.geometry,material:i["Material.074_39"],position:[122.029,53.887,594.924],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.981}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_852_Material066_0.geometry,material:i["Material.074_35"],position:[175.487,47.269,483.907],rotation:[-Math.PI/2,-.099,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_854_Material068_0.geometry,material:i["Material.074_37"],position:[175.487,47.269,501.887],rotation:[-Math.PI/2,-.099,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_856_Material068_0.geometry,material:i["Material.074_37"],position:[175.487,47.269,519.095],rotation:[-Math.PI/2,-.099,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_858_Material069_0.geometry,material:i["Material.074_38"],position:[175.487,47.269,537.014],rotation:[-Math.PI/2,-.099,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_860_Material005_0.geometry,material:i["Material.074_32"],position:[175.487,47.166,554.659],rotation:[-Math.PI/2,-.099,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_862_Material066_0.geometry,material:i["Material.074_35"],position:[175.487,47.269,467.983],rotation:[-Math.PI/2,-.099,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_864_Material066_0.geometry,material:i["Material.074_35"],position:[175.487,47.269,450.283],rotation:[-Math.PI/2,-.099,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_866_Material070_0.geometry,material:i["Material.074_39"],position:[122.444,53.931,578.061],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_868_Material005_0.geometry,material:i["Material.074_32"],position:[122.058,53.851,561.226],rotation:[-Math.PI/2,.164,Math.PI/2],scale:3.17}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_870_Material005_0.geometry,material:i["Material.074_32"],position:[127.008,53.029,560.64],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_872_Material057_0.geometry,material:i["Material.074_33"],position:[192.644,45.65,359.946],rotation:[-Math.PI/2,-.12,Math.PI/2],scale:3.123}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_874_Material057_0.geometry,material:i["Material.074_33"],position:[156.285,46.937,363.379],rotation:[-Math.PI/2,0,Math.PI/2],scale:4.006}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_876_Material069_0.geometry,material:i["Material.074_38"],position:[122.484,53.905,543.373],rotation:[-Math.PI/2,.164,Math.PI/2],scale:3.822}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_878_Material069_0.geometry,material:i["Material.074_38"],position:[127.434,53.083,543.258],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_880_Material068_0.geometry,material:i["Material.074_37"],position:[122.484,53.745,525.768],rotation:[-Math.PI/2,.164,Math.PI/2],scale:3.822}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_882_Material068_0.geometry,material:i["Material.074_37"],position:[127.434,52.923,525.651],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_884_Material070_0.geometry,material:i["Material.074_39"],position:[101.739,56.424,595.272],rotation:[-Math.PI/2,.141,Math.PI/2],scale:4.184}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_886_Material068_0.geometry,material:i["Material.074_37"],position:[122.484,53.852,509.285],rotation:[-Math.PI/2,.164,Math.PI/2],scale:3.822}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_888_Material068_0.geometry,material:i["Material.074_37"],position:[127.434,53.031,508.772],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_890_Material066_0.geometry,material:i["Material.074_35"],position:[101.367,56.132,484.341],rotation:[-Math.PI/2,.151,Math.PI/2],scale:4.532}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_892_Material068_0.geometry,material:i["Material.074_37"],position:[101.205,56.942,513.09],rotation:[-Math.PI/2,.105,Math.PI/2],scale:4.451}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_894_Material069_0.geometry,material:i["Material.074_38"],position:[101.205,56.942,530.455],rotation:[-Math.PI/2,.105,Math.PI/2],scale:4.451}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_896_Material005_0.geometry,material:i["Material.074_32"],position:[101.205,56.942,548.203],rotation:[-Math.PI/2,.105,Math.PI/2],scale:4.451}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_898_Material005_0.geometry,material:i["Material.074_32"],position:[101.205,56.942,565.178],rotation:[-Math.PI/2,.105,Math.PI/2],scale:4.451}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_900_Material066_0.geometry,material:i["Material.074_35"],position:[101.367,56.154,466.894],rotation:[-Math.PI/2,.151,Math.PI/2],scale:4.532}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_902_Material066_0.geometry,material:i["Material.074_35"],position:[101.367,56.154,449.367],rotation:[-Math.PI/2,.151,Math.PI/2],scale:4.532}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_904_Material066_0.geometry,material:i["Material.074_35"],position:[101.367,56.154,431.949],rotation:[-Math.PI/2,.151,Math.PI/2],scale:4.532}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_906_Material060_0.geometry,material:i["Material.074_34"],position:[101.473,56.121,402.973],rotation:[-Math.PI/2,.161,Math.PI/2],scale:4.501}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_908_Material057_0.geometry,material:i["Material.074_33"],position:[101.352,56.184,386.481],rotation:[-Math.PI/2,.196,Math.PI/2],scale:4.189}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_910_Material057_0.geometry,material:i["Material.074_33"],position:[101.352,56.184,368.472],rotation:[-Math.PI/2,.196,Math.PI/2],scale:4.189}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_912_Material057_0.geometry,material:i["Material.074_33"],position:[101.352,56.184,351.349],rotation:[-Math.PI/2,.196,Math.PI/2],scale:4.189}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_914_Material068_0.geometry,material:i["Material.074_37"],position:[122.484,53.852,491.651],rotation:[-Math.PI/2,.164,Math.PI/2],scale:3.822}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_916_Material068_0.geometry,material:i["Material.074_37"],position:[127.434,53.03,491.824],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_918_Material066_0.geometry,material:i["Material.074_35"],position:[122.484,53.821,473.664],rotation:[-Math.PI/2,.164,Math.PI/2],scale:3.822}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_920_Material066_0.geometry,material:i["Material.074_35"],position:[127.434,52.999,473.405],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_922_Material066_0.geometry,material:i["Material.074_35"],position:[122.484,53.851,456.473],rotation:[-Math.PI/2,.164,Math.PI/2],scale:3.822}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_924_Material066_0.geometry,material:i["Material.074_35"],position:[127.434,53.03,456.746],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_926_Material066_0.geometry,material:i["Material.074_35"],position:[121.673,54.096,439.122],rotation:[-Math.PI/2,.164,Math.PI/2],scale:[3.822,3.142,3.822]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_928_Material060_0.geometry,material:i["Material.074_34"],position:[120.313,54.212,419.687],rotation:[-Math.PI/2,.164,-Math.PI/2],scale:[3.822,3.142,3.822]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_930_Material066_0.geometry,material:i["Material.074_35"],position:[127.434,53.034,439.361],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_932_Material060_0.geometry,material:i["Material.074_34"],position:[127.434,53.03,421.591],rotation:[-Math.PI/2,.164,Math.PI/2],scale:4.326}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_934_Tasten_2_0.geometry,material:i.Tasten_2,position:[186.135,46.575,219.396],rotation:[-Math.PI/2,0,Math.PI/2],scale:4.006}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_936_Material070_0.geometry,material:i["Material.074_39"],position:[173.52,46.999,585.524],rotation:[-1.64,0,-.001],scale:[6.197,8.42,6.209]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_938_Material060_0.geometry,material:i["Material.074_34"],position:[175.034,47.036,400.009],rotation:[-1.571,-.079,1.57],scale:[6.672,4.931,2.742]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_940_Material060_0.geometry,material:i["Material.074_34"],position:[175.034,47.036,434.853],rotation:[-1.571,-.079,1.57],scale:[4.24,4.931,2.742]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_942_Material070_0.geometry,material:i["Material.074_39"],position:[176.052,46.788,584.43],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:[1.861,6.968,6.968]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_944_Material060_0.geometry,material:i["Material.074_34"],position:[175.034,47.036,417.325],rotation:[-1.571,-.079,1.57],scale:[4.24,4.931,2.742]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_946_Tasten_2_0.geometry,material:i.Tasten_2,position:[126.21,53.665,253.133],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.449}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_948_Material067_0.geometry,material:i["Material.074_36"],position:[122.219,53.893,271.172],rotation:[-Math.PI/2,.214,Math.PI/2],scale:2.7}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_950_Material067_0.geometry,material:i["Material.074_36"],position:[192.324,45.452,259.967],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:4.419}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_952_Material067_0.geometry,material:i["Material.074_36"],position:[197.023,45.614,260.99],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:3.792}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_954_Material072_0.geometry,material:i["Material.025"],position:[184.777,33.32,601.234],rotation:[-Math.PI/2,.09,-Math.PI],scale:[5.012,3.876,5.
3967012]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_956_Material072_0.geometry,material:i["Material.025"],position:[164.62,35.132,204.967],rotation:[-Math.PI/2,.089,0],scale:3.129}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_958_Material066_0.geometry,material:i["Material.074_35"],position:[189.418,46.757,488.892],rotation:[-Math.PI/2,-.07,Math.PI/2],scale:[4.951,15.565,11.588]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_960_Material067_0.geometry,material:i["Material.074_36"],position:[140.393,50.323,267.745],rotation:[-Math.PI/2,.077,Math.PI/2],scale:4.079}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_962_Material067_0.geometry,material:i["Material.074_36"],position:[145.186,50.323,270.034],rotation:[-Math.PI/2,.077,Math.PI/2],scale:2.491}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_964_Tasten_2_0.geometry,material:i.Tasten_2,position:[145.186,50.323,234.871],rotation:[-Math.PI/2,.077,Math.PI/2],scale:2.491}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_966_Material060_0.geometry,material:i["Material.074_34"],position:[157.086,48.546,408.618],rotation:[-1.571,-.079,1.57],scale:[6.672,4.931,2.742]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_968_Material060_0.geometry,material:i["Material.074_34"],position:[158.955,48.546,391.27],rotation:[-1.571,-.043,1.57],scale:[6.672,4.931,2.742]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_970_Tasten_2_0.geometry,material:i.Tasten_2,position:[140.393,50.369,250.493],rotation:[-Math.PI/2,.077,Math.PI/2],scale:4.079}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_972_Material057_0.geometry,material:i["Material.074_33"],position:[158.805,47.353,358.081],rotation:[-Math.PI/2,0,Math.PI/2],scale:[3.749,1.659,5.449]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_974_Material057_0.geometry,material:i["Material.074_33"],position:[158.529,47.353,360.205],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.449}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_976_Material070_0.geometry,material:i["Material.074_39"],position:[138.806,50.51,591.899],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.568}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_978_Tasten_2_0.geometry,material:i.Tasten_2,position:[140.393,50.369,233.01],rotation:[-Math.PI/2,.077,Math.PI/2],scale:4.079}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_980_Tasten_2_0.geometry,material:i.Tasten_2,position:[143.95,50.122,251.216],rotation:[-1.494,0,0],scale:[2.491,4.577,2.508]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_982_Material057_0.geometry,material:i["Material.074_33"],position:[100.211,56.325,328.505],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_984_Material057_0.geometry,material:i["Material.074_33"],position:[100.211,56.325,310.762],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_986_Material057_0.geometry,material:i["Material.074_33"],position:[100.211,56.325,293.444],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_988_Material067_0.geometry,material:i["Material.074_36"],position:[158.196,48.546,268.318],rotation:[-1.571,-.043,1.57],scale:[5.119,4.444,2.472]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_990_Material067_0.geometry,material:i["Material.074_36"],position:[162.312,48.546,268.012],rotation:[-1.571,-.043,1.57],scale:[3.213,4.444,2.472]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_992_Tasten_2_0.geometry,material:i.Tasten_2,position:[158.196,48.546,250.902],rotation:[-1.571,-.043,1.57],scale:[5.119,4.444,2.472]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_994_Tasten_2_0.geometry,material:i.Tasten_2,position:[158.196,48.546,233.224],rotation:[-1.571,-.043,1.57],scale:[5.119,4.444,2.472]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_996_Tasten_2_0.geometry,material:i.Tasten_2,position:[162.312,48.546,232.693],rotation:[-1.571,-.043,1.57],scale:[3.213,4.444,2.472]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_998_Tasten_2_0.geometry,material:i.Tasten_2,position:[191.769,45.452,235.883],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:3.252}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1000_Material070_0.geometry,material:i["Material.074_39"],position:[139.974,50.54,592.705],rotation:[-Math.PI/2,0,Math.PI/2],scale:2.459}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1002_Material070_0.geometry,material:i["Material.074_39"],position:[141.683,50.51,585.651],rotation:[-Math.PI/2,0,-Math.PI/2],scale:5.568}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1004_Material070_0.geometry,material:i["Material.074_39"],position:[140.515,50.54,584.845],rotation:[-Math.PI/2,0,-Math.PI/2],scale:2.459}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1006_Material057_0.geometry,material:i["Material.074_33"],position:[192.324,45.452,402.259],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:2.698}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1008_Material057_0.geometry,material:i["Material.074_33"],position:[192.324,45.452,377.975],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:2.698}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1010_Material060_0.geometry,material:i["Material.074_34"],position:[192.115,45.452,422.374],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:2.698}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1012_Material070_0.geometry,material:i["Material.074_39"],position:[176.052,46.788,581.642],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:[1.861,6.968,6.968]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1014_Material070_0.geometry,material:i["Material.074_39"],position:[178.056,46.788,584.43],rotation:[-1.502,0,-Math.PI],scale:[2.693,9.468,6.982]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1016_Material070_0.geometry,material:i["Material.074_39"],position:[178.056,46.788,582.626],rotation:[-1.502,0,-Math.PI],scale:[2.693,9.468,6.982]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1018_Material070_0.geometry,material:i["Material.074_39"],position:[177.223,46.788,583.339],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:[3.572,6.968,6.968]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1020_Material057_0.geometry,material:i["Material.074_33"],position:[173.52,47.036,367.415],rotation:[-1.564,0,-.001],scale:[6.197,11.143,6.197]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1022_Material057_0.geometry,material:i["Material.074_33"],position:[176.257,47.093,365.528],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:[2.188,6.197,6.197]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1024_Material057_0.geometry,material:i["Material.074_33"],position:[176.257,47.093,362.25],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:[2.188,6.197,6.197]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1026_Material057_0.geometry,material:i["Material.074_33"],position:[178.04,47.093,365.528],rotation:[-1.502,0,-Math.PI],scale:[2.395,11.125,6.229]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1028_Material057_0.geometry,material:i["Material.074_33"],position:[178.04,47.093,363.407],rotation:[-1.502,0,-Math.PI],scale:[2.395,11.125,6.229]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1030_Material057_0.geometry,material:i["Material.074_33"],position:[177.299,47.093,364.245],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:[4.2,6.197,6.197]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1032_Material057_0.geometry,material:i["Material.074_33"],position:[122.224,53.645,358.725],rotation:[-Math.PI/2,.163,Math.PI/2],scale:5.449}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1034_Material057_0.geometry,material:i["Material.074_33"],position:[122.224,53.782,328.505],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1036_Material057_0.geometry,material:i["Material.074_33"],position:[122.224,53.782,311.134],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1038_Material057_0.geometry,material:i["Material.074_33"],position:[122.224,53.782,292.768],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1040_Tasten_2_0.geometry,material:i.Tasten_2,position:[152.112,49.615,217.775],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.449}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1042_Tasten_2_0.geometry,material:i.Tasten_2,position:[123.41,53.509,217.775],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.449}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1044_Material057_0.geometry,material:i["Material.074_33"],position:[140.393,50.558,328.6],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1046_Material057_0.geometry,material:i["Material.074_33"],position:[140.393,50.558,310.089],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1048_Material057_0.geometry,material:i["Material.074_33"],position:[140.393,50.558,293.029],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.522}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1050_Tasten_2_0.geometry,material:i.Tasten_2,position:[126.59,53.665,235.644],rotation:[-Math.PI/2,0,Math.PI/2],scale:5.449}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1052_Material057_0.geometry,material:i["Material.074_33"],position:[138.832,50.656,360.842],rotation:[-Math.PI/2,.163,Math.PI/2],scale:2.99}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1054_Material057_0.geometry,material:i["Material.074_33"],position:[138.832,50.519,377.705],rotation:[-Math.PI/2,.043,Math.PI/2],scale:2.99}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1056_Material073_0.geometry,material:i["Material.073"],position:[138.832,50.625,395.771],rotation:[-Math.PI/2,.043,Math.PI/2],scale:2.99}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1058_Material057_0.geometry,material:i["Material.074_33"],position:[122.224,53.899,387.246],rotation:[-Math.PI/2,.163,Math.PI/2],scale:4.683}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1060_Material060_0.geometry,material:i["Material.074_34"],position:[118.88,54.414,404.726],rotation:[-Math.PI/2,.163,Math.PI/2],scale:4.683}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1062_Tasten_2_0.geometry,material:i.Tasten_2,position:[178.586,47.223,251.216],rotation:[-1.494,-.039,.003],scale:[2.491,4.577,2.508]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1064_Tasten_2_0.geometry,material:i.Tasten_2,position:[175.034,47.036,250.749],rotation:[-1.571,-.079,1.57],scale:[4.723,4.038,2.74]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1066_Material067_0.geometry,material:i["Material.074_36"],position:[175.034,47.036,267.898],rotation:[-1.571,-.079,1.57],scale:[4.723,4.038,2.74]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1068_Material067_0.geometry,material:i["Material.074_36"],position:[180.145,47.436,269.122],rotation:[-1.571,-.079,1.57],scale:[3.03,2.591,1.758]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1070_Tasten_2_0.geometry,material:i.Tasten_2,position:[175.034,47.036,233.446],rotation:[-1.571,-.079,1.57],scale:[4.723,4.038,2.74]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1072_Tasten_2_0.geometry,material:i.Tasten_2,position:[180.145,47.583,235.555],rotation:[-1.571,-.079,1.57],scale:[3.03,2.591,1.758]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_1074_Material069_0.geometry,material:i["Material.074_38"],position:[192.115,45.452,545.462],rotation:[-Math.PI/2,-.069,Math.PI/2],scale:2.698}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_808_Material005_0.geometry,material:i["Material.074_32"],position:[140.844,50.582,568.87],rotation:[-Math.PI/2,0,Math.PI/2],scale:6.414}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[89.589,288.681,-355.423],rotation:[0,1.571,0],scale:108.517}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans001_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[69.018,288.681,-355.423],rotation:[0,-1.571,0],scale:108.517}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans002_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[89.589,178.114,-355.423],rotation:[0,1.571,0],scale:108.517}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans003_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[69.018,178.114,-355.423],rotation:[0,-1.571,0],scale:108.517}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans004_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[-241.083,292.602,-334.76],rotation:[0,1.571,0],scale:108.517}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans005_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[-261.653,292.602,-334.76],rotation:[0,-1.571,0],scale:108.517}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans006_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[-171.287,333.894,-355.289],rotation:[Math.PI/2,0,-Math.PI/2],scale:110.314}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans007_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[-171.287,354.805,-355.289],rotation:[Math.PI/2,0,-Math.PI/2],scale:110.314}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans008_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[-44.291,333.894,-355.289],rotation:[Math.PI/2,0,-Math.PI/2],scale:110.314}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_case_fans009_aorus_case_fans_0.geometry,material:i["Material.074_0"],position:[-44.291,354.805,-355.289],rotation:[Math.PI/2,0,-Math.PI/2],scale:110.314}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.aorus_logotrans
3967pa_aorus_logotranspa_0.geometry,material:i["Material.074_24"],position:[-182.428,181.699,-315.847],scale:[8.646,8.646,9.09]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCircle_Material104_0.geometry,material:i["Material.104"],position:[87.654,308.188,-282.266],rotation:[-Math.PI/2,Math.PI/2,0],scale:5.703}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve_Material088_0.geometry,material:i["Material.088"],position:[73.034,238.196,-437.388],rotation:[Math.PI,0,Math.PI/2],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve001_Material085_0.geometry,material:i["Material.085"],position:[-57.663,118.32,-315.595],rotation:[Math.PI/2,-1.234,0],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve002_Material087_0.geometry,material:i["Material.087"],position:[-31.438,183.785,-440.156],rotation:[Math.PI/2,-1.234,0],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve003_Material091_0.geometry,material:i["Material.025"],position:[-158.898,127.661,299.394],rotation:[2.464,-Math.PI/2,0],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve004_Material099_0.geometry,material:i["Material.025"],position:[-33.393,29.826,-26.834],rotation:[-Math.PI/2,0,0],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve005_Material103_0.geometry,material:i["Material.025"],position:[83.413,25.966,360.696],rotation:[-Math.PI/2,0,Math.PI/2],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve006_Material106_0.geometry,material:i["Material.025"],position:[-275.73,25.966,569.745],rotation:[-Math.PI/2,0,Math.PI/2],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve007_Material105_0.geometry,material:i["Material.025"],position:[-271.339,25.966,569.745],rotation:[-Math.PI/2,0,Math.PI/2],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.BezierCurve008_Material107_0.geometry,material:i["Material.025"],position:[-280.431,25.966,28.498],rotation:[Math.PI/2,0,Math.PI/2],scale:100}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.bg2_bg2_0.geometry,material:i["Material.074_29"],position:[-153.705,194.917,83.027],rotation:[1.572,-1.442,1.567],scale:113.034}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["Color-PewDiePie-Logo_Color-PewDiePie-Logo_0"].geometry,material:i["Material.074_27"],position:[129.541,46.552,-27.476],rotation:[-Math.PI/2,.284,Math.PI/2],scale:12.411}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube_Material_0.geometry,material:i["Material.001"],position:[-61.024,-.556,156.09],rotation:[Math.PI/2,0,-Math.PI],scale:[-368.949,-731.636,-25.976]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube001_Material055_0.geometry,material:i["Material.055"],position:[-138.594,295.654,300.405],rotation:[-Math.PI/2,-.07,Math.PI/2],scale:[325.342,4.051,184.091]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube002_Material044_0.geometry,material:i["Material.044"],position:[-146.706,263.678,300.405],rotation:[Math.PI/2,.122,-Math.PI/2],scale:[-325.342,-14.747,-152.853]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube003_Material001_0.geometry,material:i["Material.025"],position:[-157.131,447.652,300.405],rotation:[-Math.PI/2,-.07,Math.PI/2],scale:[325.342,4.051,31.034]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube004_Material002_0.geometry,material:i["Material.002"],position:[-148.741,180.97,299.246],rotation:[-Math.PI/2,-.07,Math.PI/2],scale:[167.599,17.793,193.498]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube005_Material003_0.geometry,material:i["Material.003"],position:[-186.532,291.564,297.425],rotation:[-Math.PI/2,0,Math.PI/2],scale:[16.32,28.812,12.936]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube006_Material043_0.geometry,material:i["Material.043"],position:[-202.956,-64.822,300.405],rotation:[-Math.PI/2,-.07,Math.PI/2],scale:[40.588,16.64,531.608]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube007_Material037_0.geometry,material:i["Material.037"],position:[-213.018,35.333,296.055],rotation:[Math.PI/2,0,-Math.PI/2],scale:[-193.85,-54.116,-9.321]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube008_Material036_0.geometry,material:i["Material.039"],position:[-80.199,31.648,453.149],rotation:[-Math.PI/2,0,1.249],scale:[49.07,108.779,5.648]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube009_Material039_0.geometry,material:i["Material.039"],position:[-80.199,31.648,163.795],rotation:[-Math.PI/2,0,1.861],scale:[49.07,108.779,5.648]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube010_Material006_0.geometry,material:i["Material.006"],position:[-181.146,31.637,295.796],rotation:[-Math.PI/2,0,3.136],scale:[43.412,96.236,4.997]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube011_Material010_0.geometry,material:i["Material.074"],position:[-85.935,199.7,-353.72],rotation:[-Math.PI/2,0,0],scale:[173.489,89.971,157.347]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube012_Material011_0.geometry,material:i["Material.074"],position:[-85.935,199.7,-353.72],rotation:[-Math.PI/2,0,0],scale:[173.489,89.971,157.347]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube013_Material015_0.geometry,material:i["Material.074"],position:[82.766,33.228,-353.609],rotation:[Math.PI/2,.237,Math.PI],scale:[-5.986,-88.363,-12.138]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube014_Material014_0.geometry,material:i["Material.074"],position:[-253.445,33.228,-353.609],rotation:[Math.PI/2,-.136,-Math.PI],scale:[-5.979,-88.363,-12.152]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube015_Material016_0.geometry,material:i["Material.074_1"],position:[-165.45,224.123,-440.84],rotation:[Math.PI/2,0,-Math.PI],scale:[-89.374,-.699,-106.434]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube016_Material017_0.geometry,material:i["Material.017"],position:[79.294,177.861,-355.562],rotation:[-Math.PI/2,Math.PI/2,0],scale:[50.674,50.674,10]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube017_Material017_0.geometry,material:i["Material.017"],position:[-251.377,292.349,-334.899],rotation:[-Math.PI/2,Math.PI/2,0],scale:[50.674,50.674,10]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube018_Material017_0.geometry,material:i["Material.017"],position:[79.294,288.428,-355.562],rotation:[-Math.PI/2,Math.PI/2,0],scale:[50.674,50.674,10]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube019_Material017_0.geometry,material:i["Material.017"],position:[-171.544,344.359,-355.43],rotation:[Math.PI/2,0,-Math.PI],scale:[51.513,51.513,10.165]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube020_Material020_0.geometry,material:i["Material.074_2"],position:[-96.107,78.826,-363.398],rotation:[-Math.PI/2,0,0],scale:[160.681,73.933,34.312]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube021_Material018_0.geometry,material:i["Material.074"],position:[-108.064,346.353,
3967-354.981],rotation:[-Math.PI/2,0,0],scale:[7.187,57.542,10.785]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube022_Material017_0.geometry,material:i["Material.017"],position:[-44.548,344.359,-355.43],rotation:[Math.PI/2,0,-Math.PI],scale:[51.513,51.513,10.165]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube023_Material021_0.geometry,material:i["Material.074"],position:[93.781,228.59,-355.282],rotation:[Math.PI/2,0,-Math.PI],scale:[-11.991,-59.265,-117.81]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube024_Material022_0.geometry,material:i["Material.074"],position:[-265.096,291.702,-335.09],rotation:[-Math.PI/2,0,0],scale:[6.378,55.458,55.458]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube025_Material023_0.geometry,material:i["Material.023"],position:[-165.45,224.123,-440.84],rotation:[Math.PI/2,0,-Math.PI],scale:[-89.374,-.699,-106.434]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube026_Material024_0.geometry,material:i["Material.024"],position:[-165.45,224.123,-440.84],rotation:[Math.PI/2,0,-Math.PI],scale:[-89.374,-.699,-106.434]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube027_Material008_0.geometry,material:i["Material.074_6"],position:[-96.406,270.963,-430.927],rotation:[Math.PI/2,0,0],scale:[-1.513,-10.916,-44.29]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube028_Material026_0.geometry,material:i["Material.074_7"],position:[-95.71,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube029_Material025_0.geometry,material:i["Material.025"],position:[-96.387,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-.25,-9.339,-46.663]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube030_Material026_0.geometry,material:i["Material.074_7"],position:[-96.996,270.963,-451.701],rotation:[Math.PI/2,0,Math.PI],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube031_Material008_0.geometry,material:i["Material.074_6"],position:[-103.687,270.963,-430.927],rotation:[Math.PI/2,0,0],scale:[-1.513,-10.916,-44.29]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube032_Material026_0.geometry,material:i["Material.074_7"],position:[-102.99,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube033_Material025_0.geometry,material:i["Material.025"],position:[-103.667,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-.25,-9.339,-46.663]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube034_Material026_0.geometry,material:i["Material.074_7"],position:[-104.276,270.963,-451.701],rotation:[Math.PI/2,0,Math.PI],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube035_Material008_0.geometry,material:i["Material.074_6"],position:[-110.551,270.963,-430.927],rotation:[Math.PI/2,0,0],scale:[-1.513,-10.916,-44.29]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube036_Material026_0.geometry,material:i["Material.074_7"],position:[-109.854,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube037_Material025_0.geometry,material:i["Material.025"],position:[-110.532,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-.25,-9.339,-46.663]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube038_Material026_0.geometry,material:i["Material.074_7"],position:[-111.14,270.963,-451.701],rotation:[Math.PI/2,0,Math.PI],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube039_Material008_0.geometry,material:i["Material.074_6"],position:[-117.502,270.963,-430.927],rotation:[Math.PI/2,0,0],scale:[-1.513,-10.916,-44.29]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube040_Material026_0.geometry,material:i["Material.074_7"],position:[-116.805,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube041_Material025_0.geometry,material:i["Material.025"],position:[-117.483,270.963,-432.409],rotation:[Math.PI/2,0,0],scale:[-.25,-9.339,-46.663]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube042_Material026_0.geometry,material:i["Material.074_7"],position:[-118.091,270.963,-451.701],rotation:[Math.PI/2,0,Math.PI],scale:[-1.051,-9.735,-44.411]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube043_Material012_0.geometry,material:i["Material.025"],position:[-219.486,85.339,-71.149],rotation:[-Math.PI/2,0,0],scale:[49.177,29.278,59.658]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube044_Material012_0.geometry,material:i["Material.025"],position:[-219.486,85.339,671.433],rotation:[-Math.PI/2,0,0],scale:[49.177,29.278,59.658]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube045_Material027_0.geometry,material:i["Material.074_8"],position:[-212.14,79.399,-298.228],rotation:[-Math.PI/2,0,0],scale:[35.476,5.166,20.568]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube046_Material034_0.geometry,material:i["Material.034"],position:[-188.16,268.516,-368.194],rotation:[-Math.PI/2,0,0],scale:[9.278,42.446,42.446]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube047_Material033_0.geometry,material:i["Material.034"],position:[-134.664,268.516,-368.194],rotation:[-Math.PI/2,0,0],scale:[9.278,42.446,42.446]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube048_Material035_0.geometry,material:i["Material.074_15"],position:[-161.354,268.242,-368.171],rotation:[-Math.PI/2,0,0],scale:[17.436,39.405,40.075]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube049_Material040_0.geometry,material:i["Material.074_16"],position:[-161.354,268.242,-368.171],rotation:[-Math.PI/2,0,0],scale:[17.436,39.405,40.075]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube050_Material038_0.geometry,material:i["Material.074_16"],position:[-161.354,268.242,-368.171],rotation:[-Math.PI/2,0,0],scale:[17.436,39.405,40.075]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube051_Material042_0.geometry,material:i["Material.042"],position:[-161.354,268.242,-368.171],rotation:[-Math.PI/2,0,0],scale:[17.436,39.405,40.075]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube052_Material047_0.geometry,material:i["Material.025"],position:[83.515,83.276,-355.599],rotation:[-Math.PI/2,0,0],scale:[5.75,46.281,28.867]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube053_Material048_0.geometry,material:i["Material.048"],position:[-165.45,224.123,-440.84],rotation:[Math.PI/2,0,-Math.PI],scale:[-89.374,-.699,-106.434]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube054_Material049_0.geometry,material:i["Material.049"],position:[-165.45,224.123,-440.84],rotation:[Math.PI/2,0,-Math.PI],scale:[-89.374,-.699,-106.434]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube055_Material054_0.geometry,material:i["Material.054"],position:[-122.286,185.076,-370.559],rotation:[-Math.PI/2,0,0],scale:[133.163,54.534,13.174]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube056_Material061_0.geometry,material:i["Material.061"],position:[-127.222,200.081,-370.559],rotation:[-Math.PI/2,0,0],scale:[128.059,52.443,12.669]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube057_Material059_0.geometry,material:i["Material.074_22"],position:[-127.222,200.081,-370.559],rotation:[-Math.PI/2,0,0],scale:[128.059,52.443,12.669]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube058_Material063_0.geometry,material:i["Material.074_23"],position:[-122.591,213.709,-370.429],rotation:[-Math.PI/2,0,0],scale:[133.259,54.504,.809]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube059_Material058_0.geometry,material:i["Material.058"],position:[-127.222,200.081,-370.559],rotation:[-Math.PI/2,0,0],scale:[128.059,52.443,12.669]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube060_Material062_0.geometry,material:i["Material.062"],position:[-123.744,264.277,-316.795],scale:[133.257,53.22,.824]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube061_Material064_0.geometry,material:i["Material.025"],position:[-122.286,185.076,-370.559],rotation:[-Math.PI/2,0,0],scale:[133.163,54.534,13.174]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube062_Material065_0.geometry,material:i["Material.025"],position:[-165.45,224.123,-440.84],rotation:[Math.PI/2,0,-Math.PI],scale:[-89.374,-.699,-106.434]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube063_Material074_0.geometry,material:i["Material.074_25"],position:[111.413,32.495,-27.406],rotation:[-Math.PI/2,0,-Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube064_Material074_0.geometry,material:i["Material.074_25"],position:[111.413,32.447,-27.406],rotation:[-Math.PI/2,0,-Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube065_Material074_0.geometry,material:i["Material.074_25"],position:[111.413,32.495,-27.406],rotation:[-Math.PI/2,.011,-Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube066_Material076_0.geometry,material:i["Material.076"],position:[111.461,32.287,-27.292],rotation:[-Math.PI/2,.011,-Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube06
39677_Material075_0.geometry,material:i["Material.075"],position:[111.413,32.447,-27.406],rotation:[-Math.PI/2,0,-Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube068_Material092_0.geometry,material:i["Material.092"],position:[129.119,44.5,-27.607],rotation:[-Math.PI/2,.284,0],scale:[5.964,5.964,2.081]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube069_Material093_0.geometry,material:i["Material.025"],position:[111.413,32.447,-27.406],rotation:[-Math.PI/2,0,-Math.PI],scale:[-42.887,-44.821,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube070_Material100_0.geometry,material:i["Material.025"],position:[-266.849,260.335,-432.751],rotation:[-Math.PI/2,0,0],scale:[7.668,2.324,5.236]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube071_Material101_0.geometry,material:i["Material.025"],position:[-266.849,260.335,-426.843],rotation:[-Math.PI/2,0,0],scale:[7.668,2.324,5.236]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube072_Material078_0.geometry,material:i["Material.025"],position:[111.413,32.447,-27.406],rotation:[-Math.PI/2,0,-Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube073_Material079_0.geometry,material:i["Material.074_6"],position:[111.413,32.447,-27.406],rotation:[-Math.PI/2,0,-Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube074_Material084_0.geometry,material:i["Material.025"],position:[-92.944,206.719,-314.862],rotation:[-Math.PI/2,0,0],scale:[5.642,5.4,4.234]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube075_Material086_0.geometry,material:i["Material.074_26"],position:[-258.007,195.512,-371.511],rotation:[-Math.PI/2,0,0],scale:[1.163,52.435,17.743]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube076_Material080_0.geometry,material:i["Material.074_25"],position:[65.926,34.461,-27.346],rotation:[-Math.PI/2,.234,Math.PI],scale:[-42.887,-42.887,-22.902]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube077_Material083_0.geometry,material:i["Material.025"],position:[-81.678,266.506,-437.411],rotation:[-Math.PI/2,0,0],scale:[2.849,4.872,17.377]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube078_Material083_0.geometry,material:i["Material.025"],position:[70.352,334.375,-437.411],rotation:[-Math.PI/2,0,0],scale:[2.849,4.872,12.046]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube079_Material089_0.geometry,material:i["Material.025"],position:[-269.84,182.61,-338.408],rotation:[-Math.PI/2,0,0],scale:[16.038,9.162,4.326]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube080_Material089_0.geometry,material:i["Material.025"],position:[-158.493,199.975,375.163],rotation:[-Math.PI/2,Math.PI/2,0],scale:[16.038,9.162,4.326]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube081_Material090_0.geometry,material:i["Material.090"],position:[93.215,47.658,-27.747],rotation:[-1.544,-.233,0],scale:[2.623,1.334,2.237]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube082_Material101_0.geometry,material:i["Material.025"],position:[-266.849,274.042,-426.641],rotation:[-Math.PI/2,0,0],scale:[7.668,2.324,5.236]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cube088_Material098_0.geometry,material:i["Material.098"],position:[98.958,38.352,-8.162],rotation:[-Math.PI/2,-.129,0],scale:[5.453,4.946,1.909]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder_Material009_0.geometry,material:i["Material.025"],position:[74.209,51.218,-262.894],scale:[6.077,6.275,2.277]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder001_Material028_0.geometry,material:i["Material.074_11"],position:[-169.225,114.406,-71.644],rotation:[-Math.PI/2,1.554,0],scale:[19.4,19.4,2.506]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder002_Material029_0.geometry,material:i["Material.074_11"],position:[-166.369,70.647,-71.644],rotation:[-1.571,1.536,0],scale:[10.298,10.298,1.33]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder003_Material031_0.geometry,material:i["Material.074_11"],position:[-169.225,114.406,670.937],rotation:[-Math.PI/2,1.554,0],scale:[19.4,19.4,2.506]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder004_Material030_0.geometry,material:i["Material.074_11"],position:[-166.369,70.647,670.937],rotation:[-1.571,1.536,0],scale:[10.298,10.298,1.33]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder005_Material041_0.geometry,material:i["Material.074_17"],position:[-161.139,268.658,-369.024],rotation:[-Math.PI/2,Math.PI/2,0],scale:[32.71,32.71,34.213]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder006_Material050_0.geometry,material:i["Material.074_19"],position:[-209.451,184.616,-370.096],rotation:[-Math.PI/2,0,0],scale:[36.354,38.222,10.575]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder007_Material051_0.geometry,material:i["Material.074_20"],position:[-124.439,184.616,-370.096],rotation:[-Math.PI/2,0,0],scale:[36.354,38.222,10.575]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder008_Material052_0.geometry,material:i["Material.074_19"],position:[-37.777,184.616,-370.096],rotation:[-Math.PI/2,0,0],scale:[36.354,38.222,10.575]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder009_Material081_0.geometry,material:i["Material.025"],position:[77.222,34.525,-28.482],rotation:[0,-.001,0],scale:[11.574,11.574,2.501]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder010_Material077_0.geometry,material:i["Material.077"],position:[77.222,34.525,-27.858],rotation:[0,-.001,0],scale:[11.891,11.891,.393]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder011_Material045_0.geometry,material:i["Material.045"],position:[-173.934,242.501,-421.74],rotation:[.474,0,Math.PI],scale:[2.055,2.055,16.973]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder012_Material082_0.geometry,material:i["Material.082"],position:[77.223,34.525,-28.709],rotation:[0,-.001,0],scale:[10.438,10.438,2.868]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder013_Material094_0.geometry,material:i["Material.094"],position:[83.027,308.225,-282.193],rotation:[-Math.PI/2,Math.PI/2,0],scale:[9.856,9.856,4.879]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder014_Material095_0.geometry,material:i["Material.088"],position:[84.52,280.424,-282.193],rotation:[-Math.PI/2,Math.PI/2,0],scale:[6.544,6.544,3.239]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder015_Material096_0.geometry,material:i["Material.088"],position:[84.52,254.307,-282.193],rotation:[-Math.PI/2,Math.PI/2,0],scale:[6.67,6.67,3.302]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Cylinder016_Material102_0.geometry,material:i["Material.025"],position:[-263.633,248.737,-421.76],rotation:[-Math.PI/2,Math.PI/2,0],scale:[3.07,3.07,5.454]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.gallerymodel_gallerymodel_0.geometry,material:i["Material.074_28"],position:[-142.04,164.813,596.08],rotation:[.441,-1.284,.441],scale:80.689}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.geforcertx_Material056_0.geometry,material:i["Material.056"],position:[-229.271,204.826,-315.957],scale:[10.377,10.377,10.91]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["gigabyte-logo_gigabyte-logo_0"].geometry,material:i["Material.074_31"],position:[-161.543,449.447,82.082],rotation:[1.571,-1.501,1.571],scale:23.689}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["gigabyte-logo001_gigabyte-logo_0"].geometry,material:i["Material.074_31"],position:[-122.059,122.824,301.598],rotation:[-Math.PI/2,1.501,Math.PI/2],scale:17.84}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.IOSHIELD_IOSHIELD_0.geometry,material:i["Material.074_3"],position:[-259.689,284.799,-422.491],rotation:[Math.PI/2,-Math.PI/2,0],scale:[26.475,30.855,31.832]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["maxresdefault_(1)_maxresdefault_(1)_0"].geometry,material:i["Material.074_10"],position:[87.714,83.615,-355.312],rotation:[0,1.571,0],scale:39.411}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["metal-mesh-500x500_metal-mesh-500x500_0"].geometry,material:i["Material.074_5"],position:[-42.312,356.984,-354.163],rotation:[Math.PI/2,0,Math.PI],scale:[100,133.704,100]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["metal-mesh-500x500001_metal-mesh-500x500_0"].geometry,material:i["Material.074_5"],position:[-174.205,356.984,-354.163],rotation:[Math.PI/2,0,Math.PI/2],scale:[100,133.705,100]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["metal-mesh-500x500002_metal-mesh-500x500_0"].geometry,material:i["Material.074_5"],position:[-270.9,291.514,-335.328],rotation:[0,-Math.PI/2,0],scale:[79.555,106.369,79.555]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["metal-mesh-500x500003_metal-mesh-500x500_0"].geometry,material:i["Material.074_5"],position:[-257.977,182.039,-359.049],rotation:[0,-Math.PI/2,0],scale:[109.082,106.369,79.555]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["metal-mesh-500x500004_metal-mesh-500x500_0"].geometry,material:i["Material.074_5"],position:[-257.977,220.723,-359.049],rotation:[0,-Math.PI/2,0],scale:[109.082,106.369,79.555]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.MOBOAORUSORANGETRANS_MOBOAORUSORANGETRANS_0.geometry,material:i["Material.074_4"],position:[-235.591,287.747,-423.919],rotation:[0,0,.651
3967],scale:6.343}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.MY_SCREEN_MY_SCREEN_0.geometry,material:i["Material.074_30"],position:[-136.177,300.132,300.405],rotation:[-Math.PI/2,1.501,Math.PI/2],scale:[331.621,348.065,331.621]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.NVIDIA_LOGO_NVIDIA_LOGO_0.geometry,material:i["Material.074_12"],position:[.586,70.428,-289.066],scale:45.189}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_10_Tastatur_Unterseite_0.geometry,material:i.Tastatur_Unterseite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_101_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_103_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_105_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_107_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_109_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_111_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_113_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_115_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_117_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_119_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_12_Tastatur_Unterseite_0.geometry,material:i.Tastatur_Unterseite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_121_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_123_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_125_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_127_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,400.77],rotation:[-Math.PI/2,-1.481,1.571],scale:[154.135,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_129_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,385.792],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_131_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_133_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_135_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_137_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_139_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_14_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_141_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_143_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_145_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_147_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_149_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_151_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_153_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_155_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_157_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_159_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_16_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_161_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_163_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_165_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_167_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_169_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_171_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_173_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_175_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_177_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_179_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_18_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_181_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_183_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_185_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_187_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_189_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_191_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_193_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_195_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_197_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_199_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_20_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_201_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_203_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_205_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.578,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_207_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_209_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_211_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_213_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_215_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_217_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_219_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_22_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_221_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,400.77],rotation:[-Math.PI/2,-1.481,1.571],scale:[154.135,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_223_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_225_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_227_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.432,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_229_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_231_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_233_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_235_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_237_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_239_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receive
3967Shadow:!0,geometry:n.Object_24_Tastatur_Seite_0.geometry,material:i.Tastatur_Seite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_241_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_243_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_245_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,289.941],rotation:[-Math.PI/2,-1.481,1.571],scale:[142.89,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_247_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_249_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_251_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_253_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_255_Material057_0.geometry,material:i["Material.074_33"],position:[129.141,32.601,395.134],rotation:[-Math.PI/2,-1.481,1.571],scale:[79.314,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_257_Material057_0.geometry,material:i["Material.074_33"],position:[129.141,32.601,395.134],rotation:[-Math.PI/2,-1.481,1.571],scale:[79.314,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_259_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,385.749],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_26_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_261_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,385.718],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_263_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,385.526],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_265_Material060_0.geometry,material:i["Material.074_34"],position:[125.985,34.792,402.731],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_267_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_269_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_271_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_273_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_275_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_277_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_279_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_28_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_281_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_283_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_285_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_287_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_289_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_291_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_293_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_295_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_297_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_299_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_30_Material007_0.geometry,material:i["Material.007"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_301_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_303_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_305_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_307_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_309_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_311_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_313_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_315_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_317_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_319_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_32_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_321_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_323_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_325_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_327_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_329_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_331_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_333_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_335_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_337_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_339_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_34_Material004_0.geometry,material:i["Material.004"],position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_341_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_343_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_345_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_347_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_349_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_351_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_353_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_355_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_357_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_359_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_36_Tastatur_Seite_0.geometry,material:i.Tastatur_Seite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_361_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_363_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_365_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_367_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_369_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_371_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_373_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_375_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_377_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_379_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_38_Tastatur_Seite_0.geometry,material:i.Tastatur_Seite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_381_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_383_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx
3967("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_385_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_387_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_389_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_391_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_393_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_395_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_397_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_399_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_40_Tastatur_Seite_0.geometry,material:i.Tastatur_Seite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_401_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,289.941],rotation:[-Math.PI/2,-1.481,1.571],scale:[142.89,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_403_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_405_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_407_Material070_0.geometry,material:i["Material.074_39"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_409_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_411_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_413_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_415_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_418_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_42_Tastatur_Seite_0.geometry,material:i.Tastatur_Seite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_420_Tasten_0.geometry,material:i["Material.025"],position:[164.917,31.114,386.964],rotation:[-Math.PI/2,-1.481,1.571],scale:[67.569,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_422_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_424_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_426_Tasten_0.geometry,material:i["Material.025"],position:[130.241,34.605,390.577],rotation:[-Math.PI/2,-1.481,1.571],scale:[72.766,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_428_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_430_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_432_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_434_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_436_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_438_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,402.928],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_44_Tastatur_Seite_0.geometry,material:i.Tastatur_Seite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_440_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_442_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_444_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_446_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_448_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_450_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_452_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_454_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_456_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_458_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_460_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_462_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_464_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_466_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_468_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_47_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_470_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_472_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_474_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_476_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_478_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_480_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_482_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_484_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_486_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_488_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_49_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_490_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_492_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_494_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_496_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_498_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_500_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_502_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_504_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_506_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_508_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_51_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_510_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_512_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_514_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,385.856],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_516_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,385.856],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_518_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,385.856],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_520_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,385.856],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_522_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,385.856],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_524_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,385.856],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_526_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_528_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,385.856],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_53_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_530_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_532_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_534_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_536_Tasten_0.geometry,mate
3967rial:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_538_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_540_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_542_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_544_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_546_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_548_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_55_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_550_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_552_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_554_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_556_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_558_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_560_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_562_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_564_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_566_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_568_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_57_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_570_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_572_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_574_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_576_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_578_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_580_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_582_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_584_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_586_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_588_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_59_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_590_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_592_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_594_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_596_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_598_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_600_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_602_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_604_Material071_0.geometry,material:i["Material.025"],position:[147.709,34.581,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_606_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.296,259.275],rotation:[-Math.PI/2,-1.481,1.571],scale:[157.896,91.415,91.415]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_608_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_61_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_610_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_612_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_614_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_616_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_618_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_620_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_622_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_624_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_626_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_628_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_63_Material060_0.geometry,material:i["Material.074_34"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_630_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_632_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_634_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_636_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_638_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_640_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_642_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_644_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_646_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_648_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_65_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_650_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_652_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_654_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_656_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_658_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_660_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_662_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_664_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_666_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_668_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_67_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_670_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_672_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_674_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_676_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_678_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_680_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_682_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_684_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_686_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_688_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34
3967.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_69_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_690_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_692_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_694_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_696_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_698_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_700_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_702_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_704_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_706_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_708_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_71_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_710_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_712_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_714_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_716_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_718_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_720_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_722_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_724_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_726_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_728_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_73_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_730_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_732_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_734_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_736_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_738_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_740_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_742_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_744_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_746_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_748_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_75_Material066_0.geometry,material:i["Material.074_35"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_750_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_752_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_754_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_756_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_758_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_760_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_762_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_764_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_766_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_768_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_77_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_770_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_772_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_774_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_776_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_778_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_780_Tasten_0.geometry,material:i["Material.025"],position:[147.709,34.605,403.086],rotation:[-Math.PI/2,-1.481,1.571],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_784_Material057_0.geometry,material:i["Material.074_33"],position:[174.161,46.923,307.714],rotation:[-Math.PI/2,0,Math.PI/2],scale:49.824}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_786_Material057_0.geometry,material:i["Material.074_33"],position:[191.377,45.228,324.985],rotation:[-Math.PI/2,0,Math.PI],scale:49.824}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_79_Material057_0.geometry,material:i["Material.074_33"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_790_Material057_0.geometry,material:i["Material.074_33"],position:[191.377,45.228,290.099],rotation:[-Math.PI/2,0,0],scale:49.824}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_792_Material057_0.geometry,material:i["Material.074_33"],position:[190.941,45.228,307.684],rotation:[-Math.PI/2,0,-1.538],scale:52.612}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_794_Material070_0.geometry,material:i["Material.074_39"],position:[139.381,50.46,591.26],rotation:[-Math.PI/2,0,-Math.PI],scale:29.266}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_796_Material070_0.geometry,material:i["Material.074_39"],position:[141.108,50.46,586.29],rotation:[-Math.PI/2,0,0],scale:29.266}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_8_Tastatur_Seite_0.geometry,material:i.Tastatur_Seite,position:[147.709,33.245,403.086],rotation:[-Math.PI,-1.571,0],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_81_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_83_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_85_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_87_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_89_Material068_0.geometry,material:i["Material.074_37"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_91_Material067_0.geometry,material:i["Material.074_36"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_93_Material069_0.geometry,material:i["Material.074_38"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_95_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_97_Material005_0.geometry,material:i["Material.074_32"],position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Object_99_Tasten_2_0.geometry,material:i.Tasten_2,position:[147.709,32.601,403.086],rotation:[-Math.PI/2,-1.481,Math.PI/2],scale:91.415}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Plane_Material053_0.geometry,material:i["Material.074_21"],position:[117.182,25.605,-29.165],rotation:[-Math.PI/2,0,0],scale:[124.427,154.111,119.911]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.psuback_psuback_0.geometry,material:i["Material.074_13"],position:[-260.266,77.97,-352.752],rotation:[0,Math.PI/2,0],scale:59.489}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["rgb-hdd-cover-aorus-v1_rgb-hdd-cover-aorus-v1_0"].geometry,material:i["Material.074_9"],position:[-93.477,83.167,-288.796],scale:36.942}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Sphere_Material019_0.geometry,material:i["Material.025"],position:[-277.544,457.86,-407.854],rotation:[-1.514,0,0],scale:4.86}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Sphere001_Material019_0.geometry,material:i["Material.025"],position:[-277.544,457.86,-439.732],rotation:[-1.62,0,0],scale:4.86}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n["test-aorus-m2-souris-aorus-rgb2_test-aorus-m2-souris-aorus-rgb2"].geometry,material:i["Material.074_18"],position:[-115.854,150.748,-435.223],scale:35.194}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Text_Material046_0.geometry,material:i["Material.046"],position:[-143.804,250.193,-325.724],rotation:[0,0,Math.PI/2],scale:2.436}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Text001_Material097_0.geometry,material:i["Material.025"],position:[87.586,202.482,-275.486],rotation:[-Math.PI/2,Math.PI/2,0],scale:[10.325,8.384,9.718]}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Torus_Material013_0.geometry,material:i["Material.013"],position:[69.926,356.741,-407.005],rotation:[-Math.PI/2,0,0],scale:3.297}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.Torus001_Material032_0.geometry,material:i["Material.032"],position:[69.926,356.741,-423.729],rotation:[-Math.PI/2,0,0],scale:3.297}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.usb_usb_0.geometry,material:i["Material.074_14"],position:[70.473,357.15,-289.695],rotation:[-Math.PI/2,0,Math.PI/2],scale:7.342}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.usb001_usb_0.geometry,material:i["Material.074_14"],position:[70.473,357.15,-321.003],rotation:[-Math.PI/2,0,Math.PI/2],scale:7.342}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.usb002_usb_0.geometry,material:i["Material.074_14"],position:[70.473,357.15,-352.59],rotation:[-Math.PI/2,0,Math.PI/2],scale:7.342}),_.jsx("mesh",{castShadow:!0,receiveShadow:!0,geometry:n.usb003_usb_0.geometry,material:i["Material.074_14"],position:[70.473,357.15,-384.891],rotation:[
3967-Math.PI/2,0,Math.PI/2],scale:7.342})]})})};Vu.preload("/models/pc.glb");const oG=()=>{const r=Py({query:"(max-width: 1024px)"}),e=Py({query:"(max-width: 768px)"}),t=e?[1.9,.3,2.9]:r?[1.2,2.2,1.5]:[1.3,1.3,1.9],n=e?[.4,.4,.4]:r?[.3,.3,.3]:[.3,.3,.3];return _.jsx(_.Fragment,{children:_.jsxs("div",{className:"relative min-h-screen pt-16 md:pt-20 overflow-hidden",children:[_.jsxs("div",{className:"relative z-10 text-center text-white p-3 md:p-8",children:[_.jsxs("h1",{className:"text-2xl md:text-4xl font-bold relative z-20",children:["Hi, I am Divyansh Kathuria ",_.jsx("span",{className:"waving-hand",children:"ð"})]}),_.jsx("div",{className:"absolute top-0 left-0 w-full h-full z-0",style:{zIndex:999},children:_.jsx(sA,{children:_.jsxs(z.Suspense,{fallback:null,children:[_.jsx(SA,{makeDefault:!0,position:[1,1,6]}),_.jsx(FH,{}),_.jsx("ambientLight",{intensity:.5}),_.jsx("directionalLight",{position:[10,10,10],intensity:1})]})})})]}),_.jsxs("div",{className:"flex flex-col md:flex-row min-h-screen",children:[_.jsxs("div",{className:"w-full md:w-1/2 p-6 md:p-8 order-2 md:order-1",children:[_.jsx("div",{className:"top-text",children:_.jsx("span",{children:"Wired for Innovation"})}),_.jsxs("div",{className:"wrapper",children:[_.jsx("span",{className:"first-text",children:"I'm"}),_.jsxs("ul",{className:"sec-texts",children:[_.jsx("li",{children:_.jsx("span",{children:"a Developer"})}),_.jsx("li",{children:_.jsx("span",{children:"a Thinker"})}),_.jsx("li",{children:_.jsx("span",{children:"a Solver"})}),_.jsx("li",{children:_.jsx("span",{children:"an Engineer"})})]})]}),_.jsx("div",{children:_.jsx("button",{onClick:()=>window.open("./assets/resume.pdf","_blank"),className:"gradient-button",children:"Download my resume "})})]}),_.jsx("div",{className:"w-full md:w-2/3 flex justify-center md:justify-center items-baseline p-6 md:p-8 order-1 md:order-2",children:_.jsx(sA,{children:_.jsxs(z.Suspense,{fallback:null,children:[_.jsx(SA,{makeDefault:!0,position:[1,1,6]}),_.jsx("group",{children:_.jsx(sG,{scale:n,rotation:[0,0,-.3],position:t})}),_.jsx("ambientLight",{intensity:.5}),_.jsx("directionalLight",{position:[10,10,10],intensity:1})]})})})]})]})})},aG=()=>{const[r,e]=z.useState(null),t=z.useRef(null);z.useEffect(()=>{const s=()=>
3967{if(!t.current)return;const l=window.scrollY+window.innerHeight/2,u=t.current.offsetTop,d=t.current.offsetHeight;window.innerWidth>768?l>=u&&l<u+.12*d?(e(null),n(!0,"Explore my<br>education<br>journey now",!1,!0)):l>=u+.12*d&&l<u+.34*d?(e(1),n(!1,!1)):l>=u+.34*d&&l<u+.5*d?(e(2),n(!1,!1)):l>=u+.5*d&&l<u+.66*d?(e(3),n(!1,!1)):l>=u+.66*d&&l<u+.9*d?(e(4),n(!1,!1)):l>=u+.9*d&&(e(null),n(!0,"Always shine <br>brightly like the<br> Sun",!1,!1)):l>=u+.05*d&&l<u+.1*d?(e(null),n(!0,"Explore my<br>education<br>journey now",!1,"1")):l>=u+.1*d&&l<u+.38*d?(e(1),n(!1,!1)):l>=u+.38*d&&l<u+.5*d?(e(2),n(!1,!1)):l>=u+.5*d&&l<u+.685*d?(e(3),n(!1,!1)):l>=u+.685*d&&l<u+.87*d?(e(4),n(!1,!1)):l>=u+.87*d&&l<u+d&&(e(null),n(!0,"Always shine <br>brightly like the<br> Sun",!1,"4"))},o=()=>{t.current&&(t.current.offsetTop,t.current.offsetHeight)};return window.addEventListener("scroll",s),window.addEventListener("resize",o),s(),o(),()=>{window.removeEventListener("scroll",s),window.removeEventListener("resize",o)}},[]);const n=(s,o,l,u)=>{const d=document.querySelector(".process-section .circle"),p=document.querySelector(".process-section .circle .circle-content p.text");document.querySelector(".process-section .circle .circle-content p.number"),s?(d.classList.remove("small"),document.querySelectorAll(".process-section .single-process").forEach(m=>m.classList.remove("current"))):d.classList.add("small"),o&&(p.innerHTML=o),u?d.classList.add("down-btn"):d.classList.remove("down-btn")},i=s=>{const o=s,l=window.innerWidth>768?.261+.16*o:.173+.193*o,u=t.current.offsetTop+t.current.offsetHeight*l-window.innerHeight/2;window.scrollTo({top:u,behavior:"smooth"})};return _.jsxs("section",{className:"process-section relative w-full",id:"education",ref:t,children:[_.jsx("div",{className:"section-text-start w-full",children:_.jsx("span",{className:"block",children:"Education Journey"})}),_.jsx("div",{className:"container mx-auto",children:_.jsx("div",{className:"row",children:_.jsx("div",{className:"col-md-12",children:_.jsxs("div",{className:"process-scroll-area relative",children:[_.jsx("div",{className:"process-sticky",children:_.jsx("div",{className:"process-moving-relative",children:_.jsx("div",{className:"circle transform-gpu",children:_.jsxs("div",{className:"circle-content",children:[_.jsx("p",{className:"text block"}),_.jsx("div",{className:"step-by-step-button transform-gpu",onClick:s=>{s.preventDefault(),i(1)}})]})})})}),_.jsx("div",{className:"process-moving-path",children:_.jsxs("div",{className:"process-path-svg-relative",children:[_.jsx("div",{className:"mobile-step-start",children:_.jsx("div",{className:"mobile-circle",children:_.jsxs("p",{children:["Explore my",_.jsx("br",{}),"education",_.jsx("br",{}),"journey now"]})})}),_.jsx("div",{className:`single-process process-1 ${r===1?"current":""}`,children:_.jsxs("div",{className:"process-text-wrapper",children:[_.jsx("span",{children:"2015-2022"}),_.jsx("h2",{children:"Amity International School"}),_.jsx("p",{children:"Completed my schooling from Amity International School,where I learned everything from algebra to the fine art of avoiding small talk and still looking busy ð¤«"}),_.jsx("div",{className:"next-step","data-target":"1",onClick:s=>{s.preventDefault(),i(1.1)},children:_.jsx("i",{className:"fas fa-chevron-down"})})]})}),_.jsx("div",{className:`single-process process-2 ${r===2?"current":""}`,children:_.jsxs("div",{className:"process-text-wrapper",children:[_.jsx("span",{children:"2022 - Present"}),_.jsx("h2",{children:"Delhi technological University"}),_.jsx("p",{children:"Pursuing my Engineering in ECE at Delhi Technological University, from navigating the chaos of campus life to surviving on minimal sleep ð´"}),_.jsx("div",{className:"next-step","data-target":"2",onClick:s=>{s.preventDefault(),i(2)},children:_.jsx("i",{className:"fas fa-chevron-down"})})]})}),_.jsx("div",{className:`single-process process-3 ${r===3?"current":""}`,children:_.jsxs("div",{className:"process-text-wrapper",children:[_.jsx("span",{children:"2023 - 2024"}),_.jsx("h2",{children:"DTU Rocketry"}),_.jsx("p",{children:"Learned to build model rockets and even wrote the code for the parachute ejection systemâbecause why should SpaceX have all the fun catching rockets? ð "}),_.jsx("div",{className:"next-step","data-target":"3",onClick:s=>{s.preventDefault(),i(3)},children:_.jsx("i",{className:"fas fa-chevron-down"})})]})}),_.jsx("div",{className:`single-process process-4 ${r===4?"current":""}`,children:_.jsxs("div",{className:"process-text-wrapper",children:[_.jsx("span",{children:"2024 (may - july)"}),_.jsx("h2",{children:"IIT Dharwad Internship"}),_.jsx("p",{children:"I worked on both the hardware and software implementation to create sequences with low correlation values to reduce cross-talk in wireless devicesâbecause nobody wants their signals gossiping behind their back! ð¡"}),_.jsx("div",{className:"next-step","data-target":"4",onClick:s=>{s.preventDefault(),i(4)},children:_.jsx("i",{className:"fas fa-chevron-down"})})]})}),_.jsx("div",{className:"mobile-step-end",children:_.jsx("div",{className:"mobile-circle",children:_.jsxs("p",{children:["The learning process",_.jsx("br",{}),"continues until",_.jsx("br",{})," the day you die."]})})})]})})]})})})})]})},T3=Object.freeze({left:0,top:0,width:16,height:16}),Ry=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),aS=Object.freeze({...T3,...Ry}),Ox=Object.freeze({...aS,body:"",hidden:!1});function lG(r,e){const t={};!r.hFlip!=!e.hFlip&&(t.hFlip=!0),!r.vFlip!=!e.vFlip&&(t.vFlip=!0);const n=((r.rotate||0)+(e.rotate||0))%4;return n&&(t.rotate=n),t}function JE(r,e){const t=lG(r,e);for(const n in Ox)n in Ry?n in r&&!(n in t)&&(t[n]=Ry[n]):n in e?t[n]=e[n]:n in r&&(t[n]=r[n]);return t}function cG(r,e){const t=r.icons,n=r.aliases||Object.create(null),i=Object.create(null);function s(o){if(t[o])return i[o]=[];if(!(o in i)){i[o]=null;const l=n[o]&&n[o].parent,u=l&&s(l);u&&(i[o]=[l].concat(u))}return i[o]}
3967return Object.keys(t).concat(Object.keys(n)).forEach(s),i}function uG(r,e,t){const n=r.icons,i=r.aliases||Object.create(null);let s={};function o(l){s=JE(n[l]||i[l],s)}return o(e),t.forEach(o),JE(r,s)}function I3(r,e){const t=[];if(typeof r!="object"||typeof r.icons!="object")return t;r.not_found instanceof Array&&r.not_found.forEach(i=>{e(i,null),t.push(i)});const n=cG(r);for(const i in n){const s=n[i];s&&(e(i,uG(r,i,s)),t.push(i))}return t}const hG={provider:"",aliases:{},not_found:{},...T3};function H_(r,e){for(const t in e)if(t in r&&typeof r[t]!=typeof e[t])return!1;return!0}function P3(r){if(typeof r!="object"||r===null)return null;const e=r;if(typeof e.prefix!="string"||!r.icons||typeof r.icons!="object"||!H_(r,hG))return null;const t=e.icons;for(const i in t){const s=t[i];if(!i||typeof s.body!="string"||!H_(s,Ox))return null}const n=e.aliases||Object.create(null);for(const i in n){const s=n[i],o=s.parent;if(!i||typeof o!="string"||!t[o]&&!n[o]||!H_(s,Ox))return null}return e}const R3=/^[a-z0-9]+(-[a-z0-9]+)*$/,M1=(r,e,t,n="")=>{const i=r.split(":");if(r.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const l=i.pop(),u=i.pop(),d={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!Eg(d)?null:d}const s=i[0],o=s.split("-");if(o.length>1){const l={provider:n,prefix:o.shift(),name:o.join("-")};return e&&!Eg(l)?null:l}if(t&&n===""){const l={provider:n,prefix:"",name:s};return e&&!Eg(l,t)?null:l}return null},Eg=(r,e)=>r?!!((e&&r.prefix===""||r.prefix)&&r.name):!1,$E=Object.create(null);function dG(r,e){return{provider:r,prefix:e,icons:Object.create(null),missing:new Set}}function Uu(r,e){const t=$E[r]||($E[r]=Object.create(null));return t[e]||(t[e]=dG(r,e))}function lS(r,e){return P3(e)?I3(e,(t,n)=>{n?r.icons[t]=n:r.missing.add(t)}):[]}function fG(r,e,t){try{if(typeof t.body=="string")return r.icons[e]={...t},!0}catch{}return!1}let Qp=!1;function B3(r){return typeof r=="boolean"&&(Qp=r),Qp}function KE(r){const e=typeof r=="string"?M1(r,!0,Qp):r;if(e){const t=Uu(e.provider,e.prefix),n=e.name;return t.icons[n]||(t.missing.has(n)?null:void 0)}}function pG(r,e){const t=M1(r,!0,Qp);if(!t)return!1;const n=Uu(t.provider,t.prefix);return e?fG(n,t.name,e):(n.missing.add(t.name),!0)}function mG(r,e){if(typeof r!="object")return!1;if(typeof e!="string"&&(e=r.provider||""),Qp&&!e&&!r.prefix){let i=!1;return P3(r)&&(r.prefix="",I3(r,(s,o)=>{pG(s,o)&&(i=!0)})),i}const t=r.prefix;if(!Eg({provider:e,prefix:t,name:"a"}))return!1;const n=Uu(e,t);return!!lS(n,r)}const O3=Object.freeze({width:null,height:null}),D3=Object.freeze({...O3,...Ry}),gG=/(-?[0-9.]*[0-9]+[0-9.]*)/g,yG=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function YE(r,e,t){if(e===1)return r;if(t=t||100,typeof r=="number")return Math.ceil(r*e*t)/t;if(typeof r!="string")return r;const n=r.split(gG);if(n===null||!n.length)return r;const i=[];let s=n.shift(),o=yG.test(s);for(;;){if(o){const l=parseFloat(s);isNaN(l)?i.push(s):i.push(Math.ceil(l*e*t)/t)}else i.push(s);if(s=n.shift(),s===void 0)return i.join("");o=!o}}function vG(r,e="defs"){let t="";const n=r.indexOf("<"+e);for(;n>=0;){const i=r.indexOf(">",n),s=r.indexOf("</"+e);if(i===-1||s===-1)break;const o=r.indexOf(">",s);if(o===-1)break;t+=r.slice(i+1,s).trim(),r=r.slice(0,n).trim()+r.slice(o+1)}return{defs:t,content:r}}function _G(r,e){return r?"<defs>"+r+"</defs>"+e:e}function xG(r,e,t){const n=vG(r);return _G(n.defs,e+n.content+t)}const MG=r=>r==="unset"||r==="undefined"||r==="none";function SG(r,e){const t={...aS,...r},n={...D3,...e},i={left:t.left,top:t.top,width:t.width,height:t.height};let s=t.body;[t,n].forEach(E=>{const A=[],M=E.hFlip,T=E.vFlip;let I=E.rotate;M?T?I+=2:(A.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),A.push("scale(-1 1)"),i.top=i.left=0):T&&(A.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),A.push("scale(1 -1)"),i.top=i.left=0);let P;switch(I<0&&(I-=Math.floor(I/4)*4),I=I%4,I){case 1:P=i.height/2+i.top,A.unshift("rotate(90 "+P.toString()+" "+P.toString()+")");break;case 2:A.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:P=i.width/2+i.left,A.unshift("rotate(-90 "+P.toString()+" "+P.toString()+")");break}I%2===1&&(i.left!==i.top&&(P=i.left,i.left=i.top,i.top=P),i.width!==i.height&&(P=i.width,i.width=i.height,i.height=P)),A.length&&(s=xG(s,'<g transform="'+A.join(" ")+'">',"</g>"))});const o=n.width,l=n.height,u=i.width,d=i.height;let p,m;o===null?(m=l===null?"1em":l==="auto"?d:l,p=YE(m,u/d)):(p=o==="auto"?u:o,m=l===null?YE(p,d/u):l==="auto"?d:l);const y={},v=(E,A)=>{MG(A)||(y[E]=A.toString())};v("width",p),v("height",m);const S=[i.left,i.top,u,d];
3967return y.viewBox=S.join(" "),{attributes:y,viewBox:S,body:s}}const wG=/\sid="(\S+)"/g,AG="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let EG=0;function bG(r,e=AG){const t=[];let n;for(;n=wG.exec(r);)t.push(n[1]);if(!t.length)return r;const i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(s=>{const o=typeof e=="function"?e(s):e+(EG++).toString(),l=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");r=r.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+o+i+"$3")}),r=r.replace(new RegExp(i,"g"),""),r}const Dx=Object.create(null);function CG(r,e){Dx[r]=e}function Lx(r){return Dx[r]||Dx[""]}function cS(r){let e;if(typeof r.resources=="string")e=[r.resources];else if(e=r.resources,!(e instanceof Array)||!e.length)return null;return{resources:e,path:r.path||"/",maxURL:r.maxURL||500,rotate:r.rotate||750,timeout:r.timeout||5e3,random:r.random===!0,index:r.index||0,dataAfterTimeout:r.dataAfterTimeout!==!1}}const uS=Object.create(null),vp=["https://api.simplesvg.com","https://api.unisvg.com"],bg=[];for(;vp.length>0;)vp.length===1||Math.random()>.5?bg.push(vp.shift()):bg.push(vp.pop());uS[""]=cS({resources:["https://api.iconify.design"].concat(bg)});function TG(r,e){const t=cS(e);return t===null?!1:(uS[r]=t,!0)}function hS(r){return uS[r]}const IG=()=>{let r;try{if(r=fetch,typeof r=="function")return r}catch{}};let qE=IG();function PG(r,e){const t=hS(r);if(!t)return 0;let n;if(!t.maxURL)n=0;else{let i=0;t.resources.forEach(o=>{i=Math.max(i,o.length)});const s=e+".json?icons=";n=t.maxURL-i-t.path.length-s.length}return n}function RG(r){return r===404}const BG=(r,e,t)=>{const n=[],i=PG(r,e),s="icons";let o={type:s,provider:r,prefix:e,icons:[]},l=0;return t.forEach((u,d)=>{l+=u.length+1,l>=i&&d>0&&(n.push(o),o={type:s,provider:r,prefix:e,icons:[]},l=u.length),o.icons.push(u)}),n.push(o),n};function OG(r){if(typeof r=="string"){const e=hS(r);if(e)return e.path}return"/"}const DG=(r,e,t)=>{if(!qE){t("abort",424);return}let n=OG(e.provider);switch(e.type){case"icons":{const s=e.prefix,l=e.icons.join(","),u=new URLSearchParams({icons:l});n+=s+".json?"+u.toString();break}case"custom":{const s=e.uri;n+=s.slice(0,1)==="/"?s.slice(1):s;break}default:t("abort",400);return}let i=503;qE(r+n).then(s=>{const o=s.status;if(o!==200){setTimeout(()=>{t(RG(o)?"abort":"next",o)});return}return i=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?t("abort",s):t("next",i)});return}setTimeout(()=>{t("success",s)})}).catch(()=>{t("next",i)})},LG={prepare:BG,send:DG};function NG(r){const e={loaded:[],missing:[],pending:[]},t=Object.create(null);r.sort((i,s)=>i.provider!==s.provider?i.provider.localeCompare(s.provider):i.prefix!==s.prefix?i.prefix.localeCompare(s.prefix):i.name.localeCompare(s.name));let n={provider:"",prefix:"",name:""};return r.forEach(i=>{if(n.name===i.name&&n.prefix===i.prefix&&n.provider===i.provider)return;n=i;const s=i.provider,o=i.prefix,l=i.name,u=t[s]||(t[s]=Object.create(null)),d=u[o]||(u[o]=Uu(s,o));let p;l in d.icons?p=e.loaded:o===""||d.missing.has(l)?p=e.missing:p=e.pending;const m={provider:s,prefix:o,name:l};p.push(m)}),e}function L3(r,e){r.forEach(t=>{const n=t.loaderCallbacks;n&&(t.loaderCallbacks=n.filter(i=>i.id!==e))})}function FG(r){r.pendingCallbacksFlag||(r.pendingCallbacksFlag=!0,setTimeout(()=>{r.pendingCallbacksFlag=!1;const e=r.loaderCallbacks?r.loaderCallbacks.slice(0):[];if(!e.length)return;let t=!1;const n=r.provider,i=r.prefix;e.forEach(s=>{const o=s.icons,l=o.pending.length;o.pending=o.pending.filter(u=>{if(u.prefix!==i)return!0;const d=u.name;if(r.icons[d])o.loaded.push({provider:n,prefix:i,name:d});else if(r.missing.has(d))o.missing.push({provider:n,prefix:i,name:d});else return t=!0,!0;return!1}),o.pending.length!==l&&(t||L3([r],s.id),s.callback(o.loaded.slice(0),o.missing.slice(0),o.pending.slice(0),s.abort))})}))}let kG=0;function UG(r,e,t){const n=kG++,i=L3.bind(null,t,n);if(!e.pending.length)return i;const s={id:n,icons:e,callback:r,abort:i};return t.forEach(o=>{(o.loaderCallbacks||(o.loaderCallbacks=[])).push(s)}),i}function jG(r,e=!0,t=!1){const n=[];return r.forEach(i=>
3967{const s=typeof i=="string"?M1(i,e,t):i;s&&n.push(s)}),n}var zG={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function HG(r,e,t,n){const i=r.resources.length,s=r.random?Math.floor(Math.random()*i):r.index;let o;if(r.random){let O=r.resources.slice(0);for(o=[];O.length>1;){const N=Math.floor(Math.random()*O.length);o.push(O[N]),O=O.slice(0,N).concat(O.slice(N+1))}o=o.concat(O)}else o=r.resources.slice(s).concat(r.resources.slice(0,s));const l=Date.now();let u="pending",d=0,p,m=null,y=[],v=[];typeof n=="function"&&v.push(n);function S(){m&&(clearTimeout(m),m=null)}function E(){u==="pending"&&(u="aborted"),S(),y.forEach(O=>{O.status==="pending"&&(O.status="aborted")}),y=[]}function A(O,N){N&&(v=[]),typeof O=="function"&&v.push(O)}function M(){return{startTime:l,payload:e,status:u,queriesSent:d,queriesPending:y.length,subscribe:A,abort:E}}function T(){u="failed",v.forEach(O=>{O(void 0,p)})}function I(){y.forEach(O=>{O.status==="pending"&&(O.status="aborted")}),y=[]}function P(O,N,H){const F=N!=="success";switch(y=y.filter(L=>L!==O),u){case"pending":break;case"failed":if(F||!r.dataAfterTimeout)return;break;default:return}if(N==="abort"){p=H,T();return}if(F){p=H,y.length||(o.length?k():T());return}if(S(),I(),!r.random){const L=r.resources.indexOf(O.resource);L!==-1&&L!==r.index&&(r.index=L)}u="completed",v.forEach(L=>{L(H)})}function k(){if(u!=="pending")return;S();const O=o.shift();if(O===void 0){if(y.length){m=setTimeout(()=>{S(),u==="pending"&&(I(),T())},r.timeout);return}T();return}const N={status:"pending",resource:O,callback:(H,F)=>{P(N,H,F)}};y.push(N),d++,m=setTimeout(k,r.rotate),t(O,e,N.callback)}return setTimeout(k),M}function N3(r){const e={...zG,...r};let t=[];function n(){t=t.filter(l=>l().status==="pending")}function i(l,u,d){const p=HG(e,l,u,(m,y)=>{n(),d&&d(m,y)});return t.push(p),p}function s(l){return t.find(u=>l(u))||null}return{query:i,find:s,setIndex:l=>{e.index=l},getIndex:()=>e.index,cleanup:n}}function QE(){}const G_=Object.create(null);function GG(r){if(!G_[r]){const e=hS(r);if(!e)return;const t=N3(e),n={config:e,redundancy:t};G_[r]=n}return G_[r]}function VG(r,e,t){let n,i;if(typeof r=="string"){const s=Lx(r);if(!s)return t(void 0,424),QE;i=s.send;const o=GG(r);o&&(n=o.redundancy)}else{const s=cS(r);if(s){n=N3(s);const o=r.resources?r.resources[0]:"",l=Lx(o);l&&(i=l.send)}}return!n||!i?(t(void 0,424),QE):n.query(e,i,t)().abort}const ZE="iconify2",Zp="iconify",F3=Zp+"-count",eb=Zp+"-version",k3=36e5,WG=168,XG=50;function Nx(r,e){try{return r.getItem(e)}catch{}}function dS(r,e,t){try{return r.setItem(e,t),!0}catch{}}function tb(r,e){try{r.removeItem(e)}catch{}}function Fx(r,e){return dS(r,F3,e.toString())}function kx(r){return parseInt(Nx(r,F3))||0}const S1={local:!0,session:!0},U3={local:new Set,session:new Set};let fS=!1;function JG(r){fS=r}let _g=typeof window>"u"?{}:window;function j3(r){const e=r+"Storage";try{if(_g&&_g[e]&&typeof _g[e].length=="number")return _g[e]}catch{}S1[r]=!1}function z3(r,e){const t=j3(r);if(!t)return;const n=Nx(t,eb);if(n!==ZE){if(n){const l=kx(t);for(let u=0;u<l;u++)tb(t,Zp+u.toString())}dS(t,eb,ZE),Fx(t,0);return}const i=Math.floor(Date.now()/k3)-WG,s=l=>{const u=Zp+l.toString(),d=Nx(t,u);if(typeof d=="string"){try{const p=JSON.parse(d);if(typeof p=="object"&&typeof p.cached=="number"&&p.cached>i&&typeof p.provider=="string"&&typeof p.data=="object"&&typeof p.data.prefix=="string"&&e(p,l))return!0}catch{}tb(t,u)}};let o=kx(t);for(let l=o-1;l>=0;l--)s(l)||(l===o-1?(o--,Fx(t,o)):U3[r].add(l))}function H3(){if(!fS){JG(!0);for(const r in S1)z3(r,e=>{const t=e.data,n=e.provider,i=t.prefix,s=Uu(n,i);if(!lS(s,t).length)return!1;const o=t.lastModified||-1;return s.lastModifiedCached=s.lastModifiedCached?Math.min(s.lastModifiedCached,o):o,!0})}}function $G(r,e){const t=r.lastModifiedCached;if(t&&t>=e)return t===e;if(r.lastModifiedCached=e,t)for(const n in S1)z3(n,i=>{const s=i.data;return i.provider!==r.provider||s.prefix!==r.prefix||s.lastModified===e});return!0}function KG(r,e){fS||H3();function t(n){let i;if(!S1[n]||!(i=j3(n)))return;const s=U3[n];let o;if(s.size)s.delete(o=Array.from(s).shift());else if(o=kx(i),o>=XG||!Fx(i,o+1))return;const l={cached:Math.floor(Date.now()/k3),provider:r.provider,data:e};return dS(i,Zp+o.toString(),JSON.stringify(l))}e.lastModified&&!$G(r,e.lastModified)||Object.keys(e.icons).length&&(e.not_found&&(e=Object.assign({},e),delete e.not_found),t("local")||t("session"))}function nb(){}function YG(r){r.iconsLoaderFlag||(r.iconsLoaderFlag=!0,setTimeout(()=>{r.iconsLoaderFlag=!1,FG(r)}))}function qG(r){const e=[],t=[];return r.forEach(n=>{(n.match(R3)?e:t).push(n)}),{valid:e,invalid:t}}function _p(r,e,t,n){function i(){const s=r.pendingIcons;e.forEach(o=>{s&&s.delete(o),r.icons[o]||r.missing.add(o)})}if(t&&typeof t=="object")try{if(!lS(r,t).length){i();return}n&&KG(r,t)}catch(s){console.error(s)}i(),YG(r)}function rb(r,e){r instanceof Promise?r.then(t=>{e(t)}).catch(()=>{e(null)}):e(r)}function QG(r,e){r.iconsToLoad?r.iconsToLoad=r.iconsToLoad.concat(e).sort():r.iconsToLoad=e,r.iconsQueueFlag||(r.iconsQueueFlag=!0,setTimeout(()=>{r.iconsQueueFlag=!1;const{provider:t,prefix:n}=r,i=r.iconsToLoad;if(delete r.iconsToLoad,!i||!i.length)return;const s=r.loadIcon;if(r.loadIcons&&(i.length>1||!s)){rb(r.loadIcons(i,n,t),p=>{_p(r,i,p,!1)});return}
3967if(s){i.forEach(p=>{const m=s(p,n,t);rb(m,y=>{const v=y?{prefix:n,icons:{[p]:y}}:null;_p(r,[p],v,!1)})});return}const{valid:o,invalid:l}=qG(i);if(l.length&&_p(r,l,null,!1),!o.length)return;const u=n.match(R3)?Lx(t):null;if(!u){_p(r,o,null,!1);return}u.prepare(t,n,o).forEach(p=>{VG(t,p,m=>{_p(r,p.icons,m,!0)})})}))}const ZG=(r,e)=>{const t=jG(r,!0,B3()),n=NG(t);if(!n.pending.length){let u=!0;return e&&setTimeout(()=>{u&&e(n.loaded,n.missing,n.pending,nb)}),()=>{u=!1}}const i=Object.create(null),s=[];let o,l;return n.pending.forEach(u=>{const{provider:d,prefix:p}=u;if(p===l&&d===o)return;o=d,l=p,s.push(Uu(d,p));const m=i[d]||(i[d]=Object.create(null));m[p]||(m[p]=[])}),n.pending.forEach(u=>{const{provider:d,prefix:p,name:m}=u,y=Uu(d,p),v=y.pendingIcons||(y.pendingIcons=new Set);v.has(m)||(v.add(m),i[d][p].push(m))}),s.forEach(u=>{const d=i[u.provider][u.prefix];d.length&&QG(u,d)}),e?UG(e,n,s):nb};function eV(r,e){const t={...r};for(const n in e){const i=e[n],s=typeof i;n in O3?(i===null||i&&(s==="string"||s==="number"))&&(t[n]=i):s===typeof t[n]&&(t[n]=n==="rotate"?i%4:i)}return t}const tV=/[\s,]+/;function nV(r,e){e.split(tV).forEach(t=>{switch(t.trim()){case"horizontal":r.hFlip=!0;break;case"vertical":r.vFlip=!0;break}})}function rV(r,e=0){const t=r.replace(/^-?[0-9.]*/,"");function n(i){for(;i<0;)i+=4;return i%4}if(t===""){const i=parseInt(r);return isNaN(i)?0:n(i)}else if(t!==r){let i=0;switch(t){case"%":i=25;break;case"deg":i=90}if(i){let s=parseFloat(r.slice(0,r.length-t.length));return isNaN(s)?0:(s=s/i,s%1===0?n(s):0)}}return e}function iV(r,e){let t=r.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)t+=" "+n+'="'+e[n]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+t+">"+r+"</svg>"}function sV(r){return r.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function oV(r){return"data:image/svg+xml,"+sV(r)}function aV(r){return'url("'+oV(r)+'")'}let Lp;function lV(){try{Lp=window.trustedTypes.createPolicy("iconify",{createHTML:r=>r})}catch{Lp=null}}function cV(r){return Lp===void 0&&lV(),Lp?Lp.createHTML(r):r}const G3={...D3,inline:!1},uV={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},hV={display:"inline-block"},Ux={backgroundColor:"currentColor"},V3={backgroundColor:"transparent"},ib={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},sb={WebkitMask:Ux,mask:Ux,background:V3};for(const r in sb){const e=sb[r];for(const t in ib)e[r+t]=ib[t]}const dV={...G3,inline:!0};function ob(r){return r+(r.match(/^[-0-9.]+$/)?"px":"")}const fV=(r,e,t)=>{const n=e.inline?dV:G3,i=eV(n,e),s=e.mode||"svg",o={},l=e.style||{},u={...s==="svg"?uV:{}};if(t){const A=M1(t,!1,!0);if(A){const M=["iconify"],T=["provider","prefix"];for(const I of T)A[I]&&M.push("iconify--"+A[I]);u.className=M.join(" ")}}for(let A in e){const M=e[A];if(M!==void 0)switch(A){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":break;case"_ref":u.ref=M;break;case"className":u[A]=(u[A]?u[A]+" ":"")+M;break;case"inline":case"hFlip":case"vFlip":i[A]=M===!0||M==="true"||M===1;break;case"flip":typeof M=="string"&&nV(i,M);break;case"color":o.color=M;break;case"rotate":typeof M=="string"?i[A]=rV(M):typeof M=="number"&&(i[A]=M);break;case"ariaHidden":case"aria-hidden":M!==!0&&M!=="true"&&delete u["aria-hidden"];break;default:n[A]===void 0&&(u[A]=M)}}const d=SG(r,i),p=d.attributes;if(i.inline&&(o.verticalAlign="-0.125em"),s==="svg"){u.style={...o,...l},Object.assign(u,p);let A=0,M=e.id;return typeof M=="string"&&(M=M.replace(/-/g,"_")),u.dangerouslySetInnerHTML={__html:cV(bG(d.body,M?()=>M+"ID"+A++:"iconifyReact"))},z.createElement("svg",u)}const{body:m,width:y,height:v}=r,S=s==="mask"||(s==="bg"?!1:m.indexOf("currentColor")!==-1),E=iV(m,{...p,width:y+"",height:v+""});return u.style={...o,"--svg":aV(E),width:ob(p.width),height:ob(p.height),...hV,...S?Ux:V3,...l},z.createElement("span",u)};B3(!0);CG("",LG);if(typeof document<"u"&&typeof window<"u"){H3();const r=window;if(r.IconifyPreload!==void 0){const e=r.IconifyPreload,t="Invalid IconifyPreload syntax.";
3967typeof e=="object"&&e!==null&&(e instanceof Array?e:[e]).forEach(n=>{try{(typeof n!="object"||n===null||n instanceof Array||typeof n.icons!="object"||typeof n.prefix!="string"||!mG(n))&&console.error(t)}catch{console.error(t)}})}if(r.IconifyProviders!==void 0){const e=r.IconifyProviders;if(typeof e=="object"&&e!==null)for(let t in e){const n="IconifyProviders["+t+"] is invalid.";try{const i=e[t];if(typeof i!="object"||!i||i.resources===void 0)continue;TG(t,i)||console.error(n)}catch{console.error(n)}}}}function W3(r){const[e,t]=z.useState(!!r.ssr),[n,i]=z.useState({});function s(v){if(v){const S=r.icon;if(typeof S=="object")return{name:"",data:S};const E=KE(S);if(E)return{name:S,data:E}}return{name:""}}const[o,l]=z.useState(s(!!r.ssr));function u(){const v=n.callback;v&&(v(),i({}))}function d(v){if(JSON.stringify(o)!==JSON.stringify(v))return u(),l(v),!0}function p(){var v;const S=r.icon;if(typeof S=="object"){d({name:"",data:S});return}const E=KE(S);if(d({name:S,data:E}))if(E===void 0){const A=ZG([S],p);i({callback:A})}else E&&((v=r.onLoad)===null||v===void 0||v.call(r,S))}z.useEffect(()=>(t(!0),u),[]),z.useEffect(()=>{e&&p()},[r.icon,e]);const{name:m,data:y}=o;return y?fV({...aS,...y},r,m):r.children?r.children:z.createElement("span",{})}const Hn=z.forwardRef((r,e)=>W3({...r,_ref:e}));z.forwardRef((r,e)=>W3({inline:!0,...r,_ref:e}));const pV=()=>_.jsxs("div",{children:[_.jsx("h1",{className:"text-white text-3xl p-4 m-6",children:_.jsx("span",{className:"head-text text-white p-4",children:"Skills"})}),_.jsx("section",{id:"tech-skills",className:"d-container full-vh d-flex-col-center ",children:_.jsxs("div",{className:"micro-cards skill-cards d-flex","data-aos":"zoom-in",children:[_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"devicon:python",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Python"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"vscode-icons:file-type-c",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"C"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"vscode-icons:file-type-cpp",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"C++"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"vscode-icons:file-type-sql",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"SQL"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx(Hn,{icon:"devicon:matlab",width:"40",height:"40",className:"rot"}),_.jsx("span",{children:"MATLAB"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"simple-icons:armkeil",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Keil"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"skill-icons:bootstrap",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Bootstrap"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"vscode-icons:file-type-html",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"HTML"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"vscode-icons:file-type-css",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"CSS"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"logos:javascript",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Javascript"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"logos:pandas",width:"40",height:"40",className:"rot"})}),_.jsx("span",{className:"rmv",children:"Pandas"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"devicon:numpy",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Numpy"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"devicon:opencv",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"OpenCV"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"devicon:scikitlearn",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Sklearn"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"devicon:pytorch",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Pytorch"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"logos:seaborn-icon",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Seaborn"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"logos:tensorflow",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Tensorflow"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"skill-icons:selenium",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Selenium"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"simple-icons:spacy",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Spacy"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"logos:git-icon",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Git"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"mdi:github",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Github"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"logos:linux-tux",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Linux"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx(Hn,{icon:"devicon:vscode",width:"40",height:"40",className:"rot"}),_.jsx("span",{children:"VSCode"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"logos:jupyter",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Jupyter"})]}),_.jsxs("div",{className:"micro-card skill-card d-flex-col-center hover",children:[_.jsx("div",{children:_.jsx(Hn,{icon:"vscode-icons:file-type-assembly",width:"40",height:"40",className:"rot"})}),_.jsx("span",{children:"Assembly"})]})]})})]}),mV=()=>_.jsxs("footer",{className:"c-space pt-7 pb-3 border-t border-black-300 flex justify-between items-center flex-wrap gap-5",children:[_.jsxs("div",{className:"text-white-500 flex gap-2",children:[_.jsx("p",{children:"Terms & Conditions"}),_.jsx("p",{children:"|"}),_.jsx("p",{children:"Privacy Policy"})]}),_.jsxs("div",{className:"flex gap-3",children:[_.jsx("div",{className:"social-icon",children:_.jsx("img",{src:"/assets/github.svg",alt:"github",className:"w-1/2 h-1/2",onClick:()=>window.open("https://github.com/DIVYANSHKATHURIA","_blank")})}),_.jsx("div",{className:"social-icon",children:_.jsx("img",{src:"/assets/linkedin.svg",alt:"linkedin",className:"w-1/2 h-1/2",onClick:()=>window.open("https://linkedin.com/in/divyansh-kathuria","_blank")})})]}),_.jsx("p",{className:"text-white-500",children:"© 2024 Divyansh Kathuria. All rights reserved."})]}),gV=({starCount:r=9e4,animationSpeed:e=4e-4})=>{const t=z.useRef(null),n={x:0,y:0};return z.useEffect(()=>{const i=new Gp,s=new _r(75,window.innerWidth/window.innerHeight,.1,1e3),o=new RM({alpha:!0,antialias:!0});o.setSize(window.innerWidth,window.innerHeight),t.current.appendChild(o.domElement);const l=new Jt,u=new Float32Array(r*3);for(let E=0;E<r*3;E++)u[E]=(Math.random()-.5)*2e3;l.setAttribute("position",new vn(u,3));const d=new _M().load("https://threejs.org/examples/textures/sprites/disc.png"),p=new lm({map:d,size:Math.min(2,window.innerWidth/800),transparent:!0,blending:Cg,depthWrite:!1}),m=new Jy(l,p);i.add(m),s.position.z=800;const y=E=>{n.x=E.clientX/window.innerWidth*2-1,n.y=-(E.clientY/window.innerHeight)*2+1};window.addEventListener("mousemove",y);const v=()=>{m.rotation.y+=e,m.rotation.x+=e/2,m.position.x+=(n.x*10-m.position.x)*.05,m.position.y+=(n.y*10-m.position.y)*.05;const E=m.geometry.attributes.position.array;for(let A=0;A<E.length;A+=3)E[A+1]-=.05,E[A+1]<-1e3&&(E[A+1]=1e3);m.geometry.attributes.position.needsUpdate=!0,o.render(i,s),requestAnimationFrame(v)};v();const S=()=>{o.setSize(window.innerWidth,window.innerHeight),s.aspect=window.innerWidth/window.innerHeight,s.updateProjectionMatrix()};return window.addEventListener("resize",S),()=>{t.current.removeChild(o.domElement),window.removeEventListener("resize",S),window.removeEventListener("mousemove",y),o.dispose(),i.clear()}},[r,e]),_.jsx("div",{ref:t,style:{width:"100%",height:"100vh"}})};function X3(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r)){var i=r.length;for(e=0;e<i;e++)r[e]&&(t=X3(r[e]))&&(n&&(n+=" "),n+=t)}else for(t in r)r[t]&&(n&&(n+=" "),n+=t);return n}function yV(){for(var r,e,t=0,n="",i=arguments.length;t<i;t++)(r=arguments[t])&&(e=X3(r))&&(n&&(n+=" "),n+=e);return n}function vV({url:r,image:e,title:t,description:n,buttonText:i}){const s=o=>{window.open(o,"_blank")};return _.jsxs("div",{className:"relative max-w-sm w-full h-[500px] flex flex-col",children:[_.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-blue-500 to-teal-500 transform scale-[0.9] rounded-2xl blur-3xl"}
3967),_.jsxs("div",{className:"relative flex-grow shadow-xl bg-gray-900 border border-gray-800 px-4 py-8 overflow-hidden rounded-2xl flex flex-col z-10","data-aos":"zoom-in",children:[_.jsx("div",{className:"w-full h-40 mb-4 overflow-hidden rounded-lg z-10",children:_.jsx("img",{className:"w-full h-full object-cover z-100",src:e,alt:t})}),_.jsxs("div",{className:"flex-grow flex flex-col justify-between",children:[_.jsxs("div",{children:[_.jsx("h1",{className:"font-bold text-xl text-white mb-4",children:t}),_.jsx("p",{className:"font-normal text-base text-gray-300 mb-4",children:n})]}),_.jsx("button",{className:"w-full border px-4 py-2 rounded-lg border-gray-500 text-gray-300 hover:bg-gray-800 transition-colors",onClick:()=>s(r),children:i})]}),_.jsx(_V,{number:100})]})]})}const _V=({number:r=20})=>[...new Array(r).fill(!0)].map((e,t)=>_.jsx("span",{className:yV("meteor animate-meteor-effect absolute top-1/2 left-1/2 h-0.5 w-0.5 rounded-[9999px] bg-slate-500 shadow-[0_0_0_1px_#ffffff10] rotate-[215deg]"),style:{top:`${Math.floor(Math.random()*800+-400)}px`,left:`${Math.floor(Math.random()*800+-400)}px`,animationDelay:`${Math.random()*(.8-.2)+.2}s`,animationDuration:`${Math.floor(Math.random()*8+2)}s`}},t));class Sm{constructor(e=0,t="Network Error"){this.status=e,this.text=t}}const xV=()=>{if(!(typeof localStorage>"u"))return{get:r=>Promise.resolve(localStorage.getItem(r)),set:(r,e)=>Promise.resolve(localStorage.setItem(r,e)),remove:r=>Promise.resolve(localStorage.removeItem(r))}},Zr={origin:"https://api.emailjs.com",blockHeadless:!1,storageProvider:xV()},pS=r=>r?typeof r=="string"?{publicKey:r}:r.toString()==="[object Object]"?r:{}:{},MV=(r,e="https://api.emailjs.com")=>{if(!r)return;const t=pS(r);Zr.publicKey=t.publicKey,Zr.blockHeadless=t.blockHeadless,Zr.storageProvider=t.storageProvider,Zr.blockList=t.blockList,Zr.limitRate=t.limitRate,Zr.origin=t.origin||e},J3=async(r,e,t={})=>{const n=await fetch(Zr.origin+r,{method:"POST",headers:t,body:e}),i=await n.text(),s=new Sm(n.status,i);if(n.ok)return s;throw s},$3=(r,e,t)=>{if(!r||typeof r!="string")throw"The public key is required. Visit https://dashboard.emailjs.com/admin/account";if(!e||typeof e!="string")throw"The service ID is required. Visit https://dashboard.emailjs.com/admin";if(!t||typeof t!="string")throw"The template ID is required. Visit https://dashboard.emailjs.com/admin/templates"},SV=r=>{if(r&&r.toString()!=="[object Object]")throw"The template params have to be the object. Visit https://www.emailjs.com/docs/sdk/send/"},K3=r=>r.webdriver||!r.languages||r.languages.length===0,Y3=()=>new Sm(451,"Unavailable For Headless Browser"),wV=(r,e)=>{if(!Array.isArray(r))throw"The BlockList list has to be an array";if(typeof e!="string")throw"The BlockList watchVariable has to be a string"},AV=r=>{var e;return!((e=r.list)!=null&&e.length)||!r.watchVariable},EV=(r,e)=>r instanceof FormData?r.get(e):r[e],q3=(r,e)=>{if(AV(r))return!1;wV(r.list,r.watchVariable);const t=EV(e,r.watchVariable);return typeof t!="string"?!1:r.list.includes(t)},Q3=()=>new Sm(403,"Forbidden"),bV=(r,e)=>{if(typeof r!="number"||r<0)throw"The LimitRate throttle has to be a positive number";if(e&&typeof e!="string")throw"The LimitRate ID has to be a non-empty string"},CV=async(r,e,t)=>{const n=Number(await t.get(r)||0);return e-Date.now()+n},Z3=async(r,e,t)=>{if(!e.throttle||!t)return!1;bV(e.throttle,e.id);const n=e.id||r;return await CV(n,e.throttle,t)>0?!0:(await t.set(n,Date.now().toString()),!1)},eI=()=>new Sm(429,"Too Many Requests"),TV=async(r,e,t,n)=>{const i=pS(n),s=i.publicKey||Zr.publicKey,o=i.blockHeadless||Zr.blockHeadless,l=i.storageProvider||Zr.storageProvider,u={...Zr.blockList,...i.blockList},d={...Zr.limitRate,...i.limitRate};return o&&K3(navigator)?Promise.reject(Y3()):($3(s,r,e),SV(t),t&&q3(u,t)?Promise.reject(Q3()):await Z3(location.pathname,d,l)?Promise.reject(eI()):J3("/api/v1.0/email/send",JSON.stringify({lib_version:"4.4.1",user_id:s,service_id:r,template_id:e,template_params:t}),{"Content-type":"application/json"}))},IV=r=>{if(!r||r.nodeName!=="FORM")throw"The 3rd parameter is expected to be the HTML form element or the style selector of the form"},PV=r=>typeof r=="string"?document.querySelector(r):r,RV=async(r,e,t,n)=>{const i=pS(n),s=i.publicKey||Zr.publicKey,o=i.blockHeadless||Zr.blockHeadless,l=Zr.storageProvider||i.storageProvider,u={...Zr.blockList,...i.blockList},d={...Zr.limitRate,...i.limitRate};if(o&&K3(navigator))return Promise.reject(Y3());const p=PV(t);$3(s,r,e),IV(p);const m=new FormData(p);return q3(u,m)?Promise.reject(Q3()):await Z3(location.pathname,d,l)?Promise.reject(eI()):(m.append("lib_version","4.4.1"),m.append("service_id",r),m.append("template_id",e),m.append("user_id",s),J3("/api/v1.0/email/send-form",m))},BV={init:MV,send:TV,sendForm:RV,EmailJSResponseStatus:Sm},OV=()=>{const r=z.useRef(),[e,t]=z.useState(!1),[n,i]=z.useState({name:"",email:"",message:""}),s=({target:{name:l,value:u}})=>{i({...n,[l]:u})},o=async l=>{l.preventDefault(),t(!0);try{await BV.send("service_1djr0x9","template_96ins5i",{from_name:n.name,to_name:"Divyansh",from_email:n.email,to_email:"divy
3967[email protected]",message:n.message},"bfRYIlRou2NKcy59r"),t(!1),alert("Your message has been successfully sent!")}catch(u){t(!1),console.log(u),alert("Something went wrong!")}};return _.jsx("section",{className:"c-space my-20 relative",children:_.jsxs("div",{className:"relative min-h-screen flex items-center justify-center flex-col",children:[_.jsx("img",{src:"/assets/terminal.png",alt:"",className:"absolute inset-0 w-full h-full object-cover z-0"}),_.jsxs("div",{className:"contact-container z-10 bg-black/50 p-8 rounded-lg shadow-lg",children:[_.jsx("h3",{className:"head-text text-3xl text-white font-bold",children:"Let's Talk"}),_.jsx("p",{className:"text-lg text-gray-300 mt-4",children:"Have questions, opportunities, or just want to say hello? I'm always excited to connect and explore new ideas. Drop me a message using the form below, and I'll get back to you as soon as possible!"}),_.jsxs("form",{ref:r,onSubmit:o,className:"mt-12 flex flex-col space-y-7",children:[_.jsxs("label",{className:"space-y-3",children:[_.jsx("span",{className:"field-label text-white",children:"Full Name"}),_.jsx("input",{type:"text",name:"name",value:n.name,onChange:s,required:!0,className:"field-input p-3 rounded bg-gray-700 text-white w-full"})]}),_.jsxs("label",{className:"space-y-3",children:[_.jsx("span",{className:"field-label text-white",children:"Email"}),_.jsx("input",{type:"email",name:"email",value:n.email,onChange:s,required:!0,className:"field-input p-3 rounded bg-gray-700 text-white w-full"})]}),_.jsxs("label",{className:"space-y-3",children:[_.jsx("span",{className:"field-label text-white",children:"Your Message"}),_.jsx("textarea",{name:"message",value:n.message,onChange:s,required:!0,rows:5,className:"field-input p-3 rounded bg-gray-700 text-white w-full"})]}),_.jsx("button",{className:"field-btn bg-blue-600 text-white py-3 px-6 rounded hover:bg-blue-700 transition",type:"submit",disabled:e,children:e?"Sending...":"Send Message"})]})]})]})})},DV=()=>{const[r,e]=z.useState(!0),t=()=>{e(!0)};return _.jsxs(_.Fragment,{children:[_.jsx("div",{className:"fixed top-0 left-0 w-full h-full",children:_.jsx(gV,{})}),_.jsxs("main",{className:"relative",children:[!r&&_.jsx("div",{className:"fixed inset-0 flex items-center justify-center bg-black z-50",children:_.jsx("video",{src:"/start.mp4",className:"w-full h-full object-cover",autoPlay:!0,muted:!0,onEnded:t})}),_.jsxs("div",{className:`relative z-10 max-w-7xl mx-auto ${r?"opacity-100":"opacity-0"} transition-opacity duration-1000`,children:[_.jsx(FI,{}),_.jsx("div",{id:"home",children:_.jsx(oG,{})}),_.jsx("div",{id:"journey",children:_.jsx(aG,{})}),_.jsx("div",{id:"skills",children:_.jsx(pV,{})}),_.jsxs("div",{id:"my-work",children:[_.jsx("p",{className:"head-text text-white p-4",children:"My Work"}),_.jsx("div",{className:"flex flex-wrap justify-center gap-8 p-4",children:NI.map((n,i)=>_.jsx(vV,{image:n.image,title:n.title,description:n.description,buttonText:n.buttonText,url:n.url},i))})]}),_.jsxs("div",{id:"Contact",children:[_.jsx("p",{className:"head-text text-white p-4 mt-12",children:"Contact"}),_.jsx(OV,{})]}),_.jsx(mV,{})]})]})]})};DI.createRoot(document.getElementById("root")).render(_.jsx(z.StrictMode,{children:_.jsx(DV,{})}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.