vendor: 4,952 bytes, lines 1-2
1/*! For license information please see main.1453c247.js.LICENSE.txt */ 2(()=>{var e={16:(e,t,n)=>{"use strict";e.exports=n(958)},43:(e,t,n)=>{"use strict";e.exports=n(202)},67:(e,t,n)=>{"use strict";e.exports=n(612)},153:(e,t,n)=>{"use strict";var r=n(43),i=Symbol.for("react.element"),a=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,o=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,a={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)s.call(t,r)&&!l.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===a[r]&&(a[r]=t[r]);return{$$typeof:i,type:e,key:c,ref:u,props:a,_owner:o.current}}t.Fragment=a,t.jsx=c,t.jsxs=c},202:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.iterator;var f={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m=Object.assign,g={};function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||f}function y(){}function x(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||f}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!==typeof e&&"function"!==typeof e&&null!=e)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,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=v.prototype;var b=x.prototype=new y;b.constructor=x,m(b,v.prototype),b.isPureReactComponent=!0;var w=Array.isArray,_=Object.prototype.hasOwnProperty,S={current:null},M={key:!0,ref:!0,__self:!0,__source:!0};function E(e,t,r){var i,a={},s=null,o=null;if(null!=t)for(i in void 0!==t.ref&&(o=t.ref),void 0!==t.key&&(s=""+t.key),t)_.call(t,i)&&!M.hasOwnProperty(i)&&(a[i]=t[i]);var l=arguments.length-2;if(1===l)a.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];a.children=c}if(e&&e.defaultProps)for(i in l=e.defaultProps)void 0===a[i]&&(a[i]=l[i]);return{$$typeof:n,type:e,key:s,ref:o,props:a,_owner:S.current}}function T(e){return"object"===typeof e&&null!==e&&e.$$typeof===n}var A=/\/+/g;function C(e,t){return"object"===typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function P(e,t,i,a,s){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var l=!1;if(null===e)l=!0;else switch(o){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return s=s(l=e),e=""===a?"."+C(l,0):a,w(s)?(i="",null!=e&&(i=e.replace(A,"$&/")+"/"),P(s,t,i,"",function(e){return e})):null!=s&&(T(s)&&(s=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(s,i+(!s.key||l&&l.key===s.key?"":(""+s.key).replace(A,"$&/")+"/")+e)),t.push(s)),1;if(l=0,a=""===a?".":a+":",w(e))for(var c=0;c<e.length;c++){var u=a+C(o=e[c],c);l+=P(o,t,i,u,s)}else if(u=function(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=p&&e[p]||e["@@iterator"])?e:null}(e),"function"===typeof u)for(e=u.call(e),c=0;!(o=e.next()).done;)l+=P(o=o.value,t,i,u=a+C(o,c++),s);else if("object"===o)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function N(e,t,n){if(null==e)return e;var r=[],i=0;return P(e,r,"","",function(e){return t.call(n,e,i++)}),r}function R(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L={current:null},k={transition:null},I={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:k,ReactCurrentOwner:S};function D(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!T(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=v,t.Fragment=i,t.Profiler=s,t.PureComponent=x,t.StrictMode=a,t.Suspense=u,t.__SECRET_INT
vendor: 10,279 bytes, line 2
2ERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=I,t.act=D,t.cloneElement=function(e,t,r){if(null===e||void 0===e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var i=m({},e.props),a=e.key,s=e.ref,o=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,o=S.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)_.call(t,c)&&!M.hasOwnProperty(c)&&(i[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)i.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];i.children=l}return{$$typeof:n,type:e.type,key:a,ref:s,props:i,_owner:o}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:o,_context:e},e.Consumer=e},t.createElement=E,t.createFactory=function(e){var t=E.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=T,t.lazy=function(e){return{$$typeof:h,_payload:{_status:-1,_result:e},_init:R}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=k.transition;k.transition={};try{e()}finally{k.transition=t}},t.unstable_act=D,t.useCallback=function(e,t){return L.current.useCallback(e,t)},t.useContext=function(e){return L.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return L.current.useDeferredValue(e)},t.useEffect=function(e,t){return L.current.useEffect(e,t)},t.useId=function(){return L.current.useId()},t.useImperativeHandle=function(e,t,n){return L.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return L.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return L.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return L.current.useMemo(e,t)},t.useReducer=function(e,t,n){return L.current.useReducer(e,t,n)},t.useRef=function(e){return L.current.useRef(e)},t.useState=function(e){return L.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return L.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return L.current.useTransition()},t.version="18.3.1"},205:(e,t,n)=>{"use strict";e.exports=n(302)},234:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(!(0<a(i,t)))break e;e[r]=t,e[n]=i,n=r}}function r(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,s=i>>>1;r<s;){var o=2*(r+1)-1,l=e[o],c=o+1,u=e[c];if(0>a(l,n))c<i&&0>a(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[o]=n,r=o);else{if(!(c<i&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var c=[],u=[],d=1,h=null,p=3,f=!1,m=!1,g=!1,v="function"===typeof setTimeout?setTimeout:null,y="function"===typeof clearTimeout?clearTimeout:null,x="undefined"!==typeof setImmediate?setImmediate:null;function b(e){for(var t=r(u);null!==t;){if(null===t.callback)i(u);else{if(!(t.startTime<=e))break;i(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(g=!1,b(e),!m)if(null!==r(c))m=!0,k(_);else{var t=r(u);null!==t&&I(w,t.startTime-e)}}function _(e,n){m=!1,g&&(g=!1,y(T),T=-1),f=!0;var a=p;try{for(b(n),h=r(c);null!==h&&(!(h.expirationTime>n)||e&&!P());){var s=h.callback;if("function"===typeof s){h.callback=null,p=h.priorityLevel;var o=s(h.expirationTime<=n);n=t.unstable_now(),"function"===typeof o?h.callback=o:h===r(c)&&i(c),b(n)}else i(c);h=r(c)}if(null!==h)var l=!0;else{var d=r(u);null!==d&&I(w,d.startTime-n),l=!1}return l}finally{h=null,p=a,f=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,M=!1,E=null,T=-1,A=5,C=-1;function P(){return!(t.unstable_now()-C<A)}function N(){if(null!==E){var e=t.unstable_now();C=e;var n=!0;try{n=E(!0,e)}finally{n?S():(M=!1,E=null)}}else M=!1}if("function"===typeof x)S=function(){x(N)};else if("undefined"!==typeof MessageChannel){var R=new MessageChannel,L=R.port2;R.port1.onmessage=N,S=function(){L.postMessage(null)}}else S=function(){v(N,0)};function k(e){E=e,M||(M=!0,S())}function I(e,n){T=v(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||f||(m=!0,k(_))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):A=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,i,a){var s=t.unstable_now();switch("object"===typeof a&&null!==a?a="number"===typeof(a=a.delay)&&0<a?s+a:s:a=s,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return e={id:d++,callback:i,priorityLevel:e,startTime:a,expirationTime:o=a+o,sortIndex:-1},a>s?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(g?(y(T),T=-1):g=!0,I(w,a-s))):(e.sortIndex=o,n(c,e),m||f||(m=!0,k(_))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},302:(e,t)=>{"use strict";t.ConcurrentRoot=1,t.ContinuousEventPriority=4,t.DefaultEventPriority=16,t.DiscreteEventPriority=1},391:(e,t,n)=>{"use strict";var r=n(950);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},579:(e,t,n)=>{"use strict";e.exports=n(153)},612:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,i=e[r];if(!(0<a(i,t)))break e;e[r]=t,e[n]=i,n=r}}function r(e){return 0===e.length?null:e[0]}function i(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,i=e.length,s=i>>>1;r<s;){var o=2*(r+1)-1,l=e[o],c=o+1,u=e[c];if(0>a(l,n))c<i&&0>a(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[o]=n,r=o);else{if(!(c<i&&0>a(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"===typeof performance&&"function"===typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var c=[],u=[],d=1,h=null,p=3,f=!1,m=!1,g=!1,v="function"===typeof setTimeout?setTimeout:null,y="function"===typeof clearTimeout?clearTimeout:null,x="undefined"!==typeof setImmediate?setImmediate:null;function b(e){for(var t=r(u);null!==t;){if(null===t.callback)i(u);else{if(!(t.startTime<=e))break;i(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function w(e){if(g=!1,b(e),!m)if(null!==r(c))m=!0,k(_);else{var t=r(u);null!==t&&I(w,t.startTime-e)}}function _(e,n){m=!1,g&&(g=!1,y(T),T=-1),f=!0;var a=p;try{for(b(n),h=r(c);null!==h&&(!(h.expirationTime>n)||e&&!P());){var s=h.callback;if("function"===typeof s){h.callback=null,p=h.priorityLevel;var o=s(h.expirationTime<=n);n=t.unstable_now(),"function"===typeof o?h.callback=o:h===r(c)&&i(c),b(n)}else i(c);h=r(c)}if(null!==h)var l=!0;else{var d=r(u);null!==d&&I(w,d.startTime-n),l=!1}return l}finally{h=null,p=a,f=!1}}"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,M=!1,E=null,T=-1,A=5,C=-1;function P(){return!(t.unstable_now()-C<A)}function N(){if(null!==E){var e=t.unstable_now();C=e;var n=!0;try{n=E(!0,e)}finally{n?S():(M=!1,E=null)}}else M=!1}if("function"===typeof x)S=function(){x(N)};else if("undefined"!==typeof MessageChannel){var R=new MessageChannel,L=R.port2;R.port1.onmessage=N,S=function(){L.postMessage(null)}}else S=function(){v(N,0)};function k(e){E=e,M||(M=!0,S())}function I(e,n){T=v(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){m||f||(m=!0,k(_))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):A=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return p},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(p){case 1:case 2:case 3:var t=3;break;default:t=p}var n=p;p=t;try{return e()}finally{p=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=p;p=e;try{return t()}finally{p=n}},t.unstable_scheduleCallback=function(e,i,a){var s=t.unstable_now();switch("object"===typeof a&&null!==a?a="number"===typeof(a=a.delay)&&0<a?s+a:s:a=s,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return e={id:d++,callback:i,priorityLevel:e,startTime:a,expirationTime:o=a+o,sortIndex:-1},a>s?(e.sortIndex=a,n(u,e),null===r(c)&&e===r(u)&&(g?(y(T),T=-1):g=!0,I(w,a-s))):(e.sortIndex=o,n(c,e),m||f||(m=!0,k(_))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=p;return function(){var n=p;p=t;try{return e.apply(this,arguments)}finally{p=n}}}},730:(e,t,n)=>{"use strict";
vendor: 4,420 bytes, line 2
2var r=n(43),i=n(67);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,o={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(o[e]=t,e=0;e<t.length;e++)s.add(t[e])}var u=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),d=Object.prototype.hasOwnProperty,h=/^[: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={},f={};function m(e,t,n,r,i,a,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=s}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){g[e]=new m(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];g[t]=new m(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){g[e]=new m(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){g[e]=new m(e,2,!1,e,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(e){g[e]=new m(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){g[e]=new m(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){g[e]=new m(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){g[e]=new m(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){g[e]=new m(e,5,!1,e.toLowerCase(),null,!1,!1)});var v=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function x(e,t,n,r){var i=g.hasOwnProperty(t)?g[t]:null;(null!==i?0!==i.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null===t||"undefined"===typeof t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,i,r)&&(n=null),r||null===i?function(e){return!!d.call(f,e)||!d.call(p,e)&&(h.test(e)?f[e]=!0:(p[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):i.mustUseProperty?e[i.propertyName]=null===n?3!==i.type&&"":n:(t=i.attributeName,r=i.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(i=i.type)||4===i&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"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
2-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(e){var t=e.replace(v,y);g[t]=new m(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(v,y);g[t]=new m(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(v,y);g[t]=new m(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!1,!1)}),g.xlinkHref=new m("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){g[e]=new m(e,1,!1,e.toLowerCase(),null,!0,!0)});var b=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),_=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),T=Symbol.for("react.provider"),A=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),P=Symbol.for("react.suspense"),N=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),L=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var k=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var I=Symbol.iterator;function D(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=I&&e[I]||e["@@iterator"])?e:null}var z,O=Object.assign;function j(e){if(void 0===z)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);z=t&&t[1]||""}return"\n"+z+e}var B=!1;function F(e,t){if(!e||B)return"";B=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"===typeof c.stack){for(var i=c.stack.split("\n"),a=r.stack.split("\n"),s=i.length-1,o=a.length-1;1<=s&&0<=o&&i[s]!==a[o];)o--;for(;1<=s&&0<=o;s--,o--)if(i[s]!==a[o]){if(1!==s||1!==o)do{if(s--,0>--o||i[s]!==a[o]){var l="\n"+i[s].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=s&&0<=o);break}}}finally{B=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?j(e):""}function U(e){switch(e.tag){case 5:return j(e.type);case 16:return j("Lazy");case 13:return j("Suspense");case 19:return j("SuspenseList");case 0:case 2:case 15:return e=F(e.type,!1);case 11:return e=F(e.type.render,!1);case 1:return e=F(e.type,!0);default:return""}}function V(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case S:return"Fragment";case _:return"Portal";case E:return"Profiler";case M:return"StrictMode";case P:return"Suspense";case N:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case A:return(e.displayName||"Context")+".Consumer";case T:return(e._context.displayName||"Context")+".Provider";case C:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case R:return null!==(t=e.displayName||null)?t:V(e.type)||"Memo";case L:t=e._payload,e=e._init;try{return V(e(t))}catch(n){}}return null}function H(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return V(t);case 8:return t===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("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function W(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function G(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function q(e){e._valueTracker||(e._valueTracker=function(e){var t=G(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&"undefined"!==typeof n&&"function"===typeof n.get&&"function"===typeof n.set){var i=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)}
vendor: 11,906 bytes, line 2
2,set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function X(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=G(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Y(e){if("undefined"===typeof(e=e||("undefined"!==typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return O({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Q(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=W(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&x(e,"checked",t,!1)}function K(e,t){Z(e,t);var n=W(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,W(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function $(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Y(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t["$"+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty("$"+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=""+W(n),t=null,i=0;i<e.length;i++){if(e[i].value===n)return e[i].selected=!0,void(r&&(e[i].defaultSelected=!0));null!==t||e[i].disabled||(t=e[i])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(a(91));return O({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ie(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(a(92));if(te(n)){if(1<n.length)throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:W(n)}}function ae(e,t){var n=W(t.value),r=W(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function se(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function oe(e){switch(e){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 le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?oe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return ue(e,t)})}:ue);function he(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var pe={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},fe=["Webkit","ms","Moz","O"];function me(e,t,n){return null==t||"boolean"===typeof t||""===t?"":n||"number"!==typeof t||0===t||pe.hasOwnProperty(e)&&pe[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),i=me(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}Object.keys(pe).forEach(function(e){fe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),pe[t]=pe[e]})});var ve=O({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 ye(e,t){if(t){if(ve[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(a(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(a(60));if("object"!==typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(a(61))}if(null!=t.style&&"object"!==typeof t.style)throw Error(a(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"===typeof t.is;switch(e){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 be=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var _e=null,Se=null,Me=null;function Ee(e){if(e=xi(e)){if("function"!==typeof _e)throw Error(a(280));var t=e.stateNode;t&&(t=wi(t),_e(e.stateNode,e.type,t))}}function Te(e){Se?Me?Me.push(e):Me=[e]:Se=e}function Ae(){if(Se){var e=Se,t=Me;if(Me=Se=null,Ee(e),t)for(e=0;e<t.length;e++)Ee(t[e])}}function Ce(e,t){return e(t)}function Pe(){}var Ne=!1;function Re(e,t,n){if(Ne)return e(t,n);Ne=!0;try{return Ce(e,t,n)}finally{Ne=!1,(null!==Se||null!==Me)&&(Pe(),Ae())}}function Le(e,t){var n=e.stateNode;if(null===n)return null;var r=wi(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!==typeof n)throw Error(a(231,t,typeof n));return n}var ke=!1;if(u)try{var Ie={};Object.defineProperty(Ie,"passive",{get:function(){ke=!0}}),window.addEventListener("test",Ie,Ie),window.removeEventListener("test",Ie,Ie)}catch(ue){ke=!1}function De(e,t,n,r,i,a,s,o,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var ze=!1,Oe=null,je=!1,Be=null,Fe={onError:function(e){ze=!0,Oe=e}};function Ue(e,t,n,r,i,a,s,o,l){ze=!1,Oe=null,De.apply(Fe,arguments)}function Ve(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function He(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function We(e){if(Ve(e)!==e)throw Error(a(188))}function Ge(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ve(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var s=i.alternate;if(null===s){if(null!==(r=i.return)){n=r;continue}break}if(i.child===s.child){for(s=i.child;s;){if(s===n)return We(i),e;if(s===r)return We(i),t;s=s.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=s;else{for(var o=!1,l=i.child;l;){if(l===n){o=!0,n=i,r=s;break}if(l===r){o=!0,r=i,n=s;break}l=l.sibling}if(!o){for(l=s.child;l;){if(l===n){o=!0,n=s,r=i;break}if(l===r){o=!0,r=s,n=i;break}l=l.sibling}if(!o)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e))?qe(e):null}function qe(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=qe(e);if(null!==t)return t;e=e.sibling}return null}var Xe=i.unstable_scheduleCallback,Ye=i.unstable_cancelCallback,Je=i.unstable_shouldYield,Qe=i.unstable_requestPaint,Ze=i.unstable_now,Ke=i.unstable_getCurrentPriorityLevel,$e=i.unstable_ImmediatePriority,et=i.unstable_UserBlockingPriority,tt=i.unstable_NormalPriority,nt=i.unstable_LowPriority,rt=i.unstable_IdlePriority,it=null,at=null;var st=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(ot(e)/lt|0)|0},ot=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){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 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ht(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,s=268435455&n;if(0!==s){var o=s&~i;0!==o?r=dt(o):0!==(a&=s)&&(r=dt(a))}else 0!==(s=n&~i)?r=dt(s):0!==a&&(r=dt(a));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&i)&&((i=r&-r)>=(a=t&-t)||16===i&&0!==(4194240&a)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)i=1<<(n=31-st(t)),r|=e[n],t&=~i;return r}function pt(e,t){switch(e){case 1:case 2:case 4:return t+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 t+5e3;default:return-1}}function ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function mt(){var e=ct;return 0===(4194240&(ct<<=1))&&(ct=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function vt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=n}function yt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-st(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var xt=0;function bt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var wt,_t,St,Mt,Et,Tt=!1,At=[],Ct=null,Pt=null,Nt=null,Rt=new Map,Lt=new Map,kt=[],It="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 Dt(e,t){switch(e){case"focusin":case"focusout":Ct=null;break;case"dragenter":case"dragleave":Pt=null;break;case"mouseover":case"mouseout":Nt=null;break;case"pointerover":case"pointerout":Rt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Lt.delete(t.pointerId)}}function zt(e,t,n,r,i,a){return null===e||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},null!==t&&(null!==(t=xi(t))&&_t(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==i&&-1===t.indexOf(i)&&t.push(i),e)}function Ot(e){var t=yi(e.target);if(null!==t){var n=Ve(t);
vendor: 5,370 bytes, line 2
2if(null!==n)if(13===(t=n.tag)){if(null!==(t=He(n)))return e.blockedOn=t,void Et(e.priority,function(){St(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function jt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Jt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xi(n))&&_t(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);be=r,n.target.dispatchEvent(r),be=null,t.shift()}return!0}function Bt(e,t,n){jt(e)&&n.delete(t)}function Ft(){Tt=!1,null!==Ct&&jt(Ct)&&(Ct=null),null!==Pt&&jt(Pt)&&(Pt=null),null!==Nt&&jt(Nt)&&(Nt=null),Rt.forEach(Bt),Lt.forEach(Bt)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,Tt||(Tt=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,Ft)))}function Vt(e){function t(t){return Ut(t,e)}if(0<At.length){Ut(At[0],e);for(var n=1;n<At.length;n++){var r=At[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==Ct&&Ut(Ct,e),null!==Pt&&Ut(Pt,e),null!==Nt&&Ut(Nt,e),Rt.forEach(t),Lt.forEach(t),n=0;n<kt.length;n++)(r=kt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<kt.length&&null===(n=kt[0]).blockedOn;)Ot(n),null===n.blockedOn&&kt.shift()}var Ht=b.ReactCurrentBatchConfig,Wt=!0;function Gt(e,t,n,r){var i=xt,a=Ht.transition;Ht.transition=null;try{xt=1,Xt(e,t,n,r)}finally{xt=i,Ht.transition=a}}function qt(e,t,n,r){var i=xt,a=Ht.transition;Ht.transition=null;try{xt=4,Xt(e,t,n,r)}finally{xt=i,Ht.transition=a}}function Xt(e,t,n,r){if(Wt){var i=Jt(e,t,n,r);if(null===i)Wr(e,t,r,Yt,n),Dt(e,r);else if(function(e,t,n,r,i){switch(t){case"focusin":return Ct=zt(Ct,e,t,n,r,i),!0;case"dragenter":return Pt=zt(Pt,e,t,n,r,i),!0;case"mouseover":return Nt=zt(Nt,e,t,n,r,i),!0;case"pointerover":var a=i.pointerId;return Rt.set(a,zt(Rt.get(a)||null,e,t,n,r,i)),!0;case"gotpointercapture":return a=i.pointerId,Lt.set(a,zt(Lt.get(a)||null,e,t,n,r,i)),!0}return!1}(i,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<It.indexOf(e)){for(;null!==i;){var a=xi(i);if(null!==a&&wt(a),null===(a=Jt(e,t,n,r))&&Wr(e,t,r,Yt,n),a===i)break;i=a}null!==i&&r.stopPropagation()}else Wr(e,t,r,null,n)}}var Yt=null;function Jt(e,t,n,r){if(Yt=null,null!==(e=yi(e=we(r))))if(null===(t=Ve(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=He(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Yt=e,null}function Qt(e){switch(e){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(Ke()){case $e:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Zt=null,Kt=null,$t=null;function en(){if($t)return $t;var e,t,n=Kt,r=n.length,i="value"in Zt?Zt.value:Zt.textContent,a=i.length;for(e=0;e<r&&n[e]===i[e];e++);var s=r-e;for(t=1;t<=s&&n[r-t]===i[a-t];t++);return $t=i.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,i,a){for(var s in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(i):i[s]);return this.isDefaultPrevented=(null!=i.defaultPrevented?i.defaultPrevented:!1===i.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return O(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!==typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!==typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var sn,on,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=an(cn),dn=O({},cn,{view:0,detail:0}),hn=an(dn),pn=O({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.from
vendor: 134,285 bytes, line 2
2Element===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(sn=e.screenX-ln.screenX,on=e.screenY-ln.screenY):on=sn=0,ln=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:on}}),fn=an(pn),mn=an(O({},pn,{dataTransfer:0})),gn=an(O({},dn,{relatedTarget:0})),vn=an(O({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),yn=O({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),xn=an(yn),bn=an(O({},cn,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},_n={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"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Mn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function En(){return Mn}var Tn=O({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?_n[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),An=an(Tn),Cn=an(O({},pn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Pn=an(O({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En})),Nn=an(O({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Rn=O({},pn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Ln=an(Rn),kn=[9,13,27,32],In=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var zn=u&&"TextEvent"in window&&!Dn,On=u&&(!In||Dn&&8<Dn&&11>=Dn),jn=String.fromCharCode(32),Bn=!1;function Fn(e,t){switch(e){case"keyup":return-1!==kn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"===typeof(e=e.detail)&&"data"in e?e.data:null}var Vn=!1;var Hn={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 Wn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Gn(e,t,n,r){Te(r),0<(t=qr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var qn=null,Xn=null;function Yn(e){jr(e,0)}function Jn(e){if(X(bi(e)))return e}function Qn(e,t){if("change"===e)return t}var Zn=!1;if(u){var Kn;if(u){var $n="oninput"in document;if(!$n){var er=document.createElement("div");er.setAttribute("oninput","return;"),$n="function"===typeof er.oninput}Kn=$n}else Kn=!1;Zn=Kn&&(!document.documentMode||9<document.documentMode)}function tr(){qn&&(qn.detachEvent("onpropertychange",nr),Xn=qn=null)}function nr(e){if("value"===e.propertyName&&Jn(Xn)){var t=[];Gn(t,Xn,e,we(e)),Re(Yn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Xn=n,(qn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ir(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Jn(Xn)}function ar(e,t){if("click"===e)return Jn(t)}function sr(e,t){if("input"===e||"change"===e)return Jn(t)}var or="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t};function lr(e,t){if(or(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!d.call(t,i)||!or(e[i],t[i]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hr(){for(var e=window,t=Y();t instanceof e.HTMLIFrameElement;){try{var n="string"===typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=Y((e=t.contentWindow).document)}return t}function pr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function fr(e){var t=hr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&pr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var i=n.textContent.length,a=Math.min(r.start,i);r=void 0===r.end?a:Math.min(r.end,i),!e.extend&&a>r&&(i=r,r=a,a=i),i=ur(n,a);var s=ur(n,r);i&&s&&(1!==e.rangeCount||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(i.node,i.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"===typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var mr=u&&"documentMode"in document&&11>=document.documentMode,gr=null,vr=null,yr=null,xr=!1;function br(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;xr||null==gr||gr!==Y(r)||("selectionStart"in(r=gr)&&pr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},yr&&lr(yr,r)||(yr=r,0<(r=qr(vr,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=gr)))}function wr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var _r={animationend:wr("Animation","AnimationEnd"),animationiteration:wr("Animation","AnimationIteration"),animationstart:wr("Animation","AnimationStart"),transitionend:wr("Transition","TransitionEnd")},Sr={},Mr={};function Er(e){if(Sr[e])return Sr[e];if(!_r[e])return e;var t,n=_r[e];for(t in n)if(n.hasOwnProperty(t)&&t in Mr)return Sr[e]=n[t];return e}u&&(Mr=document.createElement("div").style,"AnimationEvent"in window||(delete _r.animationend.animation,delete _r.animationiteration.animation,delete _r.animationstart.animation),"TransitionEvent"in window||delete _r.transitionend.transition);var Tr=Er("animationend"),Ar=Er("animationiteration"),Cr=Er("animationstart"),Pr=Er("transitionend"),Nr=new Map,Rr="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 Lr(e,t){Nr.set(e,t),l(t,[e])}for(var kr=0;kr<Rr.length;kr++){var Ir=Rr[kr];Lr(Ir.toLowerCase(),"on"+(Ir[0].toUpperCase()+Ir.slice(1)))}Lr(Tr,"onAnimationEnd"),Lr(Ar,"onAnimationIteration"),Lr(Cr,"onAnimationStart"),Lr("dblclick","onDoubleClick"),Lr("focusin","onFocus"),Lr("focusout","onBlur"),Lr(Pr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="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(" "),zr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Or(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,i,s,o,l,c){if(Ue.apply(this,arguments),ze){if(!ze)throw Error(a(198));var u=Oe;ze=!1,Oe=null,je||(je=!0,Be=u)}}(r,t,void 0,e),e.currentTarget=null}function jr(e,t){t=0!==(4&t);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var s=r.length-1;0<=s;s--){var o=r[s],l=o.instance,c=o.currentTarget;if(o=o.listener,l!==a&&i.isPropagationStopped())break e;Or(i,o,c),a=l}else for(s=0;s<r.length;s++){if(l=(o=r[s]).instance,c=o.currentTarget,o=o.listener,l!==a&&i.isPropagationStopped())break e;Or(i,o,c),a=l}}}if(je)throw e=Be,je=!1,Be=null,e}function Br(e,t){var n=t[mi];void 0===n&&(n=t[mi]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function Fr(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var Ur="_reactListening"+Math.random().toString(36).slice(2);function Vr(e){if(!e[Ur]){e[Ur]=!0,s.forEach(function(t){"selectionchange"!==t&&(zr.has(t)||Fr(t,!1,e),Fr(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ur]||(t[Ur]=!0,Fr("selectionchange",!1,t))}}function Hr(e,t,n,r){switch(Qt(t)){case 1:var i=Gt;break;case 4:i=qt;break;default:i=Xt}n=i.bind(null,t,n,e),i=void 0,!ke||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(i=!0),r?void 0!==i?e.addEventListener(t,n,{capture:!0,passive:i}):e.addEventListener(t,n,!0):void 0!==i?e.addEventListener(t,n,{passive:i}):e.addEventListener(t,n,!1)}function Wr(e,t,n,r,i){var a=r;if(0===(1&t)&&0===(2&t)&&null!==r)e:for(;;){if(null===r)return;var s=r.tag;if(3===s||4===s){var o=r.stateNode.containerInfo;if(o===i||8===o.nodeType&&o.parentNode===i)break;if(4===s)for(s=r.return;null!==s;){var l=s.tag;if((3===l||4===l)&&((l=s.stateNode.containerInfo)===i||8===l.nodeType&&l.parentNode===i))return;s=s.return}for(;null!==o;){if(null===(s=yi(o)))return;if(5===(l=s.tag)||6===l){r=a=s;continue e}o=o.parentNode}}r=r.return}Re(function(){var r=a,i=we(n),s=[];e:{var o=Nr.get(e);if(void 0!==o){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=An;break;case"focusin":c="focus",l=gn;break;case"focusout":c="blur",l=gn;break;case"beforeblur":case"afterblur":l=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=fn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=mn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Pn;break;case Tr:case Ar:case Cr:l=vn;break;case Pr:l=Nn;break;case"scroll":l=hn;break;case"wheel":l=Ln;break;case"copy":case"cut":case"paste":l=xn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Cn}var u=0!==(4&t),d=!u&&"scroll"===e,h=u?null!==o?o+"Capture":null:o;u=[];for(var p,f=r;null!==f;){var m=(p=f).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==h&&(null!=(m=Le(f,h))&&u.push(Gr(f,m,p)))),d)break;f=f.return}0<u.length&&(o=new l(o,c,null,n,i),s.push({event:o,listeners:u}))}}if(0===(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(o="mouseover"===e||"pointerover"===e)||n===be||!(c=n.relatedTarget||n.fromElement)||!yi(c)&&!c[fi])&&(l||o)&&(o=i.window===i?i:(o=i.ownerDocument)?o.defaultView||o.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?yi(c):null)&&(c!==(d=Ve(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=fn,m="onMouseLeave",h="onMouseEnter",f="mouse","pointerout"!==e&&"pointerover"!==e||(u=Cn,m="onPointerLeave",h="onPointerEnter",f="pointer"),d=null==l?o:bi(l),p=null==c?o:bi(c),(o=new u(m,f+"leave",l,n,i)).target=d,o.relatedTarget=p,m=null,yi(i)===r&&((u=new u(h,f+"enter",c,n,i)).target=p,u.relatedTarget=d,m=u),d=m,l&&c)e:{for(h=c,f=0,p=u=l;p;p=Xr(p))f++;for(p=0,m=h;m;m=Xr(m))p++;for(;0<f-p;)u=Xr(u),f--;for(;0<p-f;)h=Xr(h),p--;for(;f--;){if(u===h||null!==h&&u===h.alternate)break e;u=Xr(u),h=Xr(h)}u=null}else u=null;null!==l&&Yr(s,o,l,u,!1),null!==c&&null!==d&&Yr(s,d,c,u,!0)}if("select"===(l=(o=r?bi(r):window).nodeName&&o.nodeName.toLowerCase())||"input"===l&&"file"===o.type)var g=Qn;else if(Wn(o))if(Zn)g=sr;else{g=ir;var v=rr}else(l=o.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===o.type||"radio"===o.type)&&(g=ar);switch(g&&(g=g(e,r))?Gn(s,g,n,i):(v&&v(e,o,r),"focusout"===e&&(v=o._wrapperState)&&v.controlled&&"number"===o.type&&ee(o,"number",o.value)),v=r?bi(r):window,e){case"focusin":(Wn(v)||"true"===v.contentEditable)&&(gr=v,vr=r,yr=null);break;case"focusout":yr=vr=gr=null;break;case"mousedown":xr=!0;break;case"contextmenu":case"mouseup":case"dragend":xr=!1,br(s,n,i);break;case"selectionchange":if(mr)break;case"keydown":case"keyup":br(s,n,i)}var y;if(In)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else Vn?Fn(e,n)&&(x="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(x="onCompositionStart");x&&(On&&"ko"!==n.locale&&(Vn||"onCompositionStart"!==x?"onCompositionEnd"===x&&Vn&&(y=en()):(Kt="value"in(Zt=i)?Zt.value:Zt.textContent,Vn=!0)),0<(v=qr(r,x)).length&&(x=new bn(x,e,null,n,i),s.push({event:x,listeners:v}),y?x.data=y:null!==(y=Un(n))&&(x.data=y))),(y=zn?function(e,t){switch(e){case"compositionend":return Un(t);case"keypress":return 32!==t.which?null:(Bn=!0,jn);case"textInput":return(e=t.data)===jn&&Bn?null:e;default:return null}}(e,n):function(e,t){if(Vn)return"compositionend"===e||!In&&Fn(e,t)?(e=en(),$t=Kt=Zt=null,Vn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return On&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=qr(r,"onBeforeInput")).length&&(i=new bn("onBeforeInput","beforeinput",null,n,i),s.push({event:i,listeners:r}),i.data=y))}jr(s,t)})}function Gr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function qr(e,t){for(var n=t+"Capture",r=[];null!==e;){var i=e,a=i.stateNode;5===i.tag&&null!==a&&(i=a,null!=(a=Le(e,n))&&r.unshift(Gr(e,a,i)),null!=(a=Le(e,t))&&r.push(Gr(e,a,i))),e=e.return}return r}function Xr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Yr(e,t,n,r,i){for(var a=t._reactName,s=[];null!==n&&n!==r;){var o=n,l=o.alternate,c=o.stateNode;if(null!==l&&l===r)break;5===o.tag&&null!==c&&(o=c,i?null!=(l=Le(n,a))&&s.unshift(Gr(n,l,o)):i||null!=(l=Le(n,a))&&s.push(Gr(n,l,o))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var Jr=/\r\n?/g,Qr=/\u0000|\uFFFD/g;function Zr(e){return("string"===typeof e?e:""+e).replace(Jr,"\n").replace(Qr,"")}function Kr(e,t,n){if(t=Zr(t),Zr(e)!==t&&n)throw Error(a(425))}function $r(){}var ei=null,ti=null;function ni(e,t){return"textarea"===e||"noscript"===e||"string"===typeof t.children||"number"===typeof t.children||"object"===typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ri="function"===typeof setTimeout?setTimeout:void 0,ii="function"===typeof clearTimeout?clearTimeout:void 0,ai="function"===typeof Promise?Promise:void 0,si="function"===typeof queueMicrotask?queueMicrotask:"undefined"!==typeof ai?function(e){return ai.resolve(null).then(e).catch(oi)}:ri;function oi(e){setTimeout(function(){throw e})}function li(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&8===i.nodeType)if("/$"===(n=i.data)){if(0===r)return e.removeChild(i),void Vt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=i}while(n);Vt(t)}function ci(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ui(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var di=Math.random().toString(36).slice(2),hi="__reactFiber$"+di,pi="__reactProps$"+di,fi="__reactContainer$"+di,mi="__reactEvents$"+di,gi="__reactListeners$"+di,vi="__reactHandles$"+di;function yi(e){var t=e[hi];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fi]||n[hi]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ui(e);null!==e;){if(n=e[hi])return n;e=ui(e)}return t}n=(e=n).parentNode}return null}function xi(e){return!(e=e[hi]||e[fi])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function bi(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function wi(e){return e[pi]||null}var _i=[],Si=-1;function Mi(e){return{current:e}}function Ei(e){0>Si||(e.current=_i[Si],_i[Si]=null,Si--)}function Ti(e,t){Si++,_i[Si]=e.current,e.current=t}var Ai={},Ci=Mi(Ai),Pi=Mi(!1),Ni=Ai;function Ri(e,t){var n=e.type.contextTypes;if(!n)return Ai;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,a={};for(i in n)a[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function Li(e){return null!==(e=e.childContextTypes)&&void 0!==e}function ki(){Ei(Pi),Ei(Ci)}function Ii(e,t,n){if(Ci.current!==Ai)throw Error(a(168));Ti(Ci,t),Ti(Pi,n)}function Di(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in t))throw Error(a(108,H(e)||"Unknown",i));return O({},n,r)}function zi(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ai,Ni=Ci.current,Ti(Ci,e),Ti(Pi,Pi.current),!0}function Oi(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=Di(e,t,Ni),r.__reactInternalMemoizedMergedChildContext=e,Ei(Pi),Ei(Ci),Ti(Ci,e)):Ei(Pi),Ti(Pi,n)}var ji=null,Bi=!1,Fi=!1;function Ui(e){null===ji?ji=[e]:ji.push(e)}function Vi(){if(!Fi&&null!==ji){Fi=!0;var e=0,t=xt;try{var n=ji;for(xt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}ji=null,Bi=!1}catch(i){throw null!==ji&&(ji=ji.slice(e+1)),Xe($e,Vi),i}finally{xt=t,Fi=!1}}return null}var Hi=[],Wi=0,Gi=null,qi=0,Xi=[],Yi=0,Ji=null,Qi=1,Zi="";function Ki(e,t){Hi[Wi++]=qi,Hi[Wi++]=Gi,Gi=e,qi=t}function $i(e,t,n){Xi[Yi++]=Qi,Xi[Yi++]=Zi,Xi[Yi++]=Ji,Ji=e;var r=Qi;e=Zi;var i=32-st(r)-1;r&=~(1<<i),n+=1;var a=32-st(t)+i;if(30<a){var s=i-i%5;a=(r&(1<<s)-1).toString(32),r>>=s,i-=s,Qi=1<<32-st(t)+i|n<<i|r,Zi=a+e}else Qi=1<<a|n<<i|r,Zi=e}function ea(e){null!==e.return&&(Ki(e,1),$i(e,1,0))}function ta(e){for(;e===Gi;)Gi=Hi[--Wi],Hi[Wi]=null,qi=Hi[--Wi],Hi[Wi]=null;for(;e===Ji;)Ji=Xi[--Yi],Xi[Yi]=null,Zi=Xi[--Yi],Xi[Yi]=null,Qi=Xi[--Yi],Xi[Yi]=null}var na=null,ra=null,ia=!1,aa=null;function sa(e,t){var n=Rc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function oa(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,na=e,ra=ci(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,na=e,ra=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Ji?{id:Qi,overflow:Zi}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Rc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,na=e,ra=null,!0);default:return!1}}function la(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function ca(e){if(ia){var t=ra;if(t){var n=t;if(!oa(e,t)){if(la(e))throw Error(a(418));t=ci(n.nextSibling);var r=na;t&&oa(e,t)?sa(r,n):(e.flags=-4097&e.flags|2,ia=!1,na=e)}}else{if(la(e))throw Error(a(418));e.flags=-4097&e.flags|2,ia=!1,na=e}}}function ua(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;na=e}function da(e){if(e!==na)return!1;if(!ia)return ua(e),ia=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ni(e.type,e.memoizedProps)),t&&(t=ra)){if(la(e))throw ha(),Error(a(418));for(;t;)sa(e,t),t=ci(t.nextSibling)}if(ua(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(a(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ra=ci(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ra=null}}else ra=na?ci(e.stateNode.nextSibling):null;return!0}function ha(){for(var e=ra;e;)e=ci(e.nextSibling)}function pa(){ra=na=null,ia=!1}function fa(e){null===aa?aa=[e]:aa.push(e)}var ma=b.ReactCurrentBatchConfig;function ga(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(a(309));var r=n.stateNode}if(!r)throw Error(a(147,e));var i=r,s=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===s?t.ref:(t=function(e){var t=i.refs;null===e?delete t[s]:t[s]=e},t._stringRef=s,t)}if("string"!==typeof e)throw Error(a(284));if(!n._owner)throw Error(a(290,e))}return e}function va(e,t){throw e=Object.prototype.toString.call(t),Error(a(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function ya(e){return(0,e._init)(e._payload)}function xa(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=kc(e,t)).index=0,e.sibling=null,e}function s(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function o(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Oc(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function c(e,t,n,r){var a=n.type;return a===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"===typeof a&&null!==a&&a.$$typeof===L&&ya(a)===t.type)?((r=i(t,n.props)).ref=ga(e,t,n),r.return=e,r):((r=Ic(n.type,n.key,n.props,null,e.mode,r)).ref=ga(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=jc(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Dc(n,e.mode,r,a)).return=e,t):((t=i(t,n)).return=e,t)}function h(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=Oc(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Ic(t.type,t.key,t.props,null,e.mode,n)).ref=ga(e,null,t),n.return=e,n;case _:return(t=jc(t,e.mode,n)).return=e,t;case L:return h(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Dc(t,e.mode,n,null)).return=e,t;va(e,t)}return null}function p(e,t,n,r){var i=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==i?null:l(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===i?c(e,t,n,r):null;case _:return n.key===i?u(e,t,n,r):null;case L:return p(e,t,(i=n._init)(n._payload),r)}if(te(n)||D(n))return null!==i?null:d(e,t,n,r,null);va(e,n)}return null}function f(e,t,n,r,i){if("string"===typeof r&&""!==r||"number"===typeof r)return l(t,e=e.get(n)||null,""+r,i);if("object"===typeof r&&null!==r){switch(r.$$typeof){case w:return c(t,e=e.get(null===r.key?n:r.key)||null,r,i);case _:return u(t,e=e.get(null===r.key?n:r.key)||null,r,i);case L:return f(e,t,n,(0,r._init)(r._payload),i)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,i,null);va(t,r)}return null}function m(i,a,o,l){for(var c=null,u=null,d=a,m=a=0,g=null;null!==d&&m<o.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var v=p(i,d,o[m],l);if(null===v){null===d&&(d=g);break}e&&d&&null===v.alternate&&t(i,d),a=s(v,a,m),null===u?c=v:u.sibling=v,u=v,d=g}if(m===o.length)return n(i,d),ia&&Ki(i,m),c;if(null===d){for(;m<o.length;m++)null!==(d=h(i,o[m],l))&&(a=s(d,a,m),null===u?c=d:u.sibling=d,u=d);return ia&&Ki(i,m),c}for(d=r(i,d);m<o.length;m++)null!==(g=f(d,i,m,o[m],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),a=s(g,a,m),null===u?c=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),ia&&Ki(i,m),c}function g(i,o,l,c){var u=D(l);if("function"!==typeof u)throw Error(a(150));if(null==(l=u.call(l)))throw Error(a(151));for(var d=u=null,m=o,g=o=0,v=null,y=l.next();null!==m&&!y.done;g++,y=l.next()){m.index>g?(v=m,m=null):v=m.sibling;var x=p(i,m,y.value,c);if(null===x){null===m&&(m=v);break}e&&m&&null===x.alternate&&t(i,m),o=s(x,o,g),null===d?u=x:d.sibling=x,d=x,m=v}if(y.done)return n(i,m),ia&&Ki(i,g),u;if(null===m){for(;!y.done;g++,y=l.next())null!==(y=h(i,y.value,c))&&(o=s(y,o,g),null===d?u=y:d.sibling=y,d=y);return ia&&Ki(i,g),u}for(m=r(i,m);!y.done;g++,y=l.next())null!==(y=f(m,i,g,y.value,c))&&(e&&null!==y.alternate&&m.delete(null===y.key?g:y.key),o=s(y,o,g),null===d?u=y:d.sibling=y,d=y);return e&&m.forEach(function(e){return t(i,e)}),ia&&Ki(i,g),u}return function e(r,a,s,l){if("object"===typeof s&&null!==s&&s.type===S&&null===s.key&&(s=s.props.children),"object"===typeof s&&null!==s){switch(s.$$typeof){case w:e:{for(var c=s.key,u=a;null!==u;){if(u.key===c){if((c=s.type)===S){if(7===u.tag){n(r,u.sibling),(a=i(u,s.props.children)).return=r,r=a;break e}}else if(u.elementType===c||"object"===typeof c&&null!==c&&c.$$typeof===L&&ya(c)===u.type){n(r,u.sibling),(a=i(u,s.props)).ref=ga(r,u,s),a.return=r,r=a;break e}n(r,u);break}t(r,u),u=u.sibling}s.type===S?((a=Dc(s.props.children,r.mode,l,s.key)).return=r,r=a):((l=Ic(s.type,s.key,s.props,null,r.mode,l)).ref=ga(r,a,s),l.return=r,r=l)}return o(r);case _:e:{for(u=s.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===s.containerInfo&&a.stateNode.implementation===s.implementation){n(r,a.sibling),(a=i(a,s.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=jc(s,r.mode,l)).return=r,r=a}return o(r);case L:return e(r,a,(u=s._init)(s._payload),l)}if(te(s))return m(r,a,s,l);if(D(s))return g(r,a,s,l);va(r,s)}return"string"===typeof s&&""!==s||"number"===typeof s?(s=""+s,null!==a&&6===a.tag?(n(r,a.sibling),(a=i(a,s)).return=r,r=a):(n(r,a),(a=Oc(s,r.mode,l)).return=r,r=a),o(r)):n(r,a)}}var ba=xa(!0),wa=xa(!1),_a=Mi(null),Sa=null,Ma=null,Ea=null;function Ta(){Ea=Ma=Sa=null}function Aa(e){var t=_a.current;Ei(_a),e._currentValue=t}function Ca(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Pa(e,t){Sa=e,Ea=Ma=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(xo=!0),e.firstContext=null)}function Na(e){var t=e._currentValue;if(Ea!==e)if(e={context:e,memoizedValue:t,next:null},null===Ma){if(null===Sa)throw Error(a(308));Ma=e,Sa.dependencies={lanes:0,firstContext:e}}else Ma=Ma.next=e;return t}var Ra=null;function La(e){null===Ra?Ra=[e]:Ra.push(e)}function ka(e,t,n,r){var i=t.interleaved;return null===i?(n.next=n,La(t)):(n.next=i.next,i.next=n),t.interleaved=n,Ia(e,r)}function Ia(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Da=!1;function za(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Oa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ja(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ba(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!==(2&Cl)){var i=r.pending;return null===i?t.next=t:(t.next=i.next,i.next=t),r.pending=t,Ia(e,n)}return null===(i=r.interleaved)?(t.next=t,La(r)):(t.next=i.next,i.next=t),r.interleaved=t,Ia(e,n)}function Fa(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}function Ua(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var i=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?i=a=s:a=a.next=s,n=n.next}while(null!==n);null===a?i=a=t:a=a.next=t}else i=a=t;return n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Va(e,t,n,r){var i=e.updateQueue;Da=!1;var a=i.firstBaseUpdate,s=i.lastBaseUpdate,o=i.shared.pending;if(null!==o){i.shared.pending=null;var l=o,c=l.next;l.next=null,null===s?a=c:s.next=c,s=l;var u=e.alternate;null!==u&&((o=(u=u.updateQueue).lastBaseUpdate)!==s&&(null===o?u.firstBaseUpdate=c:o.next=c,u.lastBaseUpdate=l))}if(null!==a){var d=i.baseState;for(s=0,u=c=l=null,o=a;;){var h=o.lane,p=o.eventTime;if((r&h)===h){null!==u&&(u=u.next={eventTime:p,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var f=e,m=o;switch(h=t,p=n,m.tag){case 1:if("function"===typeof(f=m.payload)){d=f.call(p,d,h);break e}d=f;break e;case 3:f.flags=-65537&f.flags|128;case 0:if(null===(h="function"===typeof(f=m.payload)?f.call(p,d,h):f)||void 0===h)break e;d=O({},d,h);break e;case 2:Da=!0}}null!==o.callback&&0!==o.lane&&(e.flags|=64,null===(h=i.effects)?i.effects=[o]:h.push(o))}else p={eventTime:p,lane:h,tag:o.tag,payload:o.payload,callback:o.callback,next:null},null===u?(c=u=p,l=d):u=u.next=p,s|=h;if(null===(o=o.next)){if(null===(o=i.shared.pending))break;o=(h=o).next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}if(null===u&&(l=d),i.baseState=l,i.firstBaseUpdate=c,i.lastBaseUpdate=u,null!==(t=i.shared.interleaved)){i=t;do{s|=i.lane,i=i.next}while(i!==t)}else null===a&&(i.shared.lanes=0);zl|=s,e.lanes=s,e.memoizedState=d}}function Ha(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=n,"function"!==typeof i)throw Error(a(191,i));i.call(r)}}}var Wa={},Ga=Mi(Wa),qa=Mi(Wa),Xa=Mi(Wa);function Ya(e){if(e===Wa)throw Error(a(174));return e}function Ja(e,t){switch(Ti(Xa,t),Ti(qa,e),Ti(Ga,Wa),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ei(Ga),Ti(Ga,t)}function Qa(){Ei(Ga),Ei(qa),Ei(Xa)}function Za(e){Ya(Xa.current);var t=Ya(Ga.current),n=le(t,e.type);t!==n&&(Ti(qa,e),Ti(Ga,n))}function Ka(e){qa.current===e&&(Ei(Ga),Ei(qa))}var $a=Mi(0);function es(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ts=[];function ns(){for(var e=0;e<ts.length;e++)ts[e]._workInProgressVersionPrimary=null;ts.length=0}var rs=b.ReactCurrentDispatcher,is=b.ReactCurrentBatchConfig,as=0,ss=null,os=null,ls=null,cs=!1,us=!1,ds=0,hs=0;function ps(){throw Error(a(321))}function fs(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!or(e[n],t[n]))return!1;return!0}function ms(e,t,n,r,i,s){if(as=s,ss=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,rs.current=null===e||null===e.memoizedState?Ks:$s,e=n(r,i),us){s=0;do{if(us=!1,ds=0,25<=s)throw Error(a(301));s+=1,ls=os=null,t.updateQueue=null,rs.current=eo,e=n(r,i)}while(us)}if(rs.current=Zs,t=null!==os&&null!==os.next,as=0,ls=os=ss=null,cs=!1,t)throw Error(a(300));return e}function gs(){var e=0!==ds;return ds=0,e}function vs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ls?ss.memoizedState=ls=e:ls=ls.next=e,ls}function ys(){if(null===os){var e=ss.alternate;e=null!==e?e.memoizedState:null}else e=os.next;var t=null===ls?ss.memoizedState:ls.next;if(null!==t)ls=t,os=e;else{if(null===e)throw Error(a(310));e={memoizedState:(os=e).memoizedState,baseState:os.baseState,baseQueue:os.baseQueue,queue:os.queue,next:null},null===ls?ss.memoizedState=ls=e:ls=ls.next=e}return ls}function xs(e,t){return"function"===typeof t?t(e):t}function bs(e){var t=ys(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=os,i=r.baseQueue,s=n.pending;if(null!==s){if(null!==i){var o=i.next;i.next=s.next,s.next=o}r.baseQueue=i=s,n.pending=null}if(null!==i){s=i.next,r=r.baseState;var l=o=null,c=null,u=s;do{var d=u.lane;if((as&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var h={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=h,o=r):c=c.next=h,ss.lanes|=d,zl|=d}u=u.next}while(null!==u&&u!==s);null===c?o=r:c.next=l,or(r,t.memoizedState)||(xo=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){i=e;do{s=i.lane,ss.lanes|=s,zl|=s,i=i.next}while(i!==e)}else null===i&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ws(e){var t=ys(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,s=t.memoizedState;if(null!==i){n.pending=null;var o=i=i.next;do{s=e(s,o.action),o=o.next}while(o!==i);or(s,t.memoizedState)||(xo=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),n.lastRenderedState=s}return[s,r]}function _s(){}function Ss(e,t){var n=ss,r=ys(),i=t(),s=!or(r.memoizedState,i);if(s&&(r.memoizedState=i,xo=!0),r=r.queue,Ds(Ts.bind(null,n,r,e),[e]),r.getSnapshot!==t||s||null!==ls&&1&ls.memoizedState.tag){if(n.flags|=2048,Ns(9,Es.bind(null,n,r,i,t),void 0,null),null===Pl)throw Error(a(349));0!==(30&as)||Ms(n,t,i)}return i}function Ms(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=ss.updateQueue)?(t={lastEffect:null,stores:null},ss.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Es(e,t,n,r){t.value=n,t.getSnapshot=r,As(t)&&Cs(e)}function Ts(e,t,n){return n(function(){As(t)&&Cs(e)})}function As(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!or(e,n)}catch(r){return!0}}function Cs(e){var t=Ia(e,1);null!==t&&nc(t,e,1,-1)}function Ps(e){var t=vs();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xs,lastRenderedState:e},t.queue=e,e=e.dispatch=Xs.bind(null,ss,e),[t.memoizedState,e]}function Ns(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=ss.updateQueue)?(t={lastEffect:null,stores:null},ss.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Rs(){return ys().memoizedState}function Ls(e,t,n,r){var i=vs();ss.flags|=e,i.memoizedState=Ns(1|t,n,void 0,void 0===r?null:r)}function ks(e,t,n,r){var i=ys();r=void 0===r?null:r;var a=void 0;if(null!==os){var s=os.memoizedState;if(a=s.destroy,null!==r&&fs(r,s.deps))return void(i.memoizedState=Ns(t,n,a,r))}ss.flags|=e,i.memoizedState=Ns(1|t,n,a,r)}function Is(e,t){return Ls(8390656,8,e,t)}function Ds(e,t){return ks(2048,8,e,t)}function zs(e,t){return ks(4,2,e,t)}function Os(e,t){return ks(4,4,e,t)}function js(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bs(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,ks(4,4,js.bind(null,t,e),n)}function Fs(){}function Us(e,t){var n=ys();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&fs(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Vs(e,t){var n=ys();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&fs(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Hs(e,t,n){return 0===(21&as)?(e.baseState&&(e.baseState=!1,xo=!0),e.memoizedState=n):(or(n,t)||(n=mt(),ss.lanes|=n,zl|=n,e.baseState=!0),t)}function Ws(e,t){var n=xt;xt=0!==n&&4>n?n:4,e(!0);var r=is.transition;is.transition={};try{e(!1),t()}finally{xt=n,is.transition=r}}function Gs(){return ys().memoizedState}function qs(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ys(e))Js(t,n);else if(null!==(n=ka(e,t,n,r))){nc(n,e,r,ec()),Qs(n,t,r)}}function Xs(e,t,n){var r=tc(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ys(e))Js(t,i);else{var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var s=t.lastRenderedState,o=a(s,n);if(i.hasEagerState=!0,i.eagerState=o,or(o,s)){var l=t.interleaved;return null===l?(i.next=i,La(t)):(i.next=l.next,l.next=i),void(t.interleaved=i)}}catch(c){}null!==(n=ka(e,t,i,r))&&(nc(n,e,r,i=ec()),Qs(n,t,r))}}function Ys(e){var t=e.alternate;return e===ss||null!==t&&t===ss}function Js(e,t){us=cs=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Qs(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,yt(e,n)}}var Zs={readContext:Na,useCallback:ps,useContext:ps,useEffect:ps,useImperativeHandle:ps,useInsertionEffect:ps,useLayoutEffect:ps,useMemo:ps,useReducer:ps,useRef:ps,useState:ps,useDebugValue:ps,useDeferredValue:ps,useTransition:ps,useMutableSource:ps,useSyncExternalStore:ps,useId:ps,unstable_isNewReconciler:!1},Ks={readContext:Na,useCallback:function(e,t){return vs().memoizedState=[e,void 0===t?null:t],e},useContext:Na,useEffect:Is,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Ls(4194308,4,js.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ls(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ls(4,2,e,t)},useMemo:function(e,t){var n=vs();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=vs();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=qs.bind(null,ss,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},vs().memoizedState=e},useState:Ps,useDebugValue:Fs,useDeferredValue:function(e){return vs().memoizedState=e},useTransition:function(){var e=Ps(!1),t=e[0];return e=Ws.bind(null,e[1]),vs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ss,i=vs();if(ia){if(void 0===n)throw Error(a(407));n=n()}else{if(n=t(),null===Pl)throw Error(a(349));0!==(30&as)||Ms(r,t,n)}i.memoizedState=n;var s={value:n,getSnapshot:t};return i.queue=s,Is(Ts.bind(null,r,s,e),[e]),r.flags|=2048,Ns(9,Es.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=vs(),t=Pl.identifierPrefix;if(ia){var n=Zi;t=":"+t+"R"+(n=(Qi&~(1<<32-st(Qi)-1)).toString(32)+n),0<(n=ds++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=hs++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},$s={readContext:Na,useCallback:Us,useContext:Na,useEffect:Ds,useImperativeHandle:Bs,useInsertionEffect:zs,useLayoutEffect:Os,useMemo:Vs,useReducer:bs,useRef:Rs,useState:function(){return bs(xs)},useDebugValue:Fs,useDeferredValue:function(e){return Hs(ys(),os.memoizedState,e)},useTransition:function(){return[bs(xs)[0],ys().memoizedState]},useMutableSource:_s,useSyncExternalStore:Ss,useId:Gs,unstable_isNewReconciler:!1},eo={readContext:Na,useCallback:Us,useContext:Na,useEffect:Ds,useImperativeHandle:Bs,useInsertionEffect:zs,useLayoutEffect:Os,useMemo:Vs,useReducer:ws,useRef:Rs,useState:function(){return ws(xs)},useDebugValue:Fs,useDeferredValue:function(e){var t=ys();return null===os?t.memoizedState=e:Hs(t,os.memoizedState,e)},useTransition:function(){return[ws(xs)[0],ys().memoizedState]},useMutableSource:_s,useSyncExternalStore:Ss,useId:Gs,unstable_isNewReconciler:!1};function to(e,t){if(e&&e.defaultProps){for(var n in t=O({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function no(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:O({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ro={isMounted:function(e){return!!(e=e._reactInternals)&&Ve(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),i=tc(e),a=ja(r,i);a.payload=t,void 0!==n&&null!==n&&(a.callback=n),null!==(t=Ba(e,a,i))&&(nc(t,e,i,r),Fa(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),i=tc(e),a=ja(r,i);a.tag=1,a.payload=t,void 0!==n&&null!==n&&(a.callback=n),null!==(t=Ba(e,a,i))&&(nc(t,e,i,r),Fa(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),i=ja(n,r);i.tag=2,void 0!==t&&null!==t&&(i.callback=t),null!==(t=Ba(e,i,r))&&(nc(t,e,r,n),Fa(t,e,r))}};function io(e,t,n,r,i,a,s){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,s):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(i,a))}function ao(e,t,n){var r=!1,i=Ai,a=t.contextType;return"object"===typeof a&&null!==a?a=Na(a):(i=Li(t)?Ni:Ci.current,a=(r=null!==(r=t.contextTypes)&&void 0!==r)?Ri(e,i):Ai),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ro,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function so(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ro.enqueueReplaceState(t,t.state,null)}function oo(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},za(e);var a=t.contextType;"object"===typeof a&&null!==a?i.context=Na(a):(a=Li(t)?Ni:Ci.current,i.context=Ri(e,a)),i.state=e.memoizedState,"function"===typeof(a=t.getDerivedStateFromProps)&&(no(e,t,a,n),i.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof i.getSnapshotBeforeUpdate||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||(t=i.state,"function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&ro.enqueueReplaceState(i,i.state,null),Va(e,n,i,r),i.state=e.memoizedState),"function"===typeof i.componentDidMount&&(e.flags|=4194308)}function lo(e,t){try{var n="",r=t;do{n+=U(r),r=r.return}while(r);var i=n}catch(a){i="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:i,digest:null}}function co(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function uo(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var ho="function"===typeof WeakMap?WeakMap:Map;function po(e,t,n){(n=ja(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Wl||(Wl=!0,Gl=r),uo(0,t)},n}function fo(e,t,n){(n=ja(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){uo(0,t)}}var a=e.stateNode;return null!==a&&"function"===typeof a.componentDidCatch&&(n.callback=function(){uo(0,t),"function"!==typeof r&&(null===ql?ql=new Set([this]):ql.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function mo(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ho;var i=new Set;r.set(t,i)}else void 0===(i=r.get(t))&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=Ec.bind(null,e,t,n),t.then(e,e))}function go(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function vo(e,t,n,r,i){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=ja(-1,1)).tag=2,Ba(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}var yo=b.ReactCurrentOwner,xo=!1;function bo(e,t,n,r){t.child=null===e?wa(t,null,n,r):ba(t,e.child,n,r)}function wo(e,t,n,r,i){n=n.render;var a=t.ref;return Pa(t,i),r=ms(e,t,n,r,a,i),n=gs(),null===e||xo?(ia&&n&&ea(t),t.flags|=1,bo(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Wo(e,t,i))}function _o(e,t,n,r,i){if(null===e){var a=n.type;return"function"!==typeof a||Lc(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ic(n.type,null,r,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,So(e,t,a,r,i))}if(a=e.child,0===(e.lanes&i)){var s=a.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(s,r)&&e.ref===t.ref)return Wo(e,t,i)}return t.flags|=1,(e=kc(a,r)).ref=t.ref,e.return=t,t.child=e}function So(e,t,n,r,i){if(null!==e){var a=e.memoizedProps;if(lr(a,r)&&e.ref===t.ref){if(xo=!1,t.pendingProps=r=a,0===(e.lanes&i))return t.lanes=e.lanes,Wo(e,t,i);0!==(131072&e.flags)&&(xo=!0)}}return To(e,t,n,r,i)}function Mo(e,t,n){var r=t.pendingProps,i=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ti(kl,Ll),Ll|=n;else{if(0===(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ti(kl,Ll),Ll|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==a?a.baseLanes:n,Ti(kl,Ll),Ll|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,Ti(kl,Ll),Ll|=r;return bo(e,t,i,n),t.child}function Eo(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function To(e,t,n,r,i){var a=Li(n)?Ni:Ci.current;return a=Ri(t,a),Pa(t,i),n=ms(e,t,n,r,a,i),r=gs(),null===e||xo?(ia&&r&&ea(t),t.flags|=1,bo(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Wo(e,t,i))}function Ao(e,t,n,r,i){if(Li(n)){var a=!0;zi(t)}else a=!1;if(Pa(t,i),null===t.stateNode)Ho(e,t),ao(t,n,r),oo(t,n,r,i),r=!0;else if(null===e){var s=t.stateNode,o=t.memoizedProps;s.props=o;var l=s.context,c=n.contextType;"object"===typeof c&&null!==c?c=Na(c):c=Ri(t,c=Li(n)?Ni:Ci.current);var u=n.getDerivedStateFromProps,d="function"===typeof u||"function"===typeof s.getSnapshotBeforeUpdate;d||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(o!==r||l!==c)&&so(t,s,r,c),Da=!1;var h=t.memoizedState;s.state=h,Va(t,r,s,i),l=t.memoizedState,o!==r||h!==l||Pi.current||Da?("function"===typeof u&&(no(t,n,u,r),l=t.memoizedState),(o=Da||io(t,n,o,r,h,l,c))?(d||"function"!==typeof s.UNSAFE_componentWillMount&&"function"!==typeof s.componentWillMount||("function"===typeof s.componentWillMount&&s.componentWillMount(),"function"===typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"===typeof s.componentDidMount&&(t.flags|=4194308)):("function"===typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=c,r=o):("function"===typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,Oa(e,t),o=t.memoizedProps,c=t.type===t.elementType?o:to(t.type,o),s.props=c,d=t.pendingProps,h=s.context,"object"===typeof(l=n.contextType)&&null!==l?l=Na(l):l=Ri(t,l=Li(n)?Ni:Ci.current);var p=n.getDerivedStateFromProps;(u="function"===typeof p||"function"===typeof s.getSnapshotBeforeUpdate)||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(o!==d||h!==l)&&so(t,s,r,l),Da=!1,h=t.memoizedState,s.state=h,Va(t,r,s,i);var f=t.memoizedState;o!==d||h!==f||Pi.current||Da?("function"===typeof p&&(no(t,n,p,r),f=t.memoizedState),(c=Da||io(t,n,c,r,h,f,l)||!1)?(u||"function"!==typeof s.UNSAFE_componentWillUpdate&&"function"!==typeof s.componentWillUpdate||("function"===typeof s.componentWillUpdate&&s.componentWillUpdate(r,f,l),"function"===typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,f,l)),"function"===typeof s.componentDidUpdate&&(t.flags|=4),"function"===typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof s.componentDidUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),s.props=r,s.state=f,s.context=l,r=c):("function"!==typeof s.componentDidUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return Co(e,t,n,r,a,i)}function Co(e,t,n,r,i,a){Eo(e,t);var s=0!==(128&t.flags);if(!r&&!s)return i&&Oi(t,n,!1),Wo(e,t,a);r=t.stateNode,yo.current=t;var o=s&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=ba(t,e.child,null,a),t.child=ba(t,null,o,a)):bo(e,t,o,a),t.memoizedState=r.state,i&&Oi(t,n,!0),t.child}function Po(e){var t=e.stateNode;t.pendingContext?Ii(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ii(0,t.context,!1),Ja(e,t.containerInfo)}function No(e,t,n,r,i){return pa(),fa(i),t.flags|=256,bo(e,t,n,r),t.child}var Ro,Lo,ko,Io,Do={dehydrated:null,treeContext:null,retryLane:0};function zo(e){return{baseLanes:e,cachePool:null,transitions:null}}function Oo(e,t,n){var r,i=t.pendingProps,s=$a.current,o=!1,l=0!==(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!==(2&s)),r?(o=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),Ti($a,1&s),null===e)return ca(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=i.children,e=i.fallback,o?(i=t.mode,o=t.child,l={mode:"hidden",children:l},0===(1&i)&&null!==o?(o.childLanes=0,o.pendingProps=l):o=zc(l,i,0,null),e=Dc(e,i,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=zo(n),t.memoizedState=Do,e):jo(t,l));if(null!==(s=e.memoizedState)&&null!==(r=s.dehydrated))return function(e,t,n,r,i,s,o){if(n)return 256&t.flags?(t.flags&=-257,Bo(e,t,o,r=co(Error(a(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=r.fallback,i=t.mode,r=zc({mode:"visible",children:r.children},i,0,null),(s=Dc(s,i,o,null)).flags|=2,r.return=t,s.return=t,r.sibling=s,t.child=r,0!==(1&t.mode)&&ba(t,e.child,null,o),t.child.memoizedState=zo(o),t.memoizedState=Do,s);if(0===(1&t.mode))return Bo(e,t,o,null);if("$!"===i.data){if(r=i.nextSibling&&i.nextSibling.dataset)var l=r.dgst;return r=l,Bo(e,t,o,r=co(s=Error(a(419)),r,void 0))}if(l=0!==(o&e.childLanes),xo||l){if(null!==(r=Pl)){switch(o&-o){case 4:i=2;break;case 16:i=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:i=32;break;case 536870912:i=268435456;break;default:i=0}0!==(i=0!==(i&(r.suspendedLanes|o))?0:i)&&i!==s.retryLane&&(s.retryLane=i,Ia(e,i),nc(r,e,i,-1))}return mc(),Bo(e,t,o,r=co(Error(a(421))))}return"$?"===i.data?(t.flags|=128,t.child=e.child,t=Ac.bind(null,e),i._reactRetry=t,null):(e=s.treeContext,ra=ci(i.nextSibling),na=t,ia=!0,aa=null,null!==e&&(Xi[Yi++]=Qi,Xi[Yi++]=Zi,Xi[Yi++]=Ji,Qi=e.id,Zi=e.overflow,Ji=t),t=jo(t,r.children),t.flags|=4096,t)}(e,t,l,i,r,s,n);if(o){o=i.fallback,l=t.mode,r=(s=e.child).sibling;var c={mode:"hidden",children:i.children};return 0===(1&l)&&t.child!==s?((i=t.child).childLanes=0,i.pendingProps=c,t.deletions=null):(i=kc(s,c)).subtreeFlags=14680064&s.subtreeFlags,null!==r?o=kc(r,o):(o=Dc(o,l,n,null)).flags|=2,o.return=t,i.return=t,i.sibling=o,t.child=i,i=o,o=t.child,l=null===(l=e.child.memoizedState)?zo(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},o.memoizedState=l,o.childLanes=e.childLanes&~n,t.memoizedState=Do,i}return e=(o=e.child).sibling,i=kc(o,{mode:"visible",children:i.children}),0===(1&t.mode)&&(i.lanes=n),i.return=t,i.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=i,t.memoizedState=null,i}function jo(e,t){return(t=zc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bo(e,t,n,r){return null!==r&&fa(r),ba(t,e.child,null,n),(e=jo(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Fo(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Ca(e.return,t,n)}function Uo(e,t,n,r,i){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function Vo(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(bo(e,t,r.children,n),0!==(2&(r=$a.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Fo(e,n,t);else if(19===e.tag)Fo(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ti($a,r),0===(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===es(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Uo(t,!1,i,n,a);break;case"backwards":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===es(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Uo(t,!0,n,null,a);break;case"together":Uo(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Ho(e,t){0===(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Wo(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),zl|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(a(153));if(null!==t.child){for(n=kc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=kc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Go(e,t){if(!ia)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function qo(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=14680064&i.subtreeFlags,r|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Xo(e,t,n){var r=t.pendingProps;switch(ta(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qo(t),null;case 1:case 17:return Li(t.type)&&ki(),qo(t),null;case 3:return r=t.stateNode,Qa(),Ei(Pi),Ei(Ci),ns(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(da(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==aa&&(sc(aa),aa=null))),Lo(e,t),qo(t),null;case 5:Ka(t);var i=Ya(Xa.current);if(n=t.type,null!==e&&null!=t.stateNode)ko(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(a(166));return qo(t),null}if(e=Ya(Ga.current),da(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[hi]=t,r[pi]=s,e=0!==(1&t.mode),n){case"dialog":Br("cancel",r),Br("close",r);break;case"iframe":case"object":case"embed":Br("load",r);break;case"video":case"audio":for(i=0;i<Dr.length;i++)Br(Dr[i],r);break;case"source":Br("error",r);break;case"img":case"image":case"link":Br("error",r),Br("load",r);break;case"details":Br("toggle",r);break;case"input":Q(r,s),Br("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},Br("invalid",r);break;case"textarea":ie(r,s),Br("invalid",r)}for(var l in ye(n,s),i=null,s)if(s.hasOwnProperty(l)){var c=s[l];"children"===l?"string"===typeof c?r.textContent!==c&&(!0!==s.suppressHydrationWarning&&Kr(r.textContent,c,e),i=["children",c]):"number"===typeof c&&r.textContent!==""+c&&(!0!==s.suppressHydrationWarning&&Kr(r.textContent,c,e),i=["children",""+c]):o.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&Br("scroll",r)}switch(n){case"input":q(r),$(r,s,!0);break;case"textarea":q(r),se(r);break;case"select":case"option":break;default:"function"===typeof s.onClick&&(r.onclick=$r)}r=i,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===i.nodeType?i:i.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=oe(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"===typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[hi]=t,e[pi]=r,Ro(e,t,!1,!1),t.stateNode=e;e:{switch(l=xe(n,r),n){case"dialog":Br("cancel",e),Br("close",e),i=r;break;case"iframe":case"object":case"embed":Br("load",e),i=r;break;case"video":case"audio":for(i=0;i<Dr.length;i++)Br(Dr[i],e);i=r;break;case"source":Br("error",e),i=r;break;case"img":case"image":case"link":Br("error",e),Br("load",e),i=r;break;case"details":Br("toggle",e),i=r;break;case"input":Q(e,r),i=J(e,r),Br("invalid",e);break;case"option":default:i=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},i=O({},r,{value:void 0}),Br("invalid",e);break;case"textarea":ie(e,r),i=re(e,r),Br("invalid",e)}for(s in ye(n,i),c=i)if(c.hasOwnProperty(s)){var u=c[s];"style"===s?ge(e,u):"dangerouslySetInnerHTML"===s?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===s?"string"===typeof u?("textarea"!==n||""!==u)&&he(e,u):"number"===typeof u&&he(e,""+u):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(o.hasOwnProperty(s)?null!=u&&"onScroll"===s&&Br("scroll",e):null!=u&&x(e,s,u,l))}switch(n){case"input":q(e),$(e,r,!1);break;case"textarea":q(e),se(e);break;case"option":null!=r.value&&e.setAttribute("value",""+W(r.value));break;case"select":e.multiple=!!r.multiple,null!=(s=r.value)?ne(e,!!r.multiple,s,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"===typeof i.onClick&&(e.onclick=$r)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return qo(t),null;case 6:if(e&&null!=t.stateNode)Io(e,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(a(166));if(n=Ya(Xa.current),Ya(Ga.current),da(t)){if(r=t.stateNode,n=t.memoizedProps,r[hi]=t,(s=r.nodeValue!==n)&&null!==(e=na))switch(e.tag){case 3:Kr(r.nodeValue,n,0!==(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Kr(r.nodeValue,n,0!==(1&e.mode))}s&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[hi]=t,t.stateNode=r}return qo(t),null;case 13:if(Ei($a),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ia&&null!==ra&&0!==(1&t.mode)&&0===(128&t.flags))ha(),pa(),t.flags|=98560,s=!1;else if(s=da(t),null!==r&&null!==r.dehydrated){if(null===e){if(!s)throw Error(a(318));if(!(s=null!==(s=t.memoizedState)?s.dehydrated:null))throw Error(a(317));s[hi]=t}else pa(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;qo(t),s=!1}else null!==aa&&(sc(aa),aa=null),s=!0;if(!s)return 65536&t.flags?t:null}return 0!==(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&$a.current)?0===Il&&(Il=3):mc())),null!==t.updateQueue&&(t.flags|=4),qo(t),null);case 4:return Qa(),Lo(e,t),null===e&&Vr(t.stateNode.containerInfo),qo(t),null;case 10:return Aa(t.type._context),qo(t),null;case 19:if(Ei($a),null===(s=t.memoizedState))return qo(t),null;if(r=0!==(128&t.flags),null===(l=s.rendering))if(r)Go(s,!1);else{if(0!==Il||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=es(e))){for(t.flags|=128,Go(s,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(s=n).flags&=14680066,null===(l=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=l.childLanes,s.lanes=l.lanes,s.child=l.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=l.memoizedProps,s.memoizedState=l.memoizedState,s.updateQueue=l.updateQueue,s.type=l.type,e=l.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ti($a,1&$a.current|2),t.child}e=e.sibling}null!==s.tail&&Ze()>Vl&&(t.flags|=128,r=!0,Go(s,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=es(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Go(s,!0),null===s.tail&&"hidden"===s.tailMode&&!l.alternate&&!ia)return qo(t),null}else 2*Ze()-s.renderingStartTime>Vl&&1073741824!==n&&(t.flags|=128,r=!0,Go(s,!1),t.lanes=4194304);s.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=s.last)?n.sibling=l:t.child=l,s.last=l)}return null!==s.tail?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=Ze(),t.sibling=null,n=$a.current,Ti($a,r?1&n|2:1&n),t):(qo(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Ll)&&(qo(t),6&t.subtreeFlags&&(t.flags|=8192)):qo(t),null;case 24:case 25:return null}throw Error(a(156,t.tag))}function Yo(e,t){switch(ta(t),t.tag){case 1:return Li(t.type)&&ki(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Qa(),Ei(Pi),Ei(Ci),ns(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Ka(t),null;case 13:if(Ei($a),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(a(340));pa()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ei($a),null;case 4:return Qa(),null;case 10:return Aa(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Ro=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Lo=function(){},ko=function(e,t,n,r){var i=e.memoizedProps;if(i!==r){e=t.stateNode,Ya(Ga.current);var a,s=null;switch(n){case"input":i=J(e,i),r=J(e,r),s=[];break;case"select":i=O({},i,{value:void 0}),r=O({},r,{value:void 0}),s=[];break;case"textarea":i=re(e,i),r=re(e,r),s=[];break;default:"function"!==typeof i.onClick&&"function"===typeof r.onClick&&(e.onclick=$r)}for(u in ye(n,r),n=null,i)if(!r.hasOwnProperty(u)&&i.hasOwnProperty(u)&&null!=i[u])if("style"===u){var l=i[u];for(a in l)l.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(o.hasOwnProperty(u)?s||(s=[]):(s=s||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=i?i[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(a in l)!l.hasOwnProperty(a)||c&&c.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in c)c.hasOwnProperty(a)&&l[a]!==c[a]&&(n||(n={}),n[a]=c[a])}else n||(s||(s=[]),s.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(s=s||[]).push(u,c)):"children"===u?"string"!==typeof c&&"number"!==typeof c||(s=s||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(o.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&Br("scroll",e),s||l===c||(s=[])):(s=s||[]).push(u,c))}n&&(s=s||[]).push("style",n);var u=s;(t.updateQueue=u)&&(t.flags|=4)}},Io=function(e,t,n,r){n!==r&&(t.flags|=4)};var Jo=!1,Qo=!1,Zo="function"===typeof WeakSet?WeakSet:Set,Ko=null;function $o(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){Mc(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){Mc(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,void 0!==a&&el(t,n,a)}i=i.next}while(i!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function il(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"===typeof t?t(e):t.current=e}}function al(e){var t=e.alternate;null!==t&&(e.alternate=null,al(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[hi],delete t[pi],delete t[mi],delete t[gi],delete t[vi])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function sl(e){return 5===e.tag||3===e.tag||4===e.tag}function ol(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||sl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!==(n=n._reactRootContainer)&&void 0!==n||null!==t.onclick||(t.onclick=$r));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function hl(e,t,n){for(n=n.child;null!==n;)pl(e,t,n),n=n.sibling}function pl(e,t,n){if(at&&"function"===typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(it,n)}catch(o){}switch(n.tag){case 5:Qo||$o(n,t);case 6:var r=ul,i=dl;ul=null,hl(e,t,n),dl=i,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?li(e.parentNode,n):1===e.nodeType&&li(e,n),Vt(e)):li(ul,n.stateNode));break;case 4:r=ul,i=dl,ul=n.stateNode.containerInfo,dl=!0,hl(e,t,n),ul=r,dl=i;break;case 0:case 11:case 14:case 15:if(!Qo&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){i=r=r.next;do{var a=i,s=a.destroy;a=a.tag,void 0!==s&&(0!==(2&a)||0!==(4&a))&&el(n,t,s),i=i.next}while(i!==r)}hl(e,t,n);break;case 1:if(!Qo&&($o(n,t),"function"===typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){Mc(n,t,o)}hl(e,t,n);break;case 21:hl(e,t,n);break;case 22:1&n.mode?(Qo=(r=Qo)||null!==n.memoizedState,hl(e,t,n),Qo=r):hl(e,t,n);break;default:hl(e,t,n)}}function fl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Zo),t.forEach(function(t){var r=Cc.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function ml(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var i=n[r];try{var s=e,o=t,l=o;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(a(160));pl(s,o,i),ul=null,dl=!1;var c=i.alternate;null!==c&&(c.return=null),i.return=null}catch(u){Mc(i,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gl(t,e),t=t.sibling}function gl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ml(t,e),vl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(g){Mc(e,e.return,g)}try{nl(5,e,e.return)}catch(g){Mc(e,e.return,g)}}break;case 1:ml(t,e),vl(e),512&r&&null!==n&&$o(n,n.return);break;case 5:if(ml(t,e),vl(e),512&r&&null!==n&&$o(n,n.return),32&e.flags){var i=e.stateNode;try{he(i,"")}catch(g){Mc(e,e.return,g)}}if(4&r&&null!=(i=e.stateNode)){var s=e.memoizedProps,o=null!==n?n.memoizedProps:s,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===s.type&&null!=s.name&&Z(i,s),xe(l,o);var u=xe(l,s);for(o=0;o<c.length;o+=2){var d=c[o],h=c[o+1];"style"===d?ge(i,h):"dangerouslySetInnerHTML"===d?de(i,h):"children"===d?he(i,h):x(i,d,h,u)}switch(l){case"input":K(i,s);break;case"textarea":ae(i,s);break;case"select":var p=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!s.multiple;var f=s.value;null!=f?ne(i,!!s.multiple,f,!1):p!==!!s.multiple&&(null!=s.defaultValue?ne(i,!!s.multiple,s.defaultValue,!0):ne(i,!!s.multiple,s.multiple?[]:"",!1))}i[pi]=s}catch(g){Mc(e,e.return,g)}}break;case 6:if(ml(t,e),vl(e),4&r){if(null===e.stateNode)throw Error(a(162));i=e.stateNode,s=e.memoizedProps;try{i.nodeValue=s}catch(g){Mc(e,e.return,g)}}break;case 3:if(ml(t,e),vl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Vt(t.containerInfo)}catch(g){Mc(e,e.return,g)}break;case 4:default:ml(t,e),vl(e);break;case 13:ml(t,e),vl(e),8192&(i=e.child).flags&&(s=null!==i.memoizedState,i.stateNode.isHidden=s,!s||null!==i.alternate&&null!==i.alternate.memoizedState||(Ul=Ze())),4&r&&fl(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Qo=(u=Qo)||d,ml(t,e),Qo=u):ml(t,e),vl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!==(1&e.mode))for(Ko=e,d=e.child;null!==d;){for(h=Ko=d;null!==Ko;){switch(f=(p=Ko).child,p.tag){case 0:case 11:case 14:case 15:nl(4,p,p.return);break;case 1:$o(p,p.return);var m=p.stateNode;if("function"===typeof m.componentWillUnmount){r=p,n=p.return;try{t=r,m.props=t.memoizedProps,m.state=t.memoizedState,m.componentWillUnmount()}catch(g){Mc(r,n,g)}}break;case 5:$o(p,p.return);break;case 22:if(null!==p.memoizedState){wl(h);continue}}null!==f?(f.return=p,Ko=f):wl(h)}d=d.sibling}e:for(d=null,h=e;;){if(5===h.tag){if(null===d){d=h;try{i=h.stateNode,u?"function"===typeof(s=i.style).setProperty?s.setProperty("display","none","important"):s.display="none":(l=h.stateNode,o=void 0!==(c=h.memoizedProps.style)&&null!==c&&c.hasOwnProperty("display")?c.display:null,l.style.display=me("display",o))}catch(g){Mc(e,e.return,g)}}}else if(6===h.tag){if(null===d)try{h.stateNode.nodeValue=u?"":h.memoizedProps}catch(g){Mc(e,e.return,g)}}else if((22!==h.tag&&23!==h.tag||null===h.memoizedState||h===e)&&null!==h.child){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;null===h.sibling;){if(null===h.return||h.return===e)break e;d===h&&(d=null),h=h.return}d===h&&(d=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:ml(t,e),vl(e),4&r&&fl(e);case 21:}}function vl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(sl(n)){var r=n;break e}n=n.return}throw Error(a(160))}switch(r.tag){case 5:var i=r.stateNode;32&r.flags&&(he(i,""),r.flags&=-33),cl(e,ol(e),i);break;case 3:case 4:var s=r.stateNode.containerInfo;ll(e,ol(e),s);break;default:throw Error(a(161))}}catch(o){Mc(e,e.return,o)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yl(e,t,n){Ko=e,xl(e,t,n)}function xl(e,t,n){for(var r=0!==(1&e.mode);null!==Ko;){var i=Ko,a=i.child;if(22===i.tag&&r){var s=null!==i.memoizedState||Jo;if(!s){var o=i.alternate,l=null!==o&&null!==o.memoizedState||Qo;o=Jo;var c=Qo;if(Jo=s,(Qo=l)&&!c)for(Ko=i;null!==Ko;)l=(s=Ko).child,22===s.tag&&null!==s.memoizedState?_l(i):null!==l?(l.return=s,Ko=l):_l(i);for(;null!==a;)Ko=a,xl(a,t,n),a=a.sibling;Ko=i,Jo=o,Qo=c}bl(e)}else 0!==(8772&i.subtreeFlags)&&null!==a?(a.return=i,Ko=a):bl(e)}}function bl(e){for(;null!==Ko;){var t=Ko;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Qo||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Qo)if(null===n)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:to(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;null!==s&&Ha(t,s,r);break;case 3:var o=t.updateQueue;if(null!==o){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ha(t,o,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var h=d.dehydrated;null!==h&&Vt(h)}}}break;default:throw Error(a(163))}Qo||512&t.flags&&il(t)}catch(p){Mc(t,t.return,p)}}if(t===e){Ko=null;break}if(null!==(n=t.sibling)){n.return=t.return,Ko=n;break}Ko=t.return}}function wl(e){for(;null!==Ko;){var t=Ko;if(t===e){Ko=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Ko=n;break}Ko=t.return}}function _l(e){for(;null!==Ko;){var t=Ko;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){Mc(t,n,l)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var i=t.return;try{r.componentDidMount()}catch(l){Mc(t,i,l)}}var a=t.return;try{il(t)}catch(l){Mc(t,a,l)}break;case 5:var s=t.return;try{il(t)}catch(l){Mc(t,s,l)}}}catch(l){Mc(t,t.return,l)}if(t===e){Ko=null;break}var o=t.sibling;if(null!==o){o.return=t.return,Ko=o;break}Ko=t.return}}var Sl,Ml=Math.ceil,El=b.ReactCurrentDispatcher,Tl=b.ReactCurrentOwner,Al=b.ReactCurrentBatchConfig,Cl=0,Pl=null,Nl=null,Rl=0,Ll=0,kl=Mi(0),Il=0,Dl=null,zl=0,Ol=0,jl=0,Bl=null,Fl=null,Ul=0,Vl=1/0,Hl=null,Wl=!1,Gl=null,ql=null,Xl=!1,Yl=null,Jl=0,Ql=0,Zl=null,Kl=-1,$l=0;function ec(){return 0!==(6&Cl)?Ze():-1!==Kl?Kl:Kl=Ze()}function tc(e){return 0===(1&e.mode)?1:0!==(2&Cl)&&0!==Rl?Rl&-Rl:null!==ma.transition?(0===$l&&($l=mt()),$l):0!==(e=xt)?e:e=void 0===(e=window.event)?16:Qt(e.type)}function nc(e,t,n,r){if(50<Ql)throw Ql=0,Zl=null,Error(a(185));vt(e,n,r),0!==(2&Cl)&&e===Pl||(e===Pl&&(0===(2&Cl)&&(Ol|=n),4===Il&&oc(e,Rl)),rc(e,r),1===n&&0===Cl&&0===(1&t.mode)&&(Vl=Ze()+500,Bi&&Vi()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var s=31-st(a),o=1<<s,l=i[s];-1===l?0!==(o&n)&&0===(o&r)||(i[s]=pt(o,t)):l<=t&&(e.expiredLanes|=o),a&=~o}}(e,t);var r=ht(e,e===Pl?Rl:0);if(0===r)null!==n&&Ye(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ye(n),1===t)0===e.tag?function(e){Bi=!0,Ui(e)}(lc.bind(null,e)):Ui(lc.bind(null,e)),si(function(){0===(6&Cl)&&Vi()}),n=null;else{switch(bt(r)){case 1:n=$e;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Pc(n,ic.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ic(e,t){if(Kl=-1,$l=0,0!==(6&Cl))throw Error(a(327));var n=e.callbackNode;if(_c()&&e.callbackNode!==n)return null;var r=ht(e,e===Pl?Rl:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=gc(e,r);else{t=r;var i=Cl;Cl|=2;var s=fc();for(Pl===e&&Rl===t||(Hl=null,Vl=Ze()+500,hc(e,t));;)try{yc();break}catch(l){pc(e,l)}Ta(),El.current=s,Cl=i,null!==Nl?t=0:(Pl=null,Rl=0,t=Il)}if(0!==t){if(2===t&&(0!==(i=ft(e))&&(r=i,t=ac(e,i))),1===t)throw n=Dl,hc(e,0),oc(e,r),rc(e,Ze()),n;if(6===t)oc(e,r);else{if(i=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!or(a(),i))return!1}catch(o){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(i)&&(2===(t=gc(e,r))&&(0!==(s=ft(e))&&(r=s,t=ac(e,s))),1===t))throw n=Dl,hc(e,0),oc(e,r),rc(e,Ze()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(a(345));case 2:case 5:wc(e,Fl,Hl);break;case 3:if(oc(e,r),(130023424&r)===r&&10<(t=Ul+500-Ze())){if(0!==ht(e,0))break;if(((i=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=ri(wc.bind(null,e,Fl,Hl),t);break}wc(e,Fl,Hl);break;case 4:if(oc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,i=-1;0<r;){var o=31-st(r);s=1<<o,(o=t[o])>i&&(i=o),r&=~s}if(r=i,10<(r=(120>(r=Ze()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ml(r/1960))-r)){e.timeoutHandle=ri(wc.bind(null,e,Fl,Hl),r);break}wc(e,Fl,Hl);break;default:throw Error(a(329))}}}return rc(e,Ze()),e.callbackNode===n?ic.bind(null,e):null}function ac(e,t){var n=Bl;return e.current.memoizedState.isDehydrated&&(hc(e,t).flags|=256),2!==(e=gc(e,t))&&(t=Fl,Fl=n,null!==t&&sc(t)),e}function sc(e){null===Fl?Fl=e:Fl.push.apply(Fl,e)}function oc(e,t){for(t&=~jl,t&=~Ol,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-st(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(0!==(6&Cl))throw Error(a(327));_c();var t=ht(e,0);if(0===(1&t))return rc(e,Ze()),null;var n=gc(e,t);if(0!==e.tag&&2===n){var r=ft(e);0!==r&&(t=r,n=ac(e,r))}if(1===n)throw n=Dl,hc(e,0),oc(e,t),rc(e,Ze()),n;if(6===n)throw Error(a(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wc(e,Fl,Hl),rc(e,Ze()),null}function cc(e,t){var n=Cl;Cl|=1;try{return e(t)}finally{0===(Cl=n)&&(Vl=Ze()+500,Bi&&Vi())}}function uc(e){null!==Yl&&0===Yl.tag&&0===(6&Cl)&&_c();var t=Cl;Cl|=1;var n=Al.transition,r=xt;try{if(Al.transition=null,xt=1,e)return e()}finally{xt=r,Al.transition=n,0===(6&(Cl=t))&&Vi()}}function dc(){Ll=kl.current,Ei(kl)}function hc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,ii(n)),null!==Nl)for(n=Nl.return;null!==n;){var r=n;switch(ta(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&ki();break;case 3:Qa(),Ei(Pi),Ei(Ci),ns();break;case 5:Ka(r);break;case 4:Qa();break;case 13:case 19:Ei($a);break;case 10:Aa(r.type._context);break;case 22:case 23:dc()}n=n.return}if(Pl=e,Nl=e=kc(e.current,null),Rl=Ll=t,Il=0,Dl=null,jl=Ol=zl=0,Fl=Bl=null,null!==Ra){for(t=0;t<Ra.length;t++)if(null!==(r=(n=Ra[t]).interleaved)){n.interleaved=null;var i=r.next,a=n.pending;if(null!==a){var s=a.next;a.next=i,r.next=s}n.pending=r}Ra=null}return e}function pc(e,t){for(;;){var n=Nl;try{if(Ta(),rs.current=Zs,cs){for(var r=ss.memoizedState;null!==r;){var i=r.queue;null!==i&&(i.pending=null),r=r.next}cs=!1}if(as=0,ls=os=ss=null,us=!1,ds=0,Tl.current=null,null===n||null===n.return){Il=1,Dl=t,Nl=null;break}e:{var s=e,o=n.return,l=n,c=t;if(t=Rl,l.flags|=32768,null!==c&&"object"===typeof c&&"function"===typeof c.then){var u=c,d=l,h=d.tag;if(0===(1&d.mode)&&(0===h||11===h||15===h)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var f=go(o);if(null!==f){f.flags&=-257,vo(f,o,l,0,t),1&f.mode&&mo(s,u,t),c=u;var m=(t=f).updateQueue;if(null===m){var g=new Set;g.add(c),t.updateQueue=g}else m.add(c);break e}if(0===(1&t)){mo(s,u,t),mc();break e}c=Error(a(426))}else if(ia&&1&l.mode){var v=go(o);if(null!==v){0===(65536&v.flags)&&(v.flags|=256),vo(v,o,l,0,t),fa(lo(c,l));break e}}s=c=lo(c,l),4!==Il&&(Il=2),null===Bl?Bl=[s]:Bl.push(s),s=o;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t,Ua(s,po(0,c,t));break e;case 1:l=c;var y=s.type,x=s.stateNode;if(0===(128&s.flags)&&("function"===typeof y.getDerivedStateFromError||null!==x&&"function"===typeof x.componentDidCatch&&(null===ql||!ql.has(x)))){s.flags|=65536,t&=-t,s.lanes|=t,Ua(s,fo(s,l,t));break e}}s=s.return}while(null!==s)}bc(n)}catch(b){t=b,Nl===n&&null!==n&&(Nl=n=n.return);continue}break}}function fc(){var e=El.current;return El.current=Zs,null===e?Zs:e}function mc(){0!==Il&&3!==Il&&2!==Il||(Il=4),null===Pl||0===(268435455&zl)&&0===(268435455&Ol)||oc(Pl,Rl)}function gc(e,t){var n=Cl;Cl|=2;var r=fc();for(Pl===e&&Rl===t||(Hl=null,hc(e,t));;)try{vc();break}catch(i){pc(e,i)}if(Ta(),Cl=n,El.current=r,null!==Nl)throw Error(a(261));return Pl=null,Rl=0,Il}function vc(){for(;null!==Nl;)xc(Nl)}function yc(){for(;null!==Nl&&!Je();)xc(Nl)}function xc(e){var t=Sl(e.alternate,e,Ll);e.memoizedProps=e.pendingProps,null===t?bc(e):Nl=t,Tl.current=null}function bc(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Xo(n,t,Ll)))return void(Nl=n)}else{if(null!==(n=Yo(n,t)))return n.flags&=32767,void(Nl=n);if(null===e)return Il=6,void(Nl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Nl=t);Nl=t=e}while(null!==t);0===Il&&(Il=5)}function wc(e,t,n){var r=xt,i=Al.transition;try{Al.transition=null,xt=1,function(e,t,n,r){do{_c()}while(null!==Yl);if(0!==(6&Cl))throw Error(a(327));n=e.finishedWork;var i=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackPriority=0;var s=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-st(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}(e,s),e===Pl&&(Nl=Pl=null,Rl=0),0===(2064&n.subtreeFlags)&&0===(2064&n.flags)||Xl||(Xl=!0,Pc(tt,function(){return _c(),null})),s=0!==(15990&n.flags),0!==(15990&n.subtreeFlags)||s){s=Al.transition,Al.transition=null;var o=xt;xt=1;var l=Cl;Cl|=4,Tl.current=null,function(e,t){if(ei=Wt,pr(e=hr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var i=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch(w){n=null;break e}var o=0,l=-1,c=-1,u=0,d=0,h=e,p=null;t:for(;;){for(var f;h!==n||0!==i&&3!==h.nodeType||(l=o+i),h!==s||0!==r&&3!==h.nodeType||(c=o+r),3===h.nodeType&&(o+=h.nodeValue.length),null!==(f=h.firstChild);)p=h,h=f;for(;;){if(h===e)break t;if(p===n&&++u===i&&(l=o),p===s&&++d===r&&(c=o),null!==(f=h.nextSibling))break;p=(h=p).parentNode}h=f}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ti={focusedElem:e,selectionRange:n},Wt=!1,Ko=t;null!==Ko;)if(e=(t=Ko).child,0!==(1028&t.subtreeFlags)&&null!==e)e.return=t,Ko=e;else for(;null!==Ko;){t=Ko;try{var m=t.alternate;if(0!==(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==m){var g=m.memoizedProps,v=m.memoizedState,y=t.stateNode,x=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:to(t.type,g),v);y.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var b=t.stateNode.containerInfo;1===b.nodeType?b.textContent="":9===b.nodeType&&b.documentElement&&b.removeChild(b.documentElement);break;default:throw Error(a(163))}}catch(w){Mc(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,Ko=e;break}Ko=t.return}m=tl,tl=!1}(e,n),gl(n,e),fr(ti),Wt=!!ei,ti=ei=null,e.current=n,yl(n,e,i),Qe(),Cl=l,xt=o,Al.transition=s}else e.current=n;if(Xl&&(Xl=!1,Yl=e,Jl=i),s=e.pendingLanes,0===s&&(ql=null),function(e){if(at&&"function"===typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(it,e,void 0,128===(128&e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ze()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)i=t[n],r(i.value,{componentStack:i.stack,digest:i.digest});if(Wl)throw Wl=!1,e=Gl,Gl=null,e;0!==(1&Jl)&&0!==e.tag&&_c(),s=e.pendingLanes,0!==(1&s)?e===Zl?Ql++:(Ql=0,Zl=e):Ql=0,Vi()}(e,t,n,r)}finally{Al.transition=i,xt=r}return null}function _c(){if(null!==Yl){var e=bt(Jl),t=Al.transition,n=xt;try{if(Al.transition=null,xt=16>e?16:e,null===Yl)var r=!1;else{if(e=Yl,Yl=null,Jl=0,0!==(6&Cl))throw Error(a(331));var i=Cl;for(Cl|=4,Ko=e.current;null!==Ko;){var s=Ko,o=s.child;if(0!==(16&Ko.flags)){var l=s.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Ko=u;null!==Ko;){var d=Ko;switch(d.tag){case 0:case 11:case 15:nl(8,d,s)}var h=d.child;if(null!==h)h.return=d,Ko=h;else for(;null!==Ko;){var p=(d=Ko).sibling,f=d.return;if(al(d),d===u){Ko=null;break}if(null!==p){p.return=f,Ko=p;break}Ko=f}}}var m=s.alternate;if(null!==m){var g=m.child;if(null!==g){m.child=null;do{var v=g.sibling;g.sibling=null,g=v}while(null!==g)}}Ko=s}}if(0!==(2064&s.subtreeFlags)&&null!==o)o.return=s,Ko=o;else e:for(;null!==Ko;){if(0!==(2048&(s=Ko).flags))switch(s.tag){case 0:case 11:case 15:nl(9,s,s.return)}var y=s.sibling;if(null!==y){y.return=s.return,Ko=y;break e}Ko=s.return}}var x=e.current;for(Ko=x;null!==Ko;){var b=(o=Ko).child;if(0!==(2064&o.subtreeFlags)&&null!==b)b.return=o,Ko=b;else e:for(o=x;null!==Ko;){if(0!==(2048&(l=Ko).flags))try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(_){Mc(l,l.return,_)}if(l===o){Ko=null;break e}var w=l.sibling;if(null!==w){w.return=l.return,Ko=w;break e}Ko=l.return}}if(Cl=i,Vi(),at&&"function"===typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(it,e)}catch(_){}r=!0}return r}finally{xt=n,Al.transition=t}}return!1}function Sc(e,t,n){e=Ba(e,t=po(0,t=lo(n,t),1),1),t=ec(),null!==e&&(vt(e,1,t),rc(e,t))}function Mc(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===ql||!ql.has(r))){t=Ba(t,e=fo(t,e=lo(n,e),1),1),e=ec(),null!==t&&(vt(t,1,e),rc(t,e));break}}t=t.return}}function Ec(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,Pl===e&&(Rl&n)===n&&(4===Il||3===Il&&(130023424&Rl)===Rl&&500>Ze()-Ul?hc(e,0):jl|=n),rc(e,t)}function Tc(e,t){0===t&&(0===(1&e.mode)?t=1:(t=ut,0===(130023424&(ut<<=1))&&(ut=4194304)));var n=ec();null!==(e=Ia(e,t))&&(vt(e,t,n),rc(e,n))}function Ac(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Tc(e,n)}function Cc(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;null!==i&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(a(314))}null!==r&&r.delete(t),Tc(e,n)}function Pc(e,t){return Xe(e,t)}function Nc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rc(e,t,n,r){return new Nc(e,t,n,r)}function Lc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function kc(e,t){var n=e.alternate;return null===n?((n=Rc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ic(e,t,n,r,i,s){var o=2;if(r=e,"function"===typeof e)Lc(e)&&(o=1);else if("string"===typeof e)o=5;else e:switch(e){case S:return Dc(n.children,i,s,t);case M:o=8,i|=8;break;case E:return(e=Rc(12,n,t,2|i)).elementType=E,e.lanes=s,e;case P:return(e=Rc(13,n,t,i)).elementType=P,e.lanes=s,e;case N:return(e=Rc(19,n,t,i)).elementType=N,e.lanes=s,e;case k:return zc(n,i,s,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case T:o=10;break e;case A:o=9;break e;case C:o=11;break e;case R:o=14;break e;case L:o=16,r=null;break e}throw Error(a(130,null==e?e:typeof e,""))}return(t=Rc(o,n,t,i)).elementType=e,t.type=r,t.lanes=s,t}function Dc(e,t,n,r){return(e=Rc(7,e,r,t)).lanes=n,e}function zc(e,t,n,r){return(e=Rc(22,e,r,t)).elementType=k,e.lanes=n,e.stateNode={isHidden:!1},e}function Oc(e,t,n){return(e=Rc(6,e,null,t)).lanes=n,e}function jc(e,t,n){return(t=Rc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Fc(e,t,n,r,i,a,s,o,l){return e=new Bc(e,t,n,o,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Rc(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},za(a),e}function Uc(e){if(!e)return Ai;e:{if(Ve(e=e._reactInternals)!==e||1!==e.tag)throw Error(a(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Li(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(a(171))}if(1===e.tag){var n=e.type;if(Li(n))return Di(e,n,t)}return t}function Vc(e,t,n,r,i,a,s,o,l){return(e=Fc(n,r,!0,e,0,a,0,o,l)).context=Uc(null),n=e.current,(a=ja(r=ec(),i=tc(n))).callback=void 0!==t&&null!==t?t:null,Ba(n,a,i),e.current.lanes=i,vt(e,i,r),rc(e,r),e}function Hc(e,t,n,r){var i=t.current,a=ec(),s=tc(i);return n=Uc(n),null===t.context?t.context=n:t.pendingContext=n,(t=ja(a,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ba(i,t,s))&&(nc(e,i,s,a),Fa(e,i,s)),s}function Wc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function qc(e,t){Gc(e,t),(e=e.alternate)&&Gc(e,t)}Sl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Pi.current)xo=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return xo=!1,function(e,t,n){switch(t.tag){case 3:Po(t),pa();break;case 5:Za(t);break;case 1:Li(t.type)&&zi(t);break;case 4:Ja(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,i=t.memoizedProps.value;Ti(_a,r._currentValue),r._currentValue=i;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ti($a,1&$a.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Oo(e,t,n):(Ti($a,1&$a.current),null!==(e=Wo(e,t,n))?e.sibling:null);Ti($a,1&$a.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return Vo(e,t,n);t.flags|=128}if(null!==(i=t.memoizedState)&&(i.rendering=null,i.tail=null,i.lastEffect=null),Ti($a,$a.current),r)break;return null;case 22:case 23:return t.lanes=0,Mo(e,t,n)}return Wo(e,t,n)}(e,t,n);xo=0!==(131072&e.flags)}else xo=!1,ia&&0!==(1048576&t.flags)&&$i(t,qi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ho(e,t),e=t.pendingProps;var i=Ri(t,Ci.current);Pa(t,n),i=ms(null,t,r,e,i,n);var s=gs();return t.flags|=1,"object"===typeof i&&null!==i&&"function"===typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Li(r)?(s=!0,zi(t)):s=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,za(t),i.updater=ro,t.stateNode=i,i._reactInternals=t,oo(t,r,e,n),t=Co(null,t,r,!0,s,n)):(t.tag=0,ia&&s&&ea(t),bo(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ho(e,t),e=t.pendingProps,r=(i=r._init)(r._payload),t.type=r,i=t.tag=function(e){if("function"===typeof e)return Lc(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===C)return 11;if(e===R)return 14}return 2}(r),e=to(r,e),i){case 0:t=To(null,t,r,e,n);break e;case 1:t=Ao(null,t,r,e,n);break e;case 11:t=wo(null,t,r,e,n);break e;case 14:t=_o(null,t,r,to(r.type,e),n);break e}throw Error(a(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,To(e,t,r,i=t.elementType===r?i:to(r,i),n);case 1:return r=t.type,i=t.pendingProps,Ao(e,t,r,i=t.elementType===r?i:to(r,i),n);case 3:e:{if(Po(t),null===e)throw Error(a(387));r=t.pendingProps,i=(s=t.memoizedState).element,Oa(e,t),Va(t,r,null,n);var o=t.memoizedState;if(r=o.element,s.isDehydrated){if(s={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=s,t.memoizedState=s,256&t.flags){t=No(e,t,r,n,i=lo(Error(a(423)),t));break e}if(r!==i){t=No(e,t,r,n,i=lo(Error(a(424)),t));break e}for(ra=ci(t.stateNode.containerInfo.firstChild),na=t,ia=!0,aa=null,n=wa(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(pa(),r===i){t=Wo(e,t,n);break e}bo(e,t,r,n)}t=t.child}return t;case 5:return Za(t),null===e&&ca(t),r=t.type,i=t.pendingProps,s=null!==e?e.memoizedProps:null,o=i.children,ni(r,i)?o=null:null!==s&&ni(r,s)&&(t.flags|=32),Eo(e,t),bo(e,t,o,n),t.child;case 6:return null===e&&ca(t),null;case 13:return Oo(e,t,n);case 4:return Ja(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=ba(t,null,r,n):bo(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,wo(e,t,r,i=t.elementType===r?i:to(r,i),n);case 7:return bo(e,t,t.pendingProps,n),t.child;case 8:case 12:return bo(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,s=t.memoizedProps,o=i.value,Ti(_a,r._currentValue),r._currentValue=o,null!==s)if(or(s.value,o)){if(s.children===i.children&&!Pi.current){t=Wo(e,t,n);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var l=s.dependencies;if(null!==l){o=s.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===s.tag){(c=ja(-1,n&-n)).tag=2;var u=s.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),Ca(s.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===s.tag)o=s.type===t.type?null:s.child;else if(18===s.tag){if(null===(o=s.return))throw Error(a(341));o.lanes|=n,null!==(l=o.alternate)&&(l.lanes|=n),Ca(o,n,t),o=s.sibling}else o=s.child;if(null!==o)o.return=s;else for(o=s;null!==o;){if(o===t){o=null;break}if(null!==(s=o.sibling)){s.return=o.return,o=s;break}o=o.return}s=o}bo(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Pa(t,n),r=r(i=Na(i)),t.flags|=1,bo(e,t,r,n),t.child;case 14:return i=to(r=t.type,t.pendingProps),_o(e,t,r,i=to(r.type,i),n);case 15:return So(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:to(r,i),Ho(e,t),t.tag=1,Li(r)?(e=!0,zi(t)):e=!1,Pa(t,n),ao(t,r,i),oo(t,r,i,n),Co(null,t,r,!0,e,n);case 19:return Vo(e,t,n);case 22:return Mo(e,t,n)}throw Error(a(156,t.tag))};var Xc="function"===typeof reportError?reportError:function(e){console.error(e)};function Yc(e){this._internalRoot=e}function Jc(e){this._internalRoot=e}function Qc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Kc(){}function $c(e,t,n,r,i){var a=n._reactRootContainer;if(a){var s=a;if("function"===typeof i){var o=i;i=function(){var e=Wc(s);o.call(e)}}Hc(t,s,e,i)}else s=function(e,t,n,r,i){if(i){if("function"===typeof r){var a=r;r=function(){var e=Wc(s);a.call(e)}}var s=Vc(t,r,e,0,null,!1,0,"",Kc);return e._reactRootContainer=s,e[fi]=s.current,Vr(8===e.nodeType?e.parentNode:e),uc(),s}for(;i=e.lastChild;)e.removeChild(i);if("function"===typeof r){var o=r;r=function(){var e=Wc(l);o.call(e)}}var l=Fc(e,0,!1,null,0,!1,0,"",Kc);return e._reactRootContainer=l,e[fi]=l.current,Vr(8===e.nodeType?e.parentNode:e),uc(function(){Hc(t,l,n,r)}),l}(n,t,e,i,r);return Wc(s)}Jc.prototype.render=Yc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(a(409));Hc(e,t,null,null)},Jc.prototype.unmount=Yc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc(function(){Hc(null,e,null,null)}),t[fi]=null}},Jc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Mt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<kt.length&&0!==t&&t<kt[n].priority;n++);kt.splice(n,0,e),0===n&&Ot(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(yt(t,1|n),rc(t,Ze()),0===(6&Cl)&&(Vl=Ze()+500,Vi()))}break;case 13:uc(function(){var t=Ia(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}}),qc(e,1)}},_t=function(e){if(13===e.tag){var t=Ia(e,134217728);if(null!==t)nc(t,e,134217728,ec());qc(e,134217728)}},St=function(e){if(13===e.tag){var t=tc(e),n=Ia(e,t);if(null!==n)nc(n,e,t,ec());qc(e,t)}},Mt=function(){return xt},Et=function(e,t){var n=xt;try{return xt=e,t()}finally{xt=n}},_e=function(e,t,n){switch(t){case"input":if(K(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=wi(r);if(!i)throw Error(a(90));X(r),K(r,i)}}}break;case"textarea":ae(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ce=cc,Pe=uc;var eu={usingClientEntryPoint:!1,Events:[xi,bi,wi,Te,Ae,cc]},tu={findFiberByHostInstance:yi,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:b.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ge(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{it=ru.inject(nu),at=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Qc(t))throw Error(a(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:_,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Qc(e))throw Error(a(299));var n=!1,r="",i=Xc;return null!==t&&void 0!==t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=Fc(e,1,!1,null,0,n,0,r,i),e[fi]=t.current,Vr(8===e.nodeType?e.parentNode:e),new Yc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(a(188));throw e=Object.keys(e).join(","),Error(a(268,e))}return e=null===(e=Ge(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Zc(t))throw Error(a(200));return $c(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Qc(e))throw Error(a(405));var r=null!=n&&n.hydratedSources||null,i=!1,s="",o=Xc;if(null!==n&&void 0!==n&&(!0===n.unstable_strictMode&&(i=!0),void 0!==n.identifierPrefix&&(s=n.identifierPrefix),void 0!==n.onRecoverableError&&(o=n.onRecoverableError)),t=Vc(t,null,e,1,null!=n?n:null,i,0,s,o),e[fi]=t.current,Vr(e),r)for(e=0;e<r.length;e++)i=(i=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,i]:t.mutableSourceEagerHydrationData.push(n,i);return new Jc(t)},t.render=function(e,t,n){if(!Zc(t))throw Error(a(200));return $c(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Zc(e))throw Error(a(40));return!!e._reactRootContainer&&(uc(function(){$c(null,null,e,!1,function(){e._reactRootContainer=null,e[fi]=null})}),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Zc(n))throw Error(a(200));if(null==e||void 0===e._reactInternals)throw Error(a(38));return $c(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},853:(e,t,n)=>{"use strict";e.exports=n(234)},950:(e,t,n)=>{"use strict";!function e(){if("undefined"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(730)},958:(e,t,n)=>{e.exports=function(e){var t={},r=n(43),i=n(853),a=Object.assign;function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var o=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,l=Symbol.for("react.element"),c=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),d=Symbol.for("react.strict_mode"),h=Symbol.for("react.profiler"),p=Symbol.for("react.provider"),f=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),v=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),x=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var b=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var w=Symbol.iterator;function _(e){return null===e||"object"!==typeof e?null:"function"===typeof(e=w&&e[w]||e["@@iterator"])?e:null}function S(e){if(null==e)return null;if("function"===typeof e)return e.displayName||e.name||null;if("string"===typeof e)return e;switch(e){case u:return"Fragment";case c:return"Portal";case h:return"Profiler";case d:return"StrictMode";case g:return"Suspense";case v:return"SuspenseList"}if("object"===typeof e)switch(e.$$typeof){case f:return(e.displayName||"Context")+".Consumer";case p:return(e._context.displayName||"Context")+".Provider";case m:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case y:return null!==(t=e.displayName||null)?t:S(e.type)||"Memo";case x:t=e._payload,e=e._init;try{return S(e(t))}catch(n){}}return null}function M(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return S(t);case 8:return t===d?"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("function"===typeof t)return t.displayName||t.name||null;if("string"===typeof t)return t}return null}function E(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!==(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function T(e){if(E(e)!==e)throw Error(s(188))}function A(e){var t=e.alternate;if(!t){if(null===(t=E(e)))throw Error(s(188));return t!==e?null:e}for(var n=e,r=t;;){var i=n.return;if(null===i)break;var a=i.alternate;if(null===a){if(null!==(r=i.return)){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return T(i),e;if(a===r)return T(i),t;a=a.sibling}throw Error(s(188))}if(n.return!==r.return)n=i,r=a;else{for(var o=!1,l=i.child;l;){if(l===n){o=!0,n=i,r=a;break}if(l===r){o=!0,r=i,n=a;break}l=l.sibling}if(!o){for(l=a.child;l;){if(l===n){o=!0,n=a,r=i;break}if(l===r){o=!0,r=a,n=i;break}l=l.sibling}if(!o)throw Error(s(189))}}if(n.alternate!==r)throw Error(s(190))}if(3!==n.tag)throw Error(s(188));return n.stateNode.current===n?e:t}function C(e){return null!==(e=A(e))?P(e):null}function P(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=P(e);if(null!==t)return t;e=e.sibling}return null}function N(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){if(4!==e.tag){var t=N(e);if(null!==t)return t}e=e.sibling}return null}var R,L=Array.isArray,k=e.getPublicInstance,I=e.getRootHostContext,D=e.getChildHostContext,z=e.prepareForCommit,O=e.resetAfterCommit,j=e.createInstance,B=e.appendInitialChild,F=e.finalizeInitialChildren,U=e.prepareUpdate,V=e.shouldSetTextContent,H=e.createTextInstance,W=e.scheduleTimeout,G=e.cancelTimeout,q=e.noTimeout,X=e.isPrimaryRenderer,Y=e.supportsMutation,J=e.supportsPersistence,Q=e.supportsHydration,Z=e.getInstanceFromNode,K=e.preparePortalMount,$=e.getCurrentEventPriority,ee=e.detachDeletedInstance,te=e.supportsMicrotasks,ne=e.scheduleMicrotask,re=e.supportsTestSelectors,ie=e.findFiberRoot,ae=e.getBoundingRect,se=e.getTextContent,oe=e.isHiddenSubtree,le=e.matchAccessibilityRole,ce=e.setFocusIfFocusable,ue=e.setupIntersectionObserver,de=e.appendChild,he=e.appendChildToContainer,pe=e.commitTextUpdate,fe=e.commitMount,me=e.commitUpdate,ge=e.insertBefore,ve=e.insertInContainerBefore,ye=e.removeChild,xe=e.removeChildFromContainer,be=e.resetTextContent,we=e.hideInstance,_e=e.hideTextInstance,Se=e.unhideInstance,Me=e.unhideTextInstance,Ee=e.clearContainer,Te=e.cloneInstance,Ae=e.createContainerChildSet,Ce=e.appendChildToContainerChildSet,Pe=e.finalizeContainerChildren,Ne=e.replaceContainerChildren,Re=e.cloneHiddenInstance,Le=e.cloneHiddenTextInstance,ke=e.canHydrateInstance,Ie=e.canHydrateTextInstance,De=e.canHydrateSuspenseInstance,ze=e.isSuspenseInstancePending,Oe=e.isSuspenseInstanceFallback,je=e.registerSuspenseInstanceRetry,Be=e.getNextHydratableSibling,Fe=e.getFirstHydratableChild,Ue=e.getFirstHydratableChildWithinContainer,Ve=e.getFirstHydratableChildWithinSuspenseInstance,He=e.hydrateInstance,We=e.hydrateTextInstance,Ge=e.hydrateSuspenseInstance,qe=e.getNextHydratableInstanceAfterSuspenseInstance,Xe=e.commitHydratedContainer,Ye=e.commitHydratedSuspenseInstance,Je=e.clearSuspenseBoundary,Qe=e.clearSuspenseBoundaryFromContainer,Ze=e.shouldDeleteUnhydratedTailInstances,Ke=e.didNotMatchHydratedContainerTextInstance,$e=e.didNotMatchHydratedTextInstance;function et(e){if(void 0===R)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);R=t&&t[1]||""}return"\n"+R+e}var tt=!1;function nt(e,t){if(!e||tt)return"";tt=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"===typeof c.stack){for(var i=c.stack.split("\n"),a=r.stack.split("\n"),s=i.length-1,o=a.length-1;1<=s&&0<=o&&i[s]!==a[o];)o--;for(;1<=s&&0<=o;s--,o--)if(i[s]!==a[o]){if(1!==s||1!==o)do{if(s--,0>--o||i[s]!==a[o]){var l="\n"+i[s].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=s&&0<=o);break}}}finally{tt=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?et(e):""}var rt=Object.prototype.hasOwnProperty,it=[],at=-1;function st(e){return{current:e}}function ot(e){0>at||(e.current=it[at],it[at]=null,at--)}function lt(e,t){at++,it[at]=e.current,e.current=t}var ct={},ut=st(ct),dt=st(!1),ht=ct;function pt(e,t){var n=e.type.contextTypes;if(!n)return ct;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i,a={};for(i in n)a[i]=t[i];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=a),a}function ft(e){return null!==(e=e.childContextTypes)&&void 0!==e}function mt(){ot(dt),ot(ut)}function gt(e,t,n){if(ut.current!==ct)throw Error(s(168));lt(ut,t),lt(dt,n)}function vt(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!==typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in t))throw Error(s(108,M(e)||"Unknown",i));return a({},n,r)}function yt(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ct,ht=ut.current,lt(ut,e),lt(dt,dt.current),!0}function xt(e,t,n){var r=e.stateNode;if(!r)throw Error(s(169));n?(e=vt(e,t,ht),r.__reactInternalMemoizedMergedChildContext=e,ot(dt),ot(ut),lt(ut,e)):ot(dt),lt(dt,n)}var bt=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(wt(e)/_t|0)|0},wt=Math.log,_t=Math.LN2;var St=64,Mt=4194304;function Et(e){switch(e&-e){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 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Tt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,i=e.suspendedLanes,a=e.pingedLanes,s=268435455&n;if(0!==s){var o=s&~i;0!==o?r=Et(o):0!==(a&=s)&&(r=Et(a))}else 0!==(s=n&~i)?r=Et(s):0!==a&&(r=Et(a));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&i)&&((i=r&-r)>=(a=t&-t)||16===i&&0!==(4194240&a)))return t;if(0!==(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)i=1<<(n=31-bt(t)),r|=e[n],t&=~i;return r}function At(e,t){switch(e){case 1:case 2:case 4:return t+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 t+5e3;default:return-1}}function Ct(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Pt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Nt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-bt(t)]=n}function Rt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-bt(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var Lt=0;function kt(e){return 1<(e&=-e)?4<e?0!==(268435455&e)?16:536870912:4:1}var It=i.unstable_scheduleCallback,Dt=i.unstable_cancelCallback,zt=i.unstable_shouldYield,Ot=i.unstable_requestPaint,jt=i.unstable_now,Bt=i.unstable_ImmediatePriority,Ft=i.unstable_UserBlockingPriority,Ut=i.unstable_NormalPriority,Vt=i.unstable_IdlePriority,Ht=null,Wt=null;var Gt="function"===typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e===1/t)||e!==e&&t!==t},qt=null,Xt=!1,Yt=!1;function Jt(e){null===qt?qt=[e]:qt.push(e)}function Qt(){if(!Yt&&null!==qt){Yt=!0;var e=0,t=Lt;try{var n=qt;for(Lt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}qt=null,Xt=!1}catch(i){throw null!==qt&&(qt=qt.slice(e+1)),It(Bt,Qt),i}finally{Lt=t,Yt=!1}}return null}var Zt=o.ReactCurrentBatchConfig;function Kt(e,t){if(Gt(e,t))return!0;if("object"!==typeof e||null===e||"object"!==typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!rt.call(t,i)||!Gt(e[i],t[i]))return!1}return!0}function $t(e){switch(e.tag){case 5:return et(e.type);case 16:return et("Lazy");case 13:return et("Suspense");case 19:return et("SuspenseList");case 0:case 2:case 15:return e=nt(e.type,!1);case 11:return e=nt(e.type.render,!1);case 1:return e=nt(e.type,!0);default:return""}}function en(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var tn=st(null),nn=null,rn=null,an=null;function sn(){an=rn=nn=null}function on(e,t,n){X?(lt(tn,t._currentValue),t._currentValue=n):(lt(tn,t._currentValue2),t._currentValue2=n)}function ln(e){var t=tn.current;ot(tn),X?e._currentValue=t:e._currentValue2=t}function cn(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function un(e,t){nn=e,an=rn=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(zi=!0),e.firstContext=null)}function dn(e){var t=X?e._currentValue:e._currentValue2;if(an!==e)if(e={context:e,memoizedValue:t,next:null},null===rn){if(null===nn)throw Error(s(308));rn=e,nn.dependencies={lanes:0,firstContext:e}}else rn=rn.next=e;return t}var hn=null,pn=!1;function fn(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function mn(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function gn(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function vn(e,t){var n=e.updateQueue;null!==n&&(n=n.shared,null!==Ya&&0!==(1&e.mode)&&0===(2&Xa)?(null===(e=n.interleaved)?(t.next=t,null===hn?hn=[n]:hn.push(n)):(t.next=e.next,e.next=t),n.interleaved=t):(null===(e=n.pending)?t.next=t:(t.next=e.next,e.next=t),n.pending=t))}function yn(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!==(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Rt(e,n)}}function xn(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var i=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===a?i=a=s:a=a.next=s,n=n.next}while(null!==n);null===a?i=a=t:a=a.next=t}else i=a=t;return n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function bn(e,t,n,r){var i=e.updateQueue;pn=!1;var s=i.firstBaseUpdate,o=i.lastBaseUpdate,l=i.shared.pending;if(null!==l){i.shared.pending=null;var c=l,u=c.next;c.next=null,null===o?s=u:o.next=u,o=c;var d=e.alternate;null!==d&&((l=(d=d.updateQueue).lastBaseUpdate)!==o&&(null===l?d.firstBaseUpdate=u:l.next=u,d.lastBaseUpdate=c))}if(null!==s){var h=i.baseState;for(o=0,d=u=c=null,l=s;;){var p=l.lane,f=l.eventTime;if((r&p)===p){null!==d&&(d=d.next={eventTime:f,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var m=e,g=l;switch(p=t,f=n,g.tag){case 1:if("function"===typeof(m=g.payload)){h=m.call(f,h,p);break e}h=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null===(p="function"===typeof(m=g.payload)?m.call(f,h,p):m)||void 0===p)break e;h=a({},h,p);break e;case 2:pn=!0}}null!==l.callback&&0!==l.lane&&(e.flags|=64,null===(p=i.effects)?i.effects=[l]:p.push(l))}else f={eventTime:f,lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===d?(u=d=f,c=h):d=d.next=f,o|=p;if(null===(l=l.next)){if(null===(l=i.shared.pending))break;l=(p=l).next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}if(null===d&&(c=h),i.baseState=c,i.firstBaseUpdate=u,i.lastBaseUpdate=d,null!==(t=i.shared.interleaved)){i=t;do{o|=i.lane,i=i.next}while(i!==t)}else null===s&&(i.shared.lanes=0);ts|=o,e.lanes=o,e.memoizedState=h}}function wn(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],i=r.callback;if(null!==i){if(r.callback=null,r=n,"function"!==typeof i)throw Error(s(191,i));i.call(r)}}}var _n=(new r.Component).refs;function Sn(e,t,n,r){n=null===(n=n(r,t=e.memoizedState))||void 0===n?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var Mn={isMounted:function(e){return!!(e=e._reactInternals)&&E(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=bs(),i=ws(e),a=gn(r,i);a.payload=t,void 0!==n&&null!==n&&(a.callback=n),vn(e,a),null!==(t=_s(e,i,r))&&yn(t,e,i)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=bs(),i=ws(e),a=gn(r,i);a.tag=1,a.payload=t,void 0!==n&&null!==n&&(a.callback=n),vn(e,a),null!==(t=_s(e,i,r))&&yn(t,e,i)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=bs(),r=ws(e),i=gn(n,r);i.tag=2,void 0!==t&&null!==t&&(i.callback=t),vn(e,i),null!==(t=_s(e,r,n))&&yn(t,e,r)}};function En(e,t,n,r,i,a,s){return"function"===typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,s):!t.prototype||!t.prototype.isPureReactComponent||(!Kt(n,r)||!Kt(i,a))}function Tn(e,t,n){var r=!1,i=ct,a=t.contextType;return"object"===typeof a&&null!==a?a=dn(a):(i=ft(t)?ht:ut.current,a=(r=null!==(r=t.contextTypes)&&void 0!==r)?pt(e,i):ct),t=new t(n,a),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=Mn,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function An(e,t,n,r){e=t.state,"function"===typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"===typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Mn.enqueueReplaceState(t,t.state,null)}function Cn(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs=_n,fn(e);var a=t.contextType;"object"===typeof a&&null!==a?i.context=dn(a):(a=ft(t)?ht:ut.current,i.context=pt(e,a)),i.state=e.memoizedState,"function"===typeof(a=t.getDerivedStateFromProps)&&(Sn(e,t,a,n),i.state=e.memoizedState),"function"===typeof t.getDerivedStateFromProps||"function"===typeof i.getSnapshotBeforeUpdate||"function"!==typeof i.UNSAFE_componentWillMount&&"function"!==typeof i.componentWillMount||(t=i.state,"function"===typeof i.componentWillMount&&i.componentWillMount(),"function"===typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount(),t!==i.state&&Mn.enqueueReplaceState(i,i.state,null),bn(e,n,i,r),i.state=e.memoizedState),"function"===typeof i.componentDidMount&&(e.flags|=4194308)}var Pn=[],Nn=0,Rn=null,Ln=0,kn=[],In=0,Dn=null,zn=1,On="";function jn(e,t){Pn[Nn++]=Ln,Pn[Nn++]=Rn,Rn=e,Ln=t}function Bn(e,t,n){kn[In++]=zn,kn[In++]=On,kn[In++]=Dn,Dn=e;var r=zn;e=On;var i=32-bt(r)-1;r&=~(1<<i),n+=1;var a=32-bt(t)+i;if(30<a){var s=i-i%5;a=(r&(1<<s)-1).toString(32),r>>=s,i-=s,zn=1<<32-bt(t)+i|n<<i|r,On=a+e}else zn=1<<a|n<<i|r,On=e}function Fn(e){null!==e.return&&(jn(e,1),Bn(e,1,0))}function Un(e){for(;e===Rn;)Rn=Pn[--Nn],Pn[Nn]=null,Ln=Pn[--Nn],Pn[Nn]=null;for(;e===Dn;)Dn=kn[--In],kn[In]=null,On=kn[--In],kn[In]=null,zn=kn[--In],kn[In]=null}var Vn=null,Hn=null,Wn=!1,Gn=!1,qn=null;function Xn(e,t){var n=Zs(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function Yn(e,t){switch(e.tag){case 5:return null!==(t=ke(t,e.type,e.pendingProps))&&(e.stateNode=t,Vn=e,Hn=Fe(t),!0);case 6:return null!==(t=Ie(t,e.pendingProps))&&(e.stateNode=t,Vn=e,Hn=null,!0);case 13:if(null!==(t=De(t))){var n=null!==Dn?{id:zn,overflow:On}:null;return e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Zs(18,null,null,0)).stateNode=t,n.return=e,e.child=n,Vn=e,Hn=null,!0}return!1;default:return!1}}function Jn(e){return 0!==(1&e.mode)&&0===(128&e.flags)}function Qn(e){if(Wn){var t=Hn;if(t){var n=t;if(!Yn(e,t)){if(Jn(e))throw Error(s(418));t=Be(n);var r=Vn;t&&Yn(e,t)?Xn(r,n):(e.flags=-4097&e.flags|2,Wn=!1,Vn=e)}}else{if(Jn(e))throw Error(s(418));e.flags=-4097&e.flags|2,Wn=!1,Vn=e}}}function Zn(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Vn=e}function Kn(e){if(!Q||e!==Vn)return!1;if(!Wn)return Zn(e),Wn=!0,!1;if(3!==e.tag&&(5!==e.tag||Ze(e.type)&&!V(e.type,e.memoizedProps))){var t=Hn;if(t){if(Jn(e)){for(e=Hn;e;)e=Be(e);throw Error(s(418))}for(;t;)Xn(e,t),t=Be(t)}}if(Zn(e),13===e.tag){if(!Q)throw Error(s(316));if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(s(317));Hn=qe(e)}else Hn=Vn?Be(e.stateNode):null;return!0}function $n(){Q&&(Hn=Vn=null,Gn=Wn=!1)}function er(e){null===qn?qn=[e]:qn.push(e)}function tr(e,t,n){if(null!==(e=n.ref)&&"function"!==typeof e&&"object"!==typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(s(309));var r=n.stateNode}if(!r)throw Error(s(147,e));var i=r,a=""+e;return null!==t&&null!==t.ref&&"function"===typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=i.refs;t===_n&&(t=i.refs={}),null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!==typeof e)throw Error(s(284));if(!n._owner)throw Error(s(290,e))}return e}function nr(e,t){throw e=Object.prototype.toString.call(t),Error(s(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function rr(e){return(0,e._init)(e._payload)}function ir(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function i(e,t){return(e=$s(e,t)).index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function o(t){return e&&null===t.alternate&&(t.flags|=2),t}function d(e,t,n,r){return null===t||6!==t.tag?((t=ro(n,e.mode,r)).return=e,t):((t=i(t,n)).return=e,t)}function h(e,t,n,r){var a=n.type;return a===u?f(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"===typeof a&&null!==a&&a.$$typeof===x&&rr(a)===t.type)?((r=i(t,n.props)).ref=tr(e,t,n),r.return=e,r):((r=eo(n.type,n.key,n.props,null,e.mode,r)).ref=tr(e,t,n),r.return=e,r)}function p(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=io(n,e.mode,r)).return=e,t):((t=i(t,n.children||[])).return=e,t)}function f(e,t,n,r,a){return null===t||7!==t.tag?((t=to(n,e.mode,r,a)).return=e,t):((t=i(t,n)).return=e,t)}function m(e,t,n){if("string"===typeof t&&""!==t||"number"===typeof t)return(t=ro(""+t,e.mode,n)).return=e,t;if("object"===typeof t&&null!==t){switch(t.$$typeof){case l:return(n=eo(t.type,t.key,t.props,null,e.mode,n)).ref=tr(e,null,t),n.return=e,n;case c:return(t=io(t,e.mode,n)).return=e,t;case x:return m(e,(0,t._init)(t._payload),n)}if(L(t)||_(t))return(t=to(t,e.mode,n,null)).return=e,t;nr(e,t)}return null}function g(e,t,n,r){var i=null!==t?t.key:null;if("string"===typeof n&&""!==n||"number"===typeof n)return null!==i?null:d(e,t,""+n,r);if("object"===typeof n&&null!==n){switch(n.$$typeof){case l:return n.key===i?h(e,t,n,r):null;case c:return n.key===i?p(e,t,n,r):null;case x:return g(e,t,(i=n._init)(n._payload),r)}if(L(n)||_(n))return null!==i?null:f(e,t,n,r,null);nr(e,n)}return null}function v(e,t,n,r,i){if("string"===typeof r&&""!==r||"number"===typeof r)return d(t,e=e.get(n)||null,""+r,i);if("object"===typeof r&&null!==r){switch(r.$$typeof){case l:return h(t,e=e.get(null===r.key?n:r.key)||null,r,i);case c:return p(t,e=e.get(null===r.key?n:r.key)||null,r,i);case x:return v(e,t,n,(0,r._init)(r._payload),i)}if(L(r)||_(r))return f(t,e=e.get(n)||null,r,i,null);nr(t,r)}return null}function y(i,s,o,l){for(var c=null,u=null,d=s,h=s=0,p=null;null!==d&&h<o.length;h++){d.index>h?(p=d,d=null):p=d.sibling;var f=g(i,d,o[h],l);if(null===f){null===d&&(d=p);break}e&&d&&null===f.alternate&&t(i,d),s=a(f,s,h),null===u?c=f:u.sibling=f,u=f,d=p}if(h===o.length)return n(i,d),Wn&&jn(i,h),c;if(null===d){for(;h<o.length;h++)null!==(d=m(i,o[h],l))&&(s=a(d,s,h),null===u?c=d:u.sibling=d,u=d);return Wn&&jn(i,h),c}for(d=r(i,d);h<o.length;h++)null!==(p=v(d,i,h,o[h],l))&&(e&&null!==p.alternate&&d.delete(null===p.key?h:p.key),s=a(p,s,h),null===u?c=p:u.sibling=p,u=p);return e&&d.forEach(function(e){return t(i,e)}),Wn&&jn(i,h),c}function b(i,o,l,c){var u=_(l);if("function"!==typeof u)throw Error(s(150));if(null==(l=u.call(l)))throw Error(s(151));for(var d=u=null,h=o,p=o=0,f=null,y=l.next();null!==h&&!y.done;p++,y=l.next()){h.index>p?(f=h,h=null):f=h.sibling;var x=g(i,h,y.value,c);if(null===x){null===h&&(h=f);break}e&&h&&null===x.alternate&&t(i,h),o=a(x,o,p),null===d?u=x:d.sibling=x,d=x,h=f}if(y.done)return n(i,h),Wn&&jn(i,p),u;if(null===h){for(;!y.done;p++,y=l.next())null!==(y=m(i,y.value,c))&&(o=a(y,o,p),null===d?u=y:d.sibling=y,d=y);return Wn&&jn(i,p),u}for(h=r(i,h);!y.done;p++,y=l.next())null!==(y=v(h,i,p,y.value,c))&&(e&&null!==y.alternate&&h.delete(null===y.key?p:y.key),o=a(y,o,p),null===d?u=y:d.sibling=y,d=y);return e&&h.forEach(function(e){return t(i,e)}),Wn&&jn(i,p),u}return function e(r,a,s,d){if("object"===typeof s&&null!==s&&s.type===u&&null===s.key&&(s=s.props.children),"object"===typeof s&&null!==s){switch(s.$$typeof){case l:e:{for(var h=s.key,p=a;null!==p;){if(p.key===h){if((h=s.type)===u){if(7===p.tag){n(r,p.sibling),(a=i(p,s.props.children)).return=r,r=a;break e}}else if(p.elementType===h||"object"===typeof h&&null!==h&&h.$$typeof===x&&rr(h)===p.type){n(r,p.sibling),(a=i(p,s.props)).ref=tr(r,p,s),a.return=r,r=a;break e}n(r,p);break}t(r,p),p=p.sibling}s.type===u?((a=to(s.props.children,r.mode,d,s.key)).return=r,r=a):((d=eo(s.type,s.key,s.props,null,r.mode,d)).ref=tr(r,a,s),d.return=r,r=d)}return o(r);case c:e:{for(p=s.key;null!==a;){if(a.key===p){if(4===a.tag&&a.stateNode.containerInfo===s.containerInfo&&a.stateNode.implementation===s.implementation){n(r,a.sibling),(a=i(a,s.children||[])).return=r,r=a;break e}n(r,a);break}t(r,a),a=a.sibling}(a=io(s,r.mode,d)).return=r,r=a}return o(r);case x:return e(r,a,(p=s._init)(s._payload),d)}if(L(s))return y(r,a,s,d);if(_(s))return b(r,a,s,d);nr(r,s)}return"string"===typeof s&&""!==s||"number"===typeof s?(s=""+s,null!==a&&6===a.tag?(n(r,a.sibling),(a=i(a,s)).return=r,r=a):(n(r,a),(a=ro(s,r.mode,d)).return=r,r=a),o(r)):n(r,a)}}var ar=ir(!0),sr=ir(!1),or={},lr=st(or),cr=st(or),ur=st(or);function dr(e){if(e===or)throw Error(s(174));return e}function hr(e,t){lt(ur,t),lt(cr,e),lt(lr,or),e=I(t),ot(lr),lt(lr,e)}function pr(){ot(lr),ot(cr),ot(ur)}function fr(e){var t=dr(ur.current),n=dr(lr.current);n!==(t=D(n,e.type,t))&&(lt(cr,e),lt(lr,t))}function mr(e){cr.current===e&&(ot(lr),ot(cr))}var gr=st(0);function vr(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||ze(n)||Oe(n)))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!==(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var yr=[];function xr(){for(var e=0;e<yr.length;e++){var t=yr[e];X?t._workInProgressVersionPrimary=null:t._workInProgressVersionSecondary=null}yr.length=0}var br=o.ReactCurrentDispatcher,wr=o.ReactCurrentBatchConfig,_r=0,Sr=null,Mr=null,Er=null,Tr=!1,Ar=!1,Cr=0,Pr=0;function Nr(){throw Error(s(321))}function Rr(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Gt(e[n],t[n]))return!1;return!0}function Lr(e,t,n,r,i,a){if(_r=a,Sr=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,br.current=null===e||null===e.memoizedState?fi:mi,e=n(r,i),Ar){a=0;do{if(Ar=!1,Cr=0,25<=a)throw Error(s(301));a+=1,Er=Mr=null,t.updateQueue=null,br.current=gi,e=n(r,i)}while(Ar)}if(br.current=pi,t=null!==Mr&&null!==Mr.next,_r=0,Er=Mr=Sr=null,Tr=!1,t)throw Error(s(300));return e}function kr(){var e=0!==Cr;return Cr=0,e}function Ir(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Er?Sr.memoizedState=Er=e:Er=Er.next=e,Er}function Dr(){if(null===Mr){var e=Sr.alternate;e=null!==e?e.memoizedState:null}else e=Mr.next;var t=null===Er?Sr.memoizedState:Er.next;if(null!==t)Er=t,Mr=e;else{if(null===e)throw Error(s(310));e={memoizedState:(Mr=e).memoizedState,baseState:Mr.baseState,baseQueue:Mr.baseQueue,queue:Mr.queue,next:null},null===Er?Sr.memoizedState=Er=e:Er=Er.next=e}return Er}function zr(e,t){return"function"===typeof t?t(e):t}function Or(e){var t=Dr(),n=t.queue;if(null===n)throw Error(s(311));n.lastRenderedReducer=e;var r=Mr,i=r.baseQueue,a=n.pending;if(null!==a){if(null!==i){var o=i.next;i.next=a.next,a.next=o}r.baseQueue=i=a,n.pending=null}if(null!==i){a=i.next,r=r.baseState;var l=o=null,c=null,u=a;do{var d=u.lane;if((_r&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var h={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=h,o=r):c=c.next=h,Sr.lanes|=d,ts|=d}u=u.next}while(null!==u&&u!==a);null===c?o=r:c.next=l,Gt(r,t.memoizedState)||(zi=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){i=e;do{a=i.lane,Sr.lanes|=a,ts|=a,i=i.next}while(i!==e)}else null===i&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function jr(e){var t=Dr(),n=t.queue;if(null===n)throw Error(s(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(null!==i){n.pending=null;var o=i=i.next;do{a=e(a,o.action),o=o.next}while(o!==i);Gt(a,t.memoizedState)||(zi=!0),t.memoizedState=a,null===t.baseQueue&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Br(){}function Fr(e,t){var n=Sr,r=Dr(),i=t(),a=!Gt(r.memoizedState,i);if(a&&(r.memoizedState=i,zi=!0),r=r.queue,Zr(Hr.bind(null,n,r,e),[e]),r.getSnapshot!==t||a||null!==Er&&1&Er.memoizedState.tag){if(n.flags|=2048,qr(9,Vr.bind(null,n,r,i,t),void 0,null),null===Ya)throw Error(s(349));0!==(30&_r)||Ur(n,t,i)}return i}function Ur(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=Sr.updateQueue)?(t={lastEffect:null,stores:null},Sr.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Vr(e,t,n,r){t.value=n,t.getSnapshot=r,Wr(t)&&_s(e,1,-1)}function Hr(e,t,n){return n(function(){Wr(t)&&_s(e,1,-1)})}function Wr(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Gt(e,n)}catch(r){return!0}}function Gr(e){var t=Ir();return"function"===typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:zr,lastRenderedState:e},t.queue=e,e=e.dispatch=li.bind(null,Sr,e),[t.memoizedState,e]}function qr(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Sr.updateQueue)?(t={lastEffect:null,stores:null},Sr.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Xr(){return Dr().memoizedState}function Yr(e,t,n,r){var i=Ir();Sr.flags|=e,i.memoizedState=qr(1|t,n,void 0,void 0===r?null:r)}function Jr(e,t,n,r){var i=Dr();r=void 0===r?null:r;var a=void 0;if(null!==Mr){var s=Mr.memoizedState;if(a=s.destroy,null!==r&&Rr(r,s.deps))return void(i.memoizedState=qr(t,n,a,r))}Sr.flags|=e,i.memoizedState=qr(1|t,n,a,r)}function Qr(e,t){return Yr(8390656,8,e,t)}function Zr(e,t){return Jr(2048,8,e,t)}function Kr(e,t){return Jr(4,2,e,t)}function $r(e,t){return Jr(4,4,e,t)}function ei(e,t){return"function"===typeof t?(e=e(),t(e),function(){t(null)}):null!==t&&void 0!==t?(e=e(),t.current=e,function(){t.current=null}):void 0}function ti(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Jr(4,4,ei.bind(null,t,e),n)}function ni(){}function ri(e,t){var n=Dr();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Rr(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ii(e,t){var n=Dr();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Rr(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ai(e,t){var n=Lt;Lt=0!==n&&4>n?n:4,e(!0);var r=wr.transition;wr.transition={};try{e(!1),t()}finally{Lt=n,wr.transition=r}}function si(){return Dr().memoizedState}function oi(e,t,n){var r=ws(e);
2n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},ci(e)?ui(t,n):(di(e,t,n),null!==(e=_s(e,r,n=bs()))&&hi(e,t,r))}function li(e,t,n){var r=ws(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(ci(e))ui(t,i);else{di(e,t,i);var a=e.alternate;if(0===e.lanes&&(null===a||0===a.lanes)&&null!==(a=t.lastRenderedReducer))try{var s=t.lastRenderedState,o=a(s,n);if(i.hasEagerState=!0,i.eagerState=o,Gt(o,s))return}catch(l){}null!==(e=_s(e,r,n=bs()))&&hi(e,t,r)}}function ci(e){var t=e.alternate;return e===Sr||null!==t&&t===Sr}function ui(e,t){Ar=Tr=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function di(e,t,n){null!==Ya&&0!==(1&e.mode)&&0===(2&Xa)?(null===(e=t.interleaved)?(n.next=n,null===hn?hn=[t]:hn.push(t)):(n.next=e.next,e.next=n),t.interleaved=n):(null===(e=t.pending)?n.next=n:(n.next=e.next,e.next=n),t.pending=n)}function hi(e,t,n){if(0!==(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,Rt(e,n)}}var pi={readContext:dn,useCallback:Nr,useContext:Nr,useEffect:Nr,useImperativeHandle:Nr,useInsertionEffect:Nr,useLayoutEffect:Nr,useMemo:Nr,useReducer:Nr,useRef:Nr,useState:Nr,useDebugValue:Nr,useDeferredValue:Nr,useTransition:Nr,useMutableSource:Nr,useSyncExternalStore:Nr,useId:Nr,unstable_isNewReconciler:!1},fi={readContext:dn,useCallback:function(e,t){return Ir().memoizedState=[e,void 0===t?null:t],e},useContext:dn,useEffect:Qr,useImperativeHandle:function(e,t,n){return n=null!==n&&void 0!==n?n.concat([e]):null,Yr(4194308,4,ei.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Yr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Yr(4,2,e,t)},useMemo:function(e,t){var n=Ir();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ir();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=oi.bind(null,Sr,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Ir().memoizedState=e},useState:Gr,useDebugValue:ni,useDeferredValue:function(e){var t=Gr(e),n=t[0],r=t[1];return Qr(function(){var t=wr.transition;wr.transition={};try{r(e)}finally{wr.transition=t}},[e]),n},useTransition:function(){var e=Gr(!1),t=e[0];return e=ai.bind(null,e[1]),Ir().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Sr,i=Ir();if(Wn){if(void 0===n)throw Error(s(407));n=n()}else{if(n=t(),null===Ya)throw Error(s(349));0!==(30&_r)||Ur(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,Qr(Hr.bind(null,r,a,e),[e]),r.flags|=2048,qr(9,Vr.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Ir(),t=Ya.identifierPrefix;if(Wn){var n=On;t=":"+t+"R"+(n=(zn&~(1<<32-bt(zn)-1)).toString(32)+n),0<(n=Cr++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=Pr++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},mi={readContext:dn,useCallback:ri,useContext:dn,useEffect:Zr,useImperativeHandle:ti,useInsertionEffect:Kr,useLayoutEffect:$r,useMemo:ii,useReducer:Or,useRef:Xr,useState:function(){return Or(zr)},useDebugValue:ni,useDeferredValue:function(e){var t=Or(zr),n=t[0],r=t[1];return Zr(function(){var t=wr.transition;wr.transition={};try{r(e)}finally{wr.transition=t}},[e]),n},useTransition:function(){return[Or(zr)[0],Dr().memoizedState]},useMutableSource:Br,useSyncExternalStore:Fr,useId:si,unstable_isNewReconciler:!1},gi={readContext:dn,useCallback:ri,useContext:dn,useEffect:Zr,useImperativeHandle:ti,useInsertionEffect:Kr,useLayoutEffect:$r,useMemo:ii,useReducer:jr,useRef:Xr,useState:function(){return jr(zr)},useDebugValue:ni,useDeferredValue:function(e){var t=jr(zr),n=t[0],r=t[1];return Zr(function(){var t=wr.transition;wr.transition={};try{r(e)}finally{wr.transition=t}},[e]),n},useTransition:function(){return[jr(zr)[0],Dr().memoizedState]},useMutableSource:Br,useSyncExternalStore:Fr,useId:si,unstable_isNewReconciler:!1};function vi(e,t){try{var n="",r=t;do{n+=$t(r),r=r.return}while(r);var i=n}catch(a){i="\nError generating stack: "+a.message+"\n"+a.stack}return{value:e,source:t,stack:i}}function yi(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var xi,bi,wi,_i,Si="function"===typeof WeakMap?WeakMap:Map;function Mi(e,t,n){(n=gn(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){us||(us=!0,ds=r),yi(0,t)},n}function Ei(e,t,n){(n=gn(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"===typeof r){var i=t.value;n.payload=function(){return r(i)},n.callback=function(){yi(0,t)}}var a=e.stateNode;return null!==a&&"function"===typeof a.componentDidCatch&&(n.callback=function(){yi(0,t),"function"!==typeof r&&(null===hs?hs=new Set([this]):hs.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}
2function Ti(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new Si;var i=new Set;r.set(t,i)}else void 0===(i=r.get(t))&&(i=new Set,r.set(t,i));i.has(n)||(i.add(n),e=Gs.bind(null,e,t,n),t.then(e,e))}function Ai(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function Ci(e,t,n,r,i){return 0===(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=gn(-1,1)).tag=2,vn(n,t))),n.lanes|=1),e):(e.flags|=65536,e.lanes=i,e)}function Pi(e){e.flags|=4}function Ni(e,t){if(null!==e&&e.child===t.child)return!0;if(0!==(16&t.flags))return!1;for(e=t.child;null!==e;){if(0!==(12854&e.flags)||0!==(12854&e.subtreeFlags))return!1;e=e.sibling}return!0}if(Y)xi=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)B(e,n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},bi=function(){},wi=function(e,t,n,r,i){if((e=e.memoizedProps)!==r){var a=t.stateNode,s=dr(lr.current);n=U(a,n,e,r,i,s),(t.updateQueue=n)&&Pi(t)}},_i=function(e,t,n,r){n!==r&&Pi(t)};else if(J){xi=function(e,t,n,r){for(var i=t.child;null!==i;){if(5===i.tag){var a=i.stateNode;n&&r&&(a=Re(a,i.type,i.memoizedProps,i)),B(e,a)}else if(6===i.tag)a=i.stateNode,n&&r&&(a=Le(a,i.memoizedProps,i)),B(e,a);else if(4!==i.tag)if(22===i.tag&&null!==i.memoizedState)null!==(a=i.child)&&(a.return=i),xi(e,i,!0,!0);else if(null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}};var Ri=function(e,t,n,r){for(var i=t.child;null!==i;){if(5===i.tag){var a=i.stateNode;n&&r&&(a=Re(a,i.type,i.memoizedProps,i)),Ce(e,a)}else if(6===i.tag)a=i.stateNode,n&&r&&(a=Le(a,i.memoizedProps,i)),Ce(e,a);else if(4!==i.tag)if(22===i.tag&&null!==i.memoizedState)null!==(a=i.child)&&(a.return=i),Ri(e,i,!0,!0);else if(null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}};bi=function(e,t){var n=t.stateNode;if(!Ni(e,t)){e=n.containerInfo;var r=Ae(e);Ri(r,t,!1,!1),n.pendingChildren=r,Pi(t),Pe(e,r)}},wi=function(e,t,n,r,i){var a=e.stateNode,s=e.memoizedProps;if((e=Ni(e,t))&&s===r)t.stateNode=a;else{var o=t.stateNode,l=dr(lr.current),c=null;s!==r&&(c=U(o,n,s,r,i,l)),e&&null===c?t.stateNode=a:(a=Te(a,c,n,s,r,t,e,o),F(a,n,r,i,l)&&Pi(t),t.stateNode=a,e?Pi(t):xi(a,t,!1,!1))}},_i=function(e,t,n,r){n!==r?(e=dr(ur.current),n=dr(lr.current),t.stateNode=H(r,e,n,t),Pi(t)):t.stateNode=e.stateNode}}else bi=function(){},wi=function(){},_i=function(){};function Li(e,t){if(!Wn)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ki(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=14680064&i.subtreeFlags,r|=14680064&i.flags,i.return=e,i=i.sibling;else for(i=e.child;null!==i;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ii(e,t,n){var r=t.pendingProps;switch(Un(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ki(t),null;case 1:case 17:return ft(t.type)&&mt(),ki(t),null;case 3:return r=t.stateNode,pr(),ot(dt),ot(ut),xr(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Kn(t)?Pi(t):null===e||e.memoizedState.isDehydrated&&0===(256&t.flags)||(t.flags|=1024,null!==qn&&(As(qn),qn=null))),bi(e,t),ki(t),null;case 5:mr(t),n=dr(ur.current);var i=t.type;if(null!==e&&null!=t.stateNode)wi(e,t,i,r,n),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(s(166));return ki(t),null}
2if(e=dr(lr.current),Kn(t)){if(!Q)throw Error(s(175));e=He(t.stateNode,t.type,t.memoizedProps,n,e,t,!Gn),t.updateQueue=e,null!==e&&Pi(t)}else{var a=j(i,r,n,e,t);xi(a,t,!1,!1),t.stateNode=a,F(a,i,r,n,e)&&Pi(t)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return ki(t),null;case 6:if(e&&null!=t.stateNode)_i(e,t,e.memoizedProps,r);else{if("string"!==typeof r&&null===t.stateNode)throw Error(s(166));if(e=dr(ur.current),n=dr(lr.current),Kn(t)){if(!Q)throw Error(s(176));if(e=t.stateNode,r=t.memoizedProps,(n=We(e,r,t,!Gn))&&null!==(i=Vn))switch(a=0!==(1&i.mode),i.tag){case 3:Ke(i.stateNode.containerInfo,e,r,a);break;case 5:$e(i.type,i.memoizedProps,i.stateNode,e,r,a)}n&&Pi(t)}else t.stateNode=H(r,e,n,t)}return ki(t),null;case 13:if(ot(gr),r=t.memoizedState,Wn&&null!==Hn&&0!==(1&t.mode)&&0===(128&t.flags)){for(e=Hn;e;)e=Be(e);return $n(),t.flags|=98560,t}if(null!==r&&null!==r.dehydrated){if(r=Kn(t),null===e){if(!r)throw Error(s(318));if(!Q)throw Error(s(344));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(s(317));Ge(e,t)}else $n(),0===(128&t.flags)&&(t.memoizedState=null),t.flags|=4;return ki(t),null}return null!==qn&&(As(qn),qn=null),0!==(128&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?Kn(t):n=null!==e.memoizedState,r&&!n&&(t.child.flags|=8192,0!==(1&t.mode)&&(null===e||0!==(1&gr.current)?0===$a&&($a=3):Ds())),null!==t.updateQueue&&(t.flags|=4),ki(t),null);case 4:return pr(),bi(e,t),null===e&&K(t.stateNode.containerInfo),ki(t),null;case 10:return ln(t.type._context),ki(t),null;case 19:if(ot(gr),null===(i=t.memoizedState))return ki(t),null;if(r=0!==(128&t.flags),null===(a=i.rendering))if(r)Li(i,!1);else{if(0!==$a||null!==e&&0!==(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=vr(e))){for(t.flags|=128,Li(i,!1),null!==(e=a.updateQueue)&&(t.updateQueue=e,t.flags|=4),t.subtreeFlags=0,e=n,r=t.child;null!==r;)i=e,(n=r).flags&=14680066,null===(a=n.alternate)?(n.childLanes=0,n.lanes=i,n.child=null,n.subtreeFlags=0,n.memoizedProps=null,n.memoizedState=null,n.updateQueue=null,n.dependencies=null,n.stateNode=null):(n.childLanes=a.childLanes,n.lanes=a.lanes,n.child=a.child,n.subtreeFlags=0,n.deletions=null,n.memoizedProps=a.memoizedProps,n.memoizedState=a.memoizedState,n.updateQueue=a.updateQueue,n.type=a.type,i=a.dependencies,n.dependencies=null===i?null:{lanes:i.lanes,firstContext:i.firstContext}),r=r.sibling;return lt(gr,1&gr.current|2),t.child}e=e.sibling}null!==i.tail&&jt()>os&&(t.flags|=128,r=!0,Li(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=vr(a))){if(t.flags|=128,r=!0,null!==(e=e.updateQueue)&&(t.updateQueue=e,t.flags|=4),Li(i,!0),null===i.tail&&"hidden"===i.tailMode&&!a.alternate&&!Wn)return ki(t),null}else 2*jt()-i.renderingStartTime>os&&1073741824!==n&&(t.flags|=128,r=!0,Li(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=i.last)?e.sibling=a:t.child=a,i.last=a)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=jt(),t.sibling=null,e=gr.current,lt(gr,r?1&e|2:1&e),t):(ki(t),null);case 22:case 23:return Rs(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!==(1&t.mode)?0!==(1073741824&Za)&&(ki(t),Y&&6&t.subtreeFlags&&(t.flags|=8192)):ki(t),null;case 24:case 25:return null}throw Error(s(156,t.tag))}var Di=o.ReactCurrentOwner,zi=!1;function Oi(e,t,n,r){t.child=null===e?sr(t,null,n,r):ar(t,e.child,n,r)}function ji(e,t,n,r,i){n=n.render;var a=t.ref;return un(t,i),r=Lr(e,t,n,r,a,i),n=kr(),null===e||zi?(Wn&&n&&Fn(t),t.flags|=1,Oi(e,t,r,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ia(e,t,i))}function Bi(e,t,n,r,i){if(null===e){var a=n.type;return"function"!==typeof a||Ks(a)||void 0!==a.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=eo(n.type,null,r,t,t.mode,i)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=a,Fi(e,t,a,r,i))}if(a=e.child,0===(e.lanes&i)){var s=a.memoizedProps;if((n=null!==(n=n.compare)?n:Kt)(s,r)&&e.ref===t.ref)return ia(e,t,i)}return t.flags|=1,(e=$s(a,r)).ref=t.ref,e.return=t,t.child=e}function Fi(e,t,n,r,i){if(null!==e&&Kt(e.memoizedProps,r)&&e.ref===t.ref){if(zi=!1,0===(e.lanes&i))return t.lanes=e.lanes,ia(e,t,i);0!==(131072&e.flags)&&(zi=!0)}return Hi(e,t,n,r,i)}function Ui(e,t,n){var r=t.pendingProps,i=r.children,a=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0===(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null},lt(Ka,Za),Za|=n;else{if(0===(1073741824&n))return e=null!==a?a.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null},t.updateQueue=null,lt(Ka,Za),Za|=e,null;t.memoizedState={baseLanes:0,cachePool:null},r=null!==a?a.baseLanes:n,lt(Ka,Za),Za|=r}else null!==a?(r=a.baseLanes|n,t.memoizedState=null):r=n,lt(Ka,Za),Za|=r;return Oi(e,t,i,n),t.child}function Vi(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}
vendor: 4,786 bytes, line 2
2function Hi(e,t,n,r,i){var a=ft(n)?ht:ut.current;return a=pt(t,a),un(t,i),n=Lr(e,t,n,r,a,i),r=kr(),null===e||zi?(Wn&&r&&Fn(t),t.flags|=1,Oi(e,t,n,i),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,ia(e,t,i))}function Wi(e,t,n,r,i){if(ft(n)){var a=!0;yt(t)}else a=!1;if(un(t,i),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),Tn(t,n,r),Cn(t,n,r,i),r=!0;else if(null===e){var s=t.stateNode,o=t.memoizedProps;s.props=o;var l=s.context,c=n.contextType;"object"===typeof c&&null!==c?c=dn(c):c=pt(t,c=ft(n)?ht:ut.current);var u=n.getDerivedStateFromProps,d="function"===typeof u||"function"===typeof s.getSnapshotBeforeUpdate;d||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(o!==r||l!==c)&&An(t,s,r,c),pn=!1;var h=t.memoizedState;s.state=h,bn(t,r,s,i),l=t.memoizedState,o!==r||h!==l||dt.current||pn?("function"===typeof u&&(Sn(t,n,u,r),l=t.memoizedState),(o=pn||En(t,n,o,r,h,l,c))?(d||"function"!==typeof s.UNSAFE_componentWillMount&&"function"!==typeof s.componentWillMount||("function"===typeof s.componentWillMount&&s.componentWillMount(),"function"===typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"===typeof s.componentDidMount&&(t.flags|=4194308)):("function"===typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),s.props=r,s.state=l,s.context=c,r=o):("function"===typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,mn(e,t),o=t.memoizedProps,c=t.type===t.elementType?o:en(t.type,o),s.props=c,d=t.pendingProps,h=s.context,"object"===typeof(l=n.contextType)&&null!==l?l=dn(l):l=pt(t,l=ft(n)?ht:ut.current);var p=n.getDerivedStateFromProps;(u="function"===typeof p||"function"===typeof s.getSnapshotBeforeUpdate)||"function"!==typeof s.UNSAFE_componentWillReceiveProps&&"function"!==typeof s.componentWillReceiveProps||(o!==d||h!==l)&&An(t,s,r,l),pn=!1,h=t.memoizedState,s.state=h,bn(t,r,s,i);var f=t.memoizedState;o!==d||h!==f||dt.current||pn?("function"===typeof p&&(Sn(t,n,p,r),f=t.memoizedState),(c=pn||En(t,n,c,r,h,f,l)||!1)?(u||"function"!==typeof s.UNSAFE_componentWillUpdate&&"function"!==typeof s.componentWillUpdate||("function"===typeof s.componentWillUpdate&&s.componentWillUpdate(r,f,l),"function"===typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,f,l)),"function"===typeof s.componentDidUpdate&&(t.flags|=4),"function"===typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!==typeof s.componentDidUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=f),s.props=r,s.state=f,s.context=l,r=c):("function"!==typeof s.componentDidUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=4),"function"!==typeof s.getSnapshotBeforeUpdate||o===e.memoizedProps&&h===e.memoizedState||(t.flags|=1024),r=!1)}return Gi(e,t,n,r,a,i)}function Gi(e,t,n,r,i,a){Vi(e,t);var s=0!==(128&t.flags);if(!r&&!s)return i&&xt(t,n,!1),ia(e,t,a);r=t.stateNode,Di.current=t;var o=s&&"function"!==typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=ar(t,e.child,null,a),t.child=ar(t,null,o,a)):Oi(e,t,o,a),t.memoizedState=r.state,i&&xt(t,n,!0),t.child}function qi(e){var t=e.stateNode;t.pendingContext?gt(0,t.pendingContext,t.pendingContext!==t.context):t.context&>(0,t.context,!1),hr(e,t.containerInfo)}function Xi(e,t,n,r,i){return $n(),er(i),t.flags|=256,Oi(e,t,n,r),t.child}var Yi={dehydrated:null,treeContext:null,retryLane:0};function Ji(e){return{baseLanes:e,cachePool:null}}function Qi(e,t,n){var r,i=t.pendingProps,a=gr.current,o=!1,l=0!==(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!==(2&a)),r?(o=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(a|=1),lt(gr,1&a),null===e)return Qn(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0===(1&t.mode)?t.lanes=1:Oe(e)?t.lanes=8:t.lanes=1073741824,null):(a=i.children,e=i.fallback,o?(i=t.mode,o=t.child,a={mode:"hidden",children:a},0===(1&i)&&null!==o?(o.childLanes=0,o.pendingProps=a):o=no(a,i,0,null),e=to(e,i,n,null),o.return=t,e.return=t,o.sibling=e,t.child=o,t.child.memoizedState=Ji(n),t.memoizedState=Yi,e):Zi(t,a));if(null!==(a=e.memoizedState)){if(null!==(r=a.dehydrated)){if(l)return 256&t.flags?(t.flags&=-257,ea(e,t,n,Error(s(422)))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(o=i.fallback,a=t.mode,i=no({mode:"visible",children:i.children},a,0,null),(o=to(o,a,n,null)).flags|=2,i.return=t,o.return=t,i.sibling=o,t.child=i,0!==(1&t.mode)&&ar(t,e.child,null,n),t.child.memoizedState=Ji(n),t.memoizedState=Yi,o);if(0===(1&t.mode))t=ea(e,t,n,null);else if(Oe(r))t=ea(e,t,n,Error(s(419)));
2else if(i=0!==(n&e.childLanes),zi||i){if(null!==(i=Ya)){switch(n&-n){case 4:o=2;break;case 16:o=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:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(i=0!==(o&(i.suspendedLanes|n))?0:o)&&i!==a.retryLane&&(a.retryLane=i,_s(e,i,-1))}Ds(),t=ea(e,t,n,Error(s(421)))}else ze(r)?(t.flags|=128,t.child=e.child,t=Xs.bind(null,e),je(r,t),t=null):(n=a.treeContext,Q&&(Hn=Ve(r),Vn=t,Wn=!0,qn=null,Gn=!1,null!==n&&(kn[In++]=zn,kn[In++]=On,kn[In++]=Dn,zn=n.id,On=n.overflow,Dn=t)),(t=Zi(t,t.pendingProps.children)).flags|=4096);return t}return o?(i=$i(e,t,i.children,i.fallback,n),o=t.child,a=e.child.memoizedState,o.memoizedState=null===a?Ji(n):{baseLanes:a.baseLanes|n,cachePool:null},o.childLanes=e.childLanes&~n,t.memoizedState=Yi,i):(n=Ki(e,t,i.children,n),t.memoizedState=null,n)}return o?(i=$i(e,t,i.children,i.fallback,n),o=t.child,a=e.child.memoizedState,o.memoizedState=null===a?Ji(n):{baseLanes:a.baseLanes|n,cachePool:null},o.childLanes=e.childLanes&~n,t.memoizedState=Yi,i):(n=Ki(e,t,i.children,n),t.memoizedState=null,n)}function Zi(e,t){return(t=no({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Ki(e,t,n,r){var i=e.child;return e=i.sibling,n=$s(i,{mode:"visible",children:n}),0===(1&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n}function $i(e,t,n,r,i){var a=t.mode,s=(e=e.child).sibling,o={mode:"hidden",children:n};return 0===(1&a)&&t.child!==e?((n=t.child).childLanes=0,n.pendingProps=o,t.deletions=null):(n=$s(e,o)).subtreeFlags=14680064&e.subtreeFlags,null!==s?r=$s(s,r):(r=to(r,a,i,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function ea(e,t,n,r){return null!==r&&er(r),ar(t,e.child,null,n),(e=Zi(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function ta(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),cn(e.return,t,n)}function na(e,t,n,r,i){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=n,a.tailMode=i)}function ra(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Oi(e,t,r.children,n),0!==(2&(r=gr.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!==(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ta(e,n,t);else if(19===e.tag)ta(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(lt(gr,r),0===(1&t.mode))t.memoizedState=null;else switch(i){case"forwards":for(n=t.child,i=null;null!==n;)null!==(e=n.alternate)&&null===vr(e)&&(i=n),n=n.sibling;null===(n=i)?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),na(t,!1,i,n,a);break;case"backwards":for(n=null,i=t.child,t.child=null;null!==i;){if(null!==(e=i.alternate)&&null===vr(e)){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}na(t,!0,n,null,a);break;case"together":na(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ia(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),ts|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(s(153));if(null!==t.child){for(n=$s(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=$s(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function aa(e,t){switch(Un(t),t.tag){case 1:return ft(t.type)&&mt(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return pr(),ot(dt),ot(ut),xr(),0!==(65536&(e=t.flags))&&0===(128&e)?(t.flags=-65537&e|128,t):null;case 5:return mr(t),null;case 13:if(ot(gr),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(s(340));$n()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return ot(gr),null;case 4:return pr(),null;case 10:return ln(t.type._context),null;case 22:case 23:return Rs(),null;default:return null}}var sa=!1,oa=!1,la="function"===typeof WeakSet?WeakSet:Set,ca=null;function ua(e,t){var n=e.ref;if(null!==n)if("function"===typeof n)try{n(null)}catch(r){Ws(e,t,r)}else n.current=null}
2function da(e,t,n){try{n()}catch(r){Ws(e,t,r)}}var ha=!1;function pa(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var i=r=r.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,void 0!==a&&da(t,n,a)}i=i.next}while(i!==r)}}function fa(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ma(e){var t=e.ref;if(null!==t){var n=e.stateNode;if(5===e.tag)e=k(n);else e=n;"function"===typeof t?t(e):t.current=e}}function ga(e,t,n){if(Wt&&"function"===typeof Wt.onCommitFiberUnmount)try{Wt.onCommitFiberUnmount(Ht,t)}catch(s){}switch(t.tag){case 0:case 11:case 14:case 15:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var r=e=e.next;do{var i=r,a=i.destroy;i=i.tag,void 0!==a&&(0!==(2&i)||0!==(4&i))&&da(t,n,a),r=r.next}while(r!==e)}break;case 1:if(ua(t,n),"function"===typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(s){Ws(t,n,s)}break;case 5:ua(t,n);break;case 4:Y?Ma(e,t,n):J&&J&&(t=t.stateNode.containerInfo,n=Ae(t),Ne(t,n))}}function va(e,t,n){for(var r=t;;)if(ga(e,r,n),null===r.child||Y&&4===r.tag){if(r===t)break;for(;null===r.sibling;){if(null===r.return||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}else r.child.return=r,r=r.child}function ya(e){var t=e.alternate;null!==t&&(e.alternate=null,ya(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&ee(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function xa(e){return 5===e.tag||3===e.tag||4===e.tag}function ba(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||xa(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function wa(e){if(Y){e:{for(var t=e.return;null!==t;){if(xa(t))break e;t=t.return}throw Error(s(160))}var n=t;switch(n.tag){case 5:t=n.stateNode,32&n.flags&&(be(t),n.flags&=-33),Sa(e,n=ba(e),t);break;case 3:case 4:t=n.stateNode.containerInfo,_a(e,n=ba(e),t);break;default:throw Error(s(161))}}}function _a(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?ve(n,e,t):he(n,e);else if(4!==r&&null!==(e=e.child))for(_a(e,t,n),e=e.sibling;null!==e;)_a(e,t,n),e=e.sibling}function Sa(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?ge(n,e,t):de(n,e);else if(4!==r&&null!==(e=e.child))for(Sa(e,t,n),e=e.sibling;null!==e;)Sa(e,t,n),e=e.sibling}function Ma(e,t,n){for(var r,i,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(s(160));switch(r=o.stateNode,o.tag){case 5:i=!1;break e;case 3:case 4:r=r.containerInfo,i=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag)va(e,a,n),i?xe(r,a.stateNode):ye(r,a.stateNode);else if(18===a.tag)i?Qe(r,a.stateNode):Je(r,a.stateNode);else if(4===a.tag){if(null!==a.child){r=a.stateNode.containerInfo,i=!0,a.child.return=a,a=a.child;continue}}else if(ga(e,a,n),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function Ea(e,t){if(Y){switch(t.tag){case 0:case 11:case 14:case 15:return pa(3,t,t.return),fa(3,t),void pa(5,t,t.return);case 1:case 12:case 17:return;case 5:var n=t.stateNode;if(null!=n){var r=t.memoizedProps;e=null!==e?e.memoizedProps:r;var i=t.type,a=t.updateQueue;t.updateQueue=null,null!==a&&me(n,a,i,e,r,t)}return;case 6:if(null===t.stateNode)throw Error(s(162));return n=t.memoizedProps,void pe(t.stateNode,null!==e?e.memoizedProps:n,n);case 3:return void(Q&&null!==e&&e.memoizedState.isDehydrated&&Xe(t.stateNode.containerInfo));case 13:case 19:return void Ta(t)}throw Error(s(163))}switch(t.tag){case 0:case 11:case 14:case 15:return pa(3,t,t.return),fa(3,t),void pa(5,t,t.return);case 12:case 22:case 23:return;case 13:case 19:return void Ta(t);case 3:Q&&null!==e&&e.memoizedState.isDehydrated&&Xe(t.stateNode.containerInfo)}
2e:if(J){switch(t.tag){case 1:case 5:case 6:break e;case 3:case 4:t=t.stateNode,Ne(t.containerInfo,t.pendingChildren);break e}throw Error(s(163))}}function Ta(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new la),t.forEach(function(t){var r=Ys.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function Aa(e,t,n){ca=e,Ca(e,t,n)}function Ca(e,t,n){for(var r=0!==(1&e.mode);null!==ca;){var i=ca,a=i.child;if(22===i.tag&&r){var s=null!==i.memoizedState||sa;if(!s){var o=i.alternate,l=null!==o&&null!==o.memoizedState||oa;o=sa;var c=oa;if(sa=s,(oa=l)&&!c)for(ca=i;null!==ca;)l=(s=ca).child,22===s.tag&&null!==s.memoizedState?Ra(i):null!==l?(l.return=s,ca=l):Ra(i);for(;null!==a;)ca=a,Ca(a,t,n),a=a.sibling;ca=i,sa=o,oa=c}Pa(e)}else 0!==(8772&i.subtreeFlags)&&null!==a?(a.return=i,ca=a):Pa(e)}}function Pa(e){for(;null!==ca;){var t=ca;if(0!==(8772&t.flags)){var n=t.alternate;try{if(0!==(8772&t.flags))switch(t.tag){case 0:case 11:case 15:oa||fa(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!oa)if(null===n)r.componentDidMount();else{var i=t.elementType===t.type?n.memoizedProps:en(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;null!==a&&wn(t,a,r);break;case 3:var o=t.updateQueue;if(null!==o){if(n=null,null!==t.child)switch(t.child.tag){case 5:n=k(t.child.stateNode);break;case 1:n=t.child.stateNode}wn(t,o,n)}break;case 5:var l=t.stateNode;null===n&&4&t.flags&&fe(l,t.type,t.memoizedProps,t);break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:break;case 13:if(Q&&null===t.memoizedState){var c=t.alternate;if(null!==c){var u=c.memoizedState;if(null!==u){var d=u.dehydrated;null!==d&&Ye(d)}}}break;default:throw Error(s(163))}oa||512&t.flags&&ma(t)}catch(h){Ws(t,t.return,h)}}if(t===e){ca=null;break}if(null!==(n=t.sibling)){n.return=t.return,ca=n;break}ca=t.return}}function Na(e){for(;null!==ca;){var t=ca;if(t===e){ca=null;break}var n=t.sibling;if(null!==n){n.return=t.return,ca=n;break}ca=t.return}}function Ra(e){for(;null!==ca;){var t=ca;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{fa(4,t)}catch(l){Ws(t,n,l)}break;case 1:var r=t.stateNode;if("function"===typeof r.componentDidMount){var i=t.return;try{r.componentDidMount()}catch(l){Ws(t,i,l)}}var a=t.return;try{ma(t)}catch(l){Ws(t,a,l)}break;case 5:var s=t.return;try{ma(t)}catch(l){Ws(t,s,l)}}}catch(l){Ws(t,t.return,l)}if(t===e){ca=null;break}var o=t.sibling;if(null!==o){o.return=t.return,ca=o;break}ca=t.return}}var La=0,ka=1,Ia=2,Da=3,za=4;if("function"===typeof Symbol&&Symbol.for){var Oa=Symbol.for;La=Oa("selector.component"),ka=Oa("selector.has_pseudo_class"),Ia=Oa("selector.role"),Da=Oa("selector.test_id"),za=Oa("selector.text")}function ja(e){var t=Z(e);if(null!=t){if("string"!==typeof t.memoizedProps["data-testname"])throw Error(s(364));return t}if(null===(e=ie(e)))throw Error(s(362));return e.stateNode.current}function Ba(e,t){switch(t.$$typeof){case La:if(e.type===t.value)return!0;break;case ka:e:{t=t.value,e=[e,0];for(var n=0;n<e.length;){var r=e[n++],i=e[n++],a=t[i];if(5!==r.tag||!oe(r)){for(;null!=a&&Ba(r,a);)a=t[++i];if(i===t.length){t=!0;break e}for(r=r.child;null!==r;)e.push(r,i),r=r.sibling}}t=!1}return t;case Ia:if(5===e.tag&&le(e.stateNode,t.value))return!0;break;case za:if((5===e.tag||6===e.tag)&&(null!==(e=se(e))&&0<=e.indexOf(t.value)))return!0;break;case Da:if(5===e.tag&&("string"===typeof(e=e.memoizedProps["data-testname"])&&e.toLowerCase()===t.value.toLowerCase()))return!0;break;default:throw Error(s(365))}return!1}function Fa(e){switch(e.$$typeof){case La:return"<"+(S(e.value)||"Unknown")+">";case ka:return":has("+(Fa(e)||"")+")";case Ia:return'[role="'+e.value+'"]';case za:return'"'+e.value+'"';case Da:return'[data-testname="'+e.value+'"]';default:throw Error(s(365))}}function Ua(e,t){var n=[];e=[e,0];for(var r=0;r<e.length;){var i=e[r++],a=e[r++],s=t[a];if(5!==i.tag||!oe(i)){for(;null!=s&&Ba(i,s);)s=t[++a];if(a===t.length)n.push(i);else for(i=i.child;null!==i;)e.push(i,a),i=i.sibling}}return n}function Va(e,t){if(!re)throw Error(s(363));e=Ua(e=ja(e),t),t=[],e=Array.from(e);for(var n=0;n<e.length;){var r=e[n++];if(5===r.tag)oe(r)||t.push(r.stateNode);else for(r=r.child;null!==r;)e.push(r),r=r.sibling}return t}var Ha=Math.ceil,Wa=o.ReactCurrentDispatcher,Ga=o.ReactCurrentOwner,qa=o.ReactCurrentBatchConfig,Xa=0,Ya=null,Ja=null,Qa=0,Za=0,Ka=st(0),$a=0,es=null,ts=0,ns=0,rs=0,is=null,as=null,ss=0,os=1/0;function ls(){os=jt()+500}var cs,us=!1,ds=null,hs=null,ps=!1,fs=null,ms=0,gs=0,vs=null,ys=-1,xs=0;function bs(){return 0!==(6&Xa)?jt():-1!==ys?ys:ys=jt()}function ws(e){return 0===(1&e.mode)?1:0!==(2&Xa)&&0!==Qa?Qa&-Qa:null!==Zt.transition?(0===xs&&(e=St,0===(4194240&(St<<=1))&&(St=64),xs=e),xs):0!==(e=Lt)?e:$()}
vendor: 8,293 bytes, line 2
2function _s(e,t,n){if(50<gs)throw gs=0,vs=null,Error(s(185));var r=Ss(e,t);return null===r?null:(Nt(r,t,n),0!==(2&Xa)&&r===Ya||(r===Ya&&(0===(2&Xa)&&(ns|=t),4===$a&&Cs(r,Qa)),Ms(r,n),1===t&&0===Xa&&0===(1&e.mode)&&(ls(),Xt&&Qt())),r)}function Ss(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function Ms(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var s=31-bt(a),o=1<<s,l=i[s];-1===l?0!==(o&n)&&0===(o&r)||(i[s]=At(o,t)):l<=t&&(e.expiredLanes|=o),a&=~o}}(e,t);var r=Tt(e,e===Ya?Qa:0);if(0===r)null!==n&&Dt(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Dt(n),1===t)0===e.tag?function(e){Xt=!0,Jt(e)}(Ps.bind(null,e)):Jt(Ps.bind(null,e)),te?ne(function(){0===Xa&&Qt()}):It(Bt,Qt),n=null;else{switch(kt(r)){case 1:n=Bt;break;case 4:n=Ft;break;case 16:default:n=Ut;break;case 536870912:n=Vt}n=Js(n,Es.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Es(e,t){if(ys=-1,xs=0,0!==(6&Xa))throw Error(s(327));var n=e.callbackNode;if(Vs()&&e.callbackNode!==n)return null;var r=Tt(e,e===Ya?Qa:0);if(0===r)return null;if(0!==(30&r)||0!==(r&e.expiredLanes)||t)t=zs(e,r);else{t=r;var i=Xa;Xa|=2;var a=Is();for(Ya===e&&Qa===t||(ls(),Ls(e,t));;)try{js();break}catch(l){ks(e,l)}sn(),Wa.current=a,Xa=i,null!==Ja?t=0:(Ya=null,Qa=0,t=$a)}if(0!==t){if(2===t&&(0!==(i=Ct(e))&&(r=i,t=Ts(e,i))),1===t)throw n=es,Ls(e,0),Cs(e,r),Ms(e,jt()),n;if(6===t)Cs(e,r);else{if(i=e.current.alternate,0===(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Gt(a(),i))return!1}catch(o){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(i)&&(2===(t=zs(e,r))&&(0!==(a=Ct(e))&&(r=a,t=Ts(e,a))),1===t))throw n=es,Ls(e,0),Cs(e,r),Ms(e,jt()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(s(345));case 2:case 5:Us(e,as);break;case 3:if(Cs(e,r),(130023424&r)===r&&10<(t=ss+500-jt())){if(0!==Tt(e,0))break;if(((i=e.suspendedLanes)&r)!==r){bs(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=W(Us.bind(null,e,as),t);break}Us(e,as);break;case 4:if(Cs(e,r),(4194240&r)===r)break;for(t=e.eventTimes,i=-1;0<r;){var o=31-bt(r);a=1<<o,(o=t[o])>i&&(i=o),r&=~a}if(r=i,10<(r=(120>(r=jt()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Ha(r/1960))-r)){e.timeoutHandle=W(Us.bind(null,e,as),r);break}Us(e,as);break;default:throw Error(s(329))}}}return Ms(e,jt()),e.callbackNode===n?Es.bind(null,e):null}function Ts(e,t){var n=is;return e.current.memoizedState.isDehydrated&&(Ls(e,t).flags|=256),2!==(e=zs(e,t))&&(t=as,as=n,null!==t&&As(t)),e}function As(e){null===as?as=e:as.push.apply(as,e)}function Cs(e,t){for(t&=~rs,t&=~ns,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-bt(t),r=1<<n;e[n]=-1,t&=~r}}function Ps(e){if(0!==(6&Xa))throw Error(s(327));Vs();var t=Tt(e,0);if(0===(1&t))return Ms(e,jt()),null;var n=zs(e,t);if(0!==e.tag&&2===n){var r=Ct(e);0!==r&&(t=r,n=Ts(e,r))}if(1===n)throw n=es,Ls(e,0),Cs(e,t),Ms(e,jt()),n;if(6===n)throw Error(s(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Us(e,as),Ms(e,jt()),null}function Ns(e){null!==fs&&0===fs.tag&&0===(6&Xa)&&Vs();var t=Xa;Xa|=1;var n=qa.transition,r=Lt;try{if(qa.transition=null,Lt=1,e)return e()}finally{Lt=r,qa.transition=n,0===(6&(Xa=t))&&Qt()}}function Rs(){Za=Ka.current,ot(Ka)}function Ls(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==q&&(e.timeoutHandle=q,G(n)),null!==Ja)for(n=Ja.return;null!==n;){var r=n;switch(Un(r),r.tag){case 1:null!==(r=r.type.childContextTypes)&&void 0!==r&&mt();break;case 3:pr(),ot(dt),ot(ut),xr();break;case 5:mr(r);break;case 4:pr();break;case 13:case 19:ot(gr);break;case 10:ln(r.type._context);break;case 22:case 23:Rs()}n=n.return}if(Ya=e,Ja=e=$s(e.current,null),Qa=Za=t,$a=0,es=null,rs=ns=ts=0,as=is=null,null!==hn){for(t=0;t<hn.length;t++)if(null!==(r=(n=hn[t]).interleaved)){n.interleaved=null;var i=r.next,a=n.pending;if(null!==a){var s=a.next;a.next=i,r.next=s}n.pending=r}hn=null}return e}function ks(e,t){for(;;){var n=Ja;try{if(sn(),br.current=pi,Tr){for(var r=Sr.memoizedState;null!==r;){var i=r.queue;null!==i&&(i.pending=null),r=r.next}Tr=!1}if(_r=0,Er=Mr=Sr=null,Ar=!1,Cr=0,Ga.current=null,null===n||null===n.return){$a=1,es=t,Ja=null;break}e:{var a=e,o=n.return,l=n,c=t;if(t=Qa,l.flags|=32768,null!==c&&"object"===typeof c&&"function"===typeof c.then){var u=c,d=l,h=d.tag;if(0===(1&d.mode)&&(0===h||11===h||15===h)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var f=Ai(o);if(null!==f){f.flags&=-257,Ci(f,o,l,0,t),1&f.mode&&Ti(a,u,t),c=u;var m=(t=f).updateQueue;if(null===m){var g=new Set;g.add(c),t.updateQueue=g}else m.add(c);break e}if(0===(1&t)){Ti(a,u,t),Ds();break e}c=Error(s(426))}else if(Wn&&1&l.mode){var v=Ai(o);if(null!==v){0===(65536&v.flags)&&(v.flags|=256),Ci(v,o,l,0,t),er(c);break e}}a=c,4!==$a&&($a=2),null===is?is=[a]:is.push(a),c=vi(c,l),l=o;do{switch(l.tag){case 3:l.flags|=65536,t&=-t,l.lanes|=t,xn(l,Mi(0,c,t));break e;case 1:a=c;var y=l.type,x=l.stateNode;if(0===(128&l.flags)&&("function"===typeof y.getDerivedStateFromError||null!==x&&"function"===typeof x.componentDidCatch&&(null===hs||!hs.has(x)))){l.flags|=65536,t&=-t,l.lanes|=t,xn(l,Ei(l,a,t));break e}}l=l.return}while(null!==l)}Fs(n)}catch(b){t=b,Ja===n&&null!==n&&(Ja=n=n.return);continue}break}}function Is(){var e=Wa.current;return Wa.current=pi,null===e?pi:e}function Ds(){0!==$a&&3!==$a&&2!==$a||($a=4),null===Ya||0===(268435455&ts)&&0===(268435455&ns)||Cs(Ya,Qa)}function zs(e,t){var n=Xa;Xa|=2;var r=Is();for(Ya===e&&Qa===t||Ls(e,t);;)try{Os();break}catch(i){ks(e,i)}if(sn(),Xa=n,Wa.current=r,null!==Ja)throw Error(s(261));return Ya=null,Qa=0,$a}function Os(){for(;null!==Ja;)Bs(Ja)}function js(){for(;null!==Ja&&!zt();)Bs(Ja)}function Bs(e){var t=cs(e.alternate,e,Za);e.memoizedProps=e.pendingProps,null===t?Fs(e):Ja=t,Ga.current=null}function Fs(e){var t=e;do{var n=t.alternate;if(e=t.return,0===(32768&t.flags)){if(null!==(n=Ii(n,t,Za)))return void(Ja=n)}else{if(null!==(n=aa(n,t)))return n.flags&=32767,void(Ja=n);if(null===e)return $a=6,void(Ja=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Ja=t);Ja=t=e}while(null!==t);0===$a&&($a=5)}function Us(e,t){var n=Lt,r=qa.transition;try{qa.transition=null,Lt=1,function(e,t,n){do{Vs()}while(null!==fs);if(0!==(6&Xa))throw Error(s(327));var r=e.finishedWork,i=e.finishedLanes;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0;var a=r.lanes|r.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var i=31-bt(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}(e,a),e===Ya&&(Ja=Ya=null,Qa=0),0===(2064&r.subtreeFlags)&&0===(2064&r.flags)||ps||(ps=!0,Js(Ut,function(){return Vs(),null})),a=0!==(15990&r.flags),0!==(15990&r.subtreeFlags)||a){a=qa.transition,qa.transition=null;var o=Lt;Lt=1;var l=Xa;Xa|=4,Ga.current=null,function(e,t){for(z(e.containerInfo),ca=t;null!==ca;)if(t=(e=ca).child,0!==(1028&e.subtreeFlags)&&null!==t)t.return=e,ca=t;else for(;null!==ca;){e=ca;try{var n=e.alternate;if(0!==(1024&e.flags))switch(e.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==n){var r=n.memoizedProps,i=n.memoizedState,a=e.stateNode,o=a.getSnapshotBeforeUpdate(e.elementType===e.type?r:en(e.type,r),i);a.__reactInternalSnapshotBeforeUpdate=o}break;case 3:Y&&Ee(e.stateNode.containerInfo);break;default:throw Error(s(163))}}catch(l){Ws(e,e.return,l)}if(null!==(t=e.sibling)){t.return=e.return,ca=t;break}ca=e.return}n=ha,ha=!1}(e,r),function(e,t){for(ca=t;null!==ca;
2){var n=(t=ca).deletions;if(null!==n)for(var r=0;r<n.length;r++){var i=n[r];try{var a=e;Y?Ma(a,i,t):va(a,i,t);var s=i.alternate;null!==s&&(s.return=null),i.return=null}catch(w){Ws(i,t,w)}}if(n=t.child,0!==(12854&t.subtreeFlags)&&null!==n)n.return=t,ca=n;else for(;null!==ca;){t=ca;try{var o=t.flags;if(32&o&&Y&&be(t.stateNode),512&o){var l=t.alternate;if(null!==l){var c=l.ref;null!==c&&("function"===typeof c?c(null):c.current=null)}}if(8192&o)switch(t.tag){case 13:if(null!==t.memoizedState){var u=t.alternate;null!==u&&null!==u.memoizedState||(ss=jt())}break;case 22:var d=null!==t.memoizedState,h=t.alternate,p=null!==h&&null!==h.memoizedState;if(n=t,Y)e:if(r=n,i=d,a=null,Y)for(var f=r;;){if(5===f.tag){if(null===a){a=f;var m=f.stateNode;i?we(m):Se(f.stateNode,f.memoizedProps)}}else if(6===f.tag){if(null===a){var g=f.stateNode;i?_e(g):Me(g,f.memoizedProps)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===r)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===r)break;for(;null===f.sibling;){if(null===f.return||f.return===r)break e;a===f&&(a=null),f=f.return}a===f&&(a=null),f.sibling.return=f.return,f=f.sibling}if(d&&!p&&0!==(1&n.mode)){ca=n;for(var v=n.child;null!==v;){for(n=ca=v;null!==ca;){var y=(r=ca).child;switch(r.tag){case 0:case 11:case 14:case 15:pa(4,r,r.return);break;case 1:ua(r,r.return);var x=r.stateNode;if("function"===typeof x.componentWillUnmount){var b=r.return;try{x.props=r.memoizedProps,x.state=r.memoizedState,x.componentWillUnmount()}catch(w){Ws(r,b,w)}}break;case 5:ua(r,r.return);break;case 22:if(null!==r.memoizedState){Na(n);continue}}null!==y?(y.return=r,ca=y):Na(n)}v=v.sibling}}}switch(4102&o){case 2:wa(t),t.flags&=-3;break;case 6:wa(t),t.flags&=-3,Ea(t.alternate,t);break;case 4096:t.flags&=-4097;break;case 4100:t.flags&=-4097,Ea(t.alternate,t);break;case 4:Ea(t.alternate,t)}}catch(w){Ws(t,t.return,w)}if(null!==(n=t.sibling)){n.return=t.return,ca=n;break}ca=t.return}}}(e,r),O(e.containerInfo),e.current=r,Aa(r,e,i),Ot(),Xa=l,Lt=o,qa.transition=a}else e.current=r;if(ps&&(ps=!1,fs=e,ms=i),a=e.pendingLanes,0===a&&(hs=null),function(e){if(Wt&&"function"===typeof Wt.onCommitFiberRoot)try{Wt.onCommitFiberRoot(Ht,e,void 0,128===(128&e.current.flags))}catch(t){}}(r.stateNode),Ms(e,jt()),null!==t)for(n=e.onRecoverableError,r=0;r<t.length;r++)n(t[r]);if(us)throw us=!1,e=ds,ds=null,e;0!==(1&ms)&&0!==e.tag&&Vs(),a=e.pendingLanes,0!==(1&a)?e===vs?gs++:(gs=0,vs=e):gs=0,Qt()}(e,t,n)}finally{qa.transition=r,Lt=n}return null}function Vs(){if(null!==fs){var e=kt(ms),t=qa.transition,n=Lt;try{if(qa.transition=null,Lt=16>e?16:e,null===fs)var r=!1;else{if(e=fs,fs=null,ms=0,0!==(6&Xa))throw Error(s(331));var i=Xa;for(Xa|=4,ca=e.current;null!==ca;){var a=ca,o=a.child;if(0!==(16&ca.flags)){var l=a.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(ca=u;null!==ca;){var d=ca;switch(d.tag){case 0:case 11:case 15:pa(8,d,a)}var h=d.child;if(null!==h)h.return=d,ca=h;else for(;null!==ca;){var p=(d=ca).sibling,f=d.return;if(ya(d),d===u){ca=null;break}if(null!==p){p.return=f,ca=p;break}ca=f}}}var m=a.alternate;if(null!==m){var g=m.child;if(null!==g){m.child=null;do{var v=g.sibling;g.sibling=null,g=v}while(null!==g)}}ca=a}}if(0!==(2064&a.subtreeFlags)&&null!==o)o.return=a,ca=o;else e:for(;null!==ca;){if(0!==(2048&(a=ca).flags))switch(a.tag){case 0:case 11:case 15:pa(9,a,a.return)}var y=a.sibling;if(null!==y){y.return=a.return,ca=y;break e}ca=a.return}}var x=e.current;for(ca=x;null!==ca;){var b=(o=ca).child;if(0!==(2064&o.subtreeFlags)&&null!==b)b.return=o,ca=b;else e:for(o=x;null!==ca;){if(0!==(2048&(l=ca).flags))try{switch(l.tag){case 0:case 11:case 15:fa(9,l)}}catch(_){Ws(l,l.return,_)}if(l===o){ca=null;break e}var w=l.sibling;if(null!==w){w.return=l.return,ca=w;break e}ca=l.return}}if(Xa=i,Qt(),Wt&&"function"===typeof Wt.onPostCommitFiberRoot)try{Wt.onPostCommitFiberRoot(Ht,e)}catch(_){}r=!0}return r}finally{Lt=n,qa.transition=t}}return!1}function Hs(e,t,n){vn(e,t=Mi(0,t=vi(n,t),1)),t=bs(),null!==(e=Ss(e,1))&&(Nt(e,1,t),Ms(e,t))}function Ws(e,t,n){if(3===e.tag)Hs(e,e,n);else for(;null!==t;){if(3===t.tag){Hs(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"===typeof t.type.getDerivedStateFromError||"function"===typeof r.componentDidCatch&&(null===hs||!hs.has(r))){vn(t,e=Ei(t,e=vi(n,e),1)),e=bs(),null!==(t=Ss(t,1))&&(Nt(t,1,e),Ms(t,e));break}}t=t.return}}function Gs(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=bs(),e.pingedLanes|=e.suspendedLanes&n,Ya===e&&(Qa&n)===n&&(4===$a||3===$a&&(130023424&Qa)===Qa&&500>jt()-ss?Ls(e,0):rs|=n),Ms(e,t)}function qs(e,t){0===t&&(0===(1&e.mode)?t=1:(t=Mt,0===(130023424&(Mt<<=1))&&(Mt=4194304)));var n=bs();null!==(e=Ss(e,t))&&(Nt(e,t,n),Ms(e,n))}function Xs(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),qs(e,n)}function Ys(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;null!==i&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(s(314))}null!==r&&r.delete(t),qs(e,n)}function Js(e,t){return It(e,t)}function Qs(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.t
vendor: 8,516 bytes, line 2
2ype=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Zs(e,t,n,r){return new Qs(e,t,n,r)}function Ks(e){return!(!(e=e.prototype)||!e.isReactComponent)}function $s(e,t){var n=e.alternate;return null===n?((n=Zs(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function eo(e,t,n,r,i,a){var o=2;if(r=e,"function"===typeof e)Ks(e)&&(o=1);else if("string"===typeof e)o=5;else e:switch(e){case u:return to(n.children,i,a,t);case d:o=8,i|=8;break;case h:return(e=Zs(12,n,t,2|i)).elementType=h,e.lanes=a,e;case g:return(e=Zs(13,n,t,i)).elementType=g,e.lanes=a,e;case v:return(e=Zs(19,n,t,i)).elementType=v,e.lanes=a,e;case b:return no(n,i,a,t);default:if("object"===typeof e&&null!==e)switch(e.$$typeof){case p:o=10;break e;case f:o=9;break e;case m:o=11;break e;case y:o=14;break e;case x:o=16,r=null;break e}throw Error(s(130,null==e?e:typeof e,""))}return(t=Zs(o,n,t,i)).elementType=e,t.type=r,t.lanes=a,t}function to(e,t,n,r){return(e=Zs(7,e,r,t)).lanes=n,e}function no(e,t,n,r){return(e=Zs(22,e,r,t)).elementType=b,e.lanes=n,e.stateNode={},e}function ro(e,t,n){return(e=Zs(6,e,null,t)).lanes=n,e}function io(e,t,n){return(t=Zs(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function ao(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=q,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pt(0),this.expirationTimes=Pt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pt(0),this.identifierPrefix=r,this.onRecoverableError=i,Q&&(this.mutableSourceEagerHydrationData=null)}function so(e,t,n,r,i,a,s,o,l){return e=new ao(e,t,n,o,l),1===t?(t=1,!0===a&&(t|=8)):t=0,a=Zs(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null},fn(a),e}function oo(e){if(!e)return ct;e:{if(E(e=e._reactInternals)!==e||1!==e.tag)throw Error(s(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(ft(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(s(171))}if(1===e.tag){var n=e.type;if(ft(n))return vt(e,n,t)}return t}function lo(e){var t=e._reactInternals;if(void 0===t){if("function"===typeof e.render)throw Error(s(188));throw e=Object.keys(e).join(","),Error(s(268,e))}return null===(e=C(t))?null:e.stateNode}function co(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function uo(e,t){co(e,t),(e=e.alternate)&&co(e,t)}function ho(e){return null===(e=C(e))?null:e.stateNode}function po(){return null}return cs=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||dt.current)zi=!0;else{if(0===(e.lanes&n)&&0===(128&t.flags))return zi=!1,function(e,t,n){switch(t.tag){case 3:qi(t),$n();break;case 5:fr(t);break;case 1:ft(t.type)&&yt(t);break;case 4:hr(t,t.stateNode.containerInfo);break;case 10:on(0,t.type._context,t.memoizedProps.value);break;case 13:var r=t.memoizedState;if(null!==r)return null!==r.dehydrated?(lt(gr,1&gr.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Qi(e,t,n):(lt(gr,1&gr.current),null!==(e=ia(e,t,n))?e.sibling:null);lt(gr,1&gr.current);break;case 19:if(r=0!==(n&t.childLanes),0!==(128&e.flags)){if(r)return ra(e,t,n);t.flags|=128}var i=t.memoizedState;if(null!==i&&(i.rendering=null,i.tail=null,i.lastEffect=null),lt(gr,gr.current),r)break;return null;case 22:case 23:return t.lanes=0,Ui(e,t,n)}return ia(e,t,n)}(e,t,n);zi=0!==(131072&e.flags)}else zi=!1,Wn&&0!==(1048576&t.flags)&&Bn(t,Ln,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps;var i=pt(t,ut.current);un(t,n),i=Lr(null,t,r,e,i,n);var a=kr();return t.flags|=1,"object"===typeof i&&null!==i&&"function"===typeof i.render&&void 0===i.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ft(r)?(a=!0,yt(t)):a=!1,t.memoizedState=null!==i.state&&void 0!==i.state?i.state:null,fn(t),i.updater=Mn,t.stateNode=i,i._reactInternals=t,Cn(t,r,e,n),t=Gi(null,t,r,!0,a,n)):(t.tag=0,Wn&&a&&Fn(t),Oi(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,r=(i=r._init)(r._payload),t.type=r,i=t.tag=function(e){if("function"===typeof e)return Ks(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===m)return 11;if(e===y)return 14}return 2}(r),e=en(r,e),i){case 0:t=Hi(null,t,r,e,n);break e;case 1:t=Wi(null,t,r,e,n);break e;case 11:t=ji(null,t,r,e,n);break e;case 14:t=Bi(null,t,r,en(r.type,e),n);break e}throw Error(s(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,Hi(e,t,r,i=t.elementType===r?i:en(r,i),n);case 1:return r=t.type,i=t.pendingProps,Wi(e,t,r,i=t.elementType===r?i:en(r,i),n);case 3:e:{if(qi(t),null===e)throw Error(s(387));r=t.pendingProps,i=(a=t.memoizedState).element,mn(e,t),bn(t,r,null,n);var o=t.memoizedState;if(r=o.element,Q&&a.isDehydrated){if(a={element:r,isDehydrated:!1,cache:o.cache,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,256&t.flags){t=Xi(e,t,r,n,i=Error(s(423)));break e}if(r!==i){t=Xi(e,t,r,n,i=Error(s(424)));break e}for(Q&&(Hn=Ue(t.stateNode.containerInfo),Vn=t,Wn=!0,qn=null,Gn=!1),n=sr(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if($n(),r===i){t=ia(e,t,n);break e}Oi(e,t,r,n)}t=t.child}return t;case 5:return fr(t),null===e&&Qn(t),r=t.type,i=t.pendingProps,a=null!==e?e.memoizedProps:null,o=i.children,V(r,i)?o=null:null!==a&&V(r,a)&&(t.flags|=32),Vi(e,t),Oi(e,t,o,n),t.child;case 6:return null===e&&Qn(t),null;case 13:return Qi(e,t,n);case 4:return hr(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=ar(t,null,r,n):Oi(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,ji(e,t,r,i=t.elementType===r?i:en(r,i),n);case 7:return Oi(e,t,t.pendingProps,n),t.child;case 8:case 12:return Oi(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,a=t.memoizedProps,on(0,r,o=i.value),null!==a)if(Gt(a.value,o)){if(a.children===i.children&&!dt.current){t=ia(e,t,n);break e}}else for(null!==(a=t.child)&&(a.return=t);null!==a;){var l=a.dependencies;if(null!==l){o=a.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===a.tag){(c=gn(-1,n&-n)).tag=2;var u=a.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}a.lanes|=n,null!==(c=a.alternate)&&(c.lanes|=n),cn(a.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===a.tag)o=a.type===t.type?null:a.child;else if(18===a.tag){if(null===(o=a.return))throw Error(s(341));o.lanes|=n,null!==(l=o.alternate)&&(l.lanes|=n),cn(o,n,t),o=a.sibling}else o=a.child;if(null!==o)o.return=a;else for(o=a;null!==o;){if(o===t){o=null;break}if(null!==(a=o.sibling)){a.return=o.return,o=a;break}o=o.return}a=o}Oi(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,un(t,n),r=r(i=dn(i)),t.flags|=1,Oi(e,t,r,n),t.child;case 14:return i=en(r=t.type,t.pendingProps),Bi(e,t,r,i=en(r.type,i),n);case 15:return Fi(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:en(r,i),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ft(r)?(e=!0,yt(t)):e=!1,un(t,n),Tn(t,r,i),Cn(t,r,i,n),Gi(null,t,r,!0,e,n);case 19:return ra(e,t,n);case 22:return Ui(e,t,n)}throw Error(s(156,t.tag))},t.attemptContinuousHydration=function(e){13===e.tag&&(_s(e,134217728,bs()),uo(e,134217728))},t.attemptHydrationAtCurrentPriority=function(e){if(13===e.tag){var t=bs(),n=ws(e);_s(e,n,t),uo(e,n)}},t.attemptSynchronousHydration=function(e){switch(e.tag){case 3:var t=e.stateNode;
2if(t.current.memoizedState.isDehydrated){var n=Et(t.pendingLanes);0!==n&&(Rt(t,1|n),Ms(t,jt()),0===(6&Xa)&&(ls(),Qt()))}break;case 13:var r=bs();Ns(function(){return _s(e,1,r)}),uo(e,1)}},t.batchedUpdates=function(e,t){var n=Xa;Xa|=1;try{return e(t)}finally{0===(Xa=n)&&(ls(),Xt&&Qt())}},t.createComponentSelector=function(e){return{$$typeof:La,value:e}},t.createContainer=function(e,t,n,r,i,a,s){return so(e,t,!1,null,0,r,0,a,s)},t.createHasPseudoClassSelector=function(e){return{$$typeof:ka,value:e}},t.createHydrationContainer=function(e,t,n,r,i,a,s,o,l){return(e=so(n,r,!0,e,0,a,0,o,l)).context=oo(null),n=e.current,(a=gn(r=bs(),i=ws(n))).callback=void 0!==t&&null!==t?t:null,vn(n,a),e.current.lanes=i,Nt(e,i,r),Ms(e,r),e},t.createPortal=function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:c,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}},t.createRoleSelector=function(e){return{$$typeof:Ia,value:e}},t.createTestNameSelector=function(e){return{$$typeof:Da,value:e}},t.createTextSelector=function(e){return{$$typeof:za,value:e}},t.deferredUpdates=function(e){var t=Lt,n=qa.transition;try{return qa.transition=null,Lt=16,e()}finally{Lt=t,qa.transition=n}},t.discreteUpdates=function(e,t,n,r,i){var a=Lt,s=qa.transition;try{return qa.transition=null,Lt=1,e(t,n,r,i)}finally{Lt=a,qa.transition=s,0===Xa&&ls()}},t.findAllNodes=Va,t.findBoundingRects=function(e,t){if(!re)throw Error(s(363));t=Va(e,t),e=[];for(var n=0;n<t.length;n++)e.push(ae(t[n]));for(t=e.length-1;0<t;t--)for(var r=(n=e[t]).x,i=r+n.width,a=n.y,o=a+n.height,l=t-1;0<=l;l--)if(t!==l){var c=e[l],u=c.x,d=u+c.width,h=c.y,p=h+c.height;if(r>=u&&a>=h&&i<=d&&o<=p){e.splice(t,1);break}if(!(r!==u||n.width!==c.width||p<a||h>o)){h>a&&(c.height+=h-a,c.y=a),p<o&&(c.height=o-h),e.splice(t,1);break}if(!(a!==h||n.height!==c.height||d<r||u>i)){u>r&&(c.width+=u-r,c.x=r),d<i&&(c.width=i-u),e.splice(t,1);break}}return e},t.findHostInstance=lo,t.findHostInstanceWithNoPortals=function(e){return null===(e=null!==(e=A(e))?N(e):null)?null:e.stateNode},t.findHostInstanceWithWarning=function(e){return lo(e)},t.flushControlled=function(e){var t=Xa;Xa|=1;var n=qa.transition,r=Lt;try{qa.transition=null,Lt=1,e()}finally{Lt=r,qa.transition=n,0===(Xa=t)&&(ls(),Qt())}},t.flushPassiveEffects=Vs,t.flushSync=Ns,t.focusWithin=function(e,t){if(!re)throw Error(s(363));for(t=Ua(e=ja(e),t),t=Array.from(t),e=0;e<t.length;){var n=t[e++];if(!oe(n)){if(5===n.tag&&ce(n.stateNode))return!0;for(n=n.child;null!==n;)t.push(n),n=n.sibling}}return!1},t.getCurrentUpdatePriority=function(){return Lt},t.getFindAllNodesFailureDescription=function(e,t){if(!re)throw Error(s(363));var n=0,r=[];e=[ja(e),0];for(var i=0;i<e.length;){var a=e[i++],o=e[i++],l=t[o];if((5!==a.tag||!oe(a))&&(Ba(a,l)&&(r.push(Fa(l)),++o>n&&(n=o)),o<t.length))for(a=a.child;null!==a;)e.push(a,o),a=a.sibling}if(n<t.length){for(e=[];n<t.length;n++)e.push(Fa(t[n]));return"findAllNodes was able to match part of the selector:\n "+r.join(" > ")+"\n\nNo matching component was found for:\n "+e.join(" > ")}return null},t.getPublicRootInstance=function(e){return(e=e.current).child?5===e.child.tag?k(e.child.stateNode):e.child.stateNode:null},t.injectIntoDevTools=function(e){if(e={bundleType:e.bundleType,version:e.version,rendererPackageName:e.rendererPackageName,rendererConfig:e.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:o.ReactCurrentDispatcher,findHostInstanceByFiber:ho,findFiberByHostInstance:e.findFiberByHostInstance||po,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},"undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)e=!1;else{var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)e=!0;else{try{Ht=t.inject(e),Wt=t}catch(n){}e=!!t.checkDCE}}return e},t.isAlreadyRendering=function(){return!1},t.observeVisibleRects=function(e,t,n,r){if(!re)throw Error(s(363));e=Va(e,t);var i=ue(e,n,r).disconnect;return{disconnect:function(){i()}}},t.registerMutableSourceForHydration=function(e,t){var n=t._getVersion;n=n(t._source),null==e.mutableSourceEagerHydrationData?e.mutableSourceEagerHydrationData=[t,n]:e.mutableSourceEagerHydrationData.push(t,n)},t.runWithPriority=function(e,t){var n=Lt;try{return Lt=e,t()}finally{Lt=n}},t.shouldError=function(){return null},t.shouldSuspend=function(){return!1},t.updateContainer=function(e,t,n,r){var i=t.current,a=bs(),s=ws(i);return n=oo(n),null===t.context?t.context=n:t.pendingContext=n,(t=gn(a,s)
2).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),vn(i,t),null!==(e=_s(i,s,a))&&yn(e,i,s),s},t}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;n.t=function(r,i){if(1&i&&(r=this(r)),8&i)return r;if("object"===typeof r&&r){if(4&i&&r.__esModule)return r;if(16&i&&"function"===typeof r.then)return r}var a=Object.create(null);n.r(a);var s={};e=e||[null,t({}),t([]),t(t)];for(var o=2&i&&r;("object"==typeof o||"function"==typeof o)&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach(e=>s[e]=()=>r[e]);return s.default=()=>r,n.d(a,s),a}})(),n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};n.r(e),n.d(e,{hasBrowserEnv:()=>Qt,hasStandardBrowserEnv:()=>Kt,hasStandardBrowserWebWorkerEnv:()=>$t,navigator:()=>Zt,origin:()=>en});var t={};n.r(t),n.d(t,{ACESFilmicToneMapping:()=>ah,AddEquation:()=>Cd,AddOperation:()=>eh,AdditiveAnimationBlendMode:()=>Ip,AdditiveBlending:()=>Md,AlphaFormat:()=>Oh,AlwaysDepth:()=>Gd,AlwaysStencilFunc:()=>cf,AmbientLight:()=>$S,AmbientLightProbe:()=>gM,AnimationClip:()=>SS,AnimationLoader:()=>LS,AnimationMixer:()=>qM,AnimationObjectGroup:()=>HM,AnimationUtils:()=>uS,ArcCurve:()=>Aw,ArrayCamera:()=>rb,ArrowHelper:()=>OE,Audio:()=>CM,AudioAnalyser:()=>IM,AudioContext:()=>pM,AudioListener:()=>AM,AudioLoader:()=>fM,AxesHelper:()=>jE,BackSide:()=>xd,BasicDepthPacking:()=>Fp,BasicShadowMap:()=>fd,Bone:()=>Wb,BooleanKeyframeTrack:()=>gS,Box2:()=>iE,Box3:()=>ym,Box3Helper:()=>LE,BoxBufferGeometry:()=>HE,BoxGeometry:()=>pv,BoxHelper:()=>RE,BufferAttribute:()=>kg,BufferGeometry:()=>Zg,BufferGeometryLoader:()=>sM,ByteType:()=>Ah,Cache:()=>ES,Camera:()=>xv,CameraHelper:()=>CE,CanvasTexture:()=>Mw,CapsuleBufferGeometry:()=>WE,CapsuleGeometry:()=>Yw,CatmullRomCurve3:()=>kw,CineonToneMapping:()=>ih,CircleBufferGeometry:()=>GE,CircleGeometry:()=>Jw,ClampToEdgeWrapping:()=>fh,Clock:()=>wM,Color:()=>em,ColorKeyframeTrack:()=>vS,ColorManagement:()=>Xf,CompressedArrayTexture:()=>Sw,CompressedTexture:()=>_w,CompressedTextureLoader:()=>kS,ConeBufferGeometry:()=>qE,ConeGeometry:()=>Zw,CubeCamera:()=>_v,CubeReflectionMapping:()=>lh,CubeRefractionMapping:()=>ch,CubeTexture:()=>Sv,CubeTextureLoader:()=>DS,CubeUVReflectionMapping:()=>hh,CubicBezierCurve:()=>Ow,CubicBezierCurve3:()=>jw,CubicInterpolant:()=>hS,CullFaceBack:()=>dd,CullFaceFront:()=>hd,CullFaceFrontBack:()=>pd,CullFaceNone:()=>ud,Curve:()=>Ew,CurvePath:()=>Gw,CustomBlending:()=>Ad,CustomToneMapping:()=>sh,CylinderBufferGeometry:()=>XE,CylinderGeometry:()=>Qw,Cylindrical:()=>nE,Data3DTexture:()=>dm,DataArrayTexture:()=>cm,DataTexture:()=>Gb,DataTextureLoader:()=>zS,DataUtils:()=>VE,DecrementStencilOp:()=>Zp,DecrementWrapStencilOp:()=>$p,DefaultLoadingManager:()=>AS,DepthFormat:()=>Uh,DepthStencilFormat:()=>Vh,DepthTexture:()=>ob,DirectionalLight:()=>KS,DirectionalLightHelper:()=>EE,DiscreteInterpolant:()=>fS,DodecahedronBufferGeometry:()=>YE,DodecahedronGeometry:()=>$w,DoubleSide:()=>bd,DstAlphaFactor:()=>Bd,DstColorFactor:()=>Ud,DynamicCopyUsage:()=>vf,DynamicDrawUsage:()=>df,DynamicReadUsage:()=>ff,EdgesGeometry:()=>i_,EllipseCurve:()=>Tw,EqualDepth:()=>Yd,EqualStencilFunc:()=>rf,EquirectangularReflectionMapping:()=>uh,EquirectangularRefractionMapping:()=>dh,Euler:()=>tg,EventDispatcher:()=>_f,ExtrudeBufferGeometry:()=>JE,ExtrudeGeometry:()=>I_,FileLoader:()=>RS,Float16BufferAttribute:()=>Ug,Float32BufferAttribute:()=>Vg,Float64BufferAttribute:()=>Hg,FloatType:()=>Lh,Fog:()=>fb,FogExp2:()=>pb,FramebufferTexture:()=>ww,FrontSide:()=>yd,Frustum:()=>Rv,GLBufferAttribute:()=>ZM,GLSL1:()=>xf,GLSL3:()=>bf,GreaterDepth:()=>Qd,GreaterEqualDepth:()=>Jd,GreaterEqualStencilFunc:()=>lf,GreaterStencilFunc:()=>sf,GridHelper:()=>bE,Group:()=>ib,HalfFloatType:()=>kh,HemisphereLight:()=>BS,HemisphereLightHelper:()=>xE,HemisphereLightProbe:()=>mM,IcosahedronBufferGeometry:()=>QE,IcosahedronGeometry:()=>z_,ImageBitmapLoader:()=>dM,ImageLoader:()=>IS,ImageUtils:()=>nm,IncrementStencilOp:()=>Qp,IncrementWrapStencilOp:()=>Kp,InstancedBufferAttribute:()=>Jb,InstancedBufferGeometry:()=>aM,InstancedInterleavedBuffer:()=>QM,InstancedMesh:()=>tw,Int16BufferAttribute:()=>Og,Int32BufferAttribute:()=>Bg,Int8BufferAttribute:()=>Ig,IntType:()=>Nh,InterleavedBuffer:()=>gb,InterleavedBufferAttribute:()=>yb,Interpolant:()=>dS,InterpolateDiscrete:()=>Ap,InterpolateLinear:()=>Cp,InterpolateSmooth:()=>Pp,InvertStencilOp:()=>ef,KeepStencilOp:()=>Yp,KeyframeTrack:()=>mS,LOD:()=>Ob,LatheBufferGeometry:()=>ZE,LatheGeometry:()=>Xw,Layers:()=>ng,LessDepth:()=>qd,LessEqualDepth:()=>Xd,LessEqualStencilFunc:()=>af,LessStencilFunc:()=>nf,Light:()=>jS,LightProbe:()=>nM,Line:()=>lw,Line3:()=>oE,LineBasicMaterial:()=>nw,LineCurve:()=>Bw,LineCurve3:()=>Fw,LineDashedMaterial:()=>rS,LineLoop:()=>hw,LineSegments:()=>dw,LinearEncoding:()=>jp,LinearFilter:()=>wh,LinearInterpolant:()=>pS,LinearMipMapLinearFilter:()=>Eh,LinearMipMapNearestFilter:()=>Sh,LinearMipmapLinearFilter:()=>Mh,LinearMipmapNearestFilter:()=>_h,LinearSRGBColorSpace:()=>qp,LinearToneMapping:()=>nh,Loader:()=>CS,LoaderUtils:()=>iM,LoadingManager:()=>TS,LoopOnce:()=>Mp,LoopPingPong:()=>
2Tp,LoopRepeat:()=>Ep,LuminanceAlphaFormat:()=>Fh,LuminanceFormat:()=>Bh,MOUSE:()=>ld,Material:()=>Pg,MaterialLoader:()=>rM,MathUtils:()=>zf,Matrix3:()=>jf,Matrix4:()=>Gm,MaxEquation:()=>Ld,Mesh:()=>dv,MeshBasicMaterial:()=>Ng,MeshDepthMaterial:()=>Jx,MeshDistanceMaterial:()=>Qx,MeshLambertMaterial:()=>tS,MeshMatcapMaterial:()=>nS,MeshNormalMaterial:()=>eS,MeshPhongMaterial:()=>K_,MeshPhysicalMaterial:()=>Z_,MeshStandardMaterial:()=>Q_,MeshToonMaterial:()=>$_,MinEquation:()=>Rd,MirroredRepeatWrapping:()=>mh,MixOperation:()=>$d,MultiplyBlending:()=>Td,MultiplyOperation:()=>Kd,NearestFilter:()=>gh,NearestMipMapLinearFilter:()=>bh,NearestMipMapNearestFilter:()=>yh,NearestMipmapLinearFilter:()=>xh,NearestMipmapNearestFilter:()=>vh,NeverDepth:()=>Wd,NeverStencilFunc:()=>tf,NoBlending:()=>_d,NoColorSpace:()=>Wp,NoToneMapping:()=>th,NormalAnimationBlendMode:()=>kp,NormalBlending:()=>Sd,NotEqualDepth:()=>Zd,NotEqualStencilFunc:()=>of,NumberKeyframeTrack:()=>yS,Object3D:()=>gg,ObjectLoader:()=>oM,ObjectSpaceNormalMap:()=>Hp,OctahedronBufferGeometry:()=>KE,OctahedronGeometry:()=>O_,OneFactor:()=>Id,OneMinusDstAlphaFactor:()=>Fd,OneMinusDstColorFactor:()=>Vd,OneMinusSrcAlphaFactor:()=>jd,OneMinusSrcColorFactor:()=>zd,OrthographicCamera:()=>Gv,PCFShadowMap:()=>md,PCFSoftShadowMap:()=>gd,PMREMGenerator:()=>ey,Path:()=>qw,PerspectiveCamera:()=>bv,Plane:()=>Cv,PlaneBufferGeometry:()=>$E,PlaneGeometry:()=>Iv,PlaneHelper:()=>kE,PointLight:()=>QS,PointLightHelper:()=>mE,Points:()=>yw,PointsMaterial:()=>pw,PolarGridHelper:()=>wE,PolyhedronBufferGeometry:()=>eT,PolyhedronGeometry:()=>Kw,PositionalAudio:()=>kM,PropertyBinding:()=>VM,PropertyMixer:()=>DM,QuadraticBezierCurve:()=>Uw,QuadraticBezierCurve3:()=>Vw,Quaternion:()=>fm,QuaternionKeyframeTrack:()=>bS,QuaternionLinearInterpolant:()=>xS,RED_GREEN_RGTC2_Format:()=>_p,RED_RGTC1_Format:()=>bp,REVISION:()=>od,RGBADepthPacking:()=>Up,RGBAFormat:()=>jh,RGBAIntegerFormat:()=>Xh,RGBA_ASTC_10x10_Format:()=>gp,RGBA_ASTC_10x5_Format:()=>pp,RGBA_ASTC_10x6_Format:()=>fp,RGBA_ASTC_10x8_Format:()=>mp,RGBA_ASTC_12x10_Format:()=>vp,RGBA_ASTC_12x12_Format:()=>yp,RGBA_ASTC_4x4_Format:()=>ap,RGBA_ASTC_5x4_Format:()=>sp,RGBA_ASTC_5x5_Format:()=>op,RGBA_ASTC_6x5_Format:()=>lp,RGBA_ASTC_6x6_Format:()=>cp,RGBA_ASTC_8x5_Format:()=>up,RGBA_ASTC_8x6_Format:()=>dp,RGBA_ASTC_8x8_Format:()=>hp,RGBA_BPTC_Format:()=>xp,RGBA_ETC2_EAC_Format:()=>ip,RGBA_PVRTC_2BPPV1_Format:()=>tp,RGBA_PVRTC_4BPPV1_Format:()=>ep,RGBA_S3TC_DXT1_Format:()=>Jh,RGBA_S3TC_DXT3_Format:()=>Qh,RGBA_S3TC_DXT5_Format:()=>Zh,RGB_ETC1_Format:()=>np,RGB_ETC2_Format:()=>rp,RGB_PVRTC_2BPPV1_Format:()=>$h,RGB_PVRTC_4BPPV1_Format:()=>Kh,RGB_S3TC_DXT1_Format:()=>Yh,RGFormat:()=>Gh,RGIntegerFormat:()=>qh,RawShaderMaterial:()=>J_,Ray:()=>Wm,Raycaster:()=>KM,RectAreaLight:()=>eM,RedFormat:()=>Hh,RedIntegerFormat:()=>Wh,ReinhardToneMapping:()=>rh,RepeatWrapping:()=>ph,ReplaceStencilOp:()=>Jp,ReverseSubtractEquation:()=>Nd,RingBufferGeometry:()=>tT,RingGeometry:()=>j_,SIGNED_RED_GREEN_RGTC2_Format:()=>Sp,SIGNED_RED_RGTC1_Format:()=>wp,SRGBColorSpace:()=>Gp,Scene:()=>mb,ShaderChunk:()=>Dv,ShaderLib:()=>Ov,ShaderMaterial:()=>yv,ShadowMaterial:()=>Y_,Shape:()=>a_,ShapeBufferGeometry:()=>nT,ShapeGeometry:()=>B_,ShapePath:()=>BE,ShapeUtils:()=>R_,ShortType:()=>Ch,Skeleton:()=>Yb,SkeletonHelper:()=>pE,SkinnedMesh:()=>Hb,Source:()=>rm,Sphere:()=>zm,SphereBufferGeometry:()=>rT,SphereGeometry:()=>F_,Spherical:()=>tE,SphericalHarmonics3:()=>tM,SplineCurve:()=>Hw,SpotLight:()=>GS,SpotLightHelper:()=>cE,Sprite:()=>kb,SpriteMaterial:()=>xb,SrcAlphaFactor:()=>Od,SrcAlphaSaturateFactor:()=>Hd,SrcColorFactor:()=>Dd,StaticCopyUsage:()=>gf,StaticDrawUsage:()=>uf,StaticReadUsage:()=>pf,StereoCamera:()=>bM,StreamCopyUsage:()=>yf,StreamDrawUsage:()=>hf,StreamReadUsage:()=>mf,StringKeyframeTrack:()=>wS,SubtractEquation:()=>Pd,SubtractiveBlending:()=>Ed,TOUCH:()=>cd,TangentSpaceNormalMap:()=>Vp,TetrahedronBufferGeometry:()=>iT,TetrahedronGeometry:()=>U_,Texture:()=>sm,TextureLoader:()=>OS,TorusBufferGeometry:()=>aT,TorusGeometry:()=>V_,TorusKnotBufferGeometry:()=>sT,TorusKnotGeometry:()=>H_,Triangle:()=>Ag,TriangleFanDrawMode:()=>Op,TriangleStripDrawMode:()=>zp,TrianglesDrawMode:()=>Dp,TubeBufferGeometry:()=>oT,TubeGeometry:()=>W_,TwoPassDoubleSide:()=>wd,UVMapping:()=>oh,Uint16BufferAttribute:()=>jg,Uint32BufferAttribute:()=>Fg,Uint8BufferAttribute:()=>Dg,Uint8ClampedBufferAttribute:()=>zg,Uniform:()=>XM,UniformsGroup:()=>JM,UniformsLib:()=>zv,UniformsUtils:()=>vv,UnsignedByteType:()=>Th,UnsignedInt248Type:()=>zh,UnsignedIntType:()=>Rh,UnsignedShort4444Type:()=>Ih,UnsignedShort5551Type:()=>Dh,UnsignedShortType:()=>Ph,VSMShadowMap:()=>vd,Vector2:()=>Of,Vector3:()=>mm,Vector4:()=>om,VectorKeyframeTrack:()=>_S,VideoTexture:()=>bw,WebGL1Renderer:()=>hb,WebGL3DRenderTarget:()=>hm,WebGLArrayRenderTarget:()=>
2um,WebGLCubeRenderTarget:()=>Mv,WebGLMultipleRenderTargets:()=>pm,WebGLRenderTarget:()=>lm,WebGLRenderer:()=>db,WebGLUtils:()=>nb,WireframeGeometry:()=>G_,WrapAroundEnding:()=>Lp,ZeroCurvatureEnding:()=>Np,ZeroFactor:()=>kd,ZeroSlopeEnding:()=>Rp,ZeroStencilOp:()=>Xp,_SRGBAFormat:()=>wf,sRGBEncoding:()=>Bp});var r,i=n(43),a=n.t(i,2),s=n(391);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o.apply(this,arguments)}!function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"}(r||(r={}));const l="popstate";function c(e,t){if(!1===e||null===e||"undefined"===typeof e)throw new Error(t)}function u(e,t){if(!e){"undefined"!==typeof console&&console.warn(t);try{throw new Error(t)}catch(n){}}}function d(e,t){return{usr:e.state,key:e.key,idx:t}}function h(e,t,n,r){return void 0===n&&(n=null),o({pathname:"string"===typeof e?e:e.pathname,search:"",hash:""},"string"===typeof t?f(t):t,{state:n,key:t&&t.key||r||Math.random().toString(36).substr(2,8)})}function p(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&"?"!==n&&(t+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(t+="#"===r.charAt(0)?r:"#"+r),t}function f(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function m(e,t,n,i){void 0===i&&(i={});let{window:a=document.defaultView,v5Compat:s=!1}=i,u=a.history,f=r.Pop,m=null,g=v();function v(){return(u.state||{idx:null}).idx}function y(){f=r.Pop;let e=v(),t=null==e?null:e-g;g=e,m&&m({action:f,location:b.location,delta:t})}function x(e){let t="null"!==a.location.origin?a.location.origin:a.location.href,n="string"===typeof e?e:p(e);return n=n.replace(/ $/,"%20"),c(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==g&&(g=0,u.replaceState(o({},u.state,{idx:g}),""));let b={get action(){return f},get location(){return e(a,u)},listen(e){if(m)throw new Error("A history only accepts one active listener");return a.addEventListener(l,y),m=e,()=>{a.removeEventListener(l,y),m=null}},createHref:e=>t(a,e),createURL:x,encodeLocation(e){let t=x(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){f=r.Push;let i=h(b.location,e,t);n&&n(i,e),g=v()+1;let o=d(i,g),l=b.createHref(i);try{u.pushState(o,"",l)}catch(qA){if(qA instanceof DOMException&&"DataCloneError"===qA.name)throw qA;a.location.assign(l)}s&&m&&m({action:f,location:b.location,delta:1})},replace:function(e,t){f=r.Replace;let i=h(b.location,e,t);n&&n(i,e),g=v();let a=d(i,g),o=b.createHref(i);u.replaceState(a,"",o),s&&m&&m({action:f,location:b.location,delta:0})},go:e=>u.go(e)};return b}var g;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(g||(g={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function v(e,t,n){return void 0===n&&(n="/"),y(e,t,n,!1)}function y(e,t,n,r){let i=L(("string"===typeof t?f(t):t).pathname||"/",n);if(null==i)return null;let a=x(e);!function(e){e.sort((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every((e,n)=>e===t[n]);return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map(e=>e.childrenIndex),t.routesMeta.map(e=>e.childrenIndex)))}(a);let s=null;for(let o=0;null==s&&o<a.length;++o){let e=R(i);s=P(a[o],e,r)}return s}function x(e,t,n,r){void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r="");let i=(e,i,a)=>{let s={relativePath:void 0===a?e.path||"":a,caseSensitive:!0===e.caseSensitive,childrenIndex:i,route:e};s.relativePath.startsWith("/")&&(c(s.relativePath.startsWith(r),'Absolute route path "'+s.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),s.relativePath=s.relativePath.slice(r.length));let o=O([r,s.relativePath]),l=n.concat(s);e.children&&e.children.length>0&&(c(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+o+'".'),x(e.children,t,l,o)),(null!=e.path||e.index)&&t.push({path:o,score:C(o,e.index),routesMeta:l})};return e.forEach((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let r of b(e.path))i(e,t,r);else i(e,t)}),t}function b(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,i=n.endsWith("?"),a=n.replace(/\?$/,"");if(0===r.length)return i?[a,""]:[a];let s=b(r.join("/")),o=[];return o.push(...s.map(e=>""===e?a:[a,e].join("/"))),i&&o.push(...s),o.map(t=>e.startsWith("/")&&""===t?"/":t)}const w=/^:[\w-]+$/,_=3,S=2,M=1,E=10,T=-2,A=e=>"*"===e;function C(e,t){let n=e.split("/"),r=n.length;return n.some(A)&&(r+=T),t&&(r+=S),n.filter(e=>!A(e)).reduce((e,t)=>
2e+(w.test(t)?_:""===t?M:E),r)}function P(e,t,n){void 0===n&&(n=!1);let{routesMeta:r}=e,i={},a="/",s=[];for(let o=0;o<r.length;++o){let e=r[o],l=o===r.length-1,c="/"===a?t:t.slice(a.length)||"/",u=N({path:e.relativePath,caseSensitive:e.caseSensitive,end:l},c),d=e.route;if(!u&&l&&n&&!r[r.length-1].route.index&&(u=N({path:e.relativePath,caseSensitive:e.caseSensitive,end:!1},c)),!u)return null;Object.assign(i,u.params),s.push({params:i,pathname:O([a,u.pathname]),pathnameBase:j(O([a,u.pathnameBase])),route:d}),"/"!==u.pathnameBase&&(a=O([a,u.pathnameBase]))}return s}function N(e,t){"string"===typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[n,r]=function(e,t,n){void 0===t&&(t=!1);void 0===n&&(n=!0);u("*"===e||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were "'+e.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+e.replace(/\*$/,"/*")+'".');let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,n)=>(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)"));e.endsWith("*")?(r.push({paramName:"*"}),i+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":""!==e&&"/"!==e&&(i+="(?:(?=\\/|$))");let a=new RegExp(i,t?void 0:"i");return[a,r]}(e.path,e.caseSensitive,e.end),i=t.match(n);if(!i)return null;let a=i[0],s=a.replace(/(.)\/+$/,"$1"),o=i.slice(1);return{params:r.reduce((e,t,n)=>{let{paramName:r,isOptional:i}=t;if("*"===r){let e=o[n]||"";s=a.slice(0,a.length-e.length).replace(/(.)\/+$/,"$1")}const l=o[n];return e[r]=i&&!l?void 0:(l||"").replace(/%2F/g,"/"),e},{}),pathname:a,pathnameBase:s,pattern:e}}function R(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(qA){return u(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+qA+")."),e}}function L(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function k(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function I(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function D(e,t){let n=I(e);return t?n.map((e,t)=>t===n.length-1?e.pathname:e.pathnameBase):n.map(e=>e.pathnameBase)}function z(e,t,n,r){let i;void 0===r&&(r=!1),"string"===typeof e?i=f(e):(i=o({},e),c(!i.pathname||!i.pathname.includes("?"),k("?","pathname","search",i)),c(!i.pathname||!i.pathname.includes("#"),k("#","pathname","hash",i)),c(!i.search||!i.search.includes("#"),k("#","search","hash",i)));let a,s=""===e||""===i.pathname,l=s?"/":i.pathname;if(null==l)a=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;i.pathname=t.join("/")}a=e>=0?t[e]:"/"}let u=function(e,t){void 0===t&&(t="/");let{pathname:n,search:r="",hash:i=""}="string"===typeof e?f(e):e,a=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:a,search:B(r),hash:F(i)}}(i,a),d=l&&"/"!==l&&l.endsWith("/"),h=(s||"."===l)&&n.endsWith("/");return u.pathname.endsWith("/")||!d&&!h||(u.pathname+="/"),u}const O=e=>e.join("/").replace(/\/\/+/g,"/"),j=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),B=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",F=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;function U(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const V=["post","put","patch","delete"],H=(new Set(V),["get",...V]);new Set(H),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred");function W(){return W=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},W.apply(this,arguments)}const G=i.createContext(null);const q=i.createContext(null);const X=i.createContext(null);const Y=i.createContext(null);const J=i.createContext({outlet:null,matches:[],isDataRoute:!1});const Q=i.createContext(null);function Z(){return null!=i.useContext(Y)}function K(){return Z()||c(!1),i.useContext(Y).location}function $(e){i.useContext(X).static||i.useLayoutEffect(e)}function ee(){let{isDataRoute:e}=i.useContext(J);return e?function(){let{router:e}=de(ce.UseNavigateStable),t=pe(ue.UseNavigateStable),n=i.useRef(!1);$(()=>{n.current=!0});let r=i.useCallback(function(r,i){void 0===i&&(i={}),n.current&&("number"===typeof r?e.navigate(r):e.navigate(r,W({fromRouteId:t},i)))},[e,t]);return r}():function(){Z()||c(!1);
2let e=i.useContext(G),{basename:t,future:n,navigator:r}=i.useContext(X),{matches:a}=i.useContext(J),{pathname:s}=K(),o=JSON.stringify(D(a,n.v7_relativeSplatPath)),l=i.useRef(!1);return $(()=>{l.current=!0}),i.useCallback(function(n,i){if(void 0===i&&(i={}),!l.current)return;if("number"===typeof n)return void r.go(n);let a=z(n,JSON.parse(o),s,"path"===i.relative);null==e&&"/"!==t&&(a.pathname="/"===a.pathname?t:O([t,a.pathname])),(i.replace?r.replace:r.push)(a,i.state,i)},[t,r,o,s,e])}()}function te(){let{matches:e}=i.useContext(J),t=e[e.length-1];return t?t.params:{}}function ne(e,t){let{relative:n}=void 0===t?{}:t,{future:r}=i.useContext(X),{matches:a}=i.useContext(J),{pathname:s}=K(),o=JSON.stringify(D(a,r.v7_relativeSplatPath));return i.useMemo(()=>z(e,JSON.parse(o),s,"path"===n),[e,o,s,n])}function re(e,t,n,a){Z()||c(!1);let{navigator:s}=i.useContext(X),{matches:o}=i.useContext(J),l=o[o.length-1],u=l?l.params:{},d=(l&&l.pathname,l?l.pathnameBase:"/");l&&l.route;let h,p=K();if(t){var m;let e="string"===typeof t?f(t):t;"/"===d||(null==(m=e.pathname)?void 0:m.startsWith(d))||c(!1),h=e}else h=p;let g=h.pathname||"/",y=g;if("/"!==d){let e=d.replace(/^\//,"").split("/");y="/"+g.replace(/^\//,"").split("/").slice(e.length).join("/")}let x=v(e,{pathname:y});let b=le(x&&x.map(e=>Object.assign({},e,{params:Object.assign({},u,e.params),pathname:O([d,s.encodeLocation?s.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?d:O([d,s.encodeLocation?s.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),o,n,a);return t&&b?i.createElement(Y.Provider,{value:{location:W({pathname:"/",search:"",hash:"",state:null,key:"default"},h),navigationType:r.Pop}},b):b}function ie(){let e=function(){var e;let t=i.useContext(Q),n=he(ue.UseRouteError),r=pe(ue.UseRouteError);if(void 0!==t)return t;return null==(e=n.errors)?void 0:e[r]}(),t=U(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",a={padding:"0.5rem",backgroundColor:r};return i.createElement(i.Fragment,null,i.createElement("h2",null,"Unexpected Application Error!"),i.createElement("h3",{style:{fontStyle:"italic"}},t),n?i.createElement("pre",{style:a},n):null,null)}const ae=i.createElement(ie,null);class se extends i.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?i.createElement(J.Provider,{value:this.props.routeContext},i.createElement(Q.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function oe(e){let{routeContext:t,match:n,children:r}=e,a=i.useContext(G);return a&&a.static&&a.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=n.route.id),i.createElement(J.Provider,{value:t},r)}function le(e,t,n,r){var a;if(void 0===t&&(t=[]),void 0===n&&(n=null),void 0===r&&(r=null),null==e){var s;if(!n)return null;if(n.errors)e=n.matches;else{if(!(null!=(s=r)&&s.v7_partialHydration&&0===t.length&&!n.initialized&&n.matches.length>0))return null;e=n.matches}}let o=e,l=null==(a=n)?void 0:a.errors;if(null!=l){let e=o.findIndex(e=>e.route.id&&void 0!==(null==l?void 0:l[e.route.id]));e>=0||c(!1),o=o.slice(0,Math.min(o.length,e+1))}let u=!1,d=-1;if(n&&r&&r.v7_partialHydration)for(let i=0;i<o.length;i++){let e=o[i];if((e.route.HydrateFallback||e.route.hydrateFallbackElement)&&(d=i),e.route.id){let{loaderData:t,errors:r}=n,i=e.route.loader&&void 0===t[e.route.id]&&(!r||void 0===r[e.route.id]);if(e.route.lazy||i){u=!0,o=d>=0?o.slice(0,d+1):[o[0]];break}}}return o.reduceRight((e,r,a)=>{let s,c=!1,h=null,p=null;var f;n&&(s=l&&r.route.id?l[r.route.id]:void 0,h=r.route.errorElement||ae,u&&(d<0&&0===a?(f="route-fallback",!1||fe[f]||(fe[f]=!0),c=!0,p=null):d===a&&(c=!0,p=r.route.hydrateFallbackElement||null)));let m=t.concat(o.slice(0,a+1)),g=()=>{let t;return t=s?h:c?p:r.route.Component?i.createElement(r.route.Component,null):r.route.element?r.route.element:e,i.createElement(oe,{match:r,routeContext:{outlet:e,matches:m,isDataRoute:null!=n},children:t})};return n&&(r.route.ErrorBoundary||r.route.errorElement||0===a)?i.createElement(se,{location:n.location,revalidation:n.revalidation,component:h,error:s,children:g(),routeC
2ontext:{outlet:null,matches:m,isDataRoute:!0}}):g()},null)}var ce=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(ce||{}),ue=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(ue||{});function de(e){let t=i.useContext(G);return t||c(!1),t}function he(e){let t=i.useContext(q);return t||c(!1),t}function pe(e){let t=function(){let e=i.useContext(J);return e||c(!1),e}(),n=t.matches[t.matches.length-1];return n.route.id||c(!1),n.route.id}const fe={};function me(e,t){null==e||e.v7_startTransition,void 0===(null==e?void 0:e.v7_relativeSplatPath)&&(!t||t.v7_relativeSplatPath),t&&(t.v7_fetcherPersist,t.v7_normalizeFormMethod,t.v7_partialHydration,t.v7_skipActionErrorRevalidation)}a.startTransition;function ge(e){c(!1)}function ve(e){let{basename:t="/",children:n=null,location:a,navigationType:s=r.Pop,navigator:o,static:l=!1,future:u}=e;Z()&&c(!1);let d=t.replace(/^\/*/,"/"),h=i.useMemo(()=>({basename:d,navigator:o,static:l,future:W({v7_relativeSplatPath:!1},u)}),[d,u,o,l]);"string"===typeof a&&(a=f(a));let{pathname:p="/",search:m="",hash:g="",state:v=null,key:y="default"}=a,x=i.useMemo(()=>{let e=L(p,d);return null==e?null:{location:{pathname:e,search:m,hash:g,state:v,key:y},navigationType:s}},[d,p,m,g,v,y,s]);return null==x?null:i.createElement(X.Provider,{value:h},i.createElement(Y.Provider,{children:n,value:x}))}function ye(e){let{children:t,location:n}=e;return re(xe(t),n)}new Promise(()=>{});i.Component;function xe(e,t){void 0===t&&(t=[]);let n=[];return i.Children.forEach(e,(e,r)=>{if(!i.isValidElement(e))return;let a=[...t,r];if(e.type===i.Fragment)return void n.push.apply(n,xe(e.props.children,a));e.type!==ge&&c(!1),e.props.index&&e.props.children&&c(!1);let s={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(s.children=xe(e.props.children,a)),n.push(s)}),n}var be=n(950),we=n.t(be,2);function _e(){return _e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_e.apply(this,arguments)}function Se(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const Me=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(zC){}new Map;const Ee=a.startTransition;we.flushSync,a.useId;function Te(e){let{basename:t,children:n,future:r,window:a}=e,s=i.useRef();var o;null==s.current&&(s.current=(void 0===(o={window:a,v5Compat:!0})&&(o={}),m(function(e,t){let{pathname:n,search:r,hash:i}=e.location;return h("",{pathname:n,search:r,hash:i},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){return"string"===typeof t?t:p(t)},null,o)));let l=s.current,[c,u]=i.useState({action:l.action,location:l.location}),{v7_startTransition:d}=r||{},f=i.useCallback(e=>{d&&Ee?Ee(()=>u(e)):u(e)},[u,d]);return i.useLayoutEffect(()=>l.listen(f),[l,f]),i.useEffect(()=>me(r),[r]),i.createElement(ve,{basename:t,children:n,location:c.location,navigationType:c.action,navigator:l,future:r})}const Ae="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Ce=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Pe=i.forwardRef(function(e,t){let n,{onClick:r,relative:a,reloadDocument:s,replace:o,state:l,target:u,to:d,preventScrollReset:h,viewTransition:f}=e,m=Se(e,Me),{basename:g}=i.useContext(X),v=!1;if("string"===typeof d&&Ce.test(d)&&(n=d,Ae))try{let e=new URL(window.location.href),t=d.startsWith("//")?new URL(e.protocol+d):new URL(d),n=L(t.pathname,g);t.origin===e.origin&&null!=n?d=n+t.search+t.hash:v=!0}catch(zC){}let y=function(e,t){let{relative:n}=void 0===t?{}:t;Z()||c(!1);let{basename:r,navigator:a}=i.useContext(X),{hash:s,pathname:o,search:l}=ne(e,{relative:n}),u=o;return"/"!==r&&(u="/"===o?r:O([r,o])),a.createHref({pathname:u,search:l,hash:s})}(d,{relative:a}),x=function(e,t){let{target:n,replace:r,state:a,preventScrollReset:s,relative:o,viewTransition:l}=void 0===t?{}:t,c=ee(),u=K(),d=ne(e,{relative:o});return i.useCallback(t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let n=void 0!==r?r:p(u)===p(d);c(e,{replace:n,state:a,preventScrollReset:s,relative:o,viewTransition:l})}},[u,c,d,r,a,n,e,s,o,l])}(d,{replace:o,state:l,target:u,preventScrollReset:h,relative:a,viewTransition:f});return i.createElement("a",_e({},m,{href:n||y,onClick:v||s?r:function(e){r&&r(e),e.defaultPrevented||x(e)},ref:t,target:u}))});var Ne,Re;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(Ne||(Ne={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(Re||(Re={}));const Le=()=>{const{pathname:e}=K();return(0,i.useEffect)(()=>{window.scrollTo(0,0)},[e]),null};function ke(e){return ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(e)}function Ie(e){var t=function(e,t){if("object"!=ke(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=ke(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ke(t)?t:t+""}function De(e,t,n){return(t=Ie(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ze(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Oe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};
2t%2?ze(Object(n),!0).forEach(function(t){De(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ze(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function je(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var Be={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const Fe=["color","size","strokeWidth","absoluteStrokeWidth","children"];var Ue=(e,t)=>{const n=(0,i.forwardRef)((n,r)=>{let{color:a="currentColor",size:s=24,strokeWidth:o=2,absoluteStrokeWidth:l,children:c}=n,u=je(n,Fe);return(0,i.createElement)("svg",Oe(Oe({ref:r},Be),{},{width:s,height:s,stroke:a,strokeWidth:l?24*Number(o)/Number(s):o,className:"lucide lucide-".concat((d=e,d.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()))},u),[...t.map(e=>{let[t,n]=e;return(0,i.createElement)(t,n)}),...(Array.isArray(c)?c:[c])||[]]);var d});return n.displayName="".concat(e),n};const Ve=Ue("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),He=Ue("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),We=Ue("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);function Ge(e,t){return function(){return e.apply(t,arguments)}}const{toString:qe}=Object.prototype,{getPrototypeOf:Xe}=Object,{iterator:Ye,toStringTag:Je}=Symbol,Qe=(Ze=Object.create(null),e=>{const t=qe.call(e);return Ze[t]||(Ze[t]=t.slice(8,-1).toLowerCase())});var Ze;const Ke=e=>(e=e.toLowerCase(),t=>Qe(t)===e),$e=e=>t=>typeof t===e,{isArray:et}=Array,tt=$e("undefined");function nt(e){return null!==e&&!tt(e)&&null!==e.constructor&&!tt(e.constructor)&&at(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const rt=Ke("ArrayBuffer");const it=$e("string"),at=$e("function"),st=$e("number"),ot=e=>null!==e&&"object"===typeof e,lt=e=>{if("object"!==Qe(e))return!1;const t=Xe(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Je in e)&&!(Ye in e)},ct=Ke("Date"),ut=Ke("File"),dt=Ke("Blob"),ht=Ke("FileList"),pt=Ke("URLSearchParams"),[ft,mt,gt,vt]=["ReadableStream","Request","Response","Headers"].map(Ke);function yt(e,t){let n,r,{allOwnKeys:i=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null!==e&&"undefined"!==typeof e)if("object"!==typeof e&&(e=[e]),et(e))for(n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else{if(nt(e))return;const r=i?Object.getOwnPropertyNames(e):Object.keys(e),a=r.length;let s;for(n=0;n<a;n++)s=r[n],t.call(null,e[s],s,e)}}function xt(e,t){if(nt(e))return null;t=t.toLowerCase();const n=Object.keys(e);let r,i=n.length;for(;i-- >0;)if(r=n[i],t===r.toLowerCase())return r;return null}const bt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global,wt=e=>!tt(e)&&e!==bt;const _t=(St="undefined"!==typeof Uint8Array&&Xe(Uint8Array),e=>St&&e instanceof St);var St;const Mt=Ke("HTMLFormElement"),Et=(e=>{let{hasOwnProperty:t}=e;return(e,n)=>t.call(e,n)})(Object.prototype),Tt=Ke("RegExp"),At=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};yt(n,(n,i)=>{let a;!1!==(a=t(n,i,e))&&(r[i]=a||n)}),Object.defineProperties(e,r)};const Ct=Ke("AsyncFunction"),Pt=((e,t)=>{return e?setImmediate:t?(n="axios@".concat(Math.random()),r=[],bt.addEventListener("message",e=>{let{source:t,data:i}=e;t===bt&&i===n&&r.length&&r.shift()()},!1),e=>{r.push(e),bt.postMessage(n,"*")}):e=>setTimeout(e);var n,r})("function"===typeof setImmediate,at(bt.postMessage)),Nt="undefined"!==typeof queueMicrotask?queueMicrotask.bind(bt):"undefined"!==typeof process&&process.nextTick||Pt,Rt={
vendor: 4,223 bytes, line 2
2isArray:et,isArrayBuffer:rt,isBuffer:nt,isFormData:e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||at(e.append)&&("formdata"===(t=Qe(e))||"object"===t&&at(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&rt(e.buffer),t},isString:it,isNumber:st,isBoolean:e=>!0===e||!1===e,isObject:ot,isPlainObject:lt,isEmptyObject:e=>{if(!ot(e)||nt(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(zC){return!1}},isReadableStream:ft,isRequest:mt,isResponse:gt,isHeaders:vt,isUndefined:tt,isDate:ct,isFile:ut,isBlob:dt,isRegExp:Tt,isFunction:at,isStream:e=>ot(e)&&at(e.pipe),isURLSearchParams:pt,isTypedArray:_t,isFileList:ht,forEach:yt,merge:function e(){const{caseless:t,skipUndefined:n}=wt(this)&&this||{},r={},i=(i,a)=>{const s=t&&xt(r,a)||a;lt(r[s])&<(i)?r[s]=e(r[s],i):lt(i)?r[s]=e({},i):et(i)?r[s]=i.slice():n&&tt(i)||(r[s]=i)};for(let a=0,s=arguments.length;a<s;a++)arguments[a]&&yt(arguments[a],i);return r},extend:function(e,t,n){let{allOwnKeys:r}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return yt(t,(t,r)=>{n&&at(t)?e[r]=Ge(t,n):e[r]=t},{allOwnKeys:r}),e},trim:e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),inherits:(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:(e,t,n,r)=>{let i,a,s;const o={};if(t=t||{},null==e)return t;do{for(i=Object.getOwnPropertyNames(e),a=i.length;a-- >0;)s=i[a],r&&!r(s,e,t)||o[s]||(t[s]=e[s],o[s]=!0);e=!1!==n&&Xe(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:Qe,kindOfTest:Ke,endsWith:(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},toArray:e=>{if(!e)return null;if(et(e))return e;let t=e.length;if(!st(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},forEachEntry:(e,t)=>{const n=(e&&e[Ye]).call(e);let r;for(;(r=n.next())&&!r.done;){const n=r.value;t.call(e,n[0],n[1])}},matchAll:(e,t)=>{let n;const r=[];for(;null!==(n=e.exec(t));)r.push(n);return r},isHTMLForm:Mt,hasOwnProperty:Et,hasOwnProp:Et,reduceDescriptors:At,freezeMethods:e=>{At(e,(t,n)=>{if(at(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];at(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:(e,t)=>{const n={},r=e=>{e.forEach(e=>{n[e]=!0})};return et(e)?r(e):r(String(e).split(t)),n},toCamelCase:e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(e,t,n){return t.toUpperCase()+n}),noop:()=>{},toFiniteNumber:(e,t)=>null!=e&&Number.isFinite(e=+e)?e:t,findKey:xt,global:bt,isContextDefined:wt,isSpecCompliantForm:function(e){return!!(e&&at(e.append)&&"FormData"===e[Je]&&e[Ye])},toJSONObject:e=>{const t=new Array(10),n=(e,r)=>{if(ot(e)){if(t.indexOf(e)>=0)return;if(nt(e))return e;if(!("toJSON"in e)){t[r]=e;const i=et(e)?[]:{};return yt(e,(e,t)=>{const a=n(e,r+1);!tt(a)&&(i[t]=a)}),t[r]=void 0,i}}return e};return n(e,0)},isAsyncFn:Ct,isThenable:e=>e&&(ot(e)||at(e))&&at(e.then)&&at(e.catch),setImmediate:Pt,asap:Nt,isIterable:e=>null!=e&&at(e[Ye])};function Lt(e,t,n,r,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),i&&(this.response=i,this.status=i.status?i.status:null)}Rt.inherits(Lt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Rt.toJSONObject(this.config),code:this.code,status:this.status}}});const kt=Lt.prototype,It={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","E
2RR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{It[e]={value:e}}),Object.defineProperties(Lt,It),Object.defineProperty(kt,"isAxiosError",{value:!0}),Lt.from=(e,t,n,r,i,a)=>{const s=Object.create(kt);Rt.toFlatObject(e,s,function(e){return e!==Error.prototype},e=>"isAxiosError"!==e);const o=e&&e.message?e.message:"Error",l=null==t&&e?e.code:t;return Lt.call(s,o,l,n,r,i),e&&null==s.cause&&Object.defineProperty(s,"cause",{value:e,configurable:!0}),s.name=e&&e.name||"Error",a&&Object.assign(s,a),s};const Dt=Lt;function zt(e){return Rt.isPlainObject(e)||Rt.isArray(e)}function Ot(e){return Rt.endsWith(e,"[]")?e.slice(0,-2):e}function jt(e,t,n){return e?e.concat(t).map(function(e,t){return e=Ot(e),!n&&t?"["+e+"]":e}).join(n?".":""):t}const Bt=Rt.toFlatObject(Rt,{},null,function(e){return/^is[A-Z]/.test(e)});const Ft=function(e,t,n){if(!Rt.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;const r=(n=Rt.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(e,t){return!Rt.isUndefined(t[e])})).metaTokens,i=n.visitor||c,a=n.dots,s=n.indexes,o=(n.Blob||"undefined"!==typeof Blob&&Blob)&&Rt.isSpecCompliantForm(t);
2if(!Rt.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(Rt.isDate(e))return e.toISOString();if(Rt.isBoolean(e))return e.toString();if(!o&&Rt.isBlob(e))throw new Dt("Blob is not supported. Use a Buffer instead.");return Rt.isArrayBuffer(e)||Rt.isTypedArray(e)?o&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,n,i){let o=e;if(e&&!i&&"object"===typeof e)if(Rt.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(Rt.isArray(e)&&function(e){return Rt.isArray(e)&&!e.some(zt)}(e)||(Rt.isFileList(e)||Rt.endsWith(n,"[]"))&&(o=Rt.toArray(e)))return n=Ot(n),o.forEach(function(e,r){!Rt.isUndefined(e)&&null!==e&&t.append(!0===s?jt([n],r,a):null===s?n:n+"[]",l(e))}),!1;return!!zt(e)||(t.append(jt(i,n,a),l(e)),!1)}const u=[],d=Object.assign(Bt,{defaultVisitor:c,convertValue:l,isVisitable:zt});if(!Rt.isObject(e))throw new TypeError("data must be an object");return function e(n,r){if(!Rt.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),Rt.forEach(n,function(n,a){!0===(!(Rt.isUndefined(n)||null===n)&&i.call(t,n,Rt.isString(a)?a.trim():a,r,d))&&e(n,r?r.concat(a):[a])}),u.pop()}}(e),t};function Ut(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(e){return t[e]})}function Vt(e,t){this._pairs=[],e&&Ft(e,this,t)}const Ht=Vt.prototype;Ht.append=function(e,t){this._pairs.push([e,t])},Ht.toString=function(e){const t=e?function(t){return e.call(this,t,Ut)}:Ut;return this._pairs.map(function(e){return t(e[0])+"="+t(e[1])},"").join("&")};const Wt=Vt;function Gt(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function qt(e,t,n){if(!t)return e;const r=n&&n.encode||Gt;Rt.isFunction(n)&&(n={serialize:n});const i=n&&n.serialize;let a;if(a=i?i(t,n):Rt.isURLSearchParams(t)?t.toString():new Wt(t,n).toString(r),a){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}const Xt=class{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){Rt.forEach(this.handlers,function(t){null!==t&&e(t)})}},Yt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Jt={isBrowser:!0,classes:{URLSearchParams:"undefined"!==typeof URLSearchParams?URLSearchParams:Wt,FormData:"undefined"!==typeof FormData?FormData:null,Blob:"undefined"!==typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Qt="undefined"!==typeof window&&"undefined"!==typeof document,Zt="object"===typeof navigator&&navigator||void 0,Kt=Qt&&(!Zt||["ReactNative","NativeScript","NS"].indexOf(Zt.product)<0),$t="undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts,en=Qt&&window.location.href||"http://localhost",tn=Oe(Oe({},e),Jt);const nn=function(e){function t(e,n,r,i){let a=e[i++];if("__proto__"===a)return!0;const s=Number.isFinite(+a),o=i>=e.length;if(a=!a&&Rt.isArray(r)?r.length:a,o)return Rt.hasOwnProp(r,a)?r[a]=[r[a],n]:r[a]=n,!s;r[a]&&Rt.isObject(r[a])||(r[a]=[]);return t(e,n,r[a],i)&&Rt.isArray(r[a])&&(r[a]=function(e){const t={},n=Object.keys(e);let r;const i=n.length;let a;for(r=0;r<i;r++)a=n[r],t[a]=e[a];return t}(r[a])),!s}if(Rt.isFormData(e)&&Rt.isFunction(e.entries)){const n={};return Rt.forEachEntry(e,(e,r)=>{t(function(e){return Rt.matchAll(/\w+|\[(\w*)]/g,e).map(e=>"[]"===e[0]?"":e[1]||e[0])}(e),r,n,0)}),n}return null};const rn={transitional:Yt,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,i=Rt.isObject(e);i&&Rt.isHTMLForm(e)&&(e=new FormData(e));if(Rt.isFormData(e))return r?JSON.stringify(nn(e)):e;if(Rt.isArrayBuffer(e)||Rt.isBuffer(e)||Rt.isStream(e)||Rt.isFile(e)||Rt.isBlob(e)||Rt.isReadableStream(e))return e;if(Rt.isArrayBufferView(e))return e.buffer;if(Rt.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Ft(e,new tn.classes.URLSearchParams,Oe({visitor:function(e,t,n,r){return tn.isNode&&Rt.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}
vendor: 4,522 bytes, line 2
2(e,this.formSerializer).toString();if((a=Rt.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Ft(a?{"files[]":e}:e,t&&new t,this.formSerializer)}}return i||r?(t.setContentType("application/json",!1),function(e,t,n){if(Rt.isString(e))try{return(t||JSON.parse)(e),Rt.trim(e)}catch(zC){if("SyntaxError"!==zC.name)throw zC}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){const t=this.transitional||rn.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(Rt.isResponse(e)||Rt.isReadableStream(e))return e;if(e&&Rt.isString(e)&&(n&&!this.responseType||r)){const n=!(t&&t.silentJSONParsing)&&r;try{return JSON.parse(e,this.parseReviver)}catch(zC){if(n){if("SyntaxError"===zC.name)throw Dt.from(zC,Dt.ERR_BAD_RESPONSE,this,null,this.response);throw zC}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:tn.classes.FormData,Blob:tn.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Rt.forEach(["delete","get","head","post","put","patch"],e=>{rn.headers[e]={}});const an=rn,sn=Rt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),on=Symbol("internals");function ln(e){return e&&String(e).trim().toLowerCase()}function cn(e){return!1===e||null==e?e:Rt.isArray(e)?e.map(cn):String(e)}function un(e,t,n,r,i){return Rt.isFunction(r)?r.call(this,t,n):(i&&(t=n),Rt.isString(t)?Rt.isString(r)?-1!==t.indexOf(r):Rt.isRegExp(r)?r.test(t):void 0:void 0)}class dn{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function i(e,t,n){const i=ln(t);if(!i)throw new Error("header name must be a non-empty string");const a=Rt.findKey(r,i);(!a||void 0===r[a]||!0===n||void 0===n&&!1!==r[a])&&(r[a||t]=cn(e))}const a=(e,t)=>Rt.forEach(e,(e,n)=>i(e,n,t));if(Rt.isPlainObject(e)||e instanceof this.constructor)a(e,t);else if(Rt.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))a((e=>{const t={};let n,r,i;return e&&e.split("\n").forEach(function(e){i=e.indexOf(":"),n=e.substring(0,i).trim().toLowerCase(),r=e.substring(i+1).trim(),!n||t[n]&&sn[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t})(e),t);else if(Rt.isObject(e)&&Rt.isIterable(e)){let n,r,i={};for(const t of e){if(!Rt.isArray(t))throw TypeError("Object iterator must return a key-value pair");i[r=t[0]]=(n=i[r])?Rt.isArray(n)?[...n,t[1]]:[n,t[1]]:t[1]}a(i,t)}else null!=e&&i(t,e,n);return this}get(e,t){if(e=ln(e)){const n=Rt.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return function(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}(e);if(Rt.isFunction(t))return t.call(this,e,n);if(Rt.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ln(e)){const n=Rt.findKey(this,e);return!(!n||void 0===this[n]||t&&!un(0,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function i(e){if(e=ln(e)){const i=Rt.findKey(n,e);!i||t&&!un(0,n[i],i,t)||(delete n[i],r=!0)}}return Rt.isArray(e)?e.forEach(i):i(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;for(;n--;){const i=t[n];e&&!un(0,this[i],i,e,!0)||(delete this[i],r=!0)}return r}normalize(e){const t=this,n={};return Rt.forEach(this,(r,i)=>{const a=Rt.findKey(n,i);if(a)return t[a]=cn(r),void delete t[i];const s=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,n)=>t.toUpperCase()+n)}(i):String(i).trim();s!==i&&delete t[i],t[s]=cn(r),n[s]=!0}),this}concat(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.constructor.concat(this,...t)}toJSON(e){const t=Object.create(null);return Rt.forEach(this,(n,r)=>{null!=n&&!1!==n&&(t[r]=e&&Rt.isArray(n)?n.join(", "):n)}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(e=>{let[t,n]=e;return t+": "+n}).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e){const t=new this(e);for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];
vendor: 1,039 bytes, line 2
2return r.forEach(e=>t.set(e)),t}static accessor(e){const t=(this[on]=this[on]={accessors:{}}).accessors,n=this.prototype;function r(e){const r=ln(e);t[r]||(!function(e,t){const n=Rt.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(e,n,i){return this[r].call(this,t,e,n,i)},configurable:!0})})}(n,e),t[r]=!0)}return Rt.isArray(e)?e.forEach(r):r(e),this}}dn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Rt.reduceDescriptors(dn.prototype,(e,t)=>{let{value:n}=e,r=t[0].toUpperCase()+t.slice(1);return{get:()=>n,set(e){this[r]=e}}}),Rt.freezeMethods(dn);const hn=dn;function pn(e,t){const n=this||an,r=t||n,i=hn.from(r.headers);let a=r.data;return Rt.forEach(e,function(e){a=e.call(n,a,i.normalize(),t?t.status:void 0)}),i.normalize(),a}function fn(e){return!(!e||!e.__CANCEL__)}function mn(e,t,n){Dt.call(this,null==e?"canceled":e,Dt.ERR_CANCELED,t,n),this.name="CanceledError"}Rt.inherits(mn,Dt,{__CANCEL__:!0});const gn=mn;function vn(e,t,n
2){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new Dt("Request failed with status code "+n.status,[Dt.ERR_BAD_REQUEST,Dt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}const yn=function(e,t){e=e||10;const n=new Array(e),r=new Array(e);let i,a=0,s=0;return t=void 0!==t?t:1e3,function(o){const l=Date.now(),c=r[s];i||(i=l),n[a]=o,r[a]=l;let u=s,d=0;for(;u!==a;)d+=n[u++],u%=e;if(a=(a+1)%e,a===s&&(s=(s+1)%e),l-i<t)return;const h=c&&l-c;return h?Math.round(1e3*d/h):void 0}};const xn=function(e,t){let n,r,i=0,a=1e3/t;const s=function(t){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();i=a,n=null,r&&(clearTimeout(r),r=null),e(...t)};return[function(){const e=Date.now(),t=e-i;for(var o=arguments.length,l=new Array(o),c=0;c<o;c++)l[c]=arguments[c];t>=a?s(l,e):(n=l,r||(r=setTimeout(()=>{r=null,s(n)},a-t)))},()=>n&&s(n)]},bn=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,r=0;const i=yn(50,250);return xn(n=>{const a=n.loaded,s=n.lengthComputable?n.total:void 0,o=a-r,l=i(o);r=a;e({loaded:a,total:s,progress:s?a/s:void 0,bytes:o,rate:l||void 0,estimated:l&&s&&a<=s?(s-a)/l:void 0,event:n,lengthComputable:null!=s,[t?"download":"upload"]:!0})},n)},wn=(e,t)=>{const n=null!=e;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},_n=e=>function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Rt.asap(()=>e(...n))},Sn=tn.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,tn.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(tn.origin),tn.navigator&&/(msie|trident)/i.test(tn.navigator.userAgent)):()=>!0,Mn=tn.hasStandardBrowserEnv?{write(e,t,n,r,i,a){const s=[e+"="+encodeURIComponent(t)];Rt.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),Rt.isString(r)&&s.push("path="+r),Rt.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function En(e,t,n){let r=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(r||0==n)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}const Tn=e=>e instanceof hn?Oe({},e):e;function An(e,t){t=t||{};const n={};function r(e,t,n,r){return Rt.isPlainObject(e)&&Rt.isPlainObject(t)?Rt.merge.call({caseless:r},e,t):Rt.isPlainObject(t)?Rt.merge({},t):Rt.isArray(t)?t.slice():t}function i(e,t,n,i){return Rt.isUndefined(t)?Rt.isUndefined(e)?void 0:r(void 0,e,0,i):r(e,t,0,i)}function a(e,t){if(!Rt.isUndefined(t))return r(void 0,t)}function s(e,t){return Rt.isUndefined(t)?Rt.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function o(n,i,a){return a in t?r(n,i):a in e?r(void 0,n):void 0}const l={url:a,method:a,data:a,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:o,headers:(e,t,n)=>i(Tn(e),Tn(t),0,!0)};return Rt.forEach(Object.keys(Oe(Oe({},e),t)),function(r){const a=l[r]||i,s=a(e[r],t[r],r);Rt.isUndefined(s)&&a!==o||(n[r]=s)}),n}const Cn=e=>{const t=An({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:i,xsrfCookieName:a,headers:s,auth:o}=t;if(t.headers=s=hn.from(s),t.url=qt(En(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),o&&s.set("Authorization","Basic "+btoa((o.username||"")+":"+(o.password?unescape(encodeURIComponent(o.password)):""))),Rt.isFormData(n))if(tn.hasStandardBrowserEnv||tn.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(Rt.isFunction(n.getHeaders)){const e=n.getHeaders(),t=["content-type","content-length"];Object.entries(e).forEach(e=>{let[n,r]=e;t.includes(n.toLowerCase())&&s.set(n,r)})}if(tn.hasStandardBrowserEnv&&(r&&Rt.isFunction(r)&&(r=r(t)),r||!1!==r&&Sn(t.url))){const e=i&&a&&Mn.read(a);e&&s.set(i,e)}return t},Pn="undefined"!==typeof XMLHttpRequest&&function(e){return new Promise(function(t,n){const r=Cn(e);let i=r.data;const a=hn.from(r.headers).normalize();let s,o,l,c,u,{responseType:d,onUploadProgress:h,onDownloadProgress:p}=r;function f(){c&&c(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(s),r.signal&&r.signal.removeEventListener("abort",s)}let m=new XMLHttpRequest;function g(){if(!m)return;const r=hn.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders());vn(function(e){t(e),f()},function(e){n(e),f()},{data:d&&"text"!==d&&"json"!==d?m.response:m.responseText,status:m.status,statusText:m.statusText,headers:r,config:e,request:m}),m=null}m.open(r.method.toUpperCase(),r.url,!0),m.timeout=r.timeout,"onloadend"in m?m.onloadend=g:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(g)}
2,m.onabort=function(){m&&(n(new Dt("Request aborted",Dt.ECONNABORTED,e,m)),m=null)},m.onerror=function(t){const r=t&&t.message?t.message:"Network Error",i=new Dt(r,Dt.ERR_NETWORK,e,m);i.event=t||null,n(i),m=null},m.ontimeout=function(){let t=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const i=r.transitional||Yt;r.timeoutErrorMessage&&(t=r.timeoutErrorMessage),n(new Dt(t,i.clarifyTimeoutError?Dt.ETIMEDOUT:Dt.ECONNABORTED,e,m)),m=null},void 0===i&&a.setContentType(null),"setRequestHeader"in m&&Rt.forEach(a.toJSON(),function(e,t){m.setRequestHeader(t,e)}),Rt.isUndefined(r.withCredentials)||(m.withCredentials=!!r.withCredentials),d&&"json"!==d&&(m.responseType=r.responseType),p&&([l,u]=bn(p,!0),m.addEventListener("progress",l)),h&&m.upload&&([o,c]=bn(h),m.upload.addEventListener("progress",o),m.upload.addEventListener("loadend",c)),(r.cancelToken||r.signal)&&(s=t=>{m&&(n(!t||t.type?new gn(null,e,m):t),m.abort(),m=null)},r.cancelToken&&r.cancelToken.subscribe(s),r.signal&&(r.signal.aborted?s():r.signal.addEventListener("abort",s)));const v=function(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}(r.url);v&&-1===tn.protocols.indexOf(v)?n(new Dt("Unsupported protocol "+v+":",Dt.ERR_BAD_REQUEST,e)):m.send(i||null)})},Nn=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let n,r=new AbortController;const i=function(e){if(!n){n=!0,s();const t=e instanceof Error?e:this.reason;r.abort(t instanceof Dt?t:new gn(t instanceof Error?t.message:t))}};let a=t&&setTimeout(()=>{a=null,i(new Dt("timeout ".concat(t," of ms exceeded"),Dt.ETIMEDOUT))},t);const s=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(e=>{e.unsubscribe?e.unsubscribe(i):e.removeEventListener("abort",i)}),e=null)};e.forEach(e=>e.addEventListener("abort",i));const{signal:o}=r;return o.unsubscribe=()=>Rt.asap(s),o}};function Rn(e,t){this.v=e,this.k=t}function Ln(e){return function(){return new kn(e.apply(this,arguments))}}function kn(e){var t,n;function r(t,n){try{var a=e[t](n),s=a.value,o=s instanceof Rn;Promise.resolve(o?s.v:s).then(function(n){if(o){var l="return"===t?"return":"next";if(!s.k||n.done)return r(l,n);n=e[l](n).value}i(a.done?"return":"normal",n)},function(e){r("throw",e)})}catch(e){i("throw",e)}}function i(e,i){switch(e){case"return":t.resolve({value:i,done:!0});break;case"throw":t.reject(i);break;default:t.resolve({value:i,done:!1})}(t=t.next)?r(t.key,t.arg):n=null}this._invoke=function(e,i){return new Promise(function(a,s){var o={key:e,arg:i,resolve:a,reject:s,next:null};n?n=n.next=o:(t=n=o,r(e,i))})},"function"!=typeof e.return&&(this.return=void 0)}function In(e){return new Rn(e,0)}function Dn(e){var t={},n=!1;function r(t,r){return n=!0,r=new Promise(function(n){n(e[t](r))}),{done:!1,value:new Rn(r,1)}}return t["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},t.next=function(e){return n?(n=!1,e):r("next",e)},"function"==typeof e.throw&&(t.throw=function(e){if(n)throw n=!1,e;return r("throw",e)}),"function"==typeof e.return&&(t.return=function(e){return n?(n=!1,e):r("return",e)}),t}function zn(e){var t,n,r,i=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new On(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function On(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return On=function(e){this.s=e,this.n=e.next},On.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new On(e)}kn.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},kn.prototype.next=function(e){return this._invoke("next",e)},kn.prototype.throw=function(e){return this._invoke("throw",e)},kn.prototype.return=function(e){return this._invoke("return",e)};const jn=function*(e,t){let n=e.byteLength;if(!t||n<t)return void(yield e);let r,i=0;for(;i<n;)r=i+t,yield e.slice(i,r),i=r},Bn=function(){var e=Ln(function*(e,t){var n,r=!1,i=!1;try{for(var a,s=zn(Fn(e));r=!(a=yield In(s.next())).done;r=!1){const e=a.value;yield*Dn(zn(jn(e,t)))}}catch(o){i=!0,n=o}
2finally{try{r&&null!=s.return&&(yield In(s.return()))}finally{if(i)throw n}}});return function(t,n){return e.apply(this,arguments)}}(),Fn=function(){var e=Ln(function*(e){if(e[Symbol.asyncIterator])return void(yield*Dn(zn(e)));const t=e.getReader();try{for(;;){const{done:e,value:n}=yield In(t.read());if(e)break;yield n}}finally{yield In(t.cancel())}});return function(t){return e.apply(this,arguments)}}(),Un=(e,t,n,r)=>{const i=Bn(e,t);let a,s=0,o=e=>{a||(a=!0,r&&r(e))};return new ReadableStream({async pull(e){try{const{done:t,value:r}=await i.next();if(t)return o(),void e.close();let a=r.byteLength;if(n){let e=s+=a;n(e)}e.enqueue(new Uint8Array(r))}catch(t){throw o(t),t}},cancel:e=>(o(e),i.return())},{highWaterMark:2})},{isFunction:Vn}=Rt,Hn=(e=>{let{Request:t,Response:n}=e;return{Request:t,Response:n}})(Rt.global),{ReadableStream:Wn,TextEncoder:Gn}=Rt.global,qn=function(e){try{for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return!!e(...n)}catch(zC){return!1}},Xn=e=>{e=Rt.merge.call({skipUndefined:!0},Hn,e);const{fetch:t,Request:n,Response:r}=e,i=t?Vn(t):"function"===typeof fetch,a=Vn(n),s=Vn(r);if(!i)return!1;const o=i&&Vn(Wn),l=i&&("function"===typeof Gn?(c=new Gn,e=>c.encode(e)):async e=>new Uint8Array(await new n(e).arrayBuffer()));var c;const u=a&&o&&qn(()=>{let e=!1;const t=new n(tn.origin,{body:new Wn,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),d=s&&o&&qn(()=>Rt.isReadableStream(new r("").body)),h={stream:d&&(e=>e.body)};i&&["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!h[e]&&(h[e]=(t,n)=>{let r=t&&t[e];if(r)return r.call(t);throw new Dt("Response type '".concat(e,"' is not supported"),Dt.ERR_NOT_SUPPORT,n)})});const p=async(e,t)=>{const r=Rt.toFiniteNumber(e.getContentLength());return null==r?(async e=>{if(null==e)return 0;if(Rt.isBlob(e))return e.size;if(Rt.isSpecCompliantForm(e)){const t=new n(tn.origin,{method:"POST",body:e});return(await t.arrayBuffer()).byteLength}return Rt.isArrayBufferView(e)||Rt.isArrayBuffer(e)?e.byteLength:(Rt.isURLSearchParams(e)&&(e+=""),Rt.isString(e)?(await l(e)).byteLength:void 0)})(t):r};return async e=>{let{url:i,method:s,data:o,signal:l,cancelToken:c,timeout:f,onDownloadProgress:m,onUploadProgress:g,responseType:v,headers:y,withCredentials:x="same-origin",fetchOptions:b}=Cn(e),w=t||fetch;v=v?(v+"").toLowerCase():"text";let _=Nn([l,c&&c.toAbortSignal()],f),S=null;const M=_&&_.unsubscribe&&(()=>{_.unsubscribe()});let E;try{if(g&&u&&"get"!==s&&"head"!==s&&0!==(E=await p(y,o))){let e,t=new n(i,{method:"POST",body:o,duplex:"half"});if(Rt.isFormData(o)&&(e=t.headers.get("content-type"))&&y.setContentType(e),t.body){const[e,n]=wn(E,bn(_n(g)));o=Un(t.body,65536,e,n)}}Rt.isString(x)||(x=x?"include":"omit");const t=a&&"credentials"in n.prototype,l=Oe(Oe({},b),{},{signal:_,method:s.toUpperCase(),headers:y.normalize().toJSON(),body:o,duplex:"half",credentials:t?x:void 0});S=a&&new n(i,l);let c=await(a?w(S,b):w(i,l));const f=d&&("stream"===v||"response"===v);if(d&&(m||f&&M)){const e={};["status","statusText","headers"].forEach(t=>{e[t]=c[t]});const t=Rt.toFiniteNumber(c.headers.get("content-length")),[n,i]=m&&wn(t,bn(_n(m),!0))||[];c=new r(Un(c.body,65536,n,()=>{i&&i(),M&&M()}),e)}v=v||"text";let T=await h[Rt.findKey(h,v)||"text"](c,e);return!f&&M&&M(),await new Promise((t,n)=>{vn(t,n,{data:T,headers:hn.from(c.headers),status:c.status,statusText:c.statusText,config:e,request:S})})}catch(T){if(M&&M(),T&&"TypeError"===T.name&&/Load failed|fetch/i.test(T.message))throw Object.assign(new Dt("Network Error",Dt.ERR_NETWORK,e,S),{cause:T.cause||T});throw Dt.from(T,T&&T.code,e,S)}}},Yn=new Map,Jn=e=>{let t=e?e.env:{};const{fetch:n,Request:r,Response:i}=t,a=[r,i,n];let s,o,l=a.length,c=Yn;for(;l--;)s=a[l],o=c.get(s),void 0===o&&c.set(s,o=l?new Map:Xn(t)),c=o;return o},Qn=(Jn(),{http:null,xhr:Pn,fetch:{get:Jn}});Rt.forEach(Qn,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(zC){}Object.defineProperty(e,"adapterName",{value:t})}});const Zn=e=>"- ".concat(e),Kn=e=>Rt.isFunction(e)||null===e||!1===e,$n=(e,t)=>{e=Rt.isArray(e)?e:[e];const{length:n}=e;let r,i;const a={};for(let s=0;s<n;s++){let n;if(r=e[s],i=r,!Kn(r)&&(i=Qn[(n=String(r)).toLowerCase()],void 0===i))throw new Dt("Unknown adapter '".concat(n,"'"));
vendor: 4,991 bytes, line 2
2if(i&&(Rt.isFunction(i)||(i=i.get(t))))break;a[n||"#"+s]=i}if(!i){const e=Object.entries(a).map(e=>{let[t,n]=e;return"adapter ".concat(t," ")+(!1===n?"is not supported by the environment":"is not available in the build")});let t=n?e.length>1?"since :\n"+e.map(Zn).join("\n"):" "+Zn(e[0]):"as no adapter specified";throw new Dt("There is no suitable adapter to dispatch the request "+t,"ERR_NOT_SUPPORT")}return i};function er(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new gn(null,e)}function tr(e){er(e),e.headers=hn.from(e.headers),e.data=pn.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);return $n(e.adapter||an.adapter,e)(e).then(function(t){return er(e),t.data=pn.call(e,e.transformResponse,t),t.headers=hn.from(t.headers),t},function(t){return fn(t)||(er(e),t&&t.response&&(t.response.data=pn.call(e,e.transformResponse,t.response),t.response.headers=hn.from(t.response.headers))),Promise.reject(t)})}const nr="1.12.2",rr={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{rr[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const ir={};rr.transitional=function(e,t,n){function r(e,t){return"[Axios v"+nr+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,i,a)=>{if(!1===e)throw new Dt(r(i," has been removed"+(t?" in "+t:"")),Dt.ERR_DEPRECATED);return t&&!ir[i]&&(ir[i]=!0,console.warn(r(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,i,a)}},rr.spelling=function(e){return(t,n)=>(console.warn("".concat(n," is likely a misspelling of ").concat(e)),!0)};const ar={assertOptions:function(e,t,n){if("object"!==typeof e)throw new Dt("options must be an object",Dt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let i=r.length;for(;i-- >0;){const a=r[i],s=t[a];if(s){const t=e[a],n=void 0===t||s(t,a,e);if(!0!==n)throw new Dt("option "+a+" must be "+n,Dt.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new Dt("Unknown option "+a,Dt.ERR_BAD_OPTION)}},validators:rr},sr=ar.validators;class or{constructor(e){this.defaults=e||{},this.interceptors={request:new Xt,response:new Xt}}async request(e,t){try{return await this._request(e,t)}catch(n){if(n instanceof Error){let e={};Error.captureStackTrace?Error.captureStackTrace(e):e=new Error;const t=e.stack?e.stack.replace(/^.+\n/,""):"";try{n.stack?t&&!String(n.stack).endsWith(t.replace(/^.+\n.+\n/,""))&&(n.stack+="\n"+t):n.stack=t}catch(zC){}}throw n}}_request(e,t){"string"===typeof e?(t=t||{}).url=e:t=e||{},t=An(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:i}=t;void 0!==n&&ar.assertOptions(n,{silentJSONParsing:sr.transitional(sr.boolean),forcedJSONParsing:sr.transitional(sr.boolean),clarifyTimeoutError:sr.transitional(sr.boolean)},!1),null!=r&&(Rt.isFunction(r)?t.paramsSerializer={serialize:r}:ar.assertOptions(r,{encode:sr.function,serialize:sr.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),ar.assertOptions(t,{baseUrl:sr.spelling("baseURL"),withXsrfToken:sr.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let a=i&&Rt.merge(i.common,i[t.method]);i&&Rt.forEach(["delete","get","head","post","put","patch","common"],e=>{delete i[e]}),t.headers=hn.concat(a,i);const s=[];let o=!0;this.interceptors.request.forEach(function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(o=o&&e.synchronous,s.unshift(e.fulfilled,e.rejected))});const l=[];let c;this.interceptors.response.forEach(function(e){l.push(e.fulfilled,e.rejected)});let u,d=0;if(!o){const e=[tr.bind(this),void 0];for(e.unshift(...s),e.push(...l),u=e.length,c=Promise.resolve(t);d<u;)c=c.then(e[d++],e[d++]);return c}u=s.length;let h=t;for(;d<u;){const e=s[d++],t=s[d++];try{h=e(h)}catch(qA){t.call(this,qA);break}}try{c=tr.call(this,h)}catch(qA){return Promise.reject(qA)}for(d=0,u=l.length;d<u;)c=c.then(l[d++],l[d++]);return c}getUri(e){return qt(En((e=An(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}Rt.forEach(["delete","get","head","options"],function(e){or.prototype[e]=function(t,n){return this.request(An(n||{},{method:e,url:t,data:(n||{}).data}))}}),Rt.forEach(["post","put","patch"],function(e){function t(t){return function(n,r,i){return this.request(An(i||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}or.prototype[e]=t(),or.prototype[e+"Form"]=t(!0)});const lr=or;class cr{constructor(e){if("function"!==typeof e)throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(e){t=e});const n=this;this.promise.then(e=>{if(!n._listeners)return;let t=n._listeners.length;for(;t-- >0;)n._listeners[t](e);n._listeners=null}),this.promise.then=e=>{let t;const r=new Promise(e=>{n.subscribe(e),t=e}).then(e);return r.cancel=function(){n.unsubscribe(t)},r}
2,e(function(e,r,i){n.reason||(n.reason=new gn(e,r,i),t(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}toAbortSignal(){const e=new AbortController,t=t=>{e.abort(t)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new cr(function(t){e=t}),cancel:e}}}const ur=cr;const dr={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(dr).forEach(e=>{let[t,n]=e;dr[n]=t});const hr=dr;const pr=function e(t){const n=new lr(t),r=Ge(lr.prototype.request,n);return Rt.extend(r,lr.prototype,n,{allOwnKeys:!0}),Rt.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return e(An(t,n))},r}(an);pr.Axios=lr,pr.CanceledError=gn,pr.CancelToken=ur,pr.isCancel=fn,pr.VERSION=nr,pr.toFormData=Ft,pr.AxiosError=Dt,pr.Cancel=pr.CanceledError,pr.all=function(e){return Promise.all(e)},pr.spread=function(e){return function(t){return e.apply(null,t)}},pr.isAxiosError=function(e){return Rt.isObject(e)&&!0===e.isAxiosError},pr.mergeConfig=An,pr.AxiosHeaders=hn,pr.formToJSON=e=>nn(Rt.isHTMLForm(e)?new FormData(e):e),pr.getAdapter=$n,pr.HttpStatusCode=hr,pr.default=pr;const fr=pr.create({baseURL:"https://singularity-production-ce9d.up.railway.app"});fr.interceptors.response.use(e=>e,e=>(e.response&&401===e.response.status&&(sessionStorage.removeItem("token"),sessionStorage.removeItem("user"),window.location.href="/login"),Promise.reject(e)));const mr=fr;var gr=n(579);const vr=(0,i.createContext)(),yr=e=>{let{children:t}=e;const[n,r]=(0,i.useState)(null),[a,s]=(0,i.useState)(sessionStorage.getItem("token"));(0,i.useEffect)(()=>{if(a){mr.defaults.headers.common.Authorization="Bearer ".concat(a);const e=JSON.parse(sessionStorage.getItem("user"));e&&r(e)}},[a]);return(0,gr.jsx)(vr.Provider,{value:{user:n,token:a,login:async(e,t)=>{try{const n=await mr.post("/api/users/login",{email:e,password:t}),{token:i,user:a}=n.data;return sessionStorage.setItem("token",i),sessionStorage.setItem("user",JSON.stringify(a)),s(i),r(a),mr.defaults.headers.common.Authorization="Bearer ".concat(i),n}catch(qA){throw console.error("Login failed:",qA),qA}},logout:()=>{sessionStorage.removeItem("token"),sessionStorage.removeItem("user"),s(null),r(null),delete mr.defaults.headers.common.Authorization}},children:t})},xr=1/60*1e3,br="undefined"!==typeof performance?()=>performance.now():()=>Date.now(),wr="undefined"!==typeof window?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(br()),xr);const _r={delta:0,timestamp:0};let Sr=!0,Mr=!1,Er=!1;const Tr=["read","update","preRender","render","postRender"],Ar=Tr.reduce((e,t)=>(e[t]=function(e){let t=[],n=[],r=0,i=!1,a=!1;const s=new WeakSet,o={schedule:function(e){const a=arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&i,o=a?t:n;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&s.add(e),-1===o.indexOf(e)&&(o.push(e),a&&i&&(r=t.length)),e},cancel:e=>{const t=n.indexOf(e);-1!==t&&n.splice(t,1),s.delete(e)},process:l=>{if(i)a=!0;else{if(i=!0,[t,n]=[n,t],n.length=0,r=t.length,r)for(let n=0;n<r;n++){const r=t[n];r(l),s.has(r)&&(o.schedule(r),e())}i=!1,a&&(a=!1,o.process(l))}}};return o}(()=>Mr=!0),e),{}),Cr=Tr.reduce((e,t)=>
2{const n=Ar[t];return e[t]=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Mr||kr(),n.schedule(e,t,r)},e},{}),Pr=Tr.reduce((e,t)=>(e[t]=Ar[t].cancel,e),{}),Nr=Tr.reduce((e,t)=>(e[t]=()=>Ar[t].process(_r),e),{}),Rr=e=>Ar[e].process(_r),Lr=e=>{Mr=!1,_r.delta=Sr?xr:Math.max(Math.min(e-_r.timestamp,40),1),_r.timestamp=e,Er=!0,Tr.forEach(Rr),Er=!1,Mr&&(Sr=!1,wr(Lr))},kr=()=>{Mr=!0,Sr=!0,Er||wr(Lr)},Ir="undefined"!==typeof document,Dr=Ir?i.useLayoutEffect:i.useEffect;function zr(){const e=(0,i.useRef)(!1);return Dr(()=>(e.current=!0,()=>{e.current=!1}),[]),e}const Or=(0,i.createContext)(null);function jr(e){const t=(0,i.useRef)(null);return null===t.current&&(t.current=e()),t.current}class Br extends i.Component{getSnapshotBeforeUpdate(e){const t=this.props.childRef.current;if(t&&e.isPresent&&!this.props.isPresent){const e=this.props.sizeRef.current;e.height=t.offsetHeight||0,e.width=t.offsetWidth||0,e.top=t.offsetTop,e.left=t.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function Fr(e){let{children:t,isPresent:n}=e;const r=(0,i.useId)(),a=(0,i.useRef)(null),s=(0,i.useRef)({width:0,height:0,top:0,left:0});return(0,i.useInsertionEffect)(()=>{const{width:e,height:t,top:i,left:o}=s.current;if(n||!a.current||!e||!t)return;a.current.dataset.motionPopId=r;const l=document.createElement("style");return document.head.appendChild(l),l.sheet&&l.sheet.insertRule('\n [data-motion-pop-id="'.concat(r,'"] {\n position: absolute !important;\n width: ').concat(e,"px !important;\n height: ").concat(t,"px !important;\n top: ").concat(i,"px !important;\n left: ").concat(o,"px !important;\n }\n ")),()=>{document.head.removeChild(l)}},[n]),i.createElement(Br,{isPresent:n,childRef:a,sizeRef:s},i.cloneElement(t,{ref:a}))}const Ur=e=>{let{children:t,initial:n,isPresent:r,onExitComplete:a,custom:s,presenceAffectsLayout:o,mode:l}=e;const c=jr(Vr),u=(0,i.useId)(),d=(0,i.useMemo)(()=>({id:u,initial:n,isPresent:r,custom:s,onExitComplete:e=>{c.set(e,!0);for(const t of c.values())if(!t)return;a&&a()},register:e=>(c.set(e,!1),()=>c.delete(e))}),o?void 0:[r]);return(0,i.useMemo)(()=>{c.forEach((e,t)=>c.set(t,!1))},[r]),i.useEffect(()=>{!r&&!c.size&&a&&a()},[r]),"popLayout"===l&&(t=i.createElement(Fr,{isPresent:r},t)),i.createElement(Or.Provider,{value:d},t)};function Vr(){return new Map}const Hr=(0,i.createContext)({});function Wr(e){return(0,i.useEffect)(()=>()=>e(),[])}const Gr=new Set;function qr(e,t,n){e||Gr.has(t)||(console.warn(t),n&&console.warn(n),Gr.add(t))}const Xr=e=>e.key||"";const Yr=e=>{let{children:t,custom:n,initial:r=!0,onExitComplete:a,exitBeforeEnter:s,presenceAffectsLayout:o=!0,mode:l="sync"}=e;s&&(l="wait",qr(!1,"Replace exitBeforeEnter with mode='wait'"));let[c]=function(){const e=zr(),[t,n]=(0,i.useState)(0),r=(0,i.useCallback)(()=>{e.current&&n(t+1)},[t]);return[(0,i.useCallback)(()=>Cr.postRender(r),[r]),t]}();const u=(0,i.useContext)(Hr).forceRender;u&&(c=u);const d=zr(),h=function(e){const t=[];return i.Children.forEach(e,e=>{(0,i.isValidElement)(e)&&t.push(e)}),t}(t);let p=h;const f=new Set,m=(0,i.useRef)(p),g=(0,i.useRef)(new Map).current,v=(0,i.useRef)(!0);if(Dr(()=>{v.current=!1,function(e,t){e.forEach(e=>{const n=Xr(e);t.set(n,e)})}(h,g),m.current=p}),Wr(()=>{v.current=!0,g.clear(),f.clear()}),v.current)return i.createElement(i.Fragment,null,p.map(e=>i.createElement(Ur,{key:Xr(e),isPresent:!0,initial:!!r&&void 0,presenceAffectsLayout:o,mode:l},e)));p=[...p];const y=m.current.map(Xr),x=h.map(Xr),b=y.length;for(let i=0;i<b;i++){const e=y[i];-1===x.indexOf(e)&&f.add(e)}return"wait"===l&&f.size&&(p=[]),f.forEach(e=>{if(-1!==x.indexOf(e))return;const t=g.get(e);if(!t)return;const r=y.indexOf(e);p.splice(r,0,i.createElement(Ur,{key:Xr(t),isPresent:!1,onExitComplete:()=>{g.delete(e),f.delete(e);const t=m.current.findIndex(t=>t.key===e);if(m.current.splice(t,1),!f.size){if(m.current=h,!1===d.current)return;c(),a&&a()}},custom:n,presenceAffectsLayout:o,mode:l},t))}),p=p.map(e=>{const t=e.key;return f.has(t)?e:i.createElement(Ur,{key:Xr(e),isPresent:!0,presenceAffectsLayout:o,mode:l},e)}),i.createElement(i.Fragment,null,f.size?p:p.map(e=>(0,i.cloneElement)(e)))},Jr=(0,i.createContext)({transformPagePoint:e=>e,isStatic:!1,reducedMotion:"never"}),Qr=(0,i.createContext)({});const Zr=(0,i.createContext)({strict:!1});function Kr(e,t,n,r){const a=(0,i.useContext)(Qr).visualElement,s=(0,i.useContext)(Zr),o=(0,i.useContext)(Or),l=(0,i.useContext)(Jr).reducedMotion,c=(0,i.useRef)();r=r||s.renderer,!c.current&&r&&(c.current=r(e,{visualState:t,parent:a,props:n,presenceId:o?o.id:void 0,blockInitialAnimation:!!o&&
2!1===o.initial,reducedMotionConfig:l}));const u=c.current;return Dr(()=>{u&&u.render()}),Dr(()=>{u&&u.animationState&&u.animationState.animateChanges()}),Dr(()=>()=>u&&u.notify("Unmount"),[]),u}function $r(e){return"object"===typeof e&&Object.prototype.hasOwnProperty.call(e,"current")}function ei(e){return"string"===typeof e||Array.isArray(e)}function ti(e){return"object"===typeof e&&"function"===typeof e.start}const ni=["initial","animate","exit","whileHover","whileDrag","whileTap","whileFocus","whileInView"];function ri(e){return ti(e.animate)||ni.some(t=>ei(e[t]))}function ii(e){return Boolean(ri(e)||e.variants)}function ai(e){const{initial:t,animate:n}=function(e,t){if(ri(e)){const{initial:t,animate:n}=e;return{initial:!1===t||ei(t)?t:void 0,animate:ei(n)?n:void 0}}return!1!==e.inherit?t:{}}(e,(0,i.useContext)(Qr));return(0,i.useMemo)(()=>({initial:t,animate:n}),[si(t),si(n)])}function si(e){return Array.isArray(e)?e.join(" "):e}const oi=e=>({isEnabled:t=>e.some(e=>!!t[e])}),li={measureLayout:oi(["layout","layoutId","drag"]),animation:oi(["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"]),exit:oi(["exit"]),drag:oi(["drag","dragControls"]),focus:oi(["whileFocus"]),hover:oi(["whileHover","onHoverStart","onHoverEnd"]),tap:oi(["whileTap","onTap","onTapStart","onTapCancel"]),pan:oi(["onPan","onPanStart","onPanSessionStart","onPanEnd"]),inView:oi(["whileInView","onViewportEnter","onViewportLeave"])};const ci={hasAnimatedSinceResize:!0,hasEverUpdated:!1};let ui=1;class di extends i.Component{getSnapshotBeforeUpdate(){const{visualElement:e,props:t}=this.props;return e&&e.setProps(t),null}componentDidUpdate(){}render(){return this.props.children}}const hi=(0,i.createContext)({}),pi=Symbol.for("motionComponentSymbol");function fi(e){let{preloadedFeatures:t,createVisualElement:n,projectionNodeConstructor:r,useRender:a,useVisualState:s,Component:o}=e;t&&function(e){for(const t in e)"projectionNodeConstructor"===t?li.projectionNodeConstructor=e[t]:li[t].Component=e[t]}(t);const l=(0,i.forwardRef)(function(e,l){const c=Oe(Oe(Oe({},(0,i.useContext)(Jr)),e),{},{layoutId:mi(e)}),{isStatic:u}=c;let d=null;const h=ai(e),p=u?void 0:jr(()=>{if(ci.hasEverUpdated)return ui++}),f=s(e,u);if(!u&&Ir){h.visualElement=Kr(o,f,c,n);const e=(0,i.useContext)(Zr).strict,a=(0,i.useContext)(hi);h.visualElement&&(d=h.visualElement.loadFeatures(c,e,t,p,r||li.projectionNodeConstructor,a))}return i.createElement(di,{visualElement:h.visualElement,props:c},d,i.createElement(Qr.Provider,{value:h},a(o,e,p,function(e,t,n){return(0,i.useCallback)(r=>{r&&e.mount&&e.mount(r),t&&(r?t.mount(r):t.unmount()),n&&("function"===typeof n?n(r):$r(n)&&(n.current=r))},[t])}(f,h.visualElement,l),f,u,h.visualElement)))});return l[pi]=o,l}function mi(e){let{layoutId:t}=e;const n=(0,i.useContext)(Hr).id;return n&&void 0!==t?n+"-"+t:t}function gi(e){function t(t){return fi(e(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}))}if("undefined"===typeof Proxy)return t;const n=new Map;return new Proxy(t,{get:(e,r)=>(n.has(r)||n.set(r,t(r)),n.get(r))})}const vi=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function yi(e){return"string"===typeof e&&!e.includes("-")&&!!(vi.indexOf(e)>-1||/[A-Z]/.test(e))}const xi={};const bi=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],wi=new Set(bi);function _i(e,t){let{layout:n,layoutId:r}=t;return wi.has(e)||e.startsWith("origin")||(n||void 0!==r)&&(!!xi[e]||"opacity"===e)}const Si=e=>!!(null===e||void 0===e?void 0:e.getVelocity),Mi={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Ei=(e,t)=>bi.indexOf(e)-bi.indexOf(t);function Ti(e){return e.startsWith("--")}const Ai=(e,t)=>t&&"number"===typeof e?t.transform(e):e,Ci=(e,t,n)=>Math.min(Math.max(n,e),t),Pi={test:e=>"number"===typeof e,parse:parseFloat,transform:e=>e},Ni=Oe(Oe({},Pi),{},{transform:e=>Ci(0,1,e)}),Ri=Oe(Oe({},Pi),{},{default:1}),Li=e=>
2Math.round(1e5*e)/1e5,ki=/(-)?([\d]*\.?[\d])+/g,Ii=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,Di=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function zi(e){return"string"===typeof e}const Oi=e=>({test:t=>zi(t)&&t.endsWith(e)&&1===t.split(" ").length,parse:parseFloat,transform:t=>"".concat(t).concat(e)}),ji=Oi("deg"),Bi=Oi("%"),Fi=Oi("px"),Ui=Oi("vh"),Vi=Oi("vw"),Hi=Oe(Oe({},Bi),{},{parse:e=>Bi.parse(e)/100,transform:e=>Bi.transform(100*e)}),Wi=Oe(Oe({},Pi),{},{transform:Math.round}),Gi={borderWidth:Fi,borderTopWidth:Fi,borderRightWidth:Fi,borderBottomWidth:Fi,borderLeftWidth:Fi,borderRadius:Fi,radius:Fi,borderTopLeftRadius:Fi,borderTopRightRadius:Fi,borderBottomRightRadius:Fi,borderBottomLeftRadius:Fi,width:Fi,maxWidth:Fi,height:Fi,maxHeight:Fi,size:Fi,top:Fi,right:Fi,bottom:Fi,left:Fi,padding:Fi,paddingTop:Fi,paddingRight:Fi,paddingBottom:Fi,paddingLeft:Fi,margin:Fi,marginTop:Fi,marginRight:Fi,marginBottom:Fi,marginLeft:Fi,rotate:ji,rotateX:ji,rotateY:ji,rotateZ:ji,scale:Ri,scaleX:Ri,scaleY:Ri,scaleZ:Ri,skew:ji,skewX:ji,skewY:ji,distance:Fi,translateX:Fi,translateY:Fi,translateZ:Fi,x:Fi,y:Fi,z:Fi,perspective:Fi,transformPerspective:Fi,opacity:Ni,originX:Hi,originY:Hi,originZ:Fi,zIndex:Wi,fillOpacity:Ni,strokeOpacity:Ni,numOctaves:Wi};function qi(e,t,n,r){const{style:i,vars:a,transform:s,transformKeys:o,transformOrigin:l}=e;o.length=0;let c=!1,u=!1,d=!0;for(const h in t){const e=t[h];if(Ti(h)){a[h]=e;continue}const n=Gi[h],r=Ai(e,n);if(wi.has(h)){if(c=!0,s[h]=r,o.push(h),!d)continue;e!==(n.default||0)&&(d=!1)}else h.startsWith("origin")?(u=!0,l[h]=r):i[h]=r}if(t.transform||(c||r?i.transform=function(e,t,n,r){let{transform:i,transformKeys:a}=e,{enableHardwareAcceleration:s=!0,allowTransformNone:o=!0}=t,l="";a.sort(Ei);for(const c of a)l+="".concat(Mi[c]||c,"(").concat(i[c],") ");return s&&!i.z&&(l+="translateZ(0)"),l=l.trim(),r?l=r(i,n?"":l):o&&n&&(l="none"),l}(e,n,d,r):i.transform&&(i.transform="none")),u){const{originX:e="50%",originY:t="50%",originZ:n=0}=l;i.transformOrigin="".concat(e," ").concat(t," ").concat(n)}}const Xi=()=>({style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}});function Yi(e,t,n){for(const r in t)Si(t[r])||_i(r,n)||(e[r]=t[r])}function Ji(e,t,n){const r={};return Yi(r,e.style||{},e),Object.assign(r,function(e,t,n){let{transformTemplate:r}=e;return(0,i.useMemo)(()=>{const e={style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}};return qi(e,t,{enableHardwareAcceleration:!n},r),Object.assign({},e.vars,e.style)},[t])}(e,t,n)),e.transformValues?e.transformValues(r):r}function Qi(e,t,n){const r={},i=Ji(e,t,n);return e.drag&&!1!==e.dragListener&&(r.draggable=!1,i.userSelect=i.WebkitUserSelect=i.WebkitTouchCallout="none",i.touchAction=!0===e.drag?"none":"pan-".concat("x"===e.drag?"y":"x")),r.style=i,r}const Zi=new Set(["initial","style","values","variants","transition","transformTemplate","transformValues","custom","inherit","layout","layoutId","layoutDependency","onLayoutAnimationStart","onLayoutAnimationComplete","onLayoutMeasure","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","drag","dragControls","dragListener","dragConstraints","dragDirectionLock","dragSnapToOrigin","_dragX","_dragY","dragElastic","dragMomentum","dragPropagation","dragTransition","onHoverStart","onHoverEnd","layoutScroll","whileInView","onViewportEnter","onViewportLeave","viewport","whileTap","onTap","onTapStart","onTapCancel","animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView","onPan","onPanStart","onPanSessionStart","onPanEnd"]);function Ki(e){return Zi.has(e)}let $i=e=>!Ki(e);try{(ea=require("@emotion/is-prop-valid").default)&&($i=e=>e.startsWith("on")?!Ki(e):ea(e))}catch(IA){}var ea;function ta(e,t,n){return"string"===typeof e?e:Fi.transform(t+n*e)}const na={offset:"stroke-dashoffset",array:"stroke-dasharray"},ra={offset:"strokeDashoffset",array:"strokeDasharray"};const ia=["attrX","attrY","originX","originY","pathLength","pathSpacing","pathOffset"];function aa(e,t,n,r,i){let{attrX:a,attrY:s,originX:o,originY:l,pathLength:c,pathSpacing:u=1,pathOffset:d=0}=t;if(qi(e,je(t,ia),n,i),r)return void(e.style.viewBox&&(e.attrs.viewB
2ox=e.style.viewBox));e.attrs=e.style,e.style={};const{attrs:h,style:p,dimensions:f}=e;h.transform&&(f&&(p.transform=h.transform),delete h.transform),f&&(void 0!==o||void 0!==l||p.transform)&&(p.transformOrigin=function(e,t,n){const r=ta(t,e.x,e.width),i=ta(n,e.y,e.height);return"".concat(r," ").concat(i)}(f,void 0!==o?o:.5,void 0!==l?l:.5)),void 0!==a&&(h.x=a),void 0!==s&&(h.y=s),void 0!==c&&function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];e.pathLength=1;const a=i?na:ra;e[a.offset]=Fi.transform(-r);const s=Fi.transform(t),o=Fi.transform(n);e[a.array]="".concat(s," ").concat(o)}(h,c,u,d,!1)}const sa=()=>Oe(Oe({},{style:{},transform:{},transformKeys:[],transformOrigin:{},vars:{}}),{},{attrs:{}}),oa=e=>"string"===typeof e&&"svg"===e.toLowerCase();function la(e,t,n,r){const a=(0,i.useMemo)(()=>{const n=sa();return aa(n,t,{enableHardwareAcceleration:!1},oa(r),e.transformTemplate),Oe(Oe({},n.attrs),{},{style:Oe({},n.style)})},[t]);if(e.style){const t={};Yi(t,e.style,e),a.style=Oe(Oe({},t),a.style)}return a}function ca(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return(t,n,r,a,s,o)=>{let{latestValues:l}=s;const c=(yi(t)?la:Qi)(n,l,o,t),u=function(e,t,n){const r={};for(const i in e)($i(i)||!0===n&&Ki(i)||!t&&!Ki(i)||e.draggable&&i.startsWith("onDrag"))&&(r[i]=e[i]);return r}(n,"string"===typeof t,e),d=Oe(Oe(Oe({},u),c),{},{ref:a});return r&&(d["data-projection-id"]=r),(0,i.createElement)(t,d)}}const ua=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase();function da(e,t,n,r){let{style:i,vars:a}=t;Object.assign(e.style,i,r&&r.getProjectionStyles(n));for(const s in a)e.style.setProperty(s,a[s])}const ha=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function pa(e,t,n,r){da(e,t,void 0,r);for(const i in t.attrs)e.setAttribute(ha.has(i)?i:ua(i),t.attrs[i])}function fa(e){const{style:t}=e,n={};for(const r in t)(Si(t[r])||_i(r,e))&&(n[r]=t[r]);return n}function ma(e){const t=fa(e);for(const n in e)if(Si(e[n])){t["x"===n||"y"===n?"attr"+n.toUpperCase():n]=e[n]}return t}function ga(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return"function"===typeof t&&(t=t(void 0!==n?n:e.custom,r,i)),"string"===typeof t&&(t=e.variants&&e.variants[t]),"function"===typeof t&&(t=t(void 0!==n?n:e.custom,r,i)),t}const va=e=>Array.isArray(e),ya=e=>va(e)?e[e.length-1]||0:e;function xa(e){const t=Si(e)?e.get():e;return n=t,Boolean(n&&"object"===typeof n&&n.mix&&n.toValue)?t.toValue():t;var n}const ba=["transitionEnd","transition"];const wa=e=>(t,n)=>{const r=(0,i.useContext)(Qr),a=(0,i.useContext)(Or),s=()=>function(e,t,n,r){let{scrapeMotionValuesFromProps:i,createRenderState:a,onMount:s}=e;const o={latestValues:_a(t,n,r,i),renderState:a()};return s&&(o.mount=e=>s(t,e,o)),o}(e,t,r,a);return n?s():jr(s)};function _a(e,t,n,r){const i={},a=r(e);for(const h in a)i[h]=xa(a[h]);let{initial:s,animate:o}=e;const l=ri(e),c=ii(e);t&&c&&!l&&!1!==e.inherit&&(void 0===s&&(s=t.initial),void 0===o&&(o=t.animate));let u=!!n&&!1===n.initial;u=u||!1===s;const d=u?o:s;if(d&&"boolean"!==typeof d&&!ti(d)){(Array.isArray(d)?d:[d]).forEach(t=>{const n=ga(e,t);if(!n)return;const{transitionEnd:r,transition:a}=n,s=je(n,ba);for(const e in s){let t=s[e];if(Array.isArray(t)){t=t[u?t.length-1:0]}null!==t&&(i[e]=t)}for(const e in r)i[e]=r[e]})}return i}const Sa={useVisualState:wa({scrapeMotionValuesFromProps:ma,createRenderState:sa,onMount:(e,t,n)=>{let{renderState:r,latestValues:i}=n;try{r.dimensions="function"===typeof t.getBBox?t.getBBox():t.getBoundingClientRect()}catch(zC){r.dimensions={x:0,y:0,width:0,height:0}}aa(r,i,{enableHardwareAcceleration:!1},oa(t.tagName),e.transformTemplate),pa(t,r)}})},Ma={useVisualState:wa({scrapeMotionValuesFromProps:fa,createRenderState:Xi})};var Ea;function Ta(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{passive:!0};return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n)}function Aa(e,t,n,r){(0,i.useEffect)(()=>{const i=e.current;if(n&&i)return Ta(i,t,n,r)},[e,t,n,r])}function Ca(e){return"undefined"!==typeof PointerEvent&&e instanceof PointerEvent?!("mouse"!==e.pointerType):e instanceof MouseEvent}function Pa(e){return!!e.touches}!function(e){e.Animate="animate",e.Hover="whileHover",e.Tap="whileTap",e.Drag="whileDrag",e.Focus="whileFocus",e.InView="whileInView",e.Exit="exit"}(Ea||(Ea={}));const Na={pageX:0,pageY:0};function Ra(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"page";const n=e.touches[0]||e.changedTouches[0]||Na;return{x:n[t+"X"],y:n[t+"Y"]}}function La(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"page";return{x:e[t+"X"],y:e[t+"Y"]}}function ka(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"page";return{point:Pa(e)?Ra(e,t):La(e,t)}}const Ia=function(e){const t=t=>e(t,ka(t));return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?(n=t,e=>{const t=e instanceof MouseEvent;(!t||t&&0===e.button)&&n(e)}):t;var n}
2,Da={pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointercancel:"mousecancel",pointerover:"mouseover",pointerout:"mouseout",pointerenter:"mouseenter",pointerleave:"mouseleave"},za={pointerdown:"touchstart",pointermove:"touchmove",pointerup:"touchend",pointercancel:"touchcancel"};function Oa(e){return Ir&&null===window.onpointerdown?e:Ir&&null===window.ontouchstart?za[e]:Ir&&null===window.onmousedown?Da[e]:e}function ja(e,t,n,r){return Ta(e,Oa(t),Ia(n,"pointerdown"===t),r)}function Ba(e,t,n,r){return Aa(e,Oa(t),n&&Ia(n,"pointerdown"===t),r)}function Fa(e){let t=null;return()=>{const n=()=>{t=null};return null===t&&(t=e,n)}}const Ua=Fa("dragHorizontal"),Va=Fa("dragVertical");function Ha(e){let t=!1;if("y"===e)t=Va();else if("x"===e)t=Ua();else{const e=Ua(),n=Va();e&&n?t=()=>{e(),n()}:(e&&e(),n&&n())}return t}function Wa(){const e=Ha(!0);return!e||(e(),!1)}function Ga(e,t,n){return(r,i)=>{Ca(r)&&!Wa()&&(e.animationState&&e.animationState.setActive(Ea.Hover,t),n&&n(r,i))}}const qa=(e,t)=>!!t&&(e===t||qa(e,t.parentElement)),Xa=(e,t)=>n=>t(e(n)),Ya=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.reduce(Xa)};const Ja=["root"],Qa=new WeakMap,Za=new WeakMap,Ka=e=>{const t=Qa.get(e.target);t&&t(e)},$a=e=>{e.forEach(Ka)};
2function es(e,t,n){const r=function(e){let{root:t}=e,n=je(e,Ja);const r=t||document;Za.has(r)||Za.set(r,{});const i=Za.get(r),a=JSON.stringify(n);return i[a]||(i[a]=new IntersectionObserver($a,Oe({root:t},n))),i[a]}(t);return Qa.set(e,n),r.observe(e),()=>{Qa.delete(e),r.unobserve(e)}}const ts={some:0,all:1};function ns(e,t,n,r){let{root:a,margin:s,amount:o="some",once:l}=r;(0,i.useEffect)(()=>{if(!e||!n.current)return;const r={root:null===a||void 0===a?void 0:a.current,rootMargin:s,threshold:"number"===typeof o?o:ts[o]};return es(n.current,r,e=>{const{isIntersecting:r}=e;if(t.isInView===r)return;if(t.isInView=r,l&&!r&&t.hasEnteredView)return;r&&(t.hasEnteredView=!0),n.animationState&&n.animationState.setActive(Ea.InView,r);const i=n.getProps(),a=r?i.onViewportEnter:i.onViewportLeave;a&&a(e)})},[e,a,s,o])}function rs(e,t,n,r){let{fallback:a=!0}=r;(0,i.useEffect)(()=>{e&&a&&requestAnimationFrame(()=>{t.hasEnteredView=!0;const{onViewportEnter:e}=n.getProps();e&&e(null),n.animationState&&n.animationState.setActive(Ea.InView,!0)})},[e])}const is=e=>t=>(e(t),null),as={inView:is(function(e){let{visualElement:t,whileInView:n,onViewportEnter:r,onViewportLeave:a,viewport:s={}}=e;const o=(0,i.useRef)({hasEnteredView:!1,isInView:!1});let l=Boolean(n||r||a);s.once&&o.current.hasEnteredView&&(l=!1),("undefined"===typeof IntersectionObserver?rs:ns)(l,o.current,t,s)}),tap:is(function(e){let{onTap:t,onTapStart:n,onTapCancel:r,whileTap:a,visualElement:s}=e;const o=t||n||r||a,l=(0,i.useRef)(!1),c=(0,i.useRef)(null),u={passive:!(n||t||r||m)};function d(){c.current&&c.current(),c.current=null}function h(){return d(),l.current=!1,s.animationState&&s.animationState.setActive(Ea.Tap,!1),!Wa()}function p(e,n){h()&&(qa(s.current,e.target)?t&&t(e,n):r&&r(e,n))}function f(e,t){h()&&r&&r(e,t)}function m(e,t){d(),l.current||(l.current=!0,c.current=Ya(ja(window,"pointerup",p,u),ja(window,"pointercancel",f,u)),s.animationState&&s.animationState.setActive(Ea.Tap,!0),n&&n(e,t))}Ba(s,"pointerdown",o?m:void 0,u),Wr(d)}),focus:is(function(e){let{whileFocus:t,visualElement:n}=e;const{animationState:r}=n;Aa(n,"focus",t?()=>{r&&r.setActive(Ea.Focus,!0)}:void 0),Aa(n,"blur",t?()=>{r&&r.setActive(Ea.Focus,!1)}:void 0)}),hover:is(function(e){let{onHoverStart:t,onHoverEnd:n,whileHover:r,visualElement:i}=e;Ba(i,"pointerenter",t||r?Ga(i,!0,t):void 0,{passive:!t}),Ba(i,"pointerleave",n||r?Ga(i,!1,n):void 0,{passive:!n})})};function ss(){const e=(0,i.useContext)(Or);if(null===e)return[!0,null];const{isPresent:t,onExitComplete:n,register:r}=e,a=(0,i.useId)();(0,i.useEffect)(()=>r(a),[]);return!t&&n?[!1,()=>n&&n(a)]:[!0]}function os(e,t){if(!Array.isArray(t))return!1;const n=t.length;if(n!==e.length)return!1;for(let r=0;r<n;r++)if(t[r]!==e[r])return!1;return!0}const ls=e=>/^\-?\d*\.?\d+$/.test(e),cs=e=>/^0[^.\s]+$/.test(e);function us(e,t){-1===e.indexOf(t)&&e.push(t)}function ds(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}class hs{constructor(){this.subscriptions=[]}add(e){return us(this.subscriptions,e),()=>ds(this.subscriptions,e)}notify(e,t,n){const r=this.subscriptions.length;if(r)if(1===r)this.subscriptions[0](e,t,n);else for(let i=0;i<r;i++){const r=this.subscriptions[i];r&&r(e,t,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function ps(e,t){return t?e*(1e3/t):0}class fs{constructor(e){var t=this;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r;this.version="7.10.3",this.timeDelta=0,this.lastUpdated=0,this.canTrackVelocity=!1,this.events={},this.updateAndNotify=function(e){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t.prev=t.current,t.current=e;const{delta:r,timestamp:i}=_r;t.lastUpdated!==i&&(t.timeDelta=r,t.lastUpdated=i,Cr.postRender(t.scheduleVelocityCheck)),t.prev!==t.current&&t.events.change&&t.events.change.notify(t.current),t.events.velocityChange&&t.events.velocityChange.notify(t.getVelocity()),n&&t.events.renderRequest&&t.events.renderRequest.notify(t.current)},this.scheduleVelocityCheck=()=>Cr.postRender(this.velocityCheck),this.velocityCheck=e=>{let{timestamp:t}=e;t!==this.lastUpdated&&(this.prev=this.current,this.events.velocityChange&&this.events.velocityChange.notify(this.getVelocity()))},this.hasAnimated=!1,this.prev=this.current=e,this.canTrackVelocity=(r=this.current,!isNaN(parseFloat(r))),this.owner=n.owner}onChange(e){return this.on("change",e)}on(e,t){return this.events[e]||(this.events[e]=new hs),this.events[e].add(t)}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e){this.passiveEffect=e}set(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,t)}
2setWithVelocity(e,t,n){this.set(t),this.prev=e,this.timeDelta=n}get(){return this.current}getPrevious(){return this.prev}getVelocity(){return this.canTrackVelocity?ps(parseFloat(this.current)-parseFloat(this.prev),this.timeDelta):0}start(e){return this.stop(),new Promise(t=>{this.hasAnimated=!0,this.stopAnimation=e(t),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.stopAnimation&&(this.stopAnimation(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.stopAnimation}clearAnimation(){this.stopAnimation=null}destroy(){this.clearListeners(),this.stop()}}function ms(e,t){return new fs(e,t)}const gs=(e,t)=>n=>Boolean(zi(n)&&Di.test(n)&&n.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(n,t)),vs=(e,t,n)=>r=>{if(!zi(r))return r;const[i,a,s,o]=r.match(ki);return{[e]:parseFloat(i),[t]:parseFloat(a),[n]:parseFloat(s),alpha:void 0!==o?parseFloat(o):1}},ys=Oe(Oe({},Pi),{},{transform:e=>Math.round((e=>Ci(0,255,e))(e))}),xs={test:gs("rgb","red"),parse:vs("red","green","blue"),transform:e=>{let{red:t,green:n,blue:r,alpha:i=1}=e;return"rgba("+ys.transform(t)+", "+ys.transform(n)+", "+ys.transform(r)+", "+Li(Ni.transform(i))+")"}};const bs={test:gs("#"),parse:function(e){let t="",n="",r="",i="";return e.length>5?(t=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),i=e.substring(7,9)):(t=e.substring(1,2),n=e.substring(2,3),r=e.substring(3,4),i=e.substring(4,5),t+=t,n+=n,r+=r,i+=i),{red:parseInt(t,16),green:parseInt(n,16),blue:parseInt(r,16),alpha:i?parseInt(i,16)/255:1}},transform:xs.transform},ws={test:gs("hsl","hue"),parse:vs("hue","saturation","lightness"),transform:e=>{let{hue:t,saturation:n,lightness:r,alpha:i=1}=e;return"hsla("+Math.round(t)+", "+Bi.transform(Li(n))+", "+Bi.transform(Li(r))+", "+Li(Ni.transform(i))+")"}},_s={test:e=>xs.test(e)||bs.test(e)||ws.test(e),parse:e=>xs.test(e)?xs.parse(e):ws.test(e)?ws.parse(e):bs.parse(e),transform:e=>zi(e)?e:e.hasOwnProperty("red")?xs.transform(e):ws.transform(e)},Ss="${c}",Ms="${n}";function Es(e){"number"===typeof e&&(e="".concat(e));const t=[];let n=0,r=0;const i=e.match(Ii);i&&(n=i.length,e=e.replace(Ii,Ss),t.push(...i.map(_s.parse)));const a=e.match(ki);return a&&(r=a.length,e=e.replace(ki,Ms),t.push(...a.map(Pi.parse))),{values:t,numColors:n,numNumbers:r,tokenised:e}}function Ts(e){return Es(e).values}function As(e){const{values:t,numColors:n,tokenised:r}=Es(e),i=t.length;return e=>{let t=r;for(let r=0;r<i;r++)t=t.replace(r<n?Ss:Ms,r<n?_s.transform(e[r]):Li(e[r]));return t}}const Cs=e=>"number"===typeof e?0:e;const Ps={test:function(e){var t,n;return isNaN(e)&&zi(e)&&((null===(t=e.match(ki))||void 0===t?void 0:t.length)||0)+((null===(n=e.match(Ii))||void 0===n?void 0:n.length)||0)>0},parse:Ts,createTransformer:As,getAnimatableNone:function(e){const t=Ts(e);return As(e)(t.map(Cs))}},Ns=new Set(["brightness","contrast","saturate","opacity"]);function Rs(e){const[t,n]=e.slice(0,-1).split("(");if("drop-shadow"===t)return e;const[r]=n.match(ki)||[];if(!r)return e;const i=n.replace(r,"");let a=Ns.has(t)?1:0;return r!==n&&(a*=100),t+"("+a+i+")"}const Ls=/([a-z-]*)\(.*?\)/g,ks=Oe(Oe({},Ps),{},{getAnimatableNone:e=>{const t=e.match(Ls);return t?t.map(Rs).join(" "):e}}),Is=Oe(Oe({},Gi),{},{color:_s,backgroundColor:_s,outlineColor:_s,fill:_s,stroke:_s,borderColor:_s,borderTopColor:_s,borderRightColor:_s,borderBottomColor:_s,borderLeftColor:_s,filter:ks,WebkitFilter:ks}),Ds=e=>Is[e];function zs(e,t){var n;let r=Ds(e);return r!==ks&&(r=Ps),null===(n=r.getAnimatableNone)||void 0===n?void 0:n.call(r,t)}const Os=e=>t=>t.test(e),js=[Pi,Fi,Bi,ji,Vi,Ui,{test:e=>"auto"===e,parse:e=>e}],Bs=e=>js.find(Os(e)),Fs=[...js,_s,Ps],Us=e=>Fs.find(Os(e));function Vs(e,t,n){const r=e.getProps();return ga(r,t,void 0!==n?n:r.custom,function(e){const t={};return e.values.forEach((e,n)=>t[n]=e.get()),t}(e),function(e){const t={};return e.values.forEach((e,n)=>t[n]=e.getVelocity()),t}(e))}const Hs=["transitionEnd","transition"];function Ws(e,t,n){e.hasValue(t)?e.getValue(t).set(n):e.addValue(t,ms(n))}function Gs(e,t){const n=Vs(e,t);let r=n?e.makeTargetAnimatable(n,!1):{},{transitionEnd:i={},transition:a={}}=r,s=je(r,Hs);s=Oe(Oe({},s),i);for(const o in s){Ws(e,o,ya(s[o]))}}function qs(e,t){if(!t)return;return(t[e]||t.default||t).from}function Xs(e){return Boolean(Si(e)&&e.add)}function Ys(e,t){const{MotionAppearAnimations:n}=window,r=((e,t)=>"".concat(e,": ").concat(t))(e,wi.has(t)?"transform":t),i=n&&n.get(r);return i?(Cr.render(()=>
2{try{i.cancel(),n.delete(r)}catch(zC){}}),i.currentTime||0):0}const Js="data-"+ua("framerAppearId");var Qs=function(){};const Zs=e=>1e3*e,Ks=!1,$s=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,eo=e=>t=>1-e(1-t),to=e=>e*e,no=eo(to),ro=$s(to),io=(e,t,n)=>-n*e+n*t+e;function ao(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}const so=(e,t,n)=>{const r=e*e;return Math.sqrt(Math.max(0,n*(t*t-r)+r))},oo=[bs,xs,ws];function lo(e){const t=(n=e,oo.find(e=>e.test(n)));var n;Boolean(t),"'".concat(e,"' is not an animatable color. Use the equivalent color code instead.");let r=t.parse(e);return t===ws&&(r=function(e){let{hue:t,saturation:n,lightness:r,alpha:i}=e;t/=360,n/=100,r/=100;let a=0,s=0,o=0;if(n){const e=r<.5?r*(1+n):r+n-r*n,i=2*r-e;a=ao(i,e,t+1/3),s=ao(i,e,t),o=ao(i,e,t-1/3)}else a=s=o=r;return{red:Math.round(255*a),green:Math.round(255*s),blue:Math.round(255*o),alpha:i}}(r)),r}const co=(e,t)=>{const n=lo(e),r=lo(t),i=Oe({},n);return e=>(i.red=so(n.red,r.red,e),i.green=so(n.green,r.green,e),i.blue=so(n.blue,r.blue,e),i.alpha=io(n.alpha,r.alpha,e),xs.transform(i))};function uo(e,t){return"number"===typeof e?n=>io(e,t,n):_s.test(e)?co(e,t):fo(e,t)}const ho=(e,t)=>{const n=[...e],r=n.length,i=e.map((e,n)=>uo(e,t[n]));return e=>{for(let t=0;t<r;t++)n[t]=i[t](e);return n}},po=(e,t)=>{const n=Oe(Oe({},e),t),r={};for(const i in n)void 0!==e[i]&&void 0!==t[i]&&(r[i]=uo(e[i],t[i]));return e=>{for(const t in r)n[t]=r[t](e);return n}},fo=(e,t)=>{const n=Ps.createTransformer(t),r=Es(e),i=Es(t);return r.numColors===i.numColors&&r.numNumbers>=i.numNumbers?Ya(ho(r.values,i.values),n):("Complex values '".concat(e,"' and '").concat(t,"' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition."),n=>"".concat(n>0?t:e))},mo=(e,t,n)=>{const r=t-e;return 0===r?1:(n-e)/r},go=(e,t)=>n=>io(e,t,n);function vo(e,t,n){const r=[],i=n||("number"===typeof(a=e[0])?go:"string"===typeof a?_s.test(a)?co:fo:Array.isArray(a)?ho:"object"===typeof a?po:go);var a;const s=e.length-1;for(let o=0;o<s;o++){let n=i(e[o],e[o+1]);if(t){const e=Array.isArray(t)?t[o]:t;n=Ya(e,n)}r.push(n)}return r}function yo(e,t){let{clamp:n=!0,ease:r,mixer:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=e.length;t.length,!r||!Array.isArray(r)||r.length,e[0]>e[a-1]&&(e=[...e].reverse(),t=[...t].reverse());const s=vo(t,r,i),o=s.length,l=t=>{let n=0;if(o>1)for(;n<e.length-2&&!(t<e[n+1]);n++);const r=mo(e[n],e[n+1],t);return s[n](r)};return n?t=>l(Ci(e[0],e[a-1],t)):l}const xo=e=>e,bo=(e,t,n)=>(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e;function wo(e,t,n,r){if(e===t&&n===r)return xo;const i=t=>function(e,t,n,r,i){let a,s,o=0;do{s=t+(n-t)/2,a=bo(s,r,i)-e,a>0?n=s:t=s}while(Math.abs(a)>1e-7&&++o<12);return s}(t,0,1,e,n);return e=>0===e||1===e?e:bo(i(e),t,r)}const _o=e=>1-Math.sin(Math.acos(e)),So=eo(_o),Mo=$s(So),Eo=wo(.33,1.53,.69,.99),To=eo(Eo),Ao=$s(To),Co={linear:xo,easeIn:to,easeInOut:ro,easeOut:no,circIn:_o,circInOut:Mo,circOut:So,backIn:To,backInOut:Ao,backOut:Eo,anticipate:e=>(e*=2)<1?.5*To(e):.5*(2-Math.pow(2,-10*(e-1)))},Po=e=>{if(Array.isArray(e)){e.length;const[t,n,r,i]=e;return wo(t,n,r,i)}return"string"===typeof e?("Invalid easing type '".concat(e,"'"),Co[e]):e};function No(e){let{keyframes:t,ease:n=ro,times:r,duration:i=300}=e;t=[...t];const a=No[0],s=(e=>Array.isArray(e)&&"number"!==typeof e[0])(n)?n.map(Po):Po(n),o={done:!1,value:a},l=function(e,t){return e.map(e=>e*t)}(r&&r.length===No.length?r:function(e){const t=e.length;return e.map((e,n)=>0!==n?n/(t-1):0)}(t),i);function c(){return yo(l,t,{ease:Array.isArray(s)?s:(e=t,n=s,e.map(()=>n||ro).splice(0,e.length-1))});var e,n}let u=c();return{next:e=>(o.value=u(e),o.done=e>=i,o),flipTarget:()=>{t.reverse(),u=c()}}}const Ro=.001;function Lo(e){let t,n,{duration:r=800,bounce:i=.25,velocity:a=0,mass:s=1}=e,o=1-i;o=Ci(.05,1,o),r=Ci(.01,10,r/1e3),o<1?(t=e=>{const t=e*o,n=t*r,i=t-a,s=Io(e,o),l=Math.exp(-n);return Ro-i/s*l},n=e=>{const n=e*o*r,i=n*a+a,s=Math.pow(o,2)*Math.pow(e,2)*r,l=Math.exp(-n),c=Io(Math.pow(e,2),o);return(-t(e)+Ro>0?-1:1)*((i-s)*l)/c}):(t=e=>Math.exp(-e*r)*((e-a)*r+1)-.001,n=e=>Math.exp(-e*r)*(r*r*(a-e)));const l=function(e,t,n){let r=n;for(let i=1;i<ko;i++)r-=e(r)/t(r);return r}(t,n,5/r);if(r*=1e3,isNaN(l))return{stiffness:100,damping:10,duration:r};{const e=Math.pow(l,2)*s;return{stiffness:e,damping:2*o*Math.sqrt(s*e),duration:r}}}const ko=12;function Io(e,t){return e*Math.sqrt(1-t*t)}
2const Do=["keyframes","restSpeed","restDelta"],zo=["duration","bounce"],Oo=["stiffness","damping","mass"];function jo(e,t){return t.some(t=>void 0!==e[t])}function Bo(e){let{keyframes:t,restSpeed:n=2,restDelta:r=.01}=e,i=je(e,Do),a=t[0],s=t[t.length-1];const o={done:!1,value:a},{stiffness:l,damping:c,mass:u,velocity:d,duration:h,isResolvedFromDuration:p}=function(e){let t=Oe({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!jo(e,Oo)&&jo(e,zo)){const n=Lo(e);t=Oe(Oe(Oe({},t),n),{},{velocity:0,mass:1}),t.isResolvedFromDuration=!0}return t}(i);let f=Fo,m=d?-d/1e3:0;const g=c/(2*Math.sqrt(l*u));function v(){const e=s-a,t=Math.sqrt(l/u)/1e3;if(void 0===r&&(r=Math.min(Math.abs(s-a)/100,.4)),g<1){const n=Io(t,g);f=r=>{const i=Math.exp(-g*t*r);return s-i*((m+g*t*e)/n*Math.sin(n*r)+e*Math.cos(n*r))}}else if(1===g)f=n=>s-Math.exp(-t*n)*(e+(m+t*e)*n);else{const n=t*Math.sqrt(g*g-1);f=r=>{const i=Math.exp(-g*t*r),a=Math.min(n*r,300);return s-i*((m+g*t*e)*Math.sinh(a)+n*e*Math.cosh(a))/n}}}return v(),{next:e=>{const t=f(e);if(p)o.done=e>=h;else{let i=m;if(0!==e)if(g<1){const n=Math.max(0,e-5);i=ps(t-f(n),e-n)}else i=0;const a=Math.abs(i)<=n,l=Math.abs(s-t)<=r;o.done=a&&l}return o.value=o.done?s:t,o},flipTarget:()=>{m=-m,[a,s]=[s,a],v()}}}Bo.needsInterpolation=(e,t)=>"string"===typeof e||"string"===typeof t;const Fo=e=>0;const Uo=["duration","driver","elapsed","repeat","repeatType","repeatDelay","keyframes","autoplay","onPlay","onStop","onComplete","onRepeat","onUpdate","type"],Vo={decay:function(e){let{keyframes:t=[0],velocity:n=0,power:r=.8,timeConstant:i=350,restDelta:a=.5,modifyTarget:s}=e;const o=t[0],l={done:!1,value:o};let c=r*n;const u=o+c,d=void 0===s?u:s(u);return d!==u&&(c=d-o),{next:e=>{const t=-c*Math.exp(-e/i);return l.done=!(t>a||t<-a),l.value=l.done?d:d+t,l},flipTarget:()=>{}}},keyframes:No,tween:No,spring:Bo};function Ho(e,t){return e-t-(arguments.length>2&&void 0!==arguments[2]?arguments[2]:0)}const Wo=e=>{const t=t=>{let{delta:n}=t;return e(n)};return{start:()=>Cr.update(t,!0),stop:()=>Pr.update(t)}};function Go(e){let{duration:t,driver:n=Wo,elapsed:r=0,repeat:i=0,repeatType:a="loop",repeatDelay:s=0,keyframes:o,autoplay:l=!0,onPlay:c,onStop:u,onComplete:d,onRepeat:h,onUpdate:p,type:f="keyframes"}=e,m=je(e,Uo);var g,v;let y,x,b,w=0,_=t,S=!1,M=!0;const E=Vo[o.length>2?"keyframes":f],T=o[0],A=o[o.length-1];(null===(v=(g=E).needsInterpolation)||void 0===v?void 0:v.call(g,T,A))&&(b=yo([0,100],[T,A],{clamp:!1}),o=[0,100]);const C=E(Oe(Oe({},m),{},{duration:t,keyframes:o}));function P(){w++,"reverse"===a?(M=w%2===0,r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return arguments.length>3&&void 0!==arguments[3]&&!arguments[3]?t-(e-t)+n:Ho(t+-e,t,n)}(r,_,s,M)):(r=Ho(r,_,s),"mirror"===a&&C.flipTarget()),S=!1,h&&h()}function N(e){if(M||(e=-e),r+=e,!S){const e=C.next(Math.max(0,r));x=e.value,b&&(x=b(x)),S=M?e.done:r<=0}p&&p(x),S&&(0===w&&(_=void 0!==_?_:r),w<i?function(e,t,n,r){return r?e>=t+n:e<=-n}(r,_,s,M)&&P():(y.stop(),d&&d()))}return l&&(c&&c(),y=n(N),y.start()),{stop:()=>{u&&u(),y.stop()},sample:e=>C.next(Math.max(0,e))}}const qo=e=>{let[t,n,r,i]=e;return"cubic-bezier(".concat(t,", ").concat(n,", ").concat(r,", ").concat(i,")")},Xo={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:qo([0,.65,.55,1]),circOut:qo([.55,0,1,.45]),backIn:qo([.31,.01,.66,-.59]),backOut:qo([.33,1.53,.69,.99])};function Yo(e){if(e)return Array.isArray(e)?qo(e):Xo[e]}const Jo=["onUpdate","onComplete"];function Qo(e,t,n){let{onUpdate:r,onComplete:i}=n,a=je(n,Jo),{keyframes:s,duration:o=.3,elapsed:l=0,ease:c}=a;if("spring"===a.type||!(!(u=a.ease)||Array.isArray(u)||"string"===typeof u&&Xo[u])){const e=Go(a);let t={done:!1,value:s[0]};const n=[];let r=0;for(;!t.done;
2)t=e.sample(r),n.push(t.value),r+=10;s=n,o=r-10,c="linear"}var u;const d=function(e,t,n){let{delay:r=0,duration:i,repeat:a=0,repeatType:s="loop",ease:o,times:l}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return e.animate({[t]:n,offset:l},{delay:r,duration:i,easing:Yo(o),fill:"both",iterations:a+1,direction:"reverse"===s?"alternate":"normal"})}(e.owner.current,t,s,Oe(Oe({},a),{},{delay:-l,duration:o,ease:c}));return d.onfinish=()=>{e.set(s[s.length-1]),i&&i()},()=>{const{currentTime:t}=d;if(t){const n=Go(a);e.setWithVelocity(n.sample(t-10).value,n.sample(t).value,10)}Cr.update(()=>d.cancel())}}function Zo(e,t){const n=performance.now(),r=i=>{let{timestamp:a}=i;const s=a-n;s>=t&&(Pr.read(r),e(s-t))};return Cr.read(r,!0),()=>Pr.read(r)}function Ko(e){let{keyframes:t,elapsed:n,onUpdate:r,onComplete:i}=e;const a=()=>(r&&r(t[t.length-1]),i&&i(),()=>{});return n?Zo(a,-n):a()}const $o=()=>({type:"spring",stiffness:500,damping:25,restSpeed:10}),el=e=>({type:"spring",stiffness:550,damping:0===e?2*Math.sqrt(550):30,restSpeed:10}),tl=()=>({type:"keyframes",ease:"linear",duration:.3}),nl={type:"keyframes",duration:.8},rl={x:$o,y:$o,z:$o,rotate:$o,rotateX:$o,rotateY:$o,rotateZ:$o,scaleX:el,scaleY:el,scale:el,opacity:tl,backgroundColor:tl,color:tl,default:el},il=(e,t)=>"zIndex"!==e&&(!("number"!==typeof t&&!Array.isArray(t))||!("string"!==typeof t||!Ps.test(t)||t.startsWith("url("))),al=["when","delay","delayChildren","staggerChildren","staggerDirection","repeat","repeatType","repeatDelay","from"];function sl(e){return 0===e||"string"===typeof e&&0===parseFloat(e)&&-1===e.indexOf(" ")}function ol(e){return"number"===typeof e?0:zs("",e)}function ll(e,t){return e[t]||e.default||e}const cl={waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate")},ul={},dl={};for(const n in cl)dl[n]=()=>(void 0===ul[n]&&(ul[n]=cl[n]()),ul[n]);const hl=new Set(["opacity"]),pl=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return i=>{const a=ll(r,e)||{},s=a.delay||r.delay||0;let{elapsed:o=0}=r;o-=Zs(s);const l=function(e,t,n,r){const i=il(t,n);let a=void 0!==r.from?r.from:e.get();return"none"===a&&i&&"string"===typeof n?a=zs(t,n):sl(a)&&"string"===typeof n?a=ol(n):!Array.isArray(n)&&sl(n)&&"string"===typeof a&&(n=ol(a)),Array.isArray(n)?(null===n[0]&&(n[0]=a),n):[a,n]}(t,e,n,a),c=l[0],u=l[l.length-1],d=il(e,c),h=il(e,u);"You are trying to animate ".concat(e,' from "').concat(c,'" to "').concat(u,'". ').concat(c," is not an animatable value - to enable this animation set ").concat(c," to a value animatable to ").concat(u," via the `style` property.");let p=Oe(Oe({keyframes:l,velocity:t.getVelocity()},a),{},{elapsed:o,onUpdate:e=>{t.set(e),a.onUpdate&&a.onUpdate(e)},onComplete:()=>{i(),a.onComplete&&a.onComplete()}});if(!d||!h||Ks||!1===a.type)return Ko(p);if("inertia"===a.type){const e=function(e){let{keyframes:t,velocity:n=0,min:r,max:i,power:a=.8,timeConstant:s=750,bounceStiffness:o=500,bounceDamping:l=10,restDelta:c=1,modifyTarget:u,driver:d,onUpdate:h,onComplete:p,onStop:f}=e;const m=t[0];let g;function v(e){return void 0!==r&&e<r||void 0!==i&&e>i}function y(e){return void 0===r?i:void 0===i||Math.abs(r-e)<Math.abs(i-e)?r:i}function x(e){null===g||void 0===g||g.stop(),g=Go(Oe(Oe({keyframes:[0,1],velocity:0},e),{},{driver:d,onUpdate:t=>{var n;null===h||void 0===h||h(t),null===(n=e.onUpdate)||void 0===n||n.call(e,t)},onComplete:p,onStop:f}))}function b(e){x(Oe({type:"spring",stiffness:o,damping:l,restDelta:c},e))}if(v(m))b({velocity:n,keyframes:[m,y(m)]});else{let e=a*n+m;"undefined"!==typeof u&&(e=u(e));const t=y(e),i=t===r?-1:1;let o,l;const d=e=>{o=l,l=e,n=ps(e-o,_r.delta),(1===i&&e>t||-1===i&&e<t)&&b({keyframes:[e,t],velocity:n})};x({type:"decay",keyframes:[m,0],velocity:n,timeConstant:s,power:a,restDelta:c,modifyTarget:u,onUpdate:v(e)?d:void 0})}return{stop:()=>null===g||void 0===g?void 0:g.stop()}}(p);return()=>e.stop()}(function(e){let{when:t,delay:n,delayChildren:r,staggerChildren:i,staggerDirection:a,repeat:s,repeatType:o,repeatDelay:l,from:c}=e,u=je(e,al);return!!Object.keys(u).length})(a)||(p=Oe(Oe({},p),((e,t)=>{let{keyframes:n}=t;return n.length>2?nl:(rl[e]||rl.default)(n[1])})(e,p))),p.duration&&(p.duration=Zs(p.duration)),p.repeatDelay&&(p.repeatDelay=Zs(p.repeatDelay));const f=t.owner,m=f&&f.current;if(dl.waapi()&&hl.has(e)&&!p.repeatDelay&&"mirror"!==p.repeatType&&0!==
2p.damping&&f&&m instanceof HTMLElement&&!f.getProps().onUpdate)return Qo(t,e,p);{const e=Go(p);return()=>e.stop()}}},fl=["transition","transitionEnd"];function ml(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var r;const i=Vs(e,t,n.custom);let{transition:a=e.getDefaultTransition()||{}}=i||{};n.transitionOverride&&(a=n.transitionOverride);const s=i?()=>gl(e,i,n):()=>Promise.resolve(),o=(null===(r=e.variantChildren)||void 0===r?void 0:r.size)?function(){let r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;const{delayChildren:i=0,staggerChildren:s,staggerDirection:o}=a;return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5?arguments[5]:void 0;const s=[],o=(e.variantChildren.size-1)*r,l=1===i?function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)*r}:function(){return o-(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0)*r};return Array.from(e.variantChildren).sort(vl).forEach((e,r)=>{s.push(ml(e,t,Oe(Oe({},a),{},{delay:n+l(r)})).then(()=>e.notify("AnimationComplete",t)))}),Promise.all(s)}(e,t,i+r,s,o,n)}:()=>Promise.resolve(),{when:l}=a;if(l){const[e,t]="beforeChildren"===l?[s,o]:[o,s];return e().then(t)}return Promise.all([s(),o(n.delay)])}function gl(e,t){let{delay:n=0,transitionOverride:r,type:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var a;let s=e.makeTargetAnimatable(t),{transition:o=e.getDefaultTransition(),transitionEnd:l}=s,c=je(s,fl);const u=e.getValue("willChange");r&&(o=r);const d=[],h=i&&(null===(a=e.animationState)||void 0===a?void 0:a.getState()[i]);for(const p in c){const t=e.getValue(p),r=c[p];if(!t||void 0===r||h&&yl(h,p))continue;let i=Oe({delay:n,elapsed:0},o);if(e.shouldReduceMotion&&wi.has(p)&&(i=Oe(Oe({},i),{},{type:!1,delay:0})),!t.hasAnimated){const t=e.getProps()[Js];t&&(i.elapsed=Ys(t,p))}let a=t.start(pl(p,t,r,i));Xs(u)&&(u.add(p),a=a.then(()=>u.remove(p))),d.push(a)}return Promise.all(d).then(()=>{l&&Gs(e,l)})}function vl(e,t){return e.sortNodePosition(t)}function yl(e,t){let{protectedKeys:n,needsAnimating:r}=e;const i=n.hasOwnProperty(t)&&!0!==r[t];return r[t]=!1,i}const xl=["transition","transitionEnd"],bl=[Ea.Animate,Ea.InView,Ea.Focus,Ea.Hover,Ea.Tap,Ea.Drag,Ea.Exit],wl=[...bl].reverse(),_l=bl.length;function Sl(e){return t=>Promise.all(t.map(t=>{let{animation:n,options:r}=t;return function(e,t){let n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e.notify("AnimationStart",t),Array.isArray(t)){const i=t.map(t=>ml(e,t,r));n=Promise.all(i)}else if("string"===typeof t)n=ml(e,t,r);else{const i="function"===typeof t?Vs(e,t,r.custom):t;n=gl(e,i,r)}return n.then(()=>e.notify("AnimationComplete",t))}(e,n,r)}))}function Ml(e){let t=Sl(e);const n={[Ea.Animate]:Tl(!0),[Ea.InView]:Tl(),[Ea.Hover]:Tl(),[Ea.Tap]:Tl(),[Ea.Drag]:Tl(),[Ea.Focus]:Tl(),[Ea.Exit]:Tl()};let r=!0;const i=(t,n)=>{const r=Vs(e,n);if(r){const{transition:e,transitionEnd:n}=r,i=je(r,xl);t=Oe(Oe(Oe({},t),i),n)}return t};function a(a,s){const o=e.getProps(),l=e.getVariantContext(!0)||{},c=[],u=new Set;let d={},h=1/0;for(let t=0;t<_l;t++){const p=wl[t],f=n[p],m=void 0!==o[p]?o[p]:l[p],g=ei(m),v=p===s?f.isActive:null;!1===v&&(h=t);let y=m===l[p]&&m!==o[p]&&g;if(y&&r&&e.manuallyAnimateOnMount&&(y=!1),f.protectedKeys=Oe({},d),!f.isActive&&null===v||!m&&!f.prevProp||ti(m)||"boolean"===typeof m)continue;const x=El(f.prevProp,m);let b=x||p===s&&f.isActive&&!y&&g||t>h&&g;const w=Array.isArray(m)?m:[m];let _=w.reduce(i,{});!1===v&&(_={});const{prevResolvedValues:S={}}=f,M=Oe(Oe({},S),_),E=e=>{b=!0,u.delete(e),f.needsAnimating[e]=!0};for(const e in M){const t=_[e],n=S[e];d.hasOwnProperty(e)||(t!==n?va(t)&&va(n)?!os(t,n)||x?E(e):f.protectedKeys[e]=!0:void 0!==t?E(e):u.add(e):void 0!==t&&u.has(e)?E(e):f.protectedKeys[e]=!0)}f.prevProp=m,f.prevResolvedValues=_,f.isActive&&(d=Oe(Oe({},d),_)),r&&e.blockInitialAnimation&&(b=!1),b&&!y&&c.push(...w.map(e=>({animation:e,options:Oe({type:p},a)})))}if(u.size){const t={};u.forEach(n=>{const r=e.getBaseTarget(n);void 0!==r&&(t[n]=r)}),c.push({animation:t})}let p=Boolean(c.length);return r&&!1===o.initial&&!e.manuallyAnimateOnMount&&(p=!1),r=!1,p?t(c):Promise.resolve()}
2return{animateChanges:a,setActive:function(t,r,i){var s;if(n[t].isActive===r)return Promise.resolve();null===(s=e.variantChildren)||void 0===s||s.forEach(e=>{var n;return null===(n=e.animationState)||void 0===n?void 0:n.setActive(t,r)}),n[t].isActive=r;const o=a(i,t);for(const e in n)n[e].protectedKeys={};return o},setAnimateFunction:function(n){t=n(e)},getState:()=>n}}function El(e,t){return"string"===typeof t?t!==e:!!Array.isArray(t)&&!os(t,e)}function Tl(){return{isActive:arguments.length>0&&void 0!==arguments[0]&&arguments[0],protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}const Al={animation:is(e=>{let{visualElement:t,animate:n}=e;t.animationState||(t.animationState=Ml(t)),ti(n)&&(0,i.useEffect)(()=>n.subscribe(t),[n])}),exit:is(e=>{const{custom:t,visualElement:n}=e,[r,a]=ss(),s=(0,i.useContext)(Or);(0,i.useEffect)(()=>{n.isPresent=r;const e=n.animationState&&n.animationState.setActive(Ea.Exit,!r,{custom:s&&s.custom||t});e&&!r&&e.then(a)},[r])})},Cl=(e,t)=>Math.abs(e-t);class Pl{constructor(e,t){let{transformPagePoint:n}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.updatePoint=()=>{if(!this.lastMoveEvent||!this.lastMoveEventInfo)return;const e=Ll(this.lastMoveEventInfo,this.history),t=null!==this.startEvent,n=function(e,t){const n=Cl(e.x,t.x),r=Cl(e.y,t.y);return Math.sqrt(n**2+r**2)}(e.offset,{x:0,y:0})>=3;if(!t&&!n)return;const{point:r}=e,{timestamp:i}=_r;this.history.push(Oe(Oe({},r),{},{timestamp:i}));const{onStart:a,onMove:s}=this.handlers;t||(a&&a(this.lastMoveEvent,e),this.startEvent=this.lastMoveEvent),s&&s(this.lastMoveEvent,e)},this.handlePointerMove=(e,t)=>{this.lastMoveEvent=e,this.lastMoveEventInfo=Nl(t,this.transformPagePoint),Ca(e)&&0===e.buttons?this.handlePointerUp(e,t):Cr.update(this.updatePoint,!0)},this.handlePointerUp=(e,t)=>{this.end();const{onEnd:n,onSessionEnd:r}=this.handlers,i=Ll(Nl(t,this.transformPagePoint),this.history);this.startEvent&&n&&n(e,i),r&&r(e,i)},Pa(e)&&e.touches.length>1)return;this.handlers=t,this.transformPagePoint=n;const r=Nl(ka(e),this.transformPagePoint),{point:i}=r,{timestamp:a}=_r;this.history=[Oe(Oe({},i),{},{timestamp:a})];const{onSessionStart:s}=t;s&&s(e,Ll(r,this.history)),this.removeListeners=Ya(ja(window,"pointermove",this.handlePointerMove),ja(window,"pointerup",this.handlePointerUp),ja(window,"pointercancel",this.handlePointerUp))}updateHandlers(e){this.handlers=e}end(){this.removeListeners&&this.removeListeners(),Pr.update(this.updatePoint)}}function Nl(e,t){return t?{point:t(e.point)}:e}function Rl(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Ll(e,t){let{point:n}=e;return{point:n,delta:Rl(n,Il(t)),offset:Rl(n,kl(t)),velocity:Dl(t,.1)}}function kl(e){return e[0]}function Il(e){return e[e.length-1]}function Dl(e,t){if(e.length<2)return{x:0,y:0};let n=e.length-1,r=null;const i=Il(e);for(;n>=0&&(r=e[n],!(i.timestamp-r.timestamp>Zs(t)));)n--;if(!r)return{x:0,y:0};const a=(i.timestamp-r.timestamp)/1e3;if(0===a)return{x:0,y:0};const s={x:(i.x-r.x)/a,y:(i.y-r.y)/a};return s.x===1/0&&(s.x=0),s.y===1/0&&(s.y=0),s}function zl(e){return e.max-e.min}function Ol(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.01;return Math.abs(e-t)<=n}function jl(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;e.origin=r,e.originPoint=io(t.min,t.max,e.origin),e.scale=zl(n)/zl(t),(Ol(e.scale,1,1e-4)||isNaN(e.scale))&&(e.scale=1),e.translate=io(n.min,n.max,e.origin)-e.originPoint,(Ol(e.translate)||isNaN(e.translate))&&(e.translate=0)}function Bl(e,t,n,r){jl(e.x,t.x,n.x,null===r||void 0===r?void 0:r.originX),jl(e.y,t.y,n.y,null===r||void 0===r?void 0:r.originY)}function Fl(e,t,n){e.min=n.min+t.min,e.max=e.min+zl(t)}function Ul(e,t,n){e.min=t.min-n.min,e.max=e.min+zl(t)}function Vl(e,t,n){Ul(e.x,t.x,n.x),Ul(e.y,t.y,n.y)}function Hl(e,t,n){return{min:void 0!==t?e.min+t:void 0,max:void 0!==n?e.max+n-(e.max-e.min):void 0}}function Wl(e,t){let n=t.min-e.min,r=t.max-e.max;return t.max-t.min<e.max-e.min&&([n,r]=[r,n]),{min:n,max:r}}const Gl=.35;function ql(e,t,n){return{min:Xl(e,t),max:Xl(e,n)}}function Xl(e,t){return"number"===typeof e?e:e[t]||0}const Yl=()=>({x:{min:0,max:0},y:{min:0,max:0}});function Jl(e){return[e("x"),e("y")]}function Ql(e){let{top:t,left:n,right:r,bottom:i}=e;return{x:{min:n,max:r},y:{min:t,max:i}}}function Zl(e){return void 0===e||1===e}function Kl(e){let{scale:t,scaleX:n,scaleY:r}=e;return!Zl(t)||!Zl(n)||!Zl(r)}function $l(e){return Kl(e)||ec(e)||e.z||e.rotate||e.rotateX||e.rotateY}function ec(e){return tc(e.x)||tc(e.y)}function tc(e){return e&&"0%"!==e}function nc(e,t,n){return n+t*(e-n)}function rc(e,t,n,r,i){return void 0!==i&&(e=nc(e,i,r)),nc(e,n,r)+t}function ic(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;e.min=rc(e.min,t,n,r,i),e.max=rc(e.max,t,n,r,i)}function ac(e,t){let{x:n,y:r}=t;ic(e.x,n.translate,n.scale,n.originPoint),ic(e.y,r.translate,r.scale,r.originPoint)}function sc(e){return Number.isInteger(e)||e>1.0000000000001||e<.999999999999?e:1}function oc(e,t){e.min=e.min+t,e.max=e.max+t}function lc(e,t,n){let[r,i,a]=n;const s=void 0!==t[a]?t[a]:.5,o=io(e.min,e.max,s);ic(e,t[r],t[i],o,t.scale)}const cc=["x","scaleX","originX"],uc=["y","scaleY","originY"];function dc(e,t){lc(e.x,t,cc),lc(e.y,t,uc)}function hc(e,t){return Ql(function(e,t){if(!t)return e;const n=t({x:e.left,y:e.top}),r=t({x:e.right,y:e.bottom});return{top:n.y,left:n.x,bottom:r.y,right:r.x}}(e.getBoundingClientRect(),t))}const pc=new WeakMap;class fc{constructor(e){this.openGlobalLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic={x:{min:0,max:0},y:{min:0,max:0}},this.visualElement=e}start(e){let{snapToCursor:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!1===this.visualElement.isPresent)return;this.panSession=new Pl(e,{onSessionStart:e=>{this.stopAnimation(),t&&this.snapToCursor(ka(e,"page").point)},onStart:(e,t)=>{var n;const{drag:r,dragPropagation:i,onDragStart:a}=this.getProps();(!r||i||(this.openGlobalLock&&this.openGlobalLock(),this.openGlobalLock=Ha(r),this.openGlobalLock))&&(this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Jl(e=>{var t,n;let r=this.getAxisMotionValue(e).get()||0;if(Bi.test(r)){const i=null===(n=null===(t=this.visualElement.projection)||void 0===t?void 0:t.layout)||void 0===n?void 0:n.layoutBox[e];if(i){r=zl(i)*(parseFloat(r)/100)}}this.originPoint[e]=r}),null===a||void 0===a||a(e,t),null===(n=this.visualElement.animationState)||void 0===n||n.setActive(Ea.Drag,!0))},onMove:(e,t)=>
2{const{dragPropagation:n,dragDirectionLock:r,onDirectionLock:i,onDrag:a}=this.getProps();if(!n&&!this.openGlobalLock)return;const{offset:s}=t;if(r&&null===this.currentDirection)return this.currentDirection=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=null;Math.abs(e.y)>t?n="y":Math.abs(e.x)>t&&(n="x");return n}(s),void(null!==this.currentDirection&&(null===i||void 0===i||i(this.currentDirection)));this.updateAxis("x",t.point,s),this.updateAxis("y",t.point,s),this.visualElement.render(),null===a||void 0===a||a(e,t)},onSessionEnd:(e,t)=>this.stop(e,t)},{transformPagePoint:this.visualElement.getTransformPagePoint()})}stop(e,t){const n=this.isDragging;if(this.cancel(),!n)return;const{velocity:r}=t;this.startAnimation(r);const{onDragEnd:i}=this.getProps();null===i||void 0===i||i(e,t)}cancel(){var e,t;this.isDragging=!1,this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!1),null===(e=this.panSession)||void 0===e||e.end(),this.panSession=void 0;const{dragPropagation:n}=this.getProps();!n&&this.openGlobalLock&&(this.openGlobalLock(),this.openGlobalLock=null),null===(t=this.visualElement.animationState)||void 0===t||t.setActive(Ea.Drag,!1)}updateAxis(e,t,n){const{drag:r}=this.getProps();if(!n||!mc(e,r,this.currentDirection))return;const i=this.getAxisMotionValue(e);let a=this.originPoint[e]+n[e];this.constraints&&this.constraints[e]&&(a=function(e,t,n){let{min:r,max:i}=t;return void 0!==r&&e<r?e=n?io(r,e,n.min):Math.max(e,r):void 0!==i&&e>i&&(e=n?io(i,e,n.max):Math.min(e,i)),e}(a,this.constraints[e],this.elastic[e])),i.set(a)}resolveConstraints(){const{dragConstraints:e,dragElastic:t}=this.getProps(),{layout:n}=this.visualElement.projection||{},r=this.constraints;e&&$r(e)?this.constraints||(this.constraints=this.resolveRefConstraints()):this.constraints=!(!e||!n)&&function(e,t){let{top:n,left:r,bottom:i,right:a}=t;return{x:Hl(e.x,r,a),y:Hl(e.y,n,i)}}(n.layoutBox,e),this.elastic=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Gl;return!1===e?e=0:!0===e&&(e=Gl),{x:ql(e,"left","right"),y:ql(e,"top","bottom")}}(t),r!==this.constraints&&n&&this.constraints&&!this.hasMutatedConstraints&&Jl(e=>{this.getAxisMotionValue(e)&&(this.constraints[e]=function(e,t){const n={};return void 0!==t.min&&(n.min=t.min-e.min),void 0!==t.max&&(n.max=t.max-e.min),n}(n.layoutBox[e],this.constraints[e]))})}resolveRefConstraints(){const{dragConstraints:e,onMeasureDragConstraints:t}=this.getProps();if(!e||!$r(e))return!1;const n=e.current,{projection:r}=this.visualElement;if(!r||!r.layout)return!1;const i=function(e,t,n){const r=hc(e,n),{scroll:i}=t;return i&&(oc(r.x,i.offset.x),oc(r.y,i.offset.y)),r}(n,r.root,this.visualElement.getTransformPagePoint());let a=function(e,t){return{x:Wl(e.x,t.x),y:Wl(e.y,t.y)}}(r.layout.layoutBox,i);if(t){const e=t(function(e){let{x:t,y:n}=e;return{top:n.min,right:t.max,bottom:n.max,left:t.min}}(a));this.hasMutatedConstraints=!!e,e&&(a=Ql(e))}return a}startAnimation(e){const{drag:t,dragMomentum:n,dragElastic:r,dragTransition:i,dragSnapToOrigin:a,onDragTransitionEnd:s}=this.getProps(),o=this.constraints||{},l=Jl(s=>{if(!mc(s,t,this.currentDirection))return;let l=(null===o||void 0===o?void 0:o[s])||{};a&&(l={min:0,max:0});const c=r?200:1e6,u=r?40:1e7,d=Oe(Oe({type:"inertia",velocity:n?e[s]:0,bounceStiffness:c,bounceDamping:u,timeConstant:750,restDelta:1,restSpeed:10},i),l);return this.startAxisValueAnimation(s,d)});return Promise.all(l).then(s)}startAxisValueAnimation(e,t){const n=this.getAxisMotionValue(e);return n.start(pl(e,n,0,t))}stopAnimation(){Jl(e=>this.getAxisMotionValue(e).stop())}getAxisMotionValue(e){var t;const n="_drag"+e.toUpperCase(),r=this.visualElement.getProps()[n];return r||this.visualElement.getValue(e,(null===(t=this.visualElement.getProps().initial)||void 0===t?void 0:t[e])||0)}snapToCursor(e){Jl(t=>{const{drag:n}=this.getProps();if(!mc(t,n,this.currentDirection))return;const{projection:r}=this.visualElement,i=this.getAxisMotionValue(t);if(r&&r.layout){const{min:n,max:a}=r.layout.layoutBox[t];i.set(e[t]-io(n,a,.5))}})}scalePositionWithinConstraints(){var e;if(!this.visualElement.current)return;const{drag:t,dragConstraints:n}=this.getProps(),{projection:r}=this.visualElement;if(!$r(n)||!r||!this.constraints)return;this.stopAnimation();const i={x:0,y:0};Jl(e=>{const t=this.getAxisMotionValue(e);if(t){const n=t.get();i[e]=function(e,t){let n=.5;const r=zl(e),i=zl(t);return i>r?n=mo(t.min,t.max-r,e.min):r>i&&(n=mo(e.min,e.max-i,t.min)),Ci(0,1,n)}({min:n,max:n},this.constraints[e])}});const{transformTemplate:a}=this.visualElement.getProps();this.visualElement.current.style.transform=a?a({},""):"none",null===(e=r.root)||void 0===e||e.updateScroll(),r.updateLayout(),this.resolveConstraints(),Jl(e=>{if(!mc(e,t,null))return;const n=this.getAxisMotionValue(e),{min:r,max:a}=this.constraints[e];n.set(io(r,a,i[e]))})}addListeners(){var e;if(!this.visualElement.current)return;pc.set(this.visualElement,this);const t=ja(this.visualElement.current,"pointerdown",e=>{const{drag:t,dragListener:n=!0}
2=this.getProps();t&&n&&this.start(e)}),n=()=>{const{dragConstraints:e}=this.getProps();$r(e)&&(this.constraints=this.resolveRefConstraints())},{projection:r}=this.visualElement,i=r.addEventListener("measure",n);r&&!r.layout&&(null===(e=r.root)||void 0===e||e.updateScroll(),r.updateLayout()),n();const a=Ta(window,"resize",()=>this.scalePositionWithinConstraints()),s=r.addEventListener("didUpdate",e=>{let{delta:t,hasLayoutChanged:n}=e;this.isDragging&&n&&(Jl(e=>{const n=this.getAxisMotionValue(e);n&&(this.originPoint[e]+=t[e].translate,n.set(n.get()+t[e].translate))}),this.visualElement.render())});return()=>{a(),t(),i(),null===s||void 0===s||s()}}getProps(){const e=this.visualElement.getProps(),{drag:t=!1,dragDirectionLock:n=!1,dragPropagation:r=!1,dragConstraints:i=!1,dragElastic:a=Gl,dragMomentum:s=!0}=e;return Oe(Oe({},e),{},{drag:t,dragDirectionLock:n,dragPropagation:r,dragConstraints:i,dragElastic:a,dragMomentum:s})}}function mc(e,t,n){return(!0===t||t===e)&&(null===n||n===e)}const gc={pan:is(function(e){let{onPan:t,onPanStart:n,onPanEnd:r,onPanSessionStart:a,visualElement:s}=e;const o=t||n||r||a,l=(0,i.useRef)(null),{transformPagePoint:c}=(0,i.useContext)(Jr),u={onSessionStart:a,onStart:n,onMove:t,onEnd:(e,t)=>{l.current=null,r&&r(e,t)}};(0,i.useEffect)(()=>{null!==l.current&&l.current.updateHandlers(u)}),Ba(s,"pointerdown",o&&function(e){l.current=new Pl(e,u,{transformPagePoint:c})}),Wr(()=>l.current&&l.current.end())}),drag:is(function(e){const{dragControls:t,visualElement:n}=e,r=jr(()=>new fc(n));(0,i.useEffect)(()=>t&&t.subscribe(r),[r,t]),(0,i.useEffect)(()=>r.addListeners(),[r])})};function vc(e){return"string"===typeof e&&e.startsWith("var(--")}const yc=/var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;function xc(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;'Max CSS variable fallback depth detected in property "'.concat(e,'". This may indicate a circular fallback dependency.');const[r,i]=function(e){const t=yc.exec(e);if(!t)return[,];const[,n,r]=t;return[n,r]}(e);if(!r)return;const a=window.getComputedStyle(t).getPropertyValue(r);return a?a.trim():vc(i)?xc(i,t,n+1):i}function bc(e,t,n){let r=Object.assign({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(t),t));const i=e.current;if(!(i instanceof Element))return{target:r,transitionEnd:n};n&&(n=Oe({},n)),e.values.forEach(e=>{const t=e.get();if(!vc(t))return;const n=xc(t,i);n&&e.set(n)});for(const a in r){const e=r[a];if(!vc(e))continue;const t=xc(e,i);t&&(r[a]=t,n&&void 0===n[a]&&(n[a]=e))}return{target:r,transitionEnd:n}}const wc=new Set(["width","height","top","left","right","bottom","x","y"]),_c=e=>wc.has(e),Sc=(e,t)=>{e.set(t,!1),e.set(t)},Mc=e=>e===Pi||e===Fi;var Ec;!function(e){e.width="width",e.height="height",e.left="left",e.right="right",e.top="top",e.bottom="bottom"}(Ec||(Ec={}));const Tc=(e,t)=>parseFloat(e.split(", ")[t]),Ac=(e,t)=>(n,r)=>{let{transform:i}=r;if("none"===i||!i)return 0;const a=i.match(/^matrix3d\((.+)\)$/);if(a)return Tc(a[1],t);{const t=i.match(/^matrix\((.+)\)$/);return t?Tc(t[1],e):0}},Cc=new Set(["x","y","z"]),Pc=bi.filter(e=>!Cc.has(e));const Nc={width:(e,t)=>{let{x:n}=e,{paddingLeft:r="0",paddingRight:i="0"}=t;return n.max-n.min-parseFloat(r)-parseFloat(i)},height:(e,t)=>{let{y:n}=e,{paddingTop:r="0",paddingBottom:i="0"}=t;return n.max-n.min-parseFloat(r)-parseFloat(i)},top:(e,t)=>{let{top:n}=t;return parseFloat(n)},left:(e,t)=>{let{left:n}=t;return parseFloat(n)},bottom:(e,t)=>{let{y:n}=e,{top:r}=t;return parseFloat(r)+(n.max-n.min)},right:(e,t)=>{let{x:n}=e,{left:r}=t;return parseFloat(r)+(n.max-n.min)},x:Ac(4,13),y:Ac(5,14)},Rc=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};t=Oe({},t),r=Oe({},r);const i=Object.keys(t).filter(_c);let a=[],s=!1;const o=[];if(i.forEach(i=>{const l=e.getValue(i);if(!e.hasValue(i))return;let c=n[i],u=Bs(c);const d=t[i];let h;if(va(d)){const e=d.length,t=null===d[0]?1:0;c=d[t],u=Bs(c);for(let n=t;n<e;n++)h?Qs(Bs(d[n])):(h=Bs(d[n]),Qs(h===u||Mc(u)&&Mc(h)))}else h=Bs(d);if(u!==h)if(Mc(u)&&Mc(h)){const e=l.get();"string"===typeof e&&l.set(parseFloat(e)),"string"===typeof d?t[i]=parseFloat(d):Array.isArray(d)&&h===Fi&&(t[i]=d.map(parseFloat))}else(null===u||void 0===u?void 0:u.transform)&&(null===h||void 0===h?void 0:h.transform)&&(0===c||0===d)?0===c?l.set(h.transform(c)):t[i]=u.transform(d):(s||(a=function(e){const t=[];
vendor: 10,293 bytes, line 2
2return Pc.forEach(n=>{const r=e.getValue(n);void 0!==r&&(t.push([n,r.get()]),r.set(n.startsWith("scale")?1:0))}),t.length&&e.render(),t}(e),s=!0),o.push(i),r[i]=void 0!==r[i]?r[i]:t[i],Sc(l,d))}),o.length){const n=o.indexOf("height")>=0?window.pageYOffset:null,i=((e,t,n)=>{const r=t.measureViewportBox(),i=t.current,a=getComputedStyle(i),{display:s}=a,o={};"none"===s&&t.setStaticValue("display",e.display||"block"),n.forEach(e=>{o[e]=Nc[e](r,a)}),t.render();const l=t.measureViewportBox();return n.forEach(n=>{const r=t.getValue(n);Sc(r,o[n]),e[n]=Nc[n](l,a)}),e})(t,e,o);return a.length&&a.forEach(t=>{let[n,r]=t;e.getValue(n).set(r)}),e.render(),Ir&&null!==n&&window.scrollTo({top:n}),{target:i,transitionEnd:r}}return{target:t,transitionEnd:r}};function Lc(e,t,n,r){return(e=>Object.keys(e).some(_c))(t)?Rc(e,t,n,r):{target:t,transitionEnd:r}}const kc={current:null},Ic={current:!1};const Dc=["willChange"],zc=Object.keys(li),Oc=zc.length,jc=["AnimationStart","AnimationComplete","Update","Unmount","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class Bc{constructor(e){let{parent:t,props:n,reducedMotionConfig:r,visualState:i}=e,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.isPresent=!0,this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.scheduleRender=()=>Cr.render(this.render,!1,!0);const{latestValues:s,renderState:o}=i;this.latestValues=s,this.baseTarget=Oe({},s),this.initialValues=n.initial?Oe({},s):{},this.renderState=o,this.parent=t,this.props=n,this.depth=t?t.depth+1:0,this.reducedMotionConfig=r,this.options=a,this.isControllingVariants=ri(n),this.isVariantNode=ii(n),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=Boolean(t&&t.current);const l=this.scrapeMotionValuesFromProps(n),{willChange:c}=l,u=je(l,Dc);for(const d in u){const e=u[d];void 0!==s[d]&&Si(e)&&(e.set(s[d],!1),Xs(c)&&c.add(d))}}scrapeMotionValuesFromProps(e){return{}}mount(e){var t;this.current=e,this.projection&&this.projection.mount(e),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=null===(t=this.parent)||void 0===t?void 0:t.addVariantChild(this)),this.values.forEach((e,t)=>this.bindToMotionValue(t,e)),Ic.current||function(){if(Ic.current=!0,Ir)if(window.matchMedia){const e=window.matchMedia("(prefers-reduced-motion)"),t=()=>kc.current=e.matches;e.addListener(t),t()}else kc.current=!1}(),this.shouldReduceMotion="never"!==this.reducedMotionConfig&&("always"===this.reducedMotionConfig||kc.current),this.parent&&this.parent.children.add(this),this.setProps(this.props)}unmount(){var e,t,n;null===(e=this.projection)||void 0===e||e.unmount(),Pr.update(this.notifyUpdate),Pr.render(this.render),this.valueSubscriptions.forEach(e=>e()),null===(t=this.removeFromVariantTree)||void 0===t||t.call(this),null===(n=this.parent)||void 0===n||n.children.delete(this);for(const r in this.events)this.events[r].clear();this.current=null}bindToMotionValue(e,t){const n=wi.has(e),r=t.on("change",t=>{this.latestValues[e]=t,this.props.onUpdate&&Cr.update(this.notifyUpdate,!1,!0),n&&this.projection&&(this.projection.isTransformDirty=!0)}),i=t.on("renderRequest",this.scheduleRender);this.valueSubscriptions.set(e,()=>{r(),i()})}sortNodePosition(e){return this.current&&this.sortInstanceNodePosition&&this.type===e.type?this.sortInstanceNodePosition(this.current,e.current):0}loadFeatures(e,t,n,r,a,s){const o=[];for(let l=0;l<Oc;l++){const t=zc[l],{isEnabled:n,Component:r}=li[t];n(e)&&r&&o.push((0,i.createElement)(r,Oe(Oe({key:t},e),{},{visualElement:this})))}if(!this.projection&&a){this.projection=new a(r,this.latestValues,this.parent&&this.parent.projection);const{layoutId:t,layout:n,drag:i,dragConstraints:o,layoutScroll:l}=e;this.projection.setOptions({layoutId:t,layout:n,alwaysMeasureLayout:Boolean(i)||o&&$r(o),visualElement:this,scheduleRender:()=>this.scheduleRender(),animationType:"string"===typeof n?n:"both",initialPromotionConfig:s,layoutScroll:l})}return o}triggerBuild(){this.build(this.renderState,this.latestValues,this.options,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):{x:{min:0,max:0},y:{min:0,max:0}}}getStaticValue(e){return this.latestValues[e]}setStaticValue(e,t){this.latestValues[e]=t}makeTargetAnimatable(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.makeTargetAnimatableFromInstance(e,this.props,t)}setProps(e){(e.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.props=e;for(let t=0;t<jc.length;t++){const n=jc[t];this.propEventSubscriptions[n]&&(this.propEventSubscriptions[n](),delete this.propEventSubscriptions[n]);const r=e["on"+n];r&&(this.propEventSubscriptions[n]=this.on(n,r))}this.prevMotionValues=function(e,t,n){const{willChange:r}=t;for(const i in t){const a=t[i],s=n[i];if(Si(a))e.addValue(i,a),Xs(r)&&r.add(i);else if(Si(s))e.addValue(i,ms(a,{owner:e})),Xs(r)&&r.remove(i);else if(s!==a)if(e.hasValue(i)){const t=e.getValue(i);!t.hasAnimated&&t.set(a)}else{const t=e.getStaticValue(i);e.addValue(i,ms(void 0!==t?t:a))}}for(const i in n)void 0===t[i]&&e.removeValue(i);return t}(this,this.scrapeMotionValuesFromProps(e),this.prevMotionValues)}getProps(){return this.props}getVariant(e){var t;return null===(t=this.props.variants)||void 0===t?void 0:t[e]}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){var e;return this.isVariantNode?this:null===(e=this.parent)||void 0===e?void 0:e.getClosestVariantNode()}getVariantContext(){var e,t;if(arguments.length>0&&void 0!==arguments[0]&&arguments[0])return null===(e=this.parent)||void 0===e?void 0:e.getVariantContext();if(!this.isControllingVariants){const e=(null===(t=this.parent)||void 0===t?void 0:t.getVariantContext())||{};return void 0!==this.props.initial&&(e.initial=this.props.initial),e}const n={};for(let r=0;r<Uc;r++){const e=Fc[r],t=this.props[e];(ei(t)||!1===t)&&(n[e]=t)}return n}addVariantChild(e){var t;const n=this.getClosestVariantNode();if(n)return null===(t=n.variantChildren)||void 0===t||t.add(e),()=>n.variantChildren.delete(e)}addValue(e,t){this.hasValue(e)&&this.removeValue(e),this.values.set(e,t),this.latestValues[e]=t.get(),this.bindToMotionValue(e,t)}removeValue(e){var t;this.values.delete(e),null===(t=this.valueSubscriptions.get(e))||void 0===t||t(),this.valueSubscriptions.delete(e),delete this.latestValues[e],this.removeValueFromRenderState(e,this.renderState)}hasValue(e){return this.values.has(e)}getValue(e,t){if(this.props.values&&this.props.values[e])return this.props.values[e];let n=this.values.get(e);return void 0===n&&void 0!==t&&(n=ms(t,{owner:this}),this.addValue(e,n)),n}readValue(e){return void 0===this.latestValues[e]&&this.current?this.readValueFromInstance(this.current,e,this.options):this.latestValues[e]}setBaseTarget(e,t){this.baseTarget[e]=t}getBaseTarget(e){var t;const{initial:n}=this.props,r="string"===typeof n||"object"===typeof n?null===(t=ga(this.props,n))||void 0===t?void 0:t[e]:void 0;if(n&&void 0!==r)return r;const i=this.getBaseTargetFromProps(this.props,e);return void 0===i||Si(i)?void 0!==this.initialValues[e]&&void 0===r?void 0:this.baseTarget[e]:i}on(e,t){return this.events[e]||(this.events[e]=new hs),this.events[e].add(t)}notify(e){for(var t,n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];null===(t=this.events[e])||void 0===t||t.notify(...r)}}const Fc=["initial",...bl],Uc=Fc.length,Vc=["transition","transitionEnd"];class Hc extends Bc{sortInstanceNodePosition(e,t){return 2&e.compareDocumentPosition(t)?1:-1}getBaseTargetFromProps(e,t){var n;return null===(n=e.style)||void 0===n?void 0:n[t]}removeValueFromRenderState(e,t){let{vars:n,style:r}=t;delete n[e],delete r[e]}makeTargetAnimatableFromInstance(e,t,n){let{transition:r,transitionEnd:i}=e,a=je(e,Vc),{transformValues:s}=t,o=function(e,t,n){var r;const i={};for(const a in e){const e=qs(a,t);i[a]=void 0!==e?e:null===(r=n.getValue(a))||void 0===r?void 0:r.get()}return i}(a,r||{},this);if(s&&(i&&(i=s(i)),a&&(a=s(a)),o&&(o=s(o))),n){!function(e,t,n){var r,i;const a=Object.keys(t).filter(t=>!e.hasValue(t)),s=a.length;if(s)for(let o=0;o<s;o++){const s=a[o],l=t[s];let c=null;Array.isArray(l)&&(c=l[0]),null===c&&(c=null!==(i=null!==(r=n[s])&&void 0!==r?r:e.readValue(s))&&void 0!==i?i:t[s]),void 0!==c&&null!==c&&("string"===typeof c&&(ls(c)||cs(c))?c=parseFloat(c):!Us(c)&&Ps.test(l)&&(c=zs(s,l)),e.addValue(s,ms(c,{owner:e})),void 0===n[s]&&(n[s]=c),null!==c&&e.setBaseTarget(s,c))}}(this,a,o);const e=((e,t,n,r)=>{const i=bc(e,t,r);return Lc(e,t=i.target,n,r=i.transitionEnd)})(this,a,o,i);i=e.transitionEnd,a=e.target}return Oe({transition:r,transitionEnd:i},a)}}class Wc extends Hc{readValueFromInstance(e,t){if(wi.has(t)){const e=Ds(t);return e&&e.default||0}{const r=(n=e,window.getComputedStyle(n)),i=(Ti(t)?r.getPropertyValue(t):r[t])||0;return"string"===typeof i?i.trim():i}var n}measureInstanceViewportBox(e,t){let{transformPagePoint:n}=t;return hc(e,n)}build(e,t,n,r){qi(e,t,n,r.transformTemplate)}scrapeMotionValuesFromProps(e){return fa(e)}renderInstance(e,t,n,r){da(e,t,n,r)}}class Gc extends Hc{constructor(){super(...arguments),this.isSVGTag=!1}getBaseTargetFromProps(e,t){return e[t]}readValueFromInstance(e,t){var n;return wi.has(t)?(null===(n=Ds(t))||void 0===n?void 0:n.default)||0:(t=ha.has(t)?t:ua(t),e.getAttribute(t))}measureInstanceViewportBox(){return{x:{min:0,max:0},y:{min:0,max:0}}}scrapeMotionValuesFromProps(e){return ma(e)}build(e,t,n,r){aa(e,t,n,this.isSVGTag,r.transformTemplate)}renderInstance(e,t,n,r){pa(e,t,0,r)}mount(e){this.isSVGTag=oa(e.tagName),super.mount(e)}}const qc=(e,t)=>yi(e)?new Gc(t,{enableHardwareAcceleration:!1}):new Wc(t,{enableHardwareAcceleration:!0});function Xc(e,t){return t.max===t.min?0:e/(t.max-t.min)*100}const Yc={correct:(e,t)=>
2{if(!t.target)return e;if("string"===typeof e){if(!Fi.test(e))return e;e=parseFloat(e)}const n=Xc(e,t.target.x),r=Xc(e,t.target.y);return"".concat(n,"% ").concat(r,"%")}},Jc="_$css",Qc={correct:(e,t)=>{let{treeScale:n,projectionDelta:r}=t;const i=e,a=e.includes("var("),s=[];a&&(e=e.replace(yc,e=>(s.push(e),Jc)));const o=Ps.parse(e);if(o.length>5)return i;const l=Ps.createTransformer(e),c="number"!==typeof o[0]?1:0,u=r.x.scale*n.x,d=r.y.scale*n.y;o[0+c]/=u,o[1+c]/=d;const h=io(u,d,.5);"number"===typeof o[2+c]&&(o[2+c]/=h),"number"===typeof o[3+c]&&(o[3+c]/=h);let p=l(o);if(a){let e=0;p=p.replace(Jc,()=>{const t=s[e];return e++,t})}return p}};class Zc extends i.Component{componentDidMount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n,layoutId:r}=this.props,{projection:i}=e;var a;a=Kc,Object.assign(xi,a),i&&(t.group&&t.group.add(i),n&&n.register&&r&&n.register(i),i.root.didUpdate(),i.addEventListener("animationComplete",()=>{this.safeToRemove()}),i.setOptions(Oe(Oe({},i.options),{},{onExitComplete:()=>this.safeToRemove()}))),ci.hasEverUpdated=!0}getSnapshotBeforeUpdate(e){const{layoutDependency:t,visualElement:n,drag:r,isPresent:i}=this.props,a=n.projection;return a?(a.isPresent=i,r||e.layoutDependency!==t||void 0===t?a.willUpdate():this.safeToRemove(),e.isPresent!==i&&(i?a.promote():a.relegate()||Cr.postRender(()=>{var e;(null===(e=a.getStack())||void 0===e?void 0:e.members.length)||this.safeToRemove()})),null):null}componentDidUpdate(){const{projection:e}=this.props.visualElement;e&&(e.root.didUpdate(),!e.currentAnimation&&e.isLead()&&this.safeToRemove())}componentWillUnmount(){const{visualElement:e,layoutGroup:t,switchLayoutGroup:n}=this.props,{projection:r}=e;r&&(r.scheduleCheckAfterUnmount(),(null===t||void 0===t?void 0:t.group)&&t.group.remove(r),(null===n||void 0===n?void 0:n.deregister)&&n.deregister(r))}safeToRemove(){const{safeToRemove:e}=this.props;null===e||void 0===e||e()}render(){return null}}const Kc={borderRadius:Oe(Oe({},Yc),{},{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:Yc,borderTopRightRadius:Yc,borderBottomLeftRadius:Yc,borderBottomRightRadius:Yc,boxShadow:Qc},$c={measureLayout:function(e){const[t,n]=ss(),r=(0,i.useContext)(Hr);return i.createElement(Zc,Oe(Oe({},e),{},{layoutGroup:r,switchLayoutGroup:(0,i.useContext)(hi),isPresent:t,safeToRemove:n}))}};const eu=["TopLeft","TopRight","BottomLeft","BottomRight"],tu=eu.length,nu=e=>"string"===typeof e?parseFloat(e):e,ru=e=>"number"===typeof e||Fi.test(e);function iu(e,t){return void 0!==e[t]?e[t]:e.borderRadius}const au=ou(0,.5,So),su=ou(.5,.95,xo);function ou(e,t,n){return r=>r<e?0:r>t?1:n(mo(e,t,r))}function lu(e,t){e.min=t.min,e.max=t.max}function cu(e,t){lu(e.x,t.x),lu(e.y,t.y)}function uu(e,t,n,r,i){return e=nc(e-=t,1/n,r),void 0!==i&&(e=nc(e,1/i,r)),e}function du(e,t,n,r,i){let[a,s,o]=n;!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5,i=arguments.length>4?arguments[4]:void 0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:e;Bi.test(t)&&(t=parseFloat(t),t=io(s.min,s.max,t/100)-s.min);if("number"!==typeof t)return;let o=io(a.min,a.max,r);e===a&&(o-=t),e.min=uu(e.min,t,n,o,i),e.max=uu(e.max,t,n,o,i)}(e,t[a],t[s],t[o],t.scale,r,i)}const hu=["x","scaleX","originX"],pu=["y","scaleY","originY"];function fu(e,t,n,r){du(e.x,t,hu,null===n||void 0===n?void 0:n.x,null===r||void 0===r?void 0:r.x),du(e.y,t,pu,null===n||void 0===n?void 0:n.y,null===r||void 0===r?void 0:r.y)}function mu(e){return 0===e.translate&&1===e.scale}function gu(e){return mu(e.x)&&mu(e.y)}function vu(e,t){return e.x.min===t.x.min&&e.x.max===t.x.max&&e.y.min===t.y.min&&e.y.max===t.y.max}function yu(e){return zl(e.x)/zl(e.y)}class xu{constructor(){this.members=[]}add(e){us(this.members,e),e.scheduleRender()}remove(e){if(ds(this.members,e),e===this.prevLead&&(this.prevLead=void 0),e===this.lead){const e=this.members[this.members.length-1];e&&this.promote(e)}}relegate(e){const t=this.members.findIndex(t=>e===t);if(0===t)return!1;let n;for(let r=t;r>=0;r--){const e=this.members[r];if(!1!==e.isPresent){n=e;break}}return!!n&&(this.promote(n),!0)}promote(e,t){var n;const r=this.lead;if(e!==r&&(this.prevLead=r,this.lead=e,e.show(),r)){r.instance&&r.scheduleRender(),e.scheduleRender(),e.resumeFrom=r,t&&(e.resumeFrom.preserveOpacity=!0),r.snapshot&&(e.snapshot=r.snapshot,e.snapshot.latestValues=r.animationValues||r.latestValues),(null===(n=e.root)||void 0===n?void 0:n.isUpdating)&&(e.isLayoutDirty=!0);const{crossfade:i}=e.options;!1===i&&r.hide()}}
2exitAnimationComplete(){this.members.forEach(e=>{var t,n,r,i,a;null===(n=(t=e.options).onExitComplete)||void 0===n||n.call(t),null===(a=null===(r=e.resumingFrom)||void 0===r?void 0:(i=r.options).onExitComplete)||void 0===a||a.call(i)})}scheduleRender(){this.members.forEach(e=>{e.instance&&e.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function bu(e,t,n){let r="";const i=e.x.translate/t.x,a=e.y.translate/t.y;if((i||a)&&(r="translate3d(".concat(i,"px, ").concat(a,"px, 0) ")),1===t.x&&1===t.y||(r+="scale(".concat(1/t.x,", ").concat(1/t.y,") ")),n){const{rotate:e,rotateX:t,rotateY:i}=n;e&&(r+="rotate(".concat(e,"deg) ")),t&&(r+="rotateX(".concat(t,"deg) ")),i&&(r+="rotateY(".concat(i,"deg) "))}const s=e.x.scale*t.x,o=e.y.scale*t.y;return 1===s&&1===o||(r+="scale(".concat(s,", ").concat(o,")")),r||"none"}const wu=(e,t)=>e.depth-t.depth;class _u{constructor(){this.children=[],this.isDirty=!1}add(e){us(this.children,e),this.isDirty=!0}remove(e){ds(this.children,e),this.isDirty=!0}forEach(e){this.isDirty&&this.children.sort(wu),this.isDirty=!1,this.children.forEach(e)}}const Su=["","X","Y","Z"];let Mu=0;function Eu(e){let{attachResizeListener:t,defaultParent:n,measureScroll:r,checkIsScrollRoot:i,resetTransform:a}=e;return class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null===n||void 0===n?void 0:n();this.id=Mu++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isTransformDirty=!1,this.isProjectionDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.potentialNodes=new Map,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.nodes.forEach(Cu),this.nodes.forEach(ku),this.nodes.forEach(Iu)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.elementId=e,this.latestValues=t,this.root=r?r.root||r:this,this.path=r?[...r.path,r]:[],this.parent=r,this.depth=r?r.depth+1:0,e&&this.root.registerPotentialNode(e,this);for(let n=0;n<this.path.length;n++)this.path[n].shouldResetTransform=!0;this.root===this&&(this.nodes=new _u)}addEventListener(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new hs),this.eventHandlers.get(e).add(t)}notifyListeners(e){const t=this.eventHandlers.get(e);for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];null===t||void 0===t||t.notify(...r)}hasListeners(e){return this.eventHandlers.has(e)}registerPotentialNode(e,t){this.potentialNodes.set(e,t)}mount(e){let n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r;if(this.instance)return;this.isSVG=e instanceof SVGElement&&"svg"!==e.tagName,this.instance=e;const{layoutId:i,layout:a,visualElement:s}=this.options;if(s&&!s.current&&s.mount(e),this.root.nodes.add(this),null===(r=this.parent)||void 0===r||r.children.add(this),this.elementId&&this.root.potentialNodes.delete(this.elementId),n&&(a||i)&&(this.isLayoutDirty=!0),t){let n;const r=()=>this.root.updateBlockedByResize=!1;t(e,()=>{this.root.updateBlockedByResize=!0,n&&n(),n=Zo(r,250),ci.hasAnimatedSinceResize&&(ci.hasAnimatedSinceResize=!1,this.nodes.forEach(Lu))})}i&&this.root.registerSharedNode(i,this),!1!==this.options.animate&&s&&(i||a)&&this.addEventListener("didUpdate",e=>{let{delta:t,hasLayoutChanged:n,hasRelativeTargetChanged:r,layout:i}=e;var a,o,l,c,u;if(this.isTreeAnimationBlocked())return this.target=void 0,void(this.relativeTarget=void 0);const d=null!==(o=null!==(a=this.options.transition)&&void 0!==a?a:s.getDefaultTransition())&&void 0!==o?o:Fu,{onLayoutAnimationStart:h,onLayoutAnimationComplete:p}=s.getProps(),f=!this.targetLayout||!vu(this.targetLayout,i)||r,m=!n&&r;if((null===(l=this.resumeFrom)||void 0===l?void 0:l.instance)||m||n&&(f||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(t,m);const e=Oe(Oe({},ll(d,"layout")),{},{onPlay:h,onComplete:p});s.shouldReduceMotion&&(e.delay=0,e.type=!1),this.startAnimation(e)}else n||0!==this.animationProgress||Lu(this),this.isLead()&&(null===(u=(c=this.options).onExitComplete)||void 0===u||u.call(c));this.targetLayout=i})}unmount(){var e,t;this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this),null===(e=this.getStack())||void 0===e||e.remove(this),null===(t=this.parent)||void 0===t||t.children.delete(this),this.instance=void 0,Pr.preRender(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){var e;return this.isAnimationBlocked||(null===(e=this.parent)||void 0===e?void 0:e.isTreeAnimationBlocked())||!1}startUpdate(){var e;this.isUpdateBlocked()||(this.isUpdating=!0,null===(e=this.nodes)||void 0===e||e.forEach(Du),this.animationId++)}willUpdate(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];var t,n,r;if(this.root.isUpdateBlocked())return void(null===(n=(t=this.options).onExitComplete)||void 0===n||n.call(t));
2if(!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let o=0;o<this.path.length;o++){const e=this.path[o];e.shouldResetTransform=!0,e.updateScroll("snapshot")}const{layoutId:i,layout:a}=this.options;if(void 0===i&&!a)return;const s=null===(r=this.options.visualElement)||void 0===r?void 0:r.getProps().transformTemplate;this.prevTransformTemplateValue=null===s||void 0===s?void 0:s(this.latestValues,""),this.updateSnapshot(),e&&this.notifyListeners("willUpdate")}didUpdate(){if(this.isUpdateBlocked())return this.unblockUpdate(),this.clearAllSnapshots(),void this.nodes.forEach(Nu);this.isUpdating&&(this.isUpdating=!1,this.potentialNodes.size&&(this.potentialNodes.forEach(Uu),this.potentialNodes.clear()),this.nodes.forEach(Ru),this.nodes.forEach(Tu),this.nodes.forEach(Au),this.clearAllSnapshots(),Nr.update(),Nr.preRender(),Nr.render())}clearAllSnapshots(){this.nodes.forEach(Pu),this.sharedNodes.forEach(zu)}scheduleUpdateProjection(){Cr.preRender(this.updateProjection,!1,!0)}scheduleCheckAfterUnmount(){Cr.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){!this.snapshot&&this.instance&&(this.snapshot=this.measure())}updateLayout(){var e;if(!this.instance)return;if(this.updateScroll(),(!this.options.alwaysMeasureLayout||!this.isLead())&&!this.isLayoutDirty)return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let n=0;n<this.path.length;n++){this.path[n].updateScroll()}const t=this.layout;this.layout=this.measure(!1),this.layoutCorrected={x:{min:0,max:0},y:{min:0,max:0}},this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox),null===(e=this.options.visualElement)||void 0===e||e.notify("LayoutMeasure",this.layout.layoutBox,null===t||void 0===t?void 0:t.layoutBox)}updateScroll(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"measure",t=Boolean(this.options.layoutScroll&&this.instance);this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===e&&(t=!1),t&&(this.scroll={animationId:this.root.animationId,phase:e,isRoot:i(this.instance),offset:r(this.instance)})}resetTransform(){var e;if(!a)return;const t=this.isLayoutDirty||this.shouldResetTransform,n=this.projectionDelta&&!gu(this.projectionDelta),r=null===(e=this.options.visualElement)||void 0===e?void 0:e.getProps().transformTemplate,i=null===r||void 0===r?void 0:r(this.latestValues,""),s=i!==this.prevTransformTemplateValue;t&&(n||$l(this.latestValues)||s)&&(a(this.instance,i),this.shouldResetTransform=!1,this.scheduleRender())}measure(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const t=this.measurePageBox();let n=this.removeElementScroll(t);var r;return e&&(n=this.removeTransform(n)),Vu((r=n).x),Vu(r.y),{animationId:this.root.animationId,measuredBox:t,layoutBox:n,latestValues:{},source:this.id}}measurePageBox(){const{visualElement:e}=this.options;if(!e)return{x:{min:0,max:0},y:{min:0,max:0}};const t=e.measureViewportBox(),{scroll:n}=this.root;return n&&(oc(t.x,n.offset.x),oc(t.y,n.offset.y)),t}removeElementScroll(e){const t={x:{min:0,max:0},y:{min:0,max:0}};cu(t,e);for(let n=0;n<this.path.length;n++){const r=this.path[n],{scroll:i,options:a}=r;if(r!==this.root&&i&&a.layoutScroll){if(i.isRoot){cu(t,e);const{scroll:n}=this.root;n&&(oc(t.x,-n.offset.x),oc(t.y,-n.offset.y))}oc(t.x,i.offset.x),oc(t.y,i.offset.y)}}return t}applyTransform(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n={x:{min:0,max:0},y:{min:0,max:0}};cu(n,e);for(let r=0;r<this.path.length;r++){const e=this.path[r];!t&&e.options.layoutScroll&&e.scroll&&e!==e.root&&dc(n,{x:-e.scroll.offset.x,y:-e.scroll.offset.y}),$l(e.latestValues)&&dc(n,e.latestValues)}return $l(this.latestValues)&&dc(n,this.latestValues),n}removeTransform(e){var t;const n={x:{min:0,max:0},y:{min:0,max:0}};cu(n,e);for(let r=0;r<this.path.length;r++){const e=this.path[r];if(!e.instance)continue;if(!$l(e.latestValues))continue;Kl(e.latestValues)&&e.updateSnapshot();const i=Yl();cu(i,e.measurePageBox()),fu(n,e.latestValues,null===(t=e.snapshot)||void 0===t?void 0:t.layoutBox,i)}
2return $l(this.latestValues)&&fu(n,this.latestValues),n}setTargetDelta(e){this.targetDelta=e,this.isProjectionDirty=!0,this.root.scheduleUpdateProjection()}setOptions(e){this.options=Oe(Oe(Oe({},this.options),e),{},{crossfade:void 0===e.crossfade||e.crossfade})}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}resolveTargetDelta(){var e;const t=this.getLead();if(this.isProjectionDirty||(this.isProjectionDirty=t.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=t.isTransformDirty),!this.isProjectionDirty&&!this.attemptToResolveRelativeTarget)return;const{layout:n,layoutId:r}=this.options;if(this.layout&&(n||r)){if(!this.targetDelta&&!this.relativeTarget){const e=this.getClosestProjectingParent();e&&e.layout?(this.relativeParent=e,this.relativeTarget={x:{min:0,max:0},y:{min:0,max:0}},this.relativeTargetOrigin={x:{min:0,max:0},y:{min:0,max:0}},Vl(this.relativeTargetOrigin,this.layout.layoutBox,e.layout.layoutBox),cu(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}var i,a,s;if(this.relativeTarget||this.targetDelta)if(this.target||(this.target={x:{min:0,max:0},y:{min:0,max:0}},this.targetWithTransforms={x:{min:0,max:0},y:{min:0,max:0}}),this.relativeTarget&&this.relativeTargetOrigin&&(null===(e=this.relativeParent)||void 0===e?void 0:e.target)?(i=this.target,a=this.relativeTarget,s=this.relativeParent.target,Fl(i.x,a.x,s.x),Fl(i.y,a.y,s.y)):this.targetDelta?(Boolean(this.resumingFrom)?this.target=this.applyTransform(this.layout.layoutBox):cu(this.target,this.layout.layoutBox),ac(this.target,this.targetDelta)):cu(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const e=this.getClosestProjectingParent();e&&Boolean(e.resumingFrom)===Boolean(this.resumingFrom)&&!e.options.layoutScroll&&e.target?(this.relativeParent=e,this.relativeTarget={x:{min:0,max:0},y:{min:0,max:0}},this.relativeTargetOrigin={x:{min:0,max:0},y:{min:0,max:0}},Vl(this.relativeTargetOrigin,this.target,e.target),cu(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}}}getClosestProjectingParent(){if(this.parent&&!Kl(this.parent.latestValues)&&!ec(this.parent.latestValues))return(this.parent.relativeTarget||this.parent.targetDelta)&&this.parent.layout?this.parent:this.parent.getClosestProjectingParent()}calcProjection(){var e;const{isProjectionDirty:t,isTransformDirty:n}=this;this.isProjectionDirty=this.isTransformDirty=!1;const r=this.getLead(),i=Boolean(this.resumingFrom)||this!==r;let a=!0;if(t&&(a=!1),i&&n&&(a=!1),a)return;const{layout:s,layoutId:o}=this.options;if(this.isTreeAnimating=Boolean((null===(e=this.parent)||void 0===e?void 0:e.isTreeAnimating)||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!s&&!o)return;cu(this.layoutCorrected,this.layout.layoutBox),function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];var i,a;const s=n.length;if(!s)return;let o,l;t.x=t.y=1;for(let c=0;c<s;c++)o=n[c],l=o.projectionDelta,"contents"!==(null===(a=null===(i=o.instance)||void 0===i?void 0:i.style)||void 0===a?void 0:a.display)&&(r&&o.options.layoutScroll&&o.scroll&&o!==o.root&&dc(e,{x:-o.scroll.offset.x,y:-o.scroll.offset.y}),l&&(t.x*=l.x.scale,t.y*=l.y.scale,ac(e,l)),r&&$l(o.latestValues)&&dc(e,o.latestValues));t.x=sc(t.x),t.y=sc(t.y)}(this.layoutCorrected,this.treeScale,this.path,i);const{target:l}=r;if(!l)return;this.projectionDelta||(this.projectionDelta={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}},this.projectionDeltaWithTransform={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}});const c=this.treeScale.x,u=this.treeScale.y,d=this.projectionTransform;Bl(this.projectionDelta,this.layoutCorrected,l,this.latestValues),this.projectionTransform=bu(this.projectionDelta,this.treeScale),this.projectionTransform===d&&this.treeScale.x===c&&this.treeScale.y===u||(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",l))}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];var t,n,r;null===(n=(t=this.options).scheduleRender)||void 0===n||n.call(t),e&&(null===(r=this.getStack())||void 0===r||r.scheduleRender()),this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}setAnimationOrigin(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var n,r;const i=this.snapshot,a=(null===i||void 0===i?void 0:i.latestValues)||{},s=Oe({},this.latestValues),o={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};this.relativeTarget=this.relativeTargetOrigin=void 0,this.attemptToResolveRelativeTarget=!t;const l={x:{min:0,max:0},y:{min:0,max:0}},c=(null===i||void 0===i?void 0:i.source)!==(null===(n=this.layout)||void 0===n?void 0:n.source),u=((null===(r=this.getStack())||void 0===r?void 0:r.members.length)||0)<=1,d=Boolean(c&&!u&&!0===this.options.crossfade&&!this.path.some(Bu));this.animationProgress=0,this.mixTargetDelta=t=>{var n;const r=t/1e3;var i,h,p,f;Ou(o.x,e.x,r),Ou(o.y,e.y,r),this.setTargetDelta(o),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&(null===(n=this.relativeParent)||void 0===n?void 0:n.layout)&&(Vl(l,this.layout.layoutBox,this.relativeParent.layout.layoutBox),i=this.relativeTarget,h=this.relativeTargetOrigin,p=l,f=r,ju(i.x,h.x,p.x,f),ju(i.y,h.y,p.y,f)),c&&(this.animationValues=s,function(e,t,n,r,i,a){i?(e.opacity=io(0,void 0!==n.opacity?n.opacity:1,au(r)),e.o
2pacityExit=io(void 0!==t.opacity?t.opacity:1,0,su(r))):a&&(e.opacity=io(void 0!==t.opacity?t.opacity:1,void 0!==n.opacity?n.opacity:1,r));for(let s=0;s<tu;s++){const i="border".concat(eu[s],"Radius");let a=iu(t,i),o=iu(n,i);void 0===a&&void 0===o||(a||(a=0),o||(o=0),0===a||0===o||ru(a)===ru(o)?(e[i]=Math.max(io(nu(a),nu(o),r),0),(Bi.test(o)||Bi.test(a))&&(e[i]+="%")):e[i]=o)}(t.rotate||n.rotate)&&(e.rotate=io(t.rotate||0,n.rotate||0,r))}(s,a,this.latestValues,r,d,u)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=r},this.mixTargetDelta(0)}startAnimation(e){var t,n;this.notifyListeners("animationStart"),null===(t=this.currentAnimation)||void 0===t||t.stop(),this.resumingFrom&&(null===(n=this.resumingFrom.currentAnimation)||void 0===n||n.stop()),this.pendingAnimation&&(Pr.update(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Cr.update(()=>{ci.hasAnimatedSinceResize=!0,this.currentAnimation=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=Si(e)?e:ms(e);return r.start(pl("",r,t,n)),{stop:()=>r.stop(),isAnimating:()=>r.isAnimating()}}(0,1e3,Oe(Oe({},e),{},{onUpdate:t=>{var n;this.mixTargetDelta(t),null===(n=e.onUpdate)||void 0===n||n.call(e,t)},onComplete:()=>{var t;null===(t=e.onComplete)||void 0===t||t.call(e),this.completeAnimation()}})),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){var e;this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0),null===(e=this.getStack())||void 0===e||e.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){var e;this.currentAnimation&&(null===(e=this.mixTargetDelta)||void 0===e||e.call(this,1e3),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const e=this.getLead();let{targetWithTransforms:t,target:n,layout:r,latestValues:i}=e;if(t&&n&&r){if(this!==e&&this.layout&&r&&Hu(this.options.animationType,this.layout.layoutBox,r.layoutBox)){n=this.target||{x:{min:0,max:0},y:{min:0,max:0}};const t=zl(this.layout.layoutBox.x);n.x.min=e.target.x.min,n.x.max=n.x.min+t;const r=zl(this.layout.layoutBox.y);n.y.min=e.target.y.min,n.y.max=n.y.min+r}cu(t,n),dc(t,i),Bl(this.projectionDeltaWithTransform,this.layoutCorrected,t,i)}}registerSharedNode(e,t){var n,r,i;this.sharedNodes.has(e)||this.sharedNodes.set(e,new xu);this.sharedNodes.get(e).add(t),t.promote({transition:null===(n=t.options.initialPromotionConfig)||void 0===n?void 0:n.transition,preserveFollowOpacity:null===(i=null===(r=t.options.initialPromotionConfig)||void 0===r?void 0:r.shouldPreserveFollowOpacity)||void 0===i?void 0:i.call(r,t)})}isLead(){const e=this.getStack();return!e||e.lead===this}getLead(){var e;const{layoutId:t}=this.options;return t&&(null===(e=this.getStack())||void 0===e?void 0:e.lead)||this}getPrevLead(){var e;const{layoutId:t}=this.options;return t?null===(e=this.getStack())||void 0===e?void 0:e.prevLead:void 0}getStack(){const{layoutId:e}=this.options;if(e)return this.root.sharedNodes.get(e)}promote(){let{needsReset:e,transition:t,preserveFollowOpacity:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=this.getStack();r&&r.promote(this,n),e&&(this.projectionDelta=void 0,this.needsReset=!0),t&&this.setOptions({transition:t})}relegate(){const e=this.getStack();return!!e&&e.relegate(this)}resetRotation(){const{visualElement:e}=this.options;if(!e)return;let t=!1;const{latestValues:n}=e;if((n.rotate||n.rotateX||n.rotateY||n.rotateZ)&&(t=!0),!t)return;const r={};for(let i=0;i<Su.length;i++){const t="rotate"+Su[i];n[t]&&(r[t]=n[t],e.setStaticValue(t,0))}null===e||void 0===e||e.render();for(const i in r)e.setStaticValue(i,r[i]);e.scheduleRender()}getProjectionStyles(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,n,r;const i={};if(!this.instance||this.isSVG)return i;if(!this.isVisible)return{visibility:"hidden"};i.visibility="";const a=null===(t=this.options.visualElement)||void 0===t?void 0:t.getProps().transformTemplate;if(this.needsReset)return this.needsReset=!1,i.opacity="",i.pointerEvents=xa(e.pointerEvents)||"",i.transform=a?a(this.latestValues,""):"none",i;const s=this.getLead();if(!this.projectionDelta||!this.layout||!s.target){const t={};return this.options.layoutId&&(t.opacity=void 0!==this.latestValues.opacity?this.latestValues.opacity:1,t.pointerEvents=xa(e.pointerEvents)||""),this.hasProjected&&!$l(this.latestValues)&&(t.transform=a?a({},""):"none",this.hasProjected=!1),t}const o=s.animationValues||s.latestValues;this.applyTransformsToTarget(),i.transform=bu(this.projectionDeltaWithTransform,this.treeScale,o),a&&(i.transform=a(o,i.transform));const{x:l,y:c}=this.projectionDelta;i.transformOrigin="".concat(100*l.origin,"% ").concat(100*c.origin,"% 0"),s.animationValues?i.opacity=s===this?null!==(r=null!==(n=o.opacity)&&void 0!==n?n:this.latestValues.opacity)&&void 0!==r?r:1:this.preserveOpacity?this.latestValues.opacity:o.opacityExit:i.opacity=s===this?void 0!==o.opacity?o.opacity:"":void 0!==o.opacityExit?o.opacityExit:0;
2for(const u in xi){if(void 0===o[u])continue;const{correct:e,applyTo:t}=xi[u],n=e(o[u],s);if(t){const e=t.length;for(let r=0;r<e;r++)i[t[r]]=n}else i[u]=n}return this.options.layoutId&&(i.pointerEvents=s===this?xa(e.pointerEvents)||"":"none"),i}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(e=>{var t;return null===(t=e.currentAnimation)||void 0===t?void 0:t.stop()}),this.root.nodes.forEach(Nu),this.root.sharedNodes.clear()}}}function Tu(e){e.updateLayout()}function Au(e){var t,n,r;const i=(null===(t=e.resumeFrom)||void 0===t?void 0:t.snapshot)||e.snapshot;if(e.isLead()&&e.layout&&i&&e.hasListeners("didUpdate")){const{layoutBox:t,measuredBox:n}=e.layout,{animationType:r}=e.options,a=i.source!==e.layout.source;"size"===r?Jl(e=>{const n=a?i.measuredBox[e]:i.layoutBox[e],r=zl(n);n.min=t[e].min,n.max=n.min+r}):Hu(r,i.layoutBox,t)&&Jl(e=>{const n=a?i.measuredBox[e]:i.layoutBox[e],r=zl(t[e]);n.max=n.min+r});const s={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};Bl(s,t,i.layoutBox);const o={x:{translate:0,scale:1,origin:0,originPoint:0},y:{translate:0,scale:1,origin:0,originPoint:0}};a?Bl(o,e.applyTransform(n,!0),i.measuredBox):Bl(o,t,i.layoutBox);const l=!gu(s);let c=!1;if(!e.resumeFrom){const n=e.getClosestProjectingParent();if(n&&!n.resumeFrom){const{snapshot:e,layout:r}=n;if(e&&r){const n={x:{min:0,max:0},y:{min:0,max:0}};Vl(n,i.layoutBox,e.layoutBox);const a={x:{min:0,max:0},y:{min:0,max:0}};Vl(a,t,r.layoutBox),vu(n,a)||(c=!0)}}}e.notifyListeners("didUpdate",{layout:t,snapshot:i,delta:o,layoutDelta:s,hasLayoutChanged:l,hasRelativeTargetChanged:c})}else e.isLead()&&(null===(r=(n=e.options).onExitComplete)||void 0===r||r.call(n));e.options.transition=void 0}function Cu(e){e.isProjectionDirty||(e.isProjectionDirty=Boolean(e.parent&&e.parent.isProjectionDirty)),e.isTransformDirty||(e.isTransformDirty=Boolean(e.parent&&e.parent.isTransformDirty))}function Pu(e){e.clearSnapshot()}function Nu(e){e.clearMeasurements()}function Ru(e){const{visualElement:t}=e.options;(null===t||void 0===t?void 0:t.getProps().onBeforeLayoutMeasure)&&t.notify("BeforeLayoutMeasure"),e.resetTransform()}function Lu(e){e.finishAnimation(),e.targetDelta=e.relativeTarget=e.target=void 0}function ku(e){e.resolveTargetDelta()}function Iu(e){e.calcProjection()}function Du(e){e.resetRotation()}function zu(e){e.removeLeadSnapshot()}function Ou(e,t,n){e.translate=io(t.translate,0,n),e.scale=io(t.scale,1,n),e.origin=t.origin,e.originPoint=t.originPoint}function ju(e,t,n,r){e.min=io(t.min,n.min,r),e.max=io(t.max,n.max,r)}function Bu(e){return e.animationValues&&void 0!==e.animationValues.opacityExit}const Fu={duration:.45,ease:[.4,0,.1,1]};function Uu(e,t){let n=e.root;for(let i=e.path.length-1;i>=0;i--)if(Boolean(e.path[i].instance)){n=e.path[i];break}const r=(n&&n!==e.root?n.instance:document).querySelector('[data-projection-id="'.concat(t,'"]'));r&&e.mount(r,!0)}function Vu(e){e.min=Math.round(e.min),e.max=Math.round(e.max)}function Hu(e,t,n){return"position"===e||"preserve-aspect"===e&&!Ol(yu(t),yu(n),.2)}const Wu=Eu({attachResizeListener:(e,t)=>Ta(e,"resize",t),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),Gu={current:void 0},qu=Eu({measureScroll:e=>({x:e.scrollLeft,y:e.scrollTop}),defaultParent:()=>{if(!Gu.current){const e=new Wu(0,{});e.mount(window),e.setOptions({layoutScroll:!0}),Gu.current=e}return Gu.current},resetTransform:(e,t)=>{e.style.transform=void 0!==t?t:"none"},checkIsScrollRoot:e=>Boolean("fixed"===window.getComputedStyle(e).position)}),Xu=Oe(Oe(Oe(Oe({},Al),as),gc),$c),Yu=gi((e,t)=>function(e,t,n,r,i){let{forwardMotionProps:a=!1}=t;return Oe(Oe({},yi(e)?Sa:Ma),{},{preloadedFeatures:n,useRender:ca(a),createVisualElement:r,projectionNodeConstructor:i,Component:e})}(e,t,Xu,qc,qu));const Ju=()=>{const[e,t]=(0,i.useState)(!1),[n,r]=(0,i.useState)(!1),[a,s]=(0,i.useState)("home"),[o,l]=(0,i.useState)(!1),[c,u]=(0,i.useState)(!1),{user:d,logout:h}
2=(0,i.useContext)(vr),p=ee(),f=K(),m=[{name:"Prajna Kritrima Lab",path:"/prajna-kritrima-lab"},{name:"Aanu Tattva Lab",path:"/aanu-tattva-lab"},{name:"Chitra Darshan Lab",path:"/chitra-darshan-lab"},{name:"Varahamihira Lab",path:"/varahamihira-lab"},{name:"Bhaskaracharya Lab",path:"/bhaskaracharya-lab"},{name:"Agastya Lab",path:"/agastya-lab"},{name:"Navya Vigyan Lab",path:"/navya-vigyan-lab"}],g=[{name:"Home",path:"#home",id:"home"},{name:"About",path:"#about",id:"about"},{name:"Labs",path:"#labs",id:"labs",sublinks:m},{name:"Events",path:"#events",id:"events"},{name:"Contact",path:"#contact",id:"contact"},{name:"Blogs",path:"/blogs",id:"blogs"}],v=m.some(e=>f.pathname===e.path);(0,i.useEffect)(()=>{const e=()=>{const e=window.scrollY;if(r(e>50),"/"===f.pathname){const e=g.filter(e=>e.path.startsWith("#")).map(e=>e.id);for(let t=e.length-1;t>=0;t--){const n=document.getElementById(e[t]);if(n){const r=n.getBoundingClientRect();if(r.top<=200&&r.bottom>200){s(e[t]);break}}}}};return window.addEventListener("scroll",e),e(),()=>window.removeEventListener("scroll",e)},[g,f.pathname]);const y=(e,n)=>{if(t(!1),e.startsWith("#"))if("/"!==f.pathname)p("/"),setTimeout(()=>{const t=document.getElementById(e.substring(1));if(t){const e=t.offsetTop-80;window.scrollTo({top:e,behavior:"smooth"}),s(n)}},300);else{const t=document.getElementById(e.substring(1));if(t){const e=t.offsetTop-80;window.scrollTo({top:e,behavior:"smooth"}),s(n)}}},x=()=>{h(),t(!1),p("/")};return(0,gr.jsx)("nav",{className:"fixed top-0 left-0 right-0 z-50 transition-all duration-300 ".concat(n?"bg-black/50 backdrop-blur-md shadow-lg border-b border-white/10":"bg-transparent"),children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)("div",{className:"flex justify-between items-center h-16",children:[(0,gr.jsxs)(Pe,{to:"/",className:"flex items-center space-x-2 flex-shrink-0 cursor-pointer hover:opacity-80 transition-opacity duration-200",onClick:()=>t(!1),children:[(0,gr.jsx)("div",{className:"p-1 bg-white/ rounded-lg",children:(0,gr.jsx)("img",{src:"/new-logo.jpg",alt:"Singularity Lab Logo",className:"h-16 w-16"})}),(0,gr.jsx)("span",{className:"text-xl font-bold bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent whitespace-nowrap font-heading",children:"The Singularity Lab - SRMAP"})]}),(0,gr.jsxs)("div",{className:"hidden md:flex items-center space-x-1",children:[g.map(e=>e.sublinks?(0,gr.jsxs)("div",{className:"relative",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[(0,gr.jsxs)("button",{className:"flex items-center transition-colors duration-200 px-3 py-2 rounded-lg ".concat(a===e.id&&"/"===f.pathname||v?"text-blue-400 font-semibold":"text-gray-300 hover:text-blue-400"," font-heading"),children:[e.name,(0,gr.jsx)(Ve,{className:"w-4 h-4 ml-1 transition-transform ".concat(o?"rotate-180":"")})]}),(0,gr.jsx)(Yr,{children:o&&(0,gr.jsx)(Yu.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},className:"absolute top-full left-1/2 -translate-x-1/2 mt-2 w-64 bg-black/80 backdrop-blur-md border border-white/20 rounded-lg shadow-lg",children:(0,gr.jsx)("div",{className:"p-2",children:e.sublinks.map(e=>(0,gr.jsx)(Pe,{to:e.path,className:"block text-left w-full px-4 py-2 text-gray-300 hover:bg-white/10 hover:text-blue-400 rounded-md transition-colors",onClick:()=>l(!1),children:e.name},e.path))})})})]},e.name):e.path.startsWith("#")?(0,gr.jsx)("button",{onClick:()=>y(e.path,e.id),className:"transition-colors duration-200 px-3 py-2 rounded-lg ".concat(a===e.id&&"/"===f.pathname?"text-blue-400 font-semibold":"text-gray-300 hover:text-blue-400"," font-heading"),children:e.name},e.path):(0,gr.jsx)(Pe,{to:e.path,className:"transition-colors duration-200 px-3 py-2 rounded-lg ".concat(f.pathname===e.path?"text-blue-400 font-semibold":"text-gray-300 hover:text-blue-400"," font-heading"),children:e.name},e.path)),(0,gr.jsx)("div",{className:"flex items-center space-x-4 pl-4",children:d?(0,gr.jsxs)(gr.Fragment,{children:[(0,gr.jsxs)("span",{className:"text-white font-semibold",children:["Hi, ",d.username]}),(0,gr.jsx)("button",{onClick:x,className:"text-gray-300 hover:text-white bg-red-600 px-3 py-2 rounded-lg transition-colors",children:"Logout"})]}):(0,gr.jsxs)(gr.Fragment,{children:[(0,gr.jsx)(Pe,{to:"/login",className:"text-gray-300 hover:text-white px-3 py-2 rounded-lg transition-colors",children:"Login"}),(0,gr.jsx)(Pe,{to:"/register",className:"text-white bg-blue-500 hover:bg-blue-600 px-3 py-2 rounded-lg transition-colors",children:"Register"})]})})]}),(0,gr.jsx)("button",{onClick:()=>t(!e),className:"md:hidden text-gray-300 hover:text-blue-400",children:e?(0,gr.jsx)(He,{className:"w-6 h-6"}):(0,gr.jsx)(We,{className:"w-6 h-6"})})]}),(0,gr.jsx)(Yr,{children:e&&(0,gr.jsx)(Yu.div,{initial:{opacity:0,height:0}
2,animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},className:"md:hidden bg-black/95 overflow-hidden",children:(0,gr.jsxs)("div",{className:"px-2 pt-2 pb-3 space-y-1 sm:px-3",children:[g.map(e=>e.sublinks?(0,gr.jsxs)("div",{children:[(0,gr.jsxs)("button",{onClick:()=>u(!c),className:"flex justify-between items-center w-full text-left py-2 px-3 rounded-lg hover:bg-white/10 ".concat(v?"text-blue-400":"text-gray-300"),children:[(0,gr.jsx)("span",{children:e.name}),(0,gr.jsx)(Ve,{className:"w-4 h-4 ml-1 transition-transform ".concat(c?"rotate-180":"")})]}),c&&(0,gr.jsx)("div",{className:"pl-4 pt-2 space-y-1",children:e.sublinks.map(e=>(0,gr.jsx)(Pe,{to:e.path,onClick:()=>t(!1),className:"block py-2 px-3 rounded-lg text-gray-400 hover:bg-white/10 hover:text-blue-400",children:e.name},e.path))})]},e.name):e.path.startsWith("#")?(0,gr.jsx)("button",{onClick:()=>y(e.path,e.id),className:"block w-full text-left py-2 px-3 rounded-lg ".concat(a===e.id&&"/"===f.pathname?"text-blue-400 bg-white/10":"text-gray-300 hover:bg-white/10"),children:e.name},e.path):(0,gr.jsx)(Pe,{to:e.path,onClick:()=>t(!1),className:"block w-full text-left py-2 px-3 rounded-lg ".concat(f.pathname===e.path?"text-blue-400 bg-white/10":"text-gray-300 hover:bg-white/10"),children:e.name},e.path)),(0,gr.jsx)("div",{className:"border-t border-white/20 mt-4 pt-4 space-y-2",children:d?(0,gr.jsxs)(gr.Fragment,{children:[(0,gr.jsxs)("span",{className:"block text-white px-3 py-2",children:["Welcome, ",d.username]}),(0,gr.jsx)("button",{onClick:x,className:"block w-full text-left text-red-400 hover:bg-white/10 py-2 px-3 rounded-lg",children:"Logout"})]}):(0,gr.jsxs)(gr.Fragment,{children:[(0,gr.jsx)(Pe,{to:"/login",onClick:()=>t(!1),className:"block text-gray-300 hover:bg-white/10 py-2 px-3 rounded-lg",children:"Login"}),(0,gr.jsx)(Pe,{to:"/register",onClick:()=>t(!1),className:"block text-gray-300 hover:bg-white/10 py-2 px-3 rounded-lg",children:"Register"})]})})]})})})]})})},Qu=Ue("Instagram",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]]),Zu=Ue("Twitter",[["path",{d:"M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z",key:"pff0z6"}]]),Ku=Ue("Linkedin",[["path",{d:"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z",key:"c2jq9f"}],["rect",{width:"4",height:"12",x:"2",y:"9",key:"mk3on5"}],["circle",{cx:"4",cy:"4",r:"2",key:"bt5ra8"}]]),$u=Ue("ExternalLink",[["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}],["polyline",{points:"15 3 21 3 21 9",key:"mznyad"}],["line",{x1:"10",x2:"21",y1:"14",y2:"3",key:"18c3s4"}]]),ed=Ue("Dribbble",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M19.13 5.09C15.22 9.14 10 10.44 2.25 10.94",key:"hpej1"}],["path",{d:"M21.75 12.84c-6.62-1.41-12.14 1-16.38 6.32",key:"1tr44o"}],["path",{d:"M8.56 2.75c4.37 6 6 9.42 8 17.72",key:"kbh691"}]]),td=Ue("MapPin",[["path",{d:"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z",key:"2oe9fu"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]),nd=Ue("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]),rd=Ue("Phone",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]),id=()=>{const e=[{name:"Instagram",href:"http://www.instagram.com/thesingularity.srmap",icon:Qu},{name:"X / Twitter",href:"#",icon:Zu},{name:"LinkedIn",href:"https://www.linkedin.com/company/the-singularity-advanced-research-lab-srmap/",icon:Ku},{name:"Behance",href:"#",icon:$u},{name:"Dribbble",href:"#",icon:ed}];return(0,gr.jsx)("footer",{className:"bg-black text-white py-16 px-4",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto",children:[(0,gr.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8 mb-12",children:[(0,gr.jsxs)("div",{className:"lg:col-span-1",children:[(0,gr.jsx)("h3",{className:"text-xl font-bold font-heading mb-4",children:"Social"}),(0,gr.jsx)("ul",{className:"space-y-3",children:e.map(e=>(0,gr.jsx)("li",{children:(0,gr.jsxs)("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"flex items-center text-gray-300 hover:text-white transition-colors",children:[(0,gr.jsx)(e.icon,{className:"w-5 h-5 mr-3"}),(0,gr.jsx)("span",{children:e.name})]})},e.name))})]}),(0,gr.jsxs)("div",{className:"lg:col-span-1",children:[(0,gr.jsx)("h3",{className:"text-xl font-bold font-heading mb-4",children:"Menu"}),(0,gr.jsx)("ul",{className:"space-y-2",children:[{name:"Work",path:"#"},{name:"Exhibitions",path:"#"},{name:"Stories",path:"#"},{name:"About",path:"#"},{name:"Inquiries",path:"#"}].map(e=>(0,gr.jsx)("li",{children:(0,gr.jsx)("a",{href:e.path,className:"text-gray-300 hover:text-white transition-colors",children:e.name})},e.name))})]}),(0,gr.jsxs)("div",{className:"lg:col-span-1",children:[(0,gr.jsx)("h3",{className:"text-xl font-bold font-heading mb-4",children:"Contact Info"}),(0,gr.jsxs)("ul",{className:"space-y-3 text-gray-300",children:[(0,gr.jsxs)("li",{className:"flex items-start",children:[(0,gr.jsx)(td,{className:"w-5 h-5 mr-3 mt-1 flex-shrink-0"}),(0,gr.jsx)("span",{children:"University Research Complex, Technology Building, Room 404"})]}),(0,gr.jsxs)("li",{className:"flex items-center",children:[(0,gr.jsx)(nd,{className:"w-5 h-5 mr-3"}),(0,gr.jsx)("a",{href:"mailto:[email protected]",className:"hover:text-white",children:"[email protected]"})]}),(0,gr.jsxs)("li",{className:"flex items-center",children:[(0,gr.jsx)(rd,{className:"w-5 h-5 mr-3"}),(0,gr.jsx)("span",{children:"+1 (234) 567-8900"})]})]})]}),(0,gr.jsxs)("div",{className:"lg:col-span-1",children:[(0,gr.jsx)("h3",{className:"text-xl font-bold font-heading mb-4",children:"Newsletter"}),(0,gr.jsx)("p",{className:"text-sm text-gray-400 mb-4",children:"Subscribe to stay up to date with the latest news and projects."}),(0,gr.jsxs)("form",{className:"space-y-4",children:[(0,gr.jsx)("input",{type:"email",placeholder:"Email address",className:"w-full py-3 px-4 bg-white/10 text-white rounded-lg focus:outline-none focus:border-cyan-500"}),(0,gr.jsx)("button",{type:"submit",className:"w-full py-3 px-6 bg-white text-black font-bold rounded-lg hover:bg-gray-200 transition-colors",children:"Subscribe"})]})]})]}),(0,gr.jsx)("hr",{className:"border-t border-white/20 mb-8"}),(0,gr.jsxs)("div",{className:"flex flex-col md:flex-row justify-between items-center text-sm text-gray-400",children:[(0,gr.jsx)("p",{className:"mb-4 md:mb-0",children:"\xa9 2024 The Singularity Lab. All rights reserved."}),(0,gr.jsxs)("div",{className:"flex space-x-6",children:[(0,gr.jsx)("a",{href:"#",className:"hover:text-white",children:"Privacy Policy"}),(0,gr.jsx)("a",{href:"#",className:"hover:text-white",children:"Terms of Service"})]})]})]})})},ad=Ue("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),sd=Ue("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),od="149",ld={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},cd={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},ud=0,dd=1,hd=2,pd=3,fd=0,md=1,gd=2,vd=3,yd=0,xd=1,bd=2,wd=2,_d=0,Sd=1,Md=2,Ed=3,Td=4,Ad=5,Cd=100,Pd=101,Nd=102,Rd=103,Ld=104,kd=200,Id=201,Dd=202,zd=203,Od=204,jd=205,Bd=206,Fd=207,Ud=208,Vd=209,Hd=210,Wd=0,Gd=1,qd=2,Xd=3,Yd=4,Jd=5,Qd=6,Zd=7,Kd=0,$d=1,eh=2,th=0,nh=1,rh=2,ih=3,ah=4,sh=5,oh=300,lh=301,ch=302,uh=303,dh=304,hh=306,ph=1e3,fh=1001,mh=1002,gh=1003,vh=1004,yh=1004,xh=1005,bh=1005,wh=1006,_h=1007,Sh=1007,Mh=1008,Eh=1008,Th=1009,Ah=1010,Ch=1011,Ph=1012,Nh=1013,Rh=1014,Lh=1015,kh=1016,Ih=1017,Dh=1018,zh=1020,Oh=1021,jh=1023,Bh=1024,Fh=1025,Uh=1026,Vh=1027,Hh=1028,Wh=1029,Gh=1030,qh=1031,Xh=1033,Yh=33776,Jh=33777,Qh=33778,Zh=33779,Kh=35840,$h=35841,ep=35842,tp=35843,np=36196,rp=37492,ip=37496,ap=37808,sp=37809,op=37810,lp=37811,cp=37812,up=37813,dp=37814,hp=37815,pp=37816,fp=37817,mp=37818,gp=37819,vp=37820,yp=37821,xp=36492,bp=36283,wp=36284,_p=36285,Sp=36286,Mp=2200,Ep=2201,Tp=2202,Ap=2300,Cp=2301,Pp=2302,Np=2400,Rp=2401,Lp=2402,kp=2500,Ip=2501,Dp=0,zp=1,Op=2,jp=3e3,Bp=3001,Fp=3200,Up=3201,Vp=0,Hp=1,Wp="",Gp="srgb",qp="srgb-linear",Xp=0,Yp=7680,Jp=7681,Qp=7682,Zp=7683,Kp=34055,$p=34056,ef=5386,tf=512,nf=513,rf=514,af=515,sf=516,of=517,lf=518,cf=519,uf=35044,df=35048,hf=35040,pf=35045,ff=35049,mf=35041,gf=35046,vf=35050,yf=35042,xf="100",bf="300 es",wf=1035;class _f{addEventListener(e,t){void 0===this._listeners&&(this._listeners={});const n=this._listeners;void 0===n[e]&&(n[e]=[]),-1===n[e].indexOf(t)&&n[e].push(t)}hasEventListener(e,t){if(void 0===this._listeners)return!1;const n=this._listeners;return void 0!==n[e]&&-1!==n[e].indexOf(t)}removeEventListener(e,t){if(void 0===this._listeners)return;const n=this._listeners[e];if(void 0!==n){const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}dispatchEvent(e){if(void 0===this._listeners)return;const t=this._listeners[e.type];if(void 0!==t){e.target=this;const n=t.slice(0);for(let t=0,r=n.length;t<r;t++)n[t].call(this,e);e.target=null}}}const Sf=["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","5
25","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 Mf=1234567;const Ef=Math.PI/180,Tf=180/Math.PI;function Af(){const e=4294967295*Math.random()|0,t=4294967295*Math.random()|0,n=4294967295*Math.random()|0,r=4294967295*Math.random()|0;return(Sf[255&e]+Sf[e>>8&255]+Sf[e>>16&255]+Sf[e>>24&255]+"-"+Sf[255&t]+Sf[t>>8&255]+"-"+Sf[t>>16&15|64]+Sf[t>>24&255]+"-"+Sf[63&n|128]+Sf[n>>8&255]+"-"+Sf[n>>16&255]+Sf[n>>24&255]+Sf[255&r]+Sf[r>>8&255]+Sf[r>>16&255]+Sf[r>>24&255]).toLowerCase()}function Cf(e,t,n){return Math.max(t,Math.min(n,e))}function Pf(e,t){return(e%t+t)%t}function Nf(e,t,n){return(1-n)*e+n*t}function Rf(e){return 0===(e&e-1)&&0!==e}function Lf(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))}function kf(e){return Math.pow(2,Math.floor(Math.log(e)/Math.LN2))}function If(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return e/65535;case Uint8Array:return e/255;case Int16Array:return Math.max(e/32767,-1);case Int8Array:return Math.max(e/127,-1);default:throw new Error("Invalid component type.")}}function Df(e,t){switch(t.constructor){case Float32Array:return e;case Uint16Array:return Math.round(65535*e);case Uint8Array:return Math.round(255*e);case Int16Array:return Math.round(32767*e);case Int8Array:return Math.round(127*e);default:throw new Error("Invalid component type.")}}var zf=Object.freeze({__proto__:null,DEG2RAD:Ef,RAD2DEG:Tf,ceilPowerOfTwo:Lf,clamp:Cf,damp:function(e,t,n,r){return Nf(e,t,1-Math.exp(-n*r))},degToRad:function(e){return e*Ef},denormalize:If,euclideanModulo:Pf,floorPowerOfTwo:kf,generateUUID:Af,inverseLerp:function(e,t,n){return e!==t?(n-e)/(t-e):0},isPowerOfTwo:Rf,lerp:Nf,mapLinear:function(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)},normalize:Df,pingpong:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return t-Math.abs(Pf(e,2*t)-t)},radToDeg:function(e){return e*Tf},randFloat:function(e,t){return e+Math.random()*(t-e)},randFloatSpread:function(e){return e*(.5-Math.random())},randInt:function(e,t){return e+Math.floor(Math.random()*(t-e+1))},seededRandom:function(e){void 0!==e&&(Mf=e);let t=Mf+=1831565813;return t=Math.imul(t^t>>>15,1|t),t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296},setQuaternionFromProperEuler:function(e,t,n,r,i){const a=Math.cos,s=Math.sin,o=a(n/2),l=s(n/2),c=a((t+r)/2),u=s((t+r)/2),d=a((t-r)/2),h=s((t-r)/2),p=a((r-t)/2),f=s((r-t)/2);switch(i){case"XYX":e.set(o*u,l*d,l*h,o*c);break;case"YZY":e.set(l*h,o*u,l*d,o*c);break;case"ZXZ":e.set(l*d,l*h,o*u,o*c);break;case"XZX":e.set(o*u,l*f,l*p,o*c);break;case"YXY":e.set(l*p,o*u,l*f,o*c);break;case"ZYZ":e.set(l*f,l*p,o*u,o*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}},smootherstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*e*(e*(6*e-15)+10)},smoothstep:function(e,t,n){return e<=t?0:e>=n?1:(e=(e-t)/(n-t))*e*(3-2*e)}});class Of{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;Of.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}
vendor: 6,363 bytes, line 2
2sub(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,r=e.elements;return this.x=r[0]*t+r[3]*n+r[6],this.y=r[1]*t+r[4]*n+r[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=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}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}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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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),r=Math.sin(t),i=this.x-e.x,a=this.y-e.y;return this.x=i*n-a*r+e.x,this.y=i*r+a*n+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class jf{constructor(){jf.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1]}set(e,t,n,r,i,a,s,o,l){const c=this.elements;return c[0]=e,c[1]=r,c[2]=s,c[3]=t,c[4]=i,c[5]=o,c[6]=n,c[7]=a,c[8]=l,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,r=t.elements,i=this.elements,a=n[0],s=n[3],o=n[6],l=n[1],c=n[4],u=n[7],d=n[2],h=n[5],p=n[8],f=r[0],m=r[3],g=r[6],v=r[1],y=r[4],x=r[7],b=r[2],w=r[5],_=r[8];return i[0]=a*f+s*v+o*b,i[3]=a*m+s*y+o*w,i[6]=a*g+s*x+o*_,i[1]=l*f+c*v+u*b,i[4]=l*m+c*y+u*w,i[7]=l*g+c*x+u*_,i[2]=d*f+h*v+p*b,i[5]=d*m+h*y+p*w,i[8]=d*g+h*x+p*_,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],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],c=e[8];return t*a*c-t*s*l-n*i*c+n*s*o+r*i*l-r*a*o}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],c=e[8],u=c*a-s*l,d=s*o-c*i,h=l*i-a*o,p=t*u+n*d+r*h;if(0===p)return this.set(0,0,0,0,0,0,0,0,0);const f=1/p;return e[0]=u*f,e[1]=(r*l-c*n)*f,e[2]=(s*n-r*a)*f,e[3]=d*f,e[4]=(c*t-r*o)*f,e[5]=(r*i-s*t)*f,e[6]=h*f,e[7]=(n*o-l*t)*f,e[8]=(a*t-n*i)*f,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,r,i,a,s){const o=Math.cos(i),l=Math.sin(i);return this.set(n*o,n*l,-n*(o*a+l*s)+a+e,-r*l,r*o,-r*(-l*a+o*s)+s+t,0,0,1),this}scale(e,t){return this.premultiply(Bf.makeScale(e,t)),this}rotate(e){return this.premultiply(Bf.makeRotation(-e)),this}translate(e,t){return this.premultiply(Bf.makeTranslation(e,t)),this}makeTranslation(e,t){return 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 r=0;r<9;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let n=0;n<9;n++)this.elements[n]=e[n+t];return this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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 Bf=new jf;function Ff(e){for(let t=e.length-1;t>=0;--t)if(e[t]>=65535)return!0;return!1}const Uf={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function Vf(e,t){return new Uf[e](t)}function Hf(e){return document.createElementNS("http://www.w3.org/1999/xhtml",e)}function Wf(e){return e<.04045?.0773993808*e:Math.pow(.9478672986*e+.0521327014,2.4)}
2function Gf(e){return e<.0031308?12.92*e:1.055*Math.pow(e,.41666)-.055}const qf={[Gp]:{[qp]:Wf},[qp]:{[Gp]:Gf}},Xf={legacyMode:!0,get workingColorSpace(){return qp},set workingColorSpace(e){console.warn("THREE.ColorManagement: .workingColorSpace is readonly.")},convert:function(e,t,n){if(this.legacyMode||t===n||!t||!n)return e;if(qf[t]&&void 0!==qf[t][n]){const r=qf[t][n];return e.r=r(e.r),e.g=r(e.g),e.b=r(e.b),e}throw new Error("Unsupported color space conversion.")},fromWorkingColorSpace:function(e,t){return this.convert(e,this.workingColorSpace,t)},toWorkingColorSpace:function(e,t){return this.convert(e,t,this.workingColorSpace)}},Yf={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},Jf={r:0,g:0,b:0},Qf={h:0,s:0,l:0},Zf={h:0,s:0,l:0};function Kf(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+6*(t-e)*(2/3-n):e}function $f(e,t){return t.r=e.r,t.g=e.g,t.b=e.b,t}class em{constructor(e,t,n){return this.isColor=!0,this.r=1,this.g=1,this.b=1,void 0===t&&void 0===n?this.set(e):this.setRGB(e,t,n)}set(e){return e&&e.isColor?this.copy(e):"number"===typeof e?this.setHex(e):"string"===typeof e&&this.setStyle(e),this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gp;return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(255&e)/255,Xf.toWorkingColorSpace(this,t),this}setRGB(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Xf.workingColorSpace;return this.r=e,this.g=t,this.b=n,Xf.toWorkingColorSpace(this,r),this}setHSL(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Xf.workingColorSpace;if(e=Pf(e,1),t=Cf(t,0,1),n=Cf(n,0,1),0===t)this.r=this.g=this.b=n;else{const r=n<=.5?n*(1+t):n+t-n*t,i=2*n-r;this.r=Kf(i,r,e+1/3),this.g=Kf(i,r,e),this.b=Kf(i,r,e-1/3)}return Xf.toWorkingColorSpace(this,r),this}setStyle(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gp;function r(t){void 0!==t&&parseFloat(t)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}if(t=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(e)){let e;const i=t[1],a=t[2];switch(i){case"rgb":case"rgba":if(e=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(255,parseInt(e[1],10))/255,this.g=Math.min(255,parseInt(e[2],10))/255,this.b=Math.min(255,parseInt(e[3],10))/255,Xf.toWorkingColorSpace(this,n),r(e[4]),this;if(e=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return this.r=Math.min(100,parseInt(e[1],10))/100,this.g=Math.min(100,parseInt(e[2],10))/100,this.b=Math.min(100,parseInt(e[3],10))/100,Xf.toWorkingColorSpace(this,n),r(e[4]),this;break;case"hsl":case"hsla":if(e=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a)){const t=parseFloat(e[1])/360,i=parseFloat(e[2])/100,a=parseFloat(e[3])/100;return r(e[4]),this.setHSL(t,i,a,n)}}}else if(t=/^\#([A-Fa-f\d]+)$/.exec(e)){const e=t[1],r=e.length;if(3===r)return this.r=parseInt(e.charAt(0)+e.charAt(0),16)/255,this.g=parseInt(e.charAt(1)+e.charAt(1),16)/255,this.b=parseInt(e.charAt(2)+e.charAt(2),16)/255,Xf.toWorkingColorSpace(this,n),this;if(6===r)return this.r=parseInt(e.charAt(0)+e.charAt(1),16)/255,this.g=parseInt(e.charAt(2)+e.charAt(3),16)/255,this.b=parseInt(e.charAt(4)+e.charAt(5),16)/255,Xf.toWorkingColorSpace(this,n),this}return e&&e.length>0?this.setColorName(e,n):this}setColorName(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gp;const n=Yf[e.toLowerCase()];return void 0!==n?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=Wf(e.r),this.g=Wf(e.g),this.b=Wf(e.b),this}copyLinearToSRGB(e){return this.r=Gf(e.r),this.g=Gf(e.g),this.b=Gf(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Gp;return Xf.fromWorkingColorSpace($f(this,Jf),e),Cf(255*Jf.r,0,255)<<16^Cf(255*Jf.g,0,255)<<8^Cf(255*Jf.b,0,255)}getHexString(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Gp;return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Xf.workingColorSpace;Xf.fromWorkingColorSpace($f(this,Jf),t);const n=Jf.r,r=Jf.g,i=Jf.b,a=Math.max(n,r,i),s=Math.min(n,r,i);let o,l;const c=(s+a)/2;if(s===a)o=0,l=0;else{const e=a-s;switch(l=c<=.5?e/(a+s):e/(2-a-s),a){case n:o=(r-i)/e+(r<i?6:0);break;case r:o=(i-n)/e+2;break;case i:o=(n-r)/e+4}o/=6}return e.h=o,e.s=l,e.l=c,e}getRGB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Xf.workingColorSpace;return Xf.fromWorkingColorSpace($f(this,Jf),t),e.r=Jf.r,e.g=Jf.g,e.b=Jf.b,e}getStyle(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Gp;return Xf.fromWorkingColorSpace($f(this,Jf),e),e!==Gp?"color(".concat(e," ").concat(Jf.r," ").concat(Jf.g," ").concat(Jf.b,")"):"rgb(".concat(255*Jf.r|0,",").concat(255*Jf.g|0,",").concat(255*Jf.b|0,")")}offsetHSL(e,t,n){return this.getHSL(Qf),Qf.h+=e,Qf.s+=t,Qf.l+=n,this.setHSL(Qf.h,Qf.s,Qf.l),this}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}
2lerpColors(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(Qf),e.getHSL(Zf);const n=Nf(Qf.h,Zf.h,t),r=Nf(Qf.s,Zf.s,t),i=Nf(Qf.l,Zf.l,t);return this.setHSL(n,r,i),this}equals(e){return e.r===this.r&&e.g===this.g&&e.b===this.b}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.r=e[t],this.g=e[t+1],this.b=e[t+2],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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}}let tm;em.NAMES=Yf;class nm{static getDataURL(e){if(/^data:/i.test(e.src))return e.src;if("undefined"==typeof HTMLCanvasElement)return e.src;let t;if(e instanceof HTMLCanvasElement)t=e;else{void 0===tm&&(tm=Hf("canvas")),tm.width=e.width,tm.height=e.height;const n=tm.getContext("2d");e instanceof ImageData?n.putImageData(e,0,0):n.drawImage(e,0,0,e.width,e.height),t=tm}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("undefined"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap){const t=Hf("canvas");t.width=e.width,t.height=e.height;const n=t.getContext("2d");n.drawImage(e,0,0,e.width,e.height);const r=n.getImageData(0,0,e.width,e.height),i=r.data;for(let e=0;e<i.length;e++)i[e]=255*Wf(i[e]/255);return n.putImageData(r,0,0),t}if(e.data){const t=e.data.slice(0);for(let e=0;e<t.length;e++)t instanceof Uint8Array||t instanceof Uint8ClampedArray?t[e]=Math.floor(255*Wf(t[e]/255)):t[e]=Wf(t[e]);return{data:t,width:e.width,height:e.height}}return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."),e}}class rm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.isSource=!0,this.uuid=Af(),this.data=e,this.version=0}set needsUpdate(e){!0===e&&this.version++}toJSON(e){const t=void 0===e||"string"===typeof e;if(!t&&void 0!==e.images[this.uuid])return e.images[this.uuid];const n={uuid:this.uuid,url:""},r=this.data;if(null!==r){let e;if(Array.isArray(r)){e=[];for(let t=0,n=r.length;t<n;t++)r[t].isDataTexture?e.push(im(r[t].image)):e.push(im(r[t]))}else e=im(r);n.url=e}return t||(e.images[this.uuid]=n),n}}function im(e){return"undefined"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap?nm.getDataURL(e):e.data?{data:Array.from(e.data),width:e.width,height:e.height,type:e.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}let am=0;class sm extends _f{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:sm.DEFAULT_IMAGE,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:sm.DEFAULT_MAPPING,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:fh,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:fh,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:wh,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:Mh,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:jh,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:Th,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:sm.DEFAULT_ANISOTROPY,c=arguments.length>9&&void 0!==arguments[9]?arguments[9]:jp;super(),this.isTexture=!0,Object.defineProperty(this,"id",{value:am++}),this.uuid=Af(),this.name="",this.source=new rm(e),this.mipmaps=[],this.mapping=t,this.wrapS=n,this.wrapT=r,this.magFilter=i,this.minFilter=a,this.anisotropy=l,this.format=s,this.internalFormat=null,this.type=o,this.offset=new Of(0,0),this.repeat=new Of(1,1),this.center=new Of(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new jf,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=c,this.userData={},this.version=0,this.onUpdate=null,this.isRenderTargetTexture=!1,this.needsPMREMUpdate=!1}get image(){return this.source.data}set image(e){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.wrapS=e.wrapS,this.wrapT=e.wrapT,this.magFilter=e.magFilter,this.minFilter=e.minFilter,this.anisotropy=e.anisotropy,this.format=e.format,this.internalFormat=e.internalFormat,this.type=e.type,this.offset.copy(e.offset),this.repeat.copy(e.repeat),this.center.copy(e.center),this.rotation=e.rotation,this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrix.copy(e.matrix),this.generateMipmaps=e.generateMipmaps,this.premultiplyAlpha=e.premultiplyAlpha,this.flipY=e.flipY,this.unpackAlignment=e.unpackAlignment,this.encoding=e.encoding,this.userData=JSON.parse(JSON.stringify(e.userData)),this.needsUpdate=!0,this}toJSON(e){const t=void 0===e||"string"===typeof e;if(!t&&void 0!==e.textures[this.uuid])return e.textures[this.uuid];const n={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,image:this.source.toJSON(e).uuid,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.t
vendor: 5,041 bytes, line 2
2ype,encoding:this.encoding,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!==oh)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case ph:e.x=e.x-Math.floor(e.x);break;case fh:e.x=e.x<0?0:1;break;case mh:1===Math.abs(Math.floor(e.x)%2)?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x)}if(e.y<0||e.y>1)switch(this.wrapT){case ph:e.y=e.y-Math.floor(e.y);break;case fh:e.y=e.y<0?0:1;break;case mh:1===Math.abs(Math.floor(e.y)%2)?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y)}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){!0===e&&(this.version++,this.source.needsUpdate=!0)}}sm.DEFAULT_IMAGE=null,sm.DEFAULT_MAPPING=oh,sm.DEFAULT_ANISOTROPY=1;class om{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;om.prototype.isVector4=!0,this.x=e,this.y=t,this.z=n,this.w=r}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,t,n,r){return this.x=e,this.y=t,this.z=n,this.w=r,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=void 0!==e.w?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,r=this.z,i=this.w,a=e.elements;return this.x=a[0]*t+a[4]*n+a[8]*r+a[12]*i,this.y=a[1]*t+a[5]*n+a[9]*r+a[13]*i,this.z=a[2]*t+a[6]*n+a[10]*r+a[14]*i,this.w=a[3]*t+a[7]*n+a[11]*r+a[15]*i,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,r,i;const a=.01,s=.1,o=e.elements,l=o[0],c=o[4],u=o[8],d=o[1],h=o[5],p=o[9],f=o[2],m=o[6],g=o[10];if(Math.abs(c-d)<a&&Math.abs(u-f)<a&&Math.abs(p-m)<a){if(Math.abs(c+d)<s&&Math.abs(u+f)<s&&Math.abs(p+m)<s&&Math.abs(l+h+g-3)<s)return this.set(1,0,0,0),this;t=Math.PI;const e=(l+1)/2,o=(h+1)/2,v=(g+1)/2,y=(c+d)/4,x=(u+f)/4,b=(p+m)/4;return e>o&&e>v?e<a?(n=0,r=.707106781,i=.707106781):(n=Math.sqrt(e),r=y/n,i=x/n):o>v?o<a?(n=.707106781,r=0,i=.707106781):(r=Math.sqrt(o),n=y/r,i=b/r):v<a?(n=.707106781,r=.707106781,i=0):(i=Math.sqrt(v),n=x/i,r=b/i),this.set(n,r,i,t),this}let v=Math.sqrt((m-p)*(m-p)+(u-f)*(u-f)+(d-c)*(d-c));return Math.abs(v)<.001&&(v=1),this.x=(m-p)/v,this.y=(u-f)/v,this.z=(d-c)/v,this.w=Math.acos((l+h+g-1)/2),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=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this.w=Math.max(e.w,Math.min(t.w,this.w)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this.w=Math.max(e,Math.min(t,this.w)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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}
2round(){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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this.w=e[t+3],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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 lm extends _f{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};super(),this.isWebGLRenderTarget=!0,this.width=e,this.height=t,this.depth=1,this.scissor=new om(0,0,e,t),this.scissorTest=!1,this.viewport=new om(0,0,e,t);const r={width:e,height:t,depth:1};this.texture=new sm(r,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.encoding),this.texture.isRenderTargetTexture=!0,this.texture.flipY=!1,this.texture.generateMipmaps=void 0!==n.generateMipmaps&&n.generateMipmaps,this.texture.internalFormat=void 0!==n.internalFormat?n.internalFormat:null,this.texture.minFilter=void 0!==n.minFilter?n.minFilter:wh,this.depthBuffer=void 0===n.depthBuffer||n.depthBuffer,this.stencilBuffer=void 0!==n.stencilBuffer&&n.stencilBuffer,this.depthTexture=void 0!==n.depthTexture?n.depthTexture:null,this.samples=void 0!==n.samples?n.samples:0}setSize(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;this.width===e&&this.height===t&&this.depth===n||(this.width=e,this.height=t,this.depth=n,this.texture.image.width=e,this.texture.image.height=t,this.texture.image.depth=n,this.dispose()),this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t)}clone(){return(new this.constructor).copy(this)}copy(e){this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.copy(e.viewport),this.texture=e.texture.clone(),this.texture.isRenderTargetTexture=!0;const t=Object.assign({},e.texture.image);return this.texture.source=new rm(t),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,null!==e.depthTexture&&(this.depthTexture=e.depthTexture.clone()),this.samples=e.samples,this}dispose(){this.dispatchEvent({type:"dispose"})}}class cm extends sm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(null),this.isDataArrayTexture=!0,this.image={data:e,width:t,height:n,depth:r},this.magFilter=gh,this.minFilter=gh,this.wrapR=fh,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class um extends lm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;
vendor: 22,083 bytes, line 2
2super(e,t),this.isWebGLArrayRenderTarget=!0,this.depth=n,this.texture=new cm(null,e,t,n),this.texture.isRenderTargetTexture=!0}}class dm extends sm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(null),this.isData3DTexture=!0,this.image={data:e,width:t,height:n,depth:r},this.magFilter=gh,this.minFilter=gh,this.wrapR=fh,this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}class hm extends lm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;super(e,t),this.isWebGL3DRenderTarget=!0,this.depth=n,this.texture=new dm(null,e,t,n),this.texture.isRenderTargetTexture=!0}}class pm extends lm{constructor(){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;super(arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}),this.isWebGLMultipleRenderTargets=!0;const t=this.texture;this.texture=[];for(let n=0;n<e;n++)this.texture[n]=t.clone(),this.texture[n].isRenderTargetTexture=!0}setSize(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;if(this.width!==e||this.height!==t||this.depth!==n){this.width=e,this.height=t,this.depth=n;for(let r=0,i=this.texture.length;r<i;r++)this.texture[r].image.width=e,this.texture[r].image.height=t,this.texture[r].image.depth=n;this.dispose()}return this.viewport.set(0,0,e,t),this.scissor.set(0,0,e,t),this}copy(e){this.dispose(),this.width=e.width,this.height=e.height,this.depth=e.depth,this.viewport.set(0,0,this.width,this.height),this.scissor.set(0,0,this.width,this.height),this.depthBuffer=e.depthBuffer,this.stencilBuffer=e.stencilBuffer,null!==e.depthTexture&&(this.depthTexture=e.depthTexture.clone()),this.texture.length=0;for(let t=0,n=e.texture.length;t<n;t++)this.texture[t]=e.texture[t].clone(),this.texture[t].isRenderTargetTexture=!0;return this}}class fm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;this.isQuaternion=!0,this._x=e,this._y=t,this._z=n,this._w=r}static slerpFlat(e,t,n,r,i,a,s){let o=n[r+0],l=n[r+1],c=n[r+2],u=n[r+3];const d=i[a+0],h=i[a+1],p=i[a+2],f=i[a+3];if(0===s)return e[t+0]=o,e[t+1]=l,e[t+2]=c,void(e[t+3]=u);if(1===s)return e[t+0]=d,e[t+1]=h,e[t+2]=p,void(e[t+3]=f);if(u!==f||o!==d||l!==h||c!==p){let e=1-s;const t=o*d+l*h+c*p+u*f,n=t>=0?1:-1,r=1-t*t;if(r>Number.EPSILON){const i=Math.sqrt(r),a=Math.atan2(i,t*n);e=Math.sin(e*a)/i,s=Math.sin(s*a)/i}const i=s*n;if(o=o*e+d*i,l=l*e+h*i,c=c*e+p*i,u=u*e+f*i,e===1-s){const e=1/Math.sqrt(o*o+l*l+c*c+u*u);o*=e,l*=e,c*=e,u*=e}}e[t]=o,e[t+1]=l,e[t+2]=c,e[t+3]=u}static multiplyQuaternionsFlat(e,t,n,r,i,a){const s=n[r],o=n[r+1],l=n[r+2],c=n[r+3],u=i[a],d=i[a+1],h=i[a+2],p=i[a+3];return e[t]=s*p+c*u+o*h-l*d,e[t+1]=o*p+c*d+l*u-s*h,e[t+2]=l*p+c*h+s*d-o*u,e[t+3]=c*p-s*u-o*d-l*h,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,t,n,r){return this._x=e,this._y=t,this._z=n,this._w=r,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){const n=e._x,r=e._y,i=e._z,a=e._order,s=Math.cos,o=Math.sin,l=s(n/2),c=s(r/2),u=s(i/2),d=o(n/2),h=o(r/2),p=o(i/2);switch(a){case"XYZ":this._x=d*c*u+l*h*p,this._y=l*h*u-d*c*p,this._z=l*c*p+d*h*u,this._w=l*c*u-d*h*p;break;case"YXZ":this._x=d*c*u+l*h*p,this._y=l*h*u-d*c*p,this._z=l*c*p-d*h*u,this._w=l*c*u+d*h*p;break;case"ZXY":this._x=d*c*u-l*h*p,this._y=l*h*u+d*c*p,this._z=l*c*p+d*h*u,this._w=l*c*u-d*h*p;break;case"ZYX":this._x=d*c*u-l*h*p,this._y=l*h*u+d*c*p,this._z=l*c*p-d*h*u,this._w=l*c*u+d*h*p;break;case"YZX":this._x=d*c*u+l*h*p,this._y=l*h*u+d*c*p,this._z=l*c*p-d*h*u,this._w=l*c*u-d*h*p;break;case"XZY":this._x=d*c*u-l*h*p,this._y=l*h*u-d*c*p,this._z=l*c*p+d*h*u,this._w=l*c*u+d*h*p;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+a)}return!1!==t&&this._onChangeCallback(),this}setFromAxisAngle(e,t){const n=t/2,r=Math.sin(n);return this._x=e.x*r,this._y=e.y*r,this._z=e.z*r,this._w=Math.cos(n),this._onChangeCallback(),this}setFromRotationMatrix(e){const t=e.elements,n=t[0],r=t[4],i=t[8],a=t[1],s=t[5],o=t[9],l=t[2],c=t[6],u=t[10],d=n+s+u;if(d>0){const e=.5/Math.sqrt(d+1);this._w=.25/e,this._x=(c-o)*e,this._y=(i-l)*e,this._z=(a-r)*e}else if(n>s&&n>u){const e=2*Math.sqrt(1+n-s-u);this._w=(c-o)/e,this._x=.25*e,this._y=(r+a)/e,this._z=(i+l)/e}else if(s>u){const e=2*Math.sqrt(1+s-n-u);this._w=(i-l)/e,this._x=(r+a)/e,this._y=.25*e,this._z=(o+c)/e}else{const e=2*Math.sqrt(1+u-n-s);this._w=(a-r)/e,this._x=(i+l)/e,this._y=(o+c)/e,this._z=.25*e}return this._onChangeCallback(),this}setFromUnitVectors(e,t){let n=e.dot(t)+1;return n<Number.EPSILON?(n=0,Math.abs(e.x)>Math.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(Cf(this.dot(e),-1,1)))}rotateTowards(e,t){const n=this.angleTo(e);if(0===n)return this;const r=Math.min(1,t/n);return this.slerp(e,r),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 0===e?(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,r=e._y,i=e._z,a=e._w,s=t._x,o=t._y,l=t._z,c=t._w;return this._x=n*c+a*s+r*l-i*o,this._y=r*c+a*o+i*s-n*l,this._z=i*c+a*l+n*o-r*s,this._w=a*c-n*s-r*o-i*l,this._onChangeCallback(),this}slerp(e,t){if(0===t)return this;if(1===t)return this.copy(e);const n=this._x,r=this._y,i=this._z,a=this._w;let s=a*e._w+n*e._x+r*e._y+i*e._z;if(s<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,s=-s):this.copy(e),s>=1)return this._w=a,this._x=n,this._y=r,this._z=i,this;const o=1-s*s;if(o<=Number.EPSILON){const e=1-t;return this._w=e*a+t*this._w,this._x=e*n+t*this._x,this._y=e*r+t*this._y,this._z=e*i+t*this._z,this.normalize(),this._onChangeCallback(),this}const l=Math.sqrt(o),c=Math.atan2(l,s),u=Math.sin((1-t)*c)/l,d=Math.sin(t*c)/l;return this._w=a*u+this._w*d,this._x=n*u+this._x*d,this._y=r*u+this._y*d,this._z=i*u+this._z*d,this._onChangeCallback(),this}slerpQuaternions(e,t,n){return this.copy(e).slerp(t,n)}random(){const e=Math.random(),t=Math.sqrt(1-e),n=Math.sqrt(e),r=2*Math.PI*Math.random(),i=2*Math.PI*Math.random();return this.set(t*Math.cos(r),n*Math.sin(i),n*Math.cos(i),t*Math.sin(r))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class mm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;mm.prototype.isVector3=!0,this.x=e,this.y=t,this.z=n}set(e,t,n){return void 0===n&&(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(vm.setFromEuler(e))}applyAxisAngle(e,t){return this.applyQuaternion(vm.setFromAxisAngle(e,t))}applyMatrix3(e){const t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[3]*n+i[6]*r,this.y=i[1]*t+i[4]*n+i[7]*r,this.z=i[2]*t+i[5]*n+i[8]*r,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const t=this.x,n=this.y,r=this.z,i=e.elements,a=1/(i[3]*t+i[7]*n+i[11]*r+i[15]);return this.x=(i[0]*t+i[4]*n+i[8]*r+i[12])*a,this.y=(i[1]*t+i[5]*n+i[9]*r+i[13])*a,this.z=(i[2]*t+i[6]*n+i[10]*r+i[14])*a,this}applyQuaternion(e){const t=this.x,n=this.y,r=this.z,i=e.x,a=e.y,s=e.z,o=e.w,l=o*t+a*r-s*n,c=o*n+s*t-i*r,u=o*r+i*n-a*t,d=-i*t-a*n-s*r;return this.x=l*o+d*-i+c*-s-u*-a,this.y=c*o+d*-a+u*-i-l*-s,this.z=u*o+d*-s+l*-a-c*-i,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const t=this.x,n=this.y,r=this.z,i=e.elements;return this.x=i[0]*t+i[4]*n+i[8]*r,this.y=i[1]*t+i[5]*n+i[9]*r,this.z=i[2]*t+i[6]*n+i[10]*r,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=Math.max(e.x,Math.min(t.x,this.x)),this.y=Math.max(e.y,Math.min(t.y,this.y)),this.z=Math.max(e.z,Math.min(t.z,this.z)),this}clampScalar(e,t){return this.x=Math.max(e,Math.min(t,this.x)),this.y=Math.max(e,Math.min(t,this.y)),this.z=Math.max(e,Math.min(t,this.z)),this}clampLength(e,t){const n=this.length();return this.divideScalar(n||1).multiplyScalar(Math.max(e,Math.min(t,n)))}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=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}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,r=e.y,i=e.z,a=t.x,s=t.y,o=t.z;return this.x=r*o-i*s,this.y=i*a-n*o,this.z=n*s-r*a,this}projectOnVector(e){const t=e.lengthSq();if(0===t)return this.set(0,0,0);const n=e.dot(this)/t;return this.copy(e).multiplyScalar(n)}projectOnPlane(e){return gm.copy(this).projectOnVector(e),this.sub(gm)}reflect(e){return this.sub(gm.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const t=Math.sqrt(this.lengthSq()*e.lengthSq());if(0===t)return Math.PI/2;const n=this.dot(e)/t;return Math.acos(Cf(n,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const t=this.x-e.x,n=this.y-e.y,r=this.z-e.z;return t*t+n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,t,n){const r=Math.sin(t)*e;return this.x=r*Math.sin(n),this.y=Math.cos(t)*e,this.z=r*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(),r=this.setFromMatrixColumn(e,2).length();return this.x=t,this.y=n,this.z=r,this}setFromMatrixColumn(e,t){return this.fromArray(e.elements,4*t)}setFromMatrix3Column(e,t){return this.fromArray(e.elements,3*t)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.x=e[t],this.y=e[t+1],this.z=e[t+2],this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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=2*(Math.random()-.5),t=Math.random()*Math.PI*2,n=Math.sqrt(1-e**2);return this.x=n*Math.cos(t),this.y=n*Math.sin(t),this.z=e,this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const gm=new mm,vm=new fm;class ym{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm(1/0,1/0,1/0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm(-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){let t=1/0,n=1/0,r=1/0,i=-1/0,a=-1/0,s=-1/0;for(let o=0,l=e.length;o<l;o+=3){const l=e[o],c=e[o+1],u=e[o+2];l<t&&(t=l),c<n&&(n=c),u<r&&(r=u),l>i&&(i=l),c>a&&(a=c),u>s&&(s=u)}return this.min.set(t,n,r),this.max.set(i,a,s),this}setFromBufferAttribute(e){let t=1/0,n=1/0,r=1/0,i=-1/0,a=-1/0,s=-1/0;for(let o=0,l=e.count;o<l;o++){const l=e.getX(o),c=e.getY(o),u=e.getZ(o);l<t&&(t=l),c<n&&(n=c),u<r&&(r=u),l>i&&(i=l),c>a&&(a=c),u>s&&(s=u)}return this.min.set(t,n,r),this.max.set(i,a,s),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=bm.copy(t).multiplyScalar(.5);return this.min.copy(e).sub(n),this.max.copy(e).add(n),this}setFromObject(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[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){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e.updateWorldMatrix(!1,!1);const n=e.geometry;if(void 0!==n)if(t&&void 0!=n.attributes&&void 0!==n.attributes.position){const t=n.attributes.position;for(let n=0,r=t.count;n<r;n++)bm.fromBufferAttribute(t,n).applyMatrix4(e.matrixWorld),this.expandByPoint(bm)}else null===n.boundingBox&&n.computeBoundingBox(),wm.copy(n.boundingBox),wm.applyMatrix4(e.matrixWorld),this.union(wm);const r=e.children;for(let i=0,a=r.length;i<a;i++)this.expandByObject(r[i],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,bm),bm.distanceToSquared(e.center)<=e.radius*e.radius}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(Cm),Pm.subVectors(this.max,Cm),_m.subVectors(e.a,Cm),Sm.subVectors(e.b,Cm),Mm.subVectors(e.c,Cm),Em.subVectors(Sm,_m),Tm.subVectors(Mm,Sm),Am.subVectors(_m,Mm);let t=[0,-Em.z,Em.y,0,-Tm.z,Tm.y,0,-Am.z,Am.y,Em.z,0,-Em.x,Tm.z,0,-Tm.x,Am.z,0,-Am.x,-Em.y,Em.x,0,-Tm.y,Tm.x,0,-Am.y,Am.x,0];return!!Lm(t,_m,Sm,Mm,Pm)&&(t=[1,0,0,0,1,0,0,0,1],!!Lm(t,_m,Sm,Mm,Pm)&&(Nm.crossVectors(Em,Tm),t=[Nm.x,Nm.y,Nm.z],Lm(t,_m,Sm,Mm,Pm)))}clampPoint(e,t){return t.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return bm.copy(e).clamp(this.min,this.max).sub(e).length()}getBoundingSphere(e){return this.getCenter(e.center),e.radius=.5*this.getSize(bm).length(),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()||(xm[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),xm[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),xm[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),xm[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),xm[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),xm[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),xm[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),xm[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(xm)),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 xm=[new mm,new mm,new mm,new mm,new mm,new mm,new mm,new mm],bm=new mm,wm=new ym,_m=new mm,Sm=new mm,Mm=new mm,Em=new mm,Tm=new mm,Am=new mm,Cm=new mm,Pm=new mm,Nm=new mm,Rm=new mm;function Lm(e,t,n,r,i){for(let a=0,s=e.length-3;a<=s;a+=3){Rm.fromArray(e,a);const s=i.x*Math.abs(Rm.x)+i.y*Math.abs(Rm.y)+i.z*Math.abs(Rm.z),o=t.dot(Rm),l=n.dot(Rm),c=r.dot(Rm);if(Math.max(-Math.max(o,l,c),Math.min(o,l,c))>s)return!1}return!0}const km=new ym,Im=new mm,Dm=new mm;class zm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;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;void 0!==t?n.copy(t):km.setFromPoints(e).getCenter(n);let r=0;for(let i=0,a=e.length;i<a;i++)r=Math.max(r,n.distanceToSquared(e[i]));return this.radius=Math.sqrt(r),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)}
2applyMatrix4(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;Im.subVectors(e,this.center);const t=Im.lengthSq();if(t>this.radius*this.radius){const e=Math.sqrt(t),n=.5*(e-this.radius);this.center.addScaledVector(Im,n/e),this.radius+=n}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(!0===this.center.equals(e.center)?this.radius=Math.max(this.radius,e.radius):(Dm.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(Im.copy(e.center).add(Dm)),this.expandByPoint(Im.copy(e.center).sub(Dm))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const Om=new mm,jm=new mm,Bm=new mm,Fm=new mm,Um=new mm,Vm=new mm,Hm=new mm;class Wm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm(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.direction).multiplyScalar(e).add(this.origin)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Om)),this}closestPointToPoint(e,t){t.subVectors(e,this.origin);const n=t.dot(this.direction);return n<0?t.copy(this.origin):t.copy(this.direction).multiplyScalar(n).add(this.origin)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const t=Om.subVectors(e,this.origin).dot(this.direction);return t<0?this.origin.distanceToSquared(e):(Om.copy(this.direction).multiplyScalar(t).add(this.origin),Om.distanceToSquared(e))}distanceSqToSegment(e,t,n,r){jm.copy(e).add(t).multiplyScalar(.5),Bm.copy(t).sub(e).normalize(),Fm.copy(this.origin).sub(jm);
vendor: 4,931 bytes, line 2
2const i=.5*e.distanceTo(t),a=-this.direction.dot(Bm),s=Fm.dot(this.direction),o=-Fm.dot(Bm),l=Fm.lengthSq(),c=Math.abs(1-a*a);let u,d,h,p;if(c>0)if(u=a*o-s,d=a*s-o,p=i*c,u>=0)if(d>=-p)if(d<=p){const e=1/c;u*=e,d*=e,h=u*(u+a*d+2*s)+d*(a*u+d+2*o)+l}else d=i,u=Math.max(0,-(a*d+s)),h=-u*u+d*(d+2*o)+l;else d=-i,u=Math.max(0,-(a*d+s)),h=-u*u+d*(d+2*o)+l;else d<=-p?(u=Math.max(0,-(-a*i+s)),d=u>0?-i:Math.min(Math.max(-i,-o),i),h=-u*u+d*(d+2*o)+l):d<=p?(u=0,d=Math.min(Math.max(-i,-o),i),h=d*(d+2*o)+l):(u=Math.max(0,-(a*i+s)),d=u>0?i:Math.min(Math.max(-i,-o),i),h=-u*u+d*(d+2*o)+l);else d=a>0?-i:i,u=Math.max(0,-(a*d+s)),h=-u*u+d*(d+2*o)+l;return n&&n.copy(this.direction).multiplyScalar(u).add(this.origin),r&&r.copy(Bm).multiplyScalar(d).add(jm),h}intersectSphere(e,t){Om.subVectors(e.center,this.origin);const n=Om.dot(this.direction),r=Om.dot(Om)-n*n,i=e.radius*e.radius;if(r>i)return null;const a=Math.sqrt(i-r),s=n-a,o=n+a;return s<0&&o<0?null:s<0?this.at(o,t):this.at(s,t)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const t=e.normal.dot(this.direction);if(0===t)return 0===e.distanceToPoint(this.origin)?0:null;const n=-(this.origin.dot(e.normal)+e.constant)/t;return n>=0?n:null}intersectPlane(e,t){const n=this.distanceToPlane(e);return null===n?null:this.at(n,t)}intersectsPlane(e){const t=e.distanceToPoint(this.origin);if(0===t)return!0;return e.normal.dot(this.direction)*t<0}intersectBox(e,t){let n,r,i,a,s,o;const l=1/this.direction.x,c=1/this.direction.y,u=1/this.direction.z,d=this.origin;return l>=0?(n=(e.min.x-d.x)*l,r=(e.max.x-d.x)*l):(n=(e.max.x-d.x)*l,r=(e.min.x-d.x)*l),c>=0?(i=(e.min.y-d.y)*c,a=(e.max.y-d.y)*c):(i=(e.max.y-d.y)*c,a=(e.min.y-d.y)*c),n>a||i>r?null:((i>n||isNaN(n))&&(n=i),(a<r||isNaN(r))&&(r=a),u>=0?(s=(e.min.z-d.z)*u,o=(e.max.z-d.z)*u):(s=(e.max.z-d.z)*u,o=(e.min.z-d.z)*u),n>o||s>r?null:((s>n||n!==n)&&(n=s),(o<r||r!==r)&&(r=o),r<0?null:this.at(n>=0?n:r,t)))}intersectsBox(e){return null!==this.intersectBox(e,Om)}intersectTriangle(e,t,n,r,i){Um.subVectors(t,e),Vm.subVectors(n,e),Hm.crossVectors(Um,Vm);let a,s=this.direction.dot(Hm);if(s>0){if(r)return null;a=1}else{if(!(s<0))return null;a=-1,s=-s}Fm.subVectors(this.origin,e);const o=a*this.direction.dot(Vm.crossVectors(Fm,Vm));if(o<0)return null;const l=a*this.direction.dot(Um.cross(Fm));if(l<0)return null;if(o+l>s)return null;const c=-a*Fm.dot(Hm);return c<0?null:this.at(c/s,i)}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 Gm{constructor(){Gm.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}set(e,t,n,r,i,a,s,o,l,c,u,d,h,p,f,m){const g=this.elements;return g[0]=e,g[4]=t,g[8]=n,g[12]=r,g[1]=i,g[5]=a,g[9]=s,g[13]=o,g[2]=l,g[6]=c,g[10]=u,g[14]=d,g[3]=h,g[7]=p,g[11]=f,g[15]=m,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 Gm).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,r=1/qm.setFromMatrixColumn(e,0).length(),i=1/qm.setFromMatrixColumn(e,1).length(),a=1/qm.setFromMatrixColumn(e,2).length();return t[0]=n[0]*r,t[1]=n[1]*r,t[2]=n[2]*r,t[3]=0,t[4]=n[4]*i,t[5]=n[5]*i,t[6]=n[6]*i,t[7]=0,t[8]=n[8]*a,t[9]=n[9]*a,t[10]=n[10]*a,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,r=e.y,i=e.z,a=Math.cos(n),s=Math.sin(n),o=Math.cos(r),l=Math.sin(r),c=Math.cos(i),u=Math.sin(i);if("XYZ"===e.order){const e=a*c,n=a*u,r=s*c,i=s*u;t[0]=o*c,t[4]=-o*u,t[8]=l,t[1]=n+r*l,t[5]=e-i*l,t[9]=-s*o,t[2]=i-e*l,t[6]=r+n*l,t[10]=a*o}else if("YXZ"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e+i*s,t[4]=r*s-n,t[8]=a*l,t[1]=a*u,t[5]=a*c,t[9]=-s,t[2]=n*s-r,t[6]=i+e*s,t[10]=a*o}else if("ZXY"===e.order){const e=o*c,n=o*u,r=l*c,i=l*u;t[0]=e-i*s,t[4]=-a*u,t[8]=r+n*s,t[1]=n+r*s,t[5]=a*c,t[9]=i-e*s,t[2]=-a*l,t[6]=s,t[10]=a*o}else if("ZYX"===e.order){const e=a*c,n=a*u,r=s*c,i=s*u;t[0]=o*c,t[4]=r*l-n,t[8]=e*l+i,t[1]=o*u,t[5]=i*l+e,t[9]=n*l-r,t[2]=-l,t[6]=s*o,t[10]=a*o}else if("YZX"===e.order){const e=a*o,n=a*l,r=s*o,i=s*l;t[0]=o*c,t[4]=i-e*u,t[8]=r*u+n,t[1]=u,t[5]=a*c,t[9]=-s*c,t[2]=-l*c,t[6]=n*u+r,t[10]=e-i*u}
vendor: 5,217 bytes, line 2
2else if("XZY"===e.order){const e=a*o,n=a*l,r=s*o,i=s*l;t[0]=o*c,t[4]=-u,t[8]=l*c,t[1]=e*u+i,t[5]=a*c,t[9]=n*u-r,t[2]=r*u-n,t[6]=s*c,t[10]=i*u+e}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(Ym,e,Jm)}lookAt(e,t,n){const r=this.elements;return Km.subVectors(e,t),0===Km.lengthSq()&&(Km.z=1),Km.normalize(),Qm.crossVectors(n,Km),0===Qm.lengthSq()&&(1===Math.abs(n.z)?Km.x+=1e-4:Km.z+=1e-4,Km.normalize(),Qm.crossVectors(n,Km)),Qm.normalize(),Zm.crossVectors(Km,Qm),r[0]=Qm.x,r[4]=Zm.x,r[8]=Km.x,r[1]=Qm.y,r[5]=Zm.y,r[9]=Km.y,r[2]=Qm.z,r[6]=Zm.z,r[10]=Km.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,t){const n=e.elements,r=t.elements,i=this.elements,a=n[0],s=n[4],o=n[8],l=n[12],c=n[1],u=n[5],d=n[9],h=n[13],p=n[2],f=n[6],m=n[10],g=n[14],v=n[3],y=n[7],x=n[11],b=n[15],w=r[0],_=r[4],S=r[8],M=r[12],E=r[1],T=r[5],A=r[9],C=r[13],P=r[2],N=r[6],R=r[10],L=r[14],k=r[3],I=r[7],D=r[11],z=r[15];return i[0]=a*w+s*E+o*P+l*k,i[4]=a*_+s*T+o*N+l*I,i[8]=a*S+s*A+o*R+l*D,i[12]=a*M+s*C+o*L+l*z,i[1]=c*w+u*E+d*P+h*k,i[5]=c*_+u*T+d*N+h*I,i[9]=c*S+u*A+d*R+h*D,i[13]=c*M+u*C+d*L+h*z,i[2]=p*w+f*E+m*P+g*k,i[6]=p*_+f*T+m*N+g*I,i[10]=p*S+f*A+m*R+g*D,i[14]=p*M+f*C+m*L+g*z,i[3]=v*w+y*E+x*P+b*k,i[7]=v*_+y*T+x*N+b*I,i[11]=v*S+y*A+x*R+b*D,i[15]=v*M+y*C+x*L+b*z,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],r=e[8],i=e[12],a=e[1],s=e[5],o=e[9],l=e[13],c=e[2],u=e[6],d=e[10],h=e[14];return e[3]*(+i*o*u-r*l*u-i*s*d+n*l*d+r*s*h-n*o*h)+e[7]*(+t*o*h-t*l*d+i*a*d-r*a*h+r*l*c-i*o*c)+e[11]*(+t*l*u-t*s*h-i*a*u+n*a*h+i*s*c-n*l*c)+e[15]*(-r*s*c-t*o*u+t*s*d+r*a*u-n*a*d+n*o*c)}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 r=this.elements;return e.isVector3?(r[12]=e.x,r[13]=e.y,r[14]=e.z):(r[12]=e,r[13]=t,r[14]=n),this}invert(){const e=this.elements,t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],c=e[8],u=e[9],d=e[10],h=e[11],p=e[12],f=e[13],m=e[14],g=e[15],v=u*m*l-f*d*l+f*o*h-s*m*h-u*o*g+s*d*g,y=p*d*l-c*m*l-p*o*h+a*m*h+c*o*g-a*d*g,x=c*f*l-p*u*l+p*s*h-a*f*h-c*s*g+a*u*g,b=p*u*o-c*f*o-p*s*d+a*f*d+c*s*m-a*u*m,w=t*v+n*y+r*x+i*b;if(0===w)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const _=1/w;return e[0]=v*_,e[1]=(f*d*i-u*m*i-f*r*h+n*m*h+u*r*g-n*d*g)*_,e[2]=(s*m*i-f*o*i+f*r*l-n*m*l-s*r*g+n*o*g)*_,e[3]=(u*o*i-s*d*i-u*r*l+n*d*l+s*r*h-n*o*h)*_,e[4]=y*_,e[5]=(c*m*i-p*d*i+p*r*h-t*m*h-c*r*g+t*d*g)*_,e[6]=(p*o*i-a*m*i-p*r*l+t*m*l+a*r*g-t*o*g)*_,e[7]=(a*d*i-c*o*i+c*r*l-t*d*l-a*r*h+t*o*h)*_,e[8]=x*_,e[9]=(p*u*i-c*f*i-p*n*h+t*f*h+c*n*g-t*u*g)*_,e[10]=(a*f*i-p*s*i+p*n*l-t*f*l-a*n*g+t*s*g)*_,e[11]=(c*s*i-a*u*i-c*n*l+t*u*l+a*n*h-t*s*h)*_,e[12]=b*_,e[13]=(c*f*r-p*u*r+p*n*d-t*f*d-c*n*m+t*u*m)*_,e[14]=(p*s*r-a*f*r-p*n*o+t*f*o+a*n*m-t*s*m)*_,e[15]=(a*u*r-c*s*r+c*n*o-t*u*o-a*n*d+t*s*d)*_,this}scale(e){const t=this.elements,n=e.x,r=e.y,i=e.z;return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,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],r=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(t,n,r))}makeTranslation(e,t,n){return 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),r=Math.sin(t),i=1-n,a=e.x,s=e.y,o=e.z,l=i*a,c=i*s;return this.set(l*a+n,l*s-r*o,l*o+r*s,0,l*s+r*o,c*s+n,c*o-r*a,0,l*o-r*s,c*o+r*a,i*o*o+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,r,i,a){return this.set(1,n,i,0,e,1,a,0,t,r,1,0,0,0,0,1),this}compose(e,t,n){const r=this.elements,i=t._x,a=t._y,s=t._z,o=t._w,l=i+i,c=a+a,u=s+s,d=i*l,h=i*c,p=i*u,f=a*c,m=a*u,g=s*u,v=o*l,y=o*c,x=o*u,b=n.x,w=n.y,_=n.z;return r[0]=(1-(f+g))*b,r[1]=(h+x)*b,r[2]=(p-y)*b,r[3]=0,r[4]=(h-x)*w,r[5]=(1-(d+g))*w,r[6]=(m+v)*w,r[7]=0,r[8]=(p+y)*_,r[9]=(m-v)*_,r[10]=(1-(d+f))*_,r[11]=0,r[12]=e.x,r[13]=e.y,r[14]=e.z,r[15]=1,this}decompose(e,t,n){const r=this.elements;let i=qm.set(r[0],r[1],r[2]).length();const a=qm.set(r[4],r[5],r[6]).length(),s=qm.set(r[8],r[9],r[10]).length();this.determinant()<0&&(i=-i),e.x=r[12],e.y=r[13],e.z=r[14],Xm.copy(this);const o=1/i,l=1/a,c=1/s;return Xm.elements[0]*=o,Xm.elements[1]*=o,Xm.elements[2]*=o,Xm.elements[4]*=l,Xm.elements[5]*=l,Xm.elements[6]*=l,Xm.elements[8]*=c,Xm.elements[9]*=c,Xm.elements[10]*=c,t.setFromRotationMatrix(Xm),n.x=i,n.y=a,n.z=s,this}makePerspective(e,t,n,r,i,a){const s=this.elements,o=2*i/(t-e),l=2*i/(n-r),c=(t+e)/(t-e),u=(n+r)/(n-r),d=-(a+i)/(a-i),h=-2*a
2*i/(a-i);return s[0]=o,s[4]=0,s[8]=c,s[12]=0,s[1]=0,s[5]=l,s[9]=u,s[13]=0,s[2]=0,s[6]=0,s[10]=d,s[14]=h,s[3]=0,s[7]=0,s[11]=-1,s[15]=0,this}makeOrthographic(e,t,n,r,i,a){const s=this.elements,o=1/(t-e),l=1/(n-r),c=1/(a-i),u=(t+e)*o,d=(n+r)*l,h=(a+i)*c;return s[0]=2*o,s[4]=0,s[8]=0,s[12]=-u,s[1]=0,s[5]=2*l,s[9]=0,s[13]=-d,s[2]=0,s[6]=0,s[10]=-2*c,s[14]=-h,s[3]=0,s[7]=0,s[11]=0,s[15]=1,this}equals(e){const t=this.elements,n=e.elements;for(let r=0;r<16;r++)if(t[r]!==n[r])return!1;return!0}fromArray(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;for(let n=0;n<16;n++)this.elements[n]=e[n+t];return this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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 qm=new mm,Xm=new Gm,Ym=new mm(0,0,0),Jm=new mm(1,1,1),Qm=new mm,Zm=new mm,Km=new mm,$m=new Gm,eg=new fm;class tg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:tg.DEFAULT_ORDER;this.isEuler=!0,this._x=e,this._y=t,this._z=n,this._order=r}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this._order;return this._x=e,this._y=t,this._z=n,this._order=r,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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._order,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const r=e.elements,i=r[0],a=r[4],s=r[8],o=r[1],l=r[5],c=r[9],u=r[2],d=r[6],h=r[10];switch(t){case"XYZ":this._y=Math.asin(Cf(s,-1,1)),Math.abs(s)<.9999999?(this._x=Math.atan2(-c,h),this._z=Math.atan2(-a,i)):(this._x=Math.atan2(d,l),this._z=0);break;case"YXZ":this._x=Math.asin(-Cf(c,-1,1)),Math.abs(c)<.9999999?(this._y=Math.atan2(s,h),this._z=Math.atan2(o,l)):(this._y=Math.atan2(-u,i),this._z=0);break;case"ZXY":this._x=Math.asin(Cf(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(-u,h),this._z=Math.atan2(-a,l)):(this._y=0,this._z=Math.atan2(o,i));break;case"ZYX":this._y=Math.asin(-Cf(u,-1,1)),Math.abs(u)<.9999999?(this._x=Math.atan2(d,h),this._z=Math.atan2(o,i)):(this._x=0,this._z=Math.atan2(-a,l));break;case"YZX":this._z=Math.asin(Cf(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(-c,l),this._y=Math.atan2(-u,i)):(this._x=0,this._y=Math.atan2(s,h));break;case"XZY":this._z=Math.asin(-Cf(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(d,l),this._y=Math.atan2(s,i)):(this._x=Math.atan2(-c,h),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+t)}return this._order=t,!0===n&&this._onChangeCallback(),this}setFromQuaternion(e,t,n){return $m.makeRotationFromQuaternion(e),this.setFromRotationMatrix($m,t,n)}setFromVector3(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._order;return this.set(e.x,e.y,e.z,t)}reorder(e){return eg.setFromEuler(this),this.setFromQuaternion(eg,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],void 0!==e[3]&&(this._order=e[3]),this._onChangeCallback(),this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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}}tg.DEFAULT_ORDER="XYZ";class ng{constructor(){this.mask=1}set(e){this.mask=1<<e>>>0}enable(e){this.mask|=1<<e}enableAll(){this.mask=-1}toggle(e){this.mask^=1<<e}disable(e){this.mask&=~(1<<e)}disableAll(){this.mask=0}test(e){return 0!==(this.mask&e.mask)}isEnabled(e){return 0!==(this.mask&1<<e)}}let rg=0;const ig=new mm,ag=new fm,sg=new Gm,og=new mm,lg=new mm,cg=new mm,ug=new fm,dg=new mm(1,0,0),hg=new mm(0,1,0),pg=new mm(0,0,1),fg={type:"added"},mg={type:"removed"};class gg extends _f{constructor(){super(),this.isObject3D=!0,Object.defineProperty(this,"id",{value:rg++}),this.uuid=Af(),this.name="",this.type="Object3D",this.parent=null,this.children=[],this.up=gg.DEFAULT_UP.clone();const e=new mm,t=new tg,n=new fm,r=new mm(1,1,1);t._onChange(function(){n.setFromEuler(t,!1)}),n._onChange(function(){t.setFromQuaternion(n,void 0,!1)}),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:r},modelViewMatrix:{value:new Gm},normalMatrix:{value:new jf}}),this.matrix=new Gm,this.matrixWorld=new Gm,this.matrixAutoUpdate=gg.DEFAULT_MATRIX_AUTO_UPDATE,this.matrixWorldNeedsUpdate=!1,this.matrixWorldAutoUpdate=gg.DEFAULT_MATRIX_WORLD_AUTO_UPDATE,this.layers=new ng,this.visible=!0,this.castShadow=!1,this.receiveShadow=!1,this.frustumCulled=!0,this.renderOrder=0,this.animations=[],this.userData={}}onBeforeRender(){}onAfterRender(){}applyMatrix4(e){this.matrixAutoUpdate&&this.updateMatrix(),this.matrix.premultiply(e),this.matrix.decompose(this.position,this.quaternion,this.scale)}applyQuaternion(e){return this.quaternion.premultiply(e),this}setRotationFromAxisAngle(e,t){this.quaternion.setFromAxisAngle(e,t)}setRotationFromEuler(e){this.quaternion.setFromEuler(e,!0)}
vendor: 12,834 bytes, line 2
2setRotationFromMatrix(e){this.quaternion.setFromRotationMatrix(e)}setRotationFromQuaternion(e){this.quaternion.copy(e)}rotateOnAxis(e,t){return ag.setFromAxisAngle(e,t),this.quaternion.multiply(ag),this}rotateOnWorldAxis(e,t){return ag.setFromAxisAngle(e,t),this.quaternion.premultiply(ag),this}rotateX(e){return this.rotateOnAxis(dg,e)}rotateY(e){return this.rotateOnAxis(hg,e)}rotateZ(e){return this.rotateOnAxis(pg,e)}translateOnAxis(e,t){return ig.copy(e).applyQuaternion(this.quaternion),this.position.add(ig.multiplyScalar(t)),this}translateX(e){return this.translateOnAxis(dg,e)}translateY(e){return this.translateOnAxis(hg,e)}translateZ(e){return this.translateOnAxis(pg,e)}localToWorld(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(this.matrixWorld)}worldToLocal(e){return this.updateWorldMatrix(!0,!1),e.applyMatrix4(sg.copy(this.matrixWorld).invert())}lookAt(e,t,n){e.isVector3?og.copy(e):og.set(e,t,n);const r=this.parent;this.updateWorldMatrix(!0,!1),lg.setFromMatrixPosition(this.matrixWorld),this.isCamera||this.isLight?sg.lookAt(lg,og,this.up):sg.lookAt(og,lg,this.up),this.quaternion.setFromRotationMatrix(sg),r&&(sg.extractRotation(r.matrixWorld),ag.setFromRotationMatrix(sg),this.quaternion.premultiply(ag.invert()))}add(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.add(arguments[e]);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?(null!==e.parent&&e.parent.remove(e),e.parent=this,this.children.push(e),e.dispatchEvent(fg)):console.error("THREE.Object3D.add: object not an instance of THREE.Object3D.",e),this)}remove(e){if(arguments.length>1){for(let e=0;e<arguments.length;e++)this.remove(arguments[e]);return this}const t=this.children.indexOf(e);return-1!==t&&(e.parent=null,this.children.splice(t,1),e.dispatchEvent(mg)),this}removeFromParent(){const e=this.parent;return null!==e&&e.remove(this),this}clear(){for(let e=0;e<this.children.length;e++){const t=this.children[e];t.parent=null,t.dispatchEvent(mg)}return this.children.length=0,this}attach(e){return this.updateWorldMatrix(!0,!1),sg.copy(this.matrixWorld).invert(),null!==e.parent&&(e.parent.updateWorldMatrix(!0,!1),sg.multiply(e.parent.matrixWorld)),e.applyMatrix4(sg),this.add(e),e.updateWorldMatrix(!1,!0),this}getObjectById(e){return this.getObjectByProperty("id",e)}getObjectByName(e){return this.getObjectByProperty("name",e)}getObjectByProperty(e,t){if(this[e]===t)return this;for(let n=0,r=this.children.length;n<r;n++){const r=this.children[n].getObjectByProperty(e,t);if(void 0!==r)return r}}getObjectsByProperty(e,t){let n=[];this[e]===t&&n.push(this);for(let r=0,i=this.children.length;r<i;r++){const i=this.children[r].getObjectsByProperty(e,t);i.length>0&&(n=n.concat(i))}return n}getWorldPosition(e){return this.updateWorldMatrix(!0,!1),e.setFromMatrixPosition(this.matrixWorld)}getWorldQuaternion(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(lg,e,cg),e}getWorldScale(e){return this.updateWorldMatrix(!0,!1),this.matrixWorld.decompose(lg,ug,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,r=t.length;n<r;n++)t[n].traverse(e)}traverseVisible(e){if(!1===this.visible)return;e(this);const t=this.children;for(let n=0,r=t.length;n<r;n++)t[n].traverseVisible(e)}traverseAncestors(e){const t=this.parent;null!==t&&(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)&&(null===this.parent?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,r=t.length;n<r;n++){const r=t[n];!0!==r.matrixWorldAutoUpdate&&!0!==e||r.updateMatrixWorld(e)}}updateWorldMatrix(e,t){const n=this.parent;if(!0===e&&null!==n&&!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!0,!1),this.matrixAutoUpdate&&this.updateMatrix(),null===this.parent?this.matrixWorld.copy(this.matrix):this.matrixWorld.multiplyMatrices(this.parent.matrixWorld,this.matrix),!0===t){const e=this.children;for(let t=0,n=e.length;t<n;t++){const n=e[t];!0===n.matrixWorldAutoUpdate&&n.updateWorldMatrix(!1,!0)}}}toJSON(e){const t=void 0===e||"string"===typeof e,n={};t&&(e={geometries:{},materials:{},textures:{},images:{},shapes:{},skeletons:{},animations:{},nodes:{}},n.metadata={version:4.5,type:"Object",generator:"Object3D.toJSON"});const r={};function i(t,n){return void 0===t[n.uuid]&&(t[n.uuid]=n.toJSON(e)),n.uuid}if(r.uuid=this.uuid,r.type=this.type,""!==this.name&&(r.name=this.name),!0===this.castShadow&&(r.castShadow=!0),!0===this.receiveShadow&&(r.receiveShadow=!0),!1===this.visible&&(r.visible=!1),!1===this.frustumCulled&&(r.frustumCulled=!1),0!==this.renderOrder&&(r.renderOrder=this.renderOrder),Object.keys(this.userData).length>0&&(r.userData=this.userData),r.layers=this.layers.mask,r.matrix=this.matrix.toArray(),!1===this.matrixAutoUpdate&&(r.matrixAutoUpdate=!1),this.isInstancedMesh&&(r.type="InstancedMesh",r.count=this.count,r.instanceMatrix=this.instanceMatrix.toJSON(),null!==this.instanceColor&&(r.instanceColor=this.instanceColor.toJSON())),this.isScene)this.background&&(this.background.isColor?r.background=this.background.toJSON():this.background.isTexture&&(r.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&!0!==this.environment.isRenderTargetTexture&&(r.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){r.geometry=i(e.geometries,this.geometry);const t=this.geometry.parameters;if(void 0!==t&&void 0!==t.shapes){const n=t.shapes;if(Array.isArray(n))for(let t=0,r=n.length;t<r;t++){const r=n[t];i(e.shapes,r)}else i(e.shapes,n)}}if(this.isSkinnedMesh&&(r.bindMode=this.bindMode,r.bindMatrix=this.bindMatrix.toArray(),void 0!==this.skeleton&&(i(e.skeletons,this.skeleton),r.skeleton=this.skeleton.uuid)),void 0!==this.material)if(Array.isArray(this.material)){const t=[];for(let n=0,r=this.material.length;n<r;n++)t.push(i(e.materials,this.material[n]));r.material=t}else r.material=i(e.materials,this.material);if(this.children.length>0){r.children=[];for(let t=0;t<this.children.length;t++)r.children.push(this.children[t].toJSON(e).object)}if(this.animations.length>0){r.animations=[];for(let t=0;t<this.animations.length;t++){const n=this.animations[t];r.animations.push(i(e.animations,n))}}if(t){const t=a(e.geometries),r=a(e.materials),i=a(e.textures),s=a(e.images),o=a(e.shapes),l=a(e.skeletons),c=a(e.animations),u=a(e.nodes);t.length>0&&(n.geometries=t),r.length>0&&(n.materials=r),i.length>0&&(n.textures=i),s.length>0&&(n.images=s),o.length>0&&(n.shapes=o),l.length>0&&(n.skeletons=l),c.length>0&&(n.animations=c),u.length>0&&(n.nodes=u)}return n.object=r,n;function a(e){const t=[];for(const n in e){const r=e[n];delete r.metadata,t.push(r)}return t}}clone(e){return(new this.constructor).copy(this,e)}copy(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];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.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.userData=JSON.parse(JSON.stringify(e.userData)),!0===t)for(let n=0;n<e.children.length;n++){const t=e.children[n];this.add(t.clone())}return this}}gg.DEFAULT_UP=new mm(0,1,0),gg.DEFAULT_MATRIX_AUTO_UPDATE=!0,gg.DEFAULT_MATRIX_WORLD_AUTO_UPDATE=!0;const vg=new mm,yg=new mm,xg=new mm,bg=new mm,wg=new mm,_g=new mm,Sg=new mm,Mg=new mm,Eg=new mm,Tg=new mm;class Ag{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new mm;this.a=e,this.b=t,this.c=n}static getNormal(e,t,n,r){r.subVectors(n,t),vg.subVectors(e,t),r.cross(vg);const i=r.lengthSq();return i>0?r.multiplyScalar(1/Math.sqrt(i)):r.set(0,0,0)}static getBarycoord(e,t,n,r,i){vg.subVectors(r,t),yg.subVectors(n,t),xg.subVectors(e,t);const a=vg.dot(vg),s=vg.dot(yg),o=vg.dot(xg),l=yg.dot(yg),c=yg.dot(xg),u=a*l-s*s;if(0===u)return i.set(-2,-1,-1);const d=1/u,h=(l*o-s*c)*d,p=(a*c-s*o)*d;return i.set(1-h-p,p,h)}static containsPoint(e,t,n,r){return this.getBarycoord(e,t,n,r,bg),bg.x>=0&&bg.y>=0&&bg.x+bg.y<=1}static getUV(e,t,n,r,i,a,s,o){return this.getBarycoord(e,t,n,r,bg),o.set(0,0),o.addScaledVector(i,bg.x),o.addScaledVector(a,bg.y),o.addScaledVector(s,bg.z),o}static isFrontFacing(e,t,n,r){return vg.subVectors(n,t),yg.subVectors(e,t),vg.cross(yg).dot(r)<0}set(e,t,n){return this.a.copy(e),this.b.copy(t),this.c.copy(n),this}setFromPointsAndIndices(e,t,n,r){return this.a.copy(e[t]),this.b.copy(e[n]),this.c.copy(e[r]),this}setFromAttributeAndIndices(e,t,n,r){return this.a.fromBufferAttribute(e,t),this.b.fromBufferAttribute(e,n),this.c.fromBufferAttribute(e,r),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 vg.subVectors(this.c,this.b),yg.subVectors(this.a,this.b),.5*vg.cross(yg).length()}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Ag.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,t){return Ag.getBarycoord(e,this.a,this.b,this.c,t)}getUV(e,t,n,r,i){return Ag.getUV(e,this.a,this.b,this.c,t,n,r,i)}containsPoint(e){return Ag.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Ag.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,t){const n=this.a,r=this.b,i=this.c;let a,s;wg.subVectors(r,n),_g.subVectors(i,n),Mg.subVectors(e,n);const o=wg.dot(Mg),l=_g.dot(Mg);if(o<=0&&l<=0)return t.copy(n);Eg.subVectors(e,r);const c=wg.dot(Eg),u=_g.dot(Eg);if(c>=0&&u<=c)return t.copy(r);const d=o*u-c*l;if(d<=0&&o>=0&&c<=0)return a=o/(o-c),t.copy(n).addScaledVector(wg,a);Tg.subVectors(e,i);const h=wg.dot(Tg),p=_g.dot(Tg);if(p>=0&&h<=p)return t.copy(i);const f=h*l-o*p;if(f<=0&&l>=0&&p<=0)return s=l/(l-p),t.copy(n).addScaledVector(_g,s);const m=c*p-h*u;if(m<=0&&u-c>=0&&h-p>=0)return Sg.subVectors(i,r),s=(u-c)/(u-c+(h-p)),t.copy(r).addScaledVector(Sg,s);const g=1/(m+f+d);return a=f*g,s=d*g,t.copy(n).addScaledVector(wg,a).addScaledVector(_g,s)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}let Cg=0;class Pg extends _f{constructor(){super(),this.isMaterial=!0,Object.defineProperty(this,"id",{value:Cg++}),this.uuid=Af(),this.name="",this.type="Material",this.blending=Sd,this.side=yd,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=Od,this.blendDst=jd,this.blendEquation=Cd,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=Xd,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=cf,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=Yp,this.stencilZFail=Yp,this.stencilZPass=Yp,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}onBuild(){}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(void 0!==e)for(const t in e){const n=e[t];if(void 0===n){console.warn("THREE.Material: '"+t+"' parameter is undefined.");continue}const r=this[t];void 0!==r?r&&r.isColor?r.set(n):r&&r.isVector3&&n&&n.isVector3?r.copy(n):this[t]=n:console.warn("THREE."+this.type+": '"+t+"' is not a property of this material.")}}toJSON(e){const t=void 0===e||"string"===typeof e;t&&(e={textures:{},images:{}});const n={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function r(e){const t=[];for(const n in e){const r=e[n];delete r.metadata,t.push(r)}return t}
vendor: 7,540 bytes, line 2
2if(n.uuid=this.uuid,n.type=this.type,""!==this.name&&(n.name=this.name),this.color&&this.color.isColor&&(n.color=this.color.getHex()),void 0!==this.roughness&&(n.roughness=this.roughness),void 0!==this.metalness&&(n.metalness=this.metalness),void 0!==this.sheen&&(n.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(n.sheenColor=this.sheenColor.getHex()),void 0!==this.sheenRoughness&&(n.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(n.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(n.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(n.specular=this.specular.getHex()),void 0!==this.specularIntensity&&(n.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(n.specularColor=this.specularColor.getHex()),void 0!==this.shininess&&(n.shininess=this.shininess),void 0!==this.clearcoat&&(n.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(n.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(n.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(n.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(n.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,n.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),void 0!==this.iridescence&&(n.iridescence=this.iridescence),void 0!==this.iridescenceIOR&&(n.iridescenceIOR=this.iridescenceIOR),void 0!==this.iridescenceThicknessRange&&(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.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,void 0!==this.combine&&(n.combine=this.combine)),void 0!==this.envMapIntensity&&(n.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(n.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(n.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(n.gradientMap=this.gradientMap.toJSON(e).uuid),void 0!==this.transmission&&(n.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(n.transmissionMap=this.transmissionMap.toJSON(e).uuid),void 0!==this.thickness&&(n.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(n.thicknessMap=this.thicknessMap.toJSON(e).uuid),void 0!==this.attenuationDistance&&this.attenuationDistance!==1/0&&(n.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(n.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(n.size=this.size),null!==this.shadowSide&&(n.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(n.sizeAttenuation=this.sizeAttenuation),this.blending!==Sd&&(n.blending=this.blending),this.side!==yd&&(n.side=this.side),this.vertexColors&&(n.vertexColors=!0),this.opacity<1&&(n.opacity=this.opacity),!0===this.transparent&&(n.transparent=this.transparent),n.depthFunc=this.depthFunc,n.depthTest=this.depthTest,n.depthWrite=this.depthWrite,n.colorWrite=this.colorWrite,n.stencilWrite=this.stencilWrite,n.stencilWriteMask=this.stencilWriteMask,n.stencilFunc=this.stencilFunc,n.stencilRef=this.stencilRef,n.stencilFuncMask=this.stencilFuncMask,n.stencilFail=this.stencilFail,n.stencilZFail=this.stencilZFail,n.stencilZPass=this.stencilZPass,void 0!==this.rotation&&0!==this.rotation&&(n.rotation=this.rotation),!0===this.polygonOffset&&(n.polygonOffset=!0),0!==this.polygonOffsetFactor&&(n.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(n.polygonOffsetUnits=this.polygonOffsetUnits),void 0!==this.linewidth&&1!==this.linewidth&&(n.linewidth=this.linewidth),void 0!==this.dashSize&&(n.dashSize=this.dashSize),void 0!==this.gapSize&&(n.gapSize=this.gapSize),void 0!==this.scale&&(n.scale=this.scale),!0===this.dithering&&(n.dithering=!0),this.alphaTest>0&&(n.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(n.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(n.premultipliedAlpha=this.premultipliedAlpha),!0===this.forceSinglePass&&(n.forceSinglePass=this.forceSinglePass),!0===this.wireframe&&(n.wireframe=this.wireframe),this.wireframeLinewidth>1&&(n.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(n.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(n.wireframeLinejoin=this.wireframeLinejoin),!0===this.flatShading&&(n.flatShading=this.flatShading),!1===this.visible&&(n.visible=!1),!1===this.toneMapped&&(n.toneMapped=!1),!1===this.fog&&(n.fog=!1),Object.keys(this.userData).length>0&&(n.userData=this.userData),t){const t=r(e.textures),i=r(e.images);t.length>0&&(n.textures=t),i.length>0&&(n.images=i)}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.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const t=e.clippingPlanes;let n=null;if(null!==t){const e=t.length;n=new Array(e);for(let r=0;r!==e;++r)n[r]=t[r].clone()}return this.clippingPlanes=n,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipSh
vendor: 8,619 bytes, line 2
2adows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.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){!0===e&&this.version++}}class Ng extends Pg{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new em(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Kd,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.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 Rg=new mm,Lg=new Of;class kg{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];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=void 0!==e?e.length/t:0,this.normalized=n,this.usage=uf,this.updateRange={offset:0,count:-1},this.version=0}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}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}copyAt(e,t,n){e*=this.itemSize,n*=t.itemSize;for(let r=0,i=this.itemSize;r<i;r++)this.array[e+r]=t.array[n+r];return this}copyArray(e){return this.array.set(e),this}applyMatrix3(e){if(2===this.itemSize)for(let t=0,n=this.count;t<n;t++)Lg.fromBufferAttribute(this,t),Lg.applyMatrix3(e),this.setXY(t,Lg.x,Lg.y);else if(3===this.itemSize)for(let t=0,n=this.count;t<n;t++)Rg.fromBufferAttribute(this,t),Rg.applyMatrix3(e),this.setXYZ(t,Rg.x,Rg.y,Rg.z);return this}applyMatrix4(e){for(let t=0,n=this.count;t<n;t++)Rg.fromBufferAttribute(this,t),Rg.applyMatrix4(e),this.setXYZ(t,Rg.x,Rg.y,Rg.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)Rg.fromBufferAttribute(this,t),Rg.applyNormalMatrix(e),this.setXYZ(t,Rg.x,Rg.y,Rg.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)Rg.fromBufferAttribute(this,t),Rg.transformDirection(e),this.setXYZ(t,Rg.x,Rg.y,Rg.z);return this}set(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.array.set(e,t),this}getX(e){let t=this.array[e*this.itemSize];return this.normalized&&(t=If(t,this.array)),t}setX(e,t){return this.normalized&&(t=Df(t,this.array)),this.array[e*this.itemSize]=t,this}getY(e){let t=this.array[e*this.itemSize+1];return this.normalized&&(t=If(t,this.array)),t}setY(e,t){return this.normalized&&(t=Df(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=If(t,this.array)),t}setZ(e,t){return this.normalized&&(t=Df(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=If(t,this.array)),t}setW(e,t){return this.normalized&&(t=Df(t,this.array)),this.array[e*this.itemSize+3]=t,this}setXY(e,t,n){return e*=this.itemSize,this.normalized&&(t=Df(t,this.array),n=Df(n,this.array)),this.array[e+0]=t,this.array[e+1]=n,this}setXYZ(e,t,n,r){return e*=this.itemSize,this.normalized&&(t=Df(t,this.array),n=Df(n,this.array),r=Df(r,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this}setXYZW(e,t,n,r,i){return e*=this.itemSize,this.normalized&&(t=Df(t,this.array),n=Df(n,this.array),r=Df(r,this.array),i=Df(i,this.array)),this.array[e+0]=t,this.array[e+1]=n,this.array[e+2]=r,this.array[e+3]=i,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!==uf&&(e.usage=this.usage),0===this.updateRange.offset&&-1===this.updateRange.count||(e.updateRange=this.updateRange),e}copyColorsArray(){console.error("THREE.BufferAttribute: copyColorsArray() was removed in r144.")}copyVector2sArray(){console.error("THREE.BufferAttribute: copyVector2sArray() was removed in r144.")}copyVector3sArray(){console.error("THREE.BufferAttribute: copyVector3sArray() was removed in r144.")}copyVector4sArray(){console.error("THREE.BufferAttribute: copyVector4sArray() was removed in r144.")}}class Ig extends kg{constructor(e,t,n){super(new Int8Array(e),t,n)}}class Dg extends kg{constructor(e,t,n){super(new Uint8Array(e),t,n)}}class zg extends kg{constructor(e,t,n){super(new Uint8ClampedArray(e),t,n)}}class Og extends kg{constructor(e,t,n){super(new Int16Array(e),t,n)}}class jg extends kg{constructor(e,t,n){super(new Uint16Array(e),t,n)}}class Bg extends kg{constructor(e,t,n){super(new Int32Array(e),t,n)}}class Fg extends kg{constructor(e,t,n){super(new Uint32Array(e),t,n)}}class Ug extends kg{constructor(e,t,n){super(new Uint16Array(e),t,n),this.isFloat16BufferAttribute=!0}}class Vg extends kg{constructor(e,t,n){super(new Float32Array(e),t,n)}}class Hg extends kg{constructor(e,t,n){super(new Float64Array(e),t,n)}}let Wg=0;const Gg=new Gm,qg=new gg,Xg=new mm,Yg=new ym,Jg=new ym,Qg=new mm;class Zg extends _f{constructor(){super(),this.isBufferGeometry=!0,Object.defineProperty(this,"id",{value:Wg++}),this.uuid=Af(),this.name="",this.type="BufferGeometry",this.index=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(Ff(e)?Fg:jg)(e,1):this.index=e,this}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 void 0!==this.attributes[e]}addGroup(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]: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;void 0!==t&&(t.applyMatrix4(e),t.needsUpdate=!0);const n=this.attributes.normal;if(void 0!==n){const t=(new jf).getNormalMatrix(e);n.applyNormalMatrix(t),n.needsUpdate=!0}const r=this.attributes.tangent;return void 0!==r&&(r.transformDirection(e),r.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(e){return Gg.makeRotationFromQuaternion(e),this.applyMatrix4(Gg),this}rotateX(e){return Gg.makeRotationX(e),this.applyMatrix4(Gg),this}rotateY(e){return Gg.makeRotationY(e),this.applyMatrix4(Gg),this}rotateZ(e){return Gg.makeRotationZ(e),this.applyMatrix4(Gg),this}translate(e,t,n){return Gg.makeTranslation(e,t,n),this.applyMatrix4(Gg),this}scale(e,t,n){return Gg.makeScale(e,t,n),this.applyMatrix4(Gg),this}lookAt(e){return qg.lookAt(e),qg.updateMatrix(),this.applyMatrix4(qg.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(Xg).negate(),this.translate(Xg.x,Xg.y,Xg.z),this}setFromPoints(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n];t.push(r.x,r.y,r.z||0)}return this.setAttribute("position",new Vg(t,3)),this}computeBoundingBox(){null===this.boundingBox&&(this.boundingBox=new ym);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "fal
2se".',this),void this.boundingBox.set(new mm(-1/0,-1/0,-1/0),new mm(1/0,1/0,1/0));if(void 0!==e){if(this.boundingBox.setFromBufferAttribute(e),t)for(let n=0,r=t.length;n<r;n++){const e=t[n];Yg.setFromBufferAttribute(e),this.morphTargetsRelative?(Qg.addVectors(this.boundingBox.min,Yg.min),this.boundingBox.expandByPoint(Qg),Qg.addVectors(this.boundingBox.max,Yg.max),this.boundingBox.expandByPoint(Qg)):(this.boundingBox.expandByPoint(Yg.min),this.boundingBox.expandByPoint(Yg.max))}}else this.boundingBox.makeEmpty();(isNaN(this.boundingBox.min.x)||isNaN(this.boundingBox.min.y)||isNaN(this.boundingBox.min.z))&&console.error('THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.',this)}computeBoundingSphere(){null===this.boundingSphere&&(this.boundingSphere=new zm);const e=this.attributes.position,t=this.morphAttributes.position;if(e&&e.isGLBufferAttribute)return console.error('THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "fal
2se".',this),void this.boundingSphere.set(new mm,1/0);if(e){const n=this.boundingSphere.center;if(Yg.setFromBufferAttribute(e),t)for(let e=0,i=t.length;e<i;e++){const n=t[e];Jg.setFromBufferAttribute(n),this.morphTargetsRelative?(Qg.addVectors(Yg.min,Jg.min),Yg.expandByPoint(Qg),Qg.addVectors(Yg.max,Jg.max),Yg.expandByPoint(Qg)):(Yg.expandByPoint(Jg.min),Yg.expandByPoint(Jg.max))}Yg.getCenter(n);let r=0;for(let t=0,i=e.count;t<i;t++)Qg.fromBufferAttribute(e,t),r=Math.max(r,n.distanceToSquared(Qg));if(t)for(let i=0,a=t.length;i<a;i++){const a=t[i],s=this.morphTargetsRelative;for(let t=0,i=a.count;t<i;t++)Qg.fromBufferAttribute(a,t),s&&(Xg.fromBufferAttribute(e,t),Qg.add(Xg)),r=Math.max(r,n.distanceToSquared(Qg))}this.boundingSphere.radius=Math.sqrt(r),isNaN(this.boundingSphere.radius)&&console.error('THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.',this)}}computeTangents(){const e=this.index,t=this.attributes;if(null===e||void 0===t.position||void 0===t.normal||void 0===t.uv)return void console.error("THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)");const n=e.array,r=t.position.array,i=t.normal.array,a=t.uv.array,s=r.length/3;!1===this.hasAttribute("tangent")&&this.setAttribute("tangent",new kg(new Float32Array(4*s),4));const o=this.getAttribute("tangent").array,l=[],c=[];for(let E=0;E<s;E++)l[E]=new mm,c[E]=new mm;const u=new mm,d=new mm,h=new mm,p=new Of,f=new Of,m=new Of,g=new mm,v=new mm;function y(e,t,n){u.fromArray(r,3*e),d.fromArray(r,3*t),h.fromArray(r,3*n),p.fromArray(a,2*e),f.fromArray(a,2*t),m.fromArray(a,2*n),d.sub(u),h.sub(u),f.sub(p),m.sub(p);const i=1/(f.x*m.y-m.x*f.y);isFinite(i)&&(g.copy(d).multiplyScalar(m.y).addScaledVector(h,-f.y).multiplyScalar(i),v.copy(h).multiplyScalar(f.x).addScaledVector(d,-m.x).multiplyScalar(i),l[e].add(g),l[t].add(g),l[n].add(g),c[e].add(v),c[t].add(v),c[n].add(v))}let x=this.groups;0===x.length&&(x=[{start:0,count:n.length}]);for(let E=0,T=x.length;E<T;++E){const e=x[E],t=e.start;for(let r=t,i=t+e.count;r<i;r+=3)y(n[r+0],n[r+1],n[r+2])}const b=new mm,w=new mm,_=new mm,S=new mm;function M(e){_.fromArray(i,3*e),S.copy(_);const t=l[e];b.copy(t),b.sub(_.multiplyScalar(_.dot(t))).normalize(),w.crossVectors(S,t);const n=w.dot(c[e])<0?-1:1;o[4*e]=b.x,o[4*e+1]=b.y,o[4*e+2]=b.z,o[4*e+3]=n}for(let E=0,T=x.length;E<T;++E){const e=x[E],t=e.start;for(let r=t,i=t+e.count;r<i;r+=3)M(n[r+0]),M(n[r+1]),M(n[r+2])}}computeVertexNormals(){const e=this.index,t=this.getAttribute("position");if(void 0!==t){let n=this.getAttribute("normal");if(void 0===n)n=new kg(new Float32Array(3*t.count),3),this.setAttribute("normal",n);else for(let e=0,t=n.count;e<t;e++)n.setXYZ(e,0,0,0);const r=new mm,i=new mm,a=new mm,s=new mm,o=new mm,l=new mm,c=new mm,u=new mm;if(e)for(let d=0,h=e.count;d<h;d+=3){const h=e.getX(d+0),p=e.getX(d+1),f=e.getX(d+2);r.fromBufferAttribute(t,h),i.fromBufferAttribute(t,p),a.fromBufferAttribute(t,f),c.subVectors(a,i),u.subVectors(r,i),c.cross(u),s.fromBufferAttribute(n,h),o.fromBufferAttribute(n,p),l.fromBufferAttribute(n,f),s.add(c),o.add(c),l.add(c),n.setXYZ(h,s.x,s.y,s.z),n.setXYZ(p,o.x,o.y,o.z),n.setXYZ(f,l.x,l.y,l.z)}else for(let e=0,d=t.count;e<d;e+=3)r.fromBufferAttribute(t,e+0),i.fromBufferAttribute(t,e+1),a.fromBufferAttribute(t,e+2),c.subVectors(a,i),u.subVectors(r,i),c.cross(u),n.setXYZ(e+0,c.x,c.y,c.z),n.setXYZ(e+1,c.x,c.y,c.z),n.setXYZ(e+2,c.x,c.y,c.z);this.normalizeNormals(),n.needsUpdate=!0}}merge(){return console.error("THREE.BufferGeometry.merge() has been removed. Use THREE.BufferGeometryUtils.mergeBufferGeometries() instead."),this}normalizeNormals(){const e=this.attributes.normal;for(let t=0,n=e.count;t<n;t++)Qg.fromBufferAttribute(e,t),Qg.normalize(),e.setXYZ(t,Qg.x,Qg.y,Qg.z)}toNonIndexed(){function e(e,t){const n=e.array,r=e.itemSize,i=e.normalized,a=new n.constructor(t.length*r);let s=0,o=0;for(let l=0,c=t.length;l<c;l++){s=e.isInterleavedBufferAttribute?t[l]*e.data.stride+e.offset:t[l]*r;for(let e=0;e<r;e++)a[o++]=n[s++]}return new kg(a,r,i)}if(null===this.index)return console.warn("THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed."),this;const t=new Zg,n=this.index.array,r=this.attributes;for(const s in r){const i=e(r[s],n);t.setAttribute(s,i)}const i=this.morphAttributes;for(const s in i){const r=[],a=i[s];for(let t=0,i=a.length;t<i;t++){const i=e(a[t],n);r.push(i)}t.morphAttributes[s]=r}t.morphTargetsRelative=this.morphTargetsRelative;const a=this.groups;for(let s=0,o=a.length;s<o;s++){const e=a[s];t.addGroup(e.start,e.count,e.materialIndex)}return t}toJSON(){const e={metadata:{version:4.5,type:"BufferGeometry",generator:"BufferGeometry.toJSON"}};
vendor: 11,431 bytes, line 2
2if(e.uuid=this.uuid,e.type=this.type,""!==this.name&&(e.name=this.name),Object.keys(this.userData).length>0&&(e.userData=this.userData),void 0!==this.parameters){const t=this.parameters;for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e}e.data={attributes:{}};const t=this.index;null!==t&&(e.data.index={type:t.array.constructor.name,array:Array.prototype.slice.call(t.array)});const n=this.attributes;for(const o in n){const t=n[o];e.data.attributes[o]=t.toJSON(e.data)}const r={};let i=!1;for(const o in this.morphAttributes){const t=this.morphAttributes[o],n=[];for(let r=0,i=t.length;r<i;r++){const i=t[r];n.push(i.toJSON(e.data))}n.length>0&&(r[o]=n,i=!0)}i&&(e.data.morphAttributes=r,e.data.morphTargetsRelative=this.morphTargetsRelative);const a=this.groups;a.length>0&&(e.data.groups=JSON.parse(JSON.stringify(a)));const s=this.boundingSphere;return null!==s&&(e.data.boundingSphere={center:s.center.toArray(),radius:s.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;null!==n&&this.setIndex(n.clone(t));const r=e.attributes;for(const l in r){const e=r[l];this.setAttribute(l,e.clone(t))}const i=e.morphAttributes;for(const l in i){const e=[],n=i[l];for(let r=0,i=n.length;r<i;r++)e.push(n[r].clone(t));this.morphAttributes[l]=e}this.morphTargetsRelative=e.morphTargetsRelative;const a=e.groups;for(let l=0,c=a.length;l<c;l++){const e=a[l];this.addGroup(e.start,e.count,e.materialIndex)}const s=e.boundingBox;null!==s&&(this.boundingBox=s.clone());const o=e.boundingSphere;return null!==o&&(this.boundingSphere=o.clone()),this.drawRange.start=e.drawRange.start,this.drawRange.count=e.drawRange.count,this.userData=e.userData,void 0!==e.parameters&&(this.parameters=Object.assign({},e.parameters)),this}dispose(){this.dispatchEvent({type:"dispose"})}}const Kg=new Gm,$g=new Wm,ev=new zm,tv=new mm,nv=new mm,rv=new mm,iv=new mm,av=new mm,sv=new Of,ov=new Of,lv=new Of,cv=new mm,uv=new mm;class dv extends gg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Zg,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Ng;super(),this.isMesh=!0,this.type="Mesh",this.geometry=e,this.material=t,this.updateMorphTargets()}copy(e,t){return super.copy(e,t),void 0!==e.morphTargetInfluences&&(this.morphTargetInfluences=e.morphTargetInfluences.slice()),void 0!==e.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},e.morphTargetDictionary)),this.material=e.material,this.geometry=e.geometry,this}updateMorphTargets(){const e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){const t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}getVertexPosition(e,t){const n=this.geometry,r=n.attributes.position,i=n.morphAttributes.position,a=n.morphTargetsRelative;t.fromBufferAttribute(r,e);const s=this.morphTargetInfluences;if(i&&s){av.set(0,0,0);for(let n=0,r=i.length;n<r;n++){const r=s[n],o=i[n];0!==r&&(iv.fromBufferAttribute(o,e),a?av.addScaledVector(iv,r):av.addScaledVector(iv.sub(t),r))}t.add(av)}return this.isSkinnedMesh&&this.boneTransform(e,t),t}raycast(e,t){const n=this.geometry,r=this.material,i=this.matrixWorld;if(void 0===r)return;if(null===n.boundingSphere&&n.computeBoundingSphere(),ev.copy(n.boundingSphere),ev.applyMatrix4(i),!1===e.ray.intersectsSphere(ev))return;if(Kg.copy(i).invert(),$g.copy(e.ray).applyMatrix4(Kg),null!==n.boundingBox&&!1===$g.intersectsBox(n.boundingBox))return;let a;const s=n.index,o=n.attributes.position,l=n.attributes.uv,c=n.attributes.uv2,u=n.groups,d=n.drawRange;if(null!==s)if(Array.isArray(r))for(let h=0,p=u.length;h<p;h++){const n=u[h],i=r[n.materialIndex];for(let r=Math.max(n.start,d.start),o=Math.min(s.count,Math.min(n.start+n.count,d.start+d.count));r<o;r+=3){const o=s.getX(r),u=s.getX(r+1),d=s.getX(r+2);a=hv(this,i,e,$g,l,c,o,u,d),a&&(a.faceIndex=Math.floor(r/3),a.face.materialIndex=n.materialIndex,t.push(a))}}else{for(let n=Math.max(0,d.start),i=Math.min(s.count,d.start+d.count);n<i;n+=3){const i=s.getX(n),o=s.getX(n+1),u=s.getX(n+2);a=hv(this,r,e,$g,l,c,i,o,u),a&&(a.faceIndex=Math.floor(n/3),t.push(a))}}else if(void 0!==o)if(Array.isArray(r))for(let h=0,p=u.length;h<p;h++){const n=u[h],i=r[n.materialIndex];for(let r=Math.max(n.start,d.start),s=Math.min(o.count,Math.min(n.start+n.count,d.start+d.count));r<s;r+=3){a=hv(this,i,e,$g,l,c,r,r+1,r+2),a&&(a.faceIndex=Math.floor(r/3),a.face.materialIndex=n.materialIndex,t.push(a))}}else{for(let n=Math.max(0,d.start),i=Math.min(o.count,d.start+d.count);n<i;n+=3){a=hv(this,r,e,$g,l,c,n,n+1,n+2),a&&(a.faceIndex=Math.floor(n/3),t.push(a))}}}}function hv(e,t,n,r,i,a,s,o,l){e.getVertexPosition(s,tv),e.getVertexPosition(o,nv),e.getVertexPosition(l,rv);const c=function(e,t,n,r,i,a,s,o){let l;if(l=t.side===xd?r.intersectTriangle(s,a,i,!0,o):r.intersectTriangle(i,a,s,t.side===yd,o),null===l)return null;uv.copy(o),uv.applyMatrix4(e.matrixWorld);const c=n.ray.origin.distanceTo(uv);return c<n.near||c>n.far?null:{distance:c,point:uv.clone(),object:e}}(e,t,n,r,tv,nv,rv,cv);if(c){i&&(sv.fromBufferAttribute(i,s),ov.fromBufferAttribute(i,o),lv.fromBufferAttribute(i,l),c.uv=Ag.getUV(cv,tv,nv,rv,sv,ov,lv,new Of)),a&&(sv.fromBufferAttribute(a,s),ov.fromBufferAttribute(a,o),lv.fromBufferAttribute(a,l),c.uv2=Ag.getUV(cv,tv,nv,rv,sv,ov,lv,new Of));const e={a:s,b:o,c:l,normal:new mm,materialIndex:0};Ag.getNormal(tv,nv,rv,e.normal),c.face=e}return c}class pv extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1;super(),this.type="BoxGeometry",this.parameters={width:e,height:t,depth:n,widthSegments:r,heightSegments:i,depthSegments:a};const s=this;r=Math.floor(r),i=Math.floor(i),a=Math.floor(a);const o=[],l=[],c=[],u=[];let d=0,h=0;function p(e,t,n,r,i,a,p,f,m,g,v){const y=a/m,x=p/g,b=a/2,w=p/2,_=f/2,S=m+1,M=g+1;let E=0,T=0;const A=new mm;for(let s=0;s<M;s++){const a=s*x-w;for(let o=0;o<S;o++){const d=o*y-b;A[e]=d*r,A[t]=a*i,A[n]=_,l.push(A.x,A.y,A.z),A[e]=0,A[t]=0,A[n]=f>0?1:-1,c.push(A.x,A.y,A.z),u.push(o/m),u.push(1-s/g),E+=1}}for(let s=0;s<g;s++)for(let e=0;e<m;e++){const t=d+e+S*s,n=d+e+S*(s+1),r=d+(e+1)+S*(s+1),i=d+(e+1)+S*s;o.push(t,n,i),o.push(n,r,i),T+=6}s.addGroup(h,T,v),h+=T,d+=E}p("z","y","x",-1,-1,n,t,e,a,i,0),p("z","y","x",1,-1,n,t,-e,a,i,1),p("x","z","y",1,1,e,n,t,r,a,2),p("x","z","y",1,-1,e,n,-t,r,a,3),p("x","y","z",1,-1,e,t,n,r,i,4),p("x","y","z",-1,-1,e,t,-n,r,i,5),this.setIndex(o),this.setAttribute("position",new Vg(l,3)),this.setAttribute("normal",new Vg(c,3)),this.setAttribute("uv",new Vg(u,2))}static fromJSON(e){return new pv(e.width,e.height,e.depth,e.widthSegments,e.heightSegments,e.depthSegments)}}function fv(e){const t={};for(const n in e){t[n]={};for(const r in e[n]){const i=e[n][r];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?t[n][r]=i.clone():Array.isArray(i)?t[n][r]=i.slice():t[n][r]=i}}return t}function mv(e){const t={};for(let n=0;n<e.length;n++){const r=fv(e[n]);for(const e in r)t[e]=r[e]}return t}function gv(e){return null===e.getRenderTarget()&&e.outputEncoding===Bp?Gp:qp}const vv={clone:fv,merge:mv};class yv extends Pg{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader="void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}",this.fragmentShader="void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}",this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.extensions={derivatives:!1,fragDepth:!1,drawBuffers:!1,shaderTextureLOD:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv2:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,void 0!==e&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=fv(e.uniforms),this.uniformsGroups=function(e){const t=[];for(let n=0;n<e.length;n++)t.push(e[n].clone());return t}(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 r in this.uniforms){const n=this.uniforms[r].value;n&&n.isTexture?t.uniforms[r]={type:"t",value:n.toJSON(e).uuid}:n&&n.isColor?t.uniforms[r]={type:"c",value:n.getHex()}:n&&n.isVector2?t.uniforms[r]={type:"v2",value:n.toArray()}:n&&n.isVector3?t.uniforms[r]={type:"v3",value:n.toArray()}:n&&n.isVector4?t.uniforms[r]={type:"v4",value:n.toArray()}:n&&n.isMatrix3?t.uniforms[r]={type:"m3",value:n.toArray()}:n&&n.isMatrix4?t.uniforms[r]={type:"m4",value:n.toArray()}:t.uniforms[r]={value:n}}Object.keys(this.defines).length>0&&(t.defines=this.defines),t.vertexShader=this.vertexShader,t.fragmentShader=this.fragmentShader;const n={};for(const r in this.extensions)!0===this.extensions[r]&&(n[r]=!0);return Object.keys(n).length>0&&(t.extensions=n),t}}class xv extends gg{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Gm,this.projectionMatrix=new Gm,this.projectionMatrixInverse=new Gm}copy(e,t){return super.copy(e,t),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this}getWorldDirection(e){this.updateWorldMatrix(!0,!1);const t=this.matrixWorld.elements;return e.set(-t[8],-t[9],-t[10]).normalize()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,t){super.updateWorldMatrix(e,t),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}class bv extends xv{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2e3;super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=n,this.far=r,this.focus=10,this.aspect=t,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,t){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=null===e.view?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const t=.5*this.getFilmHeight()/e;this.fov=2*Tf*Math.atan(t),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(.5*Ef*this.fov);return.5*this.getFilmHeight()/e}
2getEffectiveFOV(){return 2*Tf*Math.atan(Math.tan(.5*Ef*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(e,t,n,r,i,a){this.aspect=e/t,null===this.view&&(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=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let t=e*Math.tan(.5*Ef*this.fov)/this.zoom,n=2*t,r=this.aspect*n,i=-.5*r;const a=this.view;if(null!==this.view&&this.view.enabled){const e=a.fullWidth,s=a.fullHeight;i+=a.offsetX*r/e,t-=a.offsetY*n/s,r*=a.width/e,n*=a.height/s}const s=this.filmOffset;0!==s&&(i+=e*s/this.getFilmWidth()),this.projectionMatrix.makePerspective(i,i+r,t,t-n,e,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const t=super.toJSON(e);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,null!==this.view&&(t.object.view=Object.assign({},this.view)),t.object.filmGauge=this.filmGauge,t.object.filmOffset=this.filmOffset,t}}const wv=-90;class _v extends gg{constructor(e,t,n){super(),this.type="CubeCamera",this.renderTarget=n;const r=new bv(wv,1,e,t);r.layers=this.layers,r.up.set(0,1,0),r.lookAt(1,0,0),this.add(r);const i=new bv(wv,1,e,t);i.layers=this.layers,i.up.set(0,1,0),i.lookAt(-1,0,0),this.add(i);const a=new bv(wv,1,e,t);a.layers=this.layers,a.up.set(0,0,-1),a.lookAt(0,1,0),this.add(a);const s=new bv(wv,1,e,t);s.layers=this.layers,s.up.set(0,0,1),s.lookAt(0,-1,0),this.add(s);const o=new bv(wv,1,e,t);o.layers=this.layers,o.up.set(0,1,0),o.lookAt(0,0,1),this.add(o);const l=new bv(wv,1,e,t);l.layers=this.layers,l.up.set(0,1,0),l.lookAt(0,0,-1),this.add(l)}update(e,t){null===this.parent&&this.updateMatrixWorld();const n=this.renderTarget,[r,i,a,s,o,l]=this.children,c=e.getRenderTarget(),u=e.toneMapping,d=e.xr.enabled;e.toneMapping=th,e.xr.enabled=!1;const h=n.texture.generateMipmaps;n.texture.generateMipmaps=!1,e.setRenderTarget(n,0),e.render(t,r),e.setRenderTarget(n,1),e.render(t,i),e.setRenderTarget(n,2),e.render(t,a),e.setRenderTarget(n,3),e.render(t,s),e.setRenderTarget(n,4),e.render(t,o),n.texture.generateMipmaps=h,e.setRenderTarget(n,5),e.render(t,l),e.setRenderTarget(c),e.toneMapping=u,e.xr.enabled=d,n.texture.needsPMREMUpdate=!0}}class Sv extends sm{constructor(e,t,n,r,i,a,s,o,l,c){super(e=void 0!==e?e:[],t=void 0!==t?t:lh,n,r,i,a,s,o,l,c),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class Mv extends lm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,e,t),this.isWebGLCubeRenderTarget=!0;const n={width:e,height:e,depth:1},r=[n,n,n,n,n,n];this.texture=new Sv(r,t.mapping,t.wrapS,t.wrapT,t.magFilter,t.minFilter,t.format,t.type,t.anisotropy,t.encoding),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=void 0!==t.generateMipmaps&&t.generateMipmaps,this.texture.minFilter=void 0!==t.minFilter?t.minFilter:wh}fromEquirectangularTexture(e,t){this.texture.type=t.type,this.texture.encoding=t.encoding,this.texture.generateMipmaps=t.generateMipmaps,this.texture.minFilter=t.minFilter,this.texture.magFilter=t.magFilter;const n={tEquirect:{value:null}},r="\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t",i="\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t",a=new pv(5,5,5),s=new yv({name:"CubemapFromEquirect",uniforms:fv(n),vertexShader:r,fragmentShader:i,side:xd,blending:_d});s.uniforms.tEquirect.value=t;const o=new dv(a,s),l=t.minFilter;t.minFilter===Mh&&(t.minFilter=wh);return new _v(1,10,this).update(e,o),t.minFilter=l,o.geometry.dispose(),o.material.dispose(),this}clear(e,t,n,r){const i=e.getRenderTarget();for(let a=0;a<6;a++)e.setRenderTarget(this,a),e.clear(t,n,r);e.setRenderTarget(i)}}const Ev=new mm,Tv=new mm,Av=new jf;class Cv{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm(1,0,0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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,r){return this.normal.set(e,t,n),this.constant=r,this}setFromNormalAndCoplanarPoint(e,t){return this.normal.copy(e),this.constant=-t.dot(this.normal),this}
vendor: 6,922 bytes, line 2
2setFromCoplanarPoints(e,t,n){const r=Ev.subVectors(n,t).cross(Tv.subVectors(e,t)).normalize();return this.setFromNormalAndCoplanarPoint(r,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(this.normal).multiplyScalar(-this.distanceToPoint(e)).add(e)}intersectLine(e,t){const n=e.delta(Ev),r=this.normal.dot(n);if(0===r)return 0===this.distanceToPoint(e.start)?t.copy(e.start):null;const i=-(e.start.dot(this.normal)+this.constant)/r;return i<0||i>1?null:t.copy(n).multiplyScalar(i).add(e.start)}intersectsLine(e){const t=this.distanceToPoint(e.start),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||Av.getNormalMatrix(e),r=this.coplanarPoint(Ev).applyMatrix4(e),i=this.normal.applyMatrix3(n).normalize();return this.constant=-r.dot(i),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 Pv=new zm,Nv=new mm;class Rv{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Cv,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Cv,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Cv,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Cv,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Cv,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:new Cv;this.planes=[e,t,n,r,i,a]}set(e,t,n,r,i,a){const s=this.planes;return s[0].copy(e),s[1].copy(t),s[2].copy(n),s[3].copy(r),s[4].copy(i),s[5].copy(a),this}copy(e){const t=this.planes;for(let n=0;n<6;n++)t[n].copy(e.planes[n]);return this}setFromProjectionMatrix(e){const t=this.planes,n=e.elements,r=n[0],i=n[1],a=n[2],s=n[3],o=n[4],l=n[5],c=n[6],u=n[7],d=n[8],h=n[9],p=n[10],f=n[11],m=n[12],g=n[13],v=n[14],y=n[15];return t[0].setComponents(s-r,u-o,f-d,y-m).normalize(),t[1].setComponents(s+r,u+o,f+d,y+m).normalize(),t[2].setComponents(s+i,u+l,f+h,y+g).normalize(),t[3].setComponents(s-i,u-l,f-h,y-g).normalize(),t[4].setComponents(s-a,u-c,f-p,y-v).normalize(),t[5].setComponents(s+a,u+c,f+p,y+v).normalize(),this}intersectsObject(e){const t=e.geometry;return null===t.boundingSphere&&t.computeBoundingSphere(),Pv.copy(t.boundingSphere).applyMatrix4(e.matrixWorld),this.intersectsSphere(Pv)}intersectsSprite(e){return Pv.center.set(0,0,0),Pv.radius=.7071067811865476,Pv.applyMatrix4(e.matrixWorld),this.intersectsSphere(Pv)}intersectsSphere(e){const t=this.planes,n=e.center,r=-e.radius;for(let i=0;i<6;i++){if(t[i].distanceToPoint(n)<r)return!1}return!0}intersectsBox(e){const t=this.planes;for(let n=0;n<6;n++){const r=t[n];if(Nv.x=r.normal.x>0?e.max.x:e.min.x,Nv.y=r.normal.y>0?e.max.y:e.min.y,Nv.z=r.normal.z>0?e.max.z:e.min.z,r.distanceToPoint(Nv)<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 Lv(){let e=null,t=!1,n=null,r=null;function i(t,a){n(t,a),r=e.requestAnimationFrame(i)}return{start:function(){!0!==t&&null!==n&&(r=e.requestAnimationFrame(i),t=!0)},stop:function(){e.cancelAnimationFrame(r),t=!1},setAnimationLoop:function(e){n=e},setContext:function(t){e=t}}}function kv(e,t){const n=t.isWebGL2,r=new WeakMap;return{get:function(e){return e.isInterleavedBufferAttribute&&(e=e.data),r.get(e)},remove:function(t){t.isInterleavedBufferAttribute&&(t=t.data);const n=r.get(t);n&&(e.deleteBuffer(n.buffer),r.delete(t))},update:function(t,i){if(t.isGLBufferAttribute){const e=r.get(t);return void((!e||e.version<t.version)&&r.set(t,{buffer:t.buffer,type:t.type,bytesPerElement:t.elementSize,version:t.version}))}t.isInterleavedBufferAttribute&&(t=t.data);const a=r.get(t);void 0===a?r.set(t,function(t,r){const i=t.array,a=t.usage,s=e.createBuffer();let o;if(e.bindBuffer(r,s),e.bufferData(r,i,a),t.onUploadCallback(),i instanceof Float32Array)o=5126;else if(i instanceof Uint16Array)if(t.isFloat16BufferAttribute){if(!n)throw new Error("THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.");o=5131}else o=5123;else if(i instanceof Int16Array)o=5122;else if(i instanceof Uint32Array)o=5125;else if(i instanceof Int32Array)o=5124;else if(i instanceof Int8Array)o=5120;else if(i instanceof Uint8Array)o=5121;else{if(!(i instanceof Uint8ClampedArray))throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+i);o=5121}return{buffer:s,type:o,bytesPerElement:i.BYTES_PER_ELEMENT,version:t.version}}(t,i)):a.version<t.version&&(!function(t,r,i){const a=r.array,s=r.updateRange;e.bindBuffer(i,t),-1===s.count?e.bufferSubData(i,0,a):(n?e.bufferSubData(i,s.offset*a.BYTES_PER_ELEMENT,a,s.offset,s.count):e.bufferSubData(i,s.offset*a.BYTES_PER_ELEMENT,a.subarray(s.offset,s.offset+s.count)),s.count=-1),r.onUploadCallback()}(a.buffer,t,i),a.version=t.version)}}}class Iv extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(),this.type="PlaneGeometry",this.parameters={width:e,height:t,widthSegments:n,heightSegments:r};const i=e/2,a=t/2,s=Math.floor(n),o=Math.floor(r),l=s+1,c=o+1,u=e/s,d=t/o,h=[],p=[],f=[],m=[];for(let g=0;g<c;g++){const e=g*d-a;for(let t=0;t<l;t++){const n=t*u-i;p.push(n,-e,0),f.push(0,0,1),m.push(t/s),m.push(1-g/o)}}for(let g=0;g<o;g++)for(let e=0;e<s;e++){const t=e+l*g,n=e+l*(g+1),r=e+1+l*(g+1),i=e+1+l*g;h.push(t,n,i),h.push(n,r,i)}this.setIndex(h),this.setAttribute("position",new Vg(p,3)),this.setAttribute("normal",new Vg(f,3)),this.setAttribute("uv",new Vg(m,2))}static fromJSON(e){return new Iv(e.width,e.height,e.widthSegments,e.heightSegments)}}const Dv={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif",alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef USE_ALPHATEST\n\tif ( diffuseColor.a < alphaTest ) discard;\n#endif",alphatest_pars_fragment:"#ifdef USE_ALPHATEST\n\tuniform float alphaTest;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot
2( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );\n\t#endif\n#endif",aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec3 BRDF_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nfloat F_Schlick( const in float f0, const in float f90, const in float dotVH ) {\n\tfloat fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );\n}\nvec3 Schlick_to_F0( const in vec3 f, const in float f90, const in float dotVH ) {\n float x = clamp( 1.0 - dotVH, 0.0, 1.0 );\n float x2 = x * x;\n float x5 = clamp( x * x2 * x2, 0.0, 0.9999 );\n return ( f - vec3( f90 ) * x5 ) / ( 1.0 - x5 );\n}\nfloat V_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_GGX( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( f0, f90, dotVH );\n\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( V * D );\n}\n#ifdef USE_IRIDESCENCE\n\tvec3 BRDF_GGX_Iridescence( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 f0, const in float f90, const in float iridescence, const in vec3 iridescenceFresnel, const in float roughness ) {\n\t\tfloat alpha = pow2( roughness );\n\t\tvec3 halfDir = normalize( lightDir + viewDir );\n\t\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\t\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\t\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\t\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\t\tvec3 F = mix( F_Schlick( f0, f90, dotVH ), iridescenceFresnel, iridescence );\n\t\tfloat V = V_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\t\tfloat D = D_GGX( alpha, dotNH );\n\t\treturn F * ( V * D );\n\t}\n#endif\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x >
2 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotVH = saturate( dot( viewDir, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, 1.0, dotVH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie( float roughness, float dotNH ) {\n\tfloat alpha = pow2( roughness );\n\tfloat invAlpha = 1.0 / alpha;\n\tfloat cos2h = dotNH * dotNH;\n\tfloat sin2h = max( 1.0 - cos2h, 0.0078125 );\n\treturn ( 2.0 + invAlpha ) * pow( sin2h, invAlpha * 0.5 ) / ( 2.0 * PI );\n}\nfloat V_Neubelt( float dotNV, float dotNL ) {\n\treturn saturate( 1.0 / ( 4.0 * ( dotNL + dotNV - dotNL * dotNV ) ) );\n}\nvec3 BRDF_Sheen( const in vec3 lightDir, const in vec3 viewDir, const in vec3 normal, vec3 sheenColor, const in float sheenRoughness ) {\n\tvec3 halfDir = normalize( lightDir + viewDir );\n\tfloat dotNL = saturate( dot( normal, lightDir ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat D = D_Charlie( sheenRoughness, dotNH );\n\tfloat V = V_Neubelt( dotNV, dotNL );\n\treturn sheenColor * ( D * V );\n}\n#endif",iridescence_fragment:"#ifdef USE_IRIDESCENCE\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t 3.2404542, -0.9692660, 0.0556434,\n\t\t-1.5371385, 1.8760108, -0.2040259,\n\t\t-0.4985314, 0.0415560, 1.0572252\n\t);\n\tvec3 Fresnel0ToIor( vec3 fresnel0 ) {\n\t\tvec3 sqrtF0 = sqrt( fresnel0 );\n\t\treturn ( vec3( 1.0 ) + sqrtF0 ) / ( vec3( 1.0 ) - sqrtF0 );\n\t}\n\tvec3 IorToFresnel0( vec3 transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - vec3( incidentIor ) ) / ( transmittedIor + vec3( incidentIor ) ) );\n\t}\n\tfloat IorToFresnel0( float transmittedIor, float incidentIor ) {\n\t\treturn pow2( ( transmittedIor - incidentIor ) / ( transmittedIor + incidentIor ));\n\t}\n\tvec3 evalSensitivity( float OPD, vec3 shift ) {\n\t\tfloat phase = 2.0 * PI * OPD * 1.0e-9;\n\t\tvec3 val = vec3( 5.4856e-13, 4.4201e-13, 5.2481e-13 );\n\t\tvec3 pos = vec3( 1.6810e+06, 1.7953e+06, 2.2084e+06 );\n\t\tvec3 var = vec3( 4.3278e+09, 9.3046e+09, 6.6121e+09 );\n\t\tvec3 xyz = val * sqrt( 2.0 * PI * var ) * cos( pos * phase + shift ) * exp( - pow2( phase ) * var );\n\t\txyz.x += 9.7470e-14 * sqrt( 2.0 * PI * 4.5282e+09 ) * cos( 2.2399e+06 * phase + shift[ 0 ] ) * exp( - 4.5282e+09 * pow2( phase ) );\n\t\txyz /= 1.0685e-7;\n\t\tvec3 rgb = XYZ_TO_REC709 * xyz;\n\t\treturn rgb;\n\t}\n\tvec3 evalIridescence( float outsideIOR, float eta2, float cosTheta1, float thinFilmThickness, vec3 baseF0 ) {\n\t\tvec3 I;\n\t\tfloat iridescenceIOR = mix( outsideIOR, eta2, smoothstep( 0.0, 0.03, thinFilmThickness ) );\n\t\tfloat sinTheta2Sq = pow2( outsideIOR / iridescenceIOR ) * ( 1.0 - pow2( cosTheta1 ) );\n\t\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\t\tif ( cosTheta2Sq < 0.0 ) {\n\t\t\t return vec3( 1.0 );\n\t\t}\n\t\tfloat cosTheta2 = sqrt( cosTheta2Sq );\n\t\tfloat R0 = IorToFresnel0( iridescenceIOR, outsideIOR );
2\n\t\tfloat R12 = F_Schlick( R0, 1.0, cosTheta1 );\n\t\tfloat R21 = R12;\n\t\tfloat T121 = 1.0 - R12;\n\t\tfloat phi12 = 0.0;\n\t\tif ( iridescenceIOR < outsideIOR ) phi12 = PI;\n\t\tfloat phi21 = PI - phi12;\n\t\tvec3 baseIOR = Fresnel0ToIor( clamp( baseF0, 0.0, 0.9999 ) );\t\tvec3 R1 = IorToFresnel0( baseIOR, iridescenceIOR );\n\t\tvec3 R23 = F_Schlick( R1, 1.0, cosTheta2 );\n\t\tvec3 phi23 = vec3( 0.0 );\n\t\tif ( baseIOR[ 0 ] < iridescenceIOR ) phi23[ 0 ] = PI;\n\t\tif ( baseIOR[ 1 ] < iridescenceIOR ) phi23[ 1 ] = PI;\n\t\tif ( baseIOR[ 2 ] < iridescenceIOR ) phi23[ 2 ] = PI;\n\t\tfloat OPD = 2.0 * iridescenceIOR * thinFilmThickness * cosTheta2;\n\t\tvec3 phi = vec3( phi21 ) + phi23;\n\t\tvec3 R123 = clamp( R12 * R23, 1e-5, 0.9999 );\n\t\tvec3 r123 = sqrt( R123 );\n\t\tvec3 Rs = pow2( T121 ) * R23 / ( vec3( 1.0 ) - R123 );\n\t\tvec3 C0 = R12 + Rs;\n\t\tI = C0;\n\t\tvec3 Cm = Rs - T121;\n\t\tfor ( int m = 1; m <= 2; ++ m ) {\n\t\t\tCm *= r123;\n\t\t\tvec3 Sm = 2.0 * evalSensitivity( float( m ) * OPD, float( m ) * phi );\n\t\t\tI += Cm * Sm;\n\t\t}\n\t\treturn max( I, vec3( 0.0 ) );\n\t}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos.xyz );\n\t\tvec3 vSigmaY = dFdy( surf_pos.xyz );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement( a ) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nvec3 pow2( const in vec3 x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat max3( const in vec3 v ) { return max( max( v.x, v.y ), v.z ); }\nfloat average( const in vec3 v ) { return dot( v, vec3( 0.3333333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract( sin( sn ) * c );\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat luminance( const in vec3 rgb ) {\n\tconst vec3 weights = vec3( 0.2126729, 0.7151522, 0.0721750 );\n\treturn dot( weights, rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\thighp vec2 uv = getUV( direction, face ) * ( faceSize - 2.0 ) + 1.0;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tuv.x += filterInt * 3.0 * cubeUV_minTileSize;\n\t\tuv.y += 4.0 * ( exp2( CUBEUV_MAX_MIP ) - faceSize );\n\t\tuv.x *= CUBEUV_TEXEL_WIDTH;\n\t\tuv.y *= CUBEUV_TEXEL_HEIGHT;\n\t\t#ifdef texture2DGradEXT\n\t\t\treturn texture2DGradEXT( envMap, uv, vec2( 0.0 ), vec2( 0.0 ) ).rgb;\n\t\t#else\n\t\t\treturn texture2D( envMap, uv ).rgb;\n\t\t#endif\n\t}\n\t#define cubeUV_r0 1.0\n\t#define cubeUV_v0 0.339\n\t#define cubeUV_m0 - 2.0\n\t#define cubeUV_r1 0.8\n\t#define cubeUV_v1 0.276\n\t#define cubeUV_m1 - 1.0\n\t#define cubeUV_r4 0.4\n\t#define cubeUV_v4 0.046\n\t#define cubeUV_m4 2.0\n\t#define cubeUV_r5 0.305\n\t#define cubeUV_v5 0.016\n\t#define cubeUV_m5 3.0\n\t#define cubeUV_r6 0.21\n\t#define cubeUV_v6 0.0038\n\t#define cubeUV_m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= cubeUV_r1 ) {\n\t\t\tmip = ( cubeUV_r0 - roughness ) * ( cubeUV_m1 - cubeUV_m0 ) / ( cubeUV_r0 - cubeUV_r1 ) + cubeUV_m0;\n\t\t} else if ( roughness >= cubeUV_r4 ) {\n\t\t\tmip = ( cubeUV_r1 - roughness ) * ( cubeUV_m4 - cubeUV_m1 ) / ( cubeUV_r1 - cubeUV_r4 ) + cubeUV_m1;\n\t\t} else if ( roughness >= cubeUV_r5 ) {\n\t\t\tmip = ( cubeUV_r4 - roughness ) * ( cubeUV_m5 - cubeUV_m4 ) / ( cubeUV_r4 - cubeUV_r5 ) + cubeUV_m4;\n\t\t} else if ( roughness >= cubeUV_r6 ) {\n\t\t\tmip = ( cubeUV_r5 - roughness ) * ( cubeUV_m6 - cubeUV_m5 ) / ( cubeUV_r5 - cubeUV_r6 ) + cubeUV_m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), cubeUV_m0, CUBEUV_MAX_MIP );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + dis
2placementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"vec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\tvec3 getIBLIrradiance( const in vec3 normal ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n\tvec3 getIBLRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness ) {\n\t\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 reflectVec = reflect( - viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t\treturn envMapColor.rgb * envMapIntensity;\n\t\t#else\n\t\t\treturn vec3( 0.0 );\n\t\t#endif\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t}
2 else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tvFogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float vFogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, vFogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float vFogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn vec3( texture2D( gradientMap, coord ).r );\n\t#else\n\t\tvec2 fw = fwidth( coord ) * 0.5;\n\t\treturn mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\treflectedLight.indirectDiffuse += lightMapIrradiance;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_fragment:"LambertMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularStrength = specularStrength;",lights_lambert_pars_fragment:"varying vec3 vViewPosition;\nstruct LambertMaterial {\n\tvec3 diffuseColor;\n\tfloat specularStrength;\n};\nvoid RE_Direct_Lambert( const in IncidentLight directLight, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in GeometricContext geometry, const in LambertMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Lambert\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Lambert",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in vec3 normal ) {\n\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\treturn irradiance;\n}\nfloat getDistanceAttenuation( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n\t#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\tif ( cutoffDistance > 0.0 ) {\n\t\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t}\n\t\treturn distanceFalloff;\n\t#else\n\t\tif ( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\t\treturn pow( saturate( - lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t\t}\n\t\treturn 1.0;\n\t#endif\n}\nfloat getSpotAttenuation( const in float coneCosine, const in float penumbraCosine, const in float angleCosine ) {\n\treturn smoothstep( coneCosine, penumbraCosine, angleCosine );\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalLightInfo( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tlight.color = directionalLight.color;\n\t\tlight.direction = directionalLight.direction;\n\t\tlight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointLightInfo( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tlight.color = pointLight.color;\n\t\tlight.color *= getDistanceAttenuation( lightDistance, pointLight.distance, pointLight.decay );\n\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t}
2\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotLightInfo( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight light ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tlight.direction = normalize( lVector );\n\t\tfloat angleCos = dot( light.direction, spotLight.direction );\n\t\tfloat spotAttenuation = getSpotAttenuation( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\tif ( spotAttenuation > 0.0 ) {\n\t\t\tfloat lightDistance = length( lVector );\n\t\t\tlight.color = spotLight.color * spotAttenuation;\n\t\t\tlight.color *= getDistanceAttenuation( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tlight.visible = ( light.color != vec3( 0.0 ) );\n\t\t} else {\n\t\t\tlight.color = vec3( 0.0 );\n\t\t\tlight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in vec3 normal ) {\n\t\tfloat dotNL = dot( normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong
vendor: 12,517 bytes, line 2
2",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.roughness = max( roughnessFactor, 0.0525 );material.roughness += geometryRoughness;\nmaterial.roughness = min( material.roughness, 1.0 );\n#ifdef IOR\n\tmaterial.ior = ior;\n\t#ifdef SPECULAR\n\t\tfloat specularIntensityFactor = specularIntensity;\n\t\tvec3 specularColorFactor = specularColor;\n\t\t#ifdef USE_SPECULARINTENSITYMAP\n\t\t\tspecularIntensityFactor *= texture2D( specularIntensityMap, vUv ).a;\n\t\t#endif\n\t\t#ifdef USE_SPECULARCOLORMAP\n\t\t\tspecularColorFactor *= texture2D( specularColorMap, vUv ).rgb;\n\t\t#endif\n\t\tmaterial.specularF90 = mix( specularIntensityFactor, 1.0, metalnessFactor );\n\t#else\n\t\tfloat specularIntensityFactor = 1.0;\n\t\tvec3 specularColorFactor = vec3( 1.0 );\n\t\tmaterial.specularF90 = 1.0;\n\t#endif\n\tmaterial.specularColor = mix( min( pow2( ( material.ior - 1.0 ) / ( material.ior + 1.0 ) ) * specularColorFactor, vec3( 1.0 ) ) * specularIntensityFactor, diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( 0.04 ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.specularF90 = 1.0;\n#endif\n#ifdef USE_CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\tmaterial.clearcoatF0 = vec3( 0.04 );\n\tmaterial.clearcoatF90 = 1.0;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_IRIDESCENCE\n\tmaterial.iridescence = iridescence;\n\tmaterial.iridescenceIOR = iridescenceIOR;\n\t#ifdef USE_IRIDESCENCEMAP\n\t\tmaterial.iridescence *= texture2D( iridescenceMap, vUv ).r;\n\t#endif\n\t#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\t\tmaterial.iridescenceThickness = (iridescenceThicknessMaximum - iridescenceThicknessMinimum) * texture2D( iridescenceThicknessMap, vUv ).g + iridescenceThicknessMinimum;\n\t#else\n\t\tmaterial.iridescenceThickness = iridescenceThicknessMaximum;\n\t#endif\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheenColor;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tmaterial.sheenColor *= texture2D( sheenColorMap, vUv ).rgb;\n\t#endif\n\tmaterial.sheenRoughness = clamp( sheenRoughness, 0.07, 1.0 );\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tmaterial.sheenRoughness *= texture2D( sheenRoughnessMap, vUv ).a;\n\t#endif\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat roughness;\n\tvec3 specularColor;\n\tfloat specularF90;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat clearcoat;\n\t\tfloat clearcoatRoughness;\n\t\tvec3 clearcoatF0;\n\t\tfloat clearcoatF90;\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\tfloat iridescence;\n\t\tfloat iridescenceIOR;\n\t\tfloat iridescenceThickness;\n\t\tvec3 iridescenceFresnel;\n\t\tvec3 iridescenceF0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tvec3 sheenColor;\n\t\tfloat sheenRoughness;\n\t#endif\n\t#ifdef IOR\n\t\tfloat ior;\n\t#endif\n\t#ifdef USE_TRANSMISSION\n\t\tfloat transmission;\n\t\tfloat transmissionAlpha;\n\t\tfloat thickness;\n\t\tfloat attenuationDistance;\n\t\tvec3 attenuationColor;\n\t#endif\n};\nvec3 clearcoatSpecular = vec3( 0.0 );\nvec3 sheenSpecular = vec3( 0.0 );\nfloat IBLSheenBRDF( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat r2 = roughness * roughness;\n\tfloat a = roughness < 0.25 ? -339.2 * r2 + 161.4 * roughness - 25.9 : -8.48 * r2 + 14.3 * roughness - 9.95;\n\tfloat b = roughness < 0.25 ? 44.0 * r2 - 23.7 * roughness + 3.26 : 1.97 * r2 - 3.27 * roughness + 0.72;\n\tfloat DG = exp( a * dotNV + b ) + ( roughness < 0.25 ? 0.0 : 0.1 * ( roughness - 0.25 ) );\n\treturn saturate( DG * RECIPROCAL_PI );\n}\nvec2 DFGApprox( const in vec3 normal, const in vec3 viewDir, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 fab = vec2( - 1.04, 1.04 ) * a004 + r.zw;\n\treturn fab;\n}\nvec3 EnvironmentBRDF( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness ) {\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\treturn specularColor * fab.x + specularF90 * fab.y;\n}\n#ifdef USE_IRIDESCENCE\nvoid 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 ) {\n#else\nvoid computeMultiscattering( const in vec3 normal, const in vec3 viewDir, const in vec3 specularColor, const in float specularF90, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n#endif\n\tvec2 fab = DFGApprox( normal, viewDir, roughness );\n\t#ifdef USE_IRIDESCENCE\n\t\tvec3 Fr = mix( specularColor, iridescenceF0, iridescence );\n\t#else\n\t\tvec3 Fr = specularColor;\n\t#endif\n\tvec3 FssEss = Fr * fab.x + specularF90 * fab.y;\n\tfloat Ess = fab.x + fab.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = Fr + ( 1.0 - Fr ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.roughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNLcc = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = dotNLcc * directLight.color;\n\t\tclearcoatSpecular += ccIrradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.clearcoatNormal, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * BRDF_Sheen( directLight.direction, geometry.viewDir, geometry.normal, material.sheenColor, material.sheenRoughness );\n\t#endif\n\t#ifdef USE_IRIDESCENCE\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX_Iridescence( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness );\n\t#else\n\t\treflectedLight.directSpecular += irradiance * BRDF_GGX( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularF90, material.roughness );\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatSpecular += clearcoatRadiance * EnvironmentBRDF( geometry.clearcoatNormal, geometry.viewDir, material.clearcoatF0, material.clearcoatF90, material.clearcoatRoughness );\n\t#endif\n\t#ifdef USE_SHEEN\n\t\tsheenSpecular += irradiance * material.sheenColor * IBLSheenBRDF( geometry.normal, geometry.viewDir, material.sheenRoughness );\n\t#endif\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t#ifdef USE_IRIDESCENCE\n\t\tcomputeMultiscatteringIridescence( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.iridescence, material.iridescenceFresnel, material.roughness, singleScattering, multiScattering );\n\t#else\n\t\tcomputeMultiscattering( geometry.normal, geometry.viewDir, material.specularColor, material.specularF90, material.roughness, singleScattering, multiScattering );\n\t#endif\n\tvec3 totalScattering = singleScattering + multiScattering;\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - max( max( totalScattering.r, totalScattering.g ), totalScattering.b ) );\n\treflectedLight.indirectSpecular += radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef USE_CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\n#ifdef USE_IRIDESCENCE\n\tfloat dotNVi = saturate( dot( normal, geometry.viewDir ) );\n\tif ( material.iridescenceThickness == 0.0 ) {\n\t\tmaterial.iridescence = 0.0;\n\t} else {\n\t\tmaterial.iridescence = saturate( material.iridescence );\n\t}\n\tif ( material.iridescence > 0.0 ) {\n\t\tmaterial.iridescenceFresnel = evalIridescence( 1.0, material.iridescenceIOR, dotNVi, material.iridescenceThickness, material.specularColor );\n\t\tmaterial.iridescenceF0 = Schlick_to_F0( material.iridescenceFresnel, 1.0, dotNVi );\n\t}\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointLightInfo( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *=
2( directLight.visible && receiveShadow ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tvec4 spotColor;\n\tvec3 spotLightCoord;\n\tbool inSpotLightMap;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotLightInfo( spotLight, geometry, directLight );\n\t\t#if ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#define SPOT_LIGHT_MAP_INDEX UNROLLED_LOOP_INDEX\n\t\t#elif ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t#define SPOT_LIGHT_MAP_INDEX NUM_SPOT_LIGHT_MAPS\n\t\t#else\n\t\t#define SPOT_LIGHT_MAP_INDEX ( UNROLLED_LOOP_INDEX - NUM_SPOT_LIGHT_SHADOWS + NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS )\n\t\t#endif\n\t\t#if ( SPOT_LIGHT_MAP_INDEX < NUM_SPOT_LIGHT_MAPS )\n\t\t\tspotLightCoord = vSpotLightCoord[ i ].xyz / vSpotLightCoord[ i ].w;\n\t\t\tinSpotLightMap = all( lessThan( abs( spotLightCoord * 2. - 1. ), vec3( 1.0 ) ) );\n\t\t\tspotColor = texture2D( spotLightMap[ SPOT_LIGHT_MAP_INDEX ], spotLightCoord.xy );\n\t\t\tdirectLight.color = inSpotLightMap ? directLight.color * spotColor.rgb : directLight.color;\n\t\t#endif\n\t\t#undef SPOT_LIGHT_MAP_INDEX\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalLightInfo( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= ( directLight.visible && receiveShadow ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry.normal );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry.normal );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getIBLIrradiance( geometry.normal );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getIBLRadiance( geometry.viewDir, geometry.normal, material.roughness );\n\t#ifdef USE_CLEARCOAT\n\t\tclearcoatRadiance += getIBLRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 sampledDiffuseColor = texture2D( map, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\tsampledDiffuseColor = vec4( mix( pow( sampledDiffuseColor.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), sampledDiffuseColor.rgb * 0.0773993808, vec3( lessThanEqual( sampledDiffuseColor.rgb, vec3( 0.04045 ) ) ) ), sampledDiffuseColor.w );\n\t#endif\n\tdiffuseColor *= sampledDiffuseColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tdiffuseColor *= texture2D( map, uv );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphcolor_vertex:"#if defined( USE_MORPHCOLORS ) && defined( MORPHTARGETS_TEXTURE )\n\tvColor *= morphTargetBaseInfluence;\n\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t#if defined( USE_COLOR_ALPHA )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ) * morphTargetInfluences[ i ];\n\t\t#elif defined( USE_COLOR )\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];\n\t\t#endif\n\t}\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\t\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\t\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\t\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n\t#endif\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tuniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];\n\t\tuniform sampler2DArray morphTargetsTexture;\n\t\tuniform ivec2 morphTargetsTextureSize;\n\t\tvec4 getMorph( const in int vertexIndex, const in int morphTargetIndex, const in int offset ) {\n\t\t\tint texelIndex = vertexIndex * MORPHTARGETS_TEXTURE_STRIDE + offset;\n\t\t\tint y = texelIndex / morphTargetsTextureSize.x;\n\t\t\tint x = texelIndex - y * morphTargetsTextureSize.x;\n\t\t\tivec3 morphUV = ivec3( x, y, morphTargetIndex );\n\t\t\treturn texelFetch( morphTargetsTexture, morphUV, 0 );\n\t\t}\n\t#else\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\tuniform float morphTargetInfluences[ 8 ];\n\t\t#else\n\t\t\tuniform float morphTargetInfluences[ 4 ];\n\t\t#endif\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\t#ifdef MORPHTARGETS_TEXTURE\n\t\tfor ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {\n\t\t\tif ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];\n\t\t}\n\t#else\n\t\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\t\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\t\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\t\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t\t#ifndef USE_MORPHNORMALS\n\t\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t\t#endif\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = dFdx( vViewPosition );\n\tvec3 fdy = dFdy( vViewPosition );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );
2\n\t#else\n\t\tnormal = perturbNormal2Arb( - vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normal_pars_fragment:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_pars_vertex:"#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif",normal_vertex:"#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef USE_CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",iridescence_pars_fragment:"#ifdef USE_IRIDESCENCEMAP\n\tuniform sampler2D iridescenceMap;\n#endif\n#ifdef USE_IRIDESCENCE_THICKNESSMAP\n\tuniform sampler2D iridescenceThicknessMap;\n#endif",output_fragment:"#ifdef OPAQUE\ndiffuseColor.a = 1.0;\n#endif\n#ifdef USE_TRANSMISSION\ndiffuseColor.a *= material.transmissionAlpha + 0.1;\n#endif\ngl_FragColor = vec4( outgoingLight, diffuseColor.a );",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec2 packDepthToRG( in highp float v ) {\n\treturn packDepthToRGBA( v ).yx;\n}\nfloat unpackRGToDepth( const in highp vec2 v ) {\n\treturn unpackRGBAToDepth( vec4( v.xy, 0.0, 0.0 ) );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ) );\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w );\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( ( near + viewZ ) * far ) / ( ( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;
2\n#endif",shadowmap_pars_fragment:"#if NUM_SPOT_LIGHT_COORDS > 0\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#if NUM_SPOT_LIGHT_MAPS > 0\n
vendor: 9,071 bytes, line 2
2uniform sampler2D spotLightMap[ NUM_SPOT_LIGHT_MAPS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbool inFrustum = shadowCoord.x >= 0.0 && shadowCoord.x <= 1.0 && shadowCoord.y >= 0.0 && shadowCoord.y <= 1.0;\n\t\tbool frustumTest = inFrustum && shadowCoord.z <= 1.0;\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#if NUM_SPOT_LIGHT_COORDS > 0\n
2 uniform mat4 spotLightMatrix[ NUM_SPOT_LIGHT_COORDS ];\n varying vec4 vSpotLightCoord[ NUM_SPOT_LIGHT_COORDS ];\n#endif\n#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#if ( defined( USE_SHADOWMAP ) && ( NUM_DIR_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0 ) ) || ( NUM_SPOT_LIGHT_COORDS > 0 )\n\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\tvec4 shadowWorldPosition;\n#endif\n#if defined( USE_SHADOWMAP )\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if NUM_SPOT_LIGHT_COORDS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_COORDS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition;\n\t\t#if ( defined( USE_SHADOWMAP ) && UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\t\tshadowWorldPosition.xyz += shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias;\n\t\t#endif\n\t\tvSpotLightCoord[ i ] = spotLightMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotLightCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\tuniform highp sampler2D boneTexture;\n\tuniform int boneTextureSize;\n\tmat4 getBoneMatrix( const in float i ) {\n\t\tfloat j = i * 4.0;\n\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\ty = dy * ( y + 0.5 );\n\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\treturn bone;\n\t}\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate( a ) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;
2\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tmaterial.transmission = transmission;\n\tmaterial.transmissionAlpha = 1.0;\n\tmaterial.thickness = thickness;\n\tmaterial.attenuationDistance = attenuationDistance;\n\tmaterial.attenuationColor = attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tmaterial.transmission *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tmaterial.thickness *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition;\n\tvec3 v = normalize( cameraPosition - pos );\n\tvec3 n = inverseTransformDirection( normal, viewMatrix );\n\tvec4 transmission = getIBLVolumeRefraction(\n\t\tn, v, material.roughness, material.diffuseColor, material.specularColor, material.specularF90,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, material.ior, material.thickness,\n\t\tmaterial.attenuationColor, material.attenuationDistance );\n\tmaterial.transmissionAlpha = mix( material.transmissionAlpha, transmission.a, material.transmission );\n\ttotalDiffuse = mix( totalDiffuse, transmission.rgb, material.transmission );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform float attenuationDistance;\n\tuniform vec3 attenuationColor;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec3 vWorldPosition;\n\tvec3 getVolumeTransmissionRay( const in vec3 n, const in vec3 v, const in float thickness, const in float ior, const in mat4 modelMatrix ) {\n\t\tvec3 refractionVector = refract( - v, normalize( n ), 1.0 / ior );\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length( vec3( modelMatrix[ 0 ].xyz ) );\n\t\tmodelScale.y = length( vec3( modelMatrix[ 1 ].xyz ) );\n\t\tmodelScale.z = length( vec3( modelMatrix[ 2 ].xyz ) );\n\t\treturn normalize( refractionVector ) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness( const in float roughness, const in float ior ) {\n\t\treturn roughness * clamp( ior * 2.0 - 2.0, 0.0, 1.0 );\n\t}\n\tvec4 getTransmissionSample( const in vec2 fragCoord, const in float roughness, const in float ior ) {\n\t\tfloat framebufferLod = log2( transmissionSamplerSize.x ) * applyIorToRoughness( roughness, ior );\n\t\t#ifdef texture2DLodEXT\n\t\t\treturn texture2DLodEXT( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#else\n\t\t\treturn texture2D( transmissionSamplerMap, fragCoord.xy, framebufferLod );\n\t\t#endif\n\t}\n\tvec3 applyVolumeAttenuation( const in vec3 radiance, const in float transmissionDistance, const in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tif ( isinf( attenuationDistance ) ) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log( attenuationColor ) / attenuationDistance;\n\t\t\tvec3 transmittance = exp( - attenuationCoefficient * transmissionDistance );\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec4 getIBLVolumeRefraction( const in vec3 n, const in vec3 v, const in float roughness, const in vec3 diffuseColor,\n\t\tconst in vec3 specularColor, const in float specularF90, const in vec3 position, const in mat4 modelMatrix,\n\t\tconst in mat4 viewMatrix, const in mat4 projMatrix, const in float ior, const in float thickness,\n\t\tconst in vec3 attenuationColor, const in float attenuationDistance ) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay( n, v, thickness, ior, modelMatrix );\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4( refractedRayExit, 1.0 );\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec4 transmittedLight = getTransmissionSample( refractionCoords, roughness, ior );\n\t\tvec3 attenuatedColor = applyVolumeAttenuation( transmittedLight.rgb, length( transmissionRay ), attenuationColor, attenuationDistance );\n\t\tvec3 F = EnvironmentBRDF( n, v, specularColor, specularF90, roughness );\n\t\treturn vec4( ( 1.0 - F ) * attenuatedColor * diffuseColor, transmittedLight.a );\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION ) || NUM_SPOT_L
2IGHT_COORDS > 0\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",background_frag:"uniform sampler2D t2D;\nuniform float backgroundIntensity;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\t#ifdef DECODE_VIDEO_TEXTURE\n\t\ttexColor = 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 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",backgroundCube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",backgroundCube_frag:"#ifdef ENVMAP_TYPE_CUBE\n\tuniform samplerCube envMap;\n#elif defined( ENVMAP_TYPE_CUBE_UV )\n\tuniform sampler2D envMap;\n#endif\nuniform float flipEnvMap;\nuniform float backgroundBlurriness;\nuniform float backgroundIntensity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 texColor = textureCube( envMap, vec3( flipEnvMap * vWorldDirection.x, vWorldDirection.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 texColor = textureCubeUV( envMap, vWorldDirection, backgroundBlurriness );\n\t#else\n\t\tvec4 texColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t#endif\n\ttexColor.rgb *= backgroundIntensity;\n\tgl_FragColor = texColor;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",cube_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = tex
vendor: 31,014 bytes, line 2
2Color;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",depth_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",equirect_vert:"varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",meshbasic_vert:"#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#if defined ( USE_ENVMAP ) || defined ( USE_SKINNING )\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinbase_vertex>\n\t\t#include <skinnormal_vertex>\n\t\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel = texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexel.rgb * lightMapIntensity * RECIPROCAL_PI;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshlambert_frag:"#define LAMBERT\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_lambert_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_lambert_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t#else\n\t\tvec4 matcapColor = vec4( vec3( mix( 0.2, 0.8, uv.y ) ), 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshnormal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",meshnormal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#include <packing>\n#include <uv_pars_fragment>\n#include <normal_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n\t#ifdef OPAQUE\n\t\tgl_FragColor.a = 1.0;\n\t#endif\n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifdef USE_TRANSMISSION\n\tvarying vec3 vWorldPosition;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition.xyz;\n#endif\n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define IOR\n\t#define SPECULAR\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef IOR\n\tuniform float ior;\n#endif\n#ifdef SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\t#ifdef USE_SPECULARINTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n\t#ifdef USE_SPECULARCOLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n#endif\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\t#ifdef USE_SHEENCOLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\t#ifdef USE_SHEENROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\nvarying vec3 vViewPosition;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\t#ifdef USE_SHEEN\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3( material.sheenColor );\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\t#endif\n\t#ifdef USE_CLEARCOAT\n\t\tfloat dotNVcc = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\tvec3 Fcc = F_Schlick( material.clearcoatF0, material.clearcoatF90, dotNVcc );\n\t\toutgoingLight = outgoingLight * ( 1.0 - material.clearcoat * Fcc ) + clearcoatSpecular * material.clearcoat;\n\t#endif\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}",points_vert:"uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}",shadow_vert:"#include <common>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\t#include <output_fragment>\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}"},
vendor: 604 bytes, line 2
2zv={common:{diffuse:{value:new em(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new jf},uv2Transform:{value:new jf},alphaMap:{value:null},alphaTest:{value:0}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Of(1,1)}}
vendor: 6,669 bytes, line 2
2,displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new em(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new em(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new jf}},sprite:{diffuse:{value:new em(16777215)},opacity:{value:1},center:{value:new Of(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},alphaTest:{value:0},uvTransform:{value:new jf}}},Ov={basic:{uniforms:mv([zv.common,zv.specularmap,zv.envmap,zv.aomap,zv.lightmap,zv.fog]),vertexShader:Dv.meshbasic_vert,fragmentShader:Dv.meshbasic_frag},lambert:{uniforms:mv([zv.common,zv.specularmap,zv.envmap,zv.aomap,zv.lightmap,zv.emissivemap,zv.bumpmap,zv.normalmap,zv.displacementmap,zv.fog,zv.lights,{emissive:{value:new em(0)}}]),vertexShader:Dv.meshlambert_vert,fragmentShader:Dv.meshlambert_frag},phong:{uniforms:mv([zv.common,zv.specularmap,zv.envmap,zv.aomap,zv.lightmap,zv.emissivemap,zv.bumpmap,zv.normalmap,zv.displacementmap,zv.fog,zv.lights,{emissive:{value:new em(0)},specular:{value:new em(1118481)},shininess:{value:30}}]),vertexShader:Dv.meshphong_vert,fragmentShader:Dv.meshphong_frag},standard:{uniforms:mv([zv.common,zv.envmap,zv.aomap,zv.lightmap,zv.emissivemap,zv.bumpmap,zv.normalmap,zv.displacementmap,zv.roughnessmap,zv.metalnessmap,zv.fog,zv.lights,{emissive:{value:new em(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:Dv.meshphysical_vert,fragmentShader:Dv.meshphysical_frag},toon:{uniforms:mv([zv.common,zv.aomap,zv.lightmap,zv.emissivemap,zv.bumpmap,zv.normalmap,zv.displacementmap,zv.gradientmap,zv.fog,zv.lights,{emissive:{value:new em(0)}}]),vertexShader:Dv.meshtoon_vert,fragmentShader:Dv.meshtoon_frag},matcap:{uniforms:mv([zv.common,zv.bumpmap,zv.normalmap,zv.displacementmap,zv.fog,{matcap:{value:null}}]),vertexShader:Dv.meshmatcap_vert,fragmentShader:Dv.meshmatcap_frag},points:{uniforms:mv([zv.points,zv.fog]),vertexShader:Dv.points_vert,fragmentShader:Dv.points_frag},dashed:{uniforms:mv([zv.common,zv.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:Dv.linedashed_vert,fragmentShader:Dv.linedashed_frag},depth:{uniforms:mv([zv.common,zv.displacementmap]),vertexShader:Dv.depth_vert,fragmentShader:Dv.depth_frag},normal:{uniforms:mv([zv.common,zv.bumpmap,zv.normalmap,zv.displacementmap,{opacity:{value:1}}]),vertexShader:Dv.meshnormal_vert,fragmentShader:Dv.meshnormal_frag},sprite:{uniforms:mv([zv.sprite,zv.fog]),vertexShader:Dv.sprite_vert,fragmentShader:Dv.sprite_frag},background:{uniforms:{uvTransform:{value:new jf},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:Dv.background_vert,fragmentShader:Dv.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1}},vertexShader:Dv.backgroundCube_vert,fragmentShader:Dv.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:Dv.cube_vert,fragmentShader:Dv.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:Dv.equirect_vert,fragmentShader:Dv.equirect_frag},distanceRGBA:{uniforms:mv([zv.common,zv.displacementmap,{referencePosition:{value:new mm},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:Dv.distanceRGBA_vert,fragmentShader:Dv.distanceRGBA_frag},shadow:{uniforms:mv([zv.lights,zv.fog,{color:{value:new em(0)},opacity:{value:1}}]),vertexShader:Dv.shadow_vert,fragmentShader:Dv.shadow_frag}};Ov.physical={uniforms:mv([Ov.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatNormalScale:{value:new Of(1,1)},clearcoatNormalMap:{value:null},iridescence:{value:0},iridescenceMap:{value:null},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},sheen:{value:0},sheenColor:{value:new em(0)},sheenColorMap:{value:null},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},transmission:{value:0},transmissionMap:{value:null},transmissionSamplerSize:{value:new Of},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},attenuationDistance:{value:0},attenuationColor:{value:new em(0)},specularIntensity:{value:1},specularIntensityMap:{value:null},specularColor:{value:new em(1,1,1)},specularColorMap:{value:null}}]),vertexShader:Dv.meshphysical_vert,fragmentShader:Dv.meshphysical_frag};const jv={r:0,b:0,g:0};function Bv(e,t,n,r,i,a,s){const o=new em(0);let l,c,u=!0===a?0:1,d=null,h=0,p=null;function f(t,n){t.getRGB(jv,gv(e)),r.buffers.color.setClear(jv.r,jv.g,jv.b,n,s)}return{getClearColor:function(){return o},setClearColor:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;o.set(e),u=t,f(o,u)},getClearAlpha:function(){return u},setClearAlpha:function(e){u=e,f(o,u)},render:function(r,a){let s=!1,m=!0===a.isScene?a.background:null;if(m&&m.isTexture){m=(a.backgroundBlurriness>0?n:t).get(m)}const g=e.xr,v=g.getSession&&g.getSession();v&&"additive"===v.environmentBlendMode&&(m=null),null===m?f(o,u):m&&m.isColor&&(f(m,1),s=!0),(e.autoClear||s)&&e.clear(e.autoClearColor,e.autoClearDepth,e.autoClearStencil),m&&(m.isCubeTexture||m.mapping===hh)?(void 0===c&&(c=new dv(new pv(1,1,1),new yv({name:"Backgroun
2dCubeMaterial",uniforms:fv(Ov.backgroundCube.uniforms),vertexShader:Ov.backgroundCube.vertexShader,fragmentShader:Ov.backgroundCube.fragmentShader,side:xd,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),c.geometry.deleteAttribute("uv"),c.onBeforeRender=function(e,t,n){this.matrixWorld.copyPosition(n.matrixWorld)},Object.defineProperty(c.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(c)),c.material.uniforms.envMap.value=m,c.material.uniforms.flipEnvMap.value=m.isCubeTexture&&!1===m.isRenderTargetTexture?-1:1,c.material.uniforms.backgroundBlurriness.value=a.backgroundBlurriness,c.material.uniforms.backgroundIntensity.value=a.backgroundIntensity,c.material.toneMapped=m.encoding!==Bp,d===m&&h===m.version&&p===e.toneMapping||(c.material.needsUpdate=!0,d=m,h=m.version,p=e.toneMapping),c.layers.enableAll(),r.unshift(c,c.geometry,c.material,0,0,null)):m&&m.isTexture&&(void 0===l&&(l=new dv(new Iv(2,2),new yv({name:"BackgroundMaterial",uniforms:fv(Ov.background.uniforms),vertexShader:Ov.background.vertexShader,fragmentShader:Ov.background.fragmentShader,side:yd,depthTest:!1,depthWrite:!1,fog:!1})),l.geometry.deleteAttribute("normal"),Object.defineProperty(l.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(l)),l.material.uniforms.t2D.value=m,l.material.uniforms.backgroundIntensity.value=a.backgroundIntensity,l.material.toneMapped=m.encoding!==Bp,!0===m.matrixAutoUpdate&&m.updateMatrix(),l.material.uniforms.uvTransform.value.copy(m.matrix),d===m&&h===m.version&&p===e.toneMapping||(l.material.needsUpdate=!0,d=m,h=m.version,p=e.toneMapping),l.layers.enableAll(),r.unshift(l,l.geometry,l.material,0,0,null))}}}function Fv(e,t,n,r){const i=e.getParameter(34921),a=r.isWebGL2?null:t.get("OES_vertex_array_object"),s=r.isWebGL2||null!==a,o={},l=p(null);let c=l,u=!1;function d(t){return r.isWebGL2?e.bindVertexArray(t):a.bindVertexArrayOES(t)}function h(t){return r.isWebGL2?e.deleteVertexArray(t):a.deleteVertexArrayOES(t)}function p(e){const t=[],n=[],r=[];for(let a=0;a<i;a++)t[a]=0,n[a]=0,r[a]=0;return{geometry:null,program:null,wireframe:!1,newAttributes:t,enabledAttributes:n,attributeDivisors:r,object:e,attributes:{},index:null}}function f(){const e=c.newAttributes;for(let t=0,n=e.length;t<n;t++)e[t]=0}function m(e){g(e,0)}function g(n,i){const a=c.newAttributes,s=c.enabledAttributes,o=c.attributeDivisors;if(a[n]=1,0===s[n]&&(e.enableVertexAttribArray(n),s[n]=1),o[n]!==i){(r.isWebGL2?e:t.get("ANGLE_instanced_arrays"))[r.isWebGL2?"vertexAttribDivisor":"vertexAttribDivisorANGLE"](n,i),o[n]=i}}function v(){const t=c.newAttributes,n=c.enabledAttributes;for(let r=0,i=n.length;r<i;r++)n[r]!==t[r]&&(e.disableVertexAttribArray(r),n[r]=0)}function y(t,n,i,a,s,o){!0!==r.isWebGL2||5124!==i&&5125!==i?e.vertexAttribPointer(t,n,i,a,s,o):e.vertexAttribIPointer(t,n,i,s,o)}function x(){b(),u=!0,c!==l&&(c=l,d(c.object))}function b(){l.geometry=null,l.program=null,l.wireframe=!1}return{setup:function(i,l,h,x,b){let w=!1;if(s){const t=function(t,n,i){const s=!0===i.wireframe;let l=o[t.id];void 0===l&&(l={},o[t.id]=l);let c=l[n.id];void 0===c&&(c={},l[n.id]=c);let u=c[s];void 0===u&&(u=p(r.isWebGL2?e.createVertexArray():a.createVertexArrayOES()),c[s]=u);return u}(x,h,l);c!==t&&(c=t,d(c.object)),w=function(e,t,n,r){const i=c.attributes,a=t.attributes;let s=0;const o=n.getAttributes();for(const l in o){if(o[l].location>=0){const t=i[l];let n=a[l];if(void 0===n&&("instanceMatrix"===l&&e.instanceMatrix&&(n=e.instanceMatrix),"instanceColor"===l&&e.instanceColor&&(n=e.instanceColor)),void 0===t)return!0;if(t.attribute!==n)return!0;if(n&&t.data!==n.data)return!0;s++}}return c.attributesNum!==s||c.index!==r}(i,x,h,b),w&&function(e,t,n,r){const i={},a=t.attributes;let s=0;const o=n.getAttributes();for(const l in o){if(o[l].location>=0){let t=a[l];void 0===t&&("instanceMatrix"===l&&e.instanceMatrix&&(t=e.instanceMatrix),"instanceColor"===l&&e.instanceColor&&(t=e.instanceColor));const n={};n.attribute=t,t&&t.data&&(n.data=t.data),i[l]=n,s++}}c.attributes=i,c.attributesNum=s,c.index=r}(i,x,h,b)}else{const e=!0===l.wireframe;c.geometry===x.id&&c.program===h.id&&c.wireframe===e||(c.geometry=x.id,c.program=h.id,c.wireframe=e,w=!0)}null!==b&&n.update(b,34963),(w||u)&&(u=!1,function(i,a,s,o){if(!1===r.isWebGL2&&(i.isInstancedMesh||o.isInstancedBufferGeometry)&&null===t.get("ANGLE_instanced_arrays"))return;f();const l=o.attributes,c=s.getAttributes(),u=a.defaultAttributeValues;for(const t in c){const r=c[t];if(r.location>=0){let a=l[t];if(void 0===a&&("instanceMatrix"===t&&i.instanceMatrix&&(a=i.instanceMatrix),"instanceColor"===t&&i.instanceColor&&(a=i.instanceColor)),void 0!==a){const t=a.normalized,s=a.itemSize,l=n.get(a);if(void 0===l)continue;const c=l.buffer,u=l.type,d=l.bytesPerElement;if(a.isInterleavedBufferAttribute){const n=a.data,l=n.stride,h=a.offset;if(n.isInstancedInterleavedBuffer){for(let e=0;e<r.locationSize;e++)g(r.location+e,n.meshPerAttribute);!0!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=n.meshPerAttribute*n.count)}else for(let e=0;e<r.locationSize;e++)m(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)y(r.location+e,s/r.locationSize,u,t,l*d,(h+s/r.locationSize*e)*d)}else{if(a.isInstancedBufferAttribute){for(let e=0;e<r.locationSize;e++)g(r.location+e,a.meshPerAttribute);!0!==i.isInstancedMesh&&void 0===o._maxInstanceCount&&(o._maxInstanceCount=a.meshPerAttribute*a.count)}
vendor: 9,291 bytes, line 2
2else for(let e=0;e<r.locationSize;e++)m(r.location+e);e.bindBuffer(34962,c);for(let e=0;e<r.locationSize;e++)y(r.location+e,s/r.locationSize,u,t,s*d,s/r.locationSize*e*d)}}else if(void 0!==u){const n=u[t];if(void 0!==n)switch(n.length){case 2:e.vertexAttrib2fv(r.location,n);break;case 3:e.vertexAttrib3fv(r.location,n);break;case 4:e.vertexAttrib4fv(r.location,n);break;default:e.vertexAttrib1fv(r.location,n)}}}}v()}(i,l,h,x),null!==b&&e.bindBuffer(34963,n.get(b).buffer))},reset:x,resetDefaultState:b,dispose:function(){x();for(const e in o){const t=o[e];for(const e in t){const n=t[e];for(const e in n)h(n[e].object),delete n[e];delete t[e]}delete o[e]}},releaseStatesOfGeometry:function(e){if(void 0===o[e.id])return;const t=o[e.id];for(const n in t){const e=t[n];for(const t in e)h(e[t].object),delete e[t];delete t[n]}delete o[e.id]},releaseStatesOfProgram:function(e){for(const t in o){const n=o[t];if(void 0===n[e.id])continue;const r=n[e.id];for(const e in r)h(r[e].object),delete r[e];delete n[e.id]}},initAttributes:f,enableAttribute:m,disableUnusedAttributes:v}}function Uv(e,t,n,r){const i=r.isWebGL2;let a;this.setMode=function(e){a=e},this.render=function(t,r){e.drawArrays(a,t,r),n.update(r,a,1)},this.renderInstances=function(r,s,o){if(0===o)return;let l,c;if(i)l=e,c="drawArraysInstanced";else if(l=t.get("ANGLE_instanced_arrays"),c="drawArraysInstancedANGLE",null===l)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");l[c](a,r,s,o),n.update(s,a,o)}}function Vv(e,t,n){let r;function i(t){if("highp"===t){if(e.getShaderPrecisionFormat(35633,36338).precision>0&&e.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";t="mediump"}return"mediump"===t&&e.getShaderPrecisionFormat(35633,36337).precision>0&&e.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const a="undefined"!==typeof WebGL2RenderingContext&&e instanceof WebGL2RenderingContext;let s=void 0!==n.precision?n.precision:"highp";const o=i(s);o!==s&&(console.warn("THREE.WebGLRenderer:",s,"not supported, using",o,"instead."),s=o);const l=a||t.has("WEBGL_draw_buffers"),c=!0===n.logarithmicDepthBuffer,u=e.getParameter(34930),d=e.getParameter(35660),h=e.getParameter(3379),p=e.getParameter(34076),f=e.getParameter(34921),m=e.getParameter(36347),g=e.getParameter(36348),v=e.getParameter(36349),y=d>0,x=a||t.has("OES_texture_float");return{isWebGL2:a,drawBuffers:l,getMaxAnisotropy:function(){if(void 0!==r)return r;if(!0===t.has("EXT_texture_filter_anisotropic")){const n=t.get("EXT_texture_filter_anisotropic");r=e.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else r=0;return r},getMaxPrecision:i,precision:s,logarithmicDepthBuffer:c,maxTextures:u,maxVertexTextures:d,maxTextureSize:h,maxCubemapSize:p,maxAttributes:f,maxVertexUniforms:m,maxVaryings:g,maxFragmentUniforms:v,vertexTextures:y,floatFragmentTextures:x,floatVertexTextures:y&&x,maxSamples:a?e.getParameter(36183):0}}function Hv(e){const t=this;let n=null,r=0,i=!1,a=!1;const s=new Cv,o=new jf,l={value:null,needsUpdate:!1};function c(e,n,r,i){const a=null!==e?e.length:0;let c=null;if(0!==a){if(c=l.value,!0!==i||null===c){const t=r+4*a,i=n.matrixWorldInverse;o.getNormalMatrix(i),(null===c||c.length<t)&&(c=new Float32Array(t));for(let n=0,l=r;n!==a;++n,l+=4)s.copy(e[n]).applyMatrix4(i,o),s.normal.toArray(c,l),c[l+3]=s.constant}l.value=c,l.needsUpdate=!0}return t.numPlanes=a,t.numIntersection=0,c}this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(e,t){const n=0!==e.length||t||0!==r||i;return i=t,r=e.length,n},this.beginShadows=function(){a=!0,c(null)},this.endShadows=function(){a=!1},this.setGlobalState=function(e,t){n=c(e,t,0)},this.setState=function(s,o,u){const d=s.clippingPlanes,h=s.clipIntersection,p=s.clipShadows,f=e.get(s);if(!i||null===d||0===d.length||a&&!p)a?c(null):function(){l.value!==n&&(l.value=n,l.needsUpdate=r>0);t.numPlanes=r,t.numIntersection=0}();else{const e=a?0:r,t=4*e;let i=f.clippingState||null;l.value=i,i=c(d,o,t,u);for(let r=0;r!==t;++r)i[r]=n[r];f.clippingState=i,this.numIntersection=h?this.numPlanes:0,this.numPlanes+=e}}}function Wv(e){let t=new WeakMap;function n(e,t){return t===uh?e.mapping=lh:t===dh&&(e.mapping=ch),e}function r(e){const n=e.target;n.removeEventListener("dispose",r);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture&&!1===i.isRenderTargetTexture){const a=i.mapping;if(a===uh||a===dh){if(t.has(i)){return n(t.get(i).texture,i.mapping)}{const a=i.image;if(a&&a.height>0){const s=new Mv(a.height/2);return s.fromEquirectangularTexture(e,i),t.set(i,s),i.addEventListener("dispose",r),n(s.texture,i.mapping)}return null}}}return i},dispose:function(){t=new WeakMap}}}class Gv extends xv{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2e3;super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=t,this.top=n,this.bottom=r,this.near=i,this.far=a,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=null===e.view?null:Object.assign({},e.view),this}setViewOffset(e,t,n,r,i,a){null===this.view&&(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=r,this.view.width=i,this.view.height=a,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(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,r=(this.top+this.bottom)/2;let i=n-e,a=n+e,s=r+t,o=r-t;if(null!==this.view&&this.view.enabled){const e=(this.right-this.left)/this.view.fullWidth/this.zoom,t=(this.top-this.bottom)/this.view.fullHeight/this.zoom;i+=e*this.view.offsetX,a=i+e*this.view.width,s-=t*this.view.offsetY,o=s-t*this.view.height}this.projectionMatrix.makeOrthographic(i,a,s,o,this.near,this.far),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,null!==this.view&&(t.object.view=Object.assign({},this.view)),t}}const qv=[.125,.215,.35,.446,.526,.582],Xv=20,Yv=new Gv,Jv=new em;let Qv=null;const Zv=(1+Math.sqrt(5))/2,Kv=1/Zv,$v=[new mm(1,1,1),new mm(-1,1,1),new mm(1,1,-1),new mm(-1,1,-1),new mm(0,Zv,Kv),new mm(0,Zv,-Kv),new mm(Kv,0,Zv),new mm(-Kv,0,Zv),new mm(Zv,Kv,0),new mm(-Zv,Kv,0)];class ey{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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:100;Qv=this._renderer.getRenderTarget(),this._setSize(256);const i=this._allocateTargets();return i.depthBuffer=!0,this._sceneToCubeUV(e,n,r,i),t>0&&this._blur(i,0,0,t),this._applyPMREM(i),this._cleanup(i),i}fromEquirectangular(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._fromTexture(e,t)}fromCubemap(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return this._fromTexture(e,t)}compileCubemapShader(){null===this._cubemapMaterial&&(this._cubemapMaterial=iy(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){null===this._equirectMaterial&&(this._equirectMaterial=ry(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),null!==this._cubemapMaterial&&this._cubemapMaterial.dispose(),null!==this._equirectMaterial&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){null!==this._blurMaterial&&this._blurMaterial.dispose(),null!==this._pingPongRenderTarget&&this._pingPongRenderTarget.dispose();for(let e=0;e<this._lodPlanes.length;e++)this._lodPlanes[e].dispose()}_cleanup(e){this._renderer.setRenderTarget(Qv),e.scissorTest=!1,ny(e,0,0,e.width,e.height)}_fromTexture(e,t){e.mapping===lh||e.mapping===ch?this._setSize(0===e.image.length?16:e.image[0].width||e.image[0].image.width):this._setSize(e.image.width/4),Qv=this._renderer.getRenderTarget();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:wh,minFilter:wh,generateMipmaps:!1,type:kh,format:jh,encoding:jp,depthBuffer:!1}
vendor: 4,455 bytes, line 2
2,r=ty(e,t,n);if(null===this._pingPongRenderTarget||this._pingPongRenderTarget.width!==e||this._pingPongRenderTarget.height!==t){null!==this._pingPongRenderTarget&&this._dispose(),this._pingPongRenderTarget=ty(e,t,n);const{_lodMax:r}=this;({sizeLods:this._sizeLods,lodPlanes:this._lodPlanes,sigmas:this._sigmas}=function(e){const t=[],n=[],r=[];let i=e;const a=e-4+1+qv.length;for(let s=0;s<a;s++){const a=Math.pow(2,i);n.push(a);let o=1/a;s>e-4?o=qv[s-e+4-1]:0===s&&(o=0),r.push(o);const l=1/(a-2),c=-l,u=1+l,d=[c,c,u,c,u,u,c,c,u,u,c,u],h=6,p=6,f=3,m=2,g=1,v=new Float32Array(f*p*h),y=new Float32Array(m*p*h),x=new Float32Array(g*p*h);for(let e=0;e<h;e++){const t=e%3*2/3-1,n=e>2?0:-1,r=[t,n,0,t+2/3,n,0,t+2/3,n+1,0,t,n,0,t+2/3,n+1,0,t,n+1,0];v.set(r,f*p*e),y.set(d,m*p*e);const i=[e,e,e,e,e,e];x.set(i,g*p*e)}const b=new Zg;b.setAttribute("position",new kg(v,f)),b.setAttribute("uv",new kg(y,m)),b.setAttribute("faceIndex",new kg(x,g)),t.push(b),i>4&&i--}return{lodPlanes:t,sizeLods:n,sigmas:r}}(r)),this._blurMaterial=function(e,t,n){const r=new Float32Array(Xv),i=new mm(0,1,0),a=new yv({name:"SphericalGaussianBlur",defines:{n:Xv,CUBEUV_TEXEL_WIDTH:1/t,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:"".concat(e,".0")},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include <cube_uv_reflection_fragment>\n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t",blending:_d,depthTest:!1,depthWrite:!1});return a}(r,e,t)}return r}_compileMaterial(e){const t=new dv(this._lodPlanes[0],e);this._renderer.compile(t,Yv)}_sceneToCubeUV(e,t,n,r){const i=new bv(90,1,t,n),a=[1,-1,1,1,1,1],s=[1,1,1,-1,-1,-1],o=this._renderer,l=o.autoClear,c=o.toneMapping;o.getClearColor(Jv),o.toneMapping=th,o.autoClear=!1;
vendor: 4,131 bytes, line 2
2const u=new Ng({name:"PMREM.Background",side:xd,depthWrite:!1,depthTest:!1}),d=new dv(new pv,u);let h=!1;const p=e.background;p?p.isColor&&(u.color.copy(p),e.background=null,h=!0):(u.color.copy(Jv),h=!0);for(let f=0;f<6;f++){const t=f%3;0===t?(i.up.set(0,a[f],0),i.lookAt(s[f],0,0)):1===t?(i.up.set(0,0,a[f]),i.lookAt(0,s[f],0)):(i.up.set(0,a[f],0),i.lookAt(0,0,s[f]));const n=this._cubeSize;ny(r,t*n,f>2?n:0,n,n),o.setRenderTarget(r),h&&o.render(d,i),o.render(e,i)}d.geometry.dispose(),d.material.dispose(),o.toneMapping=c,o.autoClear=l,e.background=p}_textureToCubeUV(e,t){const n=this._renderer,r=e.mapping===lh||e.mapping===ch;r?(null===this._cubemapMaterial&&(this._cubemapMaterial=iy()),this._cubemapMaterial.uniforms.flipEnvMap.value=!1===e.isRenderTargetTexture?-1:1):null===this._equirectMaterial&&(this._equirectMaterial=ry());const i=r?this._cubemapMaterial:this._equirectMaterial,a=new dv(this._lodPlanes[0],i);i.uniforms.envMap.value=e;const s=this._cubeSize;ny(t,0,0,3*s,2*s),n.setRenderTarget(t),n.render(a,Yv)}_applyPMREM(e){const t=this._renderer,n=t.autoClear;t.autoClear=!1;for(let r=1;r<this._lodPlanes.length;r++){const t=Math.sqrt(this._sigmas[r]*this._sigmas[r]-this._sigmas[r-1]*this._sigmas[r-1]),n=$v[(r-1)%$v.length];this._blur(e,r-1,r,t,n)}t.autoClear=n}_blur(e,t,n,r,i){const a=this._pingPongRenderTarget;this._halfBlur(e,a,t,n,r,"latitudinal",i),this._halfBlur(a,e,n,n,r,"longitudinal",i)}_halfBlur(e,t,n,r,i,a,s){const o=this._renderer,l=this._blurMaterial;"latitudinal"!==a&&"longitudinal"!==a&&console.error("blur direction must be either latitudinal or longitudinal!");const c=new dv(this._lodPlanes[r],l),u=l.uniforms,d=this._sizeLods[n]-1,h=isFinite(i)?Math.PI/(2*d):2*Math.PI/39,p=i/h,f=isFinite(i)?1+Math.floor(3*p):Xv;f>Xv&&console.warn("sigmaRadians, ".concat(i,", is too large and will clip, as it requested ").concat(f," samples when the maximum is set to ").concat(Xv));const m=[];let g=0;for(let x=0;x<Xv;++x){const e=x/p,t=Math.exp(-e*e/2);m.push(t),0===x?g+=t:x<f&&(g+=2*t)}for(let x=0;x<m.length;x++)m[x]=m[x]/g;u.envMap.value=e.texture,u.samples.value=f,u.weights.value=m,u.latitudinal.value="latitudinal"===a,s&&(u.poleAxis.value=s);const{_lodMax:v}=this;u.dTheta.value=h,u.mipInt.value=v-n;const y=this._sizeLods[r];ny(t,3*y*(r>v-4?r-v+4:0),4*(this._cubeSize-y),3*y,2*y),o.setRenderTarget(t),o.render(c,Yv)}}function ty(e,t,n){const r=new lm(e,t,n);return r.texture.mapping=hh,r.texture.name="PMREM.cubeUv",r.scissorTest=!0,r}function ny(e,t,n,r,i){e.viewport.set(t,n,r,i),e.scissor.set(t,n,r,i)}function ry(){return new yv({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\n\t\t\t#include <common>\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );
2\n\n\t\t\t\tgl_FragColor = vec4( texture2D ( envMap, uv ).rgb, 1.0 );\n\n\t\t\t}\n\t\t",blending:_d,depthTest:!1,depthWrite:!1})}function iy(){return new yv({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},flipEnvMap:{value:-1}},vertexShader:"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t",fragmentShader:"\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tuniform float flipEnvMap;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = textureCube( envMap, vec3( flipEnvMap * vOutputDirection.x, vOutputDirection.yz ) );\n\n\t\t\t}\n\t\t",blending:_d,depthTest:!1,depthWrite:!1})}function ay(e){let t=new WeakMap,n=null;function r(e){const n=e.target;n.removeEventListener("dispose",r);const i=t.get(n);void 0!==i&&(t.delete(n),i.dispose())}return{get:function(i){if(i&&i.isTexture){const a=i.mapping,s=a===uh||a===dh,o=a===lh||a===ch;if(s||o){if(i.isRenderTargetTexture&&!0===i.needsPMREMUpdate){i.needsPMREMUpdate=!1;let r=t.get(i);return null===n&&(n=new ey(e)),r=s?n.fromEquirectangular(i,r):n.fromCubemap(i,r),t.set(i,r),r.texture}if(t.has(i))return t.get(i).texture;{const a=i.image;if(s&&a&&a.height>0||o&&a&&function(e){let t=0;const n=6;for(let r=0;r<n;r++)void 0!==e[r]&&t++;return t===n}(a)){null===n&&(n=new ey(e));const a=s?n.fromEquirectangular(i):n.fromCubemap(i);return t.set(i,a),i.addEventListener("dispose",r),a.texture}return null}}}return i},dispose:function(){t=new WeakMap,null!==n&&(n.dispose(),n=null)}}}function sy(e){const t={};
vendor: 20,437 bytes, line 2
2function n(n){if(void 0!==t[n])return t[n];let r;switch(n){case"WEBGL_depth_texture":r=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":r=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":r=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":r=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:r=e.getExtension(n)}return t[n]=r,r}return{has:function(e){return null!==n(e)},init:function(e){e.isWebGL2?n("EXT_color_buffer_float"):(n("WEBGL_depth_texture"),n("OES_texture_float"),n("OES_texture_half_float"),n("OES_texture_half_float_linear"),n("OES_standard_derivatives"),n("OES_element_index_uint"),n("OES_vertex_array_object"),n("ANGLE_instanced_arrays")),n("OES_texture_float_linear"),n("EXT_color_buffer_half_float"),n("WEBGL_multisampled_render_to_texture")},get:function(e){const t=n(e);return null===t&&console.warn("THREE.WebGLRenderer: "+e+" extension not supported."),t}}}function oy(e,t,n,r){const i={},a=new WeakMap;function s(e){const o=e.target;null!==o.index&&t.remove(o.index);for(const n in o.attributes)t.remove(o.attributes[n]);o.removeEventListener("dispose",s),delete i[o.id];const l=a.get(o);l&&(t.remove(l),a.delete(o)),r.releaseStatesOfGeometry(o),!0===o.isInstancedBufferGeometry&&delete o._maxInstanceCount,n.memory.geometries--}function o(e){const n=[],r=e.index,i=e.attributes.position;let s=0;if(null!==r){const e=r.array;s=r.version;for(let t=0,r=e.length;t<r;t+=3){const r=e[t+0],i=e[t+1],a=e[t+2];n.push(r,i,i,a,a,r)}}else{const e=i.array;s=i.version;for(let t=0,r=e.length/3-1;t<r;t+=3){const e=t+0,r=t+1,i=t+2;n.push(e,r,r,i,i,e)}}const o=new(Ff(n)?Fg:jg)(n,1);o.version=s;const l=a.get(e);l&&t.remove(l),a.set(e,o)}return{get:function(e,t){return!0===i[t.id]||(t.addEventListener("dispose",s),i[t.id]=!0,n.memory.geometries++),t},update:function(e){const n=e.attributes;for(const i in n)t.update(n[i],34962);const r=e.morphAttributes;for(const i in r){const e=r[i];for(let n=0,r=e.length;n<r;n++)t.update(e[n],34962)}},getWireframeAttribute:function(e){const t=a.get(e);if(t){const n=e.index;null!==n&&t.version<n.version&&o(e)}else o(e);return a.get(e)}}}function ly(e,t,n,r){const i=r.isWebGL2;let a,s,o;this.setMode=function(e){a=e},this.setIndex=function(e){s=e.type,o=e.bytesPerElement},this.render=function(t,r){e.drawElements(a,r,s,t*o),n.update(r,a,1)},this.renderInstances=function(r,l,c){if(0===c)return;let u,d;if(i)u=e,d="drawElementsInstanced";else if(u=t.get("ANGLE_instanced_arrays"),d="drawElementsInstancedANGLE",null===u)return void console.error("THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");u[d](a,l,s,r*o,c),n.update(l,a,c)}}function cy(e){const t={frame:0,calls:0,triangles:0,points:0,lines:0};return{memory:{geometries:0,textures:0},render:t,programs:null,autoReset:!0,reset:function(){t.frame++,t.calls=0,t.triangles=0,t.points=0,t.lines=0},update:function(e,n,r){switch(t.calls++,n){case 4:t.triangles+=r*(e/3);break;case 1:t.lines+=r*(e/2);break;case 3:t.lines+=r*(e-1);break;case 2:t.lines+=r*e;break;case 0:t.points+=r*e;break;default:console.error("THREE.WebGLInfo: Unknown draw mode:",n)}}}}function uy(e,t){return e[0]-t[0]}function dy(e,t){return Math.abs(t[1])-Math.abs(e[1])}function hy(e,t,n){const r={},i=new Float32Array(8),a=new WeakMap,s=new om,o=[];for(let l=0;l<8;l++)o[l]=[l,0];return{update:function(l,c,u,d){const h=l.morphTargetInfluences;if(!0===t.isWebGL2){const p=c.morphAttributes.position||c.morphAttributes.normal||c.morphAttributes.color,f=void 0!==p?p.length:0;let m=a.get(c);if(void 0===m||m.count!==f){void 0!==m&&m.texture.dispose();const y=void 0!==c.morphAttributes.position,x=void 0!==c.morphAttributes.normal,b=void 0!==c.morphAttributes.color,w=c.morphAttributes.position||[],_=c.morphAttributes.normal||[],S=c.morphAttributes.color||[];let M=0;!0===y&&(M=1),!0===x&&(M=2),!0===b&&(M=3);let E=c.attributes.position.count*M,T=1;E>t.maxTextureSize&&(T=Math.ceil(E/t.maxTextureSize),E=t.maxTextureSize);const A=new Float32Array(E*T*4*f),C=new cm(A,E,T,f);C.type=Lh,C.needsUpdate=!0;const P=4*M;for(let R=0;R<f;R++){const L=w[R],k=_[R],I=S[R],D=E*T*4*R;for(let z=0;z<L.count;z++){const O=z*P;!0===y&&(s.fromBufferAttribute(L,z),A[D+O+0]=s.x,A[D+O+1]=s.y,A[D+O+2]=s.z,A[D+O+3]=0),!0===x&&(s.fromBufferAttribute(k,z),A[D+O+4]=s.x,A[D+O+5]=s.y,A[D+O+6]=s.z,A[D+O+7]=0),!0===b&&(s.fromBufferAttribute(I,z),A[D+O+8]=s.x,A[D+O+9]=s.y,A[D+O+10]=s.z,A[D+O+11]=4===I.itemSize?s.w:1)}}function N(){C.dispose(),a.delete(c),c.removeEventListener("dispose",N)}m={count:f,texture:C,size:new Of(E,T)},a.set(c,m),c.addEventListener("dispose",N)}let g=0;for(let j=0;j<h.length;j++)g+=h[j];const v=c.morphTargetsRelative?1:1-g;d.getUniforms().setValue(e,"morphTargetBaseInfluence",v),d.getUniforms().setValue(e,"morphTargetInfluences",h),d.getUniforms().setValue(e,"morphTargetsTexture",m.texture,n),d.getUniforms().setValue(e,"morphTargetsTextureSize",m.size)}else{const B=void 0===h?0:h.length;let F=r[c.id];if(void 0===F||F.length!==B){F=[];for(let G=0;G<B;G++)F[G]=[G,0];r[c.id]=F}for(let q=0;q<B;q++){const X=F[q];X[0]=q,X[1]=h[q]}F.sort(dy);for(let Y=0;Y<8;Y++)Y<B&&F[Y][1]?(o[Y][0]=F[Y][0],o[Y][1]=F[Y][1]):(o[Y][0]=Number.MAX_SAFE_INTEGER,o[Y][1]=0);o.sort(uy);const U=c.morphAttributes.position,V=c.morphAttributes.normal;let H=0;for(let J=0;J<8;J++){const Q=o[J],Z=Q[0],K=Q[1];Z!==Number.MAX_SAFE_INTEGER&&K?(U&&c.getAttribute("morphTarget"+J)!==U[Z]&&c.setAttribute("morphTarget"+J,U[Z]),V&&c.getAttribute("morphNormal"+J)!==V[Z]&&c.setAttribute("morphNormal"+J,V[Z]),i[J]=K,H+=K):(U&&!0===c.hasAttribute("morphTarget"+J)&&c.deleteAttribute("morphTarget"+J),V&&!0===c.hasAttribute("morphNormal"+J)&&c.deleteAttribute("morphNormal"+J),i[J]=0)}const W=c.morphTargetsRelative?1:1-H;d.getUniforms().setValue(e,"morphTargetBaseInfluence",W),d.getUniforms().setValue(e,"morphTargetInfluences",i)}}}}function py(e,t,n,r){let i=new WeakMap;function a(e){const t=e.target;t.removeEventListener("dispose",a),n.remove(t.instanceMatrix),null!==t.instanceColor&&n.remove(t.instanceColor)}return{update:function(e){const s=r.render.frame,o=e.geometry,l=t.get(e,o);return i.get(l)!==s&&(t.update(l),i.set(l,s)),e.isInstancedMesh&&(!1===e.hasEventListener("dispose",a)&&e.addEventListener("dispose",a),n.update(e.instanceMatrix,34962),null!==e.instanceColor&&n.update(e.instanceColor,34962)),l},dispose:function(){i=new WeakMap}}}const fy=new sm,my=new cm,gy=new dm,vy=new Sv,yy=[],xy=[],by=new Float32Array(16),wy=new Float32Array(9),_y=new Float32Array(4);function Sy(e,t,n){const r=e[0];if(r<=0||r>0)return e;const i=t*n;let a=yy[i];if(void 0===a&&(a=new Float32Array(i),yy[i]=a),0!==t){r.toArray(a,0);for(let r=1,i=0;r!==t;++r)i+=n,e[r].toArray(a,i)}return a}function My(e,t){if(e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;n++)if(e[n]!==t[n])return!1;return!0}function Ey(e,t){for(let n=0,r=t.length;n<r;n++)e[n]=t[n]}function Ty(e,t){let n=xy[t];void 0===n&&(n=new Int32Array(t),xy[t]=n);for(let r=0;r!==t;++r)n[r]=e.allocateTextureUnit();return n}function Ay(e,t){const n=this.cache;n[0]!==t&&(e.uniform1f(this.addr,t),n[0]=t)}function Cy(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y||(e.uniform2f(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(My(n,t))return;e.uniform2fv(this.addr,t),Ey(n,t)}}function Py(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z||(e.uniform3f(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else if(void 0!==t.r)n[0]===t.r&&n[1]===t.g&&n[2]===t.b||(e.uniform3f(this.addr,t.r,t.g,t.b),n[0]=t.r,n[1]=t.g,n[2]=t.b);else{if(My(n,t))return;e.uniform3fv(this.addr,t),Ey(n,t)}}function Ny(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z&&n[3]===t.w||(e.uniform4f(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(My(n,t))return;e.uniform4fv(this.addr,t),Ey(n,t)}}function Ry(e,t){const n=this.cache,r=t.elements;if(void 0===r){if(My(n,t))return;e.uniformMatrix2fv(this.addr,!1,t),Ey(n,t)}else{if(My(n,r))return;_y.set(r),e.uniformMatrix2fv(this.addr,!1,_y),Ey(n,r)}}function Ly(e,t){const n=this.cache,r=t.elements;if(void 0===r){if(My(n,t))return;e.uniformMatrix3fv(this.addr,!1,t),Ey(n,t)}else{if(My(n,r))return;wy.set(r),e.uniformMatrix3fv(this.addr,!1,wy),Ey(n,r)}}function ky(e,t){const n=this.cache,r=t.elements;if(void 0===r){if(My(n,t))return;e.uniformMatrix4fv(this.addr,!1,t),Ey(n,t)}else{if(My(n,r))return;by.set(r),e.uniformMatrix4fv(this.addr,!1,by),Ey(n,r)}}function Iy(e,t){const n=this.cache;n[0]!==t&&(e.uniform1i(this.addr,t),n[0]=t)}function Dy(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y||(e.uniform2i(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(My(n,t))return;e.uniform2iv(this.addr,t),Ey(n,t)}}function zy(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z||(e.uniform3i(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else{if(My(n,t))return;e.uniform3iv(this.addr,t),Ey(n,t)}}function Oy(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z&&n[3]===t.w||(e.uniform4i(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(My(n,t))return;e.uniform4iv(this.addr,t),Ey(n,t)}}function jy(e,t){const n=this.cache;n[0]!==t&&(e.uniform1ui(this.addr,t),n[0]=t)}function By(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y||(e.uniform2ui(this.addr,t.x,t.y),n[0]=t.x,n[1]=t.y);else{if(My(n,t))return;e.uniform2uiv(this.addr,t),Ey(n,t)}}function Fy(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z||(e.uniform3ui(this.addr,t.x,t.y,t.z),n[0]=t.x,n[1]=t.y,n[2]=t.z);else{if(My(n,t))return;e.uniform3uiv(this.addr,t),Ey(n,t)}}function Uy(e,t){const n=this.cache;if(void 0!==t.x)n[0]===t.x&&n[1]===t.y&&n[2]===t.z&&n[3]===t.w||(e.uniform4ui(this.addr,t.x,t.y,t.z,t.w),n[0]=t.x,n[1]=t.y,n[2]=t.z,n[3]=t.w);else{if(My(n,t))return;e.uniform4uiv(this.addr,t),Ey(n,t)}}function Vy(e,t,n){const r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture2D(t||fy,i)}function Hy(e,t,n){const r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture3D(t||gy,i)}function Wy(e,t,n){const r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTextureCube(t||vy,i)}function Gy(e,t,n){const r=this.cache,i=n.allocateTextureUnit();r[0]!==i&&(e.uniform1i(this.addr,i),r[0]=i),n.setTexture2DArray(t||my,i)}function qy(e,t){e.uniform1fv(this.addr,t)}function Xy(e,t){const n=Sy(t,this.size,2);e.uniform2fv(this.addr,n)}function Yy(e,t){const n=Sy(t,this.size,3);e.uniform3fv(this.addr,n)}function Jy(e,t){const n=Sy(t,this.size,4);e.uniform4fv(this.addr,n)}function Qy(e,t){const n=Sy(t,this.size,4);e.uniformMatrix2fv(this.addr,!1,n)}function Zy(e,t){const n=Sy(t,this.size,9);e.uniformMatrix3fv(this.addr,!1,n)}function Ky(e,t){const n=Sy(t,this.size,16);e.uniformMatrix4fv(this.addr,!1,n)}function $y(e,t){e.uniform1iv(this.addr,t)}function ex(e,t){e.uniform2iv(this.addr,t)}function tx(e,t){e.uniform3iv(this.addr,t)}function nx(e,t){e.uniform4iv(this.addr,t)}function rx(e,t){e.uniform1uiv(this.addr,t)}function ix(e,t){e.uniform2uiv(this.addr,t)}function ax(e,t){e.uniform3uiv(this.addr,t)}function sx(e,t){e.uniform4uiv(this.addr,t)}function ox(e,t,n){const r=this.cache,i=t.length,a=Ty(n,i);My(r,a)||(e.uniform1iv(this.addr,a),Ey(r,a));for(let s=0;s!==i;++s)n.setTexture2D(t[s]||fy,a[s])}function lx(e,t,n){const r=this.cache,i=t.length,a=Ty(n,i);My(r,a)||(e.uniform1iv(this.addr,a),Ey(r,a));for(let s=0;s!==i;++s)n.setTexture3D(t[s]||gy,a[s])}function cx(e,t,n){const r=this.cache,i=t.length,a=Ty(n,i);My(r,a)||(e.uniform1iv(this.addr,a),Ey(r,a));for(let s=0;s!==i;++s)n.setTextureCube(t[s]||vy,a[s])}function ux(e,t,n){const r=this.cache,i=t.length,a=Ty(n,i);My(r,a)||(e.uniform1iv(this.addr,a),Ey(r,a));for(let s=0;s!==i;++s)n.setTexture2DArray(t[s]||my,a[s])}class dx{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.setValue=function(e){switch(e){case 5126:return Ay;case 35664:return Cy;case 35665:return Py;case 35666:return Ny;case 35674:return Ry;case 35675:return Ly;case 35676:return ky;case 5124:case 35670:return Iy;case 35667:case 35671:return Dy;case 35668:case 35672:return zy;case 35669:case 35673:return Oy;case 5125:return jy;case 36294:return By;case 36295:return Fy;case 36296:return Uy;case 35678:case 36198:case 36298:case 36306:case 35682:return Vy;case 35679:case 36299:case 36307:return Hy;case 35680:case 36300:case 36308:case 36293:return Wy;case 36289:case 36303:case 36311:case 36292:return Gy}}(t.type)}}class hx{constructor(e,t,n){this.id=e,this.addr=n,this.cache=[],this.size=t.size,this.setValue=function(e){switch(e){case 5126:return qy;case 35664:return Xy;case 35665:return Yy;case 35666:return Jy;case 35674:return Qy;case 35675:return Zy;case 35676:return Ky;case 5124:case 35670:return $y;case 35667:case 35671:return ex;case 35668:case 35672:return tx;case 35669:case 35673:return nx;case 5125:return rx;case 36294:return ix;case 36295:return ax;case 36296:return sx;case 35678:case 36198:case 36298:case 36306:case 35682:return ox;case 35679:case 36299:case 36307:return lx;case 35680:case 36300:case 36308:case 36293:return cx;case 36289:case 36303:case 36311:case 36292:return ux}}(t.type)}}class px{constructor(e){this.id=e,this.seq=[],this.map={}}setValue(e,t,n){const r=this.seq;for(let i=0,a=r.length;i!==a;++i){const a=r[i];a.setValue(e,t[a.id],n)}}}const fx=/(\w+)(\])?(\[|\.)?/g;function mx(e,t){e.seq.push(t),e.map[t.id]=t}function gx(e,t,n){const r=e.name,i=r.length;for(fx.lastIndex=0;;){const a=fx.exec(r),s=fx.lastIndex;let o=a[1];const l="]"===a[2],c=a[3];if(l&&(o|=0),void 0===c||"["===c&&s+2===i){mx(n,void 0===c?new dx(o,e,t):new hx(o,e,t));break}{let e=n.map[o];void 0===e&&(e=new px(o),mx(n,e)),n=e}}}class vx{constructor(e,t){this.seq=[],this.map={};const n=e.getProgramParameter(t,35718);for(let r=0;r<n;++r){const n=e.getActiveUniform(t,r);gx(n,e.getUniformLocation(t,n.name),this)}}setValue(e,t,n,r){const i=this.map[t];void 0!==i&&i.setValue(e,n,r)}setOptional(e,t,n){const r=t[n];void 0!==r&&this.setValue(e,n,r)}static upload(e,t,n,r){for(let i=0,a=t.length;i!==a;++i){const a=t[i],s=n[a.id];!1!==s.needsUpdate&&a.setValue(e,s.value,r)}}static seqWithValue(e,t){const n=[];for(let r=0,i=e.length;r!==i;++r){const i=e[r];i.id in t&&n.push(i)}return n}}function yx(e,t,n){const r=e.createShader(t);return e.shaderSource(r,n),e.compileShader(r),r}let xx=0;function bx(e,t,n){const r=e.getShaderParameter(t,35713),i=e.getShaderInfoLog(t).trim();if(r&&""===i)return"";const a=/ERROR: 0:(\d+)/.exec(i);if(a){const r=parseInt(a[1]);return n.toUpperCase()+"\n\n"+i+"\n\n"+function(e,t){const n=e.split("\n"),r=[],i=Math.max(t-6,0),a=Math.min(t+6,n.length);for(let s=i;s<a;s++){const e=s+1;r.push("".concat(e===t?">":" "," ").concat(e,": ").concat(n[s]))}return r.join("\n")}(e.getShaderSource(t),r)}return i}function wx(e,t){const n=function(e){switch(e){case jp:return["Linear","( value )"];case Bp:return["sRGB","( value )"];default:return console.warn("THREE.WebGLProgram: Unsupported encoding:",e),["Linear","( value )"]}}(t);return"vec4 "+e+"( vec4 value ) { return LinearTo"+n[0]+n[1]+"; }"}function _x(e,t){let n;switch(t){case nh:n="Linear";break;case rh:n="Reinhard";break;case ih:n="OptimizedCineon";break;case ah:n="ACESFilmic";break;case sh:n="Custom";break;default:console.warn("THREE.WebGLProgram: Unsupported toneMapping:",t),n="Linear"}return"vec3 "+e+"( vec3 color ) { return "+n+"ToneMapping( color ); }"}function Sx(e){return""!==e}function Mx(e,t){const n=t.numSpotLightShadows+t.numSpotLightMaps-t.numSpotLightShadowsWithMaps;return e.replace(/NUM_DIR_LIGHTS/g,t.numDirLights).replace(/NUM_SPOT_LIGHTS/g,t.numSpotLights).replace(/NUM_SPOT_LIGHT_MAPS/g,t.numSpotLightMaps).replace(/NUM_SPOT_LIGHT_COORDS/g,n).replace(/NUM_RECT_AREA_LIGHTS/g,t.numRectAreaLights).replace(/NUM_POINT_LIGHTS/g,t.numPointLights).replace(/NUM_HEMI_LIGHTS/g,t.numHemiLights).replace(/NUM_DIR_LIGHT_SHADOWS/g,t.numDirLightShadows).replace(/NUM_SPOT_LIGHT_SHADOWS_WITH_MAPS/g,t.numSpotLightShadowsWithMaps).replace(/NUM_SPOT_LIGHT_SHADOWS/g,t.numSpotLightShadows).replace(/NUM_POINT_LIGHT_SHADOWS/g,t.numPointLightShadows)}function Ex(e,t){return e.replace(/NUM_CLIPPING_PLANES/g,t.numClippingPlanes).replace(/UNION_CLIPPING_PLANES/g,t.numClippingPlanes-t.numClipIntersection)}const Tx=/^[ \t]*#include +<([\w\d./]+)>/gm;function Ax(e){return e.replace(Tx,Cx)}function Cx(e,t){const n=Dv[t];if(void 0===n)throw new Error("Can not resolve #include <"+t+">");return Ax(n)}const Px=/#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 Nx(e){return e.replace(Px,Rx)}function Rx(e,t,n,r){let i="";for(let a=parseInt(t);a<parseInt(n);a++)i+=r.replace(/\[\s*i\s*\]/g,"[ "+a+" ]").replace(/UNROLLED_LOOP_INDEX/g,a);return i}function Lx(e){let t="precision "+e.precision+" float;\nprecision "+e.precision+" int;";return"highp"===e.precision?t+="\n#define HIGH_PRECISION":"mediump"===e.precision?t+="\n#define MEDIUM_PRECISION":"lowp"===e.precision&&(t+="\n#define LOW_PRECISION"),t}function kx(e,t,n,r){const i=e.getContext(),a=n.defines;let s=n.vertexShader,o=n.fragmentShader;const l=function(e){let t="SHADOWMAP_TYPE_BASIC";return e.shadowMapType===md?t="SHADOWMAP_TYPE_PCF":e.shadowMapType===gd?t="SHADOWMAP_TYPE_PCF_SOFT":e.shadowMapType===vd&&(t="SHADOWMAP_TYPE_VSM"),t}(n),c=function(e){let t="ENVMAP_TYPE_CUBE";if(e.envMap)switch(e.envMapMode){case lh:case ch:t="ENVMAP_TYPE_CUBE";break;case hh:t="ENVMAP_TYPE_CUBE_UV"}return t}(n),u=function(e){let t="ENVMAP_MODE_REFLECTION";e.envMap&&e.envMapMode===ch&&(t="ENVMAP_MODE_REFRACTION");return t}(n),d=function(e){let t="ENVMAP_BLENDING_NONE";if(e.envMap)switch(e.combine){case Kd:t="ENVMAP_BLENDING_MULTIPLY";break;case $d:t="ENVMAP_BLENDING_MIX";break;case eh:t="ENVMAP_BLENDING_ADD"}return t}(n),h=function(e){const t=e.envMapCubeUVHeight;if(null===t)return null;const n=Math.log2(t)-2,r=1/t;return{texelWidth:1/(3*Math.max(Math.pow(2,n),112)),texelHeight:r,maxMip:n}}(n),p=n.isWebGL2?"":function(e){return[e.extensionDerivatives||e.envMapCubeUVHeight||e.bumpMap||e.tangentSpaceNormalMap||e.clearcoatNormalMap||e.flatShading||"physical"===e.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(e.extensionFragDepth||e.logarithmicDepthBuffer)&&e.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",e.extensionDrawBuffers&&e.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(e.extensionShaderTextureLOD||e.envMap||e.transmission)&&e.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(Sx).join("\n")}(n),f=function(e){const t=[];for(const n in e){const r=e[n];!1!==r&&t.push("#define "+n+" "+r)}return t.join("\n")}(a),m=i.createProgram();let g,v,y=n.glslVersion?"#version "+n.glslVersion+"\n":"";n.isRawShaderMaterial?(g=[f].filter(Sx).join("\n"),g.length>0&&(g+="\n"),v=[p,f].filter(Sx).join("\n"),v.length>0&&(v+="\n")):(g=[Lx(n),"#define SHADER_NAME "+n.shaderName,f,n.instancing?"#define USE_INSTANCING":"",n.instancingColor?"#define USE_INSTANCING_COLOR":"",n.supportsVertexTextures?"#define VERTEX_TEXTURES":"",n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+u:"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescenceMap?"#define USE_IR
2IDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IRIDESCENCE_THICKNESSMAP":"",n.displacementMap&&n.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.flatShading?"#define FLAT_SHADED":"",n.skinning?"#define USE_SKINNING":"",n.morphTargets?"#define USE_MORPHTARGETS":"",n.morphNormals&&!1===n.flatShading?"#define USE_MORPHNORMALS":"",n.morphColors&&n.isWebGL2?"#define USE_MORPHCOLORS":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE":"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_TEXTURE_STRIDE "+n.morphTextureStride:"",n.morphTargetsCount>0&&n.isWebGL2?"#define MORPHTARGETS_COUNT "+n.morphTargetsCount:"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.sizeAttenuation?"#define USE_SIZEATTENUATION":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#if ( defined( USE_MORPHTARGETS ) && ! defined( MORPHTARGETS_TEXTURE ) )","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(Sx).join("\n"),v=[p,Lx(n),"#define SHADER_NAME "+n.shaderName,f,n.useFog&&n.fog?"#define USE_FOG":"",n.useFog&&n.fogExp2?"#define FOG_EXP2":"",n.map?"#define USE_MAP":"",n.matcap?"#define USE_MATCAP":"",n.envMap?"#define USE_ENVMAP":"",n.envMap?"#define "+c:"",n.envMap?"#define "+u:"",n.envMap?"#define "+d:"",h?"#define CUBEUV_TEXEL_WIDTH "+h.texelWidth:"",h?"#define CUBEUV_TEXEL_HEIGHT "+h.texelHeight:"",h?"#define CUBEUV_MAX_MIP "+h.maxMip+".0":"",n.lightMap?"#define USE_LIGHTMAP":"",n.aoMap?"#define USE_AOMAP":"",n.emissiveMap?"#define USE_EMISSIVEMAP":"",n.bumpMap?"#define USE_BUMPMAP":"",n.normalMap?"#define USE_NORMALMAP":"",n.normalMap&&n.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",n.normalMap&&n.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",n.clearcoat?"#define USE_CLEARCOAT":"",n.clearcoatMap?"#define USE_CLEARCOATMAP":"",n.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",n.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",n.iridescence?"#define USE_IRIDESCENCE":"",n.iridescenceMap?"#define USE_IRIDESCENCEMAP":"",n.iridescenceThicknessMap?"#define USE_IR
2IDESCENCE_THICKNESSMAP":"",n.specularMap?"#define USE_SPECULARMAP":"",n.specularIntensityMap?"#define USE_SPECULARINTENSITYMAP":"",n.specularColorMap?"#define USE_SPECULARCOLORMAP":"",n.roughnessMap?"#define USE_ROUGHNESSMAP":"",n.metalnessMap?"#define USE_METALNESSMAP":"",n.alphaMap?"#define USE_ALPHAMAP":"",n.alphaTest?"#define USE_ALPHATEST":"",n.sheen?"#define USE_SHEEN":"",n.sheenColorMap?"#define USE_SHEENCOLORMAP":"",n.sheenRoughnessMap?"#define USE_SHEENROUGHNESSMAP":"",n.transmission?"#define USE_TRANSMISSION":"",n.transmissionMap?"#define USE_TRANSMISSIONMAP":"",n.thicknessMap?"#define USE_THICKNESSMAP":"",n.decodeVideoTexture?"#define DECODE_VIDEO_TEXTURE":"",n.vertexTangents?"#define USE_TANGENT":"",n.vertexColors||n.instancingColor?"#define USE_COLOR":"",n.vertexAlphas?"#define USE_COLOR_ALPHA":"",n.vertexUvs?"#define USE_UV":"",n.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",n.gradientMap?"#define USE_GRADIENTMAP":"",n.flatShading?"#define FLAT_SHADED":"",n.doubleSided?"#define DOUBLE_SIDED":"",n.flipSided?"#define FLIP_SIDED":"",n.shadowMapEnabled?"#define USE_SHADOWMAP":"",n.shadowMapEnabled?"#define "+l:"",n.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",n.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",n.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",n.logarithmicDepthBuffer&&n.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",n.toneMapping!==th?"#define TONE_MAPPING":"",n.toneMapping!==th?Dv.tonemapping_pars_fragment:"",n.toneMapping!==th?_x("toneMapping",n.toneMapping):"",n.dithering?"#define DITHERING":"",n.opaque?"#define OPAQUE":"",Dv.encodings_pars_fragment,wx("linearToOutputTexel",n.outputEncoding),n.useDepthPacking?"#define DEPTH_PACKING "+n.depthPacking:"","\n"].filter(Sx).join("\n")),s=Ax(s),s=Mx(s,n),s=Ex(s,n),o=Ax(o),o=Mx(o,n),o=Ex(o,n),s=Nx(s),o=Nx(o),n.isWebGL2&&!0!==n.isRawShaderMaterial&&(y="#version 300 es\n",g=["precision mediump sampler2DArray;","#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+g,v=["#define varying in",n.glslVersion===bf?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===bf?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+v);const x=y+v+o,b=yx(i,35633,y+g+s),w=yx(i,35632,x);if(i.attachShader(m,b),i.attachShader(m,w),void 0!==n.index0AttributeName?i.bindAttribLocation(m,0,n.index0AttributeName):!0===n.morphTargets&&i.bindAttribLocation(m,0,"position"),i.linkProgram(m),e.debug.checkShaderErrors){const e=i.getProgramInfoLog(m).trim(),t=i.getShaderInfoLog(b).trim(),n=i.getShaderInfoLog(w).trim();let r=!0,a=!0;if(!1===i.getProgramParameter(m,35714)){r=!1;const t=bx(i,b,"vertex"),n=bx(i,w,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(m,35715)+"\n\nProgram Info Log: "+e+"\n"+t+"\n"+n)}else""!==e?console.warn("THREE.WebGLProgram: Program Info Log:",e):""!==t&&""!==n||(a=!1);a&&(this.diagnostics={runnable:r,programLog:e,vertexShader:{log:t,prefix:g},fragmentShader:{log:n,prefix:v}})}let _,S;return i.deleteShader(b),i.deleteShader(w),this.getUniforms=function(){return void 0===_&&(_=new vx(i,m)),_},this.getAttributes=function(){return void 0===S&&(S=function(e,t){const n={},r=e.getProgramParameter(t,35721);for(let i=0;i<r;i++){const r=e.getActiveAttrib(t,i),a=r.name;let s=1;35674===r.type&&(s=2),35675===r.type&&(s=3),35676===r.type&&(s=4),n[a]={type:r.type,location:e.getAttribLocation(t,a),locationSize:s}}return n}(i,m)),S},this.destroy=function(){r.releaseStatesOfProgram(this),i.deleteProgram(m),this.program=void 0},this.name=n.shaderName,this.id=xx++,this.cacheKey=t,this.usedTimes=1,this.program=m,this.vertexShader=b,this.fragmentShader=w,this}let Ix=0;class Dx{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const t=e.vertexShader,n=e.fragmentShader,r=this._getShaderStage(t),i=this._getShaderStage(n),a=this._getShaderCacheForMaterial(e);return!1===a.has(r)&&(a.add(r),r.usedTimes++),!1===a.has(i)&&(a.add(i),i.usedTimes++),this}remove(e){const t=this.materialCache.get(e);for(const n of t)n.usedTimes--,0===n.usedTimes&&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 void 0===n&&(n=new Set,t.set(e,n)),n}_getShaderStage(e){const t=this.shaderCache;let n=t.get(e);return void 0===n&&(n=new zx(e),t.set(e,n)),n}}class zx{constructor(e){this.id=Ix++,this.code=e,this.usedTimes=0}}function Ox(e,t,n,r,i,a,s){const o=new ng,l=new Dx,c=[],u=i.isWebG
vendor: 18,533 bytes, line 2
2L2,d=i.logarithmicDepthBuffer,h=i.vertexTextures;let p=i.precision;const f={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"};return{getParameters:function(a,o,c,m,g){const v=m.fog,y=g.geometry,x=a.isMeshStandardMaterial?m.environment:null,b=(a.isMeshStandardMaterial?n:t).get(a.envMap||x),w=b&&b.mapping===hh?b.image.height:null,_=f[a.type];null!==a.precision&&(p=i.getMaxPrecision(a.precision),p!==a.precision&&console.warn("THREE.WebGLProgram.getParameters:",a.precision,"not supported, using",p,"instead."));const S=y.morphAttributes.position||y.morphAttributes.normal||y.morphAttributes.color,M=void 0!==S?S.length:0;let E,T,A,C,P=0;if(void 0!==y.morphAttributes.position&&(P=1),void 0!==y.morphAttributes.normal&&(P=2),void 0!==y.morphAttributes.color&&(P=3),_){const e=Ov[_];E=e.vertexShader,T=e.fragmentShader}else E=a.vertexShader,T=a.fragmentShader,l.update(a),A=l.getVertexShaderID(a),C=l.getFragmentShaderID(a);const N=e.getRenderTarget(),R=a.alphaTest>0,L=a.clearcoat>0,k=a.iridescence>0;return{isWebGL2:u,shaderID:_,shaderName:a.type,vertexShader:E,fragmentShader:T,defines:a.defines,customVertexShaderID:A,customFragmentShaderID:C,isRawShaderMaterial:!0===a.isRawShaderMaterial,glslVersion:a.glslVersion,precision:p,instancing:!0===g.isInstancedMesh,instancingColor:!0===g.isInstancedMesh&&null!==g.instanceColor,supportsVertexTextures:h,outputEncoding:null===N?e.outputEncoding:!0===N.isXRRenderTarget?N.texture.encoding:jp,map:!!a.map,matcap:!!a.matcap,envMap:!!b,envMapMode:b&&b.mapping,envMapCubeUVHeight:w,lightMap:!!a.lightMap,aoMap:!!a.aoMap,emissiveMap:!!a.emissiveMap,bumpMap:!!a.bumpMap,normalMap:!!a.normalMap,objectSpaceNormalMap:a.normalMapType===Hp,tangentSpaceNormalMap:a.normalMapType===Vp,decodeVideoTexture:!!a.map&&!0===a.map.isVideoTexture&&a.map.encoding===Bp,clearcoat:L,clearcoatMap:L&&!!a.clearcoatMap,clearcoatRoughnessMap:L&&!!a.clearcoatRoughnessMap,clearcoatNormalMap:L&&!!a.clearcoatNormalMap,iridescence:k,iridescenceMap:k&&!!a.iridescenceMap,iridescenceThicknessMap:k&&!!a.iridescenceThicknessMap,displacementMap:!!a.displacementMap,roughnessMap:!!a.roughnessMap,metalnessMap:!!a.metalnessMap,specularMap:!!a.specularMap,specularIntensityMap:!!a.specularIntensityMap,specularColorMap:!!a.specularColorMap,opaque:!1===a.transparent&&a.blending===Sd,alphaMap:!!a.alphaMap,alphaTest:R,gradientMap:!!a.gradientMap,sheen:a.sheen>0,sheenColorMap:!!a.sheenColorMap,sheenRoughnessMap:!!a.sheenRoughnessMap,transmission:a.transmission>0,transmissionMap:!!a.transmissionMap,thicknessMap:!!a.thicknessMap,combine:a.combine,vertexTangents:!!a.normalMap&&!!y.attributes.tangent,vertexColors:a.vertexColors,vertexAlphas:!0===a.vertexColors&&!!y.attributes.color&&4===y.attributes.color.itemSize,vertexUvs:!!a.map||!!a.bumpMap||!!a.normalMap||!!a.specularMap||!!a.alphaMap||!!a.emissiveMap||!!a.roughnessMap||!!a.metalnessMap||!!a.clearcoatMap||!!a.clearcoatRoughnessMap||!!a.clearcoatNormalMap||!!a.iridescenceMap||!!a.iridescenceThicknessMap||!!a.displacementMap||!!a.transmissionMap||!!a.thicknessMap||!!a.specularIntensityMap||!!a.specularColorMap||!!a.sheenColorMap||!!a.sheenRoughnessMap,uvsVertexOnly:!(a.map||a.bumpMap||a.normalMap||a.specularMap||a.alphaMap||a.emissiveMap||a.roughnessMap||a.metalnessMap||a.clearcoatNormalMap||a.iridescenceMap||a.iridescenceThicknessMap||a.transmission>0||a.transmissionMap||a.thicknessMap||a.specularIntensityMap||a.specularColorMap||a.sheen>0||a.sheenColorMap||a.sheenRoughnessMap)&&!!a.displacementMap,fog:!!v,useFog:!0===a.fog,fogExp2:v&&v.isFogExp2,flatShading:!!a.flatShading,sizeAttenuation:a.sizeAttenuation,logarithmicDepthBuffer:d,skinning:!0===g.isSkinnedMesh,morphTargets:void 0!==y.morphAttributes.position,morphNormals:void 0!==y.morphAttributes.normal,morphColors:void 0!==y.morphAttributes.color,morphTargetsCount:M,morphTextureStride:P,numDirLights:o.directional.length,numPointLights:o.point.length,numSpotLights:o.spot.length,numSpotLightMaps:o.spotLightMap.length,numRectAreaLights:o.rectArea.length,numHemiLights:o.hemi.length,numDirLightShadows:o.directionalShadowMap.length,numPointLightShadows:o.pointShadowMap.length,numSpotLightShadows:o.spotShadowMap.length,numSpotLightShadowsWithMaps:o.numSpotLightShadowsWithMaps,numClippingPlanes:s.numPlanes,numClipIntersection:s.numIntersection,dithering:a.dithering,shadowMapEnabled:e.shadowMap.enabled&&c.length>0,shadowMapType:e.shadowMap.type,toneMapping:a.toneMapped?e.toneMapping:th,physicallyCorrectLights:e.physicallyCorrectLights,premultipliedAlpha:a.premultipliedAlpha,doubleSided:a.side===bd,flipSided:a.side===xd,useDepthPacking:!!a.depthPacking,depthPacking:a.depthPacking||0,index0AttributeName:a.index0AttributeName,extensionDerivatives:a.extensions&&a.extensions.derivatives,extensionFragDepth:a.extensions&&a.extensions.fragDepth,extensionDrawBuffers:a.extensions&&a.extensions.drawBuffers,extensionShaderTextureLOD:a.extensions&&a.extensions.shaderTextureLOD,rendererExtensionFragDepth:u||r.has("EXT_frag_depth"),rendererExtensionDrawBuffers:u||r.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:u||r.has("EXT_shader_texture_lod"),customProgramCacheKey:a.customProgramCacheKey()}},getProgramCacheKey:function(t){const n=[];if(t.shaderID?n.push(t.shaderID):(n.push(t.customVertexShaderID),n.push(t.customFragmentShaderID)),void 0!==t.defines)for(const e in t.defines)n.push(e),n.push(t.defines[e]);return!1===t.isRawShaderMaterial&&(!function(e,t){e.push(t.precision),e.push(t.outputEncoding),e.push(t.envMapMode),e.push(t.envMapCubeUVHeight),e.push(t.combine),e.push(t.vertexUvs),e.push(t.fogExp2),e.push(t.sizeAttenuation),e.push(t.morphTargetsCount),e.push(t.morphAttributeCount),e.push(t.numDirLights),e.push(t.numPointLights),e.push(t.numSpotLights),e.push(t.numSpotLightMaps),e.push(t.numHemiLights),e.push(t.numRectAreaLights),e.push(t.numDirLightShadows),e.push(t.numPointLightShadows),e.push(t.numSpotLightShadows),e.push(t.numSpotLightShadowsWithMaps),e.push(t.shadowMapType),e.push(t.toneMapping),e.push(t.numClippingPlanes),e.push(t.numClipIntersection),e.push(t.depthPacking)}(n,t),function(e,t){o.disableAll(),t.isWebGL2&&o.enable(0);t.supportsVertexTextures&&o.enable(1);t.instancing&&o.enable(2);t.instancingColor&&o.enable(3);t.map&&o.enable(4);t.matcap&&o.enable(5);t.envMap&&o.enable(6);t.lightMap&&o.enable(7);t.aoMap&&o.enable(8);t.emissiveMap&&o.enable(9);t.bumpMap&&o.enable(10);t.normalMap&&o.enable(11);t.objectSpaceNormalMap&&o.enable(12);t.tangentSpaceNormalMap&&o.enable(13);t.clearcoat&&o.enable(14);t.clearcoatMap&&o.enable(15);t.clearcoatRoughnessMap&&o.enable(16);t.clearcoatNormalMap&&o.enable(17);t.iridescence&&o.enable(18);t.iridescenceMap&&o.enable(19);t.iridescenceThicknessMap&&o.enable(20);t.displacementMap&&o.enable(21);t.specularMap&&o.enable(22);t.roughnessMap&&o.enable(23);t.metalnessMap&&o.enable(24);t.gradientMap&&o.enable(25);t.alphaMap&&o.enable(26);t.alphaTest&&o.enable(27);t.vertexColors&&o.enable(28);t.vertexAlphas&&o.enable(29);t.vertexUvs&&o.enable(30);t.vertexTangents&&o.enable(31);t.uvsVertexOnly&&o.enable(32);e.push(o.mask),o.disableAll(),t.fog&&o.enable(0);t.useFog&&o.enable(1);t.flatShading&&o.enable(2);t.logarithmicDepthBuffer&&o.enable(3);t.skinning&&o.enable(4);t.morphTargets&&o.enable(5);t.morphNormals&&o.enable(6);t.morphColors&&o.enable(7);t.premultipliedAlpha&&o.enable(8);t.shadowMapEnabled&&o.enable(9);t.physicallyCorrectLights&&o.enable(10);t.doubleSided&&o.enable(11);t.flipSided&&o.enable(12);t.useDepthPacking&&o.enable(13);t.dithering&&o.enable(14);t.specularIntensityMap&&o.enable(15);t.specularColorMap&&o.enable(16);t.transmission&&o.enable(17);t.transmissionMap&&o.enable(18);t.thicknessMap&&o.enable(19);t.sheen&&o.enable(20);t.sheenColorMap&&o.enable(21);t.sheenRoughnessMap&&o.enable(22);t.decodeVideoTexture&&o.enable(23);t.opaque&&o.enable(24);e.push(o.mask)}(n,t),n.push(e.outputEncoding)),n.push(t.customProgramCacheKey),n.join()},getUniforms:function(e){const t=f[e.type];let n;if(t){const e=Ov[t];n=vv.clone(e.uniforms)}else n=e.uniforms;return n},acquireProgram:function(t,n){let r;for(let e=0,i=c.length;e<i;e++){const t=c[e];if(t.cacheKey===n){r=t,++r.usedTimes;break}}return void 0===r&&(r=new kx(e,n,t,a),c.push(r)),r},releaseProgram:function(e){if(0===--e.usedTimes){const t=c.indexOf(e);c[t]=c[c.length-1],c.pop(),e.destroy()}},releaseShaderCache:function(e){l.remove(e)},programs:c,dispose:function(){l.dispose()}}}function jx(){let e=new WeakMap;return{get:function(t){let n=e.get(t);return void 0===n&&(n={},e.set(t,n)),n},remove:function(t){e.delete(t)},update:function(t,n,r){e.get(t)[n]=r},dispose:function(){e=new WeakMap}}}function Bx(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.material.id!==t.material.id?e.material.id-t.material.id:e.z!==t.z?e.z-t.z:e.id-t.id}function Fx(e,t){return e.groupOrder!==t.groupOrder?e.groupOrder-t.groupOrder:e.renderOrder!==t.renderOrder?e.renderOrder-t.renderOrder:e.z!==t.z?t.z-e.z:e.id-t.id}function Ux(){const e=[];let t=0;const n=[],r=[],i=[];function a(n,r,i,a,s,o){let l=e[t];return void 0===l?(l={id:n.id,object:n,geometry:r,material:i,groupOrder:a,renderOrder:n.renderOrder,z:s,group:o},e[t]=l):(l.id=n.id,l.object=n,l.geometry=r,l.material=i,l.groupOrder=a,l.renderOrder=n.renderOrder,l.z=s,l.group=o),t++,l}return{opaque:n,transmissive:r,transparent:i,init:function(){t=0,n.length=0,r.length=0,i.length=0},push:function(e,t,s,o,l,c){const u=a(e,t,s,o,l,c);s.transmission>0?r.push(u):!0===s.transparent?i.push(u):n.push(u)},unshift:function(e,t,s,o,l,c){const u=a(e,t,s,o,l,c);s.transmission>0?r.unshift(u):!0===s.transparent?i.unshift(u):n.unshift(u)},finish:function(){for(let n=t,r=e.length;n<r;n++){const t=e[n];if(null===t.id)break;t.id=null,t.object=null,t.geometry=null,t.material=null,t.group=null}},sort:function(e,t){n.length>1&&n.sort(e||Bx),r.length>1&&r.sort(t||Fx),i.length>1&&i.sort(t||Fx)}}}function Vx(){let e=new WeakMap;return{get:function(t,n){const r=e.get(t);let i;return void 0===r?(i=new Ux,e.set(t,[i])):n>=r.length?(i=new Ux,r.push(i)):i=r[n],i},dispose:function(){e=new WeakMap}}}function Hx(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":n={direction:new mm,color:new em};break;case"SpotLight":n={position:new mm,direction:new mm,color:new em,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new mm,color:new em,distance:0,decay:0};break;case"HemisphereLight":n={direction:new mm,skyColor:new em,groundColor:new em};break;case"RectAreaLight":n={color:new em,position:new mm,halfWidth:new mm,halfHeight:new mm}}return e[t.id]=n,n}}}let Wx=0;function Gx(e,t){return(t.castShadow?2:0)-(e.castShadow?2:0)+(t.map?1:0)-(e.map?1:0)}function qx(e,t){const n=new Hx,r=function(){const e={};return{get:function(t){if(void 0!==e[t.id])return e[t.id];let n;switch(t.type){case"DirectionalLight":case"SpotLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Of};break;case"PointLight":n={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Of,shadowCameraNear:1,shadowCameraFar:1e3}}return e[t.id]=n,n}}}(),i={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-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};for(let l=0;l<9;l++)i.probe.push(new mm);const a=new mm,s=new Gm,o=new Gm;return{setup:function(a,s){let o=0,l=0,c=0;for(let e=0;e<9;e++)i.probe[e].set(0,0,0);let u=0,d=0,h=0,p=0,f=0,m=0,g=0,v=0,y=0,x=0;a.sort(Gx);const b=!0!==s?Math.PI:1;for(let e=0,t=a.length;e<t;e++){const t=a[e],s=t.color,w=t.intensity,_=t.distance,S=t.shadow&&t.shadow.map?t.shadow.map.texture:null;if(t.isAmbientLight)o+=s.r*w*b,l+=s.g*w*b,c+=s.b*w*b;else if(t.isLightProbe)for(let e=0;e<9;e++)i.probe[e].addScaledVector(t.sh.coefficients[e],w);else if(t.isDirectionalLight){const e=n.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity*b),t.castShadow){const e=t.shadow,n=r.get(t);n.shadowBias=e.bias,n.shadowNormalBias=e.normalBias,n.shadowRadius=e.radius,n.shadowMapSize=e.mapSize,i.directionalShadow[u]=n,i.directionalShadowMap[u]=S,i.directionalShadowMatrix[u]=t.shadow.matrix,m++}i.directional[u]=e,u++}else if(t.isSpotLight){const e=n.get(t);e.position.setFromMatrixPosition(t.matrixWorld),e.color.copy(s).multiplyScalar(w*b),e.distance=_,e.coneCos=Math.cos(t.angle),e.penumbraCos=Math.cos(t.angle*(1-t.penumbra)),e.decay=t.decay,i.spot[h]=e;const a=t.shadow;if(t.map&&(i.spotLightMap[y]=t.map,y++,a.updateMatrices(t),t.castShadow&&x++),i.spotLightMatrix[h]=a.matrix,t.castShadow){const e=r.get(t);e.shadowBias=a.bias,e.shadowNormalBias=a.normalBias,e.shadowRadius=a.radius,e.shadowMapSize=a.mapSize,i.spotShadow[h]=e,i.spotShadowMap[h]=S,v++}h++}else if(t.isRectAreaLight){const e=n.get(t);e.color.copy(s).multiplyScalar(w),e.halfWidth.set(.5*t.width,0,0),e.halfHeight.set(0,.5*t.height,0),i.rectArea[p]=e,p++}else if(t.isPointLight){const e=n.get(t);if(e.color.copy(t.color).multiplyScalar(t.intensity*b),e.distance=t.distance,e.decay=t.decay,t.castShadow){const e=t.shadow,n=r.get(t);n.shadowBias=e.bias,n.shadowNormalBias=e.normalBias,n.shadowRadius=e.radius,n.shadowMapSize=e.mapSize,n.shadowCameraNear=e.camera.near,n.shadowCameraFar=e.camera.far,i.pointShadow[d]=n,i.pointShadowMap[d]=S,i.pointShadowMatrix[d]=t.shadow.matrix,g++}i.point[d]=e,d++}else if(t.isHemisphereLight){const e=n.get(t);e.skyColor.copy(t.color).multiplyScalar(w*b),e.groundColor.copy(t.groundColor).multiplyScalar(w*b),i.hemi[f]=e,f++}}p>0&&(t.isWebGL2||!0===e.has("OES_texture_float_linear")?(i.rectAreaLTC1=zv.LTC_FLOAT_1,i.rectAreaLTC2=zv.LTC_FLOAT_2):!0===e.has("OES_texture_half_float_linear")?(i.rectAreaLTC1=zv.LTC_HALF_1,i.rectAreaLTC2=zv.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),i.ambient[0]=o,i.ambient[1]=l,i.ambient[2]=c;const w=i.hash;w.directionalLength===u&&w.pointLength===d&&w.spotLength===h&&w.rectAreaLength===p&&w.hemiLength===f&&w.numDirectionalShadows===m&&w.numPointShadows===g&&w.numSpotShadows===v&&w.numSpotMaps===y||(i.directional.length=u,i.spot.length=h,i.rectArea.length=p,i.point.length=d,i.hemi.length=f,i.directionalShadow.length=m,i.directionalShadowMap.length=m,i.pointShadow.length=g,i.pointShadowMap.length=g,i.spotShadow.length=v,i.spotShadowMap.length=v,i.directionalShadowMatrix.length=m,i.pointShadowMatrix.length=g,i.spotLightMatrix.length=v+y-x,i.spotLightMap.length=y,i.numSpotLightShadowsWithMaps=x,w.directionalLength=u,w.pointLength=d,w.spotLength=h,w.rectAreaLength=p,w.hemiLength=f,w.numDirectionalShadows=m,w.numPointShadows=g,w.numSpotShadows=v,w.numSpotMaps=y,i.version=Wx++)},setupView:function(e,t){let n=0,r=0,l=0,c=0,u=0;const d=t.matrixWorldInverse;for(let h=0,p=e.length;h<p;h++){const t=e[h];if(t.isDirectionalLight){const e=i.directional[n];e.direction.setFromMatrixPosition(t.matrixWorld),a.setFromMatrixPosition(t.target.matrixWorld),e.direction.sub(a),e.direction.transformDirection(d),n++}else if(t.isSpotLight){const e=i.spot[l];e.position.setFromMatrixPosition(t.matrixWorld),e.position.applyMatrix4(d),e.direction.setFromMatrixPosition(t.matrixWorld),a.setFromMatrixPosition(t.target.matrixWorld),e.direction.sub(a),e.direction.transformDirection(d),l++}else if(t.isRectAreaLight){const e=i.rectArea[c];e.position.setFromMatrixPosition(t.matrixWorld),e.position.applyMatrix4(d),o.identity(),s.copy(t.matrixWorld),s.premultiply(d),o.extractRotation(s),e.halfWidth.set(.5*t.width,0,0),e.halfHeight.set(0,.5*t.height,0),e.halfWidth.applyMatrix4(o),e.halfHeight.applyMatrix4(o),c++}else if(t.isPointLight){const e=i.point[r];e.position.setFromMatrixPosition(t.matrixWorld),e.position.applyMatrix4(d),r++}else if(t.isHemisphereLight){const e=i.hemi[u];e.direction.setFromMatrixPosition(t.matrixWorld),e.direction.transformDirection(d),u++}}},state:i}}function Xx(e,t){const n=new qx(e,t),r=[],i=[];return{init:function(){r.length=0,i.length=0},state:{lightsArray:r,shadowsArray:i,lights:n},setupLights:function(e){n.setup(r,e)},setupLightsView:function(e){n.setupView(r,e)},pushLight:function(e){r.push(e)},pushShadow:function(e){i.push(e)}}}function Yx(e,t){let n=new WeakMap;return{get:function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const a=n.get(r);let s;return void 0===a?(s=new Xx(e,t),n.set(r,[s])):i>=a.length?(s=new Xx(e,t),a.push(s)):s=a[i],s},dispose:function(){n=new WeakMap}}}class Jx extends Pg{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=Fp,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 Qx extends Pg{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.referencePosition=new mm,this.nearDistance=1,this.farDistance=1e3,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.referencePosition.copy(e.referencePosition),this.nearDistance=e.nearDistance,this.farDistance=e.farDistance,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const Zx="void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",Kx="uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include <packing>
2\nvoid main() {\n\tconst float samples = float( VSM_SAMPLES );\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat uvStride = samples <= 1.0 ? 0.0 : 2.0 / ( samples - 1.0 );\n\tfloat uvStart = samples <= 1.0 ? 0.0 : - 1.0;\n\tfor ( float i = 0.0; i < samples; i ++ ) {\n\t\tfloat uvOffset = uvStart + i * uvStride;\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( uvOffset, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, uvOffset ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean / samples;\n\tsquared_mean = squared_mean / samples;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}";function $x(e,t,n){let r=new Rv;const i=new Of,a=new Of,s=new om,o=new Jx({depthPacking:Up}),l=new Qx,c={},u=n.maxTextureSize,d={[yd]:xd,[xd]:yd,[bd]:bd},h=new yv({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Of},radius:{value:4}},vertexShader:Zx,fragmentShader:Kx}),p=h.clone();p.defines.HORIZONTAL_PASS=1;const f=new Zg;f.setAttribute("position",new kg(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const m=new dv(f,h),g=this;function v(n,r){const a=t.update(m);h.defines.VSM_SAMPLES!==n.blurSamples&&(h.defines.VSM_SAMPLES=n.blurSamples,p.defines.VSM_SAMPLES=n.blurSamples,h.needsUpdate=!0,p.needsUpdate=!0),null===n.mapPass&&(n.mapPass=new lm(i.x,i.y)),h.uniforms.shadow_pass.value=n.map.texture,h.uniforms.resolution.value=n.mapSize,h.uniforms.radius.value=n.radius,e.setRenderTarget(n.mapPass),e.clear(),e.renderBufferDirect(r,null,a,h,m,null),p.uniforms.shadow_pass.value=n.mapPass.texture,p.uniforms.resolution.value=n.mapSize,p.uniforms.radius.value=n.radius,e.setRenderTarget(n.map),e.clear(),e.renderBufferDirect(r,null,a,p,m,null)}function y(t,n,r,i,a,s){let u=null;const h=!0===r.isPointLight?t.customDistanceMaterial:t.customDepthMaterial;if(void 0!==h)u=h;else if(u=!0===r.isPointLight?l:o,e.localClippingEnabled&&!0===n.clipShadows&&Array.isArray(n.clippingPlanes)&&0!==n.clippingPlanes.length||n.displacementMap&&0!==n.displacementScale||n.alphaMap&&n.alphaTest>0||n.map&&n.alphaTest>0){const e=u.uuid,t=n.uuid;let r=c[e];void 0===r&&(r={},c[e]=r);let i=r[t];void 0===i&&(i=u.clone(),r[t]=i),u=i}return u.visible=n.visible,u.wireframe=n.wireframe,u.side=s===vd?null!==n.shadowSide?n.shadowSide:n.side:null!==n.shadowSide?n.shadowSide:d[n.side],u.alphaMap=n.alphaMap,u.alphaTest=n.alphaTest,u.map=n.map,u.clipShadows=n.clipShadows,u.clippingPlanes=n.clippingPlanes,u.clipIntersection=n.clipIntersection,u.displacementMap=n.displacementMap,u.displacementScale=n.displacementScale,u.displacementBias=n.displacementBias,u.wireframeLinewidth=n.wireframeLinewidth,u.linewidth=n.linewidth,!0===r.isPointLight&&!0===u.isMeshDistanceMaterial&&(u.referencePosition.setFromMatrixPosition(r.matrixWorld),u.nearDistance=i,u.farDistance=a),u}function x(n,i,a,s,o){if(!1===n.visible)return;if(n.layers.test(i.layers)&&(n.isMesh||n.isLine||n.isPoints)&&(n.castShadow||n.receiveShadow&&o===vd)&&(!n.frustumCulled||r.intersectsObject(n))){n.modelViewMatrix.multiplyMatrices(a.matrixWorldInverse,n.matrixWorld);const r=t.update(n),i=n.material;if(Array.isArray(i)){const t=r.groups;for(let l=0,c=t.length;l<c;l++){const c=t[l],u=i[c.materialIndex];if(u&&u.visible){const t=y(n,u,s,a.near,a.far,o);e.renderBufferDirect(a,null,r,t,n,c)}}}else if(i.visible){const t=y(n,i,s,a.near,a.far,o);e.renderBufferDirect(a,null,r,t,n,null)}}const l=n.children;for(let e=0,t=l.length;e<t;e++)x(l[e],i,a,s,o)}this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=md,this.render=function(t,n,o){if(!1===g.enabled)return;if(!1===g.autoUpdate&&!1===g.needsUpdate)return;if(0===t.length)return;const l=e.getRenderTarget(),c=e.getActiveCubeFace(),d=e.getActiveMipmapLevel(),h=e.state;h.setBlending(_d),h.buffers.color.setClear(1,1,1,1),h.buffers.depth.setTest(!0),h.setScissorTest(!1);for(let p=0,f=t.length;p<f;p++){const l=t[p],c=l.shadow;if(void 0===c){console.warn("THREE.WebGLShadowMap:",l,"has no shadow.");continue}if(!1===c.autoUpdate&&!1===c.needsUpdate)continue;i.copy(c.mapSize);const d=c.getFrameExtents();if(i.multiply(d),a.copy(c.mapSize),(i.x>u||i.y>u)&&(i.x>u&&(a.x=Math.floor(u/d.x),i.x=a.x*d.x,c.mapSize.x=a.x),i.y>u&&(a.y=Math.floor(u/d.y),i.y=a.y*d.y,c.mapSize.y=a.y)),null===c.map){const e=this.type!==vd?{minFilter:gh,magFilter:gh}:{};c.map=new lm(i.x,i.y,e),c.map.texture.name=l.name+".shadowMap",c.camera.updateProjectionMatrix()}e.setRenderTarget(c.map),e.clear();const f=c.getViewportCount();for(let e=0;e<f;e++){const t=c.getViewport(e);s.set(a.x*t.x,a.y*t.y,a.x*t.z,a.y*t.w),h.viewport(s),c.updateMatrices(l,e),r=c.getFrustum(),x(n,o,c.camera,l,this.type)}!0!==c.isPointLightShadow&&this.type===vd&&v(c,o),c.needsUpdate=!1}g.needsUpdate=!1,e.setRenderTarget(l,c,d)}}
vendor: 14,243 bytes, line 2
2function eb(e,t,n){const r=n.isWebGL2;const i=new function(){let t=!1;const n=new om;let r=null;const i=new om(0,0,0,0);return{setMask:function(n){r===n||t||(e.colorMask(n,n,n,n),r=n)},setLocked:function(e){t=e},setClear:function(t,r,a,s,o){!0===o&&(t*=s,r*=s,a*=s),n.set(t,r,a,s),!1===i.equals(n)&&(e.clearColor(t,r,a,s),i.copy(n))},reset:function(){t=!1,r=null,i.set(-1,0,0,0)}}},a=new function(){let t=!1,n=null,r=null,i=null;return{setTest:function(e){e?F(2929):U(2929)},setMask:function(r){n===r||t||(e.depthMask(r),n=r)},setFunc:function(t){if(r!==t){switch(t){case Wd:e.depthFunc(512);break;case Gd:e.depthFunc(519);break;case qd:e.depthFunc(513);break;case Xd:e.depthFunc(515);break;case Yd:e.depthFunc(514);break;case Jd:e.depthFunc(518);break;case Qd:e.depthFunc(516);break;case Zd:e.depthFunc(517);break;default:e.depthFunc(515)}r=t}},setLocked:function(e){t=e},setClear:function(t){i!==t&&(e.clearDepth(t),i=t)},reset:function(){t=!1,n=null,r=null,i=null}}},s=new function(){let t=!1,n=null,r=null,i=null,a=null,s=null,o=null,l=null,c=null;return{setTest:function(e){t||(e?F(2960):U(2960))},setMask:function(r){n===r||t||(e.stencilMask(r),n=r)},setFunc:function(t,n,s){r===t&&i===n&&a===s||(e.stencilFunc(t,n,s),r=t,i=n,a=s)},setOp:function(t,n,r){s===t&&o===n&&l===r||(e.stencilOp(t,n,r),s=t,o=n,l=r)},setLocked:function(e){t=e},setClear:function(t){c!==t&&(e.clearStencil(t),c=t)},reset:function(){t=!1,n=null,r=null,i=null,a=null,s=null,o=null,l=null,c=null}}},o=new WeakMap,l=new WeakMap;let c={},u={},d=new WeakMap,h=[],p=null,f=!1,m=null,g=null,v=null,y=null,x=null,b=null,w=null,_=!1,S=null,M=null,E=null,T=null,A=null;const C=e.getParameter(35661);let P=!1,N=0;const R=e.getParameter(7938);-1!==R.indexOf("WebGL")?(N=parseFloat(/^WebGL (\d)/.exec(R)[1]),P=N>=1):-1!==R.indexOf("OpenGL ES")&&(N=parseFloat(/^OpenGL ES (\d)/.exec(R)[1]),P=N>=2);let L=null,k={};const I=e.getParameter(3088),D=e.getParameter(2978),z=(new om).fromArray(I),O=(new om).fromArray(D);function j(t,n,r){const i=new Uint8Array(4),a=e.createTexture();e.bindTexture(t,a),e.texParameteri(t,10241,9728),e.texParameteri(t,10240,9728);for(let s=0;s<r;s++)e.texImage2D(n+s,0,6408,1,1,0,6408,5121,i);return a}const B={};function F(t){!0!==c[t]&&(e.enable(t),c[t]=!0)}function U(t){!1!==c[t]&&(e.disable(t),c[t]=!1)}B[3553]=j(3553,3553,1),B[34067]=j(34067,34069,6),i.setClear(0,0,0,1),a.setClear(1),s.setClear(0),F(2929),a.setFunc(Xd),G(!1),q(dd),F(2884),W(_d);const V={[Cd]:32774,[Pd]:32778,[Nd]:32779};if(r)V[Rd]=32775,V[Ld]=32776;else{const e=t.get("EXT_blend_minmax");null!==e&&(V[Rd]=e.MIN_EXT,V[Ld]=e.MAX_EXT)}const H={[kd]:0,[Id]:1,[Dd]:768,[Od]:770,[Hd]:776,[Ud]:774,[Bd]:772,[zd]:769,[jd]:771,[Vd]:775,[Fd]:773};function W(t,n,r,i,a,s,o,l){if(t!==_d){if(!1===f&&(F(3042),f=!0),t===Ad)a=a||n,s=s||r,o=o||i,n===g&&a===x||(e.blendEquationSeparate(V[n],V[a]),g=n,x=a),r===v&&i===y&&s===b&&o===w||(e.blendFuncSeparate(H[r],H[i],H[s],H[o]),v=r,y=i,b=s,w=o),m=t,_=!1;else if(t!==m||l!==_){if(g===Cd&&x===Cd||(e.blendEquation(32774),g=Cd,x=Cd),l)switch(t){case Sd:e.blendFuncSeparate(1,771,1,771);break;case Md:e.blendFunc(1,1);break;case Ed:e.blendFuncSeparate(0,769,0,1);break;case Td:e.blendFuncSeparate(0,768,0,770);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}else switch(t){case Sd:e.blendFuncSeparate(770,771,1,771);break;case Md:e.blendFunc(770,1);break;case Ed:e.blendFuncSeparate(0,769,0,1);break;case Td:e.blendFunc(0,768);break;default:console.error("THREE.WebGLState: Invalid blending: ",t)}v=null,y=null,b=null,w=null,m=t,_=l}}else!0===f&&(U(3042),f=!1)}function G(t){S!==t&&(t?e.frontFace(2304):e.frontFace(2305),S=t)}function q(t){t!==ud?(F(2884),t!==M&&(t===dd?e.cullFace(1029):t===hd?e.cullFace(1028):e.cullFace(1032))):U(2884),M=t}function X(t,n,r){t?(F(32823),T===n&&A===r||(e.polygonOffset(n,r),T=n,A=r)):U(32823)}return{buffers:{color:i,depth:a,stencil:s},enable:F,disable:U,bindFramebuffer:function(t,n){return u[t]!==n&&(e.bindFramebuffer(t,n),u[t]=n,r&&(36009===t&&(u[36160]=n),36160===t&&(u[36009]=n)),!0)},drawBuffers:function(r,i){let a=h,s=!1;if(r)if(a=d.get(i),void 0===a&&(a=[],d.set(i,a)),r.isWebGLMultipleRenderTargets){const e=r.texture;if(a.length!==e.length||36064!==a[0]){for(let t=0,n=e.length;t<n;t++)a[t]=36064+t;a.length=e.length,s=!0}}else 36064!==a[0]&&(a[0]=36064,s=!0);else 1029!==a[0]&&(a[0]=1029,s=!0);s&&(n.isWebGL2?e.drawBuffers(a):t.get("WEBGL_draw_buffers").drawBuffersWEBGL(a))},useProgram:function(t){return p!==t&&(e.useProgram(t),p=t,!0)},setBlending:W,setMaterial:function(e,t){e.side===bd?U(2884):F(2884);let n=e.side===xd;t&&(n=!n),G(n),e.blending===Sd&&!1===e.transparent?W(_d):W(e.blending,e.blendEquation,e.blendSrc,e.blendDst,e.blendEquationAlpha,e.blendSrcAlpha,e.blendDstAlpha,e.premultipliedAlpha),a.setFunc(e.depthFunc),a.setTest(e.depthTest),a.setMask(e.depthWrite),i.setMask(e.colorWrite);const r=e.stencilWrite;s.setTest(r),r&&(s.setMask(e.stencilWriteMask),s.setFunc(e.stencilFunc,e.stencilRef,e.stencilFuncMask),s.setOp(e.stencilFail,e.stencilZFail,e.stencilZPass)),X(e.polygonOffset,e.polygonOffsetFactor,e.polygonOffsetUnits),!0===e.alphaToCoverage?F(32926):U(32926)},setFlipSided:G,setCullFace:q,setLineWidth:function(t){t!==E&&(P&&e.lineWidth(t),E=t)},setPolygonOffset:X,setScissorTest:function(e){e?F(3089):U(3089)},activeTexture:function(t){void 0===t&&(t=33984+C-1),L!==t&&(e.activeTexture(t),L=t)},bindTexture:function(t,n,r){void 0===r&&(r=null===L?33984+C-1:L);let i=k[r];void 0===i&&(i={type:void 0,texture:void 0},k[r]=i),i.type===t&&i.texture===n||(L!==r&&(e.activeTexture(r),L=r),e.bindTexture(t,n||B[t]),i.type=t,i.texture=n)},unbindTexture:function(){const t=k[L];void 0!==t&&void 0!==t.type&&(e.bindTexture(t.type,null),t.type=void 0,t.texture=void 0)},compressedTexImage2D:function(){try{e.compressedTexImage2D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},compressedTexImage3D:function(){try{e.compressedTexImage3D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},texImage2D:function(){try{e.texImage2D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},texImage3D:function(){try{e.texImage3D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},updateUBOMapping:function(t,n){let r=l.get(n);void 0===r&&(r=new WeakMap,l.set(n,r));let i=r.get(t);void 0===i&&(i=e.getUniformBlockIndex(n,t.name),r.set(t,i))},uniformBlockBinding:function(t,n){const r=l.get(n).get(t);o.get(n)!==r&&(e.uniformBlockBinding(n,r,t.__bindingPointIndex),o.set(n,r))},texStorage2D:function(){try{e.texStorage2D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},texStorage3D:function(){try{e.texStorage3D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},texSubImage2D:function(){try{e.texSubImage2D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},texSubImage3D:function(){try{e.texSubImage3D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},compressedTexSubImage2D:function(){try{e.compressedTexSubImage2D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},compressedTexSubImage3D:function(){try{e.compressedTexSubImage3D.apply(e,arguments)}catch(qA){console.error("THREE.WebGLState:",qA)}},scissor:function(t){!1===z.equals(t)&&(e.scissor(t.x,t.y,t.z,t.w),z.copy(t))},viewport:function(t){!1===O.equals(t)&&(e.viewport(t.x,t.y,t.z,t.w),O.copy(t))},reset:function(){e.disable(3042),e.disable(2884),e.disable(2929),e.disable(32823),e.disable(3089),e.disable(2960),e.disable(32926),e.blendEquation(32774),e.blendFunc(1,0),e.blendFuncSeparate(1,0,1,0),e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.depthMask(!0),e.depthFunc(513),e.clearDepth(1),e.stencilMask(4294967295),e.stencilFunc(519,0,4294967295),e.stencilOp(7680,7680,7680),e.clearStencil(0),e.cullFace(1029),e.frontFace(2305),e.polygonOffset(0,0),e.activeTexture(33984),e.bindFramebuffer(36160,null),!0===r&&(e.bindFramebuffer(36009,null),e.bindFramebuffer(36008,null)),e.useProgram(null),e.lineWidth(1),e.scissor(0,0,e.canvas.width,e.canvas.height),e.viewport(0,0,e.canvas.width,e.canvas.height),c={},L=null,k={},u={},d=new WeakMap,h=[],p=null,f=!1,m=null,g=null,v=null,y=null,x=null,b=null,w=null,_=!1,S=null,M=null,E=null,T=null,A=null,z.set(0,0,e.canvas.width,e.canvas.height),O.set(0,0,e.canvas.width,e.canvas.height),i.reset(),a.reset(),s.reset()}}}function tb(e,t,n,r,i,a,s){const o=i.isWebGL2,l=i.maxTextures,c=i.maxCubemapSize,u=i.maxTextureSize,d=i.maxSamples,h=t.has("WEBGL_multisampled_render_to_texture")?t.get("WEBGL_multisampled_render_to_texture"):null,p="undefined"!==typeof navigator&&/OculusBrowser/g.test(navigator.userAgent),f=new WeakMap;let m;const g=new WeakMap;let v=!1;try{v="undefined"!==typeof OffscreenCanvas&&null!==new OffscreenCanvas(1,1).getContext("2d")}catch(V){}function y(e,t){return v?new OffscreenCanvas(e,t):Hf("canvas")}function x(e,t,n,r){let i=1;if((e.width>r||e.height>r)&&(i=r/Math.max(e.width,e.height)),i<1||!0===t){if("undefined"!==typeof HTMLImageElement&&e instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&e instanceof ImageBitmap){const r=t?kf:Math.floor,a=r(i*e.width),s=r(i*e.height);void 0===m&&(m=y(a,s));const o=n?y(a,s):m;o.width=a,o.height=s;return o.getContext("2d").drawImage(e,0,0,a,s),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+e.width+"x"+e.height+") to ("+a+"x"+s+")."),o}return"data"in e&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+e.width+"x"+e.height+")."),e}return e}function b(e){return Rf(e.width)&&Rf(e.height)}function w(e,t){return e.generateMipmaps&&t&&e.minFilter!==gh&&e.minFilter!==wh}function _(t){e.generateMipmap(t)}function S(n,r,i,a){let s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(!1===o)return r;if(null!==n){if(void 0!==e[n])return e[n];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+n+"'")}let l=r;return 6403===r&&(5126===i&&(l=33326),5131===i&&(l=33325),5121===i&&(l=33321)),33319===r&&(5126===i&&(l=33328),5131===i&&(l=33327),5121===i&&(l=33323)),6408===r&&(5126===i&&(l=34836),5131===i&&(l=34842),5121===i&&(l=a===Bp&&!1===s?35907:32856),32819===i&&(l=32854),32820===i&&(l=32855)),33325!==l&&33326!==l&&33327!==l&&33328!==l&&34842!==l&&34836!==l||t.get("EXT_color_buffer_float"),l}function M(e,t,n){return!0===w(e,n)||e.isFramebufferTexture&&e.minFilter!==gh&&e.minFilter!==wh?Math.log2(Math.max(t.width,t.height))+1:void 0!==e.mipmaps&&e.mipmaps.length>0?e.mipmaps.length:e.isCompressedTexture&&Array.isArray(e.image)?t.mipmaps.length:1}function E(e){return e===gh||e===vh||e===xh?9728:9729}function T(e){const t=e.target;t.removeEventListener("dispose",T),function(e){const t=r.get(e);if(void 0===t.__webglInit)return;const n=e.source,i=g.get(n);if(i){const r=i[t.__cacheKey];r.usedTimes--,0===r.usedTimes&&C(e),0===Object.keys(i).length&&g.delete(n)}r.remove(e)}(t),t.isVideoTexture&&f.delete(t)}function A(t){const n=t.target;n.removeEventListener("dispose",A),function(t){const n=t.texture,i=r.get(t),a=r.get(n);void 0!==a.__webglTexture&&(e.deleteTexture(a.__webglTexture),s.memory.textures--);t.depthTexture&&t.depthTexture.dispose();if(t.isWebGLCubeRenderTarget)for(let r=0;r<6;r++)e.deleteFramebuffer(i.__webglFramebuffer[r]),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer[r]);else{if(e.deleteFramebuffer(i.__webglFramebuffer),i.__webglDepthbuffer&&e.deleteRenderbuffer(i.__webglDepthbuffer),i.__webglMultisampledFramebuffer&&e.deleteFramebuffer(i.__webglMultisampledFramebuffer),i.__webglColorRenderbuffer)for(let t=0;t<i.__webglColorRenderbuffer.length;t++)i.__webglColorRenderbuffer[t]&&e.deleteRenderbuffer(i.__webglColorRenderbuffer[t]);i.__webglDepthRenderbuffer&&e.deleteRenderbuffer(i.__webglDepthRenderbuffer)}if(t.isWebGLMultipleRenderTargets)for(let o=0,l=n.length;o<l;o++){const t=r.get(n[o]);t.__webglTexture&&(e.deleteTexture(t.__webglTexture),s.memory.textures--),r.remove(n[o])}r.remove(n),r.remove(t)}(n)}function C(t){const n=r.get(t);e.deleteTexture(n.__webglTexture);const i=t.source;delete g.get(i)[n.__cacheKey],s.memory.textures--}let P=0;function N(e,t){const i=r.get(e);if(e.isVideoTexture&&function(e){const t=s.render.frame;f.get(e)!==t&&(f.set(e,t),e.update())}(e),!1===e.isRenderTargetTexture&&e.version>0&&i.__version!==e.version){const n=e.image;if(null===n)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else{if(!1!==n.complete)return void D(i,e,t);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}n.bindTexture(3553,i.__webglTexture,33984+t)}const R={[ph]:10497,[fh]:33071,[mh]:33648},L={[gh]:9728,[vh]:9984,[xh]:9986,[wh]:9729,[_h]:9985,[Mh]:9987};function k(n,a,s){if(s?(e.texParameteri(n,10242,R[a.wrapS]),e.texParameteri(n,10243,R[a.wrapT]),32879!==n&&35866!==n||e.texParameteri(n,32882,R[a.wrapR]),e.texParameteri(n,10240,L[a.magFilter]),e.texParameteri(n,10241,L[a.minFilter])):(e.texParameteri(n,10242,33071),e.texParameteri(n,10243,33071),32879!==n&&35866!==n||e.texParameteri(n,32882,33071),a.wrapS===fh&&a.wrapT===fh||console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping."),e.texParameteri(n,10240,E(a.magFilter)),e.texParameteri(n,10241,E(a.minFilter)),a.minFilter!==gh&&a.minFilter!==wh&&console.warn("THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.")),!0===t.has("EXT_texture_filter_anisotropic")){const s=t.get("EXT_texture_filter_anisotropic");if(a.magFilter===gh)return;if(a.minFilter!==xh&&a.minFilter!==Mh)return;if(a.type===Lh&&!1===t.has("OES_texture_float_linear"))return;if(!1===o&&a.type===kh&&!1===t.has("OES_texture_half_float_linear"))return;(a.anisotropy>1||r.get(a).__currentAnisotropy)&&(e.texParameterf(n,s.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(a.anisotropy,i.getMaxAnisotropy())),r.get(a).__currentAnisotropy=a.anisotropy)}}function I(t,n){let r=!1;void 0===t.__webglInit&&(t.__webglInit=!0,n.addEventListener("dispose",T));const i=n.source;let a=g.get(i);void 0===a&&(a={},g.set(i,a));const o=function(e){const t=[];
2return t.push(e.wrapS),t.push(e.wrapT),t.push(e.wrapR||0),t.push(e.magFilter),t.push(e.minFilter),t.push(e.anisotropy),t.push(e.internalFormat),t.push(e.format),t.push(e.type),t.push(e.generateMipmaps),t.push(e.premultiplyAlpha),t.push(e.flipY),t.push(e.unpackAlignment),t.push(e.encoding),t.join()}(n);if(o!==t.__cacheKey){void 0===a[o]&&(a[o]={texture:e.createTexture(),usedTimes:0},s.memory.textures++,r=!0),a[o].usedTimes++;const i=a[t.__cacheKey];void 0!==i&&(a[t.__cacheKey].usedTimes--,0===i.usedTimes&&C(n)),t.__cacheKey=o,t.__webglTexture=a[o].texture}return r}function D(t,i,s){let l=3553;(i.isDataArrayTexture||i.isCompressedArrayTexture)&&(l=35866),i.isData3DTexture&&(l=32879);const c=I(t,i),d=i.source;n.bindTexture(l,t.__webglTexture,33984+s);const h=r.get(d);if(d.version!==h.__version||!0===c){n.activeTexture(33984+s),e.pixelStorei(37440,i.flipY),e.pixelStorei(37441,i.premultiplyAlpha),e.pixelStorei(3317,i.unpackAlignment),e.pixelStorei(37443,0);const t=function(e){return!o&&(e.wrapS!==fh||e.wrapT!==fh||e.minFilter!==gh&&e.minFilter!==wh)}(i)&&!1===b(i.image);let r=x(i.image,t,!1,u);r=U(i,r);const p=b(r)||o,f=a.convert(i.format,i.encoding);let m,g=a.convert(i.type),v=S(i.internalFormat,f,g,i.encoding,i.isVideoTexture);k(l,i,p);const y=i.mipmaps,E=o&&!0!==i.isVideoTexture,T=void 0===h.__version||!0===c,A=M(i,r,p);if(i.isDepthTexture)v=6402,o?v=i.type===Lh?36012:i.type===Rh?33190:i.type===zh?35056:33189:i.type===Lh&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),i.format===Uh&&6402===v&&i.type!==Ph&&i.type!==Rh&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),i.type=Rh,g=a.convert(i.type)),i.format===Vh&&6402===v&&(v=34041,i.type!==zh&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),i.type=zh,g=a.convert(i.type))),T&&(E?n.texStorage2D(3553,1,v,r.width,r.height):n.texImage2D(3553,0,v,r.width,r.height,0,f,g,null));else if(i.isDataTexture)if(y.length>0&&p){E&&T&&n.texStorage2D(3553,A,v,y[0].width,y[0].height);for(let e=0,t=y.length;e<t;e++)m=y[e],E?n.texSubImage2D(3553,e,0,0,m.width,m.height,f,g,m.data):n.texImage2D(3553,e,v,m.width,m.height,0,f,g,m.data);i.generateMipmaps=!1}else E?(T&&n.texStorage2D(3553,A,v,r.width,r.height),n.texSubImage2D(3553,0,0,0,r.width,r.height,f,g,r.data)):n.texImage2D(3553,0,v,r.width,r.height,0,f,g,r.data);else if(i.isCompressedTexture)if(i.isCompressedArrayTexture){E&&T&&n.texStorage3D(35866,A,v,y[0].width,y[0].height,r.depth);for(let e=0,t=y.length;e<t;e++)m=y[e],i.format!==jh?null!==f?E?n.compressedTexSubImage3D(35866,e,0,0,0,m.width,m.height,r.depth,f,m.data,0,0):n.compressedTexImage3D(35866,e,v,m.width,m.height,r.depth,0,m.data,0,0):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):E?n.texSubImage3D(35866,e,0,0,0,m.width,m.height,r.depth,f,g,m.data):n.texImage3D(35866,e,v,m.width,m.height,r.depth,0,f,g,m.data)}else{E&&T&&n.texStorage2D(3553,A,v,y[0].width,y[0].height);for(let e=0,t=y.length;e<t;e++)m=y[e],i.format!==jh?null!==f?E?n.compressedTexSubImage2D(3553,e,0,0,m.width,m.height,f,m.data):n.compressedTexImage2D(3553,e,v,m.width,m.height,0,m.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()"):E?n.texSubImage2D(3553,e,0,0,m.width,m.height,f,g,m.data):n.texImage2D(3553,e,v,m.width,m.height,0,f,g,m.data)}else if(i.isDataArrayTexture)E?(T&&n.texStorage3D(35866,A,v,r.width,r.height,r.depth),n.texSubImage3D(35866,0,0,0,0,r.width,r.height,r.depth,f,g,r.data)):n.texImage3D(35866,0,v,r.width,r.height,r.depth,0,f,g,r.data);else if(i.isData3DTexture)E?(T&&n.texStorage3D(32879,A,v,r.width,r.height,r.depth),n.texSubImage3D(32879,0,0,0,0,r.width,r.height,r.depth,f,g,r.data)):n.texImage3D(32879,0,v,r.width,r.height,r.depth,0,f,g,r.data);else if(i.isFramebufferTexture){if(T)if(E)n.texStorage2D(3553,A,v,r.width,r.height);else{let e=r.width,t=r.height;for(let r=0;r<A;r++)n.texImage2D(3553,r,v,e,t,0,f,g,null),e>>=1,t>>=1}}else if(y.length>0&&p){E&&T&&n.texStorage2D(3553,A,v,y[0].width,y[0].height);for(let e=0,t=y.length;e<t;e++)m=y[e],E?n.texSubImage2D(3553,e,0,0,f,g,m):n.texImage2D(3553,e,v,f,g,m);i.generateMipmaps=!1}else E?(T&&n.texStorage2D(3553,A,v,r.width,r.height),n.texSubImage2D(3553,0,0,0,f,g,r)):n.texImage2D(3553,0,v,f,g,r);
vendor: 14,587 bytes, line 2
2w(i,p)&&_(l),h.__version=d.version,i.onUpdate&&i.onUpdate(i)}t.__version=i.version}function z(t,i,s,o,l){const c=a.convert(s.format,s.encoding),u=a.convert(s.type),d=S(s.internalFormat,c,u,s.encoding);r.get(i).__hasExternalTextures||(32879===l||35866===l?n.texImage3D(l,0,d,i.width,i.height,i.depth,0,c,u,null):n.texImage2D(l,0,d,i.width,i.height,0,c,u,null)),n.bindFramebuffer(36160,t),F(i)?h.framebufferTexture2DMultisampleEXT(36160,o,l,r.get(s).__webglTexture,0,B(i)):(3553===l||l>=34069&&l<=34074)&&e.framebufferTexture2D(36160,o,l,r.get(s).__webglTexture,0),n.bindFramebuffer(36160,null)}function O(t,n,r){if(e.bindRenderbuffer(36161,t),n.depthBuffer&&!n.stencilBuffer){let i=33189;if(r||F(n)){const t=n.depthTexture;t&&t.isDepthTexture&&(t.type===Lh?i=36012:t.type===Rh&&(i=33190));const r=B(n);F(n)?h.renderbufferStorageMultisampleEXT(36161,r,i,n.width,n.height):e.renderbufferStorageMultisample(36161,r,i,n.width,n.height)}else e.renderbufferStorage(36161,i,n.width,n.height);e.framebufferRenderbuffer(36160,36096,36161,t)}else if(n.depthBuffer&&n.stencilBuffer){const i=B(n);r&&!1===F(n)?e.renderbufferStorageMultisample(36161,i,35056,n.width,n.height):F(n)?h.renderbufferStorageMultisampleEXT(36161,i,35056,n.width,n.height):e.renderbufferStorage(36161,34041,n.width,n.height),e.framebufferRenderbuffer(36160,33306,36161,t)}else{const t=!0===n.isWebGLMultipleRenderTargets?n.texture:[n.texture];for(let i=0;i<t.length;i++){const s=t[i],o=a.convert(s.format,s.encoding),l=a.convert(s.type),c=S(s.internalFormat,o,l,s.encoding),u=B(n);r&&!1===F(n)?e.renderbufferStorageMultisample(36161,u,c,n.width,n.height):F(n)?h.renderbufferStorageMultisampleEXT(36161,u,c,n.width,n.height):e.renderbufferStorage(36161,c,n.width,n.height)}}e.bindRenderbuffer(36161,null)}function j(t){const i=r.get(t),a=!0===t.isWebGLCubeRenderTarget;if(t.depthTexture&&!i.__autoAllocateDepthBuffer){if(a)throw new Error("target.depthTexture not supported in Cube render targets");!function(t,i){if(i&&i.isWebGLCubeRenderTarget)throw new Error("Depth Texture with cube render targets is not supported");if(n.bindFramebuffer(36160,t),!i.depthTexture||!i.depthTexture.isDepthTexture)throw new Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");r.get(i.depthTexture).__webglTexture&&i.depthTexture.image.width===i.width&&i.depthTexture.image.height===i.height||(i.depthTexture.image.width=i.width,i.depthTexture.image.height=i.height,i.depthTexture.needsUpdate=!0),N(i.depthTexture,0);const a=r.get(i.depthTexture).__webglTexture,s=B(i);if(i.depthTexture.format===Uh)F(i)?h.framebufferTexture2DMultisampleEXT(36160,36096,3553,a,0,s):e.framebufferTexture2D(36160,36096,3553,a,0);else{if(i.depthTexture.format!==Vh)throw new Error("Unknown depthTexture format");F(i)?h.framebufferTexture2DMultisampleEXT(36160,33306,3553,a,0,s):e.framebufferTexture2D(36160,33306,3553,a,0)}}(i.__webglFramebuffer,t)}else if(a){i.__webglDepthbuffer=[];for(let r=0;r<6;r++)n.bindFramebuffer(36160,i.__webglFramebuffer[r]),i.__webglDepthbuffer[r]=e.createRenderbuffer(),O(i.__webglDepthbuffer[r],t,!1)}else n.bindFramebuffer(36160,i.__webglFramebuffer),i.__webglDepthbuffer=e.createRenderbuffer(),O(i.__webglDepthbuffer,t,!1);n.bindFramebuffer(36160,null)}function B(e){return Math.min(d,e.samples)}function F(e){const n=r.get(e);return o&&e.samples>0&&!0===t.has("WEBGL_multisampled_render_to_texture")&&!1!==n.__useRenderToTexture}function U(e,n){const r=e.encoding,i=e.format,a=e.type;return!0===e.isCompressedTexture||!0===e.isVideoTexture||e.format===wf||r!==jp&&(r===Bp?!1===o?!0===t.has("EXT_sRGB")&&i===jh?(e.format=wf,e.minFilter=wh,e.generateMipmaps=!1):n=nm.sRGBToLinear(n):i===jh&&a===Th||console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture encoding:",r)),n}this.allocateTextureUnit=function(){const e=P;return e>=l&&console.warn("THREE.WebGLTextures: Trying to use "+e+" texture units while this GPU supports only "+l),P+=1,e},this.resetTextureUnits=function(){P=0},this.setTexture2D=N,this.setTexture2DArray=function(e,t){const i=r.get(e);e.version>0&&i.__version!==e.version?D(i,e,t):n.bindTexture(35866,i.__webglTexture,33984+t)},this.setTexture3D=function(e,t){const i=r.get(e);e.version>0&&i.__version!==e.version?D(i,e,t):n.bindTexture(32879,i.__webglTexture,33984+t)},this.setTextureCube=function(t,i){const s=r.get(t);t.version>0&&s.__version!==t.version?function(t,i,s){if(6!==i.image.length)return;const l=I(t,i),u=i.source;n.bindTexture(34067,t.__webglTexture,33984+s);const d=r.get(u);if(u.version!==d.__version||!0===l){n.activeTexture(33984+s),e.pixelStorei(37440,i.flipY),e.pixelStorei(37441,i.premultiplyAlpha),e.pixelStorei(3317,i.unpackAlignment),e.pixelStorei(37443,0);const t=i.isCompressedTexture||i.image[0].isCompressedTexture,r=i.image[0]&&i.image[0].isDataTexture,h=[];for(let e=0;e<6;e++)h[e]=t||r?r?i.image[e].image:i.image[e]:x(i.image[e],!1,!0,c),h[e]=U(i,h[e]);const p=h[0],f=b(p)||o,m=a.convert(i.format,i.encoding),g=a.convert(i.type),v=S(i.internalFormat,m,g,i.encoding),y=o&&!0!==i.isVideoTexture,E=void 0===d.__version||!0===l;let T,A=M(i,p,f);if(k(34067,i,f),t){y&&E&&n.texStorage2D(34067,A,v,p.width,p.height);for(let e=0;e<6;e++){T=h[e].mipmaps;for(let t=0;t<T.length;t++){const r=T[t];i.format!==jh?null!==m?y?n.compressedTexSubImage2D(34069+e,t,0,0,r.width,r.height,m,r.data):n.compressedTexImage2D(34069+e,t,v,r.width,r.height,0,r.data):console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()"):y?n.texSubImage2D(34069+e,t,0,0,r.width,r.height,m,g,r.data):n.texImage2D(34069+e,t,v,r.width,r.height,0,m,g,r.data)}}}else{T=i.mipmaps,y&&E&&(T.length>0&&A++,n.texStorage2D(34067,A,v,h[0].width,h[0].height));for(let e=0;e<6;e++)if(r){y?n.texSubImage2D(34069+e,0,0,0,h[e].width,h[e].height,m,g,h[e].data):n.texImage2D(34069+e,0,v,h[e].width,h[e].height,0,m,g,h[e].data);for(let t=0;t<T.length;t++){const r=T[t].image[e].image;y?n.texSubImage2D(34069+e,t+1,0,0,r.width,r.height,m,g,r.data):n.texImage2D(34069+e,t+1,v,r.width,r.height,0,m,g,r.data)}}else{y?n.texSubImage2D(34069+e,0,0,0,m,g,h[e]):n.texImage2D(34069+e,0,v,m,g,h[e]);for(let t=0;t<T.length;t++){const r=T[t];y?n.texSubImage2D(34069+e,t+1,0,0,m,g,r.image[e]):n.texImage2D(34069+e,t+1,v,m,g,r.image[e])}}}w(i,f)&&_(34067),d.__version=u.version,i.onUpdate&&i.onUpdate(i)}t.__version=i.version}(s,t,i):n.bindTexture(34067,s.__webglTexture,33984+i)},this.rebindTextures=function(e,t,n){const i=r.get(e);void 0!==t&&z(i.__webglFramebuffer,e,e.texture,36064,3553),void 0!==n&&j(e)},this.setupRenderTarget=function(t){const l=t.texture,c=r.get(t),u=r.get(l);t.addEventListener("dispose",A),!0!==t.isWebGLMultipleRenderTargets&&(void 0===u.__webglTexture&&(u.__webglTexture=e.createTexture()),u.__version=l.version,s.memory.textures++);const d=!0===t.isWebGLCubeRenderTarget,h=!0===t.isWebGLMultipleRenderTargets,p=b(t)||o;if(d){c.__webglFramebuffer=[];for(let t=0;t<6;t++)c.__webglFramebuffer[t]=e.createFramebuffer()}else{if(c.__webglFramebuffer=e.createFramebuffer(),h)if(i.drawBuffers){const n=t.texture;for(let t=0,i=n.length;t<i;t++){const i=r.get(n[t]);void 0===i.__webglTexture&&(i.__webglTexture=e.createTexture(),s.memory.textures++)}}else console.warn("THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.");if(o&&t.samples>0&&!1===F(t)){const r=h?l:[l];c.__webglMultisampledFramebuffer=e.createFramebuffer(),c.__webglColorRenderbuffer=[],n.bindFramebuffer(36160,c.__webglMultisampledFramebuffer);for(let n=0;n<r.length;n++){const i=r[n];c.__webglColorRenderbuffer[n]=e.createRenderbuffer(),e.bindRenderbuffer(36161,c.__webglColorRenderbuffer[n]);const s=a.convert(i.format,i.encoding),o=a.convert(i.type),l=S(i.internalFormat,s,o,i.encoding,!0===t.isXRRenderTarget),u=B(t);e.renderbufferStorageMultisample(36161,u,l,t.width,t.height),e.framebufferRenderbuffer(36160,36064+n,36161,c.__webglColorRenderbuffer[n])}e.bindRenderbuffer(36161,null),t.depthBuffer&&(c.__webglDepthRenderbuffer=e.createRenderbuffer(),O(c.__webglDepthRenderbuffer,t,!0)),n.bindFramebuffer(36160,null)}}if(d){n.bindTexture(34067,u.__webglTexture),k(34067,l,p);for(let e=0;e<6;e++)z(c.__webglFramebuffer[e],t,l,36064,34069+e);w(l,p)&&_(34067),n.unbindTexture()}else if(h){const e=t.texture;for(let i=0,a=e.length;i<a;i++){const a=e[i],s=r.get(a);n.bindTexture(3553,s.__webglTexture),k(3553,a,p),z(c.__webglFramebuffer,t,a,36064+i,3553),w(a,p)&&_(3553)}n.unbindTexture()}else{let e=3553;(t.isWebGL3DRenderTarget||t.isWebGLArrayRenderTarget)&&(o?e=t.isWebGL3DRenderTarget?32879:35866:console.error("THREE.WebGLTextures: THREE.Data3DTexture and THREE.DataArrayTexture only supported with WebGL2.")),n.bindTexture(e,u.__webglTexture),k(e,l,p),z(c.__webglFramebuffer,t,l,36064,e),w(l,p)&&_(e),n.unbindTexture()}t.depthBuffer&&j(t)},this.updateRenderTargetMipmap=function(e){const t=b(e)||o,i=!0===e.isWebGLMultipleRenderTargets?e.texture:[e.texture];for(let a=0,s=i.length;a<s;a++){const s=i[a];if(w(s,t)){const t=e.isWebGLCubeRenderTarget?34067:3553,i=r.get(s).__webglTexture;n.bindTexture(t,i),_(t),n.unbindTexture()}}},this.updateMultisampleRenderTarget=function(t){if(o&&t.samples>0&&!1===F(t)){const i=t.isWebGLMultipleRenderTargets?t.texture:[t.texture],a=t.width,s=t.height;let o=16384;const l=[],c=t.stencilBuffer?33306:36096,u=r.get(t),d=!0===t.isWebGLMultipleRenderTargets;if(d)for(let t=0;t<i.length;t++)n.bindFramebuffer(36160,u.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(36160,36064+t,36161,null),n.bindFramebuffer(36160,u.__webglFramebuffer),e.framebufferTexture2D(36009,36064+t,3553,null,0);n.bindFramebuffer(36008,u.__webglMultisampledFramebuffer),n.bindFramebuffer(36009,u.__webglFramebuffer);for(let n=0;n<i.length;n++){l.push(36064+n),t.depthBuffer&&l.push(c);const h=void 0!==u.__ignoreDepthValues&&u.__ignoreDepthValues;if(!1===h&&(t.depthBuffer&&(o|=256),t.stencilBuffer&&(o|=1024)),d&&e.framebufferRenderbuffer(36008,36064,36161,u.__webglColorRenderbuffer[n]),!0===h&&(e.invalidateFramebuffer(36008,[c]),e.invalidateFramebuffer(36009,[c])),d){const t=r.get(i[n]).__webglTexture;e.framebufferTexture2D(36009,36064,3553,t,0)}e.blitFramebuffer(0,0,a,s,0,0,a,s,o,9728),p&&e.invalidateFramebuffer(36008,l)}if(n.bindFramebuffer(36008,null),n.bindFramebuffer(36009,null),d)for(let t=0;t<i.length;t++){n.bindFramebuffer(36160,u.__webglMultisampledFramebuffer),e.framebufferRenderbuffer(36160,36064+t,36161,u.__webglColorRenderbuffer[t]);const a=r.get(i[t]).__webglTexture;n.bindFramebuffer(36160,u.__webglFramebuffer),e.framebufferTexture2D(36009,36064+t,3553,a,0)}n.bindFramebuffer(36009,u.__webglMultisampledFramebuffer)}},this.setupDepthRenderbuffer=j,this.setupFrameBufferTexture=z,this.useMultisampledRTT=F}function nb(e,t,n){const r=n.isWebGL2;return{convert:function(n){let i,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(n===Th)return 5121;if(n===Ih)return 32819;if(n===Dh)return 32820;if(n===Ah)return 5120;if(n===Ch)return 5122;if(n===Ph)return 5123;if(n===Nh)return 5124;if(n===Rh)return 5125;if(n===Lh)return 5126;if(n===kh)return r?5131:(i=t.get("OES_texture_half_float"),null!==i?i.HALF_FLOAT_OES:null);if(n===Oh)return 6406;if(n===jh)return 6408;if(n===Bh)return 6409;if(n===Fh)return 6410;if(n===Uh)return 6402;if(n===Vh)return 34041;if(n===wf)return i=t.get("EXT_sRGB"),null!==i?i.SRGB_ALPHA_EXT:null;if(n===Hh)return 6403;if(n===Wh)return 36244;if(n===Gh)return 33319;if(n===qh)return 33320;if(n===Xh)return 36249;if(n===Yh||n===Jh||n===Qh||n===Zh)if(a===Bp){if(i=t.get("WEBGL_compressed_texture_s3tc_srgb"),null===i)return null;if(n===Yh)return i.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(n===Jh)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(n===Qh)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(n===Zh)return i.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(i=t.get("WEBGL_compressed_texture_s3tc"),null===i)return null;if(n===Yh)return i.COMPRESSED_RGB_S3TC_DXT1_EXT;if(n===Jh)return i.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(n===Qh)return i.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(n===Zh)return i.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(n===Kh||n===$h||n===ep||n===tp){if(i=t.get("WEBGL_compressed_texture_pvrtc"),null===i)return null;if(n===Kh)return i.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(n===$h)return i.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(n===ep)return i.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(n===tp)return i.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(n===np)return i=t.get("WEBGL_compressed_texture_etc1"),null!==i?i.COMPRESSED_RGB_ETC1_WEBGL:null;if(n===rp||n===ip){if(i=t.get("WEBGL_compressed_texture_etc"),null===i)return null;if(n===rp)return a===Bp?i.COMPRESSED_SRGB8_ETC2:i.COMPRESSED_RGB8_ETC2;if(n===ip)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:i.COMPRESSED_RGBA8_ETC2_EAC}if(n===ap||n===sp||n===op||n===lp||n===cp||n===up||n===dp||n===hp||n===pp||n===fp||n===mp||n===gp||n===vp||n===yp){if(i=t.get("WEBGL_compressed_texture_astc"),null===i)return null;if(n===ap)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:i.COMPRESSED_RGBA_ASTC_4x4_KHR;if(n===sp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:i.COMPRESSED_RGBA_ASTC_5x4_KHR;if(n===op)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:i.COMPRESSED_RGBA_ASTC_5x5_KHR;if(n===lp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:i.COMPRESSED_RGBA_ASTC_6x5_KHR;if(n===cp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:i.COMPRESSED_RGBA_ASTC_6x6_KHR;if(n===up)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:i.COMPRESSED_RGBA_ASTC_8x5_KHR;if(n===dp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:i.COMPRESSED_RGBA_ASTC_8x6_KHR;if(n===hp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:i.COMPRESSED_RGBA_ASTC_8x8_KHR;if(n===pp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:i.COMPRESSED_RGBA_ASTC_10x5_KHR;if(n===fp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:i.COMPRESSED_RGBA_ASTC_10x6_KHR;if(n===mp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:i.COMPRESSED_RGBA_ASTC_10x8_KHR;if(n===gp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:i.COMPRESSED_RGBA_ASTC_10x10_KHR;if(n===vp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:i.COMPRESSED_RGBA_ASTC_12x10_KHR;if(n===yp)return a===Bp?i.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:i.COMPRESSED_RGBA_ASTC_12x12_KHR}if(n===xp){if(i=t.get("EXT_texture_compression_bptc"),null===i)return null;if(n===xp)return a===Bp?i.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:i.COMPRESSED_RGBA_BPTC_UNORM_EXT}if(n===bp||n===wp||n===_p||n===Sp){if(i=t.get("EXT_texture_compression_rgtc"),null===i)return null;
vendor: 6,486 bytes, line 2
2if(n===xp)return i.COMPRESSED_RED_RGTC1_EXT;if(n===wp)return i.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(n===_p)return i.COMPRESSED_RED_GREEN_RGTC2_EXT;if(n===Sp)return i.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}return n===zh?r?34042:(i=t.get("WEBGL_depth_texture"),null!==i?i.UNSIGNED_INT_24_8_WEBGL:null):void 0!==e[n]?e[n]:null}}}class rb extends bv{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(),this.isArrayCamera=!0,this.cameras=e}}class ib extends gg{constructor(){super(),this.isGroup=!0,this.type="Group"}}const ab={type:"move"};class sb{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return null===this._hand&&(this._hand=new ib,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return null===this._targetRay&&(this._targetRay=new ib,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new mm,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new mm),this._targetRay}getGripSpace(){return null===this._grip&&(this._grip=new ib,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new mm,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new mm),this._grip}dispatchEvent(e){return null!==this._targetRay&&this._targetRay.dispatchEvent(e),null!==this._grip&&this._grip.dispatchEvent(e),null!==this._hand&&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}),null!==this._targetRay&&(this._targetRay.visible=!1),null!==this._grip&&(this._grip.visible=!1),null!==this._hand&&(this._hand.visible=!1),this}update(e,t,n){let r=null,i=null,a=null;const s=this._targetRay,o=this._grip,l=this._hand;if(e&&"visible-blurred"!==t.session.visibilityState){if(l&&e.hand){a=!0;for(const a of e.hand.values()){const e=t.getJointPose(a,n),r=this._getHandJoint(l,a);null!==e&&(r.matrix.fromArray(e.transform.matrix),r.matrix.decompose(r.position,r.rotation,r.scale),r.jointRadius=e.radius),r.visible=null!==e}const r=l.joints["index-finger-tip"],i=l.joints["thumb-tip"],s=r.position.distanceTo(i.position),o=.02,c=.005;l.inputState.pinching&&s>o+c?(l.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!l.inputState.pinching&&s<=o-c&&(l.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else null!==o&&e.gripSpace&&(i=t.getPose(e.gripSpace,n),null!==i&&(o.matrix.fromArray(i.transform.matrix),o.matrix.decompose(o.position,o.rotation,o.scale),i.linearVelocity?(o.hasLinearVelocity=!0,o.linearVelocity.copy(i.linearVelocity)):o.hasLinearVelocity=!1,i.angularVelocity?(o.hasAngularVelocity=!0,o.angularVelocity.copy(i.angularVelocity)):o.hasAngularVelocity=!1));null!==s&&(r=t.getPose(e.targetRaySpace,n),null===r&&null!==i&&(r=i),null!==r&&(s.matrix.fromArray(r.transform.matrix),s.matrix.decompose(s.position,s.rotation,s.scale),r.linearVelocity?(s.hasLinearVelocity=!0,s.linearVelocity.copy(r.linearVelocity)):s.hasLinearVelocity=!1,r.angularVelocity?(s.hasAngularVelocity=!0,s.angularVelocity.copy(r.angularVelocity)):s.hasAngularVelocity=!1,this.dispatchEvent(ab)))}return null!==s&&(s.visible=null!==r),null!==o&&(o.visible=null!==i),null!==l&&(l.visible=null!==a),this}_getHandJoint(e,t){if(void 0===e.joints[t.jointName]){const n=new ib;n.matrixAutoUpdate=!1,n.visible=!1,e.joints[t.jointName]=n,e.add(n)}return e.joints[t.jointName]}}class ob extends sm{constructor(e,t,n,r,i,a,s,o,l,c){if((c=void 0!==c?c:Uh)!==Uh&&c!==Vh)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===n&&c===Uh&&(n=Rh),void 0===n&&c===Vh&&(n=zh),super(null,r,i,a,s,o,c,n,l),this.isDepthTexture=!0,this.image={width:e,height:t},this.magFilter=void 0!==s?s:gh,this.minFilter=void 0!==o?o:gh,this.flipY=!1,this.generateMipmaps=!1}}class lb extends _f{constructor(e,t){super();const n=this;let r=null,i=1,a=null,s="local-floor",o=1,l=null,c=null,u=null,d=null,h=null,p=null;const f=t.getContextAttributes();let m=null,g=null;const v=[],y=[],x=new Set,b=new Map,w=new bv;w.layers.enable(1),w.viewport=new om;const _=new bv;_.layers.enable(2),_.viewport=new om;const S=[w,_],M=new rb;M.layers.enable(1),M.layers.enable(2);let E=null,T=null;function A(e){const t=y.indexOf(e.inputSource);if(-1===t)return;const n=v[t];void 0!==n&&n.dispatchEvent({type:e.type,data:e.inputSource})}function C(){r.removeEventListener("select",A),r.removeEventListener("selectstart",A),r.removeEventListener("selectend",A),r.removeEventListener("squeeze",A),r.removeEventListener("squeezestart",A),r.removeEventListener("squeezeend",A),r.removeEventListener("end",C),r.removeEventListener("inputsourceschange",P);for(let e=0;e<v.length;e++){const t=y[e];null!==t&&(y[e]=null,v[e].disconnect(t))}E=null,T=null,e.setRenderTarget(m),h=null,d=null,u=null,r=null,g=null,I.stop(),n.isPresenting=!1,n.dispatchEvent({type:"sessionend"})}function P(e){for(let t=0;t<e.removed.length;t++){const n=e.removed[t],r=y.indexOf(n);r>=0&&(y[r]=null,v[r].disconnect(n))}for(let t=0;t<e.added.length;t++){const n=e.added[t];let r=y.indexOf(n);if(-1===r){for(let e=0;e<v.length;e++){if(e>=y.length){y.push(n),r=e;break}if(null===y[e]){y[e]=n,r=e;break}}if(-1===r)break}const i=v[r];i&&i.connect(n)}}this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(e){let t=v[e];return void 0===t&&(t=new sb,v[e]=t),t.getTargetRaySpace()},this.getControllerGrip=function(e){let t=v[e];return void 0===t&&(t=new sb,v[e]=t),t.getGripSpace()},this.getHand=function(e){let t=v[e];return void 0===t&&(t=new sb,v[e]=t),t.getHandSpace()},this.setFramebufferScaleFactor=function(e){i=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change framebuffer scale while presenting.")},this.setReferenceSpaceType=function(e){s=e,!0===n.isPresenting&&console.warn("THREE.WebXRManager: Cannot change reference space type while presenting.")},this.getReferenceSpace=function(){return l||a},this.setReferenceSpace=function(e){l=e},this.getBaseLayer=function(){return null!==d?d:h},this.getBinding=function(){return u},this.getFrame=function(){return p}
2,this.getSession=function(){return r},this.setSession=async function(c){if(r=c,null!==r){if(m=e.getRenderTarget(),r.addEventListener("select",A),r.addEventListener("selectstart",A),r.addEventListener("selectend",A),r.addEventListener("squeeze",A),r.addEventListener("squeezestart",A),r.addEventListener("squeezeend",A),r.addEventListener("end",C),r.addEventListener("inputsourceschange",P),!0!==f.xrCompatible&&await t.makeXRCompatible(),void 0===r.renderState.layers||!1===e.capabilities.isWebGL2){const n={antialias:void 0!==r.renderState.layers||f.antialias,alpha:f.alpha,depth:f.depth,stencil:f.stencil,framebufferScaleFactor:i};h=new XRWebGLLayer(r,t,n),r.updateRenderState({baseLayer:h}),g=new lm(h.framebufferWidth,h.framebufferHeight,{format:jh,type:Th,encoding:e.outputEncoding,stencilBuffer:f.stencil})}else{let n=null,a=null,s=null;f.depth&&(s=f.stencil?35056:33190,n=f.stencil?Vh:Uh,a=f.stencil?zh:Rh);const o={colorFormat:32856,depthFormat:s,scaleFactor:i};u=new XRWebGLBinding(r,t),d=u.createProjectionLayer(o),r.updateRenderState({layers:[d]}),g=new lm(d.textureWidth,d.textureHeight,{format:jh,type:Th,depthTexture:new ob(d.textureWidth,d.textureHeight,a,void 0,void 0,void 0,void 0,void 0,void 0,n),stencilBuffer:f.stencil,encoding:e.outputEncoding,samples:f.antialias?4:0});e.properties.get(g).__ignoreDepthValues=d.ignoreDepthValues}g.isXRRenderTarget=!0,this.setFoveation(o),l=null,a=await r.requestReferenceSpace(s),I.setContext(r),I.start(),n.isPresenting=!0,n.dispatchEvent({type:"sessionstart"})}};const N=new mm,R=new mm;function L(e,t){null===t?e.matrixWorld.copy(e.matrix):e.matrixWorld.multiplyMatrices(t.matrixWorld,e.matrix),e.matrixWorldInverse.copy(e.matrixWorld).invert()}this.updateCamera=function(e){if(null===r)return;M.near=_.near=w.near=e.near,M.far=_.far=w.far=e.far,E===M.near&&T===M.far||(r.updateRenderState({depthNear:M.near,depthFar:M.far}),E=M.near,T=M.far);const t=e.parent,n=M.cameras;L(M,t);for(let r=0;r<n.length;r++)L(n[r],t);M.matrixWorld.decompose(M.position,M.quaternion,M.scale),e.matrix.copy(M.matrix),e.matrix.decompose(e.position,e.quaternion,e.scale);const i=e.children;for(let r=0,a=i.length;r<a;r++)i[r].updateMatrixWorld(!0);2===n.length?function(e,t,n){N.setFromMatrixPosition(t.matrixWorld),R.setFromMatrixPosition(n.matrixWorld);const r=N.distanceTo(R),i=t.projectionMatrix.elements,a=n.projectionMatrix.elements,s=i[14]/(i[10]-1),o=i[14]/(i[10]+1),l=(i[9]+1)/i[5],c=(i[9]-1)/i[5],u=(i[8]-1)/i[0],d=(a[8]+1)/a[0],h=s*u,p=s*d,f=r/(-u+d),m=f*-u;t.matrixWorld.decompose(e.position,e.quaternion,e.scale),e.translateX(m),e.translateZ(f),e.matrixWorld.compose(e.position,e.quaternion,e.scale),e.matrixWorldInverse.copy(e.matrixWorld).invert();const g=s+f,v=o+f,y=h-m,x=p+(r-m),b=l*o/v*g,w=c*o/v*g;e.projectionMatrix.makePerspective(y,x,b,w,g,v)}(M,w,_):M.projectionMatrix.copy(w.projectionMatrix)},this.getCamera=function(){return M},this.getFoveation=function(){if(null!==d||null!==h)return o},this.setFoveation=function(e){o=e,null!==d&&(d.fixedFoveation=e),null!==h&&void 0!==h.fixedFoveation&&(h.fixedFoveation=e)},this.getPlanes=function(){return x};let k=null;const I=new Lv;I.setAnimationLoop(function(t,r){if(c=r.getViewerPose(l||a),p=r,null!==c){const t=c.views;null!==h&&(e.setRenderTargetFramebuffer(g,h.framebuffer),e.setRenderTarget(g));let n=!1;t.length!==M.cameras.length&&(M.cameras.length=0,n=!0);for(let r=0;r<t.length;r++){const i=t[r];let a=null;if(null!==h)a=h.getViewport(i);else{const t=u.getViewSubImage(d,i);a=t.viewport,0===r&&(e.setRenderTargetTextures(g,t.colorTexture,d.ignoreDepthValues?void 0:t.depthStencilTexture),e.setRenderTarget(g))}let s=S[r];void 0===s&&(s=new bv,s.layers.enable(r),s.viewport=new om,S[r]=s),s.matrix.fromArray(i.transform.matrix),s.projectionMatrix.fromArray(i.projectionMatrix),s.viewport.set(a.x,a.y,a.width,a.height),0===r&&M.matrix.copy(s.matrix),!0===n&&M.cameras.push(s)}}for(let e=0;e<v.length;e++){const t=y[e],n=v[e];null!==t&&void 0!==n&&n.update(t,r,l||a)}if(k&&k(t,r),r.detectedPlanes){n.dispatchEvent({type:"planesdetected",data:r.detectedPlanes});let e=null;for(const t of x)r.detectedPlanes.has(t)||(null===e&&(e=[]),e.push(t));if(null!==e)for(const t of e)x.delete(t),b.delete(t),n.dispatchEvent({type:"planeremoved",data:t});for(const t of r.detectedPlanes)if(x.has(t)){const e=b.get(t);t.lastChangedTime>e&&(b.set(t,t.lastChangedTime),n.dispatchEvent({type:"planechanged",data:t}))}else x.add(t),b.set(t,r.lastChangedTime),n.dispatchEvent({type:"planeadded",data:t})}p=null}),this.setAnimationLoop=function(e){k=e},this.dispose=function(){}}}function cb(e,t){function n(n,r){n.opacity.value=r.opacity,r.color&&n.diffuse.value.copy(r.color),r.emissive&&n.emissive.value.copy(r.emissive).multiplyScalar(r.emissiveIntensity),r.map&&(n.map.value=r.map),r.alphaMap&&(n.alphaMap.value=r.alphaMap),r.bumpMap&&(n.bumpMap.value=r.bumpMap,n.bumpScale.value=r.bumpScale,r.side===xd&&(n.bumpScale.value*=-1)),r.displacementMap&&(n.displacementMap.value=r.displacementMap,n.displacementScale.value=r.displacementScale,n.displacementBias.value=r.displacementBias),r.emissiveMap&&(n.emissiveMap.value=r.emissiveMap),r.normalMap&&(n.normalMap.value=r.normalMap,n.normalScale.value.copy(r.normalScale),r.side===xd&&n.normalScale.value.negate()),r.specularMap&&(n.specularMap.value=r.specularMap),r.alphaTest>0&&(n.alphaTest.value=r.alphaTest);const i=t.get(r).envMap;if(i&&(n.envMap.value=i,n.flipEnvMap.value=i.isCubeTexture&&!1===i.isRenderTargetTexture?-1:1,n.reflectivity.value=r.reflectivity,n.ior.value=r.
vendor: 4,310 bytes, line 2
2ior,n.refractionRatio.value=r.refractionRatio),r.lightMap){n.lightMap.value=r.lightMap;const t=!0!==e.physicallyCorrectLights?Math.PI:1;n.lightMapIntensity.value=r.lightMapIntensity*t}let a,s;r.aoMap&&(n.aoMap.value=r.aoMap,n.aoMapIntensity.value=r.aoMapIntensity),r.map?a=r.map:r.specularMap?a=r.specularMap:r.displacementMap?a=r.displacementMap:r.normalMap?a=r.normalMap:r.bumpMap?a=r.bumpMap:r.roughnessMap?a=r.roughnessMap:r.metalnessMap?a=r.metalnessMap:r.alphaMap?a=r.alphaMap:r.emissiveMap?a=r.emissiveMap:r.clearcoatMap?a=r.clearcoatMap:r.clearcoatNormalMap?a=r.clearcoatNormalMap:r.clearcoatRoughnessMap?a=r.clearcoatRoughnessMap:r.iridescenceMap?a=r.iridescenceMap:r.iridescenceThicknessMap?a=r.iridescenceThicknessMap:r.specularIntensityMap?a=r.specularIntensityMap:r.specularColorMap?a=r.specularColorMap:r.transmissionMap?a=r.transmissionMap:r.thicknessMap?a=r.thicknessMap:r.sheenColorMap?a=r.sheenColorMap:r.sheenRoughnessMap&&(a=r.sheenRoughnessMap),void 0!==a&&(a.isWebGLRenderTarget&&(a=a.texture),!0===a.matrixAutoUpdate&&a.updateMatrix(),n.uvTransform.value.copy(a.matrix)),r.aoMap?s=r.aoMap:r.lightMap&&(s=r.lightMap),void 0!==s&&(s.isWebGLRenderTarget&&(s=s.texture),!0===s.matrixAutoUpdate&&s.updateMatrix(),n.uv2Transform.value.copy(s.matrix))}return{refreshFogUniforms:function(t,n){n.color.getRGB(t.fogColor.value,gv(e)),n.isFog?(t.fogNear.value=n.near,t.fogFar.value=n.far):n.isFogExp2&&(t.fogDensity.value=n.density)},refreshMaterialUniforms:function(e,r,i,a,s){r.isMeshBasicMaterial||r.isMeshLambertMaterial?n(e,r):r.isMeshToonMaterial?(n(e,r),function(e,t){t.gradientMap&&(e.gradientMap.value=t.gradientMap)}(e,r)):r.isMeshPhongMaterial?(n(e,r),function(e,t){e.specular.value.copy(t.specular),e.shininess.value=Math.max(t.shininess,1e-4)}(e,r)):r.isMeshStandardMaterial?(n(e,r),function(e,n){e.roughness.value=n.roughness,e.metalness.value=n.metalness,n.roughnessMap&&(e.roughnessMap.value=n.roughnessMap);n.metalnessMap&&(e.metalnessMap.value=n.metalnessMap);const r=t.get(n).envMap;r&&(e.envMapIntensity.value=n.envMapIntensity)}(e,r),r.isMeshPhysicalMaterial&&function(e,t,n){e.ior.value=t.ior,t.sheen>0&&(e.sheenColor.value.copy(t.sheenColor).multiplyScalar(t.sheen),e.sheenRoughness.value=t.sheenRoughness,t.sheenColorMap&&(e.sheenColorMap.value=t.sheenColorMap),t.sheenRoughnessMap&&(e.sheenRoughnessMap.value=t.sheenRoughnessMap));t.clearcoat>0&&(e.clearcoat.value=t.clearcoat,e.clearcoatRoughness.value=t.clearcoatRoughness,t.clearcoatMap&&(e.clearcoatMap.value=t.clearcoatMap),t.clearcoatRoughnessMap&&(e.clearcoatRoughnessMap.value=t.clearcoatRoughnessMap),t.clearcoatNormalMap&&(e.clearcoatNormalScale.value.copy(t.clearcoatNormalScale),e.clearcoatNormalMap.value=t.clearcoatNormalMap,t.side===xd&&e.clearcoatNormalScale.value.negate()));t.iridescence>0&&(e.iridescence.value=t.iridescence,e.iridescenceIOR.value=t.iridescenceIOR,e.iridescenceThicknessMinimum.value=t.iridescenceThicknessRange[0],e.iridescenceThicknessMaximum.value=t.iridescenceThicknessRange[1],t.iridescenceMap&&(e.iridescenceMap.value=t.iridescenceMap),t.iridescenceThicknessMap&&(e.iridescenceThicknessMap.value=t.iridescenceThicknessMap));t.transmission>0&&(e.transmission.value=t.transmission,e.transmissionSamplerMap.value=n.texture,e.transmissionSamplerSize.value.set(n.width,n.height),t.transmissionMap&&(e.transmissionMap.value=t.transmissionMap),e.thickness.value=t.thickness,t.thicknessMap&&(e.thicknessMap.value=t.thicknessMap),e.attenuationDistance.value=t.attenuationDistance,e.attenuationColor.value.copy(t.attenuationColor));e.specularIntensity.value=t.specularIntensity,e.specularColor.value.copy(t.specularColor),t.specularIntensityMap&&(e.specularIntensityMap.value=t.specularIntensityMap);t.specularColorMap&&(e.specularColorMap.value=t.specularColorMap)}(e,r,s)):r.isMeshMatcapMaterial?(n(e,r),function(e,t){t.matcap&&(e.matcap.value=t.matcap)}(e,r)):r.isMeshDepthMaterial?n(e,r):r.isMeshDistanceMaterial?(n(e,r),function(e,t){e.referencePosition.value.copy(t.referencePosition),e.nearDistance.value=t.nearDistance,e.farDistance.value=t.farDistance}(e,r)):r.isMeshNormalMaterial?n(e,r):r.isLineBasicMaterial?(function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity}(e,r),r.isLineDashedMaterial&&function(e,t){e.dashSize.value=t.dashSize,e.totalSize.value=t.dashSize
2+t.gapSize,e.scale.value=t.scale}(e,r)):r.isPointsMaterial?function(e,t,n,r){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.size.value=t.size*n,e.scale.value=.5*r,t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let i;t.map?i=t.map:t.alphaMap&&(i=t.alphaMap);void 0!==i&&(!0===i.matrixAutoUpdate&&i.updateMatrix(),e.uvTransform.value.copy(i.matrix))}(e,r,i,a):r.isSpriteMaterial?function(e,t){e.diffuse.value.copy(t.color),e.opacity.value=t.opacity,e.rotation.value=t.rotation,t.map&&(e.map.value=t.map);t.alphaMap&&(e.alphaMap.value=t.alphaMap);t.alphaTest>0&&(e.alphaTest.value=t.alphaTest);let n;t.map?n=t.map:t.alphaMap&&(n=t.alphaMap);void 0!==n&&(!0===n.matrixAutoUpdate&&n.updateMatrix(),e.uvTransform.value.copy(n.matrix))}(e,r):r.isShadowMaterial?(e.color.value.copy(r.color),e.opacity.value=r.opacity):r.isShaderMaterial&&(r.uniformsNeedUpdate=!1)}}}function ub(e,t,n,r){let i={},a={},s=[];const o=n.isWebGL2?e.getParameter(35375):0;function l(e,t,n){const r=e.value;if(void 0===n[t]){if("number"===typeof r)n[t]=r;else{const e=Array.isArray(r)?r:[r],i=[];for(let t=0;t<e.length;t++)i.push(e[t].clone());n[t]=i}return!0}if("number"===typeof r){if(n[t]!==r)return n[t]=r,!0}else{const e=Array.isArray(n[t])?n[t]:[n[t]],i=Array.isArray(r)?r:[r];for(let t=0;t<e.length;t++){const n=e[t];if(!1===n.equals(i[t]))return n.copy(i[t]),!0}}return!1}function c(e){const t={boundary:0,storage:0};return"number"===typeof e?(t.boundary=4,t.storage=4):e.isVector2?(t.boundary=8,t.storage=8):e.isVector3||e.isColor?(t.boundary=16,t.storage=12):e.isVector4?(t.boundary=16,t.storage=16):e.isMatrix3?(t.boundary=48,t.storage=48):e.isMatrix4?(t.boundary=64,t.storage=64):e.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",e),t}function u(t){const n=t.target;n.removeEventListener("dispose",u);const r=s.indexOf(n.__bindingPointIndex);s.splice(r,1),e.deleteBuffer(i[n.id]),delete i[n.id],delete a[n.id]}return{bind:function(e,t){const n=t.program;r.uniformBlockBinding(e,n)},update:function(n,d){let h=i[n.id];void 0===h&&(!function(e){const t=e.uniforms;let n=0;const r=16;let i=0;for(let a=0,s=t.length;a<s;a++){const e=t[a],s={boundary:0,storage:0},o=Array.isArray(e.value)?e.value:[e.value];for(let t=0,n=o.length;t<n;t++){const e=c(o[t]);s.boundary+=e.boundary,s.storage+=e.storage}if(e.__data=new Float32Array(s.storage/Float32Array.BYTES_PER_ELEMENT),e.__offset=n,a>0){i=n%r;0!==i&&r-i-s.boundary<0&&(n+=r-i,e.__offset=n)}n+=s.storage}i=n%r,i>0&&(n+=r-i);e.__size=n,e.__cache={}}(n),h=function(t){const n=function(){for(let e=0;e<o;e++)if(-1===s.indexOf(e))return s.push(e),e;return console.error("THREE.WebGLRenderer: Maximum number of simultaneously usable uniforms groups reached."),0}();t.__bindingPointIndex=n;const r=e.createBuffer(),i=t.__size,a=t.usage;return e.bindBuffer(35345,r),e.bufferData(35345,i,a),e.bindBuffer(35345,null),e.bindBufferBase(35345,n,r),r}(n),i[n.id]=h,n.addEventListener("dispose",u));const p=d.program;r.updateUBOMapping(n,p);const f=t.render.frame;a[n.id]!==f&&(!function(t){const n=i[t.id],r=t.uniforms,a=t.__cache;e.bindBuffer(35345,n);for(let i=0,s=r.length;i<s;i++){const t=r[i];if(!0===l(t,i,a)){const n=t.__offset,r=Array.isArray(t.value)?t.value:[t.value];let i=0;for(let a=0;a<r.length;a++){const s=r[a],o=c(s);"number"===typeof s?(t.__data[0]=s,e.bufferSubData(35345,n+i,t.__data)):s.isMatrix3?(t.__data[0]=s.elements[0],t.__data[1]=s.elements[1],t.__data[2]=s.elements[2],t.__data[3]=s.elements[0],t.__data[4]=s.elements[3],t.__data[5]=s.elements[4],t.__data[6]=s.elements[5],t.__data[7]=s.elements[0],t.__data[8]=s.elements[6],t.__data[9]=s.elements[7],t.__data[10]=s.elements[8],t.__data[11]=s.elements[0]):(s.toArray(t.__data,i),i+=o.storage/Float32Array.BYTES_PER_ELEMENT)}e.bufferSubData(35345,n,t.__data)}}e.bindBuffer(35345,null)}(n),a[n.id]=f)},dispose:function(){for(const t in i)e.deleteBuffer(i[t]);s=[],i={},a={}}}}function db(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};
vendor: 4,681 bytes, line 2
2this.isWebGLRenderer=!0;const t=void 0!==e.canvas?e.canvas:function(){const e=Hf("canvas");return e.style.display="block",e}(),n=void 0!==e.context?e.context:null,r=void 0===e.depth||e.depth,i=void 0===e.stencil||e.stencil,a=void 0!==e.antialias&&e.antialias,s=void 0===e.premultipliedAlpha||e.premultipliedAlpha,o=void 0!==e.preserveDrawingBuffer&&e.preserveDrawingBuffer,l=void 0!==e.powerPreference?e.powerPreference:"default",c=void 0!==e.failIfMajorPerformanceCaveat&&e.failIfMajorPerformanceCaveat;let u;u=null!==n?n.getContextAttributes().alpha:void 0!==e.alpha&&e.alpha;let d=null,h=null;const p=[],f=[];this.domElement=t,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.outputEncoding=jp,this.physicallyCorrectLights=!1,this.toneMapping=th,this.toneMappingExposure=1;const m=this;let g=!1,v=0,y=0,x=null,b=-1,w=null;const _=new om,S=new om;let M=null,E=t.width,T=t.height,A=1,C=null,P=null;const N=new om(0,0,E,T),R=new om(0,0,E,T);let L=!1;const k=new Rv;let I=!1,D=!1,z=null;const O=new Gm,j=new Of,B=new mm,F={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function U(){return null===x?A:1}let V,H,W,G,q,X,Y,J,Q,Z,K,$,ee,te,ne,re,ie,ae,se,oe,le,ce,ue,de,he=n;function pe(e,n){for(let r=0;r<e.length;r++){const i=e[r],a=t.getContext(i,n);if(null!==a)return a}return null}try{const e={alpha:!0,depth:r,stencil:i,antialias:a,premultipliedAlpha:s,preserveDrawingBuffer:o,powerPreference:l,failIfMajorPerformanceCaveat:c};if("setAttribute"in t&&t.setAttribute("data-engine","three.js r".concat(od)),t.addEventListener("webglcontextlost",ge,!1),t.addEventListener("webglcontextrestored",ve,!1),t.addEventListener("webglcontextcreationerror",ye,!1),null===he){const t=["webgl2","webgl","experimental-webgl"];if(!0===m.isWebGL1Renderer&&t.shift(),he=pe(t,e),null===he)throw pe(t)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}void 0===he.getShaderPrecisionFormat&&(he.getShaderPrecisionFormat=function(){return{rangeMin:1,rangeMax:1,precision:1}})}catch(qA){throw console.error("THREE.WebGLRenderer: "+qA.message),qA}function fe(){V=new sy(he),H=new Vv(he,V,e),V.init(H),ce=new nb(he,V,H),W=new eb(he,V,H),G=new cy,q=new jx,X=new tb(he,V,W,q,H,ce,G),Y=new Wv(m),J=new ay(m),Q=new kv(he,H),ue=new Fv(he,V,Q,H),Z=new oy(he,Q,G,ue),K=new py(he,Z,Q,G),se=new hy(he,H,X),re=new Hv(q),$=new Ox(m,Y,J,V,H,ue,re),ee=new cb(m,q),te=new Vx,ne=new Yx(V,H),ae=new Bv(m,Y,J,W,K,u,s),ie=new $x(m,K,H),de=new ub(he,G,H,W),oe=new Uv(he,V,G,H),le=new ly(he,V,G,H),G.programs=$.programs,m.capabilities=H,m.extensions=V,m.properties=q,m.renderLists=te,m.shadowMap=ie,m.state=W,m.info=G}fe();const me=new lb(m,he);function ge(e){e.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),g=!0}function ve(){console.log("THREE.WebGLRenderer: Context Restored."),g=!1;const e=G.autoReset,t=ie.enabled,n=ie.autoUpdate,r=ie.needsUpdate,i=ie.type;fe(),G.autoReset=e,ie.enabled=t,ie.autoUpdate=n,ie.needsUpdate=r,ie.type=i}function ye(e){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",e.statusMessage)}function xe(e){const t=e.target;t.removeEventListener("dispose",xe),function(e){(function(e){const t=q.get(e).programs;void 0!==t&&(t.forEach(function(e){$.releaseProgram(e)}),e.isShaderMaterial&&$.releaseShaderCache(e))})(e),q.remove(e)}(t)}this.xr=me,this.getContext=function(){return he},this.getContextAttributes=function(){return he.getContextAttributes()},this.forceContextLoss=function(){const e=V.get("WEBGL_lose_context");e&&e.loseContext()},this.forceContextRestore=function(){const e=V.get("WEBGL_lose_context");e&&e.restoreContext()},this.getPixelRatio=function(){return A},this.setPixelRatio=function(e){void 0!==e&&(A=e,this.setSize(E,T,!1))},this.getSize=function(e){return e.set(E,T)},this.setSize=function(e,n,r){me.isPresenting?console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting."):(E=e,T=n,t.width=Math.floor(e*A),t.height=Math.floor(n*A),!1!==r&&(t.style.width=e+"px",t.style.height=n+"px"),this.setViewport(0,0,e,n))},this.getDrawingBufferSize=function(e){return e.set(E*A,T*A).floor()},this.setDrawingBufferSize=function(e,n,r){E=e,T=n,A=r,t.width=Math.floor(e*r),t.height=Math.floor(n*r),this.setViewport(0,0,e,n)},this.getCurrentViewport=function(e){return e.copy(_)},this.getViewport=function(e){return e.copy(N)},this.setViewport=function(e,t,n,r){e.isVector4?N.set(e.x,e.y,e.z,e.w):N.set(e,t,n,r),W.viewport(_.copy(N).multiplyScalar(A).floor())}
2,this.getScissor=function(e){return e.copy(R)},this.setScissor=function(e,t,n,r){e.isVector4?R.set(e.x,e.y,e.z,e.w):R.set(e,t,n,r),W.scissor(S.copy(R).multiplyScalar(A).floor())},this.getScissorTest=function(){return L},this.setScissorTest=function(e){W.setScissorTest(L=e)},this.setOpaqueSort=function(e){C=e},this.setTransparentSort=function(e){P=e},this.getClearColor=function(e){return e.copy(ae.getClearColor())},this.setClearColor=function(){ae.setClearColor.apply(ae,arguments)},this.getClearAlpha=function(){return ae.getClearAlpha()},this.setClearAlpha=function(){ae.setClearAlpha.apply(ae,arguments)},this.clear=function(){let e=0;(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])&&(e|=16384),(!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e|=256),(!(arguments.length>2&&void 0!==arguments[2])||arguments[2])&&(e|=1024),he.clear(e)},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",ge,!1),t.removeEventListener("webglcontextrestored",ve,!1),t.removeEventListener("webglcontextcreationerror",ye,!1),te.dispose(),ne.dispose(),q.dispose(),Y.dispose(),J.dispose(),K.dispose(),ue.dispose(),de.dispose(),$.dispose(),me.dispose(),me.removeEventListener("sessionstart",we),me.removeEventListener("sessionend",_e),z&&(z.dispose(),z=null),Se.stop()},this.renderBufferDirect=function(e,t,n,r,i,a){null===t&&(t=F);const s=i.isMesh&&i.matrixWorld.determinant()<0,o=function(e,t,n,r,i){!0!==t.isScene&&(t=F);X.resetTextureUnits();const a=t.fog,s=r.isMeshStandardMaterial?t.environment:null,o=null===x?m.outputEncoding:!0===x.isXRRenderTarget?x.texture.encoding:jp,l=(r.isMeshStandardMaterial?J:Y).get(r.envMap||s),c=!0===r.vertexColors&&!!n.attributes.color&&4===n.attributes.color.itemSize,u=!!r.normalMap&&!!n.attributes.tangent,d=!!n.morphAttributes.position,p=!!n.morphAttributes.normal,f=!!n.morphAttributes.color,g=r.toneMapped?m.toneMapping:th,v=n.morphAttributes.position||n.morphAttributes.normal||n.morphAttributes.color,y=void 0!==v?v.length:0,_=q.get(r),S=h.state.lights;if(!0===I&&(!0===D||e!==w)){const t=e===w&&r.id===b;re.setState(r,e,t)}let M=!1;r.version===_.__version?_.needsLights&&_.lightsStateVersion!==S.state.version||_.outputEncoding!==o||i.isInstancedMesh&&!1===_.instancing?M=!0:i.isInstancedMesh||!0!==_.instancing?i.isSkinnedMesh&&
2!1===_.skinning?M=!0:i.isSkinnedMesh||!0!==_.skinning?_.envMap!==l||!0===r.fog&&_.fog!==a?M=!0:void 0===_.numClippingPlanes||_.numClippingPlanes===re.numPlanes&&_.numIntersection===re.numIntersection?(_.vertexAlphas!==c||_.vertexTangents!==u||_.morphTargets!==d||_.morphNormals!==p||_.morphColors!==f||_.toneMapping!==g||!0===H.isWebGL2&&_.morphTargetsCount!==y)&&(M=!0):M=!0:M=!0:M=!0:(M=!0,_.__version=r.version);let E=_.currentProgram;!0===M&&(E=Ce(r,t,i));let C=!1,P=!1,N=!1;const R=E.getUniforms(),L=_.uniforms;W.useProgram(E.program)&&(C=!0,P=!0,N=!0);r.id!==b&&(b=r.id,P=!0);if(C||w!==e){if(R.setValue(he,"projectionMatrix",e.projectionMatrix),H.logarithmicDepthBuffer&&R.setValue(he,"logDepthBufFC",2/(Math.log(e.far+1)/Math.LN2)),w!==e&&(w=e,P=!0,N=!0),r.isShaderMaterial||r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshStandardMaterial||r.envMap){const t=R.map.cameraPosition;void 0!==t&&t.setValue(he,B.setFromMatrixPosition(e.matrixWorld))}(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial)&&R.setValue(he,"isOrthographic",!0===e.isOrthographicCamera),(r.isMeshPhongMaterial||r.isMeshToonMaterial||r.isMeshLambertMaterial||r.isMeshBasicMaterial||r.isMeshStandardMaterial||r.isShaderMaterial||r.isShadowMaterial||i.isSkinnedMesh)&&R.setValue(he,"viewMatrix",e.matrixWorldInverse)}if(i.isSkinnedMesh){R.setOptional(he,i,"bindMatrix"),R.setOptional(he,i,"bindMatrixInverse");const e=i.skeleton;e&&(H.floatVertexTextures?(null===e.boneTexture&&e.computeBoneTexture(),R.setValue(he,"boneTexture",e.boneTexture,X),R.setValue(he,"boneTextureSize",e.boneTextureSize)):console.warn("THREE.WebGLRenderer: SkinnedMesh can only be used with WebGL 2. With WebGL 1 OES_texture_float and vertex textures support is required."))}const k=n.morphAttributes;(void 0!==k.position||void 0!==k.normal||void 0!==k.color&&!0===H.isWebGL2)&&se.update(i,n,r,E);(P||_.receiveShadow!==i.receiveShadow)&&(_.receiveShadow=i.receiveShadow,R.setValue(he,"receiveShadow",i.receiveShadow));r.isMeshGouraudMaterial&&null!==r.envMap&&(L.envMap.value=l,L.flipEnvMap.value=l.isCubeTexture&&!1===l.isRenderTargetTexture?-1:1);P&&(R.setValue(he,"toneMappingExposure",m.toneMappingExposure),_.needsLights&&(j=N,(O=L).ambientLightColor.needsUpdate=j,O.lightProbe.needsUpdate=j,O.directionalLights.needsUpdate=j,O.directionalLightShadows.needsUpdate=j,O.pointLights.needsUpdate=j,O.pointLightShadows.needsUpdate=j,O.spotLights.needsUpdate=j,O.spotLightShadows.needsUpdate=j,O.rectAreaLights.needsUpdate=j,O.hemisphereLights.needsUpdate=j),a&&!0===r.fog&&ee.refreshFogUniforms(L,a),ee.refreshMaterialUniforms(L,r,A,T,z),vx.upload(he,_.uniformsList,L,X));var O,j;r.isShaderMaterial&&!0===r.uniformsNeedUpdate&&(vx.upload(he,_.uniformsList,L,X),r.uniformsNeedUpdate=!1);r.isSpriteMaterial&&R.setValue(he,"center",i.center);if(R.setValue(he,"modelViewMatrix",i.modelViewMatrix),R.setValue(he,"normalMatrix",i.normalMatrix),R.setValue(he,"modelMatrix",i.matrixWorld),r.isShaderMaterial||r.isRawShaderMaterial){const e=r.uniformsGroups;for(let t=0,n=e.length;t<n;t++)if(H.isWebGL2){const n=e[t];de.update(n,E),de.bind(n,E)}else console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.")}return E}(e,t,n,r,i);W.setMaterial(r,s);let l=n.index,c=1;!0===r.wireframe&&(l=Z.getWireframeAttribute(n),c=2);const u=n.drawRange,d=n.attributes.position;let p=u.start*c,f=(u.start+u.count)*c;null!==a&&(p=Math.max(p,a.start*c),f=Math.min(f,(a.start+a.count)*c)),null!==l?(p=Math.max(p,0),f=Math.min(f,l.count)):void 0!==d&&null!==d&&(p=Math.max(p,0),f=Math.min(f,d.count));const g=f-p;if(g<0||g===1/0)return;let v;ue.setup(i,r,o,n,l);let y=oe;if(null!==l&&(v=Q.get(l),y=le,y.setIndex(v)),i.isMesh)!0===r.wireframe?(W.setLineWidth(r.wireframeLinewidth*U()),y.setMode(1)):y.setMode(4);else if(i.isLine){let e=r.linewidth;void 0===e&&(e=1),W.setLineWidth(e*U()),i.isLineSegments?y.setMode(1):i.isLineLoop?y.setMode(2):y.setMode(3)}else i.isPoints?y.setMode(0):i.isSprite&&y.setMode(4);if(i.isInstancedMesh)y.renderInstances(p,g,i.count);else if(n.isInstancedBufferGeometry){const e=void 0!==n._maxInstanceCount?n._maxInstanceCount:1/0,t=Math.min(n.instanceCount,e);y.renderInstances(p,g,t)}else y.render(p,g)},this.compile=function(e,t){function n(e,t,n){!0===e.transparent&&e.side===bd&&!1===e.forceSinglePass?(e.side=xd,e.needsUpdate=!0,Ce(e,t,n),e.side=yd,e.needsUpdate=!0,Ce(e,t,n),e.side=bd):Ce(e,t,n)}
vendor: 12,573 bytes, line 2
2h=ne.get(e),h.init(),f.push(h),e.traverseVisible(function(e){e.isLight&&e.layers.test(t.layers)&&(h.pushLight(e),e.castShadow&&h.pushShadow(e))}),h.setupLights(m.physicallyCorrectLights),e.traverse(function(t){const r=t.material;if(r)if(Array.isArray(r))for(let i=0;i<r.length;i++){n(r[i],e,t)}else n(r,e,t)}),f.pop(),h=null};let be=null;function we(){Se.stop()}function _e(){Se.start()}const Se=new Lv;function Me(e,t,n,r){if(!1===e.visible)return;if(e.layers.test(t.layers))if(e.isGroup)n=e.renderOrder;else if(e.isLOD)!0===e.autoUpdate&&e.update(t);else if(e.isLight)h.pushLight(e),e.castShadow&&h.pushShadow(e);else if(e.isSprite){if(!e.frustumCulled||k.intersectsSprite(e)){r&&B.setFromMatrixPosition(e.matrixWorld).applyMatrix4(O);const t=K.update(e),i=e.material;i.visible&&d.push(e,t,i,n,B.z,null)}}else if((e.isMesh||e.isLine||e.isPoints)&&(e.isSkinnedMesh&&e.skeleton.frame!==G.render.frame&&(e.skeleton.update(),e.skeleton.frame=G.render.frame),!e.frustumCulled||k.intersectsObject(e))){r&&B.setFromMatrixPosition(e.matrixWorld).applyMatrix4(O);const t=K.update(e),i=e.material;if(Array.isArray(i)){const r=t.groups;for(let a=0,s=r.length;a<s;a++){const s=r[a],o=i[s.materialIndex];o&&o.visible&&d.push(e,t,o,n,B.z,s)}}else i.visible&&d.push(e,t,i,n,B.z,null)}const i=e.children;for(let a=0,s=i.length;a<s;a++)Me(i[a],t,n,r)}function Ee(e,t,n,r){const i=e.opaque,s=e.transmissive,o=e.transparent;h.setupLightsView(n),!0===I&&re.setGlobalState(m.clippingPlanes,n),s.length>0&&function(e,t,n){const r=H.isWebGL2;null===z&&(z=new lm(1,1,{generateMipmaps:!0,type:V.has("EXT_color_buffer_half_float")?kh:Th,minFilter:Mh,samples:r&&!0===a?4:0}));m.getDrawingBufferSize(j),r?z.setSize(j.x,j.y):z.setSize(kf(j.x),kf(j.y));const i=m.getRenderTarget();m.setRenderTarget(z),m.clear();const s=m.toneMapping;m.toneMapping=th,Te(e,t,n),m.toneMapping=s,X.updateMultisampleRenderTarget(z),X.updateRenderTargetMipmap(z),m.setRenderTarget(i)}(i,t,n),r&&W.viewport(_.copy(r)),i.length>0&&Te(i,t,n),s.length>0&&Te(s,t,n),o.length>0&&Te(o,t,n),W.buffers.depth.setTest(!0),W.buffers.depth.setMask(!0),W.buffers.color.setMask(!0),W.setPolygonOffset(!1)}function Te(e,t,n){const r=!0===t.isScene?t.overrideMaterial:null;for(let i=0,a=e.length;i<a;i++){const a=e[i],s=a.object,o=a.geometry,l=null===r?a.material:r,c=a.group;s.layers.test(n.layers)&&Ae(s,t,n,o,l,c)}}function Ae(e,t,n,r,i,a){e.onBeforeRender(m,t,n,r,i,a),e.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse,e.matrixWorld),e.normalMatrix.getNormalMatrix(e.modelViewMatrix),i.onBeforeRender(m,t,n,r,e,a),!0===i.transparent&&i.side===bd&&!1===i.forceSinglePass?(i.side=xd,i.needsUpdate=!0,m.renderBufferDirect(n,t,r,i,e,a),i.side=yd,i.needsUpdate=!0,m.renderBufferDirect(n,t,r,i,e,a),i.side=bd):m.renderBufferDirect(n,t,r,i,e,a),e.onAfterRender(m,t,n,r,i,a)}function Ce(e,t,n){!0!==t.isScene&&(t=F);const r=q.get(e),i=h.state.lights,a=h.state.shadowsArray,s=i.state.version,o=$.getParameters(e,i.state,a,t,n),l=$.getProgramCacheKey(o);let c=r.programs;r.environment=e.isMeshStandardMaterial?t.environment:null,r.fog=t.fog,r.envMap=(e.isMeshStandardMaterial?J:Y).get(e.envMap||r.environment),void 0===c&&(e.addEventListener("dispose",xe),c=new Map,r.programs=c);let u=c.get(l);if(void 0!==u){if(r.currentProgram===u&&r.lightsStateVersion===s)return Pe(e,o),u}else o.uniforms=$.getUniforms(e),e.onBuild(n,o,m),e.onBeforeCompile(o,m),u=$.acquireProgram(o,l),c.set(l,u),r.uniforms=o.uniforms;const d=r.uniforms;(e.isShaderMaterial||e.isRawShaderMaterial)&&!0!==e.clipping||(d.clippingPlanes=re.uniform),Pe(e,o),r.needsLights=function(e){return e.isMeshLambertMaterial||e.isMeshToonMaterial||e.isMeshPhongMaterial||e.isMeshStandardMaterial||e.isShadowMaterial||e.isShaderMaterial&&!0===e.lights}(e),r.lightsStateVersion=s,r.needsLights&&(d.ambientLightColor.value=i.state.ambient,d.lightProbe.value=i.state.probe,d.directionalLights.value=i.state.directional,d.directionalLightShadows.value=i.state.directionalShadow,d.spotLights.value=i.state.spot,d.spotLightShadows.value=i.state.spotShadow,d.rectAreaLights.value=i.state.rectArea,d.ltc_1.value=i.state.rectAreaLTC1,d.ltc_2.value=i.state.rectAreaLTC2,d.pointLights.value=i.state.point,d.pointLightShadows.value=i.state.pointShadow,d.hemisphereLights.value=i.state.hemi,d.directionalShadowMap.value=i.state.directionalShadowMap,d.directionalShadowMatrix.value=i.state.directionalShadowMatrix,d.spotShadowMap.value=i.state.spotShadowMap,d.spotLightMatrix.value=i.state.spotLightMatrix,d.spotLightMap.value=i.state.spotLightMap,d.pointShadowMap.value=i.state.pointShadowMap,d.pointShadowMatrix.value=i.state.pointShadowMatrix);const p=u.getUniforms(),f=vx.seqWithValue(p.seq,d);return r.currentProgram=u,r.uniformsList=f,u}function Pe(e,t){const n=q.get(e);n.outputEncoding=t.outputEncoding,n.instancing=t.instancing,n.skinning=t.skinning,n.morphTargets=t.morphTargets,n.morphNormals=t.morphNormals,n.morphColors=t.morphColors,n.morphTargetsCount=t.morphTargetsCount,n.numClippingPlanes=t.numClippingPlanes,n.numIntersection=t.numClipIntersection,n.vertexAlphas=t.vertexAlphas,n.vertexTangents=t.vertexTangents,n.toneMapping=t.toneMapping}Se.setAnimationLoop(function(e){be&&be(e)}),"undefined"!==typeof self&&Se.setContext(self),this.setAnimationLoop=function(e){be=e,me.setAnimationLoop(e),null===e?Se.stop():Se.start()},me.addEventListener("sessionstart",we),me.addEventListener("sessionend",_e),this.render=function(e,t){if(void 0!==t&&!0!==t.isCamera)return void console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");if(!0===g)return;!0===e.matrixWorldAutoUpdate&&e.updateMatrixWorld(),null===t.parent&&!0===t.matrixWorldAutoUpdate&&t.updateMatrixWorld(),!0===me.enabled&&!0===me.isPresenting&&(!0===me.cameraAutoUpdate&&me.updateCamera(t),t=me.getCamera()),!0===e.isScene&&e.onBeforeRender(m,e,t,x),h=ne.get(e,f.length),h.init(),f.push(h),O.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),k.setFromProjectionMatrix(O),D=this.localClippingEnabled,I=re.init(this.clippingPlanes,D),d=te.get(e,p.length),d.init(),p.push(d),Me(e,t,0,m.sortObjects),d.finish(),!0===m.sortObjects&&d.sort(C,P),!0===I&&re.beginShadows();const n=h.state.shadowsArray;if(ie.render(n,e,t),!0===I&&re.endShadows(),!0===this.info.autoReset&&this.info.reset(),ae.render(d,e),h.setupLights(m.physicallyCorrectLights),t.isArrayCamera){const n=t.cameras;for(let t=0,r=n.length;t<r;t++){const r=n[t];Ee(d,e,r,r.viewport)}}else Ee(d,e,t);null!==x&&(X.updateMultisampleRenderTarget(x),X.updateRenderTargetMipmap(x)),!0===e.isScene&&e.onAfterRender(m,e,t),ue.resetDefaultState(),b=-1,w=null,f.pop(),h=f.length>0?f[f.length-1]:null,p.pop(),d=p.length>0?p[p.length-1]:null},this.getActiveCubeFace=function(){return v},this.getActiveMipmapLevel=function(){return y},this.getRenderTarget=function(){return x},this.setRenderTargetTextures=function(e,t,n){q.get(e.texture).__webglTexture=t,q.get(e.depthTexture).__webglTexture=n;const r=q.get(e);r.__hasExternalTextures=!0,r.__hasExternalTextures&&(r.__autoAllocateDepthBuffer=void 0===n,r.__autoAllocateDepthBuffer||!0===V.has("WEBGL_multisampled_render_to_texture")&&(console.warn("THREE.WebGLRenderer: Render-to-texture extension was disabled because an external texture was provided"),r.__useRenderToTexture=!1))},this.setRenderTargetFramebuffer=function(e,t){const n=q.get(e);n.__webglFramebuffer=t,n.__useDefaultFramebuffer=void 0===t},this.setRenderTarget=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;x=e,v=t,y=n;let r=!0,i=null,a=!1,s=!1;if(e){const n=q.get(e);void 0!==n.__useDefaultFramebuffer?(W.bindFramebuffer(36160,null),r=!1):void 0===n.__webglFramebuffer?X.setupRenderTarget(e):n.__hasExternalTextures&&X.rebindTextures(e,q.get(e.texture).__webglTexture,q.get(e.depthTexture).__webglTexture);const o=e.texture;(o.isData3DTexture||o.isDataArrayTexture||o.isCompressedArrayTexture)&&(s=!0);const l=q.get(e).__webglFramebuffer;e.isWebGLCubeRenderTarget?(i=l[t],a=!0):i=H.isWebGL2&&e.samples>0&&!1===X.useMultisampledRTT(e)?q.get(e).__webglMultisampledFramebuffer:l,_.copy(e.viewport),S.copy(e.scissor),M=e.scissorTest}else _.copy(N).multiplyScalar(A).floor(),S.copy(R).multiplyScalar(A).floor(),M=L;if(W.bindFramebuffer(36160,i)&&H.drawBuffers&&r&&W.drawBuffers(e,i),W.viewport(_),W.scissor(S),W.setScissorTest(M),a){const r=q.get(e.texture);he.framebufferTexture2D(36160,36064,34069+t,r.__webglTexture,n)}else if(s){const r=q.get(e.texture),i=t||0;he.framebufferTextureLayer(36160,36064,r.__webglTexture,n||0,i)}b=-1},this.readRenderTargetPixels=function(e,t,n,r,i,a,s){if(!e||!e.isWebGLRenderTarget)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let o=q.get(e).__webglFramebuffer;if(e.isWebGLCubeRenderTarget&&void 0!==s&&(o=o[s]),o){W.bindFramebuffer(36160,o);try{const s=e.texture,o=s.format,l=s.type;if(o!==jh&&ce.convert(o)!==he.getParameter(35739))return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");const c=l===kh&&(V.has("EXT_color_buffer_half_float")||H.isWebGL2&&V.has("EXT_color_buffer_float"));if(l!==Th&&ce.convert(l)!==he.getParameter(35738)&&(l!==Lh||!(H.isWebGL2||V.has("OES_texture_float")||V.has("WEBGL_color_buffer_float")))&&!c)return void console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");t>=0&&t<=e.width-r&&n>=0&&n<=e.height-i&&he.readPixels(t,n,r,i,ce.convert(o),ce.convert(l),a)}finally{const e=null!==x?q.get(x).__webglFramebuffer:null;W.bindFramebuffer(36160,e)}}},this.copyFramebufferToTexture=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const r=Math.pow(2,-n),i=Math.floor(t.image.width*r),a=Math.floor(t.image.height*r);X.setTexture2D(t,0),he.copyTexSubImage2D(3553,n,0,0,e.x,e.y,i,a),W.unbindTexture()},this.copyTextureToTexture=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;const i=t.image.width,a=t.image.height,s=ce.convert(n.format),o=ce.convert(n.type);X.setTexture2D(n,0),he.pixelStorei(37440,n.flipY),he.pixelStorei(37441,n.premultiplyAlpha),he.pixelStorei(3317,n.unpackAlignment),t.isDataTexture?he.texSubImage2D(3553,r,e.x,e.y,i,a,s,o,t.image.data):t.isCompressedTexture?he.compressedTexSubImage2D(3553,r,e.x,e.y,t.mipmaps[0].width,t.mipmaps[0].height,s,t.mipmaps[0].data):he.texSubImage2D(3553,r,e.x,e.y,s,o,t.image),0===r&&n.generateMipmaps&&he.generateMipmap(3553),W.unbindTexture()},this.copyTextureToTexture3D=function(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(m.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const a=e.max.x-e.min.x+1,s=e.max.y-e.min.y+1,o=e.max.z-e.min.z+1,l=ce.convert(r.format),c=ce.convert(r.type);let u;if(r.isData3DTexture)X.setTexture3D(r,0),u=32879;else{if(!r.isDataArrayTexture)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");X.setTexture2DArray(r,0),u=35866}he.pixelStorei(37440,r.flipY),he.pixelStorei(37441,r.premultiplyAlpha),he.pixelStorei(3317,r.unpackAlignment);const d=he.getParameter(3314),h=he.getParameter(32878),p=he.getParameter(3316),f=he.getParameter(3315),g=he.getParameter(32877),v=n.isCompressedTexture?n.mipmaps[0]:n.image;he.pixelStorei(3314,v.width),he.pixelStorei(32878,v.height),he.pixelStorei(3316,e.min.x),he.pixelStorei(3315,e.min.y),he.pixelStorei(32877,e.min.z),n.isDataTexture||n.isData3DTexture?he.texSubImage3D(u,i,t.x,t.y,t.z,a,s,o,l,c,v.data):n.isCompressedArrayTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),he.compressedTexSubImage3D(u,i,t.x,t.y,t.z,a,s,o,l,v.data)):he.texSubImage3D(u,i,t.x,t.y,t.z,a,s,o,l,c,v),he.pixelStorei(3314,d),he.pixelStorei(32878,h),he.pixelStorei(3316,p),he.pixelStorei(3315,f),he.pixelStorei(32877,g),0===i&&r.generateMipmaps&&he.generateMipmap(u),W.unbindTexture()},this.initTexture=function(e){e.isCubeTexture?X.setTextureCube(e,0):e.isData3DTexture?X.setTexture3D(e,0):e.isDataArrayTexture||e.isCompressedArrayTexture?X.setTexture2DArray(e,0):X.setTexture2D(e,0),W.unbindTexture()},this.resetState=function(){v=0,y=0,x=null,W.reset(),ue.reset()},"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class hb extends db{}hb.prototype.isWebGL1Renderer=!0;
2class pb{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:25e-5;this.isFogExp2=!0,this.name="",this.color=new em(e),this.density=t}clone(){return new pb(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}class fb{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;this.isFog=!0,this.name="",this.color=new em(e),this.near=t,this.far=n}clone(){return new fb(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}class mb extends gg{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.overrideMaterial=null,"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,t){return super.copy(e,t),null!==e.background&&(this.background=e.background.clone()),null!==e.environment&&(this.environment=e.environment.clone()),null!==e.fog&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,null!==e.overrideMaterial&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const t=super.toJSON(e);return null!==this.fog&&(t.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(t.object.backgroundBlurriness=this.backgroundBlurriness),1!==this.backgroundIntensity&&(t.object.backgroundIntensity=this.backgroundIntensity),t}get autoUpdate(){return console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate}set autoUpdate(e){console.warn("THREE.Scene: autoUpdate was renamed to matrixWorldAutoUpdate in r144."),this.matrixWorldAutoUpdate=e}}class gb{constructor(e,t){this.isInterleavedBuffer=!0,this.array=e,this.stride=t,this.count=void 0!==e?e.length/t:0,this.usage=uf,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=Af()}onUploadCallback(){}set needsUpdate(e){!0===e&&this.version++}setUsage(e){return this.usage=e,this}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 r=0,i=this.stride;r<i;r++)this.array[e+r]=t.array[n+r];return this}set(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.array.set(e,t),this}clone(e){void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Af()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(e.arrayBuffers[this.array.buffer._uuid]=this.array.slice(0).buffer);const t=new this.array.constructor(e.arrayBuffers[this.array.buffer._uuid]),n=new this.constructor(t,this.stride);return n.setUsage(this.usage),n}onUpload(e){return this.onUploadCallback=e,this}toJSON(e){return void 0===e.arrayBuffers&&(e.arrayBuffers={}),void 0===this.array.buffer._uuid&&(this.array.buffer._uuid=Af()),void 0===e.arrayBuffers[this.array.buffer._uuid]&&(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 vb=new mm;class yb{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];this.isInterleavedBufferAttribute=!0,this.name="",this.data=e,this.itemSize=t,this.offset=n,this.normalized=r}get count(){return this.data.count}get array(){return this.data.array}set needsUpdate(e){this.data.needsUpdate=e}applyMatrix4(e){for(let t=0,n=this.data.count;t<n;
vendor: 28,977 bytes, line 2
2t++)vb.fromBufferAttribute(this,t),vb.applyMatrix4(e),this.setXYZ(t,vb.x,vb.y,vb.z);return this}applyNormalMatrix(e){for(let t=0,n=this.count;t<n;t++)vb.fromBufferAttribute(this,t),vb.applyNormalMatrix(e),this.setXYZ(t,vb.x,vb.y,vb.z);return this}transformDirection(e){for(let t=0,n=this.count;t<n;t++)vb.fromBufferAttribute(this,t),vb.transformDirection(e),this.setXYZ(t,vb.x,vb.y,vb.z);return this}setX(e,t){return this.normalized&&(t=Df(t,this.array)),this.data.array[e*this.data.stride+this.offset]=t,this}setY(e,t){return this.normalized&&(t=Df(t,this.array)),this.data.array[e*this.data.stride+this.offset+1]=t,this}setZ(e,t){return this.normalized&&(t=Df(t,this.array)),this.data.array[e*this.data.stride+this.offset+2]=t,this}setW(e,t){return this.normalized&&(t=Df(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=If(t,this.array)),t}getY(e){let t=this.data.array[e*this.data.stride+this.offset+1];return this.normalized&&(t=If(t,this.array)),t}getZ(e){let t=this.data.array[e*this.data.stride+this.offset+2];return this.normalized&&(t=If(t,this.array)),t}getW(e){let t=this.data.array[e*this.data.stride+this.offset+3];return this.normalized&&(t=If(t,this.array)),t}setXY(e,t,n){return e=e*this.data.stride+this.offset,this.normalized&&(t=Df(t,this.array),n=Df(n,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this}setXYZ(e,t,n,r){return e=e*this.data.stride+this.offset,this.normalized&&(t=Df(t,this.array),n=Df(n,this.array),r=Df(r,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this}setXYZW(e,t,n,r,i){return e=e*this.data.stride+this.offset,this.normalized&&(t=Df(t,this.array),n=Df(n,this.array),r=Df(r,this.array),i=Df(i,this.array)),this.data.array[e+0]=t,this.data.array[e+1]=n,this.data.array[e+2]=r,this.data.array[e+3]=i,this}clone(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return new kg(new this.array.constructor(e),this.itemSize,this.normalized)}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(e.interleavedBuffers[this.data.uuid]=this.data.clone(e)),new yb(e.interleavedBuffers[this.data.uuid],this.itemSize,this.offset,this.normalized)}toJSON(e){if(void 0===e){console.log("THREE.InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.");const e=[];for(let t=0;t<this.count;t++){const n=t*this.data.stride+this.offset;for(let t=0;t<this.itemSize;t++)e.push(this.data.array[n+t])}return{itemSize:this.itemSize,type:this.array.constructor.name,array:e,normalized:this.normalized}}return void 0===e.interleavedBuffers&&(e.interleavedBuffers={}),void 0===e.interleavedBuffers[this.data.uuid]&&(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 xb extends Pg{constructor(e){super(),this.isSpriteMaterial=!0,this.type="SpriteMaterial",this.color=new em(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 bb;const wb=new mm,_b=new mm,Sb=new mm,Mb=new Of,Eb=new Of,Tb=new Gm,Ab=new mm,Cb=new mm,Pb=new mm,Nb=new Of,Rb=new Of,Lb=new Of;class kb extends gg{constructor(e){if(super(),this.isSprite=!0,this.type="Sprite",void 0===bb){bb=new Zg;const e=new Float32Array([-.5,-.5,0,0,0,.5,-.5,0,1,0,.5,.5,0,1,1,-.5,.5,0,0,1]),t=new gb(e,5);bb.setIndex([0,1,2,0,2,3]),bb.setAttribute("position",new yb(t,3,0,!1)),bb.setAttribute("uv",new yb(t,2,3,!1))}this.geometry=bb,this.material=void 0!==e?e:new xb,this.center=new Of(.5,.5)}raycast(e,t){null===e.camera&&console.error('THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.'),_b.setFromMatrixScale(this.matrixWorld),Tb.copy(e.camera.matrixWorld),this.modelViewMatrix.multiplyMatrices(e.camera.matrixWorldInverse,this.matrixWorld),Sb.setFromMatrixPosition(this.modelViewMatrix),e.camera.isPerspectiveCamera&&!1===this.material.sizeAttenuation&&_b.multiplyScalar(-Sb.z);const n=this.material.rotation;let r,i;0!==n&&(i=Math.cos(n),r=Math.sin(n));const a=this.center;Ib(Ab.set(-.5,-.5,0),Sb,a,_b,r,i),Ib(Cb.set(.5,-.5,0),Sb,a,_b,r,i),Ib(Pb.set(.5,.5,0),Sb,a,_b,r,i),Nb.set(0,0),Rb.set(1,0),Lb.set(1,1);let s=e.ray.intersectTriangle(Ab,Cb,Pb,!1,wb);if(null===s&&(Ib(Cb.set(-.5,.5,0),Sb,a,_b,r,i),Rb.set(0,1),s=e.ray.intersectTriangle(Ab,Pb,Cb,!1,wb),null===s))return;const o=e.ray.origin.distanceTo(wb);o<e.near||o>e.far||t.push({distance:o,point:wb.clone(),uv:Ag.getUV(wb,Ab,Cb,Pb,Nb,Rb,Lb,new Of),face:null,object:this})}copy(e,t){return super.copy(e,t),void 0!==e.center&&this.center.copy(e.center),this.material=e.material,this}}function Ib(e,t,n,r,i,a){Mb.subVectors(e,n).addScalar(.5).multiply(r),void 0!==i?(Eb.x=a*Mb.x-i*Mb.y,Eb.y=i*Mb.x+a*Mb.y):Eb.copy(Mb),e.copy(t),e.x+=Eb.x,e.y+=Eb.y,e.applyMatrix4(Tb)}const Db=new mm,zb=new mm;class Ob extends gg{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,r=t.length;n<r;n++){const e=t[n];this.addLevel(e.object.clone(),e.distance,e.hysteresis)}return this.autoUpdate=e.autoUpdate,this}addLevel(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t=Math.abs(t);const r=this.levels;let i;for(i=0;i<r.length&&!(t<r[i].distance);i++);return r.splice(i,0,{distance:t,hysteresis:n,object:e}),this.add(e),this}getCurrentLevel(){return this._currentLevel}getObjectForDistance(e){const t=this.levels;if(t.length>0){let n,r;for(n=1,r=t.length;n<r;n++){let r=t[n].distance;if(t[n].object.visible&&(r-=r*t[n].hysteresis),e<r)break}return t[n-1].object}return null}raycast(e,t){if(this.levels.length>0){Db.setFromMatrixPosition(this.matrixWorld);const n=e.ray.origin.distanceTo(Db);this.getObjectForDistance(n).raycast(e,t)}}update(e){const t=this.levels;if(t.length>1){Db.setFromMatrixPosition(e.matrixWorld),zb.setFromMatrixPosition(this.matrixWorld);const n=Db.distanceTo(zb)/e.zoom;let r,i;for(t[0].object.visible=!0,r=1,i=t.length;r<i;r++){let e=t[r].distance;if(t[r].object.visible&&(e-=e*t[r].hysteresis),!(n>=e))break;t[r-1].object.visible=!1,t[r].object.visible=!0}for(this._currentLevel=r-1;r<i;r++)t[r].object.visible=!1}}toJSON(e){const t=super.toJSON(e);!1===this.autoUpdate&&(t.object.autoUpdate=!1),t.object.levels=[];const n=this.levels;for(let r=0,i=n.length;r<i;r++){const e=n[r];t.object.levels.push({object:e.object.uuid,distance:e.distance,hysteresis:e.hysteresis})}return t}}const jb=new mm,Bb=new om,Fb=new om,Ub=new mm,Vb=new Gm;class Hb extends dv{constructor(e,t){super(e,t),this.isSkinnedMesh=!0,this.type="SkinnedMesh",this.bindMode="attached",this.bindMatrix=new Gm,this.bindMatrixInverse=new Gm}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,this}bind(e,t){this.skeleton=e,void 0===t&&(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 om,t=this.geometry.attributes.skinWeight;for(let n=0,r=t.count;n<r;n++){e.fromBufferAttribute(t,n);const r=1/e.manhattanLength();r!==1/0?e.multiplyScalar(r):e.set(1,0,0,0),t.setXYZW(n,e.x,e.y,e.z,e.w)}}updateMatrixWorld(e){super.updateMatrixWorld(e),"attached"===this.bindMode?this.bindMatrixInverse.copy(this.matrixWorld).invert():"detached"===this.bindMode?this.bindMatrixInverse.copy(this.bindMatrix).invert():console.warn("THREE.SkinnedMesh: Unrecognized bindMode: "+this.bindMode)}boneTransform(e,t){const n=this.skeleton,r=this.geometry;Bb.fromBufferAttribute(r.attributes.skinIndex,e),Fb.fromBufferAttribute(r.attributes.skinWeight,e),jb.copy(t).applyMatrix4(this.bindMatrix),t.set(0,0,0);for(let i=0;i<4;i++){const e=Fb.getComponent(i);if(0!==e){const r=Bb.getComponent(i);Vb.multiplyMatrices(n.bones[r].matrixWorld,n.boneInverses[r]),t.addScaledVector(Ub.copy(jb).applyMatrix4(Vb),e)}}return t.applyMatrix4(this.bindMatrixInverse)}}class Wb extends gg{constructor(){super(),this.isBone=!0,this.type="Bone"}}class Gb extends sm{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;super(null,arguments.length>5?arguments[5]:void 0,arguments.length>6?arguments[6]:void 0,arguments.length>7?arguments[7]:void 0,arguments.length>8&&void 0!==arguments[8]?arguments[8]:gh,arguments.length>9&&void 0!==arguments[9]?arguments[9]:gh,arguments.length>3?arguments[3]:void 0,arguments.length>4?arguments[4]:void 0,arguments.length>10?arguments[10]:void 0,arguments.length>11?arguments[11]:void 0),this.isDataTexture=!0,this.image={data:e,width:t,height:n},this.generateMipmaps=!1,this.flipY=!1,this.unpackAlignment=1}}const qb=new Gm,Xb=new Gm;class Yb{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.uuid=Af(),this.bones=e.slice(0),this.boneInverses=t,this.boneMatrices=null,this.boneTexture=null,this.boneTextureSize=0,this.frame=-1,this.init()}init(){const e=this.bones,t=this.boneInverses;if(this.boneMatrices=new Float32Array(16*e.length),0===t.length)this.calculateInverses();else if(e.length!==t.length){console.warn("THREE.Skeleton: Number of inverse bone matrices does not match amount of bones."),this.boneInverses=[];for(let e=0,t=this.bones.length;e<t;e++)this.boneInverses.push(new Gm)}}calculateInverses(){this.boneInverses.length=0;for(let e=0,t=this.bones.length;e<t;e++){const t=new Gm;this.bones[e]&&t.copy(this.bones[e].matrixWorld).invert(),this.boneInverses.push(t)}}pose(){for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];t&&t.matrixWorld.copy(this.boneInverses[e]).invert()}for(let e=0,t=this.bones.length;e<t;e++){const t=this.bones[e];t&&(t.parent&&t.parent.isBone?(t.matrix.copy(t.parent.matrixWorld).invert(),t.matrix.multiply(t.matrixWorld)):t.matrix.copy(t.matrixWorld),t.matrix.decompose(t.position,t.quaternion,t.scale))}}update(){const e=this.bones,t=this.boneInverses,n=this.boneMatrices,r=this.boneTexture;for(let i=0,a=e.length;i<a;i++){const r=e[i]?e[i].matrixWorld:Xb;qb.multiplyMatrices(r,t[i]),qb.toArray(n,16*i)}null!==r&&(r.needsUpdate=!0)}clone(){return new Yb(this.bones,this.boneInverses)}computeBoneTexture(){let e=Math.sqrt(4*this.bones.length);e=Lf(e),e=Math.max(e,4);const t=new Float32Array(e*e*4);t.set(this.boneMatrices);const n=new Gb(t,e,e,jh,Lh);return n.needsUpdate=!0,this.boneMatrices=t,this.boneTexture=n,this.boneTextureSize=e,this}getBoneByName(e){for(let t=0,n=this.bones.length;t<n;t++){const n=this.bones[t];if(n.name===e)return n}}dispose(){null!==this.boneTexture&&(this.boneTexture.dispose(),this.boneTexture=null)}fromJSON(e,t){this.uuid=e.uuid;for(let n=0,r=e.bones.length;n<r;n++){const r=e.bones[n];let i=t[r];void 0===i&&(console.warn("THREE.Skeleton: No bone found with UUID:",r),i=new Wb),this.bones.push(i),this.boneInverses.push((new Gm).fromArray(e.boneInverses[n]))}return this.init(),this}toJSON(){const e={metadata:{version:4.5,type:"Skeleton",generator:"Skeleton.toJSON"},bones:[],boneInverses:[]};e.uuid=this.uuid;const t=this.bones,n=this.boneInverses;for(let r=0,i=t.length;r<i;r++){const i=t[r];e.bones.push(i.uuid);const a=n[r];e.boneInverses.push(a.toArray())}return e}}class Jb extends kg{constructor(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;super(e,t,n),this.isInstancedBufferAttribute=!0,this.meshPerAttribute=r}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 Qb=new Gm,Zb=new Gm,Kb=[],$b=new Gm,ew=new dv;class tw extends dv{constructor(e,t,n){super(e,t),this.isInstancedMesh=!0,this.instanceMatrix=new Jb(new Float32Array(16*n),16),this.instanceColor=null,this.count=n,this.frustumCulled=!1;for(let r=0;r<n;r++)this.setMatrixAt(r,$b)}copy(e,t){return super.copy(e,t),this.instanceMatrix.copy(e.instanceMatrix),null!==e.instanceColor&&(this.instanceColor=e.instanceColor.clone()),this.count=e.count,this}getColorAt(e,t){t.fromArray(this.instanceColor.array,3*e)}getMatrixAt(e,t){t.fromArray(this.instanceMatrix.array,16*e)}raycast(e,t){const n=this.matrixWorld,r=this.count;if(ew.geometry=this.geometry,ew.material=this.material,void 0!==ew.material)for(let i=0;i<r;i++){this.getMatrixAt(i,Qb),Zb.multiplyMatrices(n,Qb),ew.matrixWorld=Zb,ew.raycast(e,Kb);for(let e=0,n=Kb.length;e<n;e++){const n=Kb[e];n.instanceId=i,n.object=this,t.push(n)}Kb.length=0}}setColorAt(e,t){null===this.instanceColor&&(this.instanceColor=new Jb(new Float32Array(3*this.instanceMatrix.count),3)),t.toArray(this.instanceColor.array,3*e)}setMatrixAt(e,t){t.toArray(this.instanceMatrix.array,16*e)}updateMorphTargets(){}dispose(){this.dispatchEvent({type:"dispose"})}}class nw extends Pg{constructor(e){super(),this.isLineBasicMaterial=!0,this.type="LineBasicMaterial",this.color=new em(16777215),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.linewidth=e.linewidth,this.linecap=e.linecap,this.linejoin=e.linejoin,this.fog=e.fog,this}}const rw=new mm,iw=new mm,aw=new Gm,sw=new Wm,ow=new zm;class lw extends gg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Zg,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new nw;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=e.material,this.geometry=e.geometry,this}computeLineDistances(){const e=this.geometry;if(null===e.index){const t=e.attributes.position,n=[0];for(let e=1,r=t.count;e<r;e++)rw.fromBufferAttribute(t,e-1),iw.fromBufferAttribute(t,e),n[e]=n[e-1],n[e]+=rw.distanceTo(iw);e.setAttribute("lineDistance",new Vg(n,1))}else console.warn("THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}raycast(e,t){const n=this.geometry,r=this.matrixWorld,i=e.params.Line.threshold,a=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),ow.copy(n.boundingSphere),ow.applyMatrix4(r),ow.radius+=i,!1===e.ray.intersectsSphere(ow))return;aw.copy(r).invert(),sw.copy(e.ray).applyMatrix4(aw);const s=i/((this.scale.x+this.scale.y+this.scale.z)/3),o=s*s,l=new mm,c=new mm,u=new mm,d=new mm,h=this.isLineSegments?2:1,p=n.index,f=n.attributes.position;if(null!==p){for(let n=Math.max(0,a.start),r=Math.min(p.count,a.start+a.count)-1;n<r;n+=h){const r=p.getX(n),i=p.getX(n+1);l.fromBufferAttribute(f,r),c.fromBufferAttribute(f,i);if(sw.distanceSqToSegment(l,c,d,u)>o)continue;d.applyMatrix4(this.matrixWorld);const a=e.ray.origin.distanceTo(d);a<e.near||a>e.far||t.push({distance:a,point:u.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}else{for(let n=Math.max(0,a.start),r=Math.min(f.count,a.start+a.count)-1;n<r;n+=h){l.fromBufferAttribute(f,n),c.fromBufferAttribute(f,n+1);if(sw.distanceSqToSegment(l,c,d,u)>o)continue;d.applyMatrix4(this.matrixWorld);const r=e.ray.origin.distanceTo(d);r<e.near||r>e.far||t.push({distance:r,point:u.clone().applyMatrix4(this.matrixWorld),index:n,face:null,faceIndex:null,object:this})}}}updateMorphTargets(){const e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){const t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}}const cw=new mm,uw=new mm;class dw extends lw{constructor(e,t){super(e,t),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(null===e.index){const t=e.attributes.position,n=[];for(let e=0,r=t.count;e<r;e+=2)cw.fromBufferAttribute(t,e),uw.fromBufferAttribute(t,e+1),n[e]=0===e?0:n[e-1],n[e+1]=n[e]+cw.distanceTo(uw);e.setAttribute("lineDistance",new Vg(n,1))}else console.warn("THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.");return this}}class hw extends lw{constructor(e,t){super(e,t),this.isLineLoop=!0,this.type="LineLoop"}}class pw extends Pg{constructor(e){super(),this.isPointsMaterial=!0,this.type="PointsMaterial",this.color=new em(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 fw=new Gm,mw=new Wm,gw=new zm,vw=new mm;class yw extends gg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Zg,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new pw;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=e.material,this.geometry=e.geometry,this}raycast(e,t){const n=this.geometry,r=this.matrixWorld,i=e.params.Points.threshold,a=n.drawRange;if(null===n.boundingSphere&&n.computeBoundingSphere(),gw.copy(n.boundingSphere),gw.applyMatrix4(r),gw.radius+=i,!1===e.ray.intersectsSphere(gw))return;fw.copy(r).invert(),mw.copy(e.ray).applyMatrix4(fw);const s=i/((this.scale.x+this.scale.y+this.scale.z)/3),o=s*s,l=n.index,c=n.attributes.position;if(null!==l){for(let n=Math.max(0,a.start),i=Math.min(l.count,a.start+a.count);n<i;n++){const i=l.getX(n);vw.fromBufferAttribute(c,i),xw(vw,i,o,r,e,t,this)}}else{for(let n=Math.max(0,a.start),i=Math.min(c.count,a.start+a.count);n<i;n++)vw.fromBufferAttribute(c,n),xw(vw,n,o,r,e,t,this)}}updateMorphTargets(){const e=this.geometry.morphAttributes,t=Object.keys(e);if(t.length>0){const n=e[t[0]];if(void 0!==n){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let e=0,t=n.length;e<t;e++){const t=n[e].name||String(e);this.morphTargetInfluences.push(0),this.morphTargetDictionary[t]=e}}}}}function xw(e,t,n,r,i,a,s){const o=mw.distanceSqToPoint(e);if(o<n){const n=new mm;mw.closestPointToPoint(e,n),n.applyMatrix4(r);const l=i.ray.origin.distanceTo(n);if(l<i.near||l>i.far)return;a.push({distance:l,distanceToRay:Math.sqrt(o),point:n,index:t,face:null,object:s})}}class bw extends sm{constructor(e,t,n,r,i,a,s,o,l){super(e,t,n,r,i,a,s,o,l),this.isVideoTexture=!0,this.minFilter=void 0!==a?a:wh,this.magFilter=void 0!==i?i:wh,this.generateMipmaps=!1;const c=this;"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(function t(){c.needsUpdate=!0,e.requestVideoFrameCallback(t)})}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;!1==="requestVideoFrameCallback"in e&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class ww extends sm{constructor(e,t,n){super({width:e,height:t}),this.isFramebufferTexture=!0,this.format=n,this.magFilter=gh,this.minFilter=gh,this.generateMipmaps=!1,this.needsUpdate=!0}}class _w extends sm{constructor(e,t,n,r,i,a,s,o,l,c,u,d){super(null,a,s,o,l,c,r,i,u,d),this.isCompressedTexture=!0,this.image={width:t,height:n},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class Sw extends _w{constructor(e,t,n,r,i,a){super(e,t,n,i,a),this.isCompressedArrayTexture=!0,this.image.depth=r,this.wrapR=fh}}class Mw extends sm{constructor(e,t,n,r,i,a,s,o,l){super(e,t,n,r,i,a,s,o,l),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Ew{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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5;const t=[];for(let n=0;n<=e;n++)t.push(this.getPoint(n/e));return t}getSpacedPoints(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]: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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.arcLengthDivisions;if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const t=[];let n,r=this.getPoint(0),i=0;t.push(0);for(let a=1;a<=e;a++)n=this.getPoint(a/e),i+=n.distanceTo(r),t.push(i),r=n;return this.cacheArcLengths=t,t}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,t){const n=this.getLengths();let r=0;const i=n.length;let a;a=t||e*n[i-1];let s,o=0,l=i-1;for(;o<=l;)if(r=Math.floor(o+(l-o)/2),s=n[r]-a,s<0)o=r+1;else{if(!(s>0)){l=r;break}l=r-1}if(r=l,n[r]===a)return r/(i-1);const c=n[r];return(r+(a-c)/(n[r+1]-c))/(i-1)}getTangent(e,t){const n=1e-4;let r=e-n,i=e+n;r<0&&(r=0),i>1&&(i=1);const a=this.getPoint(r),s=this.getPoint(i),o=t||(a.isVector2?new Of:new mm);return o.copy(s).sub(a).normalize(),o}getTangentAt(e,t){const n=this.getUtoTmapping(e);return this.getTangent(n,t)}computeFrenetFrames(e,t){const n=new mm,r=[],i=[],a=[],s=new mm,o=new Gm;for(let h=0;h<=e;h++){const t=h/e;r[h]=this.getTangentAt(t,new mm)}i[0]=new mm,a[0]=new mm;let l=Number.MAX_VALUE;const c=Math.abs(r[0].x),u=Math.abs(r[0].y),d=Math.abs(r[0].z);c<=l&&(l=c,n.set(1,0,0)),u<=l&&(l=u,n.set(0,1,0)),d<=l&&n.set(0,0,1),s.crossVectors(r[0],n).normalize(),i[0].crossVectors(r[0],s),a[0].crossVectors(r[0],i[0]);for(let h=1;h<=e;h++){if(i[h]=i[h-1].clone(),a[h]=a[h-1].clone(),s.crossVectors(r[h-1],r[h]),s.length()>Number.EPSILON){s.normalize();const e=Math.acos(Cf(r[h-1].dot(r[h]),-1,1));i[h].applyMatrix4(o.makeRotationAxis(s,e))}a[h].crossVectors(r[h],i[h])}if(!0===t){let t=Math.acos(Cf(i[0].dot(i[e]),-1,1));t/=e,r[0].dot(s.crossVectors(i[0],i[e]))>0&&(t=-t);for(let n=1;n<=e;n++)i[n].applyMatrix4(o.makeRotationAxis(r[n],t*n)),a[n].crossVectors(r[n],i[n])}return{tangents:r,normals:i,binormals:a}}clone(){return(new this.constructor).copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class Tw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2*Math.PI,s=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0;super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=t,this.xRadius=n,this.yRadius=r,this.aStartAngle=i,this.aEndAngle=a,this.aClockwise=s,this.aRotation=o}getPoint(e,t){const n=t||new Of,r=2*Math.PI;let i=this.aEndAngle-this.aStartAngle;const a=Math.abs(i)<Number.EPSILON;for(;i<0;)i+=r;for(;i>r;)i-=r;i<Number.EPSILON&&(i=a?0:r),!0!==this.aClockwise||a||(i===r?i=-r:i-=r);const s=this.aStartAngle+e*i;let o=this.aX+this.xRadius*Math.cos(s),l=this.aY+this.yRadius*Math.sin(s);if(0!==this.aRotation){const e=Math.cos(this.aRotation),t=Math.sin(this.aRotation),n=o-this.aX,r=l-this.aY;o=n*e-r*t+this.aX,l=n*t+r*e+this.aY}return n.set(o,l)}copy(e){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 Aw extends Tw{constructor(e,t,n,r,i,a){super(e,t,n,n,r,i,a),this.isArcCurve=!0,this.type="ArcCurve"}}function Cw(){let e=0,t=0,n=0,r=0;function i(i,a,s,o){e=i,t=s,n=-3*i+3*a-2*s-o,r=2*i-2*a+s+o}return{initCatmullRom:function(e,t,n,r,a){i(t,n,a*(n-e),a*(r-t))},initNonuniformCatmullRom:function(e,t,n,r,a,s,o){let l=(t-e)/a-(n-e)/(a+s)+(n-t)/s,c=(n-t)/s-(r-t)/(s+o)+(r-n)/o;l*=s,c*=s,i(t,n,l,c)},calc:function(i){const a=i*i;return e+t*i+n*a+r*(a*i)}}}const Pw=new mm,Nw=new Cw,Rw=new Cw,Lw=new Cw;class kw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"centripetal",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;super(),this.isCatmullRomCurve3=!0,this.type="CatmullRomCurve3",this.points=e,this.closed=t,this.curveType=n,this.tension=r}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm,n=this.points,r=n.length,i=(r-(this.closed?0:1))*e;let a,s,o=Math.floor(i),l=i-o;this.closed?o+=o>0?0:(Math.floor(Math.abs(o)/r)+1)*r:0===l&&o===r-1&&(o=r-2,l=1),this.closed||o>0?a=n[(o-1)%r]:(Pw.subVectors(n[0],n[1]).add(n[0]),a=Pw);const c=n[o%r],u=n[(o+1)%r];if(this.closed||o+2<r?s=n[(o+2)%r]:(Pw.subVectors(n[r-1],n[r-2]).add(n[r-1]),s=Pw),"centripetal"===this.curveType||"chordal"===this.curveType){const e="chordal"===this.curveType?.5:.25;let t=Math.pow(a.distanceToSquared(c),e),n=Math.pow(c.distanceToSquared(u),e),r=Math.pow(u.distanceToSquared(s),e);n<1e-4&&(n=1),t<1e-4&&(t=n),r<1e-4&&(r=n),Nw.initNonuniformCatmullRom(a.x,c.x,u.x,s.x,t,n,r),Rw.initNonuniformCatmullRom(a.y,c.y,u.y,s.y,t,n,r),Lw.initNonuniformCatmullRom(a.z,c.z,u.z,s.z,t,n,r)}else"catmullrom"===this.curveType&&(Nw.initCatmullRom(a.x,c.x,u.x,s.x,this.tension),Rw.initCatmullRom(a.y,c.y,u.y,s.y,this.tension),Lw.initCatmullRom(a.z,c.z,u.z,s.z,this.tension));return t.set(Nw.calc(l),Rw.calc(l),Lw.calc(l)),t}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}return this.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 n=this.points[t];e.points.push(n.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 n=e.points[t];this.points.push((new mm).fromArray(n))}return this.closed=e.closed,this.curveType=e.curveType,this.tension=e.tension,this}}function Iw(e,t,n,r,i){const a=.5*(r-t),s=.5*(i-n),o=e*e;return(2*n-2*r+a+s)*(e*o)+(-3*n+3*r-2*a-s)*o+a*e+n}function Dw(e,t,n,r){return function(e,t){const n=1-e;return n*n*t}(e,t)+function(e,t){return 2*(1-e)*e*t}(e,n)+function(e,t){return e*e*t}(e,r)}function zw(e,t,n,r,i){return function(e,t){const n=1-e;return n*n*n*t}(e,t)+function(e,t){const n=1-e;return 3*n*n*e*t}(e,n)+function(e,t){return 3*(1-e)*e*e*t}(e,r)+function(e,t){return e*e*e*t}(e,i)}class Ow extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Of,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Of,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Of;super(),this.isCubicBezierCurve=!0,this.type="CubicBezierCurve",this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of,n=this.v0,r=this.v1,i=this.v2,a=this.v3;return t.set(zw(e,n.x,r.x,i.x,a.x),zw(e,n.y,r.y,i.y,a.y)),t}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}}
2class jw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new mm,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new mm;super(),this.isCubicBezierCurve3=!0,this.type="CubicBezierCurve3",this.v0=e,this.v1=t,this.v2=n,this.v3=r}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm,n=this.v0,r=this.v1,i=this.v2,a=this.v3;return t.set(zw(e,n.x,r.x,i.x,a.x),zw(e,n.y,r.y,i.y,a.y),zw(e,n.z,r.z,i.z,a.z)),t}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 Bw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Of,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of;super(),this.isLineCurve=!0,this.type="LineCurve",this.v1=e,this.v2=t}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of;return 1===e?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(e).add(this.v1)),t}getPointAt(e,t){return this.getPoint(e,t)}getTangent(e,t){const n=t||new Of;return n.copy(this.v2).sub(this.v1).normalize(),n}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 Fw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm;super(),this.isLineCurve3=!0,this.type="LineCurve3",this.v1=e,this.v2=t}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm;return 1===e?t.copy(this.v2):(t.copy(this.v2).sub(this.v1),t.multiplyScalar(e).add(this.v1)),t}getPointAt(e,t){return this.getPoint(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}}
2class Uw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Of,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Of;super(),this.isQuadraticBezierCurve=!0,this.type="QuadraticBezierCurve",this.v0=e,this.v1=t,this.v2=n}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of,n=this.v0,r=this.v1,i=this.v2;return t.set(Dw(e,n.x,r.x,i.x),Dw(e,n.y,r.y,i.y)),t}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 Vw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new mm;super(),this.isQuadraticBezierCurve3=!0,this.type="QuadraticBezierCurve3",this.v0=e,this.v1=t,this.v2=n}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm,n=this.v0,r=this.v1,i=this.v2;return t.set(Dw(e,n.x,r.x,i.x),Dw(e,n.y,r.y,i.y),Dw(e,n.z,r.z,i.z)),t}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 Hw extends Ew{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];super(),this.isSplineCurve=!0,this.type="SplineCurve",this.points=e}getPoint(e){const t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of,n=this.points,r=(n.length-1)*e,i=Math.floor(r),a=r-i,s=n[0===i?i:i-1],o=n[i],l=n[i>n.length-2?n.length-1:i+1],c=n[i>n.length-3?n.length-1:i+2];return t.set(Iw(a,s.x,o.x,l.x,c.x),Iw(a,s.y,o.y,l.y,c.y)),t}copy(e){super.copy(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.points=[];for(let t=0,n=this.points.length;t<n;t++){const n=this.points[t];e.points.push(n.toArray())}return e}fromJSON(e){super.fromJSON(e),this.points=[];for(let t=0,n=e.points.length;t<n;t++){const n=e.points[t];this.points.push((new Of).fromArray(n))}return this}}var Ww=Object.freeze({__proto__:null,ArcCurve:Aw,CatmullRomCurve3:kw,CubicBezierCurve:Ow,CubicBezierCurve3:jw,EllipseCurve:Tw,LineCurve:Bw,LineCurve3:Fw,QuadraticBezierCurve:Uw,QuadraticBezierCurve3:Vw,SplineCurve:Hw});class Gw extends Ew{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);e.equals(t)||this.curves.push(new Bw(t,e))}getPoint(e,t){const n=e*this.getLength(),r=this.getCurveLengths();let i=0;for(;i<r.length;){if(r[i]>=n){const e=r[i]-n,a=this.curves[i],s=a.getLength(),o=0===s?0:1-e/s;return a.getPointAt(o,t)}i++}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,r=this.curves.length;n<r;n++)t+=this.curves[n].getLength(),e.push(t);return this.cacheLengths=e,e}getSpacedPoints(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]: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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:12;const t=[];let n;for(let r=0,i=this.curves;r<i.length;r++){const a=i[r],s=a.isEllipseCurve?2*e:a.isLineCurve||a.isLineCurve3?1:a.isS
vendor: 7,788 bytes, line 2
2plineCurve?e*a.points.length:e,o=a.getPoints(s);for(let e=0;e<o.length;e++){const r=o[e];n&&n.equals(r)||(t.push(r),n=r)}}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 n=e.curves[t];this.curves.push(n.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 n=this.curves[t];e.curves.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.autoClose=e.autoClose,this.curves=[];for(let t=0,n=e.curves.length;t<n;t++){const n=e.curves[t];this.curves.push((new Ww[n.type]).fromJSON(n))}return this}}class qw extends Gw{constructor(e){super(),this.type="Path",this.currentPoint=new Of,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 Bw(this.currentPoint.clone(),new Of(e,t));return this.curves.push(n),this.currentPoint.set(e,t),this}quadraticCurveTo(e,t,n,r){const i=new Uw(this.currentPoint.clone(),new Of(e,t),new Of(n,r));return this.curves.push(i),this.currentPoint.set(n,r),this}bezierCurveTo(e,t,n,r,i,a){const s=new Ow(this.currentPoint.clone(),new Of(e,t),new Of(n,r),new Of(i,a));return this.curves.push(s),this.currentPoint.set(i,a),this}splineThru(e){const t=[this.currentPoint.clone()].concat(e),n=new Hw(t);return this.curves.push(n),this.currentPoint.copy(e[e.length-1]),this}arc(e,t,n,r,i,a){const s=this.currentPoint.x,o=this.currentPoint.y;return this.absarc(e+s,t+o,n,r,i,a),this}absarc(e,t,n,r,i,a){return this.absellipse(e,t,n,n,r,i,a),this}ellipse(e,t,n,r,i,a,s,o){const l=this.currentPoint.x,c=this.currentPoint.y;return this.absellipse(e+l,t+c,n,r,i,a,s,o),this}absellipse(e,t,n,r,i,a,s,o){const l=new Tw(e,t,n,r,i,a,s,o);if(this.curves.length>0){const e=l.getPoint(0);e.equals(this.currentPoint)||this.lineTo(e.x,e.y)}this.curves.push(l);const c=l.getPoint(1);return this.currentPoint.copy(c),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 Xw extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[new Of(0,-.5),new Of(.5,0),new Of(0,.5)],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2*Math.PI;super(),this.type="LatheGeometry",this.parameters={points:e,segments:t,phiStart:n,phiLength:r},t=Math.floor(t),r=Cf(r,0,2*Math.PI);const i=[],a=[],s=[],o=[],l=[],c=1/t,u=new mm,d=new Of,h=new mm,p=new mm,f=new mm;let m=0,g=0;for(let v=0;v<=e.length-1;v++)switch(v){case 0:m=e[v+1].x-e[v].x,g=e[v+1].y-e[v].y,h.x=1*g,h.y=-m,h.z=0*g,f.copy(h),h.normalize(),o.push(h.x,h.y,h.z);break;case e.length-1:o.push(f.x,f.y,f.z);break;default:m=e[v+1].x-e[v].x,g=e[v+1].y-e[v].y,h.x=1*g,h.y=-m,h.z=0*g,p.copy(h),h.x+=f.x,h.y+=f.y,h.z+=f.z,h.normalize(),o.push(h.x,h.y,h.z),f.copy(p)}for(let v=0;v<=t;v++){const i=n+v*c*r,h=Math.sin(i),p=Math.cos(i);for(let n=0;n<=e.length-1;n++){u.x=e[n].x*h,u.y=e[n].y,u.z=e[n].x*p,a.push(u.x,u.y,u.z),d.x=v/t,d.y=n/(e.length-1),s.push(d.x,d.y);const r=o[3*n+0]*h,i=o[3*n+1],c=o[3*n+0]*p;l.push(r,i,c)}}for(let v=0;v<t;v++)for(let t=0;t<e.length-1;t++){const n=t+v*e.length,r=n,a=n+e.length,s=n+e.length+1,o=n+1;i.push(r,a,o),i.push(s,o,a)}this.setIndex(i),this.setAttribute("position",new Vg(a,3)),this.setAttribute("uv",new Vg(s,2)),this.setAttribute("normal",new Vg(l,3))}static fromJSON(e){return new Xw(e.points,e.segments,e.phiStart,e.phiLength)}}class Yw extends Xw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:8;const i=new qw;i.absarc(0,-t/2,e,1.5*Math.PI,0),i.absarc(0,t/2,e,0,.5*Math.PI),super(i.getPoints(n),r),this.type="CapsuleGeometry",this.parameters={radius:e,height:t,capSegments:n,radialSegments:r}}static fromJSON(e){return new Yw(e.radius,e.length,e.capSegments,e.radialSegments)}}class Jw extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2*Math.PI;super(),this.type="CircleGeometry",this.parameters={radius:e,segments:t,thetaStart:n,thetaLength:r},t=Math.max(3,t);const i=[],a=[],s=[],o=[],l=new mm,c=new Of;a.push(0,0,0),s.push(0,0,1),o.push(.5,.5);for(let u=0,d=3;u<=t;u++,d+=3){const i=n+u/t*r;l.x=e*Math.cos(i),l.y=e*Math.sin(i),a.push(l.x,l.y,l.z),s.push(0,0,1),c.x=(a[d]/e+1)/2,c.y=(a[d+1]/e+1)/2,o.push(c.x,c.y)}for(let u=1;u<=t;u++)i.push(u,u+1,0);this.setIndex(i),this.setAttribute("position",new Vg(a,3)),this.setAttribute("normal",new Vg(s,3)),this.setAttribute("uv",new Vg(o,2))}static fromJSON(e){return new Jw(e.radius,e.segments,e.thetaStart,e.thetaLength)}}class Qw extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:32,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]&&arguments[5],s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:2*Math.PI;super(),this.type="CylinderGeometry",this.parameters={radiusTop:e,radiusBottom:t,height:n,radialSegments:r,heightSegments:i,openEnded:a,thetaStart:s,thetaLength:o};const l=this;r=Math.floor(r),i=Math.floor(i);const c=[],u=[],d=[],h=[];let p=0;const f=[],m=n/2;let g=0;function v(n){const i=p,a=new Of,f=new mm;let v=0;const y=!0===n?e:t,x=!0===n?1:-1;for(let e=1;e<=r;e++)u.push(0,m*x,0),d.push(0,x,0),h.push(.5,.5),p++;const b=p;for(let e=0;e<=r;e++){const t=e/r*o+s,n=Math.cos(t),i=Math.sin(t);f.x=y*i,f.y=m*x,f.z=y*n,u.push(f.x,f.y,f.z),d.push(0,x,0),a.x=.5*n+.5,a.y=.5*i*x+.5,h.push(a.x,a.y),p++}for(let e=0;e<r;e++){const t=i+e,r=b+e;!0===n?c.push(r,r+1,t):c.push(r+1,r,t),v+=3}l.addGroup(g,v,!0===n?1:2),g+=v}!function(){const a=new mm,v=new mm;let y=0;const x=(t-e)/n;for(let l=0;l<=i;l++){const c=[],g=l/i,y=g*(t-e)+e;for(let e=0;e<=r;e++){const t=e/r,i=t*o+s,l=Math.sin(i),f=Math.cos(i);v.x=y*l,v.y=-g*n+m,v.z=y*f,u.push(v.x,v.y,v.z),a.set(l,x,f).normalize(),d.push(a.x,a.y,a.z),h.push(t,1-g),c.push(p++)}f.push(c)}for(let e=0;e<r;e++)for(let t=0;t<i;t++){const n=f[t][e],r=f[t+1][e],i=f[t+1][e+1],a=f[t][e+1];c.push(n,r,a),c.push(r,i,a),y+=6}l.addGroup(g,y,0),g+=y}(),!1===a&&(e>0&&v(!0),t>0&&v(!1)),this.setIndex(c),this.setAttribute("position",new Vg(u,3)),this.setAttribute("normal",new Vg(d,3)),this.setAttribute("uv",new Vg(h,2))}static fromJSON(e){return new Qw(e.radiusTop,e.radiusBottom,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class Zw extends Qw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:32,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:2*Math.PI;
2super(0,e,t,n,r,i,a,s),this.type="ConeGeometry",this.parameters={radius:e,height:t,radialSegments:n,heightSegments:r,openEnded:i,thetaStart:a,thetaLength:s}}static fromJSON(e){return new Zw(e.radius,e.height,e.radialSegments,e.heightSegments,e.openEnded,e.thetaStart,e.thetaLength)}}class Kw extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;super(),this.type="PolyhedronGeometry",this.parameters={vertices:e,indices:t,radius:n,detail:r};const i=[],a=[];function s(e,t,n,r){const i=r+1,a=[];for(let s=0;s<=i;s++){a[s]=[];const r=e.clone().lerp(n,s/i),o=t.clone().lerp(n,s/i),l=i-s;for(let e=0;e<=l;e++)a[s][e]=0===e&&s===i?r:r.clone().lerp(o,e/l)}for(let s=0;s<i;s++)for(let e=0;e<2*(i-s)-1;e++){const t=Math.floor(e/2);e%2===0?(o(a[s][t+1]),o(a[s+1][t]),o(a[s][t])):(o(a[s][t+1]),o(a[s+1][t+1]),o(a[s+1][t]))}}function o(e){i.push(e.x,e.y,e.z)}function l(t,n){const r=3*t;n.x=e[r+0],n.y=e[r+1],n.z=e[r+2]}function c(e,t,n,r){r<0&&1===e.x&&(a[t]=e.x-1),0===n.x&&0===n.z&&(a[t]=r/2/Math.PI+.5)}function u(e){return Math.atan2(e.z,-e.x)}function d(e){return Math.atan2(-e.y,Math.sqrt(e.x*e.x+e.z*e.z))}!function(e){const n=new mm,r=new mm,i=new mm;for(let a=0;a<t.length;a+=3)l(t[a+0],n),l(t[a+1],r),l(t[a+2],i),s(n,r,i,e)}(r),function(e){const t=new mm;for(let n=0;n<i.length;n+=3)t.x=i[n+0],t.y=i[n+1],t.z=i[n+2],t.normalize().multiplyScalar(e),i[n+0]=t.x,i[n+1]=t.y,i[n+2]=t.z}(n),function(){const e=new mm;for(let t=0;t<i.length;t+=3){e.x=i[t+0],e.y=i[t+1],e.z=i[t+2];const n=u(e)/2/Math.PI+.5,r=d(e)/Math.PI+.5;a.push(n,1-r)}(function(){const e=new mm,t=new mm,n=new mm,r=new mm,s=new Of,o=new Of,l=new Of;for(let d=0,h=0;d<i.length;d+=9,h+=6){e.set(i[d+0],i[d+1],i[d+2]),t.set(i[d+3],i[d+4],i[d+5]),n.set(i[d+6],i[d+7],i[d+8]),s.set(a[h+0],a[h+1]),o.set(a[h+2],a[h+3]),l.set(a[h+4],a[h+5]),r.copy(e).add(t).add(n).divideScalar(3);const p=u(r);c(s,h+0,e,p),c(o,h+2,t,p),c(l,h+4,n,p)}})(),function(){for(let e=0;e<a.length;e+=6){const t=a[e+0],n=a[e+2],r=a[e+4],i=Math.max(t,n,r),s=Math.min(t,n,r);i>.9&&s<.1&&(t<.2&&(a[e+0]+=1),n<.2&&(a[e+2]+=1),r<.2&&(a[e+4]+=1))}}()}(),this.setAttribute("position",new Vg(i,3)),this.setAttribute("normal",new Vg(i.slice(),3)),this.setAttribute("uv",new Vg(a,2)),0===r?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(e){return new Kw(e.vertices,e.indices,e.radius,e.details)}}class $w extends Kw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=(1+Math.sqrt(5))/2,r=1/n;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-n,0,-r,n,0,r,-n,0,r,n,-r,-n,0,-r,n,0,r,-n,0,r,n,0,-n,0,-r,n,0,-r,-n,0,r,n,0,r],[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,
219,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],e,t),this.type="DodecahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new $w(e.radius,e.detail)}}const e_=new mm,t_=new mm,n_=new mm,r_=new Ag;class i_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;if(super(),this.type="EdgesGeometry",this.parameters={geometry:e,thresholdAngle:t},null!==e){const n=4,r=Math.pow(10,n),i=Math.cos(Ef*t),a=e.getIndex(),s=e.getAttribute("position"),o=a?a.count:s.count,l=[0,0,0],c=["a","b","c"],u=new Array(3),d={},h=[];for(let e=0;e<o;e+=3){a?(l[0]=a.getX(e),l[1]=a.getX(e+1),l[2]=a.getX(e+2)):(l[0]=e,l[1]=e+1,l[2]=e+2);const{a:t,b:n,c:o}=r_;if(t.fromBufferAttribute(s,l[0]),n.fromBufferAttribute(s,l[1]),o.fromBufferAttribute(s,l[2]),r_.getNormal(n_),u[0]="".concat(Math.round(t.x*r),",").concat(Math.round(t.y*r),",").concat(Math.round(t.z*r)),u[1]="".concat(Math.round(n.x*r),",").concat(Math.round(n.y*r),",").concat(Math.round(n.z*r)),u[2]="".concat(Math.round(o.x*r),",").concat(Math.round(o.y*r),",").concat(Math.round(o.z*r)),u[0]!==u[1]&&u[1]!==u[2]&&u[2]!==u[0])for(let e=0;e<3;e++){const t=(e+1)%3,n=u[e],r=u[t],a=r_[c[e]],s=r_[c[t]],o="".concat(n,"_").concat(r),p="".concat(r,"_").concat(n);p in d&&d[p]?(n_.dot(d[p].normal)<=i&&(h.push(a.x,a.y,a.z),h.push(s.x,s.y,s.z)),d[p]=null):o in d||(d[o]={index0:l[e],index1:l[t],normal:n_.clone()})}}for(const e in d)if(d[e]){const{index0:t,index1:n}=d[e];e_.fromBufferAttribute(s,t),t_.fromBufferAttribute(s,n),h.push(e_.x,e_.y,e_.z),h.push(t_.x,t_.y,t_.z)}this.setAttribute("position",new Vg(h,3))}}}class a_ extends qw{constructor(e){super(e),this.uuid=Af(),this.type="Shape",this.holes=[]}getPointsHoles(e){const t=[];for(let n=0,r=this.holes.length;n<r;n++)t[n]=this.holes[n].getPoints(e);return t}extractPoints(e){return{shape:this.getPoints(e),holes:this.getPointsHoles(e)}}copy(e){super.copy(e),this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push(n.clone())}return this}toJSON(){const e=super.toJSON();e.uuid=this.uuid,e.holes=[];for(let t=0,n=this.holes.length;t<n;t++){const n=this.holes[t];e.holes.push(n.toJSON())}return e}fromJSON(e){super.fromJSON(e),this.uuid=e.uuid,this.holes=[];for(let t=0,n=e.holes.length;t<n;t++){const n=e.holes[t];this.holes.push((new qw).fromJSON(n))}return this}}const s_=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2;const r=t&&t.length,i=r?t[0]*n:e.length;let a=o_(e,0,i,n,!0);const s=[];if(!a||a.next===a.prev)return s;let o,l,c,u,d,h,p;
vendor: 3,381 bytes, line 2
2if(r&&(a=function(e,t,n,r){const i=[];let a,s,o,l,c;for(a=0,s=t.length;a<s;a++)o=t[a]*r,l=a<s-1?t[a+1]*r:e.length,c=o_(e,o,l,r,!1),c===c.next&&(c.steiner=!0),i.push(y_(c));for(i.sort(f_),a=0;a<i.length;a++)n=m_(i[a],n);return n}(e,t,a,n)),e.length>80*n){o=c=e[0],l=u=e[1];for(let t=n;t<i;t+=n)d=e[t],h=e[t+1],d<o&&(o=d),h<l&&(l=h),d>c&&(c=d),h>u&&(u=h);p=Math.max(c-o,u-l),p=0!==p?32767/p:0}return c_(a,s,n,o,l,p,0),s};function o_(e,t,n,r,i){let a,s;if(i===function(e,t,n,r){let i=0;for(let a=t,s=n-r;a<n;a+=r)i+=(e[s]-e[a])*(e[a+1]+e[s+1]),s=a;return i}(e,t,n,r)>0)for(a=t;a<n;a+=r)s=C_(a,e[a],e[a+1],s);else for(a=n-r;a>=t;a-=r)s=C_(a,e[a],e[a+1],s);return s&&__(s,s.next)&&(P_(s),s=s.next),s}function l_(e,t){if(!e)return e;t||(t=e);let n,r=e;do{if(n=!1,r.steiner||!__(r,r.next)&&0!==w_(r.prev,r,r.next))r=r.next;else{if(P_(r),r=t=r.prev,r===r.next)break;n=!0}}while(n||r!==t);return t}function c_(e,t,n,r,i,a,s){if(!e)return;!s&&a&&function(e,t,n,r){let i=e;do{0===i.z&&(i.z=v_(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){let t,n,r,i,a,s,o,l,c=1;do{for(n=e,e=null,a=null,s=0;n;){for(s++,r=n,o=0,t=0;t<c&&(o++,r=r.nextZ,r);t++);for(l=c;o>0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(i=n,n=n.nextZ,o--):(i=r,r=r.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,c*=2}while(s>1)}(i)}(e,r,i,a);let o,l,c=e;for(;e.prev!==e.next;)if(o=e.prev,l=e.next,a?d_(e,r,i,a):u_(e))t.push(o.i/n|0),t.push(e.i/n|0),t.push(l.i/n|0),P_(e),e=l.next,c=l.next;else if((e=l)===c){s?1===s?c_(e=h_(l_(e),t,n),t,n,r,i,a,2):2===s&&p_(e,t,n,r,i,a):c_(l_(e),t,n,r,i,a,1);break}}function u_(e){const t=e.prev,n=e,r=e.next;if(w_(t,n,r)>=0)return!1;const i=t.x,a=n.x,s=r.x,o=t.y,l=n.y,c=r.y,u=i<a?i<s?i:s:a<s?a:s,d=o<l?o<c?o:c:l<c?l:c,h=i>a?i>s?i:s:a>s?a:s,p=o>l?o>c?o:c:l>c?l:c;let f=r.next;for(;f!==t;){if(f.x>=u&&f.x<=h&&f.y>=d&&f.y<=p&&x_(i,o,a,l,s,c,f.x,f.y)&&w_(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function d_(e,t,n,r){const i=e.prev,a=e,s=e.next;if(w_(i,a,s)>=0)return!1;const o=i.x,l=a.x,c=s.x,u=i.y,d=a.y,h=s.y,p=o<l?o<c?o:c:l<c?l:c,f=u<d?u<h?u:h:d<h?d:h,m=o>l?o>c?o:c:l>c?l:c,g=u>d?u>h?u:h:d>h?d:h,v=v_(p,f,t,n,r),y=v_(m,g,t,n,r);let x=e.prevZ,b=e.nextZ;for(;x&&x.z>=v&&b&&b.z<=y;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=g&&x!==i&&x!==s&&x_(o,u,l,d,c,h,x.x,x.y)&&w_(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,b.x>=p&&b.x<=m&&b.y>=f&&b.y<=g&&b!==i&&b!==s&&x_(o,u,l,d,c,h,b.x,b.y)&&w_(b.prev,b,b.next)>=0)return!1;b=b.nextZ}for(;x&&x.z>=v;){if(x.x>=p&&x.x<=m&&x.y>=f&&x.y<=g&&x!==i&&x!==s&&x_(o,u,l,d,c,h,x.x,x.y)&&w_(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;b&&b.z<=y;){if(b.x>=p&&b.x<=m&&b.y>=f&&b.y<=g&&b!==i&&b!==s&&x_(o,u,l,d,c,h,b.x,b.y)&&w_(b.prev,b,b.next)>=0)return!1;b=b.nextZ}return!0}function h_(e,t,n){let r=e;do{const i=r.prev,a=r.next.next;!__(i,a)&&S_(i,r,r.next,a)&&T_(i,a)&&T_(a,i)&&(t.push(i.i/n|0),t.push(r.i/n|0),t.push(a.i/n|0),P_(r),P_(r.next),r=e=a),r=r.next}while(r!==e);return l_(r)}function p_(e,t,n,r,i,a){let s=e;do{let e=s.next.next;for(;e!==s.prev;){if(s.i!==e.i&&b_(s,e)){let o=A_(s,e);return s=l_(s,s.next),o=l_(o,o.next),c_(s,t,n,r,i,a,0),void c_(o,t,n,r,i,a,0)}e=e.next}s=s.next}while(s!==e)}function f_(e,t){return e.x-t.x}function m_(e,t){const n=function(e,t){let n,r=t,i=-1/0;const a=e.x,s=e.y;do{if(s<=r.y&&s>=r.next.y&&r.next.y!==r.y){const e=r.x+(s-r.y)*(r.next.x-r.x)/(r.next.y-r.y
vendor: 19,493 bytes, line 2
2);if(e<=a&&e>i&&(i=e,n=r.x<r.next.x?r:r.next,e===a))return n}r=r.next}while(r!==t);if(!n)return null;const o=n,l=n.x,c=n.y;let u,d=1/0;r=n;do{a>=r.x&&r.x>=l&&a!==r.x&&x_(s<c?a:i,s,l,c,s<c?i:a,s,r.x,r.y)&&(u=Math.abs(s-r.y)/(a-r.x),T_(r,e)&&(u<d||u===d&&(r.x>n.x||r.x===n.x&&g_(n,r)))&&(n=r,d=u)),r=r.next}while(r!==o);return n}(e,t);if(!n)return t;const r=A_(n,e);return l_(r,r.next),l_(n,n.next)}function g_(e,t){return w_(e.prev,e,t.prev)<0&&w_(t.next,e,e.next)<0}function v_(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function y_(e){let t=e,n=e;do{(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next}while(t!==e);return n}function x_(e,t,n,r,i,a,s,o){return(i-s)*(t-o)>=(e-s)*(a-o)&&(e-s)*(r-o)>=(n-s)*(t-o)&&(n-s)*(a-o)>=(i-s)*(r-o)}function b_(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&S_(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(T_(e,t)&&T_(t,e)&&function(e,t){let n=e,r=!1;const i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!==n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(w_(e.prev,e,t.prev)||w_(e,t.prev,t))||__(e,t)&&w_(e.prev,e,e.next)>0&&w_(t.prev,t,t.next)>0)}function w_(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function __(e,t){return e.x===t.x&&e.y===t.y}function S_(e,t,n,r){const i=E_(w_(e,t,n)),a=E_(w_(e,t,r)),s=E_(w_(n,r,e)),o=E_(w_(n,r,t));return i!==a&&s!==o||(!(0!==i||!M_(e,n,t))||(!(0!==a||!M_(e,r,t))||(!(0!==s||!M_(n,e,r))||!(0!==o||!M_(n,t,r)))))}function M_(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function E_(e){return e>0?1:e<0?-1:0}function T_(e,t){return w_(e.prev,e,e.next)<0?w_(e,t,e.next)>=0&&w_(e,e.prev,t)>=0:w_(e,t,e.prev)<0||w_(e,e.next,t)<0}function A_(e,t){const n=new N_(e.i,e.x,e.y),r=new N_(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function C_(e,t,n,r){const i=new N_(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function P_(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function N_(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}class R_{static area(e){const t=e.length;let n=0;for(let r=t-1,i=0;i<t;r=i++)n+=e[r].x*e[i].y-e[i].x*e[r].y;return.5*n}static isClockWise(e){return R_.area(e)<0}static triangulateShape(e,t){const n=[],r=[],i=[];L_(e),k_(n,e);let a=e.length;t.forEach(L_);for(let o=0;o<t.length;o++)r.push(a),a+=t[o].length,k_(n,t[o]);const s=s_(n,r);for(let o=0;o<s.length;o+=3)i.push(s.slice(o,o+3));return i}}function L_(e){const t=e.length;t>2&&e[t-1].equals(e[0])&&e.pop()}function k_(e,t){for(let n=0;n<t.length;n++)e.push(t[n].x),e.push(t[n].y)}class I_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new a_([new Of(.5,.5),new Of(-.5,.5),new Of(-.5,-.5),new Of(.5,-.5)]),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),this.type="ExtrudeGeometry",this.parameters={shapes:e,options:t},e=Array.isArray(e)?e:[e];const n=this,r=[],i=[];for(let s=0,o=e.length;s<o;s++){a(e[s])}function a(e){const a=[],s=void 0!==t.curveSegments?t.curveSegments:12,o=void 0!==t.steps?t.steps:1,l=void 0!==t.depth?t.depth:1;let c=void 0===t.bevelEnabled||t.bevelEnabled,u=void 0!==t.bevelThickness?t.bevelThickness:.2,d=void 0!==t.bevelSize?t.bevelSize:u-.1,h=void 0!==t.bevelOffset?t.bevelOffset:0,p=void 0!==t.bevelSegments?t.bevelSegments:3;const f=t.extrudePath,m=void 0!==t.UVGenerator?t.UVGenerator:D_;let g,v,y,x,b,w=!1;f&&(g=f.getSpacedPoints(o),w=!0,c=!1,v=f.computeFrenetFrames(o,!1),y=new mm,x=new mm,b=new mm),c||(p=0,u=0,d=0,h=0);const _=e.extractPoints(s);let S=_.shape;const M=_.holes;if(!R_.isClockWise(S)){S=S.reverse();for(let e=0,t=M.length;e<t;e++){const t=M[e];R_.isClockWise(t)&&(M[e]=t.reverse())}}const E=R_.triangulateShape(S,M),T=S;for(let t=0,n=M.length;t<n;t++){const e=M[t];S=S.concat(e)}function A(e,t,n){return t||console.error("THREE.ExtrudeGeometry: vec does not exist"),t.clone().multiplyScalar(n).add(e)}const C=S.length,P=E.length;function N(e,t,n){let r,i,a;const s=e.x-t.x,o=e.y-t.y,l=n.x-e.x,c=n.y-e.y,u=s*s+o*o,d=s*c-o*l;if(Math.abs(d)>Number.EPSILON){const d=Math.sqrt(u),h=Math.sqrt(l*l+c*c),p=t.x-o/d,f=t.y+s/d,m=((n.x-c/h-p)*c-(n.y+l/h-f)*l)/(s*c-o*l);r=p+s*m-e.x,i=f+o*m-e.y;const g=r*r+i*i;if(g<=2)return new Of(r,i);a=Math.sqrt(g/2)}else{let e=!1;s>Number.EPSILON?l>Number.EPSILON&&(e=!0):s<-Number.EPSILON?l<-Number.EPSILON&&(e=!0):Math.sign(o)===Math.sign(c)&&(e=!0),e?(r=-o,i=s,a=Math.sqrt(u)):(r=s,i=o,a=Math.sqrt(u/2))}return new Of(r/a,i/a)}const R=[];for(let t=0,n=T.length,r=n-1,i=t+1;t<n;t++,r++,i++)r===n&&(r=0),i===n&&(i=0),R[t]=N(T[t],T[r],T[i]);const L=[];let k,I=R.concat();for(let t=0,n=M.length;t<n;t++){const e=M[t];k=[];for(let t=0,n=e.length,r=n-1,i=t+1;t<n;t++,r++,i++)r===n&&(r=0),i===n&&(i=0),k[t]=N(e[t],e[r],e[i]);L.push(k),I=I.concat(k)}for(let t=0;t<p;t++){const e=t/p,n=u*Math.cos(e*Math.PI/2),r=d*Math.sin(e*Math.PI/2)+h;for(let t=0,i=T.length;t<i;t++){const e=A(T[t],R[t],r);O(e.x,e.y,-n)}for(let t=0,i=M.length;t<i;t++){const e=M[t];k=L[t];for(let t=0,i=e.length;t<i;t++){const i=A(e[t],k[t],r);O(i.x,i.y,-n)}}}const D=d+h;for(let t=0;t<C;t++){const e=c?A(S[t],I[t],D):S[t];w?(x.copy(v.normals[0]).multiplyScalar(e.x),y.copy(v.binormals[0]).multiplyScalar(e.y),b.copy(g[0]).add(x).add(y),O(b.x,b.y,b.z)):O(e.x,e.y,0)}for(let t=1;t<=o;t++)for(let e=0;e<C;e++){const n=c?A(S[e],I[e],D):S[e];w?(x.copy(v.normals[t]).multiplyScalar(n.x),y.copy(v.binormals[t]).multiplyScalar(n.y),b.copy(g[t]).add(x).add(y),O(b.x,b.y,b.z)):O(n.x,n.y,l/o*t)}for(let t=p-1;t>=0;t--){const e=t/p,n=u*Math.cos(e*Math.PI/2),r=d*Math.sin(e*Math.PI/2)+h;for(let t=0,i=T.length;t<i;t++){const e=A(T[t],R[t],r);O(e.x,e.y,l+n)}for(let t=0,i=M.length;t<i;t++){const e=M[t];k=L[t];for(let t=0,i=e.length;t<i;t++){const i=A(e[t],k[t],r);w?O(i.x,i.y+g[o-1].y,g[o-1].x+n):O(i.x,i.y,l+n)}}}function z(e,t){let n=e.length;for(;--n>=0;){const r=n;let i=n-1;i<0&&(i=e.length-1);for(let e=0,n=o+2*p;e<n;e++){const n=C*e,a=C*(e+1);B(t+r+n,t+i+n,t+i+a,t+r+a)}}}function O(e,t,n){a.push(e),a.push(t),a.push(n)}function j(e,t,i){F(e),F(t),F(i);const a=r.length/3,s=m.generateTopUV(n,r,a-3,a-2,a-1);U(s[0]),U(s[1]),U(s[2])}function B(e,t,i,a){F(e),F(t),F(a),F(t),F(i),F(a);const s=r.length/3,o=m.generateSideWallUV(n,r,s-6,s-3,s-2,s-1);U(o[0]),U(o[1]),U(o[3]),U(o[1]),U(o[2]),U(o[3])}function F(e){r.push(a[3*e+0]),r.push(a[3*e+1]),r.push(a[3*e+2])}function U(e){i.push(e.x),i.push(e.y)}!function(){const e=r.length/3;if(c){let e=0,t=C*e;for(let n=0;n<P;n++){const e=E[n];j(e[2]+t,e[1]+t,e[0]+t)}e=o+2*p,t=C*e;for(let n=0;n<P;n++){const e=E[n];j(e[0]+t,e[1]+t,e[2]+t)}}else{for(let e=0;e<P;e++){const t=E[e];j(t[2],t[1],t[0])}for(let e=0;e<P;e++){const t=E[e];j(t[0]+C*o,t[1]+C*o,t[2]+C*o)}}n.addGroup(e,r.length/3-e,0)}(),function(){const e=r.length/3;let t=0;z(T,t),t+=T.length;for(let n=0,r=M.length;n<r;n++){const e=M[n];z(e,t),t+=e.length}n.addGroup(e,r.length/3-e,1)}()}this.setAttribute("position",new Vg(r,3)),this.setAttribute("uv",new Vg(i,2)),this.computeVertexNormals()}toJSON(){const e=super.toJSON();return function(e,t,n){if(n.shapes=[],Array.isArray(e))for(let r=0,i=e.length;r<i;r++){const t=e[r];n.shapes.push(t.uuid)}else n.shapes.push(e.uuid);n.options=Object.assign({},t),void 0!==t.extrudePath&&(n.options.extrudePath=t.extrudePath.toJSON());return n}(this.parameters.shapes,this.parameters.options,e)}static fromJSON(e,t){const n=[];for(let i=0,a=e.shapes.length;i<a;i++){const r=t[e.shapes[i]];n.push(r)}const r=e.options.extrudePath;return void 0!==r&&(e.options.extrudePath=(new Ww[r.type]).fromJSON(r)),new I_(n,e.options)}}const D_={generateTopUV:function(e,t,n,r,i){const a=t[3*n],s=t[3*n+1],o=t[3*r],l=t[3*r+1],c=t[3*i],u=t[3*i+1];return[new Of(a,s),new Of(o,l),new Of(c,u)]},generateSideWallUV:function(e,t,n,r,i,a){const s=t[3*n],o=t[3*n+1],l=t[3*n+2],c=t[3*r],u=t[3*r+1],d=t[3*r+2],h=t[3*i],p=t[3*i+1],f=t[3*i+2],m=t[3*a],g=t[3*a+1],v=t[3*a+2];return Math.abs(o-u)<Math.abs(s-c)?[new Of(s,1-l),new Of(c,1-d),new Of(h,1-f),new Of(m,1-v)]:[new Of(o,1-l),new Of(u,1-d),new Of(p,1-f),new Of(g,1-v)]}};class z_ extends Kw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=(1+Math.sqrt(5))/2;super([-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],[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],e,t),this.type="IcosahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new z_(e.radius,e.detail)}}class O_ extends Kw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;super([1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],e,t),this.type="OctahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new O_(e.radius,e.detail)}}class j_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:32,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2*Math.PI;super(),this.type="RingGeometry",this.parameters={innerRadius:e,outerRadius:t,thetaSegments:n,phiSegments:r,thetaStart:i,thetaLength:a},n=Math.max(3,n),r=Math.max(1,r);const s=[],o=[],l=[],c=[];let u=e;const d=(t-e)/r,h=new mm,p=new Of;for(let f=0;f<=r;f++){for(let e=0;e<=n;e++){const r=i+e/n*a;h.x=u*Math.cos(r),h.y=u*Math.sin(r),o.push(h.x,h.y,h.z),l.push(0,0,1),p.x=(h.x/t+1)/2,p.y=(h.y/t+1)/2,c.push(p.x,p.y)}u+=d}for(let f=0;f<r;f++){const e=f*(n+1);for(let t=0;t<n;t++){const r=t+e,i=r,a=r+n+1,o=r+n+2,l=r+1;s.push(i,a,l),s.push(a,o,l)}}this.setIndex(s),this.setAttribute("position",new Vg(o,3)),this.setAttribute("normal",new Vg(l,3)),this.setAttribute("uv",new Vg(c,2))}static fromJSON(e){return new j_(e.innerRadius,e.outerRadius,e.thetaSegments,e.phiSegments,e.thetaStart,e.thetaLength)}}class B_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new a_([new Of(0,.5),new Of(-.5,-.5),new Of(.5,-.5)]),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:12;super(),this.type="ShapeGeometry",this.parameters={shapes:e,curveSegments:t};const n=[],r=[],i=[],a=[];let s=0,o=0;if(!1===Array.isArray(e))l(e);else for(let c=0;c<e.length;c++)l(e[c]),this.addGroup(s,o,c),s+=o,o=0;function l(e){const s=r.length/3,l=e.extractPoints(t);let c=l.shape;const u=l.holes;!1===R_.isClockWise(c)&&(c=c.reverse());for(let t=0,n=u.length;t<n;t++){const e=u[t];!0===R_.isClockWise(e)&&(u[t]=e.reverse())}const d=R_.triangulateShape(c,u);for(let t=0,n=u.length;t<n;t++){const e=u[t];c=c.concat(e)}for(let t=0,n=c.length;t<n;t++){const e=c[t];r.push(e.x,e.y,0),i.push(0,0,1),a.push(e.x,e.y)}for(let t=0,r=d.length;t<r;t++){const e=d[t],r=e[0]+s,i=e[1]+s,a=e[2]+s;n.push(r,i,a),o+=3}}this.setIndex(n),this.setAttribute("position",new Vg(r,3)),this.setAttribute("normal",new Vg(i,3)),this.setAttribute("uv",new Vg(a,2))}toJSON(){const e=super.toJSON();return function(e,t){if(t.shapes=[],Array.isArray(e))for(let n=0,r=e.length;n<r;n++){const r=e[n];t.shapes.push(r.uuid)}else t.shapes.push(e.uuid);return t}(this.parameters.shapes,e)}static fromJSON(e,t){const n=[];for(let r=0,i=e.shapes.length;r<i;r++){const i=t[e.shapes[r]];n.push(i)}return new B_(n,e.curveSegments)}}class F_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:32,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2*Math.PI,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:Math.PI;super(),this.type="SphereGeometry",this.parameters={radius:e,widthSegments:t,heightSegments:n,phiStart:r,phiLength:i,thetaStart:a,thetaLength:s},t=Math.max(3,Math.floor(t)),n=Math.max(2,Math.floor(n));const o=Math.min(a+s,Math.PI);let l=0;const c=[],u=new mm,d=new mm,h=[],p=[],f=[],m=[];for(let g=0;g<=n;g++){const h=[],v=g/n;let y=0;0==g&&0==a?y=.5/t:g==n&&o==Math.PI&&(y=-.5/t);for(let n=0;n<=t;n++){const o=n/t;u.x=-e*Math.cos(r+o*i)*Math.sin(a+v*s),u.y=e*Math.cos(a+v*s),u.z=e*Math.sin(r+o*i)*Math.sin(a+v*s),p.push(u.x,u.y,u.z),d.copy(u).normalize(),f.push(d.x,d.y,d.z),m.push(o+y,1-v),h.push(l++)}c.push(h)}for(let g=0;g<n;g++)for(let e=0;e<t;e++){const t=c[g][e+1],r=c[g][e],i=c[g+1][e],s=c[g+1][e+1];(0!==g||a>0)&&h.push(t,r,s),(g!==n-1||o<Math.PI)&&h.push(r,i,s)}this.setIndex(h),this.setAttribute("position",new Vg(p,3)),this.setAttribute("normal",new Vg(f,3)),this.setAttribute("uv",new Vg(m,2))}static fromJSON(e){return new F_(e.radius,e.widthSegments,e.heightSegments,e.phiStart,e.phiLength,e.thetaStart,e.thetaLength)}}class U_ extends Kw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;super([1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],e,t),this.type="TetrahedronGeometry",this.parameters={radius:e,detail:t}}static fromJSON(e){return new U_(e.radius,e.detail)}}class V_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.4,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:12,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:48,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2*Math.PI;super(),this.type="TorusGeometry",this.parameters={radius:e,tube:t,radialSegments:n,tubularSegments:r,arc:i},n=Math.floor(n),r=Math.floor(r);const a=[],s=[],o=[],l=[],c=new mm,u=new mm,d=new mm;for(let h=0;h<=n;h++)for(let a=0;a<=r;a++){const p=a/r*i,f=h/n*Math.PI*2;u.x=(e+t*Math.cos(f))*Math.cos(p),u.y=(e+t*Math.cos(f))*Math.sin(p),u.z=t*Math.sin(f),s.push(u.x,u.y,u.z),c.x=e*Math.cos(p),c.y=e*Math.sin(p),d.subVectors(u,c).normalize(),o.push(d.x,d.y,d.z),l.push(a/r),l.push(h/n)}for(let h=1;h<=n;h++)for(let e=1;e<=r;e++){const t=(r+1)*h+e-1,n=(r+1)*(h-1)+e-1,i=(r+1)*(h-1)+e,s=(r+1)*h+e;a.push(t,n,s),a.push(n,i,s)}this.setIndex(a),this.setAttribute("position",new Vg(s,3)),this.setAttribute("normal",new Vg(o,3)),this.setAttribute("uv",new Vg(l,2))}static fromJSON(e){return new V_(e.radius,e.tube,e.radialSegments,e.tubularSegments,e.arc)}}class H_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.4,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:64,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:8,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:2,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:3;super(),this.type="TorusKnotGeometry",this.parameters={radius:e,tube:t,tubularSegments:n,radialSegments:r,p:i,q:a},n=Math.floor(n),r=Math.floor(r);const s=[],o=[],l=[],c=[],u=new mm,d=new mm,h=new mm,p=new mm,f=new mm,m=new mm,g=new mm;for(let y=0;y<=n;++y){const s=y/n*i*Math.PI*2;v(s,i,a,e,h),v(s+.01,i,a,e,p),m.subVectors(p,h),g.addVectors(p,h),f.crossVectors(m,g),g.crossVectors(f,m),f.normalize(),g.normalize();for(let e=0;e<=r;++e){const i=e/r*Math.PI*2,a=-t*Math.cos(i),s=t*Math.sin(i);u.x=h.x+(a*g.x+s*f.x),u.y=h.y+(a*g.y+s*f.y),u.z=h.z+(a*g.z+s*f.z),o.push(u.x,u.y,u.z),d.subVectors(u,h).normalize(),l.push(d.x,d.y,d.z),c.push(y/n),c.push(e/r)}}for(let y=1;y<=n;y++)for(let e=1;e<=r;e++){const t=(r+1)*(y-1)+(e-1),n=(r+1)*y+(e-1),i=(r+1)*y+e,a=(r+1)*(y-1)+e;s.push(t,n,a),s.push(n,i,a)}function v(e,t,n,r,i){const a=Math.cos(e),s=Math.sin(e),o=n/t*e,l=Math.cos(o);i.x=r*(2+l)*.5*a,i.y=r*(2+l)*s*.5,i.z=r*Math.sin(o)*.5}this.setIndex(s),this.setAttribute("position",new Vg(o,3)),this.setAttribute("normal",new Vg(l,3)),this.setAttribute("uv",new Vg(c,2))}static fromJSON(e){return new H_(e.radius,e.tube,e.tubularSegments,e.radialSegments,e.p,e.q)}}class W_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Vw(new mm(-1,-1,0),new mm(-1,1,0),new mm(1,1,0)),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:64,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:8,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.type="TubeGeometry",this.parameters={path:e,tubularSegments:t,radius:n,radialSegments:r,closed:i};const a=e.computeFrenetFrames(t,i);this.tangents=a.tangents,this.normals=a.normals,this.binormals=a.binormals;const s=new mm,o=new mm,l=new Of;let c=new mm;const u=[],d=[],h=[],p=[];function f(i){c=e.getPointAt(i/t,c);const l=a.normals[i],h=a.binormals[i];for(let e=0;e<=r;e++){const t=e/r*Math.PI*2,i=Math.sin(t),a=-Math.cos(t);o.x=a*l.x+i*h.x,o.y=a*l.y+i*h.y,o.z=a*l.z+i*h.z,o.normalize(),d.push(o.x,o.y,o.z),s.x=c.x+n*o.x,s.y=c.y+n*o.y,s.z=c.z+n*o.z,u.push(s.x,s.y,s.z)}}!function(){for(let e=0;e<t;e++)f(e);f(!1===i?t:0),function(){for(let e=0;e<=t;e++)for(let n=0;n<=r;n++)l.x=e/t,l.y=n/r,h.push(l.x,l.y)}(),function(){for(let e=1;e<=t;e++)for(let t=1;t<=r;t++){const n=(r+1)*(e-1)+(t-1),i=(r+1)*e+(t-1),a=(r+1)*e+t,s=(r+1)*(e-1)+t;p.push(n,i,s),p.push(i,a,s)}}()}(),this.setIndex(p),this.setAttribute("position",new Vg(u,3)),this.setAttribute("normal",new Vg(d,3)),this.setAttribute("uv",new Vg(h,2))}toJSON(){const e=super.toJSON();return e.path=this.parameters.path.toJSON(),e}static fromJSON(e){return new W_((new Ww[e.path.type]).fromJSON(e.path),e.tubularSegments,e.radius,e.radialSegments,e.closed)}}class G_ extends Zg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(super(),this.type="WireframeGeometry",this.parameters={geometry:e},null!==e){const t=[],n=new Set,r=new mm,i=new mm;if(null!==e.index){const a=e.attributes.position,s=e.index;let o=e.groups;0===o.length&&(o=[{start:0,count:s.count,materialIndex:0}]);for(let e=0,l=o.length;e<l;++e){const l=o[e],c=l.start;for(let e=c,o=c+l.count;e<o;e+=3)for(let l=0;l<3;l++){const o=s.getX(e+l),c=s.getX(e+(l+1)%3);r.fromBufferAttribute(a,o),i.fromBufferAttribute(a,c),!0===q_(r,i,n)&&(t.push(r.x,r.y,r.z),t.push(i.x,i.y,i.z))}}}else{const a=e.attributes.position;for(let e=0,s=a.count/3;e<s;e++)for(let o=0;o<3;o++){const s=3*e+o,l=3*e+(o+1)%3;r.fromBufferAttribute(a,s),i.fromBufferAttribute(a,l),!0===q_(r,i,n)&&(t.push(r.x,r.y,r.z),t.push(i.x,i.y,i.z))}}this.setAttribute("position",new Vg(t,3))}}}function q_(e,t,n){const r="".concat(e.x,",").concat(e.y,",").concat(e.z,"-").concat(t.x,",").concat(t.y,",").concat(t.z),i="".concat(t.x,",").concat(t.y,",").concat(t.z,"-").concat(e.x,",").concat(e.y,",").concat(e.z);return!0!==n.has(r)&&!0!==n.has(i)&&(n.add(r),n.add(i),!0)}var X_=Object.freeze({__proto__:null,BoxGeometry:pv,CapsuleGeometry:Yw,CircleGeometry:Jw,
vendor: 10,889 bytes, line 2
2ConeGeometry:Zw,CylinderGeometry:Qw,DodecahedronGeometry:$w,EdgesGeometry:i_,ExtrudeGeometry:I_,IcosahedronGeometry:z_,LatheGeometry:Xw,OctahedronGeometry:O_,PlaneGeometry:Iv,PolyhedronGeometry:Kw,RingGeometry:j_,ShapeGeometry:B_,SphereGeometry:F_,TetrahedronGeometry:U_,TorusGeometry:V_,TorusKnotGeometry:H_,TubeGeometry:W_,WireframeGeometry:G_});class Y_ extends Pg{constructor(e){super(),this.isShadowMaterial=!0,this.type="ShadowMaterial",this.color=new em(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 J_ extends yv{constructor(e){super(e),this.isRawShaderMaterial=!0,this.type="RawShaderMaterial"}}class Q_ extends Pg{constructor(e){super(),this.isMeshStandardMaterial=!0,this.defines={STANDARD:""},this.type="MeshStandardMaterial",this.color=new em(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 em(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Vp,this.normalScale=new Of(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.roughnessMap=null,this.metalnessMap=null,this.alphaMap=null,this.envMap=null,this.envMapIntensity=1,this.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.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 Z_ extends Q_{constructor(e){super(),this.isMeshPhysicalMaterial=!0,this.defines={STANDARD:"",PHYSICAL:""},this.type="MeshPhysicalMaterial",this.clearcoatMap=null,this.clearcoatRoughness=0,this.clearcoatRoughnessMap=null,this.clearcoatNormalScale=new Of(1,1),this.clearcoatNormalMap=null,this.ior=1.5,Object.defineProperty(this,"reflectivity",{get:function(){return Cf(2.5*(this.ior-1)/(this.ior+1),0,1)},set:function(e){this.ior=(1+.4*e)/(1-.4*e)}}),this.iridescenceMap=null,this.iridescenceIOR=1.3,this.iridescenceThicknessRange=[100,400],this.iridescenceThicknessMap=null,this.sheenColor=new em(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 em(1,1,1),this.specularIntensity=1,this.specularIntensityMap=null,this.specularColor=new em(1,1,1),this.specularColorMap=null,this._sheen=0,this._clearcoat=0,this._iridescence=0,this._transmission=0,this.setValues(e)}get sheen(){return this._sheen}set sheen(e){this._sheen>0!==e>0&&this.version++,this._sheen=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!==e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!==e>0&&this.version++,this._iridescence=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.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.ior=e.ior,this.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 K_ extends Pg{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new em(16777215),this.specular=new em(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new em(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Vp,this.normalScale=new Of(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Kd,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.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 $_ extends Pg{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new em(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new em(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Vp,this.normalScale=new Of(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 eS extends Pg{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Vp,this.normalScale=new Of(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 tS extends Pg{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new em(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new em(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Vp,this.normalScale=new Of(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.combine=Kd,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.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}}
vendor: 14,763 bytes, line 2
2class nS extends Pg{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new em(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=Vp,this.normalScale=new Of(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 rS extends nw{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 iS(e,t,n){return sS(e)?new e.constructor(e.subarray(t,void 0!==n?n:e.length)):e.slice(t,n)}function aS(e,t,n){return!e||!n&&e.constructor===t?e:"number"===typeof t.BYTES_PER_ELEMENT?new t(e):Array.prototype.slice.call(e)}function sS(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function oS(e){const t=e.length,n=new Array(t);for(let r=0;r!==t;++r)n[r]=r;return n.sort(function(t,n){return e[t]-e[n]}),n}function lS(e,t,n){const r=e.length,i=new e.constructor(r);for(let a=0,s=0;s!==r;++a){const r=n[a]*t;for(let n=0;n!==t;++n)i[s++]=e[r+n]}return i}function cS(e,t,n,r){let i=1,a=e[0];for(;void 0!==a&&void 0===a[r];)a=e[i++];if(void 0===a)return;let s=a[r];if(void 0!==s)if(Array.isArray(s))do{s=a[r],void 0!==s&&(t.push(a.time),n.push.apply(n,s)),a=e[i++]}while(void 0!==a);else if(void 0!==s.toArray)do{s=a[r],void 0!==s&&(t.push(a.time),s.toArray(n,n.length)),a=e[i++]}while(void 0!==a);else do{s=a[r],void 0!==s&&(t.push(a.time),n.push(s)),a=e[i++]}while(void 0!==a)}var uS=Object.freeze({__proto__:null,arraySlice:iS,convertArray:aS,flattenJSON:cS,getKeyframeOrder:oS,isTypedArray:sS,makeClipAdditive:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30;r<=0&&(r=30);const i=n.tracks.length,a=t/r;for(let s=0;s<i;++s){const t=n.tracks[s],r=t.ValueTypeName;if("bool"===r||"string"===r)continue;const i=e.tracks.find(function(e){return e.name===t.name&&e.ValueTypeName===r});if(void 0===i)continue;let o=0;const l=t.getValueSize();t.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(o=l/3);let c=0;const u=i.getValueSize();i.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline&&(c=u/3);const d=t.times.length-1;let h;if(a<=t.times[0]){const e=o,n=l-o;h=iS(t.values,e,n)}else if(a>=t.times[d]){const e=d*l+o,n=e+l-o;h=iS(t.values,e,n)}else{const e=t.createInterpolant(),n=o,r=l-o;e.evaluate(a),h=iS(e.resultBuffer,n,r)}if("quaternion"===r){(new fm).fromArray(h).normalize().conjugate().toArray(h)}const p=i.times.length;for(let e=0;e<p;++e){const t=e*u+c;if("quaternion"===r)fm.multiplyQuaternionsFlat(i.values,t,h,0,i.values,t);else{const e=u-2*c;for(let n=0;n<e;++n)i.values[t+n]-=h[n]}}}return e.blendMode=Ip,e},sortedArray:lS,subclip:function(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:30;const a=e.clone();a.name=t;const s=[];for(let l=0;l<a.tracks.length;++l){const e=a.tracks[l],t=e.getValueSize(),o=[],c=[];for(let a=0;a<e.times.length;++a){const s=e.times[a]*i;if(!(s<n||s>=r)){o.push(e.times[a]);for(let n=0;n<t;++n)c.push(e.values[a*t+n])}}0!==o.length&&(e.times=aS(o,e.times.constructor),e.values=aS(c,e.values.constructor),s.push(e))}a.tracks=s;let o=1/0;for(let l=0;l<a.tracks.length;++l)o>a.tracks[l].times[0]&&(o=a.tracks[l].times[0]);for(let l=0;l<a.tracks.length;++l)a.tracks[l].shift(-1*o);return a.resetDuration(),a}});class dS{constructor(e,t,n,r){this.parameterPositions=e,this._cachedIndex=0,this.resultBuffer=void 0!==r?r:new t.constructor(n),this.sampleValues=t,this.valueSize=n,this.settings=null,this.DefaultSettings_={}}evaluate(e){const t=this.parameterPositions;let n=this._cachedIndex,r=t[n],i=t[n-1];e:{t:{let a;n:{r:if(!(e<r)){for(let a=n+2;;){if(void 0===r){if(e<i)break r;return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}if(n===a)break;if(i=r,r=t[++n],e<r)break t}a=t.length;break n}if(!(e>=i)){const s=t[1];e<s&&(n=2,i=s);for(let a=n-2;;){if(void 0===i)return this._cachedIndex=0,this.copySampleValue_(0);if(n===a)break;if(r=i,i=t[--n-1],e>=i)break t}a=n,n=0;break n}break e}for(;n<a;){const r=n+a>>>1;e<t[r]?a=r:n=r+1}if(r=t[n],i=t[n-1],void 0===i)return this._cachedIndex=0,this.copySampleValue_(0);if(void 0===r)return n=t.length,this._cachedIndex=n,this.copySampleValue_(n-1)}this._cachedIndex=n,this.intervalChanged_(n,i,r)}return this.interpolate_(n,i,e,r)}getSettings_(){return this.settings||this.DefaultSettings_}copySampleValue_(e){const t=this.resultBuffer,n=this.sampleValues,r=this.valueSize,i=e*r;for(let a=0;a!==r;++a)t[a]=n[i+a];return t}interpolate_(){throw new Error("call to abstract method")}intervalChanged_(){}}class hS extends dS{constructor(e,t,n,r){super(e,t,n,r),this._weightPrev=-0,this._offsetPrev=-0,this._weightNext=-0,this._offsetNext=-0,this.DefaultSettings_={endingStart:Np,endingEnd:Np}}intervalChanged_(e,t,n){const r=this.parameterPositions;let i=e-2,a=e+1,s=r[i],o=r[a];if(void 0===s)switch(this.getSettings_().endingStart){case Rp:i=e,s=2*t-n;break;case Lp:i=r.length-2,s=t+r[i]-r[i+1];break;default:i=e,s=n}if(void 0===o)switch(this.getSettings_().endingEnd){case Rp:a=e,o=2*n-t;break;case Lp:a=1,o=n+r[1]-r[0];break;default:a=e-1,o=t}const l=.5*(n-t),c=this.valueSize;this._weightPrev=l/(t-s),this._weightNext=l/(o-n),this._offsetPrev=i*c,this._offsetNext=a*c}interpolate_(e,t,n,r){const i=this.resultBuffer,a=this.sampleValues,s=this.valueSize,o=e*s,l=o-s,c=this._offsetPrev,u=this._offsetNext,d=this._weightPrev,h=this._weightNext,p=(n-t)/(r-t),f=p*p,m=f*p,g=-d*m+2*d*f-d*p,v=(1+d)*m+(-1.5-2*d)*f+(-.5+d)*p+1,y=(-1-h)*m+(1.5+h)*f+.5*p,x=h*m-h*f;for(let b=0;b!==s;++b)i[b]=g*a[c+b]+v*a[l+b]+y*a[o+b]+x*a[u+b];return i}}class pS extends dS{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,a=this.sampleValues,s=this.valueSize,o=e*s,l=o-s,c=(n-t)/(r-t),u=1-c;for(let d=0;d!==s;++d)i[d]=a[l+d]*u+a[o+d]*c;return i}}class fS extends dS{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e){return this.copySampleValue_(e-1)}}class mS{constructor(e,t,n,r){if(void 0===e)throw new Error("THREE.KeyframeTrack: track name is undefined");if(void 0===t||0===t.length)throw new Error("THREE.KeyframeTrack: no keyframes in track named "+e);this.name=e,this.times=aS(t,this.TimeBufferType),this.values=aS(n,this.ValueBufferType),this.setInterpolation(r||this.DefaultInterpolation)}static toJSON(e){const t=e.constructor;let n;if(t.toJSON!==this.toJSON)n=t.toJSON(e);else{n={name:e.name,times:aS(e.times,Array),values:aS(e.values,Array)};const t=e.getInterpolation();t!==e.DefaultInterpolation&&(n.interpolation=t)}return n.type=e.ValueTypeName,n}InterpolantFactoryMethodDiscrete(e){return new fS(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodLinear(e){return new pS(this.times,this.values,this.getValueSize(),e)}InterpolantFactoryMethodSmooth(e){return new hS(this.times,this.values,this.getValueSize(),e)}setInterpolation(e){let t;switch(e){case Ap:t=this.InterpolantFactoryMethodDiscrete;break;case Cp:t=this.InterpolantFactoryMethodLinear;break;case Pp:t=this.InterpolantFactoryMethodSmooth}if(void 0===t){const t="unsupported interpolation for "+this.ValueTypeName+" keyframe track named "+this.name;if(void 0===this.createInterpolant){if(e===this.DefaultInterpolation)throw new Error(t);this.setInterpolation(this.DefaultInterpolation)}return console.warn("THREE.KeyframeTrack:",t),this}return this.createInterpolant=t,this}getInterpolation(){switch(this.createInterpolant){case this.InterpolantFactoryMethodDiscrete:return Ap;case this.InterpolantFactoryMethodLinear:return Cp;case this.InterpolantFactoryMethodSmooth:return Pp}}getValueSize(){return this.values.length/this.times.length}shift(e){if(0!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]+=e}return this}scale(e){if(1!==e){const t=this.times;for(let n=0,r=t.length;n!==r;++n)t[n]*=e}return this}trim(e,t){const n=this.times,r=n.length;let i=0,a=r-1;for(;i!==r&&n[i]<e;)++i;for(;-1!==a&&n[a]>t;)--a;if(++a,0!==i||a!==r){i>=a&&(a=Math.max(a,1),i=a-1);const e=this.getValueSize();this.times=iS(n,i,a),this.values=iS(this.values,i*e,a*e)}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,r=this.values,i=n.length;0===i&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let a=null;for(let s=0;s!==i;s++){const t=n[s];if("number"===typeof t&&isNaN(t)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,s,t),e=!1;break}if(null!==a&&a>t){console.error("THREE.KeyframeTrack: Out of order keys.",this,s,t,a),e=!1;break}a=t}if(void 0!==r&&sS(r))for(let s=0,o=r.length;s!==o;++s){const t=r[s];if(isNaN(t)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,s,t),e=!1;break}}return e}optimize(){const e=iS(this.times),t=iS(this.values),n=this.getValueSize(),r=this.getInterpolation()===Pp,i=e.length-1;let a=1;for(let s=1;s<i;++s){let i=!1;const o=e[s];if(o!==e[s+1]&&(1!==s||o!==e[0]))if(r)i=!0;else{const e=s*n,r=e-n,a=e+n;for(let s=0;s!==n;++s){const n=t[e+s];if(n!==t[r+s]||n!==t[a+s]){i=!0;break}}}if(i){if(s!==a){e[a]=e[s];const r=s*n,i=a*n;for(let e=0;e!==n;++e)t[i+e]=t[r+e]}++a}}if(i>0){e[a]=e[i];for(let e=i*n,r=a*n,s=0;s!==n;++s)t[r+s]=t[e+s];++a}return a!==e.length?(this.times=iS(e,0,a),this.values=iS(t,0,a*n)):(this.times=e,this.values=t),this}clone(){const e=iS(this.times,0),t=iS(this.values,0),n=new(0,this.constructor)(this.name,e,t);return n.createInterpolant=this.createInterpolant,n}}mS.prototype.TimeBufferType=Float32Array,mS.prototype.ValueBufferType=Float32Array,mS.prototype.DefaultInterpolation=Cp;class gS extends mS{}gS.prototype.ValueTypeName="bool",gS.prototype.ValueBufferType=Array,gS.prototype.DefaultInterpolation=Ap,gS.prototype.InterpolantFactoryMethodLinear=void 0,gS.prototype.InterpolantFactoryMethodSmooth=void 0;class vS extends mS{}vS.prototype.ValueTypeName="color";class yS extends mS{}yS.prototype.ValueTypeName="number";class xS extends dS{constructor(e,t,n,r){super(e,t,n,r)}interpolate_(e,t,n,r){const i=this.resultBuffer,a=this.sampleValues,s=this.valueSize,o=(n-t)/(r-t);let l=e*s;for(let c=l+s;l!==c;l+=4)fm.slerpFlat(i,0,a,l-s,a,l,o);return i}}class bS extends mS{InterpolantFactoryMethodLinear(e){return new xS(this.times,this.values,this.getValueSize(),e)}}bS.prototype.ValueTypeName="quaternion",bS.prototype.DefaultInterpolation=Cp,bS.prototype.InterpolantFactoryMethodSmooth=void 0;class wS extends mS{}wS.prototype.ValueTypeName="string",wS.prototype.ValueBufferType=Array,wS.prototype.DefaultInterpolation=Ap,wS.prototype.InterpolantFactoryMethodLinear=void 0,wS.prototype.InterpolantFactoryMethodSmooth=void 0;class _S extends mS{}_S.prototype.ValueTypeName="vector";class SS{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:kp;this.name=e,this.tracks=n,this.duration=t,this.blendMode=r,this.uuid=Af(),this.duration<0&&this.resetDuration()}static parse(e){const t=[],n=e.tracks,r=1/(e.fps||1);for(let a=0,s=n.length;a!==s;++a)t.push(MS(n[a]).scale(r));const i=new this(e.name,e.duration,t,e.blendMode);return i.uuid=e.uuid,i}static toJSON(e){const t=[],n=e.tracks,r={name:e.name,duration:e.duration,tracks:t,uuid:e.uuid,blendMode:e.blendMode};for(let i=0,a=n.length;i!==a;++i)t.push(mS.toJSON(n[i]));return r}static CreateFromMorphTargetSequence(e,t,n,r){const i=t.length,a=[];for(let s=0;s<i;s++){let e=[],o=[];e.push((s+i-1)%i,s,(s+1)%i),o.push(0,1,0);const l=oS(e);e=lS(e,1,l),o=lS(o,1,l),r||0!==e[0]||(e.push(i),o.push(o[0])),a.push(new yS(".morphTargetInfluences["+t[s].name+"]",e,o).scale(1/n))}return new this(e,-1,a)}static findByName(e,t){let n=e;if(!Array.isArray(e)){const t=e;n=t.geometry&&t.geometry.animations||t.animations}for(let r=0;r<n.length;r++)if(n[r].name===t)return n[r];return null}static CreateClipsFromMorphTargetSequences(e,t,n){const r={},i=/^([\w-]*?)([\d]+)$/;for(let s=0,o=e.length;s<o;s++){const t=e[s],n=t.name.match(i);if(n&&n.length>1){const e=n[1];let i=r[e];i||(r[e]=i=[]),i.push(t)}}const a=[];for(const s in r)a.push(this.CreateFromMorphTargetSequence(s,r[s],t,n));return a}static parseAnimation(e,t){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const n=function(e,t,n,r,i){if(0!==n.length){const a=[],s=[];cS(n,a,s,r),0!==a.length&&i.push(new e(t,a,s))}},r=[],i=e.name||"default",a=e.fps||30,s=e.blendMode;let o=e.length||-1;const l=e.hierarchy||[];for(let c=0;c<l.length;c++){const e=l[c].keys;if(e&&0!==e.length)if(e[0].morphTargets){const t={};let n;for(n=0;n<e.length;n++)if(e[n].morphTargets)for(let r=0;r<e[n].morphTargets.length;r++)t[e[n].morphTargets[r]]=-1;for(const i in t){const t=[],a=[];for(let r=0;r!==e[n].morphTargets.length;++r){const r=e[n];t.push(r.time),a.push(r.morphTarget===i?1:0)}r.push(new yS(".morphTargetInfluence["+i+"]",t,a))}o=t.length*a}else{const i=".bones["+t[c].name+"]";n(_S,i+".position",e,"pos",r),n(bS,i+".quaternion",e,"rot",r),n(_S,i+".scale",e,"scl",r)}}if(0===r.length)return null;return new this(i,o,r,s)}resetDuration(){let e=0;for(let t=0,n=this.tracks.length;t!==n;++t){const n=this.tracks[t];e=Math.max(e,n.times[n.times.length-1])}return this.duration=e,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 MS(e){if(void 0===e.type)throw new Error("THREE.KeyframeTrack: track type undefined, can not parse");const t=function(e){switch(e.toLowerCase()){case"scalar":case"double":case"float":case"number":case"integer":return yS;
2case"vector":case"vector2":case"vector3":case"vector4":return _S;case"color":return vS;case"quaternion":return bS;case"bool":case"boolean":return gS;case"string":return wS}throw new Error("THREE.KeyframeTrack: Unsupported typeName: "+e)}(e.type);if(void 0===e.times){const t=[],n=[];cS(e.keys,t,n,"value"),e.times=t,e.values=n}return void 0!==t.parse?t.parse(e):new t(e.name,e.times,e.values,e.interpolation)}const ES={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class TS{constructor(e,t,n){const r=this;let i,a=!1,s=0,o=0;const l=[];this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=n,this.itemStart=function(e){o++,!1===a&&void 0!==r.onStart&&r.onStart(e,s,o),a=!0},this.itemEnd=function(e){s++,void 0!==r.onProgress&&r.onProgress(e,s,o),s===o&&(a=!1,void 0!==r.onLoad&&r.onLoad())},this.itemError=function(e){void 0!==r.onError&&r.onError(e)},this.resolveURL=function(e){return i?i(e):e},this.setURLModifier=function(e){return i=e,this},this.addHandler=function(e,t){return l.push(e,t),this},this.removeHandler=function(e){const t=l.indexOf(e);return-1!==t&&l.splice(t,2),this},this.getHandler=function(e){for(let t=0,n=l.length;t<n;t+=2){const n=l[t],r=l[t+1];if(n.global&&(n.lastIndex=0),n.test(e))return r}return null}}}const AS=new TS;class CS{constructor(e){this.manager=void 0!==e?e:AS,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}load(){}loadAsync(e,t){const n=this;return new Promise(function(r,i){n.load(e,r,t,i)})}parse(){}setCrossOrigin(e){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}}const PS={};class NS extends Error{constructor(e,t){super(e),this.response=t}}class RS extends CS{constructor(e){super(e)}load(e,t,n,r){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);const i=ES.get(e);if(void 0!==i)return this.manager.itemStart(e),setTimeout(()=>{t&&t(i),this.manager.itemEnd(e)},0),i;if(void 0!==PS[e])return void PS[e].push({onLoad:t,onProgress:n,onError:r});PS[e]=[],PS[e].push({onLoad:t,onProgress:n,onError:r});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),s=this.mimeType,o=this.responseType;fetch(a).then(t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("THREE.FileLoader: HTTP Status 0 received."),"undefined"===typeof ReadableStream||void 0===t.body||void 0===t.body.getReader)return t;const n=PS[e],r=t.body.getReader(),i=t.headers.get("Content-Length")||t.headers.get("X-File-Size"),a=i?parseInt(i):0,s=0!==a;let o=0;const l=new ReadableStream({start(e){!function t(){r.read().then(r=>{let{done:i,value:l}=r;if(i)e.close();else{o+=l.byteLength;const r=new ProgressEvent("progress",{lengthComputable:s,loaded:o,total:a});for(let e=0,t=n.length;e<t;e++){const t=n[e];t.onProgress&&t.onProgress(r)}e.enqueue(l),t()}})}()}});return new Response(l)}throw new NS('fetch for "'.concat(t.url,'" responded with ').concat(t.status,": ").concat(t.statusText),t)}).then(e=>{switch(o){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then(e=>(new DOMParser).parseFromString(e,s));case"json":return e.json();default:if(void 0===s)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(s),n=t&&t[1]?t[1].toLowerCase():void 0,r=new TextDecoder(n);return e.arrayBuffer().then(e=>r.decode(e))}}}).then(t=>{ES.add(e,t);const n=PS[e];delete PS[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onLoad&&r.onLoad(t)}}).catch(t=>{const n=PS[e];if(void 0===n)throw this.manager.itemError(e),t;delete PS[e];for(let e=0,r=n.length;e<r;e++){const r=n[e];r.onError&&r.onError(t)}this.manager.itemError(e)}).finally(()=>{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class LS extends CS{constructor(e){super(e)}load(e,t,n,r){const i=this,a=new RS(this.manager);a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(zC){r?r(zC):console.error(zC),i.manager.itemError(e)}},n,r)}parse(e){const t=[];for(let n=0;n<e.length;n++){const r=SS.parse(e[n]);t.push(r)}return t}}class kS extends CS{constructor(e){super(e)}load(e,t,n,r){const i=this,a=[],s=new _w,o=new RS(this.manager);o.setPath(this.path),o.setResponseType("arraybuffer"),o.setRequestHeader(this.requestHeader),o.setWithCredentials(i.withCredentials);let l=0;function c(c){o.load(e[c],function(e){const n=i.parse(e,!0);a[c]={width:n.width,height:n.height,format:n.format,mipmaps:n.mipmaps},l+=1,6===l&&(1===n.mipmapCount&&(s.minFilter=wh),s.image=a,s.format=n.format,s.needsUpdate=!0,t&&t(s))},n,r)}if(Array.isArray(e))for(let u=0,d=e.length;u<d;++u)c(u);else o.load(e,function(e){const n=i.parse(e,!0);if(n.isCubemap){const e=n.mipmaps.length/n.mipmapCount;for(let t=0;t<e;t++){a[t]={mipmaps:[]};for(let e=0;e<n.mipmapCount;e++)a[t].mipmaps.push(n.mipmaps[t*n.mipmapCount+e]),a[t].format=n.format,a[t].width=n.width,a[t].height=n.height}s.image=a}else s.image.width=n.width,s.image.height=n.height,s.mipmaps=n.mipmaps;1===n.mipmapCount&&(s.minFilter=wh),s.format=n.format,s.needsUpdate=!0,t&&t(s)},n,r);return s}}class IS extends CS{constructor(e){super(e)}load(e,t,n,r){void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);const i=this,a=ES.get(e);if(void 0!==a)return i.manager.itemStart(e),setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a;const s=Hf("img");function o(){c(),ES.add(e,this),t&&t(this),i.manager.itemEnd(e)}function l(t){c(),r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}function c(){s.removeEventListener("load",o,!1),s.removeEventListener("error",l,!1)}return s.addEventListener("load",o,!1),s.addEventListener("error",l,!1),"data:"!==e.slice(0,5)&&void 0!==this.crossOrigin&&(s.crossOrigin=this.crossOrigin),i.manager.itemStart(e),s.src=e,s}}class DS extends CS{constructor(e){super(e)}load(e,t,n,r){const i=new Sv,a=new IS(this.manager);a.setCrossOrigin(this.crossOrigin),a.setPath(this.path);let s=0;function o(n){a.load(e[n],function(e){i.images[n]=e,s++,6===s&&(i.needsUpdate=!0,t&&t(i))},void 0,r)}for(let l=0;l<e.length;++l)o(l);return i}}class zS extends CS{constructor(e){super(e)}load(e,t,n,r){const i=this,a=new Gb,s=new RS(this.manager);return s.setResponseType("arraybuffer"),s.setRequestHeader(this.requestHeader),s.setPath(this.path),s.setWithCredentials(i.withCredentials),s.load(e,function(e){const n=i.parse(e);n&&(void 0!==n.image?a.image=n.image:void 0!==n.data&&(a.image.width=n.width,a.image.height=n.height,a.image.data=n.data),a.wrapS=void 0!==n.wrapS?n.wrapS:fh,a.wrapT=void 0!==n.wrapT?n.wrapT:fh,a.magFilter=void 0!==n.magFilter?n.magFilter:wh,a.minFilter=void 0!==n.minFilter?n.minFilter:wh,a.anisotropy=void 0!==n.anisotropy?n.anisotropy:1,void 0!==n.encoding&&(a.encoding=n.encoding),void 0!==n.flipY&&(a.flipY=n.flipY),void 0!==n.format&&(a.format=n.format),void 0!==n.t
vendor: 5,663 bytes, line 2
2ype&&(a.type=n.type),void 0!==n.mipmaps&&(a.mipmaps=n.mipmaps,a.minFilter=Mh),1===n.mipmapCount&&(a.minFilter=wh),void 0!==n.generateMipmaps&&(a.generateMipmaps=n.generateMipmaps),a.needsUpdate=!0,t&&t(a,n))},n,r),a}}class OS extends CS{constructor(e){super(e)}load(e,t,n,r){const i=new sm,a=new IS(this.manager);return a.setCrossOrigin(this.crossOrigin),a.setPath(this.path),a.load(e,function(e){i.image=e,i.needsUpdate=!0,void 0!==t&&t(i)},n,r),i}}class jS extends gg{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;super(),this.isLight=!0,this.type="Light",this.color=new em(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,void 0!==this.groundColor&&(t.object.groundColor=this.groundColor.getHex()),void 0!==this.distance&&(t.object.distance=this.distance),void 0!==this.angle&&(t.object.angle=this.angle),void 0!==this.decay&&(t.object.decay=this.decay),void 0!==this.penumbra&&(t.object.penumbra=this.penumbra),void 0!==this.shadow&&(t.object.shadow=this.shadow.toJSON()),t}}class BS extends jS{constructor(e,t,n){super(e,n),this.isHemisphereLight=!0,this.type="HemisphereLight",this.position.copy(gg.DEFAULT_UP),this.updateMatrix(),this.groundColor=new em(t)}copy(e,t){return super.copy(e,t),this.groundColor.copy(e.groundColor),this}}const FS=new Gm,US=new mm,VS=new mm;class HS{constructor(e){this.camera=e,this.bias=0,this.normalBias=0,this.radius=1,this.blurSamples=8,this.mapSize=new Of(512,512),this.map=null,this.mapPass=null,this.matrix=new Gm,this.autoUpdate=!0,this.needsUpdate=!1,this._frustum=new Rv,this._frameExtents=new Of(1,1),this._viewportCount=1,this._viewports=[new om(0,0,1,1)]}getViewportCount(){return this._viewportCount}getFrustum(){return this._frustum}updateMatrices(e){const t=this.camera,n=this.matrix;US.setFromMatrixPosition(e.matrixWorld),t.position.copy(US),VS.setFromMatrixPosition(e.target.matrixWorld),t.lookAt(VS),t.updateMatrixWorld(),FS.multiplyMatrices(t.projectionMatrix,t.matrixWorldInverse),this._frustum.setFromProjectionMatrix(FS),n.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),n.multiply(FS)}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.bias=e.bias,this.radius=e.radius,this.mapSize.copy(e.mapSize),this}clone(){return(new this.constructor).copy(this)}toJSON(){const e={};return 0!==this.bias&&(e.bias=this.bias),0!==this.normalBias&&(e.normalBias=this.normalBias),1!==this.radius&&(e.radius=this.radius),512===this.mapSize.x&&512===this.mapSize.y||(e.mapSize=this.mapSize.toArray()),e.camera=this.camera.toJSON(!1).object,delete e.camera.matrix,e}}class WS extends HS{constructor(){super(new bv(50,1,.5,500)),this.isSpotLightShadow=!0,this.focus=1}updateMatrices(e){const t=this.camera,n=2*Tf*e.angle*this.focus,r=this.mapSize.width/this.mapSize.height,i=e.distance||t.far;n===t.fov&&r===t.aspect&&i===t.far||(t.fov=n,t.aspect=r,t.far=i,t.updateProjectionMatrix()),super.updateMatrices(e)}copy(e){return super.copy(e),this.focus=e.focus,this}}class GS extends jS{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.PI/3,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:2;super(e,t),this.isSpotLight=!0,this.type="SpotLight",this.position.copy(gg.DEFAULT_UP),this.updateMatrix(),this.target=new gg,this.distance=n,this.angle=r,this.penumbra=i,this.decay=a,this.map=null,this.shadow=new WS}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 qS=new Gm,XS=new mm,YS=new mm;class JS extends HS{constructor(){super(new bv(90,1,.5,500)),this.isPointLightShadow=!0,this._frameExtents=new Of(4,2),this._viewportCount=6,this._viewports=[new om(2,1,1,1),new om(0,1,1,1),new om(3,1,1,1),new om(1,1,1,1),new om(3,0,1,1),new om(1,0,1,1)],this._cubeDirections=[new mm(1,0,0),new mm(-1,0,0),new mm(0,0,1),new mm(0,0,-1),new mm(0,1,0),new mm(0,-1,0)],this._cubeUps=[new mm(0,1,0),new mm(0,1,0),new mm(0,1,0),new mm(0,1,0),new mm(0,0,1),new mm(0,0,-1)]}updateMatrices(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=this.camera,r=this.matrix,i=e.distance||n.far;i!==n.far&&(n.far=i,n.updateProjectionMatrix()),XS.setFromMatrixPosition(e.matrixWorld),n.position.copy(XS),YS.copy(n.position),YS.add(this._cubeDirections[t]),n.up.copy(this._cubeUps[t]),n.lookAt(YS),n.updateMatrixWorld(),r.makeTranslation(-XS.x,-XS.y,-XS.z),qS.multiplyMatrices(n.projectionMatrix,n.matrixWorldInverse),this._frustum.setFromProjectionMatrix(qS)}}class QS extends jS{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:2;super(e,t),this.isPointLight=!0,this.type="PointLight",this.distance=n,this.decay=r,this.shadow=new JS}get power(){return 4*this.intensity*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 ZS extends HS{constructor(){super(new Gv(-5,5,5,-5,.5,500)),this.isDirectionalLightShadow=!0}
2}class KS extends jS{constructor(e,t){super(e,t),this.isDirectionalLight=!0,this.type="DirectionalLight",this.position.copy(gg.DEFAULT_UP),this.updateMatrix(),this.target=new gg,this.shadow=new ZS}dispose(){this.shadow.dispose()}copy(e){return super.copy(e),this.target=e.target.clone(),this.shadow=e.shadow.clone(),this}}class $S extends jS{constructor(e,t){super(e,t),this.isAmbientLight=!0,this.type="AmbientLight"}}class eM extends jS{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;super(e,t),this.isRectAreaLight=!0,this.type="RectAreaLight",this.width=n,this.height=r}get power(){return this.intensity*this.width*this.height*Math.PI}set power(e){this.intensity=e/(this.width*this.height*Math.PI)}copy(e){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 tM{constructor(){this.isSphericalHarmonics3=!0,this.coefficients=[];for(let e=0;e<9;e++)this.coefficients.push(new mm)}set(e){for(let t=0;t<9;t++)this.coefficients[t].copy(e[t]);return this}zero(){for(let e=0;e<9;e++)this.coefficients[e].set(0,0,0);return this}getAt(e,t){const n=e.x,r=e.y,i=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.282095),t.addScaledVector(a[1],.488603*r),t.addScaledVector(a[2],.488603*i),t.addScaledVector(a[3],.488603*n),t.addScaledVector(a[4],n*r*1.092548),t.addScaledVector(a[5],r*i*1.092548),t.addScaledVector(a[6],.315392*(3*i*i-1)),t.addScaledVector(a[7],n*i*1.092548),t.addScaledVector(a[8],.546274*(n*n-r*r)),t}getIrradianceAt(e,t){const n=e.x,r=e.y,i=e.z,a=this.coefficients;return t.copy(a[0]).multiplyScalar(.886227),t.addScaledVector(a[1],1.023328*r),t.addScaledVector(a[2],1.023328*i),t.addScaledVector(a[3],1.023328*n),t.addScaledVector(a[4],.858086*n*r),t.addScaledVector(a[5],.858086*r*i),t.addScaledVector(a[6],.743125*i*i-.247708),t.addScaledVector(a[7],.858086*n*i),t.addScaledVector(a[8],.429043*(n*n-r*r)),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){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=this.coefficients;for(let r=0;r<9;r++)n[r].fromArray(e,t+3*r);return this}toArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=this.coefficients;for(let r=0;r<9;r++)n[r].toArray(e,t+3*r);return e}static getBasisAt(e,t){const n=e.x,r=e.y,i=e.z;t[0]=.282095,t[1]=.488603*r,t[2]=.488603*i,t[3]=.488603*n,t[4]=1.092548*n*r,t[5]=1.092548*r*i,t[6]=.315392*(3*i*i-1),t[7]=1.092548*n*i,t[8]=.546274*(n*n-r*r)}}class nM extends jS{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new tM;super(void 0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:1),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 rM extends CS{constructor(e){super(e),this.textures={}}load(e,t,n,r){const i=this,a=new RS(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(zC){r?r(zC):console.error(zC),i.manager.itemError(e)}},n,r)}parse(e){const t=this.textures;function n(e){return void 0===t[e]&&console.warn("THREE.MaterialLoader: Undefined texture",e),t[e]}const r=rM.createMaterialFromType(e.type);if(void 0!==e.uuid&&(r.uuid=e.uuid),void 0!==e.name&&(r.name=e.name),void 0!==e.color&&void 0!==r.color&&r.color.setHex(e.color),void 0!==e.roughness&&(r.roughness=e.roughness),void 0!==e.metalness&&(r.metalness=e.metalness),void 0!==e.sheen&&(r.sheen=e.sheen),void 0!==e.sheenColor&&(r.sheenColor=(new em).setHex(e.sheenColor)),void 0!==e.sheenRoughness&&(r.sheenRoughness=e.sheenRoughness),void 0!==e.emissive&&void 0!==r.emissive&&r.emissive.setHex(e.emissive),void 0!==e.specular&&void 0!==r.specular&&r.specular.setHex(e.specular),void 0!==e.specularIntensity&&(r.specularIntensity=e.specularIntensity),void 0!==e.specularColor&&void 0!==r.specularColor&&r.specularColor.setHex(e.specularColor),void 0!==e.shininess&&(r.shininess=e.shininess),void 0!==e.clearcoat&&(r.clearcoat=e.clearcoat),void 0!==e.clearcoatRoughness&&(r.clearcoatRoughness=e.clearcoatRoughness),void 0!==e.iridescence&&(r.iridescence=e.iridescence),void 0!==e.iridescenceIOR&&(r.iridescenceIOR=e.iridescenceIOR),void 0!==e.iridescenceThicknessRange&&(r.iridescenceThicknessRange=e.iridescenceThicknessRange),void 0!==e.transmission&&(r.transmission=e.transmission),void 0!==e.thickness&&(r.thickness=e.thickness),void 0!==e.attenuationDistance&&(r.attenuationDistance=e.attenuationDistance),void 0!==e.attenuationColor&&void 0!==r.attenuationColor&&r.attenuationColor.setHex(e.attenuationColor),void 0!==e.fog&&(r.fog=e.fog),void 0!==e.flatShading&&(r.flatShading=e.flatShading),void 0!==e.blending&&(r.blending=e.blending),void 0!==e.combine&&(r.combine=e.combine),void 0!==e.side&&(r.side=e.side),void 0!==e.shadowSide&&(r.shadowSide=e.shadowSide),void 0!==e.opacity&&(r.opacity=e.opacity),void 0!==e.transparent&&(r.transparent=e.transparent),void 0!==e.alphaTest&&(r.alphaTest=e.alphaTest),void 0!==e.depthTest&&(r.depthTest=e.depthTest),void 0!==e.depthWrite&&(r.depthWrite=e.depthWrite),void 0!==e.colorWrite&&(r.colorWrite=e.colorWrite),void 0!==e.stencilWrite&&(r.stencilWrite=e.stencilWrite),void 0!==e.stencilWriteMask&&(r.stencilWriteMask=e.stencilWriteMask),void 0!==e.stencilFunc&&(r.stencilFunc=e.stencilFunc),void 0!==e.stencilRef&&(r.stencilRef=e.stencilRef),void 0!==e.stencilFuncMask&&(r.stencilFuncMask=e.stencilFuncMask),void 0!==e.stencilFail&&(r.stencilFail=e.stencilFail),void 0!==e.stencilZFail&&(r.stencilZFail=e.stencilZFail),void 0!==e.stencilZPass&&(r.stencilZPass=e.stencilZPass),void 0!==e.wireframe&&(r.wireframe=e.wireframe),void 0!==e.wireframeLinewidth&&(r.wireframeLinewidth=e.wireframeLinewidth),void 0!==e.wireframeLinecap&&(r.wireframeLinecap=e.wireframeLinecap),void 0!==e.wireframeLinejoin&&(r.wireframeLinejoin=e.wireframeLinejoin),void 0!==e.rotation&&(r.rotation=e.rotation),1!==e.linewidth&&(r.linewidth=e.linewidth),void 0!==e.dashSize&&(r.dashSize=e.dashSize),void 0!==e.gapSize&&(r.gapSize=e.gapSize),void 0!==e.scale&&(r.scale=e.scale),void 0!==e.polygonOffset&&(r.polygonOffset=e.polygonOffset),void 0!==e.polygonOffsetFactor&&(r.polygonOffsetFactor=e.polygonOffsetFactor),void 0!==e.polygonOffsetUnits&&(r.polygonOffsetUnits=e.polygonOffsetUnits),void 0!==e.dithering&&(r.dithering=e.dithering),void 0!==e.alphaToCoverage&&(r.alphaToCoverage=e.alphaToCoverage),void 0!==e.premultipliedAlpha&&(r.premultipliedAlpha=e.premultipliedAlpha),void 0!==e.forceSinglePass&&(r.forceSinglePass=e.forceSinglePass),void 0!==e.visible&&(r.visible=e.visible),void 0!==e.toneMapped&&(r.toneMapped=e.toneMapped),void 0!==e.userData&&(r.userData=e.userData),void 0!==e.vertexColors&&("number"===typeof e.vertexColors?r.vertexColors=e.vertexColors>0:r.vertexColors=e.vertexColors),void 0!==e.uniforms)for(const i in e.uniforms){const t=e.uniforms[i];switch(r.uniforms[i]={},t.type){case"t":r.uniforms[i].value=n(t.value);break;case"c":r.uniforms[i].value=(new em).setHex(t.value);break;case"v2":r.uniforms[i].value=(new Of).fromArray(t.value);break;case"v3":r.uniforms[i].value=(new mm).fromArray(t.value);break;case"v4":r.uniforms[i].value=(new om).fromArray(t.value);break;case"m3":r.uniforms[i].value=(new jf).fromArray(t.value);break;
vendor: 35,539 bytes, line 2
2case"m4":r.uniforms[i].value=(new Gm).fromArray(t.value);break;default:r.uniforms[i].value=t.value}}if(void 0!==e.defines&&(r.defines=e.defines),void 0!==e.vertexShader&&(r.vertexShader=e.vertexShader),void 0!==e.fragmentShader&&(r.fragmentShader=e.fragmentShader),void 0!==e.glslVersion&&(r.glslVersion=e.glslVersion),void 0!==e.extensions)for(const i in e.extensions)r.extensions[i]=e.extensions[i];if(void 0!==e.size&&(r.size=e.size),void 0!==e.sizeAttenuation&&(r.sizeAttenuation=e.sizeAttenuation),void 0!==e.map&&(r.map=n(e.map)),void 0!==e.matcap&&(r.matcap=n(e.matcap)),void 0!==e.alphaMap&&(r.alphaMap=n(e.alphaMap)),void 0!==e.bumpMap&&(r.bumpMap=n(e.bumpMap)),void 0!==e.bumpScale&&(r.bumpScale=e.bumpScale),void 0!==e.normalMap&&(r.normalMap=n(e.normalMap)),void 0!==e.normalMapType&&(r.normalMapType=e.normalMapType),void 0!==e.normalScale){let t=e.normalScale;!1===Array.isArray(t)&&(t=[t,t]),r.normalScale=(new Of).fromArray(t)}return void 0!==e.displacementMap&&(r.displacementMap=n(e.displacementMap)),void 0!==e.displacementScale&&(r.displacementScale=e.displacementScale),void 0!==e.displacementBias&&(r.displacementBias=e.displacementBias),void 0!==e.roughnessMap&&(r.roughnessMap=n(e.roughnessMap)),void 0!==e.metalnessMap&&(r.metalnessMap=n(e.metalnessMap)),void 0!==e.emissiveMap&&(r.emissiveMap=n(e.emissiveMap)),void 0!==e.emissiveIntensity&&(r.emissiveIntensity=e.emissiveIntensity),void 0!==e.specularMap&&(r.specularMap=n(e.specularMap)),void 0!==e.specularIntensityMap&&(r.specularIntensityMap=n(e.specularIntensityMap)),void 0!==e.specularColorMap&&(r.specularColorMap=n(e.specularColorMap)),void 0!==e.envMap&&(r.envMap=n(e.envMap)),void 0!==e.envMapIntensity&&(r.envMapIntensity=e.envMapIntensity),void 0!==e.reflectivity&&(r.reflectivity=e.reflectivity),void 0!==e.refractionRatio&&(r.refractionRatio=e.refractionRatio),void 0!==e.lightMap&&(r.lightMap=n(e.lightMap)),void 0!==e.lightMapIntensity&&(r.lightMapIntensity=e.lightMapIntensity),void 0!==e.aoMap&&(r.aoMap=n(e.aoMap)),void 0!==e.aoMapIntensity&&(r.aoMapIntensity=e.aoMapIntensity),void 0!==e.gradientMap&&(r.gradientMap=n(e.gradientMap)),void 0!==e.clearcoatMap&&(r.clearcoatMap=n(e.clearcoatMap)),void 0!==e.clearcoatRoughnessMap&&(r.clearcoatRoughnessMap=n(e.clearcoatRoughnessMap)),void 0!==e.clearcoatNormalMap&&(r.clearcoatNormalMap=n(e.clearcoatNormalMap)),void 0!==e.clearcoatNormalScale&&(r.clearcoatNormalScale=(new Of).fromArray(e.clearcoatNormalScale)),void 0!==e.iridescenceMap&&(r.iridescenceMap=n(e.iridescenceMap)),void 0!==e.iridescenceThicknessMap&&(r.iridescenceThicknessMap=n(e.iridescenceThicknessMap)),void 0!==e.transmissionMap&&(r.transmissionMap=n(e.transmissionMap)),void 0!==e.thicknessMap&&(r.thicknessMap=n(e.thicknessMap)),void 0!==e.sheenColorMap&&(r.sheenColorMap=n(e.sheenColorMap)),void 0!==e.sheenRoughnessMap&&(r.sheenRoughnessMap=n(e.sheenRoughnessMap)),r}setTextures(e){return this.textures=e,this}static createMaterialFromType(e){return new{ShadowMaterial:Y_,SpriteMaterial:xb,RawShaderMaterial:J_,ShaderMaterial:yv,PointsMaterial:pw,MeshPhysicalMaterial:Z_,MeshStandardMaterial:Q_,MeshPhongMaterial:K_,MeshToonMaterial:$_,MeshNormalMaterial:eS,MeshLambertMaterial:tS,MeshDepthMaterial:Jx,MeshDistanceMaterial:Qx,MeshBasicMaterial:Ng,MeshMatcapMaterial:nS,LineDashedMaterial:rS,LineBasicMaterial:nw,Material:Pg}[e]}}class iM{static decodeText(e){if("undefined"!==typeof TextDecoder)return(new TextDecoder).decode(e);let t="";for(let n=0,r=e.length;n<r;n++)t+=String.fromCharCode(e[n]);try{return decodeURIComponent(escape(t))}catch(zC){return t}}static extractUrlBase(e){const t=e.lastIndexOf("/");return-1===t?"./":e.slice(0,t+1)}static resolveURL(e,t){return"string"!==typeof e||""===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 aM extends Zg{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 sM extends CS{constructor(e){super(e)}load(e,t,n,r){const i=this,a=new RS(i.manager);a.setPath(i.path),a.setRequestHeader(i.requestHeader),a.setWithCredentials(i.withCredentials),a.load(e,function(n){try{t(i.parse(JSON.parse(n)))}catch(zC){r?r(zC):console.error(zC),i.manager.itemError(e)}},n,r)}parse(e){const t={},n={};function r(e,r){if(void 0!==t[r])return t[r];const i=e.interleavedBuffers[r],a=function(e,t){if(void 0!==n[t])return n[t];const r=e.arrayBuffers,i=r[t],a=new Uint32Array(i).buffer;return n[t]=a,a}(e,i.buffer),s=Vf(i.type,a),o=new gb(s,i.stride);return o.uuid=i.uuid,t[r]=o,o}const i=e.isInstancedBufferGeometry?new aM:new Zg,a=e.data.index;if(void 0!==a){const e=Vf(a.type,a.array);i.setIndex(new kg(e,1))}const s=e.data.attributes;for(const u in s){const t=s[u];let n;if(t.isInterleavedBufferAttribute){const i=r(e.data,t.data);n=new yb(i,t.itemSize,t.offset,t.normalized)}else{const e=Vf(t.type,t.array);n=new(t.isInstancedBufferAttribute?Jb:kg)(e,t.itemSize,t.normalized)}void 0!==t.name&&(n.name=t.name),void 0!==t.usage&&n.setUsage(t.usage),void 0!==t.updateRange&&(n.updateRange.offset=t.updateRange.offset,n.updateRange.count=t.updateRange.count),i.setAttribute(u,n)}const o=e.data.morphAttributes;if(o)for(const u in o){const t=o[u],n=[];for(let i=0,a=t.length;i<a;i++){const a=t[i];let s;if(a.isInterleavedBufferAttribute){const t=r(e.data,a.data);s=new yb(t,a.itemSize,a.offset,a.normalized)}else{const e=Vf(a.type,a.array);s=new kg(e,a.itemSize,a.normalized)}void 0!==a.name&&(s.name=a.name),n.push(s)}i.morphAttributes[u]=n}e.data.morphTargetsRelative&&(i.morphTargetsRelative=!0);const l=e.data.groups||e.data.drawcalls||e.data.offsets;if(void 0!==l)for(let u=0,d=l.length;u!==d;++u){const e=l[u];i.addGroup(e.start,e.count,e.materialIndex)}const c=e.data.boundingSphere;if(void 0!==c){const e=new mm;void 0!==c.center&&e.fromArray(c.center),i.boundingSphere=new zm(e,c.radius)}return e.name&&(i.name=e.name),e.userData&&(i.userData=e.userData),i}}class oM extends CS{constructor(e){super(e)}load(e,t,n,r){const i=this,a=""===this.path?iM.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||a;const s=new RS(this.manager);s.setPath(this.path),s.setRequestHeader(this.requestHeader),s.setWithCredentials(this.withCredentials),s.load(e,function(n){let a=null;try{a=JSON.parse(n)}catch(qA){return void 0!==r&&r(qA),void console.error("THREE:ObjectLoader: Can't parse "+e+".",qA.message)}const s=a.metadata;if(void 0===s||void 0===s.type||"geometry"===s.type.toLowerCase())return void 0!==r&&r(new Error("THREE.ObjectLoader: Can't load "+e)),void console.error("THREE.ObjectLoader: Can't load "+e);i.parse(a,t)},n,r)}async loadAsync(e,t){const n=""===this.path?iM.extractUrlBase(e):this.path;this.resourcePath=this.resourcePath||n;const r=new RS(this.manager);r.setPath(this.path),r.setRequestHeader(this.requestHeader),r.setWithCredentials(this.withCredentials);const i=await r.loadAsync(e,t),a=JSON.parse(i),s=a.metadata;if(void 0===s||void 0===s.type||"geometry"===s.type.toLowerCase())throw new Error("THREE.ObjectLoader: Can't load "+e);return await this.parseAsync(a)}parse(e,t){const n=this.parseAnimations(e.animations),r=this.parseShapes(e.shapes),i=this.parseGeometries(e.geometries,r),a=this.parseImages(e.images,function(){void 0!==t&&t(l)}),s=this.parseTextures(e.textures,a),o=this.parseMaterials(e.materials,s),l=this.parseObject(e.object,i,o,s,n),c=this.parseSkeletons(e.skeletons,l);if(this.bindSkeletons(l,c),void 0!==t){let e=!1;for(const t in a)if(a[t].data instanceof HTMLImageElement){e=!0;break}!1===e&&t(l)}return l}async parseAsync(e){const t=this.parseAnimations(e.animations),n=this.parseShapes(e.shapes),r=this.parseGeometries(e.geometries,n),i=await this.parseImagesAsync(e.images),a=this.parseTextures(e.textures,i),s=this.parseMaterials(e.materials,a),o=this.parseObject(e.object,r,s,a,t),l=this.parseSkeletons(e.skeletons,o);return this.bindSkeletons(o,l),o}parseShapes(e){const t={};if(void 0!==e)for(let n=0,r=e.length;n<r;n++){const r=(new a_).fromJSON(e[n]);t[r.uuid]=r}return t}parseSkeletons(e,t){const n={},r={};if(t.traverse(function(e){e.isBone&&(r[e.uuid]=e)}),void 0!==e)for(let i=0,a=e.length;i<a;i++){const t=(new Yb).fromJSON(e[i],r);n[t.uuid]=t}return n}parseGeometries(e,t){const n={};if(void 0!==e){const r=new sM;for(let i=0,a=e.length;i<a;i++){let a;const s=e[i];switch(s.type){case"BufferGeometry":case"InstancedBufferGeometry":a=r.parse(s);break;default:s.type in X_?a=X_[s.type].fromJSON(s,t):console.warn('THREE.ObjectLoader: Unsupported geometry type "'.concat(s.type,'"'))}a.uuid=s.uuid,void 0!==s.name&&(a.name=s.name),!0===a.isBufferGeometry&&void 0!==s.userData&&(a.userData=s.userData),n[s.uuid]=a}}return n}parseMaterials(e,t){const n={},r={};if(void 0!==e){const i=new rM;i.setTextures(t);for(let t=0,a=e.length;t<a;t++){const a=e[t];void 0===n[a.uuid]&&(n[a.uuid]=i.parse(a)),r[a.uuid]=n[a.uuid]}}return r}parseAnimations(e){const t={};if(void 0!==e)for(let n=0;n<e.length;n++){const r=e[n],i=SS.parse(r);t[i.uuid]=i}return t}parseImages(e,t){const n=this,r={};let i;function a(e){if("string"===typeof e){const t=e;return function(e){return n.manager.itemStart(e),i.load(e,function(){n.manager.itemEnd(e)},void 0,function(){n.manager.itemError(e),n.manager.itemEnd(e)})}(/^(\/\/)|([a-z]+:(\/\/)?)/i.test(t)?t:n.resourcePath+t)}return e.data?{data:Vf(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){const n=new TS(t);i=new IS(n),i.setCrossOrigin(this.crossOrigin);for(let t=0,i=e.length;t<i;t++){const n=e[t],i=n.url;if(Array.isArray(i)){const e=[];for(let t=0,n=i.length;t<n;t++){const n=a(i[t]);null!==n&&(n instanceof HTMLImageElement?e.push(n):e.push(new Gb(n.data,n.width,n.height)))}r[n.uuid]=new rm(e)}else{const e=a(n.url);r[n.uuid]=new rm(e)}}}return r}async parseImagesAsync(e){const t=this,n={};let r;async function i(e){if("string"===typeof e){const n=e,i=/^(\/\/)|([a-z]+:(\/\/)?)/i.test(n)?n:t.resourcePath+n;return await r.loadAsync(i)}return e.data?{data:Vf(e.type,e.data),width:e.width,height:e.height}:null}if(void 0!==e&&e.length>0){r=new IS(this.manager),r.setCrossOrigin(this.crossOrigin);for(let t=0,r=e.length;t<r;t++){const r=e[t],a=r.url;if(Array.isArray(a)){const e=[];for(let t=0,n=a.length;t<n;t++){const n=a[t],r=await i(n);null!==r&&(r instanceof HTMLImageElement?e.push(r):e.push(new Gb(r.data,r.width,r.height)))}n[r.uuid]=new rm(e)}else{const e=await i(r.url);n[r.uuid]=new rm(e)}}}return n}parseTextures(e,t){function n(e,t){return"number"===typeof e?e:(console.warn("THREE.ObjectLoader.parseTexture: Constant should be in numeric form.",e),t[e])}const r={};if(void 0!==e)for(let i=0,a=e.length;i<a;i++){const a=e[i];void 0===a.image&&console.warn('THREE.ObjectLoader: No "image" specified for',a.uuid),void 0===t[a.image]&&console.warn("THREE.ObjectLoader: Undefined image",a.image);const s=t[a.image],o=s.data;let l;Array.isArray(o)?(l=new Sv,6===o.length&&(l.needsUpdate=!0)):(l=o&&o.data?new Gb:new sm,o&&(l.needsUpdate=!0)),l.source=s,l.uuid=a.uuid,void 0!==a.name&&(l.name=a.name),void 0!==a.mapping&&(l.mapping=n(a.mapping,lM)),void 0!==a.offset&&l.offset.fromArray(a.offset),void 0!==a.repeat&&l.repeat.fromArray(a.repeat),void 0!==a.center&&l.center.fromArray(a.center),void 0!==a.rotation&&(l.rotation=a.rotation),void 0!==a.wrap&&(l.wrapS=n(a.wrap[0],cM),l.wrapT=n(a.wrap[1],cM)),void 0!==a.format&&(l.format=a.format),void 0!==a.type&&(l.type=a.type),void 0!==a.encoding&&(l.encoding=a.encoding),void 0!==a.minFilter&&(l.minFilter=n(a.minFilter,uM)),void 0!==a.magFilter&&(l.magFilter=n(a.magFilter,uM)),void 0!==a.anisotropy&&(l.anisotropy=a.anisotropy),void 0!==a.flipY&&(l.flipY=a.flipY),void 0!==a.generateMipmaps&&(l.generateMipmaps=a.generateMipmaps),void 0!==a.premultiplyAlpha&&(l.premultiplyAlpha=a.premultiplyAlpha),void 0!==a.unpackAlignment&&(l.unpackAlignment=a.unpackAlignment),void 0!==a.userData&&(l.userData=a.userData),r[a.uuid]=l}return r}parseObject(e,t,n,r,i){let a,s,o;function l(e){return void 0===t[e]&&console.warn("THREE.ObjectLoader: Undefined geometry",e),t[e]}function c(e){if(void 0!==e){if(Array.isArray(e)){const t=[];for(let r=0,i=e.length;r<i;r++){const i=e[r];void 0===n[i]&&console.warn("THREE.ObjectLoader: Undefined material",i),t.push(n[i])}return t}return void 0===n[e]&&console.warn("THREE.ObjectLoader: Undefined material",e),n[e]}}function u(e){return void 0===r[e]&&console.warn("THREE.ObjectLoader: Undefined texture",e),r[e]}switch(e.type){case"Scene":a=new mb,void 0!==e.background&&(Number.isInteger(e.background)?a.background=new em(e.background):a.background=u(e.background)),void 0!==e.environment&&(a.environment=u(e.environment)),void 0!==e.fog&&("Fog"===e.fog.type?a.fog=new fb(e.fog.color,e.fog.near,e.fog.far):"FogExp2"===e.fog.type&&(a.fog=new pb(e.fog.color,e.fog.density))),void 0!==e.backgroundBlurriness&&(a.backgroundBlurriness=e.backgroundBlurriness),void 0!==e.backgroundIntensity&&(a.backgroundIntensity=e.backgroundIntensity);break;case"PerspectiveCamera":a=new bv(e.fov,e.aspect,e.near,e.far),void 0!==e.focus&&(a.focus=e.focus),void 0!==e.zoom&&(a.zoom=e.zoom),void 0!==e.filmGauge&&(a.filmGauge=e.filmGauge),void 0!==e.filmOffset&&(a.filmOffset=e.filmOffset),void 0!==e.view&&(a.view=Object.assign({},e.view));break;case"OrthographicCamera":a=new Gv(e.left,e.right,e.top,e.bottom,e.near,e.far),void 0!==e.zoom&&(a.zoom=e.zoom),void 0!==e.view&&(a.view=Object.assign({},e.view));break;case"AmbientLight":a=new $S(e.color,e.intensity);break;case"DirectionalLight":a=new KS(e.color,e.intensity);break;case"PointLight":a=new QS(e.color,e.intensity,e.distance,e.decay);break;case"RectAreaLight":a=new eM(e.color,e.intensity,e.width,e.height);break;case"SpotLight":a=new GS(e.color,e.intensity,e.distance,e.angle,e.penumbra,e.decay);break;case"HemisphereLight":a=new BS(e.color,e.groundColor,e.intensity);break;case"LightProbe":a=(new nM).fromJSON(e);break;case"SkinnedMesh":s=l(e.geometry),o=c(e.material),a=new Hb(s,o),void 0!==e.bindMode&&(a.bindMode=e.bindMode),void 0!==e.bindMatrix&&a.bindMatrix.fromArray(e.bindMatrix),void 0!==e.skeleton&&(a.skeleton=e.skeleton);break;case"Mesh":s=l(e.geometry),o=c(e.material),a=new dv(s,o);break;case"InstancedMesh":s=l(e.geometry),o=c(e.material);const t=e.count,n=e.instanceMatrix,r=e.instanceColor;a=new tw(s,o,t),a.instanceMatrix=new Jb(new Float32Array(n.array),16),void 0!==r&&(a.instanceColor=new Jb(new Float32Array(r.array),r.itemSize));break;case"LOD":a=new Ob;break;case"Line":a=new lw(l(e.geometry),c(e.material));break;case"LineLoop":a=new hw(l(e.geometry),c(e.material));break;case"LineSegments":a=new dw(l(e.geometry),c(e.material));break;case"PointCloud":case"Points":a=new yw(l(e.geometry),c(e.material));break;case"Sprite":a=new kb(c(e.material));break;case"Group":a=new ib;break;case"Bone":a=new Wb;break;default:a=new gg}if(a.uuid=e.uuid,void 0!==e.name&&(a.name=e.name),void 0!==e.matrix?(a.matrix.fromArray(e.matrix),void 0!==e.matrixAutoUpdate&&(a.matrixAutoUpdate=e.matrixAutoUpdate),a.matrixAutoUpdate&&a.matrix.decompose(a.position,a.quaternion,a.scale)):(void 0!==e.position&&a.position.fromArray(e.position),void 0!==e.rotation&&a.rotation.fromArray(e.rotation),void 0!==e.quaternion&&a.quaternion.fromArray(e.quaternion),void 0!==e.scale&&a.scale.fromArray(e.scale)),void 0!==e.castShadow&&(a.castShadow=e.castShadow),void 0!==e.receiveShadow&&(a.receiveShadow=e.receiveShadow),e.shadow&&(void 0!==e.shadow.bias&&(a.shadow.bias=e.shadow.bias),void 0!==e.shadow.normalBias&&(a.shadow.normalBias=e.shadow.normalBias),void 0!==e.shadow.radius&&(a.shadow.radius=e.shadow.radius),void 0!==e.shadow.mapSize&&a.shadow.mapSize.fromArray(e.shadow.mapSize),void 0!==e.shadow.camera&&(a.shadow.camera=this.parseObject(e.shadow.camera))),void 0!==e.visible&&(a.visible=e.visible),void 0!==e.frustumCulled&&(a.frustumCulled=e.frustumCulled),void 0!==e.renderOrder&&(a.renderOrder=e.renderOrder),void 0!==e.userData&&(a.userData=e.userData),void 0!==e.layers&&(a.layers.mask=e.layers),void 0!==e.children){const s=e.children;for(let e=0;e<s.length;e++)a.add(this.parseObject(s[e],t,n,r,i))}if(void 0!==e.animations){const t=e.animations;for(let e=0;e<t.length;e++){const n=t[e];a.animations.push(i[n])}}if("LOD"===e.type){void 0!==e.autoUpdate&&(a.autoUpdate=e.autoUpdate);const t=e.levels;for(let e=0;e<t.length;e++){const n=t[e],r=a.getObjectByProperty("uuid",n.object);void 0!==r&&a.addLevel(r,n.distance,n.hysteresis)}}return a}bindSkeletons(e,t){0!==Object.keys(t).length&&e.traverse(function(e){if(!0===e.isSkinnedMesh&&void 0!==e.skeleton){const n=t[e.skeleton];void 0===n?console.warn("THREE.ObjectLoader: No skeleton found with UUID:",e.skeleton):e.bind(n,e.bindMatrix)}})}}const lM={UVMapping:oh,CubeReflectionMapping:lh,CubeRefractionMapping:ch,EquirectangularReflectionMapping:uh,EquirectangularRefractionMapping:dh,CubeUVReflectionMapping:hh},cM={RepeatWrapping:ph,ClampToEdgeWrapping:fh,MirroredRepeatWrapping:mh},uM={NearestFilter:gh,NearestMipmapNearestFilter:vh,NearestMipmapLinearFilter:xh,LinearFilter:wh,LinearMipmapNearestFilter:_h,LinearMipmapLinearFilter:Mh};class dM extends CS{constructor(e){super(e),this.isImageBitmapLoader=!0,"undefined"===typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),"undefined"===typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,t,n,r){void 0===e&&(e=""),void 0!==this.path&&(e=this.path+e),e=this.manager.resolveURL(e);const i=this,a=ES.get(e);if(void 0!==a)return i.manager.itemStart(e),setTimeout(function(){t&&t(a),i.manager.itemEnd(e)},0),a;const s={};s.credentials="anonymous"===this.crossOrigin?"same-origin":"include",s.headers=this.requestHeader,fetch(e,s).then(function(e){return e.blob()}).then(function(e){return createImageBitmap(e,Object.assign(i.options,{colorSpaceConversion:"none"}))}).then(function(n){ES.add(e,n),t&&t(n),i.manager.itemEnd(e)}).catch(function(t){r&&r(t),i.manager.itemError(e),i.manager.itemEnd(e)}),i.manager.itemStart(e)}}let hM;class pM{static getContext(){return void 0===hM&&(hM=new(window.AudioContext||window.webkitAudioContext)),hM}static setContext(e){hM=e}}class fM extends CS{constructor(e){super(e)}load(e,t,n,r){const i=this,a=new RS(this.manager);a.setResponseType("arraybuffer"),a.setPath(this.path),a.setRequestHeader(this.requestHeader),a.setWithCredentials(this.withCredentials),a.load(e,function(n){try{const e=n.slice(0);pM.getContext().decodeAudioData(e,function(e){t(e)})}catch(zC){r?r(zC):console.error(zC),i.manager.itemError(e)}},n,r)}}class mM extends nM{constructor(e,t){super(void 0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1),this.isHemisphereLightProbe=!0;const n=(new em).set(e),r=(new em).set(t),i=new mm(n.r,n.g,n.b),a=new mm(r.r,r.g,r.b),s=Math.sqrt(Math.PI),o=s*Math.sqrt(.75);this.sh.coefficients[0].copy(i).add(a).multiplyScalar(s),this.sh.coefficients[1].copy(i).sub(a).multiplyScalar(o)}}class gM extends nM{constructor(e){super(void 0,arguments.length>1&&void 0!==arguments[1]?arguments[1]:1),this.isAmbientLightProbe=!0;const t=(new em).set(e);this.sh.coefficients[0].set(t.r,t.g,t.b).multiplyScalar(2*Math.sqrt(Math.PI))}}const vM=new Gm,yM=new Gm,xM=new Gm;class bM{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new bv,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new bv,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,xM.copy(e.projectionMatrix);const n=t.eyeSep/2,r=n*t.near/t.focus,i=t.near*Math.tan(Ef*t.fov*.5)/t.zoom;let a,s;yM.elements[12]=-n,vM.elements[12]=n,a=-i*t.aspect+r,s=i*t.aspect+r,xM.elements[0]=2*t.near/(s-a),xM.elements[8]=(s+a)/(s-a),this.cameraL.projectionMatrix.copy(xM),a=-i*t.aspect-r,s=i*t.aspect-r,xM.elements[0]=2*t.near/(s-a),xM.elements[8]=(s+a)/(s-a),this.cameraR.projectionMatrix.copy(xM)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(yM),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(vM)}}class wM{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=_M(),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=_M();e=(t-this.oldTime)/1e3,this.oldTime=t,this.elapsedTime+=e}return e}}function _M(){return("undefined"===typeof performance?Date:performance).now()}const SM=new mm,MM=new fm,EM=new mm,TM=new mm;class AM extends gg{constructor(){super(),this.type="AudioListener",this.context=pM.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new wM}getInput(){return this.gain}removeFilter(){return null!==this.filter&&(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 null!==this.filter?(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(SM,MM,EM),TM.set(0,0,-1).applyQuaternion(MM),t.positionX){const e=this.context.currentTime+this.timeDelta;t.positionX.linearRampToValueAtTime(SM.x,e),t.positionY.linearRampToValueAtTime(SM.y,e),t.positionZ.linearRampToValueAtTime(SM.z,e),t.forwardX.linearRampToValueAtTime(TM.x,e),t.forwardY.linearRampToValueAtTime(TM.y,e),t.forwardZ.linearRampToValueAtTime(TM.z,e),t.upX.linearRampToValueAtTime(n.x,e),t.upY.linearRampToValueAtTime(n.y,e),t.upZ.linearRampToValueAtTime(n.z,e)}else t.setPosition(SM.x,SM.y,SM.z),t.setOrientation(TM.x,TM.y,TM.z,n.x,n.y,n.z)}}class CM extends gg{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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(!0===this.isPlaying)return void console.warn("THREE.Audio: Audio is already playing.");if(!1===this.hasPlaybackControl)return void console.warn("THREE.Audio: this Audio has no playback control.");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(!1!==this.hasPlaybackControl)return!0===this.isPlaying&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,!0===this.loop&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this;console.warn("THREE.Audio: this Audio has no playback control.")}stop(){if(!1!==this.hasPlaybackControl)return this._progress=0,this.source.stop(),this.source.onended=null,this.isPlaying=!1,this;console.warn("THREE.Audio: this Audio has no playback control.")}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].connect(this.filters[e]);this.filters[this.filters.length-1].connect(this.getOutput())}else this.source.connect(this.getOutput());return this._connected=!0,this}disconnect(){if(this.filters.length>0){this.source.disconnect(this.filters[0]);for(let e=1,t=this.filters.length;e<t;e++)this.filters[e-1].disconnect(this.filters[e]);this.filters[this.filters.length-1].disconnect(this.getOutput())}else this.source.disconnect(this.getOutput());return this._connected=!1,this}getFilters(){return this.filters}setFilters(e){return e||(e=[]),!0===this._connected?(this.disconnect(),this.filters=e.slice(),this.connect()):this.filters=e.slice(),this}setDetune(e){if(this.detune=e,void 0!==this.source.detune)return!0===this.isPlaying&&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(!1!==this.hasPlaybackControl)return this.playbackRate=e,!0===this.isPlaying&&this.source.playbackRate.setTargetAtTime(this.playbackRate,this.context.currentTime,.01),this;console.warn("THREE.Audio: this Audio has no playback control.")}getPlaybackRate(){return this.playbackRate}onEnded(){this.isPlaying=!1}getLoop(){return!1===this.hasPlaybackControl?(console.warn("THREE.Audio: this Audio has no playback control."),!1):this.loop}setLoop(e){if(!1!==this.hasPlaybackControl)return this.loop=e,!0===this.isPlaying&&(this.source.loop=this.loop),this;console.warn("THREE.Audio: this Audio has no playback control.")}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}}const PM=new mm,NM=new fm,RM=new mm,LM=new mm;class kM extends CM{constructor(e){super(e),this.panner=this.context.createPanner(),this.panner.panningModel="HRTF",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),!0===this.hasPlaybackControl&&!1===this.isPlaying)return;this.matrixWorld.decompose(PM,NM,RM),LM.set(0,0,1).applyQuaternion(NM);const t=this.panner;if(t.positionX){const e=this.context.currentTime+this.listener.timeDelta;t.positionX.linearRampToValueAtTime(PM.x,e),t.positionY.linearRampToValueAtTime(PM.y,e),t.positionZ.linearRampToValueAtTime(PM.z,e),t.orientationX.linearRampToValueAtTime(LM.x,e),t.orientationY.linearRampToValueAtTime(LM.y,e),t.orientationZ.linearRampToValueAtTime(LM.z,e)}else t.setPosition(PM.x,PM.y,PM.z),t.setOrientation(LM.x,LM.y,LM.z)}}class IM{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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 DM{constructor(e,t,n){let r,i,a;switch(this.binding=e,this.valueSize=n,t){case"quaternion":r=this._slerp,i=this._slerpAdditive,a=this._setAdditiveIdentityQuaternion,this.buffer=new Float64Array(6*n),this._workIndex=5;break;case"string":case"bool":r=this._select,i=this._select,a=this._setAdditiveIdentityOther,this.buffer=new Array(5*n);break;default:r=this._lerp,i=this._lerpAdditive,a=this._setAdditiveIdentityNumeric,this.buffer=new Float64Array(5*n)}this._mixBufferRegion=r,this._mixBufferRegionAdditive=i,this._setIdentity=a,this._origIndex=3,this._addIndex=4,this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,this.useCount=0,this.referenceCount=0}accumulate(e,t){const n=this.buffer,r=this.valueSize,i=e*r+r;let a=this.cumulativeWeight;if(0===a){for(let e=0;e!==r;++e)n[i+e]=n[e];a=t}else{a+=t;const e=t/a;this._mixBufferRegion(n,i,0,e,r)}this.cumulativeWeight=a}accumulateAdditive(e){const t=this.buffer,n=this.valueSize,r=n*this._addIndex;0===this.cumulativeWeightAdditive&&this._setIdentity(),this._mixBufferRegionAdditive(t,r,0,e,n),this.cumulativeWeightAdditive+=e}apply(e){const t=this.valueSize,n=this.buffer,r=e*t+t,i=this.cumulativeWeight,a=this.cumulativeWeightAdditive,s=this.binding;if(this.cumulativeWeight=0,this.cumulativeWeightAdditive=0,i<1){const e=t*this._origIndex;this._mixBufferRegion(n,r,e,1-i,t)}a>0&&this._mixBufferRegionAdditive(n,r,this._addIndex*t,1,t);for(let o=t,l=t+t;o!==l;++o)if(n[o]!==n[o+t]){s.setValue(n,r);break}}saveOriginalState(){const e=this.binding,t=this.buffer,n=this.valueSize,r=n*this._origIndex;e.getValue(t,r);for(let i=n,a=r;i!==a;++i)t[i]=t[r+i%n];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=3*this.valueSize;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,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,r,i){if(r>=.5)for(let a=0;a!==i;++a)e[t+a]=e[n+a]}_slerp(e,t,n,r){fm.slerpFlat(e,t,e,t,e,n,r)}_slerpAdditive(e,t,n,r,i){const a=this._workIndex*i;fm.multiplyQuaternionsFlat(e,a,e,t,e,n),fm.slerpFlat(e,t,e,t,e,a,r)}_lerp(e,t,n,r,i){const a=1-r;for(let s=0;s!==i;++s){const i=t+s;e[i]=e[i]*a+e[n+s]*r}}_lerpAdditive(e,t,n,r,i){for(let a=0;a!==i;++a){const i=t+a;e[i]=e[i]+e[n+a]*r}}}const zM="\\[\\]\\.:\\/",OM=new RegExp("["+zM+"]","g"),jM="[^"+zM+"]",BM="[^"+zM.replace("\\.","")+"]",FM=new RegExp("^"+/((?:WC+[\/:])*)/.source.replace("WC",jM)+/(WCOD+)?/.source.replace("WCOD",BM)+/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",jM)+/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",jM)+"$"),UM=["material","materials","bones","map"];class VM{constructor(e,t,n){this.path=t,this.parsedPath=n||VM.parseTrackName(t),this.node=VM.findNode(e,this.parsedPath.nodeName)||e,this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,t,n){return e&&e.isAnimationObjectGroup?new VM.Composite(e,t,n):new VM(e,t,n)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(OM,"")}static parseTrackName(e){const t=FM.exec(e);if(null===t)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const n={nodeName:t[2],objectName:t[3],objectIndex:t[4],propertyName:t[5],propertyIndex:t[6]},r=n.nodeName&&n.nodeName.lastIndexOf(".");if(void 0!==r&&-1!==r){const e=n.nodeName.substring(r+1);-1!==UM.indexOf(e)&&(n.nodeName=n.nodeName.substring(0,r),n.objectName=e)}if(null===n.propertyName||0===n.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return n}static findNode(e,t){if(void 0===t||""===t||"."===t||-1===t||t===e.name||t===e.uuid)return e;if(e.skeleton){const n=e.skeleton.getBoneByName(t);if(void 0!==n)return n}if(e.children){const n=function(e){for(let r=0;r<e.length;r++){const i=e[r];if(i.name===t||i.uuid===t)return i;const a=n(i.children);if(a)return a}return null},r=n(e.children);if(r)return r}return null}_getValue_unavailable(){}_setValue_unavailable(){}_getValue_direct(e,t){e[t]=this.targetObject[this.propertyName]}_getValue_array(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)e[t++]=n[r]}_getValue_arrayElement(e,t){e[t]=this.resolvedProperty[this.propertyIndex]}_getValue_toArray(e,t){this.resolvedProperty.toArray(e,t)}_setValue_direct(e,t){this.targetObject[this.propertyName]=e[t]}_setValue_direct_setNeedsUpdate(e,t){this.targetObject[this.propertyName]=e[t],this.targetObject.needsUpdate=!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 r=0,i=n.length;r!==i;++r)n[r]=e[t++]}_setValue_array_setNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.needsUpdate=!0}_setValue_array_setMatrixWorldNeedsUpdate(e,t){const n=this.resolvedProperty;for(let r=0,i=n.length;r!==i;++r)n[r]=e[t++];this.targetObject.matrixWorldNeedsUpdate=!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,r=t.propertyName;let i=t.propertyIndex;if(e||(e=VM.findNode(this.rootNode,t.nodeName)||this.rootNode,this.node=e),this.getValue=this._getValue_unavailable,this.setValue=this._setValue_unavailable,!e)return void console.error("THREE.PropertyBinding: Trying to update node for track: "+this.path+" but it wasn't found.");if(n){let r=t.objectIndex;switch(n){case"materials":if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as no
2de does not have a material.",this);if(!e.material.materials)return void console.error("THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.",this);e=e.material.materials;break;case"bones":if(!e.skeleton)return void console.error("THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.",this);e=e.skeleton.bones;for(let t=0;t<e.length;t++)if(e[t].name===r){r=t;break}break;case"map":if("map"in e){e=e.map;break}if(!e.material)return void console.error("THREE.PropertyBinding: Can not bind to material as node does not have a material.",this);if(!e.material.map)return void console.error("THREE.PropertyBinding: Can not bind to material.map as node.material does not have a map.",this);e=e.material.map;break;default:if(void 0===e[n])return void console.error("THREE.PropertyBinding: Can not bind to objectName of node undefined.",this);e=e[n]}if(void 0!==r){if(void 0===e[r])return void console.error("THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.",this,e);e=e[r]}}const a=e[r];if(void 0===a){const n=t.nodeName;return void console.error("THREE.PropertyBinding: Trying to update property for track: "+n+"."+r+" but it wasn't found.",e)}let s=this.Versioning.None;this.targetObject=e,void 0!==e.needsUpdate?s=this.Versioning.NeedsUpdate:void 0!==e.matrixWorldNeedsUpdate&&(s=this.Versioning.MatrixWorldNeedsUpdate);let o=this.BindingType.Direct;if(void 0!==i){if("morphTargetInfluences"===r){if(!e.geometry)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.",this);if(!e.geometry.morphAttributes)return void console.error("THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.",this);void 0!==e.morphTargetDictionary[i]&&(i=e.morphTargetDictionary[i])}o=this.BindingType.ArrayElement,this.resolvedProperty=a,this.propertyIndex=i}else void 0!==a.fromArray&&void 0!==a.toArray?(o=this.BindingType.HasFromToArray,this.resolvedProperty=a):Array.isArray(a)?(o=this.BindingType.EntireArray,this.resolvedProperty=a):this.propertyName=r;this.getValue=this.GetterByBindingType[o],this.setValue=this.SetterByBindingTypeAndVersioning[o][s]}unbind(){this.node=null,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}}VM.Composite=class{constructor(e,t,n){const r=n||VM.parseTrackName(t);this._targetGroup=e,this._bindings=e.subscribe_(t,r)}getValue(e,t){this.bind();const n=this._targetGroup.nCachedObjects_,r=this._bindings[n];void 0!==r&&r.getValue(e,t)}setValue(e,t){const n=this._bindings;for(let r=this._targetGroup.nCachedObjects_,i=n.length;r!==i;++r)n[r].setValue(e,t)}bind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].bind()}unbind(){const e=this._bindings;for(let t=this._targetGroup.nCachedObjects_,n=e.length;t!==n;++t)e[t].unbind()}},VM.prototype.BindingType={Direct:0,EntireArray:1,ArrayElement:2,HasFromToArray:3},VM.prototype.Versioning={None:0,NeedsUpdate:1,MatrixWorldNeedsUpdate:2},VM.prototype.GetterByBindingType=[VM.prototype._getValue_direct,VM.prototype._getValue_array,VM.prototype._getValue_arrayElement,VM.prototype._getValue_toArray],VM.prototype.SetterByBindingTypeAndVersioning=[[VM.prototype._setValue_direct,VM.prototype._setValue_direct_setNeedsUpdate,VM.prototype._setValue_direct_setMatrixWorldNeedsUpdate],[VM.prototype._setValue_array,VM.prototype._setValue_array_setNeedsUpdate,VM.prototype._setValue_array_setMatrixWorldNeedsUpdate],[VM.prototype._setValue_arrayElement,VM.prototype._setValue_arrayElement_setNeedsUpdate,VM.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate],[VM.prototype._setValue_fromArray,VM.prototype._setValue_fromArray_setNeedsUpdate,VM.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate]];class HM{constructor(){this.isAnimationObjectGroup=!0,this.uuid=Af(),this._objects=Array.prototype.slice.call(arguments),this.nCachedObjects_=0;const e={};this._indicesByUUID=e;for(let n=0,r=arguments.length;n!==r;++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,r=this._parsedPaths,i=this._bindings,a=i.length;let s,o=e.length,l=this.nCachedObjects_;for(let c=0,u=arguments.length;c!==u;++c){const u=arguments[c],d=u.uuid;let h=t[d];if(void 0===h){h=o++,t[d]=h,e.push(u);for(let e=0,t=a;e!==t;++e)i[e].push(new VM(u,n[e],r[e]))}else if(h<l){s=e[h];const o=--l,c=e[o];t[c.uuid]=h,e[h]=c,t[d]=o,e[o]=u;for(let e=0,t=a;e!==t;++e){const t=i[e],a=t[o];let s=t[h];t[h]=a,void 0===s&&(s=new VM(u,n[e],r[e])),t[o]=s}}else e[h]!==s&&console.error("THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastru
2cture when reloading scenes.")}this.nCachedObjects_=l}remove(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_;for(let a=0,s=arguments.length;a!==s;++a){const s=arguments[a],o=s.uuid,l=t[o];if(void 0!==l&&l>=i){const a=i++,c=e[a];t[c.uuid]=l,e[l]=c,t[o]=a,e[a]=s;for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[a],i=t[l];t[l]=r,t[a]=i}}}this.nCachedObjects_=i}uncache(){const e=this._objects,t=this._indicesByUUID,n=this._bindings,r=n.length;let i=this.nCachedObjects_,a=e.length;for(let s=0,o=arguments.length;s!==o;++s){const o=arguments[s].uuid,l=t[o];if(void 0!==l)if(delete t[o],l<i){const s=--i,o=e[s],c=--a,u=e[c];t[o.uuid]=l,e[l]=o,t[u.uuid]=s,e[s]=u,e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e],r=t[s],i=t[c];t[l]=r,t[s]=i,t.pop()}}else{const i=--a,s=e[i];i>0&&(t[s.uuid]=l),e[l]=s,e.pop();for(let e=0,t=r;e!==t;++e){const t=n[e];t[l]=t[i],t.pop()}}}this.nCachedObjects_=i}subscribe_(e,t){const n=this._bindingsIndicesByPath;let r=n[e];const i=this._bindings;if(void 0!==r)return i[r];const a=this._paths,s=this._parsedPaths,o=this._objects,l=o.length,c=this.nCachedObjects_,u=new Array(l);r=i.length,n[e]=r,a.push(e),s.push(t),i.push(u);for(let d=c,h=o.length;d!==h;++d){const n=o[d];u[d]=new VM(n,e,t)}return u}unsubscribe_(e){const t=this._bindingsIndicesByPath,n=t[e];if(void 0!==n){const r=this._paths,i=this._parsedPaths,a=this._bindings,s=a.length-1,o=a[s];t[e[s]]=n,a[n]=o,a.pop(),i[n]=i[s],i.pop(),r[n]=r[s],r.pop()}}}class WM{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.blendMode;this._mixer=e,this._clip=t,this._localRoot=n,this.blendMode=r;const i=t.tracks,a=i.length,s=new Array(a),o={endingStart:Np,endingEnd:Np};for(let l=0;l!==a;++l){const e=i[l].createInterpolant(null);s[l]=e,e.settings=o}this._interpolantSettings=o,this._interpolants=s,this._propertyBindings=new Array(a),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=Ep,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&&0!==this.timeScale&&null===this._startTime&&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 n=this._clip.duration,r=e._clip.duration,i=r/n,a=n/r;e.warp(1,i,t),this.warp(a,1,t)}return this}crossFadeTo(e,t,n){return e.crossFadeFrom(this,t,n)}stopFading(){const e=this._weightInterpolant;return null!==e&&(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 r=this._mixer,i=r.time,a=this.timeScale;let s=this._timeScaleInterpolant;null===s&&(s=r._lendControlInterpolant(),this._timeScaleInterpolant=s);const o=s.parameterPositions,l=s.sampleValues;return o[0]=i,o[1]=i+n,l[0]=e/a,l[1]=t/a,this}stopWarping(){const e=this._timeScaleInterpolant;return null!==e&&(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,r){if(!this.enabled)return void this._updateWeight(e);const i=this._startTime;if(null!==i){const r=(e-i)*n;r<0||0===n?t=0:(this._startTime=null,t=n*r)}t*=this._updateTimeScale(e);const a=this._updateTime(t),s=this._updateWeight(e);if(s>0){const e=this._interpolants,t=this._propertyBindings;if(this.blendMode===Ip)for(let n=0,r=e.length;n!==r;++n)e[n].evaluate(a),t[n].accumulateAdditive(s);else for(let n=0,i=e.length;n!==i;++n)e[n].evaluate(a),t[n].accumulate(r,s)}}_updateWeight(e){let t=0;if(this.enabled){t=this.weight;const n=this._weightInterpolant;if(null!==n){const r=n.evaluate(e)[0];t*=r,e>n.parameterPositions[1]&&(this.stopFading(),0===r&&(this.enabled=!1))}}return this._effectiveWeight=t,t}_updateTimeScale(e){let t=0;if(!this.paused){t=this.timeScale;const n=this._timeScaleInterpolant;if(null!==n){t*=n.evaluate(e)[0],e>n.parameterPositions[1]&&(this.stopWarping(),0===t?this.paused=!0:this.timeScale=t)}}return this._effectiveTimeScale=t,t}_updateTime(e){const t=this._clip.duration,n=this.loop;let r=this.time+e,i=this._loopCount;const a=n===Tp;if(0===e)return-1===i?r:a&&1===(1&i)?t-r:r;if(n===Mp){-1===i&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(r>=t)r=t;else{if(!(r<0)){this.time=r;break e}r=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(-1===i&&(e>=0?(i=0,this._setEndings(!0,0===this.repetitions,a)):this._setEndings(0===this.repetitions,!0,a)),r>=t||r<0){const n=Math.floor(r/t);r-=t*n,i+=Math.abs(n);const s=this.repetitions-i;if(s<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,r=e>0?t:0,this.time=r,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(1===s){const t=e<0;this._setEndings(t,!t,a)}else this._setEndings(!1,!1,a);this._loopCount=i,this.time=r,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:n})}}else this.time=r;if(a&&1===(1&i))return t-r}return r}
vendor: 8,803 bytes, line 2
2_setEndings(e,t,n){const r=this._interpolantSettings;n?(r.endingStart=Rp,r.endingEnd=Rp):(r.endingStart=e?this.zeroSlopeAtStart?Rp:Np:Lp,r.endingEnd=t?this.zeroSlopeAtEnd?Rp:Np:Lp)}_scheduleFading(e,t,n){const r=this._mixer,i=r.time;let a=this._weightInterpolant;null===a&&(a=r._lendControlInterpolant(),this._weightInterpolant=a);const s=a.parameterPositions,o=a.sampleValues;return s[0]=i,o[0]=t,s[1]=i+e,o[1]=n,this}}const GM=new Float32Array(1);class qM extends _f{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,t){const n=e._localRoot||this._root,r=e._clip.tracks,i=r.length,a=e._propertyBindings,s=e._interpolants,o=n.uuid,l=this._bindingsByRootAndName;let c=l[o];void 0===c&&(c={},l[o]=c);for(let u=0;u!==i;++u){const e=r[u],i=e.name;let l=c[i];if(void 0!==l)++l.referenceCount,a[u]=l;else{if(l=a[u],void 0!==l){null===l._cacheIndex&&(++l.referenceCount,this._addInactiveBinding(l,o,i));continue}const r=t&&t._propertyBindings[u].binding.parsedPath;l=new DM(VM.create(n,i,r),e.ValueTypeName,e.getValueSize()),++l.referenceCount,this._addInactiveBinding(l,o,i),a[u]=l}s[u].resultBuffer=l.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(null===e._cacheIndex){const t=(e._localRoot||this._root).uuid,n=e._clip.uuid,r=this._actionsByClip[n];this._bindAction(e,r&&r.knownActions[0]),this._addInactiveAction(e,n,t)}const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];0===n.useCount++&&(this._lendBinding(n),n.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const t=e._propertyBindings;for(let e=0,n=t.length;e!==n;++e){const n=t[e];0===--n.useCount&&(n.restoreOriginalState(),this._takeBackBinding(n))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const t=e._cacheIndex;return null!==t&&t<this._nActiveActions}_addInactiveAction(e,t,n){const r=this._actions,i=this._actionsByClip;let a=i[t];if(void 0===a)a={knownActions:[e],actionByRoot:{}},e._byClipCacheIndex=0,i[t]=a;else{const t=a.knownActions;e._byClipCacheIndex=t.length,t.push(e)}e._cacheIndex=r.length,r.push(e),a.actionByRoot[n]=e}_removeInactiveAction(e){const t=this._actions,n=t[t.length-1],r=e._cacheIndex;n._cacheIndex=r,t[r]=n,t.pop(),e._cacheIndex=null;const i=e._clip.uuid,a=this._actionsByClip,s=a[i],o=s.knownActions,l=o[o.length-1],c=e._byClipCacheIndex;l._byClipCacheIndex=c,o[c]=l,o.pop(),e._byClipCacheIndex=null;delete s.actionByRoot[(e._localRoot||this._root).uuid],0===o.length&&delete a[i],this._removeInactiveBindingsForAction(e)}_removeInactiveBindingsForAction(e){const t=e._propertyBindings;for(let n=0,r=t.length;n!==r;++n){const e=t[n];0===--e.referenceCount&&this._removeInactiveBinding(e)}}_lendAction(e){const t=this._actions,n=e._cacheIndex,r=this._nActiveActions++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackAction(e){const t=this._actions,n=e._cacheIndex,r=--this._nActiveActions,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_addInactiveBinding(e,t,n){const r=this._bindingsByRootAndName,i=this._bindings;let a=r[t];void 0===a&&(a={},r[t]=a),a[n]=e,e._cacheIndex=i.length,i.push(e)}_removeInactiveBinding(e){const t=this._bindings,n=e.binding,r=n.rootNode.uuid,i=n.path,a=this._bindingsByRootAndName,s=a[r],o=t[t.length-1],l=e._cacheIndex;o._cacheIndex=l,t[l]=o,t.pop(),delete s[i],0===Object.keys(s).length&&delete a[r]}_lendBinding(e){const t=this._bindings,n=e._cacheIndex,r=this._nActiveBindings++,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_takeBackBinding(e){const t=this._bindings,n=e._cacheIndex,r=--this._nActiveBindings,i=t[r];e._cacheIndex=r,t[r]=e,i._cacheIndex=n,t[n]=i}_lendControlInterpolant(){const e=this._controlInterpolants,t=this._nActiveControlInterpolants++;let n=e[t];return void 0===n&&(n=new pS(new Float32Array(2),new Float32Array(2),1,GM),n.__cacheIndex=t,e[t]=n),n}_takeBackControlInterpolant(e){const t=this._controlInterpolants,n=e.__cacheIndex,r=--this._nActiveControlInterpolants,i=t[r];e.__cacheIndex=r,t[r]=e,i.__cacheIndex=n,t[n]=i}clipAction(e,t,n){const r=t||this._root,i=r.uuid;let a="string"===typeof e?SS.findByName(r,e):e;const s=null!==a?a.uuid:e,o=this._actionsByClip[s];let l=null;if(void 0===n&&(n=null!==a?a.blendMode:kp),void 0!==o){const e=o.actionByRoot[i];if(void 0!==e&&e.blendMode===n)return e;l=o.knownActions[0],null===a&&(a=l._clip)}if(null===a)return null;const c=new WM(this,a,t,n);return this._bindAction(c,l),this._addInactiveAction(c,s,i),c}existingAction(e,t){const n=t||this._root,r=n.uuid,i="string"===typeof e?SS.findByName(n,e):e,a=i?i.uuid:e,s=this._actionsByClip[a];return void 0!==s&&s.actionByRoot[r]||null}stopAllAction(){const e=this._actions;for(let t=this._nActiveActions-1;t>=0;--t)e[t].stop();return this}update(e){e*=this.timeScale;const t=this._actions,n=this._nActiveActions,r=this.time+=e,i=Math.sign(e),a=this._accuIndex^=1;for(let l=0;l!==n;++l){t[l]._update(r,e,i,a)}const s=this._bindings,o=this._nActiveBindings;for(let l=0;l!==o;++l)s[l].apply(a);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,r=this._actionsByClip,i=r[n];if(void 0!==i){const e=i.knownActions;for(let n=0,r=e.length;n!==r;++n){const r=e[n];this._deactivateAction(r);const i=r._cacheIndex,a=t[t.length-1];r._cacheIndex=null,r._byClipCacheIndex=null,a._cacheIndex=i,t[i]=a,t.pop(),this._removeInactiveBindingsForAction(r)}delete r[n]}}uncacheRoot(e){const t=e.uuid,n=this._actionsByClip;for(const i in n){const e=n[i].actionByRoot[t];void 0!==e&&(this._deactivateAction(e),this._removeInactiveAction(e))}const r=this._bindingsByRootAndName[t];if(void 0!==r)for(const i in r){const e=r[i];e.restoreOriginalState(),this._removeInactiveBinding(e)}}uncacheAction(e,t){const n=this.existingAction(e,t);null!==n&&(this._deactivateAction(n),this._removeInactiveAction(n))}}class XM{constructor(e){this.value=e}clone(){return new XM(void 0===this.value.clone?this.value:this.value.clone())}}let YM=0;class JM extends _f{constructor(){super(),this.isUniformsGroup=!0,Object.defineProperty(this,"id",{value:YM++}),this.name="",this.usage=uf,this.uniforms=[]}add(e){return this.uniforms.push(e),this}remove(e){const t=this.uniforms.indexOf(e);return-1!==t&&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,r=t.length;n<r;n++)this.uniforms.push(t[n].clone());return this}clone(){return(new this.constructor).copy(this)}}class QM extends gb{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]: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 ZM{constructor(e,t,n,r,i){this.isGLBufferAttribute=!0,this.name="",this.buffer=e,this.type=t,this.itemSize=n,this.elementSize=r,this.count=i,this.version=0}set needsUpdate(e){!0===e&&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}}class KM{constructor(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1/0;this.ray=new Wm(e,t),this.near=n,this.far=r,this.camera=null,this.layers=new ng,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:
2Unsupported camera type: "+t.type)}intersectObject(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return eE(e,this,t,!(arguments.length>1&&void 0!==arguments[1])||arguments[1]),t.sort($M),t}intersectObjects(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];for(let r=0,i=e.length;r<i;r++)eE(e[r],this,n,t);return n.sort($M),n}}function $M(e,t){return e.distance-t.distance}function eE(e,t,n,r){if(e.layers.test(t.layers)&&e.raycast(t,n),!0===r){const r=e.children;for(let e=0,i=r.length;e<i;e++)eE(r[e],t,n,!0)}}class tE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]: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(){const e=1e-6;return this.phi=Math.max(e,Math.min(Math.PI-e,this.phi)),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),0===this.radius?(this.theta=0,this.phi=0):(this.theta=Math.atan2(e,n),this.phi=Math.acos(Cf(t/this.radius,-1,1))),this}clone(){return(new this.constructor).copy(this)}}class nE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]: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)}}const rE=new Of;class iE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Of(1/0,1/0),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Of(-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=rE.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 rE.copy(e).clamp(this.min,this.max).sub(e).length()}intersect(e){return this.min.max(e.min),this.max.min(e.max),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 aE=new mm,sE=new mm;class oE{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm;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){aE.subVectors(e,this.start),sE.subVectors(this.end,this.start);const n=sE.dot(sE);let r=sE.dot(aE)/n;return t&&(r=Cf(r,0,1)),r}closestPointToPoint(e,t,n){const r=this.closestPointToPointParameter(e,t);return this.delta(n).multiplyScalar(r).add(this.start)}
vendor: 6,061 bytes, line 2
2applyMatrix4(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 lE=new mm;class cE extends gg{constructor(e,t){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=t,this.type="SpotLightHelper";const n=new Zg,r=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let a=0,s=1,o=32;a<o;a++,s++){const e=a/o*Math.PI*2,t=s/o*Math.PI*2;r.push(Math.cos(e),Math.sin(e),1,Math.cos(t),Math.sin(t),1)}n.setAttribute("position",new Vg(r,3));const i=new nw({fog:!1,toneMapped:!1});this.cone=new dw(n,i),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);const e=this.light.distance?this.light.distance:1e3,t=e*Math.tan(this.light.angle);this.cone.scale.set(t,t,e),lE.setFromMatrixPosition(this.light.target.matrixWorld),this.cone.lookAt(lE),void 0!==this.color?this.cone.material.color.set(this.color):this.cone.material.color.copy(this.light.color)}}const uE=new mm,dE=new Gm,hE=new Gm;class pE extends dw{constructor(e){const t=fE(e),n=new Zg,r=[],i=[],a=new em(0,0,1),s=new em(0,1,0);for(let o=0;o<t.length;o++){const e=t[o];e.parent&&e.parent.isBone&&(r.push(0,0,0),r.push(0,0,0),i.push(a.r,a.g,a.b),i.push(s.r,s.g,s.b))}n.setAttribute("position",new Vg(r,3)),n.setAttribute("color",new Vg(i,3));super(n,new nw({vertexColors:!0,depthTest:!1,depthWrite:!1,toneMapped:!1,transparent:!0})),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,r=n.getAttribute("position");hE.copy(this.root.matrixWorld).invert();for(let i=0,a=0;i<t.length;i++){const e=t[i];e.parent&&e.parent.isBone&&(dE.multiplyMatrices(hE,e.matrixWorld),uE.setFromMatrixPosition(dE),r.setXYZ(a,uE.x,uE.y,uE.z),dE.multiplyMatrices(hE,e.parent.matrixWorld),uE.setFromMatrixPosition(dE),r.setXYZ(a+1,uE.x,uE.y,uE.z),a+=2)}n.getAttribute("position").needsUpdate=!0,super.updateMatrixWorld(e)}dispose(){this.geometry.dispose(),this.material.dispose()}}function fE(e){const t=[];!0===e.isBone&&t.push(e);for(let n=0;n<e.children.length;n++)t.push.apply(t,fE(e.children[n]));return t}class mE extends dv{constructor(e,t,n){super(new F_(t,4,2),new Ng({wireframe:!0,fog:!1,toneMapped:!1})),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),void 0!==this.color?this.material.color.set(this.color):this.material.color.copy(this.light.color)}}const gE=new mm,vE=new em,yE=new em;class xE extends gg{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="HemisphereLightHelper";const r=new O_(t);r.rotateY(.5*Math.PI),this.material=new Ng({wireframe:!0,fog:!1,toneMapped:!1}),void 0===this.color&&(this.material.vertexColors=!0);const i=r.getAttribute("position"),a=new Float32Array(3*i.count);r.setAttribute("color",new kg(a,3)),this.add(new dv(r,this.material)),this.update()}dispose(){this.children[0].geometry.dispose(),this.children[0].material.dispose()}update(){const e=this.children[0];if(void 0!==this.color)this.material.color.set(this.color);else{const t=e.geometry.getAttribute("color");vE.copy(this.light.color),yE.copy(this.light.groundColor);for(let e=0,n=t.count;e<n;e++){const r=e<n/2?vE:yE;t.setXYZ(e,r.r,r.g,r.b)}t.needsUpdate=!0}this.light.updateWorldMatrix(!0,!1),e.lookAt(gE.setFromMatrixPosition(this.light.matrixWorld).negate())}}class bE extends dw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:4473924,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:8947848;n=new em(n),r=new em(r);const i=t/2,a=e/t,s=e/2,o=[],l=[];for(let u=0,d=0,h=-s;u<=t;u++,h+=a){o.push(-s,0,h,s,0,h),o.push(h,0,-s,h,0,s);const e=u===i?n:r;e.toArray(l,d),d+=3,e.toArray(l,d),d+=3,e.toArray(l,d),d+=3,e.toArray(l,d),d+=3}const c=new Zg;c.setAttribute("position",new Vg(o,3)),c.setAttribute("color",new Vg(l,3));super(c,new nw({vertexColors:!0,toneMapped:!1})),this.type="GridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}class wE extends dw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:16,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:64,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:4473924,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:8947848;i=new em(i),a=new em(a);const s=[],o=[];if(t>1)for(let c=0;c<t;c++){const n=c/t*(2*Math.PI),r=Math.sin(n)*e,l=Math.cos(n)*e;s.push(0,0,0),s.push(r,0,l);const u=1&c?i:a;o.push(u.r,u.g,u.b),o.push(u.r,u.g,u.b)}for(let c=0;c<n;c++){const t=1&c?i:a,l=e-e/n*c;for(let e=0;e<r;e++){let n=e/r*(2*Math.PI),i=Math.sin(n)*l,a=Math.cos(n)*l;s.push(i,0,a),o.push(t.r,t.g,t.b),n=(e+1)/r*(2*Math.PI),i=Math.sin(n)*l,a=Math.cos(n)*l,s.push(i,0,a),o.push(t.r,t.g,t.b)}}const l=new Zg;l.setAttribute("position",new Vg(s,3)),l.setAttribute("color",new Vg(o,3));super(l,new nw({vertexColors:!0,toneMapped:!1})),this.type="PolarGridHelper"}dispose(){this.geometry.dispose(),this.material.dispose()}}const _E=new mm,SE=new mm,ME=new mm;class EE extends gg{constructor(e,t,n){super(),this.light=e,this.matrix=e.matrixWorld,this.matrixAutoUpdate=!1,this.color=n,this.type="DirectionalLightHelper",void 0===t&&(t=1);let r=new Zg;r.setAttribute("position",new Vg([-t,t,0,t,t,0,t,-t,0,-t,-t,0,-t,t,0],3));const i=new nw({fog:!1,toneMapped:!1});this.lightPlane=new lw(r,i),this.add(this.lightPlane),r=new Zg,r.setAttribute("position",new Vg([
vendor: 4,446 bytes, line 2
20,0,0,0,0,1],3)),this.targetLine=new lw(r,i),this.add(this.targetLine),this.update()}dispose(){this.lightPlane.geometry.dispose(),this.lightPlane.material.dispose(),this.targetLine.geometry.dispose(),this.targetLine.material.dispose()}update(){this.light.updateWorldMatrix(!0,!1),this.light.target.updateWorldMatrix(!0,!1),_E.setFromMatrixPosition(this.light.matrixWorld),SE.setFromMatrixPosition(this.light.target.matrixWorld),ME.subVectors(SE,_E),this.lightPlane.lookAt(SE),void 0!==this.color?(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(SE),this.targetLine.scale.z=ME.length()}}const TE=new mm,AE=new xv;class CE extends dw{constructor(e){const t=new Zg,n=new nw({color:16777215,vertexColors:!0,toneMapped:!1}),r=[],i=[],a={};function s(e,t){o(e),o(t)}function o(e){r.push(0,0,0),i.push(0,0,0),void 0===a[e]&&(a[e]=[]),a[e].push(r.length/3-1)}s("n1","n2"),s("n2","n4"),s("n4","n3"),s("n3","n1"),s("f1","f2"),s("f2","f4"),s("f4","f3"),s("f3","f1"),s("n1","f1"),s("n2","f2"),s("n3","f3"),s("n4","f4"),s("p","n1"),s("p","n2"),s("p","n3"),s("p","n4"),s("u1","u2"),s("u2","u3"),s("u3","u1"),s("c","t"),s("p","c"),s("cn1","cn2"),s("cn3","cn4"),s("cf1","cf2"),s("cf3","cf4"),t.setAttribute("position",new Vg(r,3)),t.setAttribute("color",new Vg(i,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=a,this.update();const l=new em(16755200),c=new em(16711680),u=new em(43775),d=new em(16777215),h=new em(3355443);this.setColors(l,c,u,d,h)}setColors(e,t,n,r,i){const a=this.geometry.getAttribute("color");a.setXYZ(0,e.r,e.g,e.b),a.setXYZ(1,e.r,e.g,e.b),a.setXYZ(2,e.r,e.g,e.b),a.setXYZ(3,e.r,e.g,e.b),a.setXYZ(4,e.r,e.g,e.b),a.setXYZ(5,e.r,e.g,e.b),a.setXYZ(6,e.r,e.g,e.b),a.setXYZ(7,e.r,e.g,e.b),a.setXYZ(8,e.r,e.g,e.b),a.setXYZ(9,e.r,e.g,e.b),a.setXYZ(10,e.r,e.g,e.b),a.setXYZ(11,e.r,e.g,e.b),a.setXYZ(12,e.r,e.g,e.b),a.setXYZ(13,e.r,e.g,e.b),a.setXYZ(14,e.r,e.g,e.b),a.setXYZ(15,e.r,e.g,e.b),a.setXYZ(16,e.r,e.g,e.b),a.setXYZ(17,e.r,e.g,e.b),a.setXYZ(18,e.r,e.g,e.b),a.setXYZ(19,e.r,e.g,e.b),a.setXYZ(20,e.r,e.g,e.b),a.setXYZ(21,e.r,e.g,e.b),a.setXYZ(22,e.r,e.g,e.b),a.setXYZ(23,e.r,e.g,e.b),a.setXYZ(24,t.r,t.g,t.b),a.setXYZ(25,t.r,t.g,t.b),a.setXYZ(26,t.r,t.g,t.b),a.setXYZ(27,t.r,t.g,t.b),a.setXYZ(28,t.r,t.g,t.b),a.setXYZ(29,t.r,t.g,t.b),a.setXYZ(30,t.r,t.g,t.b),a.setXYZ(31,t.r,t.g,t.b),a.setXYZ(32,n.r,n.g,n.b),a.setXYZ(33,n.r,n.g,n.b),a.setXYZ(34,n.r,n.g,n.b),a.setXYZ(35,n.r,n.g,n.b),a.setXYZ(36,n.r,n.g,n.b),a.setXYZ(37,n.r,n.g,n.b),a.setXYZ(38,r.r,r.g,r.b),a.setXYZ(39,r.r,r.g,r.b),a.setXYZ(40,i.r,i.g,i.b),a.setXYZ(41,i.r,i.g,i.b),a.setXYZ(42,i.r,i.g,i.b),a.setXYZ(43,i.r,i.g,i.b),a.setXYZ(44,i.r,i.g,i.b),a.setXYZ(45,i.r,i.g,i.b),a.setXYZ(46,i.r,i.g,i.b),a.setXYZ(47,i.r,i.g,i.b),a.setXYZ(48,i.r,i.g,i.b),a.setXYZ(49,i.r,i.g,i.b),a.needsUpdate=!0}update(){const e=this.geometry,t=this.pointMap;AE.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse),PE("c",t,e,AE,0,0,-1),PE("t",t,e,AE,0,0,1),PE("n1",t,e,AE,-1,-1,-1),PE("n2",t,e,AE,1,-1,-1),PE("n3",t,e,AE,-1,1,-1),PE("n4",t,e,AE,1,1,-1),PE("f1",t,e,AE,-1,-1,1),PE("f2",t,e,AE,1,-1,1),PE("f3",t,e,AE,-1,1,1),PE("f4",t,e,AE,1,1,1),PE("u1",t,e,AE,.7,1.1,-1),PE("u2",t,e,AE,-.7,1.1,-1),PE("u3",t,e,AE,0,2,-1),PE("cf1",t,e,AE,-1,0,1),PE("cf2",t,e,AE,1,0,1),PE("cf3",t,e,AE,0,-1,1),PE("cf4",t,e,AE,0,1,1),PE("cn1",t,e,AE,-1,0,-1),PE("cn2",t,e,AE,1,0,-1),PE("cn3",t,e,AE,0,-1,-1),PE("cn4",t,e,AE,0,1,-1),e.getAttribute("position").needsUpdate=!0}dispose(){this.geometry.dispose(),this.material.dispose()}}function PE(e,t,n,r,i,a,s){TE.set(i,a,s).unproject(r);const o=t[e];if(void 0!==o){const e=n.getAttribute("position");for(let t=0,n=o.length;t<n;t++)e.setXYZ(o[t],TE.x,TE.y,TE.z)}}const NE=new ym;class RE extends dw{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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]),r=new Float32Array(24),i=new Zg;i.setIndex(new kg(n,1)),i.setAttribute("position",new kg(r,3)),super(i,new nw({color:t,toneMapped:!1})),this.object=e,this.type="BoxHelper",this.matrixAutoUpdate=!1,this.update()}update(e){if(void 0!==e&&console.warn("THREE.BoxHelper: .update(
2) has no longer arguments."),void 0!==this.object&&NE.setFromObject(this.object),NE.isEmpty())return;const t=NE.min,n=NE.max,r=this.geometry.attributes.position,i=r.array;i[0]=n.x,i[1]=n.y,i[2]=n.z,i[3]=t.x,i[4]=n.y,i[5]=n.z,i[6]=t.x,i[7]=t.y,i[8]=n.z,i[9]=n.x,i[10]=t.y,i[11]=n.z,i[12]=n.x,i[13]=n.y,i[14]=t.z,i[15]=t.x,i[16]=n.y,i[17]=t.z,i[18]=t.x,i[19]=t.y,i[20]=t.z,i[21]=n.x,i[22]=t.y,i[23]=t.z,r.needsUpdate=!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 LE extends dw{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]: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]),r=new Zg;r.setIndex(new kg(n,1)),r.setAttribute("position",new Vg([1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1],3)),super(r,new nw({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 kE extends lw{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:16776960,r=new Zg;r.setAttribute("position",new Vg([1,-1,0,-1,1,0,-1,-1,0,1,1,0,-1,1,0,-1,-1,0,1,-1,0,1,1,0],3)),r.computeBoundingSphere(),super(r,new nw({color:n,toneMapped:!1})),this.type="PlaneHelper",this.plane=e,this.size=t;const i=new Zg;i.setAttribute("position",new Vg([1,1,0,-1,1,0,-1,-1,0,1,1,0,-1,-1,0,1,-1,0],3)),i.computeBoundingSphere(),this.add(new dv(i,new Ng({color:n,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 IE=new mm;let DE,zE;class OE extends gg{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new mm(0,0,1),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new mm(0,0,0),n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:16776960,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:.2*n,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:.2*i;super(),this.type="ArrowHelper",void 0===DE&&(DE=new Zg,DE.setAttribute("position",new Vg([0,0,0,0,1,0],3)),zE=new Qw(0,.5,1,5,1),zE.translate(0,-.5,0)),this.position.copy(t),this.line=new lw(DE,new nw({color:r,toneMapped:!1})),this.line.matrixAutoUpdate=!1,this.add(this.line),this.cone=new dv(zE,new Ng({color:r,toneMapped:!1})),this.cone.matrixAutoUpdate=!1,this.add(this.cone),this.setDirection(e),this.setLength(n,i,a)}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{IE.set(e.z,0,-e.x).normalize();const t=Math.acos(e.y);this.quaternion.setFromAxisAngle(IE,t)}}setLength(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.2*e,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:.2*t;this.line.scale.set(1,Math.max(1e-4,e-t),1),this.line.updateMatrix(),this.cone.scale.set(n,t,n),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){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 jE extends dw{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;const t=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],n=new Zg;n.setAttribute("position",new Vg(t,3)),n.setAttribute("color",new Vg([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(n,new nw({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}
vendor: 6,741 bytes, line 2
2setColors(e,t,n){const r=new em,i=this.geometry.attributes.color.array;return r.set(e),r.toArray(i,0),r.toArray(i,3),r.set(t),r.toArray(i,6),r.toArray(i,9),r.set(n),r.toArray(i,12),r.toArray(i,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class BE{constructor(){this.type="ShapePath",this.color=new em,this.subPaths=[],this.currentPath=null}moveTo(e,t){return this.currentPath=new qw,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,r){return this.currentPath.quadraticCurveTo(e,t,n,r),this}bezierCurveTo(e,t,n,r,i,a){return this.currentPath.bezierCurveTo(e,t,n,r,i,a),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function t(e,t){const n=t.length;let r=!1;for(let i=n-1,a=0;a<n;i=a++){let n=t[i],s=t[a],o=s.x-n.x,l=s.y-n.y;if(Math.abs(l)>Number.EPSILON){if(l<0&&(n=t[a],o=-o,s=t[i],l=-l),e.y<n.y||e.y>s.y)continue;if(e.y===n.y){if(e.x===n.x)return!0}else{const t=l*(e.x-n.x)-o*(e.y-n.y);if(0===t)return!0;if(t<0)continue;r=!r}}else{if(e.y!==n.y)continue;if(s.x<=e.x&&e.x<=n.x||n.x<=e.x&&e.x<=s.x)return!0}}return r}const n=R_.isClockWise,r=this.subPaths;if(0===r.length)return[];let i,a,s;const o=[];if(1===r.length)return a=r[0],s=new a_,s.curves=a.curves,o.push(s),o;let l=!n(r[0].getPoints());l=e?!l:l;const c=[],u=[];let d,h,p=[],f=0;u[f]=void 0,p[f]=[];for(let m=0,g=r.length;m<g;m++)a=r[m],d=a.getPoints(),i=n(d),i=e?!i:i,i?(!l&&u[f]&&f++,u[f]={s:new a_,p:d},u[f].s.curves=a.curves,l&&f++,p[f]=[]):p[f].push({h:a,p:d[0]});if(!u[0])return function(e){const t=[];for(let n=0,r=e.length;n<r;n++){const r=e[n],i=new a_;i.curves=r.curves,t.push(i)}return t}(r);if(u.length>1){let e=!1,n=0;for(let t=0,r=u.length;t<r;t++)c[t]=[];for(let r=0,i=u.length;r<i;r++){const i=p[r];for(let a=0;a<i.length;a++){const s=i[a];let o=!0;for(let i=0;i<u.length;i++)t(s.p,u[i].p)&&(r!==i&&n++,o?(o=!1,c[i].push(s)):e=!0);o&&c[r].push(s)}}n>0&&!1===e&&(p=c)}for(let m=0,g=u.length;m<g;m++){s=u[m].s,o.push(s),h=p[m];for(let e=0,t=h.length;e<t;e++)s.holes.push(h[e].h)}return o}}const FE=UE();function UE(){const e=new ArrayBuffer(4),t=new Float32Array(e),n=new Uint32Array(e),r=new Uint32Array(512),i=new Uint32Array(512);for(let l=0;l<256;++l){const e=l-127;e<-27?(r[l]=0,r[256|l]=32768,i[l]=24,i[256|l]=24):e<-14?(r[l]=1024>>-e-14,r[256|l]=1024>>-e-14|32768,i[l]=-e-1,i[256|l]=-e-1):e<=15?(r[l]=e+15<<10,r[256|l]=e+15<<10|32768,i[l]=13,i[256|l]=13):e<128?(r[l]=31744,r[256|l]=64512,i[l]=24,i[256|l]=24):(r[l]=31744,r[256|l]=64512,i[l]=13,i[256|l]=13)}const a=new Uint32Array(2048),s=new Uint32Array(64),o=new Uint32Array(64);for(let l=1;l<1024;++l){let e=l<<13,t=0;for(;0===(8388608&e);)e<<=1,t-=8388608;e&=-8388609,t+=947912704,a[l]=e|t}for(let l=1024;l<2048;++l)a[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)s[l]=l<<23;s[31]=1199570944,s[32]=2147483648;for(let l=33;l<63;++l)s[l]=2147483648+(l-32<<23);s[63]=3347054592;for(let l=1;l<64;++l)32!==l&&(o[l]=1024);return{floatView:t,uint32View:n,baseTable:r,shiftTable:i,mantissaTable:a,exponentTable:s,offsetTable:o}}var VE=Object.freeze({__proto__:null,fromHalfFloat:function(e){const t=e>>10;return FE.uint32View[0]=FE.mantissaTable[FE.offsetTable[t]+(1023&e)]+FE.exponentTable[t],FE.floatView[0]},toHalfFloat:function(e){Math.abs(e)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),e=Cf(e,-65504,65504),FE.floatView[0]=e;const t=FE.uint32View[0],n=t>>23&511;return FE.baseTable[n]+((8388607&t)>>FE.shiftTable[n])}});class HE extends pv{constructor(e,t,n,r,i,a){console.warn("THREE.BoxBufferGeometry has been renamed to THREE.BoxGeometry."),super(e,t,n,r,i,a)}}class WE extends Yw{constructor(e,t,n,r){console.warn("THREE.CapsuleBufferGeometry has been renamed to THREE.CapsuleGeometry."),super(e,t,n,r)}}class GE extends Jw{constructor(e,t,n,r){console.warn("THREE.CircleBufferGeometry has been renamed to THREE.CircleGeometry."),super(e,t,n,r)}}class qE extends Zw{constructor(e,t,n,r,i,a,s){console.warn("THREE.ConeBufferGeometry has been renamed to THREE.ConeGeometry."),super(e,t,n,r,i,a,s)}}class XE extends Qw{constructor(e,t,n,r,i,a,s,o){console.warn("THREE.CylinderBufferGeometry has been renamed to THREE.CylinderGeometry."),super(e,t,n,r,i,a,s,o)}}class YE extends $w{constructor(e,t){console.warn("THREE.DodecahedronBufferGeometry has been renamed to THREE.DodecahedronGeometry."),super(e,t)}}class JE extends I_{constructor(e,t){console.warn("THREE.ExtrudeBufferGeometry has been renamed to THREE.ExtrudeGeometry."),super(e,t)}}class QE extends z_{constructor(e,t){console.warn("THREE.IcosahedronBufferGeometry has been renamed to THREE.IcosahedronGeometry."),super(e,t)}}class ZE extends Xw{constructor(e,t,n,r){console.warn("THREE.LatheBufferGeometry has been renamed to THREE.LatheGeometry."),super(e,t,n,r)}}class KE extends O_{constructor(e,t){console.warn("THREE.OctahedronBufferGeometry has been renamed to THREE.OctahedronGeometry."),super(e,t)}}class $E extends Iv{constructor(e,t,n,r){console.warn("THREE.PlaneBufferGeometry has been renamed to THREE.PlaneGeometry."),super(e,t,n,r)}}class eT extends Kw{constructor(e,t,n,r){console.warn("THREE.PolyhedronBufferGeometry has been renamed to THREE.PolyhedronGeometry."),super(e,t,n,r)}}class tT extends j_{constructor(e,t,n,r,i,a){console.warn("THREE.RingBufferGeometry has been renamed to THREE.RingGeometry."),super(e,t,n,r,i,a)}}class nT extends B_{constructor(e,t){console.warn("THREE.ShapeBufferGeometry has been renamed to THREE.ShapeGeometry."),super(e,t)}}class rT extends F_{constructor(e,t,n,r,i,a,s){console.warn("THREE.SphereBufferGeometry has been renamed to THREE.SphereGeometry."),super(e,t,n,r,i,a,s)}}class iT extends U_{constructor(e,t){console.warn("THREE.TetrahedronBufferGeometry has been renamed to THREE.TetrahedronGeometry."),super(e,t)}}class aT extends V_{constructor(e,t,n,r,i){console.warn("THREE.TorusBufferGeometry has been renamed to THREE.TorusGeometry."),super(e,t,n,r,i)}}class sT extends H_{constructor(e,t,n,r,i,a){console.warn("THREE.TorusKnotBufferGeometry has been renamed to THREE.TorusKnotGeometry."),super(e,t,n,r,i,a)}}class oT extends W_{constructor(e,t,n,r,i){console.warn("THREE.TubeBufferGeometry has been renamed to THREE.TubeGeometry."),super(e,t,n,r,i)}}"undefined"!==typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:od}})),"undefined"!==typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=od);var lT=n(205);function cT(e){let t;const n=new Set,r=(e,r)=>{const i="function"===typeof e?e(t):e;if(i!==t){const e=t;t=r?i:Object.assign({}
2,t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,subscribe:(e,r,a)=>r||a?function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object.is;console.warn("[DEPRECATED] Please use `subscribeWithSelector` middleware");let s=r(t);function o(){const n=r(t);if(!a(s,n)){const t=s;e(s=n,t)}}return n.add(o),()=>n.delete(o)}(e,r,a):(n.add(e),()=>n.delete(e)),destroy:()=>n.clear()};return t=e(r,i,a),a}const uT="undefined"===typeof window||!window.navigator||/ServerSideRendering|^Deno\//.test(window.navigator.userAgent)?i.useEffect:i.useLayoutEffect;const dT=[];function hT(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:(e,t)=>e===t;if(e===t)return!0;if(!e||!t)return!1;const r=e.length;if(t.length!==r)return!1;for(let i=0;i<r;i++)if(!n(e[i],t[i]))return!1;return!0}function pT(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};null===t&&(t=[e]);for(const s of dT)if(hT(t,s.keys,s.equal)){if(n)return;if(Object.prototype.hasOwnProperty.call(s,"error"))throw s.error;if(Object.prototype.hasOwnProperty.call(s,"response"))return r.lifespan&&r.lifespan>0&&(s.timeout&&clearTimeout(s.timeout),s.timeout=setTimeout(s.remove,r.lifespan)),s.response;if(!n)throw s.promise}const i={keys:t,equal:r.equal,remove:()=>{const e=dT.indexOf(i);-1!==e&&dT.splice(e,1)},promise:(a=e,"object"===typeof a&&"function"===typeof a.then?e:e(...t)).then(e=>{i.response=e,r.lifespan&&r.lifespan>0&&(i.timeout=setTimeout(i.remove,r.lifespan))}).catch(e=>i.error=e)};var a;if(dT.push(i),!n)throw i.promise}var fT=n(16),mT=n.n(fT),gT=n(853);const vT=["args","attach"],yT=["args","children"],xT=["args","children"],bT=["children","key","ref"],wT=["children","key","ref"],_T=["params"];const ST={};var MT,ET;const TT=e=>"colorSpace"in e||"outputColorSpace"in e,AT=()=>{var e;return null!=(e=ST.ColorManagement)?e:null},CT=e=>e&&e.isOrthographicCamera,PT="undefined"!==typeof window&&(null!=(MT=window.document)&&MT.createElement||"ReactNative"===(null==(ET=window.navigator)?void 0:ET.product))?i.useLayoutEffect:i.useEffect;function NT(e){const t=i.useRef(e);return PT(()=>{t.current=e},[e]),t}function RT(e){let{set:t}=e;return PT(()=>(t(new Promise(()=>null)),()=>t(!1)),[t]),null}class LT extends i.Component{constructor(){super(...arguments),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}LT.getDerivedStateFromError=()=>({error:!0});const kT="__default",IT=new Map,DT=e=>e&&!!e.memoized&&!!e.changes;function zT(e){var t;const n="undefined"!==typeof window?null!=(t=window.devicePixelRatio)?t:2:1;return Array.isArray(e)?Math.min(Math.max(e[0],n),e[1]):e}const OT=e=>{var t;return null==(t=e.__r3f)?void 0:t.root.getState()};function jT(e){let t=e.__r3f.root;for(;t.getState().previousRoot;)t=t.getState().previousRoot;return t}const BT={obj:e=>e===Object(e)&&!BT.arr(e)&&"function"!==typeof e,fun:e=>"function"===typeof e,str:e=>"string"===typeof e,num:e=>"number"===typeof e,boo:e=>"boolean"===typeof e,und:e=>void 0===e,arr:e=>Array.isArray(e),equ(e,t){let{arrays:n="shallow",objects:r="reference",strict:i=!0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(typeof e!==typeof t||!!e!==!!t)return!1;if(BT.str(e)||BT.num(e)||BT.boo(e))return e===t;const a=BT.obj(e);if(a&&"reference"===r)return e===t;const s=BT.arr(e);if(s&&"reference"===n)return e===t;if((s||a)&&e===t)return!0;let o;for(o in e)if(!(o in t))return!1;if(a&&"shallow"===n&&"shallow"===r){for(o in i?t:e)if(!BT.equ(e[o],t[o],{strict:i,objects:"reference"}))return!1}else for(o in i?t:e)if(e[o]!==t[o])return!1;if(BT.und(o)){if(s&&0===e.length&&0===t.length)return!0;if(a&&0===Object.keys(e).length&&0===Object.keys(t).length)return!0;if(e!==t)return!1}return!0}};function FT(e){const t={nodes:{},materials:{}};return e&&e.traverse(e=>{e.name&&(t.nodes[e.name]=e),e.material&&!t.materials[e.material.name]&&(t.materials[e.material.name]=e.material)}),t}function UT(e,t){return e.__r3f=Oe({type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null},t),e}function VT(e,t){let n=e;if(t.includes("-")){const r=t.split("-"),i=r.pop();return n=r.reduce((e,t)=>
2e[t],e),{target:n,key:i}}return{target:n,key:t}}const HT=/-\d+$/;function WT(e,t,n){if(BT.str(n)){if(HT.test(n)){const t=n.replace(HT,""),{target:r,key:i}=VT(e,t);Array.isArray(r[i])||(r[i]=[])}const{target:r,key:i}=VT(e,n);t.__r3f.previousAttach=r[i],r[i]=t}else t.__r3f.previousAttach=n(e,t)}function GT(e,t,n){var r,i;if(BT.str(n)){const{target:r,key:i}=VT(e,n),a=t.__r3f.previousAttach;void 0===a?delete r[i]:r[i]=a}else null==(r=t.__r3f)||null==r.previousAttach||r.previousAttach(e,t);null==(i=t.__r3f)||delete i.previousAttach}function qT(e,t){let{children:n,key:r,ref:i}=t,a=je(t,bT),s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{children:o,key:l,ref:c}=s,u=je(s,wT),d=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const h=e.__r3f,p=Object.entries(a),f=[];if(d){const e=Object.keys(u);for(let t=0;t<e.length;t++)a.hasOwnProperty(e[t])||p.unshift([e[t],kT+"remove"])}p.forEach(t=>{let[n,r]=t;var i;if(null!=(i=e.__r3f)&&i.primitive&&"object"===n)return;if(BT.equ(r,u[n]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(n))return f.push([n,r,!0,[]]);let s=[];n.includes("-")&&(s=n.split("-")),f.push([n,r,!1,s]);for(const e in a){const t=a[e];e.startsWith("".concat(n,"-"))&&f.push([e,t,!1,e.split("-")])}});const m=Oe({},a);return null!=h&&h.memoizedProps&&null!=h&&h.memoizedProps.args&&(m.args=h.memoizedProps.args),null!=h&&h.memoizedProps&&null!=h&&h.memoizedProps.attach&&(m.attach=h.memoizedProps.attach),{memoized:m,changes:f}}const XT="undefined"!==typeof process&&!1;function YT(e,t){var n;const r=e.__r3f,i=null==r?void 0:r.root,a=null==i||null==i.getState?void 0:i.getState(),{memoized:s,changes:o}=DT(t)?t:qT(e,t),l=null==r?void 0:r.eventCount;e.__r3f&&(e.__r3f.memoizedProps=s);for(let d=0;d<o.length;d++){let[t,n,i,s]=o[d];if(TT(e)){const e=3001,r="srgb",i="srgb-linear";"encoding"===t?(t="colorSpace",n=n===e?r:i):"outputEncoding"===t&&(t="outputColorSpace",n=n===e?r:i)}let l=e,h=l[t];if(s.length&&(h=s.reduce((e,t)=>e[t],e),!h||!h.set)){const[n,...r]=s.reverse();l=r.reverse().reduce((e,t)=>e[t],e),t=n}if(n===kT+"remove")if(l.constructor){let e=IT.get(l.constructor);e||(e=new l.constructor,IT.set(l.constructor,e)),n=e[t]}else n=0;if(i&&r)n?r.handlers[t]=n:delete r.handlers[t],r.eventCount=Object.keys(r.handlers).length;else if(h&&h.set&&(h.copy||h instanceof ng)){if(Array.isArray(n))h.fromArray?h.fromArray(n):h.set(...n);else if(h.copy&&n&&n.constructor&&(XT?h.constructor.name===n.constructor.name:h.constructor===n.constructor))h.copy(n);else if(void 0!==n){var c;const e=null==(c=h)?void 0:c.isColor;!e&&h.setScalar?h.setScalar(n):h instanceof ng&&n instanceof ng?h.mask=n.mask:h.set(n),!AT()&&a&&!a.linear&&e&&h.convertSRGBToLinear()}}else{var u;if(l[t]=n,null!=(u=l[t])&&u.isTexture&&l[t].format===jh&&l[t].type===Th&&a){const e=l[t];TT(e)&&TT(a.gl)?e.colorSpace=a.gl.outputColorSpace:e.encoding=a.gl.outputEncoding}}JT(e)}if(r&&r.parent&&e.raycast&&l!==r.eventCount){const t=jT(e).getState().internal,n=t.interaction.indexOf(e);n>-1&&t.interaction.splice(n,1),r.eventCount&&t.interaction.push(e)}return!(1===o.length&&"onUpdate"===o[0][0])&&o.length&&null!=(n=e.__r3f)&&n.parent&&QT(e),e}function JT(e){var t,n;const r=null==(t=e.__r3f)||null==(n=t.root)||null==n.getState?void 0:n.getState();r&&0===r.internal.frames&&r.invalidate()}function QT(e){null==e.onUpdate||e.onUpdate(e)}function ZT(e,t){e.manual||(CT(e)?(e.left=t.width/-2,e.right=t.width/2,e.top=t.height/2,e.bottom=t.height/-2):e.aspect=t.width/t.height,e.updateProjectionMatrix(),e.updateMatrixWorld())}function KT(e){return(e.eventObject||e.object).uuid+"/"+e.index+e.instanceId}function $T(e,t,n,r){const i=n.get(t);i&&(n.delete(t),0===n.size&&(e.delete(r),i.target.releasePointerCapture(r)))}function eA(e){function t(e){return e.filter(e=>["Move","Over","Enter","Out","Leave"].some(t=>{var n;return null==(n=e.__r3f)?void 0:n.handlers["onPointer"+t]}))}function n(t){const{internal:n}=e.getState();for(const e of n.hovered.values())if(!t.length||!t.find(t=>t.object===e.object&&t.index===e.index&&t.instanceId===e.instanceId)){const r=e.eventObject.__r3f,i=null==r?void 0:r.handlers;if(n.hovered.delete(KT(e)),null!=r&&r.eventCount){const n=Oe(Oe({},e),{},{intersections:t});null==i.onPointerOut||i.onPointerOut(n),null==i.onPointerLeave||i.onPointerLeave(n)}}}function r(e,t){for(let n=0;n<t.length;n++){const r=t[n].__r3f;null==r||null==r.handlers.onPointerMissed||r.handlers.onPointerMissed(e)}}return{handlePointer:function(i){switch(i){case"onPointerLeave":case"onPointerCancel":return()=>n([]);case"onLostPointerCapture":return t=>{const{internal:r}=e.getState();"pointerId"in t&&r.capturedMap.has(t.pointerId)&&requestAnimationFrame(()=>{r.capturedMap.has(t.pointerId)&&(r.capturedMap.delete(t.pointerId),n([]))})}}return function(a){const{onPointerMissed:s,internal:o}=e.getState();o.lastEvent.current=a;const l="onPointerMove"===i,c="onClick"===i||"onContextMenu"===i||"onDoubleClick"===i,u=function(t,n){const r=e.getState(),i=new Set,a=[],s=n?n(r.internal.interaction):r.internal.interaction;for(let e=0;e<s.length;e++){const t=OT(s[e]);t&&(t.raycaster.camera=void 0)}r.previousRoot||null==r.events.compute||r.events.compute(t,r);let o=s.flatMap(function(e){const n=OT(e);return n&&n.events.enabled&&null!==n.raycaster.camera?(void 0===n.raycaster.camera&&(null==n.events.compute||n.events.compute(t,n,null==(r=n.previousRoot)?void 0:r.getState()),void 0===n.raycaster.camera&&(n.raycaster.camera=null)),n.raycaster.camera?n.raycaster.intersectObject(e,!0):[]):[];var r}).sort((e,t)=>
2{const n=OT(e.object),r=OT(t.object);return n&&r&&r.events.priority-n.events.priority||e.distance-t.distance}).filter(e=>{const t=KT(e);return!i.has(t)&&(i.add(t),!0)});r.events.filter&&(o=r.events.filter(o,r));for(const e of o){let t=e.object;for(;t;){var l;null!=(l=t.__r3f)&&l.eventCount&&a.push(Oe(Oe({},e),{},{eventObject:t})),t=t.parent}}if("pointerId"in t&&r.internal.capturedMap.has(t.pointerId))for(let e of r.internal.capturedMap.get(t.pointerId).values())i.has(KT(e.intersection))||a.push(e.intersection);return a}(a,l?t:void 0),d=c?function(t){const{internal:n}=e.getState(),r=t.offsetX-n.initialClick[0],i=t.offsetY-n.initialClick[1];return Math.round(Math.sqrt(r*r+i*i))}(a):0;"onPointerDown"===i&&(o.initialClick=[a.offsetX,a.offsetY],o.initialHits=u.map(e=>e.eventObject)),c&&!u.length&&d<=2&&(r(a,o.interaction),s&&s(a)),l&&n(u),function(t,r,i,a){const s=e.getState();if(t.length){const e={stopped:!1};for(const o of t){const l=OT(o.object)||s,{raycaster:c,pointer:u,camera:d,internal:h}=l,p=new mm(u.x,u.y,0).unproject(d),f=e=>{var t,n;return null!=(t=null==(n=h.capturedMap.get(e))?void 0:n.has(o.eventObject))&&t},m=e=>{const t={intersection:o,target:r.target};h.capturedMap.has(e)?h.capturedMap.get(e).set(o.eventObject,t):h.capturedMap.set(e,new Map([[o.eventObject,t]])),r.target.setPointerCapture(e)},g=e=>{const t=h.capturedMap.get(e);t&&$T(h.capturedMap,o.eventObject,t,e)};let v={};for(let e in r){let t=r[e];"function"!==typeof t&&(v[e]=t)}let y=Oe(Oe(Oe({},o),v),{},{pointer:u,intersections:t,stopped:e.stopped,delta:i,unprojectedPoint:p,ray:c.ray,camera:d,stopPropagation(){const i="pointerId"in r&&h.capturedMap.get(r.pointerId);(!i||i.has(o.eventObject))&&(y.stopped=e.stopped=!0,h.hovered.size&&Array.from(h.hovered.values()).find(e=>e.eventObject===o.eventObject))&&n([...t.slice(0,t.indexOf(o)),o])},target:{hasPointerCapture:f,setPointerCapture:m,releasePointerCapture:g},currentTarget:{hasPointerCapture:f,setPointerCapture:m,releasePointerCapture:g},nativeEvent:r});if(a(y),!0===e.stopped)break}}}(u,a,d,function(e){const t=e.eventObject,n=t.__r3f,s=null==n?void 0:n.handlers;if(null!=n&&n.eventCount)if(l){if(s.onPointerOver||s.onPointerEnter||s.onPointerOut||s.onPointerLeave){const t=KT(e),n=o.hovered.get(t);n?n.stopped&&e.stopPropagation():(o.hovered.set(t,e),null==s.onPointerOver||s.onPointerOver(e),null==s.onPointerEnter||s.onPointerEnter(e))}null==s.onPointerMove||s.onPointerMove(e)}else{const n=s[i];n?c&&!o.initialHits.includes(t)||(r(a,o.interaction.filter(e=>!o.initialHits.includes(e))),n(e)):c&&o.initialHits.includes(t)&&r(a,o.interaction.filter(e=>!o.initialHits.includes(e)))}})}}}}const tA=e=>!(null==e||!e.render),nA=i.createContext(null),rA=(e,t)=>{const n=function(e){const t="function"===typeof e?cT(e):e,n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.getState,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object.is;const[,r]=(0,i.useReducer)(e=>e+1,0),a=t.getState(),s=(0,i.useRef)(a),o=(0,i.useRef)(e),l=(0,i.useRef)(n),c=(0,i.useRef)(!1),u=(0,i.useRef)();let d;void 0===u.current&&(u.current=e(a));let h=!1;(s.current!==a||o.current!==e||l.current!==n||c.current)&&(d=e(a),h=!n(u.current,d)),uT(()=>{h&&(u.current=d),s.current=a,o.current=e,l.current=n,c.current=!1});const p=(0,i.useRef)(a);uT(()=>{const e=()=>{try{const e=t.getState(),n=o.current(e);l.current(u.current,n)||(s.current=e,u.current=n,r())}catch(qA){c.current=!0,r()}},n=t.subscribe(e);return t.getState()!==p.current&&e(),n},[]);const f=h?d:u.current;return(0,i.useDebugValue)(f),f};return Object.assign(n,t),n[Symbol.iterator]=function(){console.warn("[useStore, api] = create() is deprecated and will be removed in v4");const e=[n,t];return{next(){const t=e.length<=0;return{value:e.shift(),done:t}}}},n}((n,r)=>{const a=new mm,s=new mm,o=new mm;function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r().camera,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:s,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r().size;const{width:i,height:l,top:c,left:u}=n,d=i/l;t.isVector3?o.copy(t):o.set(...t);const h=e.getWorldPosition(a).distanceTo(o);if(CT(e))return{width:i/e.zoom,height:l/e.zoom,top:c,left:u,factor:1,distance:h,aspect:d};{const t=e.fov*Math.PI/180,n=2*Math.tan(t/2)*h,r=n*(i/l);return{width:r,height:n,top:c,left:u,factor:i/r,distance:h,aspect:d}}}let c;const u=e=>n(t=>({performance:Oe(Oe({},t.performance),{},{current:e})})),d=new Of,h={set:n,get:r,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1}
2,xr:null,scene:null,invalidate:function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;return e(r(),t)},advance:(e,n)=>t(e,n,r()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new wM,pointer:d,mouse:d,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const e=r();c&&clearTimeout(c),e.performance.current!==e.performance.min&&u(e.performance.min),c=setTimeout(()=>u(r().performance.max),e.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:l},setEvents:e=>n(t=>Oe(Oe({},t),{},{events:Oe(Oe({},t.events),e)})),setSize:(e,t,i,a,o)=>{const c=r().camera,u={width:e,height:t,top:a||0,left:o||0,updateStyle:i};n(e=>({size:u,viewport:Oe(Oe({},e.viewport),l(c,s,u))}))},setDpr:e=>n(t=>{const n=zT(e);return{viewport:Oe(Oe({},t.viewport),{},{dpr:n,initialDpr:t.viewport.initialDpr||n})}}),setFrameloop:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"always";const t=r().clock;t.stop(),t.elapsedTime=0,"never"!==e&&(t.start(),t.elapsedTime=0),n(()=>({frameloop:e}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:i.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(e,t,n)=>{const i=r().internal;return i.priority=i.priority+(t>0?1:0),i.subscribers.push({ref:e,priority:t,store:n}),i.subscribers=i.subscribers.sort((e,t)=>e.priority-t.priority),()=>{const n=r().internal;null!=n&&n.subscribers&&(n.priority=n.priority-(t>0?1:0),n.subscribers=n.subscribers.filter(t=>t.ref!==e))}}}};return h}),r=n.getState();let a=r.size,s=r.viewport.dpr,o=r.camera;return n.subscribe(()=>{const{camera:e,size:t,viewport:r,gl:i,set:l}
2=n.getState();if(t.width!==a.width||t.height!==a.height||r.dpr!==s){var c;a=t,s=r.dpr,ZT(e,t),i.setPixelRatio(r.dpr);const n=null!=(c=t.updateStyle)?c:"undefined"!==typeof HTMLCanvasElement&&i.domElement instanceof HTMLCanvasElement;i.setSize(t.width,t.height,n)}e!==o&&(o=e,l(t=>({viewport:Oe(Oe({},t.viewport),t.viewport.getCurrentViewport(e))})))}),n.subscribe(t=>e(t)),n};let iA,aA=new Set,sA=new Set,oA=new Set;function lA(e,t){if(e.size)for(const{callback:n}of e.values())n(t)}function cA(e,t){switch(e){case"before":return lA(aA,t);case"after":return lA(sA,t);case"tail":return lA(oA,t)}}let uA,dA;function hA(e,t,n){let r=t.clock.getDelta();for("never"===t.frameloop&&"number"===typeof e&&(r=e-t.clock.elapsedTime,t.clock.oldTime=t.clock.elapsedTime,t.clock.elapsedTime=e),uA=t.internal.subscribers,iA=0;iA<uA.length;iA++)dA=uA[iA],dA.ref.current(dA.store.getState(),r,n);return!t.internal.priority&&t.gl.render&&t.gl.render(t.scene,t.camera),t.internal.frames=Math.max(0,t.internal.frames-1),"always"===t.frameloop?1:t.internal.frames}function pA(){const e=i.useContext(nA);if(!e)throw new Error("R3F: Hooks can only be used within the Canvas component!");return e}const fA=new WeakMap;function mA(e,t){return function(n){let r=fA.get(n);r||(r=new n,fA.set(n,r)),e&&e(r);for(var i=arguments.length,a=new Array(i>1?i-1:0),s=1;s<i;s++)a[s-1]=arguments[s];return Promise.all(a.map(e=>new Promise((n,i)=>r.load(e,e=>{e.scene&&Object.assign(e,FT(e.scene)),n(e)},t,t=>i(new Error("Could not load ".concat(e,": ").concat(null==t?void 0:t.message)))))))}}function gA(e,t,n,r){const i=Array.isArray(t)?t:[t],a=((e,t,n)=>pT(e,t,!1,n))(mA(n,r),[e,...i],{equal:BT.equ});return Array.isArray(t)?a:a[0]}gA.preload=function(e,t,n){const r=Array.isArray(t)?t:[t];return((e,t,n)=>{pT(e,t,!0,n)})(mA(n),[e,...r])},gA.clear=function(e,t){return(e=>{if(void 0===e||0===e.length)dT.splice(0,dT.length);else{const t=dT.find(t=>hT(e,t.keys,t.equal));t&&t.remove()}})([e,...Array.isArray(t)?t:[t]])};const vA=new Map,{invalidate:yA,advance:xA}=function(e){let t,n,r,i=!1,a=!1;function s(o){n=requestAnimationFrame(s),i=!0,t=0,cA("before",o),a=!0;for(const n of e.values()){var l;r=n.store.getState(),!r.internal.active||!("always"===r.frameloop||r.internal.frames>0)||null!=(l=r.gl.xr)&&l.isPresenting||(t+=hA(o,r))}if(a=!1,cA("after",o),0===t)return cA("tail",o),i=!1,cancelAnimationFrame(n)}return{loop:s,invalidate:function t(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;var o;if(!n)return e.forEach(e=>t(e.store.getState(),r));null!=(o=n.gl.xr)&&o.isPresenting||!n.internal.active||"never"===n.frameloop||(n.internal.frames=r>1?Math.min(60,n.internal.frames+r):a?2:1,i||(i=!0,requestAnimationFrame(s)))},advance:function(t){let n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if(n&&cA("before",t),r)hA(t,r,i);else for(const a of e.values())hA(t,a.store.getState());n&&cA("after",t)}}}(vA),{reconciler:bA,applyProps:wA}=function(e,t){function n(e,t,n){let r,{args:i=[],attach:a}=t,s=je(t,vT),o="".concat(e[0].toUpperCase()).concat(e.slice(1));if("primitive"===e){if(void 0===s.object)throw new Error("R3F: Primitives without 'object' are invalid!");r=UT(s.object,{type:e,root:n,attach:a,primitive:!0})}else{const t=ST[o];if(!t)throw new Error("R3F: ".concat(o," 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(i))throw new Error("R3F: The args prop must be an array!");r=UT(new t(...i),{type:e,root:n,attach:a,memoizedProps:{args:i}})}return void 0===r.__r3f.attach&&(r.isBufferGeometry?r.__r3f.attach="geometry":r.isMaterial&&(r.__r3f.attach="material")),"inject"!==o&&YT(r,s),r}function r(e,t){let n=!1;var r,i;t&&(null!=(r=t.__r3f)&&r.attach?WT(e,t,t.__r3f.attach):t.isObject3D&&e.isObject3D&&(e.add(t),n=!0),n||null==(i=e.__r3f)||i.objects.push(t),t.__r3f||UT(t,{}),t.__r3f.parent=e,QT(t),JT(t))}function i(e,t,n){let r=!1;if(t){var i,a;if(null!=(i=t.__r3f)&&i.attach)WT(e,t,t.__r3f.attach);else if(t.isObject3D&&e.isObject3D){t.parent=e,t.dispatchEvent({type:"added"}),e.dispatchEvent({type:"childadded",child:t});const i=e.children.filter(e=>e!==t),a=i.indexOf(n);e.children=[...i.slice(0,a),t,...i.slice(a)],r=!0}r||null==(a=e.__r3f)||a.objects.push(t),t.__r3f||UT(t,{}),t.__r3f.parent=e,QT(t),JT(t)}}function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];
2e&&[...e].forEach(e=>s(t,e,n))}function s(e,t,n){if(t){var r,i,s;if(t.__r3f&&(t.__r3f.parent=null),null!=(r=e.__r3f)&&r.objects&&(e.__r3f.objects=e.__r3f.objects.filter(e=>e!==t)),null!=(i=t.__r3f)&&i.attach)GT(e,t,t.__r3f.attach);else if(t.isObject3D&&e.isObject3D){var o;e.remove(t),null!=(o=t.__r3f)&&o.root&&function(e,t){const{internal:n}=e.getState();n.interaction=n.interaction.filter(e=>e!==t),n.initialHits=n.initialHits.filter(e=>e!==t),n.hovered.forEach((e,r)=>{e.eventObject!==t&&e.object!==t||n.hovered.delete(r)}),n.capturedMap.forEach((e,r)=>{$T(n.capturedMap,t,e,r)})}(jT(t),t)}const c=null==(s=t.__r3f)?void 0:s.primitive,u=!c&&(void 0===n?null!==t.dispose:n);var l;if(!c)a(null==(l=t.__r3f)?void 0:l.objects,t,u),a(t.children,t,u);if(delete t.__r3f,u&&t.dispose&&"Scene"!==t.type){const e=()=>{try{t.dispose()}catch(zC){}};"undefined"===typeof IS_REACT_ACT_ENVIRONMENT?(0,gT.unstable_scheduleCallback)(gT.unstable_IdlePriority,e):e()}JT(e)}}const o=()=>{};return{reconciler:mT()({createInstance:n,removeChild:s,appendChild:r,appendInitialChild:r,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(e,t)=>{if(!t)return;const n=e.getState().scene;n.__r3f&&(n.__r3f.root=e,r(n,t))},removeChildFromContainer:(e,t)=>{t&&s(e.getState().scene,t)},insertInContainerBefore:(e,t,n)=>{if(!t||!n)return;const r=e.getState().scene;r.__r3f&&i(r,t,n)},getRootHostContext:()=>null,getChildHostContext:e=>e,finalizeInitialChildren(e){var t;const n=null!=(t=null==e?void 0:e.__r3f)?t:{};return Boolean(n.handlers)},prepareUpdate(e,t,n,r){var i;if((null!=(i=null==e?void 0:e.__r3f)?i:{}).primitive&&r.object&&r.object!==e)return[!0];{const{args:t=[],children:i}=r,a=je(r,yT),{args:s=[],children:o}=n,l=je(n,xT);if(!Array.isArray(t))throw new Error("R3F: the args prop must be an array!");if(t.some((e,t)=>e!==s[t]))return[!0];const c=qT(e,a,l,!0);return c.changes.length?[!1,c]:null}},commitUpdate(e,t,i,a,o,l){let[c,u]=t;c?function(e,t,i,a){var o;const l=null==(o=e.__r3f)?void 0:o.parent;if(!l)return;const c=n(t,i,e.__r3f.root);if(e.children){for(const t of e.children)t.__r3f&&r(c,t);e.children=e.children.filter(e=>!e.__r3f)}e.__r3f.objects.forEach(e=>r(c,e)),e.__r3f.objects=[],e.__r3f.autoRemovedBeforeAppend||s(l,e),c.parent&&(c.__r3f.autoRemovedBeforeAppend=!0),r(l,c),c.raycast&&c.__r3f.eventCount&&jT(c).getState().internal.interaction.push(c);[a,a.alternate].forEach(e=>{null!==e&&(e.stateNode=c,e.ref&&("function"===typeof e.ref?e.ref(c):e.ref.current=c))})}(e,i,o,l):YT(e,u)},commitMount(e,t,n,r){var i;const a=null!=(i=e.__r3f)?i:{};e.raycast&&a.handlers&&a.eventCount&&jT(e).getState().internal.interaction.push(e)},getPublicInstance:e=>e,prepareForCommit:()=>null,preparePortalMount:e=>UT(e.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(e){var t;const{attach:n,parent:r}=null!=(t=e.__r3f)?t:{};n&&r&>(r,e,n),e.isObject3D&&(e.visible=!1),JT(e)},unhideInstance(e,t){var n;const{attach:r,parent:i}=null!=(n=e.__r3f)?n:{};r&&i&&WT(i,e,r),(e.isObject3D&&null==t.visible||t.visible)&&(e.visible=!0),JT(e)},createTextInstance:o,hideTextInstance:o,unhideTextInstance:o,getCurrentEventPriority:()=>t?t():lT.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:"undefined"!==typeof performance&&BT.fun(performance.now)?performance.now:BT.fun(Date.now)?Date.now:()=>0,scheduleTimeout:BT.fun(setTimeout)?setTimeout:void 0,cancelTimeout:BT.fun(clearTimeout)?clearTimeout:void 0}),applyProps:YT}}(0,function(){var e;const t="undefined"!==typeof self&&self||"undefined"!==typeof window&&window;if(!t)return lT.DefaultEventPriority;switch(null==(e=t.event)?void 0:e.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return lT.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return lT.ContinuousEventPriority;default:return lT.DefaultEventPriority}}),_A={objects:"shallow",strict:!1},SA=(e,t)=>{const n="function"===typeof e?e(t):e;return tA(n)?n:new db(Oe({powerPreference:"high-performance",canvas:t,antialias:!0,alpha:!0},e))};function MA(e){const t=vA.get(e),n=null==t?void 0:t.fiber,r=null==t?void 0:t.store;t&&console.warn("R3F.createRoot should only be called once!");const i="function"===typeof reportError?reportError:console.error,a=r||rA(yA,xA),s=n||bA.createContainer(a,lT.ConcurrentRoot,null,!1,null,"",i,null);let o;t||vA.set(e,{fiber:s,store:a});let l,c=!1;return{configure(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{gl:n,size:r,scene:i,events:s,onCreated:u,shadows:d=!1,linear:h=!1,flat:p=!1,legacy:f=!1,orthographic:m=!1,frameloop:g="always",dpr:v=[1,2],performance:y,raycaster:x,camera:b,onPointerMissed:w}=t,_=a.getState(),S=_.gl;_.gl||_.set({gl:S=SA(n,e)});let M=_.raycaster;M||_.set({raycaster:M=new KM});const E=x||{},{params:T}=E,A=je(E,_T);if(BT.equ(A,M,_A)||wA(M,Oe({},A)),BT.equ(T,M.params,_A)||wA(M,{params:Oe(Oe({},M.params),T)}),!_.camera||_.camera===l&&!BT.equ(l,b,_A)){l=b;const e=b instanceof xv,t=e?b:m?new Gv(0,0,0,0,.1,1e3):new bv(75,0,.1,1e3);e||(t.position.z=5,b&&(wA(t,b),("aspect"in b||"left"in b||"right"in b||"bottom"in b||"top"in b)&&(t.manual=!0,t.updateProjectionMatrix())),_.camera||null!=b&&b.rotation||t.lookAt(0,0,0)),_.set({camera:t}),M.camera=t}if(!_.scene){let e;null!=i&&i.isScene?e=i:(e=new mb,i&&wA(e,i)),_.set({scene:UT(e)})}if(!_.xr){var C;const e=(e,t)=>
2{const n=a.getState();"never"!==n.frameloop&&xA(e,!0,n,t)},t=()=>{const t=a.getState();t.gl.xr.enabled=t.gl.xr.isPresenting,t.gl.xr.setAnimationLoop(t.gl.xr.isPresenting?e:null),t.gl.xr.isPresenting||yA(t)},n={connect(){const e=a.getState().gl;e.xr.addEventListener("sessionstart",t),e.xr.addEventListener("sessionend",t)},disconnect(){const e=a.getState().gl;e.xr.removeEventListener("sessionstart",t),e.xr.removeEventListener("sessionend",t)}};"function"===typeof(null==(C=S.xr)?void 0:C.addEventListener)&&n.connect(),_.set({xr:n})}if(S.shadowMap){const e=S.shadowMap.enabled,t=S.shadowMap.type;if(S.shadowMap.enabled=!!d,BT.boo(d))S.shadowMap.type=gd;else if(BT.str(d)){var P;const e={basic:fd,percentage:md,soft:gd,variance:vd};S.shadowMap.type=null!=(P=e[d])?P:gd}else BT.obj(d)&&Object.assign(S.shadowMap,d);e===S.shadowMap.enabled&&t===S.shadowMap.type||(S.shadowMap.needsUpdate=!0)}const N=AT();if(N&&("enabled"in N?N.enabled=!f:"legacyMode"in N&&(N.legacyMode=f)),!c){wA(S,{outputEncoding:h?3e3:3001,toneMapping:p?th:ah})}_.legacy!==f&&_.set(()=>({legacy:f})),_.linear!==h&&_.set(()=>({linear:h})),_.flat!==p&&_.set(()=>({flat:p})),!n||BT.fun(n)||tA(n)||BT.equ(n,S,_A)||wA(S,n),s&&!_.events.handlers&&_.set({events:s(a)});const R=function(e,t){const n="undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement;if(t){const{width:e,height:r,top:i,left:a,updateStyle:s=n}=t;return{width:e,height:r,top:i,left:a,updateStyle:s}}if("undefined"!==typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&e.parentElement){const{width:t,height:r,top:i,left:a}=e.parentElement.getBoundingClientRect();return{width:t,height:r,top:i,left:a,updateStyle:n}}return"undefined"!==typeof OffscreenCanvas&&e instanceof OffscreenCanvas?{width:e.width,height:e.height,top:0,left:0,updateStyle:n}:{width:0,height:0,top:0,left:0}}(e,r);return BT.equ(R,_.size,_A)||_.setSize(R.width,R.height,R.updateStyle,R.top,R.left),v&&_.viewport.dpr!==zT(v)&&_.setDpr(v),_.frameloop!==g&&_.setFrameloop(g),_.onPointerMissed||_.set({onPointerMissed:w}),y&&!BT.equ(y,_.performance,_A)&&_.set(e=>({performance:Oe(Oe({},e.performance),y)})),o=u,c=!0,this},render(t){return c||this.configure(),bA.updateContainer((0,gr.jsx)(EA,{store:a,children:t,onCreated:o,rootElement:e}),s,null,()=>{}),a},unmount(){TA(e)}}}function EA(e){let{store:t,children:n,onCreated:r,rootElement:i}=e;return PT(()=>{const e=t.getState();e.set(e=>({internal:Oe(Oe({},e.internal),{},{active:!0})})),r&&r(e),t.getState().events.connected||null==e.events.connect||e.events.connect(i)},[]),(0,gr.jsx)(nA.Provider,{value:t,children:n})}function TA(e,t){const n=vA.get(e),r=null==n?void 0:n.fiber;if(r){const i=null==n?void 0:n.store.getState();i&&(i.internal.active=!1),bA.updateContainer(null,r,null,()=>{i&&setTimeout(()=>{try{var n,r,a,s;null==i.events.disconnect||i.events.disconnect(),null==(n=i.gl)||null==(r=n.renderLists)||null==r.dispose||r.dispose(),null==(a=i.gl)||null==a.forceContextLoss||a.forceContextLoss(),null!=(s=i.gl)&&s.xr&&i.xr.disconnect(),function(e){e.dispose&&"Scene"!==e.type&&e.dispose();for(const t in e)null==t.dispose||t.dispose(),delete e[t]}(i),vA.delete(e),t&&t(e)}catch(zC){}},500)})}}bA.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:i.version});i.unstable_act;const AA={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 CA(e){const{handlePointer:t}=eA(e);return{priority:1,enabled:!0,compute(e,t,n){t.pointer.set(e.offsetX/t.size.width*2-1,-e.offsetY/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)},connected:void 0,handlers:Object.keys(AA).reduce((e,n)=>Oe(Oe({},e),{},{[n]:t(n)}),{}),update:()=>{var t;const{events:n,internal:r}=e.getState();null!=(t=r.lastEvent)&&t.current&&n.handlers&&n.handlers.onPointerMove(r.lastEvent.current)},connect:t=>{var n;const{set:r,events:i}=e.getState();null==i.disconnect||i.disconnect(),r(e=>({events:Oe(Oe({},e.events),{},{connected:t})}
2)),Object.entries(null!=(n=i.handlers)?n:[]).forEach(e=>{let[n,r]=e;const[i,a]=AA[n];t.addEventListener(i,r,{passive:a})})},disconnect:()=>{const{set:t,events:n}=e.getState();var r;n.connected&&(Object.entries(null!=(r=n.handlers)?r:[]).forEach(e=>{let[t,r]=e;if(n&&n.connected instanceof HTMLElement){const[e]=AA[t];n.connected.removeEventListener(e,r)}}),t(e=>({events:Oe(Oe({},e.events),{},{connected:void 0})})))}}}function PA(e,t){let n;return function(){for(var r=arguments.length,i=new Array(r),a=0;a<r;a++)i[a]=arguments[a];window.clearTimeout(n),n=window.setTimeout(()=>e(...i),t)}}function NA(){let{debounce:e,scroll:t,polyfill:n,offsetSize:r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{debounce:0,scroll:!1,offsetSize:!1};const a=n||("undefined"==typeof window?class{}:window.ResizeObserver);if(!a)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[s,o]=(0,i.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),l=(0,i.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:s,orientationHandler:null}),c=e?"number"==typeof e?e:e.scroll:null,u=e?"number"==typeof e?e:e.resize:null,d=(0,i.useRef)(!1);(0,i.useEffect)(()=>(d.current=!0,()=>{d.current=!1}));const[h,p,f]=(0,i.useMemo)(()=>{const e=()=>{if(!l.current.element)return;const{left:e,top:t,width:n,height:i,bottom:a,right:s,x:c,y:u}=l.current.element.getBoundingClientRect(),h={left:e,top:t,width:n,height:i,bottom:a,right:s,x:c,y:u};l.current.element instanceof HTMLElement&&r&&(h.height=l.current.element.offsetHeight,h.width=l.current.element.offsetWidth),Object.freeze(h),d.current&&!kA(l.current.lastBounds,h)&&o(l.current.lastBounds=h)};return[e,u?PA(e,u):e,c?PA(e,c):e]},[o,r,c,u]);function m(){l.current.scrollContainers&&(l.current.scrollContainers.forEach(e=>e.removeEventListener("scroll",f,!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 g(){l.current.element&&(l.current.resizeObserver=new a(f),l.current.resizeObserver.observe(l.current.element),t&&l.current.scrollContainers&&l.current.scrollContainers.forEach(e=>e.addEventListener("scroll",f,{capture:!0,passive:!0})),l.current.orientationHandler=()=>{f()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",l.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",l.current.orientationHandler))}return function(e,t){(0,i.useEffect)(()=>{if(t){const t=e;return window.addEventListener("scroll",t,{capture:!0,passive:!0}),()=>{window.removeEventListener("scroll",t,!0)}}},[e,t])}(f,!!t),function(e){(0,i.useEffect)(()=>{const t=e;return window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e])}(p),(0,i.useEffect)(()=>{m(),g()},[t,f,p]),(0,i.useEffect)(()=>m,[]),[e=>{!e||e===l.current.element||(m(),l.current.element=e,l.current.scrollContainers=RA(e),g())},s,h]}function RA(e){const t=[];if(!e||e===document.body)return t;const{overflow:n,overflowX:r,overflowY:i}=window.getComputedStyle(e);return[n,r,i].some(e=>"auto"===e||"scroll"===e)&&t.push(e),[...t,...RA(e.parentElement)]}const LA=["x","y","top","bottom","left","right","width","height"],kA=(e,t)=>LA.every(n=>e[n]===t[n]);var IA,DA,zA=Object.defineProperty,OA=Object.defineProperties,jA=Object.getOwnPropertyDescriptors,BA=Object.getOwnPropertySymbols,FA=Object.prototype.hasOwnProperty,UA=Object.prototype.propertyIsEnumerable,VA=(e,t,n)=>t in e?zA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,HA=(e,t)=>{for(var n in t||(t={}))FA.call(t,n)&&VA(e,n,t[n]);if(BA)for(var n of BA(t))UA.call(t,n)&&VA(e,n,t[n]);return e};"undefined"===typeof window||!(null==(IA=window.document)?void 0:IA.createElement)&&"ReactNative"!==(null==(DA=window.navigator)?void 0:DA.product)?i.useEffect:i.useLayoutEffect;function WA(e,t,n){if(!e)return;if(!0===n(e))return e;let r=t?e.return:e.child;for(;r;){const e=WA(r,t,n);if(e)return e;r=t?null:r.sibling}}function GA(e){try{return Object.defineProperties(e,{_currentRenderer:{get:()=>null,set(){}},_currentRenderer2:{get:()=>null,set(){}}})}catch(t){return e}}const qA=console.error;console.error=function(){const e=[...arguments].join("");if(!(null==e?void 0:e.startsWith("Warning:"))||!e.includes("useContext"))return qA.apply(this,arguments);console.error=qA};const XA=GA(i.createContext(null));class YA extends i.Component{render(){return i.createElement(XA.Provider,{value:this._reactInternals},this.props.children)}}function JA(){const e=i.useContext(XA);if(null===e)throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");const t=i.useId();return i.useMemo(()=>{for(const n of[e,null==e?void 0:e.alternate]){if(!n)continue;const e=WA(n,!1,e=>{let n=e.memoizedState;for(;n;){if(n.memoizedState===t)return!0;n=n.next}});if(e)return e}},[e,t])}function QA(){const e=function(){const e=JA(),[t]=i.useState(()=>new Map);t.clear();let n=e;for(;n;){if(n.type&&"object"===typeof n.type){const e=void 0===n.type._context&&n.type.Provider===n.type?n.type:n.type._context;e&&e!==XA&&!t.has(e)&&t.set(e,i.useContext(GA(e)))}n=n.return}return t}();return i.useMemo(()=>Array.from(e.keys()).reduce((t,n)=>r=>{return i.createElement(t,null,i.createElement(n.Provider,(a=HA({},r),s={value:e.get(n)},OA(a,jA(s)))));var a,s},e=>i.createElement(YA,HA({},e))),[e])}const ZA=["children","fallback","resize","style","gl","events","eventSource","eventPrefix","shadows","linear","flat","legacy","orthographic","frameloop","dpr","performance","raycaster","camera","scene","onPointerMissed","onCreated"],KA=i.forwardRef(function(e,n){let{children:r,fallback:a,resize:s,style:o,gl:l,events:c=CA,eventSource:u,eventPrefix:d,shadows:h,linear:p,flat:f,legacy:m,orthographic:g,frameloop:v,dpr:y,performance:x,raycaster:b,camera:w,scene:_,onPointerMissed:S,onCreated:M}=e,E=je(e,ZA);i.useMemo(()=>{return e=t,void Object.assign(ST,e);var e},[]);const T=QA(),[A,C]=NA(Oe({scroll:!0,debounce:{scroll:50,resize:0}},s)),P=i.useRef(null),N=i.useRef(null);i.useImperativeHandle(n,()=>P.current);const R=NT(S),[L,k]=i.useState(!1),[I,D]=i.useState(!1);if(L)throw L;if(I)throw I;const z=i.useRef(null);PT(()=>{const e=P.current;C.width>0&&C.height>0&&e&&(z.current||(z.current=MA(e)),z.current.configure({gl:l,events:c,shadows:h,linear:p,flat:f,legacy:m,orthographic:g,frameloop:v,dpr:y,performance:x,raycaster:b,camera:w,scene:_,size:C,onPointerMissed:function(){return null==R.current?void 0:R.current(...arguments)},onCreated:e=>{var t;null==e.events.connect||e.events.connect(u?(t=u)&&t.hasOwnProperty("current")?u.current:u:N.current),d&&e.setEvents({compute:(e,t)=>
2{const n=e[d+"X"],r=e[d+"Y"];t.pointer.set(n/t.size.width*2-1,-r/t.size.height*2+1),t.raycaster.setFromCamera(t.pointer,t.camera)}}),null==M||M(e)}}),z.current.render((0,gr.jsx)(T,{children:(0,gr.jsx)(LT,{set:D,children:(0,gr.jsx)(i.Suspense,{fallback:(0,gr.jsx)(RT,{set:k}),children:null!=r?r:null})})})))}),i.useEffect(()=>{const e=P.current;if(e)return()=>TA(e)},[]);const O=u?"none":"auto";return(0,gr.jsx)("div",Oe(Oe({ref:N,style:Oe({position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:O},o)},E),{},{children:(0,gr.jsx)("div",{ref:A,style:{width:"100%",height:"100%"},children:(0,gr.jsx)("canvas",{ref:P,style:{display:"block"},children:a})})}))}),$A=i.forwardRef(function(e,t){return(0,gr.jsx)(YA,{children:(0,gr.jsx)(KA,Oe(Oe({},e),{},{ref:t}))})});function eC(){const e=(0,i.useRef)();return function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=pA(),r=n.getState().internal.subscribe,i=NT(e);PT(()=>r(i,t,n),[t,r,n])}((t,n)=>{e.current&&(e.current.rotation.x+=.2*n,e.current.rotation.y+=.2*n)}),(0,gr.jsxs)("mesh",{ref:e,scale:2,children:[" ",(0,gr.jsx)("boxGeometry",{}),(0,gr.jsx)("meshNormalMaterial",{})]})}const tC=()=>(0,gr.jsxs)($A,{children:[(0,gr.jsx)("ambientLight",{intensity:1.5}),(0,gr.jsx)("directionalLight",{position:[0,0,5]}),(0,gr.jsx)(eC,{})]}),nC=()=>{const[e,t]=(0,i.useState)(""),n="Advanced Student Research Lab";return(0,i.useEffect)(()=>{let r;return e.length<29&&(r=setTimeout(()=>{t(n.slice(0,e.length+1))},150)),()=>clearTimeout(r)},[e,n]),(0,gr.jsxs)("section",{id:"home",className:"relative min-h-screen flex items-center justify-center overflow-hidden bg-black",children:[(0,gr.jsx)("div",{className:"absolute inset-x-0 bottom-0 flex items-end justify-center z-0",children:(0,gr.jsxs)("div",{className:"w-full max-w-lg h-[400px] lg:h-[600px] relative",children:[(0,gr.jsx)(tC,{}),(0,gr.jsx)("div",{className:"absolute top-16 right-8 w-32 h-px bg-white/30 transform rotate-12"}),(0,gr.jsx)("div",{className:"absolute inset-0 bg-gradient-radial from-transparent via-transparent to-black/50 pointer-events-none"})]})}),(0,gr.jsx)("div",{className:"relative z-10 w-full h-full flex items-center justify-center px-8",children:(0,gr.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 items-center w-full max-w-7xl min-h-[80vh] gap-8",children:[(0,gr.jsx)("div",{className:"flex flex-col justify-center items-center lg:items-start text-center lg:text-left h-full",children:(0,gr.jsxs)("div",{className:"space-y-6",children:[(0,gr.jsx)("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-black text-white leading-tight tracking-tight font-heading",children:(0,gr.jsx)("span",{className:"block",children:" Singularity"})}),(0,gr.jsx)("div",{className:"relative mt-6",children:(0,gr.jsxs)("h2",{className:"text-lg md:text-xl lg:text-2xl font-light text-white tracking-wide font-body",children:[(0,gr.jsx)("span",{children:e}),(0,gr.jsx)("span",{className:"animate-pulse text-white ml-1",children:"|"})]})})]})}),(0,gr.jsx)("div",{className:"flex flex-col justify-center items-center lg:items-end text-center lg:text-right h-full",children:(0,gr.jsx)("div",{className:"space-y-6",children:(0,gr.jsx)("h1",{className:"text-5xl md:text-6xl lg:text-7xl font-black text-white leading-tight tracking-tight font-heading",children:(0,gr.jsx)("span",{className:"block",children:"Student Lab"})})})})]})}),(0,gr.jsxs)("div",{className:"absolute bottom-8 right-8 z-20 flex items-center gap-x-4",children:[(0,gr.jsx)("img",{src:"/msc-logo.png",alt:"Microsoft Student Community Logo",className:"h-16 w-auto"}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("p",{className:"text-sm text-gray-500 uppercase tracking-wider font-body",children:"Powered by"}),(0,gr.jsx)("p",{className:"text-base font-medium text-white font-body",children:"Microsoft Student Community"}),(0,gr.jsx)("p",{className:"text-sm text-gray-400 font-body",children:"SRM University - AP"})]})]})]})},rC=()=>{const[e,t]=(0,i.useState)(null),n=e=>"https://res.cloudinary.com/".concat("djtemmctt","/image/upload/").concat(e),r=[{name:"Prajna Kritrima Lab",path:"/prajna-kritrima-lab",tagline:"AI/ML, Deep Learning, Generative AI",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png")},{name:"Aanu Tattva Lab",path:"/aanu-tattva-lab",tagline:"Quantum Computing, Quantum Machine Learning",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png")},{name:"Chitra Darshan Lab",path:"/chitra-darshan-lab",tagline:"Game Development, AR, VR, Mixed Reality",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png")},{name:"Varahamihira Lab",path:"/varahamihira-lab",tagline:"Cloud Computing, Distributed Systems",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png")},{name:"Bhaskaracharya Lab",path:"/bhaskaracharya-lab",tagline:"Cybersecurity, Blockchain, Web3",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png")},{name:"Agastya Lab",path:"/agastya-lab",tagline:"Robotics, IoT, Embedded Systems",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png")},{name:"Navya Vigyan Lab",path:"/navya-vigyan-lab",tagline:"Interdisciplinary & Experimental Technology",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png")}],a=[{title:"Tech Innovation Summit 2024",date:"March 15, 2024",time:"9:00 AM - 5:00 PM",location:"University Auditorium",description:"Join us for a day of cutting-edge technology presentations, workshops, and networking opportunities.",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png"),status:"Open"},{title:"AI & Machine Learning Workshop",date:"March 22, 2024",time:"2:00 PM - 6:00 PM",location:"Computer Lab 3",description:"Hands-on workshop covering the latest developments in AI and machine learning technologies.",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png"),status:"Open"},{title:"Quantum Computing Symposium",date:"April 5, 2024",time:"10:00 AM - 4:00 PM",location:"Physics Department",description:"Explore the future of quantum computing with leading researchers and industry experts.",image:n("v1758735862/Screenshot_from_2025-09-24_23-12-57_p3xz52.png"),status:"Coming Soon"}],s=[n("v1758569385/WhatsApp_Image_2025-09-23_at_12.16.47_AM_aocp2d.jpg"),n("v1758569742/WhatsApp_Image_2025-09-23_at_12.16.47_AM_2_iqvdym.jpg"),n("v1758569742/WhatsApp_Image_2025-09-23_at_12.16.47_AM_1_akl3pc.jpg"),n("v1758569742/WhatsApp_Image_2025-09-23_at_12.22.13_AM_do3ykq.jpg")];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsx)(nC,{}),(0,gr.jsx)("section",{id:"about",className:"py-16 bg-black",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)("div",{className:"flex flex-col md:flex-row justify-between items-start mb-16",children:[(0,gr.jsxs)("div",{className:"text-left w-full md:w-1/2",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"text-cyan-400",children:"Research Environment"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 font-body",children:"State-of-the-art facilities where innovation comes to life."})]}),(0,gr.jsx)("div",{className:"w-full md:w-1/2 mt-8 md:mt-0",children:(0,gr.jsx)("div",{className:"grid grid-cols-2 gap-4",children:s.map((e,t)=>(0,gr.jsx)("div",{className:"group",children:(0,gr.jsxs)("div",{className:"relative overflow-hidden rounded-lg aspect-[2/3] md:aspect-[3/4]",children:[(0,gr.jsx)("img",{src:e,alt:"Lab ".concat(t+1),className:"w-full h-full object-cover transition-transform duration-300 group-hover:scale-110"}),(0,gr.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/50 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300"})]})},t))})})]})})}),(0,gr.jsx)("section",{className:"py-20 bg-black",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)("div",{className:"text-center mb-16",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:["What is ",(0,gr.jsx)("span",{className:"text-cyan-400",children:'"The Singularity"'}),"?"]}),(0,gr.jsxs)("div",{className:"max-w-4xl mx-auto",children:[(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed mb-6 font-body",children:"The technological singularity represents a hypothetical future point where artificial intelligence surpasses human intelligence, leading to unprecedented changes in civilization. At Singularity Lab, we don't just study this concept\u2014we actively work towards creating the technologies that will define this transformative era."}),(0,gr.jsx)("p",{className:"text-lg text-gray-300 leading-relaxed font-body",children:"Our seven specialized research divisions work at the intersection of cutting-edge technology, exploring AI, quantum computing, immersive technologies, cloud systems, cybersecurity, robotics, and experimental innovations that will shape the future of humanity."})]})]})})}),(0,gr.jsxs)("section",{id:"labs",className:"min-h-screen py-20 flex items-center justify-center bg-black relative",children:[(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto w-full px-4 sm:px-6 lg:px-8 z-10",children:[(0,gr.jsx)("div",{className:"flex flex-col md:flex-row justify-between items-start mb-16",children:(0,gr.jsxs)("div",{className:"text-left w-full",children:[(0,gr.jsxs)("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"text-cyan-400",children:"Divisions"})]}),(0,gr.jsx)("p",{className:"text-lg md:text-xl text-gray-300 max-w-2xl font-body",children:"Seven specialized laboratories working at the forefront of technological innovation."})]})}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-0 border border-white/20 rounded-lg overflow-hidden relative",children:r.map((e,n)=>(0,gr.jsx)(Pe,{to:e.path,onMouseEnter:()=>t(e.image),onMouseLeave:()=>t(null),children:(0,gr.jsx)(Yu.div,{className:"relative p-8 md:p-12 border-white/20 flex flex-col justify-between h-full group transition-colors duration-300 hover:bg-white/5 ".concat((n+1)%3!==0?"md:border-r":""," ").concat(n<r.length-3?"border-b":""),initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,amount:.3},transition:{duration:.5,delay:.1*n},children:(0,gr.jsxs)("div",{className:"mt-auto",children:[(0,gr.jsxs)("div",{className:"flex justify-between items-start mb-4",children:[(0,gr.jsx)("h3",{className:"text-2xl md:text-3xl font-bold group-hover:text-blue-400 transition-colors duration-300 font-heading",children:e.name}),(0,gr.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-opacity duration-300",children:(0,gr.jsx)(ad,{className:"w-8 h-8 text-blue-400"})})]}),(0,gr.jsx)("p",{className:"text-sm md:text-base text-gray-300 font-body",children:e.tagline})]})})},n))})]}),(0,gr.jsxs)("div",{className:"absolute inset-0 z-0 overflow-hidden pointer-events-none",children:[(0,gr.jsx)("div",{className:"absolute inset-0 w-full h-full bg-cover bg-center transition-opacity duration-500 ".concat(e?"opacity-60":"opacity-0"),style:{backgroundImage:"url(".concat(e,")")}}),(0,gr.jsx)("div",{className:"absolute inset-0 bg-black opacity-80"})]})]}),(0,gr.jsx)("section",{id:"events",className:"min-h-[60vh] py-20 bg-black text-white flex items-center justify-center",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto w-full px-4 sm:px-6 lg:px-8",children:[(0,gr.jsx)("div",{className:"text-left mb-16",children:(0,gr.jsx)("h2",{className:"text-4xl md:text-5xl font-bold text-white mb-4 font-heading",children:"Events"})}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-0",children:a.map((e,t)=>(0,gr.jsxs)("div",{className:"relative group min-h-[500px] cursor-pointer ".concat(t<a.length-1?"md:border-r border-white/20":""),children:[(0,gr.jsxs)("div",{className:"absolute inset-0 z-0 transition-opacity duration-500 opacity-0 group-hover:opacity-100",children:[(0,gr.jsx)("img",{src:e.image,alt:e.title,className:"w-full h-full object-cover"}),(0,gr.jsx)("div",{className:"absolute inset-0 bg-black/70"})]}),(0,gr.jsxs)("div",{className:"relative z-10 w-full h-full flex flex-col justify-between p-8",children:[(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-1 font-heading",children:e.title}),(0,gr.jsx)("p",{className:"text-sm text-white opacity-60 font-body",children:e.date})]}),(0,gr.jsxs)("div",{className:"flex flex-col space-y-2 opacity-0 group-hover:opacity-100 transition-opacity duration-500",children:[(0,gr.jsx)("p",{className:"text-sm text-white leading-relaxed font-body",children:e.description}),(0,gr.jsxs)("div",{className:"flex items-center text-white text-sm font-body",children:[(0,gr.jsx)(sd,{className:"w-4 h-4 mr-2"}),e.time]}),(0,gr.jsxs)("div",{className:"flex items-center text-white text-sm font-body",children:[(0,gr.jsx)(td,{className:"w-4 h-4 mr-2"}),e.location]}
2),(0,gr.jsx)("button",{className:"w-full mt-4 py-2 px-4 rounded-full border border-gray-600 text-sm font-semibold hover:bg-white hover:text-black transition-colors duration-300 font-body",children:"Apply Now"})]})]})]},t))})]})}),(0,gr.jsx)("section",{id:"contact",className:"py-20 bg-black",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)("div",{className:"text-center",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:["Get In ",(0,gr.jsx)("span",{className:"text-cyan-400",children:"Touch"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Ready to join the future of technology? Contact us to learn more about our research and opportunities."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsx)("button",{className:"btn-primary font-body",children:"Contact Us"}),(0,gr.jsx)("button",{className:"btn-secondary font-body",children:"Join Our Community"})]})]})})})]})},iC=Ue("Brain",[["path",{d:"M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 1.98-3A2.5 2.5 0 0 1 9.5 2Z",key:"1mhkh5"}],["path",{d:"M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-1.98-3A2.5 2.5 0 0 0 14.5 2Z",key:"1d6s00"}]]),aC=Ue("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]),sC=Ue("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]),oC=Ue("Award",[["circle",{cx:"12",cy:"8",r:"6",key:"1vp47v"}],["path",{d:"M15.477 12.89 17 22l-5-3-5 3 1.523-9.11",key:"em7aur"}]]),lC=()=>{const e=[{title:"Deep Learning Architectures",description:"Developing novel neural network architectures for improved performance and efficiency.",icon:iC,color:"from-blue-500 to-cyan-500"},{title:"Generative AI Systems",description:"Creating advanced generative models for text, image, and multimodal content generation.",icon:aC,color:"from-purple-500 to-pink-500"},{title:"Machine Learning Infrastructure",description:"Building scalable ML pipelines and MLOps systems for production deployment.",icon:sC,color:"from-green-500 to-emerald-500"},{title:"AI Ethics & Fairness",description:"Ensuring responsible AI development through bias detection and fairness metrics.",icon:oC,color:"from-orange-500 to-red-500"}];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[(0,gr.jsx)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",zIndex:1},src:"https://res.cloudinary.com/djtemmctt/video/upload/v1758569986/WhatsApp_Video_2025-09-23_at_12.34.51_AM_apnvdi.mp4"}),(0,gr.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:2}}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left",children:[(0,gr.jsx)("div",{className:"mb-6",children:(0,gr.jsx)("div",{className:"w-20 h-20 bg-gradient-to-r from-blue-500 to-cyan-500 rounded-2xl flex items-center justify-center",children:(0,gr.jsx)(iC,{className:"w-10 h-10 text-white"})})}),(0,gr.jsxs)("h1",{className:"text-4xl md:text-6xl lg:text-8xl font-black text-white mb-6 font-heading",children:["Prajna ",(0,gr.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-blue-400 to-cyan-400",children:"Kritrima"})," Lab"]}),(0,gr.jsx)("p",{className:"text-xl md:text-2xl text-gray-300 mb-4 font-body",children:"AI/ML, Deep Learning & Generative AI"}),(0,gr.jsx)("p",{className:"text-lg text-gray-400 max-w-4xl leading-relaxed font-body",children:"Pioneering the future of artificial intelligence through cutting-edge research in deep learning, neural networks, and generative AI systems. We develop intelligent solutions that push the boundaries of what machines can learn and create."})]})})]}),(0,gr.jsx)("section",{className:"py-20 bg-gradient-to-b from-transparent to-gray-900/50",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-center rounded-2xl p-8 md:p-12",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Our Mission"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto font-body",children:"To advance the field of artificial intelligence through innovative research in machine learning, deep learning, and generative AI. We aim to create intelligent systems that are not only powerful but also ethical, explainable, and beneficial to society. Our research spans from fundamental theoretical advances to practical applications that solve real-world problems."})]})})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Research ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent",children:"Areas"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Our research spans multiple domains within artificial intelligence and machine learning."})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:e.map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 card-hover flex flex-col items-center text-center",children:[(0,gr.jsx)("div",{className:"w-12 h-12 bg-gradient-to-r ".concat(e.color," rounded-lg flex items-center justify-center flex-shrink-0 mb-4"),children:(0,gr.jsx)(e.icon,{className:"w-6 h-6 text-white"})}),(0,gr.jsx)("h3",{className:"text-xl font-bold text-white mb-2 font-body",children:e.title}),(0,gr.jsx)("p",{className:"text-gray-300 leading-relaxed font-body text-sm",children:e.description})]},e.title))})]})}),(0,gr.jsx)("section",{className:"py-16 bg-gradient-to-b from-gray-900/50 to-transparent",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent",children:"Team"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Meet the brilliant minds driving innovation in artificial intelligence."})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Executives"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[{name:"Dr. Sarah Chen",role:"Lab Director",specialization:"Deep Learning & Neural Networks",image:"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=300&h=300&fit=crop&crop=face",bio:"Leading researcher in deep learning with 10+ years of experience in neural network architectures."},{name:"Alex Rodriguez",role:"Research Lead",specialization:"Generative AI & LLMs",image:"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=300&h=300&fit=crop&crop=face",bio:"E
2xpert in large language models and generative AI systems with multiple publications in top-tier conferences."}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 flex flex-col items-center md:items-start text-center md:text-left card-hover",children:[(0,gr.jsx)("div",{className:"w-24 h-24 mb-4 rounded-full overflow-hidden bg-gray-700",children:(0,gr.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover"})}),(0,gr.jsx)("h4",{className:"text-xl font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-cyan-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-3 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-300 text-sm leading-relaxed font-body",children:e.bio})]},e.name))})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Affiliates"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"Prof. Michael Zhang",role:"Faculty Advisor",specialization:"Computer Vision",affiliation:"Department of Computer Science"},{name:"Dr. Emily Watson",role:"Industry Partner",specialization:"MLOps & Production Systems",affiliation:"TechCorp AI Research"},{name:"Dr. James Park",role:"Collaborating Researcher",specialization:"Natural Language Processing",affiliation:"NLP Research Institute"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-cyan-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.affiliation})]},e.name))})]}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Members"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{name:"Maria Garcia",role:"PhD Student",specialization:"Computer Vision",year:"3rd Year"},{name:"David Kim",role:"MS Student",specialization:"Reinforcement Learning",year:"2nd Year"},{name:"Lisa Wang",role:"Undergraduate Researcher",specialization:"Generative Models",year:"Senior"},{name:"Tom Wilson",role:"PhD Student",specialization:"Federated Learning",year:"4th Year"},{name:"Anna Patel",role:"MS Student",specialization:"Explainable AI",year:"1st Year"},{name:"Chris Brown",role:"Undergraduate Researcher",specialization:"Deep Reinforcement Learning",year:"Junior"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.05*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-cyan-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.year})]},e.name))})]})]})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"glass-effect rounded-2xl p-8 md:p-12 text-center",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Join Our Research"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Interested in contributing to cutting-edge AI research? We welcome passionate researchers and students to join our mission of advancing artificial intelligence."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsxs)("button",{onClick:()=>window.open("https://docs.google.com/forms/d/e/1FAIpQLScydNENhXxXQhfKd8nWbawxD2y0jtPTcYjqFqRqhOyz-Da3tw/viewform?usp=header","_blank"),className:"bg-gradient-to-r from-blue-500 to-cyan-500 text-white px-6 py-3 rounded-lg font-semibold hover:from-blue-600 hover:to-cyan-600 transition-all duration-300 transform hover:scale-105 inline-flex items-center justify-center space-x-2",children:[(0,gr.jsx)("span",{children:"Apply Now"}),(0,gr.jsx)(ad,{className:"w-5 h-5"})]}),(0,gr.jsx)("button",{className:"border-2 border-gray-300 text-gray-300 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 hover:text-black transition-all duration-300",children:"View Publications"})]})]})})})]})},cC=Ue("Atom",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["path",{d:"M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z",key:"1l2ple"}],["path",{d:"M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z",key:"1wam0m"}]]),uC=Ue("Cpu",[["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"9",y:"9",width:"6",height:"6",key:"o3kz5p"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}
2],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]),dC=()=>{const e=[{title:"Quantum Algorithms",description:"Developing novel quantum algorithms for optimization, simulation, and machine learning problems.",icon:aC,color:"from-purple-500 to-pink-500"},{title:"Quantum Machine Learning",description:"Exploring quantum advantage in machine learning through quantum neural networks and quantum kernels.",icon:cC,color:"from-blue-500 to-cyan-500"},{title:"Quantum Error Correction",description:"Building fault-tolerant quantum computers through advanced error correction techniques.",icon:uC,color:"from-green-500 to-emerald-500"},{title:"Quantum Cryptography",description:"Developing secure communication protocols using quantum key distribution and post-quantum cryptography.",icon:sC,color:"from-orange-500 to-red-500"}];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[(0,gr.jsx)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",zIndex:1},src:"https://res.cloudinary.com/djtemmctt/video/upload/v1758569986/WhatsApp_Video_2025-09-23_at_12.34.51_AM_apnvdi.mp4"}),(0,gr.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:2}}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsx)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left"})}),(0,gr.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-purple-900 via-blue-900 to-indigo-900 z-0"}),(0,gr.jsx)("div",{className:"absolute inset-0 bg-black/70 z-10"}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left",children:[(0,gr.jsx)("div",{className:"mb-6",children:(0,gr.jsx)("div",{className:"w-20 h-20 bg-gradient-to-r from-purple-500 to-pink-500 rounded-2xl flex items-center justify-center",children:(0,gr.jsx)(aC,{className:"w-10 h-10 text-white"})})}),(0,gr.jsxs)("h1",{className:"text-4xl md:text-6xl lg:text-8xl font-black text-white mb-6 font-heading",children:["Aanu ",(0,gr.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-pink-400",children:"Tattva"})," Lab"]}),(0,gr.jsx)("p",{className:"text-xl md:text-2xl text-gray-300 mb-4 font-body",children:"Quantum Computing & Quantum Machine Learning"}),(0,gr.jsx)("p",{className:"text-lg text-gray-400 max-w-4xl leading-relaxed font-body",children:"Exploring the quantum realm to revolutionize computing and machine learning. We develop quantum algorithms, quantum machine learning models, and quantum error correction techniques that will shape the future of computation."})]})})]}),(0,gr.jsx)("section",{className:"py-20 bg-gradient-to-b from-transparent to-gray-900/50",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-center rounded-2xl p-8 md:p-12",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Our Mission"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto font-body",children:"To unlock the potential of quantum computing through groundbreaking research in quantum algorithms, quantum machine learning, and quantum error correction. We aim to develop practical quantum solutions that provide exponential speedups over classical computing for real-world problems in optimization, simulation, and artificial intelligence."})]})})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Research ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-purple-400 to-pink-400 bg-clip-text text-transparent",children:"Areas"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Our research spans the cutting-edge domains of quantum computing and quantum machine learning"})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:e.map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 card-hover flex flex-col items-center text-center",children:[(0,gr.jsx)("div",{className:"w-12 h-12 bg-gradient-to-r ".concat(e.color," rounded-lg flex items-center justify-center flex-shrink-0 mb-4"),children:(0,gr.jsx)(e.icon,{className:"w-6 h-6 text-white"})}),(0,gr.jsx)("h3",{className:"text-xl font-bold text-white mb-2 font-body",children:e.title}),(0,gr.jsx)("p",{className:"text-gray-300 leading-relaxed font-body text-sm",children:e.description})]},e.title))})]})}),(0,gr.jsx)("section",{className:"py-16 bg-gradient-to-b from-gray-900/50 to-transparent",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-purple-400 to-pink-400 bg-clip-text text-transparent",children:"Team"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Meet the quantum pioneers pushing the boundaries of computation"})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Executives"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[{name:"Dr. Quantum Zhang",role:"Lab Director",specialization:"Quantum Algorithms & Complexity",image:"https://media.istockphoto.com/id/814423752/photo/eye-of-model-with-colorful-art-make-up-close-up.jpg?s=612x612&w=0&k=20&c=l15OdMWjgCKycMMShP8UK94ELVlEGvt7GmB_esHWPYE=",bio:"Leading quantum computing researcher with expertise in quantum algorithms and quantum machine learning."},{name:"Dr. Maya Patel",role:"Research Lead",specialization:"Quantum Machine Learning",image:"https://images.pexels.com/photos/3094799/pexels-photo-3094799.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500",bio:"Pioneer in quantum machine learning with multiple breakthrough publications in quantum neural networks."}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 flex flex-col items-center md:items-start text-center md:text-left card-hover",children:[(0,gr.jsx)("div",{className:"w-24 h-24 mb-4 rounded-full overflow-hidden bg-gray-700",children:(0,gr.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover",onError:e=>{e.target.src="/api/placeholder/150/150"}})}),(0,gr.jsx)("h4",{className:"text-xl font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-purple-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-3 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-300 text-sm leading-relaxed font-body",children:e.bio})]},e.name))})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Affiliates"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"Prof. Richard Feynman",role:"Faculty Advisor",specialization:"Quantum Physics",affiliation:"Department of Physics"},{name:"Dr. Shor Algorithm",role:"Industry Partner",specialization:"Quantum Cryptography",affiliation:"QuantumTech Industries"},{name:"Dr. Bell State",role:"Collaborating Researcher",specialization:"Quantum Entanglement",affiliation:"Quantum Research Institute"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-purple-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.affiliation})]},e.name))})]}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Members"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{name:"Alice Quantum",role:"PhD Student",specialization:"Quantum Algorithms",year:"3rd Year"},{name:"Bob Entangled",role:"MS Student",specialization:"Quantum Machine Learning",year:"2nd Year"},{name:"Charlie Superposition",role:"Undergraduate Researcher",specialization:"Quantum Computing",year:"Senior"},{name:"Diana Coherence",role:"PhD Student",specialization:"Quantum Error Correction",year:"4th Year"},{name:"Eve Interference",role:"MS Student",specialization:"Quantum Cryptography",year:"1st Year"},{name:"Frank Decoherence",role:"Undergraduate Researcher",specialization:"Quantum Simulation",year:"Junior"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.05*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-purple-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.year})]},e.name))})]})]})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"glass-effect rounded-2xl p-8 md:p-12 text-center",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Join the Quantum Revolution"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Ready to explore the quantum realm? We welcome researchers and students passionate about quantum computing to join our mission of building the quantum future."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsxs)("button",{onClick:()=>window.open("https://docs.google.com/forms/d/e/1FAIpQLScydNENhXxXQhfKd8nWbawxD2y0jtPTcYjqFqRqhOyz-Da3tw/viewform?usp=header","_blank"),className:"bg-gradient-to-r from-purple-500 to-pink-500 text-white px-6 py-3 rounded-lg font-semibold hover:from-purple-600 hover:to-pink-600 transition-all duration-300 transform hover:scale-105 inline-flex items-center justify-center space-x-2",children:[(0,gr.jsx)("span",{children:"Apply Now"}),(0,gr.jsx)(ad,{className:"w-5 h-5"})]}),(0,gr.jsx)("button",{className:"border-2 border-gray-300 text-gray-300 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 hover:text-black transition-all duration-300",children:"View Publications"})]})]})})})]})},hC=Ue("Gamepad2",[["line",{x1:"6",x2:"10",y1:"11",y2:"11",key:"1gktln"}],["line",{x1:"8",x2:"8",y1:"9",y2:"13",key:"qnk9ow"}],["line",{x1:"15",x2:"15.01",y1:"12",y2:"12",key:"krot7o"}],["line",{x1:"18",x2:"18.01",y1:"10",y2:"10",key:"1lcuu1"}],["path",{d:"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1 0 1.5-.5 2-1l1.414-1.414A2 2 0 0 1 9.828 16h4.344a2 2 0 0 1 1.414.586L17 18c.5.5 1 1 2 1a3 3 0 0 0 3-3c0-1.545-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.151A4 4 0 0 0 17.32 5z",key:"mfqc10"}]]),pC=Ue("Eye",[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),fC=Ue("Users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["path",{d:"M16 3.13a4 4 0 0 1 0 7.75",key:"1da9ce"}]]),mC=()=>{const e=[{title:"Game Development",description:"Creating innovative games with cutting-edge mechanics, AI, and procedural generation techniques.",icon:hC,color:"from-green-500 to-emerald-500"},{title:"Virtual Reality",description:"Developing immersive VR experiences with advanced tracking, haptics, and spatial audio.",icon:pC,color:"from-blue-500 to-cyan-500"},{title:"Augmented Reality",description:"Building AR applications that seamlessly blend digital content with the real world.",icon:aC,color:"from-purple-500 to-pink-500"},{title:"Mixed Reality",description:"Exploring the convergence of p
2hysical and digital worlds through advanced MR technologies.",icon:fC,color:"from-orange-500 to-red-500"}];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[(0,gr.jsx)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",zIndex:1},src:"https://res.cloudinary.com/djtemmctt/video/upload/v1758569986/WhatsApp_Video_2025-09-23_at_12.34.51_AM_apnvdi.mp4"}),(0,gr.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:2}}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left",children:[(0,gr.jsx)("div",{className:"mb-6",children:(0,gr.jsx)("div",{className:"w-20 h-20 bg-gradient-to-r from-green-500 to-emerald-500 rounded-2xl flex items-center justify-center",children:(0,gr.jsx)(hC,{className:"w-10 h-10 text-white"})})}),(0,gr.jsxs)("h1",{className:"text-4xl md:text-6xl lg:text-8xl font-black text-white mb-6 font-heading",children:[(0,gr.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-green-400 to-emerald-400",children:"Chitra Darshan"})," Lab"]}),(0,gr.jsx)("p",{className:"text-xl md:text-2xl text-gray-300 mb-4 font-body",children:"Game Development, AR, VR & Mixed Reality"}),(0,gr.jsx)("p",{className:"text-lg text-gray-400 max-w-4xl leading-relaxed font-body",children:"Creating immersive digital experiences that blur the line between reality and imagination. We develop cutting-edge games, virtual reality environments, and augmented reality applications that push the boundaries of interactive entertainment and spatial computing."})]})})]}),(0,gr.jsx)("section",{className:"py-20 bg-gradient-to-b from-transparent to-gray-900/50",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-center rounded-2xl p-8 md:p-12",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Our Mission"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto font-body",children:"To revolutionize interactive entertainment and spatial computing through innovative game development, virtual reality, and augmented reality technologies. We create immersive experiences that engage, educate, and inspire users while advancing the state-of-the-art in real-time graphics, spatial computing, and human-computer interaction."})]})})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Research ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-green-400 to-emerald-400 bg-clip-text text-transparent",children:"Areas"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Our research spans the exciting domains of interactive entertainment and immersive technologies"})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:e.map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 card-hover flex flex-col items-center text-center",children:[(0,gr.jsx)("div",{className:"w-12 h-12 bg-gradient-to-r ".concat(e.color," rounded-lg flex items-center justify-center flex-shrink-0 mb-4"),children:(0,gr.jsx)(e.icon,{className:"w-6 h-6 text-white"})}),(0,gr.jsx)("h3",{className:"text-xl font-bold text-white mb-2 font-body",children:e.title}),(0,gr.jsx)("p",{className:"text-gray-300 leading-relaxed font-body text-sm",children:e.description})]},e.title))})]})}),(0,gr.jsx)("section",{className:"py-16 bg-gradient-to-b from-gray-900/50 to-transparent",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-green-400 to-emerald-400 bg-clip-text text-transparent",children:"Team"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Meet the creative minds building the future of interactive entertainment"})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Executives"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[{name:"Dr. Alex Render",role:"Lab Director",specialization:"Game Development & Graphics",image:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxAQEBAQEBAWEBAVEBIbDRUVDRsQFQ4SIB0iIiAdHx8kKDQsJCYxJx8fLTItMSsuMDBDIys9TT8uQDRBMC0BCgoKDg0OFQ8QFy0ZFxkrKys3Kys3Ky0rNzEtLSs3KystNzctLTgrNystKystMCs3MTc3NystKystLTcrKysrK//AABEIAMgAyAMBIgACE
2QEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAAFAAIDBAYHAQj/xAA/EAABAwIEAwUFBQYFBQAAAAABAAIRAyEEBRIxBkFREyJhcYEykaGxwRQjUnLRB0JiguHwM0NzkvEkRFOisv/EABkBAAMBAQEAAAAAAAAAAAAAAAIDBAEABf/EACcRAAICAgICAgIBBQAAAAAAAAABAhEDIRIxBEETIjJRFAUVYYGR/9oADAMBAAIRAxEAPwDQYWu5+HbULdfdBJYZvzRvBMjC9rEDmdi0LnPBGePGHNGZhzQJgaBt9Pit9hMwacBVa+D7GgFw78kW8VL5GRqN/o6EdlnPmkMpj+EF3uQhsI/mFRpw7HVSGVHH2Z2XLcfm1WnijT1loFXmLaCFvjZeUEDljs1tXmub8YGK0+H1WjzPiV1F5a+lqbDS1wdZwJ3/AL6LLcWVtTw6LFkx0lUN2KQEZiOSJYZ0ws/qvIRnL3yB5rofkhqCJC9KS9CvsyiMDdMIUsbqOo4C5IjzSpSNEvWqvUx1Nt5mdrRKpvxMu1QRa0FJlNHcbC0L0BCm16jvZdboRCi7Wqx9yZDhPekIeaO4nXP2TQDiiTH+Dv8AzInmTf8AraX+lmC40M5r0i4U6haCRMGNtldyfjGtRe19UmsAyq1kuu3WIN13MBwOrZPT++b/ADfIpcRM+7q/6b/ks/wtxfQq1GAnQ68A8zCPZ9iA6nUv/lun3IX0clTMhxEYqN/L9VYy+sRTbfqqfErvvgByb9Sn4N33Q8j81gQb4X4krU3hodIvIK2DqOGxgtFGtHk1x+i5jw+fvW+R+S2+VMl480StPRrX1so5lw8+jUaXNjvjxkSktxxDSGin4Qkjk79BY1SOO8HcOUK1JtV1Z+sOBDWPazbkZldNyfIqIofvvGl3dcWP26W3XM+DcyLbFh5LpeUZk804bTcTL4GofiJC8bzcreq0UwxatMsZtRc6g0FlQgNbpimIB8tMhYjOeF6LnCu7tnPe9geGwOyBbv7Oy0/EVTMwKbqFP7sP+/a6oy7PehFfNsUyowimI7EC9VsBwBERE/Fb4mRLS6BnjtGfOSh9ao13bCmCxrSGnSWkg2JB9fVBeIcnP3Qp0argBB+7JMG97K1VzjMtQljLOB9pvVC83xmMqsqNqsb7TSII5T+q9RNNEnFoylfCvYS0scPNpBRDLREeahdTqCZaJn8SlpOcD7P/ALIo9hILSndoxrCXHvahpHVsGT6W96pPxOkS5pAVOvUD3TyiBITsuSujYqy3i8Y2CBvyB2KGCCQTPMx1VvFHugyBGwi6qCubEwQPDdTXKYdJD6tEubJsLhvgvadUARP9x/RNxVcucQTaIF1Xe6DdHDC5GOSRZpVdLiNwVI6tFokHa+ypVDzlSsqCIJlMfju6B5jqWkkg7KMtBJ5N+JTZANjY7+Ce50wBc/JL4NOmdYwEAyLQVoMtz+qwGm4lzSIBQPseRMFSUmkW6EELHE41+bYxlaprYZBn5qzh3RSH5Ss9hge00RGr2b2lanD5LiXMpNbTJNQPDLjcCT8FlpdgS0ytkFQCpP8ACVvcifLhHULI4Xh+vSio9gDDZsvB12mYWp4a9toA5hGqe0Dy9Gw4iMMYvFX41qEUhBixSRxVo55HF0cVy/Fmn7FCqfNrQjeA4rxtP2MOYm0uYsac2xB/f0+TAmHMK5/zXfJTSxwl2gozmvZ0V/G+YvYWOoCCPxtv8EMfmWLdvhmkeOI/RYwY+t/5X/7yl9qqH993+8rIY4R6RzlJ+zasq1z/ANpRnxruU7KVV3tYTDH81V5WEFV34j70oPWU26BpnQ6GCnfCZf8Aza3X96hz3HMwVNrzg8uqFzoY1lDUfMy5YVhI5kKrjHtLoJBAE+MrnPWjYxthDiTicYtgYzD08NpIc7sqWjWeXM7fXwQDD4siNRn5prmE7bE9eScxoZyafiujFzG9CqHUet1HXNhHVevqiZFvJNc8Hr7lUoKEbQN2e3IkJFgIvbxCgbqBt7l7UDjujUko9A0el0bOn0UZefRLQU8M36Jf2bNGSrTKsX5qBjOaa53zRwfBWwX3RcD5j3lTMeJQ/X0U1F8QjjOD20c7DuDf22IYBaHCF2/hzDmno1DvarAO7pdpmfdK4dwxjhh8SytYgOh8ibFd8ynDMrUxUZV0AtmkRHO+oCZuPGblebmxu9HS2ytxXjgxgpuImAHH2dJj+7IRwm6ao/MPmjPEPCT8WWuFcS0uIGmAZ6whlPI8Rgml7nNiYBa6b+qZjjxiBxfI0HGsGmGkweSSyOZZk+qTqdJHUrxapUG43s5IPNehi9Tg2UsKhvZFOFL19U5rSnhh5rjTwUVNSp9TbyTA0qVrHea4wkDAs/UdAqAi+t0GbhaJk9EEzMjtXAACAJPUrAog5xJ5r1rYXpIumNEuA8V6EIRUU0DbuiVrJKt0sHPLz8FoslyEOaHOEoy7JmgWYAgeWNlUMD9mNo5adwJ6K/h8oJiYCPnLyOsL2nRjfdZ80SmHjxA5yFrvNMfkAA6rR02X3T6lKVzyIP4I/ow+LyjTsLIVVwhC6BiqQEgoBjKIJMIeViMnjrtGY7MBPYFbx+EjbZUqRMwii09EMouL2SAkTFp3C6dwZnVRuFpjUTBcBJNrrmWuTa/JdN4OywuwjXAH2ng+JBS8ipi5dGpwvED7T/8ASWd5u+s6jSBtBLgTuTYfVUGYEgoNnwc4V9MgspumD7IASzo7Kua5u2hVLT33B0GHAgjqCOSSxWF3JJ26pLGOSJmp4UYTtaCzCUBPaoRUKe164wnaVIHKuCFNTIWnFhr1nc4bpqnmCJIR3UqOa4IVBIEuHiuXZxny29lfybD66rRymSqDmuYYIIK0vCFCS5/QBUyklF0Nwx5TVnQcsotYwNG0K/Toh31WVq4yq2dFkNqZxiKfUBT48GSbtHoykom/NJg3AQ7F4NpNgse3i14IDhKI4TiYOifXwVUf6fkkzoZoP2FG4Mt2C9dQJspMHmDX7GydWx7BzCCXh5Yumh/JMD4+i5oKz1aZ9UczDGh2xQqvEC/mgeKUexcmmV6uHLmExssxzPgV0LhuiKvaMndpWAxQLatRpEEPcPinY4qrZ5ed7o0fAHDbswxjaZH3TO9XOqO709T0X0Fg8mpUmCmwBrAO61rYAXE/2QVKrcY5wcWN7M6u7IeOQ98FdrGYPO/wS5O2StjsTgKTGPqGzWtcXGJsBK4rSyGtWbiMQHup0yJlzv8AHkE2veBzv6Lp/G/EH2bA1XHvl40BpFjq3mI5LjuPz/EVWA1a0S3u0mN0BjOQty8/isjHezV/gBPlvdnw80lVr1JsLJI3wQVsLwvQxPa5OB8FENoj0pABPjokQtsw8DV7fqntCkFBx2W2cRBx57KeleBO5TxgXcyB6qxQwjWkFzxYzZEns5GcxWHcdRA7oJkx4wtXwbgT2LnRcmUJx7S2hoES57p6kAkLW8HvDabG/wAKd5T9pdluGFSBeZuqsMNaf9sofUxFbs6j+ye4MbLyYYB6QSumVMMC2YE+SymZ4WtTJgS09OiZ42XlJIZkg2nRggalZ4Y1ku0kuF/0HKD6hOw7De0EGCJ5rQYTBvYXaKQZPtHb5KzTysgghkE77mfevUy53gj9tsnhgl2R5bhahYXAWQnMcwcHaZ9F0OhgezwxHPmuc5hQHbOPjbwUP93lPUlopnjajoovr1HGx+KZrrXBI96MnB0+yAIDqgcCQXlof1vYjr6IXTwcNO5quf3GNJ0tHQk/r6qrNxaTj7VkL5p7CnCXatxDS0nfv+IkSheLoGtj6lOmJc7FVA0ebijvBjy3Eta8RMiCZuj3A+XUxicbUIBqsxFQTE6WyfndRzpR0JyX7N/haTKbQGhrOoDYE+iuU733VNrjz25K1h7nr8EgQzKftYe0YKmC4DVWaN502Jn5+8rjwggkN7os213+J6rqH7Z9RpYWGnSHP7Qx7LosPW/uXLHVHOcXG88thHRb26DgtEBp7n+/JJTPJtYeAGy8QPG2xgVbSJTuwf5K2HgePlYKbD9S2b7FsqZjaKlLD9Xz5CVZ+ytG4j8xhWKpG9m9AqzqZd5eSyzqHOfTHP3CR8Uw40DYE+bv0S+yTvK9GCHMk+a0yitUxjztA8kxtCo8iZieZV3QG8lJSN5nbZbZqQ/N8CXUXPFi3VaYkTMq9w1W7rD4BNxuZh7C0MJJBQ/hyvDdJ3aU343wLYSXLR07BVpEFLFMaUIwmPAAvyT6+N5yux+NOb0UombSpg3AKmYxhcDYBC2Oc/a4V4ZrhmCCe8OpXZ8E1UVthWghiaI7Jy5hnGHio4+K6LXzekWAAgA+O6xebOpl7gCEr+LlircTG1RRp0dbRaeh5qH7CJmTKK5OAO6Vax9NoFlU1mjBJ9HcIy2Cskw//U0gPxBarhLCaamLrE/4mJqafION/iUEyIDW6of3QT5LQ8I1Jw1N/wCIvLjI9ouNlytQ37PK8xrlSNLTM/3KmY8SOvQj6KBjhubHldXaewIvO/MfCFyIWZX9qoLste5t/vKeuO9pAP8AwuKglvPp6r6Zr4Jtek+m9odTe2DDuXxXDOPOGK2Ersa5oJcO4Wj/ABgNnRyOwI8EyLS7Ci30ZoVgkq7WmY5yvU+MrQyjWMpxyVijUixkjpMJzR5epVhuFa4SDf4LyGx5EynqIAbJJtbUjmXZEI1VbHk0GI81Nw5hwwvduYABKmzjFimInl71NlnK6RZgwprkwdjcLSGwkDxVJ1Jgm3uKEZhm4aHSS
2ZkNjmpchzVtUBjyA6IaTYHwKoxYuWtsY/jug3gcv7UEtCH5tgnU5PMLR5LVaxjjEAGDPVZXiLNdVSQdvclcZLK4/ozLGKjYBdipdqDi1w8TB8wpMux7RWJAgOvE7Hn9UAJc9x03v7kS+wup0zV1SWubqtEA2V+BpS4v2QRbu0bLD4w8irtGtPtGAsrlOLvcq5nuKLact5r04PiqiWfL9bNtg8yosEahIWb4ixtFzy4NGrmQYlZHCVa5MgEg8+SvdhW3fTMdYkH3KWGGXyXy2C8vNaQ5mPNw0kRsJlD+2c993QfNXHNZpLdDtU/i/ohFWGmbgBV+RLM0o9UK3Hs1WExAZEGYCnxOYSN1j6GLcHDodkQq1YF1uOTePhP0OXkJrQcw+JLqT6VP26ndF43stnwxlzsLhxSJ1GSXET7R6LJcBYQ1Kvakdxm1xd58/BdCZVLXQLeJpyT7lBmaukedkk5NstUGBwAgg8oOmfcZVzDPaLOt5mJ8pCqNebRAJ/mJ8uie54N3EyOQZ3j67JaEsK4Yunl/D3pLvG0rn3GWGdWx9EOu1r6Y9onmOa3NCqI/E4fuiL+BiECzGkw1mVC5od2jZbDg1sHmbrWcjlPHOWfZsxqAey54e3bnc7eMpIjxjRdiHPrOcTUbUIufabNo96S7JzhLi9Fkcckixh/yhWgD0+CaylA/uVNQpFxDepAF1EbQRpl9Kh2jWzLjPgNpVOuRWb34mFbzvMOwY2kAHtLQJ5W6rMVcXpu10DoV7ni+B8mH7R/2WfIoUgfX4fL6rofLAe4OaH18KW1WUAIqOc1rOUkmAVNmGaPbcOEzsDcoYc0qmtTrGNbHMLLWsZS+UvD5QhLb/wCk2SWKTTo6NjaHYYYUwHQ0Q55Htu5lc1zDEFziJkTdbDOeMu3okaC1xbccpWKp0S47eJXmqEoybk+TfsZ5OWMklEt5ZQtJ9FosDRbVp1qZEiGg+e6C0X6WybABHOGGHs3OO7yD6RZMjCtgYVbozOHc6m4tNiDsbI03Eh4AN03iDLC49o32vmhGCrQ4TYgqyE2tAu4umbjCvaymCANriFBWzhrdreCfldRjmAEiYUeKydrzIcPBVYIYnK5FLk0vqRVs/DgRDQT/AAoL2bXGTcz6Kzisp0kyQB5qGtUZTEAyV2aOJPQDnJ/kVMVSaKgPTdV6tU1HhjRJLgG+Kr1sQXGyi1OaQ4GHAy0jkVPPKkqRFKV6R2fh3BjC0GUwb7uIHtOO5RJ1RsyfcBBKzvDeeU8XSaCQKob940GHF3MgdEdaSLTEjcidK89tt7AYQbUkAsJEbtLdYPqLqbDgH2mgE/uh+knx81Sy6iGAu7N1Un94u0uPkP8AhW2BgOpge0bvL26ifd9SiQthChW0jQ4AfgY1gfHibIZm5ADXWaA5uhodpO/Tf5BXqFZjwexe1xjv6XQ6PH+qp5xVmlAY+zgLw8O96OzF2YzPKA0OAH+a3nMX/wCElVzqsWdsOfdJ9CPokslk5O2epDKnFWe6iUGzrNHU4Yww43cRuByRkPbBLpEC5WIxlR1R73kxJMDn4BS44tvRO9Fh+bvJl/e9VQxuZVH+z3R7ypewAsbnxT8DhNZc4t7rTbovV/m5o4+PLQLTbBbKDnd5xJU7MK5xtbxRj7KEi2NgvPbcnbN4UVRhobG/ivKcCZF17XqFVatY3CbjxsyTo9pntqtOhMBzwHEXgTdbtlNrS4M9gE6LR3eSw/CrGuxlLWYbqJJiYsVuCIsjUbmUeN02VsWyRKzGZZedRezfmFq3mQhWKb0VUYWw8sU0Z+nj3stsQrNPO3CLp2IY07tBPkqX2QHYQrcfjzjuJG5SXRPis1L+aHvqkwBcq9Ty9vMfFW2YYCwCHJ47vkzvtLsFfZ9IvumuHJE8RSEgSOcjoqrwAZG687Ik5aMlGivQe5hBa4scDLCDBaVsuHONiIZiZI/GBJHiR+ixzwo4vKnyQpizu+Bq6wH0nsrA3aWu7oH0+aKguaNRBkbAQ4fFcDyjPMRhTNKpDSe80gOafQ2XQuG/2hUnAU8SOyPKo2XMd+ZtyPSfRCjGdAbiyQBULXE7AsER0BtPnHoh2eYgaATqYA62kgj1J+iwrP2lPbVcKVBpEka3uOot8enkreK4wp12feBtMi7R/RbZiQPzpwcH3JljokX2KSiZmGGc4GpXbHQNP6JJdscpUe5o0tpPM20nzWQd7Y8x9StXnVUfZ6k2Nvmsvq1aCPVN8eP1bDk90eAEklFcvf8AdBkQRN/xXlVKDNreaIspw13kmSjaNWio93LnzUdZ8Dx5JlKoQ7S645HmFBmNaD17qXwaYTkqInd7zlOr0Qyk553Ihqbgzq9SpM5cPu2DkJKpmuMVQrvZQy14ZUpPOwe0ujeAV0Z2lwlhlv7p5wub0hIR3Is6FKKdSdPI7wlcpQalVobgyJXFmgeEOxR3Rc1GVG6mEERyMqkMOHFepgcJR5PRRJekBzSJ5KVmGi5RoYEBDsdiAybq1Z4Rjd6EyhRW0qljseGDSy7uZ/CocXmJMhtp5qhp5qDyPK56j0Jc60ifDl2knqblOVujS0saPC6heyDKgr2Y0VSFG4K0Wc1Xqi/ohlvQpojDE4MvayUJ0hIlBowmbUHPeN/1UGJe7xhe7pNLhbl0SzSs0k80lI5sGyS042nEs/Z3x4fNZ/h4hwLT+L5rT5pRL6NUG/cPoYWJyk6ajmmxiQneNP6UOl+SNM6kAQALKwwWKEnEu1bq9hcWCO9Y/NMbGIqvZ3j8UHzJ81CBsAAPqjVWq2TB5oFir1H/AJkePYvIXstZsq2YP1VHnoAAiWVs7s+CEVTJqHq4osvQL6Q3D7JzgmUDZSIY7QDFRqOYZa4jyKJYTPKjPaGoe4oYQlC6WKMtMOOSUemaOpxPTLY0unpaFn8VinVXSbDkEzR4J7Gpaxwxmyyzn2R6YXtJutzWjmfhzTa7rwruU0t3keDPqs5cnQCReqKJrZUlXokwJ0tIaR1MP0VDEsIIkRZFmnwVPMN2W5kJSewZLQOIXimfSUbmEJrjaEHgcnByjISSZQRo5x2skkHJIfjRlnQ8wYBSqEfgd8lz4sPaNcOpBSSQ+KriyjJ2gk3cp7SkkmMYiGqFSqjvO816km4umKyBjCDTQnwKB7tJ6klJJdPoyXoiolWEkkON6BPE4JJI2cegL2o6GpJKTK9hror4Wiahgc+fRFsQAxrabbQd+ZSSQ439wkvrZC5xB69VIMQeQXqSonJmI8dWd/YUOJM6Z/F9EklkFsyQqm48k4MvK8SV0ETs8rYUESLH4Kk+mRukkhyRRyGJJJKZnH//2Q==",bio:"Expert in game development with 15+ years of experience in AAA game production and graphics programming."},{name:"Dr. Maya Virtual",role:"Research Lead",specialization:"AR/VR & Mixed Reality",image:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxAQEBAQEBAWEBAVEBIbDRUVDRsQFQ4SIB0iIiAdHx8kKDQsJCYxJx8fLTItMSsuMDBDIys9TT8uQDRBMC0BCgoKDg0OFQ8QFy0ZFxkrKys3Kys3Ky0rNzEtLSs3KystNzctLTgrNystKystMCs3MTc3NystKystLTcrKysrK//AABEIAMgAyAMBIgACEQEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAAFAAIDBAYHAQj/xAA/EAABAwIEAwUFBQYFBQAAAAABAAIRAyEEBRIxBkFREyJhcYEykaGxwRQjUnLRB0JiguHwM0NzkvEkRFOisv/EABkBAAMBAQEAAAAAAAAAAAAAAAIDBAEABf/EACcRAAICAgICAgIBBQAAAAAAAAABAhEDIRIxBEETIjJRFAUVYYGR/9oADAMBAAIRAxEAPwDQYWu5+HbULdfdBJYZvzRvBMjC9rEDmdi0LnPBGePGHNGZhzQJgaBt9Pit9hMwacBVa+D7GgFw78kW8VL5GRqN/o6EdlnPmkMpj+EF3uQhsI/mFRpw7HVSGVHH2Z2XLcfm1WnijT1loFXmLaCFvjZeUEDljs1tXmub8YGK0+H1WjzPiV1F5a+lqbDS1wdZwJ3/AL6LLcWVtTw6LFkx0lUN2KQEZiOSJYZ0ws/qvIRnL3yB5rofkhqCJC9KS9CvsyiMDdMIUsbqOo4C5IjzSpSNEvWqvUx1Nt5mdrRKpvxMu1QRa0FJlNHcbC0L0BCm16jvZdboRCi7Wqx9yZDhPekIeaO4nXP2TQDiiTH+Dv8AzInmTf8AraX+lmC40M5r0i4U6haCRMGNtldyfjGtRe19UmsAyq1kuu3WIN13MBwOrZPT++b/ADfIpcRM+7q/6b/ks/wtxfQq1GAnQ68A8zCPZ9iA6nUv/lun3IX0clTMhxEYqN/L9VYy+sRTbfqqfErvvgByb9Sn4N33Q8j81gQb4X4krU3hodIvIK2DqOGxgtFGtHk1x+i5jw+fvW+R+S2+VMl480StPRrX1so5lw8+jUaXNjvjxkSktxxDSGin4Qkjk79BY1SOO8HcOUK1JtV1Z+sOBDWPazbkZldNyfIqIofvvGl3dcWP26W3XM+DcyLbFh5LpeUZk804bTcTL4GofiJC8bzcreq0UwxatMsZtRc6g0FlQgNbpimIB8tMhYjOeF6LnCu7tnPe9geGwOyBbv7Oy0/EVTMwKbqFP7sP+/a6oy7PehFfNsUyowimI7EC9VsBwBERE/Fb4mRLS6BnjtGfOSh9ao13bCmCxrSGnSWkg2JB9fVBeIcnP3Qp0argBB+7JMG97K1VzjMtQljLOB9pvVC83xmMqsqNqsb7TSII5T+q9RNNEnFoylfCvYS0scPNpBRDLREeahdTqCZaJn8SlpOcD7P/ALIo9hILSndoxrCXHvahpHVsGT6W96pPxOkS5pAVOvUD3TyiBITsuSujYqy3i8Y2CBvyB2KGCCQTPMx1VvFHugyBGwi6qCubEw
2QPDdTXKYdJD6tEubJsLhvgvadUARP9x/RNxVcucQTaIF1Xe6DdHDC5GOSRZpVdLiNwVI6tFokHa+ypVDzlSsqCIJlMfju6B5jqWkkg7KMtBJ5N+JTZANjY7+Ce50wBc/JL4NOmdYwEAyLQVoMtz+qwGm4lzSIBQPseRMFSUmkW6EELHE41+bYxlaprYZBn5qzh3RSH5Ss9hge00RGr2b2lanD5LiXMpNbTJNQPDLjcCT8FlpdgS0ytkFQCpP8ACVvcifLhHULI4Xh+vSio9gDDZsvB12mYWp4a9toA5hGqe0Dy9Gw4iMMYvFX41qEUhBixSRxVo55HF0cVy/Fmn7FCqfNrQjeA4rxtP2MOYm0uYsac2xB/f0+TAmHMK5/zXfJTSxwl2gozmvZ0V/G+YvYWOoCCPxtv8EMfmWLdvhmkeOI/RYwY+t/5X/7yl9qqH993+8rIY4R6RzlJ+zasq1z/ANpRnxruU7KVV3tYTDH81V5WEFV34j70oPWU26BpnQ6GCnfCZf8Aza3X96hz3HMwVNrzg8uqFzoY1lDUfMy5YVhI5kKrjHtLoJBAE+MrnPWjYxthDiTicYtgYzD08NpIc7sqWjWeXM7fXwQDD4siNRn5prmE7bE9eScxoZyafiujFzG9CqHUet1HXNhHVevqiZFvJNc8Hr7lUoKEbQN2e3IkJFgIvbxCgbqBt7l7UDjujUko9A0el0bOn0UZefRLQU8M36Jf2bNGSrTKsX5qBjOaa53zRwfBWwX3RcD5j3lTMeJQ/X0U1F8QjjOD20c7DuDf22IYBaHCF2/hzDmno1DvarAO7pdpmfdK4dwxjhh8SytYgOh8ibFd8ynDMrUxUZV0AtmkRHO+oCZuPGblebmxu9HS2ytxXjgxgpuImAHH2dJj+7IRwm6ao/MPmjPEPCT8WWuFcS0uIGmAZ6whlPI8Rgml7nNiYBa6b+qZjjxiBxfI0HGsGmGkweSSyOZZk+qTqdJHUrxapUG43s5IPNehi9Tg2UsKhvZFOFL19U5rSnhh5rjTwUVNSp9TbyTA0qVrHea4wkDAs/UdAqAi+t0GbhaJk9EEzMjtXAACAJPUrAog5xJ5r1rYXpIumNEuA8V6EIRUU0DbuiVrJKt0sHPLz8FoslyEOaHOEoy7JmgWYAgeWNlUMD9mNo5adwJ6K/h8oJiYCPnLyOsL2nRjfdZ80SmHjxA5yFrvNMfkAA6rR02X3T6lKVzyIP4I/ow+LyjTsLIVVwhC6BiqQEgoBjKIJMIeViMnjrtGY7MBPYFbx+EjbZUqRMwii09EMouL2SAkTFp3C6dwZnVRuFpjUTBcBJNrrmWuTa/JdN4OywuwjXAH2ng+JBS8ipi5dGpwvED7T/8ASWd5u+s6jSBtBLgTuTYfVUGYEgoNnwc4V9MgspumD7IASzo7Kua5u2hVLT33B0GHAgjqCOSSxWF3JJ26pLGOSJmp4UYTtaCzCUBPaoRUKe164wnaVIHKuCFNTIWnFhr1nc4bpqnmCJIR3UqOa4IVBIEuHiuXZxny29lfybD66rRymSqDmuYYIIK0vCFCS5/QBUyklF0Nwx5TVnQcsotYwNG0K/Toh31WVq4yq2dFkNqZxiKfUBT48GSbtHoykom/NJg3AQ7F4NpNgse3i14IDhKI4TiYOifXwVUf6fkkzoZoP2FG4Mt2C9dQJspMHmDX7GydWx7BzCCXh5Yumh/JMD4+i5oKz1aZ9UczDGh2xQqvEC/mgeKUexcmmV6uHLmExssxzPgV0LhuiKvaMndpWAxQLatRpEEPcPinY4qrZ5ed7o0fAHDbswxjaZH3TO9XOqO709T0X0Fg8mpUmCmwBrAO61rYAXE/2QVKrcY5wcWN7M6u7IeOQ98FdrGYPO/wS5O2StjsTgKTGPqGzWtcXGJsBK4rSyGtWbiMQHup0yJlzv8AHkE2veBzv6Lp/G/EH2bA1XHvl40BpFjq3mI5LjuPz/EVWA1a0S3u0mN0BjOQty8/isjHezV/gBPlvdnw80lVr1JsLJI3wQVsLwvQxPa5OB8FENoj0pABPjokQtsw8DV7fqntCkFBx2W2cRBx57KeleBO5TxgXcyB6qxQwjWkFzxYzZEns5GcxWHcdRA7oJkx4wtXwbgT2LnRcmUJx7S2hoES57p6kAkLW8HvDabG/wAKd5T9pdluGFSBeZuqsMNaf9sofUxFbs6j+ye4MbLyYYB6QSumVMMC2YE+SymZ4WtTJgS09OiZ42XlJIZkg2nRggalZ4Y1ku0kuF/0HKD6hOw7De0EGCJ5rQYTBvYXaKQZPtHb5KzTysgghkE77mfevUy53gj9tsnhgl2R5bhahYXAWQnMcwcHaZ9F0OhgezwxHPmuc5hQHbOPjbwUP93lPUlopnjajoovr1HGx+KZrrXBI96MnB0+yAIDqgcCQXlof1vYjr6IXTwcNO5quf3GNJ0tHQk/r6qrNxaTj7VkL5p7CnCXatxDS0nfv+IkSheLoGtj6lOmJc7FVA0ebijvBjy3Eta8RMiCZuj3A+XUxicbUIBqsxFQTE6WyfndRzpR0JyX7N/haTKbQGhrOoDYE+iuU733VNrjz25K1h7nr8EgQzKftYe0YKmC4DVWaN502Jn5+8rjwggkN7os213+J6rqH7Z9RpYWGnSHP7Qx7LosPW/uXLHVHOcXG88thHRb26DgtEBp7n+/JJTPJtYeAGy8QPG2xgVbSJTuwf5K2HgePlYKbD9S2b7FsqZjaKlLD9Xz5CVZ+ytG4j8xhWKpG9m9AqzqZd5eSyzqHOfTHP3CR8Uw40DYE+bv0S+yTvK9GCHMk+a0yitUxjztA8kxtCo8iZieZV3QG8lJSN5nbZbZqQ/N8CXUXPFi3VaYkTMq9w1W7rD4BNxuZh7C0MJJBQ/hyvDdJ3aU343wLYSXLR07BVpEFLFMaUIwmPAAvyT6+N5yux+NOb0UombSpg3AKmYxhcDYBC2Oc/a4V4ZrhmCCe8OpXZ8E1UVthWghiaI7Jy5hnGHio4+K6LXzekWAAgA+O6xebOpl7gCEr+LlircTG1RRp0dbRaeh5qH7CJmTKK5OAO6Vax9NoFlU1mjBJ9HcIy2Cskw//U0gPxBarhLCaamLrE/4mJqafION/iUEyIDW6of3QT5LQ8I1Jw1N/wCIvLjI9ouNlytQ37PK8xrlSNLTM/3KmY8SOvQj6KBjhubHldXaewIvO/MfCFyIWZX9qoLste5t/vKeuO9pAP8AwuKglvPp6r6Zr4Jtek+m9odTe2DDuXxXDOPOGK2Ersa5oJcO4Wj/ABgNnRyOwI8EyLS7Ci30ZoVgkq7WmY5yvU+MrQyjWMpxyVijUixkjpMJzR5epVhuFa4SDf4LyGx5EynqIAbJJtbUjmXZEI1VbHk0GI81Nw5hwwvduYABKmzjFimInl71NlnK6RZgwprkwdjcLSGwkDxVJ1Jgm3uKEZhm4aHSS
2ZkNjmpchzVtUBjyA6IaTYHwKoxYuWtsY/jug3gcv7UEtCH5tgnU5PMLR5LVaxjjEAGDPVZXiLNdVSQdvclcZLK4/ozLGKjYBdipdqDi1w8TB8wpMux7RWJAgOvE7Hn9UAJc9x03v7kS+wup0zV1SWubqtEA2V+BpS4v2QRbu0bLD4w8irtGtPtGAsrlOLvcq5nuKLact5r04PiqiWfL9bNtg8yosEahIWb4ixtFzy4NGrmQYlZHCVa5MgEg8+SvdhW3fTMdYkH3KWGGXyXy2C8vNaQ5mPNw0kRsJlD+2c993QfNXHNZpLdDtU/i/ohFWGmbgBV+RLM0o9UK3Hs1WExAZEGYCnxOYSN1j6GLcHDodkQq1YF1uOTePhP0OXkJrQcw+JLqT6VP26ndF43stnwxlzsLhxSJ1GSXET7R6LJcBYQ1Kvakdxm1xd58/BdCZVLXQLeJpyT7lBmaukedkk5NstUGBwAgg8oOmfcZVzDPaLOt5mJ8pCqNebRAJ/mJ8uie54N3EyOQZ3j67JaEsK4Yunl/D3pLvG0rn3GWGdWx9EOu1r6Y9onmOa3NCqI/E4fuiL+BiECzGkw1mVC5od2jZbDg1sHmbrWcjlPHOWfZsxqAey54e3bnc7eMpIjxjRdiHPrOcTUbUIufabNo96S7JzhLi9Fkcckixh/yhWgD0+CaylA/uVNQpFxDepAF1EbQRpl9Kh2jWzLjPgNpVOuRWb34mFbzvMOwY2kAHtLQJ5W6rMVcXpu10DoV7ni+B8mH7R/2WfIoUgfX4fL6rofLAe4OaH18KW1WUAIqOc1rOUkmAVNmGaPbcOEzsDcoYc0qmtTrGNbHMLLWsZS+UvD5QhLb/wCk2SWKTTo6NjaHYYYUwHQ0Q55Htu5lc1zDEFziJkTdbDOeMu3okaC1xbccpWKp0S47eJXmqEoybk+TfsZ5OWMklEt5ZQtJ9FosDRbVp1qZEiGg+e6C0X6WybABHOGGHs3OO7yD6RZMjCtgYVbozOHc6m4tNiDsbI03Eh4AN03iDLC49o32vmhGCrQ4TYgqyE2tAu4umbjCvaymCANriFBWzhrdreCfldRjmAEiYUeKydrzIcPBVYIYnK5FLk0vqRVs/DgRDQT/AAoL2bXGTcz6Kzisp0kyQB5qGtUZTEAyV2aOJPQDnJ/kVMVSaKgPTdV6tU1HhjRJLgG+Kr1sQXGyi1OaQ4GHAy0jkVPPKkqRFKV6R2fh3BjC0GUwb7uIHtOO5RJ1RsyfcBBKzvDeeU8XSaCQKob940GHF3MgdEdaSLTEjcidK89tt7AYQbUkAsJEbtLdYPqLqbDgH2mgE/uh+knx81Sy6iGAu7N1Un94u0uPkP8AhW2BgOpge0bvL26ifd9SiQthChW0jQ4AfgY1gfHibIZm5ADXWaA5uhodpO/Tf5BXqFZjwexe1xjv6XQ6PH+qp5xVmlAY+zgLw8O96OzF2YzPKA0OAH+a3nMX/wCElVzqsWdsOfdJ9CPokslk5O2epDKnFWe6iUGzrNHU4Yww43cRuByRkPbBLpEC5WIxlR1R73kxJMDn4BS44tvRO9Fh+bvJl/e9VQxuZVH+z3R7ypewAsbnxT8DhNZc4t7rTbovV/m5o4+PLQLTbBbKDnd5xJU7MK5xtbxRj7KEi2NgvPbcnbN4UVRhobG/ivKcCZF17XqFVatY3CbjxsyTo9pntqtOhMBzwHEXgTdbtlNrS4M9gE6LR3eSw/CrGuxlLWYbqJJiYsVuCIsjUbmUeN02VsWyRKzGZZedRezfmFq3mQhWKb0VUYWw8sU0Z+nj3stsQrNPO3CLp2IY07tBPkqX2QHYQrcfjzjuJG5SXRPis1L+aHvqkwBcq9Ty9vMfFW2YYCwCHJ47vkzvtLsFfZ9IvumuHJE8RSEgSOcjoqrwAZG687Ik5aMlGivQe5hBa4scDLCDBaVsuHONiIZiZI/GBJHiR+ixzwo4vKnyQpizu+Bq6wH0nsrA3aWu7oH0+aKguaNRBkbAQ4fFcDyjPMRhTNKpDSe80gOafQ2XQuG/2hUnAU8SOyPKo2XMd+ZtyPSfRCjGdAbiyQBULXE7AsER0BtPnHoh2eYgaATqYA62kgj1J+iwrP2lPbVcKVBpEka3uOot8enkreK4wp12feBtMi7R/RbZiQPzpwcH3JljokX2KSiZmGGc4GpXbHQNP6JJdscpUe5o0tpPM20nzWQd7Y8x9StXnVUfZ6k2Nvmsvq1aCPVN8eP1bDk90eAEklFcvf8AdBkQRN/xXlVKDNreaIspw13kmSjaNWio93LnzUdZ8Dx5JlKoQ7S645HmFBmNaD17qXwaYTkqInd7zlOr0Qyk553Ihqbgzq9SpM5cPu2DkJKpmuMVQrvZQy14ZUpPOwe0ujeAV0Z2lwlhlv7p5wub0hIR3Is6FKKdSdPI7wlcpQalVobgyJXFmgeEOxR3Rc1GVG6mEERyMqkMOHFepgcJR5PRRJekBzSJ5KVmGi5RoYEBDsdiAybq1Z4Rjd6EyhRW0qljseGDSy7uZ/CocXmJMhtp5qhp5qDyPK56j0Jc60ifDl2knqblOVujS0saPC6heyDKgr2Y0VSFG4K0Wc1Xqi/ohlvQpojDE4MvayUJ0hIlBowmbUHPeN/1UGJe7xhe7pNLhbl0SzSs0k80lI5sGyS042nEs/Z3x4fNZ/h4hwLT+L5rT5pRL6NUG/cPoYWJyk6ajmmxiQneNP6UOl+SNM6kAQALKwwWKEnEu1bq9hcWCO9Y/NMbGIqvZ3j8UHzJ81CBsAAPqjVWq2TB5oFir1H/AJkePYvIXstZsq2YP1VHnoAAiWVs7s+CEVTJqHq4osvQL6Q3D7JzgmUDZSIY7QDFRqOYZa4jyKJYTPKjPaGoe4oYQlC6WKMtMOOSUemaOpxPTLY0unpaFn8VinVXSbDkEzR4J7Gpaxwxmyyzn2R6YXtJutzWjmfhzTa7rwruU0t3keDPqs5cnQCReqKJrZUlXokwJ0tIaR1MP0VDEsIIkRZFmnwVPMN2W5kJSewZLQOIXimfSUbmEJrjaEHgcnByjISSZQRo5x2skkHJIfjRlnQ8wYBSqEfgd8lz4sPaNcOpBSSQ+KriyjJ2gk3cp7SkkmMYiGqFSqjvO816km4umKyBjCDTQnwKB7tJ6klJJdPoyXoiolWEkkON6BPE4JJI2cegL2o6GpJKTK9hror4Wiahgc+fRFsQAxrabbQd+ZSSQ439wkvrZC5xB69VIMQeQXqSonJmI8dWd/YUOJM6Z/F9EklkFsyQqm48k4MvK8SV0ETs8rYUESLH4Kk+mRukkhyRRyGJJJKZnH//2Q==",bio:"Pioneer in immersive technologies with breakthrough research in spatial computing and mixed reality interfaces."}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 flex flex-col items-center md:items-start text-center md:text-left card-hover",children:[(0,gr.jsx)("div",{className:"w-24 h-24 mb-4 rounded-full overflow-hidden bg-gray-700",children:(0,gr.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover",onError:e=>{e.target.src="/api/placeholder/150/150"}})}),(0,gr.jsx)("h4",{className:"text-xl font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-green-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-3 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-300 text-sm leading-relaxed font-body",children:e.bio})]},e.name))})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Affiliates"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"Prof. John Unity",role:"Faculty Advisor",specialization:"Interactive Media",affiliation:"Department of Digital Arts"},{name:"Dr. Sarah Engine",role:"Industry Partner",specialization:"Game Engines",affiliation:"Epic Games Research"},{name:"Dr. Mike Reality",role:"Collaborating Researcher",specialization:"Spatial Computing",affiliation:"Meta Reality Labs"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-green-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.affiliation})]},e.name))})]}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Members"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{name:"Jake Developer",role:"PhD Student",specialization:"Procedural Generation",year:"3rd Year"},{name:"Luna Designer",role:"MS Student",specialization:"Game Design",year:"2nd Year"},{name:"Pixel Artist",role:"Undergraduate Researcher",specialization:"3D Graphics",year:"Senior"},{name:"Code Master",role:"PhD Student",specialization:"Game AI",year:"4th Year"},{name:"VR Explorer",role:"MS Student",specialization:"Virtual Reality",year:"1st Year"},{name:"AR Creator",role:"Undergraduate Researcher",specialization:"Augmented Reality",year:"Junior"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.05*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-green-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.year})]},e.name))})]})]})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"glass-effect rounded-2xl p-8 md:p-12 text-center",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Create the Future of Entertainment"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Ready to build immersive experiences that captivate audiences? Join our team of creative innovators pushing the boundaries of interactive entertainment and spatial computing."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsxs)("button",{onClick:()=>window.open("https://docs.google.com/forms/d/e/1FAIpQLScydNENhXxXQhfKd8nWbawxD2y0jtPTcYjqFqRqhOyz-Da3tw/viewform?usp=header","_blank"),className:"bg-gradient-to-r from-green-500 to-emerald-500 text-white px-6 py-3 rounded-lg font-semibold hover:from-green-600 hover:to-emerald-600 transition-all duration-300 transform hover:scale-105 inline-flex items-center justify-center space-x-2",children:[(0,gr.jsx)("span",{children:"Apply Now"}),(0,gr.jsx)(ad,{className:"w-5 h-5"})]}),(0,gr.jsx)("button",{className:"border-2 border-gray-300 text-gray-300 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 hover:text-black transition-all duration-300",children:"View Our Games"})]})]})})})]})},gC=Ue("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]),vC=()=>{const e=[{title:"Deep Learning Architectures",description:"Developing novel neural network architectures for improved performance and efficie
2ncy.",icon:gC,color:"from-blue-500 to-cyan-500"},{title:"Generative AI Systems",description:"Creating advanced generative models for text, image, and multimodal content generation.",icon:aC,color:"from-purple-500 to-pink-500"},{title:"Machine Learning Infrastructure",description:"Building scalable ML pipelines and MLOps systems for production deployment.",icon:sC,color:"from-green-500 to-emerald-500"},{title:"AI Ethics & Fairness",description:"Ensuring responsible AI development through bias detection and fairness metrics.",icon:oC,color:"from-orange-500 to-red-500"}];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[(0,gr.jsx)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",zIndex:1},src:"https://res.cloudinary.com/djtemmctt/video/upload/v1758569986/WhatsApp_Video_2025-09-23_at_12.34.51_AM_apnvdi.mp4"}),(0,gr.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:2}}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left",children:[(0,gr.jsx)("div",{className:"mb-6",children:(0,gr.jsx)("div",{className:"w-20 h-20 bg-gradient-to-r from-blue-500 to-cyan-500 rounded-2xl flex items-center justify-center",children:(0,gr.jsx)(gC,{className:"w-10 h-10 text-white"})})}),(0,gr.jsxs)("h1",{className:"text-4xl md:text-6xl lg:text-8xl font-black text-white mb-6 font-heading",children:[(0,gr.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-blue-400 to-cyan-400",children:"VarahaMihira"})," Lab"]}),(0,gr.jsx)("p",{className:"text-xl md:text-2xl text-gray-300 mb-4 font-body",children:"LucideNetwork Computing & Distributed Systems"}),(0,gr.jsx)("p",{className:"text-lg text-gray-400 max-w-4xl leading-relaxed font-body",children:"Pioneering the future of artificial intelligence through cutting-edge research in deep learning, neural networks, and generative AI systems. We develop intelligent solutions that push the boundaries of what machines can learn and create."})]})})]}),(0,gr.jsx)("section",{className:"py-20 bg-gradient-to-b from-transparent to-gray-900/50",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-center rounded-2xl p-8 md:p-12",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Our Mission"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto font-body",children:"To advance the field of artificial intelligence through innovative research in machine learning, deep learning, and generative AI. We aim to create intelligent systems that are not only powerful but also ethical, explainable, and beneficial to society. Our research spans from fundamental theoretical advances to practical applications that solve real-world problems."})]})})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Research ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent",children:"Areas"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Our research spans multiple domains within artificial intelligence and machine learning."})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:e.map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 card-hover flex flex-col items-center text-center",children:[(0,gr.jsx)("div",{className:"w-12 h-12 bg-gradient-to-r ".concat(e.color," rounded-lg flex items-center justify-center flex-shrink-0 mb-4"),children:(0,gr.jsx)(e.icon,{className:"w-6 h-6 text-white"})}),(0,gr.jsx)("h3",{className:"text-xl font-bold text-white mb-2 font-body",children:e.title}),(0,gr.jsx)("p",{className:"text-gray-300 leading-relaxed font-body text-sm",children:e.description})]},e.title))})]})}),(0,gr.jsx)("section",{className:"py-16 bg-gradient-to-b from-gray-900/50 to-transparent",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-blue-400 to-cyan-400 bg-clip-text text-transparent",children:"Team"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Meet the brilliant minds driving innovation in artificial intelligence."})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Executives"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[{name:"Dr. Sarah Chen",role:"Lab Director",specialization:"Deep Learning & Neural Networks",image:"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=300&h=300&fit=crop&crop=face",bio:"Leading researcher in deep learning with 10+ years of experience in neural network architectures."},{name:"Alex Rodriguez",role:"Research Lead",specialization:"Generative AI & LLMs",image:"https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=300&h=300&fit=crop&crop=face",bio:"E
2xpert in large language models and generative AI systems with multiple publications in top-tier conferences."}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 flex flex-col items-center md:items-start text-center md:text-left card-hover",children:[(0,gr.jsx)("div",{className:"w-24 h-24 mb-4 rounded-full overflow-hidden bg-gray-700",children:(0,gr.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover"})}),(0,gr.jsx)("h4",{className:"text-xl font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-cyan-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-3 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-300 text-sm leading-relaxed font-body",children:e.bio})]},e.name))})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Affiliates"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"Prof. Michael Zhang",role:"Faculty Advisor",specialization:"Computer Vision",affiliation:"Department of Computer Science"},{name:"Dr. Emily Watson",role:"Industry Partner",specialization:"MLOps & Production Systems",affiliation:"TechCorp AI Research"},{name:"Dr. James Park",role:"Collaborating Researcher",specialization:"Natural Language Processing",affiliation:"NLP Research Institute"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-cyan-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.affiliation})]},e.name))})]}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Members"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{name:"Maria Garcia",role:"PhD Student",specialization:"Computer Vision",year:"3rd Year"},{name:"David Kim",role:"MS Student",specialization:"Reinforcement Learning",year:"2nd Year"},{name:"Lisa Wang",role:"Undergraduate Researcher",specialization:"Generative Models",year:"Senior"},{name:"Tom Wilson",role:"PhD Student",specialization:"Federated Learning",year:"4th Year"},{name:"Anna Patel",role:"MS Student",specialization:"Explainable AI",year:"1st Year"},{name:"Chris Brown",role:"Undergraduate Researcher",specialization:"Deep Reinforcement Learning",year:"Junior"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.05*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-cyan-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.year})]},e.name))})]})]})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"glass-effect rounded-2xl p-8 md:p-12 text-center",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Join Our Research"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Interested in contributing to cutting-edge AI research? We welcome passionate researchers and students to join our mission of advancing artificial intelligence."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsxs)("button",{onClick:()=>window.open("https://docs.google.com/forms/d/e/1FAIpQLScydNENhXxXQhfKd8nWbawxD2y0jtPTcYjqFqRqhOyz-Da3tw/viewform?usp=header","_blank"),className:"bg-gradient-to-r from-blue-500 to-cyan-500 text-white px-6 py-3 rounded-lg font-semibold hover:from-blue-600 hover:to-cyan-600 transition-all duration-300 transform hover:scale-105 inline-flex items-center justify-center space-x-2",children:[(0,gr.jsx)("span",{children:"Apply Now"}),(0,gr.jsx)(ad,{className:"w-5 h-5"})]}),(0,gr.jsx)("button",{className:"border-2 border-gray-300 text-gray-300 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 hover:text-black transition-all duration-300",children:"View Publications"})]})]})})})]})},yC=Ue("Shield",[["path",{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",key:"3xmgem"}
2]]),xC=Ue("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),bC=()=>{const e=[{title:"Cybersecurity",description:"Developing advanced security frameworks, threat detection systems, and incident response protocols.",icon:yC,color:"from-red-500 to-orange-500"},{title:"Blockchain Technology",description:"Building next-generation blockchain platforms with improved scalability, security, and efficiency.",icon:xC,color:"from-blue-500 to-cyan-500"},{title:"Web3 Applications",description:"Creating decentralized applications and protocols that enable the next generation of the internet.",icon:sC,color:"from-green-500 to-emerald-500"},{title:"Cryptographic Systems",description:"Designing and implementing advanced cryptographic protocols for secure communication and data protection.",icon:aC,color:"from-purple-500 to-pink-500"}];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[(0,gr.jsx)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",zIndex:1},src:"https://res.cloudinary.com/djtemmctt/video/upload/v1758569986/WhatsApp_Video_2025-09-23_at_12.34.51_AM_apnvdi.mp4"}),(0,gr.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:2}}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left",children:[(0,gr.jsx)("div",{className:"mb-6",children:(0,gr.jsx)("div",{className:"w-20 h-20 bg-gradient-to-r from-red-500 to-orange-500 rounded-2xl flex items-center justify-center",children:(0,gr.jsx)(yC,{className:"w-10 h-10 text-white"})})}),(0,gr.jsxs)("h1",{className:"text-4xl md:text-6xl lg:text-8xl font-black text-white mb-6 font-heading",children:[(0,gr.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-red-400 to-orange-400",children:"Bhaskaracharya"})," Lab"]}),(0,gr.jsx)("p",{className:"text-xl md:text-2xl text-gray-300 mb-4 font-body",children:"Cybersecurity, Blockchain & Web3"}),(0,gr.jsx)("p",{className:"text-lg text-gray-400 max-w-4xl leading-relaxed font-body",children:"Securing the digital future through advanced cybersecurity research and blockchain innovation. We develop cutting-edge security solutions, decentralized systems, and Web3 technologies that protect and empower users in an increasingly connected world."})]})})]}),(0,gr.jsx)("section",{className:"py-20 bg-gradient-to-b from-transparent to-gray-900/50",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-center rounded-2xl p-8 md:p-12",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Our Mission"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto font-body",children:"To advance the field of cybersecurity and blockchain technology through innovative research in threat detection, cryptographic systems, and decentralized applications. We develop secure, privacy-preserving solutions that protect digital assets and enable trustless interactions in the Web3 ecosystem, ensuring a safer and more decentralized future for all."})]})})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Research ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-red-400 to-orange-400 bg-clip-text text-transparent",children:"Areas"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Our research spans the critical domains of cybersecurity and blockchain technology"})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:e.map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 card-hover flex flex-col items-center text-center",children:[(0,gr.jsx)("div",{className:"w-12 h-12 bg-gradient-to-r ".concat(e.color," rounded-lg flex items-center justify-center flex-shrink-0 mb-4"),children:(0,gr.jsx)(e.icon,{className:"w-6 h-6 text-white"})}),(0,gr.jsx)("h3",{className:"text-xl font-bold text-white mb-2 font-body",children:e.title}),(0,gr.jsx)("p",{className:"text-gray-300 leading-relaxed font-body text-sm",children:e.description})]},e.title))})]})}),(0,gr.jsx)("section",{className:"py-16 bg-gradient-to-b from-gray-900/50 to-transparent",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-red-400 to-orange-400 bg-clip-text text-transparent",children:"Team"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Meet the security experts and blockchain pioneers protecting the digital future"})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Executives"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[{name:"Dr. Security Master",role:"Lab Director",specialization:"Cybersecurity & Cryptography",image:"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=300&h=300&fit=crop&crop=face",bio:"Leading cybersecurity expert with 15+ years of experience in threat analysis and cryptographic systems."},{name:"Dr. Blockchain Pioneer",role:"Research Lead",specialization:"Blockchain & Web3 Technologies",image:"https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=300&h=300&fit=crop&crop=face",bio:"Pioneer in blockchain technology with breakthrough research in decentralized systems and smart contracts."}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 flex flex-col items-center md:items-start text-center md:text-left card-hover",children:[(0,gr.jsx)("div",{className:"w-24 h-24 mb-4 rounded-full overflow-hidden bg-gray-700",children:(0,gr.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover",onError:e=>{e.target.src="/api/placeholder/150/150"}})}),(0,gr.jsx)("h4",{className:"text-xl font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-red-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-3 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-300 text-sm leading-relaxed font-body",children:e.bio})]},e.name))})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Affiliates"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"Prof. John Crypto",role:"Faculty Advisor",specialization:"Cryptography",affiliation:"Department of Computer Science"},{name:"Dr. Sarah Security",role:"Industry Partner",specialization:"Cybersecurity",affiliation:"CyberDefense Corp"},{name:"Dr. Mike Blockchain",role:"Collaborating Researcher",specialization:"Distributed Ledger",affiliation:"Blockchain Research Institute"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-red-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.affiliation})]},e.name))})]}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Members"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{name:"Alex Hacker",role:"PhD Student",specialization:"Penetration Testing",year:"3rd Year"},{name:"Emma Crypto",role:"MS Student",specialization:"Cryptographic Protocols",year:"2nd Year"},{name:"David Smart",role:"Undergraduate Researcher",specialization:"Smart Contracts",year:"Senior"},{name:"Sophie DeFi",role:"PhD Student",specialization:"Decentralized Finance",year:"4th Year"},{name:"Ryan Network",role:"MS Student",specialization:"Network Security",year:"1st Year"},{name:"Maya Privacy",role:"Undergraduate Researcher",specialization:"Privacy-Preserving Tech",year:"Junior"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.05*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-red-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.year})]},e.name))})]})]})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"glass-effect rounded-2xl p-8 md:p-12 text-center",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Secure the Digital Future"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Ready to defend against cyber threats and build the decentralized web? Join our team of security experts and blockchain innovators creating a safer digital world."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsxs)("button",{onClick:()=>window.open("https://docs.google.com/forms/d/e/1FAIpQLScydNENhXxXQhfKd8nWbawxD2y0jtPTcYjqFqRqhOyz-Da3tw/viewform?usp=header","_blank"),className:"bg-gradient-to-r from-red-500 to-orange-500 text-white px-6 py-3 rounded-lg font-semibold hover:from-red-600 hover:to-orange-600 transition-all duration-300 transform hover:scale-105 inline-flex items-center justify-center space-x-2",children:[(0,gr.jsx)("span",{children:"Apply Now"}),(0,gr.jsx)(ad,{className:"w-5 h-5"})]}),(0,gr.jsx)("button",{className:"border-2 border-gray-300 text-gray-300 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 hover:text-black transition-all duration-300",children:"View Our Security Tools"})]})]})})})]})},wC=Ue("Wifi",[["path",{d:"M5 13a10 10 0 0 1 14 0",key:"6v8j51"}],["path",{d:"M8.5 16.5a5 5 0 0 1 7 0",key:"sej527"}
2],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["line",{x1:"12",x2:"12.01",y1:"20",y2:"20",key:"of4bc4"}]]),_C=()=>{const e=[{title:"Robotics",description:"Developing intelligent robotic systems with advanced perception, planning, and control capabilities.",icon:uC,color:"from-orange-500 to-yellow-500"},{title:"Internet of Things",description:"Building connected IoT ecosystems with smart sensors, edge computing, and data analytics.",icon:wC,color:"from-green-500 to-emerald-500"},{title:"Embedded Systems",description:"Designing efficient embedded computing platforms for real-time applications and edge intelligence.",icon:aC,color:"from-blue-500 to-cyan-500"},{title:"Smart Environments",description:"Creating intelligent environments that adapt and respond to human needs through automation.",icon:sC,color:"from-purple-500 to-pink-500"}];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[(0,gr.jsx)("video",{autoPlay:!0,loop:!0,muted:!0,playsInline:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",zIndex:1},src:"https://res.cloudinary.com/djtemmctt/video/upload/v1758569986/WhatsApp_Video_2025-09-23_at_12.34.51_AM_apnvdi.mp4"}),(0,gr.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:2}}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left",children:[(0,gr.jsx)("div",{className:"mb-6",children:(0,gr.jsx)("div",{className:"w-20 h-20 bg-gradient-to-r from-orange-500 to-yellow-500 rounded-2xl flex items-center justify-center",children:(0,gr.jsx)(uC,{className:"w-10 h-10 text-white"})})}),(0,gr.jsxs)("h1",{className:"text-4xl md:text-6xl lg:text-8xl font-black text-white mb-6 font-heading",children:[(0,gr.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-orange-400 to-yellow-400",children:"Agastya"})," Lab"]}),(0,gr.jsx)("p",{className:"text-xl md:text-2xl text-gray-300 mb-4 font-body",children:"Robotics, IoT & Embedded Systems"}),(0,gr.jsx)("p",{className:"text-lg text-gray-400 max-w-4xl leading-relaxed font-body",children:"Building intelligent systems that bridge the physical and digital worlds. We develop advanced robotics, IoT solutions, and embedded systems that create smarter, more connected environments for homes, cities, and industries."})]})})]}),(0,gr.jsx)("section",{className:"py-20 bg-gradient-to-b from-transparent to-gray-900/50",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-center rounded-2xl p-8 md:p-12",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Our Mission"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto font-body",children:"To advance the field of robotics, IoT, and embedded systems through innovative research in autonomous systems, smart sensors, and intelligent automation. We develop practical solutions that enhance human capabilities, improve efficiency, and create sustainable smart environments that benefit society and industry."})]})})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Research ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-orange-400 to-yellow-400 bg-clip-text text-transparent",children:"Areas"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Our research spans the exciting domains of robotics, IoT, and embedded systems"})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:e.map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 card-hover flex flex-col items-center text-center",children:[(0,gr.jsx)("div",{className:"w-12 h-12 bg-gradient-to-r ".concat(e.color," rounded-lg flex items-center justify-center flex-shrink-0 mb-4"),children:(0,gr.jsx)(e.icon,{className:"w-6 h-6 text-white"})}),(0,gr.jsx)("h3",{className:"text-xl font-bold text-white mb-2 font-body",children:e.title}),(0,gr.jsx)("p",{className:"text-gray-300 leading-relaxed font-body text-sm",children:e.description})]},e.title))})]})}),(0,gr.jsx)("section",{className:"py-16 bg-gradient-to-b from-gray-900/50 to-transparent",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-orange-400 to-yellow-400 bg-clip-text text-transparent",children:"Team"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Meet the engineers building the intelligent systems of tomorrow"})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Executives"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[{name:"Dr. Robot Master",role:"Lab Director",specialization:"Robotics & Autonomous Systems",image:"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=300&h=300&fit=crop&crop=face",bio:"Leading robotics expert with 12+ years of experience in autonomous systems and robotic intelligence."},{name:"Dr. IoT Innovator",role:"Research Lead",specialization:"IoT & Embedded Systems",image:"https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=300&h=300&fit=crop&crop=face",bio:"Pioneer in IoT technologies with breakthrough research in smart sensors and embedded computing systems."}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 flex flex-col items-center md:items-start text-center md:text-left card-hover",children:[(0,gr.jsx)("div",{className:"w-24 h-24 mb-4 rounded-full overflow-hidden bg-gray-700",children:(0,gr.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover",onError:e=>{e.target.src="/api/placeholder/150/150"}})}),(0,gr.jsx)("h4",{className:"text-xl font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-orange-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-3 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-300 text-sm leading-relaxed font-body",children:e.bio})]},e.name))})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Affiliates"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"Prof. John Robotics",role:"Faculty Advisor",specialization:"Mechanical Engineering",affiliation:"Department of Engineering"},{name:"Dr. Sarah Sensors",role:"Industry Partner",specialization:"Sensor Technologies",affiliation:"SmartTech Industries"},{name:"Dr. Mike Embedded",role:"Collaborating Researcher",specialization:"Embedded Systems",affiliation:"Embedded Re
2search Labs"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-orange-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.affiliation})]},e.name))})]}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Members"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{name:"Alex Robot",role:"PhD Student",specialization:"Autonomous Navigation",year:"3rd Year"},{name:"Emma Sensor",role:"MS Student",specialization:"Smart Sensors",year:"2nd Year"},{name:"David IoT",role:"Undergraduate Researcher",specialization:"IoT Networks",year:"Senior"},{name:"Sophie Embedded",role:"PhD Student",specialization:"Embedded AI",year:"4th Year"},{name:"Ryan Automation",role:"MS Student",specialization:"Industrial Automation",year:"1st Year"},{name:"Maya Smart",role:"Undergraduate Researcher",specialization:"Smart Cities",year:"Junior"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.05*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-orange-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.year})]},e.name))})]})]})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"glass-effect rounded-2xl p-8 md:p-12 text-center",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Build the Future of Automation"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Ready to create intelligent systems that transform how we live and work? Join our team of robotics and IoT innovators building the smart world of tomorrow."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsxs)("button",{onClick:()=>window.open("https://docs.google.com/forms/d/e/1FAIpQLScydNENhXxXQhfKd8nWbawxD2y0jtPTcYjqFqRqhOyz-Da3tw/viewform?usp=header","_blank"),className:"bg-gradient-to-r from-orange-500 to-yellow-500 text-white px-6 py-3 rounded-lg font-semibold hover:from-orange-600 hover:to-yellow-600 transition-all duration-300 transform hover:scale-105 inline-flex items-center justify-center space-x-2",children:[(0,gr.jsx)("span",{children:"Apply Now"}),(0,gr.jsx)(ad,{className:"w-5 h-5"})]}),(0,gr.jsx)("button",{className:"border-2 border-gray-300 text-gray-300 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 hover:text-black transition-all duration-300",children:"View Our Projects"})]})]})})})]})},SC=Ue("FlaskConical",[["path",{d:"M10 2v7.527a2 2 0 0 1-.211.896L4.72 20.55a1 1 0 0 0 .9 1.45h12.76a1 1 0 0 0 .9-1.45l-5.069-10.127A2 2 0 0 1 14 9.527V2",key:"pzvekw"}],["path",{d:"M8.5 2h7",key:"csnxdl"}],["path",{d:"M7 16h10",key:"wp8him"}]]),MC=Ue("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]),EC=()=>{const e=[{title:"Interdisciplinary Research",description:"Bridging multiple scientific disciplines to create innovative solutions for complex global challenges.",icon:SC,color:"from-yellow-500 to-orange-500"},{title:"Experimental Technology",description:"Developing cutting-edge experimental technologies that push the boundaries of what is possible.",icon:MC,color:"from-blue-500 to-cyan-500"},{title:"Emerging Technologies",description:"Exploring and developing next-generation technologies that will shape the future of humanity.",icon:aC,color:"from-purple-500 to-pink-500"},{title:"Innovation Systems",description:"Creating systematic approaches to innovation and technology transfer for maximum impact.",icon:sC,color:"from-green-500 to-emerald-500"}];return(0,gr.jsxs)("div",{className:"min-h-screen bg-black text-white",children:[(0,gr.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center overflow-hidden",children:[(0,gr.jsx)("video",{autoPlay:!0,loop:!0,muted:!0,playsInl
2ine:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",objectFit:"cover",zIndex:1},src:"https://res.cloudinary.com/djtemmctt/video/upload/v1758569986/WhatsApp_Video_2025-09-23_at_12.34.51_AM_apnvdi.mp4"}),(0,gr.jsx)("div",{style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.7)",zIndex:2}}),(0,gr.jsx)("div",{className:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,x:-50},animate:{opacity:1,x:0},transition:{duration:.8},className:"text-left",children:[(0,gr.jsx)("div",{className:"mb-6",children:(0,gr.jsx)("div",{className:"w-20 h-20 bg-gradient-to-r from-yellow-500 to-orange-500 rounded-2xl flex items-center justify-center",children:(0,gr.jsx)(SC,{className:"w-10 h-10 text-white"})})}),(0,gr.jsxs)("h1",{className:"text-4xl md:text-6xl lg:text-8xl font-black text-white mb-6 font-heading",children:[(0,gr.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-yellow-400 to-orange-400",children:"Navya Vigyan"})," Lab"]}),(0,gr.jsx)("p",{className:"text-xl md:text-2xl text-gray-300 mb-4 font-body",children:"Interdisciplinary & Experimental Technology"}),(0,gr.jsx)("p",{className:"text-lg text-gray-400 max-w-4xl leading-relaxed font-body",children:"Pushing the boundaries of innovation through interdisciplinary research and experimental technology. We explore the convergence of multiple scientific disciplines to create breakthrough solutions that address complex challenges and shape the future of technology."})]})})]}),(0,gr.jsx)("section",{className:"py-20 bg-gradient-to-b from-transparent to-gray-900/50",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-center rounded-2xl p-8 md:p-12",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Our Mission"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 leading-relaxed max-w-4xl mx-auto font-body",children:"To pioneer breakthrough innovations through interdisciplinary research and experimental technology development. We bring together diverse scientific disciplines to tackle complex global challenges, creating novel solutions that transcend traditional boundaries and open new possibilities for human advancement and technological progress."})]})})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Research ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-yellow-400 to-orange-400 bg-clip-text text-transparent",children:"Areas"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Our research spans multiple disciplines, creating innovative solutions at the intersection of technology and science."})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8",children:e.map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 card-hover flex flex-col items-center text-center",children:[(0,gr.jsx)("div",{className:"w-12 h-12 bg-gradient-to-r ".concat(e.color," rounded-lg flex items-center justify-center flex-shrink-0 mb-4"),children:(0,gr.jsx)(e.icon,{className:"w-6 h-6 text-white"})}),(0,gr.jsx)("h3",{className:"text-xl font-bold text-white mb-2 font-body",children:e.title}),(0,gr.jsx)("p",{className:"text-gray-300 leading-relaxed font-body text-sm",children:e.description})]},e.title))})]})}),(0,gr.jsx)("section",{className:"py-16 bg-gradient-to-b from-gray-900/50 to-transparent",children:(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"text-left mb-12",children:[(0,gr.jsxs)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-4 font-heading",children:["Our ",(0,gr.jsx)("span",{className:"bg-gradient-to-r from-yellow-400 to-orange-400 bg-clip-text text-transparent",children:"Team"})]}),(0,gr.jsx)("p",{className:"text-xl text-gray-400 max-w-3xl font-body",children:"Meet the interdisciplinary innovators pushing the boundaries of experimental technology."})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Executives"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:[{name:"Dr. Innovation Leader",role:"Lab Director",specialization:"Interdisciplinary Research",image:"https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?w=300&h=300&fit=crop&crop=face",bio:"Leading interdisciplinary researcher with 15+ years of experience in experimental technology and innovation."},{name:"Dr. Future Tech",role:"Research Lead",specialization:"Experimental Technology",image:"https://images.unsplash.com/photo-1438761681033-6461ffad8d80?w=300&h=300&fit=crop&crop=face",bio:"Pioneer in experimental technologies with breakthrough research in emerging tech and interdisciplinary applications."}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-xl p-6 flex flex-col items-center md:items-start text-center md:text-left card-hover",children:[(0,gr.jsx)("div",{className:"w-24 h-24 mb-4 rounded-full overflow-hidden bg-gray-700",children:(0,gr.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover"})}),(0,gr.jsx)("h4",{className:"text-xl font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-yellow-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-3 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-300 text-sm leading-relaxed font-body",children:e.bio})]},e.name))})]}),(0,gr.jsxs)("div",{className:"mb-16",children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Affiliates"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[{name:"Prof. John Innovation",role:"Faculty Advisor",specialization:"Technology Innovation",affiliation:"Department of Engineering"},{name:"Dr. Sarah Future",role:"Industry Partner",specialization:"Emerging Technologies",affiliation:"FutureTech Industries"},{name:"Dr. Mike Experimental",role:"Collaborating Researcher",specialization:"Experimental Design",affiliation:"Innovation Research Institute"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.1*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-yellow-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.affiliation})]},e.name))})]}),(0,gr.jsxs)("div",{children:[(0,gr.jsx)("h3",{className:"text-2xl font-bold text-white mb-8 font-heading",children:"Members"}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[{name:"Alex Innovator",role:"PhD Student",specialization:"Biotech Integration",year:"3rd Year"},{name:"Emma Experimental",role:"MS Student",specialization:"Nano Technology",year:"2nd Year"},{name:"David Future",role:"Undergraduate Researcher",specialization:"Space Technology",year:"Senior"},{name:"Sophie Interdisciplinary",role:"PhD Student",specialization:"AI-Bio Interface",year:"4th Year"},{name:"Ryan Emerging",role:"MS Student",specialization:"Quantum Materials",year:"1st Year"},{name:"Maya Experimental",role:"Undergraduate Researcher",specialization:"Sustainable Tech",year:"Junior"}].map((e,t)=>(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6,delay:.05*t},className:"glass-effect rounded-lg p-6 card-hover",children:[(0,gr.jsx)("h4",{className:"text-lg font-bold text-white mb-2 font-body",children:e.name}),(0,gr.jsx)("p",{className:"text-yellow-400 font-semibold mb-2 font-body",children:e.role}),(0,gr.jsx)("p",{className:"text-gray-400 text-sm mb-2 font-body",children:e.specialization}),(0,gr.jsx)("p",{className:"text-gray-500 text-xs font-body",children:e.year})]},e.name))})]})]})}),(0,gr.jsx)("section",{className:"py-16",children:(0,gr.jsx)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:(0,gr.jsxs)(Yu.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},transition:{duration:.6},className:"glass-effect rounded-2xl p-8 md:p-12 text-center",children:[(0,gr.jsx)("h2",{className:"text-3xl md:text-4xl font-bold text-white mb-6 font-heading",children:"Pioneer the Future of Innovation"}),(0,gr.jsx)("p",{className:"text-xl text-gray-300 mb-8 max-w-3xl mx-auto font-body",children:"Ready to break boundaries and create breakthrough innovations? Join our interdisciplinary team of experimental technology pioneers shaping the future of science and technology."}),(0,gr.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 justify-center",children:[(0,gr.jsxs)("button",{onClick:()=>window.open("https://docs.google.com/forms/d/e/1FAIpQLScydNENhXxXQhfKd8nWbawxD2y0jtPTcYjqFqRqhOyz-Da3tw/viewform?usp=header","_blank"),className:"bg-gradient-to-r from-yellow-500 to-orange-500 text-white px-6 py-3 rounded-lg font-semibold hover:from-yellow-600 hover:to-orange-600 transition-all duration-300 transform hover:scale-105 inline-flex items-center justify-center space-x-2",children:[(0,gr.jsx)("span",{children:"Apply Now"}),(0,gr.jsx)(ad,{className:"w-5 h-5"})]}),(0,gr.jsx)("button",{className:"border-2 border-gray-300 text-gray-300 px-6 py-3 rounded-lg font-semibold hover:bg-gray-300 hover:text-black transition-all duration-300",children:"View Our Innovations"})]})]})})})]})},TC=()=>{const[e,t]=(0,i.useState)(""),[n,r]=(0,i.useState)(""),[a,s]=(0,i.useState)(""),[o,l]=(0,i.useState)(""),c=ee();return(0,gr.jsx)("div",{className:"flex items-center justify-center min-h-screen text-white pt-24",children:(0,gr.jsxs)("form",{onSubmit:async t=>{t.preventDefault();try{await mr.post("/api/users/register",{username:e,email:n,password:a}),c("/login")}catch(s){var r,i;l((null===(r=s.response)||void 0===r||null===(i=r.data)||void 0===i?void 0:i.message)||"Registration failed")}},className:"p-8 rounded-lg shadow-lg w-full max-w-md glass-effect",children:[(0,gr.jsx)("h2",{className:"text-3xl font-bold mb-6 text-center",children:"Register"}),o&&(0,gr.jsx)("p",{className:"text-red-500 text-center mb-4",children:o}),(0,gr.jsxs)("div",{className:"mb-4",children:[(0,gr.jsx)("label",{className:"block mb-2",children:"Username"}
2),(0,gr.jsx)("input",{type:"text",value:e,onChange:e=>t(e.target.value),className:"w-full p-2 rounded bg-gray-800 border border-gray-700 focus:outline-none focus:border-cyan-500",required:!0})]}),(0,gr.jsxs)("div",{className:"mb-4",children:[(0,gr.jsx)("label",{className:"block mb-2",children:"Email"}),(0,gr.jsx)("input",{type:"email",value:n,onChange:e=>r(e.target.value),className:"w-full p-2 rounded bg-gray-800 border border-gray-700 focus:outline-none focus:border-cyan-500",required:!0})]}),(0,gr.jsxs)("div",{className:"mb-6",children:[(0,gr.jsx)("label",{className:"block mb-2",children:"Password"}),(0,gr.jsx)("input",{type:"password",value:a,onChange:e=>s(e.target.value),className:"w-full p-2 rounded bg-gray-800 border border-gray-700 focus:outline-none focus:border-cyan-500",required:!0})]}),(0,gr.jsx)("button",{type:"submit",className:"w-full bg-gradient-to-r from-blue-500 to-cyan-500 text-white py-2 rounded-lg font-semibold hover:from-blue-600 hover:to-cyan-600 transition-all",children:"Register"})]})})},AC=()=>{const[e,t]=(0,i.useState)(""),[n,r]=(0,i.useState)(""),[a,s]=(0,i.useState)(""),{login:o}=(0,i.useContext)(vr),l=ee();return(0,gr.jsx)("div",{className:"flex items-center justify-center min-h-screen text-white",children:(0,gr.jsxs)("form",{onSubmit:async t=>{t.preventDefault();try{await o(e,n),l("/blogs")}catch(r){s("Invalid credentials. Please try again.")}},className:"p-8 rounded-lg shadow-lg w-full max-w-md glass-effect",children:[(0,gr.jsx)("h2",{className:"text-3xl font-bold mb-6 text-center",children:"Login"}),a&&(0,gr.jsx)("p",{className:"text-red-500 text-center mb-4",children:a}),(0,gr.jsxs)("div",{className:"mb-4",children:[(0,gr.jsx)("label",{className:"block mb-2",children:"Email"}),(0,gr.jsx)("input",{type:"email",value:e,onChange:e=>t(e.target.value),className:"w-full p-2 rounded bg-gray-800 border border-gray-700 focus:outline-none focus:border-cyan-500",required:!0})]}),(0,gr.jsxs)("div",{className:"mb-6",children:[(0,gr.jsx)("label",{className:"block mb-2",children:"Password"}),(0,gr.jsx)("input",{type:"password",value:n,onChange:e=>r(e.target.value),className:"w-full p-2 rounded bg-gray-800 border border-gray-700 focus:outline-none focus:border-cyan-500",required:!0})]}),(0,gr.jsx)("button",{type:"submit",className:"w-full bg-gradient-to-r from-blue-500 to-cyan-500 text-white py-2 rounded-lg font-semibold hover:from-blue-600 hover:to-cyan-600 transition-all",children:"Login"})]})})},CC=()=>{const[e,t]=(0,i.useState)([]),[n,r]=(0,i.useState)(!0),{user:a}=(0,i.useContext)(vr);(0,i.useEffect)(()=>{(async()=>{try{const e=await mr.get("/api/blogs");t(e.data)}catch(qA){console.error("Failed to fetch blogs:",qA)}finally{r(!1)}})()},[]);return n?(0,gr.jsx)("div",{className:"text-center text-white py-10 pt-24",children:"Loading blogs..."}):(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 pt-24 text-white",children:[(0,gr.jsxs)("div",{className:"text-center mb-12",children:[(0,gr.jsx)("h1",{className:"text-4xl font-bold font-heading",children:"The Singularity Blogs"}),a&&(0,gr.jsx)("div",{className:"mt-6",children:(0,gr.jsx)(Pe,{to:"/create-blog",className:"bg-gradient-to-r from-blue-500 to-cyan-500 text-white px-4 py-2 rounded-lg font-semibold hover:opacity-90 transition-opacity inline-block",children:"+ Add New Blog"})})]}),(0,gr.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8",children:e.length>0?e.map(n=>(0,gr.jsx)(Pe,{to:"/blogs/".concat(n._id),className:"block hover:scale-105 transition-transform duration-300",children:(0,gr.jsxs)("div",{className:"glass-effect p-6 rounded-lg flex flex-col h-full",children:[n.mediaUrl&&(0,gr.jsx)("div",{className:"mb-4 rounded-lg overflow-hidden aspect-video",children:"image"===n.mediaType?(0,gr.jsx)("img",{src:n.mediaUrl,alt:n.title,className:"w-full h-full object-cover"}):(0,gr.jsx)("video",{src:n.mediaUrl,controls:!0,className:"w-full h-full object-cover"})}),(0,gr.jsxs)("div",{className:"flex flex-col flex-grow",children:[(0,gr.jsx)("h2",{className:"text-2xl font-bold mb-2 text-cyan-400",children:n.title}),(0,gr.jsxs)("p",{className:"text-gray-400 text-sm mb-4",children:["By ",n.authorName," on ",new Date(n.createdAt).toLocaleDateString()]}),(0,gr.jsxs)("p",{className:"text-gray-300 whitespace-pre-wrap mb-4 flex-grow",children:[n.content.substring(0,150),n.content.length>150&&"..."]}),a&&a.id===n.authorId&&(0,gr.jsxs)("div",{className:"flex items-center space-x-4 mt-auto",children:[(0,gr.jsx)(Pe,{to:"/edit-blog/".concat(n._id),className:"bg-yellow-500 text-black px-3 py-1 rounded font-semibold text-sm hover:bg-yellow-600 z-10 relative",children:"Edit"}),(0,gr.jsx)("button",{onClick:r=>(async(n,r)=>{if(r.stopPropagation(),r.preventDefault(),window.confirm("Are you sure you want to delete this blog post?"))try{await mr.delete("/api/blogs/".concat(n)),t(e.filter(e=>e._id!==n))}catch(qA){console.error("Failed to delete blog:",qA),alert("You are not authorized to delete this post.")}})(n._id,r),className:"bg-red-500 text-white px-3 py-1 rounded font-semibold text-sm hover:bg-red-600 z-10 relative",children:"Delete"})]})]})]})},n._id)):(0,gr.jsx)("div",{className:"col-span-full text-center py-10",children:(0,gr.jsx)("p",{children:"No blog posts yet. Be the first to create one!"})})})]})},PC=e=>{let{onSubmit:t,initialData:n={title:"",content:""},buttonText:r}=e;const[a,s]=(0,i.useState)(n.title),[o,l]=(0,i.useState)(n.content),[c,u]=(0,i.useState)(null);(0,i.useEffect)(()=>{s(n.title),l(n.content)},[n]);return(0,gr.jsxs)("form",{onSubmit:e=>
2{e.preventDefault(),t({title:a,content:o,media:c})},className:"p-8 rounded-lg shadow-lg w-full max-w-2xl mx-auto glass-effect",children:[(0,gr.jsxs)("div",{className:"mb-6",children:[(0,gr.jsx)("label",{htmlFor:"title",className:"block mb-2 text-lg font-semibold",children:"Title"}),(0,gr.jsx)("input",{id:"title",type:"text",value:a,onChange:e=>s(e.target.value),className:"w-full p-3 rounded bg-gray-800 border border-gray-700 focus:outline-none focus:border-cyan-500",required:!0})]}),(0,gr.jsxs)("div",{className:"mb-6",children:[(0,gr.jsx)("label",{htmlFor:"content",className:"block mb-2 text-lg font-semibold",children:"Content"}),(0,gr.jsx)("textarea",{id:"content",value:o,onChange:e=>l(e.target.value),className:"w-full p-3 rounded bg-gray-800 border border-gray-700 focus:outline-none focus:border-cyan-500 h-60",required:!0})]}),(0,gr.jsxs)("div",{className:"mb-6",children:[(0,gr.jsx)("label",{htmlFor:"media",className:"block mb-2 text-lg font-semibold",children:"Cover Image or Video"}),(0,gr.jsx)("input",{id:"media",type:"file",accept:"image/*,video/*",onChange:e=>u(e.target.files[0]),className:"w-full p-3 rounded bg-gray-800 border border-gray-700 file:mr-4 file:py-2 file:px-4 file:rounded-full file:border-0 file:text-sm file:font-semibold file:bg-cyan-50 file:text-cyan-700 hover:file:bg-cyan-100"})]}),(0,gr.jsx)("button",{type:"submit",className:"w-full bg-gradient-to-r from-blue-500 to-cyan-500 text-white py-3 rounded-lg font-semibold text-lg hover:opacity-90 transition-opacity",children:r})]})},NC=()=>{const e=ee();return(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 text-white",children:[(0,gr.jsx)("h1",{className:"text-4xl font-bold font-heading mb-8 text-center",children:"Create a New Blog Post"}),(0,gr.jsx)(PC,{onSubmit:async t=>{const n=new FormData;n.append("title",t.title),n.append("content",t.content),t.media&&n.append("media",t.media);try{await mr.post("/api/blogs",n),e("/blogs")}catch(qA){console.error("Failed to create blog post:",qA),alert("Failed to create post. Are you logged in?")}},buttonText:"Create Post"})]})},RC=()=>{const{id:e}=te(),t=ee(),[n,r]=(0,i.useState)(null);(0,i.useEffect)(()=>{(async()=>{try{const t=await mr.get("/api/blogs/".concat(e));r(t.data)}catch(qA){console.error("Failed to fetch blog post:",qA)}})()},[e]);return n?(0,gr.jsxs)("div",{className:"max-w-7xl mx-auto px-4 sm-px-6 lg:px-8 py-12 pt-24 text-white",children:[(0,gr.jsx)("h1",{className:"text-4xl font-bold font-heading mb-8 text-center",children:"Edit Blog Post"}),(0,gr.jsx)(PC,{onSubmit:async n=>{const r=new FormData;r.append("title",n.title),r.append("content",n.content),n.media&&r.append("media",n.media);try{await mr.put("/api/blogs/".concat(e),r),t("/blogs")}catch(qA){console.error("Failed to update blog post:",qA),alert("Failed to update post. Are you the author?")}},initialData:n,buttonText:"Update Post"})]}):(0,gr.jsx)("div",{className:"text-white text-center py-10",children:"Loading..."})},LC=Ue("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]),kC=()=>{const[e,t]=(0,i.useState)(null),[n,r]=(0,i.useState)(!0),{id:a}=te();return(0,i.useEffect)(()=>{(async()=>{try{const e=await mr.get("/api/blogs/".concat(a));t(e.data)}catch(qA){console.error("Failed to fetch blog post:",qA)}finally{r(!1)}})()},[a]),n?(0,gr.jsx)("div",{className:"text-center text-white py-10 pt-24",children:"Loading post..."}):e?(0,gr.jsxs)("div",{className:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12 pt-24 text-white",children:[(0,gr.jsx)("div",{className:"mb-8",children:(0,gr.jsxs)(Pe,{to:"/blogs",className:"inline-flex items-center text-cyan-400 hover:text-cyan-300 transition-colors",children:[(0,gr.jsx)(LC,{className:"w-4 h-4 mr-2"}),"Back to all blogs"]})}),(0,gr.jsxs)("article",{children:[e.mediaUrl&&(0,gr.jsx)("div",{className:"mb-8 rounded-lg overflow-hidden aspect-video",children:"image"===e.mediaType?(0,gr.jsx)("img",{src:e.mediaUrl,alt:e.title,className:"w-full h-full object-cover"}):(0,gr.jsx)("video",{src:e.mediaUrl,controls:!0,className:"w-full h-full object-cover"})}),(0,gr.jsx)("h1",{className:"text-4xl md:text-5xl font-bold font-heading mb-4 text-cyan-400",children:e.title}),(0,gr.jsxs)("p",{className:"text-gray-400 text-sm mb-6",children:["By ",e.authorName," on ",new Date(e.createdAt).toLocaleDateString()]}),(0,gr.jsx)("div",{className:"prose prose-invert prose-lg max-w-none text-gray-300 whitespace-pre-wrap",children:e.content})]})]}):(0,gr.jsx)("div",{className:"text-center text-white py-10 pt-24",children:"Blog post not found."})},IC=e=>{let{children:t}=e;const n="/"===K().pathname;return(0,gr.jsxs)("div",{className:"min-h-screen bg-black",children:[(0,gr.jsx)(Le,{}),(0,gr.jsx)(Ju,{}),(0,gr.jsx)("main",{children:t}),n&&(0,gr.jsx)(id,{})]})};const DC=function(){return(0,gr.jsx)(Te,{children:(0,gr.jsx)(IC,{children:(0,gr.jsxs)(ye,{children:[(0,gr.jsx)(ge,{path:"/",element:(0,gr.jsx)(rC,{})}),(0,gr.jsx)(ge,{path:"/prajna-kritrima-lab",element:(0,gr.jsx)(lC,{})}),(0,gr.jsx)(ge,{path:"/aanu-tattva-lab",element:(0,gr.jsx)(dC,{})}),(0,gr.jsx)(ge,{path:"/chitra-darshan-lab",element:(0,gr.jsx)(mC,{})}),(0,gr.jsx)(ge,{path:"/varahamihira-lab",element:(0,gr.jsx)(vC,{})}),(0,gr.jsx)(ge,{path:"/bhaskaracharya-lab",element:(0,gr.jsx)(bC,{})}),(0,gr.jsx)(ge,{path:"/agastya-lab",element:(0,gr.jsx)(_C,{})}),(0,gr.jsx)(ge,{path:"/navya-vigyan-lab",element:(0,gr.jsx)(EC,{})}),(0,gr.jsx)(ge,{path:"/register",element:(0,gr.jsx)(TC,{})}),(0,gr.jsx)(ge,{path:"/login",element:(0,gr.jsx)(AC,{})}),(0,gr.jsx)(ge,{path:"/blogs",element:(0,gr.jsx)(CC,{})}),(0,gr.jsx)(ge,{path:"/create-blog",element:(0,gr.jsx)(NC,{})}),(0,gr.jsx)(ge,{path:"/edit-blog/:id",element:(0,gr.jsx)(RC,{})}),(0,gr.jsx)(ge,{path:"/blogs/:id",element:(0,gr.jsx)(kC,{})})]})})})};s.createRoot(document.getElementById("root")).render((0,gr.jsx)(i.Str
2ictMode,{children:(0,gr.jsxs)(yr,{children:[" ",(0,gr.jsx)(DC,{})]})}))})()})(); 3//# sourceMappingURL=main.1453c247.js.map
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.