@react-three/drei 7.11.0 → 7.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/assets/cloud.base64.cjs.js +1 -1
  2. package/core/AdaptiveDpr.cjs.js +1 -1
  3. package/core/AdaptiveEvents.cjs.js +1 -1
  4. package/core/BakeShadows.cjs.js +1 -1
  5. package/core/Billboard.cjs.js +1 -1
  6. package/core/CameraShake.cjs.js +1 -1
  7. package/core/Center.cjs.js +1 -1
  8. package/core/Cloud.cjs.js +1 -1
  9. package/core/ContactShadows.cjs.js +1 -1
  10. package/core/ContactShadows.d.ts +1 -1
  11. package/core/CubeCamera.cjs.js +1 -1
  12. package/core/CubicBezierLine.cjs.js +1 -1
  13. package/core/CurveModifier.cjs.js +1 -1
  14. package/core/DepthBuffer.cjs.js +1 -1
  15. package/core/Detailed.cjs.js +1 -1
  16. package/core/DeviceOrientationControls.cjs.js +1 -1
  17. package/core/Effects.cjs.js +1 -1
  18. package/core/Environment.cjs.js +1 -1
  19. package/core/FirstPersonControls.cjs.js +1 -1
  20. package/core/FlyControls.cjs.js +1 -1
  21. package/core/GizmoHelper.cjs.js +1 -1
  22. package/core/GizmoViewcube.cjs.js +1 -1
  23. package/core/GizmoViewport.cjs.js +1 -1
  24. package/core/GradientTexture.cjs.js +1 -1
  25. package/core/Instances.cjs.js +1 -1
  26. package/core/Instances.js +7 -4
  27. package/core/Line.cjs.js +1 -1
  28. package/core/MapControls.cjs.js +1 -1
  29. package/core/MapControls.d.ts +1 -1
  30. package/core/MeshDistortMaterial.cjs.js +1 -1
  31. package/core/MeshWobbleMaterial.cjs.js +1 -1
  32. package/core/OrbitControls.cjs.js +1 -1
  33. package/core/OrbitControls.d.ts +1 -1
  34. package/core/OrthographicCamera.cjs.js +1 -1
  35. package/core/PerspectiveCamera.cjs.js +1 -1
  36. package/core/PerspectiveCamera.d.ts +1 -1
  37. package/core/PointMaterial.cjs.js +1 -1
  38. package/core/PointerLockControls.cjs.js +1 -1
  39. package/core/Points.cjs.js +1 -1
  40. package/core/Points.js +7 -4
  41. package/core/PositionalAudio.cjs.js +1 -1
  42. package/core/PositionalAudio.d.ts +1 -1
  43. package/core/Preload.cjs.js +1 -1
  44. package/core/QuadraticBezierLine.cjs.js +1 -1
  45. package/core/Reflector.cjs.js +1 -1
  46. package/core/Reflector.d.ts +1 -1
  47. package/core/RoundedBox.cjs.js +1 -1
  48. package/core/ScreenQuad.cjs.js +1 -1
  49. package/core/Shadow.cjs.js +1 -1
  50. package/core/Sky.cjs.js +1 -1
  51. package/core/SpotLight.cjs.js +1 -1
  52. package/core/Stage.cjs.js +1 -1
  53. package/core/Stars.cjs.js +1 -1
  54. package/core/Stats.cjs.js +1 -1
  55. package/core/Text.cjs.js +1 -1
  56. package/core/TrackballControls.cjs.js +1 -1
  57. package/core/TransformControls.cjs.js +1 -1
  58. package/core/index.cjs.js +1 -1
  59. package/core/meshBounds.cjs.js +1 -1
  60. package/core/shaderMaterial.cjs.js +1 -1
  61. package/core/shapes.cjs.js +1 -1
  62. package/core/softShadows.cjs.js +1 -1
  63. package/core/useAnimations.cjs.js +1 -1
  64. package/core/useAspect.cjs.js +1 -1
  65. package/core/useBVH.cjs.js +1 -1
  66. package/core/useCamera.cjs.js +1 -1
  67. package/core/useContextBridge.cjs.js +1 -1
  68. package/core/useCubeTexture.cjs.js +1 -1
  69. package/core/useDetectGPU.cjs.js +1 -1
  70. package/core/useEdgeSplit.cjs.js +1 -1
  71. package/core/useFBO.cjs.js +1 -1
  72. package/core/useFBX.cjs.js +1 -1
  73. package/core/useGLTF.cjs.js +1 -1
  74. package/core/useGLTF.js +1 -1
  75. package/core/useHelper.cjs.js +1 -1
  76. package/core/useHelper.js +3 -1
  77. package/core/useMatcapTexture.cjs.js +1 -1
  78. package/core/useNormalTexture.cjs.js +1 -1
  79. package/core/useProgress.cjs.js +1 -1
  80. package/core/useSimplification.cjs.js +1 -1
  81. package/core/useTessellation.cjs.js +1 -1
  82. package/core/useTexture.cjs.js +1 -1
  83. package/helpers/Position.cjs.js +1 -1
  84. package/helpers/base64.cjs.js +1 -1
  85. package/helpers/useEffectfulState.cjs.js +1 -1
  86. package/index.cjs.js +1 -1
  87. package/index.js +1 -0
  88. package/materials/MeshReflectorMaterial.cjs.js +1 -1
  89. package/materials/SpotLightMaterial.cjs.js +1 -1
  90. package/materials/index.cjs.js +1 -1
  91. package/native/index.cjs.js +1 -1
  92. package/package.json +2 -2
  93. package/web/CycleRaycast.cjs.js +1 -0
  94. package/web/CycleRaycast.d.ts +9 -0
  95. package/web/CycleRaycast.js +106 -0
  96. package/web/Html.cjs.js +1 -1
  97. package/web/Loader.cjs.js +1 -1
  98. package/web/index.cjs.js +1 -1
  99. package/web/index.d.ts +1 -0
  100. package/web/index.js +1 -0
  101. package/web/useCursor.cjs.js +1 -1
package/index.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),n=require("@babel/runtime/helpers/objectWithoutPropertiesLoose"),t=require("react"),r=require("three"),o=require("@react-three/fiber"),i=require("zustand"),a=require("react-merge-refs"),u=require("blob-polyfill"),c=require("@babel/runtime/helpers/construct"),s=require("three-stdlib"),l=require("troika-three-text"),f=require("use-asset"),C=require("lodash.omit"),m=require("lodash.pick"),d=require("@babel/runtime/helpers/createClass"),A=require("@babel/runtime/helpers/inheritsLoose"),_=require("three/examples/js/libs/stats.min"),p=require("detect-gpu"),B=require("three-mesh-bvh"),v=require("@babel/runtime/helpers/assertThisInitialized"),E=require("react-composer");function D(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function h(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var g=D(e),x=D(n),F=h(t),w=h(r),y=D(i),b=D(a),P=D(c),S=D(C),M=D(m),z=D(d),T=D(A),L=D(_),R=D(v),O=D(E),k=new r.Vector3,G=new r.Vector3,j=new r.Vector3,H=function(){throw new Error("Html component requires a 'react-dom' package, please install it")},N={unmountComponentAtNode:H,render:H};try{N=require("react-dom")}catch(e){}function U(e,n,t){var r=k.setFromMatrixPosition(e.matrixWorld);r.project(n);var o=t.width/2,i=t.height/2;return[r.x*o+o,-r.y*i+i]}var Q=function(e){return Math.abs(e)<1e-10?0:e};function Y(e,n,t){void 0===t&&(t="");for(var r="matrix3d(",o=0;16!==o;o++)r+=Q(n[o]*e.elements[o])+(15!==o?",":")");return t+r}var W,I=(W=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],function(e){return Y(e,W)}),V=function(e,n){return Y(e,[1/(t=n),1/t,1/t,1,-1/t,-1/t,-1/t,-1,1/t,1/t,1/t,1,1,1,1,1],"translate(-50%,-50%)");var t},X=F.forwardRef((function(e,n){var t,i=e.children,a=e.eps,u=void 0===a?.001:a,c=e.style,s=e.className,l=e.prepend,f=e.center,C=e.fullscreen,m=e.portal,d=e.distanceFactor,A=e.sprite,_=void 0!==A&&A,p=e.transform,B=void 0!==p&&p,v=e.occlude,E=e.onOcclude,D=e.zIndexRange,h=void 0===D?[16777271,0]:D,w=e.calculatePosition,y=void 0===w?U:w,b=e.as,P=void 0===b?"div":b,S=e.pointerEvents,M=void 0===S?"auto":S,z=x.default(e,["children","eps","style","className","prepend","center","fullscreen","portal","distanceFactor","sprite","transform","occlude","onOcclude","zIndexRange","calculatePosition","as","pointerEvents"]),T=o.useThree((function(e){return e.gl})),L=o.useThree((function(e){return e.camera})),R=o.useThree((function(e){return e.scene})),O=o.useThree((function(e){return e.size})),H=o.useThree((function(e){return e.raycaster})),Y=F.useState((function(){return document.createElement(P)}))[0],W=F.useRef(null),X=F.useRef(0),Z=F.useRef([0,0]),K=F.useRef(null),J=F.useRef(null),q=null!==(t=null==m?void 0:m.current)&&void 0!==t?t:T.domElement.parentNode;F.useEffect((function(){if(W.current){if(R.updateMatrixWorld(),B)Y.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{var e=y(W.current,L,O);Y.style.cssText="position:absolute;top:0;left:0;transform:translate3d("+e[0]+"px,"+e[1]+"px,0);transform-origin:0 0;"}return q&&(l?q.prepend(Y):q.appendChild(Y)),function(){q&&q.removeChild(Y),N.unmountComponentAtNode(Y)}}}),[q,B]);var $=F.useMemo((function(){return B?{position:"absolute",top:0,left:0,width:O.width,height:O.height,transformStyle:"preserve-3d",pointerEvents:"none"}:g.default({position:"absolute",transform:f?"translate3d(-50%,-50%,0)":"none"},C&&{top:-O.height/2,left:-O.width/2,width:O.width,height:O.height},c)}),[c,f,C,O,B]),ee=F.useMemo((function(){return{position:"absolute",pointerEvents:M}}),[M]);F.useLayoutEffect((function(){B?N.render(F.createElement("div",{ref:K,style:$},F.createElement("div",{ref:J,style:ee},F.createElement("div",{ref:n,className:s,style:c,children:i}))),Y):N.render(F.createElement("div",{ref:n,style:$,className:s,children:i}),Y)}));var ne=F.useRef(!0);return o.useFrame((function(){if(W.current){L.updateMatrixWorld(),W.current.updateWorldMatrix(!0,!1);var e=B?Z.current:y(W.current,L,O);if(B||Math.abs(X.current-L.zoom)>u||Math.abs(Z.current[0]-e[0])>u||Math.abs(Z.current[1]-e[1])>u){var n=function(e,n){var t=k.setFromMatrixPosition(e.matrixWorld),r=G.setFromMatrixPosition(n.matrixWorld),o=t.sub(r),i=n.getWorldDirection(j);return o.angleTo(i)>Math.PI/2}(W.current,L),t=!1;"boolean"==typeof v?!0===v&&(t=[R]):Array.isArray(v)&&(t=v.map((function(e){return e.current})));var o=ne.current;if(t){var i=function(e,n,t,r){var o=k.setFromMatrixPosition(e.matrixWorld),i=o.clone();i.project(n),t.setFromCamera(i,n);var a=t.intersectObjects(r,!0);if(a.length){var u=a[0].distance;return o.distanceTo(t.ray.origin)<u}return!0}(W.current,L,H,t);ne.current=i&&!n}else ne.current=!n;if(o!==ne.current&&(E?E(!ne.current):Y.style.display=ne.current?"block":"none"),Y.style.zIndex=""+function(e,n,t){if(n instanceof r.PerspectiveCamera||n instanceof r.OrthographicCamera){var o=k.setFromMatrixPosition(e.matrixWorld),i=G.setFromMatrixPosition(n.matrixWorld),a=o.distanceTo(i),u=(t[1]-t[0])/(n.far-n.near),c=t[1]-u*n.far;return Math.round(u*a+c)}}(W.current,L,h),B){var a=O.width/2,c=O.height/2,s=L.projectionMatrix.elements[5]*c,l=L,f=l.isOrthographicCamera,C=l.top,m=l.left,A=l.bottom,p=l.right,D=I(L.matrixWorldInverse),g=f?"scale("+s+")translate("+Q(-(p+m)/2)+"px,"+Q((C+A)/2)+"px)":"translateZ("+s+"px)",x=W.current.matrixWorld;_&&((x=L.matrixWorldInverse.clone().transpose().copyPosition(x).scale(W.current.scale)).elements[3]=x.elements[7]=x.elements[11]=0,x.elements[15]=1),Y.style.width=O.width+"px",Y.style.height=O.height+"px",Y.style.perspective=f?"":s+"px",K.current&&J.current&&(K.current.style.transform=""+g+D+"translate("+a+"px,"+c+"px)",J.current.style.transform=V(x,1/((d||10)/400)))}else{var F=void 0===d?1:function(e,n){if(n instanceof r.OrthographicCamera)return n.zoom;if(n instanceof r.PerspectiveCamera){var t=k.setFromMatrixPosition(e.matrixWorld),o=G.setFromMatrixPosition(n.matrixWorld),i=n.fov*Math.PI/180,a=t.distanceTo(o);return 1/(2*Math.tan(i/2)*a)}return 1}(W.current,L)*d;Y.style.transform="translate3d("+e[0]+"px,"+e[1]+"px,0) scale("+F+")"}Z.current=e,X.current=L.zoom}}})),F.createElement("group",g.default({},z,{ref:W}))}));var Z=0,K=y.default((function(e){return r.DefaultLoadingManager.onStart=function(n,t,r){e({active:!0,item:n,loaded:t,total:r,progress:(t-Z)/(r-Z)*100})},r.DefaultLoadingManager.onLoad=function(){e({active:!1})},r.DefaultLoadingManager.onError=function(n){return e((function(e){return{errors:[].concat(e.errors,[n])}}))},r.DefaultLoadingManager.onProgress=function(n,t,r){t===r&&(Z=r),e({active:!0,item:n,loaded:t,total:r,progress:(t-Z)/(r-Z)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0}})),J=function(e){return"Loading "+e.toFixed(2)+"%"};var q={container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:"#171717",display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity 300ms ease",zIndex:1e3},inner:{width:100,height:3,background:"#272727",textAlign:"center"},bar:{height:3,width:"100%",background:"white",transition:"transform 200ms",transformOrigin:"left center"},data:{display:"inline-block",position:"relative",fontVariantNumeric:"tabular-nums",marginTop:"0.8em",color:"#f0f0f0",fontSize:"0.6em",fontFamily:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Helvetica, Arial, Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',whiteSpace:"nowrap"}},$=F.forwardRef((function(e,n){var t=e.follow,r=void 0===t||t,i=e.lockX,a=void 0!==i&&i,u=e.lockY,c=void 0!==u&&u,s=e.lockZ,l=void 0!==s&&s,f=x.default(e,["follow","lockX","lockY","lockZ"]),C=F.useRef();return o.useFrame((function(e){var n=e.camera;if(r&&C.current){var t=C.current.rotation.clone();C.current.quaternion.copy(n.quaternion),a&&(C.current.rotation.x=t.x),c&&(C.current.rotation.y=t.y),l&&(C.current.rotation.z=t.z)}})),F.createElement("group",g.default({ref:b.default([C,n])},f))})),ee=function(e){return e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e};function ne(e){var n=o.useLoader(r.TextureLoader,ee(e)?Object.values(e):e);if(ee(e)){var t=Object.keys(e),i={};return t.forEach((function(e){var r;return Object.assign(i,((r={})[e]=n[t.indexOf(e)],r))})),i}return n}function te(e){for(var n=e.length,t=new ArrayBuffer(n),r=new Uint8Array(t),o=0;o<n;o++)r[o]=e.charCodeAt(o);return t}ne.preload=function(e){return o.useLoader.preload(r.TextureLoader,e)},ne.clear=function(e){return o.useLoader.clear(r.TextureLoader,e)};var re=function(e,n){return URL.createObjectURL(new u.Blob([te((t=e,"undefined"==typeof window?Buffer.from(t,"base64").toString("binary"):atob(t)))],{type:n}));var t}("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","img/png");var oe=F.forwardRef((function(e,n){var t=e.points,o=e.color,i=void 0===o?"black":o,a=e.vertexColors,u=e.lineWidth,c=e.dashed,l=x.default(e,["points","color","vertexColors","lineWidth","dashed"]),f=F.useState((function(){return new s.Line2}))[0],C=F.useState((function(){return new s.LineMaterial}))[0],m=F.useState((function(){return new r.Vector2(512,512)}))[0],d=F.useMemo((function(){var e=new s.LineGeometry,n=t.map((function(e){return e instanceof r.Vector3?e.toArray():e}));if(e.setPositions(n.flat()),a){var o=a.map((function(e){return e instanceof r.Color?e.toArray():e}));e.setColors(o.flat())}return e}),[t,a]);return F.useLayoutEffect((function(){f.computeLineDistances()}),[t,f]),F.useLayoutEffect((function(){c?C.defines.USE_DASH="":delete C.defines.USE_DASH,C.needsUpdate=!0}),[c,C]),F.useEffect((function(){return function(){return d.dispose()}}),[d]),F.createElement("primitive",g.default({object:f,ref:n},l),F.createElement("primitive",{object:d,attach:"geometry"}),F.createElement("primitive",g.default({object:C,attach:"material",color:i,vertexColors:Boolean(a),resolution:m,linewidth:u,dashed:c},l)))})),ie=F.forwardRef((function(e,n){var t=e.start,o=e.end,i=e.mid,a=e.segments,u=void 0===a?20:a,c=x.default(e,["start","end","mid","segments"]),s=F.useMemo((function(){var e=t instanceof r.Vector3?t:P.default(r.Vector3,t),n=o instanceof r.Vector3?o:P.default(r.Vector3,o),a=i||e.clone().add(n.clone().sub(e)).add(new r.Vector3(0,e.y-n.y,0)),c=a instanceof r.Vector3?a:P.default(r.Vector3,a);return new r.QuadraticBezierCurve3(e,c,n).getPoints(u)}),[t,o,i,u]);return F.createElement(oe,g.default({ref:n,points:s},c))})),ae=F.forwardRef((function(e,n){var t=e.start,o=e.end,i=e.midA,a=e.midB,u=e.segments,c=void 0===u?20:u,s=x.default(e,["start","end","midA","midB","segments"]),l=F.useMemo((function(){var e=t instanceof r.Vector3?t:P.default(r.Vector3,t),n=o instanceof r.Vector3?o:P.default(r.Vector3,o),u=i instanceof r.Vector3?i:P.default(r.Vector3,i),s=a instanceof r.Vector3?a:P.default(r.Vector3,a);return new r.CubicBezierCurve3(e,u,s,n).getPoints(c)}),[t,o,i,a,c]);return F.createElement(oe,g.default({ref:n,points:l},s))})),ue=F.forwardRef((function(e,n){var t=e.url,i=e.distance,a=void 0===i?1:i,u=e.loop,c=void 0===u||u,s=e.autoplay,l=x.default(e,["url","distance","loop","autoplay"]),f=F.useRef(),C=o.useThree((function(e){return e.camera})),m=F.useState((function(){return new r.AudioListener}))[0],d=o.useLoader(r.AudioLoader,t);return F.useEffect((function(){var e=f.current;e&&(e.setBuffer(d),e.setRefDistance(a),e.setLoop(c),s&&!e.isPlaying&&e.play())}),[d,C,a,c]),F.useEffect((function(){var e=f.current;return C.add(m),function(){C.remove(m),e&&(e.isPlaying&&e.stop(),e.source&&e.source._connected&&e.disconnect())}}),[]),F.createElement("positionalAudio",g.default({ref:b.default([f,n]),args:[m]},l))})),ce=F.forwardRef((function(e,n){var t=e.anchorX,r=void 0===t?"center":t,i=e.anchorY,a=void 0===i?"middle":i,u=e.children,c=e.onSync,s=x.default(e,["anchorX","anchorY","children","onSync"]),f=o.useThree((function(e){return e.invalidate})),C=F.useState((function(){return new l.Text}))[0],m=F.useMemo((function(){var e=[],n="";return F.Children.forEach(u,(function(t){"string"==typeof t||"number"==typeof t?n+=t:e.push(t)})),[e,n]}),[u]),d=m[0],A=m[1];return F.useLayoutEffect((function(){C.sync((function(){f(),c&&c(C)}))})),F.useEffect((function(){return function(){return C.dispose()}}),[C]),F.createElement("primitive",g.default({object:C,ref:n,text:A,anchorX:r,anchorY:a},s),d)})),se={sunset:"venice_sunset_1k.hdr",dawn:"kiara_1_dawn_1k.hdr",night:"dikhololo_night_1k.hdr",warehouse:"empty_warehouse_01_1k.hdr",forest:"forest_slope_1k.hdr",apartment:"lebombo_1k.hdr",studio:"studio_small_03_1k.hdr",city:"potsdamer_platz_1k.hdr",park:"rooitou_park_1k.hdr",lobby:"st_fagans_interior_1k.hdr"};function le(e){var n=e.background,t=void 0!==n&&n,i=e.files,a=void 0===i?["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"]:i,u=e.path,c=void 0===u?"":u,l=e.preset,C=void 0===l?void 0:l,m=e.scene,d=e.extensions;if(C){if(!(C in se))throw new Error("Preset must be one of: "+Object.keys(se).join(", "));a=se[C],c="https://rawcdn.githack.com/pmndrs/drei-assets/aa3600359ba664d546d05821bcbca42013587df2/hdri/"}var A=o.useThree((function(e){return e.scene})),_=o.useThree((function(e){return e.gl})),p=Array.isArray(a),B=p?r.CubeTextureLoader:s.RGBELoader,v=o.useLoader(B,p?[a]:a,(function(e){e.setPath(c),d&&d(e)})),E=p?v[0]:v,D=f.useAsset((function(){return new Promise((function(e){var n=new r.PMREMGenerator(_),t=function(e,n,t){return t?(n.compileEquirectangularShader(),n.fromCubemap(e).texture):n.fromEquirectangular(e).texture}(E,n,p);n.dispose(),e(t)}))}),E);return F.useLayoutEffect((function(){var e=m?m.background:A.background,n=m?m.environment:A.environment;return m?(m.environment=D,t&&(m.background=D)):(A.environment=D,t&&(A.background=D)),function(){m?(m.environment=n,m.background=e):(A.environment=n,A.background=e),f.useAsset.clear(E),D.dispose()}}),[D,t,m]),null}o.extend({EffectComposer:s.EffectComposer,RenderPass:s.RenderPass,ShaderPass:s.ShaderPass});var fe=function(){try{var e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(e){return!1}},Ce=F.forwardRef((function(e,n){var t=e.children,i=e.multisamping,a=void 0===i?8:i,u=e.renderIndex,c=void 0===u?1:u,l=e.disableGamma,f=void 0!==l&&l,C=e.disableRenderPass,m=void 0!==C&&C,d=x.default(e,["children","multisamping","renderIndex","disableGamma","disableRenderPass"]),A=F.useRef(),_=o.useThree((function(e){return e.scene})),p=o.useThree((function(e){return e.camera})),B=o.useThree((function(e){return e.gl})),v=o.useThree((function(e){return e.size})),E=F.useState((function(){if(fe()&&a>0){var e=new r.WebGLMultisampleRenderTarget(v.width,v.height,{format:r.RGBAFormat,encoding:r.sRGBEncoding});return e.samples=8,e}}))[0];return F.useEffect((function(){var e,n;null==(e=A.current)||e.setSize(v.width,v.height),null==(n=A.current)||n.setPixelRatio(B.getPixelRatio())}),[B,v]),o.useFrame((function(){var e;return null==(e=A.current)?void 0:e.render()}),c),F.createElement("effectComposer",g.default({ref:b.default([n,A]),args:[B,E]},d),!m&&F.createElement("renderPass",{attachArray:"passes",args:[_,p]}),!f&&F.createElement("shaderPass",{attachArray:"passes",args:[s.GammaCorrectionShader]}),t)}));var me=F.forwardRef((function(e,n){var t=e.makeDefault,r=e.manual,i=x.default(e,["makeDefault","manual"]),a=o.useThree((function(e){return e.set})),u=o.useThree((function(e){return e.camera})),c=o.useThree((function(e){return e.size})),s=F.useRef();return F.useLayoutEffect((function(){s.current&&!r&&s.current.updateProjectionMatrix()}),[c,i]),F.useLayoutEffect((function(){if(t&&s.current){var e=u;return a((function(){return{camera:s.current}})),function(){return a((function(){return{camera:e}}))}}}),[u,s,t,a]),F.createElement("orthographicCamera",g.default({left:c.width/-2,right:c.width/2,top:c.height/2,bottom:c.height/-2,ref:b.default([s,n])},i))})),de=F.forwardRef((function(e,n){var t=e.makeDefault,r=e.manual,i=x.default(e,["makeDefault","manual"]),a=o.useThree((function(e){return e.set})),u=o.useThree((function(e){return e.camera})),c=o.useThree((function(e){return e.size})),s=F.useRef();return F.useLayoutEffect((function(){var e=s.current;e&&!r&&(e.aspect=c.width/c.height,e.updateProjectionMatrix())}),[c,i]),F.useLayoutEffect((function(){if(t&&s.current){var e=u;return a((function(){return{camera:s.current}})),function(){return a((function(){return{camera:e}}))}}}),[u,s,t,a]),F.createElement("perspectiveCamera",g.default({ref:b.default([s,n])},i))})),Ae=F.forwardRef((function(e,n){var t=e.intensity,r=void 0===t?1:t,i=e.decay,a=e.decayRate,u=void 0===a?.65:a,c=e.maxYaw,l=void 0===c?.1:c,f=e.maxPitch,C=void 0===f?.1:f,m=e.maxRoll,d=void 0===m?.1:m,A=e.yawFrequency,_=void 0===A?1:A,p=e.pitchFrequency,B=void 0===p?1:p,v=e.rollFrequency,E=void 0===v?1:v,D=e.controls,h=o.useThree((function(e){return e.camera})),g=o.useThree((function(e){return e.controls})),x=F.useRef(r),w=F.useRef(h.rotation.clone()),y=F.useState((function(){return new s.SimplexNoise}))[0],b=F.useState((function(){return new s.SimplexNoise}))[0],P=F.useState((function(){return new s.SimplexNoise}))[0],S=function(){(x.current<0||x.current>1)&&(x.current=x.current<0?0:1)};return F.useImperativeHandle(n,(function(){return{getIntensity:function(){return x.current},setIntensity:function(e){x.current=e,S()}}}),[]),F.useEffect((function(){var e=g||(null==D?void 0:D.current),n=function(){w.current=h.rotation.clone()};return null==e||e.addEventListener("change",n),function(){null==e||e.removeEventListener("change",n)}}),[D,g]),o.useFrame((function(e,n){var t=e.clock,r=Math.pow(x.current,2),o=l*r*y.noise(t.elapsedTime*_,1),a=C*r*b.noise(t.elapsedTime*B,1),c=d*r*P.noise(t.elapsedTime*E,1);h.rotation.set(w.current.x+a,w.current.y+o,w.current.z+c),i&&x.current>0&&(x.current-=u*n,S())})),null}));var _e=F.forwardRef((function(e,n){var t=e.camera,r=e.onChange,i=x.default(e,["camera","onChange"]),a=o.useThree((function(e){return e.camera})),u=o.useThree((function(e){return e.invalidate})),c=t||a,l=F.useState((function(){return new s.DeviceOrientationControls(c)}))[0];return F.useEffect((function(){var e=function(e){u(),r&&r(e)};return null==l||null==l.addEventListener||l.addEventListener("change",e),function(){return null==l||null==l.removeEventListener?void 0:l.removeEventListener("change",e)}}),[r,l,u]),o.useFrame((function(){return null==l?void 0:l.update()})),F.useEffect((function(){var e=l;return null==e||e.connect(),function(){return null==e?void 0:e.dispose()}}),[l]),l?F.createElement("primitive",g.default({ref:n,dispose:void 0,object:l},i)):null})),pe=F.forwardRef((function(e,n){var t=e.onChange,r=x.default(e,["onChange"]),i=o.useThree((function(e){return e.invalidate})),a=o.useThree((function(e){return e.camera})),u=o.useThree((function(e){return e.gl})),c=F.useState((function(){return new s.FlyControls(a,u.domElement)}))[0];return F.useEffect((function(){var e=function(e){i(),t&&t(e)};return null==c||null==c.addEventListener||c.addEventListener("change",e),function(){return null==c||null==c.removeEventListener?void 0:c.removeEventListener("change",e)}}),[t,c,i]),o.useFrame((function(e,n){return null==c?void 0:c.update(n)})),c?F.createElement("primitive",g.default({ref:n,dispose:void 0,object:c},r)):null})),Be=F.forwardRef((function(e,n){void 0===e&&(e={enableDamping:!0});var t=e,r=t.camera,i=t.onChange,a=t.onStart,u=t.onEnd,c=x.default(t,["camera","onChange","onStart","onEnd"]),l=o.useThree((function(e){return e.invalidate})),f=o.useThree((function(e){return e.camera})),C=o.useThree((function(e){return e.gl.domElement})),m=r||f,d=F.useMemo((function(){return new s.MapControls(m)}),[m]);return F.useEffect((function(){d.connect(C);var e=function(e){l(),i&&i(e)};return d.addEventListener("change",e),a&&d.addEventListener("start",a),u&&d.addEventListener("end",u),function(){d.dispose(),d.removeEventListener("change",e),a&&d.removeEventListener("start",a),u&&d.removeEventListener("end",u)}}),[i,a,u,d,l,C]),o.useFrame((function(){return d.update()})),F.createElement("primitive",g.default({ref:n,dispose:void 0,object:d,enableDamping:!0},c))})),ve=F.forwardRef((function(e,n){var t=e.makeDefault,r=e.camera,i=e.regress,a=e.domElement,u=e.enableDamping,c=void 0===u||u,l=e.onChange,f=e.onStart,C=e.onEnd,m=x.default(e,["makeDefault","camera","regress","domElement","enableDamping","onChange","onStart","onEnd"]),d=o.useThree((function(e){return e.invalidate})),A=o.useThree((function(e){return e.camera})),_=o.useThree((function(e){return e.gl})),p=o.useThree((function(e){return e.set})),B=o.useThree((function(e){return e.get})),v=o.useThree((function(e){return e.performance})),E=r||A,D=a||_.domElement,h=F.useMemo((function(){return new s.OrbitControls(E)}),[E]);return o.useFrame((function(){h.enabled&&h.update()})),F.useEffect((function(){var e=function(e){d(),i&&v.regress(),l&&l(e)};return h.connect(D),h.addEventListener("change",e),f&&h.addEventListener("start",f),C&&h.addEventListener("end",C),function(){h.removeEventListener("change",e),f&&h.removeEventListener("start",f),C&&h.removeEventListener("end",C),h.dispose()}}),[l,f,C,i,h,d]),F.useEffect((function(){if(t){var e=B().controls;return p({controls:h}),function(){return p({controls:e})}}}),[t,h]),F.createElement("primitive",g.default({ref:n,object:h,enableDamping:c},m))})),Ee=F.forwardRef((function(e,n){var t=e.makeDefault,r=e.camera,i=e.regress,a=e.onChange,u=e.onStart,c=e.onEnd,l=x.default(e,["makeDefault","camera","regress","onChange","onStart","onEnd"]),f=o.useThree((function(e){return e.invalidate})),C=o.useThree((function(e){return e.camera})),m=o.useThree((function(e){return e.gl})),d=o.useThree((function(e){return e.set})),A=o.useThree((function(e){return e.get})),_=o.useThree((function(e){return e.performance})),p=r||C,B=F.useMemo((function(){return new s.TrackballControls(p,m.domElement)}),[p,m.domElement]);return o.useFrame((function(){B.enabled&&B.update()})),F.useEffect((function(){var e=function(e){f(),i&&_.regress(),a&&a(e)};return B.addEventListener("change",e),u&&B.addEventListener("start",u),c&&B.addEventListener("end",c),function(){B.removeEventListener("change",e),u&&B.removeEventListener("start",u),c&&B.removeEventListener("end",c),B.dispose()}}),[a,u,c,i,B,f]),F.useEffect((function(){if(t){var e=A().controls;return d({controls:B}),function(){return d({controls:e})}}}),[t,B]),F.createElement("primitive",g.default({ref:n,object:B},l))})),De=F.forwardRef((function(e,n){var t=e.children,r=e.onChange,i=e.onMouseDown,a=e.onMouseUp,u=e.onObjectChange,c=x.default(e,["children","onChange","onMouseDown","onMouseUp","onObjectChange"]),l=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],f=c.camera,C=x.default(c,["camera"]),m=M.default(C,l),d=S.default(C,l),A=o.useThree((function(e){return e.gl})),_=o.useThree((function(e){return e.camera})),p=o.useThree((function(e){return e.invalidate})),B=f||_,v=F.useState((function(){return new s.TransformControls(B,A.domElement)}))[0],E=F.useRef();return F.useLayoutEffect((function(){null==v||v.attach(E.current)}),[t,v]),F.useEffect((function(){var e=function(e){p(),r&&r(e)};return null==v||null==v.addEventListener||v.addEventListener("change",e),i&&(null==v||null==v.addEventListener||v.addEventListener("mouseDown",i)),a&&(null==v||null==v.addEventListener||v.addEventListener("mouseUp",a)),u&&(null==v||null==v.addEventListener||v.addEventListener("objectChange",u)),function(){null==v||null==v.removeEventListener||v.removeEventListener("change",e),i&&(null==v||null==v.removeEventListener||v.removeEventListener("mouseDown",i)),a&&(null==v||null==v.removeEventListener||v.removeEventListener("mouseUp",a)),u&&(null==v||null==v.removeEventListener||v.removeEventListener("objectChange",u))}}),[r,i,a,u,v,p]),v?F.createElement(F.Fragment,null,F.createElement("primitive",g.default({ref:n,dispose:void 0,object:v},m)),F.createElement("group",g.default({ref:E},d),t)):null})),he=F.forwardRef((function(e,n){var t=e.selector,r=e.onChange,i=e.onLock,a=e.onUnlock,u=x.default(e,["selector","onChange","onLock","onUnlock"]),c=u.camera,l=x.default(u,["camera"]),f=o.useThree((function(e){return e.gl})),C=o.useThree((function(e){return e.camera})),m=o.useThree((function(e){return e.invalidate})),d=c||C,A=F.useState((function(){return new s.PointerLockControls(d,f.domElement)}))[0];return F.useEffect((function(){var e=function(e){m(),r&&r(e)};return null==A||null==A.addEventListener||A.addEventListener("change",e),i&&(null==A||null==A.addEventListener||A.addEventListener("lock",i)),a&&(null==A||null==A.addEventListener||A.addEventListener("unlock",a)),function(){null==A||null==A.removeEventListener||A.removeEventListener("change",e),i&&(null==A||null==A.addEventListener||A.addEventListener("lock",i)),a&&(null==A||null==A.addEventListener||A.addEventListener("unlock",a))}}),[r,i,a,A,m]),F.useEffect((function(){var e=function(){return null==A?void 0:A.lock()},n=t?Array.from(document.querySelectorAll(t)):[document];return n.forEach((function(n){return n&&n.addEventListener("click",e)})),function(){n.forEach((function(n){return n?n.removeEventListener("click",e):void 0}))}}),[A,t]),A?F.createElement("primitive",g.default({ref:n,dispose:void 0,object:A},l)):null})),ge=F.forwardRef((function(e,n){var t=o.useThree((function(e){return e.camera})),r=o.useThree((function(e){return e.gl})),i=F.useState((function(){return new s.FirstPersonControls(t,r.domElement)}))[0];return o.useFrame((function(e,n){i.update(n)})),i?F.createElement("primitive",g.default({ref:n,object:i},e)):null}));function xe(e,n){var t=o.useThree((function(e){return e.mouse}));return F.useState((function(){var i=new r.Raycaster;return n&&o.applyProps(i,n,{}),function(n,o){i.setFromCamera(t,e instanceof r.Camera?e:e.current);var a=this.constructor.prototype.raycast.bind(this);a&&a(i,o)}}))[0]}var Fe=F.createContext({}),we=function(){return F.useContext(Fe)},ye=2*Math.PI,be=new r.Object3D,Pe=new r.Matrix4,Se=new r.Quaternion,Me=new r.Quaternion,ze=new r.Vector3,Te=new r.Vector3,Le="#f0f0f0",Re="#999",Oe="black",ke="black",Ge=["Right","Left","Top","Bottom","Front","Back"],je=function(e){return P.default(r.Vector3,e).multiplyScalar(.38)},He=[[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]].map(je),Ne=[.25,.25,.25],Ue=[[1,1,0],[1,0,1],[1,0,-1],[1,-1,0],[0,1,1],[0,1,-1],[0,-1,1],[0,-1,-1],[-1,1,0],[-1,0,1],[-1,0,-1],[-1,-1,0]].map(je),Qe=Ue.map((function(e){return e.toArray().map((function(e){return 0==e?.5:.25}))})),Ye=function(e){var n=e.hover,t=e.index,o=e.font,i=void 0===o?"20px Inter var, Arial, sans-serif":o,a=e.faces,u=void 0===a?Ge:a,c=e.color,s=void 0===c?Le:c,l=e.hoverColor,f=void 0===l?Re:l,C=e.textColor,m=void 0===C?Oe:C,d=e.strokeColor,A=void 0===d?ke:d,_=e.opacity,p=void 0===_?1:_,B=F.useMemo((function(){var e=document.createElement("canvas");e.width=128,e.height=128;var n=e.getContext("2d");return n.fillStyle=s,n.fillRect(0,0,e.width,e.height),n.strokeStyle=A,n.strokeRect(0,0,e.width,e.height),n.font=i,n.textAlign="center",n.fillStyle=m,n.fillText(u[t].toUpperCase(),64,76),new r.CanvasTexture(e)}),[t,i,s,m,A]);return F.createElement("meshLambertMaterial",{map:B,attachArray:"material",color:n?f:"white",transparent:!0,opacity:p})},We=function(e){var n=we(),t=n.tweenCamera,r=n.raycast,o=F.useState(null),i=o[0],a=o[1];return F.createElement("mesh",{raycast:r,onPointerOut:function(e){e.stopPropagation(),a(null)},onPointerMove:function(e){e.stopPropagation(),a(Math.floor(e.faceIndex/2))},onClick:e.onClick||function(e){e.stopPropagation(),t(e.face.normal)}},[].concat(Array(6)).map((function(n,t){return F.createElement(Ye,g.default({key:t,index:t,hover:i===t},e))})),F.createElement("boxGeometry",null))},Ie=function(e){var n=e.onClick,t=e.dimensions,r=e.position,o=e.hoverColor,i=void 0===o?Re:o,a=we(),u=a.tweenCamera,c=a.raycast,s=F.useState(!1),l=s[0],f=s[1];return F.createElement("mesh",{scale:1.01,position:r,raycast:c,onPointerOver:function(e){e.stopPropagation(),f(!0)},onPointerOut:function(e){e.stopPropagation(),f(!1)},onClick:n||function(e){e.stopPropagation(),u(r)}},F.createElement("meshBasicMaterial",{color:l?i:"white",transparent:!0,opacity:.6,visible:l}),F.createElement("boxGeometry",{args:t}))};function Ve(e){var n=e.color,t=e.rotation;return F.createElement("group",{rotation:t},F.createElement("mesh",{position:[.4,0,0]},F.createElement("boxGeometry",{args:[.8,.05,.05]}),F.createElement("meshBasicMaterial",{color:n,toneMapped:!1})))}function Xe(e){var n=e.onClick,t=e.font,o=e.disabled,i=e.arcStyle,a=e.label,u=e.labelColor,c=x.default(e,["onClick","font","disabled","arcStyle","label","labelColor"]),s=F.useMemo((function(){var e=document.createElement("canvas");e.width=64,e.height=64;var n=e.getContext("2d");return n.beginPath(),n.arc(32,32,16,0,2*Math.PI),n.closePath(),n.fillStyle=i,n.fill(),a&&(n.font=t,n.textAlign="center",n.fillStyle=u,n.fillText(a,32,41)),new r.CanvasTexture(e)}),[i,a,u,t]),l=F.useState(!1),f=l[0],C=l[1],m=(a?1:.75)*(f?1.2:1);return F.createElement("sprite",g.default({scale:m,onPointerOver:o?void 0:function(e){e.stopPropagation(),C(!0)},onPointerOut:o?void 0:n||function(e){e.stopPropagation(),C(!1)}},c),F.createElement("spriteMaterial",{map:s,alphaTest:.3,opacity:a?1:.75,toneMapped:!1}))}function Ze(e,n){var t=n.path;return o.useLoader(r.CubeTextureLoader,[e],(function(e){return e.setPath(t)}))[0]}function Ke(e){return o.useLoader(s.FBXLoader,e)}function Je(e,n,t){return function(r){if(t&&t(r),e){var o=new s.DRACOLoader;o.setDecoderPath("string"==typeof e?e:"https://www.gstatic.com/draco/v1/decoders/"),r.setDRACOLoader(o)}n&&r.setMeshoptDecoder(s.MeshoptDecoder)}}function qe(e,n,t,r){return void 0===n&&(n=!0),void 0===t&&(t=!0),o.useLoader(s.GLTFLoader,e,Je(n,t,r))}Ze.preload=function(e,n){var t=n.path;return o.useLoader.preload(r.CubeTextureLoader,[e],(function(e){return e.setPath(t)}))},Ke.preload=function(e){return o.useLoader.preload(s.FBXLoader,e)},Ke.clear=function(e){return o.useLoader.clear(s.FBXLoader,e)},qe.preload=function(e,n,t,r){return void 0===n&&(n=!0),void 0===t&&(t=!0),o.useLoader.preload(s.GLTFLoader,e,Je(n,t,r))},qe.clear=function(e){return o.useLoader.clear(s.GLTFLoader,e)};var $e=function(e){function n(n){var t;return void 0===n&&(n={}),(t=e.call(this,n)||this)._debug={value:0},t._tDepth={value:null},t._distortionMap={value:null},t._tDiffuse={value:null},t._u_mipmap_0={value:null},t._u_mipmap_1={value:null},t._u_mipmap_2={value:null},t._u_mipmap_3={value:null},t._u_mipmap_4={value:null},t._u_mipmap_5={value:null},t._u_mipmap_6={value:null},t._u_mipmap_7={value:null},t._u_mipmap_res_0={value:null},t._u_mipmap_res_1={value:null},t._u_mipmap_res_2={value:null},t._u_mipmap_res_3={value:null},t._u_mipmap_res_4={value:null},t._u_mipmap_res_5={value:null},t._u_mipmap_res_6={value:null},t._u_mipmap_res_7={value:null},t._textureMatrix={value:null},t._mirror={value:0},t._mixBlur={value:0},t._blurStrength={value:.5},t._minDepthThreshold={value:.9},t._maxDepthThreshold={value:1},t._depthScale={value:0},t._depthToBlurRatioBias={value:.25},t._distortion={value:1},t.setValues(n),t}return T.default(n,e),n.prototype.onBeforeCompile=function(e){var n;null!=(n=e.defines)&&n.USE_UV||(e.defines.USE_UV=""),e.uniforms.debug=this._debug,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.u_mipmap_0=this._u_mipmap_0,e.uniforms.u_mipmap_1=this._u_mipmap_1,e.uniforms.u_mipmap_2=this._u_mipmap_2,e.uniforms.u_mipmap_3=this._u_mipmap_3,e.uniforms.u_mipmap_4=this._u_mipmap_4,e.uniforms.u_mipmap_5=this._u_mipmap_5,e.uniforms.u_mipmap_6=this._u_mipmap_6,e.uniforms.u_mipmap_7=this._u_mipmap_7,e.uniforms.u_mipmap_res_0=this._u_mipmap_res_0,e.uniforms.u_mipmap_res_1=this._u_mipmap_res_1,e.uniforms.u_mipmap_res_2=this._u_mipmap_res_2,e.uniforms.u_mipmap_res_3=this._u_mipmap_res_3,e.uniforms.u_mipmap_res_4=this._u_mipmap_res_4,e.uniforms.u_mipmap_res_5=this._u_mipmap_res_5,e.uniforms.u_mipmap_res_6=this._u_mipmap_res_6,e.uniforms.u_mipmap_res_7=this._u_mipmap_res_7,e.uniforms.textureMatrix=this._textureMatrix,e.uniforms.mirror=this._mirror,e.uniforms.mixBlur=this._mixBlur,e.uniforms.mixStrength=this._blurStrength,e.uniforms.minDepthThreshold=this._minDepthThreshold,e.uniforms.maxDepthThreshold=this._maxDepthThreshold,e.uniforms.depthScale=this._depthScale,e.uniforms.depthToBlurRatioBias=this._depthToBlurRatioBias,e.uniforms.distortion=this._distortion,e.vertexShader="\n uniform mat4 textureMatrix;\n varying vec4 my_vUv; \n "+e.vertexShader,e.vertexShader=e.vertexShader.replace("#include <project_vertex>","#include <project_vertex>\n my_vUv = textureMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"),e.fragmentShader="\n uniform int debug;\n uniform sampler2D tDiffuse;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform sampler2D u_mipmap_0;\n uniform sampler2D u_mipmap_1;\n uniform sampler2D u_mipmap_2;\n uniform sampler2D u_mipmap_3;\n uniform sampler2D u_mipmap_4;\n uniform sampler2D u_mipmap_5;\n uniform sampler2D u_mipmap_6;\n uniform sampler2D u_mipmap_7;\n uniform vec2 u_mipmap_res_0;\n uniform vec2 u_mipmap_res_1;\n uniform vec2 u_mipmap_res_2;\n uniform vec2 u_mipmap_res_3;\n uniform vec2 u_mipmap_res_4;\n uniform vec2 u_mipmap_res_5;\n uniform vec2 u_mipmap_res_6;\n uniform vec2 u_mipmap_res_7;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv; \n \n // from http://www.java-gaming.org/index.php?topic=35123.0\n vec4 cubic( float v ) {\n vec4 n = vec4( 1.0, 2.0, 3.0, 4.0 ) - v;\n vec4 s = n * n * n;\n float x = s.x;\n float y = s.y - 4.0 * s.x;\n float z = s.z - 4.0 * s.y + 6.0 * s.x;\n float w = 6.0 - x - y - z;\n return vec4( x, y, z, w ) * ( 1.0 / 6.0 );\n }\n \n vec4 textureBicubic( sampler2D sampler, vec2 texCoords, vec2 texSize ) {\n vec2 invTexSize = 1.0 / texSize;\n texCoords = texCoords * texSize - 0.5;\n vec2 fxy = fract( texCoords );\n texCoords -= fxy;\n\n vec4 xcubic = cubic( fxy.x );\n vec4 ycubic = cubic( fxy.y );\n vec4 c = texCoords.xxyy + vec2 ( - 0.5, + 1.5 ).xyxy;\n vec4 s = vec4( xcubic.xz + xcubic.yw, ycubic.xz + ycubic.yw );\n\n vec4 offset = c + vec4( xcubic.yw, ycubic.yw ) / s;\n offset *= invTexSize.xxyy;\n \n vec4 sample0 = texture2D( sampler, offset.xz);\n vec4 sample1 = texture2D( sampler, offset.yz);\n vec4 sample2 = texture2D( sampler, offset.xw);\n vec4 sample3 = texture2D( sampler, offset.yw);\n \n float sx = s.x / ( s.x + s.y );\n float sy = s.z / ( s.z + s.w );\n\n return mix(\n mix(\n sample3,\n sample2,\n sx\n ),\n mix(\n sample1,\n sample0,\n sx\n ),\n sy\n );\n }\n\n\n "+e.fragmentShader,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n \n float depthFactor = 1.0;\n float distortionFactor = 0.0;\n vec3 my_normal = vec3(0.0);\n float reflectorRoughnessFactor = roughness;\n vec3 coord = my_vUv.xyz / my_vUv.w;\n\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n #ifdef USE_NORMALMAP\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b , normalColor.g * 2.0 - 1.0 ) );\n #endif\n\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n vec2 proj_vUv = coord.xy + coord.z * my_normal.xz * 0.01;\n proj_vUv.x += distortionFactor;\n proj_vUv.y += distortionFactor;\n \n float lod = 1.0 - min(1.0, mixBlur * reflectorRoughnessFactor);\n\n #ifdef USE_DEPTH\n vec4 depth = texture2D(tDepth, proj_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor + depthToBlurRatioBias));\n #endif\n\n vec4 baseColor = texture2D(tDiffuse, proj_vUv);\n vec4 mixedColor;\n\n float _lod = (1.0 - pow(1.0 - lod, 4.0)) * 8.0;\n if (_lod < 1.) {\n vec4 one = textureBicubic(u_mipmap_7, proj_vUv, u_mipmap_res_7);\n vec4 two = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n mixedColor = mix(one, two, _lod);\n } else if (_lod < 2.) {\n vec4 one = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n vec4 two = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n mixedColor = mix(one, two, _lod - 1.0);\n } else if (_lod < 3.) {\n vec4 one = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n vec4 two = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n mixedColor = mix(one, two, _lod - 2.0);\n } else if (_lod < 4.) {\n vec4 one = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n vec4 two = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n mixedColor = mix(one, two, _lod - 3.0);\n } else if (_lod < 5.) {\n vec4 one = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n vec4 two = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n mixedColor = mix(one, two, _lod - 4.0);\n } else if (_lod < 6.) {\n vec4 one = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n vec4 two = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n mixedColor = mix(one, two, _lod - 5.0);\n } else if (_lod < 7.) {\n vec4 one = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n vec4 two = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, two, _lod - 6.0);\n } else {\n vec4 one = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, baseColor, _lod - 7.0);\n }\n\n mixedColor.rgb *= depthFactor;\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + mixedColor.rgb * mixStrength); \n diffuseColor = sRGBToLinear(diffuseColor);\n\n if (debug == 1) {\n diffuseColor = sRGBToLinear(vec4(vec3(depthFactor), 1.0));\n }\n if (debug == 2) {\n diffuseColor = sRGBToLinear(texture2D(tDiffuse, proj_vUv));\n }\n if (debug == 3) {\n diffuseColor = sRGBToLinear(texture2D(distortionMap, vUv));\n }\n if (debug == 4) {\n diffuseColor = sRGBToLinear(vec4(vec3(lod), 1.0));\n }\n ")},z.default(n,[{key:"tDiffuse",get:function(){return this._tDiffuse.value},set:function(e){this._tDiffuse.value=e}},{key:"tDepth",get:function(){return this._tDepth.value},set:function(e){this._tDepth.value=e}},{key:"distortionMap",get:function(){return this._distortionMap.value},set:function(e){this._distortionMap.value=e}},{key:"u_mipmap_0",get:function(){return this._u_mipmap_0.value},set:function(e){this._u_mipmap_0.value=e}},{key:"u_mipmap_1",get:function(){return this._u_mipmap_1.value},set:function(e){this._u_mipmap_1.value=e}},{key:"u_mipmap_2",get:function(){return this._u_mipmap_2.value},set:function(e){this._u_mipmap_2.value=e}},{key:"u_mipmap_3",get:function(){return this._u_mipmap_3.value},set:function(e){this._u_mipmap_3.value=e}},{key:"u_mipmap_4",get:function(){return this._u_mipmap_4.value},set:function(e){this._u_mipmap_4.value=e}},{key:"u_mipmap_5",get:function(){return this._u_mipmap_5.value},set:function(e){this._u_mipmap_5.value=e}},{key:"u_mipmap_6",get:function(){return this._u_mipmap_6.value},set:function(e){this._u_mipmap_6.value=e}},{key:"u_mipmap_7",get:function(){return this._u_mipmap_7.value},set:function(e){this._u_mipmap_7.value=e}},{key:"u_mipmap_res_0",get:function(){return this._u_mipmap_res_0.value},set:function(e){this._u_mipmap_res_0.value=e}},{key:"u_mipmap_res_1",get:function(){return this._u_mipmap_res_1.value},set:function(e){this._u_mipmap_res_1.value=e}},{key:"u_mipmap_res_2",get:function(){return this._u_mipmap_res_2.value},set:function(e){this._u_mipmap_res_2.value=e}},{key:"u_mipmap_res_3",get:function(){return this._u_mipmap_res_3.value},set:function(e){this._u_mipmap_res_3.value=e}},{key:"u_mipmap_res_4",get:function(){return this._u_mipmap_res_4.value},set:function(e){this._u_mipmap_res_4.value=e}},{key:"u_mipmap_res_5",get:function(){return this._u_mipmap_res_5.value},set:function(e){this._u_mipmap_res_5.value=e}},{key:"u_mipmap_res_6",get:function(){return this._u_mipmap_res_6.value},set:function(e){this._u_mipmap_res_6.value=e}},{key:"u_mipmap_res_7",get:function(){return this._u_mipmap_res_7.value},set:function(e){this._u_mipmap_res_7.value=e}},{key:"textureMatrix",get:function(){return this._textureMatrix.value},set:function(e){this._textureMatrix.value=e}},{key:"mirror",get:function(){return this._mirror.value},set:function(e){this._mirror.value=e}},{key:"mixBlur",get:function(){return this._mixBlur.value},set:function(e){this._mixBlur.value=e}},{key:"mixStrength",get:function(){return this._blurStrength.value},set:function(e){this._blurStrength.value=e}},{key:"minDepthThreshold",get:function(){return this._minDepthThreshold.value},set:function(e){this._minDepthThreshold.value=e}},{key:"maxDepthThreshold",get:function(){return this._maxDepthThreshold.value},set:function(e){this._maxDepthThreshold.value=e}},{key:"depthScale",get:function(){return this._depthScale.value},set:function(e){this._depthScale.value=e}},{key:"debug",get:function(){return this._debug.value},set:function(e){this._debug.value=e}},{key:"depthToBlurRatioBias",get:function(){return this._depthToBlurRatioBias.value},set:function(e){this._depthToBlurRatioBias.value=e}},{key:"distortion",get:function(){return this._distortion.value},set:function(e){this._distortion.value=e}}]),n}(r.MeshStandardMaterial);o.extend({MeshReflectorMaterial:$e});var en=F.forwardRef((function(e,n){var t=e.mixBlur,i=void 0===t?0:t,a=e.mixStrength,u=void 0===a?.5:a,c=e.resolution,s=void 0===c?256:c,l=e.args,f=void 0===l?[1,1]:l,C=e.minDepthThreshold,m=void 0===C?.9:C,d=e.maxDepthThreshold,A=void 0===d?1:d,_=e.depthScale,p=void 0===_?0:_,B=e.depthToBlurRatioBias,v=void 0===B?.25:B,E=e.mirror,D=e.children,h=e.debug,w=void 0===h?0:h,y=e.distortion,P=void 0===y?1:y,S=e.distortionMap,M=x.default(e,["mixBlur","mixStrength","resolution","args","minDepthThreshold","maxDepthThreshold","depthScale","depthToBlurRatioBias","mirror","children","debug","distortion","distortionMap"]),z=o.useThree((function(e){return e.gl})),T=o.useThree((function(e){return e.camera})),L=o.useThree((function(e){return e.scene})),R=F.useRef(null),O=F.useState((function(){return new r.Plane}))[0],k=F.useState((function(){return new r.Vector3}))[0],G=F.useState((function(){return new r.Vector3}))[0],j=F.useState((function(){return new r.Vector3}))[0],H=F.useState((function(){return new r.Matrix4}))[0],N=F.useState((function(){return new r.Vector3(0,0,-1)}))[0],U=F.useState((function(){return new r.Vector4}))[0],Q=F.useState((function(){return new r.Vector3}))[0],Y=F.useState((function(){return new r.Vector3}))[0],W=F.useState((function(){return new r.Vector4}))[0],I=F.useState((function(){return new r.Matrix4}))[0],V=F.useState((function(){return new r.PerspectiveCamera}))[0],X=F.useState((function(){for(var e=[],n={minFilter:r.LinearFilter,magFilter:r.LinearFilter,format:r.RGBFormat,encoding:z.outputEncoding},t=0;t<8;t++){var o=Math.max(8,Math.round(s/Math.pow(2,t))),i=new r.WebGLRenderTarget(o,o,n);i.texture.generateMipmaps=!1,e.push(i)}return e}))[0],Z=F.useCallback((function(){if(G.setFromMatrixPosition(R.current.matrixWorld),j.setFromMatrixPosition(T.matrixWorld),H.extractRotation(R.current.matrixWorld),k.set(0,0,1),k.applyMatrix4(H),Q.subVectors(G,j),!(Q.dot(k)>0)){Q.reflect(k).negate(),Q.add(G),H.extractRotation(T.matrixWorld),N.set(0,0,-1),N.applyMatrix4(H),N.add(j),Y.subVectors(G,N),Y.reflect(k).negate(),Y.add(G),V.position.copy(Q),V.up.set(0,1,0),V.up.applyMatrix4(H),V.up.reflect(k),V.lookAt(Y),V.far=T.far,V.updateMatrixWorld(),V.projectionMatrix.copy(T.projectionMatrix),I.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),I.multiply(V.projectionMatrix),I.multiply(V.matrixWorldInverse),I.multiply(R.current.matrixWorld),O.setFromNormalAndCoplanarPoint(k,G),O.applyMatrix4(V.matrixWorldInverse),U.set(O.normal.x,O.normal.y,O.normal.z,O.constant);var e=V.projectionMatrix;W.x=(Math.sign(U.x)+e.elements[8])/e.elements[0],W.y=(Math.sign(U.y)+e.elements[9])/e.elements[5],W.z=-1,W.w=(1+e.elements[10])/e.elements[14],U.multiplyScalar(2/U.dot(W)),e.elements[2]=U.x,e.elements[6]=U.y,e.elements[10]=U.z+1,e.elements[14]=U.w}}),[T.far,T.matrixWorld,T.projectionMatrix,j,U,N,k,W,O,G,H,Y,I,Q,V]),K=F.useMemo((function(){var e={minFilter:r.LinearFilter,magFilter:r.LinearFilter,format:r.RGBFormat,encoding:z.outputEncoding},n=new r.WebGLRenderTarget(s,s,e);p>0&&(n.depthBuffer=!0,n.depthTexture=new r.DepthTexture(s,s),n.depthTexture.format=r.DepthFormat,n.depthTexture.type=r.UnsignedShortType);var t=X.reduce((function(e,n,t){return e["u_mipmap_"+t]=n.texture,e["u_mipmap_res_"+t]=new r.Vector2(n.width,n.height),e}),{});return[n,g.default({mirror:E,textureMatrix:I,mixBlur:i,tDiffuse:n.texture,tDepth:n.depthTexture,mixStrength:u,minDepthThreshold:m,maxDepthThreshold:A,depthScale:p,depthToBlurRatioBias:v,debug:w,distortion:P,distortionMap:S,"defines-USE_DEPTH":p>0?"":void 0,"defines-USE_DISTORTION":S?"":void 0},t)]}),[z,I,s,E,i,u,m,A,p,v,w,P,S,X]),J=K[0],q=K[1];return o.useFrame((function(){if(null!=R&&R.current){R.current.visible=!1;var e=z.xr.enabled,n=z.shadowMap.autoUpdate;Z(),z.xr.enabled=!1,z.shadowMap.autoUpdate=!1,z.setRenderTarget(J),z.state.buffers.depth.setMask(!0),z.autoClear||z.clear(),z.render(L,V),0!==i&&X.forEach((function(e){z.setRenderTarget(e),z.state.buffers.depth.setMask(!0),z.render(L,V)})),z.xr.enabled=e,z.shadowMap.autoUpdate=n,R.current.visible=!0,z.setRenderTarget(null)}})),F.createElement("mesh",g.default({ref:b.default([R,n])},M),F.createElement("planeBufferGeometry",{args:f}),D?D("meshReflectorMaterial",q):F.createElement("meshReflectorMaterial",q))})),nn=F.forwardRef((function(e,n){var t=e.fog,o=void 0!==t&&t,i=e.colorStop,a=void 0===i?0:i,u=e.color,c=void 0===u?"black":u,s=e.opacity,l=void 0===s?.5:s,f=x.default(e,["fog","colorStop","color","opacity"]),C=F.useMemo((function(){var e=document.createElement("canvas");e.width=128,e.height=128;var n=e.getContext("2d"),t=n.createRadialGradient(e.width/2,e.height/2,0,e.width/2,e.height/2,e.width/2);return t.addColorStop(a,new r.Color(c).getStyle()),t.addColorStop(1,"rgba(0,0,0,0)"),n.fillStyle=t,n.fillRect(0,0,e.width,e.height),e}),[c,a]);return F.createElement("mesh",g.default({ref:n},f),F.createElement("planeBufferGeometry",{attach:"geometry",args:[1,1]}),F.createElement("meshBasicMaterial",{attach:"material",transparent:!0,opacity:l,fog:o},F.createElement("canvasTexture",{attach:"map",args:[C]})))}));function tn(e,n){"function"==typeof e?e(n):null!=e&&(e.current=n)}var rn=F.forwardRef((function(e,n){var t=e.children,o=e.alignTop,i=x.default(e,["children","alignTop"]),a=F.useRef(null),u=F.useRef(null);return F.useLayoutEffect((function(){a.current.position.set(0,0,0),a.current.updateWorldMatrix(!0,!0);var e=(new r.Box3).setFromObject(u.current),n=new r.Vector3,t=new r.Sphere,i=e.max.y-e.min.y;e.getCenter(n),e.getBoundingSphere(t),a.current.position.set(-n.x,-n.y+(o?i/2:0),-n.z)}),[t]),F.createElement("group",g.default({ref:n},i),F.createElement("group",{ref:a},F.createElement("group",{ref:u},t)))}));function on(e,n,r){var i=o.useThree((function(e){return e.gl})),a=o.useThree((function(e){return e.size})),u=t.useMemo((function(){return i.getPixelRatio()}),[i]),c="number"==typeof e?e:a.width*u,s="number"==typeof n?n:a.height*u,l=("number"==typeof e?r:e)||{},f=t.useMemo((function(){var e,n=l.multisample,t=l.samples,r=x.default(l,["multisample","samples"]);return n&&i.capabilities.isWebGL2?(e=new w.WebGLMultisampleRenderTarget(c,s,r),t&&(e.samples=t)):e=new w.WebGLRenderTarget(c,s,r),e}),[]);return t.useEffect((function(){f.setSize(c,s)}),[f,c,s]),t.useEffect((function(){return function(){return f.dispose()}}),[]),f}var an=F.forwardRef((function(e,n){var t=e.size,i=void 0===t?256:t,a=o.useThree((function(e){return e.viewport.dpr})),u=o.useThree((function(e){return e.size})),c=u.width,s=u.height,l=i||c*a,f=i||s*a,C=F.useMemo((function(){var e=new r.DepthTexture(l,f);return e.format=r.DepthFormat,e.type=r.UnsignedShortType,{depthTexture:e}}),[l,f]),m=on(l,f,C);return F.useImperativeHandle(n,(function(){return null==m?void 0:m.depthTexture})),o.useFrame((function(e){e.gl.setRenderTarget(m),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null)}))}));var un=F.forwardRef((function(e,n){var t=e.children,r=e.curve,o=F.useState(),i=o[0],a=o[1],u=F.useRef(),c=F.useRef();return F.useImperativeHandle(n,(function(){return{moveAlongCurve:function(e){var n;null==(n=c.current)||n.moveAlongCurve(e)}}})),F.useEffect((function(){!c.current&&u.current&&n&&(c.current=new s.Flow(u.current),a(c.current.object3D))}),[t,n]),F.useEffect((function(){var e;u.current&&r&&(null==(e=c.current)||e.updateCurve(0,r))}),[r]),i?F.createElement("primitive",{object:i}):F.cloneElement(F.Children.only(t),{ref:u})})),cn=function(e){function n(n){var t;return void 0===n&&(n={}),(t=e.call(this,n)||this).setValues(n),t._time={value:0},t._distort={value:.4},t._radius={value:1},t}return T.default(n,e),n.prototype.onBeforeCompile=function(e){e.uniforms.time=this._time,e.uniforms.radius=this._radius,e.uniforms.distort=this._distort,e.vertexShader="\n uniform float time;\n uniform float radius;\n uniform float distort;\n #define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}\n "+e.vertexShader+"\n ",e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","\n float updateTime = time / 50.0;\n float noise = snoise(vec3(position / 2.0 + updateTime * 5.0));\n vec3 transformed = vec3(position * (noise * pow(distort, 2.0) + radius));\n ")},z.default(n,[{key:"time",get:function(){return this._time.value},set:function(e){this._time.value=e}},{key:"distort",get:function(){return this._distort.value},set:function(e){this._distort.value=e}},{key:"radius",get:function(){return this._radius.value},set:function(e){this._radius.value=e}}]),n}(r.MeshPhysicalMaterial),sn=F.forwardRef((function(e,n){var t=e.speed,r=void 0===t?1:t,i=x.default(e,["speed"]),a=F.useState((function(){return new cn}))[0];return o.useFrame((function(e){return a&&(a.time=e.clock.getElapsedTime()*r)})),F.createElement("primitive",g.default({dispose:void 0,object:a,ref:n,attach:"material"},i))})),ln=function(e){function n(n){var t;return void 0===n&&(n={}),(t=e.call(this,n)||this).setValues(n),t._time={value:0},t._factor={value:1},t}return T.default(n,e),n.prototype.onBeforeCompile=function(e){e.uniforms.time=this._time,e.uniforms.factor=this._factor,e.vertexShader="\n uniform float time;\n uniform float factor;\n "+e.vertexShader+"\n ",e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","float theta = sin( time + position.y ) / 2.0 * factor;\n float c = cos( theta );\n float s = sin( theta );\n mat3 m = mat3( c, 0, s, 0, 1, 0, -s, 0, c );\n vec3 transformed = vec3( position ) * m;\n vNormal = vNormal * m;")},z.default(n,[{key:"time",get:function(){return this._time.value},set:function(e){this._time.value=e}},{key:"factor",get:function(){return this._factor.value},set:function(e){this._factor.value=e}}]),n}(r.MeshStandardMaterial),fn=F.forwardRef((function(e,n){var t=e.speed,r=void 0===t?1:t,i=x.default(e,["speed"]),a=F.useState((function(){return new ln}))[0];return o.useFrame((function(e){return a&&(a.time=e.clock.getElapsedTime()*r)})),F.createElement("primitive",g.default({dispose:void 0,object:a,ref:n,attach:"material"},i))})),Cn=function(e){function n(){return e.call(this,{transparent:!0,uniforms:{size:{value:1}},vertexShader:w.ShaderLib.points.vertexShader,fragmentShader:"\n varying vec3 vColor;\n void main() {\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r);\n vec3 color = vColor;\n #ifdef TONE_MAPPING\n color = toneMapping(color);\n #endif\n gl_FragColor = linearToOutputTexel(vec4(color, 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r)));\n }",vertexColors:!0})||this}return T.default(n,e),z.default(n,[{key:"scale",get:function(){return this.uniforms.size.value},set:function(e){this.uniforms.size.value=e}}]),n}(w.ShaderMaterial),mn=F.forwardRef((function(e,n){var t=F.useState((function(){return new Cn}))[0];return F.createElement("primitive",g.default({object:t,ref:n,attach:"material"},e))}));function dn(e,n,t){void 0===t&&(t=new r.Vector3);var o=Math.PI*(e-.5),i=2*Math.PI*(n-.5);return t.x=Math.cos(i),t.y=Math.sin(o),t.z=Math.sin(i),t}var An=F.forwardRef((function(e,n){var t=e.inclination,o=void 0===t?0:t,i=e.azimuth,a=void 0===i?.25:i,u=e.distance,c=void 0===u?100:u,l=e.mieCoefficient,f=void 0===l?.005:l,C=e.mieDirectionalG,m=void 0===C?.8:C,d=e.rayleigh,A=void 0===d?1:d,_=e.turbidity,p=void 0===_?2:_,B=e.sunPosition,v=void 0===B?dn(o,a):B,E=x.default(e,["inclination","azimuth","distance","mieCoefficient","mieDirectionalG","rayleigh","turbidity","sunPosition"]),D=F.useMemo((function(){return(new r.Vector3).setScalar(c)}),[c]),h=F.useState((function(){return new s.Sky}))[0];return F.createElement("primitive",g.default({dispose:void 0,object:h,ref:n,"material-uniforms-mieCoefficient-value":f,"material-uniforms-mieDirectionalG-value":m,"material-uniforms-rayleigh-value":A,"material-uniforms-sunPosition-value":v,"material-uniforms-turbidity-value":p,scale:D},E))})),_n=!1,pn=function(e){function n(){return e.call(this,{uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(mvPosition.x + 2.0 * time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:"\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n }"})||this}return T.default(n,e),n}(r.ShaderMaterial),Bn=function(e){return(new r.Vector3).setFromSpherical(new r.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI))},vn=F.forwardRef((function(e,n){var t=e.radius,i=void 0===t?100:t,a=e.depth,u=void 0===a?50:a,c=e.count,s=void 0===c?5e3:c,l=e.saturation,f=void 0===l?0:l,C=e.factor,m=void 0===C?4:C,d=e.fade,A=void 0!==d&&d,_=F.useRef(),p=F.useMemo((function(){for(var e=[],n=[],t=Array.from({length:s},(function(){return(.5+.5*Math.random())*m})),o=new r.Color,a=i+u,c=u/s,l=0;l<s;l++)a-=c*Math.random(),e.push.apply(e,Bn(a).toArray()),o.setHSL(l/s,f,.9),n.push(o.r,o.g,o.b);return[new Float32Array(e),new Float32Array(n),new Float32Array(t)]}),[s,u,m,i,f]),B=p[0],v=p[1],E=p[2];o.useFrame((function(e){return _.current&&(_.current.uniforms.time.value=e.clock.getElapsedTime())}));var D=F.useState((function(){return new pn}))[0];return F.createElement("points",{ref:n},F.createElement("bufferGeometry",{attach:"geometry"},F.createElement("bufferAttribute",{attachObject:["attributes","position"],args:[B,3]}),F.createElement("bufferAttribute",{attachObject:["attributes","color"],args:[v,3]}),F.createElement("bufferAttribute",{attachObject:["attributes","size"],args:[E,1]})),F.createElement("primitive",{dispose:void 0,ref:_,object:D,attach:"material",blending:r.AdditiveBlending,"uniforms-fade-value":A,transparent:!0,vertexColors:!0}))})),En=F.forwardRef((function(e,n){var t=e.frames,r=void 0===t?1/0:t,i=e.opacity,a=void 0===i?1:i,u=e.width,c=void 0===u?1:u,l=e.height,f=void 0===l?1:l,C=e.blur,m=void 0===C?1:C,d=e.far,A=void 0===d?10:d,_=e.resolution,p=void 0===_?256:_,B=x.default(e,["frames","opacity","width","height","blur","far","resolution"]),v=o.useThree((function(e){return e.scene})),E=o.useThree((function(e){return e.gl})),D=F.useRef(),h=F.useMemo((function(){var e=new w.WebGLRenderTarget(p,p),n=new w.WebGLRenderTarget(p,p);n.texture.generateMipmaps=e.texture.generateMipmaps=!1;var t=new w.PlaneBufferGeometry(c,f).rotateX(Math.PI/2),r=new w.Mesh(t),o=new w.MeshDepthMaterial;o.depthTest=o.depthWrite=!1,o.onBeforeCompile=function(e){return e.fragmentShader=e.fragmentShader.replace("1.0 - fragCoordZ ), opacity );","0.0 ), ( 1.0 - fragCoordZ ) * 1.0 );")};var i=new w.ShaderMaterial(s.HorizontalBlurShader),a=new w.ShaderMaterial(s.VerticalBlurShader);return a.depthTest=i.depthTest=!1,[e,t,o,r,i,a,n]}),[p,c,f]),y=h[0],b=h[1],P=h[2],S=h[3],M=h[4],z=h[5],T=h[6],L=0;return o.useFrame((function(){if(D.current&&(r===1/0||L<r)){var e=v.background;v.background=null,v.overrideMaterial=P,E.setRenderTarget(y),E.render(v,D.current),v.overrideMaterial=null,S.material=M,S.material.uniforms.tDiffuse.value=y.texture,M.uniforms.h.value=m/256,E.setRenderTarget(T),E.render(S,D.current),S.material=z,S.material.uniforms.tDiffuse.value=T.texture,z.uniforms.v.value=m/256,E.setRenderTarget(y),E.render(S,D.current),E.setRenderTarget(null),v.background=e,L++}})),F.createElement("group",g.default({},B,{ref:n}),F.createElement("mesh",{geometry:b,scale:[1,-1,1],rotation:[-Math.PI/2,0,0]},F.createElement("meshBasicMaterial",{map:y.texture,transparent:!0,opacity:a})),F.createElement("orthographicCamera",{ref:D,args:[-c/2,c/2,f/2,-f/2,0,A]}))})),Dn=function(e){function n(){return e.call(this,{uniforms:{depth:{value:null},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new r.Vector3(0,0,0)},lightColor:{value:new r.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new r.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation;\n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include <packing>\n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity);\n }"})||this}return T.default(n,e),n}(r.ShaderMaterial),hn=new r.Vector3,gn=F.forwardRef((function(e,n){var t=e.depthBuffer,i=e.color,a=void 0===i?"white":i,u=e.distance,c=void 0===u?5:u,s=e.angle,l=void 0===s?.15:s,f=e.attenuation,C=void 0===f?5:f,m=e.anglePower,d=void 0===m?5:m,A=x.default(e,["depthBuffer","color","distance","angle","attenuation","anglePower"]),_=F.useRef(null),p=o.useThree((function(e){return e.size})),B=o.useThree((function(e){return e.camera})),v=o.useThree((function(e){return e.viewport.dpr})),E=F.useState((function(){return new Dn}))[0];o.useFrame((function(){E.uniforms.spotPosition.value.copy(_.current.getWorldPosition(hn)),_.current.lookAt(_.current.parent.target.position)}));var D=F.useMemo((function(){var e=new r.CylinderGeometry(.1,7*l,c,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-c/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[l,c]);return F.createElement("spotLight",g.default({ref:n,angle:l,color:a,distance:c},A),F.createElement("mesh",{ref:_,geometry:D},F.createElement("primitive",{object:E,attach:"material","uniforms-lightColor-value":a,"uniforms-attenuation-value":C,"uniforms-anglePower-value":d,"uniforms-depth-value":t,"uniforms-cameraNear-value":B.near,"uniforms-cameraFar-value":B.far,"uniforms-resolution-value":t?[p.width*v,p.height*v]:[0,0]})))}));function xn(e){var n=e+"BufferGeometry";return F.forwardRef((function(e,t){var r=e.args,o=e.children,i=x.default(e,["args","children"]);return F.createElement("mesh",g.default({ref:t},i),F.createElement(n,{attach:"geometry",args:r}),o)}))}var Fn=xn("box"),wn=xn("circle"),yn=xn("cone"),bn=xn("cylinder"),Pn=xn("sphere"),Sn=xn("plane"),Mn=xn("tube"),zn=xn("torus"),Tn=xn("torusKnot"),Ln=xn("tetrahedron"),Rn=xn("ring"),On=xn("polyhedron"),kn=xn("icosahedron"),Gn=xn("octahedron"),jn=xn("dodecahedron"),Hn=xn("extrude"),Nn=xn("lathe"),Un=xn("parametric"),Qn=1e-5;var Yn=F.forwardRef((function(e,n){var t=e.args,o=(t=void 0===t?[]:t)[0],i=void 0===o?1:o,a=t[1],u=void 0===a?1:a,c=t[2],s=void 0===c?1:c,l=e.radius,f=void 0===l?.05:l,C=e.smoothness,m=void 0===C?4:C,d=e.children,A=x.default(e,["args","radius","smoothness","children"]),_=F.useMemo((function(){return function(e,n,t){var o=new r.Shape,i=t-Qn;return o.absarc(Qn,Qn,Qn,-Math.PI/2,-Math.PI,!0),o.absarc(Qn,n-2*i,Qn,Math.PI,Math.PI/2,!0),o.absarc(e-2*i,n-2*i,Qn,Math.PI/2,0,!0),o.absarc(e-2*i,Qn,Qn,0,-Math.PI/2,!0),o}(i,u,f)}),[i,u,f]),p=F.useMemo((function(){return{depth:s-2*f,bevelEnabled:!0,bevelSegments:2*m,steps:1,bevelSize:f-Qn,bevelThickness:f,curveSegments:m}}),[s,f,m]),B=F.useRef();return F.useLayoutEffect((function(){B.current&&B.current.center()}),[_,p]),F.createElement("mesh",g.default({ref:n},A),F.createElement("extrudeBufferGeometry",{attach:"geometry",ref:B,args:[_,p]}),d)}));function Wn(){var e=new w.BufferGeometry,n=new Float32Array([-1,-1,3,-1,-1,3]);return e.setAttribute("position",new w.BufferAttribute(n,2)),e}var In=F.forwardRef((function(e,n){var t=e.children,r=x.default(e,["children"]),o=F.useMemo(Wn,[]);return F.createElement("mesh",g.default({ref:n,geometry:o,frustumCulled:!1},r),t)})),Vn={0:"0404E8_0404B5_0404CB_3333FC",1:"045C5C_0DBDBD_049393_04A4A4",2:"046363_0CC3C3_049B9B_04ACAC",3:"0489C5_0DDDF9_04C3EE_04AFE1",4:"04989A_0CE3E4_04D2D5_04C7C8",5:"04C455_0EFABC_04F097_04E17A",6:"04CC77_0CF7CA_04E9A7_04AB54",7:"04E804_04B504_04CB04_33FC33",8:"04E8E8_04B5B5_04CCCC_33FCFC",9:"050505_747474_4C4C4C_333333",10:"070B0C_B2C7CE_728FA3_5B748B",11:"090909_9C9C9C_555555_7C7C7C",12:"0A0A0A_A9A9A9_525252_747474",13:"0C0CC3_04049F_040483_04045C",14:"0C430C_257D25_439A43_3C683C",15:"0D0DBD_040497_04047B_040455",16:"0D0DE3_040486_0404AF_0404CF",17:"0DBD0D_049704_047B04_045504",18:"0F0F0F_4B4B4B_1C1C1C_2C2C2C",19:"0F990F_047B04_044604_046704",20:"15100F_241D1B_292424_2C2C27",21:"161B1F_C7E0EC_90A5B3_7B8C9B",22:"167E76_36D6D2_23B2AC_27C1BE",23:"17395A_7EBCC7_4D8B9F_65A1B5",24:"181F1F_475057_616566_525C62",25:"191514_6D5145_4E3324_3B564D",26:"1A2461_3D70DB_2C3C8F_2C6CAC",27:"1B1B1B_515151_7E7E7E_6C6C6C",28:"1B1B1B_999999_575757_747474",29:"1B1C19_5F615D_4B4E4C_3F403D",30:"1C1810_352F23_2B2C1C_2B2C24",31:"1C70C6_09294C_0F3F73_52B3F6",32:"1D2424_565F66_4E555A_646C6E",33:"1D2A21_43443B_655B54_545C54",34:"1D3FCC_051B5F_81A0F2_5579E9",35:"221917_928380_5F504D_7C746C",36:"232014_908B78_5E5743_747460",37:"242733_333A4D_3E4554_3C3B43",38:"245642_3D8168_3D6858_417364",39:"253C3C_528181_406C6C_385F5F",40:"254FB0_99AFF0_6587D8_1D3279",41:"27222B_677491_484F6A_5D657A",42:"281813_604233_4B3426_442B22",43:"28292A_D3DAE5_A3ACB8_818183",44:"291912_473531_3C2C25_3A2424",45:"293534_B2BFC5_738289_8A9AA7",46:"293D21_ABC692_73B255_667C5C",47:"2A2A2A_B3B3B3_6D6D6D_848C8C",48:"2A2A2A_DBDBDB_6A6A6A_949494",49:"2A2D21_555742_898974_6C745B",50:"2A4BA7_1B2D44_1F3768_233C81",51:"2A6276_041218_739BA6_042941",52:"2B2828_7B796F_534F4A_616464",53:"2B2B22_3C3C30_464538_121210",54:"2D2D2A_74716E_8F8C8C_92958E",55:"2D2D2F_C6C2C5_727176_94949B",56:"2D8753_5CD6A5_45BB82_4CC494",57:"2E2E2D_7D7C76_A3A39F_949C94",58:"2E763A_78A0B7_B3D1CF_14F209",59:"2EAC9E_61EBE3_4DDDD1_43D1C6",60:"2F2FAA_1E1E87_10104E_1C1C70",61:"2F3747_6A7C9E_54637F_62748B",62:"300706_888576_822821_876E79",63:"302721_CAC1BB_7A706A_91959B",64:"304FB1_69A1EF_5081DF_5C8CE6",65:"312C34_A2AAB3_61656A_808494",66:"312D20_80675C_8B8C8B_85848C",67:"313131_BBBBBB_878787_A3A4A4",68:"320455_720DBE_560496_47047B",69:"32201D_613C3C_563533_8C655F",70:"32302B_4C4842_121211_1C1C14",71:"323C4D_B79039_7C6A44_605C48",72:"326666_66CBC9_C0B8AE_52B3B4",73:"331A0B_B17038_7D4E28_5B351A",74:"336EB3_152578_A4C5E2_74AED9",75:"34352A_718184_50605E_6E6761",76:"346088_6ABED7_56A0C5_4E91B8",77:"34A09C_6EE5E3_5CD7D3_4EC9C6",78:"34AB94_36DFC1_19F9EB_6C6E62",79:"353535_CFCFCF_828282_A4A4A4",80:"36220C_C6C391_8C844A_8B7B4C",81:"36312E_726461_59504D_645C5C",82:"365123_C6E5A3_A8D18D_8EB16C",83:"36C8FA_176ACB_24A7EF_1D93EC",84:"37C337_279F27_186018_248824",85:"385264_A1D3E2_86ADC1_6E94A8",86:"385862_6D8B8D_647B80_1A2E2F",87:"386169_A9CFDB_153C23_7CA3AC",88:"38925D_142B23_1D4835_2A6449",89:"392307_B3AE7D_6D5618_847C42",90:"39433A_65866E_86BF8B_BFF8D8",91:"394641_B1A67E_75BEBE_7D7256",92:"3A2412_A78B5F_705434_836C47",93:"3A3329_C9B090_928069_A9957A",94:"3A3D37_7E7F75_BCBFB6_9C9C94",95:"3B3B3B_C7C7C7_878787_A4A4A4",96:"3B3C3F_DAD9D5_929290_ABACA8",97:"3B4235_7B9395_5B716C_70847B",98:"3B6E10_E3F2C3_88AC2E_99CE51",99:"3D1F12_653821_070404_22130B",100:"3E2335_D36A1B_8E4A2E_2842A5",101:"3E3D39_D6CEAF_91BAC1_897966",102:"3E3E36_72726D_63645D_0E0F0C",103:"3E3E3E_AEAEAE_848484_777777",104:"3E95CC_65D9F1_A2E2F6_679BD4",105:"3F3A2F_91D0A5_7D876A_94977B",106:"3F3D52_CCCED9_AFB0C6_8D8CAC",107:"3F4441_D1D7D6_888F87_A2ADA1",108:"403A34_B0936E_7F979C_7E6956",109:"415325_83A24E_678239_748C3C",110:"416BA7_A5B8D0_0D2549_65ABEB",111:"422509_C89536_824512_0A0604",112:"422A1E_716767_685D59_5E4F4A",113:"424244_BDBBBE_8A898E_A3A4A9",114:"425F84_1C2939_2A3F57_24344C",115:"430404_BD9295_7E1E21_94544C",116:"432322_5E3839_170C0B_543433",117:"433D3F_A58D7D_786760_8C7C6D",118:"434240_D3D3CF_898784_A4A49F",119:"434343_9E9E9E_8C8C8C_848484",120:"434C32_62704C_546244_2F3220",121:"442C27_A79E90_847066_8D837C",122:"447072_8ACACB_65A4A5_74B3B3",123:"45432C_808361_B8C8BC_A5A27A",124:"454447_908E9A_181716_7C7C7B",125:"456A73_779B9E_173A46_154C5D",126:"463F37_ACCFBB_818B78_91A494",127:"464445_D2D0CB_919196_A8ADB0",128:"464543_D1CFC1_8E8C83_A4AC9C",129:"46804D_CBE9AC_90B57C_95D38F",130:"468126_C1DDB5_8AC460_A1D07C",131:"47392E_997E69_7C6553_8B745F",132:"474444_7B7575_9E9899_8C8C8B",133:"474643_696F7D_A9ABB8_8B8C93",134:"474843_CECEC4_898883_A3A3A4",135:"48270F_C4723B_9B5728_7B431B",136:"482908_894E0D_FBDB52_CA7420",137:"487FC9_A8E7F8_88CCF2_70AFDE",138:"489B7A_A0E7D9_6DC5AC_87DAC7",139:"48C381_226640_369F64_3CAC74",140:"49200B_C6926C_9C642B_A45C26",141:"495CA6_CCD2E6_A5B1D8_1E2852",142:"495E48_0D100D_9D9C87_9ECC9C",143:"496DBA_94C9F2_72A7E2_84B4EC",144:"4A6442_D0AB75_81CD94_181B12",145:"4B362C_715A4F_211913_644C44",146:"4B4A3A_94A3A4_68766F_988475",147:"4B5455_BBBFC4_97A0A6_838C90",148:"4C240E_A5613B_895134_734C44",149:"4C342A_7B584B_271912_6B4C44",150:"4C462E_6D876C_9AAC8F_9AABA6",151:"4C4C4C_D2D2D2_8F8F8F_ACACAC",152:"4D595E_858D87_596F84_748480",153:"4E4C42_B8C4C5_898E89_A3ACA4",154:"4E4D40_979786_AEAEA1_878678",155:"4E5150_9FA3A3_848C8A_82848C",156:"4F251B_381710_43241B_602F23",157:"4F439F_A28BE5_8570D6_7765C9",158:"4F4742_B7B1AA_847E79_969294",159:"4F4C45_A7AEAA_7A8575_9D97A2",160:"4F4F4F_9C9C9C_121212_7C7C7C",161:"4F4F4F_A1A1A1_8C8C8C_848484",162:"4F5246_8C8D84_7B7C74_131611",163:"4FE34F_2BB02B_3CD03C_1C861C",164:"50332C_D98D79_955F52_AA7C6C",165:"503522_C38254_9F6B45_845838",166:"504D3C_979C9D_81837D_9C998A",167:"513A11_CDBEB5_C8811C_9A733F",168:"51462B_DFCA7E_948050_A49874",169:"515151_DCDCDC_B7B7B7_9B9B9B",170:"515341_9A9C86_16180D_838474",171:"517919_659623_34460C_3E5813",172:"519C8D_83DAC7_9DEDE0_2B5B4C",173:"522221_91343B_7F6F6B_744960",174:"522A1A_94543A_C3896F_AB7D66",175:"525050_D4D3D3_959393_ACACAC",176:"533B33_AF9998_866965_9C7E7B",177:"535A2F_CDCA91_91915B_A4AC6F",178:"535F6B_A6BDC8_8FA3B4_7F91A2",179:"537387_75BBB9_152E5B_0E85E8",180:"54584E_B1BAC5_818B91_A7ACA3",181:"545B4D_D8DDC8_A0A792_B2C1A3",182:"54C104_BBFA0F_97EF04_7AE104",183:"55382F_78554E_271A16_6C4C44",184:"555555_C8C8C8_8B8B8B_A4A4A4",185:"556F42_112817_81927F_223E24",186:"55C404_BCFA0E_97F004_7AE104",187:"562D2A_2E1615_7E4945_703C3C",188:"56352F_1E110F_311C19_3C231C",189:"57553F_C6C3AF_8C8768_868C8C",190:"57583E_969788_292920_848474",191:"579241_B5D25D_0E1D2D_97C284",192:"582410_83381A_1F0C04_30140A",193:"583629_2E1810_765648_3C1C14",194:"584F3A_BEC3BD_C5A57D_A39073",195:"586A51_CCD5AA_8C9675_8DBBB7",196:"593E2C_E5D8A9_BC9F79_9F8A68",197:"595356_CDBFC6_AA9DA3_BBB3BC",198:"59554F_171716_847C74_2C2C24",199:"596773_B3C6CE_98AFB9_879AA8",200:"597C3F_254319_6C9668_7C9B53",201:"5A492B_DEC583_987D4D_AC9C74",202:"5A643B_454D2C_393F25_202315",203:"5B4CBC_B59AF2_9B84EB_8F78E4",204:"5B5428_C5A052_A28B46_ADA752",205:"5B574E_586967_807C6F_6A746C",206:"5C045C_BD0DBD_930493_A404A4",207:"5C2E0C_C36924_9F4F14_834114",208:"5C4E41_CCCDD6_9B979B_B1AFB0",209:"5C5743_262418_393727_342C20",210:"5C5C04_BDBD0D_939304_A4A404",211:"5C5C5C_A2A2A2_8C8C8C_848484",212:"5D5854_1A1714_373330_2C2424",213:"5D5D5D_CDCDCD_232323_ACACAC",214:"5D5E5A_A1A29B_2A2927_8B948C",215:"5E423A_8C6E69_382416_745D64",216:"5E5049_CDC2BE_9C8E88_B7ACA4",217:"5E5855_C6C4CD_C89B67_8F8E98",218:"5E5F62_A7B2BE_211C17_939CA3",219:"5ECBA4_BCFAE7_92EED0_A1F4DC",220:"5F1827_9B4A60_1F0404_340406",221:"5F4C4B_A07C7D_A8AFBF_868185",222:"5F4F50_A18E8E_8C7C7B_211A1A",223:"5F5F5F_BDBDBD_A4A4A4_9C9C9C",224:"604A30_DC9065_212C14_AC9C92",225:"60534A_211813_9B948E_8E837D",226:"605352_E9CCC5_C7A8A3_A89291",227:"606857_9BA894_8C9C83_8C9483",228:"613F04_D68C04_A45F04_1F0F04",229:"61583E_252314_928972_342C1C",230:"617586_23304C_1B1E30_4988CF",231:"622F19_885934_9A7748_94603A",232:"623622_A1756F_986353_89645B",233:"624541_FCD0C6_E4A19A_FCBCB4",234:"626262_9E9E9E_848484_262626",235:"626262_A8A8A8_949494_1F1F1F",236:"626A57_3B3F33_7D8973_444C3C",237:"626D5C_B8C2BB_1B230F_A4ACA3",238:"627D72_A6CAAA_202C28_B4D4B4",239:"630463_C30CC3_9B049B_AC04AC",240:"63533B_AA9472_1C1108_9B8C68",241:"63584B_E6E0D6_A8A092_BFB6A8",242:"635D52_A9BCC0_B1AEA0_819598",243:"636363_AAAAAA_949494_252525",244:"636D6C_D4E7ED_ABBCC4_9BA4A8",245:"637598_B7C4D3_22293A_9BACBF",246:"64554D_D1C9C1_ABADA0_0E0C0A",247:"64686F_BDC0C4_161718_A4A7AB",248:"647171_1F3349_2A475C_87A5AD",249:"647686_23292E_333C44_404B55",250:"656662_9B9B99_393B31_8B8C8C",251:"657274_2A2F30_A0A7B0_363C44",252:"65A0BA_C3E4F1_A7D5E6_97CADF",253:"65A0C7_C3E4F8_A7D5EF_97CAE9",254:"660505_F2B090_DD4D37_AA1914",255:"66605E_939198_2E261F_3C332A",256:"666864_B3B4AB_2F2F2C_9CA49B",257:"673B2A_99735C_99593A_3A160E",258:"677E93_36444D_99A9BA_435464",259:"678E67_C4D9C4_ACC8AC_98B898",260:"68049F_C90DE6_A404CF_B304DC",261:"683F2D_9F736D_431D06_966152",262:"68493E_B2AAA9_978C8C_130907",263:"684C40_776E69_9B7765_758D96",264:"685B57_BEB1B1_9B99A4_1E1D1D",265:"686464_CCCAC7_A4A19F_BCB4B4",266:"686B73_2A2B2D_D5D9DD_B0B3BC",267:"686E55_353C2F_869B7F_444434",268:"696347_98B0A2_28261E_362B22",269:"696969_A0A0A0_949494_8C8C8C",270:"6A3C15_EFC898_D59D59_B38346",271:"6A5338_1C120B_C5975F_96886C",272:"6A8287_405153_839EBE_424C5C",273:"6B3822_A65D48_824E48_401E0C",274:"6BBD6B_C8F3C8_A3E2A3_B4ECB4",275:"6C52AA_C9A6EA_A681D6_B494E2",276:"6C5DC3_352D66_5C4CAB_544CA5",277:"6C6F76_CBD1D7_B2BDC7_A6B0BF",278:"6C8996_14223F_B9DEDD_2E445C",279:"6D1616_E6CDBA_DE2B24_230F0F",280:"6D3B1C_895638_502A0D_844C31",281:"6D6050_C8C2B9_A2998E_B4AA9F",282:"6D6D6D_3E3E3E_C0C0C0_949494",283:"6E2E36_D3A1A0_BD7175_C78C8B",284:"6E5137_E8CA90_271912_B99C74",285:"6E524D_8496C5_AF6624_100B11",286:"6E6D69_D0ECE9_AAC7C6_200C0C",287:"6E7181_D1CFDF_ABAFC7_B4BCCE",288:"6E8C48_B8CDA7_344018_A8BC94",289:"6EC66E_C9F8C9_A3E8A3_B4F1B4",290:"6F503E_D59A70_221812_B0A899",291:"705B4B_312821_AF927B_44342C",292:"706962_24211E_BCB6AF_ACA494",293:"713A28_A87661_3A160D_9B6454",294:"714C30_EAD7C5_CC9265_E2B48F",295:"716049_D1C8B9_3F160C_BAA6A9",296:"71623B_ECDE8C_30250A_ABA69A",297:"72625B_F0DFD0_D9BAA5_C3A595",298:"726F5B_A09C88_8B8C7B_94907C",299:"727167_2F2F2B_A3A6A2_44443C",300:"728473_534C40_7BCEC8_7BB9B6",301:"736655_D9D8D5_2F281F_B1AEAB",302:"745359_BFAEA8_9B8384_AC9392",303:"746761_291C19_AB9385_3C2B27",304:"747A6F_292E2A_ACA79F_45453B",305:"74A192_041B0D_194C33_235B4C",306:"75322B_96463F_51201A_3D1814",307:"75723E_C0C3A0_2A1E0E_AFAE77",308:"75746F_333330_A2A1A9_444444",309:"758391_BAC2CA_435263_A1ACBC",310:"763B28_D0BDB8_ADA39E_1E1D1D",311:"763C39_431510_210504_55241C",312:"764739_D0917B_2A1611_B37C68",313:"765938_1F1009_A59C7C_C9A382",314:"766554_C1BEBB_2A1A0E_B4ABAC",315:"76787C_2F3031_A5A9B8_444446",316:"767989_323437_B6C4EE_343C44",317:"771A1F_D2939E_B6595D_9D4B54",318:"773012_AE5124_4D1908_340F04",319:"776045_D2CCC3_281910_BBB5AA",320:"776A5C_BA9A89_302C26_443C34",321:"776C62_292622_474039_3C342C",322:"777C61_333727_BABFA1_A5AC8C",323:"777D7D_BDCAD2_3E3C2E_B1B8B6",324:"787165_DAD9CD_9DC0CE_36302A",325:"7877EE_D87FC5_75D9C7_1C78C0",326:"794E40_361612_4C2A21_441B1B",327:"795038_C2856B_533320_AC7C61",328:"796D6B_DED3CB_C6BAB1_ADA09B",329:"796F52_36413A_C9B48C_B6A77F",330:"797367_302E29_ABA3A0_443C35",331:"7A6959_2D271D_C1B5A9_B4A393",332:"7A736F_463F33_575046_4B463D",333:"7A7A7A_D0D0D0_BCBCBC_B4B4B4",334:"7A7A7A_D9D9D9_BCBCBC_B4B4B4",335:"7A7C63_625531_665B3F_5B4B29",336:"7A9196_485C64_425459_C1E4E7",337:"7B5254_E9DCC7_B19986_C8AC91",338:"7B6857_383028_BCA38F_4C3C34",339:"7B6E5B_C5CACC_B1B2AE_322415",340:"7B7E82_343536_A0B1C8_44444C",341:"7C584C_27140D_B3765C_3D2318",342:"7C7C71_353630_ADAFAF_444444",343:"7D6651_F8E3BF_CEA987_E7C29C",344:"7D7673_353230_AEA7B0_4C4444",345:"7DA1BA_A4CCE8_5D7A8B_5E7C94",346:"7E5344_22120E_CCAB9C_8D919D",347:"7E5E57_AD9794_612D1D_C9997D",348:"7E8174_39444D_CECAA7_B3B49B",349:"7F5134_22120A_452110_9F7D5F",350:"7F8896_3B3936_BBCFE9_4B4B4D",351:"803537_310F10_C35A5D_D89093",352:"807068_C3B0AB_443E3B_AC9C94",353:"80726C_DCDBD7_9AA6C2_B7BFCA",354:"808A5B_E0E1D4_2C4304_C5C7B0",355:"80A6B4_D5E9EF_B2D0D9_C1DCE4",356:"80CA23_B7EE37_D5FA4C_A3E434",357:"812828_521818_C94141_AB3737",358:"812E39_551C24_381117_9E3C49",359:"815C41_F6C99A_D39F77_BB9474",360:"815F54_DECBC6_301813_C5A8A0",361:"8194AB_D6DFEB_C0CEDE_B0BFD1",362:"81ADB3_D6ECEE_BFDEE1_AFD1D7",363:"81BABA_D5F3F3_BBE4E4_ABDCDC",364:"825C4D_A08175_97746C_613B2F",365:"826A59_E0C9B9_CBAD99_3D2615",366:"827C87_4F3937_605457_534C4E",367:"834741_4C281D_BE8F8C_AE6A65",368:"835984_39273A_4C334C_593D5A",369:"837667_DCD4C8_C5BAAC_3C2E22",370:"846556_503E33_61493D_5C4434",371:"848679_363630_AABBB7_4B4B44",372:"855D08_DAC31B_BF9B0C_AF860C",373:"85694C_D1A67A_3C2F22_EBBF8F",374:"857B61_ACE5D4_593D28_5B4334",375:"858362_9F9F80_9C9673_70714B",376:"85B9D3_C9EAF9_417277_528789",377:"866C5B_544237_B29B8C_AC8F7C",378:"872F2D_AB403E_682421_581F1C",379:"877B70_34302B_CBB3A4_524C44",380:"877C72_B6ACBB_36322D_4C443B",381:"878787_4C4C4C_646464_5C5C5C",382:"887153_E5C188_433729_C1A484",383:"888D8F_515454_646A6C_6C6C6D",384:"89204B_17080D_DA4377_F780B5",385:"8955D0_744CC4_EA4AEF_954DA4",386:"8A3B3D_DA5F62_461F20_BC7F81",387:"8A3DA1_D77CE4_C263D4_B75AC9",388:"8A5B34_F3BD7C_DA9758_BE7E45",389:"8A6565_2E214D_D48A5F_ADA59C",390:"8A7666_3C332C_C6AEA2_54443C",391:"8A7968_3C342D_C6B3A5_54443B",392:"8B7469_443E39_C7A797_544443",393:"8B795F_291504_EFE5D4_4A3518",394:"8B892C_D4E856_475E2D_47360A",395:"8C5945_D4C0B6_C3A49C_430504",396:"8CAEBC_3A4443_506463_DAEFEF",397:"8D553D_3C2419_5D3727_AA766C",398:"8D8D8D_DDDDDD_CCCCCC_B7B7B7",399:"8E6767_D9C4C4_C8ACAC_B89898",400:"8E7C67_E2C6A5_3B332A_C3AB94",401:"8E907C_B1B5A7_D7DBD0_CCCFBA",402:"8F4277_361530_BF538E_52274C",403:"8F4E20_E8B06B_391A08_CC8944",404:"8F5D3C_5B3B26_382416_70482E",405:"8F7B61_D6B892_4E4436_C3AC86",406:"8F894E_DAD79B_C9C384_C4BE7B",407:"903B2A_EC9888_D96747_58190D",408:"906867_C7B6BC_5D2E26_BEA4A3",409:"908887_3C3229_C7C6D0_554A45",410:"908E8E_292828_454444_595757",411:"909473_555D4B_C2CCA2_645B3C",412:"910E5A_E127C3_CF1CA3_C1158F",413:"926B48_4C2D0D_5F3913_AA8874",414:"927253_EECEA7_D8B792_C7A883",415:"935555_F6DAD9_D39393_593333",416:"936451_C29A8F_5F3A2B_361D14",417:"938C8D_403731_CECED8_554C4C",418:"942967_D292B5_C76E9E_551A4C",419:"945D43_E5AAA0_351F14_CC8B78",420:"94615B_DACED1_C3B9A4_CCABAA",421:"94624F_573529_24110C_733424",422:"9650CA_46236A_7239A6_633492",423:"965146_2B191D_DF7A5C_BFD6E1",424:"96785D_B8A398_63452C_6C5435",425:"975337_EEBE98_4B211C_D88659",426:"977970_E1D9D8_DAC8C1_C4B2AD",427:"98332E_4A100D_691A16_A85A5B",428:"989784_665542_BFECE5_6D644C",429:"9A5A55_31110D_582A24_703C34",430:"9A7467_D2C2BF_662D22_CCB2A5",431:"9AA8B6_313133_4E5055_D7EBF8",432:"9B4816_E8A138_CC7421_DC8827",433:"9B9994_E1E0DB_474643_544C4C",434:"9B9B9B_1E1E1E_5C5C5C_444444",435:"9C5B3B_49200A_E9C8AB_DDAB7D",436:"9CC338_4E671A_799F27_8CAC2C",437:"9D282A_38191D_DFC6CD_D6495A",438:"9D4343_E38989_D37474_CE6C6C",439:"9D602E_E4C363_D5A64F_C38A44",440:"9D7F6E_C6DAD4_6D4C4B_C6BBBC",441:"9D8F84_5D4544_D9D3C9_62555A",442:"9D9D9D_4E4E4E_646464_6C6C6C",443:"9E7C7E_DDCBD0_351D20_683B38",444:"9E9C77_6E6F4E_7C7C54_C7BF96",445:"9F1A27_F1AF7F_CD5845_D08441",446:"9F4738_CE958D_4F0C0A_C0837C",447:"9F7D30_B69F75_B9B7BE_CB9C4D",448:"9F886D_362F25_E8C9A4_5C4C3C",449:"9F9F9F_E4E4E4_D4D4D4_CCCCCC",450:"A05F31_D5C2BC_D9996F_42230E",451:"A0A8B0_424336_E7E9EF_545C5C",452:"A1824F_4A2A06_F7E29F_B3A598",453:"A27216_E9D036_D0AB24_DCB927",454:"A28766_E4D6C3_D6C4AA_CAB598",455:"A3B2A4_3B3E3D_676F6A_535C57",456:"A48DA4_E8DDE8_C9B7C9_D4C2D4",457:"A49994_695244_C4C2CF_76645C",458:"A67362_36150C_5E2E1E_F6C3BF",459:"A84337_611D18_3F110F_7C2A22",460:"A88C77_DAD2C7_623532_956229",461:"A95E4D_57261A_6E3223_773C24",462:"A971A9_E8CBE8_D4A8D4_DCB3DC",463:"A98D6A_F2D3AB_FBE6BE_695332",464:"A9A2A0_2F211C_544440_6D5E5A",465:"AA526C_EAA6C9_DC88AF_D17BA0",466:"AB2C2C_EBB4B3_561212_DE8484",467:"AB2D08_C35E5A_C75522_C56C70",468:"AB54A8_EBAAE9_DF8FDD_D37ED0",469:"AC171C_FA8593_E84854_D3464E",470:"AC725C_2E1610_663E31_E78F6B",471:"AC7F84_78463A_C4AABB_885454",472:"AC8942_432D19_6E4D27_5F3B1C",473:"AC8961_EBDAC3_D1B791_DCC2A0",474:"AD9E81_F1E5CE_6B5C3E_5A492A",475:"ADC2CD_DFF7FA_C9E6F5_C1DBEC",476:"AE9D99_29303B_585F70_875C33",477:"AF986F_CDB489_9C7C5B_7E6C4D",478:"AF987A_2F2416_523F27_6B5331",479:"AF9A72_504718_74652B_E2C2A2",480:"B06932_451B09_7B3E16_150804",481:"B09273_7A573D_C7AF97_84644C",482:"B0A2A8_866A63_E8E9F2_614C4F",483:"B0B0B0_6E6E6E_848484_8C8C8C",484:"B1A395_EFE6E1_635A47_786D5D",485:"B2674B_552913_7C442F_733919",486:"B26F52_4B2E2B_79493A_663B32",487:"B27744_5A2804_F6C488_EBB27D",488:"B38B76_40251D_745042_5F3A30",489:"B3AA93_F4EFD7_E1DDC2_DCD3BB",490:"B47A5B_301E14_704A31_633C23",491:"B4B29D_442D0D_604E2A_736542",492:"B5987E_F8E4DC_6F5939_E9CCBA",493:"B5BBB5_3B4026_6E745D_5C6147",494:"B62D33_E4868B_7E2D34_DD6469",495:"B66D59_F0C9B2_E5B49C_DAA084",496:"B67F6B_4B2E2A_6C3A34_F3DBC6",497:"B6B8B1_994A24_315C81_927963",498:"B76E5E_7F3A2F_EE938C_F8A5A1",499:"B7A763_E6E1CC_554A1E_6C6428",500:"B86137_FBCA6F_6F3C37_040404",501:"B9896A_5B341B_F4CAA3_6C4C2D",502:"B98A6D_7B4F38_D1A68F_8C5B43",503:"B9B37A_F1EED0_E5E4BA_DAD6A8",504:"B9CDD2_775339_958272_7F6A5E",505:"BA472D_CA6E67_C76150_CA6C59",506:"BA5DBA_F2BEF2_E69BE6_DC8CDC",507:"BA864A_5D381E_644422_FBE97A",508:"BA8979_DDCBCA_9A4726_892407",509:"BAADA8_ECE6E7_9A8378_E3DCD3",510:"BC5B43_95170B_EEAC92_DB8C7C",511:"BC928D_F9E2D6_654445_835A51",512:"BD0D0D_970404_7B0404_550404",513:"BD5345_460F11_732622_EDB7B1",514:"BDB466_F3EDC3_E3DD9F_ECE3AA",515:"BE5F5F_F4BDBD_ECA4A4_E29191",516:"BEE2E9_7E6A53_9AA09C_87837E",517:"BF7051_994C2D_E99A7B_DE8C74",518:"BF7745_F5D08E_E5AE6B_ECBC7C",519:"BF8E78_E5CCBF_753E32_4A261E",520:"BFAA83_F5EAD6_E1D0B1_EBDDC0",521:"BFB5A4_DEDCCB_D7D4CC_DCD3C2",522:"C05429_ED6129_94492A_834729",523:"C09E5C_DAD2B9_654429_81582D",524:"C1AA92_AD6E29_737889_CED1D7",525:"C1B3A1_F6EEE5_E1D7C7_ECE4D3",526:"C21338_920C24_E71C54_F34A7D",527:"C28E4E_845119_0B0805_713C0C",528:"C2A391_523728_785741_694836",529:"C2A584_363B41_71665B_8C7367",530:"C2AB7D_4A412E_7A6B4E_F9EDBE",531:"C30C0C_9F0404_830404_5C0404",532:"C33829_48171A_752523_942923",533:"C345EC_5F1DAA_9F31DB_872CCD",534:"C35C04_F9C30C_EE9F04_E08304",535:"C3CCD4_5F3B23_948A7B_A9A49A",536:"C47004_F9D00C_EDAF04_E09704",537:"C4A591_635448_F2D9D5_856D5B",538:"C4C6C6_4D5756_646463_7A8080",539:"C4DEDE_97B5B5_EAF9F9_ABC4C4",540:"C5A292_635247_F2D7D6_846A5B",541:"C5BBB6_F8F4F1_E2DAD6_ECE3DF",542:"C75F55_F8BDA9_EB9484_F4A494",543:"C7938D_E0DBE1_D1BBBC_D5CCCB",544:"C7B9A1_F8F1E4_EEE4D2_E4D8C4",545:"C7C0AC_2E181B_543B30_6B6270",546:"C7C7D7_4C4E5A_818393_6C6C74",547:"C87157_F8CBAE_E9A582_F2B394",548:"C88467_5B3333_875C5A_7A3822",549:"C8AF84_F9ECD7_EFDEBF_E6D1AF",550:"C8C8C8_3F3F3F_787878_5C5C5C",551:"C8D1DC_575B62_818892_6E747B",552:"C98D7F_3B0B0B_A97667_94433F",553:"C99A8B_491B0E_6E4136_8A4D28",554:"C9C7BE_55514B_888279_7B6E5F",555:"CA4FE1_6B2398_A337C7_9334BC",556:"CA8892_F9D7DC_EBB8C0_F3C4CC",557:"CAA094_875343_956255_EADEDC",558:"CAA78A_F9E7D7_EAD0B9_F3DCC3",559:"CAAC80_FAEBD5_F2DEBF_EAD1AF",560:"CAB094_F9ECDD_EFDEC8_E8D4BD",561:"CAB79D_F9F1E3_F1E5D1_E9DAC6",562:"CAE24E_6C9A23_A3C737_B3D43C",563:"CB4934_FB9971_F07554_F68464",564:"CB4E88_F99AD6_F384C3_ED75B9",565:"CB5E3B_FABC7A_EF965E_F4A46C",566:"CB7146_551D0F_7C270D_E5AB9C",567:"CB7846_753C22_AB5C32_B46C3C",568:"CB919B_F9DDE1_ECC0C8_F4CCD4",569:"CBCBCB_595959_8C8C8C_747474",570:"CC7C5F_A15436_B26346_AF5C3C",571:"CC9A7E_8A5249_C06A3E_DADADA",572:"CCC5C9_3B2B2B_67585B_7F7375",573:"CCF6FA_9DD9EB_82C5D9_ACD4E4",574:"CDC3B8_5A3F3C_67545A_8D7769",575:"CDCBC8_444342_696765_81807E",576:"CE8C15_EAC79B_DDAB57_F9C962",577:"CE8F3D_F0D2B0_F3C77D_E6B278",578:"CEB299_6B5C4C_887564_746355",579:"D04444_AF2F2F_8B2424_9B2C2C",580:"D07E3F_FBBD1F_8D2840_24120C",581:"D0CCCB_524D50_928891_727581",582:"D0D3BE_816854_998366_685146",583:"D1AC04_F8E50A_EDD004_B38D04",584:"D3CAAB_8C866E_C0B89A_AEA68A",585:"D4855F_92512D_AE6742_A75C2C",586:"D54C2B_5F1105_F39382_F08375",587:"D5B5B4_9E6C6F_F5E9EF_A57986",588:"D5D5D5_929292_ACACAC_B4B4B4",589:"D64480_E27497_EA9BB1_CD156F",590:"D7D7C3_AAAA92_F5F5EA_BCBCA4",591:"D7DFDB_AAB5AF_F5FAF7_BCC4C4",592:"D8388B_230A14_FCC8FC_FC71E1",593:"D8C949_F5F19E_6B7855_9A9858",594:"D8D8E5_9D9DAF_B4B4C4_B4B4CC",595:"DA5788_DE94BD_E078A3_DD83B4",596:"DBDBBB_F7F7E4_AFAF89_C4C49C",597:"DC3E04_B52604_FC7D20_F85F04",598:"DE9261_86361E_A85A37_944C2C",599:"DEDEC4_B5B597_F9F9EA_C4C4AB",600:"DEE3E8_A6AEB5_BCC4CC_BCC4C4",601:"DEE8DE_A6B5A6_BCCCBC_BCC4BC",602:"DEE8E8_A6B5B5_BCCCCC_BAC4C4",603:"DFD9C2_B5AE92_F9F7EA_C4C4A4",604:"DFDBB7_F9F8E3_B5AF86_BCBC8C",605:"DFDFCA_4D2D07_6B5224_857145",606:"DFDFD6_58544E_81766A_989288",607:"E1E1D4_777C7B_9FA19A_898F8D",608:"E1E1E0_363636_989897_747472",609:"E2D3BC_867255_B39E7F_96836C",610:"E2E2E7_AEAEB5_C4C4CC_C4C4C4",611:"E42E12_F35132_F86949_B71B0A",612:"E5DED7_AFA69D_C4BCB4_C3BAAB",613:"E6BF3C_5A4719_977726_FCFC82",614:"E6E3E3_B5AFAF_CCC4C4_C4C4C4",615:"E6E6E6_AAAAAA_C4C4C4_CCCCCC",616:"E7632F_FBA06B_BB2905_FB865E",617:"E7E2D8_B1AA9D_C9C2B3_BCB4AC",618:"E80404_B50404_CB0404_FC3333",619:"E804E8_B504B5_CC04CC_FC33FC",620:"E8DEE1_B5A6AA_CCBCC1_C4BBBC",621:"E8E5DE_B5AFA6_CCC5BC_C4C4BB",622:"E8E8DE_B5B5A6_CCCCBC_C4C4BA",623:"E9CCA1_A63106_DF8C3B_621304",624:"EA783E_6D4830_905837_FCDC6C",625:"EAD8D6_B59A97_CCB4B0_C9ABAB",626:"EAEAEA_B5B5B5_CCCCCC_D4D4D4",627:"EAEAEA_B6B6B6_CCCCCC_C4C4C4",628:"ED4630_791A0E_A42716_501009",629:"ED5087_FAC3D0_1C0B0C_FC84CC",630:"ED7F04_FCD60E_7E2D04_B73E04",631:"EDED06_B5B504_CCCC04_D4D404",632:"EE4128_FC8E82_9A0704_BF0F05",633:"EEECFB_BFB6D5_D0C8EB_CCC4DC",634:"F0D504_FBFAD3_B98609_CDA204",635:"F75F0B_461604_9A3004_FB9D2F",636:"F77777_FBE1E1_FAB2B2_FBC4C4",637:"F79686_FCCBD4_E76644_E76B56",638:"F9E6C7_FCF7DF_EDD3AA_F1D4B4",639:"FBB43F_FBE993_FB552E_FCDD65",640:"FBB82D_FBEDBF_FBDE7D_FB7E05"};var Xn=Vn[0];var Zn={0:"151_norm.JPG",1:"152_norm.JPG",2:"153_norm.JPG",3:"154_norm.JPG",4:"155_norm.JPG",5:"156_norm.JPG",6:"157_norm.JPG",7:"158_norm.JPG",8:"159_norm.JPG",9:"160_norm.JPG",10:"161_norm.JPG",11:"162_norm.JPG",12:"163_norm.JPG",13:"164_norm.JPG",14:"165_norm.JPG",15:"166_norm.JPG",16:"167_norm.JPG",17:"168_norm.JPG",18:"169_norm.JPG",19:"170_norm.JPG",20:"171_norm.JPG",21:"172_norm.JPG",22:"173_norm.JPG",23:"174_norm.jpg",24:"175_norm.JPG",25:"176_norm.JPG",26:"177_norm.JPG",27:"178_norm.JPG",28:"179_norm.JPG",29:"180_norm.JPG",30:"181_norm.JPG",31:"182_norm.JPG",32:"183_norm.JPG",33:"184_norm.JPG",34:"185_norm.JPG",35:"186_norm.JPG",36:"187_norm.JPG",37:"188_norm.JPG",38:"189_norm.JPG",39:"190_norm.JPG",40:"191_norm.JPG",41:"192_norm.JPG",42:"193_norm.JPG",43:"194_norm.JPG",44:"195_norm.JPG",45:"196_norm.JPG",46:"197_norm.JPG",47:"198_norm.JPG",48:"199_norm.JPG",49:"200_norm.JPG",50:"201_norm.jpg",51:"202_norm.jpg",52:"203_norm.jpg",53:"204_norm.jpg",54:"205_norm.jpg",55:"206_norm.jpg",56:"207_norm.jpg",57:"208_norm.jpg",58:"209_norm.jpg",59:"210_norm.jpg",60:"211_norm.jpg",61:"212_norm.jpg",62:"213_norm.jpg",63:"214_norm.jpg",64:"215_norm.jpg",65:"216_norm.jpg",66:"217_norm.jpg",67:"218_norm.jpg",68:"219_norm.jpg",69:"220_norm.jpg",70:"221_norm.jpg",71:"222_norm.jpg",72:"223_norm.jpg",73:"224_norm.jpg",74:"225_norm.jpg",75:"226_norm.jpg"},Kn=Zn[0];var Jn={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};var qn,$n,et,nt,tt=function(e){function n(){var n;return(n=e.call(this)||this).color=new w.Color("white"),n}return T.default(n,e),n}(w.Group),rt=F.createContext(null),ot=new w.Matrix4,it=new w.Vector3,at=new w.Color,ut=F.forwardRef((function(e,n){var t=e.children,r=e.range,i=e.limit,a=void 0===i?1e3:i,u=x.default(e,["children","range","limit"]),c=F.useRef(null),s=F.useState([]),l=s[0],f=s[1],C=F.useState((function(){return[new Float32Array(3*a),new Float32Array([].concat(new Array(3*a)).map((function(){return 1})))]}))[0],m=C[0],d=C[1];F.useLayoutEffect((function(){c.current.geometry.drawRange.count=Math.min(a,void 0!==r?r:a,l.length)}),[l,r]),F.useEffect((function(){c.current.geometry.attributes.position.needsUpdate=!0})),o.useFrame((function(){for(c.current.updateMatrix(),c.current.updateMatrixWorld(),ot.copy(c.current.matrixWorld).invert(),qn=0;qn<l.length;qn++)($n=l[qn].current).getWorldPosition(it).applyMatrix4(ot),it.x===m[3*qn]&&it.y===m[3*qn+1]&&it.z===m[3*qn+2]||(it.toArray(m,3*qn),c.current.geometry.attributes.position.needsUpdate=!0,$n.matrixWorldNeedsUpdate=!0),$n.color.equals(at.fromArray(d,3*qn))||($n.color.toArray(d,3*qn),c.current.geometry.attributes.color.needsUpdate=!0)}));var A=F.useMemo((function(){var e={};for(qn=0;qn<l.length;qn++){var n;Object.assign(e,null==(n=l[qn].current)?void 0:n.__r3f.handlers)}return Object.keys(e).reduce((function(e,n){var t;return g.default({},e,((t={})[n]=function(e){var t,r,o;return null==(t=l[e.index].current)||null==(r=t.__r3f)||null==(o=r.handlers)?void 0:o[n](e)},t))}),{})}),[l]),_=F.useMemo((function(){return{subscribe:function(e){return f((function(n){return[].concat(n,[e])})),function(){return f((function(n){return n.filter((function(n){return n.current!==e.current}))}))}}}}),[]);return F.createElement("points",g.default({matrixAutoUpdate:!1,ref:b.default([n,c])},A,u),F.createElement("bufferGeometry",null,F.createElement("bufferAttribute",{attachObject:["attributes","position"],count:m.length/3,array:m,itemSize:3,usage:w.DynamicDrawUsage}),F.createElement("bufferAttribute",{attachObject:["attributes","color"],count:d.length/3,array:d,itemSize:3,usage:w.DynamicDrawUsage})),F.createElement(rt.Provider,{value:_},t))})),ct=F.forwardRef((function(e,n){var t=e.children,r=x.default(e,["children"]);F.useMemo((function(){return o.extend({Position:tt})}),[]);var i=F.useRef(),a=F.useContext(rt).subscribe;return F.useLayoutEffect((function(){return a(i)}),[]),F.createElement("position",g.default({ref:b.default([n,i])},r),t)})),st=F.createContext(null),lt=new w.Matrix4,ft=new w.Matrix4,Ct=new w.Matrix4,mt=new w.Color,dt=new w.Vector3,At=new w.Quaternion,_t=new w.Vector3,pt=F.forwardRef((function(e,n){var t=e.context,r=e.children,i=x.default(e,["context","children"]);F.useMemo((function(){return o.extend({Position:tt})}),[]);var a=F.useRef(),u=F.useContext(t||st).subscribe;return F.useLayoutEffect((function(){return u(a)}),[]),F.createElement("position",g.default({ref:b.default([n,a])},i),r)})),Bt=F.forwardRef((function(e,n){var t=e.children,r=e.range,i=e.limit,a=void 0===i?1e3:i,u=e.frames,c=void 0===u?1/0:u,s=x.default(e,["children","range","limit","frames"]),l=F.useState((function(){var e=F.createContext(null);return[e,function(n){return F.createElement(pt,g.default({context:e},n))}]}))[0],f=l[0],C=l[1],m=F.useRef(null),d=F.useState([]),A=d[0],_=d[1],p=F.useState((function(){var e=new Float32Array(16*a);for(et=0;et<a;et++)Ct.identity().toArray(e,16*et);return[e,new Float32Array([].concat(new Array(3*a)).map((function(){return 1})))]}))[0],B=p[0],v=p[1];F.useLayoutEffect((function(){m.current.count=m.current.instanceMatrix.updateRange.count=m.current.instanceColor.updateRange.count=Math.min(a,void 0!==r?r:a,A.length)}),[A,r]),F.useEffect((function(){m.current.instanceMatrix.needsUpdate=!0}));var E=0;o.useFrame((function(e){if(c===1/0||E<c){for(m.current.updateMatrix(),m.current.updateMatrixWorld(),lt.copy(m.current.matrixWorld).invert(),et=0;et<A.length;et++)(nt=A[et].current).matrixWorld.decompose(dt,At,_t),ft.compose(dt,At,_t).premultiply(lt),ft.equals(Ct.fromArray(B,16*et))||(ft.toArray(B,16*et),m.current.instanceMatrix.needsUpdate=!0),nt.color.equals(mt.fromArray(v,3*et))||(nt.color.toArray(v,3*et),m.current.instanceColor.needsUpdate=!0);E++}}));var D=F.useMemo((function(){var e={};for(et=0;et<A.length;et++){var n;Object.assign(e,null==(n=A[et].current)?void 0:n.__r3f.handlers)}return Object.keys(e).reduce((function(e,n){var t;return g.default({},e,((t={})[n]=function(e){var t,r,o;return null==(t=A[e.instanceId].current)||null==(r=t.__r3f)||null==(o=r.handlers)?void 0:o[n](e)},t))}),{})}),[A]),h=F.useMemo((function(){return{subscribe:function(e){return _((function(n){return[].concat(n,[e])})),function(){return _((function(n){return n.filter((function(n){return n.current!==e.current}))}))}}}}),[]);return F.createElement("instancedMesh",g.default({matrixAutoUpdate:!1,ref:b.default([n,m]),args:[null,null,0]},D,s),F.createElement("instancedBufferAttribute",{attach:"instanceMatrix",count:B.length/16,array:B,itemSize:16,usage:w.DynamicDrawUsage}),F.createElement("instancedBufferAttribute",{attach:"instanceColor",count:v.length/3,array:v,itemSize:3,usage:w.DynamicDrawUsage}),"function"==typeof t?F.createElement(f.Provider,{value:h},t(C)):F.createElement(st.Provider,{value:h},t))}));var vt=F.forwardRef((function(e,n){var t=e.children,r=e.distances,i=x.default(e,["children","distances"]),a=F.useRef(null);return F.useLayoutEffect((function(){var e=a.current;e.levels.length=0,e.children.forEach((function(n,t){return e.levels.push({object:n,distance:r[t]})}))})),o.useFrame((function(e){var n;return null==(n=a.current)?void 0:n.update(e.camera)})),F.createElement("lOD",g.default({ref:b.default([a,n])},i),t)}));var Et=new r.Matrix4,Dt=new r.Ray,ht=new r.Sphere,gt=new r.Vector3;exports.AdaptiveDpr=function(e){var n=e.pixelated,t=o.useThree((function(e){return e.gl})),r=o.useThree((function(e){return e.internal.active})),i=o.useThree((function(e){return e.performance.current})),a=o.useThree((function(e){return e.viewport.initialDpr})),u=o.useThree((function(e){return e.setDpr}));return F.useEffect((function(){var e=t.domElement;return function(){r&&u(a),n&&e&&(e.style.imageRendering="auto")}}),[]),F.useEffect((function(){u(i*a),n&&t.domElement&&(t.domElement.style.imageRendering=1===i?"auto":"pixelated")}),[i]),null},exports.AdaptiveEvents=function(){var e=o.useThree((function(e){return e.get})),n=o.useThree((function(e){return e.performance.current}));return F.useEffect((function(){var n=e().raycaster.enabled;return function(){e().raycaster.enabled=n}}),[]),F.useEffect((function(){e().raycaster.enabled=1===n}),[n]),null},exports.BakeShadows=function(){var e=o.useThree((function(e){return e.gl}));return F.useEffect((function(){return e.shadowMap.autoUpdate=!1,e.shadowMap.needsUpdate=!0,function(){e.shadowMap.autoUpdate=e.shadowMap.needsUpdate=!0}}),[]),null},exports.Billboard=$,exports.Box=Fn,exports.CameraShake=Ae,exports.Center=rn,exports.Circle=wn,exports.Cloud=function(e){var n=e.opacity,t=void 0===n?.5:n,r=e.speed,i=void 0===r?.4:r,a=e.width,u=void 0===a?10:a,c=e.length,s=void 0===c?1.5:c,l=e.segments,f=void 0===l?20:l,C=e.dir,m=void 0===C?1:C,d=x.default(e,["opacity","speed","width","length","segments","dir"]),A=F.useRef(),_=ne(re),p=F.useMemo((function(){return[].concat(new Array(f)).map((function(e,n){return{x:u/2-Math.random()*u,y:u/2-Math.random()*u,scale:.4+Math.sin((n+1)/f*Math.PI)*(10*(.2+Math.random())),density:Math.max(.2,Math.random()),rotation:Math.max(.002,.005*Math.random())*i}}))}),[u,f,i]);return o.useFrame((function(e){var n;return null==(n=A.current)?void 0:n.children.forEach((function(n,t){n.rotation.z+=p[t].rotation*m,n.scale.setScalar(p[t].scale+(1+Math.sin(e.clock.getElapsedTime()/10))/2*t/10)}))})),F.createElement("group",d,F.createElement("group",{position:[0,0,f/2*s],ref:A},p.map((function(e,n){var r=e.x,o=e.y,i=e.scale,a=e.density;return F.createElement($,{key:n,scale:[i,i,i],position:[r,o,-n*s],lockZ:!0},F.createElement("meshStandardMaterial",{map:_,transparent:!0,opacity:i/6*a*t,depthTest:!1}))}))))},exports.Cone=yn,exports.ContactShadows=En,exports.CubeCamera=function(e){var n=e.children,t=e.fog,i=e.frames,a=void 0===i?1/0:i,u=e.resolution,c=void 0===u?256:u,s=e.near,l=void 0===s?1:s,f=e.far,C=void 0===f?1e3:f,m=x.default(e,["children","fog","frames","resolution","near","far"]),d=F.useRef(),A=F.useState(),_=A[0],p=A[1],B=o.useThree((function(e){return e.scene})),v=o.useThree((function(e){return e.gl})),E=F.useMemo((function(){return new r.WebGLCubeRenderTarget(c,{minFilter:r.LinearFilter,magFilter:r.LinearFilter,format:r.RGBFormat,encoding:v.outputEncoding})}),[c]),D=0;return o.useFrame((function(){if(_&&d.current&&(a===1/0||D<a)){d.current.traverse((function(e){return e.visible=!1}));var e=B.fog;B.fog=t||e,_.update(v,B),B.fog=e,d.current.traverse((function(e){return e.visible=!0})),D++}})),F.createElement("group",m,F.createElement("cubeCamera",{ref:p,args:[l,C,E]}),F.createElement("group",{ref:d},n(E.texture)))},exports.CubicBezierLine=ae,exports.CurveModifier=un,exports.Cylinder=bn,exports.DepthBuffer=an,exports.Detailed=vt,exports.DeviceOrientationControls=_e,exports.Dodecahedron=jn,exports.Effects=Ce,exports.Environment=le,exports.Extrude=Hn,exports.FirstPersonControls=ge,exports.FlyControls=pe,exports.GizmoHelper=function(e){var n=e.alignment,t=void 0===n?"bottom-right":n,i=e.margin,a=void 0===i?[80,80]:i,u=e.renderPriority,c=void 0===u?1:u,s=e.onUpdate,l=e.onTarget,f=e.children,C=o.useThree((function(e){return e.size})),m=o.useThree((function(e){return e.camera})),d=o.useThree((function(e){return e.controls})),A=o.useThree((function(e){return e.gl})),_=o.useThree((function(e){return e.scene})),p=o.useThree((function(e){return e.invalidate})),B=F.useRef(),v=F.useRef(),E=F.useRef(null),D=F.useState((function(){return new r.Scene}))[0],h=F.useRef(!1),g=F.useRef(0),x=F.useRef(new r.Vector3(0,0,0));F.useEffect((function(){return _.background&&(B.current=_.background,_.background=null,D.background=B.current),function(){B.current&&(_.background=B.current)}}),[]);o.useFrame((function(e,n){var t;E.current&&v.current&&(!function(e){if(h.current)if(Se.angleTo(Me)<.01)h.current=!1;else{var n=e*ye;Se.rotateTowards(Me,n),m.position.set(0,0,1).applyQuaternion(Se).multiplyScalar(g.current).add(x.current),m.up.set(0,1,0).applyQuaternion(Se).normalize(),m.quaternion.copy(Se),s?s():d&&d.update(),p()}}(n),Pe.copy(m.matrix).invert(),null==(t=v.current)||t.quaternion.setFromRotationMatrix(Pe),A.autoClear=!1,A.clearDepth(),A.render(D,E.current))}),c);var w={tweenCamera:function(e){h.current=!0,(d||l)&&(x.current=(null==d?void 0:d.target)||(null==l?void 0:l())),g.current=m.position.distanceTo(ze),Se.copy(m.quaternion),Te.copy(e).multiplyScalar(g.current).add(ze),be.lookAt(Te),Me.copy(be.quaternion),p()},raycast:xe(E)},y=a[0],b=a[1],P=t.endsWith("-left")?-C.width/2+y:C.width/2-y,S=t.startsWith("top-")?C.height/2-b:-C.height/2+b;return o.createPortal(F.createElement(Fe.Provider,{value:w},F.createElement(me,{ref:E,makeDefault:!1,position:[0,0,200]}),F.createElement("group",{ref:v,position:[P,S,0]},f)),D)},exports.GizmoViewcube=function(e){return F.createElement("group",{scale:[60,60,60]},F.createElement(We,e),Ue.map((function(n,t){return F.createElement(Ie,g.default({key:t,position:n,dimensions:Qe[t]},e))})),He.map((function(n,t){return F.createElement(Ie,g.default({key:t,position:n,dimensions:Ne},e))})),F.createElement("ambientLight",{intensity:.5}),F.createElement("pointLight",{position:[10,10,10],intensity:.5}))},exports.GizmoViewport=function(e){var n=e.hideNegativeAxes,t=e.disabled,r=e.font,o=void 0===r?"18px Inter var, Arial, sans-serif":r,i=e.axisColors,a=void 0===i?["#ff3653","#0adb50","#2c8fdf"]:i,u=e.labelColor,c=void 0===u?"#000":u,s=e.onClick,l=x.default(e,["hideNegativeAxes","disabled","font","axisColors","labelColor","onClick"]),f=a[0],C=a[1],m=a[2],d=we(),A=d.tweenCamera,_={font:o,disabled:t,labelColor:c,raycast:d.raycast,onClick:s,onPointerDown:t?void 0:function(e){A(e.object.position),e.stopPropagation()}};return F.createElement("group",g.default({scale:40},l),F.createElement(Ve,{color:f,rotation:[0,0,0]}),F.createElement(Ve,{color:C,rotation:[0,0,Math.PI/2]}),F.createElement(Ve,{color:m,rotation:[0,-Math.PI/2,0]}),F.createElement(Xe,g.default({arcStyle:f,position:[1,0,0],label:"X"},_)),F.createElement(Xe,g.default({arcStyle:C,position:[0,1,0],label:"Y"},_)),F.createElement(Xe,g.default({arcStyle:m,position:[0,0,1],label:"Z"},_)),!n&&F.createElement(F.Fragment,null,F.createElement(Xe,g.default({arcStyle:f,position:[-1,0,0]},_)),F.createElement(Xe,g.default({arcStyle:C,position:[0,-1,0]},_)),F.createElement(Xe,g.default({arcStyle:m,position:[0,0,-1]},_))),F.createElement("ambientLight",{intensity:.5}),F.createElement("pointLight",{position:[10,10,10],intensity:.5}))},exports.GradientTexture=function(e){var n=e.stops,t=e.colors,r=e.size,o=void 0===r?2048:r,i=x.default(e,["stops","colors","size"]),a=F.useMemo((function(){var e=document.createElement("canvas"),r=e.getContext("2d");e.width=16,e.height=o;for(var i=r.createLinearGradient(0,0,0,o),a=n.length;a--;)i.addColorStop(n[a],t[a]);r.fillStyle=i,r.fillRect(0,0,16,o);var u=new w.Texture(e);return u.needsUpdate=!0,u}),[n]);return F.useEffect((function(){return function(){a.dispose()}}),[a]),F.createElement("primitive",g.default({object:a,attach:"map"},i))},exports.Html=X,exports.Icosahedron=kn,exports.Instance=pt,exports.Instances=Bt,exports.IsObject=ee,exports.Lathe=Nn,exports.Line=oe,exports.Loader=function(e){var n=e.containerStyles,t=e.innerStyles,r=e.barStyles,o=e.dataStyles,i=e.dataInterpolation,a=void 0===i?J:i,u=e.initialState,c=void 0===u?function(e){return e}:u,s=K(),l=s.active,f=s.progress,C=F.useRef(0),m=F.useRef(0),d=F.useRef(null),A=F.useState(c(l)),_=A[0],p=A[1];F.useEffect((function(){var e;return l!==_&&(e=setTimeout((function(){return p(l)}),300)),function(){return clearTimeout(e)}}),[_,l]);var B=F.useCallback((function(){d.current&&(C.current+=(f-C.current)/2,(C.current>.95*f||100===f)&&(C.current=f),d.current.innerText=a(C.current),C.current<f&&(m.current=requestAnimationFrame(B)))}),[a,f]);return F.useEffect((function(){return B(),function(){return cancelAnimationFrame(m.current)}}),[B]),_?F.createElement("div",{style:g.default({},q.container,{opacity:l?1:0},n)},F.createElement("div",null,F.createElement("div",{style:g.default({},q.inner,t)},F.createElement("div",{style:g.default({},q.bar,{transform:"scaleX("+f/100+")"},r)}),F.createElement("span",{ref:d,style:g.default({},q.data,o)})))):null},exports.MapControls=Be,exports.Merged=function(e){var n=e.meshes,t=e.children,r=x.default(e,["meshes","children"]),o=Array.isArray(n);return F.createElement(O.default,{components:(o?n:Object.values(n)).map((function(e){var n=e.geometry,t=e.material;return F.createElement(Bt,g.default({geometry:n,material:t},r))}))},(function(e){return o?t.apply(void 0,e):t(Object.keys(n).reduce((function(n,t,r){var o;return g.default({},n,((o={})[t]=e[r],o))}),{}))}))},exports.MeshDistortMaterial=sn,exports.MeshReflectorMaterial=$e,exports.MeshWobbleMaterial=fn,exports.Octahedron=Gn,exports.OrbitControls=ve,exports.OrthographicCamera=me,exports.Parametric=Un,exports.PerspectiveCamera=de,exports.Plane=Sn,exports.Point=ct,exports.PointMaterial=mn,exports.PointMaterialImpl=Cn,exports.PointerLockControls=he,exports.Points=ut,exports.Polyhedron=On,exports.PositionalAudio=ue,exports.Preload=function(e){var n=e.all,t=e.scene,r=e.camera,i=o.useThree((function(e){return e.gl})),a=o.useThree((function(e){return e.camera})),u=o.useThree((function(e){return e.scene}));return F.useLayoutEffect((function(){var e=[];n&&(t||u).traverse((function(n){!1===n.visible&&(e.push(n),n.visible=!0)})),i.compile(t||u,r||a),e.forEach((function(e){return e.visible=!1}))}),[]),null},exports.QuadraticBezierLine=ie,exports.Reflector=en,exports.Ring=Rn,exports.RoundedBox=Yn,exports.ScreenQuad=In,exports.Shadow=nn,exports.Sky=An,exports.Sphere=Pn,exports.SpotLight=gn,exports.Stage=function(e){var n=e.children,t=e.controls,r=e.shadows,i=void 0===r||r,a=e.adjustCamera,u=void 0===a||a,c=e.environment,s=void 0===c?"city":c,l=e.contactShadow,f=void 0===l||l,C=e.intensity,m=void 0===C?1:C,d=e.preset,A=void 0===d?"rembrandt":d,_=e.shadowBias,p=void 0===_?0:_,B=e.contactShadowBlur,v=void 0===B?2:B,E=e.contactShadowOpacity,D=void 0===E?.5:E,h=x.default(e,["children","controls","shadows","adjustCamera","environment","contactShadow","intensity","preset","shadowBias","contactShadowBlur","contactShadowOpacity"]),g=Jn[A],y=o.useThree((function(e){return e.camera})),b=o.useThree((function(e){return e.controls})),P=F.useRef(null),S=F.useRef(null),M=F.useState({radius:0,width:0,height:0}),z=M[0],T=z.radius,L=z.width,R=z.height,O=M[1];return F.useLayoutEffect((function(){P.current.position.set(0,0,0),P.current.updateWorldMatrix(!0,!0);var e=(new w.Box3).setFromObject(S.current),n=new w.Vector3,t=new w.Sphere,r=e.max.y-e.min.y,o=e.max.x-e.min.x;e.getCenter(n),e.getBoundingSphere(t),O({radius:t.radius,width:o,height:r}),P.current.position.set(-n.x,-n.y+r/2,-n.z)}),[n]),F.useLayoutEffect((function(){if(u){var e=T/(R>L?1.5:2.5);y.position.set(0,.5*T,2.5*T),y.near=.1,y.far=Math.max(5e3,4*T),y.lookAt(0,e,0);var n=b||(null==t?void 0:t.current);n&&(n.target.set(0,e,0),n.update())}}),[b,T,R,L,u]),F.createElement("group",h,F.createElement("group",{ref:P},F.createElement("group",{ref:S},n)),f&&F.createElement(En,{"rotation-x":Math.PI/2,opacity:D,width:2*T,height:2*T,blur:v,far:T/2}),s&&F.createElement(le,{preset:s}),F.createElement("ambientLight",{intensity:m/3}),F.createElement("spotLight",{penumbra:1,position:[g.main[0]*T,g.main[1]*T,g.main[2]*T],intensity:2*m,castShadow:i,"shadow-bias":p}),F.createElement("pointLight",{position:[g.fill[0]*T,g.fill[1]*T,g.fill[2]*T],intensity:m}))},exports.Stars=vn,exports.Stats=function(e){var n=e.showPanel,t=void 0===n?0:n,r=e.className,i=e.parent,a=function(e,n,t){void 0===n&&(n=[]);var r=F.useState(),o=r[0],i=r[1];return F.useLayoutEffect((function(){var n=e();return i(n),tn(t,n),function(){return tn(t,null)}}),n),o}((function(){return new L.default}),[]);return F.useEffect((function(){if(a){var e=i&&i.current||document.body;a.showPanel(t),null==e||e.appendChild(a.dom),r&&a.dom.classList.add(r);var n=o.addEffect((function(){return a.begin()})),u=o.addAfterEffect((function(){return a.end()}));return function(){null==e||e.removeChild(a.dom),n(),u()}}}),[i,a,r,t]),null},exports.Tetrahedron=Ln,exports.Text=ce,exports.Torus=zn,exports.TorusKnot=Tn,exports.TrackballControls=Ee,exports.TransformControls=De,exports.Tube=Mn,exports.calcPosFromAngles=dn,exports.isWebGL2Available=fe,exports.meshBounds=function(e,n){var t=this.geometry,r=this.material,o=this.matrixWorld;void 0!==r&&(null===t.boundingSphere&&t.computeBoundingSphere(),ht.copy(t.boundingSphere),ht.applyMatrix4(o),!1!==e.ray.intersectsSphere(ht)&&(Et.copy(o).invert(),Dt.copy(e.ray).applyMatrix4(Et),null!==t.boundingBox&&null===Dt.intersectBox(t.boundingBox,gt)||n.push({distance:gt.distanceTo(e.ray.origin),point:gt.clone(),object:this})))},exports.shaderMaterial=function(e,n,t,r){return function(o){function i(){var i,a=Object.entries(e);return i=o.call(this,{uniforms:a.reduce((function(e,n){var t,r=n[0],o=n[1],i=w.UniformsUtils.clone(((t={})[r]={value:o},t));return g.default({},e,i)}),{}),vertexShader:n,fragmentShader:t})||this,a.forEach((function(e){var n=e[0];return Object.defineProperty(R.default(i),n,{get:function(){return i.uniforms[n].value},set:function(e){return i.uniforms[n].value=e}})})),r&&r(R.default(i)),i}return T.default(i,o),i}(w.ShaderMaterial)},exports.softShadows=function(e){if(!_n){_n=!0;var n=w.ShaderChunk.shadowmap_pars_fragment;n=(n=n.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(t=g.default({},e),o=(r=void 0===t?{}:t).frustum,i=void 0===o?3.75:o,a=r.size,u=void 0===a?.005:a,c=r.near,s=void 0===c?9.5:c,l=r.samples,f=void 0===l?17:l,C=r.rings,"#define LIGHT_WORLD_SIZE "+u+"\n#define LIGHT_FRUSTUM_WIDTH "+i+"\n#define LIGHT_SIZE_UV (LIGHT_WORLD_SIZE / LIGHT_FRUSTUM_WIDTH)\n#define NEAR_PLANE "+s+"\n\n#define NUM_SAMPLES "+f+"\n#define NUM_RINGS "+(void 0===C?11:C)+"\n#define BLOCKER_SEARCH_NUM_SAMPLES NUM_SAMPLES\n#define PCF_NUM_SAMPLES NUM_SAMPLES\n\nvec2 poissonDisk[NUM_SAMPLES];\n\nvoid initPoissonSamples(const in vec2 randomSeed) {\n float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);\n float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);\n float angle = rand(randomSeed) * PI2;\n float radius = INV_NUM_SAMPLES;\n float radiusStep = radius;\n for (int i = 0; i < NUM_SAMPLES; i++) {\n poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);\n radius += radiusStep;\n angle += ANGLE_STEP;\n }\n}\n\nfloat penumbraSize(const in float zReceiver, const in float zBlocker) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\n\nfloat findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver) {\n float searchRadius = LIGHT_SIZE_UV * (zReceiver - NEAR_PLANE) / zReceiver;\n float blockerDepthSum = 0.0;\n int numBlockers = 0;\n for (int i = 0; i < BLOCKER_SEARCH_NUM_SAMPLES; i++) {\n float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));\n if (shadowMapDepth < zReceiver) {\n blockerDepthSum += shadowMapDepth;\n numBlockers++;\n }\n }\n if (numBlockers == 0) return -1.0;\n return blockerDepthSum / float(numBlockers);\n}\n\nfloat PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {\n float sum = 0.0;\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[ i ] * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[ i ].yx * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n return sum / (2.0 * float(PCF_NUM_SAMPLES));\n}\n\nfloat PCSS(sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n initPoissonSamples(uv);\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);\n if (avgBlockerDepth == -1.0) return 1.0;\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n float filterRadius = penumbraRatio * LIGHT_SIZE_UV * NEAR_PLANE / zReceiver;\n return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);\n}"))).replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),w.ShaderChunk.shadowmap_pars_fragment=n}var t,r,o,i,a,u,c,s,l,f,C},exports.useAnimations=function(e,n){var t=F.useRef(),i=F.useState((function(){return n?n instanceof r.Object3D?{current:n}:n:t}))[0],a=F.useState((function(){return new r.AnimationMixer(void 0)}))[0],u=F.useRef({}),c=F.useState((function(){var n={};return e.forEach((function(e){return Object.defineProperty(n,e.name,{enumerable:!0,get:function(){if(i.current)return u.current[e.name]||(u.current[e.name]=a.clipAction(e,i.current))}})})),{ref:i,clips:e,actions:n,names:e.map((function(e){return e.name})),mixer:a}}))[0];return o.useFrame((function(e,n){return a.update(n)})),F.useEffect((function(){var e=i.current;return function(){u.current={},Object.values(c.actions).forEach((function(n){e&&a.uncacheAction(n,e)}))}}),[e]),c},exports.useAspect=function(e,n,t){void 0===t&&(t=1);var r=o.useThree((function(e){return e.viewport})),i=n*(r.aspect>e/n?r.width/e:r.height/n);return[e*(r.aspect>e/n?r.width/e:r.height/n)*t,i*t,1]},exports.useBVH=function(e,n){F.useEffect((function(){if(e.current){e.current.raycast=B.acceleratedRaycast;var t=e.current.geometry;return t.computeBoundsTree=B.computeBoundsTree,t.disposeBoundsTree=B.disposeBoundsTree,t.computeBoundsTree(n),function(){t.boundsTree&&t.disposeBoundsTree()}}}),[e,n])},exports.useCamera=xe,exports.useContextBridge=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];var r=F.useRef([]);return r.current=n.map((function(e){return F.useContext(e)})),F.useMemo((function(){return function(e){var t=e.children;return n.reduceRight((function(e,n,t){return F.createElement(n.Provider,{value:r.current[t],children:e})}),t)}}),[])},exports.useCubeTexture=Ze,exports.useCursor=function(e,n,t){void 0===n&&(n="pointer"),void 0===t&&(t="auto"),F.useEffect((function(){if(e)return document.body.style.cursor=n,function(){document.body.style.cursor=t}}),[e])},exports.useDetectGPU=function(e){var n=F.useState(null);return n[0],n[1],f.useAsset((function(){return p.getGPUTier(e)}),"useDetectGPU")},exports.useEdgeSplit=function(e,n){void 0===n&&(n=!0);var t=F.useRef(),r=F.useRef(),o=F.useRef();return F.useEffect((function(){!r.current&&t.current&&(r.current=t.current.geometry.clone(),o.current=new s.EdgeSplitModifier)}),[]),F.useEffect((function(){if(r.current&&t.current&&o.current){var i=o.current.modify(r.current,e,n);i.computeVertexNormals(),t.current.geometry=i}}),[e,n]),t},exports.useFBO=on,exports.useFBX=Ke,exports.useGLTF=qe,exports.useGizmoContext=we,exports.useHelper=function(e,n){for(var t=arguments.length,r=new Array(t>2?t-2:0),i=2;i<t;i++)r[i-2]=arguments[i];var a=F.useRef(),u=o.useThree((function(e){return e.scene}));return F.useEffect((function(){return n&&e.current&&(a.current=P.default(n,[e.current].concat(r)),a.current&&u.add(a.current)),function(){a.current&&u.remove(a.current)}}),[u,n,e,r]),o.useFrame((function(){a.current&&a.current.update()})),a},exports.useMatcapTexture=function(e,n){void 0===e&&(e=0),void 0===n&&(n=1024);var t=F.useMemo((function(){return Object.keys(Vn).length}),[]),r="https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d/"+n+"/"+(""+(F.useMemo((function(){return"string"==typeof e?e:"number"==typeof e?Vn[e]:null}),[e])||Xn)+function(e){switch(e){case 64:return"-64px";case 128:return"-128px";case 256:return"-256px";case 512:return"-512px";default:return""}}(n)+".png");return[ne(r),r,t]},exports.useNormalTexture=function(e,n){void 0===e&&(e=0),void 0===n&&(n={});var t=n,o=t.repeat,i=void 0===o?[1,1]:o,a=t.anisotropy,u=void 0===a?1:a,c=t.offset,s=void 0===c?[0,0]:c,l=F.useMemo((function(){return Object.keys(Zn).length}),[]),f="https://rawcdn.githack.com/emmelleppi/normal-maps/f24c810fc1d86b5b1e5dfea914b668f70b5f2923/normals/"+(Zn[e]||Kn),C=ne(f);return F.useEffect((function(){C&&(C.wrapS=C.wrapT=r.RepeatWrapping,C.repeat=new r.Vector2(i[0],i[1]),C.offset=new r.Vector2(s[0],s[1]),C.anisotropy=u)}),[C,u,i,s]),[C,f,l]},exports.useProgress=K,exports.useSimplification=function(e){var n=F.useRef(),t=F.useRef(),r=F.useRef();return F.useEffect((function(){t.current||(t.current=n.current.geometry.clone(),r.current=new s.SimplifyModifier)}),[]),F.useEffect((function(){if(t.current&&n.current){var o=t.current,i=Math.floor(o.attributes.position.count*e);n.current.geometry=r.current.modify(o,i)}}),[e]),n},exports.useTessellation=function(e,n){void 0===e&&(e=3);var t=F.useRef(),r=F.useRef(),o=F.useRef();return F.useEffect((function(){r.current||(r.current=t.current.geometry.clone(),o.current=new s.TessellateModifier(parseInt(n),e))}),[n,e]),F.useEffect((function(){o.current.maxEdgeLength=n}),[n]),F.useEffect((function(){if(r.current&&t.current){var e=o.current.modify(r.current);t.current.geometry=e}}),[n,e]),t},exports.useTexture=ne;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),n=require("three"),r=require("@react-three/fiber"),o=require("zustand"),a=require("react-merge-refs"),s=require("blob-polyfill"),i=require("three-stdlib"),u=require("troika-three-text"),c=require("use-asset"),l=require("lodash.omit"),C=require("lodash.pick"),m=require("three/examples/js/libs/stats.min"),A=require("detect-gpu"),_=require("three-mesh-bvh"),p=require("react-composer");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var B=d(e),E=f(t),D=f(n),h=d(o),v=d(a),g=d(l),x=d(C),F=d(m),w=d(p);const y=new n.Vector3,b=new n.Vector3,P=new n.Vector3,S=()=>{throw new Error("Html component requires a 'react-dom' package, please install it")};let M={unmountComponentAtNode:S,render:S};try{M=require("react-dom")}catch{}function z(e,t,n){const r=y.setFromMatrixPosition(e.matrixWorld);r.project(t);const o=n.width/2,a=n.height/2;return[r.x*o+o,-r.y*a+a]}const T=e=>Math.abs(e)<1e-10?0:e;function L(e,t,n=""){let r="matrix3d(";for(let n=0;16!==n;n++)r+=T(t[n]*e.elements[n])+(15!==n?",":")");return n+r}const R=(O=[1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1],e=>L(e,O));var O;const G=(e,t)=>{return L(e,[1/(n=t),1/n,1/n,1,-1/n,-1/n,-1/n,-1,1/n,1/n,1/n,1,1,1,1,1],"translate(-50%,-50%)");var n},k=E.forwardRef((({children:e,eps:t=.001,style:o,className:a,prepend:s,center:i,fullscreen:u,portal:c,distanceFactor:l,sprite:C=!1,transform:m=!1,occlude:A,onOcclude:_,zIndexRange:p=[16777271,0],calculatePosition:d=z,as:f="div",pointerEvents:D="auto",...h},v)=>{var g;const x=r.useThree((({gl:e})=>e)),F=r.useThree((({camera:e})=>e)),w=r.useThree((({scene:e})=>e)),S=r.useThree((({size:e})=>e)),L=r.useThree((({raycaster:e})=>e)),[O]=E.useState((()=>document.createElement(f))),k=E.useRef(null),j=E.useRef(0),H=E.useRef([0,0]),N=E.useRef(null),U=E.useRef(null),Q=null!==(g=null==c?void 0:c.current)&&void 0!==g?g:x.domElement.parentNode;E.useEffect((()=>{if(k.current){if(w.updateMatrixWorld(),m)O.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const e=d(k.current,F,S);O.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${e[0]}px,${e[1]}px,0);transform-origin:0 0;`}return Q&&(s?Q.prepend(O):Q.appendChild(O)),()=>{Q&&Q.removeChild(O),M.unmountComponentAtNode(O)}}}),[Q,m]);const Y=E.useMemo((()=>m?{position:"absolute",top:0,left:0,width:S.width,height:S.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:i?"translate3d(-50%,-50%,0)":"none",...u&&{top:-S.height/2,left:-S.width/2,width:S.width,height:S.height},...o}),[o,i,u,S,m]),W=E.useMemo((()=>({position:"absolute",pointerEvents:D})),[D]);E.useLayoutEffect((()=>{m?M.render(E.createElement("div",{ref:N,style:Y},E.createElement("div",{ref:U,style:W},E.createElement("div",{ref:v,className:a,style:o,children:e}))),O):M.render(E.createElement("div",{ref:v,style:Y,className:a,children:e}),O)}));const I=E.useRef(!0);return r.useFrame((()=>{if(k.current){F.updateMatrixWorld(),k.current.updateWorldMatrix(!0,!1);const e=m?H.current:d(k.current,F,S);if(m||Math.abs(j.current-F.zoom)>t||Math.abs(H.current[0]-e[0])>t||Math.abs(H.current[1]-e[1])>t){const t=function(e,t){const n=y.setFromMatrixPosition(e.matrixWorld),r=b.setFromMatrixPosition(t.matrixWorld),o=n.sub(r),a=t.getWorldDirection(P);return o.angleTo(a)>Math.PI/2}(k.current,F);let r=!1;"boolean"==typeof A?!0===A&&(r=[w]):Array.isArray(A)&&(r=A.map((e=>e.current)));const o=I.current;if(r){const e=function(e,t,n,r){const o=y.setFromMatrixPosition(e.matrixWorld),a=o.clone();a.project(t),n.setFromCamera(a,t);const s=n.intersectObjects(r,!0);if(s.length){const e=s[0].distance;return o.distanceTo(n.ray.origin)<e}return!0}(k.current,F,L,r);I.current=e&&!t}else I.current=!t;if(o!==I.current&&(_?_(!I.current):O.style.display=I.current?"block":"none"),O.style.zIndex=`${function(e,t,r){if(t instanceof n.PerspectiveCamera||t instanceof n.OrthographicCamera){const n=y.setFromMatrixPosition(e.matrixWorld),o=b.setFromMatrixPosition(t.matrixWorld),a=n.distanceTo(o),s=(r[1]-r[0])/(t.far-t.near),i=r[1]-s*t.far;return Math.round(s*a+i)}}(k.current,F,p)}`,m){const[e,t]=[S.width/2,S.height/2],n=F.projectionMatrix.elements[5]*t,{isOrthographicCamera:r,top:o,left:a,bottom:s,right:i}=F,u=R(F.matrixWorldInverse),c=r?`scale(${n})translate(${T(-(i+a)/2)}px,${T((o+s)/2)}px)`:`translateZ(${n}px)`;let m=k.current.matrixWorld;C&&(m=F.matrixWorldInverse.clone().transpose().copyPosition(m).scale(k.current.scale),m.elements[3]=m.elements[7]=m.elements[11]=0,m.elements[15]=1),O.style.width=S.width+"px",O.style.height=S.height+"px",O.style.perspective=r?"":`${n}px`,N.current&&U.current&&(N.current.style.transform=`${c}${u}translate(${e}px,${t}px)`,U.current.style.transform=G(m,1/((l||10)/400)))}else{const t=void 0===l?1:function(e,t){if(t instanceof n.OrthographicCamera)return t.zoom;if(t instanceof n.PerspectiveCamera){const n=y.setFromMatrixPosition(e.matrixWorld),r=b.setFromMatrixPosition(t.matrixWorld),o=t.fov*Math.PI/180,a=n.distanceTo(r);return 1/(2*Math.tan(o/2)*a)}return 1}(k.current,F)*l;O.style.transform=`translate3d(${e[0]}px,${e[1]}px,0) scale(${t})`}H.current=e,j.current=F.zoom}}})),E.createElement("group",B.default({},h,{ref:k}))})),j=()=>{throw new Error("Html component requires a 'react-dom' package, please install it")};let H={unmountComponentAtNode:j,render:j};try{H=require("react-dom")}catch{}let N=0;const U=h.default((e=>(n.DefaultLoadingManager.onStart=(t,n,r)=>{e({active:!0,item:t,loaded:n,total:r,progress:(n-N)/(r-N)*100})},n.DefaultLoadingManager.onLoad=()=>{e({active:!1})},n.DefaultLoadingManager.onError=t=>e((e=>({errors:[...e.errors,t]}))),n.DefaultLoadingManager.onProgress=(t,n,r)=>{n===r&&(N=r),e({active:!0,item:t,loaded:n,total:r,progress:(n-N)/(r-N)*100||100})},{errors:[],active:!1,progress:0,item:"",loaded:0,total:0}))),Q=e=>`Loading ${e.toFixed(2)}%`;const Y={container:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:"#171717",display:"flex",alignItems:"center",justifyContent:"center",transition:"opacity 300ms ease",zIndex:1e3},inner:{width:100,height:3,background:"#272727",textAlign:"center"},bar:{height:3,width:"100%",background:"white",transition:"transform 200ms",transformOrigin:"left center"},data:{display:"inline-block",position:"relative",fontVariantNumeric:"tabular-nums",marginTop:"0.8em",color:"#f0f0f0",fontSize:"0.6em",fontFamily:'-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", "Helvetica Neue", Helvetica, Arial, Roboto, Ubuntu, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',whiteSpace:"nowrap"}},W=E.forwardRef((function({follow:e=!0,lockX:t=!1,lockY:n=!1,lockZ:o=!1,...a},s){const i=E.useRef();return r.useFrame((({camera:r})=>{if(!e||!i.current)return;const a=i.current.rotation.clone();i.current.quaternion.copy(r.quaternion),t&&(i.current.rotation.x=a.x),n&&(i.current.rotation.y=a.y),o&&(i.current.rotation.z=a.z)})),E.createElement("group",B.default({ref:v.default([i,s])},a))})),I=e=>e===Object(e)&&!Array.isArray(e)&&"function"!=typeof e;function V(e){const t=r.useLoader(n.TextureLoader,I(e)?Object.values(e):e);if(I(e)){const n=Object.keys(e),r={};return n.forEach((e=>Object.assign(r,{[e]:t[n.indexOf(e)]}))),r}return t}function X(e){for(var t=e.length,n=new ArrayBuffer(t),r=new Uint8Array(n),o=0;o<t;o++)r[o]=e.charCodeAt(o);return n}V.preload=e=>r.useLoader.preload(n.TextureLoader,e),V.clear=e=>r.useLoader.clear(n.TextureLoader,e);const Z=((e,t)=>{return URL.createObjectURL(new s.Blob([X((n=e,"undefined"==typeof window?Buffer.from(n,"base64").toString("binary"):atob(n)))],{type:t}));var n})("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","img/png");const K=E.forwardRef((function({points:e,color:t="black",vertexColors:r,lineWidth:o,dashed:a,...s},u){const[c]=E.useState((()=>new i.Line2)),[l]=E.useState((()=>new i.LineMaterial)),[C]=E.useState((()=>new n.Vector2(512,512))),m=E.useMemo((()=>{const t=new i.LineGeometry,o=e.map((e=>e instanceof n.Vector3?e.toArray():e));if(t.setPositions(o.flat()),r){const e=r.map((e=>e instanceof n.Color?e.toArray():e));t.setColors(e.flat())}return t}),[e,r]);return E.useLayoutEffect((()=>{c.computeLineDistances()}),[e,c]),E.useLayoutEffect((()=>{a?l.defines.USE_DASH="":delete l.defines.USE_DASH,l.needsUpdate=!0}),[a,l]),E.useEffect((()=>()=>m.dispose()),[m]),E.createElement("primitive",B.default({object:c,ref:u},s),E.createElement("primitive",{object:m,attach:"geometry"}),E.createElement("primitive",B.default({object:l,attach:"material",color:t,vertexColors:Boolean(r),resolution:C,linewidth:o,dashed:a},s)))})),J=E.forwardRef((function({start:e,end:t,mid:r,segments:o=20,...a},s){const i=E.useMemo((()=>{const a=e instanceof n.Vector3?e:new n.Vector3(...e),s=t instanceof n.Vector3?t:new n.Vector3(...t),i=r||a.clone().add(s.clone().sub(a)).add(new n.Vector3(0,a.y-s.y,0)),u=i instanceof n.Vector3?i:new n.Vector3(...i);return new n.QuadraticBezierCurve3(a,u,s).getPoints(o)}),[e,t,r,o]);return E.createElement(K,B.default({ref:s,points:i},a))})),q=E.forwardRef((function({start:e,end:t,midA:r,midB:o,segments:a=20,...s},i){const u=E.useMemo((()=>{const s=e instanceof n.Vector3?e:new n.Vector3(...e),i=t instanceof n.Vector3?t:new n.Vector3(...t),u=r instanceof n.Vector3?r:new n.Vector3(...r),c=o instanceof n.Vector3?o:new n.Vector3(...o);return new n.CubicBezierCurve3(s,u,c,i).getPoints(a)}),[e,t,r,o,a]);return E.createElement(K,B.default({ref:i,points:u},s))})),$=E.forwardRef((({url:e,distance:t=1,loop:o=!0,autoplay:a,...s},i)=>{const u=E.useRef(),c=r.useThree((({camera:e})=>e)),[l]=E.useState((()=>new n.AudioListener)),C=r.useLoader(n.AudioLoader,e);return E.useEffect((()=>{const e=u.current;e&&(e.setBuffer(C),e.setRefDistance(t),e.setLoop(o),a&&!e.isPlaying&&e.play())}),[C,c,t,o]),E.useEffect((()=>{const e=u.current;return c.add(l),()=>{c.remove(l),e&&(e.isPlaying&&e.stop(),e.source&&e.source._connected&&e.disconnect())}}),[]),E.createElement("positionalAudio",B.default({ref:v.default([u,i]),args:[l]},s))})),ee=E.forwardRef((({anchorX:e="center",anchorY:t="middle",children:n,onSync:o,...a},s)=>{const i=r.useThree((({invalidate:e})=>e)),[c]=E.useState((()=>new u.Text)),[l,C]=E.useMemo((()=>{const e=[];let t="";return E.Children.forEach(n,(n=>{"string"==typeof n||"number"==typeof n?t+=n:e.push(n)})),[e,t]}),[n]);return E.useLayoutEffect((()=>{c.sync((()=>{i(),o&&o(c)}))})),E.useEffect((()=>()=>c.dispose()),[c]),E.createElement("primitive",B.default({object:c,ref:s,text:C,anchorX:e,anchorY:t},a),l)})),te={sunset:"venice_sunset_1k.hdr",dawn:"kiara_1_dawn_1k.hdr",night:"dikhololo_night_1k.hdr",warehouse:"empty_warehouse_01_1k.hdr",forest:"forest_slope_1k.hdr",apartment:"lebombo_1k.hdr",studio:"studio_small_03_1k.hdr",city:"potsdamer_platz_1k.hdr",park:"rooitou_park_1k.hdr",lobby:"st_fagans_interior_1k.hdr"};function ne({background:e=!1,files:t=["/px.png","/nx.png","/py.png","/ny.png","/pz.png","/nz.png"],path:o="",preset:a,scene:s,extensions:u}){if(a){if(!(a in te))throw new Error("Preset must be one of: "+Object.keys(te).join(", "));t=te[a],o="https://rawcdn.githack.com/pmndrs/drei-assets/aa3600359ba664d546d05821bcbca42013587df2/hdri/"}const l=r.useThree((({scene:e})=>e)),C=r.useThree((({gl:e})=>e)),m=Array.isArray(t),A=m?n.CubeTextureLoader:i.RGBELoader,_=r.useLoader(A,m?[t]:t,(e=>{e.setPath(o),u&&u(e)})),p=m?_[0]:_,d=c.useAsset((()=>new Promise((e=>{const t=new n.PMREMGenerator(C),r=function(e,t,n){return n?(t.compileEquirectangularShader(),t.fromCubemap(e).texture):t.fromEquirectangular(e).texture}(p,t,m);t.dispose(),e(r)}))),p);return E.useLayoutEffect((()=>{const t=s?s.background:l.background,n=s?s.environment:l.environment;return s?(s.environment=d,e&&(s.background=d)):(l.environment=d,e&&(l.background=d)),()=>{s?(s.environment=n,s.background=t):(l.environment=n,l.background=t),c.useAsset.clear(p),d.dispose()}}),[d,e,s]),null}r.extend({EffectComposer:i.EffectComposer,RenderPass:i.RenderPass,ShaderPass:i.ShaderPass});const re=()=>{try{var e=document.createElement("canvas");return!(!window.WebGL2RenderingContext||!e.getContext("webgl2"))}catch(e){return!1}},oe=E.forwardRef((({children:e,multisamping:t=8,renderIndex:o=1,disableGamma:a=!1,disableRenderPass:s=!1,...u},c)=>{const l=E.useRef(),C=r.useThree((({scene:e})=>e)),m=r.useThree((({camera:e})=>e)),A=r.useThree((({gl:e})=>e)),_=r.useThree((({size:e})=>e)),[p]=E.useState((()=>{if(re()&&t>0){const e=new n.WebGLMultisampleRenderTarget(_.width,_.height,{format:n.RGBAFormat,encoding:n.sRGBEncoding});return e.samples=8,e}}));return E.useEffect((()=>{var e,t;null==(e=l.current)||e.setSize(_.width,_.height),null==(t=l.current)||t.setPixelRatio(A.getPixelRatio())}),[A,_]),r.useFrame((()=>{var e;return null==(e=l.current)?void 0:e.render()}),o),E.createElement("effectComposer",B.default({ref:v.default([c,l]),args:[A,p]},u),!s&&E.createElement("renderPass",{attachArray:"passes",args:[C,m]}),!a&&E.createElement("shaderPass",{attachArray:"passes",args:[i.GammaCorrectionShader]}),e)}));const ae=E.forwardRef((({makeDefault:e,manual:t,...n},o)=>{const a=r.useThree((({set:e})=>e)),s=r.useThree((({camera:e})=>e)),i=r.useThree((({size:e})=>e)),u=E.useRef();return E.useLayoutEffect((()=>{u.current&&!t&&u.current.updateProjectionMatrix()}),[i,n]),E.useLayoutEffect((()=>{if(e&&u.current){const e=s;return a((()=>({camera:u.current}))),()=>a((()=>({camera:e})))}}),[s,u,e,a]),E.createElement("orthographicCamera",B.default({left:i.width/-2,right:i.width/2,top:i.height/2,bottom:i.height/-2,ref:v.default([u,o])},n))})),se=E.forwardRef((({makeDefault:e,manual:t,...n},o)=>{const a=r.useThree((({set:e})=>e)),s=r.useThree((({camera:e})=>e)),i=r.useThree((({size:e})=>e)),u=E.useRef();return E.useLayoutEffect((()=>{const{current:e}=u;e&&!t&&(e.aspect=i.width/i.height,e.updateProjectionMatrix())}),[i,n]),E.useLayoutEffect((()=>{if(e&&u.current){const e=s;return a((()=>({camera:u.current}))),()=>a((()=>({camera:e})))}}),[s,u,e,a]),E.createElement("perspectiveCamera",B.default({ref:v.default([u,o])},n))})),ie=E.forwardRef((({intensity:e=1,decay:t,decayRate:n=.65,maxYaw:o=.1,maxPitch:a=.1,maxRoll:s=.1,yawFrequency:u=1,pitchFrequency:c=1,rollFrequency:l=1,controls:C},m)=>{const A=r.useThree((e=>e.camera)),_=r.useThree((e=>e.controls)),p=E.useRef(e),d=E.useRef(A.rotation.clone()),[f]=E.useState((()=>new i.SimplexNoise)),[B]=E.useState((()=>new i.SimplexNoise)),[D]=E.useState((()=>new i.SimplexNoise)),h=()=>{(p.current<0||p.current>1)&&(p.current=p.current<0?0:1)};return E.useImperativeHandle(m,(()=>({getIntensity:()=>p.current,setIntensity:e=>{p.current=e,h()}})),[]),E.useEffect((()=>{const e=_||(null==C?void 0:C.current),t=()=>{d.current=A.rotation.clone()};return null==e||e.addEventListener("change",t),()=>{null==e||e.removeEventListener("change",t)}}),[C,_]),r.useFrame((({clock:e},r)=>{const i=Math.pow(p.current,2),C=o*i*f.noise(e.elapsedTime*u,1),m=a*i*B.noise(e.elapsedTime*c,1),_=s*i*D.noise(e.elapsedTime*l,1);A.rotation.set(d.current.x+m,d.current.y+C,d.current.z+_),t&&p.current>0&&(p.current-=n*r,h())})),null}));const ue=E.forwardRef(((e,t)=>{const{camera:n,onChange:o,...a}=e,s=r.useThree((({camera:e})=>e)),u=r.useThree((({invalidate:e})=>e)),c=n||s,[l]=E.useState((()=>new i.DeviceOrientationControls(c)));return E.useEffect((()=>{const e=e=>{u(),o&&o(e)};return null==l||null==l.addEventListener||l.addEventListener("change",e),()=>null==l||null==l.removeEventListener?void 0:l.removeEventListener("change",e)}),[o,l,u]),r.useFrame((()=>null==l?void 0:l.update())),E.useEffect((()=>{const e=l;return null==e||e.connect(),()=>null==e?void 0:e.dispose()}),[l]),l?E.createElement("primitive",B.default({ref:t,dispose:void 0,object:l},a)):null})),ce=E.forwardRef(((e,t)=>{const{onChange:n,...o}=e,a=r.useThree((({invalidate:e})=>e)),s=r.useThree((({camera:e})=>e)),u=r.useThree((({gl:e})=>e)),[c]=E.useState((()=>new i.FlyControls(s,u.domElement)));return E.useEffect((()=>{const e=e=>{a(),n&&n(e)};return null==c||null==c.addEventListener||c.addEventListener("change",e),()=>null==c||null==c.removeEventListener?void 0:c.removeEventListener("change",e)}),[n,c,a]),r.useFrame(((e,t)=>null==c?void 0:c.update(t))),c?E.createElement("primitive",B.default({ref:t,dispose:void 0,object:c},o)):null})),le=E.forwardRef(((e={enableDamping:!0},t)=>{const{camera:n,onChange:o,onStart:a,onEnd:s,...u}=e,c=r.useThree((({invalidate:e})=>e)),l=r.useThree((({camera:e})=>e)),C=r.useThree((({gl:e})=>e.domElement)),m=n||l,A=E.useMemo((()=>new i.MapControls(m)),[m]);return E.useEffect((()=>{A.connect(C);const e=e=>{c(),o&&o(e)};return A.addEventListener("change",e),a&&A.addEventListener("start",a),s&&A.addEventListener("end",s),()=>{A.dispose(),A.removeEventListener("change",e),a&&A.removeEventListener("start",a),s&&A.removeEventListener("end",s)}}),[o,a,s,A,c,C]),r.useFrame((()=>A.update())),E.createElement("primitive",B.default({ref:t,dispose:void 0,object:A,enableDamping:!0},u))})),Ce=E.forwardRef((({makeDefault:e,camera:t,regress:n,domElement:o,enableDamping:a=!0,onChange:s,onStart:u,onEnd:c,...l},C)=>{const m=r.useThree((({invalidate:e})=>e)),A=r.useThree((({camera:e})=>e)),_=r.useThree((({gl:e})=>e)),p=r.useThree((({set:e})=>e)),d=r.useThree((({get:e})=>e)),f=r.useThree((({performance:e})=>e)),D=t||A,h=o||_.domElement,v=E.useMemo((()=>new i.OrbitControls(D)),[D]);return r.useFrame((()=>{v.enabled&&v.update()})),E.useEffect((()=>{const e=e=>{m(),n&&f.regress(),s&&s(e)};return v.connect(h),v.addEventListener("change",e),u&&v.addEventListener("start",u),c&&v.addEventListener("end",c),()=>{v.removeEventListener("change",e),u&&v.removeEventListener("start",u),c&&v.removeEventListener("end",c),v.dispose()}}),[s,u,c,n,v,m]),E.useEffect((()=>{if(e){const e=d().controls;return p({controls:v}),()=>p({controls:e})}}),[e,v]),E.createElement("primitive",B.default({ref:C,object:v,enableDamping:a},l))})),me=E.forwardRef((({makeDefault:e,camera:t,regress:n,onChange:o,onStart:a,onEnd:s,...u},c)=>{const l=r.useThree((({invalidate:e})=>e)),C=r.useThree((({camera:e})=>e)),m=r.useThree((({gl:e})=>e)),A=r.useThree((({set:e})=>e)),_=r.useThree((({get:e})=>e)),p=r.useThree((({performance:e})=>e)),d=t||C,f=E.useMemo((()=>new i.TrackballControls(d,m.domElement)),[d,m.domElement]);return r.useFrame((()=>{f.enabled&&f.update()})),E.useEffect((()=>{const e=e=>{l(),n&&p.regress(),o&&o(e)};return f.addEventListener("change",e),a&&f.addEventListener("start",a),s&&f.addEventListener("end",s),()=>{f.removeEventListener("change",e),a&&f.removeEventListener("start",a),s&&f.removeEventListener("end",s),f.dispose()}}),[o,a,s,n,f,l]),E.useEffect((()=>{if(e){const e=_().controls;return A({controls:f}),()=>A({controls:e})}}),[e,f]),E.createElement("primitive",B.default({ref:c,object:f},u))})),Ae=E.forwardRef((({children:e,onChange:t,onMouseDown:n,onMouseUp:o,onObjectChange:a,...s},u)=>{const c=["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"],{camera:l,...C}=s,m=x.default(C,c),A=g.default(C,c),_=r.useThree((({gl:e})=>e)),p=r.useThree((({camera:e})=>e)),d=r.useThree((({invalidate:e})=>e)),f=l||p,[D]=E.useState((()=>new i.TransformControls(f,_.domElement))),h=E.useRef();return E.useLayoutEffect((()=>{null==D||D.attach(h.current)}),[e,D]),E.useEffect((()=>{const e=e=>{d(),t&&t(e)};return null==D||null==D.addEventListener||D.addEventListener("change",e),n&&(null==D||null==D.addEventListener||D.addEventListener("mouseDown",n)),o&&(null==D||null==D.addEventListener||D.addEventListener("mouseUp",o)),a&&(null==D||null==D.addEventListener||D.addEventListener("objectChange",a)),()=>{null==D||null==D.removeEventListener||D.removeEventListener("change",e),n&&(null==D||null==D.removeEventListener||D.removeEventListener("mouseDown",n)),o&&(null==D||null==D.removeEventListener||D.removeEventListener("mouseUp",o)),a&&(null==D||null==D.removeEventListener||D.removeEventListener("objectChange",a))}}),[t,n,o,a,D,d]),D?E.createElement(E.Fragment,null,E.createElement("primitive",B.default({ref:u,dispose:void 0,object:D},m)),E.createElement("group",B.default({ref:h},A),e)):null})),_e=E.forwardRef((({selector:e,onChange:t,onLock:n,onUnlock:o,...a},s)=>{const{camera:u,...c}=a,l=r.useThree((({gl:e})=>e)),C=r.useThree((({camera:e})=>e)),m=r.useThree((({invalidate:e})=>e)),A=u||C,[_]=E.useState((()=>new i.PointerLockControls(A,l.domElement)));return E.useEffect((()=>{const e=e=>{m(),t&&t(e)};return null==_||null==_.addEventListener||_.addEventListener("change",e),n&&(null==_||null==_.addEventListener||_.addEventListener("lock",n)),o&&(null==_||null==_.addEventListener||_.addEventListener("unlock",o)),()=>{null==_||null==_.removeEventListener||_.removeEventListener("change",e),n&&(null==_||null==_.addEventListener||_.addEventListener("lock",n)),o&&(null==_||null==_.addEventListener||_.addEventListener("unlock",o))}}),[t,n,o,_,m]),E.useEffect((()=>{const t=()=>null==_?void 0:_.lock(),n=e?Array.from(document.querySelectorAll(e)):[document];return n.forEach((e=>e&&e.addEventListener("click",t))),()=>{n.forEach((e=>e?e.removeEventListener("click",t):void 0))}}),[_,e]),_?E.createElement("primitive",B.default({ref:s,dispose:void 0,object:_},c)):null})),pe=E.forwardRef(((e,t)=>{const n=r.useThree((({camera:e})=>e)),o=r.useThree((({gl:e})=>e)),[a]=E.useState((()=>new i.FirstPersonControls(n,o.domElement)));return r.useFrame(((e,t)=>{a.update(t)})),a?E.createElement("primitive",B.default({ref:t,object:a},e)):null}));function de(e,t){const o=r.useThree((e=>e.mouse)),[a]=E.useState((()=>{const a=new n.Raycaster;return t&&r.applyProps(a,t,{}),function(t,r){a.setFromCamera(o,e instanceof n.Camera?e:e.current);const s=this.constructor.prototype.raycast.bind(this);s&&s(a,r)}}));return a}const fe=E.createContext({}),Be=()=>E.useContext(fe),Ee=2*Math.PI,De=new n.Object3D,he=new n.Matrix4,[ve,ge]=[new n.Quaternion,new n.Quaternion],xe=new n.Vector3,Fe=new n.Vector3,we="#f0f0f0",ye="#999",be="black",Pe="black",Se=["Right","Left","Top","Bottom","Front","Back"],Me=e=>new n.Vector3(...e).multiplyScalar(.38),ze=[[1,1,1],[1,1,-1],[1,-1,1],[1,-1,-1],[-1,1,1],[-1,1,-1],[-1,-1,1],[-1,-1,-1]].map(Me),Te=[.25,.25,.25],Le=[[1,1,0],[1,0,1],[1,0,-1],[1,-1,0],[0,1,1],[0,1,-1],[0,-1,1],[0,-1,-1],[-1,1,0],[-1,0,1],[-1,0,-1],[-1,-1,0]].map(Me),Re=Le.map((e=>e.toArray().map((e=>0==e?.5:.25)))),Oe=({hover:e,index:t,font:r="20px Inter var, Arial, sans-serif",faces:o=Se,color:a=we,hoverColor:s=ye,textColor:i=be,strokeColor:u=Pe,opacity:c=1})=>{const l=E.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const s=e.getContext("2d");return s.fillStyle=a,s.fillRect(0,0,e.width,e.height),s.strokeStyle=u,s.strokeRect(0,0,e.width,e.height),s.font=r,s.textAlign="center",s.fillStyle=i,s.fillText(o[t].toUpperCase(),64,76),new n.CanvasTexture(e)}),[t,r,a,i,u]);return E.createElement("meshLambertMaterial",{map:l,attachArray:"material",color:e?s:"white",transparent:!0,opacity:c})},Ge=e=>{const{tweenCamera:t,raycast:n}=Be(),[r,o]=E.useState(null);return E.createElement("mesh",{raycast:n,onPointerOut:e=>{e.stopPropagation(),o(null)},onPointerMove:e=>{e.stopPropagation(),o(Math.floor(e.faceIndex/2))},onClick:e.onClick||(e=>{e.stopPropagation(),t(e.face.normal)})},[...Array(6)].map(((t,n)=>E.createElement(Oe,B.default({key:n,index:n,hover:r===n},e)))),E.createElement("boxGeometry",null))},ke=({onClick:e,dimensions:t,position:n,hoverColor:r=ye})=>{const{tweenCamera:o,raycast:a}=Be(),[s,i]=E.useState(!1);return E.createElement("mesh",{scale:1.01,position:n,raycast:a,onPointerOver:e=>{e.stopPropagation(),i(!0)},onPointerOut:e=>{e.stopPropagation(),i(!1)},onClick:e||(e=>{e.stopPropagation(),o(n)})},E.createElement("meshBasicMaterial",{color:s?r:"white",transparent:!0,opacity:.6,visible:s}),E.createElement("boxGeometry",{args:t}))};function je({color:e,rotation:t}){return E.createElement("group",{rotation:t},E.createElement("mesh",{position:[.4,0,0]},E.createElement("boxGeometry",{args:[.8,.05,.05]}),E.createElement("meshBasicMaterial",{color:e,toneMapped:!1})))}function He({onClick:e,font:t,disabled:r,arcStyle:o,label:a,labelColor:s,...i}){const u=E.useMemo((()=>{const e=document.createElement("canvas");e.width=64,e.height=64;const r=e.getContext("2d");return r.beginPath(),r.arc(32,32,16,0,2*Math.PI),r.closePath(),r.fillStyle=o,r.fill(),a&&(r.font=t,r.textAlign="center",r.fillStyle=s,r.fillText(a,32,41)),new n.CanvasTexture(e)}),[o,a,s,t]),[c,l]=E.useState(!1),C=(a?1:.75)*(c?1.2:1);return E.createElement("sprite",B.default({scale:C,onPointerOver:r?void 0:e=>{e.stopPropagation(),l(!0)},onPointerOut:r?void 0:e||(e=>{e.stopPropagation(),l(!1)})},i),E.createElement("spriteMaterial",{map:u,alphaTest:.3,opacity:a?1:.75,toneMapped:!1}))}function Ne(e,{path:t}){const[o]=r.useLoader(n.CubeTextureLoader,[e],(e=>e.setPath(t)));return o}function Ue(e){return r.useLoader(i.FBXLoader,e)}function Qe(e,t,n){return r=>{if(n&&n(r),e){const t=new i.DRACOLoader;t.setDecoderPath("string"==typeof e?e:"https://www.gstatic.com/draco/v1/decoders/"),r.setDRACOLoader(t)}t&&r.setMeshoptDecoder("function"==typeof i.MeshoptDecoder?i.MeshoptDecoder():i.MeshoptDecoder)}}function Ye(e,t=!0,n=!0,o){return r.useLoader(i.GLTFLoader,e,Qe(t,n,o))}Ne.preload=(e,{path:t})=>r.useLoader.preload(n.CubeTextureLoader,[e],(e=>e.setPath(t))),Ue.preload=e=>r.useLoader.preload(i.FBXLoader,e),Ue.clear=e=>r.useLoader.clear(i.FBXLoader,e),Ye.preload=(e,t=!0,n=!0,o)=>r.useLoader.preload(i.GLTFLoader,e,Qe(t,n,o)),Ye.clear=e=>r.useLoader.clear(i.GLTFLoader,e);class We extends n.MeshStandardMaterial{constructor(e={}){super(e),this._debug={value:0},this._tDepth={value:null},this._distortionMap={value:null},this._tDiffuse={value:null},this._u_mipmap_0={value:null},this._u_mipmap_1={value:null},this._u_mipmap_2={value:null},this._u_mipmap_3={value:null},this._u_mipmap_4={value:null},this._u_mipmap_5={value:null},this._u_mipmap_6={value:null},this._u_mipmap_7={value:null},this._u_mipmap_res_0={value:null},this._u_mipmap_res_1={value:null},this._u_mipmap_res_2={value:null},this._u_mipmap_res_3={value:null},this._u_mipmap_res_4={value:null},this._u_mipmap_res_5={value:null},this._u_mipmap_res_6={value:null},this._u_mipmap_res_7={value:null},this._textureMatrix={value:null},this._mirror={value:0},this._mixBlur={value:0},this._blurStrength={value:.5},this._minDepthThreshold={value:.9},this._maxDepthThreshold={value:1},this._depthScale={value:0},this._depthToBlurRatioBias={value:.25},this._distortion={value:1},this.setValues(e)}onBeforeCompile(e){var t;null!=(t=e.defines)&&t.USE_UV||(e.defines.USE_UV=""),e.uniforms.debug=this._debug,e.uniforms.tDiffuse=this._tDiffuse,e.uniforms.tDepth=this._tDepth,e.uniforms.distortionMap=this._distortionMap,e.uniforms.u_mipmap_0=this._u_mipmap_0,e.uniforms.u_mipmap_1=this._u_mipmap_1,e.uniforms.u_mipmap_2=this._u_mipmap_2,e.uniforms.u_mipmap_3=this._u_mipmap_3,e.uniforms.u_mipmap_4=this._u_mipmap_4,e.uniforms.u_mipmap_5=this._u_mipmap_5,e.uniforms.u_mipmap_6=this._u_mipmap_6,e.uniforms.u_mipmap_7=this._u_mipmap_7,e.uniforms.u_mipmap_res_0=this._u_mipmap_res_0,e.uniforms.u_mipmap_res_1=this._u_mipmap_res_1,e.uniforms.u_mipmap_res_2=this._u_mipmap_res_2,e.uniforms.u_mipmap_res_3=this._u_mipmap_res_3,e.uniforms.u_mipmap_res_4=this._u_mipmap_res_4,e.uniforms.u_mipmap_res_5=this._u_mipmap_res_5,e.uniforms.u_mipmap_res_6=this._u_mipmap_res_6,e.uniforms.u_mipmap_res_7=this._u_mipmap_res_7,e.uniforms.textureMatrix=this._textureMatrix,e.uniforms.mirror=this._mirror,e.uniforms.mixBlur=this._mixBlur,e.uniforms.mixStrength=this._blurStrength,e.uniforms.minDepthThreshold=this._minDepthThreshold,e.uniforms.maxDepthThreshold=this._maxDepthThreshold,e.uniforms.depthScale=this._depthScale,e.uniforms.depthToBlurRatioBias=this._depthToBlurRatioBias,e.uniforms.distortion=this._distortion,e.vertexShader=`\n uniform mat4 textureMatrix;\n varying vec4 my_vUv; \n ${e.vertexShader}`,e.vertexShader=e.vertexShader.replace("#include <project_vertex>","#include <project_vertex>\n my_vUv = textureMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );"),e.fragmentShader=`\n uniform int debug;\n uniform sampler2D tDiffuse;\n uniform sampler2D tDepth;\n uniform sampler2D distortionMap;\n uniform sampler2D u_mipmap_0;\n uniform sampler2D u_mipmap_1;\n uniform sampler2D u_mipmap_2;\n uniform sampler2D u_mipmap_3;\n uniform sampler2D u_mipmap_4;\n uniform sampler2D u_mipmap_5;\n uniform sampler2D u_mipmap_6;\n uniform sampler2D u_mipmap_7;\n uniform vec2 u_mipmap_res_0;\n uniform vec2 u_mipmap_res_1;\n uniform vec2 u_mipmap_res_2;\n uniform vec2 u_mipmap_res_3;\n uniform vec2 u_mipmap_res_4;\n uniform vec2 u_mipmap_res_5;\n uniform vec2 u_mipmap_res_6;\n uniform vec2 u_mipmap_res_7;\n uniform float distortion;\n uniform float cameraNear;\n\t\t\t uniform float cameraFar;\n uniform float mixBlur;\n uniform float mirror;\n uniform float mixStrength;\n uniform float minDepthThreshold;\n uniform float maxDepthThreshold;\n uniform float depthScale;\n uniform float depthToBlurRatioBias;\n varying vec4 my_vUv; \n \n // from http://www.java-gaming.org/index.php?topic=35123.0\n vec4 cubic( float v ) {\n vec4 n = vec4( 1.0, 2.0, 3.0, 4.0 ) - v;\n vec4 s = n * n * n;\n float x = s.x;\n float y = s.y - 4.0 * s.x;\n float z = s.z - 4.0 * s.y + 6.0 * s.x;\n float w = 6.0 - x - y - z;\n return vec4( x, y, z, w ) * ( 1.0 / 6.0 );\n }\n \n vec4 textureBicubic( sampler2D sampler, vec2 texCoords, vec2 texSize ) {\n vec2 invTexSize = 1.0 / texSize;\n texCoords = texCoords * texSize - 0.5;\n vec2 fxy = fract( texCoords );\n texCoords -= fxy;\n\n vec4 xcubic = cubic( fxy.x );\n vec4 ycubic = cubic( fxy.y );\n vec4 c = texCoords.xxyy + vec2 ( - 0.5, + 1.5 ).xyxy;\n vec4 s = vec4( xcubic.xz + xcubic.yw, ycubic.xz + ycubic.yw );\n\n vec4 offset = c + vec4( xcubic.yw, ycubic.yw ) / s;\n offset *= invTexSize.xxyy;\n \n vec4 sample0 = texture2D( sampler, offset.xz);\n vec4 sample1 = texture2D( sampler, offset.yz);\n vec4 sample2 = texture2D( sampler, offset.xw);\n vec4 sample3 = texture2D( sampler, offset.yw);\n \n float sx = s.x / ( s.x + s.y );\n float sy = s.z / ( s.z + s.w );\n\n return mix(\n mix(\n sample3,\n sample2,\n sx\n ),\n mix(\n sample1,\n sample0,\n sx\n ),\n sy\n );\n }\n\n\n ${e.fragmentShader}`,e.fragmentShader=e.fragmentShader.replace("#include <emissivemap_fragment>","#include <emissivemap_fragment>\n \n float depthFactor = 1.0;\n float distortionFactor = 0.0;\n vec3 my_normal = vec3(0.0);\n float reflectorRoughnessFactor = roughness;\n vec3 coord = my_vUv.xyz / my_vUv.w;\n\n #ifdef USE_DISTORTION\n distortionFactor = texture2D(distortionMap, vUv).r * distortion;\n #endif\n\n #ifdef USE_NORMALMAP\n vec4 normalColor = texture2D(normalMap, vUv * normalScale);\n my_normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b , normalColor.g * 2.0 - 1.0 ) );\n #endif\n\n #ifdef USE_ROUGHNESSMAP\n vec4 reflectorTexelRoughness = texture2D( roughnessMap, vUv );\n reflectorRoughnessFactor *= reflectorTexelRoughness.g;\n #endif\n\n vec2 proj_vUv = coord.xy + coord.z * my_normal.xz * 0.01;\n proj_vUv.x += distortionFactor;\n proj_vUv.y += distortionFactor;\n \n float lod = 1.0 - min(1.0, mixBlur * reflectorRoughnessFactor);\n\n #ifdef USE_DEPTH\n vec4 depth = texture2D(tDepth, proj_vUv);\n depthFactor = smoothstep(minDepthThreshold, maxDepthThreshold, 1.0-(depth.r * depth.a));\n depthFactor *= depthScale;\n depthFactor = max(0.0001, min(1.0, depthFactor + depthToBlurRatioBias));\n #endif\n\n vec4 baseColor = texture2D(tDiffuse, proj_vUv);\n vec4 mixedColor;\n\n float _lod = (1.0 - pow(1.0 - lod, 4.0)) * 8.0;\n if (_lod < 1.) {\n vec4 one = textureBicubic(u_mipmap_7, proj_vUv, u_mipmap_res_7);\n vec4 two = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n mixedColor = mix(one, two, _lod);\n } else if (_lod < 2.) {\n vec4 one = textureBicubic(u_mipmap_6, proj_vUv, u_mipmap_res_6);\n vec4 two = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n mixedColor = mix(one, two, _lod - 1.0);\n } else if (_lod < 3.) {\n vec4 one = textureBicubic(u_mipmap_5, proj_vUv, u_mipmap_res_5);\n vec4 two = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n mixedColor = mix(one, two, _lod - 2.0);\n } else if (_lod < 4.) {\n vec4 one = textureBicubic(u_mipmap_4, proj_vUv, u_mipmap_res_4);\n vec4 two = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n mixedColor = mix(one, two, _lod - 3.0);\n } else if (_lod < 5.) {\n vec4 one = textureBicubic(u_mipmap_3, proj_vUv, u_mipmap_res_3);\n vec4 two = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n mixedColor = mix(one, two, _lod - 4.0);\n } else if (_lod < 6.) {\n vec4 one = textureBicubic(u_mipmap_2, proj_vUv, u_mipmap_res_2);\n vec4 two = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n mixedColor = mix(one, two, _lod - 5.0);\n } else if (_lod < 7.) {\n vec4 one = textureBicubic(u_mipmap_1, proj_vUv, u_mipmap_res_1);\n vec4 two = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, two, _lod - 6.0);\n } else {\n vec4 one = textureBicubic(u_mipmap_0, proj_vUv, u_mipmap_res_0);\n mixedColor = mix(one, baseColor, _lod - 7.0);\n }\n\n mixedColor.rgb *= depthFactor;\n diffuseColor.rgb = diffuseColor.rgb * ((1.0 - min(1.0, mirror)) + mixedColor.rgb * mixStrength); \n diffuseColor = sRGBToLinear(diffuseColor);\n\n if (debug == 1) {\n diffuseColor = sRGBToLinear(vec4(vec3(depthFactor), 1.0));\n }\n if (debug == 2) {\n diffuseColor = sRGBToLinear(texture2D(tDiffuse, proj_vUv));\n }\n if (debug == 3) {\n diffuseColor = sRGBToLinear(texture2D(distortionMap, vUv));\n }\n if (debug == 4) {\n diffuseColor = sRGBToLinear(vec4(vec3(lod), 1.0));\n }\n ")}get tDiffuse(){return this._tDiffuse.value}set tDiffuse(e){this._tDiffuse.value=e}get tDepth(){return this._tDepth.value}set tDepth(e){this._tDepth.value=e}get distortionMap(){return this._distortionMap.value}set distortionMap(e){this._distortionMap.value=e}get u_mipmap_0(){return this._u_mipmap_0.value}set u_mipmap_0(e){this._u_mipmap_0.value=e}get u_mipmap_1(){return this._u_mipmap_1.value}set u_mipmap_1(e){this._u_mipmap_1.value=e}get u_mipmap_2(){return this._u_mipmap_2.value}set u_mipmap_2(e){this._u_mipmap_2.value=e}get u_mipmap_3(){return this._u_mipmap_3.value}set u_mipmap_3(e){this._u_mipmap_3.value=e}get u_mipmap_4(){return this._u_mipmap_4.value}set u_mipmap_4(e){this._u_mipmap_4.value=e}get u_mipmap_5(){return this._u_mipmap_5.value}set u_mipmap_5(e){this._u_mipmap_5.value=e}get u_mipmap_6(){return this._u_mipmap_6.value}set u_mipmap_6(e){this._u_mipmap_6.value=e}get u_mipmap_7(){return this._u_mipmap_7.value}set u_mipmap_7(e){this._u_mipmap_7.value=e}get u_mipmap_res_0(){return this._u_mipmap_res_0.value}set u_mipmap_res_0(e){this._u_mipmap_res_0.value=e}get u_mipmap_res_1(){return this._u_mipmap_res_1.value}set u_mipmap_res_1(e){this._u_mipmap_res_1.value=e}get u_mipmap_res_2(){return this._u_mipmap_res_2.value}set u_mipmap_res_2(e){this._u_mipmap_res_2.value=e}get u_mipmap_res_3(){return this._u_mipmap_res_3.value}set u_mipmap_res_3(e){this._u_mipmap_res_3.value=e}get u_mipmap_res_4(){return this._u_mipmap_res_4.value}set u_mipmap_res_4(e){this._u_mipmap_res_4.value=e}get u_mipmap_res_5(){return this._u_mipmap_res_5.value}set u_mipmap_res_5(e){this._u_mipmap_res_5.value=e}get u_mipmap_res_6(){return this._u_mipmap_res_6.value}set u_mipmap_res_6(e){this._u_mipmap_res_6.value=e}get u_mipmap_res_7(){return this._u_mipmap_res_7.value}set u_mipmap_res_7(e){this._u_mipmap_res_7.value=e}get textureMatrix(){return this._textureMatrix.value}set textureMatrix(e){this._textureMatrix.value=e}get mirror(){return this._mirror.value}set mirror(e){this._mirror.value=e}get mixBlur(){return this._mixBlur.value}set mixBlur(e){this._mixBlur.value=e}get mixStrength(){return this._blurStrength.value}set mixStrength(e){this._blurStrength.value=e}get minDepthThreshold(){return this._minDepthThreshold.value}set minDepthThreshold(e){this._minDepthThreshold.value=e}get maxDepthThreshold(){return this._maxDepthThreshold.value}set maxDepthThreshold(e){this._maxDepthThreshold.value=e}get depthScale(){return this._depthScale.value}set depthScale(e){this._depthScale.value=e}get debug(){return this._debug.value}set debug(e){this._debug.value=e}get depthToBlurRatioBias(){return this._depthToBlurRatioBias.value}set depthToBlurRatioBias(e){this._depthToBlurRatioBias.value=e}get distortion(){return this._distortion.value}set distortion(e){this._distortion.value=e}}r.extend({MeshReflectorMaterial:We});const Ie=E.forwardRef((({mixBlur:e=0,mixStrength:t=.5,resolution:o=256,args:a=[1,1],minDepthThreshold:s=.9,maxDepthThreshold:i=1,depthScale:u=0,depthToBlurRatioBias:c=.25,mirror:l,children:C,debug:m=0,distortion:A=1,distortionMap:_,...p},d)=>{const f=r.useThree((({gl:e})=>e)),D=r.useThree((({camera:e})=>e)),h=r.useThree((({scene:e})=>e)),g=E.useRef(null),[x]=E.useState((()=>new n.Plane)),[F]=E.useState((()=>new n.Vector3)),[w]=E.useState((()=>new n.Vector3)),[y]=E.useState((()=>new n.Vector3)),[b]=E.useState((()=>new n.Matrix4)),[P]=E.useState((()=>new n.Vector3(0,0,-1))),[S]=E.useState((()=>new n.Vector4)),[M]=E.useState((()=>new n.Vector3)),[z]=E.useState((()=>new n.Vector3)),[T]=E.useState((()=>new n.Vector4)),[L]=E.useState((()=>new n.Matrix4)),[R]=E.useState((()=>new n.PerspectiveCamera)),[O]=E.useState((()=>{const e=[],t={minFilter:n.LinearFilter,magFilter:n.LinearFilter,format:n.RGBFormat,encoding:f.outputEncoding};for(let r=0;r<8;r++){const a=Math.max(8,Math.round(o/Math.pow(2,r))),s=new n.WebGLRenderTarget(a,a,t);s.texture.generateMipmaps=!1,e.push(s)}return e})),G=E.useCallback((()=>{if(w.setFromMatrixPosition(g.current.matrixWorld),y.setFromMatrixPosition(D.matrixWorld),b.extractRotation(g.current.matrixWorld),F.set(0,0,1),F.applyMatrix4(b),M.subVectors(w,y),M.dot(F)>0)return;M.reflect(F).negate(),M.add(w),b.extractRotation(D.matrixWorld),P.set(0,0,-1),P.applyMatrix4(b),P.add(y),z.subVectors(w,P),z.reflect(F).negate(),z.add(w),R.position.copy(M),R.up.set(0,1,0),R.up.applyMatrix4(b),R.up.reflect(F),R.lookAt(z),R.far=D.far,R.updateMatrixWorld(),R.projectionMatrix.copy(D.projectionMatrix),L.set(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),L.multiply(R.projectionMatrix),L.multiply(R.matrixWorldInverse),L.multiply(g.current.matrixWorld),x.setFromNormalAndCoplanarPoint(F,w),x.applyMatrix4(R.matrixWorldInverse),S.set(x.normal.x,x.normal.y,x.normal.z,x.constant);const e=R.projectionMatrix;T.x=(Math.sign(S.x)+e.elements[8])/e.elements[0],T.y=(Math.sign(S.y)+e.elements[9])/e.elements[5],T.z=-1,T.w=(1+e.elements[10])/e.elements[14],S.multiplyScalar(2/S.dot(T)),e.elements[2]=S.x,e.elements[6]=S.y,e.elements[10]=S.z+1,e.elements[14]=S.w}),[D.far,D.matrixWorld,D.projectionMatrix,y,S,P,F,T,x,w,b,z,L,M,R]),[k,j]=E.useMemo((()=>{const r={minFilter:n.LinearFilter,magFilter:n.LinearFilter,format:n.RGBFormat,encoding:f.outputEncoding},a=new n.WebGLRenderTarget(o,o,r);u>0&&(a.depthBuffer=!0,a.depthTexture=new n.DepthTexture(o,o),a.depthTexture.format=n.DepthFormat,a.depthTexture.type=n.UnsignedShortType);const C=O.reduce(((e,t,r)=>(e[`u_mipmap_${r}`]=t.texture,e[`u_mipmap_res_${r}`]=new n.Vector2(t.width,t.height),e)),{});return[a,{mirror:l,textureMatrix:L,mixBlur:e,tDiffuse:a.texture,tDepth:a.depthTexture,mixStrength:t,minDepthThreshold:s,maxDepthThreshold:i,depthScale:u,depthToBlurRatioBias:c,debug:m,distortion:A,distortionMap:_,"defines-USE_DEPTH":u>0?"":void 0,"defines-USE_DISTORTION":_?"":void 0,...C}]}),[f,L,o,l,e,t,s,i,u,c,m,A,_,O]);return r.useFrame((()=>{if(null==g||!g.current)return;g.current.visible=!1;const t=f.xr.enabled,n=f.shadowMap.autoUpdate;G(),f.xr.enabled=!1,f.shadowMap.autoUpdate=!1,f.setRenderTarget(k),f.state.buffers.depth.setMask(!0),f.autoClear||f.clear(),f.render(h,R),0!==e&&O.forEach((e=>{f.setRenderTarget(e),f.state.buffers.depth.setMask(!0),f.render(h,R)})),f.xr.enabled=t,f.shadowMap.autoUpdate=n,g.current.visible=!0,f.setRenderTarget(null)})),E.createElement("mesh",B.default({ref:v.default([g,d])},p),E.createElement("planeBufferGeometry",{args:a}),C?C("meshReflectorMaterial",j):E.createElement("meshReflectorMaterial",j))})),Ve=E.forwardRef((({fog:e=!1,colorStop:t=0,color:r="black",opacity:o=.5,...a},s)=>{const i=E.useMemo((()=>{const e=document.createElement("canvas");e.width=128,e.height=128;const o=e.getContext("2d"),a=o.createRadialGradient(e.width/2,e.height/2,0,e.width/2,e.height/2,e.width/2);return a.addColorStop(t,new n.Color(r).getStyle()),a.addColorStop(1,"rgba(0,0,0,0)"),o.fillStyle=a,o.fillRect(0,0,e.width,e.height),e}),[r,t]);return E.createElement("mesh",B.default({ref:s},a),E.createElement("planeBufferGeometry",{attach:"geometry",args:[1,1]}),E.createElement("meshBasicMaterial",{attach:"material",transparent:!0,opacity:o,fog:e},E.createElement("canvasTexture",{attach:"map",args:[i]})))}));function Xe(e,t){"function"==typeof e?e(t):null!=e&&(e.current=t)}const Ze=E.forwardRef((function({children:e,alignTop:t,...r},o){const a=E.useRef(null),s=E.useRef(null);return E.useLayoutEffect((()=>{a.current.position.set(0,0,0),a.current.updateWorldMatrix(!0,!0);const e=(new n.Box3).setFromObject(s.current),r=new n.Vector3,o=new n.Sphere,i=e.max.y-e.min.y;e.getCenter(r),e.getBoundingSphere(o),a.current.position.set(-r.x,-r.y+(t?i/2:0),-r.z)}),[e]),E.createElement("group",B.default({ref:o},r),E.createElement("group",{ref:a},E.createElement("group",{ref:s},e)))}));function Ke(e,n,o){const a=r.useThree((({gl:e})=>e)),s=r.useThree((({size:e})=>e)),i=t.useMemo((()=>a.getPixelRatio()),[a]),u="number"==typeof e?e:s.width*i,c="number"==typeof n?n:s.height*i,l=("number"==typeof e?o:e)||{},C=t.useMemo((()=>{const{multisample:e,samples:t,...n}=l;let r;return e&&a.capabilities.isWebGL2?(r=new D.WebGLMultisampleRenderTarget(u,c,n),t&&(r.samples=t)):r=new D.WebGLRenderTarget(u,c,n),r}),[]);return t.useEffect((()=>{C.setSize(u,c)}),[C,u,c]),t.useEffect((()=>()=>C.dispose()),[]),C}const Je=E.forwardRef((({size:e=256},t)=>{const o=r.useThree((e=>e.viewport.dpr)),{width:a,height:s}=r.useThree((e=>e.size)),i=e||a*o,u=e||s*o,c=E.useMemo((()=>{const e=new n.DepthTexture(i,u);return e.format=n.DepthFormat,e.type=n.UnsignedShortType,{depthTexture:e}}),[i,u]),l=Ke(i,u,c);return E.useImperativeHandle(t,(()=>null==l?void 0:l.depthTexture)),r.useFrame((e=>{e.gl.setRenderTarget(l),e.gl.render(e.scene,e.camera),e.gl.setRenderTarget(null)}))}));const qe=E.forwardRef((({children:e,curve:t},n)=>{const[r,o]=E.useState(),a=E.useRef(),s=E.useRef();return E.useImperativeHandle(n,(()=>({moveAlongCurve:e=>{var t;null==(t=s.current)||t.moveAlongCurve(e)}}))),E.useEffect((()=>{!s.current&&a.current&&n&&(s.current=new i.Flow(a.current),o(s.current.object3D))}),[e,n]),E.useEffect((()=>{var e;a.current&&t&&(null==(e=s.current)||e.updateCurve(0,t))}),[t]),r?E.createElement("primitive",{object:r}):E.cloneElement(E.Children.only(e),{ref:a})}));class $e extends n.MeshPhysicalMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._distort={value:.4},this._radius={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.radius=this._radius,e.uniforms.distort=this._distort,e.vertexShader=`\n uniform float time;\n uniform float radius;\n uniform float distort;\n #define GLSLIFY 1\nvec3 mod289(vec3 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 mod289(vec4 x){return x-floor(x*(1.0/289.0))*289.0;}vec4 permute(vec4 x){return mod289(((x*34.0)+1.0)*x);}vec4 taylorInvSqrt(vec4 r){return 1.79284291400159-0.85373472095314*r;}float snoise(vec3 v){const vec2 C=vec2(1.0/6.0,1.0/3.0);const vec4 D=vec4(0.0,0.5,1.0,2.0);vec3 i=floor(v+dot(v,C.yyy));vec3 x0=v-i+dot(i,C.xxx);vec3 g=step(x0.yzx,x0.xyz);vec3 l=1.0-g;vec3 i1=min(g.xyz,l.zxy);vec3 i2=max(g.xyz,l.zxy);vec3 x1=x0-i1+C.xxx;vec3 x2=x0-i2+C.yyy;vec3 x3=x0-D.yyy;i=mod289(i);vec4 p=permute(permute(permute(i.z+vec4(0.0,i1.z,i2.z,1.0))+i.y+vec4(0.0,i1.y,i2.y,1.0))+i.x+vec4(0.0,i1.x,i2.x,1.0));float n_=0.142857142857;vec3 ns=n_*D.wyz-D.xzx;vec4 j=p-49.0*floor(p*ns.z*ns.z);vec4 x_=floor(j*ns.z);vec4 y_=floor(j-7.0*x_);vec4 x=x_*ns.x+ns.yyyy;vec4 y=y_*ns.x+ns.yyyy;vec4 h=1.0-abs(x)-abs(y);vec4 b0=vec4(x.xy,y.xy);vec4 b1=vec4(x.zw,y.zw);vec4 s0=floor(b0)*2.0+1.0;vec4 s1=floor(b1)*2.0+1.0;vec4 sh=-step(h,vec4(0.0));vec4 a0=b0.xzyw+s0.xzyw*sh.xxyy;vec4 a1=b1.xzyw+s1.xzyw*sh.zzww;vec3 p0=vec3(a0.xy,h.x);vec3 p1=vec3(a0.zw,h.y);vec3 p2=vec3(a1.xy,h.z);vec3 p3=vec3(a1.zw,h.w);vec4 norm=taylorInvSqrt(vec4(dot(p0,p0),dot(p1,p1),dot(p2,p2),dot(p3,p3)));p0*=norm.x;p1*=norm.y;p2*=norm.z;p3*=norm.w;vec4 m=max(0.6-vec4(dot(x0,x0),dot(x1,x1),dot(x2,x2),dot(x3,x3)),0.0);m=m*m;return 42.0*dot(m*m,vec4(dot(p0,x0),dot(p1,x1),dot(p2,x2),dot(p3,x3)));}\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","\n float updateTime = time / 50.0;\n float noise = snoise(vec3(position / 2.0 + updateTime * 5.0));\n vec3 transformed = vec3(position * (noise * pow(distort, 2.0) + radius));\n ")}get time(){return this._time.value}set time(e){this._time.value=e}get distort(){return this._distort.value}set distort(e){this._distort.value=e}get radius(){return this._radius.value}set radius(e){this._radius.value=e}}const et=E.forwardRef((({speed:e=1,...t},n)=>{const[o]=E.useState((()=>new $e));return r.useFrame((t=>o&&(o.time=t.clock.getElapsedTime()*e))),E.createElement("primitive",B.default({dispose:void 0,object:o,ref:n,attach:"material"},t))}));class tt extends n.MeshStandardMaterial{constructor(e={}){super(e),this.setValues(e),this._time={value:0},this._factor={value:1}}onBeforeCompile(e){e.uniforms.time=this._time,e.uniforms.factor=this._factor,e.vertexShader=`\n uniform float time;\n uniform float factor;\n ${e.vertexShader}\n `,e.vertexShader=e.vertexShader.replace("#include <begin_vertex>","float theta = sin( time + position.y ) / 2.0 * factor;\n float c = cos( theta );\n float s = sin( theta );\n mat3 m = mat3( c, 0, s, 0, 1, 0, -s, 0, c );\n vec3 transformed = vec3( position ) * m;\n vNormal = vNormal * m;")}get time(){return this._time.value}set time(e){this._time.value=e}get factor(){return this._factor.value}set factor(e){this._factor.value=e}}const nt=E.forwardRef((({speed:e=1,...t},n)=>{const[o]=E.useState((()=>new tt));return r.useFrame((t=>o&&(o.time=t.clock.getElapsedTime()*e))),E.createElement("primitive",B.default({dispose:void 0,object:o,ref:n,attach:"material"},t))}));class rt extends D.ShaderMaterial{constructor(){super({transparent:!0,uniforms:{size:{value:1}},vertexShader:D.ShaderLib.points.vertexShader,fragmentShader:"\n varying vec3 vColor;\n void main() {\n vec2 cxy = 2.0 * gl_PointCoord - 1.0;\n float r = dot(cxy, cxy);\n float delta = fwidth(r);\n vec3 color = vColor;\n #ifdef TONE_MAPPING\n color = toneMapping(color);\n #endif\n gl_FragColor = linearToOutputTexel(vec4(color, 1.0 - smoothstep(1.0 - delta, 1.0 + delta, r)));\n }",vertexColors:!0})}get scale(){return this.uniforms.size.value}set scale(e){this.uniforms.size.value=e}}const ot=E.forwardRef(((e,t)=>{const[n]=E.useState((()=>new rt));return E.createElement("primitive",B.default({object:n,ref:t,attach:"material"},e))}));function at(e,t,r=new n.Vector3){const o=Math.PI*(e-.5),a=2*Math.PI*(t-.5);return r.x=Math.cos(a),r.y=Math.sin(o),r.z=Math.sin(a),r}const st=E.forwardRef((({inclination:e=0,azimuth:t=.25,distance:r=100,mieCoefficient:o=.005,mieDirectionalG:a=.8,rayleigh:s=1,turbidity:u=2,sunPosition:c=at(e,t),...l},C)=>{const m=E.useMemo((()=>(new n.Vector3).setScalar(r)),[r]),[A]=E.useState((()=>new i.Sky));return E.createElement("primitive",B.default({dispose:void 0,object:A,ref:C,"material-uniforms-mieCoefficient-value":o,"material-uniforms-mieDirectionalG-value":a,"material-uniforms-rayleigh-value":s,"material-uniforms-sunPosition-value":c,"material-uniforms-turbidity-value":u,scale:m},l))}));let it=!1;class ut extends n.ShaderMaterial{constructor(){super({uniforms:{time:{value:0},fade:{value:1}},vertexShader:"\n uniform float time;\n attribute float size;\n varying vec3 vColor;\n void main() {\n vColor = color;\n vec4 mvPosition = modelViewMatrix * vec4(position, 0.5);\n gl_PointSize = size * (30.0 / -mvPosition.z) * (3.0 + sin(mvPosition.x + 2.0 * time + 100.0));\n gl_Position = projectionMatrix * mvPosition;\n }",fragmentShader:"\n uniform sampler2D pointTexture;\n uniform float fade;\n varying vec3 vColor;\n void main() {\n float opacity = 1.0;\n if (fade == 1.0) {\n float d = distance(gl_PointCoord, vec2(0.5, 0.5));\n opacity = 1.0 / (1.0 + exp(16.0 * (d - 0.25)));\n }\n gl_FragColor = vec4(vColor, opacity);\n }"})}}const ct=e=>(new n.Vector3).setFromSpherical(new n.Spherical(e,Math.acos(1-2*Math.random()),2*Math.random()*Math.PI)),lt=E.forwardRef((({radius:e=100,depth:t=50,count:o=5e3,saturation:a=0,factor:s=4,fade:i=!1},u)=>{const c=E.useRef(),[l,C,m]=E.useMemo((()=>{const r=[],i=[],u=Array.from({length:o},(()=>(.5+.5*Math.random())*s)),c=new n.Color;let l=e+t;const C=t/o;for(let e=0;e<o;e++)l-=C*Math.random(),r.push(...ct(l).toArray()),c.setHSL(e/o,a,.9),i.push(c.r,c.g,c.b);return[new Float32Array(r),new Float32Array(i),new Float32Array(u)]}),[o,t,s,e,a]);r.useFrame((e=>c.current&&(c.current.uniforms.time.value=e.clock.getElapsedTime())));const[A]=E.useState((()=>new ut));return E.createElement("points",{ref:u},E.createElement("bufferGeometry",{attach:"geometry"},E.createElement("bufferAttribute",{attachObject:["attributes","position"],args:[l,3]}),E.createElement("bufferAttribute",{attachObject:["attributes","color"],args:[C,3]}),E.createElement("bufferAttribute",{attachObject:["attributes","size"],args:[m,1]})),E.createElement("primitive",{dispose:void 0,ref:c,object:A,attach:"material",blending:n.AdditiveBlending,"uniforms-fade-value":i,transparent:!0,vertexColors:!0}))})),Ct=E.forwardRef((({frames:e=1/0,opacity:t=1,width:n=1,height:o=1,blur:a=1,far:s=10,resolution:u=256,...c},l)=>{const C=r.useThree((({scene:e})=>e)),m=r.useThree((({gl:e})=>e)),A=E.useRef(),[_,p,d,f,h,v,g]=E.useMemo((()=>{const e=new D.WebGLRenderTarget(u,u),t=new D.WebGLRenderTarget(u,u);t.texture.generateMipmaps=e.texture.generateMipmaps=!1;const r=new D.PlaneBufferGeometry(n,o).rotateX(Math.PI/2),a=new D.Mesh(r),s=new D.MeshDepthMaterial;s.depthTest=s.depthWrite=!1,s.onBeforeCompile=e=>e.fragmentShader=e.fragmentShader.replace("1.0 - fragCoordZ ), opacity );","0.0 ), ( 1.0 - fragCoordZ ) * 1.0 );");const c=new D.ShaderMaterial(i.HorizontalBlurShader),l=new D.ShaderMaterial(i.VerticalBlurShader);return l.depthTest=c.depthTest=!1,[e,r,s,a,c,l,t]}),[u,n,o]);let x=0;return r.useFrame((()=>{if(A.current&&(e===1/0||x<e)){const e=C.background;C.background=null,C.overrideMaterial=d,m.setRenderTarget(_),m.render(C,A.current),C.overrideMaterial=null,f.material=h,f.material.uniforms.tDiffuse.value=_.texture,h.uniforms.h.value=a/256,m.setRenderTarget(g),m.render(f,A.current),f.material=v,f.material.uniforms.tDiffuse.value=g.texture,v.uniforms.v.value=a/256,m.setRenderTarget(_),m.render(f,A.current),m.setRenderTarget(null),C.background=e,x++}})),E.createElement("group",B.default({},c,{ref:l}),E.createElement("mesh",{geometry:p,scale:[1,-1,1],rotation:[-Math.PI/2,0,0]},E.createElement("meshBasicMaterial",{map:_.texture,transparent:!0,opacity:t})),E.createElement("orthographicCamera",{ref:A,args:[-n/2,n/2,o/2,-o/2,0,s]}))}));class mt extends n.ShaderMaterial{constructor(){super({uniforms:{depth:{value:null},attenuation:{value:2.5},anglePower:{value:12},spotPosition:{value:new n.Vector3(0,0,0)},lightColor:{value:new n.Color("white")},cameraNear:{value:0},cameraFar:{value:1},resolution:{value:new n.Vector2(0,0)}},transparent:!0,depthWrite:!1,vertexShader:"\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n varying float vViewZ;\n varying float vIntensity;\n uniform vec3 spotPosition;\n uniform float attenuation;\n\n void main() {\n // compute intensity\n vNormal = normalize( normalMatrix * normal );\n vec4 worldPosition\t= modelMatrix * vec4( position, 1.0 );\n vWorldPosition = worldPosition.xyz;\n vec4 viewPosition = viewMatrix * worldPosition;\n vViewZ = viewPosition.z;\n float intensity\t= distance(worldPosition.xyz, spotPosition) / attenuation;\n intensity\t= 1.0 - clamp(intensity, 0.0, 1.0);\n vIntensity = intensity; \n // set gl_Position\n gl_Position\t= projectionMatrix * viewPosition;\n\n }",fragmentShader:"\n #include <packing>\n\n varying vec3 vNormal;\n varying vec3 vWorldPosition;\n uniform vec3 lightColor;\n uniform vec3 spotPosition;\n uniform float attenuation;\n uniform float anglePower;\n uniform sampler2D depth;\n uniform vec2 resolution;\n uniform float cameraNear;\n uniform float cameraFar;\n varying float vViewZ;\n varying float vIntensity;\n\n float readDepth( sampler2D depthSampler, vec2 coord ) {\n float fragCoordZ = texture2D( depthSampler, coord ).x;\n float viewZ = perspectiveDepthToViewZ(fragCoordZ, cameraNear, cameraFar);\n return viewZ;\n }\n\n void main() {\n float d = 1.0;\n bool isSoft = resolution[0] > 0.0 && resolution[1] > 0.0;\n if (isSoft) {\n vec2 sUv = gl_FragCoord.xy / resolution;\n d = readDepth(depth, sUv);\n }\n float intensity = vIntensity;\n vec3 normal\t= vec3(vNormal.x, vNormal.y, abs(vNormal.z));\n float angleIntensity\t= pow( dot(normal, vec3(0.0, 0.0, 1.0)), anglePower );\n intensity\t*= angleIntensity;\n // fades when z is close to sampled depth, meaning the cone is intersecting existing geometry\n if (isSoft) {\n intensity\t*= smoothstep(0., 1., vViewZ - d);\n }\n gl_FragColor = vec4(lightColor, intensity);\n }"})}}const At=new n.Vector3,_t=E.forwardRef((({depthBuffer:e,color:t="white",distance:o=5,angle:a=.15,attenuation:s=5,anglePower:i=5,...u},c)=>{const l=E.useRef(null),C=r.useThree((e=>e.size)),m=r.useThree((e=>e.camera)),A=r.useThree((e=>e.viewport.dpr)),[_]=E.useState((()=>new mt));r.useFrame((()=>{_.uniforms.spotPosition.value.copy(l.current.getWorldPosition(At)),l.current.lookAt(l.current.parent.target.position)}));const p=E.useMemo((()=>{const e=new n.CylinderGeometry(.1,7*a,o,128,64,!0);return e.applyMatrix4((new n.Matrix4).makeTranslation(0,-o/2,0)),e.applyMatrix4((new n.Matrix4).makeRotationX(-Math.PI/2)),e}),[a,o]);return E.createElement("spotLight",B.default({ref:c,angle:a,color:t,distance:o},u),E.createElement("mesh",{ref:l,geometry:p},E.createElement("primitive",{object:_,attach:"material","uniforms-lightColor-value":t,"uniforms-attenuation-value":s,"uniforms-anglePower-value":i,"uniforms-depth-value":e,"uniforms-cameraNear-value":m.near,"uniforms-cameraFar-value":m.far,"uniforms-resolution-value":e?[C.width*A,C.height*A]:[0,0]})))}));function pt(e){const t=e+"BufferGeometry";return E.forwardRef((({args:e,children:n,...r},o)=>E.createElement("mesh",B.default({ref:o},r),E.createElement(t,{attach:"geometry",args:e}),n)))}const dt=pt("box"),ft=pt("circle"),Bt=pt("cone"),Et=pt("cylinder"),Dt=pt("sphere"),ht=pt("plane"),vt=pt("tube"),gt=pt("torus"),xt=pt("torusKnot"),Ft=pt("tetrahedron"),wt=pt("ring"),yt=pt("polyhedron"),bt=pt("icosahedron"),Pt=pt("octahedron"),St=pt("dodecahedron"),Mt=pt("extrude"),zt=pt("lathe"),Tt=pt("parametric"),Lt=1e-5;const Rt=E.forwardRef((function({args:[e=1,t=1,r=1]=[],radius:o=.05,smoothness:a=4,children:s,...i},u){const c=E.useMemo((()=>function(e,t,r){const o=new n.Shape,a=r-Lt;return o.absarc(Lt,Lt,Lt,-Math.PI/2,-Math.PI,!0),o.absarc(Lt,t-2*a,Lt,Math.PI,Math.PI/2,!0),o.absarc(e-2*a,t-2*a,Lt,Math.PI/2,0,!0),o.absarc(e-2*a,Lt,Lt,0,-Math.PI/2,!0),o}(e,t,o)),[e,t,o]),l=E.useMemo((()=>({depth:r-2*o,bevelEnabled:!0,bevelSegments:2*a,steps:1,bevelSize:o-Lt,bevelThickness:o,curveSegments:a})),[r,o,a]),C=E.useRef();return E.useLayoutEffect((()=>{C.current&&C.current.center()}),[c,l]),E.createElement("mesh",B.default({ref:u},i),E.createElement("extrudeBufferGeometry",{attach:"geometry",ref:C,args:[c,l]}),s)}));function Ot(){const e=new D.BufferGeometry,t=new Float32Array([-1,-1,3,-1,-1,3]);return e.setAttribute("position",new D.BufferAttribute(t,2)),e}const Gt=E.forwardRef((function({children:e,...t},n){const r=E.useMemo(Ot,[]);return E.createElement("mesh",B.default({ref:n,geometry:r,frustumCulled:!1},t),e)})),kt={0:"0404E8_0404B5_0404CB_3333FC",1:"045C5C_0DBDBD_049393_04A4A4",2:"046363_0CC3C3_049B9B_04ACAC",3:"0489C5_0DDDF9_04C3EE_04AFE1",4:"04989A_0CE3E4_04D2D5_04C7C8",5:"04C455_0EFABC_04F097_04E17A",6:"04CC77_0CF7CA_04E9A7_04AB54",7:"04E804_04B504_04CB04_33FC33",8:"04E8E8_04B5B5_04CCCC_33FCFC",9:"050505_747474_4C4C4C_333333",10:"070B0C_B2C7CE_728FA3_5B748B",11:"090909_9C9C9C_555555_7C7C7C",12:"0A0A0A_A9A9A9_525252_747474",13:"0C0CC3_04049F_040483_04045C",14:"0C430C_257D25_439A43_3C683C",15:"0D0DBD_040497_04047B_040455",16:"0D0DE3_040486_0404AF_0404CF",17:"0DBD0D_049704_047B04_045504",18:"0F0F0F_4B4B4B_1C1C1C_2C2C2C",19:"0F990F_047B04_044604_046704",20:"15100F_241D1B_292424_2C2C27",21:"161B1F_C7E0EC_90A5B3_7B8C9B",22:"167E76_36D6D2_23B2AC_27C1BE",23:"17395A_7EBCC7_4D8B9F_65A1B5",24:"181F1F_475057_616566_525C62",25:"191514_6D5145_4E3324_3B564D",26:"1A2461_3D70DB_2C3C8F_2C6CAC",27:"1B1B1B_515151_7E7E7E_6C6C6C",28:"1B1B1B_999999_575757_747474",29:"1B1C19_5F615D_4B4E4C_3F403D",30:"1C1810_352F23_2B2C1C_2B2C24",31:"1C70C6_09294C_0F3F73_52B3F6",32:"1D2424_565F66_4E555A_646C6E",33:"1D2A21_43443B_655B54_545C54",34:"1D3FCC_051B5F_81A0F2_5579E9",35:"221917_928380_5F504D_7C746C",36:"232014_908B78_5E5743_747460",37:"242733_333A4D_3E4554_3C3B43",38:"245642_3D8168_3D6858_417364",39:"253C3C_528181_406C6C_385F5F",40:"254FB0_99AFF0_6587D8_1D3279",41:"27222B_677491_484F6A_5D657A",42:"281813_604233_4B3426_442B22",43:"28292A_D3DAE5_A3ACB8_818183",44:"291912_473531_3C2C25_3A2424",45:"293534_B2BFC5_738289_8A9AA7",46:"293D21_ABC692_73B255_667C5C",47:"2A2A2A_B3B3B3_6D6D6D_848C8C",48:"2A2A2A_DBDBDB_6A6A6A_949494",49:"2A2D21_555742_898974_6C745B",50:"2A4BA7_1B2D44_1F3768_233C81",51:"2A6276_041218_739BA6_042941",52:"2B2828_7B796F_534F4A_616464",53:"2B2B22_3C3C30_464538_121210",54:"2D2D2A_74716E_8F8C8C_92958E",55:"2D2D2F_C6C2C5_727176_94949B",56:"2D8753_5CD6A5_45BB82_4CC494",57:"2E2E2D_7D7C76_A3A39F_949C94",58:"2E763A_78A0B7_B3D1CF_14F209",59:"2EAC9E_61EBE3_4DDDD1_43D1C6",60:"2F2FAA_1E1E87_10104E_1C1C70",61:"2F3747_6A7C9E_54637F_62748B",62:"300706_888576_822821_876E79",63:"302721_CAC1BB_7A706A_91959B",64:"304FB1_69A1EF_5081DF_5C8CE6",65:"312C34_A2AAB3_61656A_808494",66:"312D20_80675C_8B8C8B_85848C",67:"313131_BBBBBB_878787_A3A4A4",68:"320455_720DBE_560496_47047B",69:"32201D_613C3C_563533_8C655F",70:"32302B_4C4842_121211_1C1C14",71:"323C4D_B79039_7C6A44_605C48",72:"326666_66CBC9_C0B8AE_52B3B4",73:"331A0B_B17038_7D4E28_5B351A",74:"336EB3_152578_A4C5E2_74AED9",75:"34352A_718184_50605E_6E6761",76:"346088_6ABED7_56A0C5_4E91B8",77:"34A09C_6EE5E3_5CD7D3_4EC9C6",78:"34AB94_36DFC1_19F9EB_6C6E62",79:"353535_CFCFCF_828282_A4A4A4",80:"36220C_C6C391_8C844A_8B7B4C",81:"36312E_726461_59504D_645C5C",82:"365123_C6E5A3_A8D18D_8EB16C",83:"36C8FA_176ACB_24A7EF_1D93EC",84:"37C337_279F27_186018_248824",85:"385264_A1D3E2_86ADC1_6E94A8",86:"385862_6D8B8D_647B80_1A2E2F",87:"386169_A9CFDB_153C23_7CA3AC",88:"38925D_142B23_1D4835_2A6449",89:"392307_B3AE7D_6D5618_847C42",90:"39433A_65866E_86BF8B_BFF8D8",91:"394641_B1A67E_75BEBE_7D7256",92:"3A2412_A78B5F_705434_836C47",93:"3A3329_C9B090_928069_A9957A",94:"3A3D37_7E7F75_BCBFB6_9C9C94",95:"3B3B3B_C7C7C7_878787_A4A4A4",96:"3B3C3F_DAD9D5_929290_ABACA8",97:"3B4235_7B9395_5B716C_70847B",98:"3B6E10_E3F2C3_88AC2E_99CE51",99:"3D1F12_653821_070404_22130B",100:"3E2335_D36A1B_8E4A2E_2842A5",101:"3E3D39_D6CEAF_91BAC1_897966",102:"3E3E36_72726D_63645D_0E0F0C",103:"3E3E3E_AEAEAE_848484_777777",104:"3E95CC_65D9F1_A2E2F6_679BD4",105:"3F3A2F_91D0A5_7D876A_94977B",106:"3F3D52_CCCED9_AFB0C6_8D8CAC",107:"3F4441_D1D7D6_888F87_A2ADA1",108:"403A34_B0936E_7F979C_7E6956",109:"415325_83A24E_678239_748C3C",110:"416BA7_A5B8D0_0D2549_65ABEB",111:"422509_C89536_824512_0A0604",112:"422A1E_716767_685D59_5E4F4A",113:"424244_BDBBBE_8A898E_A3A4A9",114:"425F84_1C2939_2A3F57_24344C",115:"430404_BD9295_7E1E21_94544C",116:"432322_5E3839_170C0B_543433",117:"433D3F_A58D7D_786760_8C7C6D",118:"434240_D3D3CF_898784_A4A49F",119:"434343_9E9E9E_8C8C8C_848484",120:"434C32_62704C_546244_2F3220",121:"442C27_A79E90_847066_8D837C",122:"447072_8ACACB_65A4A5_74B3B3",123:"45432C_808361_B8C8BC_A5A27A",124:"454447_908E9A_181716_7C7C7B",125:"456A73_779B9E_173A46_154C5D",126:"463F37_ACCFBB_818B78_91A494",127:"464445_D2D0CB_919196_A8ADB0",128:"464543_D1CFC1_8E8C83_A4AC9C",129:"46804D_CBE9AC_90B57C_95D38F",130:"468126_C1DDB5_8AC460_A1D07C",131:"47392E_997E69_7C6553_8B745F",132:"474444_7B7575_9E9899_8C8C8B",133:"474643_696F7D_A9ABB8_8B8C93",134:"474843_CECEC4_898883_A3A3A4",135:"48270F_C4723B_9B5728_7B431B",136:"482908_894E0D_FBDB52_CA7420",137:"487FC9_A8E7F8_88CCF2_70AFDE",138:"489B7A_A0E7D9_6DC5AC_87DAC7",139:"48C381_226640_369F64_3CAC74",140:"49200B_C6926C_9C642B_A45C26",141:"495CA6_CCD2E6_A5B1D8_1E2852",142:"495E48_0D100D_9D9C87_9ECC9C",143:"496DBA_94C9F2_72A7E2_84B4EC",144:"4A6442_D0AB75_81CD94_181B12",145:"4B362C_715A4F_211913_644C44",146:"4B4A3A_94A3A4_68766F_988475",147:"4B5455_BBBFC4_97A0A6_838C90",148:"4C240E_A5613B_895134_734C44",149:"4C342A_7B584B_271912_6B4C44",150:"4C462E_6D876C_9AAC8F_9AABA6",151:"4C4C4C_D2D2D2_8F8F8F_ACACAC",152:"4D595E_858D87_596F84_748480",153:"4E4C42_B8C4C5_898E89_A3ACA4",154:"4E4D40_979786_AEAEA1_878678",155:"4E5150_9FA3A3_848C8A_82848C",156:"4F251B_381710_43241B_602F23",157:"4F439F_A28BE5_8570D6_7765C9",158:"4F4742_B7B1AA_847E79_969294",159:"4F4C45_A7AEAA_7A8575_9D97A2",160:"4F4F4F_9C9C9C_121212_7C7C7C",161:"4F4F4F_A1A1A1_8C8C8C_848484",162:"4F5246_8C8D84_7B7C74_131611",163:"4FE34F_2BB02B_3CD03C_1C861C",164:"50332C_D98D79_955F52_AA7C6C",165:"503522_C38254_9F6B45_845838",166:"504D3C_979C9D_81837D_9C998A",167:"513A11_CDBEB5_C8811C_9A733F",168:"51462B_DFCA7E_948050_A49874",169:"515151_DCDCDC_B7B7B7_9B9B9B",170:"515341_9A9C86_16180D_838474",171:"517919_659623_34460C_3E5813",172:"519C8D_83DAC7_9DEDE0_2B5B4C",173:"522221_91343B_7F6F6B_744960",174:"522A1A_94543A_C3896F_AB7D66",175:"525050_D4D3D3_959393_ACACAC",176:"533B33_AF9998_866965_9C7E7B",177:"535A2F_CDCA91_91915B_A4AC6F",178:"535F6B_A6BDC8_8FA3B4_7F91A2",179:"537387_75BBB9_152E5B_0E85E8",180:"54584E_B1BAC5_818B91_A7ACA3",181:"545B4D_D8DDC8_A0A792_B2C1A3",182:"54C104_BBFA0F_97EF04_7AE104",183:"55382F_78554E_271A16_6C4C44",184:"555555_C8C8C8_8B8B8B_A4A4A4",185:"556F42_112817_81927F_223E24",186:"55C404_BCFA0E_97F004_7AE104",187:"562D2A_2E1615_7E4945_703C3C",188:"56352F_1E110F_311C19_3C231C",189:"57553F_C6C3AF_8C8768_868C8C",190:"57583E_969788_292920_848474",191:"579241_B5D25D_0E1D2D_97C284",192:"582410_83381A_1F0C04_30140A",193:"583629_2E1810_765648_3C1C14",194:"584F3A_BEC3BD_C5A57D_A39073",195:"586A51_CCD5AA_8C9675_8DBBB7",196:"593E2C_E5D8A9_BC9F79_9F8A68",197:"595356_CDBFC6_AA9DA3_BBB3BC",198:"59554F_171716_847C74_2C2C24",199:"596773_B3C6CE_98AFB9_879AA8",200:"597C3F_254319_6C9668_7C9B53",201:"5A492B_DEC583_987D4D_AC9C74",202:"5A643B_454D2C_393F25_202315",203:"5B4CBC_B59AF2_9B84EB_8F78E4",204:"5B5428_C5A052_A28B46_ADA752",205:"5B574E_586967_807C6F_6A746C",206:"5C045C_BD0DBD_930493_A404A4",207:"5C2E0C_C36924_9F4F14_834114",208:"5C4E41_CCCDD6_9B979B_B1AFB0",209:"5C5743_262418_393727_342C20",210:"5C5C04_BDBD0D_939304_A4A404",211:"5C5C5C_A2A2A2_8C8C8C_848484",212:"5D5854_1A1714_373330_2C2424",213:"5D5D5D_CDCDCD_232323_ACACAC",214:"5D5E5A_A1A29B_2A2927_8B948C",215:"5E423A_8C6E69_382416_745D64",216:"5E5049_CDC2BE_9C8E88_B7ACA4",217:"5E5855_C6C4CD_C89B67_8F8E98",218:"5E5F62_A7B2BE_211C17_939CA3",219:"5ECBA4_BCFAE7_92EED0_A1F4DC",220:"5F1827_9B4A60_1F0404_340406",221:"5F4C4B_A07C7D_A8AFBF_868185",222:"5F4F50_A18E8E_8C7C7B_211A1A",223:"5F5F5F_BDBDBD_A4A4A4_9C9C9C",224:"604A30_DC9065_212C14_AC9C92",225:"60534A_211813_9B948E_8E837D",226:"605352_E9CCC5_C7A8A3_A89291",227:"606857_9BA894_8C9C83_8C9483",228:"613F04_D68C04_A45F04_1F0F04",229:"61583E_252314_928972_342C1C",230:"617586_23304C_1B1E30_4988CF",231:"622F19_885934_9A7748_94603A",232:"623622_A1756F_986353_89645B",233:"624541_FCD0C6_E4A19A_FCBCB4",234:"626262_9E9E9E_848484_262626",235:"626262_A8A8A8_949494_1F1F1F",236:"626A57_3B3F33_7D8973_444C3C",237:"626D5C_B8C2BB_1B230F_A4ACA3",238:"627D72_A6CAAA_202C28_B4D4B4",239:"630463_C30CC3_9B049B_AC04AC",240:"63533B_AA9472_1C1108_9B8C68",241:"63584B_E6E0D6_A8A092_BFB6A8",242:"635D52_A9BCC0_B1AEA0_819598",243:"636363_AAAAAA_949494_252525",244:"636D6C_D4E7ED_ABBCC4_9BA4A8",245:"637598_B7C4D3_22293A_9BACBF",246:"64554D_D1C9C1_ABADA0_0E0C0A",247:"64686F_BDC0C4_161718_A4A7AB",248:"647171_1F3349_2A475C_87A5AD",249:"647686_23292E_333C44_404B55",250:"656662_9B9B99_393B31_8B8C8C",251:"657274_2A2F30_A0A7B0_363C44",252:"65A0BA_C3E4F1_A7D5E6_97CADF",253:"65A0C7_C3E4F8_A7D5EF_97CAE9",254:"660505_F2B090_DD4D37_AA1914",255:"66605E_939198_2E261F_3C332A",256:"666864_B3B4AB_2F2F2C_9CA49B",257:"673B2A_99735C_99593A_3A160E",258:"677E93_36444D_99A9BA_435464",259:"678E67_C4D9C4_ACC8AC_98B898",260:"68049F_C90DE6_A404CF_B304DC",261:"683F2D_9F736D_431D06_966152",262:"68493E_B2AAA9_978C8C_130907",263:"684C40_776E69_9B7765_758D96",264:"685B57_BEB1B1_9B99A4_1E1D1D",265:"686464_CCCAC7_A4A19F_BCB4B4",266:"686B73_2A2B2D_D5D9DD_B0B3BC",267:"686E55_353C2F_869B7F_444434",268:"696347_98B0A2_28261E_362B22",269:"696969_A0A0A0_949494_8C8C8C",270:"6A3C15_EFC898_D59D59_B38346",271:"6A5338_1C120B_C5975F_96886C",272:"6A8287_405153_839EBE_424C5C",273:"6B3822_A65D48_824E48_401E0C",274:"6BBD6B_C8F3C8_A3E2A3_B4ECB4",275:"6C52AA_C9A6EA_A681D6_B494E2",276:"6C5DC3_352D66_5C4CAB_544CA5",277:"6C6F76_CBD1D7_B2BDC7_A6B0BF",278:"6C8996_14223F_B9DEDD_2E445C",279:"6D1616_E6CDBA_DE2B24_230F0F",280:"6D3B1C_895638_502A0D_844C31",281:"6D6050_C8C2B9_A2998E_B4AA9F",282:"6D6D6D_3E3E3E_C0C0C0_949494",283:"6E2E36_D3A1A0_BD7175_C78C8B",284:"6E5137_E8CA90_271912_B99C74",285:"6E524D_8496C5_AF6624_100B11",286:"6E6D69_D0ECE9_AAC7C6_200C0C",287:"6E7181_D1CFDF_ABAFC7_B4BCCE",288:"6E8C48_B8CDA7_344018_A8BC94",289:"6EC66E_C9F8C9_A3E8A3_B4F1B4",290:"6F503E_D59A70_221812_B0A899",291:"705B4B_312821_AF927B_44342C",292:"706962_24211E_BCB6AF_ACA494",293:"713A28_A87661_3A160D_9B6454",294:"714C30_EAD7C5_CC9265_E2B48F",295:"716049_D1C8B9_3F160C_BAA6A9",296:"71623B_ECDE8C_30250A_ABA69A",297:"72625B_F0DFD0_D9BAA5_C3A595",298:"726F5B_A09C88_8B8C7B_94907C",299:"727167_2F2F2B_A3A6A2_44443C",300:"728473_534C40_7BCEC8_7BB9B6",301:"736655_D9D8D5_2F281F_B1AEAB",302:"745359_BFAEA8_9B8384_AC9392",303:"746761_291C19_AB9385_3C2B27",304:"747A6F_292E2A_ACA79F_45453B",305:"74A192_041B0D_194C33_235B4C",306:"75322B_96463F_51201A_3D1814",307:"75723E_C0C3A0_2A1E0E_AFAE77",308:"75746F_333330_A2A1A9_444444",309:"758391_BAC2CA_435263_A1ACBC",310:"763B28_D0BDB8_ADA39E_1E1D1D",311:"763C39_431510_210504_55241C",312:"764739_D0917B_2A1611_B37C68",313:"765938_1F1009_A59C7C_C9A382",314:"766554_C1BEBB_2A1A0E_B4ABAC",315:"76787C_2F3031_A5A9B8_444446",316:"767989_323437_B6C4EE_343C44",317:"771A1F_D2939E_B6595D_9D4B54",318:"773012_AE5124_4D1908_340F04",319:"776045_D2CCC3_281910_BBB5AA",320:"776A5C_BA9A89_302C26_443C34",321:"776C62_292622_474039_3C342C",322:"777C61_333727_BABFA1_A5AC8C",323:"777D7D_BDCAD2_3E3C2E_B1B8B6",324:"787165_DAD9CD_9DC0CE_36302A",325:"7877EE_D87FC5_75D9C7_1C78C0",326:"794E40_361612_4C2A21_441B1B",327:"795038_C2856B_533320_AC7C61",328:"796D6B_DED3CB_C6BAB1_ADA09B",329:"796F52_36413A_C9B48C_B6A77F",330:"797367_302E29_ABA3A0_443C35",331:"7A6959_2D271D_C1B5A9_B4A393",332:"7A736F_463F33_575046_4B463D",333:"7A7A7A_D0D0D0_BCBCBC_B4B4B4",334:"7A7A7A_D9D9D9_BCBCBC_B4B4B4",335:"7A7C63_625531_665B3F_5B4B29",336:"7A9196_485C64_425459_C1E4E7",337:"7B5254_E9DCC7_B19986_C8AC91",338:"7B6857_383028_BCA38F_4C3C34",339:"7B6E5B_C5CACC_B1B2AE_322415",340:"7B7E82_343536_A0B1C8_44444C",341:"7C584C_27140D_B3765C_3D2318",342:"7C7C71_353630_ADAFAF_444444",343:"7D6651_F8E3BF_CEA987_E7C29C",344:"7D7673_353230_AEA7B0_4C4444",345:"7DA1BA_A4CCE8_5D7A8B_5E7C94",346:"7E5344_22120E_CCAB9C_8D919D",347:"7E5E57_AD9794_612D1D_C9997D",348:"7E8174_39444D_CECAA7_B3B49B",349:"7F5134_22120A_452110_9F7D5F",350:"7F8896_3B3936_BBCFE9_4B4B4D",351:"803537_310F10_C35A5D_D89093",352:"807068_C3B0AB_443E3B_AC9C94",353:"80726C_DCDBD7_9AA6C2_B7BFCA",354:"808A5B_E0E1D4_2C4304_C5C7B0",355:"80A6B4_D5E9EF_B2D0D9_C1DCE4",356:"80CA23_B7EE37_D5FA4C_A3E434",357:"812828_521818_C94141_AB3737",358:"812E39_551C24_381117_9E3C49",359:"815C41_F6C99A_D39F77_BB9474",360:"815F54_DECBC6_301813_C5A8A0",361:"8194AB_D6DFEB_C0CEDE_B0BFD1",362:"81ADB3_D6ECEE_BFDEE1_AFD1D7",363:"81BABA_D5F3F3_BBE4E4_ABDCDC",364:"825C4D_A08175_97746C_613B2F",365:"826A59_E0C9B9_CBAD99_3D2615",366:"827C87_4F3937_605457_534C4E",367:"834741_4C281D_BE8F8C_AE6A65",368:"835984_39273A_4C334C_593D5A",369:"837667_DCD4C8_C5BAAC_3C2E22",370:"846556_503E33_61493D_5C4434",371:"848679_363630_AABBB7_4B4B44",372:"855D08_DAC31B_BF9B0C_AF860C",373:"85694C_D1A67A_3C2F22_EBBF8F",374:"857B61_ACE5D4_593D28_5B4334",375:"858362_9F9F80_9C9673_70714B",376:"85B9D3_C9EAF9_417277_528789",377:"866C5B_544237_B29B8C_AC8F7C",378:"872F2D_AB403E_682421_581F1C",379:"877B70_34302B_CBB3A4_524C44",380:"877C72_B6ACBB_36322D_4C443B",381:"878787_4C4C4C_646464_5C5C5C",382:"887153_E5C188_433729_C1A484",383:"888D8F_515454_646A6C_6C6C6D",384:"89204B_17080D_DA4377_F780B5",385:"8955D0_744CC4_EA4AEF_954DA4",386:"8A3B3D_DA5F62_461F20_BC7F81",387:"8A3DA1_D77CE4_C263D4_B75AC9",388:"8A5B34_F3BD7C_DA9758_BE7E45",389:"8A6565_2E214D_D48A5F_ADA59C",390:"8A7666_3C332C_C6AEA2_54443C",391:"8A7968_3C342D_C6B3A5_54443B",392:"8B7469_443E39_C7A797_544443",393:"8B795F_291504_EFE5D4_4A3518",394:"8B892C_D4E856_475E2D_47360A",395:"8C5945_D4C0B6_C3A49C_430504",396:"8CAEBC_3A4443_506463_DAEFEF",397:"8D553D_3C2419_5D3727_AA766C",398:"8D8D8D_DDDDDD_CCCCCC_B7B7B7",399:"8E6767_D9C4C4_C8ACAC_B89898",400:"8E7C67_E2C6A5_3B332A_C3AB94",401:"8E907C_B1B5A7_D7DBD0_CCCFBA",402:"8F4277_361530_BF538E_52274C",403:"8F4E20_E8B06B_391A08_CC8944",404:"8F5D3C_5B3B26_382416_70482E",405:"8F7B61_D6B892_4E4436_C3AC86",406:"8F894E_DAD79B_C9C384_C4BE7B",407:"903B2A_EC9888_D96747_58190D",408:"906867_C7B6BC_5D2E26_BEA4A3",409:"908887_3C3229_C7C6D0_554A45",410:"908E8E_292828_454444_595757",411:"909473_555D4B_C2CCA2_645B3C",412:"910E5A_E127C3_CF1CA3_C1158F",413:"926B48_4C2D0D_5F3913_AA8874",414:"927253_EECEA7_D8B792_C7A883",415:"935555_F6DAD9_D39393_593333",416:"936451_C29A8F_5F3A2B_361D14",417:"938C8D_403731_CECED8_554C4C",418:"942967_D292B5_C76E9E_551A4C",419:"945D43_E5AAA0_351F14_CC8B78",420:"94615B_DACED1_C3B9A4_CCABAA",421:"94624F_573529_24110C_733424",422:"9650CA_46236A_7239A6_633492",423:"965146_2B191D_DF7A5C_BFD6E1",424:"96785D_B8A398_63452C_6C5435",425:"975337_EEBE98_4B211C_D88659",426:"977970_E1D9D8_DAC8C1_C4B2AD",427:"98332E_4A100D_691A16_A85A5B",428:"989784_665542_BFECE5_6D644C",429:"9A5A55_31110D_582A24_703C34",430:"9A7467_D2C2BF_662D22_CCB2A5",431:"9AA8B6_313133_4E5055_D7EBF8",432:"9B4816_E8A138_CC7421_DC8827",433:"9B9994_E1E0DB_474643_544C4C",434:"9B9B9B_1E1E1E_5C5C5C_444444",435:"9C5B3B_49200A_E9C8AB_DDAB7D",436:"9CC338_4E671A_799F27_8CAC2C",437:"9D282A_38191D_DFC6CD_D6495A",438:"9D4343_E38989_D37474_CE6C6C",439:"9D602E_E4C363_D5A64F_C38A44",440:"9D7F6E_C6DAD4_6D4C4B_C6BBBC",441:"9D8F84_5D4544_D9D3C9_62555A",442:"9D9D9D_4E4E4E_646464_6C6C6C",443:"9E7C7E_DDCBD0_351D20_683B38",444:"9E9C77_6E6F4E_7C7C54_C7BF96",445:"9F1A27_F1AF7F_CD5845_D08441",446:"9F4738_CE958D_4F0C0A_C0837C",447:"9F7D30_B69F75_B9B7BE_CB9C4D",448:"9F886D_362F25_E8C9A4_5C4C3C",449:"9F9F9F_E4E4E4_D4D4D4_CCCCCC",450:"A05F31_D5C2BC_D9996F_42230E",451:"A0A8B0_424336_E7E9EF_545C5C",452:"A1824F_4A2A06_F7E29F_B3A598",453:"A27216_E9D036_D0AB24_DCB927",454:"A28766_E4D6C3_D6C4AA_CAB598",455:"A3B2A4_3B3E3D_676F6A_535C57",456:"A48DA4_E8DDE8_C9B7C9_D4C2D4",457:"A49994_695244_C4C2CF_76645C",458:"A67362_36150C_5E2E1E_F6C3BF",459:"A84337_611D18_3F110F_7C2A22",460:"A88C77_DAD2C7_623532_956229",461:"A95E4D_57261A_6E3223_773C24",462:"A971A9_E8CBE8_D4A8D4_DCB3DC",463:"A98D6A_F2D3AB_FBE6BE_695332",464:"A9A2A0_2F211C_544440_6D5E5A",465:"AA526C_EAA6C9_DC88AF_D17BA0",466:"AB2C2C_EBB4B3_561212_DE8484",467:"AB2D08_C35E5A_C75522_C56C70",468:"AB54A8_EBAAE9_DF8FDD_D37ED0",469:"AC171C_FA8593_E84854_D3464E",470:"AC725C_2E1610_663E31_E78F6B",471:"AC7F84_78463A_C4AABB_885454",472:"AC8942_432D19_6E4D27_5F3B1C",473:"AC8961_EBDAC3_D1B791_DCC2A0",474:"AD9E81_F1E5CE_6B5C3E_5A492A",475:"ADC2CD_DFF7FA_C9E6F5_C1DBEC",476:"AE9D99_29303B_585F70_875C33",477:"AF986F_CDB489_9C7C5B_7E6C4D",478:"AF987A_2F2416_523F27_6B5331",479:"AF9A72_504718_74652B_E2C2A2",480:"B06932_451B09_7B3E16_150804",481:"B09273_7A573D_C7AF97_84644C",482:"B0A2A8_866A63_E8E9F2_614C4F",483:"B0B0B0_6E6E6E_848484_8C8C8C",484:"B1A395_EFE6E1_635A47_786D5D",485:"B2674B_552913_7C442F_733919",486:"B26F52_4B2E2B_79493A_663B32",487:"B27744_5A2804_F6C488_EBB27D",488:"B38B76_40251D_745042_5F3A30",489:"B3AA93_F4EFD7_E1DDC2_DCD3BB",490:"B47A5B_301E14_704A31_633C23",491:"B4B29D_442D0D_604E2A_736542",492:"B5987E_F8E4DC_6F5939_E9CCBA",493:"B5BBB5_3B4026_6E745D_5C6147",494:"B62D33_E4868B_7E2D34_DD6469",495:"B66D59_F0C9B2_E5B49C_DAA084",496:"B67F6B_4B2E2A_6C3A34_F3DBC6",497:"B6B8B1_994A24_315C81_927963",498:"B76E5E_7F3A2F_EE938C_F8A5A1",499:"B7A763_E6E1CC_554A1E_6C6428",500:"B86137_FBCA6F_6F3C37_040404",501:"B9896A_5B341B_F4CAA3_6C4C2D",502:"B98A6D_7B4F38_D1A68F_8C5B43",503:"B9B37A_F1EED0_E5E4BA_DAD6A8",504:"B9CDD2_775339_958272_7F6A5E",505:"BA472D_CA6E67_C76150_CA6C59",506:"BA5DBA_F2BEF2_E69BE6_DC8CDC",507:"BA864A_5D381E_644422_FBE97A",508:"BA8979_DDCBCA_9A4726_892407",509:"BAADA8_ECE6E7_9A8378_E3DCD3",510:"BC5B43_95170B_EEAC92_DB8C7C",511:"BC928D_F9E2D6_654445_835A51",512:"BD0D0D_970404_7B0404_550404",513:"BD5345_460F11_732622_EDB7B1",514:"BDB466_F3EDC3_E3DD9F_ECE3AA",515:"BE5F5F_F4BDBD_ECA4A4_E29191",516:"BEE2E9_7E6A53_9AA09C_87837E",517:"BF7051_994C2D_E99A7B_DE8C74",518:"BF7745_F5D08E_E5AE6B_ECBC7C",519:"BF8E78_E5CCBF_753E32_4A261E",520:"BFAA83_F5EAD6_E1D0B1_EBDDC0",521:"BFB5A4_DEDCCB_D7D4CC_DCD3C2",522:"C05429_ED6129_94492A_834729",523:"C09E5C_DAD2B9_654429_81582D",524:"C1AA92_AD6E29_737889_CED1D7",525:"C1B3A1_F6EEE5_E1D7C7_ECE4D3",526:"C21338_920C24_E71C54_F34A7D",527:"C28E4E_845119_0B0805_713C0C",528:"C2A391_523728_785741_694836",529:"C2A584_363B41_71665B_8C7367",530:"C2AB7D_4A412E_7A6B4E_F9EDBE",531:"C30C0C_9F0404_830404_5C0404",532:"C33829_48171A_752523_942923",533:"C345EC_5F1DAA_9F31DB_872CCD",534:"C35C04_F9C30C_EE9F04_E08304",535:"C3CCD4_5F3B23_948A7B_A9A49A",536:"C47004_F9D00C_EDAF04_E09704",537:"C4A591_635448_F2D9D5_856D5B",538:"C4C6C6_4D5756_646463_7A8080",539:"C4DEDE_97B5B5_EAF9F9_ABC4C4",540:"C5A292_635247_F2D7D6_846A5B",541:"C5BBB6_F8F4F1_E2DAD6_ECE3DF",542:"C75F55_F8BDA9_EB9484_F4A494",543:"C7938D_E0DBE1_D1BBBC_D5CCCB",544:"C7B9A1_F8F1E4_EEE4D2_E4D8C4",545:"C7C0AC_2E181B_543B30_6B6270",546:"C7C7D7_4C4E5A_818393_6C6C74",547:"C87157_F8CBAE_E9A582_F2B394",548:"C88467_5B3333_875C5A_7A3822",549:"C8AF84_F9ECD7_EFDEBF_E6D1AF",550:"C8C8C8_3F3F3F_787878_5C5C5C",551:"C8D1DC_575B62_818892_6E747B",552:"C98D7F_3B0B0B_A97667_94433F",553:"C99A8B_491B0E_6E4136_8A4D28",554:"C9C7BE_55514B_888279_7B6E5F",555:"CA4FE1_6B2398_A337C7_9334BC",556:"CA8892_F9D7DC_EBB8C0_F3C4CC",557:"CAA094_875343_956255_EADEDC",558:"CAA78A_F9E7D7_EAD0B9_F3DCC3",559:"CAAC80_FAEBD5_F2DEBF_EAD1AF",560:"CAB094_F9ECDD_EFDEC8_E8D4BD",561:"CAB79D_F9F1E3_F1E5D1_E9DAC6",562:"CAE24E_6C9A23_A3C737_B3D43C",563:"CB4934_FB9971_F07554_F68464",564:"CB4E88_F99AD6_F384C3_ED75B9",565:"CB5E3B_FABC7A_EF965E_F4A46C",566:"CB7146_551D0F_7C270D_E5AB9C",567:"CB7846_753C22_AB5C32_B46C3C",568:"CB919B_F9DDE1_ECC0C8_F4CCD4",569:"CBCBCB_595959_8C8C8C_747474",570:"CC7C5F_A15436_B26346_AF5C3C",571:"CC9A7E_8A5249_C06A3E_DADADA",572:"CCC5C9_3B2B2B_67585B_7F7375",573:"CCF6FA_9DD9EB_82C5D9_ACD4E4",574:"CDC3B8_5A3F3C_67545A_8D7769",575:"CDCBC8_444342_696765_81807E",576:"CE8C15_EAC79B_DDAB57_F9C962",577:"CE8F3D_F0D2B0_F3C77D_E6B278",578:"CEB299_6B5C4C_887564_746355",579:"D04444_AF2F2F_8B2424_9B2C2C",580:"D07E3F_FBBD1F_8D2840_24120C",581:"D0CCCB_524D50_928891_727581",582:"D0D3BE_816854_998366_685146",583:"D1AC04_F8E50A_EDD004_B38D04",584:"D3CAAB_8C866E_C0B89A_AEA68A",585:"D4855F_92512D_AE6742_A75C2C",586:"D54C2B_5F1105_F39382_F08375",587:"D5B5B4_9E6C6F_F5E9EF_A57986",588:"D5D5D5_929292_ACACAC_B4B4B4",589:"D64480_E27497_EA9BB1_CD156F",590:"D7D7C3_AAAA92_F5F5EA_BCBCA4",591:"D7DFDB_AAB5AF_F5FAF7_BCC4C4",592:"D8388B_230A14_FCC8FC_FC71E1",593:"D8C949_F5F19E_6B7855_9A9858",594:"D8D8E5_9D9DAF_B4B4C4_B4B4CC",595:"DA5788_DE94BD_E078A3_DD83B4",596:"DBDBBB_F7F7E4_AFAF89_C4C49C",597:"DC3E04_B52604_FC7D20_F85F04",598:"DE9261_86361E_A85A37_944C2C",599:"DEDEC4_B5B597_F9F9EA_C4C4AB",600:"DEE3E8_A6AEB5_BCC4CC_BCC4C4",601:"DEE8DE_A6B5A6_BCCCBC_BCC4BC",602:"DEE8E8_A6B5B5_BCCCCC_BAC4C4",603:"DFD9C2_B5AE92_F9F7EA_C4C4A4",604:"DFDBB7_F9F8E3_B5AF86_BCBC8C",605:"DFDFCA_4D2D07_6B5224_857145",606:"DFDFD6_58544E_81766A_989288",607:"E1E1D4_777C7B_9FA19A_898F8D",608:"E1E1E0_363636_989897_747472",609:"E2D3BC_867255_B39E7F_96836C",610:"E2E2E7_AEAEB5_C4C4CC_C4C4C4",611:"E42E12_F35132_F86949_B71B0A",612:"E5DED7_AFA69D_C4BCB4_C3BAAB",613:"E6BF3C_5A4719_977726_FCFC82",614:"E6E3E3_B5AFAF_CCC4C4_C4C4C4",615:"E6E6E6_AAAAAA_C4C4C4_CCCCCC",616:"E7632F_FBA06B_BB2905_FB865E",617:"E7E2D8_B1AA9D_C9C2B3_BCB4AC",618:"E80404_B50404_CB0404_FC3333",619:"E804E8_B504B5_CC04CC_FC33FC",620:"E8DEE1_B5A6AA_CCBCC1_C4BBBC",621:"E8E5DE_B5AFA6_CCC5BC_C4C4BB",622:"E8E8DE_B5B5A6_CCCCBC_C4C4BA",623:"E9CCA1_A63106_DF8C3B_621304",624:"EA783E_6D4830_905837_FCDC6C",625:"EAD8D6_B59A97_CCB4B0_C9ABAB",626:"EAEAEA_B5B5B5_CCCCCC_D4D4D4",627:"EAEAEA_B6B6B6_CCCCCC_C4C4C4",628:"ED4630_791A0E_A42716_501009",629:"ED5087_FAC3D0_1C0B0C_FC84CC",630:"ED7F04_FCD60E_7E2D04_B73E04",631:"EDED06_B5B504_CCCC04_D4D404",632:"EE4128_FC8E82_9A0704_BF0F05",633:"EEECFB_BFB6D5_D0C8EB_CCC4DC",634:"F0D504_FBFAD3_B98609_CDA204",635:"F75F0B_461604_9A3004_FB9D2F",636:"F77777_FBE1E1_FAB2B2_FBC4C4",637:"F79686_FCCBD4_E76644_E76B56",638:"F9E6C7_FCF7DF_EDD3AA_F1D4B4",639:"FBB43F_FBE993_FB552E_FCDD65",640:"FBB82D_FBEDBF_FBDE7D_FB7E05"};const jt=kt[0];const Ht={0:"151_norm.JPG",1:"152_norm.JPG",2:"153_norm.JPG",3:"154_norm.JPG",4:"155_norm.JPG",5:"156_norm.JPG",6:"157_norm.JPG",7:"158_norm.JPG",8:"159_norm.JPG",9:"160_norm.JPG",10:"161_norm.JPG",11:"162_norm.JPG",12:"163_norm.JPG",13:"164_norm.JPG",14:"165_norm.JPG",15:"166_norm.JPG",16:"167_norm.JPG",17:"168_norm.JPG",18:"169_norm.JPG",19:"170_norm.JPG",20:"171_norm.JPG",21:"172_norm.JPG",22:"173_norm.JPG",23:"174_norm.jpg",24:"175_norm.JPG",25:"176_norm.JPG",26:"177_norm.JPG",27:"178_norm.JPG",28:"179_norm.JPG",29:"180_norm.JPG",30:"181_norm.JPG",31:"182_norm.JPG",32:"183_norm.JPG",33:"184_norm.JPG",34:"185_norm.JPG",35:"186_norm.JPG",36:"187_norm.JPG",37:"188_norm.JPG",38:"189_norm.JPG",39:"190_norm.JPG",40:"191_norm.JPG",41:"192_norm.JPG",42:"193_norm.JPG",43:"194_norm.JPG",44:"195_norm.JPG",45:"196_norm.JPG",46:"197_norm.JPG",47:"198_norm.JPG",48:"199_norm.JPG",49:"200_norm.JPG",50:"201_norm.jpg",51:"202_norm.jpg",52:"203_norm.jpg",53:"204_norm.jpg",54:"205_norm.jpg",55:"206_norm.jpg",56:"207_norm.jpg",57:"208_norm.jpg",58:"209_norm.jpg",59:"210_norm.jpg",60:"211_norm.jpg",61:"212_norm.jpg",62:"213_norm.jpg",63:"214_norm.jpg",64:"215_norm.jpg",65:"216_norm.jpg",66:"217_norm.jpg",67:"218_norm.jpg",68:"219_norm.jpg",69:"220_norm.jpg",70:"221_norm.jpg",71:"222_norm.jpg",72:"223_norm.jpg",73:"224_norm.jpg",74:"225_norm.jpg",75:"226_norm.jpg"},Nt=Ht[0];const Ut={rembrandt:{main:[1,2,1],fill:[-2,-.5,-2]},portrait:{main:[-1,2,.5],fill:[-1,.5,-1.5]},upfront:{main:[0,2,1],fill:[-1,.5,-1.5]},soft:{main:[-2,4,4],fill:[-1,.5,-1.5]}};class Qt extends D.Group{constructor(){super(),this.color=new D.Color("white")}}let Yt,Wt;const It=E.createContext(null),Vt=new D.Matrix4,Xt=new D.Vector3,Zt=new D.Color,Kt=E.forwardRef((({children:e,range:t,limit:n=1e3,...o},a)=>{const s=E.useRef(null),[i,u]=E.useState([]),[[c,l]]=E.useState((()=>[new Float32Array(3*n),new Float32Array([...new Array(3*n)].map((()=>1)))]));E.useLayoutEffect((()=>{s.current.geometry.drawRange.count=Math.min(n,void 0!==t?t:n,i.length)}),[i,t]),E.useEffect((()=>{s.current.geometry.attributes.position.needsUpdate=!0})),r.useFrame((()=>{for(s.current.updateMatrix(),s.current.updateMatrixWorld(),Vt.copy(s.current.matrixWorld).invert(),Yt=0;Yt<i.length;Yt++)Wt=i[Yt].current,Wt.getWorldPosition(Xt).applyMatrix4(Vt),Xt.x===c[3*Yt]&&Xt.y===c[3*Yt+1]&&Xt.z===c[3*Yt+2]||(Xt.toArray(c,3*Yt),s.current.geometry.attributes.position.needsUpdate=!0,Wt.matrixWorldNeedsUpdate=!0),Wt.color.equals(Zt.fromArray(l,3*Yt))||(Wt.color.toArray(l,3*Yt),s.current.geometry.attributes.color.needsUpdate=!0)}));const C=E.useMemo((()=>{const e={};for(Yt=0;Yt<i.length;Yt++){var t;Object.assign(e,null==(t=i[Yt].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var n,r;const o=i[e.index].current;return null==o||null==(n=o.__r3f)||null==(r=n.handlers)?void 0:r[t]({...e,object:o})}})),{})}),[e,i]),m=E.useMemo((()=>({subscribe:e=>(u((t=>[...t,e])),()=>u((t=>t.filter((t=>t.current!==e.current)))))})),[]);return E.createElement("points",B.default({matrixAutoUpdate:!1,ref:v.default([a,s])},C,o),E.createElement("bufferGeometry",null,E.createElement("bufferAttribute",{attachObject:["attributes","position"],count:c.length/3,array:c,itemSize:3,usage:D.DynamicDrawUsage}),E.createElement("bufferAttribute",{attachObject:["attributes","color"],count:l.length/3,array:l,itemSize:3,usage:D.DynamicDrawUsage})),E.createElement(It.Provider,{value:m},e))})),Jt=E.forwardRef((({children:e,...t},n)=>{E.useMemo((()=>r.extend({Position:Qt})),[]);const o=E.useRef(),{subscribe:a}=E.useContext(It);return E.useLayoutEffect((()=>a(o)),[]),E.createElement("position",B.default({ref:v.default([n,o])},t),e)}));let qt,$t;const en=E.createContext(null),tn=new D.Matrix4,nn=new D.Matrix4,rn=new D.Matrix4,on=new D.Color,an=new D.Vector3,sn=new D.Quaternion,un=new D.Vector3,cn=E.forwardRef((({context:e,children:t,...n},o)=>{E.useMemo((()=>r.extend({Position:Qt})),[]);const a=E.useRef(),{subscribe:s}=E.useContext(e||en);return E.useLayoutEffect((()=>s(a)),[]),E.createElement("position",B.default({ref:v.default([o,a])},n),t)})),ln=E.forwardRef((({children:e,range:t,limit:n=1e3,frames:o=1/0,...a},s)=>{const[[i,u]]=E.useState((()=>{const e=E.createContext(null);return[e,t=>E.createElement(cn,B.default({context:e},t))]})),c=E.useRef(null),[l,C]=E.useState([]),[[m,A]]=E.useState((()=>{const e=new Float32Array(16*n);for(qt=0;qt<n;qt++)rn.identity().toArray(e,16*qt);return[e,new Float32Array([...new Array(3*n)].map((()=>1)))]}));E.useLayoutEffect((()=>{c.current.count=c.current.instanceMatrix.updateRange.count=c.current.instanceColor.updateRange.count=Math.min(n,void 0!==t?t:n,l.length)}),[l,t]),E.useEffect((()=>{c.current.instanceMatrix.needsUpdate=!0}));let _=0;r.useFrame((e=>{if(o===1/0||_<o){for(c.current.updateMatrix(),c.current.updateMatrixWorld(),tn.copy(c.current.matrixWorld).invert(),qt=0;qt<l.length;qt++)$t=l[qt].current,$t.matrixWorld.decompose(an,sn,un),nn.compose(an,sn,un).premultiply(tn),nn.equals(rn.fromArray(m,16*qt))||(nn.toArray(m,16*qt),c.current.instanceMatrix.needsUpdate=!0),$t.color.equals(on.fromArray(A,3*qt))||($t.color.toArray(A,3*qt),c.current.instanceColor.needsUpdate=!0);_++}}));const p=E.useMemo((()=>{const e={};for(qt=0;qt<l.length;qt++){var t;Object.assign(e,null==(t=l[qt].current)?void 0:t.__r3f.handlers)}return Object.keys(e).reduce(((e,t)=>({...e,[t]:e=>{var n,r;const o=l[e.instanceId].current;return null==o||null==(n=o.__r3f)||null==(r=n.handlers)?void 0:r[t]({...e,object:o})}})),{})}),[e,l]),d=E.useMemo((()=>({subscribe:e=>(C((t=>[...t,e])),()=>C((t=>t.filter((t=>t.current!==e.current)))))})),[]);return E.createElement("instancedMesh",B.default({matrixAutoUpdate:!1,ref:v.default([s,c]),args:[null,null,0]},p,a),E.createElement("instancedBufferAttribute",{attach:"instanceMatrix",count:m.length/16,array:m,itemSize:16,usage:D.DynamicDrawUsage}),E.createElement("instancedBufferAttribute",{attach:"instanceColor",count:A.length/3,array:A,itemSize:3,usage:D.DynamicDrawUsage}),"function"==typeof e?E.createElement(i.Provider,{value:d},e(u)):E.createElement(en.Provider,{value:d},e))}));const Cn=E.forwardRef((({children:e,distances:t,...n},o)=>{const a=E.useRef(null);return E.useLayoutEffect((()=>{const{current:e}=a;e.levels.length=0,e.children.forEach(((n,r)=>e.levels.push({object:n,distance:t[r]})))})),r.useFrame((e=>{var t;return null==(t=a.current)?void 0:t.update(e.camera)})),E.createElement("lOD",B.default({ref:v.default([a,o])},n),e)}));const mn=new n.Matrix4,An=new n.Ray,_n=new n.Sphere,pn=new n.Vector3;exports.AdaptiveDpr=function({pixelated:e}){const t=r.useThree((e=>e.gl)),n=r.useThree((e=>e.internal.active)),o=r.useThree((e=>e.performance.current)),a=r.useThree((e=>e.viewport.initialDpr)),s=r.useThree((e=>e.setDpr));return E.useEffect((()=>{const r=t.domElement;return()=>{n&&s(a),e&&r&&(r.style.imageRendering="auto")}}),[]),E.useEffect((()=>{s(o*a),e&&t.domElement&&(t.domElement.style.imageRendering=1===o?"auto":"pixelated")}),[o]),null},exports.AdaptiveEvents=function(){const e=r.useThree((e=>e.get)),t=r.useThree((e=>e.performance.current));return E.useEffect((()=>{const t=e().raycaster.enabled;return()=>{e().raycaster.enabled=t}}),[]),E.useEffect((()=>{e().raycaster.enabled=1===t}),[t]),null},exports.BakeShadows=function(){const e=r.useThree((e=>e.gl));return E.useEffect((()=>(e.shadowMap.autoUpdate=!1,e.shadowMap.needsUpdate=!0,()=>{e.shadowMap.autoUpdate=e.shadowMap.needsUpdate=!0})),[]),null},exports.Billboard=W,exports.Box=dt,exports.CameraShake=ie,exports.Center=Ze,exports.Circle=ft,exports.Cloud=function({opacity:e=.5,speed:t=.4,width:n=10,length:o=1.5,segments:a=20,dir:s=1,...i}){const u=E.useRef(),c=V(Z),l=E.useMemo((()=>[...new Array(a)].map(((e,r)=>({x:n/2-Math.random()*n,y:n/2-Math.random()*n,scale:.4+Math.sin((r+1)/a*Math.PI)*(10*(.2+Math.random())),density:Math.max(.2,Math.random()),rotation:Math.max(.002,.005*Math.random())*t})))),[n,a,t]);return r.useFrame((e=>{var t;return null==(t=u.current)?void 0:t.children.forEach(((t,n)=>{t.rotation.z+=l[n].rotation*s,t.scale.setScalar(l[n].scale+(1+Math.sin(e.clock.getElapsedTime()/10))/2*n/10)}))})),E.createElement("group",i,E.createElement("group",{position:[0,0,a/2*o],ref:u},l.map((({x:t,y:n,scale:r,density:a},s)=>E.createElement(W,{key:s,scale:[r,r,r],position:[t,n,-s*o],lockZ:!0},E.createElement("meshStandardMaterial",{map:c,transparent:!0,opacity:r/6*a*e,depthTest:!1}))))))},exports.Cone=Bt,exports.ContactShadows=Ct,exports.CubeCamera=function({children:e,fog:t,frames:o=1/0,resolution:a=256,near:s=1,far:i=1e3,...u}){const c=E.useRef(),[l,C]=E.useState(),m=r.useThree((({scene:e})=>e)),A=r.useThree((({gl:e})=>e)),_=E.useMemo((()=>new n.WebGLCubeRenderTarget(a,{minFilter:n.LinearFilter,magFilter:n.LinearFilter,format:n.RGBFormat,encoding:A.outputEncoding})),[a]);let p=0;return r.useFrame((()=>{if(l&&c.current&&(o===1/0||p<o)){c.current.traverse((e=>e.visible=!1));const e=m.fog;m.fog=t||e,l.update(A,m),m.fog=e,c.current.traverse((e=>e.visible=!0)),p++}})),E.createElement("group",u,E.createElement("cubeCamera",{ref:C,args:[s,i,_]}),E.createElement("group",{ref:c},e(_.texture)))},exports.CubicBezierLine=q,exports.CurveModifier=qe,exports.CycleRaycast=function({onChanged:e,preventDefault:t=!0,scroll:n=!0,keyCode:o=9}){const a=E.useRef(0),s=r.useThree((e=>e.raycaster)),i=r.useThree((e=>e.get)),u=r.useThree((e=>e.gl));return E.useEffect((()=>{let r,u=[];const c=s.filter,l=()=>e&&e(u,Math.round(a.current)%u.length);s.filter=(e,t)=>{let n=[...e];n.length===u.length&&u.every((e=>n.map((e=>e.object.uuid)).includes(e.object.uuid)))||(a.current=0,u=n,l()),c&&(n=c(n,t));for(let e=0;e<Math.round(a.current)%n.length;e++){const e=n.shift();n=[...n,e]}return n};const C=e=>{var t,n;a.current=e(a.current),null==(t=i().events.handlers)||t.onPointerCancel(void 0),null==(n=i().events.handlers)||n.onPointerMove(r),l()},m=e=>{(e.keyCode||e.which===o)&&(t&&e.preventDefault(),u.length>1&&C((e=>e+1)))},A=e=>{t&&e.preventDefault();let n=0;e||(e=window.event),e.wheelDelta?n=e.wheelDelta/120:e.detail&&(n=-e.detail/3),u.length>1&&C((e=>Math.abs(e-n)))},_=e=>r=e;return document.addEventListener("pointermove",_,{passive:!0}),n&&document.addEventListener("wheel",A),document.addEventListener("keydown",m),()=>{s.filter=c,document.removeEventListener("keydown",m),n&&document.removeEventListener("wheel",A),document.removeEventListener("pointermove",_)}}),[u,i,s,e,t,n,o]),null},exports.Cylinder=Et,exports.DepthBuffer=Je,exports.Detailed=Cn,exports.DeviceOrientationControls=ue,exports.Dodecahedron=St,exports.Effects=oe,exports.Environment=ne,exports.Extrude=Mt,exports.FirstPersonControls=pe,exports.FlyControls=ce,exports.GizmoHelper=({alignment:e="bottom-right",margin:t=[80,80],renderPriority:o=1,onUpdate:a,onTarget:s,children:i})=>{const u=r.useThree((({size:e})=>e)),c=r.useThree((({camera:e})=>e)),l=r.useThree((({controls:e})=>e)),C=r.useThree((({gl:e})=>e)),m=r.useThree((({scene:e})=>e)),A=r.useThree((({invalidate:e})=>e)),_=E.useRef(),p=E.useRef(),d=E.useRef(null),[f]=E.useState((()=>new n.Scene)),B=E.useRef(!1),D=E.useRef(0),h=E.useRef(new n.Vector3(0,0,0));E.useEffect((()=>(m.background&&(_.current=m.background,m.background=null,f.background=_.current),()=>{_.current&&(m.background=_.current)})),[]);r.useFrame(((e,t)=>{var n;d.current&&p.current&&((e=>{if(!B.current)return;if(ve.angleTo(ge)<.01)return void(B.current=!1);const t=e*Ee;ve.rotateTowards(ge,t),c.position.set(0,0,1).applyQuaternion(ve).multiplyScalar(D.current).add(h.current),c.up.set(0,1,0).applyQuaternion(ve).normalize(),c.quaternion.copy(ve),a?a():l&&l.update(),A()})(t),he.copy(c.matrix).invert(),null==(n=p.current)||n.quaternion.setFromRotationMatrix(he),C.autoClear=!1,C.clearDepth(),C.render(f,d.current))}),o);const v={tweenCamera:e=>{B.current=!0,(l||s)&&(h.current=(null==l?void 0:l.target)||(null==s?void 0:s())),D.current=c.position.distanceTo(xe),ve.copy(c.quaternion),Fe.copy(e).multiplyScalar(D.current).add(xe),De.lookAt(Fe),ge.copy(De.quaternion),A()},raycast:de(d)},[g,x]=t,F=e.endsWith("-left")?-u.width/2+g:u.width/2-g,w=e.startsWith("top-")?u.height/2-x:-u.height/2+x;return r.createPortal(E.createElement(fe.Provider,{value:v},E.createElement(ae,{ref:d,makeDefault:!1,position:[0,0,200]}),E.createElement("group",{ref:p,position:[F,w,0]},i)),f)},exports.GizmoViewcube=e=>E.createElement("group",{scale:[60,60,60]},E.createElement(Ge,e),Le.map(((t,n)=>E.createElement(ke,B.default({key:n,position:t,dimensions:Re[n]},e)))),ze.map(((t,n)=>E.createElement(ke,B.default({key:n,position:t,dimensions:Te},e)))),E.createElement("ambientLight",{intensity:.5}),E.createElement("pointLight",{position:[10,10,10],intensity:.5})),exports.GizmoViewport=({hideNegativeAxes:e,disabled:t,font:n="18px Inter var, Arial, sans-serif",axisColors:r=["#ff3653","#0adb50","#2c8fdf"],labelColor:o="#000",onClick:a,...s})=>{const[i,u,c]=r,{tweenCamera:l,raycast:C}=Be(),m={font:n,disabled:t,labelColor:o,raycast:C,onClick:a,onPointerDown:t?void 0:e=>{l(e.object.position),e.stopPropagation()}};return E.createElement("group",B.default({scale:40},s),E.createElement(je,{color:i,rotation:[0,0,0]}),E.createElement(je,{color:u,rotation:[0,0,Math.PI/2]}),E.createElement(je,{color:c,rotation:[0,-Math.PI/2,0]}),E.createElement(He,B.default({arcStyle:i,position:[1,0,0],label:"X"},m)),E.createElement(He,B.default({arcStyle:u,position:[0,1,0],label:"Y"},m)),E.createElement(He,B.default({arcStyle:c,position:[0,0,1],label:"Z"},m)),!e&&E.createElement(E.Fragment,null,E.createElement(He,B.default({arcStyle:i,position:[-1,0,0]},m)),E.createElement(He,B.default({arcStyle:u,position:[0,-1,0]},m)),E.createElement(He,B.default({arcStyle:c,position:[0,0,-1]},m))),E.createElement("ambientLight",{intensity:.5}),E.createElement("pointLight",{position:[10,10,10],intensity:.5}))},exports.GradientTexture=function({stops:e,colors:t,size:n=2048,...r}){const o=E.useMemo((()=>{const r=document.createElement("canvas"),o=r.getContext("2d");r.width=16,r.height=n;const a=o.createLinearGradient(0,0,0,n);let s=e.length;for(;s--;)a.addColorStop(e[s],t[s]);o.fillStyle=a,o.fillRect(0,0,16,n);const i=new D.Texture(r);return i.needsUpdate=!0,i}),[e]);return E.useEffect((()=>()=>{o.dispose()}),[o]),E.createElement("primitive",B.default({object:o,attach:"map"},r))},exports.Html=k,exports.Icosahedron=bt,exports.Instance=cn,exports.Instances=ln,exports.IsObject=I,exports.Lathe=zt,exports.Line=K,exports.Loader=function({containerStyles:e,innerStyles:t,barStyles:n,dataStyles:r,dataInterpolation:o=Q,initialState:a=(e=>e)}){const{active:s,progress:i}=U(),u=E.useRef(0),c=E.useRef(0),l=E.useRef(null),[C,m]=E.useState(a(s));E.useEffect((()=>{let e;return s!==C&&(e=setTimeout((()=>m(s)),300)),()=>clearTimeout(e)}),[C,s]);const A=E.useCallback((()=>{l.current&&(u.current+=(i-u.current)/2,(u.current>.95*i||100===i)&&(u.current=i),l.current.innerText=o(u.current),u.current<i&&(c.current=requestAnimationFrame(A)))}),[o,i]);return E.useEffect((()=>(A(),()=>cancelAnimationFrame(c.current))),[A]),C?E.createElement("div",{style:{...Y.container,opacity:s?1:0,...e}},E.createElement("div",null,E.createElement("div",{style:{...Y.inner,...t}},E.createElement("div",{style:{...Y.bar,transform:`scaleX(${i/100})`,...n}}),E.createElement("span",{ref:l,style:{...Y.data,...r}})))):null},exports.MapControls=le,exports.Merged=function({meshes:e,children:t,...n}){const r=Array.isArray(e);return E.createElement(w.default,{components:(r?e:Object.values(e)).map((({geometry:e,material:t})=>E.createElement(ln,B.default({geometry:e,material:t},n))))},(n=>r?t(...n):t(Object.keys(e).reduce(((e,t,r)=>({...e,[t]:n[r]})),{}))))},exports.MeshDistortMaterial=et,exports.MeshReflectorMaterial=We,exports.MeshWobbleMaterial=nt,exports.Octahedron=Pt,exports.OrbitControls=Ce,exports.OrthographicCamera=ae,exports.Parametric=Tt,exports.PerspectiveCamera=se,exports.Plane=ht,exports.Point=Jt,exports.PointMaterial=ot,exports.PointMaterialImpl=rt,exports.PointerLockControls=_e,exports.Points=Kt,exports.Polyhedron=yt,exports.PositionalAudio=$,exports.Preload=function({all:e,scene:t,camera:n}){const o=r.useThree((({gl:e})=>e)),a=r.useThree((({camera:e})=>e)),s=r.useThree((({scene:e})=>e));return E.useLayoutEffect((()=>{const r=[];e&&(t||s).traverse((e=>{!1===e.visible&&(r.push(e),e.visible=!0)})),o.compile(t||s,n||a),r.forEach((e=>e.visible=!1))}),[]),null},exports.QuadraticBezierLine=J,exports.Reflector=Ie,exports.Ring=wt,exports.RoundedBox=Rt,exports.ScreenQuad=Gt,exports.Shadow=Ve,exports.Sky=st,exports.Sphere=Dt,exports.SpotLight=_t,exports.Stage=function({children:e,controls:t,shadows:n=!0,adjustCamera:o=!0,environment:a="city",contactShadow:s=!0,intensity:i=1,preset:u="rembrandt",shadowBias:c=0,contactShadowBlur:l=2,contactShadowOpacity:C=.5,...m}){const A=Ut[u],_=r.useThree((e=>e.camera)),p=r.useThree((e=>e.controls)),d=E.useRef(null),f=E.useRef(null),[{radius:B,width:h,height:v},g]=E.useState({radius:0,width:0,height:0});return E.useLayoutEffect((()=>{d.current.position.set(0,0,0),d.current.updateWorldMatrix(!0,!0);const e=(new D.Box3).setFromObject(f.current),t=new D.Vector3,n=new D.Sphere,r=e.max.y-e.min.y,o=e.max.x-e.min.x;e.getCenter(t),e.getBoundingSphere(n),g({radius:n.radius,width:o,height:r}),d.current.position.set(-t.x,-t.y+r/2,-t.z)}),[e]),E.useLayoutEffect((()=>{if(o){const e=B/(v>h?1.5:2.5);_.position.set(0,.5*B,2.5*B),_.near=.1,_.far=Math.max(5e3,4*B),_.lookAt(0,e,0);const n=p||(null==t?void 0:t.current);n&&(n.target.set(0,e,0),n.update())}}),[p,B,v,h,o]),E.createElement("group",m,E.createElement("group",{ref:d},E.createElement("group",{ref:f},e)),s&&E.createElement(Ct,{"rotation-x":Math.PI/2,opacity:C,width:2*B,height:2*B,blur:l,far:B/2}),a&&E.createElement(ne,{preset:a}),E.createElement("ambientLight",{intensity:i/3}),E.createElement("spotLight",{penumbra:1,position:[A.main[0]*B,A.main[1]*B,A.main[2]*B],intensity:2*i,castShadow:n,"shadow-bias":c}),E.createElement("pointLight",{position:[A.fill[0]*B,A.fill[1]*B,A.fill[2]*B],intensity:i}))},exports.Stars=lt,exports.Stats=function({showPanel:e=0,className:t,parent:n}){const o=function(e,t=[],n){const[r,o]=E.useState();return E.useLayoutEffect((()=>{const t=e();return o(t),Xe(n,t),()=>Xe(n,null)}),t),r}((()=>new F.default),[]);return E.useEffect((()=>{if(o){const a=n&&n.current||document.body;o.showPanel(e),null==a||a.appendChild(o.dom),t&&o.dom.classList.add(t);const s=r.addEffect((()=>o.begin())),i=r.addAfterEffect((()=>o.end()));return()=>{null==a||a.removeChild(o.dom),s(),i()}}}),[n,o,t,e]),null},exports.Tetrahedron=Ft,exports.Text=ee,exports.Torus=gt,exports.TorusKnot=xt,exports.TrackballControls=me,exports.TransformControls=Ae,exports.Tube=vt,exports.calcPosFromAngles=at,exports.isWebGL2Available=re,exports.meshBounds=function(e,t){const n=this.geometry,r=this.material,o=this.matrixWorld;void 0!==r&&(null===n.boundingSphere&&n.computeBoundingSphere(),_n.copy(n.boundingSphere),_n.applyMatrix4(o),!1!==e.ray.intersectsSphere(_n)&&(mn.copy(o).invert(),An.copy(e.ray).applyMatrix4(mn),null!==n.boundingBox&&null===An.intersectBox(n.boundingBox,pn)||t.push({distance:pn.distanceTo(e.ray.origin),point:pn.clone(),object:this})))},exports.shaderMaterial=function(e,t,n,r){return class extends D.ShaderMaterial{constructor(){const o=Object.entries(e);super({uniforms:o.reduce(((e,[t,n])=>({...e,...D.UniformsUtils.clone({[t]:{value:n}})})),{}),vertexShader:t,fragmentShader:n}),o.forEach((([e])=>Object.defineProperty(this,e,{get:()=>this.uniforms[e].value,set:t=>this.uniforms[e].value=t}))),r&&r(this)}}},exports.softShadows=e=>{if(!it){it=!0;let t=D.ShaderChunk.shadowmap_pars_fragment;t=t.replace("#ifdef USE_SHADOWMAP","#ifdef USE_SHADOWMAP\n"+(({frustum:e=3.75,size:t=.005,near:n=9.5,samples:r=17,rings:o=11}={})=>`#define LIGHT_WORLD_SIZE ${t}\n#define LIGHT_FRUSTUM_WIDTH ${e}\n#define LIGHT_SIZE_UV (LIGHT_WORLD_SIZE / LIGHT_FRUSTUM_WIDTH)\n#define NEAR_PLANE ${n}\n\n#define NUM_SAMPLES ${r}\n#define NUM_RINGS ${o}\n#define BLOCKER_SEARCH_NUM_SAMPLES NUM_SAMPLES\n#define PCF_NUM_SAMPLES NUM_SAMPLES\n\nvec2 poissonDisk[NUM_SAMPLES];\n\nvoid initPoissonSamples(const in vec2 randomSeed) {\n float ANGLE_STEP = PI2 * float(NUM_RINGS) / float(NUM_SAMPLES);\n float INV_NUM_SAMPLES = 1.0 / float(NUM_SAMPLES);\n float angle = rand(randomSeed) * PI2;\n float radius = INV_NUM_SAMPLES;\n float radiusStep = radius;\n for (int i = 0; i < NUM_SAMPLES; i++) {\n poissonDisk[i] = vec2(cos(angle), sin(angle)) * pow(radius, 0.75);\n radius += radiusStep;\n angle += ANGLE_STEP;\n }\n}\n\nfloat penumbraSize(const in float zReceiver, const in float zBlocker) { // Parallel plane estimation\n return (zReceiver - zBlocker) / zBlocker;\n}\n\nfloat findBlocker(sampler2D shadowMap, const in vec2 uv, const in float zReceiver) {\n float searchRadius = LIGHT_SIZE_UV * (zReceiver - NEAR_PLANE) / zReceiver;\n float blockerDepthSum = 0.0;\n int numBlockers = 0;\n for (int i = 0; i < BLOCKER_SEARCH_NUM_SAMPLES; i++) {\n float shadowMapDepth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[i] * searchRadius));\n if (shadowMapDepth < zReceiver) {\n blockerDepthSum += shadowMapDepth;\n numBlockers++;\n }\n }\n if (numBlockers == 0) return -1.0;\n return blockerDepthSum / float(numBlockers);\n}\n\nfloat PCF_Filter(sampler2D shadowMap, vec2 uv, float zReceiver, float filterRadius) {\n float sum = 0.0;\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + poissonDisk[ i ] * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n for (int i = 0; i < PCF_NUM_SAMPLES; i++) {\n float depth = unpackRGBAToDepth(texture2D(shadowMap, uv + -poissonDisk[ i ].yx * filterRadius));\n if (zReceiver <= depth) sum += 1.0;\n }\n return sum / (2.0 * float(PCF_NUM_SAMPLES));\n}\n\nfloat PCSS(sampler2D shadowMap, vec4 coords) {\n vec2 uv = coords.xy;\n float zReceiver = coords.z; // Assumed to be eye-space z in this code\n initPoissonSamples(uv);\n float avgBlockerDepth = findBlocker(shadowMap, uv, zReceiver);\n if (avgBlockerDepth == -1.0) return 1.0;\n float penumbraRatio = penumbraSize(zReceiver, avgBlockerDepth);\n float filterRadius = penumbraRatio * LIGHT_SIZE_UV * NEAR_PLANE / zReceiver;\n return PCF_Filter(shadowMap, uv, zReceiver, filterRadius);\n}`)({...e})),t=t.replace("#if defined( SHADOWMAP_TYPE_PCF )","\nreturn PCSS(shadowMap, shadowCoord);\n#if defined( SHADOWMAP_TYPE_PCF )"),D.ShaderChunk.shadowmap_pars_fragment=t}},exports.useAnimations=function(e,t){const o=E.useRef(),[a]=E.useState((()=>t?t instanceof n.Object3D?{current:t}:t:o)),[s]=E.useState((()=>new n.AnimationMixer(void 0))),i=E.useRef({}),[u]=E.useState((()=>{const t={};return e.forEach((e=>Object.defineProperty(t,e.name,{enumerable:!0,get(){if(a.current)return i.current[e.name]||(i.current[e.name]=s.clipAction(e,a.current))}}))),{ref:a,clips:e,actions:t,names:e.map((e=>e.name)),mixer:s}}));return r.useFrame(((e,t)=>s.update(t))),E.useEffect((()=>{const e=a.current;return()=>{i.current={},Object.values(u.actions).forEach((t=>{e&&s.uncacheAction(t,e)}))}}),[e]),u},exports.useAspect=function(e,t,n=1){const o=r.useThree((e=>e.viewport)),a=t*(o.aspect>e/t?o.width/e:o.height/t);return[e*(o.aspect>e/t?o.width/e:o.height/t)*n,a*n,1]},exports.useBVH=function(e,t){E.useEffect((()=>{if(e.current){e.current.raycast=_.acceleratedRaycast;const n=e.current.geometry;return n.computeBoundsTree=_.computeBoundsTree,n.disposeBoundsTree=_.disposeBoundsTree,n.computeBoundsTree(t),()=>{n.boundsTree&&n.disposeBoundsTree()}}}),[e,t])},exports.useCamera=de,exports.useContextBridge=function(...e){const t=E.useRef([]);return t.current=e.map((e=>E.useContext(e))),E.useMemo((()=>({children:n})=>e.reduceRight(((e,n,r)=>E.createElement(n.Provider,{value:t.current[r],children:e})),n)),[])},exports.useCubeTexture=Ne,exports.useCursor=function(e,t="pointer",n="auto"){E.useEffect((()=>{if(e)return document.body.style.cursor=t,()=>{document.body.style.cursor=n}}),[e])},exports.useDetectGPU=function(e){return E.useState(null),c.useAsset((()=>A.getGPUTier(e)),"useDetectGPU")},exports.useEdgeSplit=function(e,t=!0){const n=E.useRef(),r=E.useRef(),o=E.useRef();return E.useEffect((()=>{!r.current&&n.current&&(r.current=n.current.geometry.clone(),o.current=new i.EdgeSplitModifier)}),[]),E.useEffect((()=>{if(r.current&&n.current&&o.current){const a=o.current.modify(r.current,e,t);a.computeVertexNormals(),n.current.geometry=a}}),[e,t]),n},exports.useFBO=Ke,exports.useFBX=Ue,exports.useGLTF=Ye,exports.useGizmoContext=Be,exports.useHelper=function(e,t,...n){const o=E.useRef(),a=r.useThree((e=>e.scene));return E.useEffect((()=>(t&&e.current&&(o.current=new t(e.current,...n),o.current&&a.add(o.current)),()=>{o.current&&a.remove(o.current)})),[a,t,e,n]),r.useFrame((()=>{var e;null!=(e=o.current)&&e.update&&o.current.update()})),o},exports.useMatcapTexture=function(e=0,t=1024){const n=E.useMemo((()=>Object.keys(kt).length),[]),r=`https://rawcdn.githack.com/emmelleppi/matcaps/9b36ccaaf0a24881a39062d05566c9e92be4aa0d/${t}/${`${E.useMemo((()=>"string"==typeof e?e:"number"==typeof e?kt[e]:null),[e])||jt}${function(e){switch(e){case 64:return"-64px";case 128:return"-128px";case 256:return"-256px";case 512:return"-512px";default:return""}}(t)}.png`}`;return[V(r),r,n]},exports.useNormalTexture=function(e=0,t={}){const{repeat:r=[1,1],anisotropy:o=1,offset:a=[0,0]}=t,s=E.useMemo((()=>Object.keys(Ht).length),[]),i=`https://rawcdn.githack.com/emmelleppi/normal-maps/f24c810fc1d86b5b1e5dfea914b668f70b5f2923/normals/${Ht[e]||Nt}`,u=V(i);return E.useEffect((()=>{u&&(u.wrapS=u.wrapT=n.RepeatWrapping,u.repeat=new n.Vector2(r[0],r[1]),u.offset=new n.Vector2(a[0],a[1]),u.anisotropy=o)}),[u,o,r,a]),[u,i,s]},exports.useProgress=U,exports.useSimplification=function(e){const t=E.useRef(),n=E.useRef(),r=E.useRef();return E.useEffect((()=>{n.current||(n.current=t.current.geometry.clone(),r.current=new i.SimplifyModifier)}),[]),E.useEffect((()=>{if(n.current&&t.current){const o=n.current,a=Math.floor(o.attributes.position.count*e);t.current.geometry=r.current.modify(o,a)}}),[e]),t},exports.useTessellation=function(e=3,t){const n=E.useRef(),r=E.useRef(),o=E.useRef();return E.useEffect((()=>{r.current||(r.current=n.current.geometry.clone(),o.current=new i.TessellateModifier(parseInt(t),e))}),[t,e]),E.useEffect((()=>{o.current.maxEdgeLength=t}),[t]),E.useEffect((()=>{if(r.current&&n.current){const e=o.current.modify(r.current);n.current.geometry=e}}),[t,e]),n},exports.useTexture=V;