From 136bb1719b9cf2415c96bccdc4e4cea6d37b7fce Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Fri, 10 Sep 2021 20:02:13 -0500 Subject: [PATCH] v0.5.0: Animations! --- dist/Content.js | 49 ++++- dist/GhostItem.js | 8 + dist/Item.js | 10 +- dist/Line.js | 1 - dist/Scene.js | 4 +- dist/SceneStore.js | 66 +------ dist/TF.js | 22 ++- dist/Util/MeshConvert.js | 176 +++++++----------- ....bundle.js => 0.82d791ec.iframe.bundle.js} | 2 +- ....bundle.js => 5.a529165e.iframe.bundle.js} | 2 +- docs/6.95b9de2b.iframe.bundle.js.map | 1 - ....bundle.js => 6.e229d3b2.iframe.bundle.js} | 6 +- ...> 6.e229d3b2.iframe.bundle.js.LICENSE.txt} | 0 docs/6.e229d3b2.iframe.bundle.js.map | 1 + docs/iframe.html | 2 +- docs/main.220171c1.iframe.bundle.js | 1 - docs/main.efebacac.iframe.bundle.js | 1 + ...=> runtime~main.f746f318.iframe.bundle.js} | 2 +- ...vendors~main.51c90655.iframe.bundle.js.map | 1 - ...=> vendors~main.d3157137.iframe.bundle.js} | 6 +- ...ain.d3157137.iframe.bundle.js.LICENSE.txt} | 0 ...vendors~main.d3157137.iframe.bundle.js.map | 1 + package.json | 2 +- src/components/Content.jsx | 49 ++++- src/components/GhostItem.jsx | 11 +- src/components/Item.jsx | 23 +-- src/components/Line.jsx | 1 - src/components/Scene.jsx | 3 +- src/components/SceneStore.js | 69 +------ src/components/TF.jsx | 18 +- src/components/Util/MeshConvert.js | 78 ++------ src/stories/Scene.stories.js | 86 ++++++++- 32 files changed, 335 insertions(+), 367 deletions(-) rename docs/{0.f0c4e4d0.iframe.bundle.js => 0.82d791ec.iframe.bundle.js} (99%) rename docs/{5.123efef0.iframe.bundle.js => 5.a529165e.iframe.bundle.js} (99%) delete mode 100644 docs/6.95b9de2b.iframe.bundle.js.map rename docs/{6.95b9de2b.iframe.bundle.js => 6.e229d3b2.iframe.bundle.js} (99%) rename docs/{6.95b9de2b.iframe.bundle.js.LICENSE.txt => 6.e229d3b2.iframe.bundle.js.LICENSE.txt} (100%) create mode 100644 docs/6.e229d3b2.iframe.bundle.js.map delete mode 100644 docs/main.220171c1.iframe.bundle.js create mode 100644 docs/main.efebacac.iframe.bundle.js rename docs/{runtime~main.0904ee00.iframe.bundle.js => runtime~main.f746f318.iframe.bundle.js} (97%) delete mode 100644 docs/vendors~main.51c90655.iframe.bundle.js.map rename docs/{vendors~main.51c90655.iframe.bundle.js => vendors~main.d3157137.iframe.bundle.js} (95%) rename docs/{vendors~main.51c90655.iframe.bundle.js.LICENSE.txt => vendors~main.d3157137.iframe.bundle.js.LICENSE.txt} (100%) create mode 100644 docs/vendors~main.d3157137.iframe.bundle.js.map diff --git a/dist/Content.js b/dist/Content.js index 445040b..265b528 100644 --- a/dist/Content.js +++ b/dist/Content.js @@ -167,12 +167,12 @@ function Content(props) { var _hullToGroupAndRef = (0, _MeshConvert.hullToGroupAndRef)(hull), _hullToGroupAndRef2 = _slicedToArray(_hullToGroupAndRef, 2), node = _hullToGroupAndRef2[0], - ref = _hullToGroupAndRef2[1]; + childrenRefs = _hullToGroupAndRef2[1]; return { hullKey: hullKey, node: node, - ref: ref, + childrenRefs: childrenRefs, frame: hull.frame, highlighted: hull.highlighted }; @@ -190,11 +190,11 @@ function Content(props) { }).map(function (item) { return item.childrenRefs; })); - var highlightedHullRefs = hulls.filter(function (hull) { + var highlightedHullRefs = [].concat.apply([], hulls.filter(function (hull) { return hull.highlighted; }).map(function (hull) { - return hull.ref; - }); + return hull.childrenRefs; + })); var highlightedRefs = [].concat(_toConsumableArray(highlightedItemRefs), _toConsumableArray(highlightedHullRefs)); var movableItems = items.filter(function (item) { return ['translate', 'rotate', 'scale'].indexOf(item.transformMode) > -1; @@ -204,6 +204,45 @@ function Content(props) { var orbitControls = (0, _react.useRef)(); var planeRGB = (0, _ColorConversion.hexToRgb)(planeColor ? planeColor : "a8a8a8"); var planeRGBA = [planeRGB.r, planeRGB.g, planeRGB.b, 0.5]; + (0, _fiber.useFrame)((0, _react.useCallback)(function (_ref) { + var clock = _ref.clock; + var time = clock.getElapsedTime() * 1000; + items.forEach(function (item) { + var colorInstruction = store.getState().items[item.itemKey].color; + + if (colorInstruction) { + var r = typeof colorInstruction.r === 'function' ? colorInstruction.r(time) / 255 : colorInstruction.r / 255; + var g = typeof colorInstruction.g === 'function' ? colorInstruction.g(time) / 255 : colorInstruction.g / 255; + var b = typeof colorInstruction.b === 'function' ? colorInstruction.b(time) / 255 : colorInstruction.b / 255; + var opacity = typeof colorInstruction.a === 'function' ? colorInstruction.a(time) : colorInstruction.a; + item.childrenRefs.forEach(function (ref) { + if (ref.current && ref.current.material) { + ref.current.material.color.setRGB(r, g, b); + ref.current.material.opacity = opacity; + ref.current.material.transparent = opacity === 1 ? false : true; + } + }); + } // Ignore if no colorInstruction + + }); + hulls.forEach(function (hull) { + var colorInstruction = store.getState().hulls[hull.hullKey].color; + + if (colorInstruction) { + var r = typeof colorInstruction.r === 'function' ? colorInstruction.r(time) / 255 : colorInstruction.r / 255; + var g = typeof colorInstruction.g === 'function' ? colorInstruction.g(time) / 255 : colorInstruction.g / 255; + var b = typeof colorInstruction.b === 'function' ? colorInstruction.b(time) / 255 : colorInstruction.b / 255; + var opacity = typeof colorInstruction.a === 'function' ? colorInstruction.a(time) : colorInstruction.a; + hull.childrenRefs.forEach(function (ref) { + if (ref.current && ref.current.material) { + ref.current.material.color.setRGB(r, g, b); + ref.current.material.opacity = opacity; + ref.current.material.transparent = opacity === 1 ? false : true; + } + }); + } + }); + }, [items, hulls])); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_drei.OrbitControls, { ref: orbitControls }), /*#__PURE__*/_react.default.createElement("pointLight", { diff --git a/dist/GhostItem.js b/dist/GhostItem.js index 0a9858c..4cb8a43 100644 --- a/dist/GhostItem.js +++ b/dist/GhostItem.js @@ -43,6 +43,14 @@ var GhostItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) { scale = _store2[2], shape = _store2[3]; + if ([position === null || position === void 0 ? void 0 : position.x, position === null || position === void 0 ? void 0 : position.y, position === null || position === void 0 ? void 0 : position.z, rotation === null || rotation === void 0 ? void 0 : rotation.x, rotation === null || rotation === void 0 ? void 0 : rotation.y, rotation === null || rotation === void 0 ? void 0 : rotation.z, rotation === null || rotation === void 0 ? void 0 : rotation.w, scale === null || scale === void 0 ? void 0 : scale.x, scale === null || scale === void 0 ? void 0 : scale.y, scale === null || scale === void 0 ? void 0 : scale.z].map(function (value) { + return typeof value === 'function'; + }).filter(function (value) { + return value === true; + }).length > 0) { + return null; + } + (0, _react.useLayoutEffect)(function () { var _ref$current, _ref$current2, _ref$current3; diff --git a/dist/Item.js b/dist/Item.js index 1672626..2c6340c 100644 --- a/dist/Item.js +++ b/dist/Item.js @@ -49,14 +49,16 @@ function Item(_ref) { onPointerOut = _store2[4]; var ref = (0, _react.useRef)(); - (0, _fiber.useFrame)((0, _react.useCallback)(function () { + (0, _fiber.useFrame)((0, _react.useCallback)(function (_ref2) { + var clock = _ref2.clock; // Outside of react rendering, adjust the positions of all tfs. var item = store.getState().items[itemKey]; + var time = clock.getElapsedTime() * 1000; if (ref.current) { - ref.current.position.set(item.position.x, item.position.y, item.position.z); - ref.current.quaternion.set(item.rotation.x, item.rotation.y, item.rotation.z, item.rotation.w); - ref.current.scale.set(item.scale.x, item.scale.y, item.scale.z); + ref.current.position.set(typeof item.position.x === 'function' ? item.position.x(time) : item.position.x, typeof item.position.y === 'function' ? item.position.y(time) : item.position.y, typeof item.position.z === 'function' ? item.position.z(time) : item.position.z); + ref.current.quaternion.set(typeof item.rotation.x === 'function' ? item.rotation.x(time) : item.rotation.x, typeof item.rotation.y === 'function' ? item.rotation.y(time) : item.rotation.y, typeof item.rotation.z === 'function' ? item.rotation.z(time) : item.rotation.z, typeof item.rotation.w === 'function' ? item.rotation.w(time) : item.rotation.w); + ref.current.scale.set(typeof item.scale.x === 'function' ? item.scale.x(time) : item.scale.x, typeof item.scale.y === 'function' ? item.scale.y(time) : item.scale.y, typeof item.scale.z === 'function' ? item.scale.z(time) : item.scale.z); } }, [itemKey, ref])); return /*#__PURE__*/_react.default.createElement("group", { diff --git a/dist/Line.js b/dist/Line.js index 36b37c9..0a0227c 100644 --- a/dist/Line.js +++ b/dist/Line.js @@ -15,7 +15,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -// import useSceneStore from './SceneStore'; function SceneLine(props) { var lineKey = props.lineKey, store = props.store; diff --git a/dist/Scene.js b/dist/Scene.js index 70446ca..6f7c9e0 100644 --- a/dist/Scene.js +++ b/dist/Scene.js @@ -23,6 +23,8 @@ var _Content = _interopRequireDefault(require("./Content")); var THREE = _interopRequireWildcard(require("three")); +var _SceneStore = _interopRequireDefault(require("./SceneStore")); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } @@ -60,6 +62,6 @@ function Scene(props) { }, /*#__PURE__*/_react.default.createElement(_react.Suspense, { fallback: /*#__PURE__*/_react.default.createElement(Loading, null) }, /*#__PURE__*/_react.default.createElement(_Content.default, _extends({}, props, { - store: store + store: store ? store : _SceneStore.default })))); } \ No newline at end of file diff --git a/dist/SceneStore.js b/dist/SceneStore.js index 9a37664..bb9c614 100644 --- a/dist/SceneStore.js +++ b/dist/SceneStore.js @@ -22,69 +22,5 @@ var immer = function immer(config) { }; var useSceneStore = (0, _zustand.default)(immer(_SceneSlice.SceneSlice)); -var _default = useSceneStore; // const immer = (config) => (set, get, api) => -// config((fn) => set(produce(fn)), get, api); -// const store = (set) => ({ -// items: {}, -// lines: {}, -// tfs: {}, -// hulls: {}, -// // Clearing Contents -// clearItems: () => set(_=>({items: {}})), -// clearLines: () => set(_=>({lines: {}})), -// clearTfs: () => set(_=>({tfs: {}})), -// clearHulls: () => set(_=>({hulls: {}})), -// // Bulk Setting (This causes an entire re-render of the scene) -// setItems: (items) => set(_=>({items:items})), -// setLines: (lines) => set(_=>({lines:lines})), -// setTfs: (tfs) => set(_=>({tfs:tfs})), -// setHulls: (hulls) => set(_=>({hulls:hulls})), -// // Removal by key -// removeItem: (key) => set(state => {delete state.items[key]}), -// removeLine: (key) => set(state => {delete state.lines[key]}), -// removeTf: (key) => set(state => {delete state.tfs[key]}), -// removeHull: (key) => set(state => {delete state.hulls[key]}), -// // Adding items -// setItem: (key, item) => set(state=>{state.items[key]=item}), -// setLine: (key, line) => set(state=>{state.lines[key]=line}), -// setTf: (key, tf) => set(state=>{state.tfs[key]=tf}), -// setHull: (key, hull) => set(state=>{state.hulls[key]=hull}), -// // Item mutation -// setItemName: (key, name) => set(state => {state.items[key].name = name}), -// setItemShowName: (key, showName) => set(state => {state.items[key].showName = showName}), -// setItemPosition: (key, position) => set(state => {state.items[key].position = position}), -// setItemRotation: (key, rotation) => set(state => {state.items[key].rotation = rotation}), -// setItemScale: (key, scale) => set(state => {state.items[key].scale = scale}), -// setItemColor: (key, color) => set(state => {state.items[key].color = color}), -// setItemWireframe: (key, wireframe) => set(state => {state.items[key].wireframe = wireframe}), -// setItemHighlighted: (key, value) => set(state => {state.items[key].highlighted = value}), -// setItemOnClick: (key, fn) => set(state => {state.items[key].onClick = fn}), -// setItemOnPointerOver: (key, fn) => set(state => {state.items[key].onPointerOver = fn}), -// setItemOnPointerOut: (key, fn) => set(state => {state.items[key].onPointerOut = fn}), -// setItemTransformMode: (key, mode) => set(state => {state.items[key].transformMode = mode}), -// setItemOnMove: (key, fn) => set(state => {state.items[key].onMove = fn}), -// // Line mutation -// setLineName: (key, name) => set(state => {state.lines[key].name = name}), -// setLineWidth: (key, width) => set(state => {state.lines[key].width = width}), -// setLineVertices: (key, vertices) => set(state => {state.items.vertices = vertices}), -// addLineVertex: (key, vertex) => set(state => {state.lines[key].vertices.push(vertex)}), -// setLineVertex: (key, index, vertex) => set(state => {state.lines[key].vertices[index] = vertex}), -// removeLineVertex: (key, index) => set(state => {state.lines[key].vertices.splice(index, 1)}), -// // TF mutation -// setTfTranslation: (key, translation) => set(state => {state.tfs[key].translation = translation}), -// setTfRotation: (key, rotation) => set(state => {state.tfs[key].rotation = rotation}), -// // Hull mutation -// setHullName: (key, name) => set(state => {state.hulls[key].name = name}), -// setHullVertices: (key, vertices) => set(state => {state.hulls[key].vertices = vertices}), -// addHullVertex: (key, vertex) => set(state => {state.hulls[key].vertices.push(vertex)}), -// setHullVertex: (key, index, vertex) => set(state => {state.hulls[key].vertices[index] = vertex}), -// removeHullVertex: (key, index) => set(state => {state.hulls[key].vertices.splice(index, 1)}), -// setHullColor: (key, color) => set(state => {state.hulls[key].scale = color}), -// setHullWireframe: (key, wireframe) => set(state => {state.hulls[key].wireframe = wireframe}), -// setHullHighlighted: (key, value) => set(state => {state.hulls[key].highlighted = value}), -// setHullOnClick: (key, fn) => set(state => {state.hulls[key].onClick = fn}), -// setHullOnPointerOver: (key, fn) => set(state => {state.hulls[key].onPointerOver = fn}), -// setHullOnPointerOut: (key, fn) => set(state => {state.hulls[key].onPointerOut = fn}), -// }); - +var _default = useSceneStore; exports.default = _default; \ No newline at end of file diff --git a/dist/TF.js b/dist/TF.js index cc42b83..a30b5c0 100644 --- a/dist/TF.js +++ b/dist/TF.js @@ -31,14 +31,16 @@ function TF(_ref) { children = _ref.children, store = _ref.store; var ref = (0, _react.useRef)(); - (0, _fiber.useFrame)((0, _react.useCallback)(function () { + (0, _fiber.useFrame)((0, _react.useCallback)(function (_ref2) { + var clock = _ref2.clock; // Outside of react rendering, adjust the positions of all tfs. var tf = store.getState().tfs[tfKey]; + var time = clock.getElapsedTime() * 1000; if (ref.current) { // console.log(ref.current) - ref.current.position.set(tf.translation.x, tf.translation.y, tf.translation.z); - ref.current.quaternion.set(tf.rotation.x, tf.rotation.y, tf.rotation.z, tf.rotation.w); + ref.current.position.set(typeof tf.translation.x === 'function' ? tf.translation.x(time) : tf.translation.x, typeof tf.translation.y === 'function' ? tf.translation.y(time) : tf.translation.y, typeof tf.translation.z === 'function' ? tf.translation.z(time) : tf.translation.z); + ref.current.quaternion.set(typeof tf.rotation.x === 'function' ? tf.rotation.x(time) : tf.rotation.x, typeof tf.rotation.y === 'function' ? tf.rotation.y(time) : tf.rotation.y, typeof tf.rotation.z === 'function' ? tf.rotation.z(time) : tf.rotation.z, typeof tf.rotation.w === 'function' ? tf.rotation.w(time) : tf.rotation.w); } }, [tfKey, ref])); var arrow = (0, _StandardMeshes.ARROW_GEOM)(); @@ -71,9 +73,9 @@ function TF(_ref) { ; -function WorldTF(_ref2) { - var displayTfs = _ref2.displayTfs, - children = _ref2.children; +function WorldTF(_ref3) { + var displayTfs = _ref3.displayTfs, + children = _ref3.children; var arrow = (0, _StandardMeshes.ARROW_GEOM)(); return /*#__PURE__*/_react.default.createElement("group", { dispose: null, @@ -103,10 +105,10 @@ function WorldTF(_ref2) { ; -function GhostTF(_ref3) { - var transforms = _ref3.transforms, - children = _ref3.children, - store = _ref3.store; +function GhostTF(_ref4) { + var transforms = _ref4.transforms, + children = _ref4.children, + store = _ref4.store; if (transforms.length > 0) { var pos = [transforms[0].position.x, transforms[0].position.y, transforms[0].position.z]; diff --git a/dist/Util/MeshConvert.js b/dist/Util/MeshConvert.js index 00e411d..ca84b46 100644 --- a/dist/Util/MeshConvert.js +++ b/dist/Util/MeshConvert.js @@ -51,63 +51,47 @@ var MeshConverter = function MeshConverter(node, idx, materialOverride, opacity) })); return [group, refs]; } else { - var ref = /*#__PURE__*/(0, _react.createRef)(); + var frontRef = /*#__PURE__*/(0, _react.createRef)(); + var backRef = /*#__PURE__*/(0, _react.createRef)(); if (materialOverride) { - if (opacity < 1.0) { - var mesh = /*#__PURE__*/_react.default.createElement("group", { - key: idx, - ref: ref, - up: [0, 0, 1] - }, /*#__PURE__*/_react.default.createElement("mesh", { - key: "".concat(idx, "B"), - geometry: node.geometry, - scale: node.scale, - castShadow: false, - receiveShadow: false - }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { - transparent: true, - wireframe: materialOverride.wireframe, - attach: "material", - opacity: opacity, - color: (0, _ColorConversion.rgbToHex)(materialOverride), - side: _three.BackSide - })), /*#__PURE__*/_react.default.createElement("mesh", { - key: "".concat(idx, "F"), - geometry: node.geometry, - scale: node.scale, - castShadow: false, - receiveShadow: false - }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { - transparent: true, - attach: "material", - wireframe: materialOverride.wireframe, - opacity: opacity, - color: (0, _ColorConversion.rgbToHex)(materialOverride), - side: _three.FrontSide - }))); - - return [mesh, [ref]]; - } else { - var _mesh = /*#__PURE__*/_react.default.createElement("mesh", { - ref: ref, - key: idx, - geometry: node.geometry, - scale: node.scale, - castShadow: true, - receiveShadow: true - }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { - attach: "material", - opacity: opacity, - wireframe: materialOverride.wireframe, - color: (0, _ColorConversion.rgbToHex)(materialOverride) - })); - - return [_mesh, [ref]]; - } + var mesh = /*#__PURE__*/_react.default.createElement("group", { + key: idx, + up: [0, 0, 1] + }, /*#__PURE__*/_react.default.createElement("mesh", { + ref: backRef, + key: "".concat(idx, "B"), + geometry: node.geometry, + scale: node.scale, + castShadow: false, + receiveShadow: false + }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { + transparent: true, + wireframe: materialOverride.wireframe, + attach: "material", + opacity: opacity // color='#000000' + , + side: _three.BackSide + })), /*#__PURE__*/_react.default.createElement("mesh", { + ref: frontRef, + key: "".concat(idx, "F"), + geometry: node.geometry, + scale: node.scale, + castShadow: false, + receiveShadow: false + }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { + transparent: true, + attach: "material", + wireframe: materialOverride.wireframe, + opacity: opacity, + color: "#000000", + side: _three.FrontSide + }))); + + return [mesh, [frontRef, backRef]]; } else { - var _mesh2 = /*#__PURE__*/_react.default.createElement("mesh", { - ref: ref, + var _mesh = /*#__PURE__*/_react.default.createElement("mesh", { + ref: frontRef, key: idx, geometry: node.geometry, material: node.material, @@ -116,7 +100,7 @@ var MeshConverter = function MeshConverter(node, idx, materialOverride, opacity) receiveShadow: true }); - return [_mesh2, [ref]]; + return [_mesh, [frontRef]]; } } }; @@ -200,63 +184,43 @@ var itemToGhost = function itemToGhost(item, highlightColor) { exports.itemToGhost = itemToGhost; var hullToGroupAndRef = function hullToGroupAndRef(hull) { - var color = hull.color, - vertices = hull.vertices, + var vertices = hull.vertices, hullKey = hull.hullKey, wireframe = hull.wireframe; - var ref = /*#__PURE__*/(0, _react.createRef)(); + var frontRef = /*#__PURE__*/(0, _react.createRef)(); + var backRef = /*#__PURE__*/(0, _react.createRef)(); var geometry = new _threeStdlib.ConvexGeometry(vertices.map(function (v) { return new _three.Vector3(v.x, v.y, v.z); })); - var group = null; - - if (color.a < 1.0) { - group = /*#__PURE__*/_react.default.createElement("group", { - key: hullKey, - ref: ref, - up: [0, 0, 1] - }, /*#__PURE__*/_react.default.createElement("mesh", { - key: "".concat(hullKey, "B"), - geometry: geometry, - castShadow: false, - receiveShadow: false - }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { - transparent: true, - wireframe: wireframe, - attach: "material", - opacity: color.a, - color: (0, _ColorConversion.rgbToHex)(color), - side: _three.BackSide - })), /*#__PURE__*/_react.default.createElement("mesh", { - key: "".concat(hullKey, "F"), - geometry: geometry, - castShadow: false, - receiveShadow: false - }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { - transparent: true, - attach: "material", - opacity: color.a, - wireframe: wireframe, - color: (0, _ColorConversion.rgbToHex)(color), - side: _three.FrontSide - }))); - } else { - group = /*#__PURE__*/_react.default.createElement("mesh", { - ref: ref, - key: "".concat(hullKey), - geometry: geometry, - castShadow: true, - receiveShadow: true - }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { - transparent: true, - wireframe: wireframe, - attach: "material", - opacity: color.a, - color: (0, _ColorConversion.rgbToHex)(color) - })); - } - return [group, ref]; + var group = /*#__PURE__*/_react.default.createElement("group", { + key: hullKey, + up: [0, 0, 1] + }, /*#__PURE__*/_react.default.createElement("mesh", { + ref: backRef, + key: "".concat(hullKey, "B"), + geometry: geometry, + castShadow: false, + receiveShadow: false + }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { + transparent: true, + wireframe: wireframe, + attach: "material", + side: _three.BackSide + })), /*#__PURE__*/_react.default.createElement("mesh", { + ref: frontRef, + key: "".concat(hullKey, "F"), + geometry: geometry, + castShadow: false, + receiveShadow: false + }, /*#__PURE__*/_react.default.createElement("meshLambertMaterial", { + transparent: true, + attach: "material", + wireframe: wireframe, + side: _three.FrontSide + }))); + + return [group, [frontRef, backRef]]; }; exports.hullToGroupAndRef = hullToGroupAndRef; \ No newline at end of file diff --git a/docs/0.f0c4e4d0.iframe.bundle.js b/docs/0.82d791ec.iframe.bundle.js similarity index 99% rename from docs/0.f0c4e4d0.iframe.bundle.js rename to docs/0.82d791ec.iframe.bundle.js index 2f760b1..dfb83a6 100644 --- a/docs/0.f0c4e4d0.iframe.bundle.js +++ b/docs/0.82d791ec.iframe.bundle.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{505:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"WithTooltipPure",(function(){return WithTooltip_WithTooltipPure})),__webpack_require__.d(__webpack_exports__,"WithToolTipState",(function(){return WithTooltip_WithToolTipState})),__webpack_require__.d(__webpack_exports__,"WithTooltip",(function(){return WithTooltip_WithToolTipState}));__webpack_require__(14),__webpack_require__(42),__webpack_require__(26),__webpack_require__(8),__webpack_require__(20),__webpack_require__(12),__webpack_require__(11),__webpack_require__(22),__webpack_require__(13),__webpack_require__(15),__webpack_require__(10),__webpack_require__(27),__webpack_require__(16),__webpack_require__(49);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),esm=__webpack_require__(2),global_window=__webpack_require__(18),window_default=__webpack_require__.n(global_window),objectWithoutPropertiesLoose=__webpack_require__(227),esm_extends=__webpack_require__(17),inheritsLoose=__webpack_require__(226),react_dom=__webpack_require__(86),ManagerReferenceNodeContext=react.createContext(),ManagerReferenceNodeSetterContext=react.createContext();function Manager(_ref){var children=_ref.children,_React$useState=react.useState(null),referenceNode=_React$useState[0],setReferenceNode=_React$useState[1],hasUnmounted=react.useRef(!1);react.useEffect((function(){return function(){hasUnmounted.current=!0}}),[]);var handleSetReferenceNode=react.useCallback((function(node){hasUnmounted.current||setReferenceNode(node)}),[]);return react.createElement(ManagerReferenceNodeContext.Provider,{value:referenceNode},react.createElement(ManagerReferenceNodeSetterContext.Provider,{value:handleSetReferenceNode},children))}var unwrapArray=function unwrapArray(arg){return Array.isArray(arg)?arg[0]:arg},safeInvoke=function safeInvoke(fn){if("function"==typeof fn){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];return fn.apply(void 0,args)}},setRef=function setRef(ref,node){if("function"==typeof ref)return safeInvoke(ref,node);null!=ref&&(ref.current=node)},fromEntries=function fromEntries(entries){return entries.reduce((function(acc,_ref){var key=_ref[0],value=_ref[1];return acc[key]=value,acc}),{})},useIsomorphicLayoutEffect="undefined"!=typeof window&&window.document&&window.document.createElement?react.useLayoutEffect:react.useEffect;function getWindow(node){if(null==node)return window;if("[object Window]"!==node.toString()){var ownerDocument=node.ownerDocument;return ownerDocument&&ownerDocument.defaultView||window}return node}function isElement(node){return node instanceof getWindow(node).Element||node instanceof Element}function isHTMLElement(node){return node instanceof getWindow(node).HTMLElement||node instanceof HTMLElement}function isShadowRoot(node){return"undefined"!=typeof ShadowRoot&&(node instanceof getWindow(node).ShadowRoot||node instanceof ShadowRoot)}var round=Math.round;function getBoundingClientRect(element,includeScale){void 0===includeScale&&(includeScale=!1);var rect=element.getBoundingClientRect(),scaleX=1,scaleY=1;return isHTMLElement(element)&&includeScale&&(scaleX=rect.width/element.offsetWidth||1,scaleY=rect.height/element.offsetHeight||1),{width:round(rect.width/scaleX),height:round(rect.height/scaleY),top:round(rect.top/scaleY),right:round(rect.right/scaleX),bottom:round(rect.bottom/scaleY),left:round(rect.left/scaleX),x:round(rect.left/scaleX),y:round(rect.top/scaleY)}}function getWindowScroll(node){var win=getWindow(node);return{scrollLeft:win.pageXOffset,scrollTop:win.pageYOffset}}function getNodeName(element){return element?(element.nodeName||"").toLowerCase():null}function getDocumentElement(element){return((isElement(element)?element.ownerDocument:element.document)||window.document).documentElement}function getWindowScrollBarX(element){return getBoundingClientRect(getDocumentElement(element)).left+getWindowScroll(element).scrollLeft}function getComputedStyle(element){return getWindow(element).getComputedStyle(element)}function isScrollParent(element){var _getComputedStyle=getComputedStyle(element),overflow=_getComputedStyle.overflow,overflowX=_getComputedStyle.overflowX,overflowY=_getComputedStyle.overflowY;return/auto|scroll|overlay|hidden/.test(overflow+overflowY+overflowX)}function getCompositeRect(elementOrVirtualElement,offsetParent,isFixed){void 0===isFixed&&(isFixed=!1);var isOffsetParentAnElement=isHTMLElement(offsetParent),offsetParentIsScaled=isHTMLElement(offsetParent)&&function isElementScaled(element){var rect=element.getBoundingClientRect(),scaleX=rect.width/element.offsetWidth||1,scaleY=rect.height/element.offsetHeight||1;return 1!==scaleX||1!==scaleY}(offsetParent),documentElement=getDocumentElement(offsetParent),rect=getBoundingClientRect(elementOrVirtualElement,offsetParentIsScaled),scroll={scrollLeft:0,scrollTop:0},offsets={x:0,y:0};return(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&(("body"!==getNodeName(offsetParent)||isScrollParent(documentElement))&&(scroll=function getNodeScroll(node){return node!==getWindow(node)&&isHTMLElement(node)?function getHTMLElementScroll(element){return{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}}(node):getWindowScroll(node)}(offsetParent)),isHTMLElement(offsetParent)?((offsets=getBoundingClientRect(offsetParent,!0)).x+=offsetParent.clientLeft,offsets.y+=offsetParent.clientTop):documentElement&&(offsets.x=getWindowScrollBarX(documentElement))),{x:rect.left+scroll.scrollLeft-offsets.x,y:rect.top+scroll.scrollTop-offsets.y,width:rect.width,height:rect.height}}function getLayoutRect(element){var clientRect=getBoundingClientRect(element),width=element.offsetWidth,height=element.offsetHeight;return Math.abs(clientRect.width-width)<=1&&(width=clientRect.width),Math.abs(clientRect.height-height)<=1&&(height=clientRect.height),{x:element.offsetLeft,y:element.offsetTop,width:width,height:height}}function getParentNode(element){return"html"===getNodeName(element)?element:element.assignedSlot||element.parentNode||(isShadowRoot(element)?element.host:null)||getDocumentElement(element)}function getScrollParent(node){return["html","body","#document"].indexOf(getNodeName(node))>=0?node.ownerDocument.body:isHTMLElement(node)&&isScrollParent(node)?node:getScrollParent(getParentNode(node))}function listScrollParents(element,list){var _element$ownerDocumen;void 0===list&&(list=[]);var scrollParent=getScrollParent(element),isBody=scrollParent===(null==(_element$ownerDocumen=element.ownerDocument)?void 0:_element$ownerDocumen.body),win=getWindow(scrollParent),target=isBody?[win].concat(win.visualViewport||[],isScrollParent(scrollParent)?scrollParent:[]):scrollParent,updatedList=list.concat(target);return isBody?updatedList:updatedList.concat(listScrollParents(getParentNode(target)))}function isTableElement(element){return["table","td","th"].indexOf(getNodeName(element))>=0}function getTrueOffsetParent(element){return isHTMLElement(element)&&"fixed"!==getComputedStyle(element).position?element.offsetParent:null}function getOffsetParent(element){for(var window=getWindow(element),offsetParent=getTrueOffsetParent(element);offsetParent&&isTableElement(offsetParent)&&"static"===getComputedStyle(offsetParent).position;)offsetParent=getTrueOffsetParent(offsetParent);return offsetParent&&("html"===getNodeName(offsetParent)||"body"===getNodeName(offsetParent)&&"static"===getComputedStyle(offsetParent).position)?window:offsetParent||function getContainingBlock(element){var isFirefox=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&isHTMLElement(element)&&"fixed"===getComputedStyle(element).position)return null;for(var currentNode=getParentNode(element);isHTMLElement(currentNode)&&["html","body"].indexOf(getNodeName(currentNode))<0;){var css=getComputedStyle(currentNode);if("none"!==css.transform||"none"!==css.perspective||"paint"===css.contain||-1!==["transform","perspective"].indexOf(css.willChange)||isFirefox&&"filter"===css.willChange||isFirefox&&css.filter&&"none"!==css.filter)return currentNode;currentNode=currentNode.parentNode}return null}(element)||window}var enums_top="top",bottom="bottom",right="right",left="left",basePlacements=[enums_top,bottom,right,left],variationPlacements=basePlacements.reduce((function(acc,placement){return acc.concat([placement+"-start",placement+"-end"])}),[]),enums_placements=[].concat(basePlacements,["auto"]).reduce((function(acc,placement){return acc.concat([placement,placement+"-start",placement+"-end"])}),[]),modifierPhases=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function order(modifiers){var map=new Map,visited=new Set,result=[];function sort(modifier){visited.add(modifier.name),[].concat(modifier.requires||[],modifier.requiresIfExists||[]).forEach((function(dep){if(!visited.has(dep)){var depModifier=map.get(dep);depModifier&&sort(depModifier)}})),result.push(modifier)}return modifiers.forEach((function(modifier){map.set(modifier.name,modifier)})),modifiers.forEach((function(modifier){visited.has(modifier.name)||sort(modifier)})),result}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return!args.some((function(element){return!(element&&"function"==typeof element.getBoundingClientRect)}))}function popperGenerator(generatorOptions){void 0===generatorOptions&&(generatorOptions={});var _generatorOptions=generatorOptions,_generatorOptions$def=_generatorOptions.defaultModifiers,defaultModifiers=void 0===_generatorOptions$def?[]:_generatorOptions$def,_generatorOptions$def2=_generatorOptions.defaultOptions,defaultOptions=void 0===_generatorOptions$def2?DEFAULT_OPTIONS:_generatorOptions$def2;return function createPopper(reference,popper,options){void 0===options&&(options=defaultOptions);var fn,pending,state={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,defaultOptions),modifiersData:{},elements:{reference:reference,popper:popper},attributes:{},styles:{}},effectCleanupFns=[],isDestroyed=!1,instance={state:state,setOptions:function setOptions(options){cleanupModifierEffects(),state.options=Object.assign({},defaultOptions,state.options,options),state.scrollParents={reference:isElement(reference)?listScrollParents(reference):reference.contextElement?listScrollParents(reference.contextElement):[],popper:listScrollParents(popper)};var orderedModifiers=function orderModifiers(modifiers){var orderedModifiers=order(modifiers);return modifierPhases.reduce((function(acc,phase){return acc.concat(orderedModifiers.filter((function(modifier){return modifier.phase===phase})))}),[])}(function mergeByName(modifiers){var merged=modifiers.reduce((function(merged,current){var existing=merged[current.name];return merged[current.name]=existing?Object.assign({},existing,current,{options:Object.assign({},existing.options,current.options),data:Object.assign({},existing.data,current.data)}):current,merged}),{});return Object.keys(merged).map((function(key){return merged[key]}))}([].concat(defaultModifiers,state.options.modifiers)));return state.orderedModifiers=orderedModifiers.filter((function(m){return m.enabled})),function runModifierEffects(){state.orderedModifiers.forEach((function(_ref3){var name=_ref3.name,_ref3$options=_ref3.options,options=void 0===_ref3$options?{}:_ref3$options,effect=_ref3.effect;if("function"==typeof effect){var cleanupFn=effect({state:state,name:name,instance:instance,options:options}),noopFn=function noopFn(){};effectCleanupFns.push(cleanupFn||noopFn)}}))}(),instance.update()},forceUpdate:function forceUpdate(){if(!isDestroyed){var _state$elements=state.elements,reference=_state$elements.reference,popper=_state$elements.popper;if(areValidElements(reference,popper)){state.rects={reference:getCompositeRect(reference,getOffsetParent(popper),"fixed"===state.options.strategy),popper:getLayoutRect(popper)},state.reset=!1,state.placement=state.options.placement,state.orderedModifiers.forEach((function(modifier){return state.modifiersData[modifier.name]=Object.assign({},modifier.data)}));for(var index=0;index=0?"x":"y"}function computeOffsets(_ref){var offsets,reference=_ref.reference,element=_ref.element,placement=_ref.placement,basePlacement=placement?getBasePlacement(placement):null,variation=placement?getVariation(placement):null,commonX=reference.x+reference.width/2-element.width/2,commonY=reference.y+reference.height/2-element.height/2;switch(basePlacement){case enums_top:offsets={x:commonX,y:reference.y-element.height};break;case bottom:offsets={x:commonX,y:reference.y+reference.height};break;case right:offsets={x:reference.x+reference.width,y:commonY};break;case left:offsets={x:reference.x-element.width,y:commonY};break;default:offsets={x:reference.x,y:reference.y}}var mainAxis=basePlacement?getMainAxisFromPlacement(basePlacement):null;if(null!=mainAxis){var len="y"===mainAxis?"height":"width";switch(variation){case"start":offsets[mainAxis]=offsets[mainAxis]-(reference[len]/2-element[len]/2);break;case"end":offsets[mainAxis]=offsets[mainAxis]+(reference[len]/2-element[len]/2)}}return offsets}var modifiers_popperOffsets={name:"popperOffsets",enabled:!0,phase:"read",fn:function popperOffsets_popperOffsets(_ref){var state=_ref.state,name=_ref.name;state.modifiersData[name]=computeOffsets({reference:state.rects.reference,element:state.rects.popper,strategy:"absolute",placement:state.placement})},data:{}},math_max=Math.max,math_min=Math.min,math_round=Math.round,unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function mapToStyles(_ref2){var _Object$assign2,popper=_ref2.popper,popperRect=_ref2.popperRect,placement=_ref2.placement,offsets=_ref2.offsets,position=_ref2.position,gpuAcceleration=_ref2.gpuAcceleration,adaptive=_ref2.adaptive,roundOffsets=_ref2.roundOffsets,_ref3=!0===roundOffsets?function roundOffsetsByDPR(_ref){var x=_ref.x,y=_ref.y,dpr=window.devicePixelRatio||1;return{x:math_round(math_round(x*dpr)/dpr)||0,y:math_round(math_round(y*dpr)/dpr)||0}}(offsets):"function"==typeof roundOffsets?roundOffsets(offsets):offsets,_ref3$x=_ref3.x,x=void 0===_ref3$x?0:_ref3$x,_ref3$y=_ref3.y,y=void 0===_ref3$y?0:_ref3$y,hasX=offsets.hasOwnProperty("x"),hasY=offsets.hasOwnProperty("y"),sideX=left,sideY=enums_top,win=window;if(adaptive){var offsetParent=getOffsetParent(popper),heightProp="clientHeight",widthProp="clientWidth";offsetParent===getWindow(popper)&&"static"!==getComputedStyle(offsetParent=getDocumentElement(popper)).position&&(heightProp="scrollHeight",widthProp="scrollWidth"),offsetParent=offsetParent,placement===enums_top&&(sideY=bottom,y-=offsetParent[heightProp]-popperRect.height,y*=gpuAcceleration?1:-1),placement===left&&(sideX=right,x-=offsetParent[widthProp]-popperRect.width,x*=gpuAcceleration?1:-1)}var _Object$assign,commonStyles=Object.assign({position:position},adaptive&&unsetSides);return gpuAcceleration?Object.assign({},commonStyles,((_Object$assign={})[sideY]=hasY?"0":"",_Object$assign[sideX]=hasX?"0":"",_Object$assign.transform=(win.devicePixelRatio||1)<2?"translate("+x+"px, "+y+"px)":"translate3d("+x+"px, "+y+"px, 0)",_Object$assign)):Object.assign({},commonStyles,((_Object$assign2={})[sideY]=hasY?y+"px":"",_Object$assign2[sideX]=hasX?x+"px":"",_Object$assign2.transform="",_Object$assign2))}var hash={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,(function(matched){return hash[matched]}))}var getOppositeVariationPlacement_hash={start:"end",end:"start"};function getOppositeVariationPlacement(placement){return placement.replace(/start|end/g,(function(matched){return getOppositeVariationPlacement_hash[matched]}))}function contains(parent,child){var rootNode=child.getRootNode&&child.getRootNode();if(parent.contains(child))return!0;if(rootNode&&isShadowRoot(rootNode)){var next=child;do{if(next&&parent.isSameNode(next))return!0;next=next.parentNode||next.host}while(next)}return!1}function rectToClientRect(rect){return Object.assign({},rect,{left:rect.x,top:rect.y,right:rect.x+rect.width,bottom:rect.y+rect.height})}function getClientRectFromMixedType(element,clippingParent){return"viewport"===clippingParent?rectToClientRect(function getViewportRect(element){var win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width=html.clientWidth,height=html.clientHeight,x=0,y=0;return visualViewport&&(width=visualViewport.width,height=visualViewport.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)),{width:width,height:height,x:x+getWindowScrollBarX(element),y:y}}(element)):isHTMLElement(clippingParent)?function getInnerBoundingClientRect(element){var rect=getBoundingClientRect(element);return rect.top=rect.top+element.clientTop,rect.left=rect.left+element.clientLeft,rect.bottom=rect.top+element.clientHeight,rect.right=rect.left+element.clientWidth,rect.width=element.clientWidth,rect.height=element.clientHeight,rect.x=rect.left,rect.y=rect.top,rect}(clippingParent):rectToClientRect(function getDocumentRect(element){var _element$ownerDocumen,html=getDocumentElement(element),winScroll=getWindowScroll(element),body=null==(_element$ownerDocumen=element.ownerDocument)?void 0:_element$ownerDocumen.body,width=math_max(html.scrollWidth,html.clientWidth,body?body.scrollWidth:0,body?body.clientWidth:0),height=math_max(html.scrollHeight,html.clientHeight,body?body.scrollHeight:0,body?body.clientHeight:0),x=-winScroll.scrollLeft+getWindowScrollBarX(element),y=-winScroll.scrollTop;return"rtl"===getComputedStyle(body||html).direction&&(x+=math_max(html.clientWidth,body?body.clientWidth:0)-width),{width:width,height:height,x:x,y:y}}(getDocumentElement(element)))}function getClippingRect(element,boundary,rootBoundary){var mainClippingParents="clippingParents"===boundary?function getClippingParents(element){var clippingParents=listScrollParents(getParentNode(element)),clipperElement=["absolute","fixed"].indexOf(getComputedStyle(element).position)>=0&&isHTMLElement(element)?getOffsetParent(element):element;return isElement(clipperElement)?clippingParents.filter((function(clippingParent){return isElement(clippingParent)&&contains(clippingParent,clipperElement)&&"body"!==getNodeName(clippingParent)})):[]}(element):[].concat(boundary),clippingParents=[].concat(mainClippingParents,[rootBoundary]),firstClippingParent=clippingParents[0],clippingRect=clippingParents.reduce((function(accRect,clippingParent){var rect=getClientRectFromMixedType(element,clippingParent);return accRect.top=math_max(rect.top,accRect.top),accRect.right=math_min(rect.right,accRect.right),accRect.bottom=math_min(rect.bottom,accRect.bottom),accRect.left=math_max(rect.left,accRect.left),accRect}),getClientRectFromMixedType(element,firstClippingParent));return clippingRect.width=clippingRect.right-clippingRect.left,clippingRect.height=clippingRect.bottom-clippingRect.top,clippingRect.x=clippingRect.left,clippingRect.y=clippingRect.top,clippingRect}function mergePaddingObject(paddingObject){return Object.assign({},{top:0,right:0,bottom:0,left:0},paddingObject)}function expandToHashMap(value,keys){return keys.reduce((function(hashMap,key){return hashMap[key]=value,hashMap}),{})}function detectOverflow(state,options){void 0===options&&(options={});var _options=options,_options$placement=_options.placement,placement=void 0===_options$placement?state.placement:_options$placement,_options$boundary=_options.boundary,boundary=void 0===_options$boundary?"clippingParents":_options$boundary,_options$rootBoundary=_options.rootBoundary,rootBoundary=void 0===_options$rootBoundary?"viewport":_options$rootBoundary,_options$elementConte=_options.elementContext,elementContext=void 0===_options$elementConte?"popper":_options$elementConte,_options$altBoundary=_options.altBoundary,altBoundary=void 0!==_options$altBoundary&&_options$altBoundary,_options$padding=_options.padding,padding=void 0===_options$padding?0:_options$padding,paddingObject=mergePaddingObject("number"!=typeof padding?padding:expandToHashMap(padding,basePlacements)),altContext="popper"===elementContext?"reference":"popper",referenceElement=state.elements.reference,popperRect=state.rects.popper,element=state.elements[altBoundary?altContext:elementContext],clippingClientRect=getClippingRect(isElement(element)?element:element.contextElement||getDocumentElement(state.elements.popper),boundary,rootBoundary),referenceClientRect=getBoundingClientRect(referenceElement),popperOffsets=computeOffsets({reference:referenceClientRect,element:popperRect,strategy:"absolute",placement:placement}),popperClientRect=rectToClientRect(Object.assign({},popperRect,popperOffsets)),elementClientRect="popper"===elementContext?popperClientRect:referenceClientRect,overflowOffsets={top:clippingClientRect.top-elementClientRect.top+paddingObject.top,bottom:elementClientRect.bottom-clippingClientRect.bottom+paddingObject.bottom,left:clippingClientRect.left-elementClientRect.left+paddingObject.left,right:elementClientRect.right-clippingClientRect.right+paddingObject.right},offsetData=state.modifiersData.offset;if("popper"===elementContext&&offsetData){var offset=offsetData[placement];Object.keys(overflowOffsets).forEach((function(key){var multiply=[right,bottom].indexOf(key)>=0?1:-1,axis=[enums_top,bottom].indexOf(key)>=0?"y":"x";overflowOffsets[key]+=offset[axis]*multiply}))}return overflowOffsets}function within(min,value,max){return math_max(min,math_min(value,max))}function getSideOffsets(overflow,rect,preventedOffsets){return void 0===preventedOffsets&&(preventedOffsets={x:0,y:0}),{top:overflow.top-rect.height-preventedOffsets.y,right:overflow.right-rect.width+preventedOffsets.x,bottom:overflow.bottom-rect.height+preventedOffsets.y,left:overflow.left-rect.width-preventedOffsets.x}}function isAnySideFullyClipped(overflow){return[enums_top,right,bottom,left].some((function(side){return overflow[side]>=0}))}var popper_createPopper=popperGenerator({defaultModifiers:[eventListeners,modifiers_popperOffsets,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function computeStyles(_ref4){var state=_ref4.state,options=_ref4.options,_options$gpuAccelerat=options.gpuAcceleration,gpuAcceleration=void 0===_options$gpuAccelerat||_options$gpuAccelerat,_options$adaptive=options.adaptive,adaptive=void 0===_options$adaptive||_options$adaptive,_options$roundOffsets=options.roundOffsets,roundOffsets=void 0===_options$roundOffsets||_options$roundOffsets,commonStyles={placement:getBasePlacement(state.placement),popper:state.elements.popper,popperRect:state.rects.popper,gpuAcceleration:gpuAcceleration};null!=state.modifiersData.popperOffsets&&(state.styles.popper=Object.assign({},state.styles.popper,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.popperOffsets,position:state.options.strategy,adaptive:adaptive,roundOffsets:roundOffsets})))),null!=state.modifiersData.arrow&&(state.styles.arrow=Object.assign({},state.styles.arrow,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:roundOffsets})))),state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-placement":state.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function applyStyles(_ref){var state=_ref.state;Object.keys(state.elements).forEach((function(name){var style=state.styles[name]||{},attributes=state.attributes[name]||{},element=state.elements[name];isHTMLElement(element)&&getNodeName(element)&&(Object.assign(element.style,style),Object.keys(attributes).forEach((function(name){var value=attributes[name];!1===value?element.removeAttribute(name):element.setAttribute(name,!0===value?"":value)})))}))},effect:function applyStyles_effect(_ref2){var state=_ref2.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow),function(){Object.keys(state.elements).forEach((function(name){var element=state.elements[name],attributes=state.attributes[name]||{},style=Object.keys(state.styles.hasOwnProperty(name)?state.styles[name]:initialStyles[name]).reduce((function(style,property){return style[property]="",style}),{});isHTMLElement(element)&&getNodeName(element)&&(Object.assign(element.style,style),Object.keys(attributes).forEach((function(attribute){element.removeAttribute(attribute)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function offset_offset(_ref2){var state=_ref2.state,options=_ref2.options,name=_ref2.name,_options$offset=options.offset,offset=void 0===_options$offset?[0,0]:_options$offset,data=enums_placements.reduce((function(acc,placement){return acc[placement]=function distanceAndSkiddingToXY(placement,rects,offset){var basePlacement=getBasePlacement(placement),invertDistance=[left,enums_top].indexOf(basePlacement)>=0?-1:1,_ref="function"==typeof offset?offset(Object.assign({},rects,{placement:placement})):offset,skidding=_ref[0],distance=_ref[1];return skidding=skidding||0,distance=(distance||0)*invertDistance,[left,right].indexOf(basePlacement)>=0?{x:distance,y:skidding}:{x:skidding,y:distance}}(placement,state.rects,offset),acc}),{}),_data$state$placement=data[state.placement],x=_data$state$placement.x,y=_data$state$placement.y;null!=state.modifiersData.popperOffsets&&(state.modifiersData.popperOffsets.x+=x,state.modifiersData.popperOffsets.y+=y),state.modifiersData[name]=data}},{name:"flip",enabled:!0,phase:"main",fn:function flip(_ref){var state=_ref.state,options=_ref.options,name=_ref.name;if(!state.modifiersData[name]._skip){for(var _options$mainAxis=options.mainAxis,checkMainAxis=void 0===_options$mainAxis||_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=void 0===_options$altAxis||_options$altAxis,specifiedFallbackPlacements=options.fallbackPlacements,padding=options.padding,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,_options$flipVariatio=options.flipVariations,flipVariations=void 0===_options$flipVariatio||_options$flipVariatio,allowedAutoPlacements=options.allowedAutoPlacements,preferredPlacement=state.options.placement,basePlacement=getBasePlacement(preferredPlacement),fallbackPlacements=specifiedFallbackPlacements||(basePlacement===preferredPlacement||!flipVariations?[getOppositePlacement(preferredPlacement)]:function getExpandedFallbackPlacements(placement){if("auto"===getBasePlacement(placement))return[];var oppositePlacement=getOppositePlacement(placement);return[getOppositeVariationPlacement(placement),oppositePlacement,getOppositeVariationPlacement(oppositePlacement)]}(preferredPlacement)),placements=[preferredPlacement].concat(fallbackPlacements).reduce((function(acc,placement){return acc.concat("auto"===getBasePlacement(placement)?function computeAutoPlacement(state,options){void 0===options&&(options={});var _options=options,placement=_options.placement,boundary=_options.boundary,rootBoundary=_options.rootBoundary,padding=_options.padding,flipVariations=_options.flipVariations,_options$allowedAutoP=_options.allowedAutoPlacements,allowedAutoPlacements=void 0===_options$allowedAutoP?enums_placements:_options$allowedAutoP,variation=getVariation(placement),placements=variation?flipVariations?variationPlacements:variationPlacements.filter((function(placement){return getVariation(placement)===variation})):basePlacements,allowedPlacements=placements.filter((function(placement){return allowedAutoPlacements.indexOf(placement)>=0}));0===allowedPlacements.length&&(allowedPlacements=placements);var overflows=allowedPlacements.reduce((function(acc,placement){return acc[placement]=detectOverflow(state,{placement:placement,boundary:boundary,rootBoundary:rootBoundary,padding:padding})[getBasePlacement(placement)],acc}),{});return Object.keys(overflows).sort((function(a,b){return overflows[a]-overflows[b]}))}(state,{placement:placement,boundary:boundary,rootBoundary:rootBoundary,padding:padding,flipVariations:flipVariations,allowedAutoPlacements:allowedAutoPlacements}):placement)}),[]),referenceRect=state.rects.reference,popperRect=state.rects.popper,checksMap=new Map,makeFallbackChecks=!0,firstFittingPlacement=placements[0],i=0;i=0,len=isVertical?"width":"height",overflow=detectOverflow(state,{placement:placement,boundary:boundary,rootBoundary:rootBoundary,altBoundary:altBoundary,padding:padding}),mainVariationSide=isVertical?isStartVariation?right:left:isStartVariation?bottom:enums_top;referenceRect[len]>popperRect[len]&&(mainVariationSide=getOppositePlacement(mainVariationSide));var altVariationSide=getOppositePlacement(mainVariationSide),checks=[];if(checkMainAxis&&checks.push(overflow[_basePlacement]<=0),checkAltAxis&&checks.push(overflow[mainVariationSide]<=0,overflow[altVariationSide]<=0),checks.every((function(check){return check}))){firstFittingPlacement=placement,makeFallbackChecks=!1;break}checksMap.set(placement,checks)}if(makeFallbackChecks)for(var _loop=function _loop(_i){var fittingPlacement=placements.find((function(placement){var checks=checksMap.get(placement);if(checks)return checks.slice(0,_i).every((function(check){return check}))}));if(fittingPlacement)return firstFittingPlacement=fittingPlacement,"break"},_i=flipVariations?3:1;_i>0;_i--){if("break"===_loop(_i))break}state.placement!==firstFittingPlacement&&(state.modifiersData[name]._skip=!0,state.placement=firstFittingPlacement,state.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function preventOverflow(_ref){var state=_ref.state,options=_ref.options,name=_ref.name,_options$mainAxis=options.mainAxis,checkMainAxis=void 0===_options$mainAxis||_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=void 0!==_options$altAxis&&_options$altAxis,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,padding=options.padding,_options$tether=options.tether,tether=void 0===_options$tether||_options$tether,_options$tetherOffset=options.tetherOffset,tetherOffset=void 0===_options$tetherOffset?0:_options$tetherOffset,overflow=detectOverflow(state,{boundary:boundary,rootBoundary:rootBoundary,padding:padding,altBoundary:altBoundary}),basePlacement=getBasePlacement(state.placement),variation=getVariation(state.placement),isBasePlacement=!variation,mainAxis=getMainAxisFromPlacement(basePlacement),altAxis=function getAltAxis(axis){return"x"===axis?"y":"x"}(mainAxis),popperOffsets=state.modifiersData.popperOffsets,referenceRect=state.rects.reference,popperRect=state.rects.popper,tetherOffsetValue="function"==typeof tetherOffset?tetherOffset(Object.assign({},state.rects,{placement:state.placement})):tetherOffset,data={x:0,y:0};if(popperOffsets){if(checkMainAxis||checkAltAxis){var mainSide="y"===mainAxis?enums_top:left,altSide="y"===mainAxis?bottom:right,len="y"===mainAxis?"height":"width",offset=popperOffsets[mainAxis],min=popperOffsets[mainAxis]+overflow[mainSide],max=popperOffsets[mainAxis]-overflow[altSide],additive=tether?-popperRect[len]/2:0,minLen="start"===variation?referenceRect[len]:popperRect[len],maxLen="start"===variation?-popperRect[len]:-referenceRect[len],arrowElement=state.elements.arrow,arrowRect=tether&&arrowElement?getLayoutRect(arrowElement):{width:0,height:0},arrowPaddingObject=state.modifiersData["arrow#persistent"]?state.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},arrowPaddingMin=arrowPaddingObject[mainSide],arrowPaddingMax=arrowPaddingObject[altSide],arrowLen=within(0,referenceRect[len],arrowRect[len]),minOffset=isBasePlacement?referenceRect[len]/2-additive-arrowLen-arrowPaddingMin-tetherOffsetValue:minLen-arrowLen-arrowPaddingMin-tetherOffsetValue,maxOffset=isBasePlacement?-referenceRect[len]/2+additive+arrowLen+arrowPaddingMax+tetherOffsetValue:maxLen+arrowLen+arrowPaddingMax+tetherOffsetValue,arrowOffsetParent=state.elements.arrow&&getOffsetParent(state.elements.arrow),clientOffset=arrowOffsetParent?"y"===mainAxis?arrowOffsetParent.clientTop||0:arrowOffsetParent.clientLeft||0:0,offsetModifierValue=state.modifiersData.offset?state.modifiersData.offset[state.placement][mainAxis]:0,tetherMin=popperOffsets[mainAxis]+minOffset-offsetModifierValue-clientOffset,tetherMax=popperOffsets[mainAxis]+maxOffset-offsetModifierValue;if(checkMainAxis){var preventedOffset=within(tether?math_min(min,tetherMin):min,offset,tether?math_max(max,tetherMax):max);popperOffsets[mainAxis]=preventedOffset,data[mainAxis]=preventedOffset-offset}if(checkAltAxis){var _mainSide="x"===mainAxis?enums_top:left,_altSide="x"===mainAxis?bottom:right,_offset=popperOffsets[altAxis],_min=_offset+overflow[_mainSide],_max=_offset-overflow[_altSide],_preventedOffset=within(tether?math_min(_min,tetherMin):_min,_offset,tether?math_max(_max,tetherMax):_max);popperOffsets[altAxis]=_preventedOffset,data[altAxis]=_preventedOffset-_offset}}state.modifiersData[name]=data}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function arrow(_ref){var _state$modifiersData$,state=_ref.state,name=_ref.name,options=_ref.options,arrowElement=state.elements.arrow,popperOffsets=state.modifiersData.popperOffsets,basePlacement=getBasePlacement(state.placement),axis=getMainAxisFromPlacement(basePlacement),len=[left,right].indexOf(basePlacement)>=0?"height":"width";if(arrowElement&&popperOffsets){var paddingObject=function toPaddingObject(padding,state){return mergePaddingObject("number"!=typeof(padding="function"==typeof padding?padding(Object.assign({},state.rects,{placement:state.placement})):padding)?padding:expandToHashMap(padding,basePlacements))}(options.padding,state),arrowRect=getLayoutRect(arrowElement),minProp="y"===axis?enums_top:left,maxProp="y"===axis?bottom:right,endDiff=state.rects.reference[len]+state.rects.reference[axis]-popperOffsets[axis]-state.rects.popper[len],startDiff=popperOffsets[axis]-state.rects.reference[axis],arrowOffsetParent=getOffsetParent(arrowElement),clientSize=arrowOffsetParent?"y"===axis?arrowOffsetParent.clientHeight||0:arrowOffsetParent.clientWidth||0:0,centerToReference=endDiff/2-startDiff/2,min=paddingObject[minProp],max=clientSize-arrowRect[len]-paddingObject[maxProp],center=clientSize/2-arrowRect[len]/2+centerToReference,offset=within(min,center,max),axisProp=axis;state.modifiersData[name]=((_state$modifiersData$={})[axisProp]=offset,_state$modifiersData$.centerOffset=offset-center,_state$modifiersData$)}},effect:function arrow_effect(_ref2){var state=_ref2.state,_options$element=_ref2.options.element,arrowElement=void 0===_options$element?"[data-popper-arrow]":_options$element;null!=arrowElement&&("string"!=typeof arrowElement||(arrowElement=state.elements.popper.querySelector(arrowElement)))&&contains(state.elements.popper,arrowElement)&&(state.elements.arrow=arrowElement)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function hide(_ref){var state=_ref.state,name=_ref.name,referenceRect=state.rects.reference,popperRect=state.rects.popper,preventedOffsets=state.modifiersData.preventOverflow,referenceOverflow=detectOverflow(state,{elementContext:"reference"}),popperAltOverflow=detectOverflow(state,{altBoundary:!0}),referenceClippingOffsets=getSideOffsets(referenceOverflow,referenceRect),popperEscapeOffsets=getSideOffsets(popperAltOverflow,popperRect,preventedOffsets),isReferenceHidden=isAnySideFullyClipped(referenceClippingOffsets),hasPopperEscaped=isAnySideFullyClipped(popperEscapeOffsets);state.modifiersData[name]={referenceClippingOffsets:referenceClippingOffsets,popperEscapeOffsets:popperEscapeOffsets,isReferenceHidden:isReferenceHidden,hasPopperEscaped:hasPopperEscaped},state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-reference-hidden":isReferenceHidden,"data-popper-escaped":hasPopperEscaped})}}]}),react_fast_compare=__webpack_require__(975),react_fast_compare_default=__webpack_require__.n(react_fast_compare),EMPTY_MODIFIERS=[],NOOP=function NOOP(){},NOOP_PROMISE=function NOOP_PROMISE(){return Promise.resolve(null)},Popper_EMPTY_MODIFIERS=[];function Popper(_ref){var _ref$placement=_ref.placement,placement=void 0===_ref$placement?"bottom":_ref$placement,_ref$strategy=_ref.strategy,strategy=void 0===_ref$strategy?"absolute":_ref$strategy,_ref$modifiers=_ref.modifiers,modifiers=void 0===_ref$modifiers?Popper_EMPTY_MODIFIERS:_ref$modifiers,referenceElement=_ref.referenceElement,onFirstUpdate=_ref.onFirstUpdate,innerRef=_ref.innerRef,children=_ref.children,referenceNode=react.useContext(ManagerReferenceNodeContext),_React$useState=react.useState(null),popperElement=_React$useState[0],setPopperElement=_React$useState[1],_React$useState2=react.useState(null),arrowElement=_React$useState2[0],setArrowElement=_React$useState2[1];react.useEffect((function(){setRef(innerRef,popperElement)}),[innerRef,popperElement]);var options=react.useMemo((function(){return{placement:placement,strategy:strategy,onFirstUpdate:onFirstUpdate,modifiers:[].concat(modifiers,[{name:"arrow",enabled:null!=arrowElement,options:{element:arrowElement}}])}}),[placement,strategy,onFirstUpdate,modifiers,arrowElement]),_usePopper=function usePopper(referenceElement,popperElement,options){void 0===options&&(options={});var prevOptions=react.useRef(null),optionsWithDefaults={onFirstUpdate:options.onFirstUpdate,placement:options.placement||"bottom",strategy:options.strategy||"absolute",modifiers:options.modifiers||EMPTY_MODIFIERS},_React$useState=react.useState({styles:{popper:{position:optionsWithDefaults.strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),state=_React$useState[0],setState=_React$useState[1],updateStateModifier=react.useMemo((function(){return{name:"updateState",enabled:!0,phase:"write",fn:function fn(_ref){var state=_ref.state,elements=Object.keys(state.elements);setState({styles:fromEntries(elements.map((function(element){return[element,state.styles[element]||{}]}))),attributes:fromEntries(elements.map((function(element){return[element,state.attributes[element]]})))})},requires:["computeStyles"]}}),[]),popperOptions=react.useMemo((function(){var newOptions={onFirstUpdate:optionsWithDefaults.onFirstUpdate,placement:optionsWithDefaults.placement,strategy:optionsWithDefaults.strategy,modifiers:[].concat(optionsWithDefaults.modifiers,[updateStateModifier,{name:"applyStyles",enabled:!1}])};return react_fast_compare_default()(prevOptions.current,newOptions)?prevOptions.current||newOptions:(prevOptions.current=newOptions,newOptions)}),[optionsWithDefaults.onFirstUpdate,optionsWithDefaults.placement,optionsWithDefaults.strategy,optionsWithDefaults.modifiers,updateStateModifier]),popperInstanceRef=react.useRef();return useIsomorphicLayoutEffect((function(){popperInstanceRef.current&&popperInstanceRef.current.setOptions(popperOptions)}),[popperOptions]),useIsomorphicLayoutEffect((function(){if(null!=referenceElement&&null!=popperElement){var popperInstance=(options.createPopper||popper_createPopper)(referenceElement,popperElement,popperOptions);return popperInstanceRef.current=popperInstance,function(){popperInstance.destroy(),popperInstanceRef.current=null}}}),[referenceElement,popperElement,options.createPopper]),{state:popperInstanceRef.current?popperInstanceRef.current.state:null,styles:state.styles,attributes:state.attributes,update:popperInstanceRef.current?popperInstanceRef.current.update:null,forceUpdate:popperInstanceRef.current?popperInstanceRef.current.forceUpdate:null}}(referenceElement||referenceNode,popperElement,options),state=_usePopper.state,styles=_usePopper.styles,forceUpdate=_usePopper.forceUpdate,update=_usePopper.update,childrenProps=react.useMemo((function(){return{ref:setPopperElement,style:styles.popper,placement:state?state.placement:placement,hasPopperEscaped:state&&state.modifiersData.hide?state.modifiersData.hide.hasPopperEscaped:null,isReferenceHidden:state&&state.modifiersData.hide?state.modifiersData.hide.isReferenceHidden:null,arrowProps:{style:styles.arrow,ref:setArrowElement},forceUpdate:forceUpdate||NOOP,update:update||NOOP_PROMISE}}),[setPopperElement,setArrowElement,placement,state,styles,update,forceUpdate]);return unwrapArray(children)(childrenProps)}var warning=__webpack_require__(976),warning_default=__webpack_require__.n(warning);function Reference(_ref){var children=_ref.children,innerRef=_ref.innerRef,setReferenceNode=react.useContext(ManagerReferenceNodeSetterContext),refHandler=react.useCallback((function(node){setRef(innerRef,node),safeInvoke(setReferenceNode,node)}),[innerRef,setReferenceNode]);return react.useEffect((function(){return function(){return setRef(innerRef,null)}})),react.useEffect((function(){warning_default()(Boolean(setReferenceNode),"`Reference` should not be used outside of a `Manager` component.")}),[setReferenceNode]),unwrapArray(children)({ref:refHandler})}var TooltipContext=react_default.a.createContext({}),callAll=function callAll(){for(var _len=arguments.length,fns=new Array(_len),_key=0;_key<_len;_key++)fns[_key]=arguments[_key];return function(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];return fns.forEach((function(fn){return fn&&fn.apply(void 0,args)}))}},canUseDOM=function canUseDOM(){return!("undefined"==typeof window||!window.document||!window.document.createElement)},react_popper_tooltip_setRef=function setRef(ref,node){if("function"==typeof ref)return ref(node);null!=ref&&(ref.current=node)},react_popper_tooltip_Tooltip=function(_Component){function Tooltip(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return(_this=_Component.call.apply(_Component,[this].concat(args))||this).observer=void 0,_this.tooltipRef=void 0,_this.handleOutsideClick=function(event){if(_this.tooltipRef&&!_this.tooltipRef.contains(event.target)){var parentOutsideClickHandler=_this.context.parentOutsideClickHandler,_this$props=_this.props,hideTooltip=_this$props.hideTooltip;(0,_this$props.clearScheduled)(),hideTooltip(),parentOutsideClickHandler&&parentOutsideClickHandler(event)}},_this.handleOutsideRightClick=function(event){if(_this.tooltipRef&&!_this.tooltipRef.contains(event.target)){var parentOutsideRightClickHandler=_this.context.parentOutsideRightClickHandler,_this$props2=_this.props,hideTooltip=_this$props2.hideTooltip;(0,_this$props2.clearScheduled)(),hideTooltip(),parentOutsideRightClickHandler&&parentOutsideRightClickHandler(event)}},_this.addOutsideClickHandler=function(){document.body.addEventListener("touchend",_this.handleOutsideClick),document.body.addEventListener("click",_this.handleOutsideClick)},_this.removeOutsideClickHandler=function(){document.body.removeEventListener("touchend",_this.handleOutsideClick),document.body.removeEventListener("click",_this.handleOutsideClick)},_this.addOutsideRightClickHandler=function(){return document.body.addEventListener("contextmenu",_this.handleOutsideRightClick)},_this.removeOutsideRightClickHandler=function(){return document.body.removeEventListener("contextmenu",_this.handleOutsideRightClick)},_this.getTooltipRef=function(node){_this.tooltipRef=node,react_popper_tooltip_setRef(_this.props.innerRef,node)},_this.getArrowProps=function(props){return void 0===props&&(props={}),Object(esm_extends.a)({},props,{style:Object(esm_extends.a)({},props.style,_this.props.arrowProps.style)})},_this.getTooltipProps=function(props){return void 0===props&&(props={}),Object(esm_extends.a)({},props,_this.isTriggeredBy("hover")&&{onMouseEnter:callAll(_this.props.clearScheduled,props.onMouseEnter),onMouseLeave:callAll(_this.props.hideTooltip,props.onMouseLeave)},{style:Object(esm_extends.a)({},props.style,_this.props.style)})},_this.contextValue={isParentNoneTriggered:"none"===_this.props.trigger,addParentOutsideClickHandler:_this.addOutsideClickHandler,addParentOutsideRightClickHandler:_this.addOutsideRightClickHandler,parentOutsideClickHandler:_this.handleOutsideClick,parentOutsideRightClickHandler:_this.handleOutsideRightClick,removeParentOutsideClickHandler:_this.removeOutsideClickHandler,removeParentOutsideRightClickHandler:_this.removeOutsideRightClickHandler},_this}Object(inheritsLoose.a)(Tooltip,_Component);var _proto=Tooltip.prototype;return _proto.componentDidMount=function componentDidMount(){var _this2=this;if((this.observer=new MutationObserver((function(){_this2.props.update()}))).observe(this.tooltipRef,this.props.mutationObserverOptions),this.isTriggeredBy("hover")||this.isTriggeredBy("click")||this.isTriggeredBy("right-click")){var _this$context=this.context,removeParentOutsideClickHandler=_this$context.removeParentOutsideClickHandler,removeParentOutsideRightClickHandler=_this$context.removeParentOutsideRightClickHandler;this.addOutsideClickHandler(),this.addOutsideRightClickHandler(),removeParentOutsideClickHandler&&removeParentOutsideClickHandler(),removeParentOutsideRightClickHandler&&removeParentOutsideRightClickHandler()}},_proto.componentDidUpdate=function componentDidUpdate(){this.props.closeOnReferenceHidden&&this.props.isReferenceHidden&&this.props.hideTooltip()},_proto.componentWillUnmount=function componentWillUnmount(){if(this.observer&&this.observer.disconnect(),this.isTriggeredBy("hover")||this.isTriggeredBy("click")||this.isTriggeredBy("right-click")){var _this$context2=this.context,isParentNoneTriggered=_this$context2.isParentNoneTriggered,addParentOutsideClickHandler=_this$context2.addParentOutsideClickHandler,addParentOutsideRightClickHandler=_this$context2.addParentOutsideRightClickHandler;this.removeOutsideClickHandler(),this.removeOutsideRightClickHandler(),this.handleOutsideClick=void 0,this.handleOutsideRightClick=void 0,!isParentNoneTriggered&&addParentOutsideClickHandler&&addParentOutsideClickHandler(),!isParentNoneTriggered&&addParentOutsideRightClickHandler&&addParentOutsideRightClickHandler()}},_proto.render=function render(){var _this$props3=this.props,arrowProps=_this$props3.arrowProps,placement=_this$props3.placement,tooltip=_this$props3.tooltip;return react_default.a.createElement(TooltipContext.Provider,{value:this.contextValue},tooltip({arrowRef:arrowProps.ref,getArrowProps:this.getArrowProps,getTooltipProps:this.getTooltipProps,placement:placement,tooltipRef:this.getTooltipRef}))},_proto.isTriggeredBy=function isTriggeredBy(event){var trigger=this.props.trigger;return trigger===event||Array.isArray(trigger)&&trigger.includes(event)},Tooltip}(react.Component);react_popper_tooltip_Tooltip.contextType=TooltipContext;var react_popper_tooltip_TooltipTrigger=function(_Component){function TooltipTrigger(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return(_this=_Component.call.apply(_Component,[this].concat(args))||this).state={tooltipShown:_this.props.defaultTooltipShown},_this.hideTimeout=void 0,_this.showTimeout=void 0,_this.popperOffset=void 0,_this.setTooltipState=function(state){var cb=function cb(){return _this.props.onVisibilityChange(state.tooltipShown)};_this.isControlled()?cb():_this.setState(state,cb)},_this.clearScheduled=function(){clearTimeout(_this.hideTimeout),clearTimeout(_this.showTimeout)},_this.showTooltip=function(_ref){var pageX=_ref.pageX,pageY=_ref.pageY;_this.clearScheduled();var state={tooltipShown:!0};_this.props.followCursor&&(state=Object(esm_extends.a)({},state,{pageX:pageX,pageY:pageY})),_this.showTimeout=window.setTimeout((function(){return _this.setTooltipState(state)}),_this.props.delayShow)},_this.hideTooltip=function(){_this.clearScheduled(),_this.hideTimeout=window.setTimeout((function(){return _this.setTooltipState({tooltipShown:!1})}),_this.props.delayHide)},_this.toggleTooltip=function(_ref2){var pageX=_ref2.pageX,pageY=_ref2.pageY,action=_this.getState()?"hideTooltip":"showTooltip";_this[action]({pageX:pageX,pageY:pageY})},_this.clickToggle=function(event){event.preventDefault();var pageX=event.pageX,pageY=event.pageY,action=_this.props.followCursor?"showTooltip":"toggleTooltip";_this[action]({pageX:pageX,pageY:pageY})},_this.contextMenuToggle=function(event){event.preventDefault();var pageX=event.pageX,pageY=event.pageY,action=_this.props.followCursor?"showTooltip":"toggleTooltip";_this[action]({pageX:pageX,pageY:pageY})},_this.getTriggerProps=function(props){return void 0===props&&(props={}),Object(esm_extends.a)({},props,_this.isTriggeredBy("click")&&{onClick:callAll(_this.clickToggle,props.onClick),onTouchEnd:callAll(_this.clickToggle,props.onTouchEnd)},_this.isTriggeredBy("right-click")&&{onContextMenu:callAll(_this.contextMenuToggle,props.onContextMenu)},_this.isTriggeredBy("hover")&&Object(esm_extends.a)({onMouseEnter:callAll(_this.showTooltip,props.onMouseEnter),onMouseLeave:callAll(_this.hideTooltip,props.onMouseLeave)},_this.props.followCursor&&{onMouseMove:callAll(_this.showTooltip,props.onMouseMove)}),_this.isTriggeredBy("focus")&&{onFocus:callAll(_this.showTooltip,props.onFocus),onBlur:callAll(_this.hideTooltip,props.onBlur)})},_this}Object(inheritsLoose.a)(TooltipTrigger,_Component);var _proto=TooltipTrigger.prototype;return _proto.componentWillUnmount=function componentWillUnmount(){this.clearScheduled()},_proto.render=function render(){var _this2=this,_this$props=this.props,children=_this$props.children,tooltip=_this$props.tooltip,placement=_this$props.placement,trigger=_this$props.trigger,getTriggerRef=_this$props.getTriggerRef,modifiers=_this$props.modifiers,closeOnReferenceHidden=_this$props.closeOnReferenceHidden,usePortal=_this$props.usePortal,portalContainer=_this$props.portalContainer,followCursor=_this$props.followCursor,getTooltipRef=_this$props.getTooltipRef,mutationObserverOptions=_this$props.mutationObserverOptions,restProps=Object(objectWithoutPropertiesLoose.a)(_this$props,["children","tooltip","placement","trigger","getTriggerRef","modifiers","closeOnReferenceHidden","usePortal","portalContainer","followCursor","getTooltipRef","mutationObserverOptions"]),popper=react_default.a.createElement(Popper,Object(esm_extends.a)({innerRef:getTooltipRef,placement:placement,modifiers:[{name:"followCursor",enabled:followCursor,phase:"main",fn:function fn(data){_this2.popperOffset=data.state.rects.popper}}].concat(modifiers)},restProps),(function(_ref3){var ref=_ref3.ref,style=_ref3.style,placement=_ref3.placement,arrowProps=_ref3.arrowProps,isReferenceHidden=_ref3.isReferenceHidden,update=_ref3.update;if(followCursor&&_this2.popperOffset){var _this2$state=_this2.state,pageX=_this2$state.pageX,pageY=_this2$state.pageY,_this2$popperOffset=_this2.popperOffset,width=_this2$popperOffset.width,height=_this2$popperOffset.height,x=pageX+width>window.pageXOffset+document.body.offsetWidth?pageX-width:pageX,y=pageY+height>window.pageYOffset+document.body.offsetHeight?pageY-height:pageY;style.transform="translate3d("+x+"px, "+y+"px, 0"}return react_default.a.createElement(react_popper_tooltip_Tooltip,Object(esm_extends.a)({arrowProps:arrowProps,closeOnReferenceHidden:closeOnReferenceHidden,isReferenceHidden:isReferenceHidden,placement:placement,update:update,style:style,tooltip:tooltip,trigger:trigger,mutationObserverOptions:mutationObserverOptions},{clearScheduled:_this2.clearScheduled,hideTooltip:_this2.hideTooltip,innerRef:ref}))}));return react_default.a.createElement(Manager,null,react_default.a.createElement(Reference,{innerRef:getTriggerRef},(function(_ref4){var ref=_ref4.ref;return children({getTriggerProps:_this2.getTriggerProps,triggerRef:ref})})),this.getState()&&(usePortal?Object(react_dom.createPortal)(popper,portalContainer):popper))},_proto.isControlled=function isControlled(){return void 0!==this.props.tooltipShown},_proto.getState=function getState(){return this.isControlled()?this.props.tooltipShown:this.state.tooltipShown},_proto.isTriggeredBy=function isTriggeredBy(event){var trigger=this.props.trigger;return trigger===event||Array.isArray(trigger)&&trigger.includes(event)},TooltipTrigger}(react.Component);react_popper_tooltip_TooltipTrigger.defaultProps={closeOnReferenceHidden:!0,defaultTooltipShown:!1,delayHide:0,delayShow:0,followCursor:!1,onVisibilityChange:function noop(){},placement:"right",portalContainer:canUseDOM()?document.body:null,trigger:"hover",usePortal:canUseDOM(),mutationObserverOptions:{childList:!0,subtree:!0},modifiers:[]};var react_popper_tooltip=react_popper_tooltip_TooltipTrigger,memoizerific=(__webpack_require__(79),__webpack_require__(33),__webpack_require__(158),__webpack_require__(24),__webpack_require__(144)),memoizerific_default=__webpack_require__.n(memoizerific),utils=__webpack_require__(104);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var _templateObject,_templateObject2,match=memoizerific_default()(1e3)((function(requests,actual,value){var fallback=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return actual.split("-")[0]===requests?value:fallback})),Arrow=esm.styled.div({position:"absolute",borderStyle:"solid"},(function(_ref){var placement=_ref.placement,x=0,y=0;switch(!0){case placement.startsWith("left")||placement.startsWith("right"):y=8;break;case placement.startsWith("top")||placement.startsWith("bottom"):x=8}return{transform:"translate3d(".concat(x,"px, ").concat(y,"px, 0px)")}}),(function(_ref2){var theme=_ref2.theme,color=_ref2.color,placement=_ref2.placement;return{bottom:"".concat(match("top",placement,-8,"auto"),"px"),top:"".concat(match("bottom",placement,-8,"auto"),"px"),right:"".concat(match("left",placement,-8,"auto"),"px"),left:"".concat(match("right",placement,-8,"auto"),"px"),borderBottomWidth:"".concat(match("top",placement,"0",8),"px"),borderTopWidth:"".concat(match("bottom",placement,"0",8),"px"),borderRightWidth:"".concat(match("left",placement,"0",8),"px"),borderLeftWidth:"".concat(match("right",placement,"0",8),"px"),borderTopColor:match("top",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderBottomColor:match("bottom",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderLeftColor:match("left",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderRightColor:match("right",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent")}})),Wrapper=esm.styled.div((function(_ref3){return{display:_ref3.hidden?"none":"inline-block",zIndex:2147483647}}),(function(_ref4){var theme=_ref4.theme,color=_ref4.color;return _ref4.hasChrome?{background:theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),filter:"\n drop-shadow(0px 5px 5px rgba(0,0,0,0.05))\n drop-shadow(0 1px 3px rgba(0,0,0,0.1))\n ",borderRadius:2*theme.appBorderRadius,fontSize:theme.typography.size.s1}:{}})),Tooltip_Tooltip=function Tooltip(_ref5){var placement=_ref5.placement,hasChrome=_ref5.hasChrome,children=_ref5.children,arrowProps=_ref5.arrowProps,tooltipRef=_ref5.tooltipRef,arrowRef=_ref5.arrowRef,color=_ref5.color,props=_objectWithoutProperties(_ref5,["placement","hasChrome","children","arrowProps","tooltipRef","arrowRef","color"]);return react_default.a.createElement(Wrapper,_extends({hasChrome:hasChrome,placement:placement,ref:tooltipRef},props,{color:color}),hasChrome&&react_default.a.createElement(Arrow,_extends({placement:placement,ref:arrowRef},arrowProps,{color:color})),children)};function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}function _taggedTemplateLiteral(strings,raw){return raw||(raw=strings.slice(0)),Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}))}Tooltip_Tooltip.displayName="Tooltip",Tooltip_Tooltip.defaultProps={color:void 0,arrowRef:void 0,tooltipRef:void 0,hasChrome:!0,placement:"top",arrowProps:{}};var WithTooltip_document=window_default.a.document,TargetContainer=esm.styled.div(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n display: inline-block;\n cursor: ",";\n"])),(function(props){return"hover"===props.mode?"default":"pointer"})),TargetSvgContainer=esm.styled.g(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n cursor: ",";\n"])),(function(props){return"hover"===props.mode?"default":"pointer"})),WithTooltip_WithTooltipPure=function WithTooltipPure(_ref){var svg=_ref.svg,trigger=_ref.trigger,placement=(_ref.closeOnClick,_ref.placement),modifiers=_ref.modifiers,hasChrome=_ref.hasChrome,_tooltip=_ref.tooltip,children=_ref.children,tooltipShown=_ref.tooltipShown,onVisibilityChange=_ref.onVisibilityChange,props=WithTooltip_objectWithoutProperties(_ref,["svg","trigger","closeOnClick","placement","modifiers","hasChrome","tooltip","children","tooltipShown","onVisibilityChange"]),Container=svg?TargetSvgContainer:TargetContainer;return react_default.a.createElement(react_popper_tooltip,{placement:placement,trigger:trigger,modifiers:modifiers,tooltipShown:tooltipShown,onVisibilityChange:onVisibilityChange,tooltip:function tooltip(_ref2){var getTooltipProps=_ref2.getTooltipProps,getArrowProps=_ref2.getArrowProps,tooltipRef=_ref2.tooltipRef,arrowRef=_ref2.arrowRef,tooltipPlacement=_ref2.placement;return react_default.a.createElement(Tooltip_Tooltip,WithTooltip_extends({hasChrome:hasChrome,placement:tooltipPlacement,tooltipRef:tooltipRef,arrowRef:arrowRef,arrowProps:getArrowProps()},getTooltipProps()),"function"==typeof _tooltip?_tooltip({onHide:function onHide(){return onVisibilityChange(!1)}}):_tooltip)}},(function(_ref3){var getTriggerProps=_ref3.getTriggerProps,triggerRef=_ref3.triggerRef;return react_default.a.createElement(Container,WithTooltip_extends({ref:triggerRef},getTriggerProps(),props),children)}))};WithTooltip_WithTooltipPure.displayName="WithTooltipPure",WithTooltip_WithTooltipPure.defaultProps={svg:!1,trigger:"hover",closeOnClick:!1,placement:"top",modifiers:[{name:"preventOverflow",options:{padding:8}},{name:"offset",options:{offset:[8,8]}},{name:"arrow",options:{padding:8}}],hasChrome:!0,tooltipShown:!1};var WithTooltip_WithToolTipState=function WithToolTipState(_ref4){var startOpen=_ref4.startOpen,onChange=_ref4.onVisibilityChange,rest=WithTooltip_objectWithoutProperties(_ref4,["startOpen","onVisibilityChange"]),_useState2=_slicedToArray(Object(react.useState)(startOpen||!1),2),tooltipShown=_useState2[0],setTooltipShown=_useState2[1],onVisibilityChange=Object(react.useCallback)((function(visibility){onChange&&!1===onChange(visibility)||setTooltipShown(visibility)}),[onChange]);return Object(react.useEffect)((function(){var hide=function hide(){return onVisibilityChange(!1)};WithTooltip_document.addEventListener("keydown",hide,!1);var iframes=Array.from(WithTooltip_document.getElementsByTagName("iframe")),unbinders=[];return iframes.forEach((function(iframe){var bind=function bind(){try{iframe.contentWindow.document&&(iframe.contentWindow.document.addEventListener("click",hide),unbinders.push((function(){try{iframe.contentWindow.document.removeEventListener("click",hide)}catch(e){}})))}catch(e){}};bind(),iframe.addEventListener("load",bind),unbinders.push((function(){iframe.removeEventListener("load",bind)}))})),function(){WithTooltip_document.removeEventListener("keydown",hide),unbinders.forEach((function(unbind){unbind()}))}})),react_default.a.createElement(WithTooltip_WithTooltipPure,WithTooltip_extends({},rest,{tooltipShown:tooltipShown,onVisibilityChange:onVisibilityChange}))};WithTooltip_WithToolTipState.displayName="WithToolTipState"},975:function(module,exports){var hasElementType="undefined"!=typeof Element,hasMap="function"==typeof Map,hasSet="function"==typeof Set,hasArrayBuffer="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function equal(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var length,i,keys,it;if(Array.isArray(a)){if((length=a.length)!=b.length)return!1;for(i=length;0!=i--;)if(!equal(a[i],b[i]))return!1;return!0}if(hasMap&&a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(it=a.entries();!(i=it.next()).done;)if(!b.has(i.value[0]))return!1;for(it=a.entries();!(i=it.next()).done;)if(!equal(i.value[1],b.get(i.value[0])))return!1;return!0}if(hasSet&&a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(it=a.entries();!(i=it.next()).done;)if(!b.has(i.value[0]))return!1;return!0}if(hasArrayBuffer&&ArrayBuffer.isView(a)&&ArrayBuffer.isView(b)){if((length=a.length)!=b.length)return!1;for(i=length;0!=i--;)if(a[i]!==b[i])return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();if((length=(keys=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(i=length;0!=i--;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return!1;if(hasElementType&&a instanceof Element)return!1;for(i=length;0!=i--;)if(("_owner"!==keys[i]&&"__v"!==keys[i]&&"__o"!==keys[i]||!a.$$typeof)&&!equal(a[keys[i]],b[keys[i]]))return!1;return!0}return a!=a&&b!=b}module.exports=function isEqual(a,b){try{return equal(a,b)}catch(error){if((error.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw error}}},976:function(module,exports,__webpack_require__){"use strict";var warning=function(){};module.exports=warning}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{505:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"WithTooltipPure",(function(){return WithTooltip_WithTooltipPure})),__webpack_require__.d(__webpack_exports__,"WithToolTipState",(function(){return WithTooltip_WithToolTipState})),__webpack_require__.d(__webpack_exports__,"WithTooltip",(function(){return WithTooltip_WithToolTipState}));__webpack_require__(14),__webpack_require__(42),__webpack_require__(26),__webpack_require__(8),__webpack_require__(20),__webpack_require__(12),__webpack_require__(11),__webpack_require__(22),__webpack_require__(13),__webpack_require__(15),__webpack_require__(10),__webpack_require__(27),__webpack_require__(16),__webpack_require__(46);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),esm=__webpack_require__(2),global_window=__webpack_require__(18),window_default=__webpack_require__.n(global_window),objectWithoutPropertiesLoose=__webpack_require__(227),esm_extends=__webpack_require__(17),inheritsLoose=__webpack_require__(226),react_dom=__webpack_require__(86),ManagerReferenceNodeContext=react.createContext(),ManagerReferenceNodeSetterContext=react.createContext();function Manager(_ref){var children=_ref.children,_React$useState=react.useState(null),referenceNode=_React$useState[0],setReferenceNode=_React$useState[1],hasUnmounted=react.useRef(!1);react.useEffect((function(){return function(){hasUnmounted.current=!0}}),[]);var handleSetReferenceNode=react.useCallback((function(node){hasUnmounted.current||setReferenceNode(node)}),[]);return react.createElement(ManagerReferenceNodeContext.Provider,{value:referenceNode},react.createElement(ManagerReferenceNodeSetterContext.Provider,{value:handleSetReferenceNode},children))}var unwrapArray=function unwrapArray(arg){return Array.isArray(arg)?arg[0]:arg},safeInvoke=function safeInvoke(fn){if("function"==typeof fn){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)args[_key-1]=arguments[_key];return fn.apply(void 0,args)}},setRef=function setRef(ref,node){if("function"==typeof ref)return safeInvoke(ref,node);null!=ref&&(ref.current=node)},fromEntries=function fromEntries(entries){return entries.reduce((function(acc,_ref){var key=_ref[0],value=_ref[1];return acc[key]=value,acc}),{})},useIsomorphicLayoutEffect="undefined"!=typeof window&&window.document&&window.document.createElement?react.useLayoutEffect:react.useEffect;function getWindow(node){if(null==node)return window;if("[object Window]"!==node.toString()){var ownerDocument=node.ownerDocument;return ownerDocument&&ownerDocument.defaultView||window}return node}function isElement(node){return node instanceof getWindow(node).Element||node instanceof Element}function isHTMLElement(node){return node instanceof getWindow(node).HTMLElement||node instanceof HTMLElement}function isShadowRoot(node){return"undefined"!=typeof ShadowRoot&&(node instanceof getWindow(node).ShadowRoot||node instanceof ShadowRoot)}var round=Math.round;function getBoundingClientRect(element,includeScale){void 0===includeScale&&(includeScale=!1);var rect=element.getBoundingClientRect(),scaleX=1,scaleY=1;return isHTMLElement(element)&&includeScale&&(scaleX=rect.width/element.offsetWidth||1,scaleY=rect.height/element.offsetHeight||1),{width:round(rect.width/scaleX),height:round(rect.height/scaleY),top:round(rect.top/scaleY),right:round(rect.right/scaleX),bottom:round(rect.bottom/scaleY),left:round(rect.left/scaleX),x:round(rect.left/scaleX),y:round(rect.top/scaleY)}}function getWindowScroll(node){var win=getWindow(node);return{scrollLeft:win.pageXOffset,scrollTop:win.pageYOffset}}function getNodeName(element){return element?(element.nodeName||"").toLowerCase():null}function getDocumentElement(element){return((isElement(element)?element.ownerDocument:element.document)||window.document).documentElement}function getWindowScrollBarX(element){return getBoundingClientRect(getDocumentElement(element)).left+getWindowScroll(element).scrollLeft}function getComputedStyle(element){return getWindow(element).getComputedStyle(element)}function isScrollParent(element){var _getComputedStyle=getComputedStyle(element),overflow=_getComputedStyle.overflow,overflowX=_getComputedStyle.overflowX,overflowY=_getComputedStyle.overflowY;return/auto|scroll|overlay|hidden/.test(overflow+overflowY+overflowX)}function getCompositeRect(elementOrVirtualElement,offsetParent,isFixed){void 0===isFixed&&(isFixed=!1);var isOffsetParentAnElement=isHTMLElement(offsetParent),offsetParentIsScaled=isHTMLElement(offsetParent)&&function isElementScaled(element){var rect=element.getBoundingClientRect(),scaleX=rect.width/element.offsetWidth||1,scaleY=rect.height/element.offsetHeight||1;return 1!==scaleX||1!==scaleY}(offsetParent),documentElement=getDocumentElement(offsetParent),rect=getBoundingClientRect(elementOrVirtualElement,offsetParentIsScaled),scroll={scrollLeft:0,scrollTop:0},offsets={x:0,y:0};return(isOffsetParentAnElement||!isOffsetParentAnElement&&!isFixed)&&(("body"!==getNodeName(offsetParent)||isScrollParent(documentElement))&&(scroll=function getNodeScroll(node){return node!==getWindow(node)&&isHTMLElement(node)?function getHTMLElementScroll(element){return{scrollLeft:element.scrollLeft,scrollTop:element.scrollTop}}(node):getWindowScroll(node)}(offsetParent)),isHTMLElement(offsetParent)?((offsets=getBoundingClientRect(offsetParent,!0)).x+=offsetParent.clientLeft,offsets.y+=offsetParent.clientTop):documentElement&&(offsets.x=getWindowScrollBarX(documentElement))),{x:rect.left+scroll.scrollLeft-offsets.x,y:rect.top+scroll.scrollTop-offsets.y,width:rect.width,height:rect.height}}function getLayoutRect(element){var clientRect=getBoundingClientRect(element),width=element.offsetWidth,height=element.offsetHeight;return Math.abs(clientRect.width-width)<=1&&(width=clientRect.width),Math.abs(clientRect.height-height)<=1&&(height=clientRect.height),{x:element.offsetLeft,y:element.offsetTop,width:width,height:height}}function getParentNode(element){return"html"===getNodeName(element)?element:element.assignedSlot||element.parentNode||(isShadowRoot(element)?element.host:null)||getDocumentElement(element)}function getScrollParent(node){return["html","body","#document"].indexOf(getNodeName(node))>=0?node.ownerDocument.body:isHTMLElement(node)&&isScrollParent(node)?node:getScrollParent(getParentNode(node))}function listScrollParents(element,list){var _element$ownerDocumen;void 0===list&&(list=[]);var scrollParent=getScrollParent(element),isBody=scrollParent===(null==(_element$ownerDocumen=element.ownerDocument)?void 0:_element$ownerDocumen.body),win=getWindow(scrollParent),target=isBody?[win].concat(win.visualViewport||[],isScrollParent(scrollParent)?scrollParent:[]):scrollParent,updatedList=list.concat(target);return isBody?updatedList:updatedList.concat(listScrollParents(getParentNode(target)))}function isTableElement(element){return["table","td","th"].indexOf(getNodeName(element))>=0}function getTrueOffsetParent(element){return isHTMLElement(element)&&"fixed"!==getComputedStyle(element).position?element.offsetParent:null}function getOffsetParent(element){for(var window=getWindow(element),offsetParent=getTrueOffsetParent(element);offsetParent&&isTableElement(offsetParent)&&"static"===getComputedStyle(offsetParent).position;)offsetParent=getTrueOffsetParent(offsetParent);return offsetParent&&("html"===getNodeName(offsetParent)||"body"===getNodeName(offsetParent)&&"static"===getComputedStyle(offsetParent).position)?window:offsetParent||function getContainingBlock(element){var isFirefox=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&isHTMLElement(element)&&"fixed"===getComputedStyle(element).position)return null;for(var currentNode=getParentNode(element);isHTMLElement(currentNode)&&["html","body"].indexOf(getNodeName(currentNode))<0;){var css=getComputedStyle(currentNode);if("none"!==css.transform||"none"!==css.perspective||"paint"===css.contain||-1!==["transform","perspective"].indexOf(css.willChange)||isFirefox&&"filter"===css.willChange||isFirefox&&css.filter&&"none"!==css.filter)return currentNode;currentNode=currentNode.parentNode}return null}(element)||window}var enums_top="top",bottom="bottom",right="right",left="left",basePlacements=[enums_top,bottom,right,left],variationPlacements=basePlacements.reduce((function(acc,placement){return acc.concat([placement+"-start",placement+"-end"])}),[]),enums_placements=[].concat(basePlacements,["auto"]).reduce((function(acc,placement){return acc.concat([placement,placement+"-start",placement+"-end"])}),[]),modifierPhases=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function order(modifiers){var map=new Map,visited=new Set,result=[];function sort(modifier){visited.add(modifier.name),[].concat(modifier.requires||[],modifier.requiresIfExists||[]).forEach((function(dep){if(!visited.has(dep)){var depModifier=map.get(dep);depModifier&&sort(depModifier)}})),result.push(modifier)}return modifiers.forEach((function(modifier){map.set(modifier.name,modifier)})),modifiers.forEach((function(modifier){visited.has(modifier.name)||sort(modifier)})),result}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return!args.some((function(element){return!(element&&"function"==typeof element.getBoundingClientRect)}))}function popperGenerator(generatorOptions){void 0===generatorOptions&&(generatorOptions={});var _generatorOptions=generatorOptions,_generatorOptions$def=_generatorOptions.defaultModifiers,defaultModifiers=void 0===_generatorOptions$def?[]:_generatorOptions$def,_generatorOptions$def2=_generatorOptions.defaultOptions,defaultOptions=void 0===_generatorOptions$def2?DEFAULT_OPTIONS:_generatorOptions$def2;return function createPopper(reference,popper,options){void 0===options&&(options=defaultOptions);var fn,pending,state={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,defaultOptions),modifiersData:{},elements:{reference:reference,popper:popper},attributes:{},styles:{}},effectCleanupFns=[],isDestroyed=!1,instance={state:state,setOptions:function setOptions(options){cleanupModifierEffects(),state.options=Object.assign({},defaultOptions,state.options,options),state.scrollParents={reference:isElement(reference)?listScrollParents(reference):reference.contextElement?listScrollParents(reference.contextElement):[],popper:listScrollParents(popper)};var orderedModifiers=function orderModifiers(modifiers){var orderedModifiers=order(modifiers);return modifierPhases.reduce((function(acc,phase){return acc.concat(orderedModifiers.filter((function(modifier){return modifier.phase===phase})))}),[])}(function mergeByName(modifiers){var merged=modifiers.reduce((function(merged,current){var existing=merged[current.name];return merged[current.name]=existing?Object.assign({},existing,current,{options:Object.assign({},existing.options,current.options),data:Object.assign({},existing.data,current.data)}):current,merged}),{});return Object.keys(merged).map((function(key){return merged[key]}))}([].concat(defaultModifiers,state.options.modifiers)));return state.orderedModifiers=orderedModifiers.filter((function(m){return m.enabled})),function runModifierEffects(){state.orderedModifiers.forEach((function(_ref3){var name=_ref3.name,_ref3$options=_ref3.options,options=void 0===_ref3$options?{}:_ref3$options,effect=_ref3.effect;if("function"==typeof effect){var cleanupFn=effect({state:state,name:name,instance:instance,options:options}),noopFn=function noopFn(){};effectCleanupFns.push(cleanupFn||noopFn)}}))}(),instance.update()},forceUpdate:function forceUpdate(){if(!isDestroyed){var _state$elements=state.elements,reference=_state$elements.reference,popper=_state$elements.popper;if(areValidElements(reference,popper)){state.rects={reference:getCompositeRect(reference,getOffsetParent(popper),"fixed"===state.options.strategy),popper:getLayoutRect(popper)},state.reset=!1,state.placement=state.options.placement,state.orderedModifiers.forEach((function(modifier){return state.modifiersData[modifier.name]=Object.assign({},modifier.data)}));for(var index=0;index=0?"x":"y"}function computeOffsets(_ref){var offsets,reference=_ref.reference,element=_ref.element,placement=_ref.placement,basePlacement=placement?getBasePlacement(placement):null,variation=placement?getVariation(placement):null,commonX=reference.x+reference.width/2-element.width/2,commonY=reference.y+reference.height/2-element.height/2;switch(basePlacement){case enums_top:offsets={x:commonX,y:reference.y-element.height};break;case bottom:offsets={x:commonX,y:reference.y+reference.height};break;case right:offsets={x:reference.x+reference.width,y:commonY};break;case left:offsets={x:reference.x-element.width,y:commonY};break;default:offsets={x:reference.x,y:reference.y}}var mainAxis=basePlacement?getMainAxisFromPlacement(basePlacement):null;if(null!=mainAxis){var len="y"===mainAxis?"height":"width";switch(variation){case"start":offsets[mainAxis]=offsets[mainAxis]-(reference[len]/2-element[len]/2);break;case"end":offsets[mainAxis]=offsets[mainAxis]+(reference[len]/2-element[len]/2)}}return offsets}var modifiers_popperOffsets={name:"popperOffsets",enabled:!0,phase:"read",fn:function popperOffsets_popperOffsets(_ref){var state=_ref.state,name=_ref.name;state.modifiersData[name]=computeOffsets({reference:state.rects.reference,element:state.rects.popper,strategy:"absolute",placement:state.placement})},data:{}},math_max=Math.max,math_min=Math.min,math_round=Math.round,unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function mapToStyles(_ref2){var _Object$assign2,popper=_ref2.popper,popperRect=_ref2.popperRect,placement=_ref2.placement,offsets=_ref2.offsets,position=_ref2.position,gpuAcceleration=_ref2.gpuAcceleration,adaptive=_ref2.adaptive,roundOffsets=_ref2.roundOffsets,_ref3=!0===roundOffsets?function roundOffsetsByDPR(_ref){var x=_ref.x,y=_ref.y,dpr=window.devicePixelRatio||1;return{x:math_round(math_round(x*dpr)/dpr)||0,y:math_round(math_round(y*dpr)/dpr)||0}}(offsets):"function"==typeof roundOffsets?roundOffsets(offsets):offsets,_ref3$x=_ref3.x,x=void 0===_ref3$x?0:_ref3$x,_ref3$y=_ref3.y,y=void 0===_ref3$y?0:_ref3$y,hasX=offsets.hasOwnProperty("x"),hasY=offsets.hasOwnProperty("y"),sideX=left,sideY=enums_top,win=window;if(adaptive){var offsetParent=getOffsetParent(popper),heightProp="clientHeight",widthProp="clientWidth";offsetParent===getWindow(popper)&&"static"!==getComputedStyle(offsetParent=getDocumentElement(popper)).position&&(heightProp="scrollHeight",widthProp="scrollWidth"),offsetParent=offsetParent,placement===enums_top&&(sideY=bottom,y-=offsetParent[heightProp]-popperRect.height,y*=gpuAcceleration?1:-1),placement===left&&(sideX=right,x-=offsetParent[widthProp]-popperRect.width,x*=gpuAcceleration?1:-1)}var _Object$assign,commonStyles=Object.assign({position:position},adaptive&&unsetSides);return gpuAcceleration?Object.assign({},commonStyles,((_Object$assign={})[sideY]=hasY?"0":"",_Object$assign[sideX]=hasX?"0":"",_Object$assign.transform=(win.devicePixelRatio||1)<2?"translate("+x+"px, "+y+"px)":"translate3d("+x+"px, "+y+"px, 0)",_Object$assign)):Object.assign({},commonStyles,((_Object$assign2={})[sideY]=hasY?y+"px":"",_Object$assign2[sideX]=hasX?x+"px":"",_Object$assign2.transform="",_Object$assign2))}var hash={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(placement){return placement.replace(/left|right|bottom|top/g,(function(matched){return hash[matched]}))}var getOppositeVariationPlacement_hash={start:"end",end:"start"};function getOppositeVariationPlacement(placement){return placement.replace(/start|end/g,(function(matched){return getOppositeVariationPlacement_hash[matched]}))}function contains(parent,child){var rootNode=child.getRootNode&&child.getRootNode();if(parent.contains(child))return!0;if(rootNode&&isShadowRoot(rootNode)){var next=child;do{if(next&&parent.isSameNode(next))return!0;next=next.parentNode||next.host}while(next)}return!1}function rectToClientRect(rect){return Object.assign({},rect,{left:rect.x,top:rect.y,right:rect.x+rect.width,bottom:rect.y+rect.height})}function getClientRectFromMixedType(element,clippingParent){return"viewport"===clippingParent?rectToClientRect(function getViewportRect(element){var win=getWindow(element),html=getDocumentElement(element),visualViewport=win.visualViewport,width=html.clientWidth,height=html.clientHeight,x=0,y=0;return visualViewport&&(width=visualViewport.width,height=visualViewport.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(x=visualViewport.offsetLeft,y=visualViewport.offsetTop)),{width:width,height:height,x:x+getWindowScrollBarX(element),y:y}}(element)):isHTMLElement(clippingParent)?function getInnerBoundingClientRect(element){var rect=getBoundingClientRect(element);return rect.top=rect.top+element.clientTop,rect.left=rect.left+element.clientLeft,rect.bottom=rect.top+element.clientHeight,rect.right=rect.left+element.clientWidth,rect.width=element.clientWidth,rect.height=element.clientHeight,rect.x=rect.left,rect.y=rect.top,rect}(clippingParent):rectToClientRect(function getDocumentRect(element){var _element$ownerDocumen,html=getDocumentElement(element),winScroll=getWindowScroll(element),body=null==(_element$ownerDocumen=element.ownerDocument)?void 0:_element$ownerDocumen.body,width=math_max(html.scrollWidth,html.clientWidth,body?body.scrollWidth:0,body?body.clientWidth:0),height=math_max(html.scrollHeight,html.clientHeight,body?body.scrollHeight:0,body?body.clientHeight:0),x=-winScroll.scrollLeft+getWindowScrollBarX(element),y=-winScroll.scrollTop;return"rtl"===getComputedStyle(body||html).direction&&(x+=math_max(html.clientWidth,body?body.clientWidth:0)-width),{width:width,height:height,x:x,y:y}}(getDocumentElement(element)))}function getClippingRect(element,boundary,rootBoundary){var mainClippingParents="clippingParents"===boundary?function getClippingParents(element){var clippingParents=listScrollParents(getParentNode(element)),clipperElement=["absolute","fixed"].indexOf(getComputedStyle(element).position)>=0&&isHTMLElement(element)?getOffsetParent(element):element;return isElement(clipperElement)?clippingParents.filter((function(clippingParent){return isElement(clippingParent)&&contains(clippingParent,clipperElement)&&"body"!==getNodeName(clippingParent)})):[]}(element):[].concat(boundary),clippingParents=[].concat(mainClippingParents,[rootBoundary]),firstClippingParent=clippingParents[0],clippingRect=clippingParents.reduce((function(accRect,clippingParent){var rect=getClientRectFromMixedType(element,clippingParent);return accRect.top=math_max(rect.top,accRect.top),accRect.right=math_min(rect.right,accRect.right),accRect.bottom=math_min(rect.bottom,accRect.bottom),accRect.left=math_max(rect.left,accRect.left),accRect}),getClientRectFromMixedType(element,firstClippingParent));return clippingRect.width=clippingRect.right-clippingRect.left,clippingRect.height=clippingRect.bottom-clippingRect.top,clippingRect.x=clippingRect.left,clippingRect.y=clippingRect.top,clippingRect}function mergePaddingObject(paddingObject){return Object.assign({},{top:0,right:0,bottom:0,left:0},paddingObject)}function expandToHashMap(value,keys){return keys.reduce((function(hashMap,key){return hashMap[key]=value,hashMap}),{})}function detectOverflow(state,options){void 0===options&&(options={});var _options=options,_options$placement=_options.placement,placement=void 0===_options$placement?state.placement:_options$placement,_options$boundary=_options.boundary,boundary=void 0===_options$boundary?"clippingParents":_options$boundary,_options$rootBoundary=_options.rootBoundary,rootBoundary=void 0===_options$rootBoundary?"viewport":_options$rootBoundary,_options$elementConte=_options.elementContext,elementContext=void 0===_options$elementConte?"popper":_options$elementConte,_options$altBoundary=_options.altBoundary,altBoundary=void 0!==_options$altBoundary&&_options$altBoundary,_options$padding=_options.padding,padding=void 0===_options$padding?0:_options$padding,paddingObject=mergePaddingObject("number"!=typeof padding?padding:expandToHashMap(padding,basePlacements)),altContext="popper"===elementContext?"reference":"popper",referenceElement=state.elements.reference,popperRect=state.rects.popper,element=state.elements[altBoundary?altContext:elementContext],clippingClientRect=getClippingRect(isElement(element)?element:element.contextElement||getDocumentElement(state.elements.popper),boundary,rootBoundary),referenceClientRect=getBoundingClientRect(referenceElement),popperOffsets=computeOffsets({reference:referenceClientRect,element:popperRect,strategy:"absolute",placement:placement}),popperClientRect=rectToClientRect(Object.assign({},popperRect,popperOffsets)),elementClientRect="popper"===elementContext?popperClientRect:referenceClientRect,overflowOffsets={top:clippingClientRect.top-elementClientRect.top+paddingObject.top,bottom:elementClientRect.bottom-clippingClientRect.bottom+paddingObject.bottom,left:clippingClientRect.left-elementClientRect.left+paddingObject.left,right:elementClientRect.right-clippingClientRect.right+paddingObject.right},offsetData=state.modifiersData.offset;if("popper"===elementContext&&offsetData){var offset=offsetData[placement];Object.keys(overflowOffsets).forEach((function(key){var multiply=[right,bottom].indexOf(key)>=0?1:-1,axis=[enums_top,bottom].indexOf(key)>=0?"y":"x";overflowOffsets[key]+=offset[axis]*multiply}))}return overflowOffsets}function within(min,value,max){return math_max(min,math_min(value,max))}function getSideOffsets(overflow,rect,preventedOffsets){return void 0===preventedOffsets&&(preventedOffsets={x:0,y:0}),{top:overflow.top-rect.height-preventedOffsets.y,right:overflow.right-rect.width+preventedOffsets.x,bottom:overflow.bottom-rect.height+preventedOffsets.y,left:overflow.left-rect.width-preventedOffsets.x}}function isAnySideFullyClipped(overflow){return[enums_top,right,bottom,left].some((function(side){return overflow[side]>=0}))}var popper_createPopper=popperGenerator({defaultModifiers:[eventListeners,modifiers_popperOffsets,{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function computeStyles(_ref4){var state=_ref4.state,options=_ref4.options,_options$gpuAccelerat=options.gpuAcceleration,gpuAcceleration=void 0===_options$gpuAccelerat||_options$gpuAccelerat,_options$adaptive=options.adaptive,adaptive=void 0===_options$adaptive||_options$adaptive,_options$roundOffsets=options.roundOffsets,roundOffsets=void 0===_options$roundOffsets||_options$roundOffsets,commonStyles={placement:getBasePlacement(state.placement),popper:state.elements.popper,popperRect:state.rects.popper,gpuAcceleration:gpuAcceleration};null!=state.modifiersData.popperOffsets&&(state.styles.popper=Object.assign({},state.styles.popper,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.popperOffsets,position:state.options.strategy,adaptive:adaptive,roundOffsets:roundOffsets})))),null!=state.modifiersData.arrow&&(state.styles.arrow=Object.assign({},state.styles.arrow,mapToStyles(Object.assign({},commonStyles,{offsets:state.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:roundOffsets})))),state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-placement":state.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function applyStyles(_ref){var state=_ref.state;Object.keys(state.elements).forEach((function(name){var style=state.styles[name]||{},attributes=state.attributes[name]||{},element=state.elements[name];isHTMLElement(element)&&getNodeName(element)&&(Object.assign(element.style,style),Object.keys(attributes).forEach((function(name){var value=attributes[name];!1===value?element.removeAttribute(name):element.setAttribute(name,!0===value?"":value)})))}))},effect:function applyStyles_effect(_ref2){var state=_ref2.state,initialStyles={popper:{position:state.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(state.elements.popper.style,initialStyles.popper),state.styles=initialStyles,state.elements.arrow&&Object.assign(state.elements.arrow.style,initialStyles.arrow),function(){Object.keys(state.elements).forEach((function(name){var element=state.elements[name],attributes=state.attributes[name]||{},style=Object.keys(state.styles.hasOwnProperty(name)?state.styles[name]:initialStyles[name]).reduce((function(style,property){return style[property]="",style}),{});isHTMLElement(element)&&getNodeName(element)&&(Object.assign(element.style,style),Object.keys(attributes).forEach((function(attribute){element.removeAttribute(attribute)})))}))}},requires:["computeStyles"]},{name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function offset_offset(_ref2){var state=_ref2.state,options=_ref2.options,name=_ref2.name,_options$offset=options.offset,offset=void 0===_options$offset?[0,0]:_options$offset,data=enums_placements.reduce((function(acc,placement){return acc[placement]=function distanceAndSkiddingToXY(placement,rects,offset){var basePlacement=getBasePlacement(placement),invertDistance=[left,enums_top].indexOf(basePlacement)>=0?-1:1,_ref="function"==typeof offset?offset(Object.assign({},rects,{placement:placement})):offset,skidding=_ref[0],distance=_ref[1];return skidding=skidding||0,distance=(distance||0)*invertDistance,[left,right].indexOf(basePlacement)>=0?{x:distance,y:skidding}:{x:skidding,y:distance}}(placement,state.rects,offset),acc}),{}),_data$state$placement=data[state.placement],x=_data$state$placement.x,y=_data$state$placement.y;null!=state.modifiersData.popperOffsets&&(state.modifiersData.popperOffsets.x+=x,state.modifiersData.popperOffsets.y+=y),state.modifiersData[name]=data}},{name:"flip",enabled:!0,phase:"main",fn:function flip(_ref){var state=_ref.state,options=_ref.options,name=_ref.name;if(!state.modifiersData[name]._skip){for(var _options$mainAxis=options.mainAxis,checkMainAxis=void 0===_options$mainAxis||_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=void 0===_options$altAxis||_options$altAxis,specifiedFallbackPlacements=options.fallbackPlacements,padding=options.padding,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,_options$flipVariatio=options.flipVariations,flipVariations=void 0===_options$flipVariatio||_options$flipVariatio,allowedAutoPlacements=options.allowedAutoPlacements,preferredPlacement=state.options.placement,basePlacement=getBasePlacement(preferredPlacement),fallbackPlacements=specifiedFallbackPlacements||(basePlacement===preferredPlacement||!flipVariations?[getOppositePlacement(preferredPlacement)]:function getExpandedFallbackPlacements(placement){if("auto"===getBasePlacement(placement))return[];var oppositePlacement=getOppositePlacement(placement);return[getOppositeVariationPlacement(placement),oppositePlacement,getOppositeVariationPlacement(oppositePlacement)]}(preferredPlacement)),placements=[preferredPlacement].concat(fallbackPlacements).reduce((function(acc,placement){return acc.concat("auto"===getBasePlacement(placement)?function computeAutoPlacement(state,options){void 0===options&&(options={});var _options=options,placement=_options.placement,boundary=_options.boundary,rootBoundary=_options.rootBoundary,padding=_options.padding,flipVariations=_options.flipVariations,_options$allowedAutoP=_options.allowedAutoPlacements,allowedAutoPlacements=void 0===_options$allowedAutoP?enums_placements:_options$allowedAutoP,variation=getVariation(placement),placements=variation?flipVariations?variationPlacements:variationPlacements.filter((function(placement){return getVariation(placement)===variation})):basePlacements,allowedPlacements=placements.filter((function(placement){return allowedAutoPlacements.indexOf(placement)>=0}));0===allowedPlacements.length&&(allowedPlacements=placements);var overflows=allowedPlacements.reduce((function(acc,placement){return acc[placement]=detectOverflow(state,{placement:placement,boundary:boundary,rootBoundary:rootBoundary,padding:padding})[getBasePlacement(placement)],acc}),{});return Object.keys(overflows).sort((function(a,b){return overflows[a]-overflows[b]}))}(state,{placement:placement,boundary:boundary,rootBoundary:rootBoundary,padding:padding,flipVariations:flipVariations,allowedAutoPlacements:allowedAutoPlacements}):placement)}),[]),referenceRect=state.rects.reference,popperRect=state.rects.popper,checksMap=new Map,makeFallbackChecks=!0,firstFittingPlacement=placements[0],i=0;i=0,len=isVertical?"width":"height",overflow=detectOverflow(state,{placement:placement,boundary:boundary,rootBoundary:rootBoundary,altBoundary:altBoundary,padding:padding}),mainVariationSide=isVertical?isStartVariation?right:left:isStartVariation?bottom:enums_top;referenceRect[len]>popperRect[len]&&(mainVariationSide=getOppositePlacement(mainVariationSide));var altVariationSide=getOppositePlacement(mainVariationSide),checks=[];if(checkMainAxis&&checks.push(overflow[_basePlacement]<=0),checkAltAxis&&checks.push(overflow[mainVariationSide]<=0,overflow[altVariationSide]<=0),checks.every((function(check){return check}))){firstFittingPlacement=placement,makeFallbackChecks=!1;break}checksMap.set(placement,checks)}if(makeFallbackChecks)for(var _loop=function _loop(_i){var fittingPlacement=placements.find((function(placement){var checks=checksMap.get(placement);if(checks)return checks.slice(0,_i).every((function(check){return check}))}));if(fittingPlacement)return firstFittingPlacement=fittingPlacement,"break"},_i=flipVariations?3:1;_i>0;_i--){if("break"===_loop(_i))break}state.placement!==firstFittingPlacement&&(state.modifiersData[name]._skip=!0,state.placement=firstFittingPlacement,state.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},{name:"preventOverflow",enabled:!0,phase:"main",fn:function preventOverflow(_ref){var state=_ref.state,options=_ref.options,name=_ref.name,_options$mainAxis=options.mainAxis,checkMainAxis=void 0===_options$mainAxis||_options$mainAxis,_options$altAxis=options.altAxis,checkAltAxis=void 0!==_options$altAxis&&_options$altAxis,boundary=options.boundary,rootBoundary=options.rootBoundary,altBoundary=options.altBoundary,padding=options.padding,_options$tether=options.tether,tether=void 0===_options$tether||_options$tether,_options$tetherOffset=options.tetherOffset,tetherOffset=void 0===_options$tetherOffset?0:_options$tetherOffset,overflow=detectOverflow(state,{boundary:boundary,rootBoundary:rootBoundary,padding:padding,altBoundary:altBoundary}),basePlacement=getBasePlacement(state.placement),variation=getVariation(state.placement),isBasePlacement=!variation,mainAxis=getMainAxisFromPlacement(basePlacement),altAxis=function getAltAxis(axis){return"x"===axis?"y":"x"}(mainAxis),popperOffsets=state.modifiersData.popperOffsets,referenceRect=state.rects.reference,popperRect=state.rects.popper,tetherOffsetValue="function"==typeof tetherOffset?tetherOffset(Object.assign({},state.rects,{placement:state.placement})):tetherOffset,data={x:0,y:0};if(popperOffsets){if(checkMainAxis||checkAltAxis){var mainSide="y"===mainAxis?enums_top:left,altSide="y"===mainAxis?bottom:right,len="y"===mainAxis?"height":"width",offset=popperOffsets[mainAxis],min=popperOffsets[mainAxis]+overflow[mainSide],max=popperOffsets[mainAxis]-overflow[altSide],additive=tether?-popperRect[len]/2:0,minLen="start"===variation?referenceRect[len]:popperRect[len],maxLen="start"===variation?-popperRect[len]:-referenceRect[len],arrowElement=state.elements.arrow,arrowRect=tether&&arrowElement?getLayoutRect(arrowElement):{width:0,height:0},arrowPaddingObject=state.modifiersData["arrow#persistent"]?state.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},arrowPaddingMin=arrowPaddingObject[mainSide],arrowPaddingMax=arrowPaddingObject[altSide],arrowLen=within(0,referenceRect[len],arrowRect[len]),minOffset=isBasePlacement?referenceRect[len]/2-additive-arrowLen-arrowPaddingMin-tetherOffsetValue:minLen-arrowLen-arrowPaddingMin-tetherOffsetValue,maxOffset=isBasePlacement?-referenceRect[len]/2+additive+arrowLen+arrowPaddingMax+tetherOffsetValue:maxLen+arrowLen+arrowPaddingMax+tetherOffsetValue,arrowOffsetParent=state.elements.arrow&&getOffsetParent(state.elements.arrow),clientOffset=arrowOffsetParent?"y"===mainAxis?arrowOffsetParent.clientTop||0:arrowOffsetParent.clientLeft||0:0,offsetModifierValue=state.modifiersData.offset?state.modifiersData.offset[state.placement][mainAxis]:0,tetherMin=popperOffsets[mainAxis]+minOffset-offsetModifierValue-clientOffset,tetherMax=popperOffsets[mainAxis]+maxOffset-offsetModifierValue;if(checkMainAxis){var preventedOffset=within(tether?math_min(min,tetherMin):min,offset,tether?math_max(max,tetherMax):max);popperOffsets[mainAxis]=preventedOffset,data[mainAxis]=preventedOffset-offset}if(checkAltAxis){var _mainSide="x"===mainAxis?enums_top:left,_altSide="x"===mainAxis?bottom:right,_offset=popperOffsets[altAxis],_min=_offset+overflow[_mainSide],_max=_offset-overflow[_altSide],_preventedOffset=within(tether?math_min(_min,tetherMin):_min,_offset,tether?math_max(_max,tetherMax):_max);popperOffsets[altAxis]=_preventedOffset,data[altAxis]=_preventedOffset-_offset}}state.modifiersData[name]=data}},requiresIfExists:["offset"]},{name:"arrow",enabled:!0,phase:"main",fn:function arrow(_ref){var _state$modifiersData$,state=_ref.state,name=_ref.name,options=_ref.options,arrowElement=state.elements.arrow,popperOffsets=state.modifiersData.popperOffsets,basePlacement=getBasePlacement(state.placement),axis=getMainAxisFromPlacement(basePlacement),len=[left,right].indexOf(basePlacement)>=0?"height":"width";if(arrowElement&&popperOffsets){var paddingObject=function toPaddingObject(padding,state){return mergePaddingObject("number"!=typeof(padding="function"==typeof padding?padding(Object.assign({},state.rects,{placement:state.placement})):padding)?padding:expandToHashMap(padding,basePlacements))}(options.padding,state),arrowRect=getLayoutRect(arrowElement),minProp="y"===axis?enums_top:left,maxProp="y"===axis?bottom:right,endDiff=state.rects.reference[len]+state.rects.reference[axis]-popperOffsets[axis]-state.rects.popper[len],startDiff=popperOffsets[axis]-state.rects.reference[axis],arrowOffsetParent=getOffsetParent(arrowElement),clientSize=arrowOffsetParent?"y"===axis?arrowOffsetParent.clientHeight||0:arrowOffsetParent.clientWidth||0:0,centerToReference=endDiff/2-startDiff/2,min=paddingObject[minProp],max=clientSize-arrowRect[len]-paddingObject[maxProp],center=clientSize/2-arrowRect[len]/2+centerToReference,offset=within(min,center,max),axisProp=axis;state.modifiersData[name]=((_state$modifiersData$={})[axisProp]=offset,_state$modifiersData$.centerOffset=offset-center,_state$modifiersData$)}},effect:function arrow_effect(_ref2){var state=_ref2.state,_options$element=_ref2.options.element,arrowElement=void 0===_options$element?"[data-popper-arrow]":_options$element;null!=arrowElement&&("string"!=typeof arrowElement||(arrowElement=state.elements.popper.querySelector(arrowElement)))&&contains(state.elements.popper,arrowElement)&&(state.elements.arrow=arrowElement)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function hide(_ref){var state=_ref.state,name=_ref.name,referenceRect=state.rects.reference,popperRect=state.rects.popper,preventedOffsets=state.modifiersData.preventOverflow,referenceOverflow=detectOverflow(state,{elementContext:"reference"}),popperAltOverflow=detectOverflow(state,{altBoundary:!0}),referenceClippingOffsets=getSideOffsets(referenceOverflow,referenceRect),popperEscapeOffsets=getSideOffsets(popperAltOverflow,popperRect,preventedOffsets),isReferenceHidden=isAnySideFullyClipped(referenceClippingOffsets),hasPopperEscaped=isAnySideFullyClipped(popperEscapeOffsets);state.modifiersData[name]={referenceClippingOffsets:referenceClippingOffsets,popperEscapeOffsets:popperEscapeOffsets,isReferenceHidden:isReferenceHidden,hasPopperEscaped:hasPopperEscaped},state.attributes.popper=Object.assign({},state.attributes.popper,{"data-popper-reference-hidden":isReferenceHidden,"data-popper-escaped":hasPopperEscaped})}}]}),react_fast_compare=__webpack_require__(975),react_fast_compare_default=__webpack_require__.n(react_fast_compare),EMPTY_MODIFIERS=[],NOOP=function NOOP(){},NOOP_PROMISE=function NOOP_PROMISE(){return Promise.resolve(null)},Popper_EMPTY_MODIFIERS=[];function Popper(_ref){var _ref$placement=_ref.placement,placement=void 0===_ref$placement?"bottom":_ref$placement,_ref$strategy=_ref.strategy,strategy=void 0===_ref$strategy?"absolute":_ref$strategy,_ref$modifiers=_ref.modifiers,modifiers=void 0===_ref$modifiers?Popper_EMPTY_MODIFIERS:_ref$modifiers,referenceElement=_ref.referenceElement,onFirstUpdate=_ref.onFirstUpdate,innerRef=_ref.innerRef,children=_ref.children,referenceNode=react.useContext(ManagerReferenceNodeContext),_React$useState=react.useState(null),popperElement=_React$useState[0],setPopperElement=_React$useState[1],_React$useState2=react.useState(null),arrowElement=_React$useState2[0],setArrowElement=_React$useState2[1];react.useEffect((function(){setRef(innerRef,popperElement)}),[innerRef,popperElement]);var options=react.useMemo((function(){return{placement:placement,strategy:strategy,onFirstUpdate:onFirstUpdate,modifiers:[].concat(modifiers,[{name:"arrow",enabled:null!=arrowElement,options:{element:arrowElement}}])}}),[placement,strategy,onFirstUpdate,modifiers,arrowElement]),_usePopper=function usePopper(referenceElement,popperElement,options){void 0===options&&(options={});var prevOptions=react.useRef(null),optionsWithDefaults={onFirstUpdate:options.onFirstUpdate,placement:options.placement||"bottom",strategy:options.strategy||"absolute",modifiers:options.modifiers||EMPTY_MODIFIERS},_React$useState=react.useState({styles:{popper:{position:optionsWithDefaults.strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),state=_React$useState[0],setState=_React$useState[1],updateStateModifier=react.useMemo((function(){return{name:"updateState",enabled:!0,phase:"write",fn:function fn(_ref){var state=_ref.state,elements=Object.keys(state.elements);setState({styles:fromEntries(elements.map((function(element){return[element,state.styles[element]||{}]}))),attributes:fromEntries(elements.map((function(element){return[element,state.attributes[element]]})))})},requires:["computeStyles"]}}),[]),popperOptions=react.useMemo((function(){var newOptions={onFirstUpdate:optionsWithDefaults.onFirstUpdate,placement:optionsWithDefaults.placement,strategy:optionsWithDefaults.strategy,modifiers:[].concat(optionsWithDefaults.modifiers,[updateStateModifier,{name:"applyStyles",enabled:!1}])};return react_fast_compare_default()(prevOptions.current,newOptions)?prevOptions.current||newOptions:(prevOptions.current=newOptions,newOptions)}),[optionsWithDefaults.onFirstUpdate,optionsWithDefaults.placement,optionsWithDefaults.strategy,optionsWithDefaults.modifiers,updateStateModifier]),popperInstanceRef=react.useRef();return useIsomorphicLayoutEffect((function(){popperInstanceRef.current&&popperInstanceRef.current.setOptions(popperOptions)}),[popperOptions]),useIsomorphicLayoutEffect((function(){if(null!=referenceElement&&null!=popperElement){var popperInstance=(options.createPopper||popper_createPopper)(referenceElement,popperElement,popperOptions);return popperInstanceRef.current=popperInstance,function(){popperInstance.destroy(),popperInstanceRef.current=null}}}),[referenceElement,popperElement,options.createPopper]),{state:popperInstanceRef.current?popperInstanceRef.current.state:null,styles:state.styles,attributes:state.attributes,update:popperInstanceRef.current?popperInstanceRef.current.update:null,forceUpdate:popperInstanceRef.current?popperInstanceRef.current.forceUpdate:null}}(referenceElement||referenceNode,popperElement,options),state=_usePopper.state,styles=_usePopper.styles,forceUpdate=_usePopper.forceUpdate,update=_usePopper.update,childrenProps=react.useMemo((function(){return{ref:setPopperElement,style:styles.popper,placement:state?state.placement:placement,hasPopperEscaped:state&&state.modifiersData.hide?state.modifiersData.hide.hasPopperEscaped:null,isReferenceHidden:state&&state.modifiersData.hide?state.modifiersData.hide.isReferenceHidden:null,arrowProps:{style:styles.arrow,ref:setArrowElement},forceUpdate:forceUpdate||NOOP,update:update||NOOP_PROMISE}}),[setPopperElement,setArrowElement,placement,state,styles,update,forceUpdate]);return unwrapArray(children)(childrenProps)}var warning=__webpack_require__(976),warning_default=__webpack_require__.n(warning);function Reference(_ref){var children=_ref.children,innerRef=_ref.innerRef,setReferenceNode=react.useContext(ManagerReferenceNodeSetterContext),refHandler=react.useCallback((function(node){setRef(innerRef,node),safeInvoke(setReferenceNode,node)}),[innerRef,setReferenceNode]);return react.useEffect((function(){return function(){return setRef(innerRef,null)}})),react.useEffect((function(){warning_default()(Boolean(setReferenceNode),"`Reference` should not be used outside of a `Manager` component.")}),[setReferenceNode]),unwrapArray(children)({ref:refHandler})}var TooltipContext=react_default.a.createContext({}),callAll=function callAll(){for(var _len=arguments.length,fns=new Array(_len),_key=0;_key<_len;_key++)fns[_key]=arguments[_key];return function(){for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++)args[_key2]=arguments[_key2];return fns.forEach((function(fn){return fn&&fn.apply(void 0,args)}))}},canUseDOM=function canUseDOM(){return!("undefined"==typeof window||!window.document||!window.document.createElement)},react_popper_tooltip_setRef=function setRef(ref,node){if("function"==typeof ref)return ref(node);null!=ref&&(ref.current=node)},react_popper_tooltip_Tooltip=function(_Component){function Tooltip(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return(_this=_Component.call.apply(_Component,[this].concat(args))||this).observer=void 0,_this.tooltipRef=void 0,_this.handleOutsideClick=function(event){if(_this.tooltipRef&&!_this.tooltipRef.contains(event.target)){var parentOutsideClickHandler=_this.context.parentOutsideClickHandler,_this$props=_this.props,hideTooltip=_this$props.hideTooltip;(0,_this$props.clearScheduled)(),hideTooltip(),parentOutsideClickHandler&&parentOutsideClickHandler(event)}},_this.handleOutsideRightClick=function(event){if(_this.tooltipRef&&!_this.tooltipRef.contains(event.target)){var parentOutsideRightClickHandler=_this.context.parentOutsideRightClickHandler,_this$props2=_this.props,hideTooltip=_this$props2.hideTooltip;(0,_this$props2.clearScheduled)(),hideTooltip(),parentOutsideRightClickHandler&&parentOutsideRightClickHandler(event)}},_this.addOutsideClickHandler=function(){document.body.addEventListener("touchend",_this.handleOutsideClick),document.body.addEventListener("click",_this.handleOutsideClick)},_this.removeOutsideClickHandler=function(){document.body.removeEventListener("touchend",_this.handleOutsideClick),document.body.removeEventListener("click",_this.handleOutsideClick)},_this.addOutsideRightClickHandler=function(){return document.body.addEventListener("contextmenu",_this.handleOutsideRightClick)},_this.removeOutsideRightClickHandler=function(){return document.body.removeEventListener("contextmenu",_this.handleOutsideRightClick)},_this.getTooltipRef=function(node){_this.tooltipRef=node,react_popper_tooltip_setRef(_this.props.innerRef,node)},_this.getArrowProps=function(props){return void 0===props&&(props={}),Object(esm_extends.a)({},props,{style:Object(esm_extends.a)({},props.style,_this.props.arrowProps.style)})},_this.getTooltipProps=function(props){return void 0===props&&(props={}),Object(esm_extends.a)({},props,_this.isTriggeredBy("hover")&&{onMouseEnter:callAll(_this.props.clearScheduled,props.onMouseEnter),onMouseLeave:callAll(_this.props.hideTooltip,props.onMouseLeave)},{style:Object(esm_extends.a)({},props.style,_this.props.style)})},_this.contextValue={isParentNoneTriggered:"none"===_this.props.trigger,addParentOutsideClickHandler:_this.addOutsideClickHandler,addParentOutsideRightClickHandler:_this.addOutsideRightClickHandler,parentOutsideClickHandler:_this.handleOutsideClick,parentOutsideRightClickHandler:_this.handleOutsideRightClick,removeParentOutsideClickHandler:_this.removeOutsideClickHandler,removeParentOutsideRightClickHandler:_this.removeOutsideRightClickHandler},_this}Object(inheritsLoose.a)(Tooltip,_Component);var _proto=Tooltip.prototype;return _proto.componentDidMount=function componentDidMount(){var _this2=this;if((this.observer=new MutationObserver((function(){_this2.props.update()}))).observe(this.tooltipRef,this.props.mutationObserverOptions),this.isTriggeredBy("hover")||this.isTriggeredBy("click")||this.isTriggeredBy("right-click")){var _this$context=this.context,removeParentOutsideClickHandler=_this$context.removeParentOutsideClickHandler,removeParentOutsideRightClickHandler=_this$context.removeParentOutsideRightClickHandler;this.addOutsideClickHandler(),this.addOutsideRightClickHandler(),removeParentOutsideClickHandler&&removeParentOutsideClickHandler(),removeParentOutsideRightClickHandler&&removeParentOutsideRightClickHandler()}},_proto.componentDidUpdate=function componentDidUpdate(){this.props.closeOnReferenceHidden&&this.props.isReferenceHidden&&this.props.hideTooltip()},_proto.componentWillUnmount=function componentWillUnmount(){if(this.observer&&this.observer.disconnect(),this.isTriggeredBy("hover")||this.isTriggeredBy("click")||this.isTriggeredBy("right-click")){var _this$context2=this.context,isParentNoneTriggered=_this$context2.isParentNoneTriggered,addParentOutsideClickHandler=_this$context2.addParentOutsideClickHandler,addParentOutsideRightClickHandler=_this$context2.addParentOutsideRightClickHandler;this.removeOutsideClickHandler(),this.removeOutsideRightClickHandler(),this.handleOutsideClick=void 0,this.handleOutsideRightClick=void 0,!isParentNoneTriggered&&addParentOutsideClickHandler&&addParentOutsideClickHandler(),!isParentNoneTriggered&&addParentOutsideRightClickHandler&&addParentOutsideRightClickHandler()}},_proto.render=function render(){var _this$props3=this.props,arrowProps=_this$props3.arrowProps,placement=_this$props3.placement,tooltip=_this$props3.tooltip;return react_default.a.createElement(TooltipContext.Provider,{value:this.contextValue},tooltip({arrowRef:arrowProps.ref,getArrowProps:this.getArrowProps,getTooltipProps:this.getTooltipProps,placement:placement,tooltipRef:this.getTooltipRef}))},_proto.isTriggeredBy=function isTriggeredBy(event){var trigger=this.props.trigger;return trigger===event||Array.isArray(trigger)&&trigger.includes(event)},Tooltip}(react.Component);react_popper_tooltip_Tooltip.contextType=TooltipContext;var react_popper_tooltip_TooltipTrigger=function(_Component){function TooltipTrigger(){for(var _this,_len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return(_this=_Component.call.apply(_Component,[this].concat(args))||this).state={tooltipShown:_this.props.defaultTooltipShown},_this.hideTimeout=void 0,_this.showTimeout=void 0,_this.popperOffset=void 0,_this.setTooltipState=function(state){var cb=function cb(){return _this.props.onVisibilityChange(state.tooltipShown)};_this.isControlled()?cb():_this.setState(state,cb)},_this.clearScheduled=function(){clearTimeout(_this.hideTimeout),clearTimeout(_this.showTimeout)},_this.showTooltip=function(_ref){var pageX=_ref.pageX,pageY=_ref.pageY;_this.clearScheduled();var state={tooltipShown:!0};_this.props.followCursor&&(state=Object(esm_extends.a)({},state,{pageX:pageX,pageY:pageY})),_this.showTimeout=window.setTimeout((function(){return _this.setTooltipState(state)}),_this.props.delayShow)},_this.hideTooltip=function(){_this.clearScheduled(),_this.hideTimeout=window.setTimeout((function(){return _this.setTooltipState({tooltipShown:!1})}),_this.props.delayHide)},_this.toggleTooltip=function(_ref2){var pageX=_ref2.pageX,pageY=_ref2.pageY,action=_this.getState()?"hideTooltip":"showTooltip";_this[action]({pageX:pageX,pageY:pageY})},_this.clickToggle=function(event){event.preventDefault();var pageX=event.pageX,pageY=event.pageY,action=_this.props.followCursor?"showTooltip":"toggleTooltip";_this[action]({pageX:pageX,pageY:pageY})},_this.contextMenuToggle=function(event){event.preventDefault();var pageX=event.pageX,pageY=event.pageY,action=_this.props.followCursor?"showTooltip":"toggleTooltip";_this[action]({pageX:pageX,pageY:pageY})},_this.getTriggerProps=function(props){return void 0===props&&(props={}),Object(esm_extends.a)({},props,_this.isTriggeredBy("click")&&{onClick:callAll(_this.clickToggle,props.onClick),onTouchEnd:callAll(_this.clickToggle,props.onTouchEnd)},_this.isTriggeredBy("right-click")&&{onContextMenu:callAll(_this.contextMenuToggle,props.onContextMenu)},_this.isTriggeredBy("hover")&&Object(esm_extends.a)({onMouseEnter:callAll(_this.showTooltip,props.onMouseEnter),onMouseLeave:callAll(_this.hideTooltip,props.onMouseLeave)},_this.props.followCursor&&{onMouseMove:callAll(_this.showTooltip,props.onMouseMove)}),_this.isTriggeredBy("focus")&&{onFocus:callAll(_this.showTooltip,props.onFocus),onBlur:callAll(_this.hideTooltip,props.onBlur)})},_this}Object(inheritsLoose.a)(TooltipTrigger,_Component);var _proto=TooltipTrigger.prototype;return _proto.componentWillUnmount=function componentWillUnmount(){this.clearScheduled()},_proto.render=function render(){var _this2=this,_this$props=this.props,children=_this$props.children,tooltip=_this$props.tooltip,placement=_this$props.placement,trigger=_this$props.trigger,getTriggerRef=_this$props.getTriggerRef,modifiers=_this$props.modifiers,closeOnReferenceHidden=_this$props.closeOnReferenceHidden,usePortal=_this$props.usePortal,portalContainer=_this$props.portalContainer,followCursor=_this$props.followCursor,getTooltipRef=_this$props.getTooltipRef,mutationObserverOptions=_this$props.mutationObserverOptions,restProps=Object(objectWithoutPropertiesLoose.a)(_this$props,["children","tooltip","placement","trigger","getTriggerRef","modifiers","closeOnReferenceHidden","usePortal","portalContainer","followCursor","getTooltipRef","mutationObserverOptions"]),popper=react_default.a.createElement(Popper,Object(esm_extends.a)({innerRef:getTooltipRef,placement:placement,modifiers:[{name:"followCursor",enabled:followCursor,phase:"main",fn:function fn(data){_this2.popperOffset=data.state.rects.popper}}].concat(modifiers)},restProps),(function(_ref3){var ref=_ref3.ref,style=_ref3.style,placement=_ref3.placement,arrowProps=_ref3.arrowProps,isReferenceHidden=_ref3.isReferenceHidden,update=_ref3.update;if(followCursor&&_this2.popperOffset){var _this2$state=_this2.state,pageX=_this2$state.pageX,pageY=_this2$state.pageY,_this2$popperOffset=_this2.popperOffset,width=_this2$popperOffset.width,height=_this2$popperOffset.height,x=pageX+width>window.pageXOffset+document.body.offsetWidth?pageX-width:pageX,y=pageY+height>window.pageYOffset+document.body.offsetHeight?pageY-height:pageY;style.transform="translate3d("+x+"px, "+y+"px, 0"}return react_default.a.createElement(react_popper_tooltip_Tooltip,Object(esm_extends.a)({arrowProps:arrowProps,closeOnReferenceHidden:closeOnReferenceHidden,isReferenceHidden:isReferenceHidden,placement:placement,update:update,style:style,tooltip:tooltip,trigger:trigger,mutationObserverOptions:mutationObserverOptions},{clearScheduled:_this2.clearScheduled,hideTooltip:_this2.hideTooltip,innerRef:ref}))}));return react_default.a.createElement(Manager,null,react_default.a.createElement(Reference,{innerRef:getTriggerRef},(function(_ref4){var ref=_ref4.ref;return children({getTriggerProps:_this2.getTriggerProps,triggerRef:ref})})),this.getState()&&(usePortal?Object(react_dom.createPortal)(popper,portalContainer):popper))},_proto.isControlled=function isControlled(){return void 0!==this.props.tooltipShown},_proto.getState=function getState(){return this.isControlled()?this.props.tooltipShown:this.state.tooltipShown},_proto.isTriggeredBy=function isTriggeredBy(event){var trigger=this.props.trigger;return trigger===event||Array.isArray(trigger)&&trigger.includes(event)},TooltipTrigger}(react.Component);react_popper_tooltip_TooltipTrigger.defaultProps={closeOnReferenceHidden:!0,defaultTooltipShown:!1,delayHide:0,delayShow:0,followCursor:!1,onVisibilityChange:function noop(){},placement:"right",portalContainer:canUseDOM()?document.body:null,trigger:"hover",usePortal:canUseDOM(),mutationObserverOptions:{childList:!0,subtree:!0},modifiers:[]};var react_popper_tooltip=react_popper_tooltip_TooltipTrigger,memoizerific=(__webpack_require__(79),__webpack_require__(33),__webpack_require__(158),__webpack_require__(24),__webpack_require__(144)),memoizerific_default=__webpack_require__.n(memoizerific),utils=__webpack_require__(104);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var _templateObject,_templateObject2,match=memoizerific_default()(1e3)((function(requests,actual,value){var fallback=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return actual.split("-")[0]===requests?value:fallback})),Arrow=esm.styled.div({position:"absolute",borderStyle:"solid"},(function(_ref){var placement=_ref.placement,x=0,y=0;switch(!0){case placement.startsWith("left")||placement.startsWith("right"):y=8;break;case placement.startsWith("top")||placement.startsWith("bottom"):x=8}return{transform:"translate3d(".concat(x,"px, ").concat(y,"px, 0px)")}}),(function(_ref2){var theme=_ref2.theme,color=_ref2.color,placement=_ref2.placement;return{bottom:"".concat(match("top",placement,-8,"auto"),"px"),top:"".concat(match("bottom",placement,-8,"auto"),"px"),right:"".concat(match("left",placement,-8,"auto"),"px"),left:"".concat(match("right",placement,-8,"auto"),"px"),borderBottomWidth:"".concat(match("top",placement,"0",8),"px"),borderTopWidth:"".concat(match("bottom",placement,"0",8),"px"),borderRightWidth:"".concat(match("left",placement,"0",8),"px"),borderLeftWidth:"".concat(match("right",placement,"0",8),"px"),borderTopColor:match("top",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderBottomColor:match("bottom",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderLeftColor:match("left",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent"),borderRightColor:match("right",placement,theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),"transparent")}})),Wrapper=esm.styled.div((function(_ref3){return{display:_ref3.hidden?"none":"inline-block",zIndex:2147483647}}),(function(_ref4){var theme=_ref4.theme,color=_ref4.color;return _ref4.hasChrome?{background:theme.color[color]||color||"light"===theme.base?Object(utils.c)(theme.background.app):Object(utils.a)(theme.background.app),filter:"\n drop-shadow(0px 5px 5px rgba(0,0,0,0.05))\n drop-shadow(0 1px 3px rgba(0,0,0,0.1))\n ",borderRadius:2*theme.appBorderRadius,fontSize:theme.typography.size.s1}:{}})),Tooltip_Tooltip=function Tooltip(_ref5){var placement=_ref5.placement,hasChrome=_ref5.hasChrome,children=_ref5.children,arrowProps=_ref5.arrowProps,tooltipRef=_ref5.tooltipRef,arrowRef=_ref5.arrowRef,color=_ref5.color,props=_objectWithoutProperties(_ref5,["placement","hasChrome","children","arrowProps","tooltipRef","arrowRef","color"]);return react_default.a.createElement(Wrapper,_extends({hasChrome:hasChrome,placement:placement,ref:tooltipRef},props,{color:color}),hasChrome&&react_default.a.createElement(Arrow,_extends({placement:placement,ref:arrowRef},arrowProps,{color:color})),children)};function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}function _taggedTemplateLiteral(strings,raw){return raw||(raw=strings.slice(0)),Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}))}Tooltip_Tooltip.displayName="Tooltip",Tooltip_Tooltip.defaultProps={color:void 0,arrowRef:void 0,tooltipRef:void 0,hasChrome:!0,placement:"top",arrowProps:{}};var WithTooltip_document=window_default.a.document,TargetContainer=esm.styled.div(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n display: inline-block;\n cursor: ",";\n"])),(function(props){return"hover"===props.mode?"default":"pointer"})),TargetSvgContainer=esm.styled.g(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n cursor: ",";\n"])),(function(props){return"hover"===props.mode?"default":"pointer"})),WithTooltip_WithTooltipPure=function WithTooltipPure(_ref){var svg=_ref.svg,trigger=_ref.trigger,placement=(_ref.closeOnClick,_ref.placement),modifiers=_ref.modifiers,hasChrome=_ref.hasChrome,_tooltip=_ref.tooltip,children=_ref.children,tooltipShown=_ref.tooltipShown,onVisibilityChange=_ref.onVisibilityChange,props=WithTooltip_objectWithoutProperties(_ref,["svg","trigger","closeOnClick","placement","modifiers","hasChrome","tooltip","children","tooltipShown","onVisibilityChange"]),Container=svg?TargetSvgContainer:TargetContainer;return react_default.a.createElement(react_popper_tooltip,{placement:placement,trigger:trigger,modifiers:modifiers,tooltipShown:tooltipShown,onVisibilityChange:onVisibilityChange,tooltip:function tooltip(_ref2){var getTooltipProps=_ref2.getTooltipProps,getArrowProps=_ref2.getArrowProps,tooltipRef=_ref2.tooltipRef,arrowRef=_ref2.arrowRef,tooltipPlacement=_ref2.placement;return react_default.a.createElement(Tooltip_Tooltip,WithTooltip_extends({hasChrome:hasChrome,placement:tooltipPlacement,tooltipRef:tooltipRef,arrowRef:arrowRef,arrowProps:getArrowProps()},getTooltipProps()),"function"==typeof _tooltip?_tooltip({onHide:function onHide(){return onVisibilityChange(!1)}}):_tooltip)}},(function(_ref3){var getTriggerProps=_ref3.getTriggerProps,triggerRef=_ref3.triggerRef;return react_default.a.createElement(Container,WithTooltip_extends({ref:triggerRef},getTriggerProps(),props),children)}))};WithTooltip_WithTooltipPure.displayName="WithTooltipPure",WithTooltip_WithTooltipPure.defaultProps={svg:!1,trigger:"hover",closeOnClick:!1,placement:"top",modifiers:[{name:"preventOverflow",options:{padding:8}},{name:"offset",options:{offset:[8,8]}},{name:"arrow",options:{padding:8}}],hasChrome:!0,tooltipShown:!1};var WithTooltip_WithToolTipState=function WithToolTipState(_ref4){var startOpen=_ref4.startOpen,onChange=_ref4.onVisibilityChange,rest=WithTooltip_objectWithoutProperties(_ref4,["startOpen","onVisibilityChange"]),_useState2=_slicedToArray(Object(react.useState)(startOpen||!1),2),tooltipShown=_useState2[0],setTooltipShown=_useState2[1],onVisibilityChange=Object(react.useCallback)((function(visibility){onChange&&!1===onChange(visibility)||setTooltipShown(visibility)}),[onChange]);return Object(react.useEffect)((function(){var hide=function hide(){return onVisibilityChange(!1)};WithTooltip_document.addEventListener("keydown",hide,!1);var iframes=Array.from(WithTooltip_document.getElementsByTagName("iframe")),unbinders=[];return iframes.forEach((function(iframe){var bind=function bind(){try{iframe.contentWindow.document&&(iframe.contentWindow.document.addEventListener("click",hide),unbinders.push((function(){try{iframe.contentWindow.document.removeEventListener("click",hide)}catch(e){}})))}catch(e){}};bind(),iframe.addEventListener("load",bind),unbinders.push((function(){iframe.removeEventListener("load",bind)}))})),function(){WithTooltip_document.removeEventListener("keydown",hide),unbinders.forEach((function(unbind){unbind()}))}})),react_default.a.createElement(WithTooltip_WithTooltipPure,WithTooltip_extends({},rest,{tooltipShown:tooltipShown,onVisibilityChange:onVisibilityChange}))};WithTooltip_WithToolTipState.displayName="WithToolTipState"},975:function(module,exports){var hasElementType="undefined"!=typeof Element,hasMap="function"==typeof Map,hasSet="function"==typeof Set,hasArrayBuffer="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function equal(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var length,i,keys,it;if(Array.isArray(a)){if((length=a.length)!=b.length)return!1;for(i=length;0!=i--;)if(!equal(a[i],b[i]))return!1;return!0}if(hasMap&&a instanceof Map&&b instanceof Map){if(a.size!==b.size)return!1;for(it=a.entries();!(i=it.next()).done;)if(!b.has(i.value[0]))return!1;for(it=a.entries();!(i=it.next()).done;)if(!equal(i.value[1],b.get(i.value[0])))return!1;return!0}if(hasSet&&a instanceof Set&&b instanceof Set){if(a.size!==b.size)return!1;for(it=a.entries();!(i=it.next()).done;)if(!b.has(i.value[0]))return!1;return!0}if(hasArrayBuffer&&ArrayBuffer.isView(a)&&ArrayBuffer.isView(b)){if((length=a.length)!=b.length)return!1;for(i=length;0!=i--;)if(a[i]!==b[i])return!1;return!0}if(a.constructor===RegExp)return a.source===b.source&&a.flags===b.flags;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();if((length=(keys=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(i=length;0!=i--;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return!1;if(hasElementType&&a instanceof Element)return!1;for(i=length;0!=i--;)if(("_owner"!==keys[i]&&"__v"!==keys[i]&&"__o"!==keys[i]||!a.$$typeof)&&!equal(a[keys[i]],b[keys[i]]))return!1;return!0}return a!=a&&b!=b}module.exports=function isEqual(a,b){try{return equal(a,b)}catch(error){if((error.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw error}}},976:function(module,exports,__webpack_require__){"use strict";var warning=function(){};module.exports=warning}}]); \ No newline at end of file diff --git a/docs/5.123efef0.iframe.bundle.js b/docs/5.a529165e.iframe.bundle.js similarity index 99% rename from docs/5.123efef0.iframe.bundle.js rename to docs/5.a529165e.iframe.bundle.js index 1cf7495..15c1152 100644 --- a/docs/5.123efef0.iframe.bundle.js +++ b/docs/5.a529165e.iframe.bundle.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{503:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return TooltipNote}));__webpack_require__(134),__webpack_require__(26),__webpack_require__(8);var react__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);function _objectWithoutProperties(source,excluded){if(null==source)return{};var key,i,target=function _objectWithoutPropertiesLoose(source,excluded){if(null==source)return{};var key,i,target={},sourceKeys=Object.keys(source);for(i=0;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var Note=__webpack_require__(2).styled.div((function(_ref){var theme=_ref.theme;return{padding:"2px 6px",lineHeight:"16px",fontSize:10,fontWeight:theme.typography.weight.bold,color:theme.color.lightest,boxShadow:"0 0 5px 0 rgba(0, 0, 0, 0.3)",borderRadius:4,whiteSpace:"nowrap",pointerEvents:"none",zIndex:-1,background:"rgba(0, 0, 0, 0.4)",margin:6}})),TooltipNote=function TooltipNote(_ref2){var note=_ref2.note,props=_objectWithoutProperties(_ref2,["note"]);return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Note,props,note)};TooltipNote.displayName="TooltipNote"},907:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"ColorControl",(function(){return Color_ColorControl}));__webpack_require__(26),__webpack_require__(8),__webpack_require__(12),__webpack_require__(11),__webpack_require__(22),__webpack_require__(16),__webpack_require__(13),__webpack_require__(15),__webpack_require__(27),__webpack_require__(24),__webpack_require__(20),__webpack_require__(133),__webpack_require__(105),__webpack_require__(33),__webpack_require__(29),__webpack_require__(159),__webpack_require__(54),__webpack_require__(158),__webpack_require__(79),__webpack_require__(14),__webpack_require__(48),__webpack_require__(10);var react=__webpack_require__(1),react_default=__webpack_require__.n(react);function index_module_l(){return(index_module_l=Object.assign||function(e){for(var r=1;r=0||(n[t]=e[t]);return n}var index_module_c="undefined"!=typeof window?react.useLayoutEffect:react.useEffect;function index_module_i(e){var r=Object(react.useRef)(e);return Object(react.useEffect)((function(){r.current=e})),Object(react.useCallback)((function(e){return r.current&&r.current(e)}),[])}var index_module_s,index_module_f=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=1),e>t?t:e0:e.buttons>0)&&m.current?C(index_module_d(m.current,e)):_(!1)}),[C]),H=Object(react.useCallback)((function(e){var r,t=e.nativeEvent,o=m.current;index_module_h(t),r=t,g.current&&!index_module_v(r)||(g.current||(g.current=index_module_v(r)),0)||!o||(o.focus(),C(index_module_d(o,t)),_(!0))}),[C]),M=Object(react.useCallback)((function(e){var r=e.which||e.keyCode;r<37||r>40||(e.preventDefault(),x({left:39===r?.05:37===r?-.05:0,top:40===r?.05:38===r?-.05:0}))}),[x]),N=Object(react.useCallback)((function(){return _(!1)}),[]),w=Object(react.useCallback)((function(e){var r=e?window.addEventListener:window.removeEventListener;r(g.current?"touchmove":"mousemove",E),r(g.current?"touchend":"mouseup",N)}),[E,N]);return index_module_c((function(){return w(b),function(){b&&w(!1)}}),[b,w]),react_default.a.createElement("div",index_module_l({},f,{className:"react-colorful__interactive",ref:m,onTouchStart:H,onMouseDown:H,onKeyDown:M,tabIndex:0,role:"slider"}))})),index_module_g=function(e){return e.filter(Boolean).join(" ")},index_module_p=function(r){var t=r.color,o=r.left,n=r.top,a=void 0===n?.5:n,l=index_module_g(["react-colorful__pointer",r.className]);return react_default.a.createElement("div",{className:l,style:{top:100*a+"%",left:100*o+"%"}},react_default.a.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},index_module_b=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=Math.pow(10,r)),Math.round(t*e)/t},index_module_={grad:.9,turn:360,rad:360/(2*Math.PI)},index_module_C=function(e){return"#"===e[0]&&(e=e.substr(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:1}:{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:1}},index_module_x=function(e,r){return void 0===r&&(r="deg"),Number(e)*(index_module_[r]||1)},index_module_E=function(e){var r=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?index_module_M({h:index_module_x(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},index_module_M=function(e){var r=e.s,t=e.l;return{h:e.h,s:(r*=(t<50?t:100-t)/100)>0?2*r/(t+r)*100:0,v:t+r,a:e.a}},index_module_N=function(e){var r=e.s,t=e.v,o=e.a,n=(200-r)*t/100;return{h:index_module_b(e.h),s:index_module_b(n>0&&n<200?r*t/100/(n<=100?n:200-n)*100:0),l:index_module_b(n/2),a:index_module_b(o,2)}},index_module_w=function(e){var r=index_module_N(e);return"hsl("+r.h+", "+r.s+"%, "+r.l+"%)"},y=function(e){var r=index_module_N(e);return"hsla("+r.h+", "+r.s+"%, "+r.l+"%, "+r.a+")"},q=function(e){var r=e.h,t=e.s,o=e.v,n=e.a;r=r/360*6,t/=100,o/=100;var a=Math.floor(r),l=o*(1-t),u=o*(1-(r-a)*t),c=o*(1-(1-r+a)*t),i=a%6;return{r:index_module_b(255*[o,u,l,l,c,o][i]),g:index_module_b(255*[c,o,o,u,l,l][i]),b:index_module_b(255*[l,l,c,o,o,u][i]),a:index_module_b(n,2)}},I=function(e){var r=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?B({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:void 0===r[7]?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},z=function(e){var r=e.toString(16);return r.length<2?"0"+r:r},B=function(e){var r=e.r,t=e.g,o=e.b,n=e.a,a=Math.max(r,t,o),l=a-Math.min(r,t,o),u=l?a===r?(t-o)/l:a===t?2+(o-r)/l:4+(r-t)/l:0;return{h:index_module_b(60*(u<0?u+6:u)),s:index_module_b(a?l/a*100:0),v:index_module_b(a/255*100),a:n}},A=react_default.a.memo((function(r){var t=r.hue,o=r.onChange,n=index_module_g(["react-colorful__hue",r.className]);return react_default.a.createElement("div",{className:n},react_default.a.createElement(index_module_m,{onMove:function(e){o({h:360*e.left})},onKey:function(e){o({h:index_module_f(t+360*e.left,0,360)})},"aria-label":"Hue","aria-valuetext":index_module_b(t)},react_default.a.createElement(index_module_p,{className:"react-colorful__hue-pointer",left:t/360,color:index_module_w({h:t,s:100,v:100,a:1})})))})),L=react_default.a.memo((function(r){var t=r.hsva,o=r.onChange,n={backgroundColor:index_module_w({h:t.h,s:100,v:100,a:1})};return react_default.a.createElement("div",{className:"react-colorful__saturation",style:n},react_default.a.createElement(index_module_m,{onMove:function(e){o({s:100*e.left,v:100-100*e.top})},onKey:function(e){o({s:index_module_f(t.s+100*e.left,0,100),v:index_module_f(t.v-100*e.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+index_module_b(t.s)+"%, Brightness "+index_module_b(t.v)+"%"},react_default.a.createElement(index_module_p,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:index_module_w(t)})))})),D=function(e,r){if(e===r)return!0;for(var t in e)if(e[t]!==r[t])return!1;return!0},F=function(e,r){return e.replace(/\s/g,"")===r.replace(/\s/g,"")};function S(e,r,l){var u=index_module_i(l),c=Object(react.useState)((function(){return e.toHsva(r)})),s=c[0],f=c[1],v=Object(react.useRef)({color:r,hsva:s});Object(react.useEffect)((function(){if(!e.equal(r,v.current.color)){var t=e.toHsva(r);v.current={hsva:t,color:r},f(t)}}),[r,e]),Object(react.useEffect)((function(){var r;D(s,v.current.hsva)||e.equal(r=e.fromHsva(s),v.current.color)||(v.current={hsva:s,color:r},u(r))}),[s,e,u]);var d=Object(react.useCallback)((function(e){f((function(r){return Object.assign({},r,e)}))}),[]);return[s,d]}var P,_ColorPicker,_fallbackColor,Y=function(){index_module_c((function(){if("undefined"!=typeof document&&!P){(P=document.createElement("style")).innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8,\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}';var e=index_module_s||__webpack_require__.nc;e&&P.setAttribute("nonce",e),document.head.appendChild(P)}}),[])},$=function(r){var t=r.className,o=r.colorModel,n=r.color,a=void 0===n?o.defaultColor:n,c=r.onChange,i=index_module_u(r,["className","colorModel","color","onChange"]);Y();var s=S(o,a,c),f=s[0],v=s[1],d=index_module_g(["react-colorful",t]);return react_default.a.createElement("div",index_module_l({},i,{className:d}),react_default.a.createElement(L,{hsva:f,onChange:v}),react_default.a.createElement(A,{hue:f.h,onChange:v,className:"react-colorful__last-control"}))},R={defaultColor:"000",toHsva:function(e){return B(index_module_C(e))},fromHsva:function(e){return t=(r=q(e)).g,o=r.b,"#"+z(r.r)+z(t)+z(o);var r,t,o},equal:function(e,r){return e.toLowerCase()===r.toLowerCase()||D(index_module_C(e),index_module_C(r))}},J=function(r){var t=r.className,o=r.hsva,n=r.onChange,a={backgroundImage:"linear-gradient(90deg, "+y(Object.assign({},o,{a:0}))+", "+y(Object.assign({},o,{a:1}))+")"},l=index_module_g(["react-colorful__alpha",t]);return react_default.a.createElement("div",{className:l},react_default.a.createElement("div",{className:"react-colorful__alpha-gradient",style:a}),react_default.a.createElement(index_module_m,{onMove:function(e){n({a:e.left})},onKey:function(e){n({a:index_module_f(o.a+e.left)})},"aria-label":"Alpha","aria-valuetext":index_module_b(100*o.a)+"%"},react_default.a.createElement(index_module_p,{className:"react-colorful__alpha-pointer",left:o.a,color:y(o)})))},Q=function(r){var t=r.className,o=r.colorModel,n=r.color,a=void 0===n?o.defaultColor:n,c=r.onChange,i=index_module_u(r,["className","colorModel","color","onChange"]);Y();var s=S(o,a,c),f=s[0],v=s[1],d=index_module_g(["react-colorful",t]);return react_default.a.createElement("div",index_module_l({},i,{className:d}),react_default.a.createElement(L,{hsva:f,onChange:v}),react_default.a.createElement(A,{hue:f.h,onChange:v}),react_default.a.createElement(J,{hsva:f,onChange:v,className:"react-colorful__last-control"}))},W={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:index_module_E,fromHsva:y,equal:F},he={defaultColor:"rgba(0, 0, 0, 1)",toHsva:I,fromHsva:function(e){var r=q(e);return"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")"},equal:F},color_convert=__webpack_require__(977),color_convert_default=__webpack_require__.n(color_convert),throttle=__webpack_require__(980),throttle_default=__webpack_require__.n(throttle),esm=__webpack_require__(2),TooltipNote=__webpack_require__(503),lazy_WithTooltip=__webpack_require__(176),esm_form=__webpack_require__(56),icon=__webpack_require__(47),helpers=__webpack_require__(46);function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var Wrapper=esm.styled.div({position:"relative",maxWidth:250}),PickerTooltip=Object(esm.styled)(lazy_WithTooltip.a)({position:"absolute",zIndex:1,top:4,left:4}),TooltipContent=esm.styled.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Note=Object(esm.styled)(TooltipNote.a)((function(_ref){return{fontFamily:_ref.theme.typography.fonts.base}})),Swatches=esm.styled.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),SwatchColor=esm.styled.div((function(_ref2){var theme=_ref2.theme;return{width:16,height:16,boxShadow:_ref2.active?"".concat(theme.appBorderColor," 0 0 0 1px inset, ").concat(theme.color.mediumdark,"50 0 0 0 4px"):"".concat(theme.appBorderColor," 0 0 0 1px inset"),borderRadius:theme.appBorderRadius}})),Color_Swatch=function Swatch(_ref3){var value=_ref3.value,active=_ref3.active,onClick=_ref3.onClick,style=_ref3.style,props=_objectWithoutProperties(_ref3,["value","active","onClick","style"]),backgroundImage="linear-gradient(".concat(value,", ").concat(value,"), ").concat('url(\'data:image/svg+xml;charset=utf-8,\')',", linear-gradient(#fff, #fff)");return react_default.a.createElement(SwatchColor,_extends({},props,{active:active,onClick:onClick,style:Object.assign({},style,{backgroundImage:backgroundImage})}))};Color_Swatch.displayName="Swatch";var ColorSpace,Input=Object(esm.styled)(esm_form.a.Input)((function(_ref4){return{width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:_ref4.theme.typography.fonts.base}})),ToggleIcon=Object(esm.styled)(icon.a)((function(_ref5){return{position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:_ref5.theme.input.color}}));!function(ColorSpace){ColorSpace.RGB="rgb",ColorSpace.HSL="hsl",ColorSpace.HEX="hex"}(ColorSpace||(ColorSpace={}));var COLOR_SPACES=Object.values(ColorSpace),COLOR_REGEXP=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,RGB_REGEXP=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,HSL_REGEXP=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,HEX_REGEXP=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,SHORTHEX_REGEXP=/^\s*#?([0-9a-f]{3})\s*$/i,ColorPicker=(_defineProperty(_ColorPicker={},ColorSpace.HEX,(function(r){return react_default.a.createElement($,index_module_l({},r,{colorModel:R}))})),_defineProperty(_ColorPicker,ColorSpace.RGB,(function(r){return react_default.a.createElement(Q,index_module_l({},r,{colorModel:he}))})),_defineProperty(_ColorPicker,ColorSpace.HSL,(function(r){return react_default.a.createElement(Q,index_module_l({},r,{colorModel:W}))})),_ColorPicker),fallbackColor=(_defineProperty(_fallbackColor={},ColorSpace.HEX,"transparent"),_defineProperty(_fallbackColor,ColorSpace.RGB,"rgba(0, 0, 0, 0)"),_defineProperty(_fallbackColor,ColorSpace.HSL,"hsla(0, 0%, 0%, 0)"),_fallbackColor),stringToArgs=function stringToArgs(value){var match=null==value?void 0:value.match(COLOR_REGEXP);if(!match)return[0,0,0,1];var _match=_slicedToArray(match,5),x=_match[1],y=_match[2],z=_match[3],_match$=_match[4];return[x,y,z,void 0===_match$?1:_match$].map(Number)},Color_parseValue=function parseValue(value){var _ref12;if(value){var valid=!0;if(RGB_REGEXP.test(value)){var _ref8,_stringToArgs2=_slicedToArray(stringToArgs(value),4),r=_stringToArgs2[0],g=_stringToArgs2[1],b=_stringToArgs2[2],a=_stringToArgs2[3],_ref7=_slicedToArray(color_convert_default.a.rgb.hsl([r,g,b])||[0,0,0],3),h=_ref7[0],s=_ref7[1],l=_ref7[2];return _defineProperty(_ref8={valid:valid,value:value,keyword:color_convert_default.a.rgb.keyword([r,g,b]),colorSpace:ColorSpace.RGB},ColorSpace.RGB,value),_defineProperty(_ref8,ColorSpace.HSL,"hsla(".concat(h,", ").concat(s,"%, ").concat(l,"%, ").concat(a,")")),_defineProperty(_ref8,ColorSpace.HEX,"#".concat(color_convert_default.a.rgb.hex([r,g,b]).toLowerCase())),_ref8}if(HSL_REGEXP.test(value)){var _ref11,_stringToArgs4=_slicedToArray(stringToArgs(value),4),_h=_stringToArgs4[0],_s2=_stringToArgs4[1],_l=_stringToArgs4[2],_a=_stringToArgs4[3],_ref10=_slicedToArray(color_convert_default.a.hsl.rgb([_h,_s2,_l])||[0,0,0],3),_r=_ref10[0],_g=_ref10[1],_b=_ref10[2];return _defineProperty(_ref11={valid:valid,value:value,keyword:color_convert_default.a.hsl.keyword([_h,_s2,_l]),colorSpace:ColorSpace.HSL},ColorSpace.RGB,"rgba(".concat(_r,", ").concat(_g,", ").concat(_b,", ").concat(_a,")")),_defineProperty(_ref11,ColorSpace.HSL,value),_defineProperty(_ref11,ColorSpace.HEX,"#".concat(color_convert_default.a.hsl.hex([_h,_s2,_l]).toLowerCase())),_ref11}var plain=value.replace("#",""),rgb=color_convert_default.a.keyword.rgb(plain)||color_convert_default.a.hex.rgb(plain),hsl=color_convert_default.a.rgb.hsl(rgb),mapped=value;if(/[^#a-f0-9]/i.test(value)?mapped=plain:HEX_REGEXP.test(value)&&(mapped="#".concat(plain)),mapped.startsWith("#"))valid=HEX_REGEXP.test(mapped);else try{color_convert_default.a.keyword.hex(mapped)}catch(e){valid=!1}return _defineProperty(_ref12={valid:valid,value:mapped,keyword:color_convert_default.a.rgb.keyword(rgb),colorSpace:ColorSpace.HEX},ColorSpace.RGB,"rgba(".concat(rgb[0],", ").concat(rgb[1],", ").concat(rgb[2],", 1)")),_defineProperty(_ref12,ColorSpace.HSL,"hsla(".concat(hsl[0],", ").concat(hsl[1],"%, ").concat(hsl[2],"%, 1)")),_defineProperty(_ref12,ColorSpace.HEX,mapped),_ref12}},Color_useColorInput=function useColorInput(initialValue,onChange){var _useState2=_slicedToArray(Object(react.useState)(initialValue||""),2),value=_useState2[0],setValue=_useState2[1],_useState4=_slicedToArray(Object(react.useState)((function(){return Color_parseValue(value)})),2),color=_useState4[0],setColor=_useState4[1],_useState6=_slicedToArray(Object(react.useState)((null==color?void 0:color.colorSpace)||ColorSpace.HEX),2),colorSpace=_useState6[0],setColorSpace=_useState6[1];Object(react.useEffect)((function(){void 0===initialValue&&(setValue(""),setColor(void 0),setColorSpace(ColorSpace.HEX))}),[initialValue]);var realValue=Object(react.useMemo)((function(){return function getRealValue(value,color,colorSpace){if(!value||null==color||!color.valid)return fallbackColor[colorSpace];if(colorSpace!==ColorSpace.HEX)return(null==color?void 0:color[colorSpace])||fallbackColor[colorSpace];if(!color.hex.startsWith("#"))try{return"#".concat(color_convert_default.a.keyword.hex(color.hex))}catch(e){return fallbackColor.hex}var short=color.hex.match(SHORTHEX_REGEXP);if(!short)return HEX_REGEXP.test(color.hex)?color.hex:fallbackColor.hex;var _short$1$split2=_slicedToArray(short[1].split(""),3),r=_short$1$split2[0],g=_short$1$split2[1],b=_short$1$split2[2];return"#".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b)}(value,color,colorSpace).toLowerCase()}),[value,color,colorSpace]),updateValue=Object(react.useCallback)((function(update){var parsed=Color_parseValue(update);setValue((null==parsed?void 0:parsed.value)||update||""),parsed&&(setColor(parsed),setColorSpace(parsed.colorSpace),onChange(parsed.value))}),[onChange]),cycleColorSpace=Object(react.useCallback)((function(){var next=COLOR_SPACES.indexOf(colorSpace)+1;next>=COLOR_SPACES.length&&(next=0),setColorSpace(COLOR_SPACES[next]);var update=(null==color?void 0:color[COLOR_SPACES[next]])||"";setValue(update),onChange(update)}),[color,colorSpace,onChange]);return{value:value,realValue:realValue,updateValue:updateValue,color:color,colorSpace:colorSpace,cycleColorSpace:cycleColorSpace}},id=function id(value){return value.replace(/\s*/,"").toLowerCase()},Color_ColorControl=function ColorControl(_ref13){var name=_ref13.name,initialValue=_ref13.value,onChange=_ref13.onChange,onFocus=_ref13.onFocus,onBlur=_ref13.onBlur,presetColors=_ref13.presetColors,startOpen=_ref13.startOpen,_useColorInput=Color_useColorInput(initialValue,throttle_default()(onChange,200)),value=_useColorInput.value,realValue=_useColorInput.realValue,updateValue=_useColorInput.updateValue,color=_useColorInput.color,colorSpace=_useColorInput.colorSpace,cycleColorSpace=_useColorInput.cycleColorSpace,_usePresets=function usePresets(presetColors,currentColor,colorSpace){var _useState8=_slicedToArray(Object(react.useState)(null!=currentColor&¤tColor.valid?[currentColor]:[]),2),selectedColors=_useState8[0],setSelectedColors=_useState8[1];Object(react.useEffect)((function(){void 0===currentColor&&setSelectedColors([])}),[currentColor]);var presets=Object(react.useMemo)((function(){return(presetColors||[]).map((function(preset){return"string"==typeof preset?Color_parseValue(preset):preset.title?Object.assign({},Color_parseValue(preset.color),{keyword:preset.title}):Color_parseValue(preset.color)})).concat(selectedColors).filter(Boolean).slice(-27)}),[presetColors,selectedColors]),addPreset=Object(react.useCallback)((function(color){null!=color&&color.valid&&(presets.some((function(preset){return id(preset[colorSpace])===id(color[colorSpace])}))||setSelectedColors((function(arr){return arr.concat(color)})))}),[colorSpace,presets]);return{presets:presets,addPreset:addPreset}}(presetColors,color,colorSpace),presets=_usePresets.presets,addPreset=_usePresets.addPreset,Picker=ColorPicker[colorSpace];return react_default.a.createElement(Wrapper,null,react_default.a.createElement(PickerTooltip,{trigger:"click",startOpen:startOpen,closeOnClick:!0,onVisibilityChange:function onVisibilityChange(){return addPreset(color)},tooltip:react_default.a.createElement(TooltipContent,null,react_default.a.createElement(Picker,{color:"transparent"===realValue?"#000000":realValue,onChange:updateValue,onFocus:onFocus,onBlur:onBlur}),presets.length>0&&react_default.a.createElement(Swatches,null,presets.map((function(preset,index){return react_default.a.createElement(lazy_WithTooltip.a,{key:"".concat(preset.value,"-").concat(index),hasChrome:!1,tooltip:react_default.a.createElement(Note,{note:preset.keyword||preset.value})},react_default.a.createElement(Color_Swatch,{value:preset[colorSpace],active:color&&id(preset[colorSpace])===id(color[colorSpace]),onClick:function onClick(){return updateValue(preset.value)}}))}))))},react_default.a.createElement(Color_Swatch,{value:realValue,style:{margin:4}})),react_default.a.createElement(Input,{id:Object(helpers.a)(name),value:value,onChange:function onChange(e){return updateValue(e.target.value)},onFocus:function onFocus(e){return e.target.select()},placeholder:"Choose color..."}),react_default.a.createElement(ToggleIcon,{icon:"markup",onClick:cycleColorSpace}))};Color_ColorControl.displayName="ColorControl";__webpack_exports__.default=Color_ColorControl},936:function(module,exports,__webpack_require__){const cssKeywords=__webpack_require__(978),reverseKeywords={};for(const key of Object.keys(cssKeywords))reverseKeywords[cssKeywords[key]]=key;const convert={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};module.exports=convert;for(const model of Object.keys(convert)){if(!("channels"in convert[model]))throw new Error("missing channels property: "+model);if(!("labels"in convert[model]))throw new Error("missing channel labels property: "+model);if(convert[model].labels.length!==convert[model].channels)throw new Error("channel and label counts mismatch: "+model);const{channels:channels,labels:labels}=convert[model];delete convert[model].channels,delete convert[model].labels,Object.defineProperty(convert[model],"channels",{value:channels}),Object.defineProperty(convert[model],"labels",{value:labels})}convert.rgb.hsl=function(rgb){const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min;let h,s;max===min?h=0:r===max?h=(g-b)/delta:g===max?h=2+(b-r)/delta:b===max&&(h=4+(r-g)/delta),h=Math.min(60*h,360),h<0&&(h+=360);const l=(min+max)/2;return s=max===min?0:l<=.5?delta/(max+min):delta/(2-max-min),[h,100*s,100*l]},convert.rgb.hsv=function(rgb){let rdif,gdif,bdif,h,s;const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,v=Math.max(r,g,b),diff=v-Math.min(r,g,b),diffc=function(c){return(v-c)/6/diff+.5};return 0===diff?(h=0,s=0):(s=diff/v,rdif=diffc(r),gdif=diffc(g),bdif=diffc(b),r===v?h=bdif-gdif:g===v?h=1/3+rdif-bdif:b===v&&(h=2/3+gdif-rdif),h<0?h+=1:h>1&&(h-=1)),[360*h,100*s,100*v]},convert.rgb.hwb=function(rgb){const r=rgb[0],g=rgb[1];let b=rgb[2];const h=convert.rgb.hsl(rgb)[0],w=1/255*Math.min(r,Math.min(g,b));return b=1-1/255*Math.max(r,Math.max(g,b)),[h,100*w,100*b]},convert.rgb.cmyk=function(rgb){const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,k=Math.min(1-r,1-g,1-b);return[100*((1-r-k)/(1-k)||0),100*((1-g-k)/(1-k)||0),100*((1-b-k)/(1-k)||0),100*k]},convert.rgb.keyword=function(rgb){const reversed=reverseKeywords[rgb];if(reversed)return reversed;let currentClosestKeyword,currentClosestDistance=1/0;for(const keyword of Object.keys(cssKeywords)){const value=cssKeywords[keyword],distance=(y=value,((x=rgb)[0]-y[0])**2+(x[1]-y[1])**2+(x[2]-y[2])**2);distance.04045?((r+.055)/1.055)**2.4:r/12.92,g=g>.04045?((g+.055)/1.055)**2.4:g/12.92,b=b>.04045?((b+.055)/1.055)**2.4:b/12.92;return[100*(.4124*r+.3576*g+.1805*b),100*(.2126*r+.7152*g+.0722*b),100*(.0193*r+.1192*g+.9505*b)]},convert.rgb.lab=function(rgb){const xyz=convert.rgb.xyz(rgb);let x=xyz[0],y=xyz[1],z=xyz[2];x/=95.047,y/=100,z/=108.883,x=x>.008856?x**(1/3):7.787*x+16/116,y=y>.008856?y**(1/3):7.787*y+16/116,z=z>.008856?z**(1/3):7.787*z+16/116;return[116*y-16,500*(x-y),200*(y-z)]},convert.hsl.rgb=function(hsl){const h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100;let t2,t3,val;if(0===s)return val=255*l,[val,val,val];t2=l<.5?l*(1+s):l+s-l*s;const t1=2*l-t2,rgb=[0,0,0];for(let i=0;i<3;i++)t3=h+1/3*-(i-1),t3<0&&t3++,t3>1&&t3--,val=6*t3<1?t1+6*(t2-t1)*t3:2*t3<1?t2:3*t3<2?t1+(t2-t1)*(2/3-t3)*6:t1,rgb[i]=255*val;return rgb},convert.hsl.hsv=function(hsl){const h=hsl[0];let s=hsl[1]/100,l=hsl[2]/100,smin=s;const lmin=Math.max(l,.01);l*=2,s*=l<=1?l:2-l,smin*=lmin<=1?lmin:2-lmin;return[h,100*(0===l?2*smin/(lmin+smin):2*s/(l+s)),100*((l+s)/2)]},convert.hsv.rgb=function(hsv){const h=hsv[0]/60,s=hsv[1]/100;let v=hsv[2]/100;const hi=Math.floor(h)%6,f=h-Math.floor(h),p=255*v*(1-s),q=255*v*(1-s*f),t=255*v*(1-s*(1-f));switch(v*=255,hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}},convert.hsv.hsl=function(hsv){const h=hsv[0],s=hsv[1]/100,v=hsv[2]/100,vmin=Math.max(v,.01);let sl,l;l=(2-s)*v;const lmin=(2-s)*vmin;return sl=s*vmin,sl/=lmin<=1?lmin:2-lmin,sl=sl||0,l/=2,[h,100*sl,100*l]},convert.hwb.rgb=function(hwb){const h=hwb[0]/360;let wh=hwb[1]/100,bl=hwb[2]/100;const ratio=wh+bl;let f;ratio>1&&(wh/=ratio,bl/=ratio);const i=Math.floor(6*h),v=1-bl;f=6*h-i,0!=(1&i)&&(f=1-f);const n=wh+f*(v-wh);let r,g,b;switch(i){default:case 6:case 0:r=v,g=n,b=wh;break;case 1:r=n,g=v,b=wh;break;case 2:r=wh,g=v,b=n;break;case 3:r=wh,g=n,b=v;break;case 4:r=n,g=wh,b=v;break;case 5:r=v,g=wh,b=n}return[255*r,255*g,255*b]},convert.cmyk.rgb=function(cmyk){const c=cmyk[0]/100,m=cmyk[1]/100,y=cmyk[2]/100,k=cmyk[3]/100;return[255*(1-Math.min(1,c*(1-k)+k)),255*(1-Math.min(1,m*(1-k)+k)),255*(1-Math.min(1,y*(1-k)+k))]},convert.xyz.rgb=function(xyz){const x=xyz[0]/100,y=xyz[1]/100,z=xyz[2]/100;let r,g,b;return r=3.2406*x+-1.5372*y+-.4986*z,g=-.9689*x+1.8758*y+.0415*z,b=.0557*x+-.204*y+1.057*z,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,g=g>.0031308?1.055*g**(1/2.4)-.055:12.92*g,b=b>.0031308?1.055*b**(1/2.4)-.055:12.92*b,r=Math.min(Math.max(0,r),1),g=Math.min(Math.max(0,g),1),b=Math.min(Math.max(0,b),1),[255*r,255*g,255*b]},convert.xyz.lab=function(xyz){let x=xyz[0],y=xyz[1],z=xyz[2];x/=95.047,y/=100,z/=108.883,x=x>.008856?x**(1/3):7.787*x+16/116,y=y>.008856?y**(1/3):7.787*y+16/116,z=z>.008856?z**(1/3):7.787*z+16/116;return[116*y-16,500*(x-y),200*(y-z)]},convert.lab.xyz=function(lab){let x,y,z;y=(lab[0]+16)/116,x=lab[1]/500+y,z=y-lab[2]/200;const y2=y**3,x2=x**3,z2=z**3;return y=y2>.008856?y2:(y-16/116)/7.787,x=x2>.008856?x2:(x-16/116)/7.787,z=z2>.008856?z2:(z-16/116)/7.787,x*=95.047,y*=100,z*=108.883,[x,y,z]},convert.lab.lch=function(lab){const l=lab[0],a=lab[1],b=lab[2];let h;h=360*Math.atan2(b,a)/2/Math.PI,h<0&&(h+=360);return[l,Math.sqrt(a*a+b*b),h]},convert.lch.lab=function(lch){const l=lch[0],c=lch[1],hr=lch[2]/360*2*Math.PI;return[l,c*Math.cos(hr),c*Math.sin(hr)]},convert.rgb.ansi16=function(args,saturation=null){const[r,g,b]=args;let value=null===saturation?convert.rgb.hsv(args)[2]:saturation;if(value=Math.round(value/50),0===value)return 30;let ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));return 2===value&&(ansi+=60),ansi},convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])},convert.rgb.ansi256=function(args){const r=args[0],g=args[1],b=args[2];if(r===g&&g===b)return r<8?16:r>248?231:Math.round((r-8)/247*24)+232;return 16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5)},convert.ansi16.rgb=function(args){let color=args%10;if(0===color||7===color)return args>50&&(color+=3.5),color=color/10.5*255,[color,color,color];const mult=.5*(1+~~(args>50));return[(1&color)*mult*255,(color>>1&1)*mult*255,(color>>2&1)*mult*255]},convert.ansi256.rgb=function(args){if(args>=232){const c=10*(args-232)+8;return[c,c,c]}let rem;args-=16;return[Math.floor(args/36)/5*255,Math.floor((rem=args%36)/6)/5*255,rem%6/5*255]},convert.rgb.hex=function(args){const string=(((255&Math.round(args[0]))<<16)+((255&Math.round(args[1]))<<8)+(255&Math.round(args[2]))).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.hex.rgb=function(args){const match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match)return[0,0,0];let colorString=match[0];3===match[0].length&&(colorString=colorString.split("").map((char=>char+char)).join(""));const integer=parseInt(colorString,16);return[integer>>16&255,integer>>8&255,255&integer]},convert.rgb.hcg=function(rgb){const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,max=Math.max(Math.max(r,g),b),min=Math.min(Math.min(r,g),b),chroma=max-min;let grayscale,hue;return grayscale=chroma<1?min/(1-chroma):0,hue=chroma<=0?0:max===r?(g-b)/chroma%6:max===g?2+(b-r)/chroma:4+(r-g)/chroma,hue/=6,hue%=1,[360*hue,100*chroma,100*grayscale]},convert.hsl.hcg=function(hsl){const s=hsl[1]/100,l=hsl[2]/100,c=l<.5?2*s*l:2*s*(1-l);let f=0;return c<1&&(f=(l-.5*c)/(1-c)),[hsl[0],100*c,100*f]},convert.hsv.hcg=function(hsv){const s=hsv[1]/100,v=hsv[2]/100,c=s*v;let f=0;return c<1&&(f=(v-c)/(1-c)),[hsv[0],100*c,100*f]},convert.hcg.rgb=function(hcg){const h=hcg[0]/360,c=hcg[1]/100,g=hcg[2]/100;if(0===c)return[255*g,255*g,255*g];const pure=[0,0,0],hi=h%1*6,v=hi%1,w=1-v;let mg=0;switch(Math.floor(hi)){case 0:pure[0]=1,pure[1]=v,pure[2]=0;break;case 1:pure[0]=w,pure[1]=1,pure[2]=0;break;case 2:pure[0]=0,pure[1]=1,pure[2]=v;break;case 3:pure[0]=0,pure[1]=w,pure[2]=1;break;case 4:pure[0]=v,pure[1]=0,pure[2]=1;break;default:pure[0]=1,pure[1]=0,pure[2]=w}return mg=(1-c)*g,[255*(c*pure[0]+mg),255*(c*pure[1]+mg),255*(c*pure[2]+mg)]},convert.hcg.hsv=function(hcg){const c=hcg[1]/100,v=c+hcg[2]/100*(1-c);let f=0;return v>0&&(f=c/v),[hcg[0],100*f,100*v]},convert.hcg.hsl=function(hcg){const c=hcg[1]/100,l=hcg[2]/100*(1-c)+.5*c;let s=0;return l>0&&l<.5?s=c/(2*l):l>=.5&&l<1&&(s=c/(2*(1-l))),[hcg[0],100*s,100*l]},convert.hcg.hwb=function(hcg){const c=hcg[1]/100,v=c+hcg[2]/100*(1-c);return[hcg[0],100*(v-c),100*(1-v)]},convert.hwb.hcg=function(hwb){const w=hwb[1]/100,v=1-hwb[2]/100,c=v-w;let g=0;return c<1&&(g=(v-c)/(1-c)),[hwb[0],100*c,100*g]},convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]},convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]},convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]},convert.gray.hsl=function(args){return[0,0,args[0]]},convert.gray.hsv=convert.gray.hsl,convert.gray.hwb=function(gray){return[0,100,gray[0]]},convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]},convert.gray.lab=function(gray){return[gray[0],0,0]},convert.gray.hex=function(gray){const val=255&Math.round(gray[0]/100*255),string=((val<<16)+(val<<8)+val).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.rgb.gray=function(rgb){return[(rgb[0]+rgb[1]+rgb[2])/3/255*100]}},977:function(module,exports,__webpack_require__){const conversions=__webpack_require__(936),route=__webpack_require__(979),convert={};Object.keys(conversions).forEach((fromModel=>{convert[fromModel]={},Object.defineProperty(convert[fromModel],"channels",{value:conversions[fromModel].channels}),Object.defineProperty(convert[fromModel],"labels",{value:conversions[fromModel].labels});const routes=route(fromModel);Object.keys(routes).forEach((toModel=>{const fn=routes[toModel];convert[fromModel][toModel]=function wrapRounded(fn){const wrappedFn=function(...args){const arg0=args[0];if(null==arg0)return arg0;arg0.length>1&&(args=arg0);const result=fn(args);if("object"==typeof result)for(let len=result.length,i=0;i1&&(args=arg0),fn(args))};return"conversion"in fn&&(wrappedFn.conversion=fn.conversion),wrappedFn}(fn)}))})),module.exports=convert},978:function(module,exports,__webpack_require__){"use strict";module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},979:function(module,exports,__webpack_require__){const conversions=__webpack_require__(936);function deriveBFS(fromModel){const graph=function buildGraph(){const graph={},models=Object.keys(conversions);for(let len=models.length,i=0;i=wait||timeSinceLastCall<0||maxing&&time-lastInvokeTime>=maxWait}function timerExpired(){var time=now();if(shouldInvoke(time))return trailingEdge(time);timerId=setTimeout(timerExpired,function remainingWait(time){var timeWaiting=wait-(time-lastCallTime);return maxing?nativeMin(timeWaiting,maxWait-(time-lastInvokeTime)):timeWaiting}(time))}function trailingEdge(time){return timerId=void 0,trailing&&lastArgs?invokeFunc(time):(lastArgs=lastThis=void 0,result)}function debounced(){var time=now(),isInvoking=shouldInvoke(time);if(lastArgs=arguments,lastThis=this,lastCallTime=time,isInvoking){if(void 0===timerId)return leadingEdge(lastCallTime);if(maxing)return clearTimeout(timerId),timerId=setTimeout(timerExpired,wait),invokeFunc(lastCallTime)}return void 0===timerId&&(timerId=setTimeout(timerExpired,wait)),result}return wait=toNumber(wait)||0,isObject(options)&&(leading=!!options.leading,maxWait=(maxing="maxWait"in options)?nativeMax(toNumber(options.maxWait)||0,wait):maxWait,trailing="trailing"in options?!!options.trailing:trailing),debounced.cancel=function cancel(){void 0!==timerId&&clearTimeout(timerId),lastInvokeTime=0,lastArgs=lastCallTime=lastThis=timerId=void 0},debounced.flush=function flush(){return void 0===timerId?result:trailingEdge(now())},debounced}},982:function(module,exports,__webpack_require__){var root=__webpack_require__(89);module.exports=function(){return root.Date.now()}},983:function(module,exports,__webpack_require__){var baseTrim=__webpack_require__(984),isObject=__webpack_require__(118),isSymbol=__webpack_require__(245),reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;module.exports=function toNumber(value){if("number"==typeof value)return value;if(isSymbol(value))return NaN;if(isObject(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=baseTrim(value);var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NaN:+value}},984:function(module,exports,__webpack_require__){var trimmedEndIndex=__webpack_require__(985),reTrimStart=/^\s+/;module.exports=function baseTrim(string){return string?string.slice(0,trimmedEndIndex(string)+1).replace(reTrimStart,""):string}},985:function(module,exports){var reWhitespace=/\s/;module.exports=function trimmedEndIndex(string){for(var index=string.length;index--&&reWhitespace.test(string.charAt(index)););return index}}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{503:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return TooltipNote}));__webpack_require__(134),__webpack_require__(26),__webpack_require__(8);var react__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);function _objectWithoutProperties(source,excluded){if(null==source)return{};var key,i,target=function _objectWithoutPropertiesLoose(source,excluded){if(null==source)return{};var key,i,target={},sourceKeys=Object.keys(source);for(i=0;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var Note=__webpack_require__(2).styled.div((function(_ref){var theme=_ref.theme;return{padding:"2px 6px",lineHeight:"16px",fontSize:10,fontWeight:theme.typography.weight.bold,color:theme.color.lightest,boxShadow:"0 0 5px 0 rgba(0, 0, 0, 0.3)",borderRadius:4,whiteSpace:"nowrap",pointerEvents:"none",zIndex:-1,background:"rgba(0, 0, 0, 0.4)",margin:6}})),TooltipNote=function TooltipNote(_ref2){var note=_ref2.note,props=_objectWithoutProperties(_ref2,["note"]);return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Note,props,note)};TooltipNote.displayName="TooltipNote"},907:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"ColorControl",(function(){return Color_ColorControl}));__webpack_require__(26),__webpack_require__(8),__webpack_require__(12),__webpack_require__(11),__webpack_require__(22),__webpack_require__(16),__webpack_require__(13),__webpack_require__(15),__webpack_require__(27),__webpack_require__(24),__webpack_require__(20),__webpack_require__(133),__webpack_require__(105),__webpack_require__(33),__webpack_require__(28),__webpack_require__(159),__webpack_require__(54),__webpack_require__(158),__webpack_require__(79),__webpack_require__(14),__webpack_require__(45),__webpack_require__(10);var react=__webpack_require__(1),react_default=__webpack_require__.n(react);function index_module_l(){return(index_module_l=Object.assign||function(e){for(var r=1;r=0||(n[t]=e[t]);return n}var index_module_c="undefined"!=typeof window?react.useLayoutEffect:react.useEffect;function index_module_i(e){var r=Object(react.useRef)(e);return Object(react.useEffect)((function(){r.current=e})),Object(react.useCallback)((function(e){return r.current&&r.current(e)}),[])}var index_module_s,index_module_f=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=1),e>t?t:e0:e.buttons>0)&&m.current?C(index_module_d(m.current,e)):_(!1)}),[C]),H=Object(react.useCallback)((function(e){var r,t=e.nativeEvent,o=m.current;index_module_h(t),r=t,g.current&&!index_module_v(r)||(g.current||(g.current=index_module_v(r)),0)||!o||(o.focus(),C(index_module_d(o,t)),_(!0))}),[C]),M=Object(react.useCallback)((function(e){var r=e.which||e.keyCode;r<37||r>40||(e.preventDefault(),x({left:39===r?.05:37===r?-.05:0,top:40===r?.05:38===r?-.05:0}))}),[x]),N=Object(react.useCallback)((function(){return _(!1)}),[]),w=Object(react.useCallback)((function(e){var r=e?window.addEventListener:window.removeEventListener;r(g.current?"touchmove":"mousemove",E),r(g.current?"touchend":"mouseup",N)}),[E,N]);return index_module_c((function(){return w(b),function(){b&&w(!1)}}),[b,w]),react_default.a.createElement("div",index_module_l({},f,{className:"react-colorful__interactive",ref:m,onTouchStart:H,onMouseDown:H,onKeyDown:M,tabIndex:0,role:"slider"}))})),index_module_g=function(e){return e.filter(Boolean).join(" ")},index_module_p=function(r){var t=r.color,o=r.left,n=r.top,a=void 0===n?.5:n,l=index_module_g(["react-colorful__pointer",r.className]);return react_default.a.createElement("div",{className:l,style:{top:100*a+"%",left:100*o+"%"}},react_default.a.createElement("div",{className:"react-colorful__pointer-fill",style:{backgroundColor:t}}))},index_module_b=function(e,r,t){return void 0===r&&(r=0),void 0===t&&(t=Math.pow(10,r)),Math.round(t*e)/t},index_module_={grad:.9,turn:360,rad:360/(2*Math.PI)},index_module_C=function(e){return"#"===e[0]&&(e=e.substr(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:1}:{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:1}},index_module_x=function(e,r){return void 0===r&&(r="deg"),Number(e)*(index_module_[r]||1)},index_module_E=function(e){var r=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?index_module_M({h:index_module_x(r[1],r[2]),s:Number(r[3]),l:Number(r[4]),a:void 0===r[5]?1:Number(r[5])/(r[6]?100:1)}):{h:0,s:0,v:0,a:1}},index_module_M=function(e){var r=e.s,t=e.l;return{h:e.h,s:(r*=(t<50?t:100-t)/100)>0?2*r/(t+r)*100:0,v:t+r,a:e.a}},index_module_N=function(e){var r=e.s,t=e.v,o=e.a,n=(200-r)*t/100;return{h:index_module_b(e.h),s:index_module_b(n>0&&n<200?r*t/100/(n<=100?n:200-n)*100:0),l:index_module_b(n/2),a:index_module_b(o,2)}},index_module_w=function(e){var r=index_module_N(e);return"hsl("+r.h+", "+r.s+"%, "+r.l+"%)"},y=function(e){var r=index_module_N(e);return"hsla("+r.h+", "+r.s+"%, "+r.l+"%, "+r.a+")"},q=function(e){var r=e.h,t=e.s,o=e.v,n=e.a;r=r/360*6,t/=100,o/=100;var a=Math.floor(r),l=o*(1-t),u=o*(1-(r-a)*t),c=o*(1-(1-r+a)*t),i=a%6;return{r:index_module_b(255*[o,u,l,l,c,o][i]),g:index_module_b(255*[c,o,o,u,l,l][i]),b:index_module_b(255*[l,l,c,o,o,u][i]),a:index_module_b(n,2)}},I=function(e){var r=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return r?B({r:Number(r[1])/(r[2]?100/255:1),g:Number(r[3])/(r[4]?100/255:1),b:Number(r[5])/(r[6]?100/255:1),a:void 0===r[7]?1:Number(r[7])/(r[8]?100:1)}):{h:0,s:0,v:0,a:1}},z=function(e){var r=e.toString(16);return r.length<2?"0"+r:r},B=function(e){var r=e.r,t=e.g,o=e.b,n=e.a,a=Math.max(r,t,o),l=a-Math.min(r,t,o),u=l?a===r?(t-o)/l:a===t?2+(o-r)/l:4+(r-t)/l:0;return{h:index_module_b(60*(u<0?u+6:u)),s:index_module_b(a?l/a*100:0),v:index_module_b(a/255*100),a:n}},A=react_default.a.memo((function(r){var t=r.hue,o=r.onChange,n=index_module_g(["react-colorful__hue",r.className]);return react_default.a.createElement("div",{className:n},react_default.a.createElement(index_module_m,{onMove:function(e){o({h:360*e.left})},onKey:function(e){o({h:index_module_f(t+360*e.left,0,360)})},"aria-label":"Hue","aria-valuetext":index_module_b(t)},react_default.a.createElement(index_module_p,{className:"react-colorful__hue-pointer",left:t/360,color:index_module_w({h:t,s:100,v:100,a:1})})))})),L=react_default.a.memo((function(r){var t=r.hsva,o=r.onChange,n={backgroundColor:index_module_w({h:t.h,s:100,v:100,a:1})};return react_default.a.createElement("div",{className:"react-colorful__saturation",style:n},react_default.a.createElement(index_module_m,{onMove:function(e){o({s:100*e.left,v:100-100*e.top})},onKey:function(e){o({s:index_module_f(t.s+100*e.left,0,100),v:index_module_f(t.v-100*e.top,0,100)})},"aria-label":"Color","aria-valuetext":"Saturation "+index_module_b(t.s)+"%, Brightness "+index_module_b(t.v)+"%"},react_default.a.createElement(index_module_p,{className:"react-colorful__saturation-pointer",top:1-t.v/100,left:t.s/100,color:index_module_w(t)})))})),D=function(e,r){if(e===r)return!0;for(var t in e)if(e[t]!==r[t])return!1;return!0},F=function(e,r){return e.replace(/\s/g,"")===r.replace(/\s/g,"")};function S(e,r,l){var u=index_module_i(l),c=Object(react.useState)((function(){return e.toHsva(r)})),s=c[0],f=c[1],v=Object(react.useRef)({color:r,hsva:s});Object(react.useEffect)((function(){if(!e.equal(r,v.current.color)){var t=e.toHsva(r);v.current={hsva:t,color:r},f(t)}}),[r,e]),Object(react.useEffect)((function(){var r;D(s,v.current.hsva)||e.equal(r=e.fromHsva(s),v.current.color)||(v.current={hsva:s,color:r},u(r))}),[s,e,u]);var d=Object(react.useCallback)((function(e){f((function(r){return Object.assign({},r,e)}))}),[]);return[s,d]}var P,_ColorPicker,_fallbackColor,Y=function(){index_module_c((function(){if("undefined"!=typeof document&&!P){(P=document.createElement("style")).innerHTML='.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url(\'data:image/svg+xml;charset=utf-8,\')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}';var e=index_module_s||__webpack_require__.nc;e&&P.setAttribute("nonce",e),document.head.appendChild(P)}}),[])},$=function(r){var t=r.className,o=r.colorModel,n=r.color,a=void 0===n?o.defaultColor:n,c=r.onChange,i=index_module_u(r,["className","colorModel","color","onChange"]);Y();var s=S(o,a,c),f=s[0],v=s[1],d=index_module_g(["react-colorful",t]);return react_default.a.createElement("div",index_module_l({},i,{className:d}),react_default.a.createElement(L,{hsva:f,onChange:v}),react_default.a.createElement(A,{hue:f.h,onChange:v,className:"react-colorful__last-control"}))},R={defaultColor:"000",toHsva:function(e){return B(index_module_C(e))},fromHsva:function(e){return t=(r=q(e)).g,o=r.b,"#"+z(r.r)+z(t)+z(o);var r,t,o},equal:function(e,r){return e.toLowerCase()===r.toLowerCase()||D(index_module_C(e),index_module_C(r))}},J=function(r){var t=r.className,o=r.hsva,n=r.onChange,a={backgroundImage:"linear-gradient(90deg, "+y(Object.assign({},o,{a:0}))+", "+y(Object.assign({},o,{a:1}))+")"},l=index_module_g(["react-colorful__alpha",t]);return react_default.a.createElement("div",{className:l},react_default.a.createElement("div",{className:"react-colorful__alpha-gradient",style:a}),react_default.a.createElement(index_module_m,{onMove:function(e){n({a:e.left})},onKey:function(e){n({a:index_module_f(o.a+e.left)})},"aria-label":"Alpha","aria-valuetext":index_module_b(100*o.a)+"%"},react_default.a.createElement(index_module_p,{className:"react-colorful__alpha-pointer",left:o.a,color:y(o)})))},Q=function(r){var t=r.className,o=r.colorModel,n=r.color,a=void 0===n?o.defaultColor:n,c=r.onChange,i=index_module_u(r,["className","colorModel","color","onChange"]);Y();var s=S(o,a,c),f=s[0],v=s[1],d=index_module_g(["react-colorful",t]);return react_default.a.createElement("div",index_module_l({},i,{className:d}),react_default.a.createElement(L,{hsva:f,onChange:v}),react_default.a.createElement(A,{hue:f.h,onChange:v}),react_default.a.createElement(J,{hsva:f,onChange:v,className:"react-colorful__last-control"}))},W={defaultColor:"hsla(0, 0%, 0%, 1)",toHsva:index_module_E,fromHsva:y,equal:F},he={defaultColor:"rgba(0, 0, 0, 1)",toHsva:I,fromHsva:function(e){var r=q(e);return"rgba("+r.r+", "+r.g+", "+r.b+", "+r.a+")"},equal:F},color_convert=__webpack_require__(977),color_convert_default=__webpack_require__.n(color_convert),throttle=__webpack_require__(980),throttle_default=__webpack_require__.n(throttle),esm=__webpack_require__(2),TooltipNote=__webpack_require__(503),lazy_WithTooltip=__webpack_require__(176),esm_form=__webpack_require__(56),icon=__webpack_require__(49),helpers=__webpack_require__(48);function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var Wrapper=esm.styled.div({position:"relative",maxWidth:250}),PickerTooltip=Object(esm.styled)(lazy_WithTooltip.a)({position:"absolute",zIndex:1,top:4,left:4}),TooltipContent=esm.styled.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:"4px 4px 0 0"},".react-colorful__hue":{boxShadow:"inset 0 0 0 1px rgb(0 0 0 / 5%)"},".react-colorful__last-control":{borderRadius:"0 0 4px 4px"}}),Note=Object(esm.styled)(TooltipNote.a)((function(_ref){return{fontFamily:_ref.theme.typography.fonts.base}})),Swatches=esm.styled.div({display:"grid",gridTemplateColumns:"repeat(9, 16px)",gap:6,padding:3,marginTop:5,width:200}),SwatchColor=esm.styled.div((function(_ref2){var theme=_ref2.theme;return{width:16,height:16,boxShadow:_ref2.active?"".concat(theme.appBorderColor," 0 0 0 1px inset, ").concat(theme.color.mediumdark,"50 0 0 0 4px"):"".concat(theme.appBorderColor," 0 0 0 1px inset"),borderRadius:theme.appBorderRadius}})),Color_Swatch=function Swatch(_ref3){var value=_ref3.value,active=_ref3.active,onClick=_ref3.onClick,style=_ref3.style,props=_objectWithoutProperties(_ref3,["value","active","onClick","style"]),backgroundImage="linear-gradient(".concat(value,", ").concat(value,"), ").concat('url(\'data:image/svg+xml;charset=utf-8,\')',", linear-gradient(#fff, #fff)");return react_default.a.createElement(SwatchColor,_extends({},props,{active:active,onClick:onClick,style:Object.assign({},style,{backgroundImage:backgroundImage})}))};Color_Swatch.displayName="Swatch";var ColorSpace,Input=Object(esm.styled)(esm_form.a.Input)((function(_ref4){return{width:"100%",paddingLeft:30,paddingRight:30,boxSizing:"border-box",fontFamily:_ref4.theme.typography.fonts.base}})),ToggleIcon=Object(esm.styled)(icon.a)((function(_ref5){return{position:"absolute",zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:"border-box",cursor:"pointer",color:_ref5.theme.input.color}}));!function(ColorSpace){ColorSpace.RGB="rgb",ColorSpace.HSL="hsl",ColorSpace.HEX="hex"}(ColorSpace||(ColorSpace={}));var COLOR_SPACES=Object.values(ColorSpace),COLOR_REGEXP=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,RGB_REGEXP=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,HSL_REGEXP=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,HEX_REGEXP=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,SHORTHEX_REGEXP=/^\s*#?([0-9a-f]{3})\s*$/i,ColorPicker=(_defineProperty(_ColorPicker={},ColorSpace.HEX,(function(r){return react_default.a.createElement($,index_module_l({},r,{colorModel:R}))})),_defineProperty(_ColorPicker,ColorSpace.RGB,(function(r){return react_default.a.createElement(Q,index_module_l({},r,{colorModel:he}))})),_defineProperty(_ColorPicker,ColorSpace.HSL,(function(r){return react_default.a.createElement(Q,index_module_l({},r,{colorModel:W}))})),_ColorPicker),fallbackColor=(_defineProperty(_fallbackColor={},ColorSpace.HEX,"transparent"),_defineProperty(_fallbackColor,ColorSpace.RGB,"rgba(0, 0, 0, 0)"),_defineProperty(_fallbackColor,ColorSpace.HSL,"hsla(0, 0%, 0%, 0)"),_fallbackColor),stringToArgs=function stringToArgs(value){var match=null==value?void 0:value.match(COLOR_REGEXP);if(!match)return[0,0,0,1];var _match=_slicedToArray(match,5),x=_match[1],y=_match[2],z=_match[3],_match$=_match[4];return[x,y,z,void 0===_match$?1:_match$].map(Number)},Color_parseValue=function parseValue(value){var _ref12;if(value){var valid=!0;if(RGB_REGEXP.test(value)){var _ref8,_stringToArgs2=_slicedToArray(stringToArgs(value),4),r=_stringToArgs2[0],g=_stringToArgs2[1],b=_stringToArgs2[2],a=_stringToArgs2[3],_ref7=_slicedToArray(color_convert_default.a.rgb.hsl([r,g,b])||[0,0,0],3),h=_ref7[0],s=_ref7[1],l=_ref7[2];return _defineProperty(_ref8={valid:valid,value:value,keyword:color_convert_default.a.rgb.keyword([r,g,b]),colorSpace:ColorSpace.RGB},ColorSpace.RGB,value),_defineProperty(_ref8,ColorSpace.HSL,"hsla(".concat(h,", ").concat(s,"%, ").concat(l,"%, ").concat(a,")")),_defineProperty(_ref8,ColorSpace.HEX,"#".concat(color_convert_default.a.rgb.hex([r,g,b]).toLowerCase())),_ref8}if(HSL_REGEXP.test(value)){var _ref11,_stringToArgs4=_slicedToArray(stringToArgs(value),4),_h=_stringToArgs4[0],_s2=_stringToArgs4[1],_l=_stringToArgs4[2],_a=_stringToArgs4[3],_ref10=_slicedToArray(color_convert_default.a.hsl.rgb([_h,_s2,_l])||[0,0,0],3),_r=_ref10[0],_g=_ref10[1],_b=_ref10[2];return _defineProperty(_ref11={valid:valid,value:value,keyword:color_convert_default.a.hsl.keyword([_h,_s2,_l]),colorSpace:ColorSpace.HSL},ColorSpace.RGB,"rgba(".concat(_r,", ").concat(_g,", ").concat(_b,", ").concat(_a,")")),_defineProperty(_ref11,ColorSpace.HSL,value),_defineProperty(_ref11,ColorSpace.HEX,"#".concat(color_convert_default.a.hsl.hex([_h,_s2,_l]).toLowerCase())),_ref11}var plain=value.replace("#",""),rgb=color_convert_default.a.keyword.rgb(plain)||color_convert_default.a.hex.rgb(plain),hsl=color_convert_default.a.rgb.hsl(rgb),mapped=value;if(/[^#a-f0-9]/i.test(value)?mapped=plain:HEX_REGEXP.test(value)&&(mapped="#".concat(plain)),mapped.startsWith("#"))valid=HEX_REGEXP.test(mapped);else try{color_convert_default.a.keyword.hex(mapped)}catch(e){valid=!1}return _defineProperty(_ref12={valid:valid,value:mapped,keyword:color_convert_default.a.rgb.keyword(rgb),colorSpace:ColorSpace.HEX},ColorSpace.RGB,"rgba(".concat(rgb[0],", ").concat(rgb[1],", ").concat(rgb[2],", 1)")),_defineProperty(_ref12,ColorSpace.HSL,"hsla(".concat(hsl[0],", ").concat(hsl[1],"%, ").concat(hsl[2],"%, 1)")),_defineProperty(_ref12,ColorSpace.HEX,mapped),_ref12}},Color_useColorInput=function useColorInput(initialValue,onChange){var _useState2=_slicedToArray(Object(react.useState)(initialValue||""),2),value=_useState2[0],setValue=_useState2[1],_useState4=_slicedToArray(Object(react.useState)((function(){return Color_parseValue(value)})),2),color=_useState4[0],setColor=_useState4[1],_useState6=_slicedToArray(Object(react.useState)((null==color?void 0:color.colorSpace)||ColorSpace.HEX),2),colorSpace=_useState6[0],setColorSpace=_useState6[1];Object(react.useEffect)((function(){void 0===initialValue&&(setValue(""),setColor(void 0),setColorSpace(ColorSpace.HEX))}),[initialValue]);var realValue=Object(react.useMemo)((function(){return function getRealValue(value,color,colorSpace){if(!value||null==color||!color.valid)return fallbackColor[colorSpace];if(colorSpace!==ColorSpace.HEX)return(null==color?void 0:color[colorSpace])||fallbackColor[colorSpace];if(!color.hex.startsWith("#"))try{return"#".concat(color_convert_default.a.keyword.hex(color.hex))}catch(e){return fallbackColor.hex}var short=color.hex.match(SHORTHEX_REGEXP);if(!short)return HEX_REGEXP.test(color.hex)?color.hex:fallbackColor.hex;var _short$1$split2=_slicedToArray(short[1].split(""),3),r=_short$1$split2[0],g=_short$1$split2[1],b=_short$1$split2[2];return"#".concat(r).concat(r).concat(g).concat(g).concat(b).concat(b)}(value,color,colorSpace).toLowerCase()}),[value,color,colorSpace]),updateValue=Object(react.useCallback)((function(update){var parsed=Color_parseValue(update);setValue((null==parsed?void 0:parsed.value)||update||""),parsed&&(setColor(parsed),setColorSpace(parsed.colorSpace),onChange(parsed.value))}),[onChange]),cycleColorSpace=Object(react.useCallback)((function(){var next=COLOR_SPACES.indexOf(colorSpace)+1;next>=COLOR_SPACES.length&&(next=0),setColorSpace(COLOR_SPACES[next]);var update=(null==color?void 0:color[COLOR_SPACES[next]])||"";setValue(update),onChange(update)}),[color,colorSpace,onChange]);return{value:value,realValue:realValue,updateValue:updateValue,color:color,colorSpace:colorSpace,cycleColorSpace:cycleColorSpace}},id=function id(value){return value.replace(/\s*/,"").toLowerCase()},Color_ColorControl=function ColorControl(_ref13){var name=_ref13.name,initialValue=_ref13.value,onChange=_ref13.onChange,onFocus=_ref13.onFocus,onBlur=_ref13.onBlur,presetColors=_ref13.presetColors,startOpen=_ref13.startOpen,_useColorInput=Color_useColorInput(initialValue,throttle_default()(onChange,200)),value=_useColorInput.value,realValue=_useColorInput.realValue,updateValue=_useColorInput.updateValue,color=_useColorInput.color,colorSpace=_useColorInput.colorSpace,cycleColorSpace=_useColorInput.cycleColorSpace,_usePresets=function usePresets(presetColors,currentColor,colorSpace){var _useState8=_slicedToArray(Object(react.useState)(null!=currentColor&¤tColor.valid?[currentColor]:[]),2),selectedColors=_useState8[0],setSelectedColors=_useState8[1];Object(react.useEffect)((function(){void 0===currentColor&&setSelectedColors([])}),[currentColor]);var presets=Object(react.useMemo)((function(){return(presetColors||[]).map((function(preset){return"string"==typeof preset?Color_parseValue(preset):preset.title?Object.assign({},Color_parseValue(preset.color),{keyword:preset.title}):Color_parseValue(preset.color)})).concat(selectedColors).filter(Boolean).slice(-27)}),[presetColors,selectedColors]),addPreset=Object(react.useCallback)((function(color){null!=color&&color.valid&&(presets.some((function(preset){return id(preset[colorSpace])===id(color[colorSpace])}))||setSelectedColors((function(arr){return arr.concat(color)})))}),[colorSpace,presets]);return{presets:presets,addPreset:addPreset}}(presetColors,color,colorSpace),presets=_usePresets.presets,addPreset=_usePresets.addPreset,Picker=ColorPicker[colorSpace];return react_default.a.createElement(Wrapper,null,react_default.a.createElement(PickerTooltip,{trigger:"click",startOpen:startOpen,closeOnClick:!0,onVisibilityChange:function onVisibilityChange(){return addPreset(color)},tooltip:react_default.a.createElement(TooltipContent,null,react_default.a.createElement(Picker,{color:"transparent"===realValue?"#000000":realValue,onChange:updateValue,onFocus:onFocus,onBlur:onBlur}),presets.length>0&&react_default.a.createElement(Swatches,null,presets.map((function(preset,index){return react_default.a.createElement(lazy_WithTooltip.a,{key:"".concat(preset.value,"-").concat(index),hasChrome:!1,tooltip:react_default.a.createElement(Note,{note:preset.keyword||preset.value})},react_default.a.createElement(Color_Swatch,{value:preset[colorSpace],active:color&&id(preset[colorSpace])===id(color[colorSpace]),onClick:function onClick(){return updateValue(preset.value)}}))}))))},react_default.a.createElement(Color_Swatch,{value:realValue,style:{margin:4}})),react_default.a.createElement(Input,{id:Object(helpers.a)(name),value:value,onChange:function onChange(e){return updateValue(e.target.value)},onFocus:function onFocus(e){return e.target.select()},placeholder:"Choose color..."}),react_default.a.createElement(ToggleIcon,{icon:"markup",onClick:cycleColorSpace}))};Color_ColorControl.displayName="ColorControl";__webpack_exports__.default=Color_ColorControl},936:function(module,exports,__webpack_require__){const cssKeywords=__webpack_require__(978),reverseKeywords={};for(const key of Object.keys(cssKeywords))reverseKeywords[cssKeywords[key]]=key;const convert={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};module.exports=convert;for(const model of Object.keys(convert)){if(!("channels"in convert[model]))throw new Error("missing channels property: "+model);if(!("labels"in convert[model]))throw new Error("missing channel labels property: "+model);if(convert[model].labels.length!==convert[model].channels)throw new Error("channel and label counts mismatch: "+model);const{channels:channels,labels:labels}=convert[model];delete convert[model].channels,delete convert[model].labels,Object.defineProperty(convert[model],"channels",{value:channels}),Object.defineProperty(convert[model],"labels",{value:labels})}convert.rgb.hsl=function(rgb){const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min;let h,s;max===min?h=0:r===max?h=(g-b)/delta:g===max?h=2+(b-r)/delta:b===max&&(h=4+(r-g)/delta),h=Math.min(60*h,360),h<0&&(h+=360);const l=(min+max)/2;return s=max===min?0:l<=.5?delta/(max+min):delta/(2-max-min),[h,100*s,100*l]},convert.rgb.hsv=function(rgb){let rdif,gdif,bdif,h,s;const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,v=Math.max(r,g,b),diff=v-Math.min(r,g,b),diffc=function(c){return(v-c)/6/diff+.5};return 0===diff?(h=0,s=0):(s=diff/v,rdif=diffc(r),gdif=diffc(g),bdif=diffc(b),r===v?h=bdif-gdif:g===v?h=1/3+rdif-bdif:b===v&&(h=2/3+gdif-rdif),h<0?h+=1:h>1&&(h-=1)),[360*h,100*s,100*v]},convert.rgb.hwb=function(rgb){const r=rgb[0],g=rgb[1];let b=rgb[2];const h=convert.rgb.hsl(rgb)[0],w=1/255*Math.min(r,Math.min(g,b));return b=1-1/255*Math.max(r,Math.max(g,b)),[h,100*w,100*b]},convert.rgb.cmyk=function(rgb){const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,k=Math.min(1-r,1-g,1-b);return[100*((1-r-k)/(1-k)||0),100*((1-g-k)/(1-k)||0),100*((1-b-k)/(1-k)||0),100*k]},convert.rgb.keyword=function(rgb){const reversed=reverseKeywords[rgb];if(reversed)return reversed;let currentClosestKeyword,currentClosestDistance=1/0;for(const keyword of Object.keys(cssKeywords)){const value=cssKeywords[keyword],distance=(y=value,((x=rgb)[0]-y[0])**2+(x[1]-y[1])**2+(x[2]-y[2])**2);distance.04045?((r+.055)/1.055)**2.4:r/12.92,g=g>.04045?((g+.055)/1.055)**2.4:g/12.92,b=b>.04045?((b+.055)/1.055)**2.4:b/12.92;return[100*(.4124*r+.3576*g+.1805*b),100*(.2126*r+.7152*g+.0722*b),100*(.0193*r+.1192*g+.9505*b)]},convert.rgb.lab=function(rgb){const xyz=convert.rgb.xyz(rgb);let x=xyz[0],y=xyz[1],z=xyz[2];x/=95.047,y/=100,z/=108.883,x=x>.008856?x**(1/3):7.787*x+16/116,y=y>.008856?y**(1/3):7.787*y+16/116,z=z>.008856?z**(1/3):7.787*z+16/116;return[116*y-16,500*(x-y),200*(y-z)]},convert.hsl.rgb=function(hsl){const h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100;let t2,t3,val;if(0===s)return val=255*l,[val,val,val];t2=l<.5?l*(1+s):l+s-l*s;const t1=2*l-t2,rgb=[0,0,0];for(let i=0;i<3;i++)t3=h+1/3*-(i-1),t3<0&&t3++,t3>1&&t3--,val=6*t3<1?t1+6*(t2-t1)*t3:2*t3<1?t2:3*t3<2?t1+(t2-t1)*(2/3-t3)*6:t1,rgb[i]=255*val;return rgb},convert.hsl.hsv=function(hsl){const h=hsl[0];let s=hsl[1]/100,l=hsl[2]/100,smin=s;const lmin=Math.max(l,.01);l*=2,s*=l<=1?l:2-l,smin*=lmin<=1?lmin:2-lmin;return[h,100*(0===l?2*smin/(lmin+smin):2*s/(l+s)),100*((l+s)/2)]},convert.hsv.rgb=function(hsv){const h=hsv[0]/60,s=hsv[1]/100;let v=hsv[2]/100;const hi=Math.floor(h)%6,f=h-Math.floor(h),p=255*v*(1-s),q=255*v*(1-s*f),t=255*v*(1-s*(1-f));switch(v*=255,hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}},convert.hsv.hsl=function(hsv){const h=hsv[0],s=hsv[1]/100,v=hsv[2]/100,vmin=Math.max(v,.01);let sl,l;l=(2-s)*v;const lmin=(2-s)*vmin;return sl=s*vmin,sl/=lmin<=1?lmin:2-lmin,sl=sl||0,l/=2,[h,100*sl,100*l]},convert.hwb.rgb=function(hwb){const h=hwb[0]/360;let wh=hwb[1]/100,bl=hwb[2]/100;const ratio=wh+bl;let f;ratio>1&&(wh/=ratio,bl/=ratio);const i=Math.floor(6*h),v=1-bl;f=6*h-i,0!=(1&i)&&(f=1-f);const n=wh+f*(v-wh);let r,g,b;switch(i){default:case 6:case 0:r=v,g=n,b=wh;break;case 1:r=n,g=v,b=wh;break;case 2:r=wh,g=v,b=n;break;case 3:r=wh,g=n,b=v;break;case 4:r=n,g=wh,b=v;break;case 5:r=v,g=wh,b=n}return[255*r,255*g,255*b]},convert.cmyk.rgb=function(cmyk){const c=cmyk[0]/100,m=cmyk[1]/100,y=cmyk[2]/100,k=cmyk[3]/100;return[255*(1-Math.min(1,c*(1-k)+k)),255*(1-Math.min(1,m*(1-k)+k)),255*(1-Math.min(1,y*(1-k)+k))]},convert.xyz.rgb=function(xyz){const x=xyz[0]/100,y=xyz[1]/100,z=xyz[2]/100;let r,g,b;return r=3.2406*x+-1.5372*y+-.4986*z,g=-.9689*x+1.8758*y+.0415*z,b=.0557*x+-.204*y+1.057*z,r=r>.0031308?1.055*r**(1/2.4)-.055:12.92*r,g=g>.0031308?1.055*g**(1/2.4)-.055:12.92*g,b=b>.0031308?1.055*b**(1/2.4)-.055:12.92*b,r=Math.min(Math.max(0,r),1),g=Math.min(Math.max(0,g),1),b=Math.min(Math.max(0,b),1),[255*r,255*g,255*b]},convert.xyz.lab=function(xyz){let x=xyz[0],y=xyz[1],z=xyz[2];x/=95.047,y/=100,z/=108.883,x=x>.008856?x**(1/3):7.787*x+16/116,y=y>.008856?y**(1/3):7.787*y+16/116,z=z>.008856?z**(1/3):7.787*z+16/116;return[116*y-16,500*(x-y),200*(y-z)]},convert.lab.xyz=function(lab){let x,y,z;y=(lab[0]+16)/116,x=lab[1]/500+y,z=y-lab[2]/200;const y2=y**3,x2=x**3,z2=z**3;return y=y2>.008856?y2:(y-16/116)/7.787,x=x2>.008856?x2:(x-16/116)/7.787,z=z2>.008856?z2:(z-16/116)/7.787,x*=95.047,y*=100,z*=108.883,[x,y,z]},convert.lab.lch=function(lab){const l=lab[0],a=lab[1],b=lab[2];let h;h=360*Math.atan2(b,a)/2/Math.PI,h<0&&(h+=360);return[l,Math.sqrt(a*a+b*b),h]},convert.lch.lab=function(lch){const l=lch[0],c=lch[1],hr=lch[2]/360*2*Math.PI;return[l,c*Math.cos(hr),c*Math.sin(hr)]},convert.rgb.ansi16=function(args,saturation=null){const[r,g,b]=args;let value=null===saturation?convert.rgb.hsv(args)[2]:saturation;if(value=Math.round(value/50),0===value)return 30;let ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));return 2===value&&(ansi+=60),ansi},convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])},convert.rgb.ansi256=function(args){const r=args[0],g=args[1],b=args[2];if(r===g&&g===b)return r<8?16:r>248?231:Math.round((r-8)/247*24)+232;return 16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5)},convert.ansi16.rgb=function(args){let color=args%10;if(0===color||7===color)return args>50&&(color+=3.5),color=color/10.5*255,[color,color,color];const mult=.5*(1+~~(args>50));return[(1&color)*mult*255,(color>>1&1)*mult*255,(color>>2&1)*mult*255]},convert.ansi256.rgb=function(args){if(args>=232){const c=10*(args-232)+8;return[c,c,c]}let rem;args-=16;return[Math.floor(args/36)/5*255,Math.floor((rem=args%36)/6)/5*255,rem%6/5*255]},convert.rgb.hex=function(args){const string=(((255&Math.round(args[0]))<<16)+((255&Math.round(args[1]))<<8)+(255&Math.round(args[2]))).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.hex.rgb=function(args){const match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match)return[0,0,0];let colorString=match[0];3===match[0].length&&(colorString=colorString.split("").map((char=>char+char)).join(""));const integer=parseInt(colorString,16);return[integer>>16&255,integer>>8&255,255&integer]},convert.rgb.hcg=function(rgb){const r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,max=Math.max(Math.max(r,g),b),min=Math.min(Math.min(r,g),b),chroma=max-min;let grayscale,hue;return grayscale=chroma<1?min/(1-chroma):0,hue=chroma<=0?0:max===r?(g-b)/chroma%6:max===g?2+(b-r)/chroma:4+(r-g)/chroma,hue/=6,hue%=1,[360*hue,100*chroma,100*grayscale]},convert.hsl.hcg=function(hsl){const s=hsl[1]/100,l=hsl[2]/100,c=l<.5?2*s*l:2*s*(1-l);let f=0;return c<1&&(f=(l-.5*c)/(1-c)),[hsl[0],100*c,100*f]},convert.hsv.hcg=function(hsv){const s=hsv[1]/100,v=hsv[2]/100,c=s*v;let f=0;return c<1&&(f=(v-c)/(1-c)),[hsv[0],100*c,100*f]},convert.hcg.rgb=function(hcg){const h=hcg[0]/360,c=hcg[1]/100,g=hcg[2]/100;if(0===c)return[255*g,255*g,255*g];const pure=[0,0,0],hi=h%1*6,v=hi%1,w=1-v;let mg=0;switch(Math.floor(hi)){case 0:pure[0]=1,pure[1]=v,pure[2]=0;break;case 1:pure[0]=w,pure[1]=1,pure[2]=0;break;case 2:pure[0]=0,pure[1]=1,pure[2]=v;break;case 3:pure[0]=0,pure[1]=w,pure[2]=1;break;case 4:pure[0]=v,pure[1]=0,pure[2]=1;break;default:pure[0]=1,pure[1]=0,pure[2]=w}return mg=(1-c)*g,[255*(c*pure[0]+mg),255*(c*pure[1]+mg),255*(c*pure[2]+mg)]},convert.hcg.hsv=function(hcg){const c=hcg[1]/100,v=c+hcg[2]/100*(1-c);let f=0;return v>0&&(f=c/v),[hcg[0],100*f,100*v]},convert.hcg.hsl=function(hcg){const c=hcg[1]/100,l=hcg[2]/100*(1-c)+.5*c;let s=0;return l>0&&l<.5?s=c/(2*l):l>=.5&&l<1&&(s=c/(2*(1-l))),[hcg[0],100*s,100*l]},convert.hcg.hwb=function(hcg){const c=hcg[1]/100,v=c+hcg[2]/100*(1-c);return[hcg[0],100*(v-c),100*(1-v)]},convert.hwb.hcg=function(hwb){const w=hwb[1]/100,v=1-hwb[2]/100,c=v-w;let g=0;return c<1&&(g=(v-c)/(1-c)),[hwb[0],100*c,100*g]},convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]},convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]},convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]},convert.gray.hsl=function(args){return[0,0,args[0]]},convert.gray.hsv=convert.gray.hsl,convert.gray.hwb=function(gray){return[0,100,gray[0]]},convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]},convert.gray.lab=function(gray){return[gray[0],0,0]},convert.gray.hex=function(gray){const val=255&Math.round(gray[0]/100*255),string=((val<<16)+(val<<8)+val).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.rgb.gray=function(rgb){return[(rgb[0]+rgb[1]+rgb[2])/3/255*100]}},977:function(module,exports,__webpack_require__){const conversions=__webpack_require__(936),route=__webpack_require__(979),convert={};Object.keys(conversions).forEach((fromModel=>{convert[fromModel]={},Object.defineProperty(convert[fromModel],"channels",{value:conversions[fromModel].channels}),Object.defineProperty(convert[fromModel],"labels",{value:conversions[fromModel].labels});const routes=route(fromModel);Object.keys(routes).forEach((toModel=>{const fn=routes[toModel];convert[fromModel][toModel]=function wrapRounded(fn){const wrappedFn=function(...args){const arg0=args[0];if(null==arg0)return arg0;arg0.length>1&&(args=arg0);const result=fn(args);if("object"==typeof result)for(let len=result.length,i=0;i1&&(args=arg0),fn(args))};return"conversion"in fn&&(wrappedFn.conversion=fn.conversion),wrappedFn}(fn)}))})),module.exports=convert},978:function(module,exports,__webpack_require__){"use strict";module.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},979:function(module,exports,__webpack_require__){const conversions=__webpack_require__(936);function deriveBFS(fromModel){const graph=function buildGraph(){const graph={},models=Object.keys(conversions);for(let len=models.length,i=0;i=wait||timeSinceLastCall<0||maxing&&time-lastInvokeTime>=maxWait}function timerExpired(){var time=now();if(shouldInvoke(time))return trailingEdge(time);timerId=setTimeout(timerExpired,function remainingWait(time){var timeWaiting=wait-(time-lastCallTime);return maxing?nativeMin(timeWaiting,maxWait-(time-lastInvokeTime)):timeWaiting}(time))}function trailingEdge(time){return timerId=void 0,trailing&&lastArgs?invokeFunc(time):(lastArgs=lastThis=void 0,result)}function debounced(){var time=now(),isInvoking=shouldInvoke(time);if(lastArgs=arguments,lastThis=this,lastCallTime=time,isInvoking){if(void 0===timerId)return leadingEdge(lastCallTime);if(maxing)return clearTimeout(timerId),timerId=setTimeout(timerExpired,wait),invokeFunc(lastCallTime)}return void 0===timerId&&(timerId=setTimeout(timerExpired,wait)),result}return wait=toNumber(wait)||0,isObject(options)&&(leading=!!options.leading,maxWait=(maxing="maxWait"in options)?nativeMax(toNumber(options.maxWait)||0,wait):maxWait,trailing="trailing"in options?!!options.trailing:trailing),debounced.cancel=function cancel(){void 0!==timerId&&clearTimeout(timerId),lastInvokeTime=0,lastArgs=lastCallTime=lastThis=timerId=void 0},debounced.flush=function flush(){return void 0===timerId?result:trailingEdge(now())},debounced}},982:function(module,exports,__webpack_require__){var root=__webpack_require__(89);module.exports=function(){return root.Date.now()}},983:function(module,exports,__webpack_require__){var baseTrim=__webpack_require__(984),isObject=__webpack_require__(118),isSymbol=__webpack_require__(245),reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;module.exports=function toNumber(value){if("number"==typeof value)return value;if(isSymbol(value))return NaN;if(isObject(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=baseTrim(value);var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NaN:+value}},984:function(module,exports,__webpack_require__){var trimmedEndIndex=__webpack_require__(985),reTrimStart=/^\s+/;module.exports=function baseTrim(string){return string?string.slice(0,trimmedEndIndex(string)+1).replace(reTrimStart,""):string}},985:function(module,exports){var reWhitespace=/\s/;module.exports=function trimmedEndIndex(string){for(var index=string.length;index--&&reWhitespace.test(string.charAt(index)););return index}}}]); \ No newline at end of file diff --git a/docs/6.95b9de2b.iframe.bundle.js.map b/docs/6.95b9de2b.iframe.bundle.js.map deleted file mode 100644 index befa36c..0000000 --- a/docs/6.95b9de2b.iframe.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"6.95b9de2b.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""} \ No newline at end of file diff --git a/docs/6.95b9de2b.iframe.bundle.js b/docs/6.e229d3b2.iframe.bundle.js similarity index 99% rename from docs/6.95b9de2b.iframe.bundle.js rename to docs/6.e229d3b2.iframe.bundle.js index 080fff2..2abf698 100644 --- a/docs/6.95b9de2b.iframe.bundle.js +++ b/docs/6.e229d3b2.iframe.bundle.js @@ -1,3 +1,3 @@ -/*! For license information please see 6.95b9de2b.iframe.bundle.js.LICENSE.txt */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{905:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"OverlayScrollbarsComponent",(function(){return OverlayScrollbarsComponent}));__webpack_require__(504),__webpack_require__(33),__webpack_require__(80),__webpack_require__(54),__webpack_require__(57),__webpack_require__(48),__webpack_require__(79),__webpack_require__(105),__webpack_require__(24),__webpack_require__(26),__webpack_require__(8),__webpack_require__(20);var react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),overlayscrollbars__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(986),overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(overlayscrollbars__WEBPACK_IMPORTED_MODULE_13__);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var OverlayScrollbarsComponent=function OverlayScrollbarsComponent(_ref){var _ref$options=_ref.options,options=void 0===_ref$options?{}:_ref$options,extensions=_ref.extensions,className=_ref.className,children=_ref.children,rest=_objectWithoutProperties(_ref,["options","extensions","className","children"]),osTargetRef=react__WEBPACK_IMPORTED_MODULE_12___default.a.useRef(),osInstance=react__WEBPACK_IMPORTED_MODULE_12___default.a.useRef();return react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){return osInstance.current=overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default()(osTargetRef.current,options,extensions),mergeHostClassNames(osInstance.current,className),function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&(osInstance.current.destroy(),osInstance.current=null)}}),[]),react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&osInstance.current.options(options)}),[options]),react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&mergeHostClassNames(osInstance.current,className)}),[className]),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",_extends({className:"os-host"},rest,{ref:osTargetRef}),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-resize-observer-host"}),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-padding"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-viewport"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-content"},children))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar os-scrollbar-horizontal "},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-track"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-handle"}))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar os-scrollbar-vertical"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-track"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-handle"}))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-corner"}))};function mergeHostClassNames(osInstance,className){if(overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance)){var host=osInstance.getElements().host,regex=new RegExp("(^os-host([-_].+|)$)|".concat(osInstance.options().className.replace(/\s/g,"$|"),"$"),"g"),osClassNames=host.className.split(" ").filter((function(name){return name.match(regex)})).join(" ");host.className="".concat(osClassNames," ").concat(className||"")}}OverlayScrollbarsComponent.displayName="OverlayScrollbarsComponent",__webpack_exports__.default=OverlayScrollbarsComponent},986:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__,global;global="undefined"!=typeof window?window:this,void 0===(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(window,document,undefined){"use strict";var _targets,_instancePropertyString,_easingsMath,PLUGINNAME="OverlayScrollbars",TYPES={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},LEXICON={c:"class",s:"style",i:"id",l:"length",p:"prototype",ti:"tabindex",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth",hOP:"hasOwnProperty",bCR:"getBoundingClientRect"},VENDORS=function(){var jsCache={},cssCache={},cssPrefixes=["-webkit-","-moz-","-o-","-ms-"],jsPrefixes=["WebKit","Moz","O","MS"];function firstLetterToUpper(str){return str.charAt(0).toUpperCase()+str.slice(1)}return{_cssPrefixes:cssPrefixes,_jsPrefixes:jsPrefixes,_cssProperty:function(name){var result=cssCache[name];if(cssCache[LEXICON.hOP](name))return result;for(var resultPossibilities,v,currVendorWithoutDashes,uppercasedName=firstLetterToUpper(name),elmStyle=document.createElement("div")[LEXICON.s],i=0;i0&&length-1 in obj)}function stripAndCollapse(value){return(value.match(_rnothtmlwhite)||[]).join(_strSpace)}function matches(elem,selector){for(var nodeList=(elem.parentNode||document).querySelectorAll(selector)||[],i=nodeList[LEXICON.l];i--;)if(nodeList[i]==elem)return!0;return!1}function insertAdjacentElement(el,strategy,child){if(COMPATIBILITY.isA(child))for(var i=0;i0?(nextAnim=animObj.q[0],animate(animObj.el,nextAnim.props,nextAnim.duration,nextAnim.easing,nextAnim.complete,!0)):(index=inArray(animObj,_animations))>-1&&_animations.splice(index,1)}function setAnimationValue(el,prop,value){prop===_strScrollLeft||prop===_strScrollTop?el[prop]=value:setCSSVal(el,prop,value)}function animate(el,props,options,easing,complete,guaranteedNext){var key,animObj,progress,step,specialEasing,duration,hasOptions=isPlainObject(options),from={},to={},i=0;for(hasOptions?(easing=options.easing,options.start,progress=options.progress,step=options.step,specialEasing=options.specialEasing,complete=options.complete,duration=options.duration):duration=options,specialEasing=specialEasing||{},duration=duration||400,easing=easing||"swing",guaranteedNext=guaranteedNext||!1;i<_animations[LEXICON.l];i++)if(_animations[i].el===el){animObj=_animations[i];break}for(key in animObj||(animObj={el:el,q:[]},_animations.push(animObj)),props)from[key]=key===_strScrollLeft||key===_strScrollTop?el[key]:FakejQuery(el).css(key);for(key in from)from[key]!==props[key]&&props[key]!==undefined&&(to[key]=props[key]);if(isEmptyObject(to))guaranteedNext&&startNextAnimationInQ(animObj);else{var timeNow,end,percent,fromVal,toVal,easedVal,timeStart,frame,elapsed,qPos=guaranteedNext?0:inArray(qObj,animObj.q),qObj={props:to,duration:hasOptions?options:duration,easing:easing,complete:complete};if(-1===qPos&&(qPos=animObj.q[LEXICON.l],animObj.q.push(qObj)),0===qPos)if(duration>0)timeStart=COMPATIBILITY.now(),frame=function(){for(key in timeNow=COMPATIBILITY.now(),elapsed=timeNow-timeStart,end=qObj.stop||elapsed>=duration,percent=1-(MATH.max(0,timeStart+duration-timeNow)/duration||0),to)fromVal=parseFloat(from[key]),toVal=parseFloat(to[key]),easedVal=(toVal-fromVal)*EASING[specialEasing[key]||easing](percent,percent*duration,0,1,duration)+fromVal,setAnimationValue(el,key,easedVal),isFunction(step)&&step(easedVal,{elem:el,prop:key,start:fromVal,now:easedVal,end:toVal,pos:percent,options:{easing:easing,speacialEasing:specialEasing,duration:duration,complete:complete,step:step},startTime:timeStart});isFunction(progress)&&progress({},percent,MATH.max(0,duration-elapsed)),end?(startNextAnimationInQ(animObj),isFunction(complete)&&complete()):qObj.frame=COMPATIBILITY.rAF()(frame)},qObj.frame=COMPATIBILITY.rAF()(frame);else{for(key in to)setAnimationValue(el,key,to[key]);startNextAnimationInQ(animObj)}}}function stop(el,clearQ,jumpToEnd){for(var animObj,qObj,key,i=0;i<_animations[LEXICON.l];i++)if((animObj=_animations[i]).el===el){if(animObj.q[LEXICON.l]>0){if((qObj=animObj.q[0]).stop=!0,COMPATIBILITY.cAF()(qObj.frame),animObj.q.splice(0,1),jumpToEnd)for(key in qObj.props)setAnimationValue(el,key,qObj.props[key]);clearQ?animObj.q=[]:startNextAnimationInQ(animObj,!1)}break}}function elementIsVisible(el){return!!(el[LEXICON.oW]||el[LEXICON.oH]||el.getClientRects()[LEXICON.l])}function FakejQuery(selector){if(0===arguments[LEXICON.l])return this;var elms,el,base=new FakejQuery,elements=selector,i=0;if(_type(selector)==TYPES.s)for(elements=[],"<"===selector.charAt(0)?((el=document.createElement("div")).innerHTML=selector,elms=el.children):elms=document.querySelectorAll(selector);i0;)deepest=deepest.childNodes[0];for(i=0;nodes[LEXICON.l]-i;deepest.firstChild===nodes[0]&&i++)deepest.appendChild(nodes[i]);var nextSibling=previousSibling?previousSibling.nextSibling:parent.firstChild;return parent.insertBefore(wrapper,nextSibling),this},wrapInner:function(wrapperHTML){return this.each((function(){var el=FakejQuery(this),contents=el.contents();contents[LEXICON.l]?contents.wrapAll(wrapperHTML):el.append(wrapperHTML)}))},wrap:function(wrapperHTML){return this.each((function(){FakejQuery(this).wrapAll(wrapperHTML)}))},css:function(styles,val){var el,key,cptStyle,getCptStyle=window.getComputedStyle;return _type(styles)==TYPES.s?val===undefined?(el=this[0],cptStyle=getCptStyle?getCptStyle(el,null):el.currentStyle[styles],getCptStyle?null!=cptStyle?cptStyle.getPropertyValue(styles):el[LEXICON.s][styles]:cptStyle):this.each((function(){setCSSVal(this,styles,val)})):this.each((function(){for(key in styles)setCSSVal(this,key,styles[key])}))},hasClass:function(className){for(var elem,classList,i=0,classNamePrepared=_strSpace+className+_strSpace;elem=this[i++];){if((classList=elem.classList)&&classList.contains(className))return!0;if(1===elem.nodeType&&(_strSpace+stripAndCollapse(elem.className+_strEmpty)+_strSpace).indexOf(classNamePrepared)>-1)return!0}return!1},addClass:function(className){var classes,elem,cur,curValue,clazz,finalValue,supportClassList,elmClassList,i=0,v=0;if(className)for(classes=className.match(_rnothtmlwhite)||[];elem=this[i++];)if(elmClassList=elem.classList,supportClassList===undefined&&(supportClassList=elmClassList!==undefined),supportClassList)for(;clazz=classes[v++];)elmClassList.add(clazz);else if(curValue=elem.className+_strEmpty,cur=1===elem.nodeType&&_strSpace+stripAndCollapse(curValue)+_strSpace){for(;clazz=classes[v++];)cur.indexOf(_strSpace+clazz+_strSpace)<0&&(cur+=clazz+_strSpace);curValue!==(finalValue=stripAndCollapse(cur))&&(elem.className=finalValue)}return this},removeClass:function(className){var classes,elem,cur,curValue,clazz,finalValue,supportClassList,elmClassList,i=0,v=0;if(className)for(classes=className.match(_rnothtmlwhite)||[];elem=this[i++];)if(elmClassList=elem.classList,supportClassList===undefined&&(supportClassList=elmClassList!==undefined),supportClassList)for(;clazz=classes[v++];)elmClassList.remove(clazz);else if(curValue=elem.className+_strEmpty,cur=1===elem.nodeType&&_strSpace+stripAndCollapse(curValue)+_strSpace){for(;clazz=classes[v++];)for(;cur.indexOf(_strSpace+clazz+_strSpace)>-1;)cur=cur.replace(_strSpace+clazz+_strSpace,_strSpace);curValue!==(finalValue=stripAndCollapse(cur))&&(elem.className=finalValue)}return this},hide:function(){return this.each((function(){this[LEXICON.s].display="none"}))},show:function(){return this.each((function(){this[LEXICON.s].display="block"}))},attr:function(attrName,value){for(var el,i=0;el=this[i++];){if(value===undefined)return el.getAttribute(attrName);el.setAttribute(attrName,value)}return this},removeAttr:function(attrName){return this.each((function(){this.removeAttribute(attrName)}))},offset:function(){var rect=this[0][LEXICON.bCR](),scrollLeft=window.pageXOffset||document.documentElement[_strScrollLeft],scrollTop=window.pageYOffset||document.documentElement[_strScrollTop];return{top:rect.top+scrollTop,left:rect.left+scrollLeft}},position:function(){var el=this[0];return{top:el.offsetTop,left:el.offsetLeft}},scrollLeft:function(value){for(var el,i=0;el=this[i++];){if(value===undefined)return el[_strScrollLeft];el[_strScrollLeft]=value}return this},scrollTop:function(value){for(var el,i=0;el=this[i++];){if(value===undefined)return el[_strScrollTop];el[_strScrollTop]=value}return this},val:function(value){var el=this[0];return value?(el.value=value,this):el.value},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(index){return FakejQuery(this[index>=0?index:this[LEXICON.l]+index])},find:function(selector){var i,children=[];return this.each((function(){var ch=this.querySelectorAll(selector);for(i=0;i-1){if(!(argLen>1))return _targets[index][_instancePropertyString];delete target[_instancePropertyString],_targets.splice(index,1)}}}),PLUGIN=function(){var _plugin,_pluginsGlobals,_pluginsAutoUpdateLoop,type,possibleTemplateTypes,restrictedStringsSplit,restrictedStringsPossibilitiesSplit,classNameAllowedValues,numberAllowedValues,booleanNullAllowedValues,booleanTrueTemplate,booleanFalseTemplate,callbackTemplate,overflowBehaviorAllowedValues,optionsDefaultsAndTemplate,convert,_pluginsExtensions=[],_pluginsOptions=(type=COMPATIBILITY.type,possibleTemplateTypes=[TYPES.b,TYPES.n,TYPES.s,TYPES.a,TYPES.o,TYPES.f,TYPES.z],restrictedStringsSplit=" ",restrictedStringsPossibilitiesSplit=":",classNameAllowedValues=[TYPES.z,TYPES.s],numberAllowedValues=TYPES.n,booleanNullAllowedValues=[TYPES.z,TYPES.b],booleanTrueTemplate=[!0,TYPES.b],booleanFalseTemplate=[!1,TYPES.b],callbackTemplate=[null,[TYPES.z,TYPES.f]],overflowBehaviorAllowedValues="v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden",optionsDefaultsAndTemplate={className:["os-theme-dark",classNameAllowedValues],resize:["none","n:none b:both h:horizontal v:vertical"],sizeAutoCapable:booleanTrueTemplate,clipAlways:booleanTrueTemplate,normalizeRTL:booleanTrueTemplate,paddingAbsolute:booleanFalseTemplate,autoUpdate:[null,booleanNullAllowedValues],autoUpdateInterval:[33,numberAllowedValues],updateOnLoad:[["img"],[TYPES.s,TYPES.a,TYPES.z]],nativeScrollbarsOverlaid:{showNativeScrollbars:booleanFalseTemplate,initialize:booleanTrueTemplate},overflowBehavior:{x:["scroll",overflowBehaviorAllowedValues],y:["scroll",overflowBehaviorAllowedValues]},scrollbars:{visibility:["auto","v:visible h:hidden a:auto"],autoHide:["never","n:never s:scroll l:leave m:move"],autoHideDelay:[800,numberAllowedValues],dragScrolling:booleanTrueTemplate,clickScrolling:booleanFalseTemplate,touchSupport:booleanTrueTemplate,snapHandle:booleanFalseTemplate},textarea:{dynWidth:booleanFalseTemplate,dynHeight:booleanFalseTemplate,inheritedAttrs:[["style","class"],[TYPES.s,TYPES.a,TYPES.z]]},callbacks:{onInitialized:callbackTemplate,onInitializationWithdrawn:callbackTemplate,onDestroyed:callbackTemplate,onScrollStart:callbackTemplate,onScroll:callbackTemplate,onScrollStop:callbackTemplate,onOverflowChanged:callbackTemplate,onOverflowAmountChanged:callbackTemplate,onDirectionChanged:callbackTemplate,onContentSizeChanged:callbackTemplate,onHostSizeChanged:callbackTemplate,onUpdated:callbackTemplate}},{_defaults:(convert=function(template){var recursive=function(obj){var key,val,valType;for(key in obj)obj[LEXICON.hOP](key)&&(val=obj[key],(valType=type(val))==TYPES.a?obj[key]=val[template?1:0]:valType==TYPES.o&&(obj[key]=recursive(val)));return obj};return recursive(FRAMEWORK.extend(!0,{},optionsDefaultsAndTemplate))})(),_template:convert(!0),_validate:function(obj,template,writeErrors,diffObj){var validatedOptions={},validatedOptionsPrepared={},objectCopy=FRAMEWORK.extend(!0,{},obj),inArray=FRAMEWORK.inArray,isEmptyObj=FRAMEWORK.isEmptyObject,checkObjectProps=function(data,template,diffData,validatedOptions,validatedOptionsPrepared,prevPropName){for(var prop in template)if(template[LEXICON.hOP](prop)&&data[LEXICON.hOP](prop)){var restrictedStringValuesSplit,restrictedStringValuesPossibilitiesSplit,isRestrictedValue,mainPossibility,currType,i,v,j,isValid=!1,isDiff=!1,templateValue=template[prop],templateValueType=type(templateValue),templateIsComplex=templateValueType==TYPES.o,templateTypes=COMPATIBILITY.isA(templateValue)?templateValue:[templateValue],dataDiffValue=diffData[prop],dataValue=data[prop],dataValueType=type(dataValue),propPrefix=prevPropName?prevPropName+".":"",error='The option "'+propPrefix+prop+"\" wasn't set, because",errorPossibleTypes=[],errorRestrictedStrings=[];if(dataDiffValue=dataDiffValue===undefined?{}:dataDiffValue,templateIsComplex&&dataValueType==TYPES.o)validatedOptions[prop]={},validatedOptionsPrepared[prop]={},checkObjectProps(dataValue,templateValue,dataDiffValue,validatedOptions[prop],validatedOptionsPrepared[prop],propPrefix+prop),FRAMEWORK.each([data,validatedOptions,validatedOptionsPrepared],(function(index,value){isEmptyObj(value[prop])&&delete value[prop]}));else if(!templateIsComplex){for(i=0;i0?"\r\nValid strings are: [ "+errorRestrictedStrings.join(", ").split(restrictedStringsPossibilitiesSplit).join(", ")+" ].":"")),delete data[prop]}}};return checkObjectProps(objectCopy,template,diffObj||{},validatedOptions,validatedOptionsPrepared),!isEmptyObj(objectCopy)&&writeErrors&&console.warn("The following options are discarded due to invalidity:\r\n"+window.JSON.stringify(objectCopy,null,2)),{_default:validatedOptions,_prepared:validatedOptionsPrepared}}});function initOverlayScrollbarsStatics(){_pluginsGlobals||(_pluginsGlobals=new OverlayScrollbarsGlobals(_pluginsOptions._defaults)),_pluginsAutoUpdateLoop||(_pluginsAutoUpdateLoop=new OverlayScrollbarsAutoUpdateLoop(_pluginsGlobals))}function OverlayScrollbarsGlobals(defaultOptions){var _base=this,strOverflow="overflow",strHidden="hidden",strScroll="scroll",bodyElement=FRAMEWORK("body"),scrollbarDummyElement=FRAMEWORK('
'),scrollbarDummyElement0=scrollbarDummyElement[0],dummyContainerChild=FRAMEWORK(scrollbarDummyElement.children("div").eq(0));bodyElement.append(scrollbarDummyElement),scrollbarDummyElement.hide().show();var nativeScrollbarSize=calcNativeScrollbarSize(scrollbarDummyElement0),nativeScrollbarIsOverlaid={x:0===nativeScrollbarSize.x,y:0===nativeScrollbarSize.y},msie=function(){var result,ua=window.navigator.userAgent,strIndexOf="indexOf",strSubString="substring",msie=ua[strIndexOf]("MSIE "),trident=ua[strIndexOf]("Trident/"),edge=ua[strIndexOf]("Edge/"),rv=ua[strIndexOf]("rv:"),parseIntFunc=parseInt;return msie>0?result=parseIntFunc(ua[strSubString](msie+5,ua[strIndexOf](".",msie)),10):trident>0?result=parseIntFunc(ua[strSubString](rv+3,ua[strIndexOf](".",rv)),10):edge>0&&(result=parseIntFunc(ua[strSubString](edge+5,ua[strIndexOf](".",edge)),10)),result}();function calcNativeScrollbarSize(measureElement){return{x:measureElement[LEXICON.oH]-measureElement[LEXICON.cH],y:measureElement[LEXICON.oW]-measureElement[LEXICON.cW]}}FRAMEWORK.extend(_base,{defaultOptions:defaultOptions,msie:msie,autoUpdateLoop:!1,autoUpdateRecommended:!COMPATIBILITY.mO(),nativeScrollbarSize:nativeScrollbarSize,nativeScrollbarIsOverlaid:nativeScrollbarIsOverlaid,nativeScrollbarStyling:function(){var result=!1;scrollbarDummyElement.addClass("os-viewport-native-scrollbars-invisible");try{result="none"===scrollbarDummyElement.css("scrollbar-width")&&(msie>9||!msie)||"none"===window.getComputedStyle(scrollbarDummyElement0,"::-webkit-scrollbar").getPropertyValue("display")}catch(ex){}return result}(),overlayScrollbarDummySize:{x:30,y:30},cssCalc:VENDORS._cssPropertyValue("width","calc","(1px)")||null,restrictedMeasuring:function(){scrollbarDummyElement.css(strOverflow,strHidden);var scrollSize={w:scrollbarDummyElement0[LEXICON.sW],h:scrollbarDummyElement0[LEXICON.sH]};scrollbarDummyElement.css(strOverflow,"visible");var scrollSize2={w:scrollbarDummyElement0[LEXICON.sW],h:scrollbarDummyElement0[LEXICON.sH]};return scrollSize.w-scrollSize2.w!=0||scrollSize.h-scrollSize2.h!=0}(),rtlScrollBehavior:function(){scrollbarDummyElement.css({"overflow-y":strHidden,"overflow-x":strScroll,direction:"rtl"}).scrollLeft(0);var dummyContainerOffset=scrollbarDummyElement.offset(),dummyContainerChildOffset=dummyContainerChild.offset();scrollbarDummyElement.scrollLeft(-999);var dummyContainerChildOffsetAfterScroll=dummyContainerChild.offset();return{i:dummyContainerOffset.left===dummyContainerChildOffset.left,n:dummyContainerChildOffset.left!==dummyContainerChildOffsetAfterScroll.left}}(),supportTransform:!!VENDORS._cssProperty("transform"),supportTransition:!!VENDORS._cssProperty("transition"),supportPassiveEvents:function(){var supportsPassive=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){supportsPassive=!0}}))}catch(e){}return supportsPassive}(),supportResizeObserver:!!COMPATIBILITY.rO(),supportMutationObserver:!!COMPATIBILITY.mO()}),scrollbarDummyElement.removeAttr(LEXICON.s).remove(),function(){if(!nativeScrollbarIsOverlaid.x||!nativeScrollbarIsOverlaid.y){var abs=MATH.abs,windowWidth=COMPATIBILITY.wW(),windowHeight=COMPATIBILITY.wH(),windowDpr=getWindowDPR(),onResize=function(){if(INSTANCES().length>0){var newW=COMPATIBILITY.wW(),newH=COMPATIBILITY.wH(),deltaW=newW-windowWidth,deltaH=newH-windowHeight;if(0===deltaW&&0===deltaH)return;var newScrollbarSize,deltaWRatio=MATH.round(newW/(windowWidth/100)),deltaHRatio=MATH.round(newH/(windowHeight/100)),absDeltaW=abs(deltaW),absDeltaH=abs(deltaH),absDeltaWRatio=abs(deltaWRatio),absDeltaHRatio=abs(deltaHRatio),newDPR=getWindowDPR(),deltaIsBigger=absDeltaW>2&&absDeltaH>2,difference=!differenceIsBiggerThanOne(absDeltaWRatio,absDeltaHRatio),isZoom=deltaIsBigger&&difference&&newDPR!==windowDpr&&windowDpr>0,oldScrollbarSize=_base.nativeScrollbarSize;isZoom&&(bodyElement.append(scrollbarDummyElement),newScrollbarSize=_base.nativeScrollbarSize=calcNativeScrollbarSize(scrollbarDummyElement[0]),scrollbarDummyElement.remove(),oldScrollbarSize.x===newScrollbarSize.x&&oldScrollbarSize.y===newScrollbarSize.y||FRAMEWORK.each(INSTANCES(),(function(){INSTANCES(this)&&INSTANCES(this).update("zoom")}))),windowWidth=newW,windowHeight=newH,windowDpr=newDPR}};FRAMEWORK(window).on("resize",onResize)}function differenceIsBiggerThanOne(valOne,valTwo){var absValOne=abs(valOne),absValTwo=abs(valTwo);return!(absValOne===absValTwo||absValOne+1===absValTwo||absValOne-1===absValTwo)}function getWindowDPR(){var dDPI=window.screen.deviceXDPI||0,sDPI=window.screen.logicalXDPI||1;return window.devicePixelRatio||dDPI/sDPI}}()}function OverlayScrollbarsAutoUpdateLoop(globals){var _loopID,_base=this,_inArray=FRAMEWORK.inArray,_getNow=COMPATIBILITY.now,_strAutoUpdate="autoUpdate",_strAutoUpdateInterval=_strAutoUpdate+"Interval",_strLength=LEXICON.l,_loopingInstances=[],_loopingInstancesIntervalCache=[],_loopIsActive=!1,_loopIntervalDefault=33,_loopInterval=_loopIntervalDefault,_loopTimeOld=_getNow(),loop=function(){if(_loopingInstances[_strLength]>0&&_loopIsActive){_loopID=COMPATIBILITY.rAF()((function(){loop()}));var lowestInterval,instance,instanceOptions,instanceAutoUpdateAllowed,instanceAutoUpdateInterval,now,timeNew=_getNow(),timeDelta=timeNew-_loopTimeOld;if(timeDelta>_loopInterval){_loopTimeOld=timeNew-timeDelta%_loopInterval,lowestInterval=_loopIntervalDefault;for(var i=0;i<_loopingInstances[_strLength];i++)(instance=_loopingInstances[i])!==undefined&&(instanceAutoUpdateAllowed=(instanceOptions=instance.options())[_strAutoUpdate],instanceAutoUpdateInterval=MATH.max(1,instanceOptions[_strAutoUpdateInterval]),now=_getNow(),(!0===instanceAutoUpdateAllowed||null===instanceAutoUpdateAllowed)&&now-_loopingInstancesIntervalCache[i]>instanceAutoUpdateInterval&&(instance.update("auto"),_loopingInstancesIntervalCache[i]=new Date(now+=instanceAutoUpdateInterval)),lowestInterval=MATH.max(1,MATH.min(lowestInterval,instanceAutoUpdateInterval)));_loopInterval=lowestInterval}}else _loopInterval=_loopIntervalDefault};_base.add=function(instance){-1===_inArray(instance,_loopingInstances)&&(_loopingInstances.push(instance),_loopingInstancesIntervalCache.push(_getNow()),_loopingInstances[_strLength]>0&&!_loopIsActive&&(_loopIsActive=!0,globals.autoUpdateLoop=_loopIsActive,loop()))},_base.remove=function(instance){var index=_inArray(instance,_loopingInstances);index>-1&&(_loopingInstancesIntervalCache.splice(index,1),_loopingInstances.splice(index,1),0===_loopingInstances[_strLength]&&_loopIsActive&&(_loopIsActive=!1,globals.autoUpdateLoop=_loopIsActive,_loopID!==undefined&&(COMPATIBILITY.cAF()(_loopID),_loopID=-1)))}}function OverlayScrollbarsInstance(pluginTargetElement,options,extensions,globals,autoUpdateLoop){var type=COMPATIBILITY.type,inArray=FRAMEWORK.inArray,each=FRAMEWORK.each,_base=new _plugin,_frameworkProto=FRAMEWORK[LEXICON.p];if(isHTMLElement(pluginTargetElement)){if(INSTANCES(pluginTargetElement)){var inst=INSTANCES(pluginTargetElement);return inst.options(options),inst}var _nativeScrollbarIsOverlaid,_overlayScrollbarDummySize,_rtlScrollBehavior,_autoUpdateRecommended,_msieVersion,_nativeScrollbarStyling,_cssCalc,_nativeScrollbarSize,_supportTransition,_supportTransform,_supportPassiveEvents,_supportResizeObserver,_supportMutationObserver,_initialized,_destroyed,_isTextarea,_isBody,_documentMixed,_domExists,_isBorderBox,_sizeAutoObserverAdded,_paddingX,_paddingY,_borderX,_borderY,_marginX,_marginY,_isRTL,_sleeping,_defaultOptions,_currentOptions,_currentPreparedOptions,_lastUpdateTime,_swallowedUpdateTimeout,_windowElement,_documentElement,_htmlElement,_bodyElement,_targetElement,_hostElement,_sizeAutoObserverElement,_sizeObserverElement,_paddingElement,_viewportElement,_contentElement,_contentArrangeElement,_contentGlueElement,_textareaCoverElement,_scrollbarCornerElement,_scrollbarHorizontalElement,_scrollbarHorizontalTrackElement,_scrollbarHorizontalHandleElement,_scrollbarVerticalElement,_scrollbarVerticalTrackElement,_scrollbarVerticalHandleElement,_windowElementNative,_documentElementNative,_targetElementNative,_hostElementNative,_sizeAutoObserverElementNative,_sizeObserverElementNative,_paddingElementNative,_viewportElementNative,_contentElementNative,_hostSizeCache,_contentScrollSizeCache,_arrangeContentSizeCache,_hasOverflowCache,_hideOverflowCache,_widthAutoCache,_heightAutoCache,_cssBoxSizingCache,_cssPaddingCache,_cssBorderCache,_cssMarginCache,_cssDirectionCache,_cssDirectionDetectedCache,_paddingAbsoluteCache,_clipAlwaysCache,_contentGlueSizeCache,_overflowBehaviorCache,_overflowAmountCache,_ignoreOverlayScrollbarHidingCache,_autoUpdateCache,_sizeAutoCapableCache,_contentElementScrollSizeChangeDetectedCache,_hostElementSizeChangeDetectedCache,_scrollbarsVisibilityCache,_scrollbarsAutoHideCache,_scrollbarsClickScrollingCache,_scrollbarsDragScrollingCache,_resizeCache,_normalizeRTLCache,_classNameCache,_oldClassName,_textareaAutoWrappingCache,_textareaInfoCache,_textareaSizeCache,_textareaDynHeightCache,_textareaDynWidthCache,_bodyMinSizeCache,_mutationObserverHost,_mutationObserverContent,_mutationObserverHostCallback,_mutationObserverContentCallback,_mutationObserversConnected,_textareaHasFocus,_scrollbarsAutoHideTimeoutId,_scrollbarsAutoHideMoveTimeoutId,_scrollbarsAutoHideDelay,_scrollbarsAutoHideNever,_scrollbarsAutoHideScroll,_scrollbarsAutoHideMove,_scrollbarsAutoHideLeave,_scrollbarsHandleHovered,_scrollbarsHandlesDefineScrollPos,_resizeNone,_resizeBoth,_resizeHorizontal,_resizeVertical,_contentBorderSize={},_scrollHorizontalInfo={},_scrollVerticalInfo={},_viewportSize={},_nativeScrollbarMinSize={},_strMinusHidden="-hidden",_strMarginMinus="margin-",_strPaddingMinus="padding-",_strBorderMinus="border-",_strTop="top",_strRight="right",_strBottom="bottom",_strLeft="left",_strMinMinus="min-",_strMaxMinus="max-",_strWidth="width",_strHeight="height",_strFloat="float",_strEmpty="",_strAuto="auto",_strSync="sync",_strScroll="scroll",_strHundredPercent="100%",_strX="x",_strY="y",_strDot=".",_strSpace=" ",_strScrollbar="scrollbar",_strMinusHorizontal="-horizontal",_strMinusVertical="-vertical",_strScrollLeft=_strScroll+"Left",_strScrollTop=_strScroll+"Top",_strMouseTouchDownEvent="mousedown touchstart",_strMouseTouchUpEvent="mouseup touchend touchcancel",_strMouseTouchMoveEvent="mousemove touchmove",_strMouseEnter="mouseenter",_strMouseLeave="mouseleave",_strKeyDownEvent="keydown",_strKeyUpEvent="keyup",_strSelectStartEvent="selectstart",_strTransitionEndEvent="transitionend webkitTransitionEnd oTransitionEnd",_strResizeObserverProperty="__overlayScrollbarsRO__",_cassNamesPrefix="os-",_classNameHTMLElement=_cassNamesPrefix+"html",_classNameHostElement=_cassNamesPrefix+"host",_classNameHostElementForeign=_classNameHostElement+"-foreign",_classNameHostTextareaElement=_classNameHostElement+"-textarea",_classNameHostScrollbarHorizontalHidden=_classNameHostElement+"-"+_strScrollbar+_strMinusHorizontal+_strMinusHidden,_classNameHostScrollbarVerticalHidden=_classNameHostElement+"-"+_strScrollbar+_strMinusVertical+_strMinusHidden,_classNameHostTransition=_classNameHostElement+"-transition",_classNameHostRTL=_classNameHostElement+"-rtl",_classNameHostResizeDisabled=_classNameHostElement+"-resize-disabled",_classNameHostScrolling=_classNameHostElement+"-scrolling",_classNameHostOverflow=_classNameHostElement+"-overflow",_classNameHostOverflowX=(_classNameHostOverflow=_classNameHostElement+"-overflow")+"-x",_classNameHostOverflowY=_classNameHostOverflow+"-y",_classNameTextareaElement=_cassNamesPrefix+"textarea",_classNameTextareaCoverElement=_classNameTextareaElement+"-cover",_classNamePaddingElement=_cassNamesPrefix+"padding",_classNameViewportElement=_cassNamesPrefix+"viewport",_classNameViewportNativeScrollbarsInvisible=_classNameViewportElement+"-native-scrollbars-invisible",_classNameViewportNativeScrollbarsOverlaid=_classNameViewportElement+"-native-scrollbars-overlaid",_classNameContentElement=_cassNamesPrefix+"content",_classNameContentArrangeElement=_cassNamesPrefix+"content-arrange",_classNameContentGlueElement=_cassNamesPrefix+"content-glue",_classNameSizeAutoObserverElement=_cassNamesPrefix+"size-auto-observer",_classNameResizeObserverElement=_cassNamesPrefix+"resize-observer",_classNameResizeObserverItemElement=_cassNamesPrefix+"resize-observer-item",_classNameResizeObserverItemFinalElement=_classNameResizeObserverItemElement+"-final",_classNameTextInherit=_cassNamesPrefix+"text-inherit",_classNameScrollbar=_cassNamesPrefix+_strScrollbar,_classNameScrollbarTrack=_classNameScrollbar+"-track",_classNameScrollbarTrackOff=_classNameScrollbarTrack+"-off",_classNameScrollbarHandle=_classNameScrollbar+"-handle",_classNameScrollbarHandleOff=_classNameScrollbarHandle+"-off",_classNameScrollbarUnusable=_classNameScrollbar+"-unusable",_classNameScrollbarAutoHidden=_classNameScrollbar+"-"+_strAuto+_strMinusHidden,_classNameScrollbarCorner=_classNameScrollbar+"-corner",_classNameScrollbarCornerResize=_classNameScrollbarCorner+"-resize",_classNameScrollbarCornerResizeB=_classNameScrollbarCornerResize+"-both",_classNameScrollbarCornerResizeH=_classNameScrollbarCornerResize+_strMinusHorizontal,_classNameScrollbarCornerResizeV=_classNameScrollbarCornerResize+_strMinusVertical,_classNameScrollbarHorizontal=_classNameScrollbar+_strMinusHorizontal,_classNameScrollbarVertical=_classNameScrollbar+_strMinusVertical,_classNameDragging=_cassNamesPrefix+"dragging",_classNameThemeNone=_cassNamesPrefix+"theme-none",_classNamesDynamicDestroy=[_classNameViewportNativeScrollbarsInvisible,_classNameViewportNativeScrollbarsOverlaid,_classNameScrollbarTrackOff,_classNameScrollbarHandleOff,_classNameScrollbarUnusable,_classNameScrollbarAutoHidden,_classNameScrollbarCornerResize,_classNameScrollbarCornerResizeB,_classNameScrollbarCornerResizeH,_classNameScrollbarCornerResizeV,_classNameDragging].join(_strSpace),_callbacksInitQeueue=[],_viewportAttrsFromTarget=[LEXICON.ti],_extensions={},_extensionsPrivateMethods="added removed on contract",_swallowedUpdateHints={},_swallowUpdateLag=42,_updateOnLoadEventName="load",_updateOnLoadElms=[],_updateAutoCache={},_mutationObserverAttrsTextarea=["wrap","cols","rows"],_mutationObserverAttrsHost=[LEXICON.i,LEXICON.c,LEXICON.s,"open"].concat(_viewportAttrsFromTarget),_destroyEvents=[];return _base.sleep=function(){_sleeping=!0},_base.update=function(force){var attrsChanged,contentSizeC,doUpdateAuto,mutHost,mutContent;if(!_destroyed)return type(force)==TYPES.s?force===_strAuto?(attrsChanged=meaningfulAttrsChanged(),contentSizeC=updateAutoContentSizeChanged(),(doUpdateAuto=attrsChanged||contentSizeC)&&update({_contentSizeChanged:contentSizeC,_changedOptions:_initialized?undefined:_currentPreparedOptions})):force===_strSync?_mutationObserversConnected?(mutHost=_mutationObserverHostCallback(_mutationObserverHost.takeRecords()),mutContent=_mutationObserverContentCallback(_mutationObserverContent.takeRecords())):mutHost=_base.update(_strAuto):"zoom"===force&&update({_hostSizeChanged:!0,_contentSizeChanged:!0}):(force=_sleeping||force,_sleeping=!1,_base.update(_strSync)&&!force||update({_force:force})),updateElementsOnLoad(),doUpdateAuto||mutHost||mutContent},_base.options=function(newOptions,value){var changedOps,option={};if(FRAMEWORK.isEmptyObject(newOptions)||!FRAMEWORK.isPlainObject(newOptions)){if(type(newOptions)!=TYPES.s)return _currentOptions;if(!(arguments.length>1))return getObjectPropVal(_currentOptions,newOptions);setObjectPropVal(option,newOptions,value),changedOps=setOptions(option)}else changedOps=setOptions(newOptions);FRAMEWORK.isEmptyObject(changedOps)||update({_changedOptions:changedOps})},_base.destroy=function(){if(!_destroyed){for(var extName in autoUpdateLoop.remove(_base),disconnectMutationObservers(),setupResizeObserver(_sizeObserverElement),setupResizeObserver(_sizeAutoObserverElement),_extensions)_base.removeExt(extName);for(;_destroyEvents[LEXICON.l]>0;)_destroyEvents.pop()();setupHostMouseTouchEvents(!0),_contentGlueElement&&remove(_contentGlueElement),_contentArrangeElement&&remove(_contentArrangeElement),_sizeAutoObserverAdded&&remove(_sizeAutoObserverElement),setupScrollbarsDOM(!0),setupScrollbarCornerDOM(!0),setupStructureDOM(!0);for(var i=0;i<_updateOnLoadElms[LEXICON.l];i++)FRAMEWORK(_updateOnLoadElms[i]).off(_updateOnLoadEventName,updateOnLoadCallback);_updateOnLoadElms=undefined,_destroyed=!0,_sleeping=!0,INSTANCES(pluginTargetElement,0),dispatchCallback("onDestroyed")}},_base.scroll=function(coordinates,duration,easing,complete){if(0===arguments.length||coordinates===undefined){var infoX=_scrollHorizontalInfo,infoY=_scrollVerticalInfo,normalizeInvert=_normalizeRTLCache&&_isRTL&&_rtlScrollBehavior.i,normalizeNegate=_normalizeRTLCache&&_isRTL&&_rtlScrollBehavior.n,scrollX=infoX._currentScroll,scrollXRatio=infoX._currentScrollRatio,maxScrollX=infoX._maxScroll;return scrollXRatio=normalizeInvert?1-scrollXRatio:scrollXRatio,scrollX=normalizeInvert?maxScrollX-scrollX:scrollX,maxScrollX*=normalizeNegate?-1:1,{position:{x:scrollX*=normalizeNegate?-1:1,y:infoY._currentScroll},ratio:{x:scrollXRatio,y:infoY._currentScrollRatio},max:{x:maxScrollX,y:infoY._maxScroll},handleOffset:{x:infoX._handleOffset,y:infoY._handleOffset},handleLength:{x:infoX._handleLength,y:infoY._handleLength},handleLengthRatio:{x:infoX._handleLengthRatio,y:infoY._handleLengthRatio},trackLength:{x:infoX._trackLength,y:infoY._trackLength},snappedHandleOffset:{x:infoX._snappedHandleOffset,y:infoY._snappedHandleOffset},isRTL:_isRTL,isRTLNormalized:_normalizeRTLCache}}_base.update(_strSync);var i,doScrollLeft,doScrollTop,animationOptions,settingsAxis,settingsScroll,settingsBlock,settingsMargin,finalElement,normalizeRTL=_normalizeRTLCache,coordinatesXAxisProps=[_strX,_strLeft,"l"],coordinatesYAxisProps=[_strY,_strTop,"t"],coordinatesOperators=["+=","-=","*=","/="],durationIsObject=type(duration)==TYPES.o,completeCallback=durationIsObject?duration.complete:complete,finalScroll={},specialEasing={},strEnd="end",strBegin="begin",strCenter="center",strNearest="nearest",strAlways="always",strNever="never",strIfNeeded="ifneeded",strLength=LEXICON.l,elementObjSettingsAxisValues=[_strX,_strY,"xy","yx"],elementObjSettingsBlockValues=[strBegin,strEnd,strCenter,strNearest],elementObjSettingsScrollValues=[strAlways,strNever,strIfNeeded],coordinatesIsElementObj=coordinates[LEXICON.hOP]("el"),possibleElement=coordinatesIsElementObj?coordinates.el:coordinates,possibleElementIsJQuery=!!(possibleElement instanceof FRAMEWORK||JQUERY)&&possibleElement instanceof JQUERY,possibleElementIsHTMLElement=!possibleElementIsJQuery&&isHTMLElement(possibleElement),updateScrollbarInfos=function(){doScrollLeft&&refreshScrollbarHandleOffset(!0),doScrollTop&&refreshScrollbarHandleOffset(!1)},proxyCompleteCallback=type(completeCallback)!=TYPES.f?undefined:function(){updateScrollbarInfos(),completeCallback()};function checkSettingsStringValue(currValue,allowedValues){for(i=0;i2&&(possibleOperator=rawScroll.substr(0,2),inArray(possibleOperator,coordinatesOperators)>-1&&(operator=possibleOperator)),rawScroll=(rawScroll=operator?rawScroll.substr(2):rawScroll)[strReplace](/min/g,0)[strReplace](//g,(normalizeShortcuts?"-":_strEmpty)+_strHundredPercent)[strReplace](/px/g,_strEmpty)[strReplace](/%/g,mult+maxScroll*(isRTLisX&&_rtlScrollBehavior.n?-1:1)/100)[strReplace](/vw/g,mult+_viewportSize.w)[strReplace](/vh/g,mult+_viewportSize.h),amount=parseToZeroOrNumber(isNaN(rawScroll)?parseToZeroOrNumber(evalFunc(rawScroll),!0).toFixed():rawScroll)):amount=rawScroll,amount!==undefined&&!isNaN(amount)&&type(amount)==TYPES.n){var normalizeIsRTLisX=normalizeRTL&&isRTLisX,operatorCurrScroll=currScroll*(normalizeIsRTLisX&&_rtlScrollBehavior.n?-1:1),invert=normalizeIsRTLisX&&_rtlScrollBehavior.i,negate=normalizeIsRTLisX&&_rtlScrollBehavior.n;switch(operatorCurrScroll=invert?maxScroll-operatorCurrScroll:operatorCurrScroll,operator){case"+=":finalValue=operatorCurrScroll+amount;break;case"-=":finalValue=operatorCurrScroll-amount;break;case"*=":finalValue=operatorCurrScroll*amount;break;case"/=":finalValue=operatorCurrScroll/amount;break;default:finalValue=amount}finalValue=invert?maxScroll-finalValue:finalValue,finalValue*=negate?-1:1,finalValue=isRTLisX&&_rtlScrollBehavior.n?MATH.min(0,MATH.max(maxScroll,finalValue)):MATH.max(0,MATH.min(maxScroll,finalValue))}return finalValue===currScroll?undefined:finalValue}function getPerAxisValue(value,valueInternalType,defaultValue,allowedValues){var valueArrLength,valueArrItem,resultDefault=[defaultValue,defaultValue],valueType=type(value);if(valueType==valueInternalType)value=[value,value];else if(valueType==TYPES.a){if((valueArrLength=value[strLength])>2||valueArrLength<1)value=resultDefault;else for(1===valueArrLength&&(value[1]=defaultValue),i=0;i0){margin=marginType==TYPES.n||marginType==TYPES.b?generateMargin([margin,margin,margin,margin]):marginType==TYPES.a?2===(marginLength=margin[strLength])?generateMargin([margin[0],margin[1],margin[0],margin[1]]):marginLength>=4?generateMargin(margin):marginDefault:marginType==TYPES.o?generateMargin([margin[_strTop],margin[_strRight],margin[_strBottom],margin[_strLeft]]):marginDefault,settingsAxis=checkSettingsStringValue(axis,elementObjSettingsAxisValues)?axis:"xy",settingsScroll=getPerAxisValue(scroll,TYPES.s,strAlways,elementObjSettingsScrollValues),settingsBlock=getPerAxisValue(block,TYPES.s,strBegin,elementObjSettingsBlockValues),settingsMargin=margin;var viewportScroll={l:_scrollHorizontalInfo._currentScroll,t:_scrollVerticalInfo._currentScroll},viewportOffset=_paddingElement.offset(),elementOffset=finalElement.offset(),doNotScroll={x:settingsScroll.x==strNever||settingsAxis==_strY,y:settingsScroll.y==strNever||settingsAxis==_strX};elementOffset[_strTop]-=settingsMargin[0],elementOffset[_strLeft]-=settingsMargin[3];var elementScrollCoordinates={x:MATH.round(elementOffset[_strLeft]-viewportOffset[_strLeft]+viewportScroll.l),y:MATH.round(elementOffset[_strTop]-viewportOffset[_strTop]+viewportScroll.t)};if(_isRTL&&(_rtlScrollBehavior.n||_rtlScrollBehavior.i||(elementScrollCoordinates.x=MATH.round(viewportOffset[_strLeft]-elementOffset[_strLeft]+viewportScroll.l)),_rtlScrollBehavior.n&&normalizeRTL&&(elementScrollCoordinates.x*=-1),_rtlScrollBehavior.i&&normalizeRTL&&(elementScrollCoordinates.x=MATH.round(viewportOffset[_strLeft]-elementOffset[_strLeft]+(_scrollHorizontalInfo._maxScroll-viewportScroll.l)))),settingsBlock.x!=strBegin||settingsBlock.y!=strBegin||settingsScroll.x==strIfNeeded||settingsScroll.y==strIfNeeded||_isRTL){var measuringElm=finalElement[0],rawElementSize=_supportTransform?measuringElm[LEXICON.bCR]():{width:measuringElm[LEXICON.oW],height:measuringElm[LEXICON.oH]},elementSize={w:rawElementSize[_strWidth]+settingsMargin[3]+settingsMargin[1],h:rawElementSize[_strHeight]+settingsMargin[0]+settingsMargin[2]},finalizeBlock=function(isX){var vars=getScrollbarVars(isX),wh=vars._w_h,lt=vars._left_top,xy=vars._x_y,blockIsEnd=settingsBlock[xy]==(isX&&_isRTL?strBegin:strEnd),blockIsCenter=settingsBlock[xy]==strCenter,blockIsNearest=settingsBlock[xy]==strNearest,scrollNever=settingsScroll[xy]==strNever,scrollIfNeeded=settingsScroll[xy]==strIfNeeded,vpSize=_viewportSize[wh],vpOffset=viewportOffset[lt],elSize=elementSize[wh],elOffset=elementOffset[lt],divide=blockIsCenter?2:1,elementCenterOffset=elOffset+elSize/2,viewportCenterOffset=vpOffset+vpSize/2,isInView=elSize<=vpSize&&elOffset>=vpOffset&&elOffset+elSize<=vpOffset+vpSize;scrollNever?doNotScroll[xy]=!0:doNotScroll[xy]||((blockIsNearest||scrollIfNeeded)&&(doNotScroll[xy]=!!scrollIfNeeded&&isInView,blockIsEnd=elSizeviewportCenterOffset:elementCenterOffset0||durationIsObject)?durationIsObject?(duration.complete=proxyCompleteCallback,_viewportElement.animate(finalScroll,duration)):(animationOptions={duration:duration,complete:proxyCompleteCallback},COMPATIBILITY.isA(easing)||FRAMEWORK.isPlainObject(easing)?(specialEasing[_strScrollLeft]=easing[0]||easing.x,specialEasing[_strScrollTop]=easing[1]||easing.y,animationOptions.specialEasing=specialEasing):animationOptions.easing=easing,_viewportElement.animate(finalScroll,animationOptions)):(doScrollLeft&&_viewportElement[_strScrollLeft](finalScroll[_strScrollLeft]),doScrollTop&&_viewportElement[_strScrollTop](finalScroll[_strScrollTop]),updateScrollbarInfos())},_base.scrollStop=function(param1,param2,param3){return _viewportElement.stop(param1,param2,param3),_base},_base.getElements=function(elementName){var obj={target:_targetElementNative,host:_hostElementNative,padding:_paddingElementNative,viewport:_viewportElementNative,content:_contentElementNative,scrollbarHorizontal:{scrollbar:_scrollbarHorizontalElement[0],track:_scrollbarHorizontalTrackElement[0],handle:_scrollbarHorizontalHandleElement[0]},scrollbarVertical:{scrollbar:_scrollbarVerticalElement[0],track:_scrollbarVerticalTrackElement[0],handle:_scrollbarVerticalHandleElement[0]},scrollbarCorner:_scrollbarCornerElement[0]};return type(elementName)==TYPES.s?getObjectPropVal(obj,elementName):obj},_base.getState=function(stateProperty){function prepare(obj){if(!FRAMEWORK.isPlainObject(obj))return obj;var extended=extendDeep({},obj),changePropertyName=function(from,to){extended[LEXICON.hOP](from)&&(extended[to]=extended[from],delete extended[from])};return changePropertyName("w",_strWidth),changePropertyName("h",_strHeight),delete extended.c,extended}var obj={destroyed:!!prepare(_destroyed),sleeping:!!prepare(_sleeping),autoUpdate:prepare(!_mutationObserversConnected),widthAuto:prepare(_widthAutoCache),heightAuto:prepare(_heightAutoCache),padding:prepare(_cssPaddingCache),overflowAmount:prepare(_overflowAmountCache),hideOverflow:prepare(_hideOverflowCache),hasOverflow:prepare(_hasOverflowCache),contentScrollSize:prepare(_contentScrollSizeCache),viewportSize:prepare(_viewportSize),hostSize:prepare(_hostSizeCache),documentMixed:prepare(_documentMixed)};return type(stateProperty)==TYPES.s?getObjectPropVal(obj,stateProperty):obj},_base.ext=function(extName){var result,privateMethods=_extensionsPrivateMethods.split(" "),i=0;if(type(extName)==TYPES.s){if(_extensions[LEXICON.hOP](extName))for(result=extendDeep({},_extensions[extName]);i9||!_autoUpdateRecommended){targetElement.prepend(generateDiv(_classNameResizeObserverElement,generateDiv({c:_classNameResizeObserverItemElement,dir:"ltr"},generateDiv(_classNameResizeObserverItemElement,generateDiv(_classNameResizeObserverItemFinalElement))+generateDiv(_classNameResizeObserverItemElement,generateDiv({c:_classNameResizeObserverItemFinalElement,style:"width: 200%; height: 200%"})))));var isDirty,rAFId,currWidth,currHeight,observerElement=targetElement[0][strChildNodes][0][strChildNodes][0],shrinkElement=FRAMEWORK(observerElement[strChildNodes][1]),expandElement=FRAMEWORK(observerElement[strChildNodes][0]),expandElementChild=FRAMEWORK(expandElement[0][strChildNodes][0]),widthCache=observerElement[LEXICON.oW],heightCache=observerElement[LEXICON.oH],factor=2,nativeScrollbarSize=globals.nativeScrollbarSize,reset=function(){expandElement[_strScrollLeft](constScroll)[_strScrollTop](constScroll),shrinkElement[_strScrollLeft](constScroll)[_strScrollTop](constScroll)},onResized=function(){rAFId=0,isDirty&&(widthCache=currWidth,heightCache=currHeight,callback())},onScroll=function(event){return currWidth=observerElement[LEXICON.oW],currHeight=observerElement[LEXICON.oH],isDirty=currWidth!=widthCache||currHeight!=heightCache,event&&isDirty&&!rAFId?(COMPATIBILITY.cAF()(rAFId),rAFId=COMPATIBILITY.rAF()(onResized)):event||onResized(),reset(),event&&(COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event)),!1},expandChildCSS={},observerElementCSS={};setTopRightBottomLeft(observerElementCSS,_strEmpty,[-(nativeScrollbarSize.y+1)*factor,nativeScrollbarSize.x*-factor,nativeScrollbarSize.y*-factor,-(nativeScrollbarSize.x+1)*factor]),FRAMEWORK(observerElement).css(observerElementCSS),expandElement.on(_strScroll,onScroll),shrinkElement.on(_strScroll,onScroll),targetElement.on(strAnimationStartEvent,(function(){onScroll(!1)})),expandChildCSS[_strWidth]=constScroll,expandChildCSS[_strHeight]=constScroll,expandElementChild.css(expandChildCSS),reset()}else{var attachEvent=_documentElementNative.attachEvent,isIE=_msieVersion!==undefined;if(attachEvent)targetElement.prepend(generateDiv(_classNameResizeObserverElement)),findFirst(targetElement,_strDot+_classNameResizeObserverElement)[0].attachEvent("onresize",callback);else{var obj=_documentElementNative.createElement(TYPES.o);obj.setAttribute(LEXICON.ti,"-1"),obj.setAttribute(LEXICON.c,_classNameResizeObserverElement),obj.onload=function(){var wnd=this.contentDocument.defaultView;wnd.addEventListener("resize",callback),wnd.document.documentElement.style.display="none"},obj.type="text/html",isIE&&targetElement.prepend(obj),obj.data="about:blank",isIE||targetElement.prepend(obj),targetElement.on(strAnimationStartEvent,callback)}}if(targetElement[0]===_sizeObserverElementNative){var directionChanged=function(){var dir=_hostElement.css("direction"),css={},scrollLeftValue=0,result=!1;return dir!==_cssDirectionDetectedCache&&("ltr"===dir?(css[_strLeft]=0,css[_strRight]=_strAuto,scrollLeftValue=constScroll):(css[_strLeft]=_strAuto,css[_strRight]=0,scrollLeftValue=_rtlScrollBehavior.n?-constScroll:_rtlScrollBehavior.i?0:constScroll),_sizeObserverElement.children().eq(0).css(css),_sizeObserverElement[_strScrollLeft](scrollLeftValue)[_strScrollTop](constScroll),_cssDirectionDetectedCache=dir,result=!0),result};directionChanged(),addDestroyEventListener(targetElement,_strScroll,(function(event){return directionChanged()&&update(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event),!1}))}}else if(_supportResizeObserver){var element,resizeObserverObj=(element=targetElement.contents()[0])[_strResizeObserverProperty];resizeObserverObj&&(resizeObserverObj.disconnect(),delete element[_strResizeObserverProperty])}else remove(targetElement.children(_strDot+_classNameResizeObserverElement).eq(0))}}function createMutationObservers(){if(_supportMutationObserver){var mutationTarget,mutationAttrName,mutationIsClass,oldMutationVal,newClassVal,hostClassNameRegex,contentTimeout,now,sizeAuto,action,mutationObserverContentLag=11,mutationObserver=COMPATIBILITY.mO(),contentLastUpdate=COMPATIBILITY.now();_mutationObserverContentCallback=function(mutations){var doUpdate=!1;return _initialized&&!_sleeping&&(each(mutations,(function(){return!(doUpdate=isUnknownMutation(this))})),doUpdate&&(now=COMPATIBILITY.now(),sizeAuto=_heightAutoCache||_widthAutoCache,action=function(){_destroyed||(contentLastUpdate=now,_isTextarea&&textareaUpdate(),sizeAuto?update():_base.update(_strAuto))},clearTimeout(contentTimeout),mutationObserverContentLag<=0||now-contentLastUpdate>mutationObserverContentLag||!sizeAuto?action():contentTimeout=setTimeout(action,mutationObserverContentLag))),doUpdate},_mutationObserverHost=new mutationObserver(_mutationObserverHostCallback=function(mutations){var mutation,doUpdate=!1,doUpdateForce=!1,mutatedAttrs=[];return _initialized&&!_sleeping&&(each(mutations,(function(){mutationTarget=(mutation=this).target,mutationAttrName=mutation.attributeName,mutationIsClass=mutationAttrName===LEXICON.c,oldMutationVal=mutation.oldValue,newClassVal=mutationTarget.className,_domExists&&mutationIsClass&&!doUpdateForce&&oldMutationVal.indexOf(_classNameHostElementForeign)>-1&&newClassVal.indexOf(_classNameHostElementForeign)<0&&(hostClassNameRegex=createHostClassNameRegExp(!0),_hostElementNative.className=newClassVal.split(_strSpace).concat(oldMutationVal.split(_strSpace).filter((function(name){return name.match(hostClassNameRegex)}))).join(_strSpace),doUpdate=doUpdateForce=!0),doUpdate||(doUpdate=mutationIsClass?hostClassNamesChanged(oldMutationVal,newClassVal):mutationAttrName!==LEXICON.s||oldMutationVal!==mutationTarget[LEXICON.s].cssText),mutatedAttrs.push(mutationAttrName)})),updateViewportAttrsFromTarget(mutatedAttrs),doUpdate&&_base.update(doUpdateForce||_strAuto)),doUpdate}),_mutationObserverContent=new mutationObserver(_mutationObserverContentCallback)}}function connectMutationObservers(){_supportMutationObserver&&!_mutationObserversConnected&&(_mutationObserverHost.observe(_hostElementNative,{attributes:!0,attributeOldValue:!0,attributeFilter:_mutationObserverAttrsHost}),_mutationObserverContent.observe(_isTextarea?_targetElementNative:_contentElementNative,{attributes:!0,attributeOldValue:!0,subtree:!_isTextarea,childList:!_isTextarea,characterData:!_isTextarea,attributeFilter:_isTextarea?_mutationObserverAttrsTextarea:_mutationObserverAttrsHost}),_mutationObserversConnected=!0)}function disconnectMutationObservers(){_supportMutationObserver&&_mutationObserversConnected&&(_mutationObserverHost.disconnect(),_mutationObserverContent.disconnect(),_mutationObserversConnected=!1)}function hostOnResized(){if(!_sleeping){var changed,hostSize={w:_sizeObserverElementNative[LEXICON.sW],h:_sizeObserverElementNative[LEXICON.sH]};changed=checkCache(hostSize,_hostElementSizeChangeDetectedCache),_hostElementSizeChangeDetectedCache=hostSize,changed&&update({_hostSizeChanged:!0})}}function hostOnMouseEnter(){_scrollbarsAutoHideLeave&&refreshScrollbarsAutoHide(!0)}function hostOnMouseLeave(){_scrollbarsAutoHideLeave&&!_bodyElement.hasClass(_classNameDragging)&&refreshScrollbarsAutoHide(!1)}function hostOnMouseMove(){_scrollbarsAutoHideMove&&(refreshScrollbarsAutoHide(!0),clearTimeout(_scrollbarsAutoHideMoveTimeoutId),_scrollbarsAutoHideMoveTimeoutId=setTimeout((function(){_scrollbarsAutoHideMove&&!_destroyed&&refreshScrollbarsAutoHide(!1)}),100))}function documentOnSelectStart(event){return COMPATIBILITY.prvD(event),!1}function updateOnLoadCallback(event){var elm=FRAMEWORK(event.target);eachUpdateOnLoad((function(i,updateOnLoadSelector){elm.is(updateOnLoadSelector)&&update({_contentSizeChanged:!0})}))}function setupHostMouseTouchEvents(destroy){destroy||setupHostMouseTouchEvents(!0),setupResponsiveEventListener(_hostElement,_strMouseTouchMoveEvent.split(_strSpace)[0],hostOnMouseMove,!_scrollbarsAutoHideMove||destroy,!0),setupResponsiveEventListener(_hostElement,[_strMouseEnter,_strMouseLeave],[hostOnMouseEnter,hostOnMouseLeave],!_scrollbarsAutoHideLeave||destroy,!0),_initialized||destroy||_hostElement.one("mouseover",hostOnMouseEnter)}function bodyMinSizeChanged(){var bodyMinSize={};return _isBody&&_contentArrangeElement&&(bodyMinSize.w=parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus+_strWidth)),bodyMinSize.h=parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus+_strHeight)),bodyMinSize.c=checkCache(bodyMinSize,_bodyMinSizeCache),bodyMinSize.f=!0),_bodyMinSizeCache=bodyMinSize,!!bodyMinSize.c}function hostClassNamesChanged(oldClassNames,newClassNames){var i,regex,currClasses=typeof newClassNames==TYPES.s?newClassNames.split(_strSpace):[],diff=getArrayDifferences(typeof oldClassNames==TYPES.s?oldClassNames.split(_strSpace):[],currClasses),idx=inArray(_classNameThemeNone,diff);if(idx>-1&&diff.splice(idx,1),diff[LEXICON.l]>0)for(regex=createHostClassNameRegExp(!0,!0),i=0;i0}}function isSizeAffectingCSSProperty(propertyName){if(!_initialized)return!0;var flexGrow="flex-grow",flexShrink="flex-shrink",flexBasis="flex-basis",affectingPropsX=[_strWidth,_strMinMinus+_strWidth,_strMaxMinus+_strWidth,_strMarginMinus+_strLeft,_strMarginMinus+_strRight,_strLeft,_strRight,"font-weight","word-spacing",flexGrow,flexShrink,flexBasis],affectingPropsXContentBox=[_strPaddingMinus+_strLeft,_strPaddingMinus+_strRight,_strBorderMinus+_strLeft+_strWidth,_strBorderMinus+_strRight+_strWidth],affectingPropsY=[_strHeight,_strMinMinus+_strHeight,_strMaxMinus+_strHeight,_strMarginMinus+_strTop,_strMarginMinus+_strBottom,_strTop,_strBottom,"line-height",flexGrow,flexShrink,flexBasis],affectingPropsYContentBox=[_strPaddingMinus+_strTop,_strPaddingMinus+_strBottom,_strBorderMinus+_strTop+_strWidth,_strBorderMinus+_strBottom+_strWidth],_strS="s",_strVS="v-s",checkX=_overflowBehaviorCache.x===_strS||_overflowBehaviorCache.x===_strVS,sizeIsAffected=!1,checkPropertyName=function(arr,name){for(var i=0;i-1){var targetAttr=_targetElement.attr(attr);type(targetAttr)==TYPES.s?_viewportElement.attr(attr,targetAttr):_viewportElement.removeAttr(attr)}}))}function textareaUpdate(){if(!_sleeping){var origWidth,width,origHeight,height,wrapAttrOff=!_textareaAutoWrappingCache,minWidth=_viewportSize.w,minHeight=_viewportSize.h,css={},doMeasure=_widthAutoCache||wrapAttrOff;return css[_strMinMinus+_strWidth]=_strEmpty,css[_strMinMinus+_strHeight]=_strEmpty,css[_strWidth]=_strAuto,_targetElement.css(css),origWidth=_targetElementNative[LEXICON.oW],width=doMeasure?MATH.max(origWidth,_targetElementNative[LEXICON.sW]-1):1,css[_strWidth]=_widthAutoCache?_strAuto:_strHundredPercent,css[_strMinMinus+_strWidth]=_strHundredPercent,css[_strHeight]=_strAuto,_targetElement.css(css),origHeight=_targetElementNative[LEXICON.oH],height=MATH.max(origHeight,_targetElementNative[LEXICON.sH]-1),css[_strWidth]=width,css[_strHeight]=height,_textareaCoverElement.css(css),css[_strMinMinus+_strWidth]=minWidth,css[_strMinMinus+_strHeight]=minHeight,_targetElement.css(css),{_originalWidth:origWidth,_originalHeight:origHeight,_dynamicWidth:width,_dynamicHeight:height}}}function update(updateHints){clearTimeout(_swallowedUpdateTimeout),updateHints=updateHints||{},_swallowedUpdateHints._hostSizeChanged|=updateHints._hostSizeChanged,_swallowedUpdateHints._contentSizeChanged|=updateHints._contentSizeChanged,_swallowedUpdateHints._force|=updateHints._force;var displayIsHidden,now=COMPATIBILITY.now(),hostSizeChanged=!!_swallowedUpdateHints._hostSizeChanged,contentSizeChanged=!!_swallowedUpdateHints._contentSizeChanged,force=!!_swallowedUpdateHints._force,changedOptions=updateHints._changedOptions,swallow=_swallowUpdateLag>0&&_initialized&&!_destroyed&&!force&&!changedOptions&&now-_lastUpdateTime<_swallowUpdateLag&&!_heightAutoCache&&!_widthAutoCache;if(swallow&&(_swallowedUpdateTimeout=setTimeout(update,_swallowUpdateLag)),!(_destroyed||swallow||_sleeping&&!changedOptions||_initialized&&!force&&(displayIsHidden=_hostElement.is(":hidden"))||"inline"===_hostElement.css("display"))){_lastUpdateTime=now,_swallowedUpdateHints={},!_nativeScrollbarStyling||_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y?_nativeScrollbarSize=extendDeep({},globals.nativeScrollbarSize):(_nativeScrollbarSize.x=0,_nativeScrollbarSize.y=0),_nativeScrollbarMinSize={x:3*(_nativeScrollbarSize.x+(_nativeScrollbarIsOverlaid.x?0:3)),y:3*(_nativeScrollbarSize.y+(_nativeScrollbarIsOverlaid.y?0:3))},changedOptions=changedOptions||{};var checkCacheAutoForce=function(){return checkCache.apply(this,[].slice.call(arguments).concat([force]))},currScroll={x:_viewportElement[_strScrollLeft](),y:_viewportElement[_strScrollTop]()},currentPreparedOptionsScrollbars=_currentPreparedOptions.scrollbars,currentPreparedOptionsTextarea=_currentPreparedOptions.textarea,scrollbarsVisibility=currentPreparedOptionsScrollbars.visibility,scrollbarsVisibilityChanged=checkCacheAutoForce(scrollbarsVisibility,_scrollbarsVisibilityCache),scrollbarsAutoHide=currentPreparedOptionsScrollbars.autoHide,scrollbarsAutoHideChanged=checkCacheAutoForce(scrollbarsAutoHide,_scrollbarsAutoHideCache),scrollbarsClickScrolling=currentPreparedOptionsScrollbars.clickScrolling,scrollbarsClickScrollingChanged=checkCacheAutoForce(scrollbarsClickScrolling,_scrollbarsClickScrollingCache),scrollbarsDragScrolling=currentPreparedOptionsScrollbars.dragScrolling,scrollbarsDragScrollingChanged=checkCacheAutoForce(scrollbarsDragScrolling,_scrollbarsDragScrollingCache),className=_currentPreparedOptions.className,classNameChanged=checkCacheAutoForce(className,_classNameCache),resize=_currentPreparedOptions.resize,resizeChanged=checkCacheAutoForce(resize,_resizeCache)&&!_isBody,paddingAbsolute=_currentPreparedOptions.paddingAbsolute,paddingAbsoluteChanged=checkCacheAutoForce(paddingAbsolute,_paddingAbsoluteCache),clipAlways=_currentPreparedOptions.clipAlways,clipAlwaysChanged=checkCacheAutoForce(clipAlways,_clipAlwaysCache),sizeAutoCapable=_currentPreparedOptions.sizeAutoCapable&&!_isBody,sizeAutoCapableChanged=checkCacheAutoForce(sizeAutoCapable,_sizeAutoCapableCache),ignoreOverlayScrollbarHiding=_currentPreparedOptions.nativeScrollbarsOverlaid.showNativeScrollbars,ignoreOverlayScrollbarHidingChanged=checkCacheAutoForce(ignoreOverlayScrollbarHiding,_ignoreOverlayScrollbarHidingCache),autoUpdate=_currentPreparedOptions.autoUpdate,autoUpdateChanged=checkCacheAutoForce(autoUpdate,_autoUpdateCache),overflowBehavior=_currentPreparedOptions.overflowBehavior,overflowBehaviorChanged=checkCacheAutoForce(overflowBehavior,_overflowBehaviorCache,force),textareaDynWidth=currentPreparedOptionsTextarea.dynWidth,textareaDynWidthChanged=checkCacheAutoForce(_textareaDynWidthCache,textareaDynWidth),textareaDynHeight=currentPreparedOptionsTextarea.dynHeight,textareaDynHeightChanged=checkCacheAutoForce(_textareaDynHeightCache,textareaDynHeight);if(_scrollbarsAutoHideNever="n"===scrollbarsAutoHide,_scrollbarsAutoHideScroll="s"===scrollbarsAutoHide,_scrollbarsAutoHideMove="m"===scrollbarsAutoHide,_scrollbarsAutoHideLeave="l"===scrollbarsAutoHide,_scrollbarsAutoHideDelay=currentPreparedOptionsScrollbars.autoHideDelay,_oldClassName=_classNameCache,_resizeNone="n"===resize,_resizeBoth="b"===resize,_resizeHorizontal="h"===resize,_resizeVertical="v"===resize,_normalizeRTLCache=_currentPreparedOptions.normalizeRTL,ignoreOverlayScrollbarHiding=ignoreOverlayScrollbarHiding&&_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y,_scrollbarsVisibilityCache=scrollbarsVisibility,_scrollbarsAutoHideCache=scrollbarsAutoHide,_scrollbarsClickScrollingCache=scrollbarsClickScrolling,_scrollbarsDragScrollingCache=scrollbarsDragScrolling,_classNameCache=className,_resizeCache=resize,_paddingAbsoluteCache=paddingAbsolute,_clipAlwaysCache=clipAlways,_sizeAutoCapableCache=sizeAutoCapable,_ignoreOverlayScrollbarHidingCache=ignoreOverlayScrollbarHiding,_autoUpdateCache=autoUpdate,_overflowBehaviorCache=extendDeep({},overflowBehavior),_textareaDynWidthCache=textareaDynWidth,_textareaDynHeightCache=textareaDynHeight,_hasOverflowCache=_hasOverflowCache||{x:!1,y:!1},classNameChanged&&(removeClass(_hostElement,_oldClassName+_strSpace+_classNameThemeNone),addClass(_hostElement,className!==undefined&&null!==className&&className.length>0?className:_classNameThemeNone)),autoUpdateChanged&&(!0===autoUpdate||null===autoUpdate&&_autoUpdateRecommended?(disconnectMutationObservers(),autoUpdateLoop.add(_base)):(autoUpdateLoop.remove(_base),connectMutationObservers())),sizeAutoCapableChanged)if(sizeAutoCapable)if(_contentGlueElement?_contentGlueElement.show():(_contentGlueElement=FRAMEWORK(generateDiv(_classNameContentGlueElement)),_paddingElement.before(_contentGlueElement)),_sizeAutoObserverAdded)_sizeAutoObserverElement.show();else{_sizeAutoObserverElement=FRAMEWORK(generateDiv(_classNameSizeAutoObserverElement)),_sizeAutoObserverElementNative=_sizeAutoObserverElement[0],_contentGlueElement.before(_sizeAutoObserverElement);var oldSize={w:-1,h:-1};setupResizeObserver(_sizeAutoObserverElement,(function(){var newSize={w:_sizeAutoObserverElementNative[LEXICON.oW],h:_sizeAutoObserverElementNative[LEXICON.oH]};checkCache(newSize,oldSize)&&(_initialized&&_heightAutoCache&&newSize.h>0||_widthAutoCache&&newSize.w>0||_initialized&&!_heightAutoCache&&0===newSize.h||!_widthAutoCache&&0===newSize.w)&&update(),oldSize=newSize})),_sizeAutoObserverAdded=!0,null!==_cssCalc&&_sizeAutoObserverElement.css(_strHeight,_cssCalc+"(100% + 1px)")}else _sizeAutoObserverAdded&&_sizeAutoObserverElement.hide(),_contentGlueElement&&_contentGlueElement.hide();force&&(_sizeObserverElement.find("*").trigger(_strScroll),_sizeAutoObserverAdded&&_sizeAutoObserverElement.find("*").trigger(_strScroll)),displayIsHidden=displayIsHidden===undefined?_hostElement.is(":hidden"):displayIsHidden;var sizeAutoObserverElementBCRect,textareaAutoWrapping=!!_isTextarea&&"off"!==_targetElement.attr("wrap"),textareaAutoWrappingChanged=checkCacheAutoForce(textareaAutoWrapping,_textareaAutoWrappingCache),cssDirection=_hostElement.css("direction"),cssDirectionChanged=checkCacheAutoForce(cssDirection,_cssDirectionCache),boxSizing=_hostElement.css("box-sizing"),boxSizingChanged=checkCacheAutoForce(boxSizing,_cssBoxSizingCache),padding=getTopRightBottomLeftHost(_strPaddingMinus);try{sizeAutoObserverElementBCRect=_sizeAutoObserverAdded?_sizeAutoObserverElementNative[LEXICON.bCR]():null}catch(ex){return}_isBorderBox="border-box"===boxSizing;var isRTLLeft=(_isRTL="rtl"===cssDirection)?_strLeft:_strRight,isRTLRight=_isRTL?_strRight:_strLeft,widthAutoResizeDetection=!1,widthAutoObserverDetection=!(!_sizeAutoObserverAdded||"none"===_hostElement.css(_strFloat))&&0===MATH.round(sizeAutoObserverElementBCRect.right-sizeAutoObserverElementBCRect.left)&&(!!paddingAbsolute||_hostElementNative[LEXICON.cW]-_paddingX>0);if(sizeAutoCapable&&!widthAutoObserverDetection){var tmpCurrHostWidth=_hostElementNative[LEXICON.oW],tmpCurrContentGlueWidth=_contentGlueElement.css(_strWidth);_contentGlueElement.css(_strWidth,_strAuto);var tmpNewHostWidth=_hostElementNative[LEXICON.oW];_contentGlueElement.css(_strWidth,tmpCurrContentGlueWidth),(widthAutoResizeDetection=tmpCurrHostWidth!==tmpNewHostWidth)||(_contentGlueElement.css(_strWidth,tmpCurrHostWidth+1),tmpNewHostWidth=_hostElementNative[LEXICON.oW],_contentGlueElement.css(_strWidth,tmpCurrContentGlueWidth),widthAutoResizeDetection=tmpCurrHostWidth!==tmpNewHostWidth)}var widthAuto=(widthAutoObserverDetection||widthAutoResizeDetection)&&sizeAutoCapable&&!displayIsHidden,widthAutoChanged=checkCacheAutoForce(widthAuto,_widthAutoCache),wasWidthAuto=!widthAuto&&_widthAutoCache,heightAuto=!(!_sizeAutoObserverAdded||!sizeAutoCapable||displayIsHidden)&&0===MATH.round(sizeAutoObserverElementBCRect.bottom-sizeAutoObserverElementBCRect.top),heightAutoChanged=checkCacheAutoForce(heightAuto,_heightAutoCache),wasHeightAuto=!heightAuto&&_heightAutoCache,border=getTopRightBottomLeftHost(_strBorderMinus,"-"+_strWidth,!(widthAuto&&_isBorderBox||!_isBorderBox),!(heightAuto&&_isBorderBox||!_isBorderBox)),margin=getTopRightBottomLeftHost(_strMarginMinus),contentElementCSS={},contentGlueElementCSS={},getHostSize=function(){return{w:_hostElementNative[LEXICON.cW],h:_hostElementNative[LEXICON.cH]}},getViewportSize=function(){return{w:_paddingElementNative[LEXICON.oW]+MATH.max(0,_contentElementNative[LEXICON.cW]-_contentElementNative[LEXICON.sW]),h:_paddingElementNative[LEXICON.oH]+MATH.max(0,_contentElementNative[LEXICON.cH]-_contentElementNative[LEXICON.sH])}},paddingAbsoluteX=_paddingX=padding.l+padding.r,paddingAbsoluteY=_paddingY=padding.t+padding.b;if(paddingAbsoluteX*=paddingAbsolute?1:0,paddingAbsoluteY*=paddingAbsolute?1:0,padding.c=checkCacheAutoForce(padding,_cssPaddingCache),_borderX=border.l+border.r,_borderY=border.t+border.b,border.c=checkCacheAutoForce(border,_cssBorderCache),_marginX=margin.l+margin.r,_marginY=margin.t+margin.b,margin.c=checkCacheAutoForce(margin,_cssMarginCache),_textareaAutoWrappingCache=textareaAutoWrapping,_cssDirectionCache=cssDirection,_cssBoxSizingCache=boxSizing,_widthAutoCache=widthAuto,_heightAutoCache=heightAuto,_cssPaddingCache=padding,_cssBorderCache=border,_cssMarginCache=margin,cssDirectionChanged&&_sizeAutoObserverAdded&&_sizeAutoObserverElement.css(_strFloat,isRTLRight),padding.c||cssDirectionChanged||paddingAbsoluteChanged||widthAutoChanged||heightAutoChanged||boxSizingChanged||sizeAutoCapableChanged){var paddingElementCSS={},textareaCSS={},paddingValues=[padding.t,padding.r,padding.b,padding.l];setTopRightBottomLeft(contentGlueElementCSS,_strMarginMinus,[-padding.t,-padding.r,-padding.b,-padding.l]),paddingAbsolute?(setTopRightBottomLeft(paddingElementCSS,_strEmpty,paddingValues),setTopRightBottomLeft(_isTextarea?textareaCSS:contentElementCSS,_strPaddingMinus)):(setTopRightBottomLeft(paddingElementCSS,_strEmpty),setTopRightBottomLeft(_isTextarea?textareaCSS:contentElementCSS,_strPaddingMinus,paddingValues)),_paddingElement.css(paddingElementCSS),_targetElement.css(textareaCSS)}_viewportSize=getViewportSize();var textareaSize=!!_isTextarea&&textareaUpdate(),textareaSizeChanged=_isTextarea&&checkCacheAutoForce(textareaSize,_textareaSizeCache),textareaDynOrigSize=_isTextarea&&textareaSize?{w:textareaDynWidth?textareaSize._dynamicWidth:textareaSize._originalWidth,h:textareaDynHeight?textareaSize._dynamicHeight:textareaSize._originalHeight}:{};if(_textareaSizeCache=textareaSize,heightAuto&&(heightAutoChanged||paddingAbsoluteChanged||boxSizingChanged||padding.c||border.c)?contentElementCSS[_strHeight]=_strAuto:(heightAutoChanged||paddingAbsoluteChanged)&&(contentElementCSS[_strHeight]=_strHundredPercent),widthAuto&&(widthAutoChanged||paddingAbsoluteChanged||boxSizingChanged||padding.c||border.c||cssDirectionChanged)?(contentElementCSS[_strWidth]=_strAuto,contentGlueElementCSS[_strMaxMinus+_strWidth]=_strHundredPercent):(widthAutoChanged||paddingAbsoluteChanged)&&(contentElementCSS[_strWidth]=_strHundredPercent,contentElementCSS[_strFloat]=_strEmpty,contentGlueElementCSS[_strMaxMinus+_strWidth]=_strEmpty),widthAuto?(contentGlueElementCSS[_strWidth]=_strAuto,contentElementCSS[_strWidth]=VENDORS._cssPropertyValue(_strWidth,"max-content intrinsic")||_strAuto,contentElementCSS[_strFloat]=isRTLRight):contentGlueElementCSS[_strWidth]=_strEmpty,contentGlueElementCSS[_strHeight]=heightAuto?textareaDynOrigSize.h||_contentElementNative[LEXICON.cH]:_strEmpty,sizeAutoCapable&&_contentGlueElement.css(contentGlueElementCSS),_contentElement.css(contentElementCSS),contentElementCSS={},contentGlueElementCSS={},hostSizeChanged||contentSizeChanged||textareaSizeChanged||cssDirectionChanged||boxSizingChanged||paddingAbsoluteChanged||widthAutoChanged||widthAuto||heightAutoChanged||heightAuto||ignoreOverlayScrollbarHidingChanged||overflowBehaviorChanged||clipAlwaysChanged||resizeChanged||scrollbarsVisibilityChanged||scrollbarsAutoHideChanged||scrollbarsDragScrollingChanged||scrollbarsClickScrollingChanged||textareaDynWidthChanged||textareaDynHeightChanged||textareaAutoWrappingChanged){var strOverflow="overflow",strOverflowX=strOverflow+"-x",strOverflowY=strOverflow+"-y",strHidden="hidden",strVisible="visible";if(!_nativeScrollbarStyling){var viewportElementResetCSS={},resetXTmp=_hasOverflowCache.y&&_hideOverflowCache.ys&&!ignoreOverlayScrollbarHiding?_nativeScrollbarIsOverlaid.y?_viewportElement.css(isRTLLeft):-_nativeScrollbarSize.y:0,resetBottomTmp=_hasOverflowCache.x&&_hideOverflowCache.xs&&!ignoreOverlayScrollbarHiding?_nativeScrollbarIsOverlaid.x?_viewportElement.css(_strBottom):-_nativeScrollbarSize.x:0;setTopRightBottomLeft(viewportElementResetCSS,_strEmpty),_viewportElement.css(viewportElementResetCSS)}var contentMeasureElement=getContentMeasureElement(),contentSize={w:textareaDynOrigSize.w||contentMeasureElement[LEXICON.cW],h:textareaDynOrigSize.h||contentMeasureElement[LEXICON.cH]},scrollSize={w:contentMeasureElement[LEXICON.sW],h:contentMeasureElement[LEXICON.sH]};_nativeScrollbarStyling||(viewportElementResetCSS[_strBottom]=wasHeightAuto?_strEmpty:resetBottomTmp,viewportElementResetCSS[isRTLLeft]=wasWidthAuto?_strEmpty:resetXTmp,_viewportElement.css(viewportElementResetCSS)),_viewportSize=getViewportSize();var hostSize=getHostSize(),hostAbsoluteRectSize={w:hostSize.w-_marginX-_borderX-(_isBorderBox?0:_paddingX),h:hostSize.h-_marginY-_borderY-(_isBorderBox?0:_paddingY)},contentGlueSize={w:MATH.max((widthAuto?contentSize.w:scrollSize.w)+paddingAbsoluteX,hostAbsoluteRectSize.w),h:MATH.max((heightAuto?contentSize.h:scrollSize.h)+paddingAbsoluteY,hostAbsoluteRectSize.h)};if(contentGlueSize.c=checkCacheAutoForce(contentGlueSize,_contentGlueSizeCache),_contentGlueSizeCache=contentGlueSize,sizeAutoCapable){(contentGlueSize.c||heightAuto||widthAuto)&&(contentGlueElementCSS[_strWidth]=contentGlueSize.w,contentGlueElementCSS[_strHeight]=contentGlueSize.h,_isTextarea||(contentSize={w:contentMeasureElement[LEXICON.cW],h:contentMeasureElement[LEXICON.cH]}));var textareaCoverCSS={},setContentGlueElementCSSfunction=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),wh=scrollbarVars._w_h,strWH=scrollbarVars._width_height,autoSize=horizontal?widthAuto:heightAuto,borderSize=horizontal?_borderX:_borderY,paddingSize=horizontal?_paddingX:_paddingY,marginSize=horizontal?_marginX:_marginY,viewportSize=_viewportSize[wh]-borderSize-marginSize-(_isBorderBox?0:paddingSize);(!autoSize||!autoSize&&border.c)&&(contentGlueElementCSS[strWH]=hostAbsoluteRectSize[wh]-1),!(autoSize&&contentSize[wh]0&&(contentGlueElementCSS[strWH]=MATH.max(1,contentGlueElementCSS[strWH]))};setContentGlueElementCSSfunction(!0),setContentGlueElementCSSfunction(!1),_isTextarea&&_textareaCoverElement.css(textareaCoverCSS),_contentGlueElement.css(contentGlueElementCSS)}widthAuto&&(contentElementCSS[_strWidth]=_strHundredPercent),!widthAuto||_isBorderBox||_mutationObserversConnected||(contentElementCSS[_strFloat]="none"),_contentElement.css(contentElementCSS),contentElementCSS={};var contentScrollSize={w:contentMeasureElement[LEXICON.sW],h:contentMeasureElement[LEXICON.sH]};contentScrollSize.c=contentSizeChanged=checkCacheAutoForce(contentScrollSize,_contentScrollSizeCache),_contentScrollSizeCache=contentScrollSize,_viewportSize=getViewportSize(),hostSizeChanged=checkCacheAutoForce(hostSize=getHostSize(),_hostSizeCache),_hostSizeCache=hostSize;var hideOverflowForceTextarea=_isTextarea&&(0===_viewportSize.w||0===_viewportSize.h),previousOverflowAmount=_overflowAmountCache,overflowBehaviorIsVS={},overflowBehaviorIsVH={},overflowBehaviorIsS={},overflowAmount={},hasOverflow={},hideOverflow={},canScroll={},viewportRect=_paddingElementNative[LEXICON.bCR](),setOverflowVariables=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),xyI=getScrollbarVars(!horizontal)._x_y,xy=scrollbarVars._x_y,wh=scrollbarVars._w_h,widthHeight=scrollbarVars._width_height,scrollMax=_strScroll+scrollbarVars._Left_Top+"Max",fractionalOverflowAmount=viewportRect[widthHeight]?MATH.abs(viewportRect[widthHeight]-_viewportSize[wh]):0,checkFractionalOverflowAmount=previousOverflowAmount&&previousOverflowAmount[xy]>0&&0===_viewportElementNative[scrollMax];overflowBehaviorIsVS[xy]="v-s"===overflowBehavior[xy],overflowBehaviorIsVH[xy]="v-h"===overflowBehavior[xy],overflowBehaviorIsS[xy]="s"===overflowBehavior[xy],overflowAmount[xy]=MATH.max(0,MATH.round(100*(contentScrollSize[wh]-_viewportSize[wh]))/100),overflowAmount[xy]*=hideOverflowForceTextarea||checkFractionalOverflowAmount&&fractionalOverflowAmount>0&&fractionalOverflowAmount<1?0:1,hasOverflow[xy]=overflowAmount[xy]>0,hideOverflow[xy]=overflowBehaviorIsVS[xy]||overflowBehaviorIsVH[xy]?hasOverflow[xyI]&&!overflowBehaviorIsVS[xyI]&&!overflowBehaviorIsVH[xyI]:hasOverflow[xy],hideOverflow[xy+"s"]=!!hideOverflow[xy]&&(overflowBehaviorIsS[xy]||overflowBehaviorIsVS[xy]),canScroll[xy]=hasOverflow[xy]&&hideOverflow[xy+"s"]};if(setOverflowVariables(!0),setOverflowVariables(!1),overflowAmount.c=checkCacheAutoForce(overflowAmount,_overflowAmountCache),_overflowAmountCache=overflowAmount,hasOverflow.c=checkCacheAutoForce(hasOverflow,_hasOverflowCache),_hasOverflowCache=hasOverflow,hideOverflow.c=checkCacheAutoForce(hideOverflow,_hideOverflowCache),_hideOverflowCache=hideOverflow,_nativeScrollbarIsOverlaid.x||_nativeScrollbarIsOverlaid.y){var setContentElementCSS,borderDesign="px solid transparent",contentArrangeElementCSS={},arrangeContent={},arrangeChanged=force;(hasOverflow.x||hasOverflow.y)&&(arrangeContent.w=_nativeScrollbarIsOverlaid.y&&hasOverflow.y?contentScrollSize.w+_overlayScrollbarDummySize.y:_strEmpty,arrangeContent.h=_nativeScrollbarIsOverlaid.x&&hasOverflow.x?contentScrollSize.h+_overlayScrollbarDummySize.x:_strEmpty,arrangeChanged=checkCacheAutoForce(arrangeContent,_arrangeContentSizeCache),_arrangeContentSizeCache=arrangeContent),(hasOverflow.c||hideOverflow.c||contentScrollSize.c||cssDirectionChanged||widthAutoChanged||heightAutoChanged||widthAuto||heightAuto||ignoreOverlayScrollbarHidingChanged)&&(contentElementCSS[_strMarginMinus+isRTLRight]=contentElementCSS[_strBorderMinus+isRTLRight]=_strEmpty,setContentElementCSS=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),scrollbarVarsInverted=getScrollbarVars(!horizontal),xy=scrollbarVars._x_y,strDirection=horizontal?_strBottom:isRTLLeft,invertedAutoSize=horizontal?heightAuto:widthAuto;_nativeScrollbarIsOverlaid[xy]&&hasOverflow[xy]&&hideOverflow[xy+"s"]?(contentElementCSS[_strMarginMinus+strDirection]=invertedAutoSize?ignoreOverlayScrollbarHiding?_strEmpty:_overlayScrollbarDummySize[xy]:_strEmpty,contentElementCSS[_strBorderMinus+strDirection]=horizontal&&invertedAutoSize||ignoreOverlayScrollbarHiding?_strEmpty:_overlayScrollbarDummySize[xy]+borderDesign):(arrangeContent[scrollbarVarsInverted._w_h]=contentElementCSS[_strMarginMinus+strDirection]=contentElementCSS[_strBorderMinus+strDirection]=_strEmpty,arrangeChanged=!0)},_nativeScrollbarStyling?addRemoveClass(_viewportElement,_classNameViewportNativeScrollbarsInvisible,!ignoreOverlayScrollbarHiding):(setContentElementCSS(!0),setContentElementCSS(!1))),ignoreOverlayScrollbarHiding&&(arrangeContent.w=arrangeContent.h=_strEmpty,arrangeChanged=!0),arrangeChanged&&!_nativeScrollbarStyling&&(contentArrangeElementCSS[_strWidth]=hideOverflow.y?arrangeContent.w:_strEmpty,contentArrangeElementCSS[_strHeight]=hideOverflow.x?arrangeContent.h:_strEmpty,_contentArrangeElement||(_contentArrangeElement=FRAMEWORK(generateDiv(_classNameContentArrangeElement)),_viewportElement.prepend(_contentArrangeElement)),_contentArrangeElement.css(contentArrangeElementCSS)),_contentElement.css(contentElementCSS)}var setViewportCSS,viewportElementCSS={};if(paddingElementCSS={},(hostSizeChanged||hasOverflow.c||hideOverflow.c||contentScrollSize.c||overflowBehaviorChanged||boxSizingChanged||ignoreOverlayScrollbarHidingChanged||cssDirectionChanged||clipAlwaysChanged||heightAutoChanged)&&(viewportElementCSS[isRTLRight]=_strEmpty,(setViewportCSS=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),scrollbarVarsInverted=getScrollbarVars(!horizontal),xy=scrollbarVars._x_y,XY=scrollbarVars._X_Y,strDirection=horizontal?_strBottom:isRTLLeft,reset=function(){viewportElementCSS[strDirection]=_strEmpty,_contentBorderSize[scrollbarVarsInverted._w_h]=0};hasOverflow[xy]&&hideOverflow[xy+"s"]?(viewportElementCSS[strOverflow+XY]=_strScroll,ignoreOverlayScrollbarHiding||_nativeScrollbarStyling?reset():(viewportElementCSS[strDirection]=-(_nativeScrollbarIsOverlaid[xy]?_overlayScrollbarDummySize[xy]:_nativeScrollbarSize[xy]),_contentBorderSize[scrollbarVarsInverted._w_h]=_nativeScrollbarIsOverlaid[xy]?_overlayScrollbarDummySize[scrollbarVarsInverted._x_y]:0)):(viewportElementCSS[strOverflow+XY]=_strEmpty,reset())})(!0),setViewportCSS(!1),!_nativeScrollbarStyling&&(_viewportSize.h<_nativeScrollbarMinSize.x||_viewportSize.w<_nativeScrollbarMinSize.y)&&(hasOverflow.x&&hideOverflow.x&&!_nativeScrollbarIsOverlaid.x||hasOverflow.y&&hideOverflow.y&&!_nativeScrollbarIsOverlaid.y)?(viewportElementCSS[_strPaddingMinus+_strTop]=_nativeScrollbarMinSize.x,viewportElementCSS[_strMarginMinus+_strTop]=-_nativeScrollbarMinSize.x,viewportElementCSS[_strPaddingMinus+isRTLRight]=_nativeScrollbarMinSize.y,viewportElementCSS[_strMarginMinus+isRTLRight]=-_nativeScrollbarMinSize.y):viewportElementCSS[_strPaddingMinus+_strTop]=viewportElementCSS[_strMarginMinus+_strTop]=viewportElementCSS[_strPaddingMinus+isRTLRight]=viewportElementCSS[_strMarginMinus+isRTLRight]=_strEmpty,viewportElementCSS[_strPaddingMinus+isRTLLeft]=viewportElementCSS[_strMarginMinus+isRTLLeft]=_strEmpty,hasOverflow.x&&hideOverflow.x||hasOverflow.y&&hideOverflow.y||hideOverflowForceTextarea?_isTextarea&&hideOverflowForceTextarea&&(paddingElementCSS[strOverflowX]=paddingElementCSS[strOverflowY]=strHidden):(!clipAlways||overflowBehaviorIsVH.x||overflowBehaviorIsVS.x||overflowBehaviorIsVH.y||overflowBehaviorIsVS.y)&&(_isTextarea&&(paddingElementCSS[strOverflowX]=paddingElementCSS[strOverflowY]=_strEmpty),viewportElementCSS[strOverflowX]=viewportElementCSS[strOverflowY]=strVisible),_paddingElement.css(paddingElementCSS),_viewportElement.css(viewportElementCSS),viewportElementCSS={},(hasOverflow.c||boxSizingChanged||widthAutoChanged||heightAutoChanged)&&(!_nativeScrollbarIsOverlaid.x||!_nativeScrollbarIsOverlaid.y))){var elementStyle=_contentElementNative[LEXICON.s];elementStyle.webkitTransform="scale(1)",elementStyle.display="run-in",_contentElementNative[LEXICON.oH],elementStyle.display=_strEmpty,elementStyle.webkitTransform=_strEmpty}if(contentElementCSS={},cssDirectionChanged||widthAutoChanged||heightAutoChanged)if(_isRTL&&widthAuto){var floatTmp=_contentElement.css(_strFloat),posLeftWithoutFloat=MATH.round(_contentElement.css(_strFloat,_strEmpty).css(_strLeft,_strEmpty).position().left);_contentElement.css(_strFloat,floatTmp),posLeftWithoutFloat!==MATH.round(_contentElement.position().left)&&(contentElementCSS[_strLeft]=posLeftWithoutFloat)}else contentElementCSS[_strLeft]=_strEmpty;if(_contentElement.css(contentElementCSS),_isTextarea&&contentSizeChanged){var textareaInfo=getTextareaInfo();if(textareaInfo){var textareaRowsChanged=_textareaInfoCache===undefined||textareaInfo._rows!==_textareaInfoCache._rows,cursorRow=textareaInfo._cursorRow,cursorCol=textareaInfo._cursorColumn,widestRow=textareaInfo._widestRow,lastRow=textareaInfo._rows,lastCol=textareaInfo._columns,cursorIsLastPosition=textareaInfo._cursorPosition>=textareaInfo._cursorMax&&_textareaHasFocus,textareaScrollAmount={x:textareaAutoWrapping||cursorCol!==lastCol||cursorRow!==widestRow?-1:_overflowAmountCache.x,y:(textareaAutoWrapping?cursorIsLastPosition||textareaRowsChanged&&previousOverflowAmount&&currScroll.y===previousOverflowAmount.y:(cursorIsLastPosition||textareaRowsChanged)&&cursorRow===lastRow)?_overflowAmountCache.y:-1};currScroll.x=textareaScrollAmount.x>-1?_isRTL&&_normalizeRTLCache&&_rtlScrollBehavior.i?0:textareaScrollAmount.x:currScroll.x,currScroll.y=textareaScrollAmount.y>-1?textareaScrollAmount.y:currScroll.y}_textareaInfoCache=textareaInfo}_isRTL&&_rtlScrollBehavior.i&&_nativeScrollbarIsOverlaid.y&&hasOverflow.x&&_normalizeRTLCache&&(currScroll.x+=_contentBorderSize.w||0),widthAuto&&_hostElement[_strScrollLeft](0),heightAuto&&_hostElement[_strScrollTop](0),_viewportElement[_strScrollLeft](currScroll.x)[_strScrollTop](currScroll.y);var scrollbarsVisibilityVisible="v"===scrollbarsVisibility,scrollbarsVisibilityHidden="h"===scrollbarsVisibility,scrollbarsVisibilityAuto="a"===scrollbarsVisibility,refreshScrollbarsVisibility=function(showX,showY){showY=showY===undefined?showX:showY,refreshScrollbarAppearance(!0,showX,canScroll.x),refreshScrollbarAppearance(!1,showY,canScroll.y)};addRemoveClass(_hostElement,_classNameHostOverflow,hideOverflow.x||hideOverflow.y),addRemoveClass(_hostElement,_classNameHostOverflowX,hideOverflow.x),addRemoveClass(_hostElement,_classNameHostOverflowY,hideOverflow.y),cssDirectionChanged&&!_isBody&&addRemoveClass(_hostElement,_classNameHostRTL,_isRTL),_isBody&&addClass(_hostElement,_classNameHostResizeDisabled),resizeChanged&&(addRemoveClass(_hostElement,_classNameHostResizeDisabled,_resizeNone),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResize,!_resizeNone),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeB,_resizeBoth),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeH,_resizeHorizontal),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeV,_resizeVertical)),(scrollbarsVisibilityChanged||overflowBehaviorChanged||hideOverflow.c||hasOverflow.c||ignoreOverlayScrollbarHidingChanged)&&(ignoreOverlayScrollbarHiding?ignoreOverlayScrollbarHidingChanged&&(removeClass(_hostElement,_classNameHostScrolling),ignoreOverlayScrollbarHiding&&refreshScrollbarsVisibility(!1)):scrollbarsVisibilityAuto?refreshScrollbarsVisibility(canScroll.x,canScroll.y):scrollbarsVisibilityVisible?refreshScrollbarsVisibility(!0):scrollbarsVisibilityHidden&&refreshScrollbarsVisibility(!1)),(scrollbarsAutoHideChanged||ignoreOverlayScrollbarHidingChanged)&&(setupHostMouseTouchEvents(!_scrollbarsAutoHideLeave&&!_scrollbarsAutoHideMove),refreshScrollbarsAutoHide(_scrollbarsAutoHideNever,!_scrollbarsAutoHideNever)),(hostSizeChanged||overflowAmount.c||heightAutoChanged||widthAutoChanged||resizeChanged||boxSizingChanged||paddingAbsoluteChanged||ignoreOverlayScrollbarHidingChanged||cssDirectionChanged)&&(refreshScrollbarHandleLength(!0),refreshScrollbarHandleOffset(!0),refreshScrollbarHandleLength(!1),refreshScrollbarHandleOffset(!1)),scrollbarsClickScrollingChanged&&refreshScrollbarsInteractive(!0,scrollbarsClickScrolling),scrollbarsDragScrollingChanged&&refreshScrollbarsInteractive(!1,scrollbarsDragScrolling),dispatchCallback("onDirectionChanged",{isRTL:_isRTL,dir:cssDirection},cssDirectionChanged),dispatchCallback("onHostSizeChanged",{width:_hostSizeCache.w,height:_hostSizeCache.h},hostSizeChanged),dispatchCallback("onContentSizeChanged",{width:_contentScrollSizeCache.w,height:_contentScrollSizeCache.h},contentSizeChanged),dispatchCallback("onOverflowChanged",{x:hasOverflow.x,y:hasOverflow.y,xScrollable:hideOverflow.xs,yScrollable:hideOverflow.ys,clipped:hideOverflow.x||hideOverflow.y},hasOverflow.c||hideOverflow.c),dispatchCallback("onOverflowAmountChanged",{x:overflowAmount.x,y:overflowAmount.y},overflowAmount.c)}_isBody&&_bodyMinSizeCache&&(_hasOverflowCache.c||_bodyMinSizeCache.c)&&(_bodyMinSizeCache.f||bodyMinSizeChanged(),_nativeScrollbarIsOverlaid.y&&_hasOverflowCache.x&&_contentElement.css(_strMinMinus+_strWidth,_bodyMinSizeCache.w+_overlayScrollbarDummySize.y),_nativeScrollbarIsOverlaid.x&&_hasOverflowCache.y&&_contentElement.css(_strMinMinus+_strHeight,_bodyMinSizeCache.h+_overlayScrollbarDummySize.x),_bodyMinSizeCache.c=!1),_initialized&&changedOptions.updateOnLoad&&updateElementsOnLoad(),dispatchCallback("onUpdated",{forced:force})}}function updateElementsOnLoad(){_isTextarea||eachUpdateOnLoad((function(i,updateOnLoadSelector){_contentElement.find(updateOnLoadSelector).each((function(i,el){COMPATIBILITY.inA(el,_updateOnLoadElms)<0&&(_updateOnLoadElms.push(el),FRAMEWORK(el).off(_updateOnLoadEventName,updateOnLoadCallback).on(_updateOnLoadEventName,updateOnLoadCallback))}))}))}function setOptions(newOptions){var validatedOpts=_pluginsOptions._validate(newOptions,_pluginsOptions._template,!0,_currentOptions);return _currentOptions=extendDeep({},_currentOptions,validatedOpts._default),_currentPreparedOptions=extendDeep({},_currentPreparedOptions,validatedOpts._prepared),validatedOpts._prepared}function setupStructureDOM(destroy){var strParent="parent",classNameResizeObserverHost="os-resize-observer-host",classNameTextareaElementFull=_classNameTextareaElement+_strSpace+_classNameTextInherit,textareaClass=_isTextarea?_strSpace+_classNameTextInherit:_strEmpty,adoptAttrs=_currentPreparedOptions.textarea.inheritedAttrs,adoptAttrsMap={},applyAdoptedAttrs=function(){var applyAdoptedAttrsElm=destroy?_targetElement:_hostElement;each(adoptAttrsMap,(function(key,value){type(value)==TYPES.s&&(key==LEXICON.c?applyAdoptedAttrsElm.addClass(value):applyAdoptedAttrsElm.attr(key,value))}))},hostElementClassNames=[_classNameHostElement,_classNameHostElementForeign,_classNameHostTextareaElement,_classNameHostResizeDisabled,_classNameHostRTL,_classNameHostScrollbarHorizontalHidden,_classNameHostScrollbarVerticalHidden,_classNameHostTransition,_classNameHostScrolling,_classNameHostOverflow,_classNameHostOverflowX,_classNameHostOverflowY,_classNameThemeNone,_classNameTextareaElement,_classNameTextInherit,_classNameCache].join(_strSpace),hostElementCSS={};_hostElement=_hostElement||(_isTextarea?_domExists?_targetElement[strParent]()[strParent]()[strParent]()[strParent]():FRAMEWORK(generateDiv(_classNameHostTextareaElement)):_targetElement),_contentElement=_contentElement||selectOrGenerateDivByClass(_classNameContentElement+textareaClass),_viewportElement=_viewportElement||selectOrGenerateDivByClass(_classNameViewportElement+textareaClass),_paddingElement=_paddingElement||selectOrGenerateDivByClass(_classNamePaddingElement+textareaClass),_sizeObserverElement=_sizeObserverElement||selectOrGenerateDivByClass(classNameResizeObserverHost),_textareaCoverElement=_textareaCoverElement||(_isTextarea?selectOrGenerateDivByClass(_classNameTextareaCoverElement):undefined),_domExists&&addClass(_hostElement,_classNameHostElementForeign),destroy&&removeClass(_hostElement,hostElementClassNames),adoptAttrs=type(adoptAttrs)==TYPES.s?adoptAttrs.split(_strSpace):adoptAttrs,COMPATIBILITY.isA(adoptAttrs)&&_isTextarea&&each(adoptAttrs,(function(i,v){type(v)==TYPES.s&&(adoptAttrsMap[v]=destroy?_hostElement.attr(v):_targetElement.attr(v))})),destroy?(_domExists&&_initialized?(_sizeObserverElement.children().remove(),each([_paddingElement,_viewportElement,_contentElement,_textareaCoverElement],(function(i,elm){elm&&removeClass(elm.removeAttr(LEXICON.s),_classNamesDynamicDestroy)})),addClass(_hostElement,_isTextarea?_classNameHostTextareaElement:_classNameHostElement)):(remove(_sizeObserverElement),_contentElement.contents().unwrap().unwrap().unwrap(),_isTextarea&&(_targetElement.unwrap(),remove(_hostElement),remove(_textareaCoverElement),applyAdoptedAttrs())),_isTextarea&&_targetElement.removeAttr(LEXICON.s),_isBody&&removeClass(_htmlElement,_classNameHTMLElement)):(_isTextarea&&(_currentPreparedOptions.sizeAutoCapable||(hostElementCSS[_strWidth]=_targetElement.css(_strWidth),hostElementCSS[_strHeight]=_targetElement.css(_strHeight)),_domExists||_targetElement.addClass(_classNameTextInherit).wrap(_hostElement),_hostElement=_targetElement[strParent]().css(hostElementCSS)),_domExists||(addClass(_targetElement,_isTextarea?classNameTextareaElementFull:_classNameHostElement),_hostElement.wrapInner(_contentElement).wrapInner(_viewportElement).wrapInner(_paddingElement).prepend(_sizeObserverElement),_contentElement=findFirst(_hostElement,_strDot+_classNameContentElement),_viewportElement=findFirst(_hostElement,_strDot+_classNameViewportElement),_paddingElement=findFirst(_hostElement,_strDot+_classNamePaddingElement),_isTextarea&&(_contentElement.prepend(_textareaCoverElement),applyAdoptedAttrs())),_nativeScrollbarStyling&&addClass(_viewportElement,_classNameViewportNativeScrollbarsInvisible),_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y&&addClass(_viewportElement,_classNameViewportNativeScrollbarsOverlaid),_isBody&&addClass(_htmlElement,_classNameHTMLElement),_sizeObserverElementNative=_sizeObserverElement[0],_hostElementNative=_hostElement[0],_paddingElementNative=_paddingElement[0],_viewportElementNative=_viewportElement[0],_contentElementNative=_contentElement[0],updateViewportAttrsFromTarget())}function setupStructureEvents(){var textareaUpdateIntervalID,scrollStopTimeoutId,textareaKeyDownRestrictedKeyCodes=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],textareaKeyDownKeyCodesList=[],scrollStopDelay=175,strFocus="focus";function updateTextarea(doClearInterval){textareaUpdate(),_base.update(_strAuto),doClearInterval&&_autoUpdateRecommended&&clearInterval(textareaUpdateIntervalID)}function textareaOnScroll(event){return _targetElement[_strScrollLeft](_rtlScrollBehavior.i&&_normalizeRTLCache?9999999:0),_targetElement[_strScrollTop](0),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event),!1}function textareaOnDrop(event){setTimeout((function(){_destroyed||updateTextarea()}),50)}function textareaOnFocus(){_textareaHasFocus=!0,addClass(_hostElement,strFocus)}function textareaOnFocusout(){_textareaHasFocus=!1,textareaKeyDownKeyCodesList=[],removeClass(_hostElement,strFocus),updateTextarea(!0)}function textareaOnKeyDown(event){var keyCode=event.keyCode;inArray(keyCode,textareaKeyDownRestrictedKeyCodes)<0&&(textareaKeyDownKeyCodesList[LEXICON.l]||(updateTextarea(),textareaUpdateIntervalID=setInterval(updateTextarea,1e3/60)),inArray(keyCode,textareaKeyDownKeyCodesList)<0&&textareaKeyDownKeyCodesList.push(keyCode))}function textareaOnKeyUp(event){var keyCode=event.keyCode,index=inArray(keyCode,textareaKeyDownKeyCodesList);inArray(keyCode,textareaKeyDownRestrictedKeyCodes)<0&&(index>-1&&textareaKeyDownKeyCodesList.splice(index,1),textareaKeyDownKeyCodesList[LEXICON.l]||updateTextarea(!0))}function contentOnTransitionEnd(event){!0!==_autoUpdateCache&&isSizeAffectingCSSProperty((event=event.originalEvent||event).propertyName)&&_base.update(_strAuto)}function viewportOnScroll(event){_sleeping||(scrollStopTimeoutId!==undefined?clearTimeout(scrollStopTimeoutId):((_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!0),nativeOverlayScrollbarsAreActive()||addClass(_hostElement,_classNameHostScrolling),dispatchCallback("onScrollStart",event)),_scrollbarsHandlesDefineScrollPos||(refreshScrollbarHandleOffset(!0),refreshScrollbarHandleOffset(!1)),dispatchCallback("onScroll",event),scrollStopTimeoutId=setTimeout((function(){_destroyed||(clearTimeout(scrollStopTimeoutId),scrollStopTimeoutId=undefined,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1),nativeOverlayScrollbarsAreActive()||removeClass(_hostElement,_classNameHostScrolling),dispatchCallback("onScrollStop",event))}),scrollStopDelay))}_isTextarea?(_msieVersion>9||!_autoUpdateRecommended?addDestroyEventListener(_targetElement,"input",updateTextarea):addDestroyEventListener(_targetElement,[_strKeyDownEvent,_strKeyUpEvent],[textareaOnKeyDown,textareaOnKeyUp]),addDestroyEventListener(_targetElement,[_strScroll,"drop",strFocus,strFocus+"out"],[textareaOnScroll,textareaOnDrop,textareaOnFocus,textareaOnFocusout])):addDestroyEventListener(_contentElement,_strTransitionEndEvent,contentOnTransitionEnd),addDestroyEventListener(_viewportElement,_strScroll,viewportOnScroll,!0)}function setupScrollbarsDOM(destroy){var horizontalElements,verticalElements,selectOrGenerateScrollbarDOM=function(isHorizontal){var scrollbar=selectOrGenerateDivByClass(_classNameScrollbar+_strSpace+(isHorizontal?_classNameScrollbarHorizontal:_classNameScrollbarVertical),!0),track=selectOrGenerateDivByClass(_classNameScrollbarTrack,scrollbar),handle=selectOrGenerateDivByClass(_classNameScrollbarHandle,scrollbar);return _domExists||destroy||(scrollbar.append(track),track.append(handle)),{_scrollbar:scrollbar,_track:track,_handle:handle}};function resetScrollbarDOM(isHorizontal){var scrollbarVars=getScrollbarVars(isHorizontal),scrollbar=scrollbarVars._scrollbar,track=scrollbarVars._track,handle=scrollbarVars._handle;_domExists&&_initialized?each([scrollbar,track,handle],(function(i,elm){removeClass(elm.removeAttr(LEXICON.s),_classNamesDynamicDestroy)})):remove(scrollbar||selectOrGenerateScrollbarDOM(isHorizontal)._scrollbar)}destroy?(resetScrollbarDOM(!0),resetScrollbarDOM()):(horizontalElements=selectOrGenerateScrollbarDOM(!0),verticalElements=selectOrGenerateScrollbarDOM(),_scrollbarHorizontalElement=horizontalElements._scrollbar,_scrollbarHorizontalTrackElement=horizontalElements._track,_scrollbarHorizontalHandleElement=horizontalElements._handle,_scrollbarVerticalElement=verticalElements._scrollbar,_scrollbarVerticalTrackElement=verticalElements._track,_scrollbarVerticalHandleElement=verticalElements._handle,_domExists||(_paddingElement.after(_scrollbarVerticalElement),_paddingElement.after(_scrollbarHorizontalElement)))}function setupScrollbarEvents(isHorizontal){var trackTimeout,mouseDownScroll,mouseDownOffset,mouseDownInvertedScale,scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,insideIFrame=_windowElementNative.top!==_windowElementNative,xy=scrollbarVars._x_y,XY=scrollbarVars._X_Y,scroll=_strScroll+scrollbarVars._Left_Top,strActive="active",strSnapHandle="snapHandle",strClickEvent="click",scrollDurationFactor=1,increaseDecreaseScrollAmountKeyCodes=[16,17];function getPointerPosition(event){return _msieVersion&&insideIFrame?event["screen"+XY]:COMPATIBILITY.page(event)[xy]}function getPreparedScrollbarsOption(name){return _currentPreparedOptions.scrollbars[name]}function increaseTrackScrollAmount(){scrollDurationFactor=.5}function decreaseTrackScrollAmount(){scrollDurationFactor=1}function stopClickEventPropagation(event){COMPATIBILITY.stpP(event)}function documentKeyDown(event){inArray(event.keyCode,increaseDecreaseScrollAmountKeyCodes)>-1&&increaseTrackScrollAmount()}function documentKeyUp(event){inArray(event.keyCode,increaseDecreaseScrollAmountKeyCodes)>-1&&decreaseTrackScrollAmount()}function onMouseTouchDownContinue(event){var isTouchEvent=(event.originalEvent||event).touches!==undefined;return!(_sleeping||_destroyed||nativeOverlayScrollbarsAreActive()||!_scrollbarsDragScrollingCache||isTouchEvent&&!getPreparedScrollbarsOption("touchSupport"))&&(1===COMPATIBILITY.mBtn(event)||isTouchEvent)}function documentDragMove(event){if(onMouseTouchDownContinue(event)){var trackLength=scrollbarVarsInfo._trackLength,handleLength=scrollbarVarsInfo._handleLength,scrollDelta=scrollbarVarsInfo._maxScroll*((getPointerPosition(event)-mouseDownOffset)*mouseDownInvertedScale/(trackLength-handleLength));scrollDelta=isFinite(scrollDelta)?scrollDelta:0,_isRTL&&isHorizontal&&!_rtlScrollBehavior.i&&(scrollDelta*=-1),_viewportElement[scroll](MATH.round(mouseDownScroll+scrollDelta)),_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,mouseDownScroll+scrollDelta),_supportPassiveEvents||COMPATIBILITY.prvD(event)}else documentMouseTouchUp(event)}function documentMouseTouchUp(event){if(event=event||event.originalEvent,setupResponsiveEventListener(_documentElement,[_strMouseTouchMoveEvent,_strMouseTouchUpEvent,_strKeyDownEvent,_strKeyUpEvent,_strSelectStartEvent],[documentDragMove,documentMouseTouchUp,documentKeyDown,documentKeyUp,documentOnSelectStart],!0),COMPATIBILITY.rAF()((function(){setupResponsiveEventListener(_documentElement,strClickEvent,stopClickEventPropagation,!0,{_capture:!0})})),_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,!0),_scrollbarsHandlesDefineScrollPos=!1,removeClass(_bodyElement,_classNameDragging),removeClass(scrollbarVars._handle,strActive),removeClass(scrollbarVars._track,strActive),removeClass(scrollbarVars._scrollbar,strActive),mouseDownScroll=undefined,mouseDownOffset=undefined,mouseDownInvertedScale=1,decreaseTrackScrollAmount(),trackTimeout!==undefined&&(_base.scrollStop(),clearTimeout(trackTimeout),trackTimeout=undefined),event){var rect=_hostElementNative[LEXICON.bCR]();event.clientX>=rect.left&&event.clientX<=rect.right&&event.clientY>=rect.top&&event.clientY<=rect.bottom||hostOnMouseLeave(),(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1)}}function onHandleMouseTouchDown(event){onMouseTouchDownContinue(event)&&onHandleMouseTouchDownAction(event)}function onHandleMouseTouchDownAction(event){mouseDownScroll=_viewportElement[scroll](),mouseDownScroll=isNaN(mouseDownScroll)?0:mouseDownScroll,(_isRTL&&isHorizontal&&!_rtlScrollBehavior.n||!_isRTL)&&(mouseDownScroll=mouseDownScroll<0?0:mouseDownScroll),mouseDownInvertedScale=getHostElementInvertedScale()[xy],mouseDownOffset=getPointerPosition(event),_scrollbarsHandlesDefineScrollPos=!getPreparedScrollbarsOption(strSnapHandle),addClass(_bodyElement,_classNameDragging),addClass(scrollbarVars._handle,strActive),addClass(scrollbarVars._scrollbar,strActive),setupResponsiveEventListener(_documentElement,[_strMouseTouchMoveEvent,_strMouseTouchUpEvent,_strSelectStartEvent],[documentDragMove,documentMouseTouchUp,documentOnSelectStart]),COMPATIBILITY.rAF()((function(){setupResponsiveEventListener(_documentElement,strClickEvent,stopClickEventPropagation,!1,{_capture:!0})})),!_msieVersion&&_documentMixed||COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event)}function onTrackMouseTouchDown(event){if(onMouseTouchDownContinue(event)){var decreaseScroll,handleToViewportRatio=scrollbarVars._info._handleLength/Math.round(MATH.min(1,_viewportSize[scrollbarVars._w_h]/_contentScrollSizeCache[scrollbarVars._w_h])*scrollbarVars._info._trackLength),scrollDistance=MATH.round(_viewportSize[scrollbarVars._w_h]*handleToViewportRatio),scrollBaseDuration=270*handleToViewportRatio,scrollFirstIterationDelay=400*handleToViewportRatio,trackOffset=scrollbarVars._track.offset()[scrollbarVars._left_top],ctrlKey=event.ctrlKey,instantScroll=event.shiftKey,instantScrollTransition=instantScroll&&ctrlKey,isFirstIteration=!0,easing="linear",scrollActionFinsished=function(transition){_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,transition)},scrollActionInstantFinished=function(){scrollActionFinsished(),onHandleMouseTouchDownAction(event)},scrollAction=function(){if(!_destroyed){var mouseOffset=(mouseDownOffset-trackOffset)*mouseDownInvertedScale,handleOffset=scrollbarVarsInfo._handleOffset,trackLength=scrollbarVarsInfo._trackLength,handleLength=scrollbarVarsInfo._handleLength,scrollRange=scrollbarVarsInfo._maxScroll,currScroll=scrollbarVarsInfo._currentScroll,scrollDuration=scrollBaseDuration*scrollDurationFactor,timeoutDelay=isFirstIteration?MATH.max(scrollFirstIterationDelay,scrollDuration):scrollDuration,instantScrollPosition=scrollRange*((mouseOffset-handleLength/2)/(trackLength-handleLength)),rtlIsNormal=_isRTL&&isHorizontal&&(!_rtlScrollBehavior.i&&!_rtlScrollBehavior.n||_normalizeRTLCache),decreaseScrollCondition=rtlIsNormal?handleOffsetmouseOffset,scrollObj={},animationObj={easing:easing,step:function(now){_scrollbarsHandlesDefineScrollPos&&(_viewportElement[scroll](now),refreshScrollbarHandleOffset(isHorizontal,now))}};instantScrollPosition=isFinite(instantScrollPosition)?instantScrollPosition:0,instantScrollPosition=_isRTL&&isHorizontal&&!_rtlScrollBehavior.i?scrollRange-instantScrollPosition:instantScrollPosition,instantScroll?(_viewportElement[scroll](instantScrollPosition),instantScrollTransition?(instantScrollPosition=_viewportElement[scroll](),_viewportElement[scroll](currScroll),instantScrollPosition=rtlIsNormal&&_rtlScrollBehavior.i?scrollRange-instantScrollPosition:instantScrollPosition,instantScrollPosition=rtlIsNormal&&_rtlScrollBehavior.n?-instantScrollPosition:instantScrollPosition,scrollObj[xy]=instantScrollPosition,_base.scroll(scrollObj,extendDeep(animationObj,{duration:130,complete:scrollActionInstantFinished}))):scrollActionInstantFinished()):(decreaseScroll=isFirstIteration?decreaseScrollCondition:decreaseScroll,(rtlIsNormal?decreaseScroll?handleOffset+handleLength>=mouseOffset:handleOffset<=mouseOffset:decreaseScroll?handleOffset<=mouseOffset:handleOffset+handleLength>=mouseOffset)?(clearTimeout(trackTimeout),_base.scrollStop(),trackTimeout=undefined,scrollActionFinsished(!0)):(trackTimeout=setTimeout(scrollAction,timeoutDelay),scrollObj[xy]=(decreaseScroll?"-=":"+=")+scrollDistance,_base.scroll(scrollObj,extendDeep(animationObj,{duration:scrollDuration}))),isFirstIteration=!1)}};ctrlKey&&increaseTrackScrollAmount(),mouseDownInvertedScale=getHostElementInvertedScale()[xy],mouseDownOffset=COMPATIBILITY.page(event)[xy],_scrollbarsHandlesDefineScrollPos=!getPreparedScrollbarsOption(strSnapHandle),addClass(_bodyElement,_classNameDragging),addClass(scrollbarVars._track,strActive),addClass(scrollbarVars._scrollbar,strActive),setupResponsiveEventListener(_documentElement,[_strMouseTouchUpEvent,_strKeyDownEvent,_strKeyUpEvent,_strSelectStartEvent],[documentMouseTouchUp,documentKeyDown,documentKeyUp,documentOnSelectStart]),scrollAction(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event)}}function onTrackMouseTouchEnter(event){_scrollbarsHandleHovered=!0,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!0)}function onTrackMouseTouchLeave(event){_scrollbarsHandleHovered=!1,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1)}function onScrollbarMouseTouchDown(event){COMPATIBILITY.stpP(event)}addDestroyEventListener(scrollbarVars._handle,_strMouseTouchDownEvent,onHandleMouseTouchDown),addDestroyEventListener(scrollbarVars._track,[_strMouseTouchDownEvent,_strMouseEnter,_strMouseLeave],[onTrackMouseTouchDown,onTrackMouseTouchEnter,onTrackMouseTouchLeave]),addDestroyEventListener(scrollbarVars._scrollbar,_strMouseTouchDownEvent,onScrollbarMouseTouchDown),_supportTransition&&addDestroyEventListener(scrollbarVars._scrollbar,_strTransitionEndEvent,(function(event){event.target===scrollbarVars._scrollbar[0]&&(refreshScrollbarHandleLength(isHorizontal),refreshScrollbarHandleOffset(isHorizontal))}))}function refreshScrollbarAppearance(isHorizontal,shallBeVisible,canScroll){var scrollbarElement=isHorizontal?_scrollbarHorizontalElement:_scrollbarVerticalElement;addRemoveClass(_hostElement,isHorizontal?_classNameHostScrollbarHorizontalHidden:_classNameHostScrollbarVerticalHidden,!shallBeVisible),addRemoveClass(scrollbarElement,_classNameScrollbarUnusable,!canScroll)}function refreshScrollbarsAutoHide(shallBeVisible,delayfree){if(clearTimeout(_scrollbarsAutoHideTimeoutId),shallBeVisible)removeClass(_scrollbarHorizontalElement,_classNameScrollbarAutoHidden),removeClass(_scrollbarVerticalElement,_classNameScrollbarAutoHidden);else{var anyActive,strActive="active",hide=function(){_scrollbarsHandleHovered||_destroyed||(!(anyActive=_scrollbarHorizontalHandleElement.hasClass(strActive)||_scrollbarVerticalHandleElement.hasClass(strActive))&&(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove||_scrollbarsAutoHideLeave)&&addClass(_scrollbarHorizontalElement,_classNameScrollbarAutoHidden),!anyActive&&(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove||_scrollbarsAutoHideLeave)&&addClass(_scrollbarVerticalElement,_classNameScrollbarAutoHidden))};_scrollbarsAutoHideDelay>0&&!0!==delayfree?_scrollbarsAutoHideTimeoutId=setTimeout(hide,_scrollbarsAutoHideDelay):hide()}}function refreshScrollbarHandleLength(isHorizontal){var handleCSS={},scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,digit=1e6,handleRatio=MATH.min(1,_viewportSize[scrollbarVars._w_h]/_contentScrollSizeCache[scrollbarVars._w_h]);handleCSS[scrollbarVars._width_height]=MATH.floor(100*handleRatio*digit)/digit+"%",nativeOverlayScrollbarsAreActive()||scrollbarVars._handle.css(handleCSS),scrollbarVarsInfo._handleLength=scrollbarVars._handle[0]["offset"+scrollbarVars._Width_Height],scrollbarVarsInfo._handleLengthRatio=handleRatio}function refreshScrollbarHandleOffset(isHorizontal,scrollOrTransition){var transformOffset,translateValue,transition=type(scrollOrTransition)==TYPES.b,transitionDuration=250,isRTLisHorizontal=_isRTL&&isHorizontal,scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,strTranslateBrace="translate(",strTransform=VENDORS._cssProperty("transform"),strTransition=VENDORS._cssProperty("transition"),nativeScroll=isHorizontal?_viewportElement[_strScrollLeft]():_viewportElement[_strScrollTop](),currentScroll=scrollOrTransition===undefined||transition?nativeScroll:scrollOrTransition,handleLength=scrollbarVarsInfo._handleLength,trackLength=scrollbarVars._track[0]["offset"+scrollbarVars._Width_Height],handleTrackDiff=trackLength-handleLength,handleCSS={},maxScroll=(_viewportElementNative[_strScroll+scrollbarVars._Width_Height]-_viewportElementNative["client"+scrollbarVars._Width_Height])*(_rtlScrollBehavior.n&&isRTLisHorizontal?-1:1),getScrollRatio=function(base){return isNaN(base/maxScroll)?0:MATH.max(0,MATH.min(1,base/maxScroll))},getHandleOffset=function(scrollRatio){var offset=handleTrackDiff*scrollRatio;return offset=isNaN(offset)?0:offset,offset=isRTLisHorizontal&&!_rtlScrollBehavior.i?trackLength-handleLength-offset:offset,offset=MATH.max(0,offset)},scrollRatio=getScrollRatio(nativeScroll),handleOffset=getHandleOffset(getScrollRatio(currentScroll)),snappedHandleOffset=getHandleOffset(scrollRatio);scrollbarVarsInfo._maxScroll=maxScroll,scrollbarVarsInfo._currentScroll=nativeScroll,scrollbarVarsInfo._currentScrollRatio=scrollRatio,_supportTransform?(transformOffset=isRTLisHorizontal?-(trackLength-handleLength-handleOffset):handleOffset,translateValue=isHorizontal?strTranslateBrace+transformOffset+"px, 0)":strTranslateBrace+"0, "+transformOffset+"px)",handleCSS[strTransform]=translateValue,_supportTransition&&(handleCSS[strTransition]=transition&&MATH.abs(handleOffset-scrollbarVarsInfo._handleOffset)>1?getCSSTransitionString(scrollbarVars._handle)+", "+(strTransform+_strSpace+transitionDuration)+"ms":_strEmpty)):handleCSS[scrollbarVars._left_top]=handleOffset,nativeOverlayScrollbarsAreActive()||(scrollbarVars._handle.css(handleCSS),_supportTransform&&_supportTransition&&transition&&scrollbarVars._handle.one(_strTransitionEndEvent,(function(){_destroyed||scrollbarVars._handle.css(strTransition,_strEmpty)}))),scrollbarVarsInfo._handleOffset=handleOffset,scrollbarVarsInfo._snappedHandleOffset=snappedHandleOffset,scrollbarVarsInfo._trackLength=trackLength}function refreshScrollbarsInteractive(isTrack,value){var action=value?"removeClass":"addClass",element2=isTrack?_scrollbarVerticalTrackElement:_scrollbarVerticalHandleElement,className=isTrack?_classNameScrollbarTrackOff:_classNameScrollbarHandleOff;(isTrack?_scrollbarHorizontalTrackElement:_scrollbarHorizontalHandleElement)[action](className),element2[action](className)}function getScrollbarVars(isHorizontal){return{_width_height:isHorizontal?_strWidth:_strHeight,_Width_Height:isHorizontal?"Width":"Height",_left_top:isHorizontal?_strLeft:_strTop,_Left_Top:isHorizontal?"Left":"Top",_x_y:isHorizontal?_strX:_strY,_X_Y:isHorizontal?"X":"Y",_w_h:isHorizontal?"w":"h",_l_t:isHorizontal?"l":"t",_track:isHorizontal?_scrollbarHorizontalTrackElement:_scrollbarVerticalTrackElement,_handle:isHorizontal?_scrollbarHorizontalHandleElement:_scrollbarVerticalHandleElement,_scrollbar:isHorizontal?_scrollbarHorizontalElement:_scrollbarVerticalElement,_info:isHorizontal?_scrollHorizontalInfo:_scrollVerticalInfo}}function setupScrollbarCornerDOM(destroy){_scrollbarCornerElement=_scrollbarCornerElement||selectOrGenerateDivByClass(_classNameScrollbarCorner,!0),destroy?_domExists&&_initialized?removeClass(_scrollbarCornerElement.removeAttr(LEXICON.s),_classNamesDynamicDestroy):remove(_scrollbarCornerElement):_domExists||_hostElement.append(_scrollbarCornerElement)}function setupScrollbarCornerEvents(){var reconnectMutationObserver,insideIFrame=_windowElementNative.top!==_windowElementNative,mouseDownPosition={},mouseDownSize={},mouseDownInvertedScale={};function documentDragMove(event){if(onMouseTouchDownContinue(event)){var pageOffset=getCoordinates(event),hostElementCSS={};(_resizeHorizontal||_resizeBoth)&&(hostElementCSS[_strWidth]=mouseDownSize.w+(pageOffset.x-mouseDownPosition.x)*mouseDownInvertedScale.x),(_resizeVertical||_resizeBoth)&&(hostElementCSS[_strHeight]=mouseDownSize.h+(pageOffset.y-mouseDownPosition.y)*mouseDownInvertedScale.y),_hostElement.css(hostElementCSS),COMPATIBILITY.stpP(event)}else documentMouseTouchUp(event)}function documentMouseTouchUp(event){var eventIsTrusted=event!==undefined;setupResponsiveEventListener(_documentElement,[_strSelectStartEvent,_strMouseTouchMoveEvent,_strMouseTouchUpEvent],[documentOnSelectStart,documentDragMove,documentMouseTouchUp],!0),removeClass(_bodyElement,_classNameDragging),_scrollbarCornerElement.releaseCapture&&_scrollbarCornerElement.releaseCapture(),eventIsTrusted&&(reconnectMutationObserver&&connectMutationObservers(),_base.update(_strAuto)),reconnectMutationObserver=!1}function onMouseTouchDownContinue(event){var isTouchEvent=(event.originalEvent||event).touches!==undefined;return!_sleeping&&!_destroyed&&(1===COMPATIBILITY.mBtn(event)||isTouchEvent)}function getCoordinates(event){return _msieVersion&&insideIFrame?{x:event.screenX,y:event.screenY}:COMPATIBILITY.page(event)}addDestroyEventListener(_scrollbarCornerElement,_strMouseTouchDownEvent,(function(event){onMouseTouchDownContinue(event)&&!_resizeNone&&(_mutationObserversConnected&&(reconnectMutationObserver=!0,disconnectMutationObservers()),mouseDownPosition=getCoordinates(event),mouseDownSize.w=_hostElementNative[LEXICON.oW]-(_isBorderBox?0:_paddingX),mouseDownSize.h=_hostElementNative[LEXICON.oH]-(_isBorderBox?0:_paddingY),mouseDownInvertedScale=getHostElementInvertedScale(),setupResponsiveEventListener(_documentElement,[_strSelectStartEvent,_strMouseTouchMoveEvent,_strMouseTouchUpEvent],[documentOnSelectStart,documentDragMove,documentMouseTouchUp]),addClass(_bodyElement,_classNameDragging),_scrollbarCornerElement.setCapture&&_scrollbarCornerElement.setCapture(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event))}))}function dispatchCallback(name,args,dependent){if(!1!==dependent)if(_initialized){var ext,callback=_currentPreparedOptions.callbacks[name],extensionOnName=name;"on"===extensionOnName.substr(0,2)&&(extensionOnName=extensionOnName.substr(2,1).toLowerCase()+extensionOnName.substr(3)),type(callback)==TYPES.f&&callback.call(_base,args),each(_extensions,(function(){type((ext=this).on)==TYPES.f&&ext.on(extensionOnName,args)}))}else _destroyed||_callbacksInitQeueue.push({n:name,a:args})}function setTopRightBottomLeft(targetCSSObject,prefix,values){values=values||[_strEmpty,_strEmpty,_strEmpty,_strEmpty],targetCSSObject[(prefix=prefix||_strEmpty)+_strTop]=values[0],targetCSSObject[prefix+_strRight]=values[1],targetCSSObject[prefix+_strBottom]=values[2],targetCSSObject[prefix+_strLeft]=values[3]}function getTopRightBottomLeftHost(prefix,suffix,zeroX,zeroY){return suffix=suffix||_strEmpty,prefix=prefix||_strEmpty,{t:zeroY?0:parseToZeroOrNumber(_hostElement.css(prefix+_strTop+suffix)),r:zeroX?0:parseToZeroOrNumber(_hostElement.css(prefix+_strRight+suffix)),b:zeroY?0:parseToZeroOrNumber(_hostElement.css(prefix+_strBottom+suffix)),l:zeroX?0:parseToZeroOrNumber(_hostElement.css(prefix+_strLeft+suffix))}}function getCSSTransitionString(element){var transitionStr=VENDORS._cssProperty("transition"),assembledValue=element.css(transitionStr);if(assembledValue)return assembledValue;for(var strResult,valueArray,j,regExpString="\\s*(([^,(]+(\\(.+?\\))?)+)[\\s,]*",regExpMain=new RegExp(regExpString),regExpValidate=new RegExp("^("+regExpString+")+$"),properties="property duration timing-function delay".split(" "),result=[],i=0,splitCssStyleByComma=function(str){if(strResult=[],!str.match(regExpValidate))return str;for(;str.match(regExpMain);)strResult.push(RegExp.$1),str=str.replace(regExpMain,_strEmpty);return strResult};itextareaLastCol&&(widestRow=i+1,textareaLastCol=rowCols);return{_cursorRow:cursorRow,_cursorColumn:cursorCol,_rows:textareaLastRow,_columns:textareaLastCol,_widestRow:widestRow,_cursorPosition:textareaCursorPosition,_cursorMax:textareaLength}}}function nativeOverlayScrollbarsAreActive(){return _ignoreOverlayScrollbarHidingCache&&_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y}function getContentMeasureElement(){return _isTextarea?_textareaCoverElement[0]:_contentElementNative}function generateDiv(classesOrAttrs,content){return"
"+(content||_strEmpty)+"
"}function selectOrGenerateDivByClass(className,selectParentOrOnlyChildren){var onlyChildren=type(selectParentOrOnlyChildren)==TYPES.b,selectParent=onlyChildren?_hostElement:selectParentOrOnlyChildren||_hostElement;return _domExists&&!selectParent[LEXICON.l]?null:_domExists?selectParent[onlyChildren?"children":"find"](_strDot+className.replace(/\s/g,_strDot)).eq(0):FRAMEWORK(generateDiv(className))}function getObjectPropVal(obj,path){for(var val,splits=path.split(_strDot),i=0;i0&&(optsIsPlainObj?FRAMEWORK.each(pluginTargetElements,(function(i,v){(inst=v)!==undefined&&arr.push(OverlayScrollbarsInstance(inst,options,extensions,_pluginsGlobals,_pluginsAutoUpdateLoop))})):FRAMEWORK.each(pluginTargetElements,(function(i,v){inst=INSTANCES(v),("!"===options&&_plugin.valid(inst)||COMPATIBILITY.type(options)==TYPES.f&&options(v,inst)||options===undefined)&&arr.push(inst)})),result=1===arr[LEXICON.l]?arr[0]:arr),result):optsIsPlainObj||!options?result:arr}).globals=function(){initOverlayScrollbarsStatics();var globals=FRAMEWORK.extend(!0,{},_pluginsGlobals);return delete globals.msie,globals},_plugin.defaultOptions=function(newDefaultOptions){initOverlayScrollbarsStatics();var currDefaultOptions=_pluginsGlobals.defaultOptions;if(newDefaultOptions===undefined)return FRAMEWORK.extend(!0,{},currDefaultOptions);_pluginsGlobals.defaultOptions=FRAMEWORK.extend(!0,{},currDefaultOptions,_pluginsOptions._validate(newDefaultOptions,_pluginsOptions._template,!0,currDefaultOptions)._default)},_plugin.valid=function(osInstance){return osInstance instanceof _plugin&&!osInstance.getState().destroyed},_plugin.extension=function(extensionName,extension,defaultOptions){var extNameTypeString=COMPATIBILITY.type(extensionName)==TYPES.s,argLen=arguments[LEXICON.l],i=0;if(argLen<1||!extNameTypeString)return FRAMEWORK.extend(!0,{length:_pluginsExtensions[LEXICON.l]},_pluginsExtensions);if(extNameTypeString)if(COMPATIBILITY.type(extension)==TYPES.f)_pluginsExtensions.push({name:extensionName,extensionFactory:extension,defaultOptions:defaultOptions});else for(;i<_pluginsExtensions[LEXICON.l];i++)if(_pluginsExtensions[i].name===extensionName){if(!(argLen>1))return FRAMEWORK.extend(!0,{},_pluginsExtensions[i]);_pluginsExtensions.splice(i,1)}},_plugin}();return JQUERY&&JQUERY.fn&&(JQUERY.fn.overlayScrollbars=function(options,extensions){var _elements=this;return JQUERY.isPlainObject(options)?(JQUERY.each(_elements,(function(){PLUGIN(this,options,extensions)})),_elements):PLUGIN(_elements,options)}),PLUGIN}(global,global.document,void 0)}.call(exports,__webpack_require__,exports,module))||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}}]); -//# sourceMappingURL=6.95b9de2b.iframe.bundle.js.map \ No newline at end of file +/*! For license information please see 6.e229d3b2.iframe.bundle.js.LICENSE.txt */ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{905:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"OverlayScrollbarsComponent",(function(){return OverlayScrollbarsComponent}));__webpack_require__(504),__webpack_require__(33),__webpack_require__(80),__webpack_require__(54),__webpack_require__(57),__webpack_require__(45),__webpack_require__(79),__webpack_require__(105),__webpack_require__(24),__webpack_require__(26),__webpack_require__(8),__webpack_require__(20);var react__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__),overlayscrollbars__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(986),overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(overlayscrollbars__WEBPACK_IMPORTED_MODULE_13__);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var OverlayScrollbarsComponent=function OverlayScrollbarsComponent(_ref){var _ref$options=_ref.options,options=void 0===_ref$options?{}:_ref$options,extensions=_ref.extensions,className=_ref.className,children=_ref.children,rest=_objectWithoutProperties(_ref,["options","extensions","className","children"]),osTargetRef=react__WEBPACK_IMPORTED_MODULE_12___default.a.useRef(),osInstance=react__WEBPACK_IMPORTED_MODULE_12___default.a.useRef();return react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){return osInstance.current=overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default()(osTargetRef.current,options,extensions),mergeHostClassNames(osInstance.current,className),function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&(osInstance.current.destroy(),osInstance.current=null)}}),[]),react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&osInstance.current.options(options)}),[options]),react__WEBPACK_IMPORTED_MODULE_12___default.a.useEffect((function(){overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance.current)&&mergeHostClassNames(osInstance.current,className)}),[className]),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",_extends({className:"os-host"},rest,{ref:osTargetRef}),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-resize-observer-host"}),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-padding"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-viewport"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-content"},children))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar os-scrollbar-horizontal "},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-track"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-handle"}))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar os-scrollbar-vertical"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-track"},react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-handle"}))),react__WEBPACK_IMPORTED_MODULE_12___default.a.createElement("div",{className:"os-scrollbar-corner"}))};function mergeHostClassNames(osInstance,className){if(overlayscrollbars__WEBPACK_IMPORTED_MODULE_13___default.a.valid(osInstance)){var host=osInstance.getElements().host,regex=new RegExp("(^os-host([-_].+|)$)|".concat(osInstance.options().className.replace(/\s/g,"$|"),"$"),"g"),osClassNames=host.className.split(" ").filter((function(name){return name.match(regex)})).join(" ");host.className="".concat(osClassNames," ").concat(className||"")}}OverlayScrollbarsComponent.displayName="OverlayScrollbarsComponent",__webpack_exports__.default=OverlayScrollbarsComponent},986:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__,global;global="undefined"!=typeof window?window:this,void 0===(__WEBPACK_AMD_DEFINE_RESULT__=function(){return function(window,document,undefined){"use strict";var _targets,_instancePropertyString,_easingsMath,PLUGINNAME="OverlayScrollbars",TYPES={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},LEXICON={c:"class",s:"style",i:"id",l:"length",p:"prototype",ti:"tabindex",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth",hOP:"hasOwnProperty",bCR:"getBoundingClientRect"},VENDORS=function(){var jsCache={},cssCache={},cssPrefixes=["-webkit-","-moz-","-o-","-ms-"],jsPrefixes=["WebKit","Moz","O","MS"];function firstLetterToUpper(str){return str.charAt(0).toUpperCase()+str.slice(1)}return{_cssPrefixes:cssPrefixes,_jsPrefixes:jsPrefixes,_cssProperty:function(name){var result=cssCache[name];if(cssCache[LEXICON.hOP](name))return result;for(var resultPossibilities,v,currVendorWithoutDashes,uppercasedName=firstLetterToUpper(name),elmStyle=document.createElement("div")[LEXICON.s],i=0;i0&&length-1 in obj)}function stripAndCollapse(value){return(value.match(_rnothtmlwhite)||[]).join(_strSpace)}function matches(elem,selector){for(var nodeList=(elem.parentNode||document).querySelectorAll(selector)||[],i=nodeList[LEXICON.l];i--;)if(nodeList[i]==elem)return!0;return!1}function insertAdjacentElement(el,strategy,child){if(COMPATIBILITY.isA(child))for(var i=0;i0?(nextAnim=animObj.q[0],animate(animObj.el,nextAnim.props,nextAnim.duration,nextAnim.easing,nextAnim.complete,!0)):(index=inArray(animObj,_animations))>-1&&_animations.splice(index,1)}function setAnimationValue(el,prop,value){prop===_strScrollLeft||prop===_strScrollTop?el[prop]=value:setCSSVal(el,prop,value)}function animate(el,props,options,easing,complete,guaranteedNext){var key,animObj,progress,step,specialEasing,duration,hasOptions=isPlainObject(options),from={},to={},i=0;for(hasOptions?(easing=options.easing,options.start,progress=options.progress,step=options.step,specialEasing=options.specialEasing,complete=options.complete,duration=options.duration):duration=options,specialEasing=specialEasing||{},duration=duration||400,easing=easing||"swing",guaranteedNext=guaranteedNext||!1;i<_animations[LEXICON.l];i++)if(_animations[i].el===el){animObj=_animations[i];break}for(key in animObj||(animObj={el:el,q:[]},_animations.push(animObj)),props)from[key]=key===_strScrollLeft||key===_strScrollTop?el[key]:FakejQuery(el).css(key);for(key in from)from[key]!==props[key]&&props[key]!==undefined&&(to[key]=props[key]);if(isEmptyObject(to))guaranteedNext&&startNextAnimationInQ(animObj);else{var timeNow,end,percent,fromVal,toVal,easedVal,timeStart,frame,elapsed,qPos=guaranteedNext?0:inArray(qObj,animObj.q),qObj={props:to,duration:hasOptions?options:duration,easing:easing,complete:complete};if(-1===qPos&&(qPos=animObj.q[LEXICON.l],animObj.q.push(qObj)),0===qPos)if(duration>0)timeStart=COMPATIBILITY.now(),frame=function(){for(key in timeNow=COMPATIBILITY.now(),elapsed=timeNow-timeStart,end=qObj.stop||elapsed>=duration,percent=1-(MATH.max(0,timeStart+duration-timeNow)/duration||0),to)fromVal=parseFloat(from[key]),toVal=parseFloat(to[key]),easedVal=(toVal-fromVal)*EASING[specialEasing[key]||easing](percent,percent*duration,0,1,duration)+fromVal,setAnimationValue(el,key,easedVal),isFunction(step)&&step(easedVal,{elem:el,prop:key,start:fromVal,now:easedVal,end:toVal,pos:percent,options:{easing:easing,speacialEasing:specialEasing,duration:duration,complete:complete,step:step},startTime:timeStart});isFunction(progress)&&progress({},percent,MATH.max(0,duration-elapsed)),end?(startNextAnimationInQ(animObj),isFunction(complete)&&complete()):qObj.frame=COMPATIBILITY.rAF()(frame)},qObj.frame=COMPATIBILITY.rAF()(frame);else{for(key in to)setAnimationValue(el,key,to[key]);startNextAnimationInQ(animObj)}}}function stop(el,clearQ,jumpToEnd){for(var animObj,qObj,key,i=0;i<_animations[LEXICON.l];i++)if((animObj=_animations[i]).el===el){if(animObj.q[LEXICON.l]>0){if((qObj=animObj.q[0]).stop=!0,COMPATIBILITY.cAF()(qObj.frame),animObj.q.splice(0,1),jumpToEnd)for(key in qObj.props)setAnimationValue(el,key,qObj.props[key]);clearQ?animObj.q=[]:startNextAnimationInQ(animObj,!1)}break}}function elementIsVisible(el){return!!(el[LEXICON.oW]||el[LEXICON.oH]||el.getClientRects()[LEXICON.l])}function FakejQuery(selector){if(0===arguments[LEXICON.l])return this;var elms,el,base=new FakejQuery,elements=selector,i=0;if(_type(selector)==TYPES.s)for(elements=[],"<"===selector.charAt(0)?((el=document.createElement("div")).innerHTML=selector,elms=el.children):elms=document.querySelectorAll(selector);i0;)deepest=deepest.childNodes[0];for(i=0;nodes[LEXICON.l]-i;deepest.firstChild===nodes[0]&&i++)deepest.appendChild(nodes[i]);var nextSibling=previousSibling?previousSibling.nextSibling:parent.firstChild;return parent.insertBefore(wrapper,nextSibling),this},wrapInner:function(wrapperHTML){return this.each((function(){var el=FakejQuery(this),contents=el.contents();contents[LEXICON.l]?contents.wrapAll(wrapperHTML):el.append(wrapperHTML)}))},wrap:function(wrapperHTML){return this.each((function(){FakejQuery(this).wrapAll(wrapperHTML)}))},css:function(styles,val){var el,key,cptStyle,getCptStyle=window.getComputedStyle;return _type(styles)==TYPES.s?val===undefined?(el=this[0],cptStyle=getCptStyle?getCptStyle(el,null):el.currentStyle[styles],getCptStyle?null!=cptStyle?cptStyle.getPropertyValue(styles):el[LEXICON.s][styles]:cptStyle):this.each((function(){setCSSVal(this,styles,val)})):this.each((function(){for(key in styles)setCSSVal(this,key,styles[key])}))},hasClass:function(className){for(var elem,classList,i=0,classNamePrepared=_strSpace+className+_strSpace;elem=this[i++];){if((classList=elem.classList)&&classList.contains(className))return!0;if(1===elem.nodeType&&(_strSpace+stripAndCollapse(elem.className+_strEmpty)+_strSpace).indexOf(classNamePrepared)>-1)return!0}return!1},addClass:function(className){var classes,elem,cur,curValue,clazz,finalValue,supportClassList,elmClassList,i=0,v=0;if(className)for(classes=className.match(_rnothtmlwhite)||[];elem=this[i++];)if(elmClassList=elem.classList,supportClassList===undefined&&(supportClassList=elmClassList!==undefined),supportClassList)for(;clazz=classes[v++];)elmClassList.add(clazz);else if(curValue=elem.className+_strEmpty,cur=1===elem.nodeType&&_strSpace+stripAndCollapse(curValue)+_strSpace){for(;clazz=classes[v++];)cur.indexOf(_strSpace+clazz+_strSpace)<0&&(cur+=clazz+_strSpace);curValue!==(finalValue=stripAndCollapse(cur))&&(elem.className=finalValue)}return this},removeClass:function(className){var classes,elem,cur,curValue,clazz,finalValue,supportClassList,elmClassList,i=0,v=0;if(className)for(classes=className.match(_rnothtmlwhite)||[];elem=this[i++];)if(elmClassList=elem.classList,supportClassList===undefined&&(supportClassList=elmClassList!==undefined),supportClassList)for(;clazz=classes[v++];)elmClassList.remove(clazz);else if(curValue=elem.className+_strEmpty,cur=1===elem.nodeType&&_strSpace+stripAndCollapse(curValue)+_strSpace){for(;clazz=classes[v++];)for(;cur.indexOf(_strSpace+clazz+_strSpace)>-1;)cur=cur.replace(_strSpace+clazz+_strSpace,_strSpace);curValue!==(finalValue=stripAndCollapse(cur))&&(elem.className=finalValue)}return this},hide:function(){return this.each((function(){this[LEXICON.s].display="none"}))},show:function(){return this.each((function(){this[LEXICON.s].display="block"}))},attr:function(attrName,value){for(var el,i=0;el=this[i++];){if(value===undefined)return el.getAttribute(attrName);el.setAttribute(attrName,value)}return this},removeAttr:function(attrName){return this.each((function(){this.removeAttribute(attrName)}))},offset:function(){var rect=this[0][LEXICON.bCR](),scrollLeft=window.pageXOffset||document.documentElement[_strScrollLeft],scrollTop=window.pageYOffset||document.documentElement[_strScrollTop];return{top:rect.top+scrollTop,left:rect.left+scrollLeft}},position:function(){var el=this[0];return{top:el.offsetTop,left:el.offsetLeft}},scrollLeft:function(value){for(var el,i=0;el=this[i++];){if(value===undefined)return el[_strScrollLeft];el[_strScrollLeft]=value}return this},scrollTop:function(value){for(var el,i=0;el=this[i++];){if(value===undefined)return el[_strScrollTop];el[_strScrollTop]=value}return this},val:function(value){var el=this[0];return value?(el.value=value,this):el.value},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(index){return FakejQuery(this[index>=0?index:this[LEXICON.l]+index])},find:function(selector){var i,children=[];return this.each((function(){var ch=this.querySelectorAll(selector);for(i=0;i-1){if(!(argLen>1))return _targets[index][_instancePropertyString];delete target[_instancePropertyString],_targets.splice(index,1)}}}),PLUGIN=function(){var _plugin,_pluginsGlobals,_pluginsAutoUpdateLoop,type,possibleTemplateTypes,restrictedStringsSplit,restrictedStringsPossibilitiesSplit,classNameAllowedValues,numberAllowedValues,booleanNullAllowedValues,booleanTrueTemplate,booleanFalseTemplate,callbackTemplate,overflowBehaviorAllowedValues,optionsDefaultsAndTemplate,convert,_pluginsExtensions=[],_pluginsOptions=(type=COMPATIBILITY.type,possibleTemplateTypes=[TYPES.b,TYPES.n,TYPES.s,TYPES.a,TYPES.o,TYPES.f,TYPES.z],restrictedStringsSplit=" ",restrictedStringsPossibilitiesSplit=":",classNameAllowedValues=[TYPES.z,TYPES.s],numberAllowedValues=TYPES.n,booleanNullAllowedValues=[TYPES.z,TYPES.b],booleanTrueTemplate=[!0,TYPES.b],booleanFalseTemplate=[!1,TYPES.b],callbackTemplate=[null,[TYPES.z,TYPES.f]],overflowBehaviorAllowedValues="v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden",optionsDefaultsAndTemplate={className:["os-theme-dark",classNameAllowedValues],resize:["none","n:none b:both h:horizontal v:vertical"],sizeAutoCapable:booleanTrueTemplate,clipAlways:booleanTrueTemplate,normalizeRTL:booleanTrueTemplate,paddingAbsolute:booleanFalseTemplate,autoUpdate:[null,booleanNullAllowedValues],autoUpdateInterval:[33,numberAllowedValues],updateOnLoad:[["img"],[TYPES.s,TYPES.a,TYPES.z]],nativeScrollbarsOverlaid:{showNativeScrollbars:booleanFalseTemplate,initialize:booleanTrueTemplate},overflowBehavior:{x:["scroll",overflowBehaviorAllowedValues],y:["scroll",overflowBehaviorAllowedValues]},scrollbars:{visibility:["auto","v:visible h:hidden a:auto"],autoHide:["never","n:never s:scroll l:leave m:move"],autoHideDelay:[800,numberAllowedValues],dragScrolling:booleanTrueTemplate,clickScrolling:booleanFalseTemplate,touchSupport:booleanTrueTemplate,snapHandle:booleanFalseTemplate},textarea:{dynWidth:booleanFalseTemplate,dynHeight:booleanFalseTemplate,inheritedAttrs:[["style","class"],[TYPES.s,TYPES.a,TYPES.z]]},callbacks:{onInitialized:callbackTemplate,onInitializationWithdrawn:callbackTemplate,onDestroyed:callbackTemplate,onScrollStart:callbackTemplate,onScroll:callbackTemplate,onScrollStop:callbackTemplate,onOverflowChanged:callbackTemplate,onOverflowAmountChanged:callbackTemplate,onDirectionChanged:callbackTemplate,onContentSizeChanged:callbackTemplate,onHostSizeChanged:callbackTemplate,onUpdated:callbackTemplate}},{_defaults:(convert=function(template){var recursive=function(obj){var key,val,valType;for(key in obj)obj[LEXICON.hOP](key)&&(val=obj[key],(valType=type(val))==TYPES.a?obj[key]=val[template?1:0]:valType==TYPES.o&&(obj[key]=recursive(val)));return obj};return recursive(FRAMEWORK.extend(!0,{},optionsDefaultsAndTemplate))})(),_template:convert(!0),_validate:function(obj,template,writeErrors,diffObj){var validatedOptions={},validatedOptionsPrepared={},objectCopy=FRAMEWORK.extend(!0,{},obj),inArray=FRAMEWORK.inArray,isEmptyObj=FRAMEWORK.isEmptyObject,checkObjectProps=function(data,template,diffData,validatedOptions,validatedOptionsPrepared,prevPropName){for(var prop in template)if(template[LEXICON.hOP](prop)&&data[LEXICON.hOP](prop)){var restrictedStringValuesSplit,restrictedStringValuesPossibilitiesSplit,isRestrictedValue,mainPossibility,currType,i,v,j,isValid=!1,isDiff=!1,templateValue=template[prop],templateValueType=type(templateValue),templateIsComplex=templateValueType==TYPES.o,templateTypes=COMPATIBILITY.isA(templateValue)?templateValue:[templateValue],dataDiffValue=diffData[prop],dataValue=data[prop],dataValueType=type(dataValue),propPrefix=prevPropName?prevPropName+".":"",error='The option "'+propPrefix+prop+"\" wasn't set, because",errorPossibleTypes=[],errorRestrictedStrings=[];if(dataDiffValue=dataDiffValue===undefined?{}:dataDiffValue,templateIsComplex&&dataValueType==TYPES.o)validatedOptions[prop]={},validatedOptionsPrepared[prop]={},checkObjectProps(dataValue,templateValue,dataDiffValue,validatedOptions[prop],validatedOptionsPrepared[prop],propPrefix+prop),FRAMEWORK.each([data,validatedOptions,validatedOptionsPrepared],(function(index,value){isEmptyObj(value[prop])&&delete value[prop]}));else if(!templateIsComplex){for(i=0;i0?"\r\nValid strings are: [ "+errorRestrictedStrings.join(", ").split(restrictedStringsPossibilitiesSplit).join(", ")+" ].":"")),delete data[prop]}}};return checkObjectProps(objectCopy,template,diffObj||{},validatedOptions,validatedOptionsPrepared),!isEmptyObj(objectCopy)&&writeErrors&&console.warn("The following options are discarded due to invalidity:\r\n"+window.JSON.stringify(objectCopy,null,2)),{_default:validatedOptions,_prepared:validatedOptionsPrepared}}});function initOverlayScrollbarsStatics(){_pluginsGlobals||(_pluginsGlobals=new OverlayScrollbarsGlobals(_pluginsOptions._defaults)),_pluginsAutoUpdateLoop||(_pluginsAutoUpdateLoop=new OverlayScrollbarsAutoUpdateLoop(_pluginsGlobals))}function OverlayScrollbarsGlobals(defaultOptions){var _base=this,strOverflow="overflow",strHidden="hidden",strScroll="scroll",bodyElement=FRAMEWORK("body"),scrollbarDummyElement=FRAMEWORK('
'),scrollbarDummyElement0=scrollbarDummyElement[0],dummyContainerChild=FRAMEWORK(scrollbarDummyElement.children("div").eq(0));bodyElement.append(scrollbarDummyElement),scrollbarDummyElement.hide().show();var nativeScrollbarSize=calcNativeScrollbarSize(scrollbarDummyElement0),nativeScrollbarIsOverlaid={x:0===nativeScrollbarSize.x,y:0===nativeScrollbarSize.y},msie=function(){var result,ua=window.navigator.userAgent,strIndexOf="indexOf",strSubString="substring",msie=ua[strIndexOf]("MSIE "),trident=ua[strIndexOf]("Trident/"),edge=ua[strIndexOf]("Edge/"),rv=ua[strIndexOf]("rv:"),parseIntFunc=parseInt;return msie>0?result=parseIntFunc(ua[strSubString](msie+5,ua[strIndexOf](".",msie)),10):trident>0?result=parseIntFunc(ua[strSubString](rv+3,ua[strIndexOf](".",rv)),10):edge>0&&(result=parseIntFunc(ua[strSubString](edge+5,ua[strIndexOf](".",edge)),10)),result}();function calcNativeScrollbarSize(measureElement){return{x:measureElement[LEXICON.oH]-measureElement[LEXICON.cH],y:measureElement[LEXICON.oW]-measureElement[LEXICON.cW]}}FRAMEWORK.extend(_base,{defaultOptions:defaultOptions,msie:msie,autoUpdateLoop:!1,autoUpdateRecommended:!COMPATIBILITY.mO(),nativeScrollbarSize:nativeScrollbarSize,nativeScrollbarIsOverlaid:nativeScrollbarIsOverlaid,nativeScrollbarStyling:function(){var result=!1;scrollbarDummyElement.addClass("os-viewport-native-scrollbars-invisible");try{result="none"===scrollbarDummyElement.css("scrollbar-width")&&(msie>9||!msie)||"none"===window.getComputedStyle(scrollbarDummyElement0,"::-webkit-scrollbar").getPropertyValue("display")}catch(ex){}return result}(),overlayScrollbarDummySize:{x:30,y:30},cssCalc:VENDORS._cssPropertyValue("width","calc","(1px)")||null,restrictedMeasuring:function(){scrollbarDummyElement.css(strOverflow,strHidden);var scrollSize={w:scrollbarDummyElement0[LEXICON.sW],h:scrollbarDummyElement0[LEXICON.sH]};scrollbarDummyElement.css(strOverflow,"visible");var scrollSize2={w:scrollbarDummyElement0[LEXICON.sW],h:scrollbarDummyElement0[LEXICON.sH]};return scrollSize.w-scrollSize2.w!=0||scrollSize.h-scrollSize2.h!=0}(),rtlScrollBehavior:function(){scrollbarDummyElement.css({"overflow-y":strHidden,"overflow-x":strScroll,direction:"rtl"}).scrollLeft(0);var dummyContainerOffset=scrollbarDummyElement.offset(),dummyContainerChildOffset=dummyContainerChild.offset();scrollbarDummyElement.scrollLeft(-999);var dummyContainerChildOffsetAfterScroll=dummyContainerChild.offset();return{i:dummyContainerOffset.left===dummyContainerChildOffset.left,n:dummyContainerChildOffset.left!==dummyContainerChildOffsetAfterScroll.left}}(),supportTransform:!!VENDORS._cssProperty("transform"),supportTransition:!!VENDORS._cssProperty("transition"),supportPassiveEvents:function(){var supportsPassive=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){supportsPassive=!0}}))}catch(e){}return supportsPassive}(),supportResizeObserver:!!COMPATIBILITY.rO(),supportMutationObserver:!!COMPATIBILITY.mO()}),scrollbarDummyElement.removeAttr(LEXICON.s).remove(),function(){if(!nativeScrollbarIsOverlaid.x||!nativeScrollbarIsOverlaid.y){var abs=MATH.abs,windowWidth=COMPATIBILITY.wW(),windowHeight=COMPATIBILITY.wH(),windowDpr=getWindowDPR(),onResize=function(){if(INSTANCES().length>0){var newW=COMPATIBILITY.wW(),newH=COMPATIBILITY.wH(),deltaW=newW-windowWidth,deltaH=newH-windowHeight;if(0===deltaW&&0===deltaH)return;var newScrollbarSize,deltaWRatio=MATH.round(newW/(windowWidth/100)),deltaHRatio=MATH.round(newH/(windowHeight/100)),absDeltaW=abs(deltaW),absDeltaH=abs(deltaH),absDeltaWRatio=abs(deltaWRatio),absDeltaHRatio=abs(deltaHRatio),newDPR=getWindowDPR(),deltaIsBigger=absDeltaW>2&&absDeltaH>2,difference=!differenceIsBiggerThanOne(absDeltaWRatio,absDeltaHRatio),isZoom=deltaIsBigger&&difference&&newDPR!==windowDpr&&windowDpr>0,oldScrollbarSize=_base.nativeScrollbarSize;isZoom&&(bodyElement.append(scrollbarDummyElement),newScrollbarSize=_base.nativeScrollbarSize=calcNativeScrollbarSize(scrollbarDummyElement[0]),scrollbarDummyElement.remove(),oldScrollbarSize.x===newScrollbarSize.x&&oldScrollbarSize.y===newScrollbarSize.y||FRAMEWORK.each(INSTANCES(),(function(){INSTANCES(this)&&INSTANCES(this).update("zoom")}))),windowWidth=newW,windowHeight=newH,windowDpr=newDPR}};FRAMEWORK(window).on("resize",onResize)}function differenceIsBiggerThanOne(valOne,valTwo){var absValOne=abs(valOne),absValTwo=abs(valTwo);return!(absValOne===absValTwo||absValOne+1===absValTwo||absValOne-1===absValTwo)}function getWindowDPR(){var dDPI=window.screen.deviceXDPI||0,sDPI=window.screen.logicalXDPI||1;return window.devicePixelRatio||dDPI/sDPI}}()}function OverlayScrollbarsAutoUpdateLoop(globals){var _loopID,_base=this,_inArray=FRAMEWORK.inArray,_getNow=COMPATIBILITY.now,_strAutoUpdate="autoUpdate",_strAutoUpdateInterval=_strAutoUpdate+"Interval",_strLength=LEXICON.l,_loopingInstances=[],_loopingInstancesIntervalCache=[],_loopIsActive=!1,_loopIntervalDefault=33,_loopInterval=_loopIntervalDefault,_loopTimeOld=_getNow(),loop=function(){if(_loopingInstances[_strLength]>0&&_loopIsActive){_loopID=COMPATIBILITY.rAF()((function(){loop()}));var lowestInterval,instance,instanceOptions,instanceAutoUpdateAllowed,instanceAutoUpdateInterval,now,timeNew=_getNow(),timeDelta=timeNew-_loopTimeOld;if(timeDelta>_loopInterval){_loopTimeOld=timeNew-timeDelta%_loopInterval,lowestInterval=_loopIntervalDefault;for(var i=0;i<_loopingInstances[_strLength];i++)(instance=_loopingInstances[i])!==undefined&&(instanceAutoUpdateAllowed=(instanceOptions=instance.options())[_strAutoUpdate],instanceAutoUpdateInterval=MATH.max(1,instanceOptions[_strAutoUpdateInterval]),now=_getNow(),(!0===instanceAutoUpdateAllowed||null===instanceAutoUpdateAllowed)&&now-_loopingInstancesIntervalCache[i]>instanceAutoUpdateInterval&&(instance.update("auto"),_loopingInstancesIntervalCache[i]=new Date(now+=instanceAutoUpdateInterval)),lowestInterval=MATH.max(1,MATH.min(lowestInterval,instanceAutoUpdateInterval)));_loopInterval=lowestInterval}}else _loopInterval=_loopIntervalDefault};_base.add=function(instance){-1===_inArray(instance,_loopingInstances)&&(_loopingInstances.push(instance),_loopingInstancesIntervalCache.push(_getNow()),_loopingInstances[_strLength]>0&&!_loopIsActive&&(_loopIsActive=!0,globals.autoUpdateLoop=_loopIsActive,loop()))},_base.remove=function(instance){var index=_inArray(instance,_loopingInstances);index>-1&&(_loopingInstancesIntervalCache.splice(index,1),_loopingInstances.splice(index,1),0===_loopingInstances[_strLength]&&_loopIsActive&&(_loopIsActive=!1,globals.autoUpdateLoop=_loopIsActive,_loopID!==undefined&&(COMPATIBILITY.cAF()(_loopID),_loopID=-1)))}}function OverlayScrollbarsInstance(pluginTargetElement,options,extensions,globals,autoUpdateLoop){var type=COMPATIBILITY.type,inArray=FRAMEWORK.inArray,each=FRAMEWORK.each,_base=new _plugin,_frameworkProto=FRAMEWORK[LEXICON.p];if(isHTMLElement(pluginTargetElement)){if(INSTANCES(pluginTargetElement)){var inst=INSTANCES(pluginTargetElement);return inst.options(options),inst}var _nativeScrollbarIsOverlaid,_overlayScrollbarDummySize,_rtlScrollBehavior,_autoUpdateRecommended,_msieVersion,_nativeScrollbarStyling,_cssCalc,_nativeScrollbarSize,_supportTransition,_supportTransform,_supportPassiveEvents,_supportResizeObserver,_supportMutationObserver,_initialized,_destroyed,_isTextarea,_isBody,_documentMixed,_domExists,_isBorderBox,_sizeAutoObserverAdded,_paddingX,_paddingY,_borderX,_borderY,_marginX,_marginY,_isRTL,_sleeping,_defaultOptions,_currentOptions,_currentPreparedOptions,_lastUpdateTime,_swallowedUpdateTimeout,_windowElement,_documentElement,_htmlElement,_bodyElement,_targetElement,_hostElement,_sizeAutoObserverElement,_sizeObserverElement,_paddingElement,_viewportElement,_contentElement,_contentArrangeElement,_contentGlueElement,_textareaCoverElement,_scrollbarCornerElement,_scrollbarHorizontalElement,_scrollbarHorizontalTrackElement,_scrollbarHorizontalHandleElement,_scrollbarVerticalElement,_scrollbarVerticalTrackElement,_scrollbarVerticalHandleElement,_windowElementNative,_documentElementNative,_targetElementNative,_hostElementNative,_sizeAutoObserverElementNative,_sizeObserverElementNative,_paddingElementNative,_viewportElementNative,_contentElementNative,_hostSizeCache,_contentScrollSizeCache,_arrangeContentSizeCache,_hasOverflowCache,_hideOverflowCache,_widthAutoCache,_heightAutoCache,_cssBoxSizingCache,_cssPaddingCache,_cssBorderCache,_cssMarginCache,_cssDirectionCache,_cssDirectionDetectedCache,_paddingAbsoluteCache,_clipAlwaysCache,_contentGlueSizeCache,_overflowBehaviorCache,_overflowAmountCache,_ignoreOverlayScrollbarHidingCache,_autoUpdateCache,_sizeAutoCapableCache,_contentElementScrollSizeChangeDetectedCache,_hostElementSizeChangeDetectedCache,_scrollbarsVisibilityCache,_scrollbarsAutoHideCache,_scrollbarsClickScrollingCache,_scrollbarsDragScrollingCache,_resizeCache,_normalizeRTLCache,_classNameCache,_oldClassName,_textareaAutoWrappingCache,_textareaInfoCache,_textareaSizeCache,_textareaDynHeightCache,_textareaDynWidthCache,_bodyMinSizeCache,_mutationObserverHost,_mutationObserverContent,_mutationObserverHostCallback,_mutationObserverContentCallback,_mutationObserversConnected,_textareaHasFocus,_scrollbarsAutoHideTimeoutId,_scrollbarsAutoHideMoveTimeoutId,_scrollbarsAutoHideDelay,_scrollbarsAutoHideNever,_scrollbarsAutoHideScroll,_scrollbarsAutoHideMove,_scrollbarsAutoHideLeave,_scrollbarsHandleHovered,_scrollbarsHandlesDefineScrollPos,_resizeNone,_resizeBoth,_resizeHorizontal,_resizeVertical,_contentBorderSize={},_scrollHorizontalInfo={},_scrollVerticalInfo={},_viewportSize={},_nativeScrollbarMinSize={},_strMinusHidden="-hidden",_strMarginMinus="margin-",_strPaddingMinus="padding-",_strBorderMinus="border-",_strTop="top",_strRight="right",_strBottom="bottom",_strLeft="left",_strMinMinus="min-",_strMaxMinus="max-",_strWidth="width",_strHeight="height",_strFloat="float",_strEmpty="",_strAuto="auto",_strSync="sync",_strScroll="scroll",_strHundredPercent="100%",_strX="x",_strY="y",_strDot=".",_strSpace=" ",_strScrollbar="scrollbar",_strMinusHorizontal="-horizontal",_strMinusVertical="-vertical",_strScrollLeft=_strScroll+"Left",_strScrollTop=_strScroll+"Top",_strMouseTouchDownEvent="mousedown touchstart",_strMouseTouchUpEvent="mouseup touchend touchcancel",_strMouseTouchMoveEvent="mousemove touchmove",_strMouseEnter="mouseenter",_strMouseLeave="mouseleave",_strKeyDownEvent="keydown",_strKeyUpEvent="keyup",_strSelectStartEvent="selectstart",_strTransitionEndEvent="transitionend webkitTransitionEnd oTransitionEnd",_strResizeObserverProperty="__overlayScrollbarsRO__",_cassNamesPrefix="os-",_classNameHTMLElement=_cassNamesPrefix+"html",_classNameHostElement=_cassNamesPrefix+"host",_classNameHostElementForeign=_classNameHostElement+"-foreign",_classNameHostTextareaElement=_classNameHostElement+"-textarea",_classNameHostScrollbarHorizontalHidden=_classNameHostElement+"-"+_strScrollbar+_strMinusHorizontal+_strMinusHidden,_classNameHostScrollbarVerticalHidden=_classNameHostElement+"-"+_strScrollbar+_strMinusVertical+_strMinusHidden,_classNameHostTransition=_classNameHostElement+"-transition",_classNameHostRTL=_classNameHostElement+"-rtl",_classNameHostResizeDisabled=_classNameHostElement+"-resize-disabled",_classNameHostScrolling=_classNameHostElement+"-scrolling",_classNameHostOverflow=_classNameHostElement+"-overflow",_classNameHostOverflowX=(_classNameHostOverflow=_classNameHostElement+"-overflow")+"-x",_classNameHostOverflowY=_classNameHostOverflow+"-y",_classNameTextareaElement=_cassNamesPrefix+"textarea",_classNameTextareaCoverElement=_classNameTextareaElement+"-cover",_classNamePaddingElement=_cassNamesPrefix+"padding",_classNameViewportElement=_cassNamesPrefix+"viewport",_classNameViewportNativeScrollbarsInvisible=_classNameViewportElement+"-native-scrollbars-invisible",_classNameViewportNativeScrollbarsOverlaid=_classNameViewportElement+"-native-scrollbars-overlaid",_classNameContentElement=_cassNamesPrefix+"content",_classNameContentArrangeElement=_cassNamesPrefix+"content-arrange",_classNameContentGlueElement=_cassNamesPrefix+"content-glue",_classNameSizeAutoObserverElement=_cassNamesPrefix+"size-auto-observer",_classNameResizeObserverElement=_cassNamesPrefix+"resize-observer",_classNameResizeObserverItemElement=_cassNamesPrefix+"resize-observer-item",_classNameResizeObserverItemFinalElement=_classNameResizeObserverItemElement+"-final",_classNameTextInherit=_cassNamesPrefix+"text-inherit",_classNameScrollbar=_cassNamesPrefix+_strScrollbar,_classNameScrollbarTrack=_classNameScrollbar+"-track",_classNameScrollbarTrackOff=_classNameScrollbarTrack+"-off",_classNameScrollbarHandle=_classNameScrollbar+"-handle",_classNameScrollbarHandleOff=_classNameScrollbarHandle+"-off",_classNameScrollbarUnusable=_classNameScrollbar+"-unusable",_classNameScrollbarAutoHidden=_classNameScrollbar+"-"+_strAuto+_strMinusHidden,_classNameScrollbarCorner=_classNameScrollbar+"-corner",_classNameScrollbarCornerResize=_classNameScrollbarCorner+"-resize",_classNameScrollbarCornerResizeB=_classNameScrollbarCornerResize+"-both",_classNameScrollbarCornerResizeH=_classNameScrollbarCornerResize+_strMinusHorizontal,_classNameScrollbarCornerResizeV=_classNameScrollbarCornerResize+_strMinusVertical,_classNameScrollbarHorizontal=_classNameScrollbar+_strMinusHorizontal,_classNameScrollbarVertical=_classNameScrollbar+_strMinusVertical,_classNameDragging=_cassNamesPrefix+"dragging",_classNameThemeNone=_cassNamesPrefix+"theme-none",_classNamesDynamicDestroy=[_classNameViewportNativeScrollbarsInvisible,_classNameViewportNativeScrollbarsOverlaid,_classNameScrollbarTrackOff,_classNameScrollbarHandleOff,_classNameScrollbarUnusable,_classNameScrollbarAutoHidden,_classNameScrollbarCornerResize,_classNameScrollbarCornerResizeB,_classNameScrollbarCornerResizeH,_classNameScrollbarCornerResizeV,_classNameDragging].join(_strSpace),_callbacksInitQeueue=[],_viewportAttrsFromTarget=[LEXICON.ti],_extensions={},_extensionsPrivateMethods="added removed on contract",_swallowedUpdateHints={},_swallowUpdateLag=42,_updateOnLoadEventName="load",_updateOnLoadElms=[],_updateAutoCache={},_mutationObserverAttrsTextarea=["wrap","cols","rows"],_mutationObserverAttrsHost=[LEXICON.i,LEXICON.c,LEXICON.s,"open"].concat(_viewportAttrsFromTarget),_destroyEvents=[];return _base.sleep=function(){_sleeping=!0},_base.update=function(force){var attrsChanged,contentSizeC,doUpdateAuto,mutHost,mutContent;if(!_destroyed)return type(force)==TYPES.s?force===_strAuto?(attrsChanged=meaningfulAttrsChanged(),contentSizeC=updateAutoContentSizeChanged(),(doUpdateAuto=attrsChanged||contentSizeC)&&update({_contentSizeChanged:contentSizeC,_changedOptions:_initialized?undefined:_currentPreparedOptions})):force===_strSync?_mutationObserversConnected?(mutHost=_mutationObserverHostCallback(_mutationObserverHost.takeRecords()),mutContent=_mutationObserverContentCallback(_mutationObserverContent.takeRecords())):mutHost=_base.update(_strAuto):"zoom"===force&&update({_hostSizeChanged:!0,_contentSizeChanged:!0}):(force=_sleeping||force,_sleeping=!1,_base.update(_strSync)&&!force||update({_force:force})),updateElementsOnLoad(),doUpdateAuto||mutHost||mutContent},_base.options=function(newOptions,value){var changedOps,option={};if(FRAMEWORK.isEmptyObject(newOptions)||!FRAMEWORK.isPlainObject(newOptions)){if(type(newOptions)!=TYPES.s)return _currentOptions;if(!(arguments.length>1))return getObjectPropVal(_currentOptions,newOptions);setObjectPropVal(option,newOptions,value),changedOps=setOptions(option)}else changedOps=setOptions(newOptions);FRAMEWORK.isEmptyObject(changedOps)||update({_changedOptions:changedOps})},_base.destroy=function(){if(!_destroyed){for(var extName in autoUpdateLoop.remove(_base),disconnectMutationObservers(),setupResizeObserver(_sizeObserverElement),setupResizeObserver(_sizeAutoObserverElement),_extensions)_base.removeExt(extName);for(;_destroyEvents[LEXICON.l]>0;)_destroyEvents.pop()();setupHostMouseTouchEvents(!0),_contentGlueElement&&remove(_contentGlueElement),_contentArrangeElement&&remove(_contentArrangeElement),_sizeAutoObserverAdded&&remove(_sizeAutoObserverElement),setupScrollbarsDOM(!0),setupScrollbarCornerDOM(!0),setupStructureDOM(!0);for(var i=0;i<_updateOnLoadElms[LEXICON.l];i++)FRAMEWORK(_updateOnLoadElms[i]).off(_updateOnLoadEventName,updateOnLoadCallback);_updateOnLoadElms=undefined,_destroyed=!0,_sleeping=!0,INSTANCES(pluginTargetElement,0),dispatchCallback("onDestroyed")}},_base.scroll=function(coordinates,duration,easing,complete){if(0===arguments.length||coordinates===undefined){var infoX=_scrollHorizontalInfo,infoY=_scrollVerticalInfo,normalizeInvert=_normalizeRTLCache&&_isRTL&&_rtlScrollBehavior.i,normalizeNegate=_normalizeRTLCache&&_isRTL&&_rtlScrollBehavior.n,scrollX=infoX._currentScroll,scrollXRatio=infoX._currentScrollRatio,maxScrollX=infoX._maxScroll;return scrollXRatio=normalizeInvert?1-scrollXRatio:scrollXRatio,scrollX=normalizeInvert?maxScrollX-scrollX:scrollX,maxScrollX*=normalizeNegate?-1:1,{position:{x:scrollX*=normalizeNegate?-1:1,y:infoY._currentScroll},ratio:{x:scrollXRatio,y:infoY._currentScrollRatio},max:{x:maxScrollX,y:infoY._maxScroll},handleOffset:{x:infoX._handleOffset,y:infoY._handleOffset},handleLength:{x:infoX._handleLength,y:infoY._handleLength},handleLengthRatio:{x:infoX._handleLengthRatio,y:infoY._handleLengthRatio},trackLength:{x:infoX._trackLength,y:infoY._trackLength},snappedHandleOffset:{x:infoX._snappedHandleOffset,y:infoY._snappedHandleOffset},isRTL:_isRTL,isRTLNormalized:_normalizeRTLCache}}_base.update(_strSync);var i,doScrollLeft,doScrollTop,animationOptions,settingsAxis,settingsScroll,settingsBlock,settingsMargin,finalElement,normalizeRTL=_normalizeRTLCache,coordinatesXAxisProps=[_strX,_strLeft,"l"],coordinatesYAxisProps=[_strY,_strTop,"t"],coordinatesOperators=["+=","-=","*=","/="],durationIsObject=type(duration)==TYPES.o,completeCallback=durationIsObject?duration.complete:complete,finalScroll={},specialEasing={},strEnd="end",strBegin="begin",strCenter="center",strNearest="nearest",strAlways="always",strNever="never",strIfNeeded="ifneeded",strLength=LEXICON.l,elementObjSettingsAxisValues=[_strX,_strY,"xy","yx"],elementObjSettingsBlockValues=[strBegin,strEnd,strCenter,strNearest],elementObjSettingsScrollValues=[strAlways,strNever,strIfNeeded],coordinatesIsElementObj=coordinates[LEXICON.hOP]("el"),possibleElement=coordinatesIsElementObj?coordinates.el:coordinates,possibleElementIsJQuery=!!(possibleElement instanceof FRAMEWORK||JQUERY)&&possibleElement instanceof JQUERY,possibleElementIsHTMLElement=!possibleElementIsJQuery&&isHTMLElement(possibleElement),updateScrollbarInfos=function(){doScrollLeft&&refreshScrollbarHandleOffset(!0),doScrollTop&&refreshScrollbarHandleOffset(!1)},proxyCompleteCallback=type(completeCallback)!=TYPES.f?undefined:function(){updateScrollbarInfos(),completeCallback()};function checkSettingsStringValue(currValue,allowedValues){for(i=0;i2&&(possibleOperator=rawScroll.substr(0,2),inArray(possibleOperator,coordinatesOperators)>-1&&(operator=possibleOperator)),rawScroll=(rawScroll=operator?rawScroll.substr(2):rawScroll)[strReplace](/min/g,0)[strReplace](//g,(normalizeShortcuts?"-":_strEmpty)+_strHundredPercent)[strReplace](/px/g,_strEmpty)[strReplace](/%/g,mult+maxScroll*(isRTLisX&&_rtlScrollBehavior.n?-1:1)/100)[strReplace](/vw/g,mult+_viewportSize.w)[strReplace](/vh/g,mult+_viewportSize.h),amount=parseToZeroOrNumber(isNaN(rawScroll)?parseToZeroOrNumber(evalFunc(rawScroll),!0).toFixed():rawScroll)):amount=rawScroll,amount!==undefined&&!isNaN(amount)&&type(amount)==TYPES.n){var normalizeIsRTLisX=normalizeRTL&&isRTLisX,operatorCurrScroll=currScroll*(normalizeIsRTLisX&&_rtlScrollBehavior.n?-1:1),invert=normalizeIsRTLisX&&_rtlScrollBehavior.i,negate=normalizeIsRTLisX&&_rtlScrollBehavior.n;switch(operatorCurrScroll=invert?maxScroll-operatorCurrScroll:operatorCurrScroll,operator){case"+=":finalValue=operatorCurrScroll+amount;break;case"-=":finalValue=operatorCurrScroll-amount;break;case"*=":finalValue=operatorCurrScroll*amount;break;case"/=":finalValue=operatorCurrScroll/amount;break;default:finalValue=amount}finalValue=invert?maxScroll-finalValue:finalValue,finalValue*=negate?-1:1,finalValue=isRTLisX&&_rtlScrollBehavior.n?MATH.min(0,MATH.max(maxScroll,finalValue)):MATH.max(0,MATH.min(maxScroll,finalValue))}return finalValue===currScroll?undefined:finalValue}function getPerAxisValue(value,valueInternalType,defaultValue,allowedValues){var valueArrLength,valueArrItem,resultDefault=[defaultValue,defaultValue],valueType=type(value);if(valueType==valueInternalType)value=[value,value];else if(valueType==TYPES.a){if((valueArrLength=value[strLength])>2||valueArrLength<1)value=resultDefault;else for(1===valueArrLength&&(value[1]=defaultValue),i=0;i0){margin=marginType==TYPES.n||marginType==TYPES.b?generateMargin([margin,margin,margin,margin]):marginType==TYPES.a?2===(marginLength=margin[strLength])?generateMargin([margin[0],margin[1],margin[0],margin[1]]):marginLength>=4?generateMargin(margin):marginDefault:marginType==TYPES.o?generateMargin([margin[_strTop],margin[_strRight],margin[_strBottom],margin[_strLeft]]):marginDefault,settingsAxis=checkSettingsStringValue(axis,elementObjSettingsAxisValues)?axis:"xy",settingsScroll=getPerAxisValue(scroll,TYPES.s,strAlways,elementObjSettingsScrollValues),settingsBlock=getPerAxisValue(block,TYPES.s,strBegin,elementObjSettingsBlockValues),settingsMargin=margin;var viewportScroll={l:_scrollHorizontalInfo._currentScroll,t:_scrollVerticalInfo._currentScroll},viewportOffset=_paddingElement.offset(),elementOffset=finalElement.offset(),doNotScroll={x:settingsScroll.x==strNever||settingsAxis==_strY,y:settingsScroll.y==strNever||settingsAxis==_strX};elementOffset[_strTop]-=settingsMargin[0],elementOffset[_strLeft]-=settingsMargin[3];var elementScrollCoordinates={x:MATH.round(elementOffset[_strLeft]-viewportOffset[_strLeft]+viewportScroll.l),y:MATH.round(elementOffset[_strTop]-viewportOffset[_strTop]+viewportScroll.t)};if(_isRTL&&(_rtlScrollBehavior.n||_rtlScrollBehavior.i||(elementScrollCoordinates.x=MATH.round(viewportOffset[_strLeft]-elementOffset[_strLeft]+viewportScroll.l)),_rtlScrollBehavior.n&&normalizeRTL&&(elementScrollCoordinates.x*=-1),_rtlScrollBehavior.i&&normalizeRTL&&(elementScrollCoordinates.x=MATH.round(viewportOffset[_strLeft]-elementOffset[_strLeft]+(_scrollHorizontalInfo._maxScroll-viewportScroll.l)))),settingsBlock.x!=strBegin||settingsBlock.y!=strBegin||settingsScroll.x==strIfNeeded||settingsScroll.y==strIfNeeded||_isRTL){var measuringElm=finalElement[0],rawElementSize=_supportTransform?measuringElm[LEXICON.bCR]():{width:measuringElm[LEXICON.oW],height:measuringElm[LEXICON.oH]},elementSize={w:rawElementSize[_strWidth]+settingsMargin[3]+settingsMargin[1],h:rawElementSize[_strHeight]+settingsMargin[0]+settingsMargin[2]},finalizeBlock=function(isX){var vars=getScrollbarVars(isX),wh=vars._w_h,lt=vars._left_top,xy=vars._x_y,blockIsEnd=settingsBlock[xy]==(isX&&_isRTL?strBegin:strEnd),blockIsCenter=settingsBlock[xy]==strCenter,blockIsNearest=settingsBlock[xy]==strNearest,scrollNever=settingsScroll[xy]==strNever,scrollIfNeeded=settingsScroll[xy]==strIfNeeded,vpSize=_viewportSize[wh],vpOffset=viewportOffset[lt],elSize=elementSize[wh],elOffset=elementOffset[lt],divide=blockIsCenter?2:1,elementCenterOffset=elOffset+elSize/2,viewportCenterOffset=vpOffset+vpSize/2,isInView=elSize<=vpSize&&elOffset>=vpOffset&&elOffset+elSize<=vpOffset+vpSize;scrollNever?doNotScroll[xy]=!0:doNotScroll[xy]||((blockIsNearest||scrollIfNeeded)&&(doNotScroll[xy]=!!scrollIfNeeded&&isInView,blockIsEnd=elSizeviewportCenterOffset:elementCenterOffset0||durationIsObject)?durationIsObject?(duration.complete=proxyCompleteCallback,_viewportElement.animate(finalScroll,duration)):(animationOptions={duration:duration,complete:proxyCompleteCallback},COMPATIBILITY.isA(easing)||FRAMEWORK.isPlainObject(easing)?(specialEasing[_strScrollLeft]=easing[0]||easing.x,specialEasing[_strScrollTop]=easing[1]||easing.y,animationOptions.specialEasing=specialEasing):animationOptions.easing=easing,_viewportElement.animate(finalScroll,animationOptions)):(doScrollLeft&&_viewportElement[_strScrollLeft](finalScroll[_strScrollLeft]),doScrollTop&&_viewportElement[_strScrollTop](finalScroll[_strScrollTop]),updateScrollbarInfos())},_base.scrollStop=function(param1,param2,param3){return _viewportElement.stop(param1,param2,param3),_base},_base.getElements=function(elementName){var obj={target:_targetElementNative,host:_hostElementNative,padding:_paddingElementNative,viewport:_viewportElementNative,content:_contentElementNative,scrollbarHorizontal:{scrollbar:_scrollbarHorizontalElement[0],track:_scrollbarHorizontalTrackElement[0],handle:_scrollbarHorizontalHandleElement[0]},scrollbarVertical:{scrollbar:_scrollbarVerticalElement[0],track:_scrollbarVerticalTrackElement[0],handle:_scrollbarVerticalHandleElement[0]},scrollbarCorner:_scrollbarCornerElement[0]};return type(elementName)==TYPES.s?getObjectPropVal(obj,elementName):obj},_base.getState=function(stateProperty){function prepare(obj){if(!FRAMEWORK.isPlainObject(obj))return obj;var extended=extendDeep({},obj),changePropertyName=function(from,to){extended[LEXICON.hOP](from)&&(extended[to]=extended[from],delete extended[from])};return changePropertyName("w",_strWidth),changePropertyName("h",_strHeight),delete extended.c,extended}var obj={destroyed:!!prepare(_destroyed),sleeping:!!prepare(_sleeping),autoUpdate:prepare(!_mutationObserversConnected),widthAuto:prepare(_widthAutoCache),heightAuto:prepare(_heightAutoCache),padding:prepare(_cssPaddingCache),overflowAmount:prepare(_overflowAmountCache),hideOverflow:prepare(_hideOverflowCache),hasOverflow:prepare(_hasOverflowCache),contentScrollSize:prepare(_contentScrollSizeCache),viewportSize:prepare(_viewportSize),hostSize:prepare(_hostSizeCache),documentMixed:prepare(_documentMixed)};return type(stateProperty)==TYPES.s?getObjectPropVal(obj,stateProperty):obj},_base.ext=function(extName){var result,privateMethods=_extensionsPrivateMethods.split(" "),i=0;if(type(extName)==TYPES.s){if(_extensions[LEXICON.hOP](extName))for(result=extendDeep({},_extensions[extName]);i9||!_autoUpdateRecommended){targetElement.prepend(generateDiv(_classNameResizeObserverElement,generateDiv({c:_classNameResizeObserverItemElement,dir:"ltr"},generateDiv(_classNameResizeObserverItemElement,generateDiv(_classNameResizeObserverItemFinalElement))+generateDiv(_classNameResizeObserverItemElement,generateDiv({c:_classNameResizeObserverItemFinalElement,style:"width: 200%; height: 200%"})))));var isDirty,rAFId,currWidth,currHeight,observerElement=targetElement[0][strChildNodes][0][strChildNodes][0],shrinkElement=FRAMEWORK(observerElement[strChildNodes][1]),expandElement=FRAMEWORK(observerElement[strChildNodes][0]),expandElementChild=FRAMEWORK(expandElement[0][strChildNodes][0]),widthCache=observerElement[LEXICON.oW],heightCache=observerElement[LEXICON.oH],factor=2,nativeScrollbarSize=globals.nativeScrollbarSize,reset=function(){expandElement[_strScrollLeft](constScroll)[_strScrollTop](constScroll),shrinkElement[_strScrollLeft](constScroll)[_strScrollTop](constScroll)},onResized=function(){rAFId=0,isDirty&&(widthCache=currWidth,heightCache=currHeight,callback())},onScroll=function(event){return currWidth=observerElement[LEXICON.oW],currHeight=observerElement[LEXICON.oH],isDirty=currWidth!=widthCache||currHeight!=heightCache,event&&isDirty&&!rAFId?(COMPATIBILITY.cAF()(rAFId),rAFId=COMPATIBILITY.rAF()(onResized)):event||onResized(),reset(),event&&(COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event)),!1},expandChildCSS={},observerElementCSS={};setTopRightBottomLeft(observerElementCSS,_strEmpty,[-(nativeScrollbarSize.y+1)*factor,nativeScrollbarSize.x*-factor,nativeScrollbarSize.y*-factor,-(nativeScrollbarSize.x+1)*factor]),FRAMEWORK(observerElement).css(observerElementCSS),expandElement.on(_strScroll,onScroll),shrinkElement.on(_strScroll,onScroll),targetElement.on(strAnimationStartEvent,(function(){onScroll(!1)})),expandChildCSS[_strWidth]=constScroll,expandChildCSS[_strHeight]=constScroll,expandElementChild.css(expandChildCSS),reset()}else{var attachEvent=_documentElementNative.attachEvent,isIE=_msieVersion!==undefined;if(attachEvent)targetElement.prepend(generateDiv(_classNameResizeObserverElement)),findFirst(targetElement,_strDot+_classNameResizeObserverElement)[0].attachEvent("onresize",callback);else{var obj=_documentElementNative.createElement(TYPES.o);obj.setAttribute(LEXICON.ti,"-1"),obj.setAttribute(LEXICON.c,_classNameResizeObserverElement),obj.onload=function(){var wnd=this.contentDocument.defaultView;wnd.addEventListener("resize",callback),wnd.document.documentElement.style.display="none"},obj.type="text/html",isIE&&targetElement.prepend(obj),obj.data="about:blank",isIE||targetElement.prepend(obj),targetElement.on(strAnimationStartEvent,callback)}}if(targetElement[0]===_sizeObserverElementNative){var directionChanged=function(){var dir=_hostElement.css("direction"),css={},scrollLeftValue=0,result=!1;return dir!==_cssDirectionDetectedCache&&("ltr"===dir?(css[_strLeft]=0,css[_strRight]=_strAuto,scrollLeftValue=constScroll):(css[_strLeft]=_strAuto,css[_strRight]=0,scrollLeftValue=_rtlScrollBehavior.n?-constScroll:_rtlScrollBehavior.i?0:constScroll),_sizeObserverElement.children().eq(0).css(css),_sizeObserverElement[_strScrollLeft](scrollLeftValue)[_strScrollTop](constScroll),_cssDirectionDetectedCache=dir,result=!0),result};directionChanged(),addDestroyEventListener(targetElement,_strScroll,(function(event){return directionChanged()&&update(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event),!1}))}}else if(_supportResizeObserver){var element,resizeObserverObj=(element=targetElement.contents()[0])[_strResizeObserverProperty];resizeObserverObj&&(resizeObserverObj.disconnect(),delete element[_strResizeObserverProperty])}else remove(targetElement.children(_strDot+_classNameResizeObserverElement).eq(0))}}function createMutationObservers(){if(_supportMutationObserver){var mutationTarget,mutationAttrName,mutationIsClass,oldMutationVal,newClassVal,hostClassNameRegex,contentTimeout,now,sizeAuto,action,mutationObserverContentLag=11,mutationObserver=COMPATIBILITY.mO(),contentLastUpdate=COMPATIBILITY.now();_mutationObserverContentCallback=function(mutations){var doUpdate=!1;return _initialized&&!_sleeping&&(each(mutations,(function(){return!(doUpdate=isUnknownMutation(this))})),doUpdate&&(now=COMPATIBILITY.now(),sizeAuto=_heightAutoCache||_widthAutoCache,action=function(){_destroyed||(contentLastUpdate=now,_isTextarea&&textareaUpdate(),sizeAuto?update():_base.update(_strAuto))},clearTimeout(contentTimeout),mutationObserverContentLag<=0||now-contentLastUpdate>mutationObserverContentLag||!sizeAuto?action():contentTimeout=setTimeout(action,mutationObserverContentLag))),doUpdate},_mutationObserverHost=new mutationObserver(_mutationObserverHostCallback=function(mutations){var mutation,doUpdate=!1,doUpdateForce=!1,mutatedAttrs=[];return _initialized&&!_sleeping&&(each(mutations,(function(){mutationTarget=(mutation=this).target,mutationAttrName=mutation.attributeName,mutationIsClass=mutationAttrName===LEXICON.c,oldMutationVal=mutation.oldValue,newClassVal=mutationTarget.className,_domExists&&mutationIsClass&&!doUpdateForce&&oldMutationVal.indexOf(_classNameHostElementForeign)>-1&&newClassVal.indexOf(_classNameHostElementForeign)<0&&(hostClassNameRegex=createHostClassNameRegExp(!0),_hostElementNative.className=newClassVal.split(_strSpace).concat(oldMutationVal.split(_strSpace).filter((function(name){return name.match(hostClassNameRegex)}))).join(_strSpace),doUpdate=doUpdateForce=!0),doUpdate||(doUpdate=mutationIsClass?hostClassNamesChanged(oldMutationVal,newClassVal):mutationAttrName!==LEXICON.s||oldMutationVal!==mutationTarget[LEXICON.s].cssText),mutatedAttrs.push(mutationAttrName)})),updateViewportAttrsFromTarget(mutatedAttrs),doUpdate&&_base.update(doUpdateForce||_strAuto)),doUpdate}),_mutationObserverContent=new mutationObserver(_mutationObserverContentCallback)}}function connectMutationObservers(){_supportMutationObserver&&!_mutationObserversConnected&&(_mutationObserverHost.observe(_hostElementNative,{attributes:!0,attributeOldValue:!0,attributeFilter:_mutationObserverAttrsHost}),_mutationObserverContent.observe(_isTextarea?_targetElementNative:_contentElementNative,{attributes:!0,attributeOldValue:!0,subtree:!_isTextarea,childList:!_isTextarea,characterData:!_isTextarea,attributeFilter:_isTextarea?_mutationObserverAttrsTextarea:_mutationObserverAttrsHost}),_mutationObserversConnected=!0)}function disconnectMutationObservers(){_supportMutationObserver&&_mutationObserversConnected&&(_mutationObserverHost.disconnect(),_mutationObserverContent.disconnect(),_mutationObserversConnected=!1)}function hostOnResized(){if(!_sleeping){var changed,hostSize={w:_sizeObserverElementNative[LEXICON.sW],h:_sizeObserverElementNative[LEXICON.sH]};changed=checkCache(hostSize,_hostElementSizeChangeDetectedCache),_hostElementSizeChangeDetectedCache=hostSize,changed&&update({_hostSizeChanged:!0})}}function hostOnMouseEnter(){_scrollbarsAutoHideLeave&&refreshScrollbarsAutoHide(!0)}function hostOnMouseLeave(){_scrollbarsAutoHideLeave&&!_bodyElement.hasClass(_classNameDragging)&&refreshScrollbarsAutoHide(!1)}function hostOnMouseMove(){_scrollbarsAutoHideMove&&(refreshScrollbarsAutoHide(!0),clearTimeout(_scrollbarsAutoHideMoveTimeoutId),_scrollbarsAutoHideMoveTimeoutId=setTimeout((function(){_scrollbarsAutoHideMove&&!_destroyed&&refreshScrollbarsAutoHide(!1)}),100))}function documentOnSelectStart(event){return COMPATIBILITY.prvD(event),!1}function updateOnLoadCallback(event){var elm=FRAMEWORK(event.target);eachUpdateOnLoad((function(i,updateOnLoadSelector){elm.is(updateOnLoadSelector)&&update({_contentSizeChanged:!0})}))}function setupHostMouseTouchEvents(destroy){destroy||setupHostMouseTouchEvents(!0),setupResponsiveEventListener(_hostElement,_strMouseTouchMoveEvent.split(_strSpace)[0],hostOnMouseMove,!_scrollbarsAutoHideMove||destroy,!0),setupResponsiveEventListener(_hostElement,[_strMouseEnter,_strMouseLeave],[hostOnMouseEnter,hostOnMouseLeave],!_scrollbarsAutoHideLeave||destroy,!0),_initialized||destroy||_hostElement.one("mouseover",hostOnMouseEnter)}function bodyMinSizeChanged(){var bodyMinSize={};return _isBody&&_contentArrangeElement&&(bodyMinSize.w=parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus+_strWidth)),bodyMinSize.h=parseToZeroOrNumber(_contentArrangeElement.css(_strMinMinus+_strHeight)),bodyMinSize.c=checkCache(bodyMinSize,_bodyMinSizeCache),bodyMinSize.f=!0),_bodyMinSizeCache=bodyMinSize,!!bodyMinSize.c}function hostClassNamesChanged(oldClassNames,newClassNames){var i,regex,currClasses=typeof newClassNames==TYPES.s?newClassNames.split(_strSpace):[],diff=getArrayDifferences(typeof oldClassNames==TYPES.s?oldClassNames.split(_strSpace):[],currClasses),idx=inArray(_classNameThemeNone,diff);if(idx>-1&&diff.splice(idx,1),diff[LEXICON.l]>0)for(regex=createHostClassNameRegExp(!0,!0),i=0;i0}}function isSizeAffectingCSSProperty(propertyName){if(!_initialized)return!0;var flexGrow="flex-grow",flexShrink="flex-shrink",flexBasis="flex-basis",affectingPropsX=[_strWidth,_strMinMinus+_strWidth,_strMaxMinus+_strWidth,_strMarginMinus+_strLeft,_strMarginMinus+_strRight,_strLeft,_strRight,"font-weight","word-spacing",flexGrow,flexShrink,flexBasis],affectingPropsXContentBox=[_strPaddingMinus+_strLeft,_strPaddingMinus+_strRight,_strBorderMinus+_strLeft+_strWidth,_strBorderMinus+_strRight+_strWidth],affectingPropsY=[_strHeight,_strMinMinus+_strHeight,_strMaxMinus+_strHeight,_strMarginMinus+_strTop,_strMarginMinus+_strBottom,_strTop,_strBottom,"line-height",flexGrow,flexShrink,flexBasis],affectingPropsYContentBox=[_strPaddingMinus+_strTop,_strPaddingMinus+_strBottom,_strBorderMinus+_strTop+_strWidth,_strBorderMinus+_strBottom+_strWidth],_strS="s",_strVS="v-s",checkX=_overflowBehaviorCache.x===_strS||_overflowBehaviorCache.x===_strVS,sizeIsAffected=!1,checkPropertyName=function(arr,name){for(var i=0;i-1){var targetAttr=_targetElement.attr(attr);type(targetAttr)==TYPES.s?_viewportElement.attr(attr,targetAttr):_viewportElement.removeAttr(attr)}}))}function textareaUpdate(){if(!_sleeping){var origWidth,width,origHeight,height,wrapAttrOff=!_textareaAutoWrappingCache,minWidth=_viewportSize.w,minHeight=_viewportSize.h,css={},doMeasure=_widthAutoCache||wrapAttrOff;return css[_strMinMinus+_strWidth]=_strEmpty,css[_strMinMinus+_strHeight]=_strEmpty,css[_strWidth]=_strAuto,_targetElement.css(css),origWidth=_targetElementNative[LEXICON.oW],width=doMeasure?MATH.max(origWidth,_targetElementNative[LEXICON.sW]-1):1,css[_strWidth]=_widthAutoCache?_strAuto:_strHundredPercent,css[_strMinMinus+_strWidth]=_strHundredPercent,css[_strHeight]=_strAuto,_targetElement.css(css),origHeight=_targetElementNative[LEXICON.oH],height=MATH.max(origHeight,_targetElementNative[LEXICON.sH]-1),css[_strWidth]=width,css[_strHeight]=height,_textareaCoverElement.css(css),css[_strMinMinus+_strWidth]=minWidth,css[_strMinMinus+_strHeight]=minHeight,_targetElement.css(css),{_originalWidth:origWidth,_originalHeight:origHeight,_dynamicWidth:width,_dynamicHeight:height}}}function update(updateHints){clearTimeout(_swallowedUpdateTimeout),updateHints=updateHints||{},_swallowedUpdateHints._hostSizeChanged|=updateHints._hostSizeChanged,_swallowedUpdateHints._contentSizeChanged|=updateHints._contentSizeChanged,_swallowedUpdateHints._force|=updateHints._force;var displayIsHidden,now=COMPATIBILITY.now(),hostSizeChanged=!!_swallowedUpdateHints._hostSizeChanged,contentSizeChanged=!!_swallowedUpdateHints._contentSizeChanged,force=!!_swallowedUpdateHints._force,changedOptions=updateHints._changedOptions,swallow=_swallowUpdateLag>0&&_initialized&&!_destroyed&&!force&&!changedOptions&&now-_lastUpdateTime<_swallowUpdateLag&&!_heightAutoCache&&!_widthAutoCache;if(swallow&&(_swallowedUpdateTimeout=setTimeout(update,_swallowUpdateLag)),!(_destroyed||swallow||_sleeping&&!changedOptions||_initialized&&!force&&(displayIsHidden=_hostElement.is(":hidden"))||"inline"===_hostElement.css("display"))){_lastUpdateTime=now,_swallowedUpdateHints={},!_nativeScrollbarStyling||_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y?_nativeScrollbarSize=extendDeep({},globals.nativeScrollbarSize):(_nativeScrollbarSize.x=0,_nativeScrollbarSize.y=0),_nativeScrollbarMinSize={x:3*(_nativeScrollbarSize.x+(_nativeScrollbarIsOverlaid.x?0:3)),y:3*(_nativeScrollbarSize.y+(_nativeScrollbarIsOverlaid.y?0:3))},changedOptions=changedOptions||{};var checkCacheAutoForce=function(){return checkCache.apply(this,[].slice.call(arguments).concat([force]))},currScroll={x:_viewportElement[_strScrollLeft](),y:_viewportElement[_strScrollTop]()},currentPreparedOptionsScrollbars=_currentPreparedOptions.scrollbars,currentPreparedOptionsTextarea=_currentPreparedOptions.textarea,scrollbarsVisibility=currentPreparedOptionsScrollbars.visibility,scrollbarsVisibilityChanged=checkCacheAutoForce(scrollbarsVisibility,_scrollbarsVisibilityCache),scrollbarsAutoHide=currentPreparedOptionsScrollbars.autoHide,scrollbarsAutoHideChanged=checkCacheAutoForce(scrollbarsAutoHide,_scrollbarsAutoHideCache),scrollbarsClickScrolling=currentPreparedOptionsScrollbars.clickScrolling,scrollbarsClickScrollingChanged=checkCacheAutoForce(scrollbarsClickScrolling,_scrollbarsClickScrollingCache),scrollbarsDragScrolling=currentPreparedOptionsScrollbars.dragScrolling,scrollbarsDragScrollingChanged=checkCacheAutoForce(scrollbarsDragScrolling,_scrollbarsDragScrollingCache),className=_currentPreparedOptions.className,classNameChanged=checkCacheAutoForce(className,_classNameCache),resize=_currentPreparedOptions.resize,resizeChanged=checkCacheAutoForce(resize,_resizeCache)&&!_isBody,paddingAbsolute=_currentPreparedOptions.paddingAbsolute,paddingAbsoluteChanged=checkCacheAutoForce(paddingAbsolute,_paddingAbsoluteCache),clipAlways=_currentPreparedOptions.clipAlways,clipAlwaysChanged=checkCacheAutoForce(clipAlways,_clipAlwaysCache),sizeAutoCapable=_currentPreparedOptions.sizeAutoCapable&&!_isBody,sizeAutoCapableChanged=checkCacheAutoForce(sizeAutoCapable,_sizeAutoCapableCache),ignoreOverlayScrollbarHiding=_currentPreparedOptions.nativeScrollbarsOverlaid.showNativeScrollbars,ignoreOverlayScrollbarHidingChanged=checkCacheAutoForce(ignoreOverlayScrollbarHiding,_ignoreOverlayScrollbarHidingCache),autoUpdate=_currentPreparedOptions.autoUpdate,autoUpdateChanged=checkCacheAutoForce(autoUpdate,_autoUpdateCache),overflowBehavior=_currentPreparedOptions.overflowBehavior,overflowBehaviorChanged=checkCacheAutoForce(overflowBehavior,_overflowBehaviorCache,force),textareaDynWidth=currentPreparedOptionsTextarea.dynWidth,textareaDynWidthChanged=checkCacheAutoForce(_textareaDynWidthCache,textareaDynWidth),textareaDynHeight=currentPreparedOptionsTextarea.dynHeight,textareaDynHeightChanged=checkCacheAutoForce(_textareaDynHeightCache,textareaDynHeight);if(_scrollbarsAutoHideNever="n"===scrollbarsAutoHide,_scrollbarsAutoHideScroll="s"===scrollbarsAutoHide,_scrollbarsAutoHideMove="m"===scrollbarsAutoHide,_scrollbarsAutoHideLeave="l"===scrollbarsAutoHide,_scrollbarsAutoHideDelay=currentPreparedOptionsScrollbars.autoHideDelay,_oldClassName=_classNameCache,_resizeNone="n"===resize,_resizeBoth="b"===resize,_resizeHorizontal="h"===resize,_resizeVertical="v"===resize,_normalizeRTLCache=_currentPreparedOptions.normalizeRTL,ignoreOverlayScrollbarHiding=ignoreOverlayScrollbarHiding&&_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y,_scrollbarsVisibilityCache=scrollbarsVisibility,_scrollbarsAutoHideCache=scrollbarsAutoHide,_scrollbarsClickScrollingCache=scrollbarsClickScrolling,_scrollbarsDragScrollingCache=scrollbarsDragScrolling,_classNameCache=className,_resizeCache=resize,_paddingAbsoluteCache=paddingAbsolute,_clipAlwaysCache=clipAlways,_sizeAutoCapableCache=sizeAutoCapable,_ignoreOverlayScrollbarHidingCache=ignoreOverlayScrollbarHiding,_autoUpdateCache=autoUpdate,_overflowBehaviorCache=extendDeep({},overflowBehavior),_textareaDynWidthCache=textareaDynWidth,_textareaDynHeightCache=textareaDynHeight,_hasOverflowCache=_hasOverflowCache||{x:!1,y:!1},classNameChanged&&(removeClass(_hostElement,_oldClassName+_strSpace+_classNameThemeNone),addClass(_hostElement,className!==undefined&&null!==className&&className.length>0?className:_classNameThemeNone)),autoUpdateChanged&&(!0===autoUpdate||null===autoUpdate&&_autoUpdateRecommended?(disconnectMutationObservers(),autoUpdateLoop.add(_base)):(autoUpdateLoop.remove(_base),connectMutationObservers())),sizeAutoCapableChanged)if(sizeAutoCapable)if(_contentGlueElement?_contentGlueElement.show():(_contentGlueElement=FRAMEWORK(generateDiv(_classNameContentGlueElement)),_paddingElement.before(_contentGlueElement)),_sizeAutoObserverAdded)_sizeAutoObserverElement.show();else{_sizeAutoObserverElement=FRAMEWORK(generateDiv(_classNameSizeAutoObserverElement)),_sizeAutoObserverElementNative=_sizeAutoObserverElement[0],_contentGlueElement.before(_sizeAutoObserverElement);var oldSize={w:-1,h:-1};setupResizeObserver(_sizeAutoObserverElement,(function(){var newSize={w:_sizeAutoObserverElementNative[LEXICON.oW],h:_sizeAutoObserverElementNative[LEXICON.oH]};checkCache(newSize,oldSize)&&(_initialized&&_heightAutoCache&&newSize.h>0||_widthAutoCache&&newSize.w>0||_initialized&&!_heightAutoCache&&0===newSize.h||!_widthAutoCache&&0===newSize.w)&&update(),oldSize=newSize})),_sizeAutoObserverAdded=!0,null!==_cssCalc&&_sizeAutoObserverElement.css(_strHeight,_cssCalc+"(100% + 1px)")}else _sizeAutoObserverAdded&&_sizeAutoObserverElement.hide(),_contentGlueElement&&_contentGlueElement.hide();force&&(_sizeObserverElement.find("*").trigger(_strScroll),_sizeAutoObserverAdded&&_sizeAutoObserverElement.find("*").trigger(_strScroll)),displayIsHidden=displayIsHidden===undefined?_hostElement.is(":hidden"):displayIsHidden;var sizeAutoObserverElementBCRect,textareaAutoWrapping=!!_isTextarea&&"off"!==_targetElement.attr("wrap"),textareaAutoWrappingChanged=checkCacheAutoForce(textareaAutoWrapping,_textareaAutoWrappingCache),cssDirection=_hostElement.css("direction"),cssDirectionChanged=checkCacheAutoForce(cssDirection,_cssDirectionCache),boxSizing=_hostElement.css("box-sizing"),boxSizingChanged=checkCacheAutoForce(boxSizing,_cssBoxSizingCache),padding=getTopRightBottomLeftHost(_strPaddingMinus);try{sizeAutoObserverElementBCRect=_sizeAutoObserverAdded?_sizeAutoObserverElementNative[LEXICON.bCR]():null}catch(ex){return}_isBorderBox="border-box"===boxSizing;var isRTLLeft=(_isRTL="rtl"===cssDirection)?_strLeft:_strRight,isRTLRight=_isRTL?_strRight:_strLeft,widthAutoResizeDetection=!1,widthAutoObserverDetection=!(!_sizeAutoObserverAdded||"none"===_hostElement.css(_strFloat))&&0===MATH.round(sizeAutoObserverElementBCRect.right-sizeAutoObserverElementBCRect.left)&&(!!paddingAbsolute||_hostElementNative[LEXICON.cW]-_paddingX>0);if(sizeAutoCapable&&!widthAutoObserverDetection){var tmpCurrHostWidth=_hostElementNative[LEXICON.oW],tmpCurrContentGlueWidth=_contentGlueElement.css(_strWidth);_contentGlueElement.css(_strWidth,_strAuto);var tmpNewHostWidth=_hostElementNative[LEXICON.oW];_contentGlueElement.css(_strWidth,tmpCurrContentGlueWidth),(widthAutoResizeDetection=tmpCurrHostWidth!==tmpNewHostWidth)||(_contentGlueElement.css(_strWidth,tmpCurrHostWidth+1),tmpNewHostWidth=_hostElementNative[LEXICON.oW],_contentGlueElement.css(_strWidth,tmpCurrContentGlueWidth),widthAutoResizeDetection=tmpCurrHostWidth!==tmpNewHostWidth)}var widthAuto=(widthAutoObserverDetection||widthAutoResizeDetection)&&sizeAutoCapable&&!displayIsHidden,widthAutoChanged=checkCacheAutoForce(widthAuto,_widthAutoCache),wasWidthAuto=!widthAuto&&_widthAutoCache,heightAuto=!(!_sizeAutoObserverAdded||!sizeAutoCapable||displayIsHidden)&&0===MATH.round(sizeAutoObserverElementBCRect.bottom-sizeAutoObserverElementBCRect.top),heightAutoChanged=checkCacheAutoForce(heightAuto,_heightAutoCache),wasHeightAuto=!heightAuto&&_heightAutoCache,border=getTopRightBottomLeftHost(_strBorderMinus,"-"+_strWidth,!(widthAuto&&_isBorderBox||!_isBorderBox),!(heightAuto&&_isBorderBox||!_isBorderBox)),margin=getTopRightBottomLeftHost(_strMarginMinus),contentElementCSS={},contentGlueElementCSS={},getHostSize=function(){return{w:_hostElementNative[LEXICON.cW],h:_hostElementNative[LEXICON.cH]}},getViewportSize=function(){return{w:_paddingElementNative[LEXICON.oW]+MATH.max(0,_contentElementNative[LEXICON.cW]-_contentElementNative[LEXICON.sW]),h:_paddingElementNative[LEXICON.oH]+MATH.max(0,_contentElementNative[LEXICON.cH]-_contentElementNative[LEXICON.sH])}},paddingAbsoluteX=_paddingX=padding.l+padding.r,paddingAbsoluteY=_paddingY=padding.t+padding.b;if(paddingAbsoluteX*=paddingAbsolute?1:0,paddingAbsoluteY*=paddingAbsolute?1:0,padding.c=checkCacheAutoForce(padding,_cssPaddingCache),_borderX=border.l+border.r,_borderY=border.t+border.b,border.c=checkCacheAutoForce(border,_cssBorderCache),_marginX=margin.l+margin.r,_marginY=margin.t+margin.b,margin.c=checkCacheAutoForce(margin,_cssMarginCache),_textareaAutoWrappingCache=textareaAutoWrapping,_cssDirectionCache=cssDirection,_cssBoxSizingCache=boxSizing,_widthAutoCache=widthAuto,_heightAutoCache=heightAuto,_cssPaddingCache=padding,_cssBorderCache=border,_cssMarginCache=margin,cssDirectionChanged&&_sizeAutoObserverAdded&&_sizeAutoObserverElement.css(_strFloat,isRTLRight),padding.c||cssDirectionChanged||paddingAbsoluteChanged||widthAutoChanged||heightAutoChanged||boxSizingChanged||sizeAutoCapableChanged){var paddingElementCSS={},textareaCSS={},paddingValues=[padding.t,padding.r,padding.b,padding.l];setTopRightBottomLeft(contentGlueElementCSS,_strMarginMinus,[-padding.t,-padding.r,-padding.b,-padding.l]),paddingAbsolute?(setTopRightBottomLeft(paddingElementCSS,_strEmpty,paddingValues),setTopRightBottomLeft(_isTextarea?textareaCSS:contentElementCSS,_strPaddingMinus)):(setTopRightBottomLeft(paddingElementCSS,_strEmpty),setTopRightBottomLeft(_isTextarea?textareaCSS:contentElementCSS,_strPaddingMinus,paddingValues)),_paddingElement.css(paddingElementCSS),_targetElement.css(textareaCSS)}_viewportSize=getViewportSize();var textareaSize=!!_isTextarea&&textareaUpdate(),textareaSizeChanged=_isTextarea&&checkCacheAutoForce(textareaSize,_textareaSizeCache),textareaDynOrigSize=_isTextarea&&textareaSize?{w:textareaDynWidth?textareaSize._dynamicWidth:textareaSize._originalWidth,h:textareaDynHeight?textareaSize._dynamicHeight:textareaSize._originalHeight}:{};if(_textareaSizeCache=textareaSize,heightAuto&&(heightAutoChanged||paddingAbsoluteChanged||boxSizingChanged||padding.c||border.c)?contentElementCSS[_strHeight]=_strAuto:(heightAutoChanged||paddingAbsoluteChanged)&&(contentElementCSS[_strHeight]=_strHundredPercent),widthAuto&&(widthAutoChanged||paddingAbsoluteChanged||boxSizingChanged||padding.c||border.c||cssDirectionChanged)?(contentElementCSS[_strWidth]=_strAuto,contentGlueElementCSS[_strMaxMinus+_strWidth]=_strHundredPercent):(widthAutoChanged||paddingAbsoluteChanged)&&(contentElementCSS[_strWidth]=_strHundredPercent,contentElementCSS[_strFloat]=_strEmpty,contentGlueElementCSS[_strMaxMinus+_strWidth]=_strEmpty),widthAuto?(contentGlueElementCSS[_strWidth]=_strAuto,contentElementCSS[_strWidth]=VENDORS._cssPropertyValue(_strWidth,"max-content intrinsic")||_strAuto,contentElementCSS[_strFloat]=isRTLRight):contentGlueElementCSS[_strWidth]=_strEmpty,contentGlueElementCSS[_strHeight]=heightAuto?textareaDynOrigSize.h||_contentElementNative[LEXICON.cH]:_strEmpty,sizeAutoCapable&&_contentGlueElement.css(contentGlueElementCSS),_contentElement.css(contentElementCSS),contentElementCSS={},contentGlueElementCSS={},hostSizeChanged||contentSizeChanged||textareaSizeChanged||cssDirectionChanged||boxSizingChanged||paddingAbsoluteChanged||widthAutoChanged||widthAuto||heightAutoChanged||heightAuto||ignoreOverlayScrollbarHidingChanged||overflowBehaviorChanged||clipAlwaysChanged||resizeChanged||scrollbarsVisibilityChanged||scrollbarsAutoHideChanged||scrollbarsDragScrollingChanged||scrollbarsClickScrollingChanged||textareaDynWidthChanged||textareaDynHeightChanged||textareaAutoWrappingChanged){var strOverflow="overflow",strOverflowX=strOverflow+"-x",strOverflowY=strOverflow+"-y",strHidden="hidden",strVisible="visible";if(!_nativeScrollbarStyling){var viewportElementResetCSS={},resetXTmp=_hasOverflowCache.y&&_hideOverflowCache.ys&&!ignoreOverlayScrollbarHiding?_nativeScrollbarIsOverlaid.y?_viewportElement.css(isRTLLeft):-_nativeScrollbarSize.y:0,resetBottomTmp=_hasOverflowCache.x&&_hideOverflowCache.xs&&!ignoreOverlayScrollbarHiding?_nativeScrollbarIsOverlaid.x?_viewportElement.css(_strBottom):-_nativeScrollbarSize.x:0;setTopRightBottomLeft(viewportElementResetCSS,_strEmpty),_viewportElement.css(viewportElementResetCSS)}var contentMeasureElement=getContentMeasureElement(),contentSize={w:textareaDynOrigSize.w||contentMeasureElement[LEXICON.cW],h:textareaDynOrigSize.h||contentMeasureElement[LEXICON.cH]},scrollSize={w:contentMeasureElement[LEXICON.sW],h:contentMeasureElement[LEXICON.sH]};_nativeScrollbarStyling||(viewportElementResetCSS[_strBottom]=wasHeightAuto?_strEmpty:resetBottomTmp,viewportElementResetCSS[isRTLLeft]=wasWidthAuto?_strEmpty:resetXTmp,_viewportElement.css(viewportElementResetCSS)),_viewportSize=getViewportSize();var hostSize=getHostSize(),hostAbsoluteRectSize={w:hostSize.w-_marginX-_borderX-(_isBorderBox?0:_paddingX),h:hostSize.h-_marginY-_borderY-(_isBorderBox?0:_paddingY)},contentGlueSize={w:MATH.max((widthAuto?contentSize.w:scrollSize.w)+paddingAbsoluteX,hostAbsoluteRectSize.w),h:MATH.max((heightAuto?contentSize.h:scrollSize.h)+paddingAbsoluteY,hostAbsoluteRectSize.h)};if(contentGlueSize.c=checkCacheAutoForce(contentGlueSize,_contentGlueSizeCache),_contentGlueSizeCache=contentGlueSize,sizeAutoCapable){(contentGlueSize.c||heightAuto||widthAuto)&&(contentGlueElementCSS[_strWidth]=contentGlueSize.w,contentGlueElementCSS[_strHeight]=contentGlueSize.h,_isTextarea||(contentSize={w:contentMeasureElement[LEXICON.cW],h:contentMeasureElement[LEXICON.cH]}));var textareaCoverCSS={},setContentGlueElementCSSfunction=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),wh=scrollbarVars._w_h,strWH=scrollbarVars._width_height,autoSize=horizontal?widthAuto:heightAuto,borderSize=horizontal?_borderX:_borderY,paddingSize=horizontal?_paddingX:_paddingY,marginSize=horizontal?_marginX:_marginY,viewportSize=_viewportSize[wh]-borderSize-marginSize-(_isBorderBox?0:paddingSize);(!autoSize||!autoSize&&border.c)&&(contentGlueElementCSS[strWH]=hostAbsoluteRectSize[wh]-1),!(autoSize&&contentSize[wh]0&&(contentGlueElementCSS[strWH]=MATH.max(1,contentGlueElementCSS[strWH]))};setContentGlueElementCSSfunction(!0),setContentGlueElementCSSfunction(!1),_isTextarea&&_textareaCoverElement.css(textareaCoverCSS),_contentGlueElement.css(contentGlueElementCSS)}widthAuto&&(contentElementCSS[_strWidth]=_strHundredPercent),!widthAuto||_isBorderBox||_mutationObserversConnected||(contentElementCSS[_strFloat]="none"),_contentElement.css(contentElementCSS),contentElementCSS={};var contentScrollSize={w:contentMeasureElement[LEXICON.sW],h:contentMeasureElement[LEXICON.sH]};contentScrollSize.c=contentSizeChanged=checkCacheAutoForce(contentScrollSize,_contentScrollSizeCache),_contentScrollSizeCache=contentScrollSize,_viewportSize=getViewportSize(),hostSizeChanged=checkCacheAutoForce(hostSize=getHostSize(),_hostSizeCache),_hostSizeCache=hostSize;var hideOverflowForceTextarea=_isTextarea&&(0===_viewportSize.w||0===_viewportSize.h),previousOverflowAmount=_overflowAmountCache,overflowBehaviorIsVS={},overflowBehaviorIsVH={},overflowBehaviorIsS={},overflowAmount={},hasOverflow={},hideOverflow={},canScroll={},viewportRect=_paddingElementNative[LEXICON.bCR](),setOverflowVariables=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),xyI=getScrollbarVars(!horizontal)._x_y,xy=scrollbarVars._x_y,wh=scrollbarVars._w_h,widthHeight=scrollbarVars._width_height,scrollMax=_strScroll+scrollbarVars._Left_Top+"Max",fractionalOverflowAmount=viewportRect[widthHeight]?MATH.abs(viewportRect[widthHeight]-_viewportSize[wh]):0,checkFractionalOverflowAmount=previousOverflowAmount&&previousOverflowAmount[xy]>0&&0===_viewportElementNative[scrollMax];overflowBehaviorIsVS[xy]="v-s"===overflowBehavior[xy],overflowBehaviorIsVH[xy]="v-h"===overflowBehavior[xy],overflowBehaviorIsS[xy]="s"===overflowBehavior[xy],overflowAmount[xy]=MATH.max(0,MATH.round(100*(contentScrollSize[wh]-_viewportSize[wh]))/100),overflowAmount[xy]*=hideOverflowForceTextarea||checkFractionalOverflowAmount&&fractionalOverflowAmount>0&&fractionalOverflowAmount<1?0:1,hasOverflow[xy]=overflowAmount[xy]>0,hideOverflow[xy]=overflowBehaviorIsVS[xy]||overflowBehaviorIsVH[xy]?hasOverflow[xyI]&&!overflowBehaviorIsVS[xyI]&&!overflowBehaviorIsVH[xyI]:hasOverflow[xy],hideOverflow[xy+"s"]=!!hideOverflow[xy]&&(overflowBehaviorIsS[xy]||overflowBehaviorIsVS[xy]),canScroll[xy]=hasOverflow[xy]&&hideOverflow[xy+"s"]};if(setOverflowVariables(!0),setOverflowVariables(!1),overflowAmount.c=checkCacheAutoForce(overflowAmount,_overflowAmountCache),_overflowAmountCache=overflowAmount,hasOverflow.c=checkCacheAutoForce(hasOverflow,_hasOverflowCache),_hasOverflowCache=hasOverflow,hideOverflow.c=checkCacheAutoForce(hideOverflow,_hideOverflowCache),_hideOverflowCache=hideOverflow,_nativeScrollbarIsOverlaid.x||_nativeScrollbarIsOverlaid.y){var setContentElementCSS,borderDesign="px solid transparent",contentArrangeElementCSS={},arrangeContent={},arrangeChanged=force;(hasOverflow.x||hasOverflow.y)&&(arrangeContent.w=_nativeScrollbarIsOverlaid.y&&hasOverflow.y?contentScrollSize.w+_overlayScrollbarDummySize.y:_strEmpty,arrangeContent.h=_nativeScrollbarIsOverlaid.x&&hasOverflow.x?contentScrollSize.h+_overlayScrollbarDummySize.x:_strEmpty,arrangeChanged=checkCacheAutoForce(arrangeContent,_arrangeContentSizeCache),_arrangeContentSizeCache=arrangeContent),(hasOverflow.c||hideOverflow.c||contentScrollSize.c||cssDirectionChanged||widthAutoChanged||heightAutoChanged||widthAuto||heightAuto||ignoreOverlayScrollbarHidingChanged)&&(contentElementCSS[_strMarginMinus+isRTLRight]=contentElementCSS[_strBorderMinus+isRTLRight]=_strEmpty,setContentElementCSS=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),scrollbarVarsInverted=getScrollbarVars(!horizontal),xy=scrollbarVars._x_y,strDirection=horizontal?_strBottom:isRTLLeft,invertedAutoSize=horizontal?heightAuto:widthAuto;_nativeScrollbarIsOverlaid[xy]&&hasOverflow[xy]&&hideOverflow[xy+"s"]?(contentElementCSS[_strMarginMinus+strDirection]=invertedAutoSize?ignoreOverlayScrollbarHiding?_strEmpty:_overlayScrollbarDummySize[xy]:_strEmpty,contentElementCSS[_strBorderMinus+strDirection]=horizontal&&invertedAutoSize||ignoreOverlayScrollbarHiding?_strEmpty:_overlayScrollbarDummySize[xy]+borderDesign):(arrangeContent[scrollbarVarsInverted._w_h]=contentElementCSS[_strMarginMinus+strDirection]=contentElementCSS[_strBorderMinus+strDirection]=_strEmpty,arrangeChanged=!0)},_nativeScrollbarStyling?addRemoveClass(_viewportElement,_classNameViewportNativeScrollbarsInvisible,!ignoreOverlayScrollbarHiding):(setContentElementCSS(!0),setContentElementCSS(!1))),ignoreOverlayScrollbarHiding&&(arrangeContent.w=arrangeContent.h=_strEmpty,arrangeChanged=!0),arrangeChanged&&!_nativeScrollbarStyling&&(contentArrangeElementCSS[_strWidth]=hideOverflow.y?arrangeContent.w:_strEmpty,contentArrangeElementCSS[_strHeight]=hideOverflow.x?arrangeContent.h:_strEmpty,_contentArrangeElement||(_contentArrangeElement=FRAMEWORK(generateDiv(_classNameContentArrangeElement)),_viewportElement.prepend(_contentArrangeElement)),_contentArrangeElement.css(contentArrangeElementCSS)),_contentElement.css(contentElementCSS)}var setViewportCSS,viewportElementCSS={};if(paddingElementCSS={},(hostSizeChanged||hasOverflow.c||hideOverflow.c||contentScrollSize.c||overflowBehaviorChanged||boxSizingChanged||ignoreOverlayScrollbarHidingChanged||cssDirectionChanged||clipAlwaysChanged||heightAutoChanged)&&(viewportElementCSS[isRTLRight]=_strEmpty,(setViewportCSS=function(horizontal){var scrollbarVars=getScrollbarVars(horizontal),scrollbarVarsInverted=getScrollbarVars(!horizontal),xy=scrollbarVars._x_y,XY=scrollbarVars._X_Y,strDirection=horizontal?_strBottom:isRTLLeft,reset=function(){viewportElementCSS[strDirection]=_strEmpty,_contentBorderSize[scrollbarVarsInverted._w_h]=0};hasOverflow[xy]&&hideOverflow[xy+"s"]?(viewportElementCSS[strOverflow+XY]=_strScroll,ignoreOverlayScrollbarHiding||_nativeScrollbarStyling?reset():(viewportElementCSS[strDirection]=-(_nativeScrollbarIsOverlaid[xy]?_overlayScrollbarDummySize[xy]:_nativeScrollbarSize[xy]),_contentBorderSize[scrollbarVarsInverted._w_h]=_nativeScrollbarIsOverlaid[xy]?_overlayScrollbarDummySize[scrollbarVarsInverted._x_y]:0)):(viewportElementCSS[strOverflow+XY]=_strEmpty,reset())})(!0),setViewportCSS(!1),!_nativeScrollbarStyling&&(_viewportSize.h<_nativeScrollbarMinSize.x||_viewportSize.w<_nativeScrollbarMinSize.y)&&(hasOverflow.x&&hideOverflow.x&&!_nativeScrollbarIsOverlaid.x||hasOverflow.y&&hideOverflow.y&&!_nativeScrollbarIsOverlaid.y)?(viewportElementCSS[_strPaddingMinus+_strTop]=_nativeScrollbarMinSize.x,viewportElementCSS[_strMarginMinus+_strTop]=-_nativeScrollbarMinSize.x,viewportElementCSS[_strPaddingMinus+isRTLRight]=_nativeScrollbarMinSize.y,viewportElementCSS[_strMarginMinus+isRTLRight]=-_nativeScrollbarMinSize.y):viewportElementCSS[_strPaddingMinus+_strTop]=viewportElementCSS[_strMarginMinus+_strTop]=viewportElementCSS[_strPaddingMinus+isRTLRight]=viewportElementCSS[_strMarginMinus+isRTLRight]=_strEmpty,viewportElementCSS[_strPaddingMinus+isRTLLeft]=viewportElementCSS[_strMarginMinus+isRTLLeft]=_strEmpty,hasOverflow.x&&hideOverflow.x||hasOverflow.y&&hideOverflow.y||hideOverflowForceTextarea?_isTextarea&&hideOverflowForceTextarea&&(paddingElementCSS[strOverflowX]=paddingElementCSS[strOverflowY]=strHidden):(!clipAlways||overflowBehaviorIsVH.x||overflowBehaviorIsVS.x||overflowBehaviorIsVH.y||overflowBehaviorIsVS.y)&&(_isTextarea&&(paddingElementCSS[strOverflowX]=paddingElementCSS[strOverflowY]=_strEmpty),viewportElementCSS[strOverflowX]=viewportElementCSS[strOverflowY]=strVisible),_paddingElement.css(paddingElementCSS),_viewportElement.css(viewportElementCSS),viewportElementCSS={},(hasOverflow.c||boxSizingChanged||widthAutoChanged||heightAutoChanged)&&(!_nativeScrollbarIsOverlaid.x||!_nativeScrollbarIsOverlaid.y))){var elementStyle=_contentElementNative[LEXICON.s];elementStyle.webkitTransform="scale(1)",elementStyle.display="run-in",_contentElementNative[LEXICON.oH],elementStyle.display=_strEmpty,elementStyle.webkitTransform=_strEmpty}if(contentElementCSS={},cssDirectionChanged||widthAutoChanged||heightAutoChanged)if(_isRTL&&widthAuto){var floatTmp=_contentElement.css(_strFloat),posLeftWithoutFloat=MATH.round(_contentElement.css(_strFloat,_strEmpty).css(_strLeft,_strEmpty).position().left);_contentElement.css(_strFloat,floatTmp),posLeftWithoutFloat!==MATH.round(_contentElement.position().left)&&(contentElementCSS[_strLeft]=posLeftWithoutFloat)}else contentElementCSS[_strLeft]=_strEmpty;if(_contentElement.css(contentElementCSS),_isTextarea&&contentSizeChanged){var textareaInfo=getTextareaInfo();if(textareaInfo){var textareaRowsChanged=_textareaInfoCache===undefined||textareaInfo._rows!==_textareaInfoCache._rows,cursorRow=textareaInfo._cursorRow,cursorCol=textareaInfo._cursorColumn,widestRow=textareaInfo._widestRow,lastRow=textareaInfo._rows,lastCol=textareaInfo._columns,cursorIsLastPosition=textareaInfo._cursorPosition>=textareaInfo._cursorMax&&_textareaHasFocus,textareaScrollAmount={x:textareaAutoWrapping||cursorCol!==lastCol||cursorRow!==widestRow?-1:_overflowAmountCache.x,y:(textareaAutoWrapping?cursorIsLastPosition||textareaRowsChanged&&previousOverflowAmount&&currScroll.y===previousOverflowAmount.y:(cursorIsLastPosition||textareaRowsChanged)&&cursorRow===lastRow)?_overflowAmountCache.y:-1};currScroll.x=textareaScrollAmount.x>-1?_isRTL&&_normalizeRTLCache&&_rtlScrollBehavior.i?0:textareaScrollAmount.x:currScroll.x,currScroll.y=textareaScrollAmount.y>-1?textareaScrollAmount.y:currScroll.y}_textareaInfoCache=textareaInfo}_isRTL&&_rtlScrollBehavior.i&&_nativeScrollbarIsOverlaid.y&&hasOverflow.x&&_normalizeRTLCache&&(currScroll.x+=_contentBorderSize.w||0),widthAuto&&_hostElement[_strScrollLeft](0),heightAuto&&_hostElement[_strScrollTop](0),_viewportElement[_strScrollLeft](currScroll.x)[_strScrollTop](currScroll.y);var scrollbarsVisibilityVisible="v"===scrollbarsVisibility,scrollbarsVisibilityHidden="h"===scrollbarsVisibility,scrollbarsVisibilityAuto="a"===scrollbarsVisibility,refreshScrollbarsVisibility=function(showX,showY){showY=showY===undefined?showX:showY,refreshScrollbarAppearance(!0,showX,canScroll.x),refreshScrollbarAppearance(!1,showY,canScroll.y)};addRemoveClass(_hostElement,_classNameHostOverflow,hideOverflow.x||hideOverflow.y),addRemoveClass(_hostElement,_classNameHostOverflowX,hideOverflow.x),addRemoveClass(_hostElement,_classNameHostOverflowY,hideOverflow.y),cssDirectionChanged&&!_isBody&&addRemoveClass(_hostElement,_classNameHostRTL,_isRTL),_isBody&&addClass(_hostElement,_classNameHostResizeDisabled),resizeChanged&&(addRemoveClass(_hostElement,_classNameHostResizeDisabled,_resizeNone),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResize,!_resizeNone),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeB,_resizeBoth),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeH,_resizeHorizontal),addRemoveClass(_scrollbarCornerElement,_classNameScrollbarCornerResizeV,_resizeVertical)),(scrollbarsVisibilityChanged||overflowBehaviorChanged||hideOverflow.c||hasOverflow.c||ignoreOverlayScrollbarHidingChanged)&&(ignoreOverlayScrollbarHiding?ignoreOverlayScrollbarHidingChanged&&(removeClass(_hostElement,_classNameHostScrolling),ignoreOverlayScrollbarHiding&&refreshScrollbarsVisibility(!1)):scrollbarsVisibilityAuto?refreshScrollbarsVisibility(canScroll.x,canScroll.y):scrollbarsVisibilityVisible?refreshScrollbarsVisibility(!0):scrollbarsVisibilityHidden&&refreshScrollbarsVisibility(!1)),(scrollbarsAutoHideChanged||ignoreOverlayScrollbarHidingChanged)&&(setupHostMouseTouchEvents(!_scrollbarsAutoHideLeave&&!_scrollbarsAutoHideMove),refreshScrollbarsAutoHide(_scrollbarsAutoHideNever,!_scrollbarsAutoHideNever)),(hostSizeChanged||overflowAmount.c||heightAutoChanged||widthAutoChanged||resizeChanged||boxSizingChanged||paddingAbsoluteChanged||ignoreOverlayScrollbarHidingChanged||cssDirectionChanged)&&(refreshScrollbarHandleLength(!0),refreshScrollbarHandleOffset(!0),refreshScrollbarHandleLength(!1),refreshScrollbarHandleOffset(!1)),scrollbarsClickScrollingChanged&&refreshScrollbarsInteractive(!0,scrollbarsClickScrolling),scrollbarsDragScrollingChanged&&refreshScrollbarsInteractive(!1,scrollbarsDragScrolling),dispatchCallback("onDirectionChanged",{isRTL:_isRTL,dir:cssDirection},cssDirectionChanged),dispatchCallback("onHostSizeChanged",{width:_hostSizeCache.w,height:_hostSizeCache.h},hostSizeChanged),dispatchCallback("onContentSizeChanged",{width:_contentScrollSizeCache.w,height:_contentScrollSizeCache.h},contentSizeChanged),dispatchCallback("onOverflowChanged",{x:hasOverflow.x,y:hasOverflow.y,xScrollable:hideOverflow.xs,yScrollable:hideOverflow.ys,clipped:hideOverflow.x||hideOverflow.y},hasOverflow.c||hideOverflow.c),dispatchCallback("onOverflowAmountChanged",{x:overflowAmount.x,y:overflowAmount.y},overflowAmount.c)}_isBody&&_bodyMinSizeCache&&(_hasOverflowCache.c||_bodyMinSizeCache.c)&&(_bodyMinSizeCache.f||bodyMinSizeChanged(),_nativeScrollbarIsOverlaid.y&&_hasOverflowCache.x&&_contentElement.css(_strMinMinus+_strWidth,_bodyMinSizeCache.w+_overlayScrollbarDummySize.y),_nativeScrollbarIsOverlaid.x&&_hasOverflowCache.y&&_contentElement.css(_strMinMinus+_strHeight,_bodyMinSizeCache.h+_overlayScrollbarDummySize.x),_bodyMinSizeCache.c=!1),_initialized&&changedOptions.updateOnLoad&&updateElementsOnLoad(),dispatchCallback("onUpdated",{forced:force})}}function updateElementsOnLoad(){_isTextarea||eachUpdateOnLoad((function(i,updateOnLoadSelector){_contentElement.find(updateOnLoadSelector).each((function(i,el){COMPATIBILITY.inA(el,_updateOnLoadElms)<0&&(_updateOnLoadElms.push(el),FRAMEWORK(el).off(_updateOnLoadEventName,updateOnLoadCallback).on(_updateOnLoadEventName,updateOnLoadCallback))}))}))}function setOptions(newOptions){var validatedOpts=_pluginsOptions._validate(newOptions,_pluginsOptions._template,!0,_currentOptions);return _currentOptions=extendDeep({},_currentOptions,validatedOpts._default),_currentPreparedOptions=extendDeep({},_currentPreparedOptions,validatedOpts._prepared),validatedOpts._prepared}function setupStructureDOM(destroy){var strParent="parent",classNameResizeObserverHost="os-resize-observer-host",classNameTextareaElementFull=_classNameTextareaElement+_strSpace+_classNameTextInherit,textareaClass=_isTextarea?_strSpace+_classNameTextInherit:_strEmpty,adoptAttrs=_currentPreparedOptions.textarea.inheritedAttrs,adoptAttrsMap={},applyAdoptedAttrs=function(){var applyAdoptedAttrsElm=destroy?_targetElement:_hostElement;each(adoptAttrsMap,(function(key,value){type(value)==TYPES.s&&(key==LEXICON.c?applyAdoptedAttrsElm.addClass(value):applyAdoptedAttrsElm.attr(key,value))}))},hostElementClassNames=[_classNameHostElement,_classNameHostElementForeign,_classNameHostTextareaElement,_classNameHostResizeDisabled,_classNameHostRTL,_classNameHostScrollbarHorizontalHidden,_classNameHostScrollbarVerticalHidden,_classNameHostTransition,_classNameHostScrolling,_classNameHostOverflow,_classNameHostOverflowX,_classNameHostOverflowY,_classNameThemeNone,_classNameTextareaElement,_classNameTextInherit,_classNameCache].join(_strSpace),hostElementCSS={};_hostElement=_hostElement||(_isTextarea?_domExists?_targetElement[strParent]()[strParent]()[strParent]()[strParent]():FRAMEWORK(generateDiv(_classNameHostTextareaElement)):_targetElement),_contentElement=_contentElement||selectOrGenerateDivByClass(_classNameContentElement+textareaClass),_viewportElement=_viewportElement||selectOrGenerateDivByClass(_classNameViewportElement+textareaClass),_paddingElement=_paddingElement||selectOrGenerateDivByClass(_classNamePaddingElement+textareaClass),_sizeObserverElement=_sizeObserverElement||selectOrGenerateDivByClass(classNameResizeObserverHost),_textareaCoverElement=_textareaCoverElement||(_isTextarea?selectOrGenerateDivByClass(_classNameTextareaCoverElement):undefined),_domExists&&addClass(_hostElement,_classNameHostElementForeign),destroy&&removeClass(_hostElement,hostElementClassNames),adoptAttrs=type(adoptAttrs)==TYPES.s?adoptAttrs.split(_strSpace):adoptAttrs,COMPATIBILITY.isA(adoptAttrs)&&_isTextarea&&each(adoptAttrs,(function(i,v){type(v)==TYPES.s&&(adoptAttrsMap[v]=destroy?_hostElement.attr(v):_targetElement.attr(v))})),destroy?(_domExists&&_initialized?(_sizeObserverElement.children().remove(),each([_paddingElement,_viewportElement,_contentElement,_textareaCoverElement],(function(i,elm){elm&&removeClass(elm.removeAttr(LEXICON.s),_classNamesDynamicDestroy)})),addClass(_hostElement,_isTextarea?_classNameHostTextareaElement:_classNameHostElement)):(remove(_sizeObserverElement),_contentElement.contents().unwrap().unwrap().unwrap(),_isTextarea&&(_targetElement.unwrap(),remove(_hostElement),remove(_textareaCoverElement),applyAdoptedAttrs())),_isTextarea&&_targetElement.removeAttr(LEXICON.s),_isBody&&removeClass(_htmlElement,_classNameHTMLElement)):(_isTextarea&&(_currentPreparedOptions.sizeAutoCapable||(hostElementCSS[_strWidth]=_targetElement.css(_strWidth),hostElementCSS[_strHeight]=_targetElement.css(_strHeight)),_domExists||_targetElement.addClass(_classNameTextInherit).wrap(_hostElement),_hostElement=_targetElement[strParent]().css(hostElementCSS)),_domExists||(addClass(_targetElement,_isTextarea?classNameTextareaElementFull:_classNameHostElement),_hostElement.wrapInner(_contentElement).wrapInner(_viewportElement).wrapInner(_paddingElement).prepend(_sizeObserverElement),_contentElement=findFirst(_hostElement,_strDot+_classNameContentElement),_viewportElement=findFirst(_hostElement,_strDot+_classNameViewportElement),_paddingElement=findFirst(_hostElement,_strDot+_classNamePaddingElement),_isTextarea&&(_contentElement.prepend(_textareaCoverElement),applyAdoptedAttrs())),_nativeScrollbarStyling&&addClass(_viewportElement,_classNameViewportNativeScrollbarsInvisible),_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y&&addClass(_viewportElement,_classNameViewportNativeScrollbarsOverlaid),_isBody&&addClass(_htmlElement,_classNameHTMLElement),_sizeObserverElementNative=_sizeObserverElement[0],_hostElementNative=_hostElement[0],_paddingElementNative=_paddingElement[0],_viewportElementNative=_viewportElement[0],_contentElementNative=_contentElement[0],updateViewportAttrsFromTarget())}function setupStructureEvents(){var textareaUpdateIntervalID,scrollStopTimeoutId,textareaKeyDownRestrictedKeyCodes=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],textareaKeyDownKeyCodesList=[],scrollStopDelay=175,strFocus="focus";function updateTextarea(doClearInterval){textareaUpdate(),_base.update(_strAuto),doClearInterval&&_autoUpdateRecommended&&clearInterval(textareaUpdateIntervalID)}function textareaOnScroll(event){return _targetElement[_strScrollLeft](_rtlScrollBehavior.i&&_normalizeRTLCache?9999999:0),_targetElement[_strScrollTop](0),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event),!1}function textareaOnDrop(event){setTimeout((function(){_destroyed||updateTextarea()}),50)}function textareaOnFocus(){_textareaHasFocus=!0,addClass(_hostElement,strFocus)}function textareaOnFocusout(){_textareaHasFocus=!1,textareaKeyDownKeyCodesList=[],removeClass(_hostElement,strFocus),updateTextarea(!0)}function textareaOnKeyDown(event){var keyCode=event.keyCode;inArray(keyCode,textareaKeyDownRestrictedKeyCodes)<0&&(textareaKeyDownKeyCodesList[LEXICON.l]||(updateTextarea(),textareaUpdateIntervalID=setInterval(updateTextarea,1e3/60)),inArray(keyCode,textareaKeyDownKeyCodesList)<0&&textareaKeyDownKeyCodesList.push(keyCode))}function textareaOnKeyUp(event){var keyCode=event.keyCode,index=inArray(keyCode,textareaKeyDownKeyCodesList);inArray(keyCode,textareaKeyDownRestrictedKeyCodes)<0&&(index>-1&&textareaKeyDownKeyCodesList.splice(index,1),textareaKeyDownKeyCodesList[LEXICON.l]||updateTextarea(!0))}function contentOnTransitionEnd(event){!0!==_autoUpdateCache&&isSizeAffectingCSSProperty((event=event.originalEvent||event).propertyName)&&_base.update(_strAuto)}function viewportOnScroll(event){_sleeping||(scrollStopTimeoutId!==undefined?clearTimeout(scrollStopTimeoutId):((_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!0),nativeOverlayScrollbarsAreActive()||addClass(_hostElement,_classNameHostScrolling),dispatchCallback("onScrollStart",event)),_scrollbarsHandlesDefineScrollPos||(refreshScrollbarHandleOffset(!0),refreshScrollbarHandleOffset(!1)),dispatchCallback("onScroll",event),scrollStopTimeoutId=setTimeout((function(){_destroyed||(clearTimeout(scrollStopTimeoutId),scrollStopTimeoutId=undefined,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1),nativeOverlayScrollbarsAreActive()||removeClass(_hostElement,_classNameHostScrolling),dispatchCallback("onScrollStop",event))}),scrollStopDelay))}_isTextarea?(_msieVersion>9||!_autoUpdateRecommended?addDestroyEventListener(_targetElement,"input",updateTextarea):addDestroyEventListener(_targetElement,[_strKeyDownEvent,_strKeyUpEvent],[textareaOnKeyDown,textareaOnKeyUp]),addDestroyEventListener(_targetElement,[_strScroll,"drop",strFocus,strFocus+"out"],[textareaOnScroll,textareaOnDrop,textareaOnFocus,textareaOnFocusout])):addDestroyEventListener(_contentElement,_strTransitionEndEvent,contentOnTransitionEnd),addDestroyEventListener(_viewportElement,_strScroll,viewportOnScroll,!0)}function setupScrollbarsDOM(destroy){var horizontalElements,verticalElements,selectOrGenerateScrollbarDOM=function(isHorizontal){var scrollbar=selectOrGenerateDivByClass(_classNameScrollbar+_strSpace+(isHorizontal?_classNameScrollbarHorizontal:_classNameScrollbarVertical),!0),track=selectOrGenerateDivByClass(_classNameScrollbarTrack,scrollbar),handle=selectOrGenerateDivByClass(_classNameScrollbarHandle,scrollbar);return _domExists||destroy||(scrollbar.append(track),track.append(handle)),{_scrollbar:scrollbar,_track:track,_handle:handle}};function resetScrollbarDOM(isHorizontal){var scrollbarVars=getScrollbarVars(isHorizontal),scrollbar=scrollbarVars._scrollbar,track=scrollbarVars._track,handle=scrollbarVars._handle;_domExists&&_initialized?each([scrollbar,track,handle],(function(i,elm){removeClass(elm.removeAttr(LEXICON.s),_classNamesDynamicDestroy)})):remove(scrollbar||selectOrGenerateScrollbarDOM(isHorizontal)._scrollbar)}destroy?(resetScrollbarDOM(!0),resetScrollbarDOM()):(horizontalElements=selectOrGenerateScrollbarDOM(!0),verticalElements=selectOrGenerateScrollbarDOM(),_scrollbarHorizontalElement=horizontalElements._scrollbar,_scrollbarHorizontalTrackElement=horizontalElements._track,_scrollbarHorizontalHandleElement=horizontalElements._handle,_scrollbarVerticalElement=verticalElements._scrollbar,_scrollbarVerticalTrackElement=verticalElements._track,_scrollbarVerticalHandleElement=verticalElements._handle,_domExists||(_paddingElement.after(_scrollbarVerticalElement),_paddingElement.after(_scrollbarHorizontalElement)))}function setupScrollbarEvents(isHorizontal){var trackTimeout,mouseDownScroll,mouseDownOffset,mouseDownInvertedScale,scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,insideIFrame=_windowElementNative.top!==_windowElementNative,xy=scrollbarVars._x_y,XY=scrollbarVars._X_Y,scroll=_strScroll+scrollbarVars._Left_Top,strActive="active",strSnapHandle="snapHandle",strClickEvent="click",scrollDurationFactor=1,increaseDecreaseScrollAmountKeyCodes=[16,17];function getPointerPosition(event){return _msieVersion&&insideIFrame?event["screen"+XY]:COMPATIBILITY.page(event)[xy]}function getPreparedScrollbarsOption(name){return _currentPreparedOptions.scrollbars[name]}function increaseTrackScrollAmount(){scrollDurationFactor=.5}function decreaseTrackScrollAmount(){scrollDurationFactor=1}function stopClickEventPropagation(event){COMPATIBILITY.stpP(event)}function documentKeyDown(event){inArray(event.keyCode,increaseDecreaseScrollAmountKeyCodes)>-1&&increaseTrackScrollAmount()}function documentKeyUp(event){inArray(event.keyCode,increaseDecreaseScrollAmountKeyCodes)>-1&&decreaseTrackScrollAmount()}function onMouseTouchDownContinue(event){var isTouchEvent=(event.originalEvent||event).touches!==undefined;return!(_sleeping||_destroyed||nativeOverlayScrollbarsAreActive()||!_scrollbarsDragScrollingCache||isTouchEvent&&!getPreparedScrollbarsOption("touchSupport"))&&(1===COMPATIBILITY.mBtn(event)||isTouchEvent)}function documentDragMove(event){if(onMouseTouchDownContinue(event)){var trackLength=scrollbarVarsInfo._trackLength,handleLength=scrollbarVarsInfo._handleLength,scrollDelta=scrollbarVarsInfo._maxScroll*((getPointerPosition(event)-mouseDownOffset)*mouseDownInvertedScale/(trackLength-handleLength));scrollDelta=isFinite(scrollDelta)?scrollDelta:0,_isRTL&&isHorizontal&&!_rtlScrollBehavior.i&&(scrollDelta*=-1),_viewportElement[scroll](MATH.round(mouseDownScroll+scrollDelta)),_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,mouseDownScroll+scrollDelta),_supportPassiveEvents||COMPATIBILITY.prvD(event)}else documentMouseTouchUp(event)}function documentMouseTouchUp(event){if(event=event||event.originalEvent,setupResponsiveEventListener(_documentElement,[_strMouseTouchMoveEvent,_strMouseTouchUpEvent,_strKeyDownEvent,_strKeyUpEvent,_strSelectStartEvent],[documentDragMove,documentMouseTouchUp,documentKeyDown,documentKeyUp,documentOnSelectStart],!0),COMPATIBILITY.rAF()((function(){setupResponsiveEventListener(_documentElement,strClickEvent,stopClickEventPropagation,!0,{_capture:!0})})),_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,!0),_scrollbarsHandlesDefineScrollPos=!1,removeClass(_bodyElement,_classNameDragging),removeClass(scrollbarVars._handle,strActive),removeClass(scrollbarVars._track,strActive),removeClass(scrollbarVars._scrollbar,strActive),mouseDownScroll=undefined,mouseDownOffset=undefined,mouseDownInvertedScale=1,decreaseTrackScrollAmount(),trackTimeout!==undefined&&(_base.scrollStop(),clearTimeout(trackTimeout),trackTimeout=undefined),event){var rect=_hostElementNative[LEXICON.bCR]();event.clientX>=rect.left&&event.clientX<=rect.right&&event.clientY>=rect.top&&event.clientY<=rect.bottom||hostOnMouseLeave(),(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1)}}function onHandleMouseTouchDown(event){onMouseTouchDownContinue(event)&&onHandleMouseTouchDownAction(event)}function onHandleMouseTouchDownAction(event){mouseDownScroll=_viewportElement[scroll](),mouseDownScroll=isNaN(mouseDownScroll)?0:mouseDownScroll,(_isRTL&&isHorizontal&&!_rtlScrollBehavior.n||!_isRTL)&&(mouseDownScroll=mouseDownScroll<0?0:mouseDownScroll),mouseDownInvertedScale=getHostElementInvertedScale()[xy],mouseDownOffset=getPointerPosition(event),_scrollbarsHandlesDefineScrollPos=!getPreparedScrollbarsOption(strSnapHandle),addClass(_bodyElement,_classNameDragging),addClass(scrollbarVars._handle,strActive),addClass(scrollbarVars._scrollbar,strActive),setupResponsiveEventListener(_documentElement,[_strMouseTouchMoveEvent,_strMouseTouchUpEvent,_strSelectStartEvent],[documentDragMove,documentMouseTouchUp,documentOnSelectStart]),COMPATIBILITY.rAF()((function(){setupResponsiveEventListener(_documentElement,strClickEvent,stopClickEventPropagation,!1,{_capture:!0})})),!_msieVersion&&_documentMixed||COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event)}function onTrackMouseTouchDown(event){if(onMouseTouchDownContinue(event)){var decreaseScroll,handleToViewportRatio=scrollbarVars._info._handleLength/Math.round(MATH.min(1,_viewportSize[scrollbarVars._w_h]/_contentScrollSizeCache[scrollbarVars._w_h])*scrollbarVars._info._trackLength),scrollDistance=MATH.round(_viewportSize[scrollbarVars._w_h]*handleToViewportRatio),scrollBaseDuration=270*handleToViewportRatio,scrollFirstIterationDelay=400*handleToViewportRatio,trackOffset=scrollbarVars._track.offset()[scrollbarVars._left_top],ctrlKey=event.ctrlKey,instantScroll=event.shiftKey,instantScrollTransition=instantScroll&&ctrlKey,isFirstIteration=!0,easing="linear",scrollActionFinsished=function(transition){_scrollbarsHandlesDefineScrollPos&&refreshScrollbarHandleOffset(isHorizontal,transition)},scrollActionInstantFinished=function(){scrollActionFinsished(),onHandleMouseTouchDownAction(event)},scrollAction=function(){if(!_destroyed){var mouseOffset=(mouseDownOffset-trackOffset)*mouseDownInvertedScale,handleOffset=scrollbarVarsInfo._handleOffset,trackLength=scrollbarVarsInfo._trackLength,handleLength=scrollbarVarsInfo._handleLength,scrollRange=scrollbarVarsInfo._maxScroll,currScroll=scrollbarVarsInfo._currentScroll,scrollDuration=scrollBaseDuration*scrollDurationFactor,timeoutDelay=isFirstIteration?MATH.max(scrollFirstIterationDelay,scrollDuration):scrollDuration,instantScrollPosition=scrollRange*((mouseOffset-handleLength/2)/(trackLength-handleLength)),rtlIsNormal=_isRTL&&isHorizontal&&(!_rtlScrollBehavior.i&&!_rtlScrollBehavior.n||_normalizeRTLCache),decreaseScrollCondition=rtlIsNormal?handleOffsetmouseOffset,scrollObj={},animationObj={easing:easing,step:function(now){_scrollbarsHandlesDefineScrollPos&&(_viewportElement[scroll](now),refreshScrollbarHandleOffset(isHorizontal,now))}};instantScrollPosition=isFinite(instantScrollPosition)?instantScrollPosition:0,instantScrollPosition=_isRTL&&isHorizontal&&!_rtlScrollBehavior.i?scrollRange-instantScrollPosition:instantScrollPosition,instantScroll?(_viewportElement[scroll](instantScrollPosition),instantScrollTransition?(instantScrollPosition=_viewportElement[scroll](),_viewportElement[scroll](currScroll),instantScrollPosition=rtlIsNormal&&_rtlScrollBehavior.i?scrollRange-instantScrollPosition:instantScrollPosition,instantScrollPosition=rtlIsNormal&&_rtlScrollBehavior.n?-instantScrollPosition:instantScrollPosition,scrollObj[xy]=instantScrollPosition,_base.scroll(scrollObj,extendDeep(animationObj,{duration:130,complete:scrollActionInstantFinished}))):scrollActionInstantFinished()):(decreaseScroll=isFirstIteration?decreaseScrollCondition:decreaseScroll,(rtlIsNormal?decreaseScroll?handleOffset+handleLength>=mouseOffset:handleOffset<=mouseOffset:decreaseScroll?handleOffset<=mouseOffset:handleOffset+handleLength>=mouseOffset)?(clearTimeout(trackTimeout),_base.scrollStop(),trackTimeout=undefined,scrollActionFinsished(!0)):(trackTimeout=setTimeout(scrollAction,timeoutDelay),scrollObj[xy]=(decreaseScroll?"-=":"+=")+scrollDistance,_base.scroll(scrollObj,extendDeep(animationObj,{duration:scrollDuration}))),isFirstIteration=!1)}};ctrlKey&&increaseTrackScrollAmount(),mouseDownInvertedScale=getHostElementInvertedScale()[xy],mouseDownOffset=COMPATIBILITY.page(event)[xy],_scrollbarsHandlesDefineScrollPos=!getPreparedScrollbarsOption(strSnapHandle),addClass(_bodyElement,_classNameDragging),addClass(scrollbarVars._track,strActive),addClass(scrollbarVars._scrollbar,strActive),setupResponsiveEventListener(_documentElement,[_strMouseTouchUpEvent,_strKeyDownEvent,_strKeyUpEvent,_strSelectStartEvent],[documentMouseTouchUp,documentKeyDown,documentKeyUp,documentOnSelectStart]),scrollAction(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event)}}function onTrackMouseTouchEnter(event){_scrollbarsHandleHovered=!0,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!0)}function onTrackMouseTouchLeave(event){_scrollbarsHandleHovered=!1,(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove)&&refreshScrollbarsAutoHide(!1)}function onScrollbarMouseTouchDown(event){COMPATIBILITY.stpP(event)}addDestroyEventListener(scrollbarVars._handle,_strMouseTouchDownEvent,onHandleMouseTouchDown),addDestroyEventListener(scrollbarVars._track,[_strMouseTouchDownEvent,_strMouseEnter,_strMouseLeave],[onTrackMouseTouchDown,onTrackMouseTouchEnter,onTrackMouseTouchLeave]),addDestroyEventListener(scrollbarVars._scrollbar,_strMouseTouchDownEvent,onScrollbarMouseTouchDown),_supportTransition&&addDestroyEventListener(scrollbarVars._scrollbar,_strTransitionEndEvent,(function(event){event.target===scrollbarVars._scrollbar[0]&&(refreshScrollbarHandleLength(isHorizontal),refreshScrollbarHandleOffset(isHorizontal))}))}function refreshScrollbarAppearance(isHorizontal,shallBeVisible,canScroll){var scrollbarElement=isHorizontal?_scrollbarHorizontalElement:_scrollbarVerticalElement;addRemoveClass(_hostElement,isHorizontal?_classNameHostScrollbarHorizontalHidden:_classNameHostScrollbarVerticalHidden,!shallBeVisible),addRemoveClass(scrollbarElement,_classNameScrollbarUnusable,!canScroll)}function refreshScrollbarsAutoHide(shallBeVisible,delayfree){if(clearTimeout(_scrollbarsAutoHideTimeoutId),shallBeVisible)removeClass(_scrollbarHorizontalElement,_classNameScrollbarAutoHidden),removeClass(_scrollbarVerticalElement,_classNameScrollbarAutoHidden);else{var anyActive,strActive="active",hide=function(){_scrollbarsHandleHovered||_destroyed||(!(anyActive=_scrollbarHorizontalHandleElement.hasClass(strActive)||_scrollbarVerticalHandleElement.hasClass(strActive))&&(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove||_scrollbarsAutoHideLeave)&&addClass(_scrollbarHorizontalElement,_classNameScrollbarAutoHidden),!anyActive&&(_scrollbarsAutoHideScroll||_scrollbarsAutoHideMove||_scrollbarsAutoHideLeave)&&addClass(_scrollbarVerticalElement,_classNameScrollbarAutoHidden))};_scrollbarsAutoHideDelay>0&&!0!==delayfree?_scrollbarsAutoHideTimeoutId=setTimeout(hide,_scrollbarsAutoHideDelay):hide()}}function refreshScrollbarHandleLength(isHorizontal){var handleCSS={},scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,digit=1e6,handleRatio=MATH.min(1,_viewportSize[scrollbarVars._w_h]/_contentScrollSizeCache[scrollbarVars._w_h]);handleCSS[scrollbarVars._width_height]=MATH.floor(100*handleRatio*digit)/digit+"%",nativeOverlayScrollbarsAreActive()||scrollbarVars._handle.css(handleCSS),scrollbarVarsInfo._handleLength=scrollbarVars._handle[0]["offset"+scrollbarVars._Width_Height],scrollbarVarsInfo._handleLengthRatio=handleRatio}function refreshScrollbarHandleOffset(isHorizontal,scrollOrTransition){var transformOffset,translateValue,transition=type(scrollOrTransition)==TYPES.b,transitionDuration=250,isRTLisHorizontal=_isRTL&&isHorizontal,scrollbarVars=getScrollbarVars(isHorizontal),scrollbarVarsInfo=scrollbarVars._info,strTranslateBrace="translate(",strTransform=VENDORS._cssProperty("transform"),strTransition=VENDORS._cssProperty("transition"),nativeScroll=isHorizontal?_viewportElement[_strScrollLeft]():_viewportElement[_strScrollTop](),currentScroll=scrollOrTransition===undefined||transition?nativeScroll:scrollOrTransition,handleLength=scrollbarVarsInfo._handleLength,trackLength=scrollbarVars._track[0]["offset"+scrollbarVars._Width_Height],handleTrackDiff=trackLength-handleLength,handleCSS={},maxScroll=(_viewportElementNative[_strScroll+scrollbarVars._Width_Height]-_viewportElementNative["client"+scrollbarVars._Width_Height])*(_rtlScrollBehavior.n&&isRTLisHorizontal?-1:1),getScrollRatio=function(base){return isNaN(base/maxScroll)?0:MATH.max(0,MATH.min(1,base/maxScroll))},getHandleOffset=function(scrollRatio){var offset=handleTrackDiff*scrollRatio;return offset=isNaN(offset)?0:offset,offset=isRTLisHorizontal&&!_rtlScrollBehavior.i?trackLength-handleLength-offset:offset,offset=MATH.max(0,offset)},scrollRatio=getScrollRatio(nativeScroll),handleOffset=getHandleOffset(getScrollRatio(currentScroll)),snappedHandleOffset=getHandleOffset(scrollRatio);scrollbarVarsInfo._maxScroll=maxScroll,scrollbarVarsInfo._currentScroll=nativeScroll,scrollbarVarsInfo._currentScrollRatio=scrollRatio,_supportTransform?(transformOffset=isRTLisHorizontal?-(trackLength-handleLength-handleOffset):handleOffset,translateValue=isHorizontal?strTranslateBrace+transformOffset+"px, 0)":strTranslateBrace+"0, "+transformOffset+"px)",handleCSS[strTransform]=translateValue,_supportTransition&&(handleCSS[strTransition]=transition&&MATH.abs(handleOffset-scrollbarVarsInfo._handleOffset)>1?getCSSTransitionString(scrollbarVars._handle)+", "+(strTransform+_strSpace+transitionDuration)+"ms":_strEmpty)):handleCSS[scrollbarVars._left_top]=handleOffset,nativeOverlayScrollbarsAreActive()||(scrollbarVars._handle.css(handleCSS),_supportTransform&&_supportTransition&&transition&&scrollbarVars._handle.one(_strTransitionEndEvent,(function(){_destroyed||scrollbarVars._handle.css(strTransition,_strEmpty)}))),scrollbarVarsInfo._handleOffset=handleOffset,scrollbarVarsInfo._snappedHandleOffset=snappedHandleOffset,scrollbarVarsInfo._trackLength=trackLength}function refreshScrollbarsInteractive(isTrack,value){var action=value?"removeClass":"addClass",element2=isTrack?_scrollbarVerticalTrackElement:_scrollbarVerticalHandleElement,className=isTrack?_classNameScrollbarTrackOff:_classNameScrollbarHandleOff;(isTrack?_scrollbarHorizontalTrackElement:_scrollbarHorizontalHandleElement)[action](className),element2[action](className)}function getScrollbarVars(isHorizontal){return{_width_height:isHorizontal?_strWidth:_strHeight,_Width_Height:isHorizontal?"Width":"Height",_left_top:isHorizontal?_strLeft:_strTop,_Left_Top:isHorizontal?"Left":"Top",_x_y:isHorizontal?_strX:_strY,_X_Y:isHorizontal?"X":"Y",_w_h:isHorizontal?"w":"h",_l_t:isHorizontal?"l":"t",_track:isHorizontal?_scrollbarHorizontalTrackElement:_scrollbarVerticalTrackElement,_handle:isHorizontal?_scrollbarHorizontalHandleElement:_scrollbarVerticalHandleElement,_scrollbar:isHorizontal?_scrollbarHorizontalElement:_scrollbarVerticalElement,_info:isHorizontal?_scrollHorizontalInfo:_scrollVerticalInfo}}function setupScrollbarCornerDOM(destroy){_scrollbarCornerElement=_scrollbarCornerElement||selectOrGenerateDivByClass(_classNameScrollbarCorner,!0),destroy?_domExists&&_initialized?removeClass(_scrollbarCornerElement.removeAttr(LEXICON.s),_classNamesDynamicDestroy):remove(_scrollbarCornerElement):_domExists||_hostElement.append(_scrollbarCornerElement)}function setupScrollbarCornerEvents(){var reconnectMutationObserver,insideIFrame=_windowElementNative.top!==_windowElementNative,mouseDownPosition={},mouseDownSize={},mouseDownInvertedScale={};function documentDragMove(event){if(onMouseTouchDownContinue(event)){var pageOffset=getCoordinates(event),hostElementCSS={};(_resizeHorizontal||_resizeBoth)&&(hostElementCSS[_strWidth]=mouseDownSize.w+(pageOffset.x-mouseDownPosition.x)*mouseDownInvertedScale.x),(_resizeVertical||_resizeBoth)&&(hostElementCSS[_strHeight]=mouseDownSize.h+(pageOffset.y-mouseDownPosition.y)*mouseDownInvertedScale.y),_hostElement.css(hostElementCSS),COMPATIBILITY.stpP(event)}else documentMouseTouchUp(event)}function documentMouseTouchUp(event){var eventIsTrusted=event!==undefined;setupResponsiveEventListener(_documentElement,[_strSelectStartEvent,_strMouseTouchMoveEvent,_strMouseTouchUpEvent],[documentOnSelectStart,documentDragMove,documentMouseTouchUp],!0),removeClass(_bodyElement,_classNameDragging),_scrollbarCornerElement.releaseCapture&&_scrollbarCornerElement.releaseCapture(),eventIsTrusted&&(reconnectMutationObserver&&connectMutationObservers(),_base.update(_strAuto)),reconnectMutationObserver=!1}function onMouseTouchDownContinue(event){var isTouchEvent=(event.originalEvent||event).touches!==undefined;return!_sleeping&&!_destroyed&&(1===COMPATIBILITY.mBtn(event)||isTouchEvent)}function getCoordinates(event){return _msieVersion&&insideIFrame?{x:event.screenX,y:event.screenY}:COMPATIBILITY.page(event)}addDestroyEventListener(_scrollbarCornerElement,_strMouseTouchDownEvent,(function(event){onMouseTouchDownContinue(event)&&!_resizeNone&&(_mutationObserversConnected&&(reconnectMutationObserver=!0,disconnectMutationObservers()),mouseDownPosition=getCoordinates(event),mouseDownSize.w=_hostElementNative[LEXICON.oW]-(_isBorderBox?0:_paddingX),mouseDownSize.h=_hostElementNative[LEXICON.oH]-(_isBorderBox?0:_paddingY),mouseDownInvertedScale=getHostElementInvertedScale(),setupResponsiveEventListener(_documentElement,[_strSelectStartEvent,_strMouseTouchMoveEvent,_strMouseTouchUpEvent],[documentOnSelectStart,documentDragMove,documentMouseTouchUp]),addClass(_bodyElement,_classNameDragging),_scrollbarCornerElement.setCapture&&_scrollbarCornerElement.setCapture(),COMPATIBILITY.prvD(event),COMPATIBILITY.stpP(event))}))}function dispatchCallback(name,args,dependent){if(!1!==dependent)if(_initialized){var ext,callback=_currentPreparedOptions.callbacks[name],extensionOnName=name;"on"===extensionOnName.substr(0,2)&&(extensionOnName=extensionOnName.substr(2,1).toLowerCase()+extensionOnName.substr(3)),type(callback)==TYPES.f&&callback.call(_base,args),each(_extensions,(function(){type((ext=this).on)==TYPES.f&&ext.on(extensionOnName,args)}))}else _destroyed||_callbacksInitQeueue.push({n:name,a:args})}function setTopRightBottomLeft(targetCSSObject,prefix,values){values=values||[_strEmpty,_strEmpty,_strEmpty,_strEmpty],targetCSSObject[(prefix=prefix||_strEmpty)+_strTop]=values[0],targetCSSObject[prefix+_strRight]=values[1],targetCSSObject[prefix+_strBottom]=values[2],targetCSSObject[prefix+_strLeft]=values[3]}function getTopRightBottomLeftHost(prefix,suffix,zeroX,zeroY){return suffix=suffix||_strEmpty,prefix=prefix||_strEmpty,{t:zeroY?0:parseToZeroOrNumber(_hostElement.css(prefix+_strTop+suffix)),r:zeroX?0:parseToZeroOrNumber(_hostElement.css(prefix+_strRight+suffix)),b:zeroY?0:parseToZeroOrNumber(_hostElement.css(prefix+_strBottom+suffix)),l:zeroX?0:parseToZeroOrNumber(_hostElement.css(prefix+_strLeft+suffix))}}function getCSSTransitionString(element){var transitionStr=VENDORS._cssProperty("transition"),assembledValue=element.css(transitionStr);if(assembledValue)return assembledValue;for(var strResult,valueArray,j,regExpString="\\s*(([^,(]+(\\(.+?\\))?)+)[\\s,]*",regExpMain=new RegExp(regExpString),regExpValidate=new RegExp("^("+regExpString+")+$"),properties="property duration timing-function delay".split(" "),result=[],i=0,splitCssStyleByComma=function(str){if(strResult=[],!str.match(regExpValidate))return str;for(;str.match(regExpMain);)strResult.push(RegExp.$1),str=str.replace(regExpMain,_strEmpty);return strResult};itextareaLastCol&&(widestRow=i+1,textareaLastCol=rowCols);return{_cursorRow:cursorRow,_cursorColumn:cursorCol,_rows:textareaLastRow,_columns:textareaLastCol,_widestRow:widestRow,_cursorPosition:textareaCursorPosition,_cursorMax:textareaLength}}}function nativeOverlayScrollbarsAreActive(){return _ignoreOverlayScrollbarHidingCache&&_nativeScrollbarIsOverlaid.x&&_nativeScrollbarIsOverlaid.y}function getContentMeasureElement(){return _isTextarea?_textareaCoverElement[0]:_contentElementNative}function generateDiv(classesOrAttrs,content){return"
"+(content||_strEmpty)+"
"}function selectOrGenerateDivByClass(className,selectParentOrOnlyChildren){var onlyChildren=type(selectParentOrOnlyChildren)==TYPES.b,selectParent=onlyChildren?_hostElement:selectParentOrOnlyChildren||_hostElement;return _domExists&&!selectParent[LEXICON.l]?null:_domExists?selectParent[onlyChildren?"children":"find"](_strDot+className.replace(/\s/g,_strDot)).eq(0):FRAMEWORK(generateDiv(className))}function getObjectPropVal(obj,path){for(var val,splits=path.split(_strDot),i=0;i0&&(optsIsPlainObj?FRAMEWORK.each(pluginTargetElements,(function(i,v){(inst=v)!==undefined&&arr.push(OverlayScrollbarsInstance(inst,options,extensions,_pluginsGlobals,_pluginsAutoUpdateLoop))})):FRAMEWORK.each(pluginTargetElements,(function(i,v){inst=INSTANCES(v),("!"===options&&_plugin.valid(inst)||COMPATIBILITY.type(options)==TYPES.f&&options(v,inst)||options===undefined)&&arr.push(inst)})),result=1===arr[LEXICON.l]?arr[0]:arr),result):optsIsPlainObj||!options?result:arr}).globals=function(){initOverlayScrollbarsStatics();var globals=FRAMEWORK.extend(!0,{},_pluginsGlobals);return delete globals.msie,globals},_plugin.defaultOptions=function(newDefaultOptions){initOverlayScrollbarsStatics();var currDefaultOptions=_pluginsGlobals.defaultOptions;if(newDefaultOptions===undefined)return FRAMEWORK.extend(!0,{},currDefaultOptions);_pluginsGlobals.defaultOptions=FRAMEWORK.extend(!0,{},currDefaultOptions,_pluginsOptions._validate(newDefaultOptions,_pluginsOptions._template,!0,currDefaultOptions)._default)},_plugin.valid=function(osInstance){return osInstance instanceof _plugin&&!osInstance.getState().destroyed},_plugin.extension=function(extensionName,extension,defaultOptions){var extNameTypeString=COMPATIBILITY.type(extensionName)==TYPES.s,argLen=arguments[LEXICON.l],i=0;if(argLen<1||!extNameTypeString)return FRAMEWORK.extend(!0,{length:_pluginsExtensions[LEXICON.l]},_pluginsExtensions);if(extNameTypeString)if(COMPATIBILITY.type(extension)==TYPES.f)_pluginsExtensions.push({name:extensionName,extensionFactory:extension,defaultOptions:defaultOptions});else for(;i<_pluginsExtensions[LEXICON.l];i++)if(_pluginsExtensions[i].name===extensionName){if(!(argLen>1))return FRAMEWORK.extend(!0,{},_pluginsExtensions[i]);_pluginsExtensions.splice(i,1)}},_plugin}();return JQUERY&&JQUERY.fn&&(JQUERY.fn.overlayScrollbars=function(options,extensions){var _elements=this;return JQUERY.isPlainObject(options)?(JQUERY.each(_elements,(function(){PLUGIN(this,options,extensions)})),_elements):PLUGIN(_elements,options)}),PLUGIN}(global,global.document,void 0)}.call(exports,__webpack_require__,exports,module))||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)}}]); +//# sourceMappingURL=6.e229d3b2.iframe.bundle.js.map \ No newline at end of file diff --git a/docs/6.95b9de2b.iframe.bundle.js.LICENSE.txt b/docs/6.e229d3b2.iframe.bundle.js.LICENSE.txt similarity index 100% rename from docs/6.95b9de2b.iframe.bundle.js.LICENSE.txt rename to docs/6.e229d3b2.iframe.bundle.js.LICENSE.txt diff --git a/docs/6.e229d3b2.iframe.bundle.js.map b/docs/6.e229d3b2.iframe.bundle.js.map new file mode 100644 index 0000000..67c6542 --- /dev/null +++ b/docs/6.e229d3b2.iframe.bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"6.e229d3b2.iframe.bundle.js","sources":[],"mappings":";A","sourceRoot":""} \ No newline at end of file diff --git a/docs/iframe.html b/docs/iframe.html index 10f586e..86b7c28 100644 --- a/docs/iframe.html +++ b/docs/iframe.html @@ -135,4 +135,4 @@ - window['FEATURES'] = {"postcss":true}; \ No newline at end of file + window['FEATURES'] = {"postcss":true}; \ No newline at end of file diff --git a/docs/main.220171c1.iframe.bundle.js b/docs/main.220171c1.iframe.bundle.js deleted file mode 100644 index c25e51f..0000000 --- a/docs/main.220171c1.iframe.bundle.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{521:function(module,exports,__webpack_require__){__webpack_require__(522),__webpack_require__(682),__webpack_require__(683),__webpack_require__(894),__webpack_require__(895),__webpack_require__(900),__webpack_require__(901),__webpack_require__(899),__webpack_require__(896),__webpack_require__(902),__webpack_require__(897),__webpack_require__(898),__webpack_require__(903),module.exports=__webpack_require__(883)},589:function(module,exports){},683:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__(377)},883:function(module,exports,__webpack_require__){"use strict";(function(module){(0,__webpack_require__(377).configure)([__webpack_require__(884),__webpack_require__(885)],module,!1)}).call(this,__webpack_require__(175)(module))},884:function(module,exports){function webpackEmptyContext(req){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}webpackEmptyContext.keys=function(){return[]},webpackEmptyContext.resolve=webpackEmptyContext,module.exports=webpackEmptyContext,webpackEmptyContext.id=884},885:function(module,exports,__webpack_require__){var map={"./stories/Scene.stories.js":893};function webpackContext(req){var id=webpackContextResolve(req);return __webpack_require__(id)}function webpackContextResolve(req){if(!__webpack_require__.o(map,req)){var e=new Error("Cannot find module '"+req+"'");throw e.code="MODULE_NOT_FOUND",e}return map[req]}webpackContext.keys=function webpackContextKeys(){return Object.keys(map)},webpackContext.resolve=webpackContextResolve,module.exports=webpackContext,webpackContext.id=885},893:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"RandomShapes",(function(){return RandomShapes})),__webpack_require__.d(__webpack_exports__,"EvD",(function(){return EvD})),__webpack_require__.d(__webpack_exports__,"Movement",(function(){return Movement})),__webpack_require__.d(__webpack_exports__,"MeshDebugging",(function(){return MeshDebugging}));__webpack_require__(317),__webpack_require__(8),__webpack_require__(20),__webpack_require__(49),__webpack_require__(26),__webpack_require__(70),__webpack_require__(76);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),react_three_fiber_esm=(__webpack_require__(886),__webpack_require__(32)),useProgress=__webpack_require__(914),Html=__webpack_require__(912),es_progress=__webpack_require__(915),resize_observer=__webpack_require__(501),shapes=(__webpack_require__(29),__webpack_require__(48),__webpack_require__(73),__webpack_require__(24),__webpack_require__(12),__webpack_require__(11),__webpack_require__(22),__webpack_require__(16),__webpack_require__(13),__webpack_require__(15),__webpack_require__(14),__webpack_require__(10),__webpack_require__(27),__webpack_require__(913)),dist=__webpack_require__(244),three_module=__webpack_require__(0),RoundedBoxGeometry=__webpack_require__(911),BufferGeometryUtils=__webpack_require__(489),StandardMeshes_BOX_GEOM=function BOX_GEOM(params){var _ref=void 0===params?{}:params,x=_ref.x,y=_ref.y,z=_ref.z;return x=void 0===x?1:x,y=void 0===y?1:y,z=void 0===z?1:z,new RoundedBoxGeometry.a(x,y,z,2,.05)},StandardMeshes_SPHERE_GEOM=function SPHERE_GEOM(params){var radius=(void 0===params?{}:params).radius;return radius=void 0===radius?.5:radius,new three_module.SphereBufferGeometry(radius)},StandardMeshes_CYLINDER_GEOM=function CYLINDER_GEOM(params){var _ref3=void 0===params?{}:params,radius=_ref3.radius,height=_ref3.height;return radius=void 0===radius?.5:radius,height=void 0===height?1:height,new three_module.CylinderBufferGeometry(radius,radius,height,16,1,!1)},StandardMeshes_ARROW_GEOM=function ARROW_GEOM(params){var _ref4=void 0===params?{}:params,length=_ref4.length,girth=_ref4.girth,capLength=.4*(length=void 0===length?1:length),capRadius=.1*(girth=void 0===girth?1:girth),ARROW_CAP_GEOM=new three_module.CylinderBufferGeometry(0,capRadius,capLength,12,1),shaftLength=.6*length,shaftRadius=.025*girth,ARROW_BASE_GEOM=new three_module.CylinderBufferGeometry(shaftRadius,shaftRadius,shaftLength,12,1),m=new three_module.Matrix4;return m.setPosition(new three_module.Vector3(0,.5*shaftLength,0)),ARROW_BASE_GEOM.applyMatrix4(m),m.setPosition(new three_module.Vector3(0,shaftLength+.5*capLength,0)),ARROW_CAP_GEOM.applyMatrix4(m),BufferGeometryUtils.a.mergeBufferGeometries([ARROW_CAP_GEOM,ARROW_BASE_GEOM])},MaterialMaker_MaterialMaker=(__webpack_require__(57),function MaterialMaker(r,g,b,a){var color=new three_module.Color;return color.setRGB(r/255,g/255,b/255),a<=.99?new three_module.MeshStandardMaterial({color:color.getHex(),opacity:a+.1,transparent:!0,depthWrite:!0,blendSrc:three_module.SrcAlphaFactor,blendDst:three_module.OneMinusSrcAlphaFactor,blendEquation:three_module.ReverseSubtractEquation,blending:three_module.NormalBlending}):new three_module.MeshStandardMaterial({color:color.getHex(),opacity:a,blending:three_module.NormalBlending})}),jsx_runtime=__webpack_require__(6);function TF(_ref){var tfKey=_ref.tfKey,displayTfs=_ref.displayTfs,children=_ref.children,store=_ref.store,ref=Object(react.useRef)();Object(react_three_fiber_esm.b)(Object(react.useCallback)((function(){var tf=store.getState().tfs[tfKey];ref.current&&(ref.current.position.set(tf.translation.x,tf.translation.y,tf.translation.z),ref.current.quaternion.set(tf.rotation.x,tf.rotation.y,tf.rotation.z,tf.rotation.w))}),[tfKey,ref]));var arrow=StandardMeshes_ARROW_GEOM();return Object(jsx_runtime.jsxs)("group",{ref:ref,dispose:null,up:[0,0,1],children:[displayTfs&&Object(jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[Object(jsx_runtime.jsx)("axesHelper",{size:1}),Object(jsx_runtime.jsx)("mesh",{geometry:arrow,material:MaterialMaker_MaterialMaker(255,0,0,1),scale:[.2,.5,.2],rotation:[0,0,-Math.PI/2]},tfKey+"ArrowX"),Object(jsx_runtime.jsx)("mesh",{geometry:arrow,material:MaterialMaker_MaterialMaker(0,255,0,1),scale:[.2,.5,.2],rotation:[0,Math.PI/2,0]},tfKey+"ArrowY"),Object(jsx_runtime.jsx)("mesh",{geometry:arrow,material:MaterialMaker_MaterialMaker(0,0,255,1),scale:[.2,.5,.2],rotation:[Math.PI/2,0,0]},tfKey+"ArrowZ")]}),children]})}function WorldTF(_ref2){var displayTfs=_ref2.displayTfs,children=_ref2.children,arrow=StandardMeshes_ARROW_GEOM();return Object(jsx_runtime.jsxs)("group",{dispose:null,up:[0,0,1],children:[displayTfs&&Object(jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[Object(jsx_runtime.jsx)("axesHelper",{size:1}),Object(jsx_runtime.jsx)("mesh",{geometry:arrow,material:MaterialMaker_MaterialMaker(255,0,0,1),scale:[.2,.5,.2],rotation:[0,0,-Math.PI/2]},"$WorldArrowX"),Object(jsx_runtime.jsx)("mesh",{geometry:arrow,material:MaterialMaker_MaterialMaker(0,255,0,1),scale:[.2,.5,.2],rotation:[0,Math.PI/2,0]},"$WorldArrowY"),Object(jsx_runtime.jsx)("mesh",{geometry:arrow,material:MaterialMaker_MaterialMaker(0,0,255,1),scale:[.2,.5,.2],rotation:[Math.PI/2,0,0]},"$WorldArrowZ")]}),children]})}function GhostTF(_ref3){var transforms=_ref3.transforms,children=_ref3.children,store=_ref3.store;if(transforms.length>0){var pos=[transforms[0].position.x,transforms[0].position.y,transforms[0].position.z],rot=[transforms[0].rotation.x,transforms[0].rotation.y,transforms[0].rotation.z,transforms[0].rotation.w];return Object(jsx_runtime.jsx)("group",{position:pos,quaternion:rot,up:[0,0,1],children:Object(jsx_runtime.jsx)(GhostTF,{transforms:transforms.filter((function(_,i){return 0!==i})),store:store,children:children})})}return Object(jsx_runtime.jsx)(jsx_runtime.Fragment,{children:children})}TF.displayName="TF",WorldTF.displayName="WorldTF",TF.__docgenInfo={description:"",methods:[],displayName:"TF"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TF.jsx"]={name:"TF",docgenInfo:TF.__docgenInfo,path:"src/components/TF.jsx"}),WorldTF.__docgenInfo={description:"",methods:[],displayName:"WorldTF"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TF.jsx"]={name:"WorldTF",docgenInfo:WorldTF.__docgenInfo,path:"src/components/TF.jsx"}),GhostTF.__docgenInfo={description:"",methods:[],displayName:"GhostTF"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TF.jsx"]={name:"GhostTF",docgenInfo:GhostTF.__docgenInfo,path:"src/components/TF.jsx"});var tag=__webpack_require__(917);function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var TransformControls_TransformControls=function TransformControls(_ref){_ref.children;var props=_objectWithoutProperties(_ref,_excluded),camera=props.camera,itemKey=props.itemKey,highlightColor=props.highlightColor,store=props.store,rest=_objectWithoutProperties(props,_excluded2),transforms=store(Object(react.useCallback)((function(state){for(var transforms=[],tfKey=state.items[itemKey].frame;tfKey&&"world"!==tfKey;){var tf=state.tfs[tfKey];transforms.push({position:tf.translation,rotation:tf.rotation}),tfKey=state.tfs[tfKey.frame]}return transforms}),[itemKey])),ref=Object(react.useRef)(),target=Object(react.useRef)(),transformProps=lodash_pick_default()(rest,["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"]),gl=Object(react_three_fiber_esm.d)((function(_ref2){return _ref2.gl})),defaultCamera=Object(react_three_fiber_esm.d)((function(_ref3){return _ref3.camera})),invalidate=Object(react_three_fiber_esm.d)((function(_ref4){return _ref4.invalidate})),explCamera=camera||defaultCamera,controls=TransformControls_slicedToArray(Object(react.useState)((function(){return new controls_TransformControls.a(explCamera,gl.domElement)})),1)[0],_useState4=TransformControls_slicedToArray(Object(react.useState)(!1),2),transforming=_useState4[0],setTransforming=_useState4[1];return Object(react.useEffect)((function(){var callback=function callback(event){var _target$current,_target$current2,_target$current3;(event.value&&!transforming?(setTransforming(!0),props.onDragStart&&props.onDragStart()):!event.value&&transforming&&(setTransforming(!1),props.onDragEnd&&props.onDragEnd()),props.onMove)&&props.onMove({world:{position:controls.worldPosition,quaternion:controls.worldQuaternion,scale:controls._worldScale},local:{position:null==target||null===(_target$current=target.current)||void 0===_target$current?void 0:_target$current.position,quaternion:null==target||null===(_target$current2=target.current)||void 0===_target$current2?void 0:_target$current2.quaternion,scale:null==target||null===(_target$current3=target.current)||void 0===_target$current3?void 0:_target$current3.scale}})};return controls&&controls.addEventListener("dragging-changed",callback),function(){controls.removeEventListener("dragging-changed",callback)}})),Object(react.useLayoutEffect)((function(){null==controls||controls.attach(target.current)}),[target,controls]),Object(react.useEffect)((function(){return controls&&controls.addEventListener("change",invalidate),function(){var _controls$removeEvent;return null==controls||null===(_controls$removeEvent=controls.removeEventListener)||void 0===_controls$removeEvent?void 0:_controls$removeEvent.call(controls,"change",invalidate)}}),[controls,invalidate]),controls?Object(jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[Object(jsx_runtime.jsx)("primitive",Object.assign({ref:ref,dispose:void 0,object:controls},transformProps)),Object(jsx_runtime.jsx)(GhostTF,{transforms:transforms,store:store,children:Object(jsx_runtime.jsx)(components_GhostItem,{ref:target,highlightColor:highlightColor,itemKey:itemKey,store:store})})]}):null};function Content_toConsumableArray(arr){return function Content_arrayWithoutHoles(arr){if(Array.isArray(arr))return Content_arrayLikeToArray(arr)}(arr)||function Content_iterableToArray(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}(arr)||Content_unsupportedIterableToArray(arr)||function Content_nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Content_slicedToArray(arr,i){return function Content_arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function Content_iterableToArrayLimit(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||Content_unsupportedIterableToArray(arr,i)||function Content_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Content_unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return Content_arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Content_arrayLikeToArray(o,minLen):void 0}}function Content_arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i-1})),ambientLightRef=Object(react.useRef)(),directionalLightRef=Object(react.useRef)(),orbitControls=Object(react.useRef)(),planeRGB=function hexToRgb(hex){hex=hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(m,r,g,b){return r+r+g+g+b+b}));var result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);return result?{r:parseInt(result[1],16),g:parseInt(result[2],16),b:parseInt(result[3],16)}:null}(planeColor||"a8a8a8"),planeRGBA=[planeRGB.r,planeRGB.g,planeRGB.b,.5];return Object(jsx_runtime.jsxs)(react_default.a.Fragment,{children:[Object(jsx_runtime.jsx)(OrbitControls.a,{ref:orbitControls}),Object(jsx_runtime.jsx)("pointLight",{intensity:.5,position:[-1,-3,3],color:"#FFFAEE"}),Object(jsx_runtime.jsx)(AmbientLight,{ref:ambientLightRef,intensity:.7,color:"white"}),Object(jsx_runtime.jsx)(DirectionalLight,{ref:directionalLightRef,castShadow:!0,position:[5,15,15],intensity:.6,color:"#FFFAEE"}),Object(jsx_runtime.jsx)("spotLight",{penumbra:1,position:[-1,-1,4],intensity:.3,castShadow:!0,color:"#FFFAEE"}),Object(jsx_runtime.jsx)("color",{attach:"background",args:[backgroundColor||"#d0d0d0"]}),Object(jsx_runtime.jsx)("fogExp2",{attach:"fog",args:[backgroundColor||"#d0d0d0",.01]}),Object(jsx_runtime.jsx)(shapes.a,{receiveShadow:!0,scale:1e3,position:[0,0,plane?plane-.01:-.01],material:MaterialMaker_MaterialMaker.apply(void 0,planeRGBA)}),Content_renderTree("world",displayTfs,tfs,items,lines,hulls,store),Object(jsx_runtime.jsx)("group",{position:[0,0,plane||0],rotation:[Math.PI/2,0,0],up:[0,0,1],children:displayGrid&&(isPolar?Object(jsx_runtime.jsx)("polarGridHelper",{args:[10,16,8,64,"white","gray"]}):Object(jsx_runtime.jsx)("gridHelper",{args:[20,20,"white","gray"]}))}),movableItems.map((function(movableItem,idx){return Object(jsx_runtime.jsx)(TransformControls_TransformControls,{itemKey:movableItem.itemKey,mode:movableItem.transformMode,onDragEnd:function onDragEnd(){orbitControls.current&&(orbitControls.current.enabled=!0)},onDragStart:function onDragStart(){orbitControls.current&&(orbitControls.current.enabled=!1)},onMove:movableItem.onMove,store:store},"movableItemTransform-"+idx)})),Object(jsx_runtime.jsxs)(dist.a,{autoClear:!1,multisampling:0,children:[Object(jsx_runtime.jsx)(dist.b,{selection:highlightedRefs,xRay:!0,blur:!0,edgeStrength:15,pulseSpeed:.3,visibleEdgeColor:highlightColor||"#ffffff",hiddenEdgeColor:highlightColor||"#ffffff"}),Object(jsx_runtime.jsx)(dist.c,{})]})]})}function Loading(){var progress=Object(useProgress.a)().progress;return Object(jsx_runtime.jsx)(Html.a,{children:Object(jsx_runtime.jsx)(es_progress.a,{type:"circle",percent:progress.toPrecision(2)})})}function Scene(props){var backgroundColor=props.backgroundColor,store=props.store;return Object(jsx_runtime.jsx)(react_three_fiber_esm.a,{shadows:!0,style:{background:backgroundColor||"#d0d0d0"},resize:{polyfill:resize_observer.a},onPointerMissed:props.onPointerMissed?props.onPointerMissed:function(){},children:Object(jsx_runtime.jsx)(react.Suspense,{fallback:Object(jsx_runtime.jsx)(Loading,{}),children:Object(jsx_runtime.jsx)(Content,Object.assign({},props,{store:store}))})})}Content_renderTree.displayName="renderTree",Content.displayName="Content",Content.__docgenInfo={description:"",methods:[],displayName:"Content"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Content.jsx"]={name:"Content",docgenInfo:Content.__docgenInfo,path:"src/components/Content.jsx"}),three_module.Object3D.DefaultUp=new three_module.Vector3(0,0,1),Loading.displayName="Loading",Scene.displayName="Scene",Scene.__docgenInfo={description:"",methods:[],displayName:"Scene"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Scene.jsx"]={name:"Scene",docgenInfo:Scene.__docgenInfo,path:"src/components/Scene.jsx"});var zustand=__webpack_require__(149),zustand_default=__webpack_require__.n(zustand),immer_esm=__webpack_require__(500),SceneStore=(__webpack_require__(314),zustand_default()(function immer(config){return function(set,get,api){return config((function(fn){return set(Object(immer_esm.a)(fn))}),get,api)}}((function SceneSlice(set){return{items:{},lines:{},tfs:{},hulls:{},clearItems:function clearItems(){return set((function(_){return{items:{}}}))},clearLines:function clearLines(){return set((function(_){return{lines:{}}}))},clearTfs:function clearTfs(){return set((function(_){return{tfs:{}}}))},clearHulls:function clearHulls(){return set((function(_){return{hulls:{}}}))},setItems:function setItems(items){return set((function(_){return{items:items}}))},setLines:function setLines(lines){return set((function(_){return{lines:lines}}))},setTfs:function setTfs(tfs){return set((function(_){return{tfs:tfs}}))},setHulls:function setHulls(hulls){return set((function(_){return{hulls:hulls}}))},removeItem:function removeItem(key){return set((function(state){delete state.items[key]}))},removeLine:function removeLine(key){return set((function(state){delete state.lines[key]}))},removeTf:function removeTf(key){return set((function(state){delete state.tfs[key]}))},removeHull:function removeHull(key){return set((function(state){delete state.hulls[key]}))},setItem:function setItem(key,item){return set((function(state){state.items[key]=item}))},setLine:function setLine(key,line){return set((function(state){state.lines[key]=line}))},setTf:function setTf(key,tf){return set((function(state){state.tfs[key]=tf}))},setHull:function setHull(key,hull){return set((function(state){state.hulls[key]=hull}))},setItemName:function setItemName(key,name){return set((function(state){state.items[key].name=name}))},setItemShowName:function setItemShowName(key,showName){return set((function(state){state.items[key].showName=showName}))},setItemPosition:function setItemPosition(key,position){return set((function(state){state.items[key].position=position}))},setItemRotation:function setItemRotation(key,rotation){return set((function(state){state.items[key].rotation=rotation}))},setItemScale:function setItemScale(key,scale){return set((function(state){state.items[key].scale=scale}))},setItemColor:function setItemColor(key,color){return set((function(state){state.items[key].color=color}))},setItemWireframe:function setItemWireframe(key,wireframe){return set((function(state){state.items[key].wireframe=wireframe}))},setItemHighlighted:function setItemHighlighted(key,value){return set((function(state){state.items[key].highlighted=value}))},setItemOnClick:function setItemOnClick(key,fn){return set((function(state){state.items[key].onClick=fn}))},setItemOnPointerOver:function setItemOnPointerOver(key,fn){return set((function(state){state.items[key].onPointerOver=fn}))},setItemOnPointerOut:function setItemOnPointerOut(key,fn){return set((function(state){state.items[key].onPointerOut=fn}))},setItemTransformMode:function setItemTransformMode(key,mode){return set((function(state){state.items[key].transformMode=mode}))},setItemOnMove:function setItemOnMove(key,fn){return set((function(state){state.items[key].onMove=fn}))},setLineName:function setLineName(key,name){return set((function(state){state.lines[key].name=name}))},setLineWidth:function setLineWidth(key,width){return set((function(state){state.lines[key].width=width}))},setLineVertices:function setLineVertices(key,vertices){return set((function(state){state.items.vertices=vertices}))},addLineVertex:function addLineVertex(key,vertex){return set((function(state){state.lines[key].vertices.push(vertex)}))},setLineVertex:function setLineVertex(key,index,vertex){return set((function(state){state.lines[key].vertices[index]=vertex}))},removeLineVertex:function removeLineVertex(key,index){return set((function(state){state.lines[key].vertices.splice(index,1)}))},setTfTranslation:function setTfTranslation(key,translation){return set((function(state){state.tfs[key].translation=translation}))},setTfRotation:function setTfRotation(key,rotation){return set((function(state){state.tfs[key].rotation=rotation}))},setHullName:function setHullName(key,name){return set((function(state){state.hulls[key].name=name}))},setHullVertices:function setHullVertices(key,vertices){return set((function(state){state.hulls[key].vertices=vertices}))},addHullVertex:function addHullVertex(key,vertex){return set((function(state){state.hulls[key].vertices.push(vertex)}))},setHullVertex:function setHullVertex(key,index,vertex){return set((function(state){state.hulls[key].vertices[index]=vertex}))},removeHullVertex:function removeHullVertex(key,index){return set((function(state){state.hulls[key].vertices.splice(index,1)}))},setHullColor:function setHullColor(key,color){return set((function(state){state.hulls[key].scale=color}))},setHullWireframe:function setHullWireframe(key,wireframe){return set((function(state){state.hulls[key].wireframe=wireframe}))},setHullHighlighted:function setHullHighlighted(key,value){return set((function(state){state.hulls[key].highlighted=value}))},setHullOnClick:function setHullOnClick(key,fn){return set((function(state){state.hulls[key].onClick=fn}))},setHullOnPointerOver:function setHullOnPointerOver(key,fn){return set((function(state){state.hulls[key].onPointerOver=fn}))},setHullOnPointerOut:function setHullOnPointerOut(key,fn){return set((function(state){state.hulls[key].onPointerOut=fn}))}}})))),Scene_stories_excluded=["tfs","items","hulls","lines"];function Scene_stories_objectWithoutProperties(source,excluded){if(null==source)return{};var key,i,target=function Scene_stories_objectWithoutPropertiesLoose(source,excluded){if(null==source)return{};var key,i,target={},sourceKeys=Object.keys(source);for(i=0;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}__webpack_exports__.default={parameters:{storySource:{source:'import React, { useLayoutEffect } from \'react\';\nimport Scene from \'../components/Scene\';\nimport useSceneStore from \'../components/SceneStore\';\nimport { MeshLookupTable } from \'../components/MeshLookup\';\n\nexport default {\n title: \'Scene\',\n component: Scene,\n}\n\nconst Template = (args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n};\n\nexport const RandomShapes = Template.bind({});\nRandomShapes.args = {\n tfs: {\n other1: {\n frame: \'world\',\n translation: { x: 1, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 }\n },\n other2: {\n name: \'world\',\n translation: { x: -2, y: 0, z: 2 },\n rotation: { w: 0.525322, x: 0.8509035, y: 0, z: 0 }\n },\n other3: {\n name: \'world\',\n translation: { x: 2, y: 0, z: 1 },\n rotation: { w: -0.604, x: -0.002, y: -0.756, z: 0.252 }\n }\n },\n items: {\n 1: {\n shape: "cube",\n name: "My Cube",\n frame: "world",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 50, b: 10, a: 0.75 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: true,\n onClick: () => { console.log(\'cube\') },\n onPointerOver: () => { console.log(\'hover\') },\n onPointerOut: () => { console.log(\'hover out\') }\n },\n 2: {\n shape: "sphere",\n name: "My Sphere",\n frame: "world",\n position: { x: 0, y: 2, z: 2 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 255, b: 30, a: 0.35 },\n scale: { x: 1, y: 2, z: 1 },\n highlighted: true,\n showName: true,\n onClick: () => { console.log(\'sphere\') }\n },\n 3: {\n shape: "cylinder",\n name: "My Cylinder",\n frame: "other2",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 200, b: 235, a: 0.5 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'cylinder\') }\n },\n 4: {\n shape: "flatarrow",\n name: "My Arrow 1",\n frame: "world",\n position: { x: 1, y: 0, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 70, g: 70, b: 250, a: 0.5 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: true,\n onClick: () => { console.log(\'flatarrow\') }\n },\n 5: {\n shape: "arrow",\n name: "My Arrow 2",\n frame: "other1",\n position: { x: 1, y: 0, z: 0 },\n rotation: { w: -0.604, x: -0.002, y: -0.756, z: 0.252 },\n color: { r: 255, g: 70, b: 250, a: 0.5 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: true,\n onClick: () => { console.log(\'arrow2\') }\n },\n 6: {\n shape: "arrow",\n name: "My Arrow 3",\n frame: "other3",\n position: { x: 1, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 70, b: 250, a: 0.5 },\n scale: { x: 1, y: 2, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'arrow3\') }\n },\n 7: {\n shape: "package://nao_meshes/meshes/V40/HeadPitch.dae",\n name: "Nao Head",\n frame: "world",\n position: { x: 0, y: 2, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: true,\n highlighted: true,\n onClick: () => { console.log(\'head\') }\n },\n 8: {\n shape: "package://nao_meshes/meshes/V40/LAnkleRoll.dae",\n name: "Nao Ankle",\n frame: "world",\n position: { x: 1, y: 0.5, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'ankle\') }\n },\n 9: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",\n name: "3d Printer",\n frame: "world",\n position: { x: -1, y: 1, z: .3 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'printer\') }\n }\n },\n lines: {\n line1: {\n name: "Line1",\n frame: "world",\n width: 1,\n vertices: [{ position: { x: 1, y: 2, z: 0 }, color: { r: 255, g: 0, b: 0 } },\n { position: { x: 2, y: 1, z: 1 }, color: { r: 0, g: 255, b: 0 } },\n { position: { x: 2, y: 2, z: 1 }, color: { r: 0, g: 0, b: 255 } }],\n highlighted: false\n },\n line2: {\n name: "Line1",\n frame: "other1",\n width: 3,\n vertices: [{ position: { x: 1, y: 0, z: 0 }, color: { r: 0, g: 0, b: 255 } },\n { position: { x: 1, y: 0, z: 1 }, color: { r: 100, g: 100, b: 255 } },\n { position: { x: 2, y: 1, z: 1 }, color: { r: 50, g: 50, b: 255 } },\n { position: { x: 2, y: 2, z: 1 }, color: { r: 255, g: 255, b: 255 } }],\n highlighted: false\n }\n },\n hulls: {},\n displayTfs: true,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#d0d0d0\',\n planeColor: \'#a8a8a8\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\nexport const EvD = Template.bind({});\nEvD.storyName = "EvD Layout";\nEvD.args = {\n tfs: {\n \'simulated_base_link\': {\n frame: \'world\',\n translation: { x: 0, y: -0.15, z: 0 },\n rotation: { w: 0, x: 0, y: 0, z: 1 },\n },\n \'simulated_shoulder_link\': {\n frame: \'simulated_base_link\',\n translation: { x: 0, y: 0, z: 0.15185 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_upper_arm_link\': {\n frame: \'simulated_shoulder_link\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.7071067811140325, x: 0.7071067812590626, y: 0, z: 0 }\n },\n \'simulated_forearm_link\': {\n frame: \'simulated_upper_arm_link\',\n translation: { x: -0.24355, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_wrist_1_link\': {\n frame: \'simulated_forearm_link\',\n translation: { x: -0.2132, y: 0, z: 0.13105 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_wrist_2_link\': {\n frame: \'simulated_wrist_1_link\',\n translation: { x: 0, y: -0.08535, z: 0 },\n rotation: { w: 0.7071067811140325, x: 0.7071067812590626, y: 0, z: 0 },\n },\n \'simulated_wrist_3_link\': {\n frame: \'simulated_wrist_2_link\',\n translation: { x: 0, y: 0.0921, z: 0 },\n rotation: { w: 0.7071067811140325, x: -0.7071067812590626, y: 0, z: 0 },\n },\n \'simulated_flange\': {\n frame: \'simulated_wrist_3_link\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.5, x: -0.5, y: -0.5, z: -0.5 },\n },\n \'simulated_tool0\': {\n frame: \'simulated_flange\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.5, x: 0.5, y: 0.5, z: 0.5 },\n },\n \'simulated_robotiq_85_base_link\': {\n frame: \'simulated_tool0\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.5, x: 0.5, y: -0.5, z: 0.5 },\n },\n \'simulated_robotiq_85_left_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.05490451627, y: 0.03060114443, z: 0 },\n rotation: { w: 0, x: 1, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.05490451627, y: -0.03060114443, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_left_finger_link\': {\n frame: \'simulated_robotiq_85_left_knuckle_link\',\n translation: { x: -0.00408552455, y: -0.03148604435, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_finger_link\': {\n frame: \'simulated_robotiq_85_right_knuckle_link\',\n translation: { x: -0.00408552455, y: -0.03148604435, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_left_inner_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.06142, y: 0.0127, z: 0 },\n rotation: { w: 0, x: 1, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_inner_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.06142, y: -0.0127, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_left_finger_tip_link\': {\n frame: \'simulated_robotiq_85_left_inner_knuckle_link\',\n translation: { x: 0.04303959807, y: -0.03759940821, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_finger_tip_link\': {\n frame: \'simulated_robotiq_85_right_inner_knuckle_link\',\n translation: { x: 0.04303959807, y: -0.03759940821, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n }\n },\n items: {\n table: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/Table/Table.stl",\n name: "Table",\n frame: "world",\n position: { x: 0, y: 0.36, z: -0.37 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n color: { r: 40, g: 40, b: 40, a: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n bladeConveyor: {\n shape: \'conveyor\',\n name: "Blade Production Conveyor Belt",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n bladeConveyorCollision: {\n shape: \'conveyor_collision\',\n name: "Blade Production Conveyor Belt Collision",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1},\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorReceiver: {\n shape: \'conveyor_receiver\',\n name: "Blade Receiver",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorReceiverCollision: {\n shape: \'conveyor_receiver_collision\',\n name: "Blade Receiver Collision",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n knifeConveyor: {\n shape: \'conveyor\',\n name: "Finished Knife Conveyor Belt",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n knifeConveyorCollision: {\n shape: \'conveyor_collision\',\n name: "Blade Production Conveyor Belt Collision",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1},\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorDispatcher: {\n shape: \'conveyor_dispatcher\',\n name: "Knife Dispatcher",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorDispatcherCollision: {\n shape: \'conveyor_dispatcher_collision\',\n name: "Knife Dispatcher",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n pedestal: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/ur3e-Pedestal/Pedestal.stl",\n name: "Pedestal",\n frame: "world",\n position: { x: 0, y: -0.15, z: -0.38 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n color: { r: 50, g: 50, b: 50, a: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n printer: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",\n name: "3D Printer",\n frame: "world",\n position: { x: -0.28, y: 0.32, z: 0.3 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n blade: {\n shape: "blade",\n name: "Blade",\n frame: "world",\n position: { x: -0.559, y: -0.239, z: -0.03 },\n rotation: { w: 0.644, x: 0.310, y: -0.296, z: -0.638 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n // transformMode: \'translate\',\n onMove: (t) => console.log(t),\n onClick: (e) => { e.stopPropagation() }\n },\n leftHandle: {\n shape: "handle_l",\n name: "Left Handle",\n frame: "world",\n position: { x: -0.2, y: 0.28, z: 0.074 },\n rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n rightHandle: {\n shape: "handle_r",\n name: "Right Handle",\n frame: "world",\n position: { x: -0.3, y: 0.28, z: 0.078 },\n rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n transportJig: {\n shape: "transport_jig",\n name: "Transport Jig",\n frame: "world",\n position: { x: -0.559, y: -0.239, z: -0.03 },\n rotation: { w: 0.644, x: 0.310, y: -0.296, z: -0.638 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n // transformMode: \'rotate\',\n onMove: (t) => console.log(t),\n onClick: (e) => { e.stopPropagation() }\n },\n assemblyJig: {\n shape: "assembly_jig",\n name: "Assembly Jig",\n frame: "world",\n position: { x: 0.2, y: 0.28, z: 0.14 },\n rotation: { w: -0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n assemblyJigCollision: {\n shape: "assembly_jig_collision",\n name: "Assembly Jig Collision",\n frame: "world",\n position: { x: 0.2, y: 0.28, z: 0.14 },\n rotation: { w: -0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n color: {r: 255, g: 0, b: 0, a:0.3 },\n highlighted: false,\n showName: false,\n ghost:true,\n onClick: (e) => { e.stopPropagation() }\n },\n // bladeWithTransportJig: {\n // shape: "blade_with_transport_jig",\n // name: "Blade with Transport Jig",\n // frame: "world",\n // position: { x: 0.2, y: 0.58, z: 0.078 },\n // rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n // scale: {x:0.2,y:0.2,z:0.2},\n // highlighted: false,\n // showName: false,\n // onClick: (e)=>{e.stopPropagation()}\n // },\n knifeWithTransportJig: {\n shape: "knife_with_transport_jig",\n name: "Knife with Transport Jig",\n frame: "world",\n position: { x: 0.584, y: -0.238, z: 0.293 },\n rotation: { w: -0.372, x: 0.604, y: -0.602, z: 0.368 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n // transformMode: \'translate\',\n onMove: (t) => console.log(t),\n onClick: (e) => { e.stopPropagation() }\n },\n // knife: {\n // shape: "knife",\n // name: "Knife",\n // frame: "world",\n // position: { x: 0.2, y: 0.38, z: 0.078 },\n // rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n // scale: {x:0.2,y:0.2,z:0.2},\n // highlighted: false,\n // showName: false,\n // onClick: (e)=>{e.stopPropagation()}\n // },\n base: {\n shape: "package://ur_description/meshes/ur3/visual/base.dae",\n name: \'Base\',\n frame: "simulated_base_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 0, x: 0, y: 0, z: 1 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n shoulderLink: {\n shape: "package://ur_description/meshes/ur3/visual/shoulder.dae",\n name: \'Shoulder Link\',\n frame: "simulated_shoulder_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 0, x: 0, y: 0, z: 1 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n upperArmLink: {\n shape: "package://ur_description/meshes/ur3/visual/upperarm.dae",\n name: "Upper Arm Link",\n frame: "simulated_upper_arm_link",\n position: { x: 0, y: 0, z: 0.12 },\n rotation: { w: 0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n forearmLink: {\n shape: "package://ur_description/meshes/ur3/visual/forearm.dae",\n name: "Forearm Link",\n frame: "simulated_forearm_link",\n position: { x: 0, y: 0, z: 0.027 },\n rotation: { w: 0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n wrist1Link: {\n shape: "package://ur_description/meshes/ur3/visual/wrist1.dae",\n name: "Wrist 1 Link",\n frame: "simulated_wrist_1_link",\n position: { x: 0, y: 0, z: -0.104 },\n rotation: { w: 0.7071068, x: 0.7071068, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n wrist2Link: {\n shape: "package://ur_description/meshes/ur3/visual/wrist2.dae",\n name: "Wrist 2 Link",\n frame: "simulated_wrist_2_link",\n position: { x: 0, y: 0, z: -0.08535 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n wrist3Link: {\n shape: "package://ur_description/meshes/ur3/visual/wrist3.dae",\n name: "Wrist 3 Link",\n frame: "simulated_wrist_3_link",\n position: { x: 0, y: 0, z: -0.0921 },\n rotation: { w: 0.7071068, x: 0.7071068, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n gripperBaseLink: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_base_link.dae",\n name: "Gripper Base",\n frame: "simulated_robotiq_85_base_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",\n name: "Gripper Left Knuckle",\n frame: "simulated_robotiq_85_left_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",\n name: "Gripper Right Knuckle",\n frame: "simulated_robotiq_85_right_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftFinger: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",\n name: "Gripper Left Finger",\n frame: "simulated_robotiq_85_left_finger_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightFinger: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",\n name: "Gripper Right Finger",\n frame: "simulated_robotiq_85_right_finger_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftInnerKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",\n name: "Gripper Left Inner Knuckle",\n frame: "simulated_robotiq_85_left_inner_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightInnerKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",\n name: "Gripper Right Inner Knuckle",\n frame: "simulated_robotiq_85_right_inner_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftFingerTip: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",\n name: "Gripper Left Finger Tip",\n frame: "simulated_robotiq_85_left_finger_tip_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightFingerTip: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",\n name: "Gripper Right Finger Tip",\n frame: "simulated_robotiq_85_right_finger_tip_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n }\n },\n lines: {\n // line1: {\n // name: "Line1",\n // frame: "world",\n // width: 1,\n // vertices: [{position:{x:0,y:0,z:0},color:{r:0,g:0,b:0}},\n // {position:{x:1,y:0,z:0},color:{r:255,g:0,b:0}},\n // {position:{x:1,y:1,z:0},color:{r:255,g:255,b:0}},\n // {position:{x:0,y:1,z:0},color:{r:0,g:255,b:0}},\n // {position:{x:0,y:1,z:1},color:{r:0,g:255,b:255}},\n // {position:{x:0,y:0,z:1},color:{r:0,g:0,b:255}},\n // {position:{x:1,y:0,z:1},color:{r:255,g:0,b:255}},\n // {position:{x:1,y:1,z:1},color:{r:255,g:255,b:255}}],\n // highlighted: false\n // }\n },\n hulls: {\n usage: {\n name: \'Robot Space Usage\',\n frame: \'world\',\n vertices: [\n {x:-0.5,y:-0.5,z:0},\n {x:0.5,y:-0.5,z:0},\n {x:0.5,y:0.5,z:0},\n {x:-0.5,y:0.5,z:0},\n {x:-0.5,y:0.5,z:1},\n {x:-0.5,y:-0.5,z:1},\n {x:0.5,y:-0.5,z:1},\n {x:0.5,y:0.5,z:1},\n {x:-0.75,y:0,z:0.5},\n {x:0.75,y:0,z:0.5},\n {x:0,y:0.75,z:0.5},\n {x:0,y:-0.75,z:0.5},\n ],\n color:{ r: 10, g: 200, b: 235, a: 0.5 },\n wireframe: true,\n highlighted: true,\n showName: true,\n onClick: ()=>console.log(\'Space Usage\')\n }\n },\n displayTfs: false,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#1e1e1e\',\n planeColor: \'#141414\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\nexport const Movement = Template.bind({});\nMovement.args = {\n tfs: {\n static: {\n frame: \'world\',\n translation: { x: -1, y: 1, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 }\n }\n },\n items: {\n immovable: {\n shape: "cube",\n name: "Immovable Cube",\n frame: "static",\n position: { x: 0, y: 0, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 10, b: 10, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: true,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')}\n }, \n translateCube: {\n shape: "cube",\n name: "Translate Cube (Async)",\n frame: "static",\n position: { x: 1, y: 1, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 10, b: 10, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')},\n transformMode: \'translate\',\n onMove: (transform)=>console.log(transform)\n },\n rotateCube: {\n shape: "cube",\n name: "Rotate Cube",\n frame: "static",\n position: { x: 1, y: 0, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 255, b: 10, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')},\n transformMode: \'rotate\',\n onMove: (transform) => {\n useSceneStore.getState().setItemRotation(\'rotateCube\',{\n x:transform.local.quaternion.x,\n y:transform.local.quaternion.y,\n z:transform.local.quaternion.z,\n w:transform.local.quaternion.w\n });\n }\n },\n scaleCube: {\n shape: "cube",\n name: "Scale Cube",\n frame: "static",\n position: { x: 0, y: 1, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 10, b: 255, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')},\n transformMode: \'scale\',\n onMove: (transform) => {\n useSceneStore.getState().setItemScale(\'scaleCube\',{\n x:transform.local.scale.x,\n y:transform.local.scale.y,\n z:transform.local.scale.z,\n });\n }\n }\n },\n lines: {},\n hulls: {},\n displayTfs: false,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#d0d0d0\',\n planeColor: \'#a8a8a8\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\n\nlet debugTfs = {};\nlet debugItems = {};\n\nvar y = -10;\nvar x = -12;\n\nObject.keys(MeshLookupTable).forEach((key,i)=>{\n if (x===0){\n x += 2;\n }else if (x>0){\n if(x % 10 ===0){\n y += 2;\n x = -10;\n }else{\n x += 2;\n }\n }else{\n x += 2;\n }\n debugTfs[`${i}`] = {\n name: `${i}`,\n translation: {x: x, y:y, z: 0},\n rotation: { w: 1, x: 0, y: 0, z: 0 }\n };\n debugItems[key] = {\n shape: key,\n name: key,\n frame: `${i}`,\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: key.includes(\'robotiq_2f_85_gripper_visualization\') ? { x: 0.001, y: 0.001, z: 0.001 } : { x: 1, y: 1, z: 1 },\n editMode: \'inactive\',\n showName: true,\n highlighted: false,\n onClick: () => { console.log(key) }\n }\n\n})\n\nexport const MeshDebugging = Template.bind({});\nMeshDebugging.args = {\n tfs: debugTfs,\n items: debugItems,\n lines: {},\n hulls: {},\n displayTfs: false,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#d0d0d0\',\n planeColor: \'#a8a8a8\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\n\n',locationsMap:{"random-shapes":{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}},"ev-d":{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}},movement:{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}},"mesh-debugging":{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}}}}},title:"Scene",component:Scene};var Scene_stories_Template=function Template(args){var tfs=args.tfs,items=args.items,hulls=args.hulls,lines=args.lines,otherArgs=Scene_stories_objectWithoutProperties(args,Scene_stories_excluded);return Object(react.useLayoutEffect)((function(){SceneStore.setState({tfs:tfs,items:items,hulls:hulls,lines:lines})}),[tfs,items,hulls,lines]),Object(jsx_runtime.jsx)("div",{style:{height:"calc(100vh - 2rem)",width:"calc(100vw - 2rem)"},children:Object(jsx_runtime.jsx)(Scene,Object.assign({},otherArgs,{store:SceneStore}))})};Scene_stories_Template.displayName="Template";var RandomShapes=Scene_stories_Template.bind({});RandomShapes.args={tfs:{other1:{frame:"world",translation:{x:1,y:0,z:0},rotation:{w:1,x:0,y:0,z:0}},other2:{name:"world",translation:{x:-2,y:0,z:2},rotation:{w:.525322,x:.8509035,y:0,z:0}},other3:{name:"world",translation:{x:2,y:0,z:1},rotation:{w:-.604,x:-.002,y:-.756,z:.252}}},items:{1:{shape:"cube",name:"My Cube",frame:"world",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:50,b:10,a:.75},scale:{x:.5,y:.5,z:.5},highlighted:!0,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}},2:{shape:"sphere",name:"My Sphere",frame:"world",position:{x:0,y:2,z:2},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:255,b:30,a:.35},scale:{x:1,y:2,z:1},highlighted:!0,showName:!0,onClick:function onClick(){console.log("sphere")}},3:{shape:"cylinder",name:"My Cylinder",frame:"other2",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:200,b:235,a:.5},scale:{x:1,y:1,z:1},highlighted:!1,onClick:function onClick(){console.log("cylinder")}},4:{shape:"flatarrow",name:"My Arrow 1",frame:"world",position:{x:1,y:0,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:70,g:70,b:250,a:.5},scale:{x:1,y:1,z:1},highlighted:!0,onClick:function onClick(){console.log("flatarrow")}},5:{shape:"arrow",name:"My Arrow 2",frame:"other1",position:{x:1,y:0,z:0},rotation:{w:-.604,x:-.002,y:-.756,z:.252},color:{r:255,g:70,b:250,a:.5},scale:{x:1,y:1,z:1},highlighted:!0,onClick:function onClick(){console.log("arrow2")}},6:{shape:"arrow",name:"My Arrow 3",frame:"other3",position:{x:1,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:70,b:250,a:.5},scale:{x:1,y:2,z:1},highlighted:!1,onClick:function onClick(){console.log("arrow3")}},7:{shape:"package://nao_meshes/meshes/V40/HeadPitch.dae",name:"Nao Head",frame:"world",position:{x:0,y:2,z:1},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!0,highlighted:!0,onClick:function onClick(){console.log("head")}},8:{shape:"package://nao_meshes/meshes/V40/LAnkleRoll.dae",name:"Nao Ankle",frame:"world",position:{x:1,y:.5,z:1},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},highlighted:!1,onClick:function onClick(){console.log("ankle")}},9:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",name:"3d Printer",frame:"world",position:{x:-1,y:1,z:.3},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},highlighted:!1,onClick:function onClick(){console.log("printer")}}},lines:{line1:{name:"Line1",frame:"world",width:1,vertices:[{position:{x:1,y:2,z:0},color:{r:255,g:0,b:0}},{position:{x:2,y:1,z:1},color:{r:0,g:255,b:0}},{position:{x:2,y:2,z:1},color:{r:0,g:0,b:255}}],highlighted:!1},line2:{name:"Line1",frame:"other1",width:3,vertices:[{position:{x:1,y:0,z:0},color:{r:0,g:0,b:255}},{position:{x:1,y:0,z:1},color:{r:100,g:100,b:255}},{position:{x:2,y:1,z:1},color:{r:50,g:50,b:255}},{position:{x:2,y:2,z:1},color:{r:255,g:255,b:255}}],highlighted:!1}},hulls:{},displayTfs:!0,displayGrid:!0,isPolar:!1,backgroundColor:"#d0d0d0",planeColor:"#a8a8a8",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}};var EvD=Scene_stories_Template.bind({});EvD.storyName="EvD Layout",EvD.args={tfs:{simulated_base_link:{frame:"world",translation:{x:0,y:-.15,z:0},rotation:{w:0,x:0,y:0,z:1}},simulated_shoulder_link:{frame:"simulated_base_link",translation:{x:0,y:0,z:.15185},rotation:{w:1,x:0,y:0,z:0}},simulated_upper_arm_link:{frame:"simulated_shoulder_link",translation:{x:0,y:0,z:0},rotation:{w:.7071067811140325,x:.7071067812590626,y:0,z:0}},simulated_forearm_link:{frame:"simulated_upper_arm_link",translation:{x:-.24355,y:0,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_wrist_1_link:{frame:"simulated_forearm_link",translation:{x:-.2132,y:0,z:.13105},rotation:{w:1,x:0,y:0,z:0}},simulated_wrist_2_link:{frame:"simulated_wrist_1_link",translation:{x:0,y:-.08535,z:0},rotation:{w:.7071067811140325,x:.7071067812590626,y:0,z:0}},simulated_wrist_3_link:{frame:"simulated_wrist_2_link",translation:{x:0,y:.0921,z:0},rotation:{w:.7071067811140325,x:-.7071067812590626,y:0,z:0}},simulated_flange:{frame:"simulated_wrist_3_link",translation:{x:0,y:0,z:0},rotation:{w:.5,x:-.5,y:-.5,z:-.5}},simulated_tool0:{frame:"simulated_flange",translation:{x:0,y:0,z:0},rotation:{w:.5,x:.5,y:.5,z:.5}},simulated_robotiq_85_base_link:{frame:"simulated_tool0",translation:{x:0,y:0,z:0},rotation:{w:.5,x:.5,y:-.5,z:.5}},simulated_robotiq_85_left_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.05490451627,y:.03060114443,z:0},rotation:{w:0,x:1,y:0,z:0}},simulated_robotiq_85_right_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.05490451627,y:-.03060114443,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_left_finger_link:{frame:"simulated_robotiq_85_left_knuckle_link",translation:{x:-.00408552455,y:-.03148604435,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_right_finger_link:{frame:"simulated_robotiq_85_right_knuckle_link",translation:{x:-.00408552455,y:-.03148604435,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_left_inner_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.06142,y:.0127,z:0},rotation:{w:0,x:1,y:0,z:0}},simulated_robotiq_85_right_inner_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.06142,y:-.0127,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_left_finger_tip_link:{frame:"simulated_robotiq_85_left_inner_knuckle_link",translation:{x:.04303959807,y:-.03759940821,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_right_finger_tip_link:{frame:"simulated_robotiq_85_right_inner_knuckle_link",translation:{x:.04303959807,y:-.03759940821,z:0},rotation:{w:1,x:0,y:0,z:0}}},items:{table:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/Table/Table.stl",name:"Table",frame:"world",position:{x:0,y:.36,z:-.37},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},color:{r:40,g:40,b:40,a:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},bladeConveyor:{shape:"conveyor",name:"Blade Production Conveyor Belt",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},bladeConveyorCollision:{shape:"conveyor_collision",name:"Blade Production Conveyor Belt Collision",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},conveyorReceiver:{shape:"conveyor_receiver",name:"Blade Receiver",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},conveyorReceiverCollision:{shape:"conveyor_receiver_collision",name:"Blade Receiver Collision",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},knifeConveyor:{shape:"conveyor",name:"Finished Knife Conveyor Belt",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},knifeConveyorCollision:{shape:"conveyor_collision",name:"Blade Production Conveyor Belt Collision",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},conveyorDispatcher:{shape:"conveyor_dispatcher",name:"Knife Dispatcher",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},conveyorDispatcherCollision:{shape:"conveyor_dispatcher_collision",name:"Knife Dispatcher",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},pedestal:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/ur3e-Pedestal/Pedestal.stl",name:"Pedestal",frame:"world",position:{x:0,y:-.15,z:-.38},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},color:{r:50,g:50,b:50,a:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},printer:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",name:"3D Printer",frame:"world",position:{x:-.28,y:.32,z:.3},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},blade:{shape:"blade",name:"Blade",frame:"world",position:{x:-.559,y:-.239,z:-.03},rotation:{w:.644,x:.31,y:-.296,z:-.638},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onMove:function onMove(t){return console.log(t)},onClick:function onClick(e){e.stopPropagation()}},leftHandle:{shape:"handle_l",name:"Left Handle",frame:"world",position:{x:-.2,y:.28,z:.074},rotation:{w:.707,x:.707,y:0,z:0},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},rightHandle:{shape:"handle_r",name:"Right Handle",frame:"world",position:{x:-.3,y:.28,z:.078},rotation:{w:.707,x:.707,y:0,z:0},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},transportJig:{shape:"transport_jig",name:"Transport Jig",frame:"world",position:{x:-.559,y:-.239,z:-.03},rotation:{w:.644,x:.31,y:-.296,z:-.638},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onMove:function onMove(t){return console.log(t)},onClick:function onClick(e){e.stopPropagation()}},assemblyJig:{shape:"assembly_jig",name:"Assembly Jig",frame:"world",position:{x:.2,y:.28,z:.14},rotation:{w:-.5,x:.5,y:-.5,z:-.5},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},assemblyJigCollision:{shape:"assembly_jig_collision",name:"Assembly Jig Collision",frame:"world",position:{x:.2,y:.28,z:.14},rotation:{w:-.5,x:.5,y:-.5,z:-.5},scale:{x:.2,y:.2,z:.2},color:{r:255,g:0,b:0,a:.3},highlighted:!1,showName:!1,ghost:!0,onClick:function onClick(e){e.stopPropagation()}},knifeWithTransportJig:{shape:"knife_with_transport_jig",name:"Knife with Transport Jig",frame:"world",position:{x:.584,y:-.238,z:.293},rotation:{w:-.372,x:.604,y:-.602,z:.368},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onMove:function onMove(t){return console.log(t)},onClick:function onClick(e){e.stopPropagation()}},base:{shape:"package://ur_description/meshes/ur3/visual/base.dae",name:"Base",frame:"simulated_base_link",position:{x:0,y:0,z:0},rotation:{w:0,x:0,y:0,z:1},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},shoulderLink:{shape:"package://ur_description/meshes/ur3/visual/shoulder.dae",name:"Shoulder Link",frame:"simulated_shoulder_link",position:{x:0,y:0,z:0},rotation:{w:0,x:0,y:0,z:1},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},upperArmLink:{shape:"package://ur_description/meshes/ur3/visual/upperarm.dae",name:"Upper Arm Link",frame:"simulated_upper_arm_link",position:{x:0,y:0,z:.12},rotation:{w:.5,x:.5,y:-.5,z:-.5},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},forearmLink:{shape:"package://ur_description/meshes/ur3/visual/forearm.dae",name:"Forearm Link",frame:"simulated_forearm_link",position:{x:0,y:0,z:.027},rotation:{w:.5,x:.5,y:-.5,z:-.5},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},wrist1Link:{shape:"package://ur_description/meshes/ur3/visual/wrist1.dae",name:"Wrist 1 Link",frame:"simulated_wrist_1_link",position:{x:0,y:0,z:-.104},rotation:{w:.7071068,x:.7071068,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},wrist2Link:{shape:"package://ur_description/meshes/ur3/visual/wrist2.dae",name:"Wrist 2 Link",frame:"simulated_wrist_2_link",position:{x:0,y:0,z:-.08535},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},wrist3Link:{shape:"package://ur_description/meshes/ur3/visual/wrist3.dae",name:"Wrist 3 Link",frame:"simulated_wrist_3_link",position:{x:0,y:0,z:-.0921},rotation:{w:.7071068,x:.7071068,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperBaseLink:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_base_link.dae",name:"Gripper Base",frame:"simulated_robotiq_85_base_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",name:"Gripper Left Knuckle",frame:"simulated_robotiq_85_left_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",name:"Gripper Right Knuckle",frame:"simulated_robotiq_85_right_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftFinger:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",name:"Gripper Left Finger",frame:"simulated_robotiq_85_left_finger_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightFinger:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",name:"Gripper Right Finger",frame:"simulated_robotiq_85_right_finger_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftInnerKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",name:"Gripper Left Inner Knuckle",frame:"simulated_robotiq_85_left_inner_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightInnerKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",name:"Gripper Right Inner Knuckle",frame:"simulated_robotiq_85_right_inner_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftFingerTip:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",name:"Gripper Left Finger Tip",frame:"simulated_robotiq_85_left_finger_tip_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightFingerTip:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",name:"Gripper Right Finger Tip",frame:"simulated_robotiq_85_right_finger_tip_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1}},lines:{},hulls:{usage:{name:"Robot Space Usage",frame:"world",vertices:[{x:-.5,y:-.5,z:0},{x:.5,y:-.5,z:0},{x:.5,y:.5,z:0},{x:-.5,y:.5,z:0},{x:-.5,y:.5,z:1},{x:-.5,y:-.5,z:1},{x:.5,y:-.5,z:1},{x:.5,y:.5,z:1},{x:-.75,y:0,z:.5},{x:.75,y:0,z:.5},{x:0,y:.75,z:.5},{x:0,y:-.75,z:.5}],color:{r:10,g:200,b:235,a:.5},wireframe:!0,highlighted:!0,showName:!0,onClick:function onClick(){return console.log("Space Usage")}}},displayTfs:!1,displayGrid:!0,isPolar:!1,backgroundColor:"#1e1e1e",planeColor:"#141414",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}};var Movement=Scene_stories_Template.bind({});Movement.args={tfs:{static:{frame:"world",translation:{x:-1,y:1,z:0},rotation:{w:1,x:0,y:0,z:0}}},items:{immovable:{shape:"cube",name:"Immovable Cube",frame:"static",position:{x:0,y:0,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:10,b:10,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!0,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}},translateCube:{shape:"cube",name:"Translate Cube (Async)",frame:"static",position:{x:1,y:1,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:10,b:10,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")},transformMode:"translate",onMove:function onMove(transform){return console.log(transform)}},rotateCube:{shape:"cube",name:"Rotate Cube",frame:"static",position:{x:1,y:0,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:255,b:10,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")},transformMode:"rotate",onMove:function onMove(transform){SceneStore.getState().setItemRotation("rotateCube",{x:transform.local.quaternion.x,y:transform.local.quaternion.y,z:transform.local.quaternion.z,w:transform.local.quaternion.w})}},scaleCube:{shape:"cube",name:"Scale Cube",frame:"static",position:{x:0,y:1,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:10,b:255,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")},transformMode:"scale",onMove:function onMove(transform){SceneStore.getState().setItemScale("scaleCube",{x:transform.local.scale.x,y:transform.local.scale.y,z:transform.local.scale.z})}}},lines:{},hulls:{},displayTfs:!1,displayGrid:!0,isPolar:!1,backgroundColor:"#d0d0d0",planeColor:"#a8a8a8",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}};var debugTfs={},debugItems={},Scene_stories_y=-10,Scene_stories_x=-12;Object.keys(MeshLookupTable).forEach((function(key,i){0===Scene_stories_x?Scene_stories_x+=2:Scene_stories_x>0&&Scene_stories_x%10==0?(Scene_stories_y+=2,Scene_stories_x=-10):Scene_stories_x+=2,debugTfs[""+i]={name:""+i,translation:{x:Scene_stories_x,y:Scene_stories_y,z:0},rotation:{w:1,x:0,y:0,z:0}},debugItems[key]={shape:key,name:key,frame:""+i,position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:key.includes("robotiq_2f_85_gripper_visualization")?{x:.001,y:.001,z:.001}:{x:1,y:1,z:1},editMode:"inactive",showName:!0,highlighted:!1,onClick:function onClick(){console.log(key)}}}));var MeshDebugging=Scene_stories_Template.bind({});MeshDebugging.args={tfs:debugTfs,items:debugItems,lines:{},hulls:{},displayTfs:!1,displayGrid:!0,isPolar:!1,backgroundColor:"#d0d0d0",planeColor:"#a8a8a8",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}},RandomShapes.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},RandomShapes.parameters),EvD.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},EvD.parameters),Movement.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},Movement.parameters),MeshDebugging.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},MeshDebugging.parameters)},903:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var preview_namespaceObject={};__webpack_require__.r(preview_namespaceObject),__webpack_require__.d(preview_namespaceObject,"parameters",(function(){return parameters}));__webpack_require__(26),__webpack_require__(8),__webpack_require__(48),__webpack_require__(453),__webpack_require__(49),__webpack_require__(882);var client_api=__webpack_require__(920),esm=__webpack_require__(9),parameters={docs:{theme:__webpack_require__(154).a.dark},actions:{argTypesRegex:"^on[A-Z].*"},controls:{matchers:{color:/(background|color)$/i,date:/Date$/}}};function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.keys(preview_namespaceObject).forEach((function(key){var value=preview_namespaceObject[key];switch(key){case"args":case"argTypes":return esm.a.warn("Invalid args/argTypes in config, ignoring.",JSON.stringify(value));case"decorators":return value.forEach((function(decorator){return Object(client_api.c)(decorator,!1)}));case"loaders":return value.forEach((function(loader){return Object(client_api.d)(loader,!1)}));case"parameters":return Object(client_api.e)(function _objectSpread(target){for(var i=1;i0){var pos=[transforms[0].position.x,transforms[0].position.y,transforms[0].position.z],rot=[transforms[0].rotation.x,transforms[0].rotation.y,transforms[0].rotation.z,transforms[0].rotation.w];return Object(jsx_runtime.jsx)("group",{position:pos,quaternion:rot,up:[0,0,1],children:Object(jsx_runtime.jsx)(GhostTF,{transforms:transforms.filter((function(_,i){return 0!==i})),store:store,children:children})})}return Object(jsx_runtime.jsx)(jsx_runtime.Fragment,{children:children})}TF.displayName="TF",WorldTF.displayName="WorldTF",TF.__docgenInfo={description:"",methods:[],displayName:"TF"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TF.jsx"]={name:"TF",docgenInfo:TF.__docgenInfo,path:"src/components/TF.jsx"}),WorldTF.__docgenInfo={description:"",methods:[],displayName:"WorldTF"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TF.jsx"]={name:"WorldTF",docgenInfo:WorldTF.__docgenInfo,path:"src/components/TF.jsx"}),GhostTF.__docgenInfo={description:"",methods:[],displayName:"GhostTF"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/TF.jsx"]={name:"GhostTF",docgenInfo:GhostTF.__docgenInfo,path:"src/components/TF.jsx"});var tag=__webpack_require__(917);function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);iarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i0)return null;Object(react.useLayoutEffect)((function(){var _ref$current,_ref$current2,_ref$current3;null==ref||null===(_ref$current=ref.current)||void 0===_ref$current||_ref$current.position.set(position.x,position.y,position.z),null==ref||null===(_ref$current2=ref.current)||void 0===_ref$current2||_ref$current2.quaternion.set(rotation.x,rotation.y,rotation.z,rotation.w),null==ref||null===(_ref$current3=ref.current)||void 0===_ref$current3||_ref$current3.scale.set(scale.x,scale.y,scale.z)}),[ref,position,rotation,scale]);var ghostGroup=MeshConvert_itemToGhost({shape:shape},highlightColor);return Object(jsx_runtime.jsx)("group",{ref:ref,up:[0,0,1],children:Object(jsx_runtime.jsx)("group",{rotation:[Math.PI/2,0,0],children:ghostGroup})})}));GhostItem.__docgenInfo={description:"",methods:[],displayName:"GhostItem"};var components_GhostItem=GhostItem;"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/GhostItem.jsx"]={name:"GhostItem",docgenInfo:GhostItem.__docgenInfo,path:"src/components/GhostItem.jsx"});var controls_TransformControls=__webpack_require__(498),lodash_pick=__webpack_require__(499),lodash_pick_default=__webpack_require__.n(lodash_pick),_excluded=["children"],_excluded2=["camera","itemKey","highlightColor","store"];function TransformControls_slicedToArray(arr,i){return function TransformControls_arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function TransformControls_iterableToArrayLimit(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function TransformControls_unsupportedIterableToArray(o,minLen){if(!o)return;if("string"==typeof o)return TransformControls_arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(o);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return TransformControls_arrayLikeToArray(o,minLen)}(arr,i)||function TransformControls_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function TransformControls_arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var TransformControls_TransformControls=function TransformControls(_ref){_ref.children;var props=_objectWithoutProperties(_ref,_excluded),camera=props.camera,itemKey=props.itemKey,highlightColor=props.highlightColor,store=props.store,rest=_objectWithoutProperties(props,_excluded2),transforms=store(Object(react.useCallback)((function(state){for(var transforms=[],tfKey=state.items[itemKey].frame;tfKey&&"world"!==tfKey;){var tf=state.tfs[tfKey];transforms.push({position:tf.translation,rotation:tf.rotation}),tfKey=state.tfs[tfKey.frame]}return transforms}),[itemKey])),ref=Object(react.useRef)(),target=Object(react.useRef)(),transformProps=lodash_pick_default()(rest,["enabled","axis","mode","translationSnap","rotationSnap","scaleSnap","space","size","showX","showY","showZ"]),gl=Object(react_three_fiber_esm.d)((function(_ref2){return _ref2.gl})),defaultCamera=Object(react_three_fiber_esm.d)((function(_ref3){return _ref3.camera})),invalidate=Object(react_three_fiber_esm.d)((function(_ref4){return _ref4.invalidate})),explCamera=camera||defaultCamera,controls=TransformControls_slicedToArray(Object(react.useState)((function(){return new controls_TransformControls.a(explCamera,gl.domElement)})),1)[0],_useState4=TransformControls_slicedToArray(Object(react.useState)(!1),2),transforming=_useState4[0],setTransforming=_useState4[1];return Object(react.useEffect)((function(){var callback=function callback(event){var _target$current,_target$current2,_target$current3;(event.value&&!transforming?(setTransforming(!0),props.onDragStart&&props.onDragStart()):!event.value&&transforming&&(setTransforming(!1),props.onDragEnd&&props.onDragEnd()),props.onMove)&&props.onMove({world:{position:controls.worldPosition,quaternion:controls.worldQuaternion,scale:controls._worldScale},local:{position:null==target||null===(_target$current=target.current)||void 0===_target$current?void 0:_target$current.position,quaternion:null==target||null===(_target$current2=target.current)||void 0===_target$current2?void 0:_target$current2.quaternion,scale:null==target||null===(_target$current3=target.current)||void 0===_target$current3?void 0:_target$current3.scale}})};return controls&&controls.addEventListener("dragging-changed",callback),function(){controls.removeEventListener("dragging-changed",callback)}})),Object(react.useLayoutEffect)((function(){null==controls||controls.attach(target.current)}),[target,controls]),Object(react.useEffect)((function(){return controls&&controls.addEventListener("change",invalidate),function(){var _controls$removeEvent;return null==controls||null===(_controls$removeEvent=controls.removeEventListener)||void 0===_controls$removeEvent?void 0:_controls$removeEvent.call(controls,"change",invalidate)}}),[controls,invalidate]),controls?Object(jsx_runtime.jsxs)(jsx_runtime.Fragment,{children:[Object(jsx_runtime.jsx)("primitive",Object.assign({ref:ref,dispose:void 0,object:controls},transformProps)),Object(jsx_runtime.jsx)(GhostTF,{transforms:transforms,store:store,children:Object(jsx_runtime.jsx)(components_GhostItem,{ref:target,highlightColor:highlightColor,itemKey:itemKey,store:store})})]}):null};function Content_toConsumableArray(arr){return function Content_arrayWithoutHoles(arr){if(Array.isArray(arr))return Content_arrayLikeToArray(arr)}(arr)||function Content_iterableToArray(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}(arr)||Content_unsupportedIterableToArray(arr)||function Content_nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Content_slicedToArray(arr,i){return function Content_arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function Content_iterableToArrayLimit(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||Content_unsupportedIterableToArray(arr,i)||function Content_nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Content_unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return Content_arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Content_arrayLikeToArray(o,minLen):void 0}}function Content_arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i-1})),ambientLightRef=Object(react.useRef)(),directionalLightRef=Object(react.useRef)(),orbitControls=Object(react.useRef)(),planeRGB=function hexToRgb(hex){hex=hex.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(m,r,g,b){return r+r+g+g+b+b}));var result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);return result?{r:parseInt(result[1],16),g:parseInt(result[2],16),b:parseInt(result[3],16)}:null}(planeColor||"a8a8a8"),planeRGBA=[planeRGB.r,planeRGB.g,planeRGB.b,.5];return Object(react_three_fiber_esm.b)(Object(react.useCallback)((function(_ref){var time=1e3*_ref.clock.getElapsedTime();items.forEach((function(item){var colorInstruction=store.getState().items[item.itemKey].color;if(colorInstruction){var r="function"==typeof colorInstruction.r?colorInstruction.r(time)/255:colorInstruction.r/255,g="function"==typeof colorInstruction.g?colorInstruction.g(time)/255:colorInstruction.g/255,b="function"==typeof colorInstruction.b?colorInstruction.b(time)/255:colorInstruction.b/255,opacity="function"==typeof colorInstruction.a?colorInstruction.a(time):colorInstruction.a;item.childrenRefs.forEach((function(ref){ref.current&&ref.current.material&&(ref.current.material.color.setRGB(r,g,b),ref.current.material.opacity=opacity,ref.current.material.transparent=1!==opacity)}))}})),hulls.forEach((function(hull){var colorInstruction=store.getState().hulls[hull.hullKey].color;if(colorInstruction){var r="function"==typeof colorInstruction.r?colorInstruction.r(time)/255:colorInstruction.r/255,g="function"==typeof colorInstruction.g?colorInstruction.g(time)/255:colorInstruction.g/255,b="function"==typeof colorInstruction.b?colorInstruction.b(time)/255:colorInstruction.b/255,opacity="function"==typeof colorInstruction.a?colorInstruction.a(time):colorInstruction.a;hull.childrenRefs.forEach((function(ref){ref.current&&ref.current.material&&(ref.current.material.color.setRGB(r,g,b),ref.current.material.opacity=opacity,ref.current.material.transparent=1!==opacity)}))}}))}),[items,hulls])),Object(jsx_runtime.jsxs)(react_default.a.Fragment,{children:[Object(jsx_runtime.jsx)(OrbitControls.a,{ref:orbitControls}),Object(jsx_runtime.jsx)("pointLight",{intensity:.5,position:[-1,-3,3],color:"#FFFAEE"}),Object(jsx_runtime.jsx)(AmbientLight,{ref:ambientLightRef,intensity:.7,color:"white"}),Object(jsx_runtime.jsx)(DirectionalLight,{ref:directionalLightRef,castShadow:!0,position:[5,15,15],intensity:.6,color:"#FFFAEE"}),Object(jsx_runtime.jsx)("spotLight",{penumbra:1,position:[-1,-1,4],intensity:.3,castShadow:!0,color:"#FFFAEE"}),Object(jsx_runtime.jsx)("color",{attach:"background",args:[backgroundColor||"#d0d0d0"]}),Object(jsx_runtime.jsx)("fogExp2",{attach:"fog",args:[backgroundColor||"#d0d0d0",.01]}),Object(jsx_runtime.jsx)(shapes.a,{receiveShadow:!0,scale:1e3,position:[0,0,plane?plane-.01:-.01],material:MaterialMaker_MaterialMaker.apply(void 0,planeRGBA)}),Content_renderTree("world",displayTfs,tfs,items,lines,hulls,store),Object(jsx_runtime.jsx)("group",{position:[0,0,plane||0],rotation:[Math.PI/2,0,0],up:[0,0,1],children:displayGrid&&(isPolar?Object(jsx_runtime.jsx)("polarGridHelper",{args:[10,16,8,64,"white","gray"]}):Object(jsx_runtime.jsx)("gridHelper",{args:[20,20,"white","gray"]}))}),movableItems.map((function(movableItem,idx){return Object(jsx_runtime.jsx)(TransformControls_TransformControls,{itemKey:movableItem.itemKey,mode:movableItem.transformMode,onDragEnd:function onDragEnd(){orbitControls.current&&(orbitControls.current.enabled=!0)},onDragStart:function onDragStart(){orbitControls.current&&(orbitControls.current.enabled=!1)},onMove:movableItem.onMove,store:store},"movableItemTransform-"+idx)})),Object(jsx_runtime.jsxs)(dist.a,{autoClear:!1,multisampling:0,children:[Object(jsx_runtime.jsx)(dist.b,{selection:highlightedRefs,xRay:!0,blur:!0,edgeStrength:15,pulseSpeed:.3,visibleEdgeColor:highlightColor||"#ffffff",hiddenEdgeColor:highlightColor||"#ffffff"}),Object(jsx_runtime.jsx)(dist.c,{})]})]})}Content_renderTree.displayName="renderTree",Content.displayName="Content",Content.__docgenInfo={description:"",methods:[],displayName:"Content"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Content.jsx"]={name:"Content",docgenInfo:Content.__docgenInfo,path:"src/components/Content.jsx"});var zustand=__webpack_require__(149),zustand_default=__webpack_require__.n(zustand),immer_esm=__webpack_require__(500),SceneStore=(__webpack_require__(314),zustand_default()(function immer(config){return function(set,get,api){return config((function(fn){return set(Object(immer_esm.a)(fn))}),get,api)}}((function SceneSlice(set){return{items:{},lines:{},tfs:{},hulls:{},clearItems:function clearItems(){return set((function(_){return{items:{}}}))},clearLines:function clearLines(){return set((function(_){return{lines:{}}}))},clearTfs:function clearTfs(){return set((function(_){return{tfs:{}}}))},clearHulls:function clearHulls(){return set((function(_){return{hulls:{}}}))},setItems:function setItems(items){return set((function(_){return{items:items}}))},setLines:function setLines(lines){return set((function(_){return{lines:lines}}))},setTfs:function setTfs(tfs){return set((function(_){return{tfs:tfs}}))},setHulls:function setHulls(hulls){return set((function(_){return{hulls:hulls}}))},removeItem:function removeItem(key){return set((function(state){delete state.items[key]}))},removeLine:function removeLine(key){return set((function(state){delete state.lines[key]}))},removeTf:function removeTf(key){return set((function(state){delete state.tfs[key]}))},removeHull:function removeHull(key){return set((function(state){delete state.hulls[key]}))},setItem:function setItem(key,item){return set((function(state){state.items[key]=item}))},setLine:function setLine(key,line){return set((function(state){state.lines[key]=line}))},setTf:function setTf(key,tf){return set((function(state){state.tfs[key]=tf}))},setHull:function setHull(key,hull){return set((function(state){state.hulls[key]=hull}))},setItemName:function setItemName(key,name){return set((function(state){state.items[key].name=name}))},setItemShowName:function setItemShowName(key,showName){return set((function(state){state.items[key].showName=showName}))},setItemPosition:function setItemPosition(key,position){return set((function(state){state.items[key].position=position}))},setItemRotation:function setItemRotation(key,rotation){return set((function(state){state.items[key].rotation=rotation}))},setItemScale:function setItemScale(key,scale){return set((function(state){state.items[key].scale=scale}))},setItemColor:function setItemColor(key,color){return set((function(state){state.items[key].color=color}))},setItemWireframe:function setItemWireframe(key,wireframe){return set((function(state){state.items[key].wireframe=wireframe}))},setItemHighlighted:function setItemHighlighted(key,value){return set((function(state){state.items[key].highlighted=value}))},setItemOnClick:function setItemOnClick(key,fn){return set((function(state){state.items[key].onClick=fn}))},setItemOnPointerOver:function setItemOnPointerOver(key,fn){return set((function(state){state.items[key].onPointerOver=fn}))},setItemOnPointerOut:function setItemOnPointerOut(key,fn){return set((function(state){state.items[key].onPointerOut=fn}))},setItemTransformMode:function setItemTransformMode(key,mode){return set((function(state){state.items[key].transformMode=mode}))},setItemOnMove:function setItemOnMove(key,fn){return set((function(state){state.items[key].onMove=fn}))},setLineName:function setLineName(key,name){return set((function(state){state.lines[key].name=name}))},setLineWidth:function setLineWidth(key,width){return set((function(state){state.lines[key].width=width}))},setLineVertices:function setLineVertices(key,vertices){return set((function(state){state.items.vertices=vertices}))},addLineVertex:function addLineVertex(key,vertex){return set((function(state){state.lines[key].vertices.push(vertex)}))},setLineVertex:function setLineVertex(key,index,vertex){return set((function(state){state.lines[key].vertices[index]=vertex}))},removeLineVertex:function removeLineVertex(key,index){return set((function(state){state.lines[key].vertices.splice(index,1)}))},setTfTranslation:function setTfTranslation(key,translation){return set((function(state){state.tfs[key].translation=translation}))},setTfRotation:function setTfRotation(key,rotation){return set((function(state){state.tfs[key].rotation=rotation}))},setHullName:function setHullName(key,name){return set((function(state){state.hulls[key].name=name}))},setHullVertices:function setHullVertices(key,vertices){return set((function(state){state.hulls[key].vertices=vertices}))},addHullVertex:function addHullVertex(key,vertex){return set((function(state){state.hulls[key].vertices.push(vertex)}))},setHullVertex:function setHullVertex(key,index,vertex){return set((function(state){state.hulls[key].vertices[index]=vertex}))},removeHullVertex:function removeHullVertex(key,index){return set((function(state){state.hulls[key].vertices.splice(index,1)}))},setHullColor:function setHullColor(key,color){return set((function(state){state.hulls[key].scale=color}))},setHullWireframe:function setHullWireframe(key,wireframe){return set((function(state){state.hulls[key].wireframe=wireframe}))},setHullHighlighted:function setHullHighlighted(key,value){return set((function(state){state.hulls[key].highlighted=value}))},setHullOnClick:function setHullOnClick(key,fn){return set((function(state){state.hulls[key].onClick=fn}))},setHullOnPointerOver:function setHullOnPointerOver(key,fn){return set((function(state){state.hulls[key].onPointerOver=fn}))},setHullOnPointerOut:function setHullOnPointerOut(key,fn){return set((function(state){state.hulls[key].onPointerOut=fn}))}}}))));function Loading(){var progress=Object(useProgress.a)().progress;return Object(jsx_runtime.jsx)(Html.a,{children:Object(jsx_runtime.jsx)(es_progress.a,{type:"circle",percent:progress.toPrecision(2)})})}function Scene(props){var backgroundColor=props.backgroundColor,store=props.store;return Object(jsx_runtime.jsx)(react_three_fiber_esm.a,{shadows:!0,style:{background:backgroundColor||"#d0d0d0"},resize:{polyfill:resize_observer.a},onPointerMissed:props.onPointerMissed?props.onPointerMissed:function(){},children:Object(jsx_runtime.jsx)(react.Suspense,{fallback:Object(jsx_runtime.jsx)(Loading,{}),children:Object(jsx_runtime.jsx)(Content,Object.assign({},props,{store:store||SceneStore}))})})}three_module.Object3D.DefaultUp=new three_module.Vector3(0,0,1),Loading.displayName="Loading",Scene.displayName="Scene",Scene.__docgenInfo={description:"",methods:[],displayName:"Scene"},"undefined"!=typeof STORYBOOK_REACT_CLASSES&&(STORYBOOK_REACT_CLASSES["src/components/Scene.jsx"]={name:"Scene",docgenInfo:Scene.__docgenInfo,path:"src/components/Scene.jsx"});var Scene_stories_excluded=["tfs","items","hulls","lines"];function Scene_stories_objectWithoutProperties(source,excluded){if(null==source)return{};var key,i,target=function Scene_stories_objectWithoutPropertiesLoose(source,excluded){if(null==source)return{};var key,i,target={},sourceKeys=Object.keys(source);for(i=0;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}__webpack_exports__.default={parameters:{storySource:{source:'import React, { useLayoutEffect } from \'react\';\nimport Scene from \'../components/Scene\';\nimport useSceneStore from \'../components/SceneStore\';\nimport { MeshLookupTable } from \'../components/MeshLookup\';\n\nexport default {\n title: \'Scene\',\n component: Scene,\n}\n\nconst Template = (args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n};\n\nexport const RandomShapes = Template.bind({});\nRandomShapes.args = {\n tfs: {\n other1: {\n frame: \'world\',\n translation: { x: 1, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 }\n },\n other2: {\n name: \'world\',\n translation: { x: -2, y: 0, z: 2 },\n rotation: { w: 0.525322, x: 0.8509035, y: 0, z: 0 }\n },\n other3: {\n name: \'world\',\n translation: { x: 2, y: 0, z: 1 },\n rotation: { w: -0.604, x: -0.002, y: -0.756, z: 0.252 }\n }\n },\n items: {\n 1: {\n shape: "cube",\n name: "My Cube",\n frame: "world",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 50, b: 10, a: 0.75 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: true,\n onClick: () => { console.log(\'cube\') },\n onPointerOver: () => { console.log(\'hover\') },\n onPointerOut: () => { console.log(\'hover out\') }\n },\n 2: {\n shape: "sphere",\n name: "My Sphere",\n frame: "world",\n position: { x: 0, y: 2, z: 2 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 255, b: 30, a: 0.35 },\n scale: { x: 1, y: 2, z: 1 },\n highlighted: true,\n showName: true,\n onClick: () => { console.log(\'sphere\') }\n },\n 3: {\n shape: "cylinder",\n name: "My Cylinder",\n frame: "other2",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 200, b: 235, a: 0.5 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'cylinder\') }\n },\n 4: {\n shape: "flatarrow",\n name: "My Arrow 1",\n frame: "world",\n position: { x: 1, y: 0, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 70, g: 70, b: 250, a: 0.5 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: true,\n onClick: () => { console.log(\'flatarrow\') }\n },\n 5: {\n shape: "arrow",\n name: "My Arrow 2",\n frame: "other1",\n position: { x: 1, y: 0, z: 0 },\n rotation: { w: -0.604, x: -0.002, y: -0.756, z: 0.252 },\n color: { r: 255, g: 70, b: 250, a: 0.5 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: true,\n onClick: () => { console.log(\'arrow2\') }\n },\n 6: {\n shape: "arrow",\n name: "My Arrow 3",\n frame: "other3",\n position: { x: 1, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 70, b: 250, a: 0.5 },\n scale: { x: 1, y: 2, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'arrow3\') }\n },\n 7: {\n shape: "package://nao_meshes/meshes/V40/HeadPitch.dae",\n name: "Nao Head",\n frame: "world",\n position: { x: 0, y: 2, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: true,\n highlighted: true,\n onClick: () => { console.log(\'head\') }\n },\n 8: {\n shape: "package://nao_meshes/meshes/V40/LAnkleRoll.dae",\n name: "Nao Ankle",\n frame: "world",\n position: { x: 1, y: 0.5, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'ankle\') }\n },\n 9: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",\n name: "3d Printer",\n frame: "world",\n position: { x: -1, y: 1, z: .3 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n onClick: () => { console.log(\'printer\') }\n }\n },\n lines: {\n line1: {\n name: "Line1",\n frame: "world",\n width: 1,\n vertices: [{ position: { x: 1, y: 2, z: 0 }, color: { r: 255, g: 0, b: 0 } },\n { position: { x: 2, y: 1, z: 1 }, color: { r: 0, g: 255, b: 0 } },\n { position: { x: 2, y: 2, z: 1 }, color: { r: 0, g: 0, b: 255 } }],\n highlighted: false\n },\n line2: {\n name: "Line1",\n frame: "other1",\n width: 3,\n vertices: [{ position: { x: 1, y: 0, z: 0 }, color: { r: 0, g: 0, b: 255 } },\n { position: { x: 1, y: 0, z: 1 }, color: { r: 100, g: 100, b: 255 } },\n { position: { x: 2, y: 1, z: 1 }, color: { r: 50, g: 50, b: 255 } },\n { position: { x: 2, y: 2, z: 1 }, color: { r: 255, g: 255, b: 255 } }],\n highlighted: false\n }\n },\n hulls: {},\n displayTfs: true,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#d0d0d0\',\n planeColor: \'#a8a8a8\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\nexport const EvD = Template.bind({});\nEvD.storyName = "EvD Layout";\nEvD.args = {\n tfs: {\n \'simulated_base_link\': {\n frame: \'world\',\n translation: { x: 0, y: -0.15, z: 0 },\n rotation: { w: 0, x: 0, y: 0, z: 1 },\n },\n \'simulated_shoulder_link\': {\n frame: \'simulated_base_link\',\n translation: { x: 0, y: 0, z: 0.15185 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_upper_arm_link\': {\n frame: \'simulated_shoulder_link\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.7071067811140325, x: 0.7071067812590626, y: 0, z: 0 }\n },\n \'simulated_forearm_link\': {\n frame: \'simulated_upper_arm_link\',\n translation: { x: -0.24355, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_wrist_1_link\': {\n frame: \'simulated_forearm_link\',\n translation: { x: -0.2132, y: 0, z: 0.13105 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_wrist_2_link\': {\n frame: \'simulated_wrist_1_link\',\n translation: { x: 0, y: -0.08535, z: 0 },\n rotation: { w: 0.7071067811140325, x: 0.7071067812590626, y: 0, z: 0 },\n },\n \'simulated_wrist_3_link\': {\n frame: \'simulated_wrist_2_link\',\n translation: { x: 0, y: 0.0921, z: 0 },\n rotation: { w: 0.7071067811140325, x: -0.7071067812590626, y: 0, z: 0 },\n },\n \'simulated_flange\': {\n frame: \'simulated_wrist_3_link\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.5, x: -0.5, y: -0.5, z: -0.5 },\n },\n \'simulated_tool0\': {\n frame: \'simulated_flange\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.5, x: 0.5, y: 0.5, z: 0.5 },\n },\n \'simulated_robotiq_85_base_link\': {\n frame: \'simulated_tool0\',\n translation: { x: 0, y: 0, z: 0 },\n rotation: { w: 0.5, x: 0.5, y: -0.5, z: 0.5 },\n },\n \'simulated_robotiq_85_left_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.05490451627, y: 0.03060114443, z: 0 },\n rotation: { w: 0, x: 1, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.05490451627, y: -0.03060114443, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_left_finger_link\': {\n frame: \'simulated_robotiq_85_left_knuckle_link\',\n translation: { x: -0.00408552455, y: -0.03148604435, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_finger_link\': {\n frame: \'simulated_robotiq_85_right_knuckle_link\',\n translation: { x: -0.00408552455, y: -0.03148604435, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_left_inner_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.06142, y: 0.0127, z: 0 },\n rotation: { w: 0, x: 1, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_inner_knuckle_link\': {\n frame: \'simulated_robotiq_85_base_link\',\n translation: { x: 0.06142, y: -0.0127, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_left_finger_tip_link\': {\n frame: \'simulated_robotiq_85_left_inner_knuckle_link\',\n translation: { x: 0.04303959807, y: -0.03759940821, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n },\n \'simulated_robotiq_85_right_finger_tip_link\': {\n frame: \'simulated_robotiq_85_right_inner_knuckle_link\',\n translation: { x: 0.04303959807, y: -0.03759940821, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n }\n },\n items: {\n table: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/Table/Table.stl",\n name: "Table",\n frame: "world",\n position: { x: 0, y: 0.36, z: -0.37 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n color: { r: 10, g: 10, b: 10, a: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n bladeConveyor: {\n shape: \'conveyor\',\n name: "Blade Production Conveyor Belt",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n bladeConveyorCollision: {\n shape: \'conveyor_collision\',\n name: "Blade Production Conveyor Belt Collision",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1},\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorReceiver: {\n shape: \'conveyor_receiver\',\n name: "Blade Receiver",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorReceiverCollision: {\n shape: \'conveyor_receiver_collision\',\n name: "Blade Receiver Collision",\n frame: "world",\n position: { x: -0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: 0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n knifeConveyor: {\n shape: \'conveyor\',\n name: "Finished Knife Conveyor Belt",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n knifeConveyorCollision: {\n shape: \'conveyor_collision\',\n name: "Blade Production Conveyor Belt Collision",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1},\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorDispatcher: {\n shape: \'conveyor_dispatcher\',\n name: "Knife Dispatcher",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n conveyorDispatcherCollision: {\n shape: \'conveyor_dispatcher_collision\',\n name: "Knife Dispatcher",\n frame: "world",\n position: { x: 0.85, y: -0.25, z: -0.75 },\n rotation: { w: 0.707, x: 0, y: 0, z: -0.707 },\n color: {r: 255, g: 0, b: 0, a: 0.3},\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n wireframe: true,\n onClick: (e) => { e.stopPropagation() }\n },\n pedestal: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/ur3e-Pedestal/Pedestal.stl",\n name: "Pedestal",\n frame: "world",\n position: { x: 0, y: -0.15, z: -0.38 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n color: {r: 15, g: 15, b: 15, a: 1},\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n printer: {\n shape: "package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",\n name: "3D Printer",\n frame: "world",\n position: { x: -0.28, y: 0.32, z: 0.3 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n blade: {\n shape: "blade",\n name: "Blade",\n frame: "world",\n position: { x: -0.559, y: -0.239, z: -0.03 },\n rotation: { w: 0.644, x: 0.310, y: -0.296, z: -0.638 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n // transformMode: \'translate\',\n onMove: (t) => console.log(t),\n onClick: (e) => { e.stopPropagation() }\n },\n leftHandle: {\n shape: "handle_l",\n name: "Left Handle",\n frame: "world",\n position: { x: -0.2, y: 0.28, z: 0.074 },\n rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n rightHandle: {\n shape: "handle_r",\n name: "Right Handle",\n frame: "world",\n position: { x: -0.3, y: 0.28, z: 0.078 },\n rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n transportJig: {\n shape: "transport_jig",\n name: "Transport Jig",\n frame: "world",\n position: { x: -0.559, y: -0.239, z: -0.03 },\n rotation: { w: 0.644, x: 0.310, y: -0.296, z: -0.638 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n // transformMode: \'rotate\',\n onMove: (t) => console.log(t),\n onClick: (e) => { e.stopPropagation() }\n },\n assemblyJig: {\n shape: "assembly_jig",\n name: "Assembly Jig",\n frame: "world",\n position: { x: 0.2, y: 0.28, z: 0.14 },\n rotation: { w: -0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n onClick: (e) => { e.stopPropagation() }\n },\n assemblyJigCollision: {\n shape: "assembly_jig_collision",\n name: "Assembly Jig Collision",\n frame: "world",\n position: { x: 0.2, y: 0.28, z: 0.14 },\n rotation: { w: -0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n color: {r: 255, g: 0, b: 0, a:0.3 },\n highlighted: false,\n showName: false,\n ghost:true,\n onClick: (e) => { e.stopPropagation() }\n },\n // bladeWithTransportJig: {\n // shape: "blade_with_transport_jig",\n // name: "Blade with Transport Jig",\n // frame: "world",\n // position: { x: 0.2, y: 0.58, z: 0.078 },\n // rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n // scale: {x:0.2,y:0.2,z:0.2},\n // highlighted: false,\n // showName: false,\n // onClick: (e)=>{e.stopPropagation()}\n // },\n knifeWithTransportJig: {\n shape: "knife_with_transport_jig",\n name: "Knife with Transport Jig",\n frame: "world",\n position: { x: 0.584, y: -0.238, z: 0.293 },\n rotation: { w: -0.372, x: 0.604, y: -0.602, z: 0.368 },\n scale: { x: 0.2, y: 0.2, z: 0.2 },\n highlighted: false,\n showName: false,\n // transformMode: \'translate\',\n onMove: (t) => console.log(t),\n onClick: (e) => { e.stopPropagation() }\n },\n // knife: {\n // shape: "knife",\n // name: "Knife",\n // frame: "world",\n // position: { x: 0.2, y: 0.38, z: 0.078 },\n // rotation: { w: 0.707, x: 0.707, y: 0, z: 0 },\n // scale: {x:0.2,y:0.2,z:0.2},\n // highlighted: false,\n // showName: false,\n // onClick: (e)=>{e.stopPropagation()}\n // },\n base: {\n shape: "package://ur_description/meshes/ur3/visual/base.dae",\n name: \'Base\',\n frame: "simulated_base_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 0, x: 0, y: 0, z: 1 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n shoulderLink: {\n shape: "package://ur_description/meshes/ur3/visual/shoulder.dae",\n name: \'Shoulder Link\',\n frame: "simulated_shoulder_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 0, x: 0, y: 0, z: 1 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n upperArmLink: {\n shape: "package://ur_description/meshes/ur3/visual/upperarm.dae",\n name: "Upper Arm Link",\n frame: "simulated_upper_arm_link",\n position: { x: 0, y: 0, z: 0.12 },\n rotation: { w: 0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n forearmLink: {\n shape: "package://ur_description/meshes/ur3/visual/forearm.dae",\n name: "Forearm Link",\n frame: "simulated_forearm_link",\n position: { x: 0, y: 0, z: 0.027 },\n rotation: { w: 0.5, x: 0.5, y: -0.5, z: -0.5 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n wrist1Link: {\n shape: "package://ur_description/meshes/ur3/visual/wrist1.dae",\n name: "Wrist 1 Link",\n frame: "simulated_wrist_1_link",\n position: { x: 0, y: 0, z: -0.104 },\n rotation: { w: 0.7071068, x: 0.7071068, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n wrist2Link: {\n shape: "package://ur_description/meshes/ur3/visual/wrist2.dae",\n name: "Wrist 2 Link",\n frame: "simulated_wrist_2_link",\n position: { x: 0, y: 0, z: -0.08535 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n wrist3Link: {\n shape: "package://ur_description/meshes/ur3/visual/wrist3.dae",\n name: "Wrist 3 Link",\n frame: "simulated_wrist_3_link",\n position: { x: 0, y: 0, z: -0.0921 },\n rotation: { w: 0.7071068, x: 0.7071068, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false,\n },\n gripperBaseLink: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_base_link.dae",\n name: "Gripper Base",\n frame: "simulated_robotiq_85_base_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",\n name: "Gripper Left Knuckle",\n frame: "simulated_robotiq_85_left_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",\n name: "Gripper Right Knuckle",\n frame: "simulated_robotiq_85_right_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftFinger: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",\n name: "Gripper Left Finger",\n frame: "simulated_robotiq_85_left_finger_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightFinger: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",\n name: "Gripper Right Finger",\n frame: "simulated_robotiq_85_right_finger_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftInnerKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",\n name: "Gripper Left Inner Knuckle",\n frame: "simulated_robotiq_85_left_inner_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightInnerKnuckle: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",\n name: "Gripper Right Inner Knuckle",\n frame: "simulated_robotiq_85_right_inner_knuckle_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperLeftFingerTip: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",\n name: "Gripper Left Finger Tip",\n frame: "simulated_robotiq_85_left_finger_tip_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n },\n gripperRightFingerTip: {\n shape: "package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",\n name: "Gripper Right Finger Tip",\n frame: "simulated_robotiq_85_right_finger_tip_link",\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: { x: 1, y: 1, z: 1 },\n showName: false,\n onClick: (e) => { e.stopPropagation() },\n highlighted: false\n }\n },\n lines: {\n // line1: {\n // name: "Line1",\n // frame: "world",\n // width: 1,\n // vertices: [{position:{x:0,y:0,z:0},color:{r:0,g:0,b:0}},\n // {position:{x:1,y:0,z:0},color:{r:255,g:0,b:0}},\n // {position:{x:1,y:1,z:0},color:{r:255,g:255,b:0}},\n // {position:{x:0,y:1,z:0},color:{r:0,g:255,b:0}},\n // {position:{x:0,y:1,z:1},color:{r:0,g:255,b:255}},\n // {position:{x:0,y:0,z:1},color:{r:0,g:0,b:255}},\n // {position:{x:1,y:0,z:1},color:{r:255,g:0,b:255}},\n // {position:{x:1,y:1,z:1},color:{r:255,g:255,b:255}}],\n // highlighted: false\n // }\n },\n hulls: {\n usage: {\n name: \'Robot Space Usage\',\n frame: \'world\',\n vertices: [\n {x:-0.5,y:-0.5,z:0},\n {x:0.5,y:-0.5,z:0},\n {x:0.5,y:0.5,z:0},\n {x:-0.5,y:0.5,z:0},\n {x:-0.5,y:0.5,z:1},\n {x:-0.5,y:-0.5,z:1},\n {x:0.5,y:-0.5,z:1},\n {x:0.5,y:0.5,z:1},\n {x:-0.75,y:0,z:0.5},\n {x:0.75,y:0,z:0.5},\n {x:0,y:0.75,z:0.5},\n {x:0,y:-0.75,z:0.5},\n ],\n color:{ r: 10, g: 200, b: 235, a: (time)=>(Math.sin(time/1000)/6+0.25) },\n wireframe: false,\n highlighted: false,\n showName: true,\n onClick: ()=>console.log(\'Space Usage\')\n }\n },\n displayTfs: false,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#1e1e1e\',\n planeColor: \'#141414\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\nexport const Movement = Template.bind({});\nMovement.args = {\n tfs: {\n static: {\n frame: \'world\',\n translation: { x: -1, y: 1, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 }\n }\n },\n items: {\n immovable: {\n shape: "cube",\n name: "Immovable Cube",\n frame: "static",\n position: { x: 0, y: 0, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 255, g: 10, b: 10, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: true,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')}\n }, \n translateCube: {\n shape: "cube",\n name: "Translate Cube (Async)",\n frame: "static",\n position: { x: 1, y: 1, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 10, b: 10, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')},\n transformMode: \'translate\',\n onMove: (transform)=>console.log(transform)\n },\n rotateCube: {\n shape: "cube",\n name: "Rotate Cube",\n frame: "static",\n position: { x: 1, y: 0, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 255, b: 10, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')},\n transformMode: \'rotate\',\n onMove: (transform) => {\n useSceneStore.getState().setItemRotation(\'rotateCube\',{\n x:transform.local.quaternion.x,\n y:transform.local.quaternion.y,\n z:transform.local.quaternion.z,\n w:transform.local.quaternion.w\n });\n }\n },\n scaleCube: {\n shape: "cube",\n name: "Scale Cube",\n frame: "static",\n position: { x: 0, y: 1, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 10, b: 255, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')},\n transformMode: \'scale\',\n onMove: (transform) => {\n useSceneStore.getState().setItemScale(\'scaleCube\',{\n x:transform.local.scale.x,\n y:transform.local.scale.y,\n z:transform.local.scale.z,\n });\n }\n }\n },\n lines: {},\n hulls: {},\n displayTfs: false,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#d0d0d0\',\n planeColor: \'#a8a8a8\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\n\nexport const Animation = Template.bind({});\nAnimation.args = {\n tfs: {\n static: {\n frame: \'world\',\n translation: { x: (time=>Math.cos(time/1000)), y: (time)=>Math.sin(time/1000), z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 }\n }\n },\n items: {\n immovable: {\n shape: "cube",\n name: "Immovable Cube",\n frame: "static",\n position: { x: 0, y: 0, z: (time)=>Math.sin(time/1000)+1},\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: (time)=>(Math.sin(time/1000)/2+0.5)*255, g: 10, b: 10, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: true,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')}\n }, \n translateCube: {\n shape: "cube",\n name: "Translate Cube (Async)",\n frame: "static",\n position: { x: 1, y: 1, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 10, b: 10, a: (time)=>(Math.sin(time/1000)/2+0.5)},\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')}\n },\n rotateCube: {\n shape: "cube",\n name: "Rotate Cube",\n frame: "static",\n position: { x: 1, y: 0, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 255, b: 10, a: 1 },\n scale: { x: 0.5, y: (time)=>Math.sin(time/1000)/2+1, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')}\n },\n scaleCube: {\n shape: "cube",\n name: "Scale Cube",\n frame: "static",\n position: { x: 0, y: 1, z: 1 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n color: { r: 10, g: 10, b: 255, a: 1 },\n scale: { x: 0.5, y: 0.5, z: 0.5 },\n highlighted: false,\n onClick: () => {console.log(\'cube\')},\n onPointerOver: () => {console.log(\'hover\')},\n onPointerOut: () => {console.log(\'hover out\')}\n }\n },\n lines: {},\n hulls: {},\n displayTfs: false,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#d0d0d0\',\n planeColor: \'#a8a8a8\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\n\nlet debugTfs = {};\nlet debugItems = {};\n\nvar y = -10;\nvar x = -12;\n\nObject.keys(MeshLookupTable).forEach((key,i)=>{\n if (x===0){\n x += 2;\n }else if (x>0){\n if(x % 10 ===0){\n y += 2;\n x = -10;\n }else{\n x += 2;\n }\n }else{\n x += 2;\n }\n debugTfs[`${i}`] = {\n name: `${i}`,\n translation: {x: x, y:y, z: 0},\n rotation: { w: 1, x: 0, y: 0, z: 0 }\n };\n debugItems[key] = {\n shape: key,\n name: key,\n frame: `${i}`,\n position: { x: 0, y: 0, z: 0 },\n rotation: { w: 1, x: 0, y: 0, z: 0 },\n scale: key.includes(\'robotiq_2f_85_gripper_visualization\') ? { x: 0.001, y: 0.001, z: 0.001 } : { x: 1, y: 1, z: 1 },\n editMode: \'inactive\',\n showName: true,\n highlighted: false,\n onClick: () => { console.log(key) }\n }\n\n})\n\nexport const MeshDebugging = Template.bind({});\nMeshDebugging.args = {\n tfs: debugTfs,\n items: debugItems,\n lines: {},\n hulls: {},\n displayTfs: false,\n displayGrid: true,\n isPolar: false,\n backgroundColor: \'#d0d0d0\',\n planeColor: \'#a8a8a8\',\n highlightColor: \'#ffffff\',\n plane: -0.75,\n fov: 60,\n onPointerMissed: () => console.log(\'Missed Click\')\n}\n\n',locationsMap:{"random-shapes":{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}},"ev-d":{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}},movement:{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}},animation:{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}},"mesh-debugging":{startLoc:{col:17,line:11},endLoc:{col:1,line:17},startBody:{col:17,line:11},endBody:{col:1,line:17}}}}},title:"Scene",component:Scene};var Scene_stories_Template=function Template(args){var tfs=args.tfs,items=args.items,hulls=args.hulls,lines=args.lines,otherArgs=Scene_stories_objectWithoutProperties(args,Scene_stories_excluded);return Object(react.useLayoutEffect)((function(){SceneStore.setState({tfs:tfs,items:items,hulls:hulls,lines:lines})}),[tfs,items,hulls,lines]),Object(jsx_runtime.jsx)("div",{style:{height:"calc(100vh - 2rem)",width:"calc(100vw - 2rem)"},children:Object(jsx_runtime.jsx)(Scene,Object.assign({},otherArgs,{store:SceneStore}))})};Scene_stories_Template.displayName="Template";var RandomShapes=Scene_stories_Template.bind({});RandomShapes.args={tfs:{other1:{frame:"world",translation:{x:1,y:0,z:0},rotation:{w:1,x:0,y:0,z:0}},other2:{name:"world",translation:{x:-2,y:0,z:2},rotation:{w:.525322,x:.8509035,y:0,z:0}},other3:{name:"world",translation:{x:2,y:0,z:1},rotation:{w:-.604,x:-.002,y:-.756,z:.252}}},items:{1:{shape:"cube",name:"My Cube",frame:"world",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:50,b:10,a:.75},scale:{x:.5,y:.5,z:.5},highlighted:!0,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}},2:{shape:"sphere",name:"My Sphere",frame:"world",position:{x:0,y:2,z:2},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:255,b:30,a:.35},scale:{x:1,y:2,z:1},highlighted:!0,showName:!0,onClick:function onClick(){console.log("sphere")}},3:{shape:"cylinder",name:"My Cylinder",frame:"other2",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:200,b:235,a:.5},scale:{x:1,y:1,z:1},highlighted:!1,onClick:function onClick(){console.log("cylinder")}},4:{shape:"flatarrow",name:"My Arrow 1",frame:"world",position:{x:1,y:0,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:70,g:70,b:250,a:.5},scale:{x:1,y:1,z:1},highlighted:!0,onClick:function onClick(){console.log("flatarrow")}},5:{shape:"arrow",name:"My Arrow 2",frame:"other1",position:{x:1,y:0,z:0},rotation:{w:-.604,x:-.002,y:-.756,z:.252},color:{r:255,g:70,b:250,a:.5},scale:{x:1,y:1,z:1},highlighted:!0,onClick:function onClick(){console.log("arrow2")}},6:{shape:"arrow",name:"My Arrow 3",frame:"other3",position:{x:1,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:70,b:250,a:.5},scale:{x:1,y:2,z:1},highlighted:!1,onClick:function onClick(){console.log("arrow3")}},7:{shape:"package://nao_meshes/meshes/V40/HeadPitch.dae",name:"Nao Head",frame:"world",position:{x:0,y:2,z:1},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!0,highlighted:!0,onClick:function onClick(){console.log("head")}},8:{shape:"package://nao_meshes/meshes/V40/LAnkleRoll.dae",name:"Nao Ankle",frame:"world",position:{x:1,y:.5,z:1},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},highlighted:!1,onClick:function onClick(){console.log("ankle")}},9:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",name:"3d Printer",frame:"world",position:{x:-1,y:1,z:.3},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},highlighted:!1,onClick:function onClick(){console.log("printer")}}},lines:{line1:{name:"Line1",frame:"world",width:1,vertices:[{position:{x:1,y:2,z:0},color:{r:255,g:0,b:0}},{position:{x:2,y:1,z:1},color:{r:0,g:255,b:0}},{position:{x:2,y:2,z:1},color:{r:0,g:0,b:255}}],highlighted:!1},line2:{name:"Line1",frame:"other1",width:3,vertices:[{position:{x:1,y:0,z:0},color:{r:0,g:0,b:255}},{position:{x:1,y:0,z:1},color:{r:100,g:100,b:255}},{position:{x:2,y:1,z:1},color:{r:50,g:50,b:255}},{position:{x:2,y:2,z:1},color:{r:255,g:255,b:255}}],highlighted:!1}},hulls:{},displayTfs:!0,displayGrid:!0,isPolar:!1,backgroundColor:"#d0d0d0",planeColor:"#a8a8a8",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}};var EvD=Scene_stories_Template.bind({});EvD.storyName="EvD Layout",EvD.args={tfs:{simulated_base_link:{frame:"world",translation:{x:0,y:-.15,z:0},rotation:{w:0,x:0,y:0,z:1}},simulated_shoulder_link:{frame:"simulated_base_link",translation:{x:0,y:0,z:.15185},rotation:{w:1,x:0,y:0,z:0}},simulated_upper_arm_link:{frame:"simulated_shoulder_link",translation:{x:0,y:0,z:0},rotation:{w:.7071067811140325,x:.7071067812590626,y:0,z:0}},simulated_forearm_link:{frame:"simulated_upper_arm_link",translation:{x:-.24355,y:0,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_wrist_1_link:{frame:"simulated_forearm_link",translation:{x:-.2132,y:0,z:.13105},rotation:{w:1,x:0,y:0,z:0}},simulated_wrist_2_link:{frame:"simulated_wrist_1_link",translation:{x:0,y:-.08535,z:0},rotation:{w:.7071067811140325,x:.7071067812590626,y:0,z:0}},simulated_wrist_3_link:{frame:"simulated_wrist_2_link",translation:{x:0,y:.0921,z:0},rotation:{w:.7071067811140325,x:-.7071067812590626,y:0,z:0}},simulated_flange:{frame:"simulated_wrist_3_link",translation:{x:0,y:0,z:0},rotation:{w:.5,x:-.5,y:-.5,z:-.5}},simulated_tool0:{frame:"simulated_flange",translation:{x:0,y:0,z:0},rotation:{w:.5,x:.5,y:.5,z:.5}},simulated_robotiq_85_base_link:{frame:"simulated_tool0",translation:{x:0,y:0,z:0},rotation:{w:.5,x:.5,y:-.5,z:.5}},simulated_robotiq_85_left_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.05490451627,y:.03060114443,z:0},rotation:{w:0,x:1,y:0,z:0}},simulated_robotiq_85_right_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.05490451627,y:-.03060114443,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_left_finger_link:{frame:"simulated_robotiq_85_left_knuckle_link",translation:{x:-.00408552455,y:-.03148604435,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_right_finger_link:{frame:"simulated_robotiq_85_right_knuckle_link",translation:{x:-.00408552455,y:-.03148604435,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_left_inner_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.06142,y:.0127,z:0},rotation:{w:0,x:1,y:0,z:0}},simulated_robotiq_85_right_inner_knuckle_link:{frame:"simulated_robotiq_85_base_link",translation:{x:.06142,y:-.0127,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_left_finger_tip_link:{frame:"simulated_robotiq_85_left_inner_knuckle_link",translation:{x:.04303959807,y:-.03759940821,z:0},rotation:{w:1,x:0,y:0,z:0}},simulated_robotiq_85_right_finger_tip_link:{frame:"simulated_robotiq_85_right_inner_knuckle_link",translation:{x:.04303959807,y:-.03759940821,z:0},rotation:{w:1,x:0,y:0,z:0}}},items:{table:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/Table/Table.stl",name:"Table",frame:"world",position:{x:0,y:.36,z:-.37},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},color:{r:10,g:10,b:10,a:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},bladeConveyor:{shape:"conveyor",name:"Blade Production Conveyor Belt",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},bladeConveyorCollision:{shape:"conveyor_collision",name:"Blade Production Conveyor Belt Collision",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},conveyorReceiver:{shape:"conveyor_receiver",name:"Blade Receiver",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},conveyorReceiverCollision:{shape:"conveyor_receiver_collision",name:"Blade Receiver Collision",frame:"world",position:{x:-.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},knifeConveyor:{shape:"conveyor",name:"Finished Knife Conveyor Belt",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},knifeConveyorCollision:{shape:"conveyor_collision",name:"Blade Production Conveyor Belt Collision",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},conveyorDispatcher:{shape:"conveyor_dispatcher",name:"Knife Dispatcher",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},conveyorDispatcherCollision:{shape:"conveyor_dispatcher_collision",name:"Knife Dispatcher",frame:"world",position:{x:.85,y:-.25,z:-.75},rotation:{w:.707,x:0,y:0,z:-.707},color:{r:255,g:0,b:0,a:.3},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,wireframe:!0,onClick:function onClick(e){e.stopPropagation()}},pedestal:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/ur3e-Pedestal/Pedestal.stl",name:"Pedestal",frame:"world",position:{x:0,y:-.15,z:-.38},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},color:{r:15,g:15,b:15,a:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},printer:{shape:"package://evd_ros_tasks/tasks/3d_printer_machine_tending/models/MK2-Printer/MK2-Printer.stl",name:"3D Printer",frame:"world",position:{x:-.28,y:.32,z:.3},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},blade:{shape:"blade",name:"Blade",frame:"world",position:{x:-.559,y:-.239,z:-.03},rotation:{w:.644,x:.31,y:-.296,z:-.638},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onMove:function onMove(t){return console.log(t)},onClick:function onClick(e){e.stopPropagation()}},leftHandle:{shape:"handle_l",name:"Left Handle",frame:"world",position:{x:-.2,y:.28,z:.074},rotation:{w:.707,x:.707,y:0,z:0},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},rightHandle:{shape:"handle_r",name:"Right Handle",frame:"world",position:{x:-.3,y:.28,z:.078},rotation:{w:.707,x:.707,y:0,z:0},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},transportJig:{shape:"transport_jig",name:"Transport Jig",frame:"world",position:{x:-.559,y:-.239,z:-.03},rotation:{w:.644,x:.31,y:-.296,z:-.638},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onMove:function onMove(t){return console.log(t)},onClick:function onClick(e){e.stopPropagation()}},assemblyJig:{shape:"assembly_jig",name:"Assembly Jig",frame:"world",position:{x:.2,y:.28,z:.14},rotation:{w:-.5,x:.5,y:-.5,z:-.5},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onClick:function onClick(e){e.stopPropagation()}},assemblyJigCollision:{shape:"assembly_jig_collision",name:"Assembly Jig Collision",frame:"world",position:{x:.2,y:.28,z:.14},rotation:{w:-.5,x:.5,y:-.5,z:-.5},scale:{x:.2,y:.2,z:.2},color:{r:255,g:0,b:0,a:.3},highlighted:!1,showName:!1,ghost:!0,onClick:function onClick(e){e.stopPropagation()}},knifeWithTransportJig:{shape:"knife_with_transport_jig",name:"Knife with Transport Jig",frame:"world",position:{x:.584,y:-.238,z:.293},rotation:{w:-.372,x:.604,y:-.602,z:.368},scale:{x:.2,y:.2,z:.2},highlighted:!1,showName:!1,onMove:function onMove(t){return console.log(t)},onClick:function onClick(e){e.stopPropagation()}},base:{shape:"package://ur_description/meshes/ur3/visual/base.dae",name:"Base",frame:"simulated_base_link",position:{x:0,y:0,z:0},rotation:{w:0,x:0,y:0,z:1},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},shoulderLink:{shape:"package://ur_description/meshes/ur3/visual/shoulder.dae",name:"Shoulder Link",frame:"simulated_shoulder_link",position:{x:0,y:0,z:0},rotation:{w:0,x:0,y:0,z:1},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},upperArmLink:{shape:"package://ur_description/meshes/ur3/visual/upperarm.dae",name:"Upper Arm Link",frame:"simulated_upper_arm_link",position:{x:0,y:0,z:.12},rotation:{w:.5,x:.5,y:-.5,z:-.5},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},forearmLink:{shape:"package://ur_description/meshes/ur3/visual/forearm.dae",name:"Forearm Link",frame:"simulated_forearm_link",position:{x:0,y:0,z:.027},rotation:{w:.5,x:.5,y:-.5,z:-.5},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},wrist1Link:{shape:"package://ur_description/meshes/ur3/visual/wrist1.dae",name:"Wrist 1 Link",frame:"simulated_wrist_1_link",position:{x:0,y:0,z:-.104},rotation:{w:.7071068,x:.7071068,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},wrist2Link:{shape:"package://ur_description/meshes/ur3/visual/wrist2.dae",name:"Wrist 2 Link",frame:"simulated_wrist_2_link",position:{x:0,y:0,z:-.08535},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},wrist3Link:{shape:"package://ur_description/meshes/ur3/visual/wrist3.dae",name:"Wrist 3 Link",frame:"simulated_wrist_3_link",position:{x:0,y:0,z:-.0921},rotation:{w:.7071068,x:.7071068,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperBaseLink:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_base_link.dae",name:"Gripper Base",frame:"simulated_robotiq_85_base_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",name:"Gripper Left Knuckle",frame:"simulated_robotiq_85_left_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_knuckle_link.dae",name:"Gripper Right Knuckle",frame:"simulated_robotiq_85_right_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftFinger:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",name:"Gripper Left Finger",frame:"simulated_robotiq_85_left_finger_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightFinger:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_link.dae",name:"Gripper Right Finger",frame:"simulated_robotiq_85_right_finger_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftInnerKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",name:"Gripper Left Inner Knuckle",frame:"simulated_robotiq_85_left_inner_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightInnerKnuckle:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_inner_knuckle_link.dae",name:"Gripper Right Inner Knuckle",frame:"simulated_robotiq_85_right_inner_knuckle_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperLeftFingerTip:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",name:"Gripper Left Finger Tip",frame:"simulated_robotiq_85_left_finger_tip_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1},gripperRightFingerTip:{shape:"package://robotiq_85_description/meshes/visual/robotiq_85_finger_tip_link.dae",name:"Gripper Right Finger Tip",frame:"simulated_robotiq_85_right_finger_tip_link",position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:{x:1,y:1,z:1},showName:!1,onClick:function onClick(e){e.stopPropagation()},highlighted:!1}},lines:{},hulls:{usage:{name:"Robot Space Usage",frame:"world",vertices:[{x:-.5,y:-.5,z:0},{x:.5,y:-.5,z:0},{x:.5,y:.5,z:0},{x:-.5,y:.5,z:0},{x:-.5,y:.5,z:1},{x:-.5,y:-.5,z:1},{x:.5,y:-.5,z:1},{x:.5,y:.5,z:1},{x:-.75,y:0,z:.5},{x:.75,y:0,z:.5},{x:0,y:.75,z:.5},{x:0,y:-.75,z:.5}],color:{r:10,g:200,b:235,a:function a(time){return Math.sin(time/1e3)/6+.25}},wireframe:!1,highlighted:!1,showName:!0,onClick:function onClick(){return console.log("Space Usage")}}},displayTfs:!1,displayGrid:!0,isPolar:!1,backgroundColor:"#1e1e1e",planeColor:"#141414",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}};var Movement=Scene_stories_Template.bind({});Movement.args={tfs:{static:{frame:"world",translation:{x:-1,y:1,z:0},rotation:{w:1,x:0,y:0,z:0}}},items:{immovable:{shape:"cube",name:"Immovable Cube",frame:"static",position:{x:0,y:0,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:255,g:10,b:10,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!0,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}},translateCube:{shape:"cube",name:"Translate Cube (Async)",frame:"static",position:{x:1,y:1,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:10,b:10,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")},transformMode:"translate",onMove:function onMove(transform){return console.log(transform)}},rotateCube:{shape:"cube",name:"Rotate Cube",frame:"static",position:{x:1,y:0,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:255,b:10,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")},transformMode:"rotate",onMove:function onMove(transform){SceneStore.getState().setItemRotation("rotateCube",{x:transform.local.quaternion.x,y:transform.local.quaternion.y,z:transform.local.quaternion.z,w:transform.local.quaternion.w})}},scaleCube:{shape:"cube",name:"Scale Cube",frame:"static",position:{x:0,y:1,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:10,b:255,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")},transformMode:"scale",onMove:function onMove(transform){SceneStore.getState().setItemScale("scaleCube",{x:transform.local.scale.x,y:transform.local.scale.y,z:transform.local.scale.z})}}},lines:{},hulls:{},displayTfs:!1,displayGrid:!0,isPolar:!1,backgroundColor:"#d0d0d0",planeColor:"#a8a8a8",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}};var Animation=Scene_stories_Template.bind({});Animation.args={tfs:{static:{frame:"world",translation:{x:function x(time){return Math.cos(time/1e3)},y:function y(time){return Math.sin(time/1e3)},z:0},rotation:{w:1,x:0,y:0,z:0}}},items:{immovable:{shape:"cube",name:"Immovable Cube",frame:"static",position:{x:0,y:0,z:function z(time){return Math.sin(time/1e3)+1}},rotation:{w:1,x:0,y:0,z:0},color:{r:function r(time){return 255*(Math.sin(time/1e3)/2+.5)},g:10,b:10,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!0,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}},translateCube:{shape:"cube",name:"Translate Cube (Async)",frame:"static",position:{x:1,y:1,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:10,b:10,a:function a(time){return Math.sin(time/1e3)/2+.5}},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}},rotateCube:{shape:"cube",name:"Rotate Cube",frame:"static",position:{x:1,y:0,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:255,b:10,a:1},scale:{x:.5,y:function y(time){return Math.sin(time/1e3)/2+1},z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}},scaleCube:{shape:"cube",name:"Scale Cube",frame:"static",position:{x:0,y:1,z:1},rotation:{w:1,x:0,y:0,z:0},color:{r:10,g:10,b:255,a:1},scale:{x:.5,y:.5,z:.5},highlighted:!1,onClick:function onClick(){console.log("cube")},onPointerOver:function onPointerOver(){console.log("hover")},onPointerOut:function onPointerOut(){console.log("hover out")}}},lines:{},hulls:{},displayTfs:!1,displayGrid:!0,isPolar:!1,backgroundColor:"#d0d0d0",planeColor:"#a8a8a8",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}};var debugTfs={},debugItems={},Scene_stories_y=-10,Scene_stories_x=-12;Object.keys(MeshLookupTable).forEach((function(key,i){0===Scene_stories_x?Scene_stories_x+=2:Scene_stories_x>0&&Scene_stories_x%10==0?(Scene_stories_y+=2,Scene_stories_x=-10):Scene_stories_x+=2,debugTfs[""+i]={name:""+i,translation:{x:Scene_stories_x,y:Scene_stories_y,z:0},rotation:{w:1,x:0,y:0,z:0}},debugItems[key]={shape:key,name:key,frame:""+i,position:{x:0,y:0,z:0},rotation:{w:1,x:0,y:0,z:0},scale:key.includes("robotiq_2f_85_gripper_visualization")?{x:.001,y:.001,z:.001}:{x:1,y:1,z:1},editMode:"inactive",showName:!0,highlighted:!1,onClick:function onClick(){console.log(key)}}}));var MeshDebugging=Scene_stories_Template.bind({});MeshDebugging.args={tfs:debugTfs,items:debugItems,lines:{},hulls:{},displayTfs:!1,displayGrid:!0,isPolar:!1,backgroundColor:"#d0d0d0",planeColor:"#a8a8a8",highlightColor:"#ffffff",plane:-.75,fov:60,onPointerMissed:function onPointerMissed(){return console.log("Missed Click")}},RandomShapes.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},RandomShapes.parameters),EvD.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},EvD.parameters),Movement.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},Movement.parameters),Animation.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},Animation.parameters),MeshDebugging.parameters=Object.assign({storySource:{source:"(args) => {\n const { tfs, items, hulls, lines, ...otherArgs } = args;\n useLayoutEffect(() => {\n useSceneStore.setState({ tfs, items, hulls, lines })\n }, [tfs, items, hulls, lines])\n return
\n}"}},MeshDebugging.parameters)},903:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var preview_namespaceObject={};__webpack_require__.r(preview_namespaceObject),__webpack_require__.d(preview_namespaceObject,"parameters",(function(){return parameters}));__webpack_require__(26),__webpack_require__(8),__webpack_require__(45),__webpack_require__(453),__webpack_require__(46),__webpack_require__(882);var client_api=__webpack_require__(920),esm=__webpack_require__(9),parameters={docs:{theme:__webpack_require__(154).a.dark},actions:{argTypesRegex:"^on[A-Z].*"},controls:{matchers:{color:/(background|color)$/i,date:/Date$/}}};function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.keys(preview_namespaceObject).forEach((function(key){var value=preview_namespaceObject[key];switch(key){case"args":case"argTypes":return esm.a.warn("Invalid args/argTypes in config, ignoring.",JSON.stringify(value));case"decorators":return value.forEach((function(decorator){return Object(client_api.c)(decorator,!1)}));case"loaders":return value.forEach((function(loader){return Object(client_api.d)(loader,!1)}));case"parameters":return Object(client_api.e)(function _objectSpread(target){for(var i=1;i>8&255]+_lut[d0>>16&255]+_lut[d0>>24&255]+"-"+_lut[255&d1]+_lut[d1>>8&255]+"-"+_lut[d1>>16&15|64]+_lut[d1>>24&255]+"-"+_lut[63&d2|128]+_lut[d2>>8&255]+"-"+_lut[d2>>16&255]+_lut[d2>>24&255]+_lut[255&d3]+_lut[d3>>8&255]+_lut[d3>>16&255]+_lut[d3>>24&255]).toUpperCase()}function clamp(value,min,max){return Math.max(min,Math.min(max,value))}function euclideanModulo(n,m){return(n%m+m)%m}function lerp(x,y,t){return(1-t)*x+t*y}function isPowerOfTwo(value){return 0==(value&value-1)&&0!==value}function ceilPowerOfTwo(value){return Math.pow(2,Math.ceil(Math.log(value)/Math.LN2))}function floorPowerOfTwo(value){return Math.pow(2,Math.floor(Math.log(value)/Math.LN2))}var MathUtils=Object.freeze({__proto__:null,DEG2RAD:DEG2RAD,RAD2DEG:RAD2DEG,generateUUID:generateUUID,clamp:clamp,euclideanModulo:euclideanModulo,mapLinear:function mapLinear(x,a1,a2,b1,b2){return b1+(x-a1)*(b2-b1)/(a2-a1)},inverseLerp:function inverseLerp(x,y,value){return x!==y?(value-x)/(y-x):0},lerp:lerp,damp:function damp(x,y,lambda,dt){return lerp(x,y,1-Math.exp(-lambda*dt))},pingpong:function pingpong(x,length=1){return length-Math.abs(euclideanModulo(x,2*length)-length)},smoothstep:function smoothstep(x,min,max){return x<=min?0:x>=max?1:(x=(x-min)/(max-min))*x*(3-2*x)},smootherstep:function smootherstep(x,min,max){return x<=min?0:x>=max?1:(x=(x-min)/(max-min))*x*x*(x*(6*x-15)+10)},randInt:function randInt(low,high){return low+Math.floor(Math.random()*(high-low+1))},randFloat:function randFloat(low,high){return low+Math.random()*(high-low)},randFloatSpread:function randFloatSpread(range){return range*(.5-Math.random())},seededRandom:function seededRandom(s){return void 0!==s&&(_seed=s%2147483647),_seed=16807*_seed%2147483647,(_seed-1)/2147483646},degToRad:function degToRad(degrees){return degrees*DEG2RAD},radToDeg:function radToDeg(radians){return radians*RAD2DEG},isPowerOfTwo:isPowerOfTwo,ceilPowerOfTwo:ceilPowerOfTwo,floorPowerOfTwo:floorPowerOfTwo,setQuaternionFromProperEuler:function setQuaternionFromProperEuler(q,a,b,c,order){const cos=Math.cos,sin=Math.sin,c2=cos(b/2),s2=sin(b/2),c13=cos((a+c)/2),s13=sin((a+c)/2),c1_3=cos((a-c)/2),s1_3=sin((a-c)/2),c3_1=cos((c-a)/2),s3_1=sin((c-a)/2);switch(order){case"XYX":q.set(c2*s13,s2*c1_3,s2*s1_3,c2*c13);break;case"YZY":q.set(s2*s1_3,c2*s13,s2*c1_3,c2*c13);break;case"ZXZ":q.set(s2*c1_3,s2*s1_3,c2*s13,c2*c13);break;case"XZX":q.set(c2*s13,s2*s3_1,s2*c3_1,c2*c13);break;case"YXY":q.set(s2*c3_1,c2*s13,s2*s3_1,c2*c13);break;case"ZYZ":q.set(s2*s3_1,s2*c3_1,c2*s13,c2*c13);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+order)}}});class Vector2{constructor(x=0,y=0){this.x=x,this.y=y}get width(){return this.x}set width(value){this.x=value}get height(){return this.y}set height(value){this.y=value}set(x,y){return this.x=x,this.y=y,this}setScalar(scalar){return this.x=scalar,this.y=scalar,this}setX(x){return this.x=x,this}setY(y){return this.y=y,this}setComponent(index,value){switch(index){case 0:this.x=value;break;case 1:this.y=value;break;default:throw new Error("index is out of range: "+index)}return this}getComponent(index){switch(index){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+index)}}clone(){return new this.constructor(this.x,this.y)}copy(v){return this.x=v.x,this.y=v.y,this}add(v,w){return void 0!==w?(console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(v,w)):(this.x+=v.x,this.y+=v.y,this)}addScalar(s){return this.x+=s,this.y+=s,this}addVectors(a,b){return this.x=a.x+b.x,this.y=a.y+b.y,this}addScaledVector(v,s){return this.x+=v.x*s,this.y+=v.y*s,this}sub(v,w){return void 0!==w?(console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(v,w)):(this.x-=v.x,this.y-=v.y,this)}subScalar(s){return this.x-=s,this.y-=s,this}subVectors(a,b){return this.x=a.x-b.x,this.y=a.y-b.y,this}multiply(v){return this.x*=v.x,this.y*=v.y,this}multiplyScalar(scalar){return this.x*=scalar,this.y*=scalar,this}divide(v){return this.x/=v.x,this.y/=v.y,this}divideScalar(scalar){return this.multiplyScalar(1/scalar)}applyMatrix3(m){const x=this.x,y=this.y,e=m.elements;return this.x=e[0]*x+e[3]*y+e[6],this.y=e[1]*x+e[4]*y+e[7],this}min(v){return this.x=Math.min(this.x,v.x),this.y=Math.min(this.y,v.y),this}max(v){return this.x=Math.max(this.x,v.x),this.y=Math.max(this.y,v.y),this}clamp(min,max){return this.x=Math.max(min.x,Math.min(max.x,this.x)),this.y=Math.max(min.y,Math.min(max.y,this.y)),this}clampScalar(minVal,maxVal){return this.x=Math.max(minVal,Math.min(maxVal,this.x)),this.y=Math.max(minVal,Math.min(maxVal,this.y)),this}clampLength(min,max){const length=this.length();return this.divideScalar(length||1).multiplyScalar(Math.max(min,Math.min(max,length)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(v){return this.x*v.x+this.y*v.y}cross(v){return this.x*v.y-this.y*v.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}distanceTo(v){return Math.sqrt(this.distanceToSquared(v))}distanceToSquared(v){const dx=this.x-v.x,dy=this.y-v.y;return dx*dx+dy*dy}manhattanDistanceTo(v){return Math.abs(this.x-v.x)+Math.abs(this.y-v.y)}setLength(length){return this.normalize().multiplyScalar(length)}lerp(v,alpha){return this.x+=(v.x-this.x)*alpha,this.y+=(v.y-this.y)*alpha,this}lerpVectors(v1,v2,alpha){return this.x=v1.x+(v2.x-v1.x)*alpha,this.y=v1.y+(v2.y-v1.y)*alpha,this}equals(v){return v.x===this.x&&v.y===this.y}fromArray(array,offset=0){return this.x=array[offset],this.y=array[offset+1],this}toArray(array=[],offset=0){return array[offset]=this.x,array[offset+1]=this.y,array}fromBufferAttribute(attribute,index,offset){return void 0!==offset&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute()."),this.x=attribute.getX(index),this.y=attribute.getY(index),this}rotateAround(center,angle){const c=Math.cos(angle),s=Math.sin(angle),x=this.x-center.x,y=this.y-center.y;return this.x=x*c-y*s+center.x,this.y=x*s+y*c+center.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}}Vector2.prototype.isVector2=!0;class Matrix3{constructor(){this.elements=[1,0,0,0,1,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix3: the constructor no longer reads arguments. use .set() instead.")}set(n11,n12,n13,n21,n22,n23,n31,n32,n33){const te=this.elements;return te[0]=n11,te[1]=n21,te[2]=n31,te[3]=n12,te[4]=n22,te[5]=n32,te[6]=n13,te[7]=n23,te[8]=n33,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(m){const te=this.elements,me=m.elements;return te[0]=me[0],te[1]=me[1],te[2]=me[2],te[3]=me[3],te[4]=me[4],te[5]=me[5],te[6]=me[6],te[7]=me[7],te[8]=me[8],this}extractBasis(xAxis,yAxis,zAxis){return xAxis.setFromMatrix3Column(this,0),yAxis.setFromMatrix3Column(this,1),zAxis.setFromMatrix3Column(this,2),this}setFromMatrix4(m){const me=m.elements;return this.set(me[0],me[4],me[8],me[1],me[5],me[9],me[2],me[6],me[10]),this}multiply(m){return this.multiplyMatrices(this,m)}premultiply(m){return this.multiplyMatrices(m,this)}multiplyMatrices(a,b){const ae=a.elements,be=b.elements,te=this.elements,a11=ae[0],a12=ae[3],a13=ae[6],a21=ae[1],a22=ae[4],a23=ae[7],a31=ae[2],a32=ae[5],a33=ae[8],b11=be[0],b12=be[3],b13=be[6],b21=be[1],b22=be[4],b23=be[7],b31=be[2],b32=be[5],b33=be[8];return te[0]=a11*b11+a12*b21+a13*b31,te[3]=a11*b12+a12*b22+a13*b32,te[6]=a11*b13+a12*b23+a13*b33,te[1]=a21*b11+a22*b21+a23*b31,te[4]=a21*b12+a22*b22+a23*b32,te[7]=a21*b13+a22*b23+a23*b33,te[2]=a31*b11+a32*b21+a33*b31,te[5]=a31*b12+a32*b22+a33*b32,te[8]=a31*b13+a32*b23+a33*b33,this}multiplyScalar(s){const te=this.elements;return te[0]*=s,te[3]*=s,te[6]*=s,te[1]*=s,te[4]*=s,te[7]*=s,te[2]*=s,te[5]*=s,te[8]*=s,this}determinant(){const te=this.elements,a=te[0],b=te[1],c=te[2],d=te[3],e=te[4],f=te[5],g=te[6],h=te[7],i=te[8];return a*e*i-a*f*h-b*d*i+b*f*g+c*d*h-c*e*g}invert(){const te=this.elements,n11=te[0],n21=te[1],n31=te[2],n12=te[3],n22=te[4],n32=te[5],n13=te[6],n23=te[7],n33=te[8],t11=n33*n22-n32*n23,t12=n32*n13-n33*n12,t13=n23*n12-n22*n13,det=n11*t11+n21*t12+n31*t13;if(0===det)return this.set(0,0,0,0,0,0,0,0,0);const detInv=1/det;return te[0]=t11*detInv,te[1]=(n31*n23-n33*n21)*detInv,te[2]=(n32*n21-n31*n22)*detInv,te[3]=t12*detInv,te[4]=(n33*n11-n31*n13)*detInv,te[5]=(n31*n12-n32*n11)*detInv,te[6]=t13*detInv,te[7]=(n21*n13-n23*n11)*detInv,te[8]=(n22*n11-n21*n12)*detInv,this}transpose(){let tmp;const m=this.elements;return tmp=m[1],m[1]=m[3],m[3]=tmp,tmp=m[2],m[2]=m[6],m[6]=tmp,tmp=m[5],m[5]=m[7],m[7]=tmp,this}getNormalMatrix(matrix4){return this.setFromMatrix4(matrix4).invert().transpose()}transposeIntoArray(r){const m=this.elements;return r[0]=m[0],r[1]=m[3],r[2]=m[6],r[3]=m[1],r[4]=m[4],r[5]=m[7],r[6]=m[2],r[7]=m[5],r[8]=m[8],this}setUvTransform(tx,ty,sx,sy,rotation,cx,cy){const c=Math.cos(rotation),s=Math.sin(rotation);return this.set(sx*c,sx*s,-sx*(c*cx+s*cy)+cx+tx,-sy*s,sy*c,-sy*(-s*cx+c*cy)+cy+ty,0,0,1),this}scale(sx,sy){const te=this.elements;return te[0]*=sx,te[3]*=sx,te[6]*=sx,te[1]*=sy,te[4]*=sy,te[7]*=sy,this}rotate(theta){const c=Math.cos(theta),s=Math.sin(theta),te=this.elements,a11=te[0],a12=te[3],a13=te[6],a21=te[1],a22=te[4],a23=te[7];return te[0]=c*a11+s*a21,te[3]=c*a12+s*a22,te[6]=c*a13+s*a23,te[1]=-s*a11+c*a21,te[4]=-s*a12+c*a22,te[7]=-s*a13+c*a23,this}translate(tx,ty){const te=this.elements;return te[0]+=tx*te[2],te[3]+=tx*te[5],te[6]+=tx*te[8],te[1]+=ty*te[2],te[4]+=ty*te[5],te[7]+=ty*te[8],this}equals(matrix){const te=this.elements,me=matrix.elements;for(let i=0;i<9;i++)if(te[i]!==me[i])return!1;return!0}fromArray(array,offset=0){for(let i=0;i<9;i++)this.elements[i]=array[i+offset];return this}toArray(array=[],offset=0){const te=this.elements;return array[offset]=te[0],array[offset+1]=te[1],array[offset+2]=te[2],array[offset+3]=te[3],array[offset+4]=te[4],array[offset+5]=te[5],array[offset+6]=te[6],array[offset+7]=te[7],array[offset+8]=te[8],array}clone(){return(new this.constructor).fromArray(this.elements)}}let _canvas;Matrix3.prototype.isMatrix3=!0;class ImageUtils{static getDataURL(image){if(/^data:/i.test(image.src))return image.src;if("undefined"==typeof HTMLCanvasElement)return image.src;let canvas;if(image instanceof HTMLCanvasElement)canvas=image;else{void 0===_canvas&&(_canvas=document.createElementNS("http://www.w3.org/1999/xhtml","canvas")),_canvas.width=image.width,_canvas.height=image.height;const context=_canvas.getContext("2d");image instanceof ImageData?context.putImageData(image,0,0):context.drawImage(image,0,0,image.width,image.height),canvas=_canvas}return canvas.width>2048||canvas.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",image),canvas.toDataURL("image/jpeg",.6)):canvas.toDataURL("image/png")}}let textureId=0;class Texture extends EventDispatcher{constructor(image=Texture.DEFAULT_IMAGE,mapping=Texture.DEFAULT_MAPPING,wrapS=ClampToEdgeWrapping,wrapT=ClampToEdgeWrapping,magFilter=LinearFilter,minFilter=LinearMipmapLinearFilter,format=RGBAFormat,type=UnsignedByteType,anisotropy=1,encoding=LinearEncoding){super(),Object.defineProperty(this,"id",{value:textureId++}),this.uuid=generateUUID(),this.name="",this.image=image,this.mipmaps=[],this.mapping=mapping,this.wrapS=wrapS,this.wrapT=wrapT,this.magFilter=magFilter,this.minFilter=minFilter,this.anisotropy=anisotropy,this.format=format,this.internalFormat=null,this.type=type,this.offset=new Vector2(0,0),this.repeat=new Vector2(1,1),this.center=new Vector2(0,0),this.rotation=0,this.matrixAutoUpdate=!0,this.matrix=new Matrix3,this.generateMipmaps=!0,this.premultiplyAlpha=!1,this.flipY=!0,this.unpackAlignment=4,this.encoding=encoding,this.version=0,this.onUpdate=null}updateMatrix(){this.matrix.setUvTransform(this.offset.x,this.offset.y,this.repeat.x,this.repeat.y,this.rotation,this.center.x,this.center.y)}clone(){return(new this.constructor).copy(this)}copy(source){return this.name=source.name,this.image=source.image,this.mipmaps=source.mipmaps.slice(0),this.mapping=source.mapping,this.wrapS=source.wrapS,this.wrapT=source.wrapT,this.magFilter=source.magFilter,this.minFilter=source.minFilter,this.anisotropy=source.anisotropy,this.format=source.format,this.internalFormat=source.internalFormat,this.type=source.type,this.offset.copy(source.offset),this.repeat.copy(source.repeat),this.center.copy(source.center),this.rotation=source.rotation,this.matrixAutoUpdate=source.matrixAutoUpdate,this.matrix.copy(source.matrix),this.generateMipmaps=source.generateMipmaps,this.premultiplyAlpha=source.premultiplyAlpha,this.flipY=source.flipY,this.unpackAlignment=source.unpackAlignment,this.encoding=source.encoding,this}toJSON(meta){const isRootObject=void 0===meta||"string"==typeof meta;if(!isRootObject&&void 0!==meta.textures[this.uuid])return meta.textures[this.uuid];const output={metadata:{version:4.5,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x,this.offset.y],center:[this.center.x,this.center.y],rotation:this.rotation,wrap:[this.wrapS,this.wrapT],format:this.format,type:this.type,encoding:this.encoding,minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY,premultiplyAlpha:this.premultiplyAlpha,unpackAlignment:this.unpackAlignment};if(void 0!==this.image){const image=this.image;if(void 0===image.uuid&&(image.uuid=generateUUID()),!isRootObject&&void 0===meta.images[image.uuid]){let url;if(Array.isArray(image)){url=[];for(let i=0,l=image.length;i1)switch(this.wrapS){case RepeatWrapping:uv.x=uv.x-Math.floor(uv.x);break;case ClampToEdgeWrapping:uv.x=uv.x<0?0:1;break;case MirroredRepeatWrapping:1===Math.abs(Math.floor(uv.x)%2)?uv.x=Math.ceil(uv.x)-uv.x:uv.x=uv.x-Math.floor(uv.x)}if(uv.y<0||uv.y>1)switch(this.wrapT){case RepeatWrapping:uv.y=uv.y-Math.floor(uv.y);break;case ClampToEdgeWrapping:uv.y=uv.y<0?0:1;break;case MirroredRepeatWrapping:1===Math.abs(Math.floor(uv.y)%2)?uv.y=Math.ceil(uv.y)-uv.y:uv.y=uv.y-Math.floor(uv.y)}return this.flipY&&(uv.y=1-uv.y),uv}set needsUpdate(value){!0===value&&this.version++}}function serializeImage(image){return"undefined"!=typeof HTMLImageElement&&image instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&image instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&image instanceof ImageBitmap?ImageUtils.getDataURL(image):image.data?{data:Array.prototype.slice.call(image.data),width:image.width,height:image.height,type:image.data.constructor.name}:(console.warn("THREE.Texture: Unable to serialize Texture."),{})}Texture.DEFAULT_IMAGE=void 0,Texture.DEFAULT_MAPPING=UVMapping,Texture.prototype.isTexture=!0;class Vector4{constructor(x=0,y=0,z=0,w=1){this.x=x,this.y=y,this.z=z,this.w=w}get width(){return this.z}set width(value){this.z=value}get height(){return this.w}set height(value){this.w=value}set(x,y,z,w){return this.x=x,this.y=y,this.z=z,this.w=w,this}setScalar(scalar){return this.x=scalar,this.y=scalar,this.z=scalar,this.w=scalar,this}setX(x){return this.x=x,this}setY(y){return this.y=y,this}setZ(z){return this.z=z,this}setW(w){return this.w=w,this}setComponent(index,value){switch(index){case 0:this.x=value;break;case 1:this.y=value;break;case 2:this.z=value;break;case 3:this.w=value;break;default:throw new Error("index is out of range: "+index)}return this}getComponent(index){switch(index){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+index)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(v){return this.x=v.x,this.y=v.y,this.z=v.z,this.w=void 0!==v.w?v.w:1,this}add(v,w){return void 0!==w?(console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(v,w)):(this.x+=v.x,this.y+=v.y,this.z+=v.z,this.w+=v.w,this)}addScalar(s){return this.x+=s,this.y+=s,this.z+=s,this.w+=s,this}addVectors(a,b){return this.x=a.x+b.x,this.y=a.y+b.y,this.z=a.z+b.z,this.w=a.w+b.w,this}addScaledVector(v,s){return this.x+=v.x*s,this.y+=v.y*s,this.z+=v.z*s,this.w+=v.w*s,this}sub(v,w){return void 0!==w?(console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(v,w)):(this.x-=v.x,this.y-=v.y,this.z-=v.z,this.w-=v.w,this)}subScalar(s){return this.x-=s,this.y-=s,this.z-=s,this.w-=s,this}subVectors(a,b){return this.x=a.x-b.x,this.y=a.y-b.y,this.z=a.z-b.z,this.w=a.w-b.w,this}multiply(v){return this.x*=v.x,this.y*=v.y,this.z*=v.z,this.w*=v.w,this}multiplyScalar(scalar){return this.x*=scalar,this.y*=scalar,this.z*=scalar,this.w*=scalar,this}applyMatrix4(m){const x=this.x,y=this.y,z=this.z,w=this.w,e=m.elements;return this.x=e[0]*x+e[4]*y+e[8]*z+e[12]*w,this.y=e[1]*x+e[5]*y+e[9]*z+e[13]*w,this.z=e[2]*x+e[6]*y+e[10]*z+e[14]*w,this.w=e[3]*x+e[7]*y+e[11]*z+e[15]*w,this}divideScalar(scalar){return this.multiplyScalar(1/scalar)}setAxisAngleFromQuaternion(q){this.w=2*Math.acos(q.w);const s=Math.sqrt(1-q.w*q.w);return s<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=q.x/s,this.y=q.y/s,this.z=q.z/s),this}setAxisAngleFromRotationMatrix(m){let angle,x,y,z;const te=m.elements,m11=te[0],m12=te[4],m13=te[8],m21=te[1],m22=te[5],m23=te[9],m31=te[2],m32=te[6],m33=te[10];if(Math.abs(m12-m21)<.01&&Math.abs(m13-m31)<.01&&Math.abs(m23-m32)<.01){if(Math.abs(m12+m21)<.1&&Math.abs(m13+m31)<.1&&Math.abs(m23+m32)<.1&&Math.abs(m11+m22+m33-3)<.1)return this.set(1,0,0,0),this;angle=Math.PI;const xx=(m11+1)/2,yy=(m22+1)/2,zz=(m33+1)/2,xy=(m12+m21)/4,xz=(m13+m31)/4,yz=(m23+m32)/4;return xx>yy&&xx>zz?xx<.01?(x=0,y=.707106781,z=.707106781):(x=Math.sqrt(xx),y=xy/x,z=xz/x):yy>zz?yy<.01?(x=.707106781,y=0,z=.707106781):(y=Math.sqrt(yy),x=xy/y,z=yz/y):zz<.01?(x=.707106781,y=.707106781,z=0):(z=Math.sqrt(zz),x=xz/z,y=yz/z),this.set(x,y,z,angle),this}let s=Math.sqrt((m32-m23)*(m32-m23)+(m13-m31)*(m13-m31)+(m21-m12)*(m21-m12));return Math.abs(s)<.001&&(s=1),this.x=(m32-m23)/s,this.y=(m13-m31)/s,this.z=(m21-m12)/s,this.w=Math.acos((m11+m22+m33-1)/2),this}min(v){return this.x=Math.min(this.x,v.x),this.y=Math.min(this.y,v.y),this.z=Math.min(this.z,v.z),this.w=Math.min(this.w,v.w),this}max(v){return this.x=Math.max(this.x,v.x),this.y=Math.max(this.y,v.y),this.z=Math.max(this.z,v.z),this.w=Math.max(this.w,v.w),this}clamp(min,max){return this.x=Math.max(min.x,Math.min(max.x,this.x)),this.y=Math.max(min.y,Math.min(max.y,this.y)),this.z=Math.max(min.z,Math.min(max.z,this.z)),this.w=Math.max(min.w,Math.min(max.w,this.w)),this}clampScalar(minVal,maxVal){return this.x=Math.max(minVal,Math.min(maxVal,this.x)),this.y=Math.max(minVal,Math.min(maxVal,this.y)),this.z=Math.max(minVal,Math.min(maxVal,this.z)),this.w=Math.max(minVal,Math.min(maxVal,this.w)),this}clampLength(min,max){const length=this.length();return this.divideScalar(length||1).multiplyScalar(Math.max(min,Math.min(max,length)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this.w=this.w<0?Math.ceil(this.w):Math.floor(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(v){return this.x*v.x+this.y*v.y+this.z*v.z+this.w*v.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(length){return this.normalize().multiplyScalar(length)}lerp(v,alpha){return this.x+=(v.x-this.x)*alpha,this.y+=(v.y-this.y)*alpha,this.z+=(v.z-this.z)*alpha,this.w+=(v.w-this.w)*alpha,this}lerpVectors(v1,v2,alpha){return this.x=v1.x+(v2.x-v1.x)*alpha,this.y=v1.y+(v2.y-v1.y)*alpha,this.z=v1.z+(v2.z-v1.z)*alpha,this.w=v1.w+(v2.w-v1.w)*alpha,this}equals(v){return v.x===this.x&&v.y===this.y&&v.z===this.z&&v.w===this.w}fromArray(array,offset=0){return this.x=array[offset],this.y=array[offset+1],this.z=array[offset+2],this.w=array[offset+3],this}toArray(array=[],offset=0){return array[offset]=this.x,array[offset+1]=this.y,array[offset+2]=this.z,array[offset+3]=this.w,array}fromBufferAttribute(attribute,index,offset){return void 0!==offset&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute()."),this.x=attribute.getX(index),this.y=attribute.getY(index),this.z=attribute.getZ(index),this.w=attribute.getW(index),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}}Vector4.prototype.isVector4=!0;class WebGLRenderTarget extends EventDispatcher{constructor(width,height,options={}){super(),this.width=width,this.height=height,this.depth=1,this.scissor=new Vector4(0,0,width,height),this.scissorTest=!1,this.viewport=new Vector4(0,0,width,height),this.texture=new Texture(void 0,options.mapping,options.wrapS,options.wrapT,options.magFilter,options.minFilter,options.format,options.type,options.anisotropy,options.encoding),this.texture.image={width:width,height:height,depth:1},this.texture.generateMipmaps=void 0!==options.generateMipmaps&&options.generateMipmaps,this.texture.minFilter=void 0!==options.minFilter?options.minFilter:LinearFilter,this.depthBuffer=void 0===options.depthBuffer||options.depthBuffer,this.stencilBuffer=void 0!==options.stencilBuffer&&options.stencilBuffer,this.depthTexture=void 0!==options.depthTexture?options.depthTexture:null}setTexture(texture){texture.image={width:this.width,height:this.height,depth:this.depth},this.texture=texture}setSize(width,height,depth=1){this.width===width&&this.height===height&&this.depth===depth||(this.width=width,this.height=height,this.depth=depth,this.texture.image.width=width,this.texture.image.height=height,this.texture.image.depth=depth,this.dispose()),this.viewport.set(0,0,width,height),this.scissor.set(0,0,width,height)}clone(){return(new this.constructor).copy(this)}copy(source){return this.width=source.width,this.height=source.height,this.depth=source.depth,this.viewport.copy(source.viewport),this.texture=source.texture.clone(),this.texture.image={...this.texture.image},this.depthBuffer=source.depthBuffer,this.stencilBuffer=source.stencilBuffer,this.depthTexture=source.depthTexture,this}dispose(){this.dispatchEvent({type:"dispose"})}}WebGLRenderTarget.prototype.isWebGLRenderTarget=!0;class WebGLMultipleRenderTargets extends WebGLRenderTarget{constructor(width,height,count){super(width,height);const texture=this.texture;this.texture=[];for(let i=0;i=0?1:-1,sqrSin=1-cos*cos;if(sqrSin>Number.EPSILON){const sin=Math.sqrt(sqrSin),len=Math.atan2(sin,cos*dir);s=Math.sin(s*len)/sin,t=Math.sin(t*len)/sin}const tDir=t*dir;if(x0=x0*s+x1*tDir,y0=y0*s+y1*tDir,z0=z0*s+z1*tDir,w0=w0*s+w1*tDir,s===1-t){const f=1/Math.sqrt(x0*x0+y0*y0+z0*z0+w0*w0);x0*=f,y0*=f,z0*=f,w0*=f}}dst[dstOffset]=x0,dst[dstOffset+1]=y0,dst[dstOffset+2]=z0,dst[dstOffset+3]=w0}static multiplyQuaternionsFlat(dst,dstOffset,src0,srcOffset0,src1,srcOffset1){const x0=src0[srcOffset0],y0=src0[srcOffset0+1],z0=src0[srcOffset0+2],w0=src0[srcOffset0+3],x1=src1[srcOffset1],y1=src1[srcOffset1+1],z1=src1[srcOffset1+2],w1=src1[srcOffset1+3];return dst[dstOffset]=x0*w1+w0*x1+y0*z1-z0*y1,dst[dstOffset+1]=y0*w1+w0*y1+z0*x1-x0*z1,dst[dstOffset+2]=z0*w1+w0*z1+x0*y1-y0*x1,dst[dstOffset+3]=w0*w1-x0*x1-y0*y1-z0*z1,dst}get x(){return this._x}set x(value){this._x=value,this._onChangeCallback()}get y(){return this._y}set y(value){this._y=value,this._onChangeCallback()}get z(){return this._z}set z(value){this._z=value,this._onChangeCallback()}get w(){return this._w}set w(value){this._w=value,this._onChangeCallback()}set(x,y,z,w){return this._x=x,this._y=y,this._z=z,this._w=w,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(quaternion){return this._x=quaternion.x,this._y=quaternion.y,this._z=quaternion.z,this._w=quaternion.w,this._onChangeCallback(),this}setFromEuler(euler,update){if(!euler||!euler.isEuler)throw new Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");const x=euler._x,y=euler._y,z=euler._z,order=euler._order,cos=Math.cos,sin=Math.sin,c1=cos(x/2),c2=cos(y/2),c3=cos(z/2),s1=sin(x/2),s2=sin(y/2),s3=sin(z/2);switch(order){case"XYZ":this._x=s1*c2*c3+c1*s2*s3,this._y=c1*s2*c3-s1*c2*s3,this._z=c1*c2*s3+s1*s2*c3,this._w=c1*c2*c3-s1*s2*s3;break;case"YXZ":this._x=s1*c2*c3+c1*s2*s3,this._y=c1*s2*c3-s1*c2*s3,this._z=c1*c2*s3-s1*s2*c3,this._w=c1*c2*c3+s1*s2*s3;break;case"ZXY":this._x=s1*c2*c3-c1*s2*s3,this._y=c1*s2*c3+s1*c2*s3,this._z=c1*c2*s3+s1*s2*c3,this._w=c1*c2*c3-s1*s2*s3;break;case"ZYX":this._x=s1*c2*c3-c1*s2*s3,this._y=c1*s2*c3+s1*c2*s3,this._z=c1*c2*s3-s1*s2*c3,this._w=c1*c2*c3+s1*s2*s3;break;case"YZX":this._x=s1*c2*c3+c1*s2*s3,this._y=c1*s2*c3+s1*c2*s3,this._z=c1*c2*s3-s1*s2*c3,this._w=c1*c2*c3-s1*s2*s3;break;case"XZY":this._x=s1*c2*c3-c1*s2*s3,this._y=c1*s2*c3-s1*c2*s3,this._z=c1*c2*s3+s1*s2*c3,this._w=c1*c2*c3+s1*s2*s3;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+order)}return!1!==update&&this._onChangeCallback(),this}setFromAxisAngle(axis,angle){const halfAngle=angle/2,s=Math.sin(halfAngle);return this._x=axis.x*s,this._y=axis.y*s,this._z=axis.z*s,this._w=Math.cos(halfAngle),this._onChangeCallback(),this}setFromRotationMatrix(m){const te=m.elements,m11=te[0],m12=te[4],m13=te[8],m21=te[1],m22=te[5],m23=te[9],m31=te[2],m32=te[6],m33=te[10],trace=m11+m22+m33;if(trace>0){const s=.5/Math.sqrt(trace+1);this._w=.25/s,this._x=(m32-m23)*s,this._y=(m13-m31)*s,this._z=(m21-m12)*s}else if(m11>m22&&m11>m33){const s=2*Math.sqrt(1+m11-m22-m33);this._w=(m32-m23)/s,this._x=.25*s,this._y=(m12+m21)/s,this._z=(m13+m31)/s}else if(m22>m33){const s=2*Math.sqrt(1+m22-m11-m33);this._w=(m13-m31)/s,this._x=(m12+m21)/s,this._y=.25*s,this._z=(m23+m32)/s}else{const s=2*Math.sqrt(1+m33-m11-m22);this._w=(m21-m12)/s,this._x=(m13+m31)/s,this._y=(m23+m32)/s,this._z=.25*s}return this._onChangeCallback(),this}setFromUnitVectors(vFrom,vTo){let r=vFrom.dot(vTo)+1;return rMath.abs(vFrom.z)?(this._x=-vFrom.y,this._y=vFrom.x,this._z=0,this._w=r):(this._x=0,this._y=-vFrom.z,this._z=vFrom.y,this._w=r)):(this._x=vFrom.y*vTo.z-vFrom.z*vTo.y,this._y=vFrom.z*vTo.x-vFrom.x*vTo.z,this._z=vFrom.x*vTo.y-vFrom.y*vTo.x,this._w=r),this.normalize()}angleTo(q){return 2*Math.acos(Math.abs(clamp(this.dot(q),-1,1)))}rotateTowards(q,step){const angle=this.angleTo(q);if(0===angle)return this;const t=Math.min(1,step/angle);return this.slerp(q,t),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(v){return this._x*v._x+this._y*v._y+this._z*v._z+this._w*v._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let l=this.length();return 0===l?(this._x=0,this._y=0,this._z=0,this._w=1):(l=1/l,this._x=this._x*l,this._y=this._y*l,this._z=this._z*l,this._w=this._w*l),this._onChangeCallback(),this}multiply(q,p){return void 0!==p?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(q,p)):this.multiplyQuaternions(this,q)}premultiply(q){return this.multiplyQuaternions(q,this)}multiplyQuaternions(a,b){const qax=a._x,qay=a._y,qaz=a._z,qaw=a._w,qbx=b._x,qby=b._y,qbz=b._z,qbw=b._w;return this._x=qax*qbw+qaw*qbx+qay*qbz-qaz*qby,this._y=qay*qbw+qaw*qby+qaz*qbx-qax*qbz,this._z=qaz*qbw+qaw*qbz+qax*qby-qay*qbx,this._w=qaw*qbw-qax*qbx-qay*qby-qaz*qbz,this._onChangeCallback(),this}slerp(qb,t){if(0===t)return this;if(1===t)return this.copy(qb);const x=this._x,y=this._y,z=this._z,w=this._w;let cosHalfTheta=w*qb._w+x*qb._x+y*qb._y+z*qb._z;if(cosHalfTheta<0?(this._w=-qb._w,this._x=-qb._x,this._y=-qb._y,this._z=-qb._z,cosHalfTheta=-cosHalfTheta):this.copy(qb),cosHalfTheta>=1)return this._w=w,this._x=x,this._y=y,this._z=z,this;const sqrSinHalfTheta=1-cosHalfTheta*cosHalfTheta;if(sqrSinHalfTheta<=Number.EPSILON){const s=1-t;return this._w=s*w+t*this._w,this._x=s*x+t*this._x,this._y=s*y+t*this._y,this._z=s*z+t*this._z,this.normalize(),this._onChangeCallback(),this}const sinHalfTheta=Math.sqrt(sqrSinHalfTheta),halfTheta=Math.atan2(sinHalfTheta,cosHalfTheta),ratioA=Math.sin((1-t)*halfTheta)/sinHalfTheta,ratioB=Math.sin(t*halfTheta)/sinHalfTheta;return this._w=w*ratioA+this._w*ratioB,this._x=x*ratioA+this._x*ratioB,this._y=y*ratioA+this._y*ratioB,this._z=z*ratioA+this._z*ratioB,this._onChangeCallback(),this}slerpQuaternions(qa,qb,t){this.copy(qa).slerp(qb,t)}equals(quaternion){return quaternion._x===this._x&&quaternion._y===this._y&&quaternion._z===this._z&&quaternion._w===this._w}fromArray(array,offset=0){return this._x=array[offset],this._y=array[offset+1],this._z=array[offset+2],this._w=array[offset+3],this._onChangeCallback(),this}toArray(array=[],offset=0){return array[offset]=this._x,array[offset+1]=this._y,array[offset+2]=this._z,array[offset+3]=this._w,array}fromBufferAttribute(attribute,index){return this._x=attribute.getX(index),this._y=attribute.getY(index),this._z=attribute.getZ(index),this._w=attribute.getW(index),this}_onChange(callback){return this._onChangeCallback=callback,this}_onChangeCallback(){}}Quaternion.prototype.isQuaternion=!0;class Vector3{constructor(x=0,y=0,z=0){this.x=x,this.y=y,this.z=z}set(x,y,z){return void 0===z&&(z=this.z),this.x=x,this.y=y,this.z=z,this}setScalar(scalar){return this.x=scalar,this.y=scalar,this.z=scalar,this}setX(x){return this.x=x,this}setY(y){return this.y=y,this}setZ(z){return this.z=z,this}setComponent(index,value){switch(index){case 0:this.x=value;break;case 1:this.y=value;break;case 2:this.z=value;break;default:throw new Error("index is out of range: "+index)}return this}getComponent(index){switch(index){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+index)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(v){return this.x=v.x,this.y=v.y,this.z=v.z,this}add(v,w){return void 0!==w?(console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(v,w)):(this.x+=v.x,this.y+=v.y,this.z+=v.z,this)}addScalar(s){return this.x+=s,this.y+=s,this.z+=s,this}addVectors(a,b){return this.x=a.x+b.x,this.y=a.y+b.y,this.z=a.z+b.z,this}addScaledVector(v,s){return this.x+=v.x*s,this.y+=v.y*s,this.z+=v.z*s,this}sub(v,w){return void 0!==w?(console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(v,w)):(this.x-=v.x,this.y-=v.y,this.z-=v.z,this)}subScalar(s){return this.x-=s,this.y-=s,this.z-=s,this}subVectors(a,b){return this.x=a.x-b.x,this.y=a.y-b.y,this.z=a.z-b.z,this}multiply(v,w){return void 0!==w?(console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(v,w)):(this.x*=v.x,this.y*=v.y,this.z*=v.z,this)}multiplyScalar(scalar){return this.x*=scalar,this.y*=scalar,this.z*=scalar,this}multiplyVectors(a,b){return this.x=a.x*b.x,this.y=a.y*b.y,this.z=a.z*b.z,this}applyEuler(euler){return euler&&euler.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order."),this.applyQuaternion(_quaternion$4.setFromEuler(euler))}applyAxisAngle(axis,angle){return this.applyQuaternion(_quaternion$4.setFromAxisAngle(axis,angle))}applyMatrix3(m){const x=this.x,y=this.y,z=this.z,e=m.elements;return this.x=e[0]*x+e[3]*y+e[6]*z,this.y=e[1]*x+e[4]*y+e[7]*z,this.z=e[2]*x+e[5]*y+e[8]*z,this}applyNormalMatrix(m){return this.applyMatrix3(m).normalize()}applyMatrix4(m){const x=this.x,y=this.y,z=this.z,e=m.elements,w=1/(e[3]*x+e[7]*y+e[11]*z+e[15]);return this.x=(e[0]*x+e[4]*y+e[8]*z+e[12])*w,this.y=(e[1]*x+e[5]*y+e[9]*z+e[13])*w,this.z=(e[2]*x+e[6]*y+e[10]*z+e[14])*w,this}applyQuaternion(q){const x=this.x,y=this.y,z=this.z,qx=q.x,qy=q.y,qz=q.z,qw=q.w,ix=qw*x+qy*z-qz*y,iy=qw*y+qz*x-qx*z,iz=qw*z+qx*y-qy*x,iw=-qx*x-qy*y-qz*z;return this.x=ix*qw+iw*-qx+iy*-qz-iz*-qy,this.y=iy*qw+iw*-qy+iz*-qx-ix*-qz,this.z=iz*qw+iw*-qz+ix*-qy-iy*-qx,this}project(camera){return this.applyMatrix4(camera.matrixWorldInverse).applyMatrix4(camera.projectionMatrix)}unproject(camera){return this.applyMatrix4(camera.projectionMatrixInverse).applyMatrix4(camera.matrixWorld)}transformDirection(m){const x=this.x,y=this.y,z=this.z,e=m.elements;return this.x=e[0]*x+e[4]*y+e[8]*z,this.y=e[1]*x+e[5]*y+e[9]*z,this.z=e[2]*x+e[6]*y+e[10]*z,this.normalize()}divide(v){return this.x/=v.x,this.y/=v.y,this.z/=v.z,this}divideScalar(scalar){return this.multiplyScalar(1/scalar)}min(v){return this.x=Math.min(this.x,v.x),this.y=Math.min(this.y,v.y),this.z=Math.min(this.z,v.z),this}max(v){return this.x=Math.max(this.x,v.x),this.y=Math.max(this.y,v.y),this.z=Math.max(this.z,v.z),this}clamp(min,max){return this.x=Math.max(min.x,Math.min(max.x,this.x)),this.y=Math.max(min.y,Math.min(max.y,this.y)),this.z=Math.max(min.z,Math.min(max.z,this.z)),this}clampScalar(minVal,maxVal){return this.x=Math.max(minVal,Math.min(maxVal,this.x)),this.y=Math.max(minVal,Math.min(maxVal,this.y)),this.z=Math.max(minVal,Math.min(maxVal,this.z)),this}clampLength(min,max){const length=this.length();return this.divideScalar(length||1).multiplyScalar(Math.max(min,Math.min(max,length)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=this.x<0?Math.ceil(this.x):Math.floor(this.x),this.y=this.y<0?Math.ceil(this.y):Math.floor(this.y),this.z=this.z<0?Math.ceil(this.z):Math.floor(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(v){return this.x*v.x+this.y*v.y+this.z*v.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(length){return this.normalize().multiplyScalar(length)}lerp(v,alpha){return this.x+=(v.x-this.x)*alpha,this.y+=(v.y-this.y)*alpha,this.z+=(v.z-this.z)*alpha,this}lerpVectors(v1,v2,alpha){return this.x=v1.x+(v2.x-v1.x)*alpha,this.y=v1.y+(v2.y-v1.y)*alpha,this.z=v1.z+(v2.z-v1.z)*alpha,this}cross(v,w){return void 0!==w?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(v,w)):this.crossVectors(this,v)}crossVectors(a,b){const ax=a.x,ay=a.y,az=a.z,bx=b.x,by=b.y,bz=b.z;return this.x=ay*bz-az*by,this.y=az*bx-ax*bz,this.z=ax*by-ay*bx,this}projectOnVector(v){const denominator=v.lengthSq();if(0===denominator)return this.set(0,0,0);const scalar=v.dot(this)/denominator;return this.copy(v).multiplyScalar(scalar)}projectOnPlane(planeNormal){return _vector$c.copy(this).projectOnVector(planeNormal),this.sub(_vector$c)}reflect(normal){return this.sub(_vector$c.copy(normal).multiplyScalar(2*this.dot(normal)))}angleTo(v){const denominator=Math.sqrt(this.lengthSq()*v.lengthSq());if(0===denominator)return Math.PI/2;const theta=this.dot(v)/denominator;return Math.acos(clamp(theta,-1,1))}distanceTo(v){return Math.sqrt(this.distanceToSquared(v))}distanceToSquared(v){const dx=this.x-v.x,dy=this.y-v.y,dz=this.z-v.z;return dx*dx+dy*dy+dz*dz}manhattanDistanceTo(v){return Math.abs(this.x-v.x)+Math.abs(this.y-v.y)+Math.abs(this.z-v.z)}setFromSpherical(s){return this.setFromSphericalCoords(s.radius,s.phi,s.theta)}setFromSphericalCoords(radius,phi,theta){const sinPhiRadius=Math.sin(phi)*radius;return this.x=sinPhiRadius*Math.sin(theta),this.y=Math.cos(phi)*radius,this.z=sinPhiRadius*Math.cos(theta),this}setFromCylindrical(c){return this.setFromCylindricalCoords(c.radius,c.theta,c.y)}setFromCylindricalCoords(radius,theta,y){return this.x=radius*Math.sin(theta),this.y=y,this.z=radius*Math.cos(theta),this}setFromMatrixPosition(m){const e=m.elements;return this.x=e[12],this.y=e[13],this.z=e[14],this}setFromMatrixScale(m){const sx=this.setFromMatrixColumn(m,0).length(),sy=this.setFromMatrixColumn(m,1).length(),sz=this.setFromMatrixColumn(m,2).length();return this.x=sx,this.y=sy,this.z=sz,this}setFromMatrixColumn(m,index){return this.fromArray(m.elements,4*index)}setFromMatrix3Column(m,index){return this.fromArray(m.elements,3*index)}equals(v){return v.x===this.x&&v.y===this.y&&v.z===this.z}fromArray(array,offset=0){return this.x=array[offset],this.y=array[offset+1],this.z=array[offset+2],this}toArray(array=[],offset=0){return array[offset]=this.x,array[offset+1]=this.y,array[offset+2]=this.z,array}fromBufferAttribute(attribute,index,offset){return void 0!==offset&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute()."),this.x=attribute.getX(index),this.y=attribute.getY(index),this.z=attribute.getZ(index),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}}Vector3.prototype.isVector3=!0;const _vector$c=new Vector3,_quaternion$4=new Quaternion;class Box3{constructor(min=new Vector3(1/0,1/0,1/0),max=new Vector3(-1/0,-1/0,-1/0)){this.min=min,this.max=max}set(min,max){return this.min.copy(min),this.max.copy(max),this}setFromArray(array){let minX=1/0,minY=1/0,minZ=1/0,maxX=-1/0,maxY=-1/0,maxZ=-1/0;for(let i=0,l=array.length;imaxX&&(maxX=x),y>maxY&&(maxY=y),z>maxZ&&(maxZ=z)}return this.min.set(minX,minY,minZ),this.max.set(maxX,maxY,maxZ),this}setFromBufferAttribute(attribute){let minX=1/0,minY=1/0,minZ=1/0,maxX=-1/0,maxY=-1/0,maxZ=-1/0;for(let i=0,l=attribute.count;imaxX&&(maxX=x),y>maxY&&(maxY=y),z>maxZ&&(maxZ=z)}return this.min.set(minX,minY,minZ),this.max.set(maxX,maxY,maxZ),this}setFromPoints(points){this.makeEmpty();for(let i=0,il=points.length;ithis.max.x||point.ythis.max.y||point.zthis.max.z)}containsBox(box){return this.min.x<=box.min.x&&box.max.x<=this.max.x&&this.min.y<=box.min.y&&box.max.y<=this.max.y&&this.min.z<=box.min.z&&box.max.z<=this.max.z}getParameter(point,target){return target.set((point.x-this.min.x)/(this.max.x-this.min.x),(point.y-this.min.y)/(this.max.y-this.min.y),(point.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(box){return!(box.max.xthis.max.x||box.max.ythis.max.y||box.max.zthis.max.z)}intersectsSphere(sphere){return this.clampPoint(sphere.center,_vector$b),_vector$b.distanceToSquared(sphere.center)<=sphere.radius*sphere.radius}intersectsPlane(plane){let min,max;return plane.normal.x>0?(min=plane.normal.x*this.min.x,max=plane.normal.x*this.max.x):(min=plane.normal.x*this.max.x,max=plane.normal.x*this.min.x),plane.normal.y>0?(min+=plane.normal.y*this.min.y,max+=plane.normal.y*this.max.y):(min+=plane.normal.y*this.max.y,max+=plane.normal.y*this.min.y),plane.normal.z>0?(min+=plane.normal.z*this.min.z,max+=plane.normal.z*this.max.z):(min+=plane.normal.z*this.max.z,max+=plane.normal.z*this.min.z),min<=-plane.constant&&max>=-plane.constant}intersectsTriangle(triangle){if(this.isEmpty())return!1;this.getCenter(_center),_extents.subVectors(this.max,_center),_v0$2.subVectors(triangle.a,_center),_v1$7.subVectors(triangle.b,_center),_v2$3.subVectors(triangle.c,_center),_f0.subVectors(_v1$7,_v0$2),_f1.subVectors(_v2$3,_v1$7),_f2.subVectors(_v0$2,_v2$3);let axes=[0,-_f0.z,_f0.y,0,-_f1.z,_f1.y,0,-_f2.z,_f2.y,_f0.z,0,-_f0.x,_f1.z,0,-_f1.x,_f2.z,0,-_f2.x,-_f0.y,_f0.x,0,-_f1.y,_f1.x,0,-_f2.y,_f2.x,0];return!!satForAxes(axes,_v0$2,_v1$7,_v2$3,_extents)&&(axes=[1,0,0,0,1,0,0,0,1],!!satForAxes(axes,_v0$2,_v1$7,_v2$3,_extents)&&(_triangleNormal.crossVectors(_f0,_f1),axes=[_triangleNormal.x,_triangleNormal.y,_triangleNormal.z],satForAxes(axes,_v0$2,_v1$7,_v2$3,_extents)))}clampPoint(point,target){return target.copy(point).clamp(this.min,this.max)}distanceToPoint(point){return _vector$b.copy(point).clamp(this.min,this.max).sub(point).length()}getBoundingSphere(target){return this.getCenter(target.center),target.radius=.5*this.getSize(_vector$b).length(),target}intersect(box){return this.min.max(box.min),this.max.min(box.max),this.isEmpty()&&this.makeEmpty(),this}union(box){return this.min.min(box.min),this.max.max(box.max),this}applyMatrix4(matrix){return this.isEmpty()||(_points[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(matrix),_points[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(matrix),_points[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(matrix),_points[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(matrix),_points[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(matrix),_points[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(matrix),_points[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(matrix),_points[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(matrix),this.setFromPoints(_points)),this}translate(offset){return this.min.add(offset),this.max.add(offset),this}equals(box){return box.min.equals(this.min)&&box.max.equals(this.max)}}Box3.prototype.isBox3=!0;const _points=[new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3,new Vector3],_vector$b=new Vector3,_box$3=new Box3,_v0$2=new Vector3,_v1$7=new Vector3,_v2$3=new Vector3,_f0=new Vector3,_f1=new Vector3,_f2=new Vector3,_center=new Vector3,_extents=new Vector3,_triangleNormal=new Vector3,_testAxis=new Vector3;function satForAxes(axes,v0,v1,v2,extents){for(let i=0,j=axes.length-3;i<=j;i+=3){_testAxis.fromArray(axes,i);const r=extents.x*Math.abs(_testAxis.x)+extents.y*Math.abs(_testAxis.y)+extents.z*Math.abs(_testAxis.z),p0=v0.dot(_testAxis),p1=v1.dot(_testAxis),p2=v2.dot(_testAxis);if(Math.max(-Math.max(p0,p1,p2),Math.min(p0,p1,p2))>r)return!1}return!0}const _box$2=new Box3,_v1$6=new Vector3,_toFarthestPoint=new Vector3,_toPoint=new Vector3;class Sphere{constructor(center=new Vector3,radius=-1){this.center=center,this.radius=radius}set(center,radius){return this.center.copy(center),this.radius=radius,this}setFromPoints(points,optionalCenter){const center=this.center;void 0!==optionalCenter?center.copy(optionalCenter):_box$2.setFromPoints(points).getCenter(center);let maxRadiusSq=0;for(let i=0,il=points.length;ithis.radius*this.radius&&(target.sub(this.center).normalize(),target.multiplyScalar(this.radius).add(this.center)),target}getBoundingBox(target){return this.isEmpty()?(target.makeEmpty(),target):(target.set(this.center,this.center),target.expandByScalar(this.radius),target)}applyMatrix4(matrix){return this.center.applyMatrix4(matrix),this.radius=this.radius*matrix.getMaxScaleOnAxis(),this}translate(offset){return this.center.add(offset),this}expandByPoint(point){_toPoint.subVectors(point,this.center);const lengthSq=_toPoint.lengthSq();if(lengthSq>this.radius*this.radius){const length=Math.sqrt(lengthSq),missingRadiusHalf=.5*(length-this.radius);this.center.add(_toPoint.multiplyScalar(missingRadiusHalf/length)),this.radius+=missingRadiusHalf}return this}union(sphere){return _toFarthestPoint.subVectors(sphere.center,this.center).normalize().multiplyScalar(sphere.radius),this.expandByPoint(_v1$6.copy(sphere.center).add(_toFarthestPoint)),this.expandByPoint(_v1$6.copy(sphere.center).sub(_toFarthestPoint)),this}equals(sphere){return sphere.center.equals(this.center)&&sphere.radius===this.radius}clone(){return(new this.constructor).copy(this)}}const _vector$a=new Vector3,_segCenter=new Vector3,_segDir=new Vector3,_diff=new Vector3,_edge1=new Vector3,_edge2=new Vector3,_normal$1=new Vector3;class Ray{constructor(origin=new Vector3,direction=new Vector3(0,0,-1)){this.origin=origin,this.direction=direction}set(origin,direction){return this.origin.copy(origin),this.direction.copy(direction),this}copy(ray){return this.origin.copy(ray.origin),this.direction.copy(ray.direction),this}at(t,target){return target.copy(this.direction).multiplyScalar(t).add(this.origin)}lookAt(v){return this.direction.copy(v).sub(this.origin).normalize(),this}recast(t){return this.origin.copy(this.at(t,_vector$a)),this}closestPointToPoint(point,target){target.subVectors(point,this.origin);const directionDistance=target.dot(this.direction);return directionDistance<0?target.copy(this.origin):target.copy(this.direction).multiplyScalar(directionDistance).add(this.origin)}distanceToPoint(point){return Math.sqrt(this.distanceSqToPoint(point))}distanceSqToPoint(point){const directionDistance=_vector$a.subVectors(point,this.origin).dot(this.direction);return directionDistance<0?this.origin.distanceToSquared(point):(_vector$a.copy(this.direction).multiplyScalar(directionDistance).add(this.origin),_vector$a.distanceToSquared(point))}distanceSqToSegment(v0,v1,optionalPointOnRay,optionalPointOnSegment){_segCenter.copy(v0).add(v1).multiplyScalar(.5),_segDir.copy(v1).sub(v0).normalize(),_diff.copy(this.origin).sub(_segCenter);const segExtent=.5*v0.distanceTo(v1),a01=-this.direction.dot(_segDir),b0=_diff.dot(this.direction),b1=-_diff.dot(_segDir),c=_diff.lengthSq(),det=Math.abs(1-a01*a01);let s0,s1,sqrDist,extDet;if(det>0)if(s0=a01*b1-b0,s1=a01*b0-b1,extDet=segExtent*det,s0>=0)if(s1>=-extDet)if(s1<=extDet){const invDet=1/det;s0*=invDet,s1*=invDet,sqrDist=s0*(s0+a01*s1+2*b0)+s1*(a01*s0+s1+2*b1)+c}else s1=segExtent,s0=Math.max(0,-(a01*s1+b0)),sqrDist=-s0*s0+s1*(s1+2*b1)+c;else s1=-segExtent,s0=Math.max(0,-(a01*s1+b0)),sqrDist=-s0*s0+s1*(s1+2*b1)+c;else s1<=-extDet?(s0=Math.max(0,-(-a01*segExtent+b0)),s1=s0>0?-segExtent:Math.min(Math.max(-segExtent,-b1),segExtent),sqrDist=-s0*s0+s1*(s1+2*b1)+c):s1<=extDet?(s0=0,s1=Math.min(Math.max(-segExtent,-b1),segExtent),sqrDist=s1*(s1+2*b1)+c):(s0=Math.max(0,-(a01*segExtent+b0)),s1=s0>0?segExtent:Math.min(Math.max(-segExtent,-b1),segExtent),sqrDist=-s0*s0+s1*(s1+2*b1)+c);else s1=a01>0?-segExtent:segExtent,s0=Math.max(0,-(a01*s1+b0)),sqrDist=-s0*s0+s1*(s1+2*b1)+c;return optionalPointOnRay&&optionalPointOnRay.copy(this.direction).multiplyScalar(s0).add(this.origin),optionalPointOnSegment&&optionalPointOnSegment.copy(_segDir).multiplyScalar(s1).add(_segCenter),sqrDist}intersectSphere(sphere,target){_vector$a.subVectors(sphere.center,this.origin);const tca=_vector$a.dot(this.direction),d2=_vector$a.dot(_vector$a)-tca*tca,radius2=sphere.radius*sphere.radius;if(d2>radius2)return null;const thc=Math.sqrt(radius2-d2),t0=tca-thc,t1=tca+thc;return t0<0&&t1<0?null:t0<0?this.at(t1,target):this.at(t0,target)}intersectsSphere(sphere){return this.distanceSqToPoint(sphere.center)<=sphere.radius*sphere.radius}distanceToPlane(plane){const denominator=plane.normal.dot(this.direction);if(0===denominator)return 0===plane.distanceToPoint(this.origin)?0:null;const t=-(this.origin.dot(plane.normal)+plane.constant)/denominator;return t>=0?t:null}intersectPlane(plane,target){const t=this.distanceToPlane(plane);return null===t?null:this.at(t,target)}intersectsPlane(plane){const distToPoint=plane.distanceToPoint(this.origin);if(0===distToPoint)return!0;return plane.normal.dot(this.direction)*distToPoint<0}intersectBox(box,target){let tmin,tmax,tymin,tymax,tzmin,tzmax;const invdirx=1/this.direction.x,invdiry=1/this.direction.y,invdirz=1/this.direction.z,origin=this.origin;return invdirx>=0?(tmin=(box.min.x-origin.x)*invdirx,tmax=(box.max.x-origin.x)*invdirx):(tmin=(box.max.x-origin.x)*invdirx,tmax=(box.min.x-origin.x)*invdirx),invdiry>=0?(tymin=(box.min.y-origin.y)*invdiry,tymax=(box.max.y-origin.y)*invdiry):(tymin=(box.max.y-origin.y)*invdiry,tymax=(box.min.y-origin.y)*invdiry),tmin>tymax||tymin>tmax?null:((tymin>tmin||tmin!=tmin)&&(tmin=tymin),(tymax=0?(tzmin=(box.min.z-origin.z)*invdirz,tzmax=(box.max.z-origin.z)*invdirz):(tzmin=(box.max.z-origin.z)*invdirz,tzmax=(box.min.z-origin.z)*invdirz),tmin>tzmax||tzmin>tmax?null:((tzmin>tmin||tmin!=tmin)&&(tmin=tzmin),(tzmax=0?tmin:tmax,target)))}intersectsBox(box){return null!==this.intersectBox(box,_vector$a)}intersectTriangle(a,b,c,backfaceCulling,target){_edge1.subVectors(b,a),_edge2.subVectors(c,a),_normal$1.crossVectors(_edge1,_edge2);let sign,DdN=this.direction.dot(_normal$1);if(DdN>0){if(backfaceCulling)return null;sign=1}else{if(!(DdN<0))return null;sign=-1,DdN=-DdN}_diff.subVectors(this.origin,a);const DdQxE2=sign*this.direction.dot(_edge2.crossVectors(_diff,_edge2));if(DdQxE2<0)return null;const DdE1xQ=sign*this.direction.dot(_edge1.cross(_diff));if(DdE1xQ<0)return null;if(DdQxE2+DdE1xQ>DdN)return null;const QdN=-sign*_diff.dot(_normal$1);return QdN<0?null:this.at(QdN/DdN,target)}applyMatrix4(matrix4){return this.origin.applyMatrix4(matrix4),this.direction.transformDirection(matrix4),this}equals(ray){return ray.origin.equals(this.origin)&&ray.direction.equals(this.direction)}clone(){return(new this.constructor).copy(this)}}class Matrix4{constructor(){this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],arguments.length>0&&console.error("THREE.Matrix4: the constructor no longer reads arguments. use .set() instead.")}set(n11,n12,n13,n14,n21,n22,n23,n24,n31,n32,n33,n34,n41,n42,n43,n44){const te=this.elements;return te[0]=n11,te[4]=n12,te[8]=n13,te[12]=n14,te[1]=n21,te[5]=n22,te[9]=n23,te[13]=n24,te[2]=n31,te[6]=n32,te[10]=n33,te[14]=n34,te[3]=n41,te[7]=n42,te[11]=n43,te[15]=n44,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return(new Matrix4).fromArray(this.elements)}copy(m){const te=this.elements,me=m.elements;return te[0]=me[0],te[1]=me[1],te[2]=me[2],te[3]=me[3],te[4]=me[4],te[5]=me[5],te[6]=me[6],te[7]=me[7],te[8]=me[8],te[9]=me[9],te[10]=me[10],te[11]=me[11],te[12]=me[12],te[13]=me[13],te[14]=me[14],te[15]=me[15],this}copyPosition(m){const te=this.elements,me=m.elements;return te[12]=me[12],te[13]=me[13],te[14]=me[14],this}setFromMatrix3(m){const me=m.elements;return this.set(me[0],me[3],me[6],0,me[1],me[4],me[7],0,me[2],me[5],me[8],0,0,0,0,1),this}extractBasis(xAxis,yAxis,zAxis){return xAxis.setFromMatrixColumn(this,0),yAxis.setFromMatrixColumn(this,1),zAxis.setFromMatrixColumn(this,2),this}makeBasis(xAxis,yAxis,zAxis){return this.set(xAxis.x,yAxis.x,zAxis.x,0,xAxis.y,yAxis.y,zAxis.y,0,xAxis.z,yAxis.z,zAxis.z,0,0,0,0,1),this}extractRotation(m){const te=this.elements,me=m.elements,scaleX=1/_v1$5.setFromMatrixColumn(m,0).length(),scaleY=1/_v1$5.setFromMatrixColumn(m,1).length(),scaleZ=1/_v1$5.setFromMatrixColumn(m,2).length();return te[0]=me[0]*scaleX,te[1]=me[1]*scaleX,te[2]=me[2]*scaleX,te[3]=0,te[4]=me[4]*scaleY,te[5]=me[5]*scaleY,te[6]=me[6]*scaleY,te[7]=0,te[8]=me[8]*scaleZ,te[9]=me[9]*scaleZ,te[10]=me[10]*scaleZ,te[11]=0,te[12]=0,te[13]=0,te[14]=0,te[15]=1,this}makeRotationFromEuler(euler){euler&&euler.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");const te=this.elements,x=euler.x,y=euler.y,z=euler.z,a=Math.cos(x),b=Math.sin(x),c=Math.cos(y),d=Math.sin(y),e=Math.cos(z),f=Math.sin(z);if("XYZ"===euler.order){const ae=a*e,af=a*f,be=b*e,bf=b*f;te[0]=c*e,te[4]=-c*f,te[8]=d,te[1]=af+be*d,te[5]=ae-bf*d,te[9]=-b*c,te[2]=bf-ae*d,te[6]=be+af*d,te[10]=a*c}else if("YXZ"===euler.order){const ce=c*e,cf=c*f,de=d*e,df=d*f;te[0]=ce+df*b,te[4]=de*b-cf,te[8]=a*d,te[1]=a*f,te[5]=a*e,te[9]=-b,te[2]=cf*b-de,te[6]=df+ce*b,te[10]=a*c}else if("ZXY"===euler.order){const ce=c*e,cf=c*f,de=d*e,df=d*f;te[0]=ce-df*b,te[4]=-a*f,te[8]=de+cf*b,te[1]=cf+de*b,te[5]=a*e,te[9]=df-ce*b,te[2]=-a*d,te[6]=b,te[10]=a*c}else if("ZYX"===euler.order){const ae=a*e,af=a*f,be=b*e,bf=b*f;te[0]=c*e,te[4]=be*d-af,te[8]=ae*d+bf,te[1]=c*f,te[5]=bf*d+ae,te[9]=af*d-be,te[2]=-d,te[6]=b*c,te[10]=a*c}else if("YZX"===euler.order){const ac=a*c,ad=a*d,bc=b*c,bd=b*d;te[0]=c*e,te[4]=bd-ac*f,te[8]=bc*f+ad,te[1]=f,te[5]=a*e,te[9]=-b*e,te[2]=-d*e,te[6]=ad*f+bc,te[10]=ac-bd*f}else if("XZY"===euler.order){const ac=a*c,ad=a*d,bc=b*c,bd=b*d;te[0]=c*e,te[4]=-f,te[8]=d*e,te[1]=ac*f+bd,te[5]=a*e,te[9]=ad*f-bc,te[2]=bc*f-ad,te[6]=b*e,te[10]=bd*f+ac}return te[3]=0,te[7]=0,te[11]=0,te[12]=0,te[13]=0,te[14]=0,te[15]=1,this}makeRotationFromQuaternion(q){return this.compose(_zero,q,_one)}lookAt(eye,target,up){const te=this.elements;return _z.subVectors(eye,target),0===_z.lengthSq()&&(_z.z=1),_z.normalize(),_x.crossVectors(up,_z),0===_x.lengthSq()&&(1===Math.abs(up.z)?_z.x+=1e-4:_z.z+=1e-4,_z.normalize(),_x.crossVectors(up,_z)),_x.normalize(),_y.crossVectors(_z,_x),te[0]=_x.x,te[4]=_y.x,te[8]=_z.x,te[1]=_x.y,te[5]=_y.y,te[9]=_z.y,te[2]=_x.z,te[6]=_y.z,te[10]=_z.z,this}multiply(m,n){return void 0!==n?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(m,n)):this.multiplyMatrices(this,m)}premultiply(m){return this.multiplyMatrices(m,this)}multiplyMatrices(a,b){const ae=a.elements,be=b.elements,te=this.elements,a11=ae[0],a12=ae[4],a13=ae[8],a14=ae[12],a21=ae[1],a22=ae[5],a23=ae[9],a24=ae[13],a31=ae[2],a32=ae[6],a33=ae[10],a34=ae[14],a41=ae[3],a42=ae[7],a43=ae[11],a44=ae[15],b11=be[0],b12=be[4],b13=be[8],b14=be[12],b21=be[1],b22=be[5],b23=be[9],b24=be[13],b31=be[2],b32=be[6],b33=be[10],b34=be[14],b41=be[3],b42=be[7],b43=be[11],b44=be[15];return te[0]=a11*b11+a12*b21+a13*b31+a14*b41,te[4]=a11*b12+a12*b22+a13*b32+a14*b42,te[8]=a11*b13+a12*b23+a13*b33+a14*b43,te[12]=a11*b14+a12*b24+a13*b34+a14*b44,te[1]=a21*b11+a22*b21+a23*b31+a24*b41,te[5]=a21*b12+a22*b22+a23*b32+a24*b42,te[9]=a21*b13+a22*b23+a23*b33+a24*b43,te[13]=a21*b14+a22*b24+a23*b34+a24*b44,te[2]=a31*b11+a32*b21+a33*b31+a34*b41,te[6]=a31*b12+a32*b22+a33*b32+a34*b42,te[10]=a31*b13+a32*b23+a33*b33+a34*b43,te[14]=a31*b14+a32*b24+a33*b34+a34*b44,te[3]=a41*b11+a42*b21+a43*b31+a44*b41,te[7]=a41*b12+a42*b22+a43*b32+a44*b42,te[11]=a41*b13+a42*b23+a43*b33+a44*b43,te[15]=a41*b14+a42*b24+a43*b34+a44*b44,this}multiplyScalar(s){const te=this.elements;return te[0]*=s,te[4]*=s,te[8]*=s,te[12]*=s,te[1]*=s,te[5]*=s,te[9]*=s,te[13]*=s,te[2]*=s,te[6]*=s,te[10]*=s,te[14]*=s,te[3]*=s,te[7]*=s,te[11]*=s,te[15]*=s,this}determinant(){const te=this.elements,n11=te[0],n12=te[4],n13=te[8],n14=te[12],n21=te[1],n22=te[5],n23=te[9],n24=te[13],n31=te[2],n32=te[6],n33=te[10],n34=te[14];return te[3]*(+n14*n23*n32-n13*n24*n32-n14*n22*n33+n12*n24*n33+n13*n22*n34-n12*n23*n34)+te[7]*(+n11*n23*n34-n11*n24*n33+n14*n21*n33-n13*n21*n34+n13*n24*n31-n14*n23*n31)+te[11]*(+n11*n24*n32-n11*n22*n34-n14*n21*n32+n12*n21*n34+n14*n22*n31-n12*n24*n31)+te[15]*(-n13*n22*n31-n11*n23*n32+n11*n22*n33+n13*n21*n32-n12*n21*n33+n12*n23*n31)}transpose(){const te=this.elements;let tmp;return tmp=te[1],te[1]=te[4],te[4]=tmp,tmp=te[2],te[2]=te[8],te[8]=tmp,tmp=te[6],te[6]=te[9],te[9]=tmp,tmp=te[3],te[3]=te[12],te[12]=tmp,tmp=te[7],te[7]=te[13],te[13]=tmp,tmp=te[11],te[11]=te[14],te[14]=tmp,this}setPosition(x,y,z){const te=this.elements;return x.isVector3?(te[12]=x.x,te[13]=x.y,te[14]=x.z):(te[12]=x,te[13]=y,te[14]=z),this}invert(){const te=this.elements,n11=te[0],n21=te[1],n31=te[2],n41=te[3],n12=te[4],n22=te[5],n32=te[6],n42=te[7],n13=te[8],n23=te[9],n33=te[10],n43=te[11],n14=te[12],n24=te[13],n34=te[14],n44=te[15],t11=n23*n34*n42-n24*n33*n42+n24*n32*n43-n22*n34*n43-n23*n32*n44+n22*n33*n44,t12=n14*n33*n42-n13*n34*n42-n14*n32*n43+n12*n34*n43+n13*n32*n44-n12*n33*n44,t13=n13*n24*n42-n14*n23*n42+n14*n22*n43-n12*n24*n43-n13*n22*n44+n12*n23*n44,t14=n14*n23*n32-n13*n24*n32-n14*n22*n33+n12*n24*n33+n13*n22*n34-n12*n23*n34,det=n11*t11+n21*t12+n31*t13+n41*t14;if(0===det)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const detInv=1/det;return te[0]=t11*detInv,te[1]=(n24*n33*n41-n23*n34*n41-n24*n31*n43+n21*n34*n43+n23*n31*n44-n21*n33*n44)*detInv,te[2]=(n22*n34*n41-n24*n32*n41+n24*n31*n42-n21*n34*n42-n22*n31*n44+n21*n32*n44)*detInv,te[3]=(n23*n32*n41-n22*n33*n41-n23*n31*n42+n21*n33*n42+n22*n31*n43-n21*n32*n43)*detInv,te[4]=t12*detInv,te[5]=(n13*n34*n41-n14*n33*n41+n14*n31*n43-n11*n34*n43-n13*n31*n44+n11*n33*n44)*detInv,te[6]=(n14*n32*n41-n12*n34*n41-n14*n31*n42+n11*n34*n42+n12*n31*n44-n11*n32*n44)*detInv,te[7]=(n12*n33*n41-n13*n32*n41+n13*n31*n42-n11*n33*n42-n12*n31*n43+n11*n32*n43)*detInv,te[8]=t13*detInv,te[9]=(n14*n23*n41-n13*n24*n41-n14*n21*n43+n11*n24*n43+n13*n21*n44-n11*n23*n44)*detInv,te[10]=(n12*n24*n41-n14*n22*n41+n14*n21*n42-n11*n24*n42-n12*n21*n44+n11*n22*n44)*detInv,te[11]=(n13*n22*n41-n12*n23*n41-n13*n21*n42+n11*n23*n42+n12*n21*n43-n11*n22*n43)*detInv,te[12]=t14*detInv,te[13]=(n13*n24*n31-n14*n23*n31+n14*n21*n33-n11*n24*n33-n13*n21*n34+n11*n23*n34)*detInv,te[14]=(n14*n22*n31-n12*n24*n31-n14*n21*n32+n11*n24*n32+n12*n21*n34-n11*n22*n34)*detInv,te[15]=(n12*n23*n31-n13*n22*n31+n13*n21*n32-n11*n23*n32-n12*n21*n33+n11*n22*n33)*detInv,this}scale(v){const te=this.elements,x=v.x,y=v.y,z=v.z;return te[0]*=x,te[4]*=y,te[8]*=z,te[1]*=x,te[5]*=y,te[9]*=z,te[2]*=x,te[6]*=y,te[10]*=z,te[3]*=x,te[7]*=y,te[11]*=z,this}getMaxScaleOnAxis(){const te=this.elements,scaleXSq=te[0]*te[0]+te[1]*te[1]+te[2]*te[2],scaleYSq=te[4]*te[4]+te[5]*te[5]+te[6]*te[6],scaleZSq=te[8]*te[8]+te[9]*te[9]+te[10]*te[10];return Math.sqrt(Math.max(scaleXSq,scaleYSq,scaleZSq))}makeTranslation(x,y,z){return this.set(1,0,0,x,0,1,0,y,0,0,1,z,0,0,0,1),this}makeRotationX(theta){const c=Math.cos(theta),s=Math.sin(theta);return this.set(1,0,0,0,0,c,-s,0,0,s,c,0,0,0,0,1),this}makeRotationY(theta){const c=Math.cos(theta),s=Math.sin(theta);return this.set(c,0,s,0,0,1,0,0,-s,0,c,0,0,0,0,1),this}makeRotationZ(theta){const c=Math.cos(theta),s=Math.sin(theta);return this.set(c,-s,0,0,s,c,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(axis,angle){const c=Math.cos(angle),s=Math.sin(angle),t=1-c,x=axis.x,y=axis.y,z=axis.z,tx=t*x,ty=t*y;return this.set(tx*x+c,tx*y-s*z,tx*z+s*y,0,tx*y+s*z,ty*y+c,ty*z-s*x,0,tx*z-s*y,ty*z+s*x,t*z*z+c,0,0,0,0,1),this}makeScale(x,y,z){return this.set(x,0,0,0,0,y,0,0,0,0,z,0,0,0,0,1),this}makeShear(xy,xz,yx,yz,zx,zy){return this.set(1,yx,zx,0,xy,1,zy,0,xz,yz,1,0,0,0,0,1),this}compose(position,quaternion,scale){const te=this.elements,x=quaternion._x,y=quaternion._y,z=quaternion._z,w=quaternion._w,x2=x+x,y2=y+y,z2=z+z,xx=x*x2,xy=x*y2,xz=x*z2,yy=y*y2,yz=y*z2,zz=z*z2,wx=w*x2,wy=w*y2,wz=w*z2,sx=scale.x,sy=scale.y,sz=scale.z;return te[0]=(1-(yy+zz))*sx,te[1]=(xy+wz)*sx,te[2]=(xz-wy)*sx,te[3]=0,te[4]=(xy-wz)*sy,te[5]=(1-(xx+zz))*sy,te[6]=(yz+wx)*sy,te[7]=0,te[8]=(xz+wy)*sz,te[9]=(yz-wx)*sz,te[10]=(1-(xx+yy))*sz,te[11]=0,te[12]=position.x,te[13]=position.y,te[14]=position.z,te[15]=1,this}decompose(position,quaternion,scale){const te=this.elements;let sx=_v1$5.set(te[0],te[1],te[2]).length();const sy=_v1$5.set(te[4],te[5],te[6]).length(),sz=_v1$5.set(te[8],te[9],te[10]).length();this.determinant()<0&&(sx=-sx),position.x=te[12],position.y=te[13],position.z=te[14],_m1$2.copy(this);const invSX=1/sx,invSY=1/sy,invSZ=1/sz;return _m1$2.elements[0]*=invSX,_m1$2.elements[1]*=invSX,_m1$2.elements[2]*=invSX,_m1$2.elements[4]*=invSY,_m1$2.elements[5]*=invSY,_m1$2.elements[6]*=invSY,_m1$2.elements[8]*=invSZ,_m1$2.elements[9]*=invSZ,_m1$2.elements[10]*=invSZ,quaternion.setFromRotationMatrix(_m1$2),scale.x=sx,scale.y=sy,scale.z=sz,this}makePerspective(left,right,top,bottom,near,far){void 0===far&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");const te=this.elements,x=2*near/(right-left),y=2*near/(top-bottom),a=(right+left)/(right-left),b=(top+bottom)/(top-bottom),c=-(far+near)/(far-near),d=-2*far*near/(far-near);return te[0]=x,te[4]=0,te[8]=a,te[12]=0,te[1]=0,te[5]=y,te[9]=b,te[13]=0,te[2]=0,te[6]=0,te[10]=c,te[14]=d,te[3]=0,te[7]=0,te[11]=-1,te[15]=0,this}makeOrthographic(left,right,top,bottom,near,far){const te=this.elements,w=1/(right-left),h=1/(top-bottom),p=1/(far-near),x=(right+left)*w,y=(top+bottom)*h,z=(far+near)*p;return te[0]=2*w,te[4]=0,te[8]=0,te[12]=-x,te[1]=0,te[5]=2*h,te[9]=0,te[13]=-y,te[2]=0,te[6]=0,te[10]=-2*p,te[14]=-z,te[3]=0,te[7]=0,te[11]=0,te[15]=1,this}equals(matrix){const te=this.elements,me=matrix.elements;for(let i=0;i<16;i++)if(te[i]!==me[i])return!1;return!0}fromArray(array,offset=0){for(let i=0;i<16;i++)this.elements[i]=array[i+offset];return this}toArray(array=[],offset=0){const te=this.elements;return array[offset]=te[0],array[offset+1]=te[1],array[offset+2]=te[2],array[offset+3]=te[3],array[offset+4]=te[4],array[offset+5]=te[5],array[offset+6]=te[6],array[offset+7]=te[7],array[offset+8]=te[8],array[offset+9]=te[9],array[offset+10]=te[10],array[offset+11]=te[11],array[offset+12]=te[12],array[offset+13]=te[13],array[offset+14]=te[14],array[offset+15]=te[15],array}}Matrix4.prototype.isMatrix4=!0;const _v1$5=new Vector3,_m1$2=new Matrix4,_zero=new Vector3(0,0,0),_one=new Vector3(1,1,1),_x=new Vector3,_y=new Vector3,_z=new Vector3,_matrix$1=new Matrix4,_quaternion$3=new Quaternion;class Euler{constructor(x=0,y=0,z=0,order=Euler.DefaultOrder){this._x=x,this._y=y,this._z=z,this._order=order}get x(){return this._x}set x(value){this._x=value,this._onChangeCallback()}get y(){return this._y}set y(value){this._y=value,this._onChangeCallback()}get z(){return this._z}set z(value){this._z=value,this._onChangeCallback()}get order(){return this._order}set order(value){this._order=value,this._onChangeCallback()}set(x,y,z,order=this._order){return this._x=x,this._y=y,this._z=z,this._order=order,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(euler){return this._x=euler._x,this._y=euler._y,this._z=euler._z,this._order=euler._order,this._onChangeCallback(),this}setFromRotationMatrix(m,order=this._order,update=!0){const te=m.elements,m11=te[0],m12=te[4],m13=te[8],m21=te[1],m22=te[5],m23=te[9],m31=te[2],m32=te[6],m33=te[10];switch(order){case"XYZ":this._y=Math.asin(clamp(m13,-1,1)),Math.abs(m13)<.9999999?(this._x=Math.atan2(-m23,m33),this._z=Math.atan2(-m12,m11)):(this._x=Math.atan2(m32,m22),this._z=0);break;case"YXZ":this._x=Math.asin(-clamp(m23,-1,1)),Math.abs(m23)<.9999999?(this._y=Math.atan2(m13,m33),this._z=Math.atan2(m21,m22)):(this._y=Math.atan2(-m31,m11),this._z=0);break;case"ZXY":this._x=Math.asin(clamp(m32,-1,1)),Math.abs(m32)<.9999999?(this._y=Math.atan2(-m31,m33),this._z=Math.atan2(-m12,m22)):(this._y=0,this._z=Math.atan2(m21,m11));break;case"ZYX":this._y=Math.asin(-clamp(m31,-1,1)),Math.abs(m31)<.9999999?(this._x=Math.atan2(m32,m33),this._z=Math.atan2(m21,m11)):(this._x=0,this._z=Math.atan2(-m12,m22));break;case"YZX":this._z=Math.asin(clamp(m21,-1,1)),Math.abs(m21)<.9999999?(this._x=Math.atan2(-m23,m22),this._y=Math.atan2(-m31,m11)):(this._x=0,this._y=Math.atan2(m13,m33));break;case"XZY":this._z=Math.asin(-clamp(m12,-1,1)),Math.abs(m12)<.9999999?(this._x=Math.atan2(m32,m22),this._y=Math.atan2(m13,m11)):(this._x=Math.atan2(-m23,m33),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+order)}return this._order=order,!0===update&&this._onChangeCallback(),this}setFromQuaternion(q,order,update){return _matrix$1.makeRotationFromQuaternion(q),this.setFromRotationMatrix(_matrix$1,order,update)}setFromVector3(v,order=this._order){return this.set(v.x,v.y,v.z,order)}reorder(newOrder){return _quaternion$3.setFromEuler(this),this.setFromQuaternion(_quaternion$3,newOrder)}equals(euler){return euler._x===this._x&&euler._y===this._y&&euler._z===this._z&&euler._order===this._order}fromArray(array){return this._x=array[0],this._y=array[1],this._z=array[2],void 0!==array[3]&&(this._order=array[3]),this._onChangeCallback(),this}toArray(array=[],offset=0){return array[offset]=this._x,array[offset+1]=this._y,array[offset+2]=this._z,array[offset+3]=this._order,array}toVector3(optionalResult){return optionalResult?optionalResult.set(this._x,this._y,this._z):new Vector3(this._x,this._y,this._z)}_onChange(callback){return this._onChangeCallback=callback,this}_onChangeCallback(){}}Euler.prototype.isEuler=!0,Euler.DefaultOrder="XYZ",Euler.RotationOrders=["XYZ","YZX","ZXY","XZY","YXZ","ZYX"];class Layers{constructor(){this.mask=1}set(channel){this.mask=1<1){for(let i=0;i1){for(let i=0;i0){object.children=[];for(let i=0;i0){object.animations=[];for(let i=0;i0&&(output.geometries=geometries),materials.length>0&&(output.materials=materials),textures.length>0&&(output.textures=textures),images.length>0&&(output.images=images),shapes.length>0&&(output.shapes=shapes),skeletons.length>0&&(output.skeletons=skeletons),animations.length>0&&(output.animations=animations)}return output.object=object,output;function extractFromCache(cache){const values=[];for(const key in cache){const data=cache[key];delete data.metadata,values.push(data)}return values}}clone(recursive){return(new this.constructor).copy(this,recursive)}copy(source,recursive=!0){if(this.name=source.name,this.up.copy(source.up),this.position.copy(source.position),this.rotation.order=source.rotation.order,this.quaternion.copy(source.quaternion),this.scale.copy(source.scale),this.matrix.copy(source.matrix),this.matrixWorld.copy(source.matrixWorld),this.matrixAutoUpdate=source.matrixAutoUpdate,this.matrixWorldNeedsUpdate=source.matrixWorldNeedsUpdate,this.layers.mask=source.layers.mask,this.visible=source.visible,this.castShadow=source.castShadow,this.receiveShadow=source.receiveShadow,this.frustumCulled=source.frustumCulled,this.renderOrder=source.renderOrder,this.userData=JSON.parse(JSON.stringify(source.userData)),!0===recursive)for(let i=0;i0?target.multiplyScalar(1/Math.sqrt(targetLengthSq)):target.set(0,0,0)}static getBarycoord(point,a,b,c,target){_v0$1.subVectors(c,a),_v1$3.subVectors(b,a),_v2$2.subVectors(point,a);const dot00=_v0$1.dot(_v0$1),dot01=_v0$1.dot(_v1$3),dot02=_v0$1.dot(_v2$2),dot11=_v1$3.dot(_v1$3),dot12=_v1$3.dot(_v2$2),denom=dot00*dot11-dot01*dot01;if(0===denom)return target.set(-2,-1,-1);const invDenom=1/denom,u=(dot11*dot02-dot01*dot12)*invDenom,v=(dot00*dot12-dot01*dot02)*invDenom;return target.set(1-u-v,v,u)}static containsPoint(point,a,b,c){return this.getBarycoord(point,a,b,c,_v3$1),_v3$1.x>=0&&_v3$1.y>=0&&_v3$1.x+_v3$1.y<=1}static getUV(point,p1,p2,p3,uv1,uv2,uv3,target){return this.getBarycoord(point,p1,p2,p3,_v3$1),target.set(0,0),target.addScaledVector(uv1,_v3$1.x),target.addScaledVector(uv2,_v3$1.y),target.addScaledVector(uv3,_v3$1.z),target}static isFrontFacing(a,b,c,direction){return _v0$1.subVectors(c,b),_v1$3.subVectors(a,b),_v0$1.cross(_v1$3).dot(direction)<0}set(a,b,c){return this.a.copy(a),this.b.copy(b),this.c.copy(c),this}setFromPointsAndIndices(points,i0,i1,i2){return this.a.copy(points[i0]),this.b.copy(points[i1]),this.c.copy(points[i2]),this}clone(){return(new this.constructor).copy(this)}copy(triangle){return this.a.copy(triangle.a),this.b.copy(triangle.b),this.c.copy(triangle.c),this}getArea(){return _v0$1.subVectors(this.c,this.b),_v1$3.subVectors(this.a,this.b),.5*_v0$1.cross(_v1$3).length()}getMidpoint(target){return target.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(target){return Triangle.getNormal(this.a,this.b,this.c,target)}getPlane(target){return target.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(point,target){return Triangle.getBarycoord(point,this.a,this.b,this.c,target)}getUV(point,uv1,uv2,uv3,target){return Triangle.getUV(point,this.a,this.b,this.c,uv1,uv2,uv3,target)}containsPoint(point){return Triangle.containsPoint(point,this.a,this.b,this.c)}isFrontFacing(direction){return Triangle.isFrontFacing(this.a,this.b,this.c,direction)}intersectsBox(box){return box.intersectsTriangle(this)}closestPointToPoint(p,target){const a=this.a,b=this.b,c=this.c;let v,w;_vab.subVectors(b,a),_vac.subVectors(c,a),_vap.subVectors(p,a);const d1=_vab.dot(_vap),d2=_vac.dot(_vap);if(d1<=0&&d2<=0)return target.copy(a);_vbp.subVectors(p,b);const d3=_vab.dot(_vbp),d4=_vac.dot(_vbp);if(d3>=0&&d4<=d3)return target.copy(b);const vc=d1*d4-d3*d2;if(vc<=0&&d1>=0&&d3<=0)return v=d1/(d1-d3),target.copy(a).addScaledVector(_vab,v);_vcp.subVectors(p,c);const d5=_vab.dot(_vcp),d6=_vac.dot(_vcp);if(d6>=0&&d5<=d6)return target.copy(c);const vb=d5*d2-d1*d6;if(vb<=0&&d2>=0&&d6<=0)return w=d2/(d2-d6),target.copy(a).addScaledVector(_vac,w);const va=d3*d6-d5*d4;if(va<=0&&d4-d3>=0&&d5-d6>=0)return _vbc.subVectors(c,b),w=(d4-d3)/(d4-d3+(d5-d6)),target.copy(b).addScaledVector(_vbc,w);const denom=1/(va+vb+vc);return v=vb*denom,w=vc*denom,target.copy(a).addScaledVector(_vab,v).addScaledVector(_vac,w)}equals(triangle){return triangle.a.equals(this.a)&&triangle.b.equals(this.b)&&triangle.c.equals(this.c)}}let materialId=0;class Material extends EventDispatcher{constructor(){super(),Object.defineProperty(this,"id",{value:materialId++}),this.uuid=generateUUID(),this.name="",this.type="Material",this.fog=!0,this.blending=NormalBlending,this.side=FrontSide,this.vertexColors=!1,this.opacity=1,this.transparent=!1,this.blendSrc=SrcAlphaFactor,this.blendDst=OneMinusSrcAlphaFactor,this.blendEquation=AddEquation,this.blendSrcAlpha=null,this.blendDstAlpha=null,this.blendEquationAlpha=null,this.depthFunc=LessEqualDepth,this.depthTest=!0,this.depthWrite=!0,this.stencilWriteMask=255,this.stencilFunc=AlwaysStencilFunc,this.stencilRef=0,this.stencilFuncMask=255,this.stencilFail=KeepStencilOp,this.stencilZFail=KeepStencilOp,this.stencilZPass=KeepStencilOp,this.stencilWrite=!1,this.clippingPlanes=null,this.clipIntersection=!1,this.clipShadows=!1,this.shadowSide=null,this.colorWrite=!0,this.precision=null,this.polygonOffset=!1,this.polygonOffsetFactor=0,this.polygonOffsetUnits=0,this.dithering=!1,this.alphaTest=0,this.alphaToCoverage=!1,this.premultipliedAlpha=!1,this.visible=!0,this.toneMapped=!0,this.userData={},this.version=0}onBuild(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(values){if(void 0!==values)for(const key in values){const newValue=values[key];if(void 0===newValue){console.warn("THREE.Material: '"+key+"' parameter is undefined.");continue}if("shading"===key){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=newValue===FlatShading;continue}const currentValue=this[key];void 0!==currentValue?currentValue&¤tValue.isColor?currentValue.set(newValue):currentValue&¤tValue.isVector3&&newValue&&newValue.isVector3?currentValue.copy(newValue):this[key]=newValue:console.warn("THREE."+this.type+": '"+key+"' is not a property of this material.")}}toJSON(meta){const isRoot=void 0===meta||"string"==typeof meta;isRoot&&(meta={textures:{},images:{}});const data={metadata:{version:4.5,type:"Material",generator:"Material.toJSON"}};function extractFromCache(cache){const values=[];for(const key in cache){const data=cache[key];delete data.metadata,values.push(data)}return values}if(data.uuid=this.uuid,data.type=this.type,""!==this.name&&(data.name=this.name),this.color&&this.color.isColor&&(data.color=this.color.getHex()),void 0!==this.roughness&&(data.roughness=this.roughness),void 0!==this.metalness&&(data.metalness=this.metalness),this.sheen&&this.sheen.isColor&&(data.sheen=this.sheen.getHex()),this.emissive&&this.emissive.isColor&&(data.emissive=this.emissive.getHex()),this.emissiveIntensity&&1!==this.emissiveIntensity&&(data.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(data.specular=this.specular.getHex()),void 0!==this.shininess&&(data.shininess=this.shininess),void 0!==this.clearcoat&&(data.clearcoat=this.clearcoat),void 0!==this.clearcoatRoughness&&(data.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(data.clearcoatMap=this.clearcoatMap.toJSON(meta).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(data.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(meta).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(data.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(meta).uuid,data.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.map&&this.map.isTexture&&(data.map=this.map.toJSON(meta).uuid),this.matcap&&this.matcap.isTexture&&(data.matcap=this.matcap.toJSON(meta).uuid),this.alphaMap&&this.alphaMap.isTexture&&(data.alphaMap=this.alphaMap.toJSON(meta).uuid),this.lightMap&&this.lightMap.isTexture&&(data.lightMap=this.lightMap.toJSON(meta).uuid,data.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(data.aoMap=this.aoMap.toJSON(meta).uuid,data.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(data.bumpMap=this.bumpMap.toJSON(meta).uuid,data.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(data.normalMap=this.normalMap.toJSON(meta).uuid,data.normalMapType=this.normalMapType,data.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(data.displacementMap=this.displacementMap.toJSON(meta).uuid,data.displacementScale=this.displacementScale,data.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(data.roughnessMap=this.roughnessMap.toJSON(meta).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(data.metalnessMap=this.metalnessMap.toJSON(meta).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(data.emissiveMap=this.emissiveMap.toJSON(meta).uuid),this.specularMap&&this.specularMap.isTexture&&(data.specularMap=this.specularMap.toJSON(meta).uuid),this.envMap&&this.envMap.isTexture&&(data.envMap=this.envMap.toJSON(meta).uuid,void 0!==this.combine&&(data.combine=this.combine)),void 0!==this.envMapIntensity&&(data.envMapIntensity=this.envMapIntensity),void 0!==this.reflectivity&&(data.reflectivity=this.reflectivity),void 0!==this.refractionRatio&&(data.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(data.gradientMap=this.gradientMap.toJSON(meta).uuid),void 0!==this.transmission&&(data.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(data.transmissionMap=this.transmissionMap.toJSON(meta).uuid),void 0!==this.thickness&&(data.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(data.thicknessMap=this.thicknessMap.toJSON(meta).uuid),void 0!==this.attenuationDistance&&(data.attenuationDistance=this.attenuationDistance),void 0!==this.attenuationColor&&(data.attenuationColor=this.attenuationColor.getHex()),void 0!==this.size&&(data.size=this.size),null!==this.shadowSide&&(data.shadowSide=this.shadowSide),void 0!==this.sizeAttenuation&&(data.sizeAttenuation=this.sizeAttenuation),this.blending!==NormalBlending&&(data.blending=this.blending),this.side!==FrontSide&&(data.side=this.side),this.vertexColors&&(data.vertexColors=!0),this.opacity<1&&(data.opacity=this.opacity),!0===this.transparent&&(data.transparent=this.transparent),data.depthFunc=this.depthFunc,data.depthTest=this.depthTest,data.depthWrite=this.depthWrite,data.colorWrite=this.colorWrite,data.stencilWrite=this.stencilWrite,data.stencilWriteMask=this.stencilWriteMask,data.stencilFunc=this.stencilFunc,data.stencilRef=this.stencilRef,data.stencilFuncMask=this.stencilFuncMask,data.stencilFail=this.stencilFail,data.stencilZFail=this.stencilZFail,data.stencilZPass=this.stencilZPass,this.rotation&&0!==this.rotation&&(data.rotation=this.rotation),!0===this.polygonOffset&&(data.polygonOffset=!0),0!==this.polygonOffsetFactor&&(data.polygonOffsetFactor=this.polygonOffsetFactor),0!==this.polygonOffsetUnits&&(data.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth&&1!==this.linewidth&&(data.linewidth=this.linewidth),void 0!==this.dashSize&&(data.dashSize=this.dashSize),void 0!==this.gapSize&&(data.gapSize=this.gapSize),void 0!==this.scale&&(data.scale=this.scale),!0===this.dithering&&(data.dithering=!0),this.alphaTest>0&&(data.alphaTest=this.alphaTest),!0===this.alphaToCoverage&&(data.alphaToCoverage=this.alphaToCoverage),!0===this.premultipliedAlpha&&(data.premultipliedAlpha=this.premultipliedAlpha),!0===this.wireframe&&(data.wireframe=this.wireframe),this.wireframeLinewidth>1&&(data.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(data.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(data.wireframeLinejoin=this.wireframeLinejoin),!0===this.morphTargets&&(data.morphTargets=!0),!0===this.morphNormals&&(data.morphNormals=!0),!0===this.flatShading&&(data.flatShading=this.flatShading),!1===this.visible&&(data.visible=!1),!1===this.toneMapped&&(data.toneMapped=!1),"{}"!==JSON.stringify(this.userData)&&(data.userData=this.userData),isRoot){const textures=extractFromCache(meta.textures),images=extractFromCache(meta.images);textures.length>0&&(data.textures=textures),images.length>0&&(data.images=images)}return data}clone(){return(new this.constructor).copy(this)}copy(source){this.name=source.name,this.fog=source.fog,this.blending=source.blending,this.side=source.side,this.vertexColors=source.vertexColors,this.opacity=source.opacity,this.transparent=source.transparent,this.blendSrc=source.blendSrc,this.blendDst=source.blendDst,this.blendEquation=source.blendEquation,this.blendSrcAlpha=source.blendSrcAlpha,this.blendDstAlpha=source.blendDstAlpha,this.blendEquationAlpha=source.blendEquationAlpha,this.depthFunc=source.depthFunc,this.depthTest=source.depthTest,this.depthWrite=source.depthWrite,this.stencilWriteMask=source.stencilWriteMask,this.stencilFunc=source.stencilFunc,this.stencilRef=source.stencilRef,this.stencilFuncMask=source.stencilFuncMask,this.stencilFail=source.stencilFail,this.stencilZFail=source.stencilZFail,this.stencilZPass=source.stencilZPass,this.stencilWrite=source.stencilWrite;const srcPlanes=source.clippingPlanes;let dstPlanes=null;if(null!==srcPlanes){const n=srcPlanes.length;dstPlanes=new Array(n);for(let i=0;i!==n;++i)dstPlanes[i]=srcPlanes[i].clone()}return this.clippingPlanes=dstPlanes,this.clipIntersection=source.clipIntersection,this.clipShadows=source.clipShadows,this.shadowSide=source.shadowSide,this.colorWrite=source.colorWrite,this.precision=source.precision,this.polygonOffset=source.polygonOffset,this.polygonOffsetFactor=source.polygonOffsetFactor,this.polygonOffsetUnits=source.polygonOffsetUnits,this.dithering=source.dithering,this.alphaTest=source.alphaTest,this.alphaToCoverage=source.alphaToCoverage,this.premultipliedAlpha=source.premultipliedAlpha,this.visible=source.visible,this.toneMapped=source.toneMapped,this.userData=JSON.parse(JSON.stringify(source.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(value){!0===value&&this.version++}}Material.prototype.isMaterial=!0;const _colorKeywords={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},_hslA={h:0,s:0,l:0},_hslB={h:0,s:0,l:0};function hue2rgb(p,q,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?p+6*(q-p)*t:t<.5?q:t<2/3?p+6*(q-p)*(2/3-t):p}function SRGBToLinear(c){return c<.04045?.0773993808*c:Math.pow(.9478672986*c+.0521327014,2.4)}function LinearToSRGB(c){return c<.0031308?12.92*c:1.055*Math.pow(c,.41666)-.055}class Color{constructor(r,g,b){return void 0===g&&void 0===b?this.set(r):this.setRGB(r,g,b)}set(value){return value&&value.isColor?this.copy(value):"number"==typeof value?this.setHex(value):"string"==typeof value&&this.setStyle(value),this}setScalar(scalar){return this.r=scalar,this.g=scalar,this.b=scalar,this}setHex(hex){return hex=Math.floor(hex),this.r=(hex>>16&255)/255,this.g=(hex>>8&255)/255,this.b=(255&hex)/255,this}setRGB(r,g,b){return this.r=r,this.g=g,this.b=b,this}setHSL(h,s,l){if(h=euclideanModulo(h,1),s=clamp(s,0,1),l=clamp(l,0,1),0===s)this.r=this.g=this.b=l;else{const p=l<=.5?l*(1+s):l+s-l*s,q=2*l-p;this.r=hue2rgb(q,p,h+1/3),this.g=hue2rgb(q,p,h),this.b=hue2rgb(q,p,h-1/3)}return this}setStyle(style){function handleAlpha(string){void 0!==string&&parseFloat(string)<1&&console.warn("THREE.Color: Alpha component of "+style+" will be ignored.")}let m;if(m=/^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(style)){let color;const name=m[1],components=m[2];switch(name){case"rgb":case"rgba":if(color=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components))return this.r=Math.min(255,parseInt(color[1],10))/255,this.g=Math.min(255,parseInt(color[2],10))/255,this.b=Math.min(255,parseInt(color[3],10))/255,handleAlpha(color[4]),this;if(color=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components))return this.r=Math.min(100,parseInt(color[1],10))/100,this.g=Math.min(100,parseInt(color[2],10))/100,this.b=Math.min(100,parseInt(color[3],10))/100,handleAlpha(color[4]),this;break;case"hsl":case"hsla":if(color=/^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(components)){const h=parseFloat(color[1])/360,s=parseInt(color[2],10)/100,l=parseInt(color[3],10)/100;return handleAlpha(color[4]),this.setHSL(h,s,l)}}}else if(m=/^\#([A-Fa-f\d]+)$/.exec(style)){const hex=m[1],size=hex.length;if(3===size)return this.r=parseInt(hex.charAt(0)+hex.charAt(0),16)/255,this.g=parseInt(hex.charAt(1)+hex.charAt(1),16)/255,this.b=parseInt(hex.charAt(2)+hex.charAt(2),16)/255,this;if(6===size)return this.r=parseInt(hex.charAt(0)+hex.charAt(1),16)/255,this.g=parseInt(hex.charAt(2)+hex.charAt(3),16)/255,this.b=parseInt(hex.charAt(4)+hex.charAt(5),16)/255,this}return style&&style.length>0?this.setColorName(style):this}setColorName(style){const hex=_colorKeywords[style.toLowerCase()];return void 0!==hex?this.setHex(hex):console.warn("THREE.Color: Unknown color "+style),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(color){return this.r=color.r,this.g=color.g,this.b=color.b,this}copyGammaToLinear(color,gammaFactor=2){return this.r=Math.pow(color.r,gammaFactor),this.g=Math.pow(color.g,gammaFactor),this.b=Math.pow(color.b,gammaFactor),this}copyLinearToGamma(color,gammaFactor=2){const safeInverse=gammaFactor>0?1/gammaFactor:1;return this.r=Math.pow(color.r,safeInverse),this.g=Math.pow(color.g,safeInverse),this.b=Math.pow(color.b,safeInverse),this}convertGammaToLinear(gammaFactor){return this.copyGammaToLinear(this,gammaFactor),this}convertLinearToGamma(gammaFactor){return this.copyLinearToGamma(this,gammaFactor),this}copySRGBToLinear(color){return this.r=SRGBToLinear(color.r),this.g=SRGBToLinear(color.g),this.b=SRGBToLinear(color.b),this}copyLinearToSRGB(color){return this.r=LinearToSRGB(color.r),this.g=LinearToSRGB(color.g),this.b=LinearToSRGB(color.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0}getHexString(){return("000000"+this.getHex().toString(16)).slice(-6)}getHSL(target){const r=this.r,g=this.g,b=this.b,max=Math.max(r,g,b),min=Math.min(r,g,b);let hue,saturation;const lightness=(min+max)/2;if(min===max)hue=0,saturation=0;else{const delta=max-min;switch(saturation=lightness<=.5?delta/(max+min):delta/(2-max-min),max){case r:hue=(g-b)/delta+(gmax&&(max=array[i]);return max}const TYPED_ARRAYS={Int8Array:Int8Array,Uint8Array:Uint8Array,Uint8ClampedArray:Uint8ClampedArray,Int16Array:Int16Array,Uint16Array:Uint16Array,Int32Array:Int32Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array};function getTypedArray(type,buffer){return new TYPED_ARRAYS[type](buffer)}let _id=0;const _m1=new Matrix4,_obj=new Object3D,_offset=new Vector3,_box$1=new Box3,_boxMorphTargets=new Box3,_vector$8=new Vector3;class BufferGeometry extends EventDispatcher{constructor(){super(),Object.defineProperty(this,"id",{value:_id++}),this.uuid=generateUUID(),this.name="",this.type="BufferGeometry",this.index=null,this.attributes={},this.morphAttributes={},this.morphTargetsRelative=!1,this.groups=[],this.boundingBox=null,this.boundingSphere=null,this.drawRange={start:0,count:1/0},this.userData={}}getIndex(){return this.index}setIndex(index){return Array.isArray(index)?this.index=new(arrayMax(index)>65535?Uint32BufferAttribute:Uint16BufferAttribute)(index,1):this.index=index,this}getAttribute(name){return this.attributes[name]}setAttribute(name,attribute){return this.attributes[name]=attribute,this}deleteAttribute(name){return delete this.attributes[name],this}hasAttribute(name){return void 0!==this.attributes[name]}addGroup(start,count,materialIndex=0){this.groups.push({start:start,count:count,materialIndex:materialIndex})}clearGroups(){this.groups=[]}setDrawRange(start,count){this.drawRange.start=start,this.drawRange.count=count}applyMatrix4(matrix){const position=this.attributes.position;void 0!==position&&(position.applyMatrix4(matrix),position.needsUpdate=!0);const normal=this.attributes.normal;if(void 0!==normal){const normalMatrix=(new Matrix3).getNormalMatrix(matrix);normal.applyNormalMatrix(normalMatrix),normal.needsUpdate=!0}const tangent=this.attributes.tangent;return void 0!==tangent&&(tangent.transformDirection(matrix),tangent.needsUpdate=!0),null!==this.boundingBox&&this.computeBoundingBox(),null!==this.boundingSphere&&this.computeBoundingSphere(),this}applyQuaternion(q){return _m1.makeRotationFromQuaternion(q),this.applyMatrix4(_m1),this}rotateX(angle){return _m1.makeRotationX(angle),this.applyMatrix4(_m1),this}rotateY(angle){return _m1.makeRotationY(angle),this.applyMatrix4(_m1),this}rotateZ(angle){return _m1.makeRotationZ(angle),this.applyMatrix4(_m1),this}translate(x,y,z){return _m1.makeTranslation(x,y,z),this.applyMatrix4(_m1),this}scale(x,y,z){return _m1.makeScale(x,y,z),this.applyMatrix4(_m1),this}lookAt(vector){return _obj.lookAt(vector),_obj.updateMatrix(),this.applyMatrix4(_obj.matrix),this}center(){return this.computeBoundingBox(),this.boundingBox.getCenter(_offset).negate(),this.translate(_offset.x,_offset.y,_offset.z),this}setFromPoints(points){const position=[];for(let i=0,l=points.length;i0&&(data.userData=this.userData),void 0!==this.parameters){const parameters=this.parameters;for(const key in parameters)void 0!==parameters[key]&&(data[key]=parameters[key]);return data}data.data={attributes:{}};const index=this.index;null!==index&&(data.data.index={type:index.array.constructor.name,array:Array.prototype.slice.call(index.array)});const attributes=this.attributes;for(const key in attributes){const attribute=attributes[key];data.data.attributes[key]=attribute.toJSON(data.data)}const morphAttributes={};let hasMorphAttributes=!1;for(const key in this.morphAttributes){const attributeArray=this.morphAttributes[key],array=[];for(let i=0,il=attributeArray.length;i0&&(morphAttributes[key]=array,hasMorphAttributes=!0)}hasMorphAttributes&&(data.data.morphAttributes=morphAttributes,data.data.morphTargetsRelative=this.morphTargetsRelative);const groups=this.groups;groups.length>0&&(data.data.groups=JSON.parse(JSON.stringify(groups)));const boundingSphere=this.boundingSphere;return null!==boundingSphere&&(data.data.boundingSphere={center:boundingSphere.center.toArray(),radius:boundingSphere.radius}),data}clone(){return(new BufferGeometry).copy(this)}copy(source){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const data={};this.name=source.name;const index=source.index;null!==index&&this.setIndex(index.clone(data));const attributes=source.attributes;for(const name in attributes){const attribute=attributes[name];this.setAttribute(name,attribute.clone(data))}const morphAttributes=source.morphAttributes;for(const name in morphAttributes){const array=[],morphAttribute=morphAttributes[name];for(let i=0,l=morphAttribute.length;i0){const morphAttribute=morphAttributes[keys[0]];if(void 0!==morphAttribute){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let m=0,ml=morphAttribute.length;m0&&console.error("THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}}raycast(raycaster,intersects){const geometry=this.geometry,material=this.material,matrixWorld=this.matrixWorld;if(void 0===material)return;if(null===geometry.boundingSphere&&geometry.computeBoundingSphere(),_sphere$3.copy(geometry.boundingSphere),_sphere$3.applyMatrix4(matrixWorld),!1===raycaster.ray.intersectsSphere(_sphere$3))return;if(_inverseMatrix$2.copy(matrixWorld).invert(),_ray$2.copy(raycaster.ray).applyMatrix4(_inverseMatrix$2),null!==geometry.boundingBox&&!1===_ray$2.intersectsBox(geometry.boundingBox))return;let intersection;if(geometry.isBufferGeometry){const index=geometry.index,position=geometry.attributes.position,morphPosition=geometry.morphAttributes.position,morphTargetsRelative=geometry.morphTargetsRelative,uv=geometry.attributes.uv,uv2=geometry.attributes.uv2,groups=geometry.groups,drawRange=geometry.drawRange;if(null!==index)if(Array.isArray(material))for(let i=0,il=groups.length;iraycaster.far?null:{distance:distance,point:_intersectionPointWorld.clone(),object:object}}(object,material,raycaster,ray,_vA$1,_vB$1,_vC$1,_intersectionPoint);if(intersection){uv&&(_uvA$1.fromBufferAttribute(uv,a),_uvB$1.fromBufferAttribute(uv,b),_uvC$1.fromBufferAttribute(uv,c),intersection.uv=Triangle.getUV(_intersectionPoint,_vA$1,_vB$1,_vC$1,_uvA$1,_uvB$1,_uvC$1,new Vector2)),uv2&&(_uvA$1.fromBufferAttribute(uv2,a),_uvB$1.fromBufferAttribute(uv2,b),_uvC$1.fromBufferAttribute(uv2,c),intersection.uv2=Triangle.getUV(_intersectionPoint,_vA$1,_vB$1,_vC$1,_uvA$1,_uvB$1,_uvC$1,new Vector2));const face={a:a,b:b,c:c,normal:new Vector3,materialIndex:0};Triangle.getNormal(_vA$1,_vB$1,_vC$1,face.normal),intersection.face=face}return intersection}Mesh.prototype.isMesh=!0;class BoxGeometry extends BufferGeometry{constructor(width=1,height=1,depth=1,widthSegments=1,heightSegments=1,depthSegments=1){super(),this.type="BoxGeometry",this.parameters={width:width,height:height,depth:depth,widthSegments:widthSegments,heightSegments:heightSegments,depthSegments:depthSegments};const scope=this;widthSegments=Math.floor(widthSegments),heightSegments=Math.floor(heightSegments),depthSegments=Math.floor(depthSegments);const indices=[],vertices=[],normals=[],uvs=[];let numberOfVertices=0,groupStart=0;function buildPlane(u,v,w,udir,vdir,width,height,depth,gridX,gridY,materialIndex){const segmentWidth=width/gridX,segmentHeight=height/gridY,widthHalf=width/2,heightHalf=height/2,depthHalf=depth/2,gridX1=gridX+1,gridY1=gridY+1;let vertexCounter=0,groupCount=0;const vector=new Vector3;for(let iy=0;iy0?1:-1,normals.push(vector.x,vector.y,vector.z),uvs.push(ix/gridX),uvs.push(1-iy/gridY),vertexCounter+=1}}for(let iy=0;iy0&&(data.defines=this.defines),data.vertexShader=this.vertexShader,data.fragmentShader=this.fragmentShader;const extensions={};for(const key in this.extensions)!0===this.extensions[key]&&(extensions[key]=!0);return Object.keys(extensions).length>0&&(data.extensions=extensions),data}}ShaderMaterial.prototype.isShaderMaterial=!0;class Camera extends Object3D{constructor(){super(),this.type="Camera",this.matrixWorldInverse=new Matrix4,this.projectionMatrix=new Matrix4,this.projectionMatrixInverse=new Matrix4}copy(source,recursive){return super.copy(source,recursive),this.matrixWorldInverse.copy(source.matrixWorldInverse),this.projectionMatrix.copy(source.projectionMatrix),this.projectionMatrixInverse.copy(source.projectionMatrixInverse),this}getWorldDirection(target){this.updateWorldMatrix(!0,!1);const e=this.matrixWorld.elements;return target.set(-e[8],-e[9],-e[10]).normalize()}updateMatrixWorld(force){super.updateMatrixWorld(force),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(updateParents,updateChildren){super.updateWorldMatrix(updateParents,updateChildren),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return(new this.constructor).copy(this)}}Camera.prototype.isCamera=!0;class PerspectiveCamera extends Camera{constructor(fov=50,aspect=1,near=.1,far=2e3){super(),this.type="PerspectiveCamera",this.fov=fov,this.zoom=1,this.near=near,this.far=far,this.focus=10,this.aspect=aspect,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(source,recursive){return super.copy(source,recursive),this.fov=source.fov,this.zoom=source.zoom,this.near=source.near,this.far=source.far,this.focus=source.focus,this.aspect=source.aspect,this.view=null===source.view?null:Object.assign({},source.view),this.filmGauge=source.filmGauge,this.filmOffset=source.filmOffset,this}setFocalLength(focalLength){const vExtentSlope=.5*this.getFilmHeight()/focalLength;this.fov=2*RAD2DEG*Math.atan(vExtentSlope),this.updateProjectionMatrix()}getFocalLength(){const vExtentSlope=Math.tan(.5*DEG2RAD*this.fov);return.5*this.getFilmHeight()/vExtentSlope}getEffectiveFOV(){return 2*RAD2DEG*Math.atan(Math.tan(.5*DEG2RAD*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}setViewOffset(fullWidth,fullHeight,x,y,width,height){this.aspect=fullWidth/fullHeight,null===this.view&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=fullWidth,this.view.fullHeight=fullHeight,this.view.offsetX=x,this.view.offsetY=y,this.view.width=width,this.view.height=height,this.updateProjectionMatrix()}clearViewOffset(){null!==this.view&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const near=this.near;let top=near*Math.tan(.5*DEG2RAD*this.fov)/this.zoom,height=2*top,width=this.aspect*height,left=-.5*width;const view=this.view;if(null!==this.view&&this.view.enabled){const fullWidth=view.fullWidth,fullHeight=view.fullHeight;left+=view.offsetX*width/fullWidth,top-=view.offsetY*height/fullHeight,width*=view.width/fullWidth,height*=view.height/fullHeight}const skew=this.filmOffset;0!==skew&&(left+=near*skew/this.getFilmWidth()),this.projectionMatrix.makePerspective(left,left+width,top,top-height,near,this.far),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(meta){const data=super.toJSON(meta);return data.object.fov=this.fov,data.object.zoom=this.zoom,data.object.near=this.near,data.object.far=this.far,data.object.focus=this.focus,data.object.aspect=this.aspect,null!==this.view&&(data.object.view=Object.assign({},this.view)),data.object.filmGauge=this.filmGauge,data.object.filmOffset=this.filmOffset,data}}PerspectiveCamera.prototype.isPerspectiveCamera=!0;class CubeCamera extends Object3D{constructor(near,far,renderTarget){if(super(),this.type="CubeCamera",!0!==renderTarget.isWebGLCubeRenderTarget)return void console.error("THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.");this.renderTarget=renderTarget;const cameraPX=new PerspectiveCamera(90,1,near,far);cameraPX.layers=this.layers,cameraPX.up.set(0,-1,0),cameraPX.lookAt(new Vector3(1,0,0)),this.add(cameraPX);const cameraNX=new PerspectiveCamera(90,1,near,far);cameraNX.layers=this.layers,cameraNX.up.set(0,-1,0),cameraNX.lookAt(new Vector3(-1,0,0)),this.add(cameraNX);const cameraPY=new PerspectiveCamera(90,1,near,far);cameraPY.layers=this.layers,cameraPY.up.set(0,0,1),cameraPY.lookAt(new Vector3(0,1,0)),this.add(cameraPY);const cameraNY=new PerspectiveCamera(90,1,near,far);cameraNY.layers=this.layers,cameraNY.up.set(0,0,-1),cameraNY.lookAt(new Vector3(0,-1,0)),this.add(cameraNY);const cameraPZ=new PerspectiveCamera(90,1,near,far);cameraPZ.layers=this.layers,cameraPZ.up.set(0,-1,0),cameraPZ.lookAt(new Vector3(0,0,1)),this.add(cameraPZ);const cameraNZ=new PerspectiveCamera(90,1,near,far);cameraNZ.layers=this.layers,cameraNZ.up.set(0,-1,0),cameraNZ.lookAt(new Vector3(0,0,-1)),this.add(cameraNZ)}update(renderer,scene){null===this.parent&&this.updateMatrixWorld();const renderTarget=this.renderTarget,[cameraPX,cameraNX,cameraPY,cameraNY,cameraPZ,cameraNZ]=this.children,currentXrEnabled=renderer.xr.enabled,currentRenderTarget=renderer.getRenderTarget();renderer.xr.enabled=!1;const generateMipmaps=renderTarget.texture.generateMipmaps;renderTarget.texture.generateMipmaps=!1,renderer.setRenderTarget(renderTarget,0),renderer.render(scene,cameraPX),renderer.setRenderTarget(renderTarget,1),renderer.render(scene,cameraNX),renderer.setRenderTarget(renderTarget,2),renderer.render(scene,cameraPY),renderer.setRenderTarget(renderTarget,3),renderer.render(scene,cameraNY),renderer.setRenderTarget(renderTarget,4),renderer.render(scene,cameraPZ),renderTarget.texture.generateMipmaps=generateMipmaps,renderer.setRenderTarget(renderTarget,5),renderer.render(scene,cameraNZ),renderer.setRenderTarget(currentRenderTarget),renderer.xr.enabled=currentXrEnabled}}class CubeTexture extends Texture{constructor(images,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy,encoding){super(images=void 0!==images?images:[],mapping=void 0!==mapping?mapping:CubeReflectionMapping,wrapS,wrapT,magFilter,minFilter,format=void 0!==format?format:RGBFormat,type,anisotropy,encoding),this._needsFlipEnvMap=!0,this.flipY=!1}get images(){return this.image}set images(value){this.image=value}}CubeTexture.prototype.isCubeTexture=!0;class WebGLCubeRenderTarget extends WebGLRenderTarget{constructor(size,options,dummy){Number.isInteger(options)&&(console.warn("THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )"),options=dummy),super(size,size,options),options=options||{},this.texture=new CubeTexture(void 0,options.mapping,options.wrapS,options.wrapT,options.magFilter,options.minFilter,options.format,options.type,options.anisotropy,options.encoding),this.texture.generateMipmaps=void 0!==options.generateMipmaps&&options.generateMipmaps,this.texture.minFilter=void 0!==options.minFilter?options.minFilter:LinearFilter,this.texture._needsFlipEnvMap=!1}fromEquirectangularTexture(renderer,texture){this.texture.type=texture.type,this.texture.format=RGBAFormat,this.texture.encoding=texture.encoding,this.texture.generateMipmaps=texture.generateMipmaps,this.texture.minFilter=texture.minFilter,this.texture.magFilter=texture.magFilter;const shader={uniforms:{tEquirect:{value:null}},vertexShader:"\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include \n\t\t\t\t\t#include \n\n\t\t\t\t}\n\t\t\t",fragmentShader:"\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include \n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t"},geometry=new BoxGeometry(5,5,5),material=new ShaderMaterial({name:"CubemapFromEquirect",uniforms:cloneUniforms(shader.uniforms),vertexShader:shader.vertexShader,fragmentShader:shader.fragmentShader,side:BackSide,blending:NoBlending});material.uniforms.tEquirect.value=texture;const mesh=new Mesh(geometry,material),currentMinFilter=texture.minFilter;texture.minFilter===LinearMipmapLinearFilter&&(texture.minFilter=LinearFilter);return new CubeCamera(1,10,this).update(renderer,mesh),texture.minFilter=currentMinFilter,mesh.geometry.dispose(),mesh.material.dispose(),this}clear(renderer,color,depth,stencil){const currentRenderTarget=renderer.getRenderTarget();for(let i=0;i<6;i++)renderer.setRenderTarget(this,i),renderer.clear(color,depth,stencil);renderer.setRenderTarget(currentRenderTarget)}}WebGLCubeRenderTarget.prototype.isWebGLCubeRenderTarget=!0;const _vector1=new Vector3,_vector2=new Vector3,_normalMatrix=new Matrix3;class Plane{constructor(normal=new Vector3(1,0,0),constant=0){this.normal=normal,this.constant=constant}set(normal,constant){return this.normal.copy(normal),this.constant=constant,this}setComponents(x,y,z,w){return this.normal.set(x,y,z),this.constant=w,this}setFromNormalAndCoplanarPoint(normal,point){return this.normal.copy(normal),this.constant=-point.dot(this.normal),this}setFromCoplanarPoints(a,b,c){const normal=_vector1.subVectors(c,b).cross(_vector2.subVectors(a,b)).normalize();return this.setFromNormalAndCoplanarPoint(normal,a),this}copy(plane){return this.normal.copy(plane.normal),this.constant=plane.constant,this}normalize(){const inverseNormalLength=1/this.normal.length();return this.normal.multiplyScalar(inverseNormalLength),this.constant*=inverseNormalLength,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(point){return this.normal.dot(point)+this.constant}distanceToSphere(sphere){return this.distanceToPoint(sphere.center)-sphere.radius}projectPoint(point,target){return target.copy(this.normal).multiplyScalar(-this.distanceToPoint(point)).add(point)}intersectLine(line,target){const direction=line.delta(_vector1),denominator=this.normal.dot(direction);if(0===denominator)return 0===this.distanceToPoint(line.start)?target.copy(line.start):null;const t=-(line.start.dot(this.normal)+this.constant)/denominator;return t<0||t>1?null:target.copy(direction).multiplyScalar(t).add(line.start)}intersectsLine(line){const startSign=this.distanceToPoint(line.start),endSign=this.distanceToPoint(line.end);return startSign<0&&endSign>0||endSign<0&&startSign>0}intersectsBox(box){return box.intersectsPlane(this)}intersectsSphere(sphere){return sphere.intersectsPlane(this)}coplanarPoint(target){return target.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(matrix,optionalNormalMatrix){const normalMatrix=optionalNormalMatrix||_normalMatrix.getNormalMatrix(matrix),referencePoint=this.coplanarPoint(_vector1).applyMatrix4(matrix),normal=this.normal.applyMatrix3(normalMatrix).normalize();return this.constant=-referencePoint.dot(normal),this}translate(offset){return this.constant-=offset.dot(this.normal),this}equals(plane){return plane.normal.equals(this.normal)&&plane.constant===this.constant}clone(){return(new this.constructor).copy(this)}}Plane.prototype.isPlane=!0;const _sphere$2=new Sphere,_vector$7=new Vector3;class Frustum{constructor(p0=new Plane,p1=new Plane,p2=new Plane,p3=new Plane,p4=new Plane,p5=new Plane){this.planes=[p0,p1,p2,p3,p4,p5]}set(p0,p1,p2,p3,p4,p5){const planes=this.planes;return planes[0].copy(p0),planes[1].copy(p1),planes[2].copy(p2),planes[3].copy(p3),planes[4].copy(p4),planes[5].copy(p5),this}copy(frustum){const planes=this.planes;for(let i=0;i<6;i++)planes[i].copy(frustum.planes[i]);return this}setFromProjectionMatrix(m){const planes=this.planes,me=m.elements,me0=me[0],me1=me[1],me2=me[2],me3=me[3],me4=me[4],me5=me[5],me6=me[6],me7=me[7],me8=me[8],me9=me[9],me10=me[10],me11=me[11],me12=me[12],me13=me[13],me14=me[14],me15=me[15];return planes[0].setComponents(me3-me0,me7-me4,me11-me8,me15-me12).normalize(),planes[1].setComponents(me3+me0,me7+me4,me11+me8,me15+me12).normalize(),planes[2].setComponents(me3+me1,me7+me5,me11+me9,me15+me13).normalize(),planes[3].setComponents(me3-me1,me7-me5,me11-me9,me15-me13).normalize(),planes[4].setComponents(me3-me2,me7-me6,me11-me10,me15-me14).normalize(),planes[5].setComponents(me3+me2,me7+me6,me11+me10,me15+me14).normalize(),this}intersectsObject(object){const geometry=object.geometry;return null===geometry.boundingSphere&&geometry.computeBoundingSphere(),_sphere$2.copy(geometry.boundingSphere).applyMatrix4(object.matrixWorld),this.intersectsSphere(_sphere$2)}intersectsSprite(sprite){return _sphere$2.center.set(0,0,0),_sphere$2.radius=.7071067811865476,_sphere$2.applyMatrix4(sprite.matrixWorld),this.intersectsSphere(_sphere$2)}intersectsSphere(sphere){const planes=this.planes,center=sphere.center,negRadius=-sphere.radius;for(let i=0;i<6;i++){if(planes[i].distanceToPoint(center)0?box.max.x:box.min.x,_vector$7.y=plane.normal.y>0?box.max.y:box.min.y,_vector$7.z=plane.normal.z>0?box.max.z:box.min.z,plane.distanceToPoint(_vector$7)<0)return!1}return!0}containsPoint(point){const planes=this.planes;for(let i=0;i<6;i++)if(planes[i].distanceToPoint(point)<0)return!1;return!0}clone(){return(new this.constructor).copy(this)}}function WebGLAnimation(){let context=null,isAnimating=!1,animationLoop=null,requestId=null;function onAnimationFrame(time,frame){animationLoop(time,frame),requestId=context.requestAnimationFrame(onAnimationFrame)}return{start:function(){!0!==isAnimating&&null!==animationLoop&&(requestId=context.requestAnimationFrame(onAnimationFrame),isAnimating=!0)},stop:function(){context.cancelAnimationFrame(requestId),isAnimating=!1},setAnimationLoop:function(callback){animationLoop=callback},setContext:function(value){context=value}}}function WebGLAttributes(gl,capabilities){const isWebGL2=capabilities.isWebGL2,buffers=new WeakMap;return{get:function get(attribute){return attribute.isInterleavedBufferAttribute&&(attribute=attribute.data),buffers.get(attribute)},remove:function remove(attribute){attribute.isInterleavedBufferAttribute&&(attribute=attribute.data);const data=buffers.get(attribute);data&&(gl.deleteBuffer(data.buffer),buffers.delete(attribute))},update:function update(attribute,bufferType){if(attribute.isGLBufferAttribute){const cached=buffers.get(attribute);return void((!cached||cached.version 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotVH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotVH - 6.98316 ) * dotVH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nvec3 F_Schlick_RoughnessDependent( const in vec3 F0, const in float dotNV, const in float roughness ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotNV - 6.98316 ) * dotNV );\n\tvec3 Fr = max( vec3( 1.0 - roughness ), F0 ) - F0;\n\treturn Fr * fresnel + F0;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + viewDir );\n\tfloat dotNL = saturate( dot( normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tfloat dotNH = saturate( dot( normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in vec3 viewDir, const in vec3 normal, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( normal, viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick_RoughnessDependent( specularColor, dotNV, roughness );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n#if defined( USE_SHEEN )\nfloat D_Charlie(float roughness, float NoH) {\n\tfloat invAlpha = 1.0 / roughness;\n\tfloat cos2h = NoH * NoH;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\treturn (2.0 + invAlpha) * pow(sin2h, invAlpha * 0.5) / (2.0 * PI);\n}\nfloat V_Neubelt(float NoV, float NoL) {\n\treturn saturate(1.0 / (4.0 * (NoL + NoV - NoL * NoV)));\n}\nvec3 BRDF_Specular_Sheen( const in float roughness, const in vec3 L, const in GeometricContext geometry, vec3 specularColor ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 H = normalize( V + L );\n\tfloat dotNH = saturate( dot( N, H ) );\n\treturn specularColor * D_Charlie( roughness, dotNH ) * V_Neubelt( dot(N, V), dot(N, L) );\n}\n#endif",bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy, float faceDirection ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 ) * faceDirection;\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif",clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vClipPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#pragma unroll_loop_end\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vClipPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\t#pragma unroll_loop_end\n\t\tif ( clipped ) discard;\n\t#endif\n#endif",clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvarying vec3 vClipPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0\n\tvClipPosition = - mvPosition.xyz;\n#endif",color_fragment:"#if defined( USE_COLOR_ALPHA )\n\tdiffuseColor *= vColor;\n#elif defined( USE_COLOR )\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR )\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvarying vec4 vColor;\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvarying vec3 vColor;\n#endif",color_vertex:"#if defined( USE_COLOR_ALPHA )\n\tvColor = vec4( 1.0 );\n#elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR )\n\tvColor = vec3( 1.0 );\n#endif\n#ifdef USE_COLOR\n\tvColor *= color;\n#endif\n#ifdef USE_INSTANCING_COLOR\n\tvColor.xyz *= instanceColor.xyz;\n#endif",common:"#define PI 3.141592653589793\n#define PI2 6.283185307179586\n#define PI_HALF 1.5707963267948966\n#define RECIPROCAL_PI 0.3183098861837907\n#define RECIPROCAL_PI2 0.15915494309189535\n#define EPSILON 1e-6\n#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\n#define whiteComplement(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\n#ifdef HIGH_PRECISION\n\tfloat precisionSafeLength( vec3 v ) { return length( v ); }\n#else\n\tfloat max3( vec3 v ) { return max( max( v.x, v.y ), v.z ); }\n\tfloat precisionSafeLength( vec3 v ) {\n\t\tfloat maxComponent = max3( abs( v ) );\n\t\treturn length( v / maxComponent ) * maxComponent;\n\t}\n#endif\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n#ifdef CLEARCOAT\n\tvec3 clearcoatNormal;\n#endif\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}\nbool isPerspectiveMatrix( mat4 m ) {\n\treturn m[ 2 ][ 3 ] == - 1.0;\n}\nvec2 equirectUv( in vec3 dir ) {\n\tfloat u = atan( dir.z, dir.x ) * RECIPROCAL_PI2 + 0.5;\n\tfloat v = asin( clamp( dir.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\treturn vec2( u, v );\n}",cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n\t#define cubeUV_maxMipLevel 8.0\n\t#define cubeUV_minMipLevel 4.0\n\t#define cubeUV_maxTileSize 256.0\n\t#define cubeUV_minTileSize 16.0\n\tfloat getFace( vec3 direction ) {\n\t\tvec3 absDirection = abs( direction );\n\t\tfloat face = - 1.0;\n\t\tif ( absDirection.x > absDirection.z ) {\n\t\t\tif ( absDirection.x > absDirection.y )\n\t\t\t\tface = direction.x > 0.0 ? 0.0 : 3.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t} else {\n\t\t\tif ( absDirection.z > absDirection.y )\n\t\t\t\tface = direction.z > 0.0 ? 2.0 : 5.0;\n\t\t\telse\n\t\t\t\tface = direction.y > 0.0 ? 1.0 : 4.0;\n\t\t}\n\t\treturn face;\n\t}\n\tvec2 getUV( vec3 direction, float face ) {\n\t\tvec2 uv;\n\t\tif ( face == 0.0 ) {\n\t\t\tuv = vec2( direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 1.0 ) {\n\t\t\tuv = vec2( - direction.x, - direction.z ) / abs( direction.y );\n\t\t} else if ( face == 2.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.y ) / abs( direction.z );\n\t\t} else if ( face == 3.0 ) {\n\t\t\tuv = vec2( - direction.z, direction.y ) / abs( direction.x );\n\t\t} else if ( face == 4.0 ) {\n\t\t\tuv = vec2( - direction.x, direction.z ) / abs( direction.y );\n\t\t} else {\n\t\t\tuv = vec2( direction.x, direction.y ) / abs( direction.z );\n\t\t}\n\t\treturn 0.5 * ( uv + 1.0 );\n\t}\n\tvec3 bilinearCubeUV( sampler2D envMap, vec3 direction, float mipInt ) {\n\t\tfloat face = getFace( direction );\n\t\tfloat filterInt = max( cubeUV_minMipLevel - mipInt, 0.0 );\n\t\tmipInt = max( mipInt, cubeUV_minMipLevel );\n\t\tfloat faceSize = exp2( mipInt );\n\t\tfloat texelSize = 1.0 / ( 3.0 * cubeUV_maxTileSize );\n\t\tvec2 uv = getUV( direction, face ) * ( faceSize - 1.0 );\n\t\tvec2 f = fract( uv );\n\t\tuv += 0.5 - f;\n\t\tif ( face > 2.0 ) {\n\t\t\tuv.y += faceSize;\n\t\t\tface -= 3.0;\n\t\t}\n\t\tuv.x += face * faceSize;\n\t\tif ( mipInt < cubeUV_maxMipLevel ) {\n\t\t\tuv.y += 2.0 * cubeUV_maxTileSize;\n\t\t}\n\t\tuv.y += filterInt * 2.0 * cubeUV_minTileSize;\n\t\tuv.x += 3.0 * max( 0.0, cubeUV_maxTileSize - 2.0 * faceSize );\n\t\tuv *= texelSize;\n\t\tvec3 tl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x += texelSize;\n\t\tvec3 tr = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.y += texelSize;\n\t\tvec3 br = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tuv.x -= texelSize;\n\t\tvec3 bl = envMapTexelToLinear( texture2D( envMap, uv ) ).rgb;\n\t\tvec3 tm = mix( tl, tr, f.x );\n\t\tvec3 bm = mix( bl, br, f.x );\n\t\treturn mix( tm, bm, f.y );\n\t}\n\t#define r0 1.0\n\t#define v0 0.339\n\t#define m0 - 2.0\n\t#define r1 0.8\n\t#define v1 0.276\n\t#define m1 - 1.0\n\t#define r4 0.4\n\t#define v4 0.046\n\t#define m4 2.0\n\t#define r5 0.305\n\t#define v5 0.016\n\t#define m5 3.0\n\t#define r6 0.21\n\t#define v6 0.0038\n\t#define m6 4.0\n\tfloat roughnessToMip( float roughness ) {\n\t\tfloat mip = 0.0;\n\t\tif ( roughness >= r1 ) {\n\t\t\tmip = ( r0 - roughness ) * ( m1 - m0 ) / ( r0 - r1 ) + m0;\n\t\t} else if ( roughness >= r4 ) {\n\t\t\tmip = ( r1 - roughness ) * ( m4 - m1 ) / ( r1 - r4 ) + m1;\n\t\t} else if ( roughness >= r5 ) {\n\t\t\tmip = ( r4 - roughness ) * ( m5 - m4 ) / ( r4 - r5 ) + m4;\n\t\t} else if ( roughness >= r6 ) {\n\t\t\tmip = ( r5 - roughness ) * ( m6 - m5 ) / ( r5 - r6 ) + m5;\n\t\t} else {\n\t\t\tmip = - 2.0 * log2( 1.16 * roughness );\t\t}\n\t\treturn mip;\n\t}\n\tvec4 textureCubeUV( sampler2D envMap, vec3 sampleDir, float roughness ) {\n\t\tfloat mip = clamp( roughnessToMip( roughness ), m0, cubeUV_maxMipLevel );\n\t\tfloat mipF = fract( mip );\n\t\tfloat mipInt = floor( mip );\n\t\tvec3 color0 = bilinearCubeUV( envMap, sampleDir, mipInt );\n\t\tif ( mipF == 0.0 ) {\n\t\t\treturn vec4( color0, 1.0 );\n\t\t} else {\n\t\t\tvec3 color1 = bilinearCubeUV( envMap, sampleDir, mipInt + 1.0 );\n\t\t\treturn vec4( mix( color0, color1, mipF ), 1.0 );\n\t\t}\n\t}\n#endif",defaultnormal_vertex:"vec3 transformedNormal = objectNormal;\n#ifdef USE_INSTANCING\n\tmat3 m = mat3( instanceMatrix );\n\ttransformedNormal /= vec3( dot( m[ 0 ], m[ 0 ] ), dot( m[ 1 ], m[ 1 ] ), dot( m[ 2 ], m[ 2 ] ) );\n\ttransformedNormal = m * transformedNormal;\n#endif\ntransformedNormal = normalMatrix * transformedNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = ( modelViewMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, vUv ).x * displacementScale + displacementBias );\n#endif",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = clamp( floor( D ) / 255.0, 0.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}",envmap_fragment:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvec3 cameraToFrag;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToFrag = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToFrag = normalize( vWorldPosition - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToFrag, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToFrag, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec4 envColor = textureCubeUV( envMap, reflectVec, 0.0 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\tenvColor = envMapTexelToLinear( envColor );\n\t#endif\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif",envmap_common_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float envMapIntensity;\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\t\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\n\tuniform float reflectivity;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\tvarying vec3 vWorldPosition;\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) ||defined( PHONG )\n\t\t#define ENV_WORLDPOS\n\t#endif\n\t#ifdef ENV_WORLDPOS\n\t\t\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP )\n\t#ifdef ENVMAP_MODE_REFRACTION\n\t\tuniform float refractionRatio;\n\t#endif\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, worldNormal, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float roughness, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat sigma = PI * roughness * roughness / ( 1.0 + roughness );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + log2( sigma );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in vec3 viewDir, const in vec3 normal, const in float roughness, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -viewDir, normal );\n\t\t\treflectVec = normalize( mix( reflectVec, normal, roughness * roughness) );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -viewDir, normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( roughness, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, reflectVec, roughness );\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\n\t#ifdef ENV_WORLDPOS\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex;\n\t\tif ( isOrthographic ) {\n\t\t\tcameraToVertex = normalize( vec3( - viewMatrix[ 0 ][ 2 ], - viewMatrix[ 1 ][ 2 ], - viewMatrix[ 2 ][ 2 ] ) );\n\t\t} else {\n\t\t\tcameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\t}\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif",fog_vertex:"#ifdef USE_FOG\n\tfogDepth = - mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = 1.0 - exp( - fogDensity * fogDensity * fogDepth * fogDepth );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif",gradientmap_pars_fragment:"#ifdef USE_GRADIENTMAP\n\tuniform sampler2D gradientMap;\n#endif\nvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\tfloat dotNL = dot( normal, lightDirection );\n\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t#ifdef USE_GRADIENTMAP\n\t\treturn texture2D( gradientMap, coord ).rgb;\n\t#else\n\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t#endif\n}",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\treflectedLight.indirectDiffuse += PI * lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n#endif",lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\nvIndirectFront += getAmbientLightIrradiance( ambientLightColor );\nvIndirectFront += getLightProbeIrradiance( lightProbe, geometry );\n#ifdef DOUBLE_SIDED\n\tvIndirectBack += getAmbientLightIrradiance( ambientLightColor );\n\tvIndirectBack += getLightProbeIrradiance( lightProbe, backGeometry );\n#endif\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n\t#pragma unroll_loop_end\n#endif",lights_pars_begin:"uniform bool receiveShadow;\nuniform vec3 ambientLightColor;\nuniform vec3 lightProbe[ 9 ];\nvec3 shGetIrradianceAt( in vec3 normal, in vec3 shCoefficients[ 9 ] ) {\n\tfloat x = normal.x, y = normal.y, z = normal.z;\n\tvec3 result = shCoefficients[ 0 ] * 0.886227;\n\tresult += shCoefficients[ 1 ] * 2.0 * 0.511664 * y;\n\tresult += shCoefficients[ 2 ] * 2.0 * 0.511664 * z;\n\tresult += shCoefficients[ 3 ] * 2.0 * 0.511664 * x;\n\tresult += shCoefficients[ 4 ] * 2.0 * 0.429043 * x * y;\n\tresult += shCoefficients[ 5 ] * 2.0 * 0.429043 * y * z;\n\tresult += shCoefficients[ 6 ] * ( 0.743125 * z * z - 0.247708 );\n\tresult += shCoefficients[ 7 ] * 2.0 * 0.429043 * x * z;\n\tresult += shCoefficients[ 8 ] * 0.429043 * ( x * x - y * y );\n\treturn result;\n}\nvec3 getLightProbeIrradiance( const in vec3 lightProbe[ 9 ], const in GeometricContext geometry ) {\n\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\tvec3 irradiance = shGetIrradianceAt( worldNormal, lightProbe );\n\treturn irradiance;\n}\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif",lights_toon_fragment:"ToonMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;",lights_toon_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct ToonMaterial {\n\tvec3 diffuseColor;\n};\nvoid RE_Direct_Toon( const in IncidentLight directLight, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in GeometricContext geometry, const in ToonMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_Toon\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Toon\n#define Material_LightProbeLOD( material )\t(0)",lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3 diffuseColor;\n\tvec3 specularColor;\n\tfloat specularShininess;\n\tfloat specularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNL = saturate( dot( geometry.clearcoatNormal, directLight.direction ) );\n\t\tvec3 ccIrradiance = ccDotNL * directLight.color;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tccIrradiance *= PI;\n\t\t#endif\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t\treflectedLight.directSpecular += ccIrradiance * material.clearcoat * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\t#ifdef USE_SHEEN\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_Sheen(\n\t\t\tmaterial.specularRoughness,\n\t\t\tdirectLight.direction,\n\t\t\tgeometry,\n\t\t\tmaterial.sheenColor\n\t\t);\n\t#else\n\t\treflectedLight.directSpecular += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry.viewDir, geometry.normal, material.specularColor, material.specularRoughness);\n\t#endif\n\treflectedLight.directDiffuse += ( 1.0 - clearcoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearcoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifdef CLEARCOAT\n\t\tfloat ccDotNV = saturate( dot( geometry.clearcoatNormal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular += clearcoatRadiance * material.clearcoat * BRDF_Specular_GGX_Environment( geometry.viewDir, geometry.clearcoatNormal, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearcoatRoughness );\n\t\tfloat ccDotNL = ccDotNV;\n\t\tfloat clearcoatDHR = material.clearcoat * clearcoatDHRApprox( material.clearcoatRoughness, ccDotNL );\n\t#else\n\t\tfloat clearcoatDHR = 0.0;\n\t#endif\n\tfloat clearcoatInv = 1.0 - clearcoatDHR;\n\tvec3 singleScattering = vec3( 0.0 );\n\tvec3 multiScattering = vec3( 0.0 );\n\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\tvec3 diffuse = material.diffuseColor * ( 1.0 - ( singleScattering + multiScattering ) );\n\treflectedLight.indirectSpecular += clearcoatInv * radiance * singleScattering;\n\treflectedLight.indirectSpecular += multiScattering * cosineWeightedIrradiance;\n\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}",lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );\n#ifdef CLEARCOAT\n\tgeometry.clearcoatNormal = clearcoatNormal;\n#endif\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_POINT_LIGHT_SHADOWS )\n\t\tpointLightShadow = pointLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getPointShadow( pointShadowMap[ i ], pointLightShadow.shadowMapSize, pointLightShadow.shadowBias, pointLightShadow.shadowRadius, vPointShadowCoord[ i ], pointLightShadow.shadowCameraNear, pointLightShadow.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_SPOT_LIGHT_SHADOWS )\n\t\tspotLightShadow = spotLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( spotShadowMap[ i ], spotLightShadow.shadowMapSize, spotLightShadow.shadowBias, spotLightShadow.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#if defined( USE_SHADOWMAP ) && NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLightShadow;\n\t#endif\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#if defined( USE_SHADOWMAP ) && ( UNROLLED_LOOP_INDEX < NUM_DIR_LIGHT_SHADOWS )\n\t\tdirectionalLightShadow = directionalLightShadows[ i ];\n\t\tdirectLight.color *= all( bvec2( directLight.visible, receiveShadow ) ) ? getShadow( directionalShadowMap[ i ], directionalLightShadow.shadowMapSize, directionalLightShadow.shadowBias, directionalLightShadow.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n\t#pragma unroll_loop_end\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 iblIrradiance = vec3( 0.0 );\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\tirradiance += getLightProbeIrradiance( lightProbe, geometry );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop_start\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t\t#pragma unroll_loop_end\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearcoatRadiance = vec3( 0.0 );\n#endif",lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\tvec3 lightMapIrradiance = lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( STANDARD ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tiblIrradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.normal, material.specularRoughness, maxMipLevel );\n\t#ifdef CLEARCOAT\n\t\tclearcoatRadiance += getLightProbeIndirectRadiance( geometry.viewDir, geometry.clearcoatNormal, material.clearcoatRoughness, maxMipLevel );\n\t#endif\n#endif",lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n\tvarying float vIsPerspective;\n#endif",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t\tvarying float vIsPerspective;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t\tvIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );\n\t#else\n\t\tif ( isPerspectiveMatrix( projectionMatrix ) ) {\n\t\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\t\tgl_Position.z *= gl_Position.w;\n\t\t}\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n#endif\n#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, uv ).g;\n#endif",map_particle_pars_fragment:"#if defined( USE_MAP ) || defined( USE_ALPHAMAP )\n\tuniform mat3 uvTransform;\n#endif\n#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal *= morphTargetBaseInfluence;\n\tobjectNormal += morphNormal0 * morphTargetInfluences[ 0 ];\n\tobjectNormal += morphNormal1 * morphTargetInfluences[ 1 ];\n\tobjectNormal += morphNormal2 * morphTargetInfluences[ 2 ];\n\tobjectNormal += morphNormal3 * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\tuniform float morphTargetBaseInfluence;\n\t#ifndef USE_MORPHNORMALS\n\t\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\t\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed *= morphTargetBaseInfluence;\n\ttransformed += morphTarget0 * morphTargetInfluences[ 0 ];\n\ttransformed += morphTarget1 * morphTargetInfluences[ 1 ];\n\ttransformed += morphTarget2 * morphTargetInfluences[ 2 ];\n\ttransformed += morphTarget3 * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\t\ttransformed += morphTarget4 * morphTargetInfluences[ 4 ];\n\t\ttransformed += morphTarget5 * morphTargetInfluences[ 5 ];\n\t\ttransformed += morphTarget6 * morphTargetInfluences[ 6 ];\n\t\ttransformed += morphTarget7 * morphTargetInfluences[ 7 ];\n\t#endif\n#endif",normal_fragment_begin:"float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;\n#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * faceDirection;\n\t\t\tbitangent = bitangent * faceDirection;\n\t\t#endif\n\t\t#if defined( TANGENTSPACE_NORMALMAP ) || defined( USE_CLEARCOAT_NORMALMAP )\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t#endif\n\t#endif\n#endif\nvec3 geometryNormal = normal;",normal_fragment_maps:"#ifdef OBJECTSPACE_NORMALMAP\n\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t#ifdef FLIP_SIDED\n\t\tnormal = - normal;\n\t#endif\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * faceDirection;\n\t#endif\n\tnormal = normalize( normalMatrix * normal );\n#elif defined( TANGENTSPACE_NORMALMAP )\n\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\tmapN.xy *= normalScale;\n\t#ifdef USE_TANGENT\n\t\tnormal = normalize( vTBN * mapN );\n\t#else\n\t\tnormal = perturbNormal2Arb( -vViewPosition, normal, mapN, faceDirection );\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd(), faceDirection );\n#endif",normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n#endif\n#ifdef OBJECTSPACE_NORMALMAP\n\tuniform mat3 normalMatrix;\n#endif\n#if ! defined ( USE_TANGENT ) && ( defined ( TANGENTSPACE_NORMALMAP ) || defined ( USE_CLEARCOAT_NORMALMAP ) )\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec3 mapN, float faceDirection ) {\n\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 N = surf_norm;\n\t\tvec3 q1perp = cross( q1, N );\n\t\tvec3 q0perp = cross( N, q0 );\n\t\tvec3 T = q1perp * st0.x + q0perp * st1.x;\n\t\tvec3 B = q1perp * st0.y + q0perp * st1.y;\n\t\tfloat det = max( dot( T, T ), dot( B, B ) );\n\t\tfloat scale = ( det == 0.0 ) ? 0.0 : faceDirection * inversesqrt( det );\n\t\treturn normalize( T * ( mapN.x * scale ) + B * ( mapN.y * scale ) + N * mapN.z );\n\t}\n#endif",clearcoat_normal_fragment_begin:"#ifdef CLEARCOAT\n\tvec3 clearcoatNormal = geometryNormal;\n#endif",clearcoat_normal_fragment_maps:"#ifdef USE_CLEARCOAT_NORMALMAP\n\tvec3 clearcoatMapN = texture2D( clearcoatNormalMap, vUv ).xyz * 2.0 - 1.0;\n\tclearcoatMapN.xy *= clearcoatNormalScale;\n\t#ifdef USE_TANGENT\n\t\tclearcoatNormal = normalize( vTBN * clearcoatMapN );\n\t#else\n\t\tclearcoatNormal = perturbNormal2Arb( - vViewPosition, clearcoatNormal, clearcoatMapN, faceDirection );\n\t#endif\n#endif",clearcoat_pars_fragment:"#ifdef USE_CLEARCOATMAP\n\tuniform sampler2D clearcoatMap;\n#endif\n#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\tuniform sampler2D clearcoatRoughnessMap;\n#endif\n#ifdef USE_CLEARCOAT_NORMALMAP\n\tuniform sampler2D clearcoatNormalMap;\n\tuniform vec2 clearcoatNormalScale;\n#endif",packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nvec4 pack2HalfToRGBA( vec2 v ) {\n\tvec4 r = vec4( v.x, fract( v.x * 255.0 ), v.y, fract( v.y * 255.0 ));\n\treturn vec4( r.x - r.y / 255.0, r.y, r.z - r.w / 255.0, r.w);\n}\nvec2 unpackRGBATo2Half( vec4 v ) {\n\treturn vec2( v.x + ( v.y / 255.0 ), v.z + ( v.w / 255.0 ) );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}",premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = vec4( transformed, 1.0 );\n#ifdef USE_INSTANCING\n\tmvPosition = instanceMatrix * mvPosition;\n#endif\nmvPosition = modelViewMatrix * mvPosition;\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#ifdef DITHERING\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#ifdef DITHERING\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tvec2 texture2DDistribution( sampler2D shadow, vec2 uv ) {\n\t\treturn unpackRGBATo2Half( texture2D( shadow, uv ) );\n\t}\n\tfloat VSMShadow (sampler2D shadow, vec2 uv, float compare ){\n\t\tfloat occlusion = 1.0;\n\t\tvec2 distribution = texture2DDistribution( shadow, uv );\n\t\tfloat hard_shadow = step( compare , distribution.x );\n\t\tif (hard_shadow != 1.0 ) {\n\t\t\tfloat distance = compare - distribution.x ;\n\t\t\tfloat variance = max( 0.00000, distribution.y * distribution.y );\n\t\t\tfloat softness_probability = variance / (variance + distance * distance );\t\t\tsoftness_probability = clamp( ( softness_probability - 0.3 ) / ( 0.95 - 0.3 ), 0.0, 1.0 );\t\t\tocclusion = clamp( max( hard_shadow, softness_probability ), 0.0, 1.0 );\n\t\t}\n\t\treturn occlusion;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tfloat dx2 = dx0 / 2.0;\n\t\t\tfloat dy2 = dy0 / 2.0;\n\t\t\tfloat dx3 = dx1 / 2.0;\n\t\t\tfloat dy3 = dy1 / 2.0;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy2 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx2, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx3, dy3 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 17.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx = texelSize.x;\n\t\t\tfloat dy = texelSize.y;\n\t\t\tvec2 uv = shadowCoord.xy;\n\t\t\tvec2 f = fract( uv * shadowMapSize + 0.5 );\n\t\t\tuv -= f * texelSize;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, uv, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( dx, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + vec2( 0.0, dy ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, uv + texelSize, shadowCoord.z ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, 0.0 ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 0.0 ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( -dx, dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, dy ), shadowCoord.z ),\n\t\t\t\t\t f.x ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( 0.0, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 0.0, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( texture2DCompare( shadowMap, uv + vec2( dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t f.y ) +\n\t\t\t\tmix( mix( texture2DCompare( shadowMap, uv + vec2( -dx, -dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, -dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t mix( texture2DCompare( shadowMap, uv + vec2( -dx, 2.0 * dy ), shadowCoord.z ), \n\t\t\t\t\t\t texture2DCompare( shadowMap, uv + vec2( 2.0 * dx, 2.0 * dy ), shadowCoord.z ),\n\t\t\t\t\t\t f.x ),\n\t\t\t\t\t f.y )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_VSM )\n\t\t\tshadow = VSMShadow( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT ) || defined( SHADOWMAP_TYPE_VSM )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif",shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHT_SHADOWS ];\n\t\tstruct DirectionalLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform DirectionalLightShadow directionalLightShadows[ NUM_DIR_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHT_SHADOWS ];\n\t\tstruct SpotLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t};\n\t\tuniform SpotLightShadow spotLightShadows[ NUM_SPOT_LIGHT_SHADOWS ];\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHT_SHADOWS ];\n\t\tstruct PointLightShadow {\n\t\t\tfloat shadowBias;\n\t\t\tfloat shadowNormalBias;\n\t\t\tfloat shadowRadius;\n\t\t\tvec2 shadowMapSize;\n\t\t\tfloat shadowCameraNear;\n\t\t\tfloat shadowCameraFar;\n\t\t};\n\t\tuniform PointLightShadow pointLightShadows[ NUM_POINT_LIGHT_SHADOWS ];\n\t#endif\n#endif",shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0 || NUM_SPOT_LIGHT_SHADOWS > 0 || NUM_POINT_LIGHT_SHADOWS > 0\n\t\tvec3 shadowWorldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\tvec4 shadowWorldPosition;\n\t#endif\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * directionalLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * spotLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tshadowWorldPosition = worldPosition + vec4( shadowWorldNormal * pointLightShadows[ i ].shadowNormalBias, 0 );\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * shadowWorldPosition;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n#endif",shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHT_SHADOWS > 0\n\tDirectionalLightShadow directionalLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_DIR_LIGHT_SHADOWS; i ++ ) {\n\t\tdirectionalLight = directionalLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_SPOT_LIGHT_SHADOWS > 0\n\tSpotLightShadow spotLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_SPOT_LIGHT_SHADOWS; i ++ ) {\n\t\tspotLight = spotLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#if NUM_POINT_LIGHT_SHADOWS > 0\n\tPointLightShadow pointLight;\n\t#pragma unroll_loop_start\n\tfor ( int i = 0; i < NUM_POINT_LIGHT_SHADOWS; i ++ ) {\n\t\tpointLight = pointLightShadows[ i ];\n\t\tshadow *= receiveShadow ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#pragma unroll_loop_end\n\t#endif\n\t#endif\n\treturn shadow;\n}",skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform highp sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif",skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif",specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 RRTAndODTFit( vec3 v ) {\n\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;\n\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;\n\treturn a / b;\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tconst mat3 ACESInputMat = mat3(\n\t\tvec3( 0.59719, 0.07600, 0.02840 ),\t\tvec3( 0.35458, 0.90834, 0.13383 ),\n\t\tvec3( 0.04823, 0.01566, 0.83777 )\n\t);\n\tconst mat3 ACESOutputMat = mat3(\n\t\tvec3( 1.60475, -0.10208, -0.00327 ),\t\tvec3( -0.53108, 1.10813, -0.07276 ),\n\t\tvec3( -0.07367, -0.00605, 1.07602 )\n\t);\n\tcolor *= toneMappingExposure / 0.6;\n\tcolor = ACESInputMat * color;\n\tcolor = RRTAndODTFit( color );\n\tcolor = ACESOutputMat * color;\n\treturn saturate( color );\n}\nvec3 CustomToneMapping( vec3 color ) { return color; }",transmission_fragment:"#ifdef USE_TRANSMISSION\n\tfloat transmissionFactor = transmission;\n\tfloat thicknessFactor = thickness;\n\t#ifdef USE_TRANSMISSIONMAP\n\t\ttransmissionFactor *= texture2D( transmissionMap, vUv ).r;\n\t#endif\n\t#ifdef USE_THICKNESSNMAP\n\t\tthicknessFactor *= texture2D( thicknessMap, vUv ).g;\n\t#endif\n\tvec3 pos = vWorldPosition.xyz / vWorldPosition.w;\n\tvec3 v = normalize( cameraPosition - pos );\n\tfloat ior = ( 1.0 + 0.4 * reflectivity ) / ( 1.0 - 0.4 * reflectivity );\n\tvec3 transmission = transmissionFactor * getIBLVolumeRefraction(\n\t\tnormal, v, roughnessFactor, material.diffuseColor, totalSpecular,\n\t\tpos, modelMatrix, viewMatrix, projectionMatrix, ior, thicknessFactor,\n\t\tattenuationColor, attenuationDistance );\n\ttotalDiffuse = mix( totalDiffuse, transmission, transmissionFactor );\n#endif",transmission_pars_fragment:"#ifdef USE_TRANSMISSION\n\t#ifdef USE_TRANSMISSIONMAP\n\t\tuniform sampler2D transmissionMap;\n\t#endif\n\t#ifdef USE_THICKNESSMAP\n\t\tuniform sampler2D thicknessMap;\n\t#endif\n\tuniform vec2 transmissionSamplerSize;\n\tuniform sampler2D transmissionSamplerMap;\n\tuniform mat4 modelMatrix;\n\tuniform mat4 projectionMatrix;\n\tvarying vec4 vWorldPosition;\n\tvec3 getVolumeTransmissionRay(vec3 n, vec3 v, float thickness, float ior, mat4 modelMatrix) {\n\t\tvec3 refractionVector = refract(-v, normalize(n), 1.0 / ior);\n\t\tvec3 modelScale;\n\t\tmodelScale.x = length(vec3(modelMatrix[0].xyz));\n\t\tmodelScale.y = length(vec3(modelMatrix[1].xyz));\n\t\tmodelScale.z = length(vec3(modelMatrix[2].xyz));\n\t\treturn normalize(refractionVector) * thickness * modelScale;\n\t}\n\tfloat applyIorToRoughness(float roughness, float ior) {\n\t\treturn roughness * clamp(ior * 2.0 - 2.0, 0.0, 1.0);\n\t}\n\tvec3 getTransmissionSample(vec2 fragCoord, float roughness, float ior) {\n\t\tfloat framebufferLod = log2(transmissionSamplerSize.x) * applyIorToRoughness(roughness, ior);\n\t\treturn texture2DLodEXT(transmissionSamplerMap, fragCoord.xy, framebufferLod).rgb;\n\t}\n\tvec3 applyVolumeAttenuation(vec3 radiance, float transmissionDistance, vec3 attenuationColor, float attenuationDistance) {\n\t\tif (attenuationDistance == 0.0) {\n\t\t\treturn radiance;\n\t\t} else {\n\t\t\tvec3 attenuationCoefficient = -log(attenuationColor) / attenuationDistance;\n\t\t\tvec3 transmittance = exp(-attenuationCoefficient * transmissionDistance);\t\t\treturn transmittance * radiance;\n\t\t}\n\t}\n\tvec3 getIBLVolumeRefraction(vec3 n, vec3 v, float perceptualRoughness, vec3 baseColor, vec3 specularColor,\n\t\tvec3 position, mat4 modelMatrix, mat4 viewMatrix, mat4 projMatrix, float ior, float thickness,\n\t\tvec3 attenuationColor, float attenuationDistance) {\n\t\tvec3 transmissionRay = getVolumeTransmissionRay(n, v, thickness, ior, modelMatrix);\n\t\tvec3 refractedRayExit = position + transmissionRay;\n\t\tvec4 ndcPos = projMatrix * viewMatrix * vec4(refractedRayExit, 1.0);\n\t\tvec2 refractionCoords = ndcPos.xy / ndcPos.w;\n\t\trefractionCoords += 1.0;\n\t\trefractionCoords /= 2.0;\n\t\tvec3 transmittedLight = getTransmissionSample(refractionCoords, perceptualRoughness, ior);\n\t\tvec3 attenuatedColor = applyVolumeAttenuation(transmittedLight, length(transmissionRay), attenuationColor, attenuationDistance);\n\t\treturn (1.0 - specularColor) * attenuatedColor * baseColor;\n\t}\n#endif",uv_pars_fragment:"#if ( defined( USE_UV ) && ! defined( UVS_VERTEX_ONLY ) )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#ifdef USE_UV\n\t#ifdef UVS_VERTEX_ONLY\n\t\tvec2 vUv;\n\t#else\n\t\tvarying vec2 vUv;\n\t#endif\n\tuniform mat3 uvTransform;\n#endif",uv_vertex:"#ifdef USE_UV\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n\tuniform mat3 uv2Transform;\n#endif",uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = ( uv2Transform * vec3( uv2, 1 ) ).xy;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP ) || defined ( USE_TRANSMISSION )\n\tvec4 worldPosition = vec4( transformed, 1.0 );\n\t#ifdef USE_INSTANCING\n\t\tworldPosition = instanceMatrix * worldPosition;\n\t#endif\n\tworldPosition = modelMatrix * worldPosition;\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}",cube_frag:"#include \nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include \n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}",depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvHighPrecisionZW = gl_Position.zw;\n}",distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}",distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}",equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}",linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}",meshtoon_frag:"#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshtoon_vert:"#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}",meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_frag:"#define STANDARD\n#ifdef PHYSICAL\n\t#define REFLECTIVITY\n\t#define CLEARCOAT\n#endif\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifdef USE_TRANSMISSION\n\tuniform float transmission;\n\tuniform float thickness;\n\tuniform vec3 attenuationColor;\n\tuniform float attenuationDistance;\n#endif\n#ifdef REFLECTIVITY\n\tuniform float reflectivity;\n#endif\n#ifdef CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tuniform vec3 sheen;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include \n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",meshphysical_vert:"#define STANDARD\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#ifdef USE_TRANSMISSION\n\tvarying vec4 vWorldPosition;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition;\n#endif\n}",normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}",normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}",points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}",points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}",shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n\t#include \n\t#include \n}",shadow_vert:"#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}",sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}",sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"},UniformsLib={common:{diffuse:{value:new Color(16777215)},opacity:{value:1},map:{value:null},uvTransform:{value:new Matrix3},uv2Transform:{value:new Matrix3},alphaMap:{value:null}},specularmap:{specularMap:{value:null}},envmap:{envMap:{value:null},flipEnvMap:{value:-1},reflectivity:{value:1},refractionRatio:{value:.98},maxMipLevel:{value:0}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1}},emissivemap:{emissiveMap:{value:null}},bumpmap:{bumpMap:{value:null},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalScale:{value:new Vector2(1,1)}},displacementmap:{displacementMap:{value:null},displacementScale:{value:1},displacementBias:{value:0}},roughnessmap:{roughnessMap:{value:null}},metalnessmap:{metalnessMap:{value:null}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new Color(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotShadowMap:{value:[]},spotShadowMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new Color(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},uvTransform:{value:new Matrix3}},sprite:{diffuse:{value:new Color(16777215)},opacity:{value:1},center:{value:new Vector2(.5,.5)},rotation:{value:0},map:{value:null},alphaMap:{value:null},uvTransform:{value:new Matrix3}}},ShaderLib={basic:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.specularmap,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.fog]),vertexShader:ShaderChunk.meshbasic_vert,fragmentShader:ShaderChunk.meshbasic_frag},lambert:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.specularmap,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)}}]),vertexShader:ShaderChunk.meshlambert_vert,fragmentShader:ShaderChunk.meshlambert_frag},phong:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.specularmap,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)},specular:{value:new Color(1118481)},shininess:{value:30}}]),vertexShader:ShaderChunk.meshphong_vert,fragmentShader:ShaderChunk.meshphong_frag},standard:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.envmap,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.roughnessmap,UniformsLib.metalnessmap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:ShaderChunk.meshphysical_vert,fragmentShader:ShaderChunk.meshphysical_frag},toon:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.aomap,UniformsLib.lightmap,UniformsLib.emissivemap,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.gradientmap,UniformsLib.fog,UniformsLib.lights,{emissive:{value:new Color(0)}}]),vertexShader:ShaderChunk.meshtoon_vert,fragmentShader:ShaderChunk.meshtoon_frag},matcap:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,UniformsLib.fog,{matcap:{value:null}}]),vertexShader:ShaderChunk.meshmatcap_vert,fragmentShader:ShaderChunk.meshmatcap_frag},points:{uniforms:mergeUniforms([UniformsLib.points,UniformsLib.fog]),vertexShader:ShaderChunk.points_vert,fragmentShader:ShaderChunk.points_frag},dashed:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:ShaderChunk.linedashed_vert,fragmentShader:ShaderChunk.linedashed_frag},depth:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.displacementmap]),vertexShader:ShaderChunk.depth_vert,fragmentShader:ShaderChunk.depth_frag},normal:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.bumpmap,UniformsLib.normalmap,UniformsLib.displacementmap,{opacity:{value:1}}]),vertexShader:ShaderChunk.normal_vert,fragmentShader:ShaderChunk.normal_frag},sprite:{uniforms:mergeUniforms([UniformsLib.sprite,UniformsLib.fog]),vertexShader:ShaderChunk.sprite_vert,fragmentShader:ShaderChunk.sprite_frag},background:{uniforms:{uvTransform:{value:new Matrix3},t2D:{value:null}},vertexShader:ShaderChunk.background_vert,fragmentShader:ShaderChunk.background_frag},cube:{uniforms:mergeUniforms([UniformsLib.envmap,{opacity:{value:1}}]),vertexShader:ShaderChunk.cube_vert,fragmentShader:ShaderChunk.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:ShaderChunk.equirect_vert,fragmentShader:ShaderChunk.equirect_frag},distanceRGBA:{uniforms:mergeUniforms([UniformsLib.common,UniformsLib.displacementmap,{referencePosition:{value:new Vector3},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:ShaderChunk.distanceRGBA_vert,fragmentShader:ShaderChunk.distanceRGBA_frag},shadow:{uniforms:mergeUniforms([UniformsLib.lights,UniformsLib.fog,{color:{value:new Color(0)},opacity:{value:1}}]),vertexShader:ShaderChunk.shadow_vert,fragmentShader:ShaderChunk.shadow_frag}};function WebGLBackground(renderer,cubemaps,state,objects,premultipliedAlpha){const clearColor=new Color(0);let planeMesh,boxMesh,clearAlpha=0,currentBackground=null,currentBackgroundVersion=0,currentTonemapping=null;function setClear(color,alpha){state.buffers.color.setClear(color.r,color.g,color.b,alpha,premultipliedAlpha)}return{getClearColor:function(){return clearColor},setClearColor:function(color,alpha=1){clearColor.set(color),clearAlpha=alpha,setClear(clearColor,clearAlpha)},getClearAlpha:function(){return clearAlpha},setClearAlpha:function(alpha){clearAlpha=alpha,setClear(clearColor,clearAlpha)},render:function render(renderList,scene){let forceClear=!1,background=!0===scene.isScene?scene.background:null;background&&background.isTexture&&(background=cubemaps.get(background));const xr=renderer.xr,session=xr.getSession&&xr.getSession();session&&"additive"===session.environmentBlendMode&&(background=null),null===background?setClear(clearColor,clearAlpha):background&&background.isColor&&(setClear(background,1),forceClear=!0),(renderer.autoClear||forceClear)&&renderer.clear(renderer.autoClearColor,renderer.autoClearDepth,renderer.autoClearStencil),background&&(background.isCubeTexture||background.mapping===CubeUVReflectionMapping)?(void 0===boxMesh&&(boxMesh=new Mesh(new BoxGeometry(1,1,1),new ShaderMaterial({name:"BackgroundCubeMaterial",uniforms:cloneUniforms(ShaderLib.cube.uniforms),vertexShader:ShaderLib.cube.vertexShader,fragmentShader:ShaderLib.cube.fragmentShader,side:BackSide,depthTest:!1,depthWrite:!1,fog:!1})),boxMesh.geometry.deleteAttribute("normal"),boxMesh.geometry.deleteAttribute("uv"),boxMesh.onBeforeRender=function(renderer,scene,camera){this.matrixWorld.copyPosition(camera.matrixWorld)},Object.defineProperty(boxMesh.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),objects.update(boxMesh)),boxMesh.material.uniforms.envMap.value=background,boxMesh.material.uniforms.flipEnvMap.value=background.isCubeTexture&&background._needsFlipEnvMap?-1:1,currentBackground===background&¤tBackgroundVersion===background.version&¤tTonemapping===renderer.toneMapping||(boxMesh.material.needsUpdate=!0,currentBackground=background,currentBackgroundVersion=background.version,currentTonemapping=renderer.toneMapping),renderList.unshift(boxMesh,boxMesh.geometry,boxMesh.material,0,0,null)):background&&background.isTexture&&(void 0===planeMesh&&(planeMesh=new Mesh(new PlaneGeometry(2,2),new ShaderMaterial({name:"BackgroundMaterial",uniforms:cloneUniforms(ShaderLib.background.uniforms),vertexShader:ShaderLib.background.vertexShader,fragmentShader:ShaderLib.background.fragmentShader,side:FrontSide,depthTest:!1,depthWrite:!1,fog:!1})),planeMesh.geometry.deleteAttribute("normal"),Object.defineProperty(planeMesh.material,"map",{get:function(){return this.uniforms.t2D.value}}),objects.update(planeMesh)),planeMesh.material.uniforms.t2D.value=background,!0===background.matrixAutoUpdate&&background.updateMatrix(),planeMesh.material.uniforms.uvTransform.value.copy(background.matrix),currentBackground===background&¤tBackgroundVersion===background.version&¤tTonemapping===renderer.toneMapping||(planeMesh.material.needsUpdate=!0,currentBackground=background,currentBackgroundVersion=background.version,currentTonemapping=renderer.toneMapping),renderList.unshift(planeMesh,planeMesh.geometry,planeMesh.material,0,0,null))}}}function WebGLBindingStates(gl,extensions,attributes,capabilities){const maxVertexAttributes=gl.getParameter(34921),extension=capabilities.isWebGL2?null:extensions.get("OES_vertex_array_object"),vaoAvailable=capabilities.isWebGL2||null!==extension,bindingStates={},defaultState=createBindingState(null);let currentState=defaultState;function bindVertexArrayObject(vao){return capabilities.isWebGL2?gl.bindVertexArray(vao):extension.bindVertexArrayOES(vao)}function deleteVertexArrayObject(vao){return capabilities.isWebGL2?gl.deleteVertexArray(vao):extension.deleteVertexArrayOES(vao)}function createBindingState(vao){const newAttributes=[],enabledAttributes=[],attributeDivisors=[];for(let i=0;i=0){const geometryAttribute=geometryAttributes[name];if(void 0!==geometryAttribute){const normalized=geometryAttribute.normalized,size=geometryAttribute.itemSize,attribute=attributes.get(geometryAttribute);if(void 0===attribute)continue;const buffer=attribute.buffer,type=attribute.type,bytesPerElement=attribute.bytesPerElement;if(geometryAttribute.isInterleavedBufferAttribute){const data=geometryAttribute.data,stride=data.stride,offset=geometryAttribute.offset;data&&data.isInstancedInterleavedBuffer?(enableAttributeAndDivisor(programAttribute,data.meshPerAttribute),void 0===geometry._maxInstanceCount&&(geometry._maxInstanceCount=data.meshPerAttribute*data.count)):enableAttribute(programAttribute),gl.bindBuffer(34962,buffer),vertexAttribPointer(programAttribute,size,type,normalized,stride*bytesPerElement,offset*bytesPerElement)}else geometryAttribute.isInstancedBufferAttribute?(enableAttributeAndDivisor(programAttribute,geometryAttribute.meshPerAttribute),void 0===geometry._maxInstanceCount&&(geometry._maxInstanceCount=geometryAttribute.meshPerAttribute*geometryAttribute.count)):enableAttribute(programAttribute),gl.bindBuffer(34962,buffer),vertexAttribPointer(programAttribute,size,type,normalized,0,0)}else if("instanceMatrix"===name){const attribute=attributes.get(object.instanceMatrix);if(void 0===attribute)continue;const buffer=attribute.buffer,type=attribute.type;enableAttributeAndDivisor(programAttribute+0,1),enableAttributeAndDivisor(programAttribute+1,1),enableAttributeAndDivisor(programAttribute+2,1),enableAttributeAndDivisor(programAttribute+3,1),gl.bindBuffer(34962,buffer),gl.vertexAttribPointer(programAttribute+0,4,type,!1,64,0),gl.vertexAttribPointer(programAttribute+1,4,type,!1,64,16),gl.vertexAttribPointer(programAttribute+2,4,type,!1,64,32),gl.vertexAttribPointer(programAttribute+3,4,type,!1,64,48)}else if("instanceColor"===name){const attribute=attributes.get(object.instanceColor);if(void 0===attribute)continue;const buffer=attribute.buffer,type=attribute.type;enableAttributeAndDivisor(programAttribute,1),gl.bindBuffer(34962,buffer),gl.vertexAttribPointer(programAttribute,3,type,!1,12,0)}else if(void 0!==materialDefaultAttributeValues){const value=materialDefaultAttributeValues[name];if(void 0!==value)switch(value.length){case 2:gl.vertexAttrib2fv(programAttribute,value);break;case 3:gl.vertexAttrib3fv(programAttribute,value);break;case 4:gl.vertexAttrib4fv(programAttribute,value);break;default:gl.vertexAttrib1fv(programAttribute,value)}}}}disableUnusedAttributes()}(object,material,program,geometry),null!==index&&gl.bindBuffer(34963,attributes.get(index).buffer))},reset:reset,resetDefaultState:resetDefaultState,dispose:function dispose(){reset();for(const geometryId in bindingStates){const programMap=bindingStates[geometryId];for(const programId in programMap){const stateMap=programMap[programId];for(const wireframe in stateMap)deleteVertexArrayObject(stateMap[wireframe].object),delete stateMap[wireframe];delete programMap[programId]}delete bindingStates[geometryId]}},releaseStatesOfGeometry:function releaseStatesOfGeometry(geometry){if(void 0===bindingStates[geometry.id])return;const programMap=bindingStates[geometry.id];for(const programId in programMap){const stateMap=programMap[programId];for(const wireframe in stateMap)deleteVertexArrayObject(stateMap[wireframe].object),delete stateMap[wireframe];delete programMap[programId]}delete bindingStates[geometry.id]},releaseStatesOfProgram:function releaseStatesOfProgram(program){for(const geometryId in bindingStates){const programMap=bindingStates[geometryId];if(void 0===programMap[program.id])continue;const stateMap=programMap[program.id];for(const wireframe in stateMap)deleteVertexArrayObject(stateMap[wireframe].object),delete stateMap[wireframe];delete programMap[program.id]}},initAttributes:initAttributes,enableAttribute:enableAttribute,disableUnusedAttributes:disableUnusedAttributes}}function WebGLBufferRenderer(gl,extensions,info,capabilities){const isWebGL2=capabilities.isWebGL2;let mode;this.setMode=function setMode(value){mode=value},this.render=function render(start,count){gl.drawArrays(mode,start,count),info.update(count,mode,1)},this.renderInstances=function renderInstances(start,count,primcount){if(0===primcount)return;let extension,methodName;if(isWebGL2)extension=gl,methodName="drawArraysInstanced";else if(extension=extensions.get("ANGLE_instanced_arrays"),methodName="drawArraysInstancedANGLE",null===extension)return void console.error("THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");extension[methodName](mode,start,count,primcount),info.update(count,mode,primcount)}}function WebGLCapabilities(gl,extensions,parameters){let maxAnisotropy;function getMaxPrecision(precision){if("highp"===precision){if(gl.getShaderPrecisionFormat(35633,36338).precision>0&&gl.getShaderPrecisionFormat(35632,36338).precision>0)return"highp";precision="mediump"}return"mediump"===precision&&gl.getShaderPrecisionFormat(35633,36337).precision>0&&gl.getShaderPrecisionFormat(35632,36337).precision>0?"mediump":"lowp"}const isWebGL2="undefined"!=typeof WebGL2RenderingContext&&gl instanceof WebGL2RenderingContext||"undefined"!=typeof WebGL2ComputeRenderingContext&&gl instanceof WebGL2ComputeRenderingContext;let precision=void 0!==parameters.precision?parameters.precision:"highp";const maxPrecision=getMaxPrecision(precision);maxPrecision!==precision&&(console.warn("THREE.WebGLRenderer:",precision,"not supported, using",maxPrecision,"instead."),precision=maxPrecision);const drawBuffers=isWebGL2||extensions.has("WEBGL_draw_buffers"),logarithmicDepthBuffer=!0===parameters.logarithmicDepthBuffer,maxTextures=gl.getParameter(34930),maxVertexTextures=gl.getParameter(35660),maxTextureSize=gl.getParameter(3379),maxCubemapSize=gl.getParameter(34076),maxAttributes=gl.getParameter(34921),maxVertexUniforms=gl.getParameter(36347),maxVaryings=gl.getParameter(36348),maxFragmentUniforms=gl.getParameter(36349),vertexTextures=maxVertexTextures>0,floatFragmentTextures=isWebGL2||extensions.has("OES_texture_float");return{isWebGL2:isWebGL2,drawBuffers:drawBuffers,getMaxAnisotropy:function getMaxAnisotropy(){if(void 0!==maxAnisotropy)return maxAnisotropy;if(!0===extensions.has("EXT_texture_filter_anisotropic")){const extension=extensions.get("EXT_texture_filter_anisotropic");maxAnisotropy=gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT)}else maxAnisotropy=0;return maxAnisotropy},getMaxPrecision:getMaxPrecision,precision:precision,logarithmicDepthBuffer:logarithmicDepthBuffer,maxTextures:maxTextures,maxVertexTextures:maxVertexTextures,maxTextureSize:maxTextureSize,maxCubemapSize:maxCubemapSize,maxAttributes:maxAttributes,maxVertexUniforms:maxVertexUniforms,maxVaryings:maxVaryings,maxFragmentUniforms:maxFragmentUniforms,vertexTextures:vertexTextures,floatFragmentTextures:floatFragmentTextures,floatVertexTextures:vertexTextures&&floatFragmentTextures,maxSamples:isWebGL2?gl.getParameter(36183):0}}function WebGLClipping(properties){const scope=this;let globalState=null,numGlobalPlanes=0,localClippingEnabled=!1,renderingShadows=!1;const plane=new Plane,viewNormalMatrix=new Matrix3,uniform={value:null,needsUpdate:!1};function resetGlobalState(){uniform.value!==globalState&&(uniform.value=globalState,uniform.needsUpdate=numGlobalPlanes>0),scope.numPlanes=numGlobalPlanes,scope.numIntersection=0}function projectPlanes(planes,camera,dstOffset,skipTransform){const nPlanes=null!==planes?planes.length:0;let dstArray=null;if(0!==nPlanes){if(dstArray=uniform.value,!0!==skipTransform||null===dstArray){const flatSize=dstOffset+4*nPlanes,viewMatrix=camera.matrixWorldInverse;viewNormalMatrix.getNormalMatrix(viewMatrix),(null===dstArray||dstArray.length0){const currentRenderTarget=renderer.getRenderTarget(),renderTarget=new WebGLCubeRenderTarget(image.height/2);return renderTarget.fromEquirectangularTexture(renderer,texture),cubemaps.set(texture,renderTarget),renderer.setRenderTarget(currentRenderTarget),texture.addEventListener("dispose",onTextureDispose),mapTextureMapping(renderTarget.texture,texture.mapping)}return null}}}return texture},dispose:function dispose(){cubemaps=new WeakMap}}}function WebGLExtensions(gl){const extensions={};function getExtension(name){if(void 0!==extensions[name])return extensions[name];let extension;switch(name){case"WEBGL_depth_texture":extension=gl.getExtension("WEBGL_depth_texture")||gl.getExtension("MOZ_WEBGL_depth_texture")||gl.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":extension=gl.getExtension("EXT_texture_filter_anisotropic")||gl.getExtension("MOZ_EXT_texture_filter_anisotropic")||gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":extension=gl.getExtension("WEBGL_compressed_texture_s3tc")||gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":extension=gl.getExtension("WEBGL_compressed_texture_pvrtc")||gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:extension=gl.getExtension(name)}return extensions[name]=extension,extension}return{has:function(name){return null!==getExtension(name)},init:function(capabilities){capabilities.isWebGL2?getExtension("EXT_color_buffer_float"):(getExtension("WEBGL_depth_texture"),getExtension("OES_texture_float"),getExtension("OES_texture_half_float"),getExtension("OES_texture_half_float_linear"),getExtension("OES_standard_derivatives"),getExtension("OES_element_index_uint"),getExtension("OES_vertex_array_object"),getExtension("ANGLE_instanced_arrays")),getExtension("OES_texture_float_linear"),getExtension("EXT_color_buffer_half_float")},get:function(name){const extension=getExtension(name);return null===extension&&console.warn("THREE.WebGLRenderer: "+name+" extension not supported."),extension}}}function WebGLGeometries(gl,attributes,info,bindingStates){const geometries={},wireframeAttributes=new WeakMap;function onGeometryDispose(event){const geometry=event.target;null!==geometry.index&&attributes.remove(geometry.index);for(const name in geometry.attributes)attributes.remove(geometry.attributes[name]);geometry.removeEventListener("dispose",onGeometryDispose),delete geometries[geometry.id];const attribute=wireframeAttributes.get(geometry);attribute&&(attributes.remove(attribute),wireframeAttributes.delete(geometry)),bindingStates.releaseStatesOfGeometry(geometry),!0===geometry.isInstancedBufferGeometry&&delete geometry._maxInstanceCount,info.memory.geometries--}function updateWireframeAttribute(geometry){const indices=[],geometryIndex=geometry.index,geometryPosition=geometry.attributes.position;let version=0;if(null!==geometryIndex){const array=geometryIndex.array;version=geometryIndex.version;for(let i=0,l=array.length;i65535?Uint32BufferAttribute:Uint16BufferAttribute)(indices,1);attribute.version=version;const previousAttribute=wireframeAttributes.get(geometry);previousAttribute&&attributes.remove(previousAttribute),wireframeAttributes.set(geometry,attribute)}return{get:function get(object,geometry){return!0===geometries[geometry.id]||(geometry.addEventListener("dispose",onGeometryDispose),geometries[geometry.id]=!0,info.memory.geometries++),geometry},update:function update(geometry){const geometryAttributes=geometry.attributes;for(const name in geometryAttributes)attributes.update(geometryAttributes[name],34962);const morphAttributes=geometry.morphAttributes;for(const name in morphAttributes){const array=morphAttributes[name];for(let i=0,l=array.length;i0)return array;const n=nBlocks*blockSize;let r=arrayCacheF32[n];if(void 0===r&&(r=new Float32Array(n),arrayCacheF32[n]=r),0!==nBlocks){firstElem.toArray(r,0);for(let i=1,offset=0;i!==nBlocks;++i)offset+=blockSize,array[i].toArray(r,offset)}return r}function arraysEqual(a,b){if(a.length!==b.length)return!1;for(let i=0,l=a.length;i/gm;function resolveIncludes(string){return string.replace(includePattern,includeReplacer)}function includeReplacer(match,include){const string=ShaderChunk[include];if(void 0===string)throw new Error("Can not resolve #include <"+include+">");return resolveIncludes(string)}const deprecatedUnrollLoopPattern=/#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,unrollLoopPattern=/#pragma unroll_loop_start\s+for\s*\(\s*int\s+i\s*=\s*(\d+)\s*;\s*i\s*<\s*(\d+)\s*;\s*i\s*\+\+\s*\)\s*{([\s\S]+?)}\s+#pragma unroll_loop_end/g;function unrollLoops(string){return string.replace(unrollLoopPattern,loopReplacer).replace(deprecatedUnrollLoopPattern,deprecatedLoopReplacer)}function deprecatedLoopReplacer(match,start,end,snippet){return console.warn("WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead."),loopReplacer(match,start,end,snippet)}function loopReplacer(match,start,end,snippet){let string="";for(let i=parseInt(start);i0?renderer.gammaFactor:1,customExtensions=parameters.isWebGL2?"":function generateExtensions(parameters){return[parameters.extensionDerivatives||parameters.envMapCubeUV||parameters.bumpMap||parameters.tangentSpaceNormalMap||parameters.clearcoatNormalMap||parameters.flatShading||"physical"===parameters.shaderID?"#extension GL_OES_standard_derivatives : enable":"",(parameters.extensionFragDepth||parameters.logarithmicDepthBuffer)&¶meters.rendererExtensionFragDepth?"#extension GL_EXT_frag_depth : enable":"",parameters.extensionDrawBuffers&¶meters.rendererExtensionDrawBuffers?"#extension GL_EXT_draw_buffers : require":"",(parameters.extensionShaderTextureLOD||parameters.envMap||parameters.transmission>0)&¶meters.rendererExtensionShaderTextureLod?"#extension GL_EXT_shader_texture_lod : enable":""].filter(filterEmptyLine).join("\n")}(parameters),customDefines=function generateDefines(defines){const chunks=[];for(const name in defines){const value=defines[name];!1!==value&&chunks.push("#define "+name+" "+value)}return chunks.join("\n")}(defines),program=gl.createProgram();let prefixVertex,prefixFragment,versionString=parameters.glslVersion?"#version "+parameters.glslVersion+"\n":"";parameters.isRawShaderMaterial?(prefixVertex=[customDefines].filter(filterEmptyLine).join("\n"),prefixVertex.length>0&&(prefixVertex+="\n"),prefixFragment=[customExtensions,customDefines].filter(filterEmptyLine).join("\n"),prefixFragment.length>0&&(prefixFragment+="\n")):(prefixVertex=[generatePrecision(parameters),"#define SHADER_NAME "+parameters.shaderName,customDefines,parameters.instancing?"#define USE_INSTANCING":"",parameters.instancingColor?"#define USE_INSTANCING_COLOR":"",parameters.supportsVertexTextures?"#define VERTEX_TEXTURES":"","#define GAMMA_FACTOR "+gammaFactorDefine,"#define MAX_BONES "+parameters.maxBones,parameters.useFog&¶meters.fog?"#define USE_FOG":"",parameters.useFog&¶meters.fogExp2?"#define FOG_EXP2":"",parameters.map?"#define USE_MAP":"",parameters.envMap?"#define USE_ENVMAP":"",parameters.envMap?"#define "+envMapModeDefine:"",parameters.lightMap?"#define USE_LIGHTMAP":"",parameters.aoMap?"#define USE_AOMAP":"",parameters.emissiveMap?"#define USE_EMISSIVEMAP":"",parameters.bumpMap?"#define USE_BUMPMAP":"",parameters.normalMap?"#define USE_NORMALMAP":"",parameters.normalMap&¶meters.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",parameters.normalMap&¶meters.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",parameters.clearcoatMap?"#define USE_CLEARCOATMAP":"",parameters.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",parameters.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",parameters.displacementMap&¶meters.supportsVertexTextures?"#define USE_DISPLACEMENTMAP":"",parameters.specularMap?"#define USE_SPECULARMAP":"",parameters.roughnessMap?"#define USE_ROUGHNESSMAP":"",parameters.metalnessMap?"#define USE_METALNESSMAP":"",parameters.alphaMap?"#define USE_ALPHAMAP":"",parameters.transmission?"#define USE_TRANSMISSION":"",parameters.transmissionMap?"#define USE_TRANSMISSIONMAP":"",parameters.thicknessMap?"#define USE_THICKNESSMAP":"",parameters.vertexTangents?"#define USE_TANGENT":"",parameters.vertexColors?"#define USE_COLOR":"",parameters.vertexAlphas?"#define USE_COLOR_ALPHA":"",parameters.vertexUvs?"#define USE_UV":"",parameters.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",parameters.flatShading?"#define FLAT_SHADED":"",parameters.skinning?"#define USE_SKINNING":"",parameters.useVertexTexture?"#define BONE_TEXTURE":"",parameters.morphTargets?"#define USE_MORPHTARGETS":"",parameters.morphNormals&&!1===parameters.flatShading?"#define USE_MORPHNORMALS":"",parameters.doubleSided?"#define DOUBLE_SIDED":"",parameters.flipSided?"#define FLIP_SIDED":"",parameters.shadowMapEnabled?"#define USE_SHADOWMAP":"",parameters.shadowMapEnabled?"#define "+shadowMapTypeDefine:"",parameters.sizeAttenuation?"#define USE_SIZEATTENUATION":"",parameters.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",parameters.logarithmicDepthBuffer&¶meters.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"","uniform mat4 modelMatrix;","uniform mat4 modelViewMatrix;","uniform mat4 projectionMatrix;","uniform mat4 viewMatrix;","uniform mat3 normalMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;","#ifdef USE_INSTANCING","\tattribute mat4 instanceMatrix;","#endif","#ifdef USE_INSTANCING_COLOR","\tattribute vec3 instanceColor;","#endif","attribute vec3 position;","attribute vec3 normal;","attribute vec2 uv;","#ifdef USE_TANGENT","\tattribute vec4 tangent;","#endif","#if defined( USE_COLOR_ALPHA )","\tattribute vec4 color;","#elif defined( USE_COLOR )","\tattribute vec3 color;","#endif","#ifdef USE_MORPHTARGETS","\tattribute vec3 morphTarget0;","\tattribute vec3 morphTarget1;","\tattribute vec3 morphTarget2;","\tattribute vec3 morphTarget3;","\t#ifdef USE_MORPHNORMALS","\t\tattribute vec3 morphNormal0;","\t\tattribute vec3 morphNormal1;","\t\tattribute vec3 morphNormal2;","\t\tattribute vec3 morphNormal3;","\t#else","\t\tattribute vec3 morphTarget4;","\t\tattribute vec3 morphTarget5;","\t\tattribute vec3 morphTarget6;","\t\tattribute vec3 morphTarget7;","\t#endif","#endif","#ifdef USE_SKINNING","\tattribute vec4 skinIndex;","\tattribute vec4 skinWeight;","#endif","\n"].filter(filterEmptyLine).join("\n"),prefixFragment=[customExtensions,generatePrecision(parameters),"#define SHADER_NAME "+parameters.shaderName,customDefines,parameters.alphaTest?"#define ALPHATEST "+parameters.alphaTest+(parameters.alphaTest%1?"":".0"):"","#define GAMMA_FACTOR "+gammaFactorDefine,parameters.useFog&¶meters.fog?"#define USE_FOG":"",parameters.useFog&¶meters.fogExp2?"#define FOG_EXP2":"",parameters.map?"#define USE_MAP":"",parameters.matcap?"#define USE_MATCAP":"",parameters.envMap?"#define USE_ENVMAP":"",parameters.envMap?"#define "+envMapTypeDefine:"",parameters.envMap?"#define "+envMapModeDefine:"",parameters.envMap?"#define "+envMapBlendingDefine:"",parameters.lightMap?"#define USE_LIGHTMAP":"",parameters.aoMap?"#define USE_AOMAP":"",parameters.emissiveMap?"#define USE_EMISSIVEMAP":"",parameters.bumpMap?"#define USE_BUMPMAP":"",parameters.normalMap?"#define USE_NORMALMAP":"",parameters.normalMap&¶meters.objectSpaceNormalMap?"#define OBJECTSPACE_NORMALMAP":"",parameters.normalMap&¶meters.tangentSpaceNormalMap?"#define TANGENTSPACE_NORMALMAP":"",parameters.clearcoatMap?"#define USE_CLEARCOATMAP":"",parameters.clearcoatRoughnessMap?"#define USE_CLEARCOAT_ROUGHNESSMAP":"",parameters.clearcoatNormalMap?"#define USE_CLEARCOAT_NORMALMAP":"",parameters.specularMap?"#define USE_SPECULARMAP":"",parameters.roughnessMap?"#define USE_ROUGHNESSMAP":"",parameters.metalnessMap?"#define USE_METALNESSMAP":"",parameters.alphaMap?"#define USE_ALPHAMAP":"",parameters.sheen?"#define USE_SHEEN":"",parameters.transmission?"#define USE_TRANSMISSION":"",parameters.transmissionMap?"#define USE_TRANSMISSIONMAP":"",parameters.thicknessMap?"#define USE_THICKNESSMAP":"",parameters.vertexTangents?"#define USE_TANGENT":"",parameters.vertexColors||parameters.instancingColor?"#define USE_COLOR":"",parameters.vertexAlphas?"#define USE_COLOR_ALPHA":"",parameters.vertexUvs?"#define USE_UV":"",parameters.uvsVertexOnly?"#define UVS_VERTEX_ONLY":"",parameters.gradientMap?"#define USE_GRADIENTMAP":"",parameters.flatShading?"#define FLAT_SHADED":"",parameters.doubleSided?"#define DOUBLE_SIDED":"",parameters.flipSided?"#define FLIP_SIDED":"",parameters.shadowMapEnabled?"#define USE_SHADOWMAP":"",parameters.shadowMapEnabled?"#define "+shadowMapTypeDefine:"",parameters.premultipliedAlpha?"#define PREMULTIPLIED_ALPHA":"",parameters.physicallyCorrectLights?"#define PHYSICALLY_CORRECT_LIGHTS":"",parameters.logarithmicDepthBuffer?"#define USE_LOGDEPTHBUF":"",parameters.logarithmicDepthBuffer&¶meters.rendererExtensionFragDepth?"#define USE_LOGDEPTHBUF_EXT":"",(parameters.extensionShaderTextureLOD||parameters.envMap)&¶meters.rendererExtensionShaderTextureLod?"#define TEXTURE_LOD_EXT":"","uniform mat4 viewMatrix;","uniform vec3 cameraPosition;","uniform bool isOrthographic;",parameters.toneMapping!==NoToneMapping?"#define TONE_MAPPING":"",parameters.toneMapping!==NoToneMapping?ShaderChunk.tonemapping_pars_fragment:"",parameters.toneMapping!==NoToneMapping?getToneMappingFunction("toneMapping",parameters.toneMapping):"",parameters.dithering?"#define DITHERING":"",ShaderChunk.encodings_pars_fragment,parameters.map?getTexelDecodingFunction("mapTexelToLinear",parameters.mapEncoding):"",parameters.matcap?getTexelDecodingFunction("matcapTexelToLinear",parameters.matcapEncoding):"",parameters.envMap?getTexelDecodingFunction("envMapTexelToLinear",parameters.envMapEncoding):"",parameters.emissiveMap?getTexelDecodingFunction("emissiveMapTexelToLinear",parameters.emissiveMapEncoding):"",parameters.lightMap?getTexelDecodingFunction("lightMapTexelToLinear",parameters.lightMapEncoding):"",getTexelEncodingFunction("linearToOutputTexel",parameters.outputEncoding),parameters.depthPacking?"#define DEPTH_PACKING "+parameters.depthPacking:"","\n"].filter(filterEmptyLine).join("\n")),vertexShader=resolveIncludes(vertexShader),vertexShader=replaceLightNums(vertexShader,parameters),vertexShader=replaceClippingPlaneNums(vertexShader,parameters),fragmentShader=resolveIncludes(fragmentShader),fragmentShader=replaceLightNums(fragmentShader,parameters),fragmentShader=replaceClippingPlaneNums(fragmentShader,parameters),vertexShader=unrollLoops(vertexShader),fragmentShader=unrollLoops(fragmentShader),parameters.isWebGL2&&!0!==parameters.isRawShaderMaterial&&(versionString="#version 300 es\n",prefixVertex=["#define attribute in","#define varying out","#define texture2D texture"].join("\n")+"\n"+prefixVertex,prefixFragment=["#define varying in",parameters.glslVersion===GLSL3?"":"out highp vec4 pc_fragColor;",parameters.glslVersion===GLSL3?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join("\n")+"\n"+prefixFragment);const fragmentGlsl=versionString+prefixFragment+fragmentShader,glVertexShader=WebGLShader(gl,35633,versionString+prefixVertex+vertexShader),glFragmentShader=WebGLShader(gl,35632,fragmentGlsl);if(gl.attachShader(program,glVertexShader),gl.attachShader(program,glFragmentShader),void 0!==parameters.index0AttributeName?gl.bindAttribLocation(program,0,parameters.index0AttributeName):!0===parameters.morphTargets&&gl.bindAttribLocation(program,0,"position"),gl.linkProgram(program),renderer.debug.checkShaderErrors){const programLog=gl.getProgramInfoLog(program).trim(),vertexLog=gl.getShaderInfoLog(glVertexShader).trim(),fragmentLog=gl.getShaderInfoLog(glFragmentShader).trim();let runnable=!0,haveDiagnostics=!0;if(!1===gl.getProgramParameter(program,35714)){runnable=!1;const vertexErrors=getShaderErrors(gl,glVertexShader,"vertex"),fragmentErrors=getShaderErrors(gl,glFragmentShader,"fragment");console.error("THREE.WebGLProgram: shader error: ",gl.getError(),"35715",gl.getProgramParameter(program,35715),"gl.getProgramInfoLog",programLog,vertexErrors,fragmentErrors)}else""!==programLog?console.warn("THREE.WebGLProgram: gl.getProgramInfoLog()",programLog):""!==vertexLog&&""!==fragmentLog||(haveDiagnostics=!1);haveDiagnostics&&(this.diagnostics={runnable:runnable,programLog:programLog,vertexShader:{log:vertexLog,prefix:prefixVertex},fragmentShader:{log:fragmentLog,prefix:prefixFragment}})}let cachedUniforms,cachedAttributes;return gl.deleteShader(glVertexShader),gl.deleteShader(glFragmentShader),this.getUniforms=function(){return void 0===cachedUniforms&&(cachedUniforms=new WebGLUniforms(gl,program)),cachedUniforms},this.getAttributes=function(){return void 0===cachedAttributes&&(cachedAttributes=function fetchAttributeLocations(gl,program){const attributes={},n=gl.getProgramParameter(program,35721);for(let i=0;i0,maxBones:maxBones,useVertexTexture:floatVertexTextures,morphTargets:material.morphTargets,morphNormals:material.morphNormals,numDirLights:lights.directional.length,numPointLights:lights.point.length,numSpotLights:lights.spot.length,numRectAreaLights:lights.rectArea.length,numHemiLights:lights.hemi.length,numDirLightShadows:lights.directionalShadowMap.length,numPointLightShadows:lights.pointShadowMap.length,numSpotLightShadows:lights.spotShadowMap.length,numClippingPlanes:clipping.numPlanes,numClipIntersection:clipping.numIntersection,dithering:material.dithering,shadowMapEnabled:renderer.shadowMap.enabled&&shadows.length>0,shadowMapType:renderer.shadowMap.type,toneMapping:material.toneMapped?renderer.toneMapping:NoToneMapping,physicallyCorrectLights:renderer.physicallyCorrectLights,premultipliedAlpha:material.premultipliedAlpha,alphaTest:material.alphaTest,doubleSided:material.side===DoubleSide,flipSided:material.side===BackSide,depthPacking:void 0!==material.depthPacking&&material.depthPacking,index0AttributeName:material.index0AttributeName,extensionDerivatives:material.extensions&&material.extensions.derivatives,extensionFragDepth:material.extensions&&material.extensions.fragDepth,extensionDrawBuffers:material.extensions&&material.extensions.drawBuffers,extensionShaderTextureLOD:material.extensions&&material.extensions.shaderTextureLOD,rendererExtensionFragDepth:isWebGL2||extensions.has("EXT_frag_depth"),rendererExtensionDrawBuffers:isWebGL2||extensions.has("WEBGL_draw_buffers"),rendererExtensionShaderTextureLod:isWebGL2||extensions.has("EXT_shader_texture_lod"),customProgramCacheKey:material.customProgramCacheKey()}},getProgramCacheKey:function getProgramCacheKey(parameters){const array=[];if(parameters.shaderID?array.push(parameters.shaderID):(array.push(parameters.fragmentShader),array.push(parameters.vertexShader)),void 0!==parameters.defines)for(const name in parameters.defines)array.push(name),array.push(parameters.defines[name]);if(!1===parameters.isRawShaderMaterial){for(let i=0;i0?transmissive.push(renderItem):!0===material.transparent?transparent.push(renderItem):opaque.push(renderItem)},unshift:function unshift(object,geometry,material,groupOrder,z,group){const renderItem=getNextRenderItem(object,geometry,material,groupOrder,z,group);material.transmission>0?transmissive.unshift(renderItem):!0===material.transparent?transparent.unshift(renderItem):opaque.unshift(renderItem)},finish:function finish(){for(let i=renderItemsIndex,il=renderItems.length;i1&&opaque.sort(customOpaqueSort||painterSortStable),transmissive.length>1&&transmissive.sort(customTransparentSort||reversePainterSortStable),transparent.length>1&&transparent.sort(customTransparentSort||reversePainterSortStable)}}}function WebGLRenderLists(properties){let lists=new WeakMap;return{get:function get(scene,renderCallDepth){let list;return!1===lists.has(scene)?(list=new WebGLRenderList(properties),lists.set(scene,[list])):renderCallDepth>=lists.get(scene).length?(list=new WebGLRenderList(properties),lists.get(scene).push(list)):list=lists.get(scene)[renderCallDepth],list},dispose:function dispose(){lists=new WeakMap}}}function UniformsCache(){const lights={};return{get:function(light){if(void 0!==lights[light.id])return lights[light.id];let uniforms;switch(light.type){case"DirectionalLight":uniforms={direction:new Vector3,color:new Color};break;case"SpotLight":uniforms={position:new Vector3,direction:new Vector3,color:new Color,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":uniforms={position:new Vector3,color:new Color,distance:0,decay:0};break;case"HemisphereLight":uniforms={direction:new Vector3,skyColor:new Color,groundColor:new Color};break;case"RectAreaLight":uniforms={color:new Color,position:new Vector3,halfWidth:new Vector3,halfHeight:new Vector3}}return lights[light.id]=uniforms,uniforms}}}let nextVersion=0;function shadowCastingLightsFirst(lightA,lightB){return(lightB.castShadow?1:0)-(lightA.castShadow?1:0)}function WebGLLights(extensions,capabilities){const cache=new UniformsCache,shadowCache=function ShadowUniformsCache(){const lights={};return{get:function(light){if(void 0!==lights[light.id])return lights[light.id];let uniforms;switch(light.type){case"DirectionalLight":case"SpotLight":uniforms={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2};break;case"PointLight":uniforms={shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Vector2,shadowCameraNear:1,shadowCameraFar:1e3}}return lights[light.id]=uniforms,uniforms}}}(),state={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotShadow:[],spotShadowMap:[],spotShadowMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[]};for(let i=0;i<9;i++)state.probe.push(new Vector3);const vector3=new Vector3,matrix4=new Matrix4,matrix42=new Matrix4;return{setup:function setup(lights){let r=0,g=0,b=0;for(let i=0;i<9;i++)state.probe[i].set(0,0,0);let directionalLength=0,pointLength=0,spotLength=0,rectAreaLength=0,hemiLength=0,numDirectionalShadows=0,numPointShadows=0,numSpotShadows=0;lights.sort(shadowCastingLightsFirst);for(let i=0,l=lights.length;i0&&(capabilities.isWebGL2||!0===extensions.has("OES_texture_float_linear")?(state.rectAreaLTC1=UniformsLib.LTC_FLOAT_1,state.rectAreaLTC2=UniformsLib.LTC_FLOAT_2):!0===extensions.has("OES_texture_half_float_linear")?(state.rectAreaLTC1=UniformsLib.LTC_HALF_1,state.rectAreaLTC2=UniformsLib.LTC_HALF_2):console.error("THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.")),state.ambient[0]=r,state.ambient[1]=g,state.ambient[2]=b;const hash=state.hash;hash.directionalLength===directionalLength&&hash.pointLength===pointLength&&hash.spotLength===spotLength&&hash.rectAreaLength===rectAreaLength&&hash.hemiLength===hemiLength&&hash.numDirectionalShadows===numDirectionalShadows&&hash.numPointShadows===numPointShadows&&hash.numSpotShadows===numSpotShadows||(state.directional.length=directionalLength,state.spot.length=spotLength,state.rectArea.length=rectAreaLength,state.point.length=pointLength,state.hemi.length=hemiLength,state.directionalShadow.length=numDirectionalShadows,state.directionalShadowMap.length=numDirectionalShadows,state.pointShadow.length=numPointShadows,state.pointShadowMap.length=numPointShadows,state.spotShadow.length=numSpotShadows,state.spotShadowMap.length=numSpotShadows,state.directionalShadowMatrix.length=numDirectionalShadows,state.pointShadowMatrix.length=numPointShadows,state.spotShadowMatrix.length=numSpotShadows,hash.directionalLength=directionalLength,hash.pointLength=pointLength,hash.spotLength=spotLength,hash.rectAreaLength=rectAreaLength,hash.hemiLength=hemiLength,hash.numDirectionalShadows=numDirectionalShadows,hash.numPointShadows=numPointShadows,hash.numSpotShadows=numSpotShadows,state.version=nextVersion++)},setupView:function setupView(lights,camera){let directionalLength=0,pointLength=0,spotLength=0,rectAreaLength=0,hemiLength=0;const viewMatrix=camera.matrixWorldInverse;for(let i=0,l=lights.length;i=renderStates.get(scene).length?(renderState=new WebGLRenderState(extensions,capabilities),renderStates.get(scene).push(renderState)):renderState=renderStates.get(scene)[renderCallDepth],renderState},dispose:function dispose(){renderStates=new WeakMap}}}class MeshDepthMaterial extends Material{constructor(parameters){super(),this.type="MeshDepthMaterial",this.depthPacking=BasicDepthPacking,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.setValues(parameters)}copy(source){return super.copy(source),this.depthPacking=source.depthPacking,this.morphTargets=source.morphTargets,this.map=source.map,this.alphaMap=source.alphaMap,this.displacementMap=source.displacementMap,this.displacementScale=source.displacementScale,this.displacementBias=source.displacementBias,this.wireframe=source.wireframe,this.wireframeLinewidth=source.wireframeLinewidth,this}}MeshDepthMaterial.prototype.isMeshDepthMaterial=!0;class MeshDistanceMaterial extends Material{constructor(parameters){super(),this.type="MeshDistanceMaterial",this.referencePosition=new Vector3,this.nearDistance=1,this.farDistance=1e3,this.morphTargets=!1,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.fog=!1,this.setValues(parameters)}copy(source){return super.copy(source),this.referencePosition.copy(source.referencePosition),this.nearDistance=source.nearDistance,this.farDistance=source.farDistance,this.morphTargets=source.morphTargets,this.map=source.map,this.alphaMap=source.alphaMap,this.displacementMap=source.displacementMap,this.displacementScale=source.displacementScale,this.displacementBias=source.displacementBias,this}}MeshDistanceMaterial.prototype.isMeshDistanceMaterial=!0;function WebGLShadowMap(_renderer,_objects,_capabilities){let _frustum=new Frustum;const _shadowMapSize=new Vector2,_viewportSize=new Vector2,_viewport=new Vector4,_depthMaterials=[],_distanceMaterials=[],_materialCache={},_maxTextureSize=_capabilities.maxTextureSize,shadowSide={0:BackSide,1:FrontSide,2:DoubleSide},shadowMaterialVertical=new ShaderMaterial({defines:{SAMPLE_RATE:2/8,HALF_SAMPLE_RATE:1/8},uniforms:{shadow_pass:{value:null},resolution:{value:new Vector2},radius:{value:4}},vertexShader:"void main() {\n\tgl_Position = vec4( position, 1.0 );\n}",fragmentShader:"uniform sampler2D shadow_pass;\nuniform vec2 resolution;\nuniform float radius;\n#include \nvoid main() {\n\tfloat mean = 0.0;\n\tfloat squared_mean = 0.0;\n\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy ) / resolution ) );\n\tfor ( float i = -1.0; i < 1.0 ; i += SAMPLE_RATE) {\n\t\t#ifdef HORIZONTAL_PASS\n\t\t\tvec2 distribution = unpackRGBATo2Half( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( i, 0.0 ) * radius ) / resolution ) );\n\t\t\tmean += distribution.x;\n\t\t\tsquared_mean += distribution.y * distribution.y + distribution.x * distribution.x;\n\t\t#else\n\t\t\tfloat depth = unpackRGBAToDepth( texture2D( shadow_pass, ( gl_FragCoord.xy + vec2( 0.0, i ) * radius ) / resolution ) );\n\t\t\tmean += depth;\n\t\t\tsquared_mean += depth * depth;\n\t\t#endif\n\t}\n\tmean = mean * HALF_SAMPLE_RATE;\n\tsquared_mean = squared_mean * HALF_SAMPLE_RATE;\n\tfloat std_dev = sqrt( squared_mean - mean * mean );\n\tgl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) );\n}"}),shadowMaterialHorizontal=shadowMaterialVertical.clone();shadowMaterialHorizontal.defines.HORIZONTAL_PASS=1;const fullScreenTri=new BufferGeometry;fullScreenTri.setAttribute("position",new BufferAttribute(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const fullScreenMesh=new Mesh(fullScreenTri,shadowMaterialVertical),scope=this;function VSMPass(shadow,camera){const geometry=_objects.update(fullScreenMesh);shadowMaterialVertical.uniforms.shadow_pass.value=shadow.map.texture,shadowMaterialVertical.uniforms.resolution.value=shadow.mapSize,shadowMaterialVertical.uniforms.radius.value=shadow.radius,_renderer.setRenderTarget(shadow.mapPass),_renderer.clear(),_renderer.renderBufferDirect(camera,null,geometry,shadowMaterialVertical,fullScreenMesh,null),shadowMaterialHorizontal.uniforms.shadow_pass.value=shadow.mapPass.texture,shadowMaterialHorizontal.uniforms.resolution.value=shadow.mapSize,shadowMaterialHorizontal.uniforms.radius.value=shadow.radius,_renderer.setRenderTarget(shadow.map),_renderer.clear(),_renderer.renderBufferDirect(camera,null,geometry,shadowMaterialHorizontal,fullScreenMesh,null)}function getDepthMaterialVariant(useMorphing){const index=useMorphing<<0;let material=_depthMaterials[index];return void 0===material&&(material=new MeshDepthMaterial({depthPacking:RGBADepthPacking,morphTargets:useMorphing}),_depthMaterials[index]=material),material}function getDistanceMaterialVariant(useMorphing){const index=useMorphing<<0;let material=_distanceMaterials[index];return void 0===material&&(material=new MeshDistanceMaterial({morphTargets:useMorphing}),_distanceMaterials[index]=material),material}function getDepthMaterial(object,geometry,material,light,shadowCameraNear,shadowCameraFar,type){let result=null,getMaterialVariant=getDepthMaterialVariant,customMaterial=object.customDepthMaterial;if(!0===light.isPointLight&&(getMaterialVariant=getDistanceMaterialVariant,customMaterial=object.customDistanceMaterial),void 0===customMaterial){let useMorphing=!1;!0===material.morphTargets&&(useMorphing=geometry.morphAttributes&&geometry.morphAttributes.position&&geometry.morphAttributes.position.length>0),result=getMaterialVariant(useMorphing)}else result=customMaterial;if(_renderer.localClippingEnabled&&!0===material.clipShadows&&0!==material.clippingPlanes.length){const keyA=result.uuid,keyB=material.uuid;let materialsForVariant=_materialCache[keyA];void 0===materialsForVariant&&(materialsForVariant={},_materialCache[keyA]=materialsForVariant);let cachedMaterial=materialsForVariant[keyB];void 0===cachedMaterial&&(cachedMaterial=result.clone(),materialsForVariant[keyB]=cachedMaterial),result=cachedMaterial}return result.visible=material.visible,result.wireframe=material.wireframe,result.side=type===VSMShadowMap?null!==material.shadowSide?material.shadowSide:material.side:null!==material.shadowSide?material.shadowSide:shadowSide[material.side],result.clipShadows=material.clipShadows,result.clippingPlanes=material.clippingPlanes,result.clipIntersection=material.clipIntersection,result.wireframeLinewidth=material.wireframeLinewidth,result.linewidth=material.linewidth,!0===light.isPointLight&&!0===result.isMeshDistanceMaterial&&(result.referencePosition.setFromMatrixPosition(light.matrixWorld),result.nearDistance=shadowCameraNear,result.farDistance=shadowCameraFar),result}function renderObject(object,camera,shadowCamera,light,type){if(!1===object.visible)return;if(object.layers.test(camera.layers)&&(object.isMesh||object.isLine||object.isPoints)&&(object.castShadow||object.receiveShadow&&type===VSMShadowMap)&&(!object.frustumCulled||_frustum.intersectsObject(object))){object.modelViewMatrix.multiplyMatrices(shadowCamera.matrixWorldInverse,object.matrixWorld);const geometry=_objects.update(object),material=object.material;if(Array.isArray(material)){const groups=geometry.groups;for(let k=0,kl=groups.length;k_maxTextureSize||_shadowMapSize.y>_maxTextureSize)&&(_shadowMapSize.x>_maxTextureSize&&(_viewportSize.x=Math.floor(_maxTextureSize/shadowFrameExtents.x),_shadowMapSize.x=_viewportSize.x*shadowFrameExtents.x,shadow.mapSize.x=_viewportSize.x),_shadowMapSize.y>_maxTextureSize&&(_viewportSize.y=Math.floor(_maxTextureSize/shadowFrameExtents.y),_shadowMapSize.y=_viewportSize.y*shadowFrameExtents.y,shadow.mapSize.y=_viewportSize.y)),null===shadow.map&&!shadow.isPointLightShadow&&this.type===VSMShadowMap){const pars={minFilter:LinearFilter,magFilter:LinearFilter,format:RGBAFormat};shadow.map=new WebGLRenderTarget(_shadowMapSize.x,_shadowMapSize.y,pars),shadow.map.texture.name=light.name+".shadowMap",shadow.mapPass=new WebGLRenderTarget(_shadowMapSize.x,_shadowMapSize.y,pars),shadow.camera.updateProjectionMatrix()}if(null===shadow.map){const pars={minFilter:NearestFilter,magFilter:NearestFilter,format:RGBAFormat};shadow.map=new WebGLRenderTarget(_shadowMapSize.x,_shadowMapSize.y,pars),shadow.map.texture.name=light.name+".shadowMap",shadow.camera.updateProjectionMatrix()}_renderer.setRenderTarget(shadow.map),_renderer.clear();const viewportCount=shadow.getViewportCount();for(let vp=0;vp=1):-1!==glVersion.indexOf("OpenGL ES")&&(version=parseFloat(/^OpenGL ES (\d)/.exec(glVersion)[1]),lineWidthAvailable=version>=2);let currentTextureSlot=null,currentBoundTextures={};const scissorParam=gl.getParameter(3088),viewportParam=gl.getParameter(2978),currentScissor=(new Vector4).fromArray(scissorParam),currentViewport=(new Vector4).fromArray(viewportParam);function createTexture(type,target,count){const data=new Uint8Array(4),texture=gl.createTexture();gl.bindTexture(type,texture),gl.texParameteri(type,10241,9728),gl.texParameteri(type,10240,9728);for(let i=0;imaxSize||image.height>maxSize)&&(scale=maxSize/Math.max(image.width,image.height)),scale<1||!0===needsPowerOfTwo){if("undefined"!=typeof HTMLImageElement&&image instanceof HTMLImageElement||"undefined"!=typeof HTMLCanvasElement&&image instanceof HTMLCanvasElement||"undefined"!=typeof ImageBitmap&&image instanceof ImageBitmap){const floor=needsPowerOfTwo?floorPowerOfTwo:Math.floor,width=floor(scale*image.width),height=floor(scale*image.height);void 0===_canvas&&(_canvas=createCanvas(width,height));const canvas=needsNewCanvas?createCanvas(width,height):_canvas;canvas.width=width,canvas.height=height;return canvas.getContext("2d").drawImage(image,0,0,width,height),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+image.width+"x"+image.height+") to ("+width+"x"+height+")."),canvas}return"data"in image&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+image.width+"x"+image.height+")."),image}return image}function isPowerOfTwo$1(image){return isPowerOfTwo(image.width)&&isPowerOfTwo(image.height)}function textureNeedsGenerateMipmaps(texture,supportsMips){return texture.generateMipmaps&&supportsMips&&texture.minFilter!==NearestFilter&&texture.minFilter!==LinearFilter}function generateMipmap(target,texture,width,height,depth=1){_gl.generateMipmap(target);properties.get(texture).__maxMipLevel=Math.log2(Math.max(width,height,depth))}function getInternalFormat(internalFormatName,glFormat,glType){if(!1===isWebGL2)return glFormat;if(null!==internalFormatName){if(void 0!==_gl[internalFormatName])return _gl[internalFormatName];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+internalFormatName+"'")}let internalFormat=glFormat;return 6403===glFormat&&(5126===glType&&(internalFormat=33326),5131===glType&&(internalFormat=33325),5121===glType&&(internalFormat=33321)),6407===glFormat&&(5126===glType&&(internalFormat=34837),5131===glType&&(internalFormat=34843),5121===glType&&(internalFormat=32849)),6408===glFormat&&(5126===glType&&(internalFormat=34836),5131===glType&&(internalFormat=34842),5121===glType&&(internalFormat=32856)),33325!==internalFormat&&33326!==internalFormat&&34842!==internalFormat&&34836!==internalFormat||extensions.get("EXT_color_buffer_float"),internalFormat}function filterFallback(f){return f===NearestFilter||f===NearestMipmapNearestFilter||f===NearestMipmapLinearFilter?9728:9729}function onTextureDispose(event){const texture=event.target;texture.removeEventListener("dispose",onTextureDispose),function deallocateTexture(texture){const textureProperties=properties.get(texture);if(void 0===textureProperties.__webglInit)return;_gl.deleteTexture(textureProperties.__webglTexture),properties.remove(texture)}(texture),texture.isVideoTexture&&_videoTextures.delete(texture),info.memory.textures--}function onRenderTargetDispose(event){const renderTarget=event.target;renderTarget.removeEventListener("dispose",onRenderTargetDispose),function deallocateRenderTarget(renderTarget){const texture=renderTarget.texture,renderTargetProperties=properties.get(renderTarget),textureProperties=properties.get(texture);if(!renderTarget)return;void 0!==textureProperties.__webglTexture&&(_gl.deleteTexture(textureProperties.__webglTexture),info.memory.textures--);renderTarget.depthTexture&&renderTarget.depthTexture.dispose();if(renderTarget.isWebGLCubeRenderTarget)for(let i=0;i<6;i++)_gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer[i]),renderTargetProperties.__webglDepthbuffer&&_gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer[i]);else _gl.deleteFramebuffer(renderTargetProperties.__webglFramebuffer),renderTargetProperties.__webglDepthbuffer&&_gl.deleteRenderbuffer(renderTargetProperties.__webglDepthbuffer),renderTargetProperties.__webglMultisampledFramebuffer&&_gl.deleteFramebuffer(renderTargetProperties.__webglMultisampledFramebuffer),renderTargetProperties.__webglColorRenderbuffer&&_gl.deleteRenderbuffer(renderTargetProperties.__webglColorRenderbuffer),renderTargetProperties.__webglDepthRenderbuffer&&_gl.deleteRenderbuffer(renderTargetProperties.__webglDepthRenderbuffer);if(renderTarget.isWebGLMultipleRenderTargets)for(let i=0,il=texture.length;i0&&textureProperties.__version!==texture.version){const image=texture.image;if(void 0===image)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined");else{if(!1!==image.complete)return void uploadTexture(textureProperties,texture,slot);console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete")}}state.activeTexture(33984+slot),state.bindTexture(3553,textureProperties.__webglTexture)}function setTextureCube(texture,slot){const textureProperties=properties.get(texture);texture.version>0&&textureProperties.__version!==texture.version?function uploadCubeTexture(textureProperties,texture,slot){if(6!==texture.image.length)return;initTexture(textureProperties,texture),state.activeTexture(33984+slot),state.bindTexture(34067,textureProperties.__webglTexture),_gl.pixelStorei(37440,texture.flipY),_gl.pixelStorei(37441,texture.premultiplyAlpha),_gl.pixelStorei(3317,texture.unpackAlignment),_gl.pixelStorei(37443,0);const isCompressed=texture&&(texture.isCompressedTexture||texture.image[0].isCompressedTexture),isDataTexture=texture.image[0]&&texture.image[0].isDataTexture,cubeImage=[];for(let i=0;i<6;i++)cubeImage[i]=isCompressed||isDataTexture?isDataTexture?texture.image[i].image:texture.image[i]:resizeImage(texture.image[i],!1,!0,maxCubemapSize);const image=cubeImage[0],supportsMips=isPowerOfTwo$1(image)||isWebGL2,glFormat=utils.convert(texture.format),glType=utils.convert(texture.type),glInternalFormat=getInternalFormat(texture.internalFormat,glFormat,glType);let mipmaps;if(setTextureParameters(34067,texture,supportsMips),isCompressed){for(let i=0;i<6;i++){mipmaps=cubeImage[i].mipmaps;for(let j=0;j1||properties.get(texture).__currentAnisotropy)&&(_gl.texParameterf(textureType,extension.TEXTURE_MAX_ANISOTROPY_EXT,Math.min(texture.anisotropy,capabilities.getMaxAnisotropy())),properties.get(texture).__currentAnisotropy=texture.anisotropy)}}function initTexture(textureProperties,texture){void 0===textureProperties.__webglInit&&(textureProperties.__webglInit=!0,texture.addEventListener("dispose",onTextureDispose),textureProperties.__webglTexture=_gl.createTexture(),info.memory.textures++)}function uploadTexture(textureProperties,texture,slot){let textureType=3553;texture.isDataTexture2DArray&&(textureType=35866),texture.isDataTexture3D&&(textureType=32879),initTexture(textureProperties,texture),state.activeTexture(33984+slot),state.bindTexture(textureType,textureProperties.__webglTexture),_gl.pixelStorei(37440,texture.flipY),_gl.pixelStorei(37441,texture.premultiplyAlpha),_gl.pixelStorei(3317,texture.unpackAlignment),_gl.pixelStorei(37443,0);const needsPowerOfTwo=function textureNeedsPowerOfTwo(texture){return!isWebGL2&&(texture.wrapS!==ClampToEdgeWrapping||texture.wrapT!==ClampToEdgeWrapping||texture.minFilter!==NearestFilter&&texture.minFilter!==LinearFilter)}(texture)&&!1===isPowerOfTwo$1(texture.image),image=resizeImage(texture.image,needsPowerOfTwo,!1,maxTextureSize),supportsMips=isPowerOfTwo$1(image)||isWebGL2,glFormat=utils.convert(texture.format);let mipmap,glType=utils.convert(texture.type),glInternalFormat=getInternalFormat(texture.internalFormat,glFormat,glType);setTextureParameters(textureType,texture,supportsMips);const mipmaps=texture.mipmaps;if(texture.isDepthTexture)glInternalFormat=6402,isWebGL2?glInternalFormat=texture.type===FloatType?36012:texture.type===UnsignedIntType?33190:texture.type===UnsignedInt248Type?35056:33189:texture.type===FloatType&&console.error("WebGLRenderer: Floating point depth texture requires WebGL2."),texture.format===DepthFormat&&6402===glInternalFormat&&texture.type!==UnsignedShortType&&texture.type!==UnsignedIntType&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."),texture.type=UnsignedShortType,glType=utils.convert(texture.type)),texture.format===DepthStencilFormat&&6402===glInternalFormat&&(glInternalFormat=34041,texture.type!==UnsignedInt248Type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),texture.type=UnsignedInt248Type,glType=utils.convert(texture.type))),state.texImage2D(3553,0,glInternalFormat,image.width,image.height,0,glFormat,glType,null);else if(texture.isDataTexture)if(mipmaps.length>0&&supportsMips){for(let i=0,il=mipmaps.length;i0&&supportsMips){for(let i=0,il=mipmaps.length;i=maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+textureUnit+" texture units while this GPU supports only "+maxTextures),textureUnits+=1,textureUnit},this.resetTextureUnits=function resetTextureUnits(){textureUnits=0},this.setTexture2D=setTexture2D,this.setTexture2DArray=function setTexture2DArray(texture,slot){const textureProperties=properties.get(texture);texture.version>0&&textureProperties.__version!==texture.version?uploadTexture(textureProperties,texture,slot):(state.activeTexture(33984+slot),state.bindTexture(35866,textureProperties.__webglTexture))},this.setTexture3D=function setTexture3D(texture,slot){const textureProperties=properties.get(texture);texture.version>0&&textureProperties.__version!==texture.version?uploadTexture(textureProperties,texture,slot):(state.activeTexture(33984+slot),state.bindTexture(32879,textureProperties.__webglTexture))},this.setTextureCube=setTextureCube,this.setupRenderTarget=function setupRenderTarget(renderTarget){const texture=renderTarget.texture,renderTargetProperties=properties.get(renderTarget),textureProperties=properties.get(texture);renderTarget.addEventListener("dispose",onRenderTargetDispose),!0!==renderTarget.isWebGLMultipleRenderTargets&&(textureProperties.__webglTexture=_gl.createTexture(),textureProperties.__version=texture.version,info.memory.textures++);const isCube=!0===renderTarget.isWebGLCubeRenderTarget,isMultipleRenderTargets=!0===renderTarget.isWebGLMultipleRenderTargets,isMultisample=!0===renderTarget.isWebGLMultisampleRenderTarget,isRenderTarget3D=texture.isDataTexture3D||texture.isDataTexture2DArray,supportsMips=isPowerOfTwo$1(renderTarget)||isWebGL2;if(!isWebGL2||texture.format!==RGBFormat||texture.type!==FloatType&&texture.type!==HalfFloatType||(texture.format=RGBAFormat,console.warn("THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.")),isCube){renderTargetProperties.__webglFramebuffer=[];for(let i=0;i<6;i++)renderTargetProperties.__webglFramebuffer[i]=_gl.createFramebuffer()}else if(renderTargetProperties.__webglFramebuffer=_gl.createFramebuffer(),isMultipleRenderTargets)if(capabilities.drawBuffers){const textures=renderTarget.texture;for(let i=0,il=textures.length;idistanceToPinch+threshold?(hand.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:inputSource.handedness,target:this})):!hand.inputState.pinching&&distance<=distanceToPinch-threshold&&(hand.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:inputSource.handedness,target:this}))}else null!==grip&&inputSource.gripSpace&&(gripPose=frame.getPose(inputSource.gripSpace,referenceSpace),null!==gripPose&&(grip.matrix.fromArray(gripPose.transform.matrix),grip.matrix.decompose(grip.position,grip.rotation,grip.scale),gripPose.linearVelocity?(grip.hasLinearVelocity=!0,grip.linearVelocity.copy(gripPose.linearVelocity)):grip.hasLinearVelocity=!1,gripPose.angularVelocity?(grip.hasAngularVelocity=!0,grip.angularVelocity.copy(gripPose.angularVelocity)):grip.hasAngularVelocity=!1));return null!==targetRay&&(targetRay.visible=null!==inputPose),null!==grip&&(grip.visible=null!==gripPose),null!==hand&&(hand.visible=null!==handPose),this}}class WebXRManager extends EventDispatcher{constructor(renderer,gl){super();const scope=this,state=renderer.state;let session=null,framebufferScaleFactor=1,referenceSpace=null,referenceSpaceType="local-floor",pose=null,glBinding=null,glFramebuffer=null,glProjLayer=null;const controllers=[],inputSourcesMap=new Map,cameraL=new PerspectiveCamera;cameraL.layers.enable(1),cameraL.viewport=new Vector4;const cameraR=new PerspectiveCamera;cameraR.layers.enable(2),cameraR.viewport=new Vector4;const cameras=[cameraL,cameraR],cameraVR=new ArrayCamera;cameraVR.layers.enable(1),cameraVR.layers.enable(2);let _currentDepthNear=null,_currentDepthFar=null;function onSessionEvent(event){const controller=inputSourcesMap.get(event.inputSource);controller&&controller.dispatchEvent({type:event.type,data:event.inputSource})}function onSessionEnd(){inputSourcesMap.forEach((function(controller,inputSource){controller.disconnect(inputSource)})),inputSourcesMap.clear(),_currentDepthNear=null,_currentDepthFar=null,state.bindXRFramebuffer(null),renderer.setRenderTarget(renderer.getRenderTarget()),animation.stop(),scope.isPresenting=!1,scope.dispatchEvent({type:"sessionend"})}function onInputSourcesChange(event){const inputSources=session.inputSources;for(let i=0;i0&&(uniforms.transmissionSamplerMap.value=transmissionRenderTarget.texture,uniforms.transmissionSamplerSize.value.set(transmissionRenderTarget.width,transmissionRenderTarget.height));uniforms.thickness.value=material.thickness,material.thicknessMap&&(uniforms.thicknessMap.value=material.thicknessMap);uniforms.attenuationDistance.value=material.attenuationDistance,uniforms.attenuationColor.value.copy(material.attenuationColor)}(uniforms,material,transmissionRenderTarget):refreshUniformsStandard(uniforms,material)):material.isMeshMatcapMaterial?(refreshUniformsCommon(uniforms,material),function refreshUniformsMatcap(uniforms,material){material.matcap&&(uniforms.matcap.value=material.matcap);material.bumpMap&&(uniforms.bumpMap.value=material.bumpMap,uniforms.bumpScale.value=material.bumpScale,material.side===BackSide&&(uniforms.bumpScale.value*=-1));material.normalMap&&(uniforms.normalMap.value=material.normalMap,uniforms.normalScale.value.copy(material.normalScale),material.side===BackSide&&uniforms.normalScale.value.negate());material.displacementMap&&(uniforms.displacementMap.value=material.displacementMap,uniforms.displacementScale.value=material.displacementScale,uniforms.displacementBias.value=material.displacementBias)}(uniforms,material)):material.isMeshDepthMaterial?(refreshUniformsCommon(uniforms,material),function refreshUniformsDepth(uniforms,material){material.displacementMap&&(uniforms.displacementMap.value=material.displacementMap,uniforms.displacementScale.value=material.displacementScale,uniforms.displacementBias.value=material.displacementBias)}(uniforms,material)):material.isMeshDistanceMaterial?(refreshUniformsCommon(uniforms,material),function refreshUniformsDistance(uniforms,material){material.displacementMap&&(uniforms.displacementMap.value=material.displacementMap,uniforms.displacementScale.value=material.displacementScale,uniforms.displacementBias.value=material.displacementBias);uniforms.referencePosition.value.copy(material.referencePosition),uniforms.nearDistance.value=material.nearDistance,uniforms.farDistance.value=material.farDistance}(uniforms,material)):material.isMeshNormalMaterial?(refreshUniformsCommon(uniforms,material),function refreshUniformsNormal(uniforms,material){material.bumpMap&&(uniforms.bumpMap.value=material.bumpMap,uniforms.bumpScale.value=material.bumpScale,material.side===BackSide&&(uniforms.bumpScale.value*=-1));material.normalMap&&(uniforms.normalMap.value=material.normalMap,uniforms.normalScale.value.copy(material.normalScale),material.side===BackSide&&uniforms.normalScale.value.negate());material.displacementMap&&(uniforms.displacementMap.value=material.displacementMap,uniforms.displacementScale.value=material.displacementScale,uniforms.displacementBias.value=material.displacementBias)}(uniforms,material)):material.isLineBasicMaterial?(!function refreshUniformsLine(uniforms,material){uniforms.diffuse.value.copy(material.color),uniforms.opacity.value=material.opacity}(uniforms,material),material.isLineDashedMaterial&&function refreshUniformsDash(uniforms,material){uniforms.dashSize.value=material.dashSize,uniforms.totalSize.value=material.dashSize+material.gapSize,uniforms.scale.value=material.scale}(uniforms,material)):material.isPointsMaterial?function refreshUniformsPoints(uniforms,material,pixelRatio,height){uniforms.diffuse.value.copy(material.color),uniforms.opacity.value=material.opacity,uniforms.size.value=material.size*pixelRatio,uniforms.scale.value=.5*height,material.map&&(uniforms.map.value=material.map);material.alphaMap&&(uniforms.alphaMap.value=material.alphaMap);let uvScaleMap;material.map?uvScaleMap=material.map:material.alphaMap&&(uvScaleMap=material.alphaMap);void 0!==uvScaleMap&&(!0===uvScaleMap.matrixAutoUpdate&&uvScaleMap.updateMatrix(),uniforms.uvTransform.value.copy(uvScaleMap.matrix))}(uniforms,material,pixelRatio,height):material.isSpriteMaterial?function refreshUniformsSprites(uniforms,material){uniforms.diffuse.value.copy(material.color),uniforms.opacity.value=material.opacity,uniforms.rotation.value=material.rotation,material.map&&(uniforms.map.value=material.map);material.alphaMap&&(uniforms.alphaMap.value=material.alphaMap);let uvScaleMap;material.map?uvScaleMap=material.map:material.alphaMap&&(uvScaleMap=material.alphaMap);void 0!==uvScaleMap&&(!0===uvScaleMap.matrixAutoUpdate&&uvScaleMap.updateMatrix(),uniforms.uvTransform.value.copy(uvScaleMap.matrix))}(uniforms,material):material.isShadowMaterial?(uniforms.color.value.copy(material.color),uniforms.opacity.value=material.opacity):material.isShaderMaterial&&(material.uniformsNeedUpdate=!1)}}}function WebGLRenderer(parameters={}){const _canvas=void 0!==parameters.canvas?parameters.canvas:function createCanvasElement(){const canvas=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");return canvas.style.display="block",canvas}(),_context=void 0!==parameters.context?parameters.context:null,_alpha=void 0!==parameters.alpha&¶meters.alpha,_depth=void 0===parameters.depth||parameters.depth,_stencil=void 0===parameters.stencil||parameters.stencil,_antialias=void 0!==parameters.antialias&¶meters.antialias,_premultipliedAlpha=void 0===parameters.premultipliedAlpha||parameters.premultipliedAlpha,_preserveDrawingBuffer=void 0!==parameters.preserveDrawingBuffer&¶meters.preserveDrawingBuffer,_powerPreference=void 0!==parameters.powerPreference?parameters.powerPreference:"default",_failIfMajorPerformanceCaveat=void 0!==parameters.failIfMajorPerformanceCaveat&¶meters.failIfMajorPerformanceCaveat;let currentRenderList=null,currentRenderState=null;const renderListStack=[],renderStateStack=[];this.domElement=_canvas,this.debug={checkShaderErrors:!0},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this.gammaFactor=2,this.outputEncoding=LinearEncoding,this.physicallyCorrectLights=!1,this.toneMapping=NoToneMapping,this.toneMappingExposure=1;const _this=this;let _isContextLost=!1,_currentActiveCubeFace=0,_currentActiveMipmapLevel=0,_currentRenderTarget=null,_currentMaterialId=-1,_currentCamera=null;const _currentViewport=new Vector4,_currentScissor=new Vector4;let _currentScissorTest=null,_width=_canvas.width,_height=_canvas.height,_pixelRatio=1,_opaqueSort=null,_transparentSort=null;const _viewport=new Vector4(0,0,_width,_height),_scissor=new Vector4(0,0,_width,_height);let _scissorTest=!1;const _currentDrawBuffers=[],_frustum=new Frustum;let _clippingEnabled=!1,_localClippingEnabled=!1,_transmissionRenderTarget=null;const _projScreenMatrix=new Matrix4,_vector3=new Vector3,_emptyScene={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};function getTargetPixelRatio(){return null===_currentRenderTarget?_pixelRatio:1}let extensions,capabilities,state,info,properties,textures,cubemaps,attributes,geometries,objects,programCache,materials,renderLists,renderStates,clipping,shadowMap,background,morphtargets,bufferRenderer,indexedBufferRenderer,utils,bindingStates,_gl=_context;function getContext(contextNames,contextAttributes){for(let i=0;i0&&renderObjects(opaqueObjects,scene,camera),transmissiveObjects.length>0&&function renderTransmissiveObjects(opaqueObjects,transmissiveObjects,scene,camera){if(null===_transmissionRenderTarget){const needsAntialias=!0===_antialias&&!0===capabilities.isWebGL2;_transmissionRenderTarget=new(needsAntialias?WebGLMultisampleRenderTarget:WebGLRenderTarget)(1024,1024,{generateMipmaps:!0,type:null!==utils.convert(HalfFloatType)?HalfFloatType:UnsignedByteType,minFilter:LinearMipmapLinearFilter,magFilter:NearestFilter,wrapS:ClampToEdgeWrapping,wrapT:ClampToEdgeWrapping})}const currentRenderTarget=_this.getRenderTarget();_this.setRenderTarget(_transmissionRenderTarget),_this.clear();const currentToneMapping=_this.toneMapping;_this.toneMapping=NoToneMapping,renderObjects(opaqueObjects,scene,camera),_this.toneMapping=currentToneMapping,textures.updateMultisampleRenderTarget(_transmissionRenderTarget),textures.updateRenderTargetMipmap(_transmissionRenderTarget),_this.setRenderTarget(currentRenderTarget),renderObjects(transmissiveObjects,scene,camera)}(opaqueObjects,transmissiveObjects,scene,camera),transparentObjects.length>0&&renderObjects(transparentObjects,scene,camera),null!==_currentRenderTarget&&(textures.updateMultisampleRenderTarget(_currentRenderTarget),textures.updateRenderTargetMipmap(_currentRenderTarget)),!0===scene.isScene&&scene.onAfterRender(_this,scene,camera),state.buffers.depth.setTest(!0),state.buffers.depth.setMask(!0),state.buffers.color.setMask(!0),state.setPolygonOffset(!1),bindingStates.resetDefaultState(),_currentMaterialId=-1,_currentCamera=null,renderStateStack.pop(),currentRenderState=renderStateStack.length>0?renderStateStack[renderStateStack.length-1]:null,renderListStack.pop(),currentRenderList=renderListStack.length>0?renderListStack[renderListStack.length-1]:null},this.getActiveCubeFace=function(){return _currentActiveCubeFace},this.getActiveMipmapLevel=function(){return _currentActiveMipmapLevel},this.getRenderTarget=function(){return _currentRenderTarget},this.setRenderTarget=function(renderTarget,activeCubeFace=0,activeMipmapLevel=0){_currentRenderTarget=renderTarget,_currentActiveCubeFace=activeCubeFace,_currentActiveMipmapLevel=activeMipmapLevel,renderTarget&&void 0===properties.get(renderTarget).__webglFramebuffer&&textures.setupRenderTarget(renderTarget);let framebuffer=null,isCube=!1,isRenderTarget3D=!1;if(renderTarget){const texture=renderTarget.texture;(texture.isDataTexture3D||texture.isDataTexture2DArray)&&(isRenderTarget3D=!0);const __webglFramebuffer=properties.get(renderTarget).__webglFramebuffer;renderTarget.isWebGLCubeRenderTarget?(framebuffer=__webglFramebuffer[activeCubeFace],isCube=!0):framebuffer=renderTarget.isWebGLMultisampleRenderTarget?properties.get(renderTarget).__webglMultisampledFramebuffer:__webglFramebuffer,_currentViewport.copy(renderTarget.viewport),_currentScissor.copy(renderTarget.scissor),_currentScissorTest=renderTarget.scissorTest}else _currentViewport.copy(_viewport).multiplyScalar(_pixelRatio).floor(),_currentScissor.copy(_scissor).multiplyScalar(_pixelRatio).floor(),_currentScissorTest=_scissorTest;if(state.bindFramebuffer(36160,framebuffer)&&capabilities.drawBuffers){let needsUpdate=!1;if(renderTarget)if(renderTarget.isWebGLMultipleRenderTargets){const textures=renderTarget.texture;if(_currentDrawBuffers.length!==textures.length||36064!==_currentDrawBuffers[0]){for(let i=0,il=textures.length;i=0&&x<=renderTarget.width-width&&y>=0&&y<=renderTarget.height-height&&_gl.readPixels(x,y,width,height,utils.convert(textureFormat),utils.convert(textureType),buffer):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.")}finally{const framebuffer=null!==_currentRenderTarget?properties.get(_currentRenderTarget).__webglFramebuffer:null;state.bindFramebuffer(36160,framebuffer)}}},this.copyFramebufferToTexture=function(position,texture,level=0){const levelScale=Math.pow(2,-level),width=Math.floor(texture.image.width*levelScale),height=Math.floor(texture.image.height*levelScale);let glFormat=utils.convert(texture.format);capabilities.isWebGL2&&(6407===glFormat&&(glFormat=32849),6408===glFormat&&(glFormat=32856)),textures.setTexture2D(texture,0),_gl.copyTexImage2D(3553,level,glFormat,position.x,position.y,width,height,0),state.unbindTexture()},this.copyTextureToTexture=function(position,srcTexture,dstTexture,level=0){const width=srcTexture.image.width,height=srcTexture.image.height,glFormat=utils.convert(dstTexture.format),glType=utils.convert(dstTexture.type);textures.setTexture2D(dstTexture,0),_gl.pixelStorei(37440,dstTexture.flipY),_gl.pixelStorei(37441,dstTexture.premultiplyAlpha),_gl.pixelStorei(3317,dstTexture.unpackAlignment),srcTexture.isDataTexture?_gl.texSubImage2D(3553,level,position.x,position.y,width,height,glFormat,glType,srcTexture.image.data):srcTexture.isCompressedTexture?_gl.compressedTexSubImage2D(3553,level,position.x,position.y,srcTexture.mipmaps[0].width,srcTexture.mipmaps[0].height,glFormat,srcTexture.mipmaps[0].data):_gl.texSubImage2D(3553,level,position.x,position.y,glFormat,glType,srcTexture.image),0===level&&dstTexture.generateMipmaps&&_gl.generateMipmap(3553),state.unbindTexture()},this.copyTextureToTexture3D=function(sourceBox,position,srcTexture,dstTexture,level=0){if(_this.isWebGL1Renderer)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.");const width=sourceBox.max.x-sourceBox.min.x+1,height=sourceBox.max.y-sourceBox.min.y+1,depth=sourceBox.max.z-sourceBox.min.z+1,glFormat=utils.convert(dstTexture.format),glType=utils.convert(dstTexture.type);let glTarget;if(dstTexture.isDataTexture3D)textures.setTexture3D(dstTexture,0),glTarget=32879;else{if(!dstTexture.isDataTexture2DArray)return void console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");textures.setTexture2DArray(dstTexture,0),glTarget=35866}_gl.pixelStorei(37440,dstTexture.flipY),_gl.pixelStorei(37441,dstTexture.premultiplyAlpha),_gl.pixelStorei(3317,dstTexture.unpackAlignment);const unpackRowLen=_gl.getParameter(3314),unpackImageHeight=_gl.getParameter(32878),unpackSkipPixels=_gl.getParameter(3316),unpackSkipRows=_gl.getParameter(3315),unpackSkipImages=_gl.getParameter(32877),image=srcTexture.isCompressedTexture?srcTexture.mipmaps[0]:srcTexture.image;_gl.pixelStorei(3314,image.width),_gl.pixelStorei(32878,image.height),_gl.pixelStorei(3316,sourceBox.min.x),_gl.pixelStorei(3315,sourceBox.min.y),_gl.pixelStorei(32877,sourceBox.min.z),srcTexture.isDataTexture||srcTexture.isDataTexture3D?_gl.texSubImage3D(glTarget,level,position.x,position.y,position.z,width,height,depth,glFormat,glType,image.data):srcTexture.isCompressedTexture?(console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture."),_gl.compressedTexSubImage3D(glTarget,level,position.x,position.y,position.z,width,height,depth,glFormat,image.data)):_gl.texSubImage3D(glTarget,level,position.x,position.y,position.z,width,height,depth,glFormat,glType,image),_gl.pixelStorei(3314,unpackRowLen),_gl.pixelStorei(32878,unpackImageHeight),_gl.pixelStorei(3316,unpackSkipPixels),_gl.pixelStorei(3315,unpackSkipRows),_gl.pixelStorei(32877,unpackSkipImages),0===level&&dstTexture.generateMipmaps&&_gl.generateMipmap(glTarget),state.unbindTexture()},this.initTexture=function(texture){textures.setTexture2D(texture,0),state.unbindTexture()},this.resetState=function(){_currentActiveCubeFace=0,_currentActiveMipmapLevel=0,_currentRenderTarget=null,state.reset(),bindingStates.reset()},"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}class WebGL1Renderer extends WebGLRenderer{}WebGL1Renderer.prototype.isWebGL1Renderer=!0;class FogExp2{constructor(color,density=25e-5){this.name="",this.color=new Color(color),this.density=density}clone(){return new FogExp2(this.color,this.density)}toJSON(){return{type:"FogExp2",color:this.color.getHex(),density:this.density}}}FogExp2.prototype.isFogExp2=!0;class Fog{constructor(color,near=1,far=1e3){this.name="",this.color=new Color(color),this.near=near,this.far=far}clone(){return new Fog(this.color,this.near,this.far)}toJSON(){return{type:"Fog",color:this.color.getHex(),near:this.near,far:this.far}}}Fog.prototype.isFog=!0;class Scene extends Object3D{constructor(){super(),this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.overrideMaterial=null,this.autoUpdate=!0,"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(source,recursive){return super.copy(source,recursive),null!==source.background&&(this.background=source.background.clone()),null!==source.environment&&(this.environment=source.environment.clone()),null!==source.fog&&(this.fog=source.fog.clone()),null!==source.overrideMaterial&&(this.overrideMaterial=source.overrideMaterial.clone()),this.autoUpdate=source.autoUpdate,this.matrixAutoUpdate=source.matrixAutoUpdate,this}toJSON(meta){const data=super.toJSON(meta);return null!==this.fog&&(data.object.fog=this.fog.toJSON()),data}}Scene.prototype.isScene=!0;class InterleavedBuffer{constructor(array,stride){this.array=array,this.stride=stride,this.count=void 0!==array?array.length/stride:0,this.usage=StaticDrawUsage,this.updateRange={offset:0,count:-1},this.version=0,this.uuid=generateUUID()}onUploadCallback(){}set needsUpdate(value){!0===value&&this.version++}setUsage(value){return this.usage=value,this}copy(source){return this.array=new source.array.constructor(source.array),this.count=source.count,this.stride=source.stride,this.usage=source.usage,this}copyAt(index1,attribute,index2){index1*=this.stride,index2*=attribute.stride;for(let i=0,l=this.stride;iraycaster.far||intersects.push({distance:distance,point:_intersectPoint.clone(),uv:Triangle.getUV(_intersectPoint,_vA,_vB,_vC,_uvA,_uvB,_uvC,new Vector2),face:null,object:this})}copy(source){return super.copy(source),void 0!==source.center&&this.center.copy(source.center),this.material=source.material,this}}function transformVertex(vertexPosition,mvPosition,center,scale,sin,cos){_alignedPosition.subVectors(vertexPosition,center).addScalar(.5).multiply(scale),void 0!==sin?(_rotatedPosition.x=cos*_alignedPosition.x-sin*_alignedPosition.y,_rotatedPosition.y=sin*_alignedPosition.x+cos*_alignedPosition.y):_rotatedPosition.copy(_alignedPosition),vertexPosition.copy(mvPosition),vertexPosition.x+=_rotatedPosition.x,vertexPosition.y+=_rotatedPosition.y,vertexPosition.applyMatrix4(_viewWorldMatrix)}Sprite.prototype.isSprite=!0;const _v1$2=new Vector3,_v2$1=new Vector3;class LOD extends Object3D{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(source){super.copy(source,!1);const levels=source.levels;for(let i=0,l=levels.length;i0){let i,l;for(i=1,l=levels.length;i0){_v1$2.setFromMatrixPosition(this.matrixWorld);const distance=raycaster.ray.origin.distanceTo(_v1$2);this.getObjectForDistance(distance).raycast(raycaster,intersects)}}update(camera){const levels=this.levels;if(levels.length>1){_v1$2.setFromMatrixPosition(camera.matrixWorld),_v2$1.setFromMatrixPosition(this.matrixWorld);const distance=_v1$2.distanceTo(_v2$1)/camera.zoom;let i,l;for(levels[0].object.visible=!0,i=1,l=levels.length;i=levels[i].distance;i++)levels[i-1].object.visible=!1,levels[i].object.visible=!0;for(this._currentLevel=i-1;ilocalThresholdSq)continue;interRay.applyMatrix4(this.matrixWorld);const distance=raycaster.ray.origin.distanceTo(interRay);distanceraycaster.far||intersects.push({distance:distance,point:interSegment.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}else{for(let i=Math.max(0,drawRange.start),l=Math.min(positionAttribute.count,drawRange.start+drawRange.count)-1;ilocalThresholdSq)continue;interRay.applyMatrix4(this.matrixWorld);const distance=raycaster.ray.origin.distanceTo(interRay);distanceraycaster.far||intersects.push({distance:distance,point:interSegment.clone().applyMatrix4(this.matrixWorld),index:i,face:null,faceIndex:null,object:this})}}}else geometry.isGeometry&&console.error("THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.")}updateMorphTargets(){const geometry=this.geometry;if(geometry.isBufferGeometry){const morphAttributes=geometry.morphAttributes,keys=Object.keys(morphAttributes);if(keys.length>0){const morphAttribute=morphAttributes[keys[0]];if(void 0!==morphAttribute){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let m=0,ml=morphAttribute.length;m0&&console.error("THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}Line.prototype.isLine=!0;const _start=new Vector3,_end=new Vector3;class LineSegments extends Line{constructor(geometry,material){super(geometry,material),this.type="LineSegments"}computeLineDistances(){const geometry=this.geometry;if(geometry.isBufferGeometry)if(null===geometry.index){const positionAttribute=geometry.attributes.position,lineDistances=[];for(let i=0,l=positionAttribute.count;i0){const morphAttribute=morphAttributes[keys[0]];if(void 0!==morphAttribute){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let m=0,ml=morphAttribute.length;m0&&console.error("THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.")}}}function testPoint(point,index,localThresholdSq,matrixWorld,raycaster,intersects,object){const rayPointDistanceSq=_ray.distanceSqToPoint(point);if(rayPointDistanceSqraycaster.far)return;intersects.push({distance:distance,distanceToRay:Math.sqrt(rayPointDistanceSq),point:intersectPoint,index:index,face:null,object:object})}}Points.prototype.isPoints=!0;class VideoTexture extends Texture{constructor(video,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy){super(video,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy),this.format=void 0!==format?format:RGBFormat,this.minFilter=void 0!==minFilter?minFilter:LinearFilter,this.magFilter=void 0!==magFilter?magFilter:LinearFilter,this.generateMipmaps=!1;const scope=this;"requestVideoFrameCallback"in video&&video.requestVideoFrameCallback((function updateVideo(){scope.needsUpdate=!0,video.requestVideoFrameCallback(updateVideo)}))}clone(){return new this.constructor(this.image).copy(this)}update(){const video=this.image;!1==="requestVideoFrameCallback"in video&&video.readyState>=video.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}VideoTexture.prototype.isVideoTexture=!0;class CompressedTexture extends Texture{constructor(mipmaps,width,height,format,type,mapping,wrapS,wrapT,magFilter,minFilter,anisotropy,encoding){super(null,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy,encoding),this.image={width:width,height:height},this.mipmaps=mipmaps,this.flipY=!1,this.generateMipmaps=!1}}CompressedTexture.prototype.isCompressedTexture=!0;class CanvasTexture extends Texture{constructor(canvas,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy){super(canvas,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy),this.needsUpdate=!0}}CanvasTexture.prototype.isCanvasTexture=!0;class DepthTexture extends Texture{constructor(width,height,type,mapping,wrapS,wrapT,magFilter,minFilter,anisotropy,format){if((format=void 0!==format?format:DepthFormat)!==DepthFormat&&format!==DepthStencilFormat)throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===type&&format===DepthFormat&&(type=UnsignedShortType),void 0===type&&format===DepthStencilFormat&&(type=UnsignedInt248Type),super(null,mapping,wrapS,wrapT,magFilter,minFilter,format,type,anisotropy),this.image={width:width,height:height},this.magFilter=void 0!==magFilter?magFilter:NearestFilter,this.minFilter=void 0!==minFilter?minFilter:NearestFilter,this.flipY=!1,this.generateMipmaps=!1}}DepthTexture.prototype.isDepthTexture=!0;class CircleGeometry extends BufferGeometry{constructor(radius=1,segments=8,thetaStart=0,thetaLength=2*Math.PI){super(),this.type="CircleGeometry",this.parameters={radius:radius,segments:segments,thetaStart:thetaStart,thetaLength:thetaLength},segments=Math.max(3,segments);const indices=[],vertices=[],normals=[],uvs=[],vertex=new Vector3,uv=new Vector2;vertices.push(0,0,0),normals.push(0,0,1),uvs.push(.5,.5);for(let s=0,i=3;s<=segments;s++,i+=3){const segment=thetaStart+s/segments*thetaLength;vertex.x=radius*Math.cos(segment),vertex.y=radius*Math.sin(segment),vertices.push(vertex.x,vertex.y,vertex.z),normals.push(0,0,1),uv.x=(vertices[i]/radius+1)/2,uv.y=(vertices[i+1]/radius+1)/2,uvs.push(uv.x,uv.y)}for(let i=1;i<=segments;i++)indices.push(i,i+1,0);this.setIndex(indices),this.setAttribute("position",new Float32BufferAttribute(vertices,3)),this.setAttribute("normal",new Float32BufferAttribute(normals,3)),this.setAttribute("uv",new Float32BufferAttribute(uvs,2))}static fromJSON(data){return new CircleGeometry(data.radius,data.segments,data.thetaStart,data.thetaLength)}}class CylinderGeometry extends BufferGeometry{constructor(radiusTop=1,radiusBottom=1,height=1,radialSegments=8,heightSegments=1,openEnded=!1,thetaStart=0,thetaLength=2*Math.PI){super(),this.type="CylinderGeometry",this.parameters={radiusTop:radiusTop,radiusBottom:radiusBottom,height:height,radialSegments:radialSegments,heightSegments:heightSegments,openEnded:openEnded,thetaStart:thetaStart,thetaLength:thetaLength};const scope=this;radialSegments=Math.floor(radialSegments),heightSegments=Math.floor(heightSegments);const indices=[],vertices=[],normals=[],uvs=[];let index=0;const indexArray=[],halfHeight=height/2;let groupStart=0;function generateCap(top){const centerIndexStart=index,uv=new Vector2,vertex=new Vector3;let groupCount=0;const radius=!0===top?radiusTop:radiusBottom,sign=!0===top?1:-1;for(let x=1;x<=radialSegments;x++)vertices.push(0,halfHeight*sign,0),normals.push(0,sign,0),uvs.push(.5,.5),index++;const centerIndexEnd=index;for(let x=0;x<=radialSegments;x++){const theta=x/radialSegments*thetaLength+thetaStart,cosTheta=Math.cos(theta),sinTheta=Math.sin(theta);vertex.x=radius*sinTheta,vertex.y=halfHeight*sign,vertex.z=radius*cosTheta,vertices.push(vertex.x,vertex.y,vertex.z),normals.push(0,sign,0),uv.x=.5*cosTheta+.5,uv.y=.5*sinTheta*sign+.5,uvs.push(uv.x,uv.y),index++}for(let x=0;x0&&generateCap(!0),radiusBottom>0&&generateCap(!1)),this.setIndex(indices),this.setAttribute("position",new Float32BufferAttribute(vertices,3)),this.setAttribute("normal",new Float32BufferAttribute(normals,3)),this.setAttribute("uv",new Float32BufferAttribute(uvs,2))}static fromJSON(data){return new CylinderGeometry(data.radiusTop,data.radiusBottom,data.height,data.radialSegments,data.heightSegments,data.openEnded,data.thetaStart,data.thetaLength)}}class ConeGeometry extends CylinderGeometry{constructor(radius=1,height=1,radialSegments=8,heightSegments=1,openEnded=!1,thetaStart=0,thetaLength=2*Math.PI){super(0,radius,height,radialSegments,heightSegments,openEnded,thetaStart,thetaLength),this.type="ConeGeometry",this.parameters={radius:radius,height:height,radialSegments:radialSegments,heightSegments:heightSegments,openEnded:openEnded,thetaStart:thetaStart,thetaLength:thetaLength}}static fromJSON(data){return new ConeGeometry(data.radius,data.height,data.radialSegments,data.heightSegments,data.openEnded,data.thetaStart,data.thetaLength)}}class PolyhedronGeometry extends BufferGeometry{constructor(vertices,indices,radius=1,detail=0){super(),this.type="PolyhedronGeometry",this.parameters={vertices:vertices,indices:indices,radius:radius,detail:detail};const vertexBuffer=[],uvBuffer=[];function subdivideFace(a,b,c,detail){const cols=detail+1,v=[];for(let i=0;i<=cols;i++){v[i]=[];const aj=a.clone().lerp(c,i/cols),bj=b.clone().lerp(c,i/cols),rows=cols-i;for(let j=0;j<=rows;j++)v[i][j]=0===j&&i===cols?aj:aj.clone().lerp(bj,j/rows)}for(let i=0;i.9&&min<.1&&(x0<.2&&(uvBuffer[i+0]+=1),x1<.2&&(uvBuffer[i+2]+=1),x2<.2&&(uvBuffer[i+4]+=1))}}()}(),this.setAttribute("position",new Float32BufferAttribute(vertexBuffer,3)),this.setAttribute("normal",new Float32BufferAttribute(vertexBuffer.slice(),3)),this.setAttribute("uv",new Float32BufferAttribute(uvBuffer,2)),0===detail?this.computeVertexNormals():this.normalizeNormals()}static fromJSON(data){return new PolyhedronGeometry(data.vertices,data.indices,data.radius,data.details)}}class DodecahedronGeometry extends PolyhedronGeometry{constructor(radius=1,detail=0){const t=(1+Math.sqrt(5))/2,r=1/t;super([-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-r,-t,0,-r,t,0,r,-t,0,r,t,-r,-t,0,-r,t,0,r,-t,0,r,t,0,-t,0,-r,t,0,-r,-t,0,r,t,0,r],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],radius,detail),this.type="DodecahedronGeometry",this.parameters={radius:radius,detail:detail}}static fromJSON(data){return new DodecahedronGeometry(data.radius,data.detail)}}const _v0=new Vector3,_v1$1=new Vector3,_normal=new Vector3,_triangle=new Triangle;class EdgesGeometry extends BufferGeometry{constructor(geometry,thresholdAngle){if(super(),this.type="EdgesGeometry",this.parameters={thresholdAngle:thresholdAngle},thresholdAngle=void 0!==thresholdAngle?thresholdAngle:1,!0===geometry.isGeometry)return void console.error("THREE.EdgesGeometry no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.");const precision=Math.pow(10,4),thresholdDot=Math.cos(DEG2RAD*thresholdAngle),indexAttr=geometry.getIndex(),positionAttr=geometry.getAttribute("position"),indexCount=indexAttr?indexAttr.count:positionAttr.count,indexArr=[0,0,0],vertKeys=["a","b","c"],hashes=new Array(3),edgeData={},vertices=[];for(let i=0;i0)){high=i;break}high=i-1}if(i=high,arcLengths[i]===targetArcLength)return i/(il-1);const lengthBefore=arcLengths[i];return(i+(targetArcLength-lengthBefore)/(arcLengths[i+1]-lengthBefore))/(il-1)}getTangent(t,optionalTarget){let t1=t-1e-4,t2=t+1e-4;t1<0&&(t1=0),t2>1&&(t2=1);const pt1=this.getPoint(t1),pt2=this.getPoint(t2),tangent=optionalTarget||(pt1.isVector2?new Vector2:new Vector3);return tangent.copy(pt2).sub(pt1).normalize(),tangent}getTangentAt(u,optionalTarget){const t=this.getUtoTmapping(u);return this.getTangent(t,optionalTarget)}computeFrenetFrames(segments,closed){const normal=new Vector3,tangents=[],normals=[],binormals=[],vec=new Vector3,mat=new Matrix4;for(let i=0;i<=segments;i++){const u=i/segments;tangents[i]=this.getTangentAt(u,new Vector3),tangents[i].normalize()}normals[0]=new Vector3,binormals[0]=new Vector3;let min=Number.MAX_VALUE;const tx=Math.abs(tangents[0].x),ty=Math.abs(tangents[0].y),tz=Math.abs(tangents[0].z);tx<=min&&(min=tx,normal.set(1,0,0)),ty<=min&&(min=ty,normal.set(0,1,0)),tz<=min&&normal.set(0,0,1),vec.crossVectors(tangents[0],normal).normalize(),normals[0].crossVectors(tangents[0],vec),binormals[0].crossVectors(tangents[0],normals[0]);for(let i=1;i<=segments;i++){if(normals[i]=normals[i-1].clone(),binormals[i]=binormals[i-1].clone(),vec.crossVectors(tangents[i-1],tangents[i]),vec.length()>Number.EPSILON){vec.normalize();const theta=Math.acos(clamp(tangents[i-1].dot(tangents[i]),-1,1));normals[i].applyMatrix4(mat.makeRotationAxis(vec,theta))}binormals[i].crossVectors(tangents[i],normals[i])}if(!0===closed){let theta=Math.acos(clamp(normals[0].dot(normals[segments]),-1,1));theta/=segments,tangents[0].dot(vec.crossVectors(normals[0],normals[segments]))>0&&(theta=-theta);for(let i=1;i<=segments;i++)normals[i].applyMatrix4(mat.makeRotationAxis(tangents[i],theta*i)),binormals[i].crossVectors(tangents[i],normals[i])}return{tangents:tangents,normals:normals,binormals:binormals}}clone(){return(new this.constructor).copy(this)}copy(source){return this.arcLengthDivisions=source.arcLengthDivisions,this}toJSON(){const data={metadata:{version:4.5,type:"Curve",generator:"Curve.toJSON"}};return data.arcLengthDivisions=this.arcLengthDivisions,data.type=this.type,data}fromJSON(json){return this.arcLengthDivisions=json.arcLengthDivisions,this}}class EllipseCurve extends Curve{constructor(aX=0,aY=0,xRadius=1,yRadius=1,aStartAngle=0,aEndAngle=2*Math.PI,aClockwise=!1,aRotation=0){super(),this.type="EllipseCurve",this.aX=aX,this.aY=aY,this.xRadius=xRadius,this.yRadius=yRadius,this.aStartAngle=aStartAngle,this.aEndAngle=aEndAngle,this.aClockwise=aClockwise,this.aRotation=aRotation}getPoint(t,optionalTarget){const point=optionalTarget||new Vector2,twoPi=2*Math.PI;let deltaAngle=this.aEndAngle-this.aStartAngle;const samePoints=Math.abs(deltaAngle)twoPi;)deltaAngle-=twoPi;deltaAngle0?0:(Math.floor(Math.abs(intPoint)/l)+1)*l:0===weight&&intPoint===l-1&&(intPoint=l-2,weight=1),this.closed||intPoint>0?p0=points[(intPoint-1)%l]:(tmp.subVectors(points[0],points[1]).add(points[0]),p0=tmp);const p1=points[intPoint%l],p2=points[(intPoint+1)%l];if(this.closed||intPoint+2points.length-2?points.length-1:intPoint+1],p3=points[intPoint>points.length-3?points.length-1:intPoint+2];return point.set(CatmullRom(weight,p0.x,p1.x,p2.x,p3.x),CatmullRom(weight,p0.y,p1.y,p2.y,p3.y)),point}copy(source){super.copy(source),this.points=[];for(let i=0,l=source.points.length;i80*dim){minX=maxX=data[0],minY=maxY=data[1];for(let i=dim;imaxX&&(maxX=x),y>maxY&&(maxY=y);invSize=Math.max(maxX-minX,maxY-minY),invSize=0!==invSize?1/invSize:0}return earcutLinked(outerNode,triangles,dim,minX,minY,invSize),triangles};function linkedList(data,start,end,dim,clockwise){let i,last;if(clockwise===function signedArea(data,start,end,dim){let sum=0;for(let i=start,j=end-dim;i0)for(i=start;i=start;i-=dim)last=insertNode(i,data[i],data[i+1],last);return last&&equals(last,last.next)&&(removeNode(last),last=last.next),last}function filterPoints(start,end){if(!start)return start;end||(end=start);let again,p=start;do{if(again=!1,p.steiner||!equals(p,p.next)&&0!==area(p.prev,p,p.next))p=p.next;else{if(removeNode(p),p=end=p.prev,p===p.next)break;again=!0}}while(again||p!==end);return end}function earcutLinked(ear,triangles,dim,minX,minY,invSize,pass){if(!ear)return;!pass&&invSize&&function indexCurve(start,minX,minY,invSize){let p=start;do{null===p.z&&(p.z=zOrder(p.x,p.y,minX,minY,invSize)),p.prevZ=p.prev,p.nextZ=p.next,p=p.next}while(p!==start);p.prevZ.nextZ=null,p.prevZ=null,function sortLinked(list){let i,p,q,e,tail,numMerges,pSize,qSize,inSize=1;do{for(p=list,list=null,tail=null,numMerges=0;p;){for(numMerges++,q=p,pSize=0,i=0;i0||qSize>0&&q;)0!==pSize&&(0===qSize||!q||p.z<=q.z)?(e=p,p=p.nextZ,pSize--):(e=q,q=q.nextZ,qSize--),tail?tail.nextZ=e:list=e,e.prevZ=tail,tail=e;p=q}tail.nextZ=null,inSize*=2}while(numMerges>1);return list}(p)}(ear,minX,minY,invSize);let prev,next,stop=ear;for(;ear.prev!==ear.next;)if(prev=ear.prev,next=ear.next,invSize?isEarHashed(ear,minX,minY,invSize):isEar(ear))triangles.push(prev.i/dim),triangles.push(ear.i/dim),triangles.push(next.i/dim),removeNode(ear),ear=next.next,stop=next.next;else if((ear=next)===stop){pass?1===pass?earcutLinked(ear=cureLocalIntersections(filterPoints(ear),triangles,dim),triangles,dim,minX,minY,invSize,2):2===pass&&splitEarcut(ear,triangles,dim,minX,minY,invSize):earcutLinked(filterPoints(ear),triangles,dim,minX,minY,invSize,1);break}}function isEar(ear){const a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0)return!1;let p=ear.next.next;for(;p!==ear.prev;){if(pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function isEarHashed(ear,minX,minY,invSize){const a=ear.prev,b=ear,c=ear.next;if(area(a,b,c)>=0)return!1;const minTX=a.xb.x?a.x>c.x?a.x:c.x:b.x>c.x?b.x:c.x,maxTY=a.y>b.y?a.y>c.y?a.y:c.y:b.y>c.y?b.y:c.y,minZ=zOrder(minTX,minTY,minX,minY,invSize),maxZ=zOrder(maxTX,maxTY,minX,minY,invSize);let p=ear.prevZ,n=ear.nextZ;for(;p&&p.z>=minZ&&n&&n.z<=maxZ;){if(p!==ear.prev&&p!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,n!==ear.prev&&n!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,n.x,n.y)&&area(n.prev,n,n.next)>=0)return!1;n=n.nextZ}for(;p&&p.z>=minZ;){if(p!==ear.prev&&p!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,p.x,p.y)&&area(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;n&&n.z<=maxZ;){if(n!==ear.prev&&n!==ear.next&&pointInTriangle(a.x,a.y,b.x,b.y,c.x,c.y,n.x,n.y)&&area(n.prev,n,n.next)>=0)return!1;n=n.nextZ}return!0}function cureLocalIntersections(start,triangles,dim){let p=start;do{const a=p.prev,b=p.next.next;!equals(a,b)&&intersects(a,p,p.next,b)&&locallyInside(a,b)&&locallyInside(b,a)&&(triangles.push(a.i/dim),triangles.push(p.i/dim),triangles.push(b.i/dim),removeNode(p),removeNode(p.next),p=start=b),p=p.next}while(p!==start);return filterPoints(p)}function splitEarcut(start,triangles,dim,minX,minY,invSize){let a=start;do{let b=a.next.next;for(;b!==a.prev;){if(a.i!==b.i&&isValidDiagonal(a,b)){let c=splitPolygon(a,b);return a=filterPoints(a,a.next),c=filterPoints(c,c.next),earcutLinked(a,triangles,dim,minX,minY,invSize),void earcutLinked(c,triangles,dim,minX,minY,invSize)}b=b.next}a=a.next}while(a!==start)}function compareX(a,b){return a.x-b.x}function eliminateHole(hole,outerNode){if(outerNode=function findHoleBridge(hole,outerNode){let p=outerNode;const hx=hole.x,hy=hole.y;let m,qx=-1/0;do{if(hy<=p.y&&hy>=p.next.y&&p.next.y!==p.y){const x=p.x+(hy-p.y)*(p.next.x-p.x)/(p.next.y-p.y);if(x<=hx&&x>qx){if(qx=x,x===hx){if(hy===p.y)return p;if(hy===p.next.y)return p.next}m=p.x=p.x&&p.x>=mx&&hx!==p.x&&pointInTriangle(hym.x||p.x===m.x&§orContainsSector(m,p)))&&(m=p,tanMin=tan)),p=p.next}while(p!==stop);return m}(hole,outerNode)){const b=splitPolygon(outerNode,hole);filterPoints(outerNode,outerNode.next),filterPoints(b,b.next)}}function sectorContainsSector(m,p){return area(m.prev,m,p.prev)<0&&area(p.next,m,m.next)<0}function zOrder(x,y,minX,minY,invSize){return(x=1431655765&((x=858993459&((x=252645135&((x=16711935&((x=32767*(x-minX)*invSize)|x<<8))|x<<4))|x<<2))|x<<1))|(y=1431655765&((y=858993459&((y=252645135&((y=16711935&((y=32767*(y-minY)*invSize)|y<<8))|y<<4))|y<<2))|y<<1))<<1}function getLeftmost(start){let p=start,leftmost=start;do{(p.x=0&&(ax-px)*(by-py)-(bx-px)*(ay-py)>=0&&(bx-px)*(cy-py)-(cx-px)*(by-py)>=0}function isValidDiagonal(a,b){return a.next.i!==b.i&&a.prev.i!==b.i&&!function intersectsPolygon(a,b){let p=a;do{if(p.i!==a.i&&p.next.i!==a.i&&p.i!==b.i&&p.next.i!==b.i&&intersects(p,p.next,a,b))return!0;p=p.next}while(p!==a);return!1}(a,b)&&(locallyInside(a,b)&&locallyInside(b,a)&&function middleInside(a,b){let p=a,inside=!1;const px=(a.x+b.x)/2,py=(a.y+b.y)/2;do{p.y>py!=p.next.y>py&&p.next.y!==p.y&&px<(p.next.x-p.x)*(py-p.y)/(p.next.y-p.y)+p.x&&(inside=!inside),p=p.next}while(p!==a);return inside}(a,b)&&(area(a.prev,a,b.prev)||area(a,b.prev,b))||equals(a,b)&&area(a.prev,a,a.next)>0&&area(b.prev,b,b.next)>0)}function area(p,q,r){return(q.y-p.y)*(r.x-q.x)-(q.x-p.x)*(r.y-q.y)}function equals(p1,p2){return p1.x===p2.x&&p1.y===p2.y}function intersects(p1,q1,p2,q2){const o1=sign(area(p1,q1,p2)),o2=sign(area(p1,q1,q2)),o3=sign(area(p2,q2,p1)),o4=sign(area(p2,q2,q1));return o1!==o2&&o3!==o4||(!(0!==o1||!onSegment(p1,p2,q1))||(!(0!==o2||!onSegment(p1,q2,q1))||(!(0!==o3||!onSegment(p2,p1,q2))||!(0!==o4||!onSegment(p2,q1,q2)))))}function onSegment(p,q,r){return q.x<=Math.max(p.x,r.x)&&q.x>=Math.min(p.x,r.x)&&q.y<=Math.max(p.y,r.y)&&q.y>=Math.min(p.y,r.y)}function sign(num){return num>0?1:num<0?-1:0}function locallyInside(a,b){return area(a.prev,a,a.next)<0?area(a,b,a.next)>=0&&area(a,a.prev,b)>=0:area(a,b,a.prev)<0||area(a,a.next,b)<0}function splitPolygon(a,b){const a2=new Node(a.i,a.x,a.y),b2=new Node(b.i,b.x,b.y),an=a.next,bp=b.prev;return a.next=b,b.prev=a,a2.next=an,an.prev=a2,b2.next=a2,a2.prev=b2,bp.next=b2,b2.prev=bp,b2}function insertNode(i,x,y,last){const p=new Node(i,x,y);return last?(p.next=last.next,p.prev=last,last.next.prev=p,last.next=p):(p.prev=p,p.next=p),p}function removeNode(p){p.next.prev=p.prev,p.prev.next=p.next,p.prevZ&&(p.prevZ.nextZ=p.nextZ),p.nextZ&&(p.nextZ.prevZ=p.prevZ)}function Node(i,x,y){this.i=i,this.x=x,this.y=y,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}class ShapeUtils{static area(contour){const n=contour.length;let a=0;for(let p=n-1,q=0;q2&&points[l-1].equals(points[0])&&points.pop()}function addContour(vertices,contour){for(let i=0;iNumber.EPSILON){const v_prev_len=Math.sqrt(v_prev_lensq),v_next_len=Math.sqrt(v_next_x*v_next_x+v_next_y*v_next_y),ptPrevShift_x=inPrev.x-v_prev_y/v_prev_len,ptPrevShift_y=inPrev.y+v_prev_x/v_prev_len,sf=((inNext.x-v_next_y/v_next_len-ptPrevShift_x)*v_next_y-(inNext.y+v_next_x/v_next_len-ptPrevShift_y)*v_next_x)/(v_prev_x*v_next_y-v_prev_y*v_next_x);v_trans_x=ptPrevShift_x+v_prev_x*sf-inPt.x,v_trans_y=ptPrevShift_y+v_prev_y*sf-inPt.y;const v_trans_lensq=v_trans_x*v_trans_x+v_trans_y*v_trans_y;if(v_trans_lensq<=2)return new Vector2(v_trans_x,v_trans_y);shrink_by=Math.sqrt(v_trans_lensq/2)}else{let direction_eq=!1;v_prev_x>Number.EPSILON?v_next_x>Number.EPSILON&&(direction_eq=!0):v_prev_x<-Number.EPSILON?v_next_x<-Number.EPSILON&&(direction_eq=!0):Math.sign(v_prev_y)===Math.sign(v_next_y)&&(direction_eq=!0),direction_eq?(v_trans_x=-v_prev_y,v_trans_y=v_prev_x,shrink_by=Math.sqrt(v_prev_lensq)):(v_trans_x=v_prev_x,v_trans_y=v_prev_y,shrink_by=Math.sqrt(v_prev_lensq/2))}return new Vector2(v_trans_x/shrink_by,v_trans_y/shrink_by)}const contourMovements=[];for(let i=0,il=contour.length,j=il-1,k=i+1;i=0;b--){const t=b/bevelSegments,z=bevelThickness*Math.cos(t*Math.PI/2),bs=bevelSize*Math.sin(t*Math.PI/2)+bevelOffset;for(let i=0,il=contour.length;i=0;){const j=i;let k=i-1;k<0&&(k=contour.length-1);for(let s=0,sl=steps+2*bevelSegments;s=0?(func(u-EPS,v,p1),pu.subVectors(p0,p1)):(func(u+EPS,v,p1),pu.subVectors(p1,p0)),v-EPS>=0?(func(u,v-EPS,p1),pv.subVectors(p0,p1)):(func(u,v+EPS,p1),pv.subVectors(p1,p0)),normal.crossVectors(pu,pv).normalize(),normals.push(normal.x,normal.y,normal.z),uvs.push(u,v)}}for(let i=0;i0)&&indices.push(a,b,d),(iy!==heightSegments-1||thetaEnd=endFrame)){times.push(track.times[j]);for(let k=0;kclip.tracks[i].times[0]&&(minStartTime=clip.tracks[i].times[0]);for(let i=0;i=referenceTrack.times[lastIndex]){const startIndex=lastIndex*referenceValueSize+referenceOffset,endIndex=startIndex+referenceValueSize-referenceOffset;referenceValue=AnimationUtils.arraySlice(referenceTrack.values,startIndex,endIndex)}else{const interpolant=referenceTrack.createInterpolant(),startIndex=referenceOffset,endIndex=referenceValueSize-referenceOffset;interpolant.evaluate(referenceTime),referenceValue=AnimationUtils.arraySlice(interpolant.resultBuffer,startIndex,endIndex)}if("quaternion"===referenceTrackType){(new Quaternion).fromArray(referenceValue).normalize().conjugate().toArray(referenceValue)}const numTimes=targetTrack.times.length;for(let j=0;j=t0)break validate_interval;{const t1global=pp[1];t=t0)break seek}right=i1,i1=0}}for(;i1>>1;tendTime;)--to;if(++to,0!==from||to!==nKeys){from>=to&&(to=Math.max(to,1),from=to-1);const stride=this.getValueSize();this.times=AnimationUtils.arraySlice(times,from,to),this.values=AnimationUtils.arraySlice(this.values,from*stride,to*stride)}return this}validate(){let valid=!0;const valueSize=this.getValueSize();valueSize-Math.floor(valueSize)!=0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),valid=!1);const times=this.times,values=this.values,nKeys=times.length;0===nKeys&&(console.error("THREE.KeyframeTrack: Track is empty.",this),valid=!1);let prevTime=null;for(let i=0;i!==nKeys;i++){const currTime=times[i];if("number"==typeof currTime&&isNaN(currTime)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,i,currTime),valid=!1;break}if(null!==prevTime&&prevTime>currTime){console.error("THREE.KeyframeTrack: Out of order keys.",this,i,currTime,prevTime),valid=!1;break}prevTime=currTime}if(void 0!==values&&AnimationUtils.isTypedArray(values))for(let i=0,n=values.length;i!==n;++i){const value=values[i];if(isNaN(value)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,i,value),valid=!1;break}}return valid}optimize(){const times=AnimationUtils.arraySlice(this.times),values=AnimationUtils.arraySlice(this.values),stride=this.getValueSize(),smoothInterpolation=this.getInterpolation()===InterpolateSmooth,lastIndex=times.length-1;let writeIndex=1;for(let i=1;i0){times[writeIndex]=times[lastIndex];for(let readOffset=lastIndex*stride,writeOffset=writeIndex*stride,j=0;j!==stride;++j)values[writeOffset+j]=values[readOffset+j];++writeIndex}return writeIndex!==times.length?(this.times=AnimationUtils.arraySlice(times,0,writeIndex),this.values=AnimationUtils.arraySlice(values,0,writeIndex*stride)):(this.times=times,this.values=values),this}clone(){const times=AnimationUtils.arraySlice(this.times,0),values=AnimationUtils.arraySlice(this.values,0),track=new(0,this.constructor)(this.name,times,values);return track.createInterpolant=this.createInterpolant,track}}KeyframeTrack.prototype.TimeBufferType=Float32Array,KeyframeTrack.prototype.ValueBufferType=Float32Array,KeyframeTrack.prototype.DefaultInterpolation=InterpolateLinear;class BooleanKeyframeTrack extends KeyframeTrack{}BooleanKeyframeTrack.prototype.ValueTypeName="bool",BooleanKeyframeTrack.prototype.ValueBufferType=Array,BooleanKeyframeTrack.prototype.DefaultInterpolation=InterpolateDiscrete,BooleanKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0,BooleanKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class ColorKeyframeTrack extends KeyframeTrack{}ColorKeyframeTrack.prototype.ValueTypeName="color";class NumberKeyframeTrack extends KeyframeTrack{}NumberKeyframeTrack.prototype.ValueTypeName="number";class QuaternionLinearInterpolant extends Interpolant{constructor(parameterPositions,sampleValues,sampleSize,resultBuffer){super(parameterPositions,sampleValues,sampleSize,resultBuffer)}interpolate_(i1,t0,t,t1){const result=this.resultBuffer,values=this.sampleValues,stride=this.valueSize,alpha=(t-t0)/(t1-t0);let offset=i1*stride;for(let end=offset+stride;offset!==end;offset+=4)Quaternion.slerpFlat(result,0,values,offset-stride,values,offset,alpha);return result}}class QuaternionKeyframeTrack extends KeyframeTrack{InterpolantFactoryMethodLinear(result){return new QuaternionLinearInterpolant(this.times,this.values,this.getValueSize(),result)}}QuaternionKeyframeTrack.prototype.ValueTypeName="quaternion",QuaternionKeyframeTrack.prototype.DefaultInterpolation=InterpolateLinear,QuaternionKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class StringKeyframeTrack extends KeyframeTrack{}StringKeyframeTrack.prototype.ValueTypeName="string",StringKeyframeTrack.prototype.ValueBufferType=Array,StringKeyframeTrack.prototype.DefaultInterpolation=InterpolateDiscrete,StringKeyframeTrack.prototype.InterpolantFactoryMethodLinear=void 0,StringKeyframeTrack.prototype.InterpolantFactoryMethodSmooth=void 0;class VectorKeyframeTrack extends KeyframeTrack{}VectorKeyframeTrack.prototype.ValueTypeName="vector";class AnimationClip{constructor(name,duration=-1,tracks,blendMode=NormalAnimationBlendMode){this.name=name,this.tracks=tracks,this.duration=duration,this.blendMode=blendMode,this.uuid=generateUUID(),this.duration<0&&this.resetDuration()}static parse(json){const tracks=[],jsonTracks=json.tracks,frameTime=1/(json.fps||1);for(let i=0,n=jsonTracks.length;i!==n;++i)tracks.push(parseKeyframeTrack(jsonTracks[i]).scale(frameTime));const clip=new this(json.name,json.duration,tracks,json.blendMode);return clip.uuid=json.uuid,clip}static toJSON(clip){const tracks=[],clipTracks=clip.tracks,json={name:clip.name,duration:clip.duration,tracks:tracks,uuid:clip.uuid,blendMode:clip.blendMode};for(let i=0,n=clipTracks.length;i!==n;++i)tracks.push(KeyframeTrack.toJSON(clipTracks[i]));return json}static CreateFromMorphTargetSequence(name,morphTargetSequence,fps,noLoop){const numMorphTargets=morphTargetSequence.length,tracks=[];for(let i=0;i1){const name=parts[1];let animationMorphTargets=animationToMorphTargets[name];animationMorphTargets||(animationToMorphTargets[name]=animationMorphTargets=[]),animationMorphTargets.push(morphTarget)}}const clips=[];for(const name in animationToMorphTargets)clips.push(this.CreateFromMorphTargetSequence(name,animationToMorphTargets[name],fps,noLoop));return clips}static parseAnimation(animation,bones){if(!animation)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const addNonemptyTrack=function(trackType,trackName,animationKeys,propertyName,destTracks){if(0!==animationKeys.length){const times=[],values=[];AnimationUtils.flattenJSON(animationKeys,times,values,propertyName),0!==times.length&&destTracks.push(new trackType(trackName,times,values))}},tracks=[],clipName=animation.name||"default",fps=animation.fps||30,blendMode=animation.blendMode;let duration=animation.length||-1;const hierarchyTracks=animation.hierarchy||[];for(let h=0;h0||0===url.search(/^data\:image\/jpeg/);texture.format=isJPEG?RGBFormat:RGBAFormat,texture.needsUpdate=!0,void 0!==onLoad&&onLoad(texture)}),onProgress,onError),texture}}class CurvePath extends Curve{constructor(){super(),this.type="CurvePath",this.curves=[],this.autoClose=!1}add(curve){this.curves.push(curve)}closePath(){const startPoint=this.curves[0].getPoint(0),endPoint=this.curves[this.curves.length-1].getPoint(1);startPoint.equals(endPoint)||this.curves.push(new LineCurve(endPoint,startPoint))}getPoint(t){const d=t*this.getLength(),curveLengths=this.getCurveLengths();let i=0;for(;i=d){const diff=curveLengths[i]-d,curve=this.curves[i],segmentLength=curve.getLength(),u=0===segmentLength?0:1-diff/segmentLength;return curve.getPointAt(u)}i++}return null}getLength(){const lens=this.getCurveLengths();return lens[lens.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const lengths=[];let sums=0;for(let i=0,l=this.curves.length;i1&&!points[points.length-1].equals(points[0])&&points.push(points[0]),points}copy(source){super.copy(source),this.curves=[];for(let i=0,l=source.curves.length;i0){const firstPoint=curve.getPoint(0);firstPoint.equals(this.currentPoint)||this.lineTo(firstPoint.x,firstPoint.y)}this.curves.push(curve);const lastPoint=curve.getPoint(1);return this.currentPoint.copy(lastPoint),this}copy(source){return super.copy(source),this.currentPoint.copy(source.currentPoint),this}toJSON(){const data=super.toJSON();return data.currentPoint=this.currentPoint.toArray(),data}fromJSON(json){return super.fromJSON(json),this.currentPoint.fromArray(json.currentPoint),this}}class Shape extends Path{constructor(points){super(points),this.uuid=generateUUID(),this.type="Shape",this.holes=[]}getPointsHoles(divisions){const holesPts=[];for(let i=0,l=this.holes.length;i0:material.vertexColors=json.vertexColors),void 0!==json.uniforms)for(const name in json.uniforms){const uniform=json.uniforms[name];switch(material.uniforms[name]={},uniform.type){case"t":material.uniforms[name].value=getTexture(uniform.value);break;case"c":material.uniforms[name].value=(new Color).setHex(uniform.value);break;case"v2":material.uniforms[name].value=(new Vector2).fromArray(uniform.value);break;case"v3":material.uniforms[name].value=(new Vector3).fromArray(uniform.value);break;case"v4":material.uniforms[name].value=(new Vector4).fromArray(uniform.value);break;case"m3":material.uniforms[name].value=(new Matrix3).fromArray(uniform.value);break;case"m4":material.uniforms[name].value=(new Matrix4).fromArray(uniform.value);break;default:material.uniforms[name].value=uniform.value}}if(void 0!==json.defines&&(material.defines=json.defines),void 0!==json.vertexShader&&(material.vertexShader=json.vertexShader),void 0!==json.fragmentShader&&(material.fragmentShader=json.fragmentShader),void 0!==json.extensions)for(const key in json.extensions)material.extensions[key]=json.extensions[key];if(void 0!==json.shading&&(material.flatShading=1===json.shading),void 0!==json.size&&(material.size=json.size),void 0!==json.sizeAttenuation&&(material.sizeAttenuation=json.sizeAttenuation),void 0!==json.map&&(material.map=getTexture(json.map)),void 0!==json.matcap&&(material.matcap=getTexture(json.matcap)),void 0!==json.alphaMap&&(material.alphaMap=getTexture(json.alphaMap)),void 0!==json.bumpMap&&(material.bumpMap=getTexture(json.bumpMap)),void 0!==json.bumpScale&&(material.bumpScale=json.bumpScale),void 0!==json.normalMap&&(material.normalMap=getTexture(json.normalMap)),void 0!==json.normalMapType&&(material.normalMapType=json.normalMapType),void 0!==json.normalScale){let normalScale=json.normalScale;!1===Array.isArray(normalScale)&&(normalScale=[normalScale,normalScale]),material.normalScale=(new Vector2).fromArray(normalScale)}return void 0!==json.displacementMap&&(material.displacementMap=getTexture(json.displacementMap)),void 0!==json.displacementScale&&(material.displacementScale=json.displacementScale),void 0!==json.displacementBias&&(material.displacementBias=json.displacementBias),void 0!==json.roughnessMap&&(material.roughnessMap=getTexture(json.roughnessMap)),void 0!==json.metalnessMap&&(material.metalnessMap=getTexture(json.metalnessMap)),void 0!==json.emissiveMap&&(material.emissiveMap=getTexture(json.emissiveMap)),void 0!==json.emissiveIntensity&&(material.emissiveIntensity=json.emissiveIntensity),void 0!==json.specularMap&&(material.specularMap=getTexture(json.specularMap)),void 0!==json.envMap&&(material.envMap=getTexture(json.envMap)),void 0!==json.envMapIntensity&&(material.envMapIntensity=json.envMapIntensity),void 0!==json.reflectivity&&(material.reflectivity=json.reflectivity),void 0!==json.refractionRatio&&(material.refractionRatio=json.refractionRatio),void 0!==json.lightMap&&(material.lightMap=getTexture(json.lightMap)),void 0!==json.lightMapIntensity&&(material.lightMapIntensity=json.lightMapIntensity),void 0!==json.aoMap&&(material.aoMap=getTexture(json.aoMap)),void 0!==json.aoMapIntensity&&(material.aoMapIntensity=json.aoMapIntensity),void 0!==json.gradientMap&&(material.gradientMap=getTexture(json.gradientMap)),void 0!==json.clearcoatMap&&(material.clearcoatMap=getTexture(json.clearcoatMap)),void 0!==json.clearcoatRoughnessMap&&(material.clearcoatRoughnessMap=getTexture(json.clearcoatRoughnessMap)),void 0!==json.clearcoatNormalMap&&(material.clearcoatNormalMap=getTexture(json.clearcoatNormalMap)),void 0!==json.clearcoatNormalScale&&(material.clearcoatNormalScale=(new Vector2).fromArray(json.clearcoatNormalScale)),void 0!==json.transmissionMap&&(material.transmissionMap=getTexture(json.transmissionMap)),void 0!==json.thicknessMap&&(material.thicknessMap=getTexture(json.thicknessMap)),material}setTextures(value){return this.textures=value,this}}class LoaderUtils{static decodeText(array){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(array);let s="";for(let i=0,il=array.length;i0){const manager=new LoadingManager(onLoad);loader=new ImageLoader(manager),loader.setCrossOrigin(this.crossOrigin);for(let i=0,il=json.length;i0){loader=new ImageLoader(this.manager),loader.setCrossOrigin(this.crossOrigin);for(let i=0,il=json.length;iNumber.EPSILON){if(edgeDy<0&&(edgeLowPt=inPolygon[q],edgeDx=-edgeDx,edgeHighPt=inPolygon[p],edgeDy=-edgeDy),inPt.yedgeHighPt.y)continue;if(inPt.y===edgeLowPt.y){if(inPt.x===edgeLowPt.x)return!0}else{const perpEdge=edgeDy*(inPt.x-edgeLowPt.x)-edgeDx*(inPt.y-edgeLowPt.y);if(0===perpEdge)return!0;if(perpEdge<0)continue;inside=!inside}}else{if(inPt.y!==edgeLowPt.y)continue;if(edgeHighPt.x<=inPt.x&&inPt.x<=edgeLowPt.x||edgeLowPt.x<=inPt.x&&inPt.x<=edgeHighPt.x)return!0}}return inside}const isClockWise=ShapeUtils.isClockWise,subPaths=this.subPaths;if(0===subPaths.length)return[];if(!0===noHoles)return toShapesNoHoles(subPaths);let solid,tmpPath,tmpShape;const shapes=[];if(1===subPaths.length)return tmpPath=subPaths[0],tmpShape=new Shape,tmpShape.curves=tmpPath.curves,shapes.push(tmpShape),shapes;let holesFirst=!isClockWise(subPaths[0].getPoints());holesFirst=isCCW?!holesFirst:holesFirst;const betterShapeHoles=[],newShapes=[];let tmpPoints,tmpHoles,newShapeHoles=[],mainIdx=0;newShapes[mainIdx]=void 0,newShapeHoles[mainIdx]=[];for(let i=0,l=subPaths.length;i1){let ambiguous=!1;const toChange=[];for(let sIdx=0,sLen=newShapes.length;sIdx0&&(ambiguous||(newShapeHoles=betterShapeHoles))}for(let i=0,il=newShapes.length;i0){this.source.connect(this.filters[0]);for(let i=1,l=this.filters.length;i0){this.source.disconnect(this.filters[0]);for(let i=1,l=this.filters.length;i0&&this._mixBufferRegionAdditive(buffer,offset,this._addIndex*stride,1,stride);for(let i=stride,e=stride+stride;i!==e;++i)if(buffer[i]!==buffer[i+stride]){binding.setValue(buffer,offset);break}}saveOriginalState(){const binding=this.binding,buffer=this.buffer,stride=this.valueSize,originalValueOffset=stride*this._origIndex;binding.getValue(buffer,originalValueOffset);for(let i=stride,e=originalValueOffset;i!==e;++i)buffer[i]=buffer[originalValueOffset+i%stride];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const originalValueOffset=3*this.valueSize;this.binding.setValue(this.buffer,originalValueOffset)}_setAdditiveIdentityNumeric(){const startIndex=this._addIndex*this.valueSize,endIndex=startIndex+this.valueSize;for(let i=startIndex;i=.5)for(let i=0;i!==stride;++i)buffer[dstOffset+i]=buffer[srcOffset+i]}_slerp(buffer,dstOffset,srcOffset,t){Quaternion.slerpFlat(buffer,dstOffset,buffer,dstOffset,buffer,srcOffset,t)}_slerpAdditive(buffer,dstOffset,srcOffset,t,stride){const workOffset=this._workIndex*stride;Quaternion.multiplyQuaternionsFlat(buffer,workOffset,buffer,dstOffset,buffer,srcOffset),Quaternion.slerpFlat(buffer,dstOffset,buffer,dstOffset,buffer,workOffset,t)}_lerp(buffer,dstOffset,srcOffset,t,stride){const s=1-t;for(let i=0;i!==stride;++i){const j=dstOffset+i;buffer[j]=buffer[j]*s+buffer[srcOffset+i]*t}}_lerpAdditive(buffer,dstOffset,srcOffset,t,stride){for(let i=0;i!==stride;++i){const j=dstOffset+i;buffer[j]=buffer[j]+buffer[srcOffset+i]*t}}}const _reservedRe=new RegExp("[\\[\\]\\.:\\/]","g"),_wordCharOrDot="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]",_directoryRe=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]"),_nodeRe=/(WCOD+)?/.source.replace("WCOD",_wordCharOrDot),_objectRe=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),_propertyRe=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),_trackRe=new RegExp("^"+_directoryRe+_nodeRe+_objectRe+_propertyRe+"$"),_supportedObjectNames=["material","materials","bones"];class PropertyBinding{constructor(rootNode,path,parsedPath){this.path=path,this.parsedPath=parsedPath||PropertyBinding.parseTrackName(path),this.node=PropertyBinding.findNode(rootNode,this.parsedPath.nodeName)||rootNode,this.rootNode=rootNode,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(root,path,parsedPath){return root&&root.isAnimationObjectGroup?new PropertyBinding.Composite(root,path,parsedPath):new PropertyBinding(root,path,parsedPath)}static sanitizeNodeName(name){return name.replace(/\s/g,"_").replace(_reservedRe,"")}static parseTrackName(trackName){const matches=_trackRe.exec(trackName);if(!matches)throw new Error("PropertyBinding: Cannot parse trackName: "+trackName);const results={nodeName:matches[2],objectName:matches[3],objectIndex:matches[4],propertyName:matches[5],propertyIndex:matches[6]},lastDot=results.nodeName&&results.nodeName.lastIndexOf(".");if(void 0!==lastDot&&-1!==lastDot){const objectName=results.nodeName.substring(lastDot+1);-1!==_supportedObjectNames.indexOf(objectName)&&(results.nodeName=results.nodeName.substring(0,lastDot),results.objectName=objectName)}if(null===results.propertyName||0===results.propertyName.length)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+trackName);return results}static findNode(root,nodeName){if(!nodeName||""===nodeName||"."===nodeName||-1===nodeName||nodeName===root.name||nodeName===root.uuid)return root;if(root.skeleton){const bone=root.skeleton.getBoneByName(nodeName);if(void 0!==bone)return bone}if(root.children){const searchNodeSubtree=function(children){for(let i=0;i=nCachedObjects){const lastCachedIndex=nCachedObjects++,firstActiveObject=objects[lastCachedIndex];indicesByUUID[firstActiveObject.uuid]=index,objects[index]=firstActiveObject,indicesByUUID[uuid]=lastCachedIndex,objects[lastCachedIndex]=object;for(let j=0,m=nBindings;j!==m;++j){const bindingsForPath=bindings[j],firstActive=bindingsForPath[lastCachedIndex],binding=bindingsForPath[index];bindingsForPath[index]=firstActive,bindingsForPath[lastCachedIndex]=binding}}}this.nCachedObjects_=nCachedObjects}uncache(){const objects=this._objects,indicesByUUID=this._indicesByUUID,bindings=this._bindings,nBindings=bindings.length;let nCachedObjects=this.nCachedObjects_,nObjects=objects.length;for(let i=0,n=arguments.length;i!==n;++i){const uuid=arguments[i].uuid,index=indicesByUUID[uuid];if(void 0!==index)if(delete indicesByUUID[uuid],index0&&(indicesByUUID[lastObject.uuid]=index),objects[index]=lastObject,objects.pop();for(let j=0,m=nBindings;j!==m;++j){const bindingsForPath=bindings[j];bindingsForPath[index]=bindingsForPath[lastIndex],bindingsForPath.pop()}}}this.nCachedObjects_=nCachedObjects}subscribe_(path,parsedPath){const indicesByPath=this._bindingsIndicesByPath;let index=indicesByPath[path];const bindings=this._bindings;if(void 0!==index)return bindings[index];const paths=this._paths,parsedPaths=this._parsedPaths,objects=this._objects,nObjects=objects.length,nCachedObjects=this.nCachedObjects_,bindingsForPath=new Array(nObjects);index=bindings.length,indicesByPath[path]=index,paths.push(path),parsedPaths.push(parsedPath),bindings.push(bindingsForPath);for(let i=nCachedObjects,n=objects.length;i!==n;++i){const object=objects[i];bindingsForPath[i]=new PropertyBinding(object,path,parsedPath)}return bindingsForPath}unsubscribe_(path){const indicesByPath=this._bindingsIndicesByPath,index=indicesByPath[path];if(void 0!==index){const paths=this._paths,parsedPaths=this._parsedPaths,bindings=this._bindings,lastBindingsIndex=bindings.length-1,lastBindings=bindings[lastBindingsIndex];indicesByPath[path[lastBindingsIndex]]=index,bindings[index]=lastBindings,bindings.pop(),parsedPaths[index]=parsedPaths[lastBindingsIndex],parsedPaths.pop(),paths[index]=paths[lastBindingsIndex],paths.pop()}}}AnimationObjectGroup.prototype.isAnimationObjectGroup=!0;class AnimationAction{constructor(mixer,clip,localRoot=null,blendMode=clip.blendMode){this._mixer=mixer,this._clip=clip,this._localRoot=localRoot,this.blendMode=blendMode;const tracks=clip.tracks,nTracks=tracks.length,interpolants=new Array(nTracks),interpolantSettings={endingStart:ZeroCurvatureEnding,endingEnd:ZeroCurvatureEnding};for(let i=0;i!==nTracks;++i){const interpolant=tracks[i].createInterpolant(null);interpolants[i]=interpolant,interpolant.settings=interpolantSettings}this._interpolantSettings=interpolantSettings,this._interpolants=interpolants,this._propertyBindings=new Array(nTracks),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=LoopRepeat,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&0!==this.timeScale&&null===this._startTime&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(time){return this._startTime=time,this}setLoop(mode,repetitions){return this.loop=mode,this.repetitions=repetitions,this}setEffectiveWeight(weight){return this.weight=weight,this._effectiveWeight=this.enabled?weight:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(duration){return this._scheduleFading(duration,0,1)}fadeOut(duration){return this._scheduleFading(duration,1,0)}crossFadeFrom(fadeOutAction,duration,warp){if(fadeOutAction.fadeOut(duration),this.fadeIn(duration),warp){const fadeInDuration=this._clip.duration,fadeOutDuration=fadeOutAction._clip.duration,startEndRatio=fadeOutDuration/fadeInDuration,endStartRatio=fadeInDuration/fadeOutDuration;fadeOutAction.warp(1,startEndRatio,duration),this.warp(endStartRatio,1,duration)}return this}crossFadeTo(fadeInAction,duration,warp){return fadeInAction.crossFadeFrom(this,duration,warp)}stopFading(){const weightInterpolant=this._weightInterpolant;return null!==weightInterpolant&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(weightInterpolant)),this}setEffectiveTimeScale(timeScale){return this.timeScale=timeScale,this._effectiveTimeScale=this.paused?0:timeScale,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(duration){return this.timeScale=this._clip.duration/duration,this.stopWarping()}syncWith(action){return this.time=action.time,this.timeScale=action.timeScale,this.stopWarping()}halt(duration){return this.warp(this._effectiveTimeScale,0,duration)}warp(startTimeScale,endTimeScale,duration){const mixer=this._mixer,now=mixer.time,timeScale=this.timeScale;let interpolant=this._timeScaleInterpolant;null===interpolant&&(interpolant=mixer._lendControlInterpolant(),this._timeScaleInterpolant=interpolant);const times=interpolant.parameterPositions,values=interpolant.sampleValues;return times[0]=now,times[1]=now+duration,values[0]=startTimeScale/timeScale,values[1]=endTimeScale/timeScale,this}stopWarping(){const timeScaleInterpolant=this._timeScaleInterpolant;return null!==timeScaleInterpolant&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(timeScaleInterpolant)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(time,deltaTime,timeDirection,accuIndex){if(!this.enabled)return void this._updateWeight(time);const startTime=this._startTime;if(null!==startTime){const timeRunning=(time-startTime)*timeDirection;if(timeRunning<0||0===timeDirection)return;this._startTime=null,deltaTime=timeDirection*timeRunning}deltaTime*=this._updateTimeScale(time);const clipTime=this._updateTime(deltaTime),weight=this._updateWeight(time);if(weight>0){const interpolants=this._interpolants,propertyMixers=this._propertyBindings;switch(this.blendMode){case AdditiveAnimationBlendMode:for(let j=0,m=interpolants.length;j!==m;++j)interpolants[j].evaluate(clipTime),propertyMixers[j].accumulateAdditive(weight);break;case NormalAnimationBlendMode:default:for(let j=0,m=interpolants.length;j!==m;++j)interpolants[j].evaluate(clipTime),propertyMixers[j].accumulate(accuIndex,weight)}}}_updateWeight(time){let weight=0;if(this.enabled){weight=this.weight;const interpolant=this._weightInterpolant;if(null!==interpolant){const interpolantValue=interpolant.evaluate(time)[0];weight*=interpolantValue,time>interpolant.parameterPositions[1]&&(this.stopFading(),0===interpolantValue&&(this.enabled=!1))}}return this._effectiveWeight=weight,weight}_updateTimeScale(time){let timeScale=0;if(!this.paused){timeScale=this.timeScale;const interpolant=this._timeScaleInterpolant;if(null!==interpolant){timeScale*=interpolant.evaluate(time)[0],time>interpolant.parameterPositions[1]&&(this.stopWarping(),0===timeScale?this.paused=!0:this.timeScale=timeScale)}}return this._effectiveTimeScale=timeScale,timeScale}_updateTime(deltaTime){const duration=this._clip.duration,loop=this.loop;let time=this.time+deltaTime,loopCount=this._loopCount;const pingPong=loop===LoopPingPong;if(0===deltaTime)return-1===loopCount?time:pingPong&&1==(1&loopCount)?duration-time:time;if(loop===LoopOnce){-1===loopCount&&(this._loopCount=0,this._setEndings(!0,!0,!1));handle_stop:{if(time>=duration)time=duration;else{if(!(time<0)){this.time=time;break handle_stop}time=0}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=time,this._mixer.dispatchEvent({type:"finished",action:this,direction:deltaTime<0?-1:1})}}else{if(-1===loopCount&&(deltaTime>=0?(loopCount=0,this._setEndings(!0,0===this.repetitions,pingPong)):this._setEndings(0===this.repetitions,!0,pingPong)),time>=duration||time<0){const loopDelta=Math.floor(time/duration);time-=duration*loopDelta,loopCount+=Math.abs(loopDelta);const pending=this.repetitions-loopCount;if(pending<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,time=deltaTime>0?duration:0,this.time=time,this._mixer.dispatchEvent({type:"finished",action:this,direction:deltaTime>0?1:-1});else{if(1===pending){const atStart=deltaTime<0;this._setEndings(atStart,!atStart,pingPong)}else this._setEndings(!1,!1,pingPong);this._loopCount=loopCount,this.time=time,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:loopDelta})}}else this.time=time;if(pingPong&&1==(1&loopCount))return duration-time}return time}_setEndings(atStart,atEnd,pingPong){const settings=this._interpolantSettings;pingPong?(settings.endingStart=ZeroSlopeEnding,settings.endingEnd=ZeroSlopeEnding):(settings.endingStart=atStart?this.zeroSlopeAtStart?ZeroSlopeEnding:ZeroCurvatureEnding:WrapAroundEnding,settings.endingEnd=atEnd?this.zeroSlopeAtEnd?ZeroSlopeEnding:ZeroCurvatureEnding:WrapAroundEnding)}_scheduleFading(duration,weightNow,weightThen){const mixer=this._mixer,now=mixer.time;let interpolant=this._weightInterpolant;null===interpolant&&(interpolant=mixer._lendControlInterpolant(),this._weightInterpolant=interpolant);const times=interpolant.parameterPositions,values=interpolant.sampleValues;return times[0]=now,values[0]=weightNow,times[1]=now+duration,values[1]=weightThen,this}}class AnimationMixer extends EventDispatcher{constructor(root){super(),this._root=root,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(action,prototypeAction){const root=action._localRoot||this._root,tracks=action._clip.tracks,nTracks=tracks.length,bindings=action._propertyBindings,interpolants=action._interpolants,rootUuid=root.uuid,bindingsByRoot=this._bindingsByRootAndName;let bindingsByName=bindingsByRoot[rootUuid];void 0===bindingsByName&&(bindingsByName={},bindingsByRoot[rootUuid]=bindingsByName);for(let i=0;i!==nTracks;++i){const track=tracks[i],trackName=track.name;let binding=bindingsByName[trackName];if(void 0!==binding)bindings[i]=binding;else{if(binding=bindings[i],void 0!==binding){null===binding._cacheIndex&&(++binding.referenceCount,this._addInactiveBinding(binding,rootUuid,trackName));continue}const path=prototypeAction&&prototypeAction._propertyBindings[i].binding.parsedPath;binding=new PropertyMixer(PropertyBinding.create(root,trackName,path),track.ValueTypeName,track.getValueSize()),++binding.referenceCount,this._addInactiveBinding(binding,rootUuid,trackName),bindings[i]=binding}interpolants[i].resultBuffer=binding.buffer}}_activateAction(action){if(!this._isActiveAction(action)){if(null===action._cacheIndex){const rootUuid=(action._localRoot||this._root).uuid,clipUuid=action._clip.uuid,actionsForClip=this._actionsByClip[clipUuid];this._bindAction(action,actionsForClip&&actionsForClip.knownActions[0]),this._addInactiveAction(action,clipUuid,rootUuid)}const bindings=action._propertyBindings;for(let i=0,n=bindings.length;i!==n;++i){const binding=bindings[i];0==binding.useCount++&&(this._lendBinding(binding),binding.saveOriginalState())}this._lendAction(action)}}_deactivateAction(action){if(this._isActiveAction(action)){const bindings=action._propertyBindings;for(let i=0,n=bindings.length;i!==n;++i){const binding=bindings[i];0==--binding.useCount&&(binding.restoreOriginalState(),this._takeBackBinding(binding))}this._takeBackAction(action)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const scope=this;this.stats={actions:{get total(){return scope._actions.length},get inUse(){return scope._nActiveActions}},bindings:{get total(){return scope._bindings.length},get inUse(){return scope._nActiveBindings}},controlInterpolants:{get total(){return scope._controlInterpolants.length},get inUse(){return scope._nActiveControlInterpolants}}}}_isActiveAction(action){const index=action._cacheIndex;return null!==index&&index=0;--i)actions[i].stop();return this}update(deltaTime){deltaTime*=this.timeScale;const actions=this._actions,nActions=this._nActiveActions,time=this.time+=deltaTime,timeDirection=Math.sign(deltaTime),accuIndex=this._accuIndex^=1;for(let i=0;i!==nActions;++i){actions[i]._update(time,deltaTime,timeDirection,accuIndex)}const bindings=this._bindings,nBindings=this._nActiveBindings;for(let i=0;i!==nBindings;++i)bindings[i].apply(accuIndex);return this}setTime(timeInSeconds){this.time=0;for(let i=0;ithis.max.x||point.ythis.max.y)}containsBox(box){return this.min.x<=box.min.x&&box.max.x<=this.max.x&&this.min.y<=box.min.y&&box.max.y<=this.max.y}getParameter(point,target){return target.set((point.x-this.min.x)/(this.max.x-this.min.x),(point.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(box){return!(box.max.xthis.max.x||box.max.ythis.max.y)}clampPoint(point,target){return target.copy(point).clamp(this.min,this.max)}distanceToPoint(point){return _vector$4.copy(point).clamp(this.min,this.max).sub(point).length()}intersect(box){return this.min.max(box.min),this.max.min(box.max),this}union(box){return this.min.min(box.min),this.max.max(box.max),this}translate(offset){return this.min.add(offset),this.max.add(offset),this}equals(box){return box.min.equals(this.min)&&box.max.equals(this.max)}}Box2.prototype.isBox2=!0;const _startP=new Vector3,_startEnd=new Vector3;class Line3{constructor(start=new Vector3,end=new Vector3){this.start=start,this.end=end}set(start,end){return this.start.copy(start),this.end.copy(end),this}copy(line){return this.start.copy(line.start),this.end.copy(line.end),this}getCenter(target){return target.addVectors(this.start,this.end).multiplyScalar(.5)}delta(target){return target.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(t,target){return this.delta(target).multiplyScalar(t).add(this.start)}closestPointToPointParameter(point,clampToLine){_startP.subVectors(point,this.start),_startEnd.subVectors(this.end,this.start);const startEnd2=_startEnd.dot(_startEnd);let t=_startEnd.dot(_startP)/startEnd2;return clampToLine&&(t=clamp(t,0,1)),t}closestPointToPoint(point,clampToLine,target){const t=this.closestPointToPointParameter(point,clampToLine);return this.delta(target).multiplyScalar(t).add(this.start)}applyMatrix4(matrix){return this.start.applyMatrix4(matrix),this.end.applyMatrix4(matrix),this}equals(line){return line.start.equals(this.start)&&line.end.equals(this.end)}clone(){return(new this.constructor).copy(this)}}class ImmediateRenderObject extends Object3D{constructor(material){super(),this.material=material,this.render=function(){},this.hasPositions=!1,this.hasNormals=!1,this.hasColors=!1,this.hasUvs=!1,this.positionArray=null,this.normalArray=null,this.colorArray=null,this.uvArray=null,this.count=0}}ImmediateRenderObject.prototype.isImmediateRenderObject=!0;const _vector$3=new Vector3;class SpotLightHelper extends Object3D{constructor(light,color){super(),this.light=light,this.light.updateMatrixWorld(),this.matrix=light.matrixWorld,this.matrixAutoUpdate=!1,this.color=color;const geometry=new BufferGeometry,positions=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let i=0,j=1,l=32;i.99999)this.quaternion.set(0,0,0,1);else if(dir.y<-.99999)this.quaternion.set(1,0,0,0);else{_axis.set(dir.z,0,-dir.x).normalize();const radians=Math.acos(dir.y);this.quaternion.setFromAxisAngle(_axis,radians)}}setLength(length,headLength=.2*length,headWidth=.2*headLength){this.line.scale.set(1,Math.max(1e-4,length-headLength),1),this.line.updateMatrix(),this.cone.scale.set(headWidth,headLength,headWidth),this.cone.position.y=length,this.cone.updateMatrix()}setColor(color){this.line.material.color.set(color),this.cone.material.color.set(color)}copy(source){return super.copy(source,!1),this.line.copy(source.line),this.cone.copy(source.cone),this}}class AxesHelper extends LineSegments{constructor(size=1){const vertices=[0,0,0,size,0,0,0,0,0,0,size,0,0,0,0,0,0,size],geometry=new BufferGeometry;geometry.setAttribute("position",new Float32BufferAttribute(vertices,3)),geometry.setAttribute("color",new Float32BufferAttribute([1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],3));super(geometry,new LineBasicMaterial({vertexColors:!0,toneMapped:!1})),this.type="AxesHelper"}setColors(xAxisColor,yAxisColor,zAxisColor){const color=new Color,array=this.geometry.attributes.color.array;return color.set(xAxisColor),color.toArray(array,0),color.toArray(array,3),color.set(yAxisColor),color.toArray(array,6),color.toArray(array,9),color.set(zAxisColor),color.toArray(array,12),color.toArray(array,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}const _floatView=new Float32Array(1),_int32View=new Int32Array(_floatView.buffer);class DataUtils{static toHalfFloat(val){_floatView[0]=val;const x=_int32View[0];let bits=x>>16&32768,m=x>>12&2047;const e=x>>23&255;return e<103?bits:e>142?(bits|=31744,bits|=(255==e?0:1)&&8388607&x,bits):e<113?(m|=2048,bits|=(m>>114-e)+(m>>113-e&1),bits):(bits|=e-112<<10|m>>1,bits+=1&m,bits)}}const SIZE_MAX=Math.pow(2,8),EXTRA_LOD_SIGMA=[.125,.215,.35,.446,.526,.582],TOTAL_LODS=5+EXTRA_LOD_SIGMA.length,ENCODINGS={[LinearEncoding]:0,[sRGBEncoding]:1,[RGBEEncoding]:2,[RGBM7Encoding]:3,[RGBM16Encoding]:4,[RGBDEncoding]:5,[GammaEncoding]:6},backgroundMaterial=new MeshBasicMaterial({side:BackSide,depthWrite:!1,depthTest:!1}),backgroundBox=new Mesh(new BoxGeometry,backgroundMaterial),_flatCamera=new OrthographicCamera,{_lodPlanes:_lodPlanes,_sizeLods:_sizeLods,_sigmas:_sigmas}=_createPlanes(),_clearColor=new Color;let _oldTarget=null;const PHI=(1+Math.sqrt(5))/2,INV_PHI=1/PHI,_axisDirections=[new Vector3(1,1,1),new Vector3(-1,1,1),new Vector3(1,1,-1),new Vector3(-1,1,-1),new Vector3(0,PHI,INV_PHI),new Vector3(0,PHI,-INV_PHI),new Vector3(INV_PHI,0,PHI),new Vector3(-INV_PHI,0,PHI),new Vector3(PHI,INV_PHI,0),new Vector3(-PHI,INV_PHI,0)];function convertLinearToRGBE(color){const maxComponent=Math.max(color.r,color.g,color.b),fExp=Math.min(Math.max(Math.ceil(Math.log2(maxComponent)),-128),127);color.multiplyScalar(Math.pow(2,-fExp));return(fExp+128)/255}class PMREMGenerator{constructor(renderer){this._renderer=renderer,this._pingPongRenderTarget=null,this._blurMaterial=function _getBlurShader(maxSamples){const weights=new Float32Array(maxSamples),poleAxis=new Vector3(0,1,0);return new RawShaderMaterial({name:"SphericalGaussianBlur",defines:{n:maxSamples},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:weights},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:poleAxis},inputEncoding:{value:ENCODINGS[LinearEncoding]},outputEncoding:{value:ENCODINGS[LinearEncoding]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform int samples;\n\t\t\tuniform float weights[ n ];\n\t\t\tuniform bool latitudinal;\n\t\t\tuniform float dTheta;\n\t\t\tuniform float mipInt;\n\t\t\tuniform vec3 poleAxis;\n\n\t\t\t${_getEncodings()}\n\n\t\t\t#define ENVMAP_TYPE_CUBE_UV\n\t\t\t#include \n\n\t\t\tvec3 getSample( float theta, vec3 axis ) {\n\n\t\t\t\tfloat cosTheta = cos( theta );\n\t\t\t\t// Rodrigues' axis-angle rotation\n\t\t\t\tvec3 sampleDirection = vOutputDirection * cosTheta\n\t\t\t\t\t+ cross( axis, vOutputDirection ) * sin( theta )\n\t\t\t\t\t+ axis * dot( axis, vOutputDirection ) * ( 1.0 - cosTheta );\n\n\t\t\t\treturn bilinearCubeUV( envMap, sampleDirection, mipInt );\n\n\t\t\t}\n\n\t\t\tvoid main() {\n\n\t\t\t\tvec3 axis = latitudinal ? poleAxis : cross( poleAxis, vOutputDirection );\n\n\t\t\t\tif ( all( equal( axis, vec3( 0.0 ) ) ) ) {\n\n\t\t\t\t\taxis = vec3( vOutputDirection.z, 0.0, - vOutputDirection.x );\n\n\t\t\t\t}\n\n\t\t\t\taxis = normalize( axis );\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb += weights[ 0 ] * getSample( 0.0, axis );\n\n\t\t\t\tfor ( int i = 1; i < n; i++ ) {\n\n\t\t\t\t\tif ( i >= samples ) {\n\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t}\n\n\t\t\t\t\tfloat theta = dTheta * float( i );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( -1.0 * theta, axis );\n\t\t\t\t\tgl_FragColor.rgb += weights[ i ] * getSample( theta, axis );\n\n\t\t\t\t}\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:NoBlending,depthTest:!1,depthWrite:!1})}(20),this._equirectShader=null,this._cubemapShader=null,this._compileMaterial(this._blurMaterial)}fromScene(scene,sigma=0,near=.1,far=100){_oldTarget=this._renderer.getRenderTarget();const cubeUVRenderTarget=this._allocateTargets();return this._sceneToCubeUV(scene,near,far,cubeUVRenderTarget),sigma>0&&this._blur(cubeUVRenderTarget,0,0,sigma),this._applyPMREM(cubeUVRenderTarget),this._cleanup(cubeUVRenderTarget),cubeUVRenderTarget}fromEquirectangular(equirectangular){return this._fromTexture(equirectangular)}fromCubemap(cubemap){return this._fromTexture(cubemap)}compileCubemapShader(){null===this._cubemapShader&&(this._cubemapShader=_getCubemapShader(),this._compileMaterial(this._cubemapShader))}compileEquirectangularShader(){null===this._equirectShader&&(this._equirectShader=_getEquirectShader(),this._compileMaterial(this._equirectShader))}dispose(){this._blurMaterial.dispose(),null!==this._cubemapShader&&this._cubemapShader.dispose(),null!==this._equirectShader&&this._equirectShader.dispose();for(let i=0;i<_lodPlanes.length;i++)_lodPlanes[i].dispose()}_cleanup(outputTarget){this._pingPongRenderTarget.dispose(),this._renderer.setRenderTarget(_oldTarget),outputTarget.scissorTest=!1,_setViewport(outputTarget,0,0,outputTarget.width,outputTarget.height)}_fromTexture(texture){_oldTarget=this._renderer.getRenderTarget();const cubeUVRenderTarget=this._allocateTargets(texture);return this._textureToCubeUV(texture,cubeUVRenderTarget),this._applyPMREM(cubeUVRenderTarget),this._cleanup(cubeUVRenderTarget),cubeUVRenderTarget}_allocateTargets(texture){const params={magFilter:NearestFilter,minFilter:NearestFilter,generateMipmaps:!1,type:UnsignedByteType,format:RGBEFormat,encoding:_isLDR(texture)?texture.encoding:RGBEEncoding,depthBuffer:!1},cubeUVRenderTarget=_createRenderTarget(params);return cubeUVRenderTarget.depthBuffer=!texture,this._pingPongRenderTarget=_createRenderTarget(params),cubeUVRenderTarget}_compileMaterial(material){const tmpMesh=new Mesh(_lodPlanes[0],material);this._renderer.compile(tmpMesh,_flatCamera)}_sceneToCubeUV(scene,near,far,cubeUVRenderTarget){const cubeCamera=new PerspectiveCamera(90,1,near,far),upSign=[1,-1,1,1,1,1],forwardSign=[1,1,1,-1,-1,-1],renderer=this._renderer,originalAutoClear=renderer.autoClear,outputEncoding=renderer.outputEncoding,toneMapping=renderer.toneMapping;renderer.getClearColor(_clearColor),renderer.toneMapping=NoToneMapping,renderer.outputEncoding=LinearEncoding,renderer.autoClear=!1;let useSolidColor=!1;const background=scene.background;if(background){if(background.isColor){backgroundMaterial.color.copy(background).convertSRGBToLinear(),scene.background=null;const alpha=convertLinearToRGBE(backgroundMaterial.color);backgroundMaterial.opacity=alpha,useSolidColor=!0}}else{backgroundMaterial.color.copy(_clearColor).convertSRGBToLinear();const alpha=convertLinearToRGBE(backgroundMaterial.color);backgroundMaterial.opacity=alpha,useSolidColor=!0}for(let i=0;i<6;i++){const col=i%3;0==col?(cubeCamera.up.set(0,upSign[i],0),cubeCamera.lookAt(forwardSign[i],0,0)):1==col?(cubeCamera.up.set(0,0,upSign[i]),cubeCamera.lookAt(0,forwardSign[i],0)):(cubeCamera.up.set(0,upSign[i],0),cubeCamera.lookAt(0,0,forwardSign[i])),_setViewport(cubeUVRenderTarget,col*SIZE_MAX,i>2?SIZE_MAX:0,SIZE_MAX,SIZE_MAX),renderer.setRenderTarget(cubeUVRenderTarget),useSolidColor&&renderer.render(backgroundBox,cubeCamera),renderer.render(scene,cubeCamera)}renderer.toneMapping=toneMapping,renderer.outputEncoding=outputEncoding,renderer.autoClear=originalAutoClear}_textureToCubeUV(texture,cubeUVRenderTarget){const renderer=this._renderer;texture.isCubeTexture?null==this._cubemapShader&&(this._cubemapShader=_getCubemapShader()):null==this._equirectShader&&(this._equirectShader=_getEquirectShader());const material=texture.isCubeTexture?this._cubemapShader:this._equirectShader,mesh=new Mesh(_lodPlanes[0],material),uniforms=material.uniforms;uniforms.envMap.value=texture,texture.isCubeTexture||uniforms.texelSize.value.set(1/texture.image.width,1/texture.image.height),uniforms.inputEncoding.value=ENCODINGS[texture.encoding],uniforms.outputEncoding.value=ENCODINGS[cubeUVRenderTarget.texture.encoding],_setViewport(cubeUVRenderTarget,0,0,3*SIZE_MAX,2*SIZE_MAX),renderer.setRenderTarget(cubeUVRenderTarget),renderer.render(mesh,_flatCamera)}_applyPMREM(cubeUVRenderTarget){const renderer=this._renderer,autoClear=renderer.autoClear;renderer.autoClear=!1;for(let i=1;i20&&console.warn(`sigmaRadians, ${sigmaRadians}, is too large and will clip, as it requested ${samples} samples when the maximum is set to 20`);const weights=[];let sum=0;for(let i=0;i<20;++i){const x=i/sigmaPixels,weight=Math.exp(-x*x/2);weights.push(weight),0==i?sum+=weight:i4?lodOut-8+4:0),3*outputSize,2*outputSize),renderer.setRenderTarget(targetOut),renderer.render(blurMesh,_flatCamera)}}function _isLDR(texture){return void 0!==texture&&texture.type===UnsignedByteType&&(texture.encoding===LinearEncoding||texture.encoding===sRGBEncoding||texture.encoding===GammaEncoding)}function _createPlanes(){const _lodPlanes=[],_sizeLods=[],_sigmas=[];let lod=8;for(let i=0;i4?sigma=EXTRA_LOD_SIGMA[i-8+4-1]:0==i&&(sigma=0),_sigmas.push(sigma);const texelSize=1/(sizeLod-1),min=-texelSize/2,max=1+texelSize/2,uv1=[min,min,max,min,max,max,min,min,max,max,min,max],cubeFaces=6,vertices=6,positionSize=3,uvSize=2,faceIndexSize=1,position=new Float32Array(positionSize*vertices*cubeFaces),uv=new Float32Array(uvSize*vertices*cubeFaces),faceIndex=new Float32Array(faceIndexSize*vertices*cubeFaces);for(let face=0;face2?0:-1,coordinates=[x,y,0,x+2/3,y,0,x+2/3,y+1,0,x,y,0,x+2/3,y+1,0,x,y+1,0];position.set(coordinates,positionSize*vertices*face),uv.set(uv1,uvSize*vertices*face);const fill=[face,face,face,face,face,face];faceIndex.set(fill,faceIndexSize*vertices*face)}const planes=new BufferGeometry;planes.setAttribute("position",new BufferAttribute(position,positionSize)),planes.setAttribute("uv",new BufferAttribute(uv,uvSize)),planes.setAttribute("faceIndex",new BufferAttribute(faceIndex,faceIndexSize)),_lodPlanes.push(planes),lod>4&&lod--}return{_lodPlanes:_lodPlanes,_sizeLods:_sizeLods,_sigmas:_sigmas}}function _createRenderTarget(params){const cubeUVRenderTarget=new WebGLRenderTarget(3*SIZE_MAX,3*SIZE_MAX,params);return cubeUVRenderTarget.texture.mapping=CubeUVReflectionMapping,cubeUVRenderTarget.texture.name="PMREM.cubeUv",cubeUVRenderTarget.scissorTest=!0,cubeUVRenderTarget}function _setViewport(target,x,y,width,height){target.viewport.set(x,y,width,height),target.scissor.set(x,y,width,height)}function _getEquirectShader(){const texelSize=new Vector2(1,1);return new RawShaderMaterial({name:"EquirectangularToCubeUV",uniforms:{envMap:{value:null},texelSize:{value:texelSize},inputEncoding:{value:ENCODINGS[LinearEncoding]},outputEncoding:{value:ENCODINGS[LinearEncoding]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform sampler2D envMap;\n\t\t\tuniform vec2 texelSize;\n\n\t\t\t${_getEncodings()}\n\n\t\t\t#include \n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\n\t\t\t\tvec3 outputDirection = normalize( vOutputDirection );\n\t\t\t\tvec2 uv = equirectUv( outputDirection );\n\n\t\t\t\tvec2 f = fract( uv / texelSize - 0.5 );\n\t\t\t\tuv -= f * texelSize;\n\t\t\t\tvec3 tl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x += texelSize.x;\n\t\t\t\tvec3 tr = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.y += texelSize.y;\n\t\t\t\tvec3 br = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\t\t\t\tuv.x -= texelSize.x;\n\t\t\t\tvec3 bl = envMapTexelToLinear( texture2D ( envMap, uv ) ).rgb;\n\n\t\t\t\tvec3 tm = mix( tl, tr, f.x );\n\t\t\t\tvec3 bm = mix( bl, br, f.x );\n\t\t\t\tgl_FragColor.rgb = mix( tm, bm, f.y );\n\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:NoBlending,depthTest:!1,depthWrite:!1})}function _getCubemapShader(){return new RawShaderMaterial({name:"CubemapToCubeUV",uniforms:{envMap:{value:null},inputEncoding:{value:ENCODINGS[LinearEncoding]},outputEncoding:{value:ENCODINGS[LinearEncoding]}},vertexShader:_getCommonVertexShader(),fragmentShader:`\n\n\t\t\tprecision mediump float;\n\t\t\tprecision mediump int;\n\n\t\t\tvarying vec3 vOutputDirection;\n\n\t\t\tuniform samplerCube envMap;\n\n\t\t\t${_getEncodings()}\n\n\t\t\tvoid main() {\n\n\t\t\t\tgl_FragColor = vec4( 0.0, 0.0, 0.0, 1.0 );\n\t\t\t\tgl_FragColor.rgb = envMapTexelToLinear( textureCube( envMap, vec3( - vOutputDirection.x, vOutputDirection.yz ) ) ).rgb;\n\t\t\t\tgl_FragColor = linearToOutputTexel( gl_FragColor );\n\n\t\t\t}\n\t\t`,blending:NoBlending,depthTest:!1,depthWrite:!1})}function _getCommonVertexShader(){return"\n\n\t\tprecision mediump float;\n\t\tprecision mediump int;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\t\tattribute float faceIndex;\n\n\t\tvarying vec3 vOutputDirection;\n\n\t\t// RH coordinate system; PMREM face-indexing convention\n\t\tvec3 getDirection( vec2 uv, float face ) {\n\n\t\t\tuv = 2.0 * uv - 1.0;\n\n\t\t\tvec3 direction = vec3( uv, 1.0 );\n\n\t\t\tif ( face == 0.0 ) {\n\n\t\t\t\tdirection = direction.zyx; // ( 1, v, u ) pos x\n\n\t\t\t} else if ( face == 1.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xz *= -1.0; // ( -u, 1, -v ) pos y\n\n\t\t\t} else if ( face == 2.0 ) {\n\n\t\t\t\tdirection.x *= -1.0; // ( -u, v, 1 ) pos z\n\n\t\t\t} else if ( face == 3.0 ) {\n\n\t\t\t\tdirection = direction.zyx;\n\t\t\t\tdirection.xz *= -1.0; // ( -1, v, -u ) neg x\n\n\t\t\t} else if ( face == 4.0 ) {\n\n\t\t\t\tdirection = direction.xzy;\n\t\t\t\tdirection.xy *= -1.0; // ( -u, -1, v ) neg y\n\n\t\t\t} else if ( face == 5.0 ) {\n\n\t\t\t\tdirection.z *= -1.0; // ( u, v, -1 ) neg z\n\n\t\t\t}\n\n\t\t\treturn direction;\n\n\t\t}\n\n\t\tvoid main() {\n\n\t\t\tvOutputDirection = getDirection( uv, faceIndex );\n\t\t\tgl_Position = vec4( position, 1.0 );\n\n\t\t}\n\t"}function _getEncodings(){return"\n\n\t\tuniform int inputEncoding;\n\t\tuniform int outputEncoding;\n\n\t\t#include \n\n\t\tvec4 inputTexelToLinear( vec4 value ) {\n\n\t\t\tif ( inputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( inputEncoding == 1 ) {\n\n\t\t\t\treturn sRGBToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 2 ) {\n\n\t\t\t\treturn RGBEToLinear( value );\n\n\t\t\t} else if ( inputEncoding == 3 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 7.0 );\n\n\t\t\t} else if ( inputEncoding == 4 ) {\n\n\t\t\t\treturn RGBMToLinear( value, 16.0 );\n\n\t\t\t} else if ( inputEncoding == 5 ) {\n\n\t\t\t\treturn RGBDToLinear( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn GammaToLinear( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 linearToOutputTexel( vec4 value ) {\n\n\t\t\tif ( outputEncoding == 0 ) {\n\n\t\t\t\treturn value;\n\n\t\t\t} else if ( outputEncoding == 1 ) {\n\n\t\t\t\treturn LinearTosRGB( value );\n\n\t\t\t} else if ( outputEncoding == 2 ) {\n\n\t\t\t\treturn LinearToRGBE( value );\n\n\t\t\t} else if ( outputEncoding == 3 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 7.0 );\n\n\t\t\t} else if ( outputEncoding == 4 ) {\n\n\t\t\t\treturn LinearToRGBM( value, 16.0 );\n\n\t\t\t} else if ( outputEncoding == 5 ) {\n\n\t\t\t\treturn LinearToRGBD( value, 256.0 );\n\n\t\t\t} else {\n\n\t\t\t\treturn LinearToGamma( value, 2.2 );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvec4 envMapTexelToLinear( vec4 color ) {\n\n\t\t\treturn inputTexelToLinear( color );\n\n\t\t}\n\t"}const LineStrip=0,LinePieces=1,NoColors=0,FaceColors=1,VertexColors=2;function MeshFaceMaterial(materials){return console.warn("THREE.MeshFaceMaterial has been removed. Use an Array instead."),materials}function MultiMaterial(materials=[]){return console.warn("THREE.MultiMaterial has been removed. Use an Array instead."),materials.isMultiMaterial=!0,materials.materials=materials,materials.clone=function(){return materials.slice()},materials}function PointCloud(geometry,material){return console.warn("THREE.PointCloud has been renamed to THREE.Points."),new Points(geometry,material)}function Particle(material){return console.warn("THREE.Particle has been renamed to THREE.Sprite."),new Sprite(material)}function ParticleSystem(geometry,material){return console.warn("THREE.ParticleSystem has been renamed to THREE.Points."),new Points(geometry,material)}function PointCloudMaterial(parameters){return console.warn("THREE.PointCloudMaterial has been renamed to THREE.PointsMaterial."),new PointsMaterial(parameters)}function ParticleBasicMaterial(parameters){return console.warn("THREE.ParticleBasicMaterial has been renamed to THREE.PointsMaterial."),new PointsMaterial(parameters)}function ParticleSystemMaterial(parameters){return console.warn("THREE.ParticleSystemMaterial has been renamed to THREE.PointsMaterial."),new PointsMaterial(parameters)}function Vertex(x,y,z){return console.warn("THREE.Vertex has been removed. Use THREE.Vector3 instead."),new Vector3(x,y,z)}function DynamicBufferAttribute(array,itemSize){return console.warn("THREE.DynamicBufferAttribute has been removed. Use new THREE.BufferAttribute().setUsage( THREE.DynamicDrawUsage ) instead."),new BufferAttribute(array,itemSize).setUsage(DynamicDrawUsage)}function Int8Attribute(array,itemSize){return console.warn("THREE.Int8Attribute has been removed. Use new THREE.Int8BufferAttribute() instead."),new Int8BufferAttribute(array,itemSize)}function Uint8Attribute(array,itemSize){return console.warn("THREE.Uint8Attribute has been removed. Use new THREE.Uint8BufferAttribute() instead."),new Uint8BufferAttribute(array,itemSize)}function Uint8ClampedAttribute(array,itemSize){return console.warn("THREE.Uint8ClampedAttribute has been removed. Use new THREE.Uint8ClampedBufferAttribute() instead."),new Uint8ClampedBufferAttribute(array,itemSize)}function Int16Attribute(array,itemSize){return console.warn("THREE.Int16Attribute has been removed. Use new THREE.Int16BufferAttribute() instead."),new Int16BufferAttribute(array,itemSize)}function Uint16Attribute(array,itemSize){return console.warn("THREE.Uint16Attribute has been removed. Use new THREE.Uint16BufferAttribute() instead."),new Uint16BufferAttribute(array,itemSize)}function Int32Attribute(array,itemSize){return console.warn("THREE.Int32Attribute has been removed. Use new THREE.Int32BufferAttribute() instead."),new Int32BufferAttribute(array,itemSize)}function Uint32Attribute(array,itemSize){return console.warn("THREE.Uint32Attribute has been removed. Use new THREE.Uint32BufferAttribute() instead."),new Uint32BufferAttribute(array,itemSize)}function Float32Attribute(array,itemSize){return console.warn("THREE.Float32Attribute has been removed. Use new THREE.Float32BufferAttribute() instead."),new Float32BufferAttribute(array,itemSize)}function Float64Attribute(array,itemSize){return console.warn("THREE.Float64Attribute has been removed. Use new THREE.Float64BufferAttribute() instead."),new Float64BufferAttribute(array,itemSize)}function AxisHelper(size){return console.warn("THREE.AxisHelper has been renamed to THREE.AxesHelper."),new AxesHelper(size)}function BoundingBoxHelper(object,color){return console.warn("THREE.BoundingBoxHelper has been deprecated. Creating a THREE.BoxHelper instead."),new BoxHelper(object,color)}function EdgesHelper(object,hex){return console.warn("THREE.EdgesHelper has been removed. Use THREE.EdgesGeometry instead."),new LineSegments(new EdgesGeometry(object.geometry),new LineBasicMaterial({color:void 0!==hex?hex:16777215}))}function WireframeHelper(object,hex){return console.warn("THREE.WireframeHelper has been removed. Use THREE.WireframeGeometry instead."),new LineSegments(new WireframeGeometry(object.geometry),new LineBasicMaterial({color:void 0!==hex?hex:16777215}))}function XHRLoader(manager){return console.warn("THREE.XHRLoader has been renamed to THREE.FileLoader."),new FileLoader(manager)}function BinaryTextureLoader(manager){return console.warn("THREE.BinaryTextureLoader has been renamed to THREE.DataTextureLoader."),new DataTextureLoader(manager)}function WebGLRenderTargetCube(width,height,options){return console.warn("THREE.WebGLRenderTargetCube( width, height, options ) is now WebGLCubeRenderTarget( size, options )."),new WebGLCubeRenderTarget(width,options)}function CanvasRenderer(){console.error("THREE.CanvasRenderer has been removed")}function JSONLoader(){console.error("THREE.JSONLoader has been removed.")}Curve.create=function(construct,getPoint){return console.log("THREE.Curve.create() has been deprecated"),construct.prototype=Object.create(Curve.prototype),construct.prototype.constructor=construct,construct.prototype.getPoint=getPoint,construct},Path.prototype.fromPoints=function(points){return console.warn("THREE.Path: .fromPoints() has been renamed to .setFromPoints()."),this.setFromPoints(points)},GridHelper.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")},SkeletonHelper.prototype.update=function(){console.error("THREE.SkeletonHelper: update() no longer needs to be called.")},Loader.prototype.extractUrlBase=function(url){return console.warn("THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead."),LoaderUtils.extractUrlBase(url)},Loader.Handlers={add:function(){console.error("THREE.Loader: Handlers.add() has been removed. Use LoadingManager.addHandler() instead.")},get:function(){console.error("THREE.Loader: Handlers.get() has been removed. Use LoadingManager.getHandler() instead.")}},Box2.prototype.center=function(optionalTarget){return console.warn("THREE.Box2: .center() has been renamed to .getCenter()."),this.getCenter(optionalTarget)},Box2.prototype.empty=function(){return console.warn("THREE.Box2: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Box2.prototype.isIntersectionBox=function(box){return console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(box)},Box2.prototype.size=function(optionalTarget){return console.warn("THREE.Box2: .size() has been renamed to .getSize()."),this.getSize(optionalTarget)},Box3.prototype.center=function(optionalTarget){return console.warn("THREE.Box3: .center() has been renamed to .getCenter()."),this.getCenter(optionalTarget)},Box3.prototype.empty=function(){return console.warn("THREE.Box3: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Box3.prototype.isIntersectionBox=function(box){return console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(box)},Box3.prototype.isIntersectionSphere=function(sphere){return console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(sphere)},Box3.prototype.size=function(optionalTarget){return console.warn("THREE.Box3: .size() has been renamed to .getSize()."),this.getSize(optionalTarget)},Sphere.prototype.empty=function(){return console.warn("THREE.Sphere: .empty() has been renamed to .isEmpty()."),this.isEmpty()},Frustum.prototype.setFromMatrix=function(m){return console.warn("THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix()."),this.setFromProjectionMatrix(m)},Line3.prototype.center=function(optionalTarget){return console.warn("THREE.Line3: .center() has been renamed to .getCenter()."),this.getCenter(optionalTarget)},Matrix3.prototype.flattenToArrayOffset=function(array,offset){return console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(array,offset)},Matrix3.prototype.multiplyVector3=function(vector){return console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead."),vector.applyMatrix3(this)},Matrix3.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix3: .multiplyVector3Array() has been removed.")},Matrix3.prototype.applyToBufferAttribute=function(attribute){return console.warn("THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead."),attribute.applyMatrix3(this)},Matrix3.prototype.applyToVector3Array=function(){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")},Matrix3.prototype.getInverse=function(matrix){return console.warn("THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(matrix).invert()},Matrix4.prototype.extractPosition=function(m){return console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition()."),this.copyPosition(m)},Matrix4.prototype.flattenToArrayOffset=function(array,offset){return console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead."),this.toArray(array,offset)},Matrix4.prototype.getPosition=function(){return console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead."),(new Vector3).setFromMatrixColumn(this,3)},Matrix4.prototype.setRotationFromQuaternion=function(q){return console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."),this.makeRotationFromQuaternion(q)},Matrix4.prototype.multiplyToArray=function(){console.warn("THREE.Matrix4: .multiplyToArray() has been removed.")},Matrix4.prototype.multiplyVector3=function(vector){return console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead."),vector.applyMatrix4(this)},Matrix4.prototype.multiplyVector4=function(vector){return console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead."),vector.applyMatrix4(this)},Matrix4.prototype.multiplyVector3Array=function(){console.error("THREE.Matrix4: .multiplyVector3Array() has been removed.")},Matrix4.prototype.rotateAxis=function(v){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead."),v.transformDirection(this)},Matrix4.prototype.crossVector=function(vector){return console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead."),vector.applyMatrix4(this)},Matrix4.prototype.translate=function(){console.error("THREE.Matrix4: .translate() has been removed.")},Matrix4.prototype.rotateX=function(){console.error("THREE.Matrix4: .rotateX() has been removed.")},Matrix4.prototype.rotateY=function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},Matrix4.prototype.rotateZ=function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},Matrix4.prototype.rotateByAxis=function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},Matrix4.prototype.applyToBufferAttribute=function(attribute){return console.warn("THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead."),attribute.applyMatrix4(this)},Matrix4.prototype.applyToVector3Array=function(){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")},Matrix4.prototype.makeFrustum=function(left,right,bottom,top,near,far){return console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead."),this.makePerspective(left,right,top,bottom,near,far)},Matrix4.prototype.getInverse=function(matrix){return console.warn("THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead."),this.copy(matrix).invert()},Plane.prototype.isIntersectionLine=function(line){return console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine()."),this.intersectsLine(line)},Quaternion.prototype.multiplyVector3=function(vector){return console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."),vector.applyQuaternion(this)},Quaternion.prototype.inverse=function(){return console.warn("THREE.Quaternion: .inverse() has been renamed to invert()."),this.invert()},Ray.prototype.isIntersectionBox=function(box){return console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox()."),this.intersectsBox(box)},Ray.prototype.isIntersectionPlane=function(plane){return console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane()."),this.intersectsPlane(plane)},Ray.prototype.isIntersectionSphere=function(sphere){return console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere()."),this.intersectsSphere(sphere)},Triangle.prototype.area=function(){return console.warn("THREE.Triangle: .area() has been renamed to .getArea()."),this.getArea()},Triangle.prototype.barycoordFromPoint=function(point,target){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),this.getBarycoord(point,target)},Triangle.prototype.midpoint=function(target){return console.warn("THREE.Triangle: .midpoint() has been renamed to .getMidpoint()."),this.getMidpoint(target)},Triangle.prototypenormal=function(target){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),this.getNormal(target)},Triangle.prototype.plane=function(target){return console.warn("THREE.Triangle: .plane() has been renamed to .getPlane()."),this.getPlane(target)},Triangle.barycoordFromPoint=function(point,a,b,c,target){return console.warn("THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord()."),Triangle.getBarycoord(point,a,b,c,target)},Triangle.normal=function(a,b,c,target){return console.warn("THREE.Triangle: .normal() has been renamed to .getNormal()."),Triangle.getNormal(a,b,c,target)},Shape.prototype.extractAllPoints=function(divisions){return console.warn("THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead."),this.extractPoints(divisions)},Shape.prototype.extrude=function(options){return console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead."),new ExtrudeGeometry(this,options)},Shape.prototype.makeGeometry=function(options){return console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead."),new ShapeGeometry(this,options)},Vector2.prototype.fromAttribute=function(attribute,index,offset){return console.warn("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(attribute,index,offset)},Vector2.prototype.distanceToManhattan=function(v){return console.warn("THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(v)},Vector2.prototype.lengthManhattan=function(){return console.warn("THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Vector3.prototype.setEulerFromRotationMatrix=function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},Vector3.prototype.setEulerFromQuaternion=function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},Vector3.prototype.getPositionFromMatrix=function(m){return console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition()."),this.setFromMatrixPosition(m)},Vector3.prototype.getScaleFromMatrix=function(m){return console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."),this.setFromMatrixScale(m)},Vector3.prototype.getColumnFromMatrix=function(index,matrix){return console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn()."),this.setFromMatrixColumn(matrix,index)},Vector3.prototype.applyProjection=function(m){return console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead."),this.applyMatrix4(m)},Vector3.prototype.fromAttribute=function(attribute,index,offset){return console.warn("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(attribute,index,offset)},Vector3.prototype.distanceToManhattan=function(v){return console.warn("THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo()."),this.manhattanDistanceTo(v)},Vector3.prototype.lengthManhattan=function(){return console.warn("THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Vector4.prototype.fromAttribute=function(attribute,index,offset){return console.warn("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute()."),this.fromBufferAttribute(attribute,index,offset)},Vector4.prototype.lengthManhattan=function(){return console.warn("THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength()."),this.manhattanLength()},Object3D.prototype.getChildByName=function(name){return console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName()."),this.getObjectByName(name)},Object3D.prototype.renderDepth=function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")},Object3D.prototype.translate=function(distance,axis){return console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead."),this.translateOnAxis(axis,distance)},Object3D.prototype.getWorldRotation=function(){console.error("THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.")},Object3D.prototype.applyMatrix=function(matrix){return console.warn("THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(matrix)},Object.defineProperties(Object3D.prototype,{eulerOrder:{get:function(){return console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order},set:function(value){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order."),this.rotation.order=value}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")},set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}}),Mesh.prototype.setDrawMode=function(){console.error("THREE.Mesh: .setDrawMode() has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")},Object.defineProperties(Mesh.prototype,{drawMode:{get:function(){return console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode."),TrianglesDrawMode},set:function(){console.error("THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode. Transform your geometry via BufferGeometryUtils.toTrianglesDrawMode() if necessary.")}}}),SkinnedMesh.prototype.initBones=function(){console.error("THREE.SkinnedMesh: initBones() has been removed.")},PerspectiveCamera.prototype.setLens=function(focalLength,filmGauge){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup."),void 0!==filmGauge&&(this.filmGauge=filmGauge),this.setFocalLength(focalLength)},Object.defineProperties(Light.prototype,{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(value){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov."),this.shadow.camera.fov=value}},shadowCameraLeft:{set:function(value){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left."),this.shadow.camera.left=value}},shadowCameraRight:{set:function(value){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right."),this.shadow.camera.right=value}},shadowCameraTop:{set:function(value){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."),this.shadow.camera.top=value}},shadowCameraBottom:{set:function(value){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom."),this.shadow.camera.bottom=value}},shadowCameraNear:{set:function(value){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near."),this.shadow.camera.near=value}},shadowCameraFar:{set:function(value){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far."),this.shadow.camera.far=value}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}},shadowBias:{set:function(value){console.warn("THREE.Light: .shadowBias is now .shadow.bias."),this.shadow.bias=value}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(value){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width."),this.shadow.mapSize.width=value}},shadowMapHeight:{set:function(value){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height."),this.shadow.mapSize.height=value}}}),Object.defineProperties(BufferAttribute.prototype,{length:{get:function(){return console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead."),this.array.length}},dynamic:{get:function(){return console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.usage===DynamicDrawUsage},set:function(){console.warn("THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead."),this.setUsage(DynamicDrawUsage)}}}),BufferAttribute.prototype.setDynamic=function(value){return console.warn("THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===value?DynamicDrawUsage:StaticDrawUsage),this},BufferAttribute.prototype.copyIndicesArray=function(){console.error("THREE.BufferAttribute: .copyIndicesArray() has been removed.")},BufferAttribute.prototype.setArray=function(){console.error("THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},BufferGeometry.prototype.addIndex=function(index){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex()."),this.setIndex(index)},BufferGeometry.prototype.addAttribute=function(name,attribute){return console.warn("THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute()."),attribute&&attribute.isBufferAttribute||attribute&&attribute.isInterleavedBufferAttribute?"index"===name?(console.warn("THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute."),this.setIndex(attribute),this):this.setAttribute(name,attribute):(console.warn("THREE.BufferGeometry: .addAttribute() now expects ( name, attribute )."),this.setAttribute(name,new BufferAttribute(arguments[1],arguments[2])))},BufferGeometry.prototype.addDrawCall=function(start,count,indexOffset){void 0!==indexOffset&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset."),console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup()."),this.addGroup(start,count)},BufferGeometry.prototype.clearDrawCalls=function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups()."),this.clearGroups()},BufferGeometry.prototype.computeOffsets=function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")},BufferGeometry.prototype.removeAttribute=function(name){return console.warn("THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute()."),this.deleteAttribute(name)},BufferGeometry.prototype.applyMatrix=function(matrix){return console.warn("THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4()."),this.applyMatrix4(matrix)},Object.defineProperties(BufferGeometry.prototype,{drawcalls:{get:function(){return console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups."),this.groups}},offsets:{get:function(){return console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."),this.groups}}}),InterleavedBuffer.prototype.setDynamic=function(value){return console.warn("THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead."),this.setUsage(!0===value?DynamicDrawUsage:StaticDrawUsage),this},InterleavedBuffer.prototype.setArray=function(){console.error("THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers")},ExtrudeGeometry.prototype.getArrays=function(){console.error("THREE.ExtrudeGeometry: .getArrays() has been removed.")},ExtrudeGeometry.prototype.addShapeList=function(){console.error("THREE.ExtrudeGeometry: .addShapeList() has been removed.")},ExtrudeGeometry.prototype.addShape=function(){console.error("THREE.ExtrudeGeometry: .addShape() has been removed.")},Scene.prototype.dispose=function(){console.error("THREE.Scene: .dispose() has been removed.")},Uniform.prototype.onUpdate=function(){return console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead."),this},Object.defineProperties(Material.prototype,{wrapAround:{get:function(){console.warn("THREE.Material: .wrapAround has been removed.")},set:function(){console.warn("THREE.Material: .wrapAround has been removed.")}},overdraw:{get:function(){console.warn("THREE.Material: .overdraw has been removed.")},set:function(){console.warn("THREE.Material: .overdraw has been removed.")}},wrapRGB:{get:function(){return console.warn("THREE.Material: .wrapRGB has been removed."),new Color}},shading:{get:function(){console.error("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead.")},set:function(value){console.warn("THREE."+this.type+": .shading has been removed. Use the boolean .flatShading instead."),this.flatShading=value===FlatShading}},stencilMask:{get:function(){return console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask},set:function(value){console.warn("THREE."+this.type+": .stencilMask has been removed. Use .stencilFuncMask instead."),this.stencilFuncMask=value}}}),Object.defineProperties(ShaderMaterial.prototype,{derivatives:{get:function(){return console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives},set:function(value){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives."),this.extensions.derivatives=value}}}),WebGLRenderer.prototype.clearTarget=function(renderTarget,color,depth,stencil){console.warn("THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead."),this.setRenderTarget(renderTarget),this.clear(color,depth,stencil)},WebGLRenderer.prototype.animate=function(callback){console.warn("THREE.WebGLRenderer: .animate() is now .setAnimationLoop()."),this.setAnimationLoop(callback)},WebGLRenderer.prototype.getCurrentRenderTarget=function(){return console.warn("THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget()."),this.getRenderTarget()},WebGLRenderer.prototype.getMaxAnisotropy=function(){return console.warn("THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy()."),this.capabilities.getMaxAnisotropy()},WebGLRenderer.prototype.getPrecision=function(){return console.warn("THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision."),this.capabilities.precision},WebGLRenderer.prototype.resetGLState=function(){return console.warn("THREE.WebGLRenderer: .resetGLState() is now .state.reset()."),this.state.reset()},WebGLRenderer.prototype.supportsFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' )."),this.extensions.get("OES_texture_float")},WebGLRenderer.prototype.supportsHalfFloatTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."),this.extensions.get("OES_texture_half_float")},WebGLRenderer.prototype.supportsStandardDerivatives=function(){return console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' )."),this.extensions.get("OES_standard_derivatives")},WebGLRenderer.prototype.supportsCompressedTextureS3TC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' )."),this.extensions.get("WEBGL_compressed_texture_s3tc")},WebGLRenderer.prototype.supportsCompressedTexturePVRTC=function(){return console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' )."),this.extensions.get("WEBGL_compressed_texture_pvrtc")},WebGLRenderer.prototype.supportsBlendMinMax=function(){return console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' )."),this.extensions.get("EXT_blend_minmax")},WebGLRenderer.prototype.supportsVertexTextures=function(){return console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."),this.capabilities.vertexTextures},WebGLRenderer.prototype.supportsInstancedArrays=function(){return console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' )."),this.extensions.get("ANGLE_instanced_arrays")},WebGLRenderer.prototype.enableScissorTest=function(boolean){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest()."),this.setScissorTest(boolean)},WebGLRenderer.prototype.initMaterial=function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},WebGLRenderer.prototype.addPrePlugin=function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")},WebGLRenderer.prototype.addPostPlugin=function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},WebGLRenderer.prototype.updateShadowMap=function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")},WebGLRenderer.prototype.setFaceCulling=function(){console.warn("THREE.WebGLRenderer: .setFaceCulling() has been removed.")},WebGLRenderer.prototype.allocTextureUnit=function(){console.warn("THREE.WebGLRenderer: .allocTextureUnit() has been removed.")},WebGLRenderer.prototype.setTexture=function(){console.warn("THREE.WebGLRenderer: .setTexture() has been removed.")},WebGLRenderer.prototype.setTexture2D=function(){console.warn("THREE.WebGLRenderer: .setTexture2D() has been removed.")},WebGLRenderer.prototype.setTextureCube=function(){console.warn("THREE.WebGLRenderer: .setTextureCube() has been removed.")},WebGLRenderer.prototype.getActiveMipMapLevel=function(){return console.warn("THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel()."),this.getActiveMipmapLevel()},Object.defineProperties(WebGLRenderer.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(value){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled."),this.shadowMap.enabled=value}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(value){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."),this.shadowMap.type=value}},shadowMapCullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMapCullFace has been removed. Set Material.shadowSide instead.")}},context:{get:function(){return console.warn("THREE.WebGLRenderer: .context has been removed. Use .getContext() instead."),this.getContext()}},vr:{get:function(){return console.warn("THREE.WebGLRenderer: .vr has been renamed to .xr"),this.xr}},gammaInput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead."),!1},set:function(){console.warn("THREE.WebGLRenderer: .gammaInput has been removed. Set the encoding for textures via Texture.encoding instead.")}},gammaOutput:{get:function(){return console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),!1},set:function(value){console.warn("THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead."),this.outputEncoding=!0===value?sRGBEncoding:LinearEncoding}},toneMappingWhitePoint:{get:function(){return console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed."),1},set:function(){console.warn("THREE.WebGLRenderer: .toneMappingWhitePoint has been removed.")}}}),Object.defineProperties(WebGLShadowMap.prototype,{cullFace:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.cullFace has been removed. Set Material.shadowSide instead.")}},renderReverseSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderReverseSided has been removed. Set Material.shadowSide instead.")}},renderSingleSided:{get:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")},set:function(){console.warn("THREE.WebGLRenderer: .shadowMap.renderSingleSided has been removed. Set Material.shadowSide instead.")}}}),Object.defineProperties(WebGLRenderTarget.prototype,{wrapS:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS},set:function(value){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS."),this.texture.wrapS=value}},wrapT:{get:function(){return console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT},set:function(value){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT."),this.texture.wrapT=value}},magFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter},set:function(value){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."),this.texture.magFilter=value}},minFilter:{get:function(){return console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter},set:function(value){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter."),this.texture.minFilter=value}},anisotropy:{get:function(){return console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy},set:function(value){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."),this.texture.anisotropy=value}},offset:{get:function(){return console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset},set:function(value){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset."),this.texture.offset=value}},repeat:{get:function(){return console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat},set:function(value){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat."),this.texture.repeat=value}},format:{get:function(){return console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format},set:function(value){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format."),this.texture.format=value}},type:{get:function(){return console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type},set:function(value){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."),this.texture.type=value}},generateMipmaps:{get:function(){return console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps},set:function(value){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps."),this.texture.generateMipmaps=value}}}),Audio.prototype.load=function(file){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");const scope=this;return(new AudioLoader).load(file,(function(buffer){scope.setBuffer(buffer)})),this},AudioAnalyser.prototype.getData=function(){return console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData()."),this.getFrequencyData()},CubeCamera.prototype.updateCubeMap=function(renderer,scene){return console.warn("THREE.CubeCamera: .updateCubeMap() is now .update()."),this.update(renderer,scene)},CubeCamera.prototype.clear=function(renderer,color,depth,stencil){return console.warn("THREE.CubeCamera: .clear() is now .renderTarget.clear()."),this.renderTarget.clear(renderer,color,depth,stencil)},ImageUtils.crossOrigin=void 0,ImageUtils.loadTexture=function(url,mapping,onLoad,onError){console.warn("THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.");const loader=new TextureLoader;loader.setCrossOrigin(this.crossOrigin);const texture=loader.load(url,onLoad,void 0,onError);return mapping&&(texture.mapping=mapping),texture},ImageUtils.loadTextureCube=function(urls,mapping,onLoad,onError){console.warn("THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.");const loader=new CubeTextureLoader;loader.setCrossOrigin(this.crossOrigin);const texture=loader.load(urls,onLoad,void 0,onError);return mapping&&(texture.mapping=mapping),texture},ImageUtils.loadCompressedTexture=function(){console.error("THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.")},ImageUtils.loadCompressedTextureCube=function(){console.error("THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.")};const SceneUtils={createMultiMaterialObject:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},detach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")},attach:function(){console.error("THREE.SceneUtils has been moved to /examples/jsm/utils/SceneUtils.js")}};function LensFlare(){console.error("THREE.LensFlare has been moved to /examples/jsm/objects/Lensflare.js")}"undefined"!=typeof __THREE_DEVTOOLS__&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:REVISION}})),"undefined"!=typeof window&&(window.__THREE__?console.warn("WARNING: Multiple instances of Three.js being imported."):window.__THREE__=REVISION)},function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(684)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"styled",(function(){return styled})),__webpack_require__.d(__webpack_exports__,"ignoreSsrWarning",(function(){return ignoreSsrWarning}));var _emotion_styled__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(502),styled=(__webpack_require__(59),__webpack_require__(321),__webpack_require__(148),_emotion_styled__WEBPACK_IMPORTED_MODULE_0__.a),ignoreSsrWarning="/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */"},function(module,exports,__webpack_require__){module.exports=__webpack_require__(847)()},,function(module,__webpack_exports__,__webpack_require__){"use strict";function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}__webpack_require__.d(__webpack_exports__,"a",(function(){return _defineProperty}))},function(module,exports,__webpack_require__){"use strict";module.exports=__webpack_require__(890)},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return curriedDarken})),__webpack_require__.d(__webpack_exports__,"b",(function(){return curriedLighten})),__webpack_require__.d(__webpack_exports__,"c",(function(){return curriedOpacify})),__webpack_require__.d(__webpack_exports__,"d",(function(){return rgba})),__webpack_require__.d(__webpack_exports__,"e",(function(){return curriedTransparentize}));var esm_extends=__webpack_require__(17),assertThisInitialized=__webpack_require__(114),inheritsLoose=__webpack_require__(226),getPrototypeOf=__webpack_require__(182),setPrototypeOf=__webpack_require__(113);var isNativeReflectConstruct=__webpack_require__(237);function construct_construct(Parent,args,Class){return(construct_construct=Object(isNativeReflectConstruct.a)()?Reflect.construct:function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var instance=new(Function.bind.apply(Parent,a));return Class&&Object(setPrototypeOf.a)(instance,Class.prototype),instance}).apply(null,arguments)}function wrapNativeSuper_wrapNativeSuper(Class){var _cache="function"==typeof Map?new Map:void 0;return(wrapNativeSuper_wrapNativeSuper=function _wrapNativeSuper(Class){if(null===Class||!function _isNativeFunction(fn){return-1!==Function.toString.call(fn).indexOf("[native code]")}(Class))return Class;if("function"!=typeof Class)throw new TypeError("Super expression must either be null or a function");if(void 0!==_cache){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return construct_construct(Class,arguments,Object(getPrototypeOf.a)(this).constructor)}return Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),Object(setPrototypeOf.a)(Wrapper,Class)})(Class)}var polished_esm_PolishedError=function(_Error){function PolishedError(code){var _this;return _this=_Error.call(this,"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#"+code+" for more information.")||this,Object(assertThisInitialized.a)(_this)}return Object(inheritsLoose.a)(PolishedError,_Error),PolishedError}(wrapNativeSuper_wrapNativeSuper(Error));function colorToInt(color){return Math.round(255*color)}function convertToInt(red,green,blue){return colorToInt(red)+","+colorToInt(green)+","+colorToInt(blue)}function hslToRgb(hue,saturation,lightness,convert){if(void 0===convert&&(convert=convertToInt),0===saturation)return convert(lightness,lightness,lightness);var huePrime=(hue%360+360)%360/60,chroma=(1-Math.abs(2*lightness-1))*saturation,secondComponent=chroma*(1-Math.abs(huePrime%2-1)),red=0,green=0,blue=0;huePrime>=0&&huePrime<1?(red=chroma,green=secondComponent):huePrime>=1&&huePrime<2?(red=secondComponent,green=chroma):huePrime>=2&&huePrime<3?(green=chroma,blue=secondComponent):huePrime>=3&&huePrime<4?(green=secondComponent,blue=chroma):huePrime>=4&&huePrime<5?(red=secondComponent,blue=chroma):huePrime>=5&&huePrime<6&&(red=chroma,blue=secondComponent);var lightnessModification=lightness-chroma/2;return convert(red+lightnessModification,green+lightnessModification,blue+lightnessModification)}var namedColorMap={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"639",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var hexRegex=/^#[a-fA-F0-9]{6}$/,hexRgbaRegex=/^#[a-fA-F0-9]{8}$/,reducedHexRegex=/^#[a-fA-F0-9]{3}$/,reducedRgbaHexRegex=/^#[a-fA-F0-9]{4}$/,rgbRegex=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i,rgbaRegex=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i,hslRegex=/^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i,hslaRegex=/^hsla\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i;function parseToRgb(color){if("string"!=typeof color)throw new polished_esm_PolishedError(3);var normalizedColor=function nameToHex(color){if("string"!=typeof color)return color;var normalizedColorName=color.toLowerCase();return namedColorMap[normalizedColorName]?"#"+namedColorMap[normalizedColorName]:color}(color);if(normalizedColor.match(hexRegex))return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16)};if(normalizedColor.match(hexRgbaRegex)){var alpha=parseFloat((parseInt(""+normalizedColor[7]+normalizedColor[8],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[2],16),green:parseInt(""+normalizedColor[3]+normalizedColor[4],16),blue:parseInt(""+normalizedColor[5]+normalizedColor[6],16),alpha:alpha}}if(normalizedColor.match(reducedHexRegex))return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16)};if(normalizedColor.match(reducedRgbaHexRegex)){var _alpha=parseFloat((parseInt(""+normalizedColor[4]+normalizedColor[4],16)/255).toFixed(2));return{red:parseInt(""+normalizedColor[1]+normalizedColor[1],16),green:parseInt(""+normalizedColor[2]+normalizedColor[2],16),blue:parseInt(""+normalizedColor[3]+normalizedColor[3],16),alpha:_alpha}}var rgbMatched=rgbRegex.exec(normalizedColor);if(rgbMatched)return{red:parseInt(""+rgbMatched[1],10),green:parseInt(""+rgbMatched[2],10),blue:parseInt(""+rgbMatched[3],10)};var rgbaMatched=rgbaRegex.exec(normalizedColor.substring(0,50));if(rgbaMatched)return{red:parseInt(""+rgbaMatched[1],10),green:parseInt(""+rgbaMatched[2],10),blue:parseInt(""+rgbaMatched[3],10),alpha:parseFloat(""+rgbaMatched[4])};var hslMatched=hslRegex.exec(normalizedColor);if(hslMatched){var rgbColorString="rgb("+hslToRgb(parseInt(""+hslMatched[1],10),parseInt(""+hslMatched[2],10)/100,parseInt(""+hslMatched[3],10)/100)+")",hslRgbMatched=rgbRegex.exec(rgbColorString);if(!hslRgbMatched)throw new polished_esm_PolishedError(4,normalizedColor,rgbColorString);return{red:parseInt(""+hslRgbMatched[1],10),green:parseInt(""+hslRgbMatched[2],10),blue:parseInt(""+hslRgbMatched[3],10)}}var hslaMatched=hslaRegex.exec(normalizedColor.substring(0,50));if(hslaMatched){var _rgbColorString="rgb("+hslToRgb(parseInt(""+hslaMatched[1],10),parseInt(""+hslaMatched[2],10)/100,parseInt(""+hslaMatched[3],10)/100)+")",_hslRgbMatched=rgbRegex.exec(_rgbColorString);if(!_hslRgbMatched)throw new polished_esm_PolishedError(4,normalizedColor,_rgbColorString);return{red:parseInt(""+_hslRgbMatched[1],10),green:parseInt(""+_hslRgbMatched[2],10),blue:parseInt(""+_hslRgbMatched[3],10),alpha:parseFloat(""+hslaMatched[4])}}throw new polished_esm_PolishedError(5)}function parseToHsl(color){return function rgbToHsl(color){var hue,red=color.red/255,green=color.green/255,blue=color.blue/255,max=Math.max(red,green,blue),min=Math.min(red,green,blue),lightness=(max+min)/2;if(max===min)return void 0!==color.alpha?{hue:0,saturation:0,lightness:lightness,alpha:color.alpha}:{hue:0,saturation:0,lightness:lightness};var delta=max-min,saturation=lightness>.5?delta/(2-max-min):delta/(max+min);switch(max){case red:hue=(green-blue)/delta+(green=1?hslToHex(value,saturation,lightness):"rgba("+hslToRgb(value,saturation,lightness)+","+alpha+")";if("object"==typeof value&&void 0===saturation&&void 0===lightness&&void 0===alpha)return value.alpha>=1?hslToHex(value.hue,value.saturation,value.lightness):"rgba("+hslToRgb(value.hue,value.saturation,value.lightness)+","+value.alpha+")";throw new polished_esm_PolishedError(2)}function rgb(value,green,blue){if("number"==typeof value&&"number"==typeof green&&"number"==typeof blue)return reduceHexValue("#"+numberToHex(value)+numberToHex(green)+numberToHex(blue));if("object"==typeof value&&void 0===green&&void 0===blue)return reduceHexValue("#"+numberToHex(value.red)+numberToHex(value.green)+numberToHex(value.blue));throw new polished_esm_PolishedError(6)}function rgba(firstValue,secondValue,thirdValue,fourthValue){if("string"==typeof firstValue&&"number"==typeof secondValue){var rgbValue=parseToRgb(firstValue);return"rgba("+rgbValue.red+","+rgbValue.green+","+rgbValue.blue+","+secondValue+")"}if("number"==typeof firstValue&&"number"==typeof secondValue&&"number"==typeof thirdValue&&"number"==typeof fourthValue)return fourthValue>=1?rgb(firstValue,secondValue,thirdValue):"rgba("+firstValue+","+secondValue+","+thirdValue+","+fourthValue+")";if("object"==typeof firstValue&&void 0===secondValue&&void 0===thirdValue&&void 0===fourthValue)return firstValue.alpha>=1?rgb(firstValue.red,firstValue.green,firstValue.blue):"rgba("+firstValue.red+","+firstValue.green+","+firstValue.blue+","+firstValue.alpha+")";throw new polished_esm_PolishedError(7)}function toColorString(color){if("object"!=typeof color)throw new polished_esm_PolishedError(8);if(function isRgba(color){return"number"==typeof color.red&&"number"==typeof color.green&&"number"==typeof color.blue&&"number"==typeof color.alpha}(color))return rgba(color);if(function isRgb(color){return"number"==typeof color.red&&"number"==typeof color.green&&"number"==typeof color.blue&&("number"!=typeof color.alpha||void 0===color.alpha)}(color))return rgb(color);if(function isHsla(color){return"number"==typeof color.hue&&"number"==typeof color.saturation&&"number"==typeof color.lightness&&"number"==typeof color.alpha}(color))return hsla(color);if(function isHsl(color){return"number"==typeof color.hue&&"number"==typeof color.saturation&&"number"==typeof color.lightness&&("number"!=typeof color.alpha||void 0===color.alpha)}(color))return hsl(color);throw new polished_esm_PolishedError(8)}function curried(f,length,acc){return function fn(){var combined=acc.concat(Array.prototype.slice.call(arguments));return combined.length>=length?f.apply(this,combined):curried(f,length,combined)}}function curry(f){return curried(f,f.length,[])}function guard(lowerBoundary,upperBoundary,value){return Math.max(lowerBoundary,Math.min(upperBoundary,value))}function darken(amount,color){if("transparent"===color)return color;var hslColor=parseToHsl(color);return toColorString(Object(esm_extends.a)({},hslColor,{lightness:guard(0,1,hslColor.lightness-parseFloat(amount))}))}var curriedDarken=curry(darken);function lighten(amount,color){if("transparent"===color)return color;var hslColor=parseToHsl(color);return toColorString(Object(esm_extends.a)({},hslColor,{lightness:guard(0,1,hslColor.lightness+parseFloat(amount))}))}var curriedLighten=curry(lighten);function opacify(amount,color){if("transparent"===color)return color;var parsedColor=parseToRgb(color),alpha="number"==typeof parsedColor.alpha?parsedColor.alpha:1;return rgba(Object(esm_extends.a)({},parsedColor,{alpha:guard(0,1,(100*alpha+100*parseFloat(amount))/100)}))}var curriedOpacify=curry(opacify);function transparentize(amount,color){if("transparent"===color)return color;var parsedColor=parseToRgb(color),alpha="number"==typeof parsedColor.alpha?parsedColor.alpha:1;return rgba(Object(esm_extends.a)({},parsedColor,{alpha:guard(0,1,+(100*alpha-100*parseFloat(amount)).toFixed(2)/100)}))}var curriedTransparentize=curry(transparentize)},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),global=__webpack_require__(34),getBuiltIn=__webpack_require__(100),IS_PURE=__webpack_require__(110),DESCRIPTORS=__webpack_require__(58),NATIVE_SYMBOL=__webpack_require__(260),fails=__webpack_require__(35),has=__webpack_require__(52),isArray=__webpack_require__(201),isObject=__webpack_require__(41),isSymbol=__webpack_require__(162),anObject=__webpack_require__(44),toObject=__webpack_require__(74),toIndexedObject=__webpack_require__(83),toPropertyKey=__webpack_require__(196),$toString=__webpack_require__(53),createPropertyDescriptor=__webpack_require__(138),nativeObjectCreate=__webpack_require__(111),objectKeys=__webpack_require__(168),getOwnPropertyNamesModule=__webpack_require__(139),getOwnPropertyNamesExternal=__webpack_require__(272),getOwnPropertySymbolsModule=__webpack_require__(268),getOwnPropertyDescriptorModule=__webpack_require__(92),definePropertyModule=__webpack_require__(61),propertyIsEnumerableModule=__webpack_require__(195),createNonEnumerableProperty=__webpack_require__(93),redefine=__webpack_require__(68),shared=__webpack_require__(198),sharedKey=__webpack_require__(200),hiddenKeys=__webpack_require__(164),uid=__webpack_require__(199),wellKnownSymbol=__webpack_require__(38),wrappedWellKnownSymbolModule=__webpack_require__(371),defineWellKnownSymbol=__webpack_require__(45),setToStringTag=__webpack_require__(94),InternalStateModule=__webpack_require__(75),$forEach=__webpack_require__(123).forEach,HIDDEN=sharedKey("hidden"),TO_PRIMITIVE=wellKnownSymbol("toPrimitive"),setInternalState=InternalStateModule.set,getInternalState=InternalStateModule.getterFor("Symbol"),ObjectPrototype=Object.prototype,$Symbol=global.Symbol,$stringify=getBuiltIn("JSON","stringify"),nativeGetOwnPropertyDescriptor=getOwnPropertyDescriptorModule.f,nativeDefineProperty=definePropertyModule.f,nativeGetOwnPropertyNames=getOwnPropertyNamesExternal.f,nativePropertyIsEnumerable=propertyIsEnumerableModule.f,AllSymbols=shared("symbols"),ObjectPrototypeSymbols=shared("op-symbols"),StringToSymbolRegistry=shared("string-to-symbol-registry"),SymbolToStringRegistry=shared("symbol-to-string-registry"),WellKnownSymbolsStore=shared("wks"),QObject=global.QObject,USE_SETTER=!QObject||!QObject.prototype||!QObject.prototype.findChild,setSymbolDescriptor=DESCRIPTORS&&fails((function(){return 7!=nativeObjectCreate(nativeDefineProperty({},"a",{get:function(){return nativeDefineProperty(this,"a",{value:7}).a}})).a}))?function(O,P,Attributes){var ObjectPrototypeDescriptor=nativeGetOwnPropertyDescriptor(ObjectPrototype,P);ObjectPrototypeDescriptor&&delete ObjectPrototype[P],nativeDefineProperty(O,P,Attributes),ObjectPrototypeDescriptor&&O!==ObjectPrototype&&nativeDefineProperty(ObjectPrototype,P,ObjectPrototypeDescriptor)}:nativeDefineProperty,wrap=function(tag,description){var symbol=AllSymbols[tag]=nativeObjectCreate($Symbol.prototype);return setInternalState(symbol,{type:"Symbol",tag:tag,description:description}),DESCRIPTORS||(symbol.description=description),symbol},$defineProperty=function defineProperty(O,P,Attributes){O===ObjectPrototype&&$defineProperty(ObjectPrototypeSymbols,P,Attributes),anObject(O);var key=toPropertyKey(P);return anObject(Attributes),has(AllSymbols,key)?(Attributes.enumerable?(has(O,HIDDEN)&&O[HIDDEN][key]&&(O[HIDDEN][key]=!1),Attributes=nativeObjectCreate(Attributes,{enumerable:createPropertyDescriptor(0,!1)})):(has(O,HIDDEN)||nativeDefineProperty(O,HIDDEN,createPropertyDescriptor(1,{})),O[HIDDEN][key]=!0),setSymbolDescriptor(O,key,Attributes)):nativeDefineProperty(O,key,Attributes)},$defineProperties=function defineProperties(O,Properties){anObject(O);var properties=toIndexedObject(Properties),keys=objectKeys(properties).concat($getOwnPropertySymbols(properties));return $forEach(keys,(function(key){DESCRIPTORS&&!$propertyIsEnumerable.call(properties,key)||$defineProperty(O,key,properties[key])})),O},$propertyIsEnumerable=function propertyIsEnumerable(V){var P=toPropertyKey(V),enumerable=nativePropertyIsEnumerable.call(this,P);return!(this===ObjectPrototype&&has(AllSymbols,P)&&!has(ObjectPrototypeSymbols,P))&&(!(enumerable||!has(this,P)||!has(AllSymbols,P)||has(this,HIDDEN)&&this[HIDDEN][P])||enumerable)},$getOwnPropertyDescriptor=function getOwnPropertyDescriptor(O,P){var it=toIndexedObject(O),key=toPropertyKey(P);if(it!==ObjectPrototype||!has(AllSymbols,key)||has(ObjectPrototypeSymbols,key)){var descriptor=nativeGetOwnPropertyDescriptor(it,key);return!descriptor||!has(AllSymbols,key)||has(it,HIDDEN)&&it[HIDDEN][key]||(descriptor.enumerable=!0),descriptor}},$getOwnPropertyNames=function getOwnPropertyNames(O){var names=nativeGetOwnPropertyNames(toIndexedObject(O)),result=[];return $forEach(names,(function(key){has(AllSymbols,key)||has(hiddenKeys,key)||result.push(key)})),result},$getOwnPropertySymbols=function getOwnPropertySymbols(O){var IS_OBJECT_PROTOTYPE=O===ObjectPrototype,names=nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE?ObjectPrototypeSymbols:toIndexedObject(O)),result=[];return $forEach(names,(function(key){!has(AllSymbols,key)||IS_OBJECT_PROTOTYPE&&!has(ObjectPrototype,key)||result.push(AllSymbols[key])})),result};(NATIVE_SYMBOL||(redefine(($Symbol=function Symbol(){if(this instanceof $Symbol)throw TypeError("Symbol is not a constructor");var description=arguments.length&&void 0!==arguments[0]?$toString(arguments[0]):void 0,tag=uid(description),setter=function(value){this===ObjectPrototype&&setter.call(ObjectPrototypeSymbols,value),has(this,HIDDEN)&&has(this[HIDDEN],tag)&&(this[HIDDEN][tag]=!1),setSymbolDescriptor(this,tag,createPropertyDescriptor(1,value))};return DESCRIPTORS&&USE_SETTER&&setSymbolDescriptor(ObjectPrototype,tag,{configurable:!0,set:setter}),wrap(tag,description)}).prototype,"toString",(function toString(){return getInternalState(this).tag})),redefine($Symbol,"withoutSetter",(function(description){return wrap(uid(description),description)})),propertyIsEnumerableModule.f=$propertyIsEnumerable,definePropertyModule.f=$defineProperty,getOwnPropertyDescriptorModule.f=$getOwnPropertyDescriptor,getOwnPropertyNamesModule.f=getOwnPropertyNamesExternal.f=$getOwnPropertyNames,getOwnPropertySymbolsModule.f=$getOwnPropertySymbols,wrappedWellKnownSymbolModule.f=function(name){return wrap(wellKnownSymbol(name),name)},DESCRIPTORS&&(nativeDefineProperty($Symbol.prototype,"description",{configurable:!0,get:function description(){return getInternalState(this).description}}),IS_PURE||redefine(ObjectPrototype,"propertyIsEnumerable",$propertyIsEnumerable,{unsafe:!0}))),$({global:!0,wrap:!0,forced:!NATIVE_SYMBOL,sham:!NATIVE_SYMBOL},{Symbol:$Symbol}),$forEach(objectKeys(WellKnownSymbolsStore),(function(name){defineWellKnownSymbol(name)})),$({target:"Symbol",stat:!0,forced:!NATIVE_SYMBOL},{for:function(key){var string=$toString(key);if(has(StringToSymbolRegistry,string))return StringToSymbolRegistry[string];var symbol=$Symbol(string);return StringToSymbolRegistry[string]=symbol,SymbolToStringRegistry[symbol]=string,symbol},keyFor:function keyFor(sym){if(!isSymbol(sym))throw TypeError(sym+" is not a symbol");if(has(SymbolToStringRegistry,sym))return SymbolToStringRegistry[sym]},useSetter:function(){USE_SETTER=!0},useSimple:function(){USE_SETTER=!1}}),$({target:"Object",stat:!0,forced:!NATIVE_SYMBOL,sham:!DESCRIPTORS},{create:function create(O,Properties){return void 0===Properties?nativeObjectCreate(O):$defineProperties(nativeObjectCreate(O),Properties)},defineProperty:$defineProperty,defineProperties:$defineProperties,getOwnPropertyDescriptor:$getOwnPropertyDescriptor}),$({target:"Object",stat:!0,forced:!NATIVE_SYMBOL},{getOwnPropertyNames:$getOwnPropertyNames,getOwnPropertySymbols:$getOwnPropertySymbols}),$({target:"Object",stat:!0,forced:fails((function(){getOwnPropertySymbolsModule.f(1)}))},{getOwnPropertySymbols:function getOwnPropertySymbols(it){return getOwnPropertySymbolsModule.f(toObject(it))}}),$stringify)&&$({target:"JSON",stat:!0,forced:!NATIVE_SYMBOL||fails((function(){var symbol=$Symbol();return"[null]"!=$stringify([symbol])||"{}"!=$stringify({a:symbol})||"{}"!=$stringify(Object(symbol))}))},{stringify:function stringify(it,replacer,space){for(var $replacer,args=[it],index=1;arguments.length>index;)args.push(arguments[index++]);if($replacer=replacer,(isObject(replacer)||void 0!==it)&&!isSymbol(it))return isArray(replacer)||(replacer=function(key,value){if("function"==typeof $replacer&&(value=$replacer.call(this,key,value)),!isSymbol(value))return value}),args[1]=replacer,$stringify.apply(null,args)}});$Symbol.prototype[TO_PRIMITIVE]||createNonEnumerableProperty($Symbol.prototype,TO_PRIMITIVE,$Symbol.prototype.valueOf),setToStringTag($Symbol,"Symbol"),hiddenKeys[HIDDEN]=!0},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return logger})),__webpack_require__.d(__webpack_exports__,"b",(function(){return once})),__webpack_require__.d(__webpack_exports__,"c",(function(){return pretty}));__webpack_require__(24),__webpack_require__(142),__webpack_require__(11),__webpack_require__(16),__webpack_require__(13),__webpack_require__(15),__webpack_require__(54),__webpack_require__(33);var global__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(18),global__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_8__),LOGLEVEL=global__WEBPACK_IMPORTED_MODULE_8___default.a.LOGLEVEL,console=global__WEBPACK_IMPORTED_MODULE_8___default.a.console,levels={trace:1,debug:2,info:3,warn:4,error:5,silent:10},currentLogLevelNumber=levels[LOGLEVEL]||levels.info,logger={trace:function trace(message){for(var _len=arguments.length,rest=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++)rest[_key-1]=arguments[_key];return currentLogLevelNumber<=levels.trace&&console.trace.apply(console,[message].concat(rest))},debug:function debug(message){for(var _len2=arguments.length,rest=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++)rest[_key2-1]=arguments[_key2];return currentLogLevelNumber<=levels.debug&&console.debug.apply(console,[message].concat(rest))},info:function info(message){for(var _len3=arguments.length,rest=new Array(_len3>1?_len3-1:0),_key3=1;_key3<_len3;_key3++)rest[_key3-1]=arguments[_key3];return currentLogLevelNumber<=levels.info&&console.info.apply(console,[message].concat(rest))},warn:function warn(message){for(var _len4=arguments.length,rest=new Array(_len4>1?_len4-1:0),_key4=1;_key4<_len4;_key4++)rest[_key4-1]=arguments[_key4];return currentLogLevelNumber<=levels.warn&&console.warn.apply(console,[message].concat(rest))},error:function error(message){for(var _len5=arguments.length,rest=new Array(_len5>1?_len5-1:0),_key5=1;_key5<_len5;_key5++)rest[_key5-1]=arguments[_key5];return currentLogLevelNumber<=levels.error&&console.error.apply(console,[message].concat(rest))},log:function log(message){for(var _len6=arguments.length,rest=new Array(_len6>1?_len6-1:0),_key6=1;_key6<_len6;_key6++)rest[_key6-1]=arguments[_key6];return currentLogLevelNumber1?_len7-1:0),_key7=1;_key7<_len7;_key7++)rest[_key7-1]=arguments[_key7];return logger[type].apply(logger,[message].concat(rest))}}};once.clear=function(){return logged.clear()},once.trace=once("trace"),once.debug=once("debug"),once.info=once("info"),once.warn=once("warn"),once.error=once("error"),once.log=once("log");var pretty=function pretty(type){return function(){for(var argArray=[],_len8=arguments.length,args=new Array(_len8),_key8=0;_key8<_len8;_key8++)args[_key8]=arguments[_key8];if(args.length){var reResultArray,startTagRe=//gi,endTagRe=/<\/span>/gi;for(argArray.push(args[0].replace(startTagRe,"%c").replace(endTagRe,"%c"));reResultArray=startTagRe.exec(args[0]);)argArray.push(reResultArray[2]),argArray.push("");for(var j=1;j=target.length?(state.target=void 0,{value:void 0,done:!0}):"keys"==kind?{value:index,done:!1}:"values"==kind?{value:target[index],done:!1}:{value:[index,target[index]],done:!1}}),"values"),Iterators.Arguments=Iterators.Array,addToUnscopables("keys"),addToUnscopables("values"),addToUnscopables("entries")},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),isObject=__webpack_require__(41),isArray=__webpack_require__(201),toAbsoluteIndex=__webpack_require__(266),toLength=__webpack_require__(69),toIndexedObject=__webpack_require__(83),createProperty=__webpack_require__(166),wellKnownSymbol=__webpack_require__(38),HAS_SPECIES_SUPPORT=__webpack_require__(167)("slice"),SPECIES=wellKnownSymbol("species"),nativeSlice=[].slice,max=Math.max;$({target:"Array",proto:!0,forced:!HAS_SPECIES_SUPPORT},{slice:function slice(start,end){var Constructor,result,n,O=toIndexedObject(this),length=toLength(O.length),k=toAbsoluteIndex(start,length),fin=toAbsoluteIndex(void 0===end?length:end,length);if(isArray(O)&&("function"!=typeof(Constructor=O.constructor)||Constructor!==Array&&!isArray(Constructor.prototype)?isObject(Constructor)&&null===(Constructor=Constructor[SPECIES])&&(Constructor=void 0):Constructor=void 0,Constructor===Array||void 0===Constructor))return nativeSlice.call(O,k,fin);for(result=new(void 0===Constructor?Array:Constructor)(max(fin-k,0)),n=0;k=string.length?{value:void 0,done:!0}:(point=charAt(string,index),state.index+=point.length,{value:point,done:!1})}))},function(module,__webpack_exports__,__webpack_require__){"use strict";function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i1&&"boolean"!=typeof allowMissing)throw new $TypeError('"allowMissing" argument must be a boolean');var parts=stringToPath(name),intrinsicBaseName=parts.length>0?parts[0]:"",intrinsic=getBaseIntrinsic("%"+intrinsicBaseName+"%",allowMissing),intrinsicRealName=intrinsic.name,value=intrinsic.value,skipFurtherCaching=!1,alias=intrinsic.alias;alias&&(intrinsicBaseName=alias[0],$spliceApply(parts,$concat([0,1],alias)));for(var i=1,isOwn=!0;i=parts.length){var desc=$gOPD(value,part);value=(isOwn=!!desc)&&"get"in desc&&!("originalValue"in desc.get)?desc.get:value[part]}else isOwn=hasOwn(value,part),value=value[part];isOwn&&!skipFurtherCaching&&(INTRINSICS[intrinsicRealName]=value)}}return value}},function(module,exports,__webpack_require__){__webpack_require__(45)("iterator")},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_exports__.a=function dedent(templ){for(var values=[],_i=1;_i=51||!fails((function(){var array=[];return array[IS_CONCAT_SPREADABLE]=!1,array.concat()[0]!==array})),SPECIES_SUPPORT=arrayMethodHasSpeciesSupport("concat"),isConcatSpreadable=function(O){if(!isObject(O))return!1;var spreadable=O[IS_CONCAT_SPREADABLE];return void 0!==spreadable?!!spreadable:isArray(O)};$({target:"Array",proto:!0,forced:!IS_CONCAT_SPREADABLE_SUPPORT||!SPECIES_SUPPORT},{concat:function concat(arg){var i,k,length,len,E,O=toObject(this),A=arraySpeciesCreate(O,0),n=0;for(i=-1,length=arguments.length;i9007199254740991)throw TypeError("Maximum allowed index exceeded");for(k=0;k=9007199254740991)throw TypeError("Maximum allowed index exceeded");createProperty(A,n++,E)}return A.length=n,A}})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return headerCommon})),__webpack_require__.d(__webpack_exports__,"a",(function(){return codeCommon})),__webpack_require__.d(__webpack_exports__,"d",(function(){return withReset})),__webpack_require__.d(__webpack_exports__,"c",(function(){return withMargin}));var polished__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(7),headerCommon=function headerCommon(_ref){return{margin:"20px 0 8px",padding:0,cursor:"text",position:"relative",color:_ref.theme.color.defaultText,"&:first-of-type":{marginTop:0,paddingTop:0},"&:hover a.anchor":{textDecoration:"none"},"& tt, & code":{fontSize:"inherit"}}},codeCommon=function codeCommon(_ref2){var theme=_ref2.theme;return{lineHeight:1,margin:"0 2px",padding:"3px 5px",whiteSpace:"nowrap",borderRadius:3,fontSize:theme.typography.size.s2-1,border:"light"===theme.base?"1px solid ".concat(theme.color.mediumlight):"1px solid ".concat(theme.color.darker),color:"light"===theme.base?Object(polished__WEBPACK_IMPORTED_MODULE_0__.e)(.1,theme.color.defaultText):Object(polished__WEBPACK_IMPORTED_MODULE_0__.e)(.3,theme.color.defaultText),backgroundColor:"light"===theme.base?theme.color.lighter:theme.color.border}},withReset=function withReset(_ref3){var theme=_ref3.theme;return{fontFamily:theme.typography.fonts.base,fontSize:theme.typography.size.s3,margin:0,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",WebkitTapHighlightColor:"rgba(0, 0, 0, 0)",WebkitOverflowScrolling:"touch"}},withMargin={margin:"16px 0"}},function(module,exports,__webpack_require__){var $=__webpack_require__(28),toObject=__webpack_require__(74),nativeKeys=__webpack_require__(168);$({target:"Object",stat:!0,forced:__webpack_require__(35)((function(){nativeKeys(1)}))},{keys:function keys(it){return nativeKeys(toObject(it))}})},function(module,exports,__webpack_require__){var $=__webpack_require__(28),from=__webpack_require__(386);$({target:"Array",stat:!0,forced:!__webpack_require__(281)((function(iterable){Array.from(iterable)}))},{from:from})},function(module,exports,__webpack_require__){var global=__webpack_require__(34),getOwnPropertyDescriptor=__webpack_require__(92).f,createNonEnumerableProperty=__webpack_require__(93),redefine=__webpack_require__(68),setGlobal=__webpack_require__(262),copyConstructorProperties=__webpack_require__(366),isForced=__webpack_require__(165);module.exports=function(options,source){var target,key,targetProperty,sourceProperty,descriptor,TARGET=options.target,GLOBAL=options.global,STATIC=options.stat;if(target=GLOBAL?global:STATIC?global[TARGET]||setGlobal(TARGET,{}):(global[TARGET]||{}).prototype)for(key in source){if(sourceProperty=source[key],targetProperty=options.noTargetGet?(descriptor=getOwnPropertyDescriptor(target,key))&&descriptor.value:target[key],!isForced(GLOBAL?key:TARGET+(STATIC?".":"#")+key,options.forced)&&void 0!==targetProperty){if(typeof sourceProperty==typeof targetProperty)continue;copyConstructorProperties(sourceProperty,targetProperty)}(options.sham||targetProperty&&targetProperty.sham)&&createNonEnumerableProperty(sourceProperty,"sham",!0),redefine(target,key,sourceProperty,options)}}},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),$map=__webpack_require__(123).map;$({target:"Array",proto:!0,forced:!__webpack_require__(167)("map")},{map:function map(callbackfn){return $map(this,callbackfn,arguments.length>1?arguments[1]:void 0)}})},function(module,__webpack_exports__,__webpack_require__){"use strict";var events;__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,"CHANNEL_CREATED",(function(){return CHANNEL_CREATED})),__webpack_require__.d(__webpack_exports__,"STORY_SPECIFIED",(function(){return STORY_SPECIFIED})),__webpack_require__.d(__webpack_exports__,"SET_STORIES",(function(){return SET_STORIES})),__webpack_require__.d(__webpack_exports__,"SET_CURRENT_STORY",(function(){return SET_CURRENT_STORY})),__webpack_require__.d(__webpack_exports__,"CURRENT_STORY_WAS_SET",(function(){return CURRENT_STORY_WAS_SET})),__webpack_require__.d(__webpack_exports__,"FORCE_RE_RENDER",(function(){return FORCE_RE_RENDER})),__webpack_require__.d(__webpack_exports__,"STORY_CHANGED",(function(){return STORY_CHANGED})),__webpack_require__.d(__webpack_exports__,"STORY_UNCHANGED",(function(){return STORY_UNCHANGED})),__webpack_require__.d(__webpack_exports__,"STORY_RENDERED",(function(){return STORY_RENDERED})),__webpack_require__.d(__webpack_exports__,"STORY_MISSING",(function(){return STORY_MISSING})),__webpack_require__.d(__webpack_exports__,"STORY_ERRORED",(function(){return STORY_ERRORED})),__webpack_require__.d(__webpack_exports__,"STORY_THREW_EXCEPTION",(function(){return STORY_THREW_EXCEPTION})),__webpack_require__.d(__webpack_exports__,"UPDATE_STORY_ARGS",(function(){return UPDATE_STORY_ARGS})),__webpack_require__.d(__webpack_exports__,"STORY_ARGS_UPDATED",(function(){return STORY_ARGS_UPDATED})),__webpack_require__.d(__webpack_exports__,"RESET_STORY_ARGS",(function(){return RESET_STORY_ARGS})),__webpack_require__.d(__webpack_exports__,"UPDATE_GLOBALS",(function(){return UPDATE_GLOBALS})),__webpack_require__.d(__webpack_exports__,"GLOBALS_UPDATED",(function(){return GLOBALS_UPDATED})),__webpack_require__.d(__webpack_exports__,"REGISTER_SUBSCRIPTION",(function(){return REGISTER_SUBSCRIPTION})),__webpack_require__.d(__webpack_exports__,"PREVIEW_KEYDOWN",(function(){return PREVIEW_KEYDOWN})),__webpack_require__.d(__webpack_exports__,"SELECT_STORY",(function(){return SELECT_STORY})),__webpack_require__.d(__webpack_exports__,"STORIES_COLLAPSE_ALL",(function(){return STORIES_COLLAPSE_ALL})),__webpack_require__.d(__webpack_exports__,"STORIES_EXPAND_ALL",(function(){return STORIES_EXPAND_ALL})),__webpack_require__.d(__webpack_exports__,"DOCS_RENDERED",(function(){return DOCS_RENDERED})),__webpack_require__.d(__webpack_exports__,"SHARED_STATE_CHANGED",(function(){return SHARED_STATE_CHANGED})),__webpack_require__.d(__webpack_exports__,"SHARED_STATE_SET",(function(){return SHARED_STATE_SET})),__webpack_require__.d(__webpack_exports__,"NAVIGATE_URL",(function(){return NAVIGATE_URL})),function(events){events.CHANNEL_CREATED="channelCreated",events.STORY_SPECIFIED="storySpecified",events.SET_STORIES="setStories",events.SET_CURRENT_STORY="setCurrentStory",events.CURRENT_STORY_WAS_SET="currentStoryWasSet",events.FORCE_RE_RENDER="forceReRender",events.STORY_CHANGED="storyChanged",events.STORY_UNCHANGED="storyUnchanged",events.STORY_RENDERED="storyRendered",events.STORY_MISSING="storyMissing",events.STORY_ERRORED="storyErrored",events.STORY_THREW_EXCEPTION="storyThrewException",events.UPDATE_STORY_ARGS="updateStoryArgs",events.STORY_ARGS_UPDATED="storyArgsUpdated",events.RESET_STORY_ARGS="resetStoryArgs",events.UPDATE_GLOBALS="updateGlobals",events.GLOBALS_UPDATED="globalsUpdated",events.REGISTER_SUBSCRIPTION="registerSubscription",events.PREVIEW_KEYDOWN="previewKeydown",events.SELECT_STORY="selectStory",events.STORIES_COLLAPSE_ALL="storiesCollapseAll",events.STORIES_EXPAND_ALL="storiesExpandAll",events.DOCS_RENDERED="docsRendered",events.SHARED_STATE_CHANGED="sharedStateChanged",events.SHARED_STATE_SET="sharedStateSet",events.NAVIGATE_URL="navigateUrl"}(events||(events={})),__webpack_exports__.default=events;var CHANNEL_CREATED=events.CHANNEL_CREATED,STORY_SPECIFIED=events.STORY_SPECIFIED,SET_STORIES=events.SET_STORIES,SET_CURRENT_STORY=events.SET_CURRENT_STORY,CURRENT_STORY_WAS_SET=events.CURRENT_STORY_WAS_SET,FORCE_RE_RENDER=events.FORCE_RE_RENDER,STORY_CHANGED=events.STORY_CHANGED,STORY_UNCHANGED=events.STORY_UNCHANGED,STORY_RENDERED=events.STORY_RENDERED,STORY_MISSING=events.STORY_MISSING,STORY_ERRORED=events.STORY_ERRORED,STORY_THREW_EXCEPTION=events.STORY_THREW_EXCEPTION,UPDATE_STORY_ARGS=events.UPDATE_STORY_ARGS,STORY_ARGS_UPDATED=events.STORY_ARGS_UPDATED,RESET_STORY_ARGS=events.RESET_STORY_ARGS,UPDATE_GLOBALS=events.UPDATE_GLOBALS,GLOBALS_UPDATED=events.GLOBALS_UPDATED,REGISTER_SUBSCRIPTION=events.REGISTER_SUBSCRIPTION,PREVIEW_KEYDOWN=events.PREVIEW_KEYDOWN,SELECT_STORY=events.SELECT_STORY,STORIES_COLLAPSE_ALL=events.STORIES_COLLAPSE_ALL,STORIES_EXPAND_ALL=events.STORIES_EXPAND_ALL,DOCS_RENDERED=events.DOCS_RENDERED,SHARED_STATE_CHANGED=events.SHARED_STATE_CHANGED,SHARED_STATE_SET=events.SHARED_STATE_SET,NAVIGATE_URL=events.NAVIGATE_URL},function(module,exports,__webpack_require__){(function(global){function config(name){try{if(!global.localStorage)return!1}catch(_){return!1}var val=global.localStorage[name];return null!=val&&"true"===String(val).toLowerCase()}module.exports=function deprecate(fn,msg){if(config("noDeprecation"))return fn;var warned=!1;return function deprecated(){if(!warned){if(config("throwDeprecation"))throw new Error(msg);config("traceDeprecation")?console.trace(msg):console.warn(msg),warned=!0}return fn.apply(this,arguments)}}}).call(this,__webpack_require__(64))},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return react_three_fiber_esm_Canvas})),__webpack_require__.d(__webpack_exports__,"b",(function(){return useFrame})),__webpack_require__.d(__webpack_exports__,"c",(function(){return useLoader})),__webpack_require__.d(__webpack_exports__,"d",(function(){return useThree}));var three_module=__webpack_require__(0),react=__webpack_require__(1),zustand=__webpack_require__(149),zustand_default=__webpack_require__.n(zustand),shallow=__webpack_require__(491),shallow_default=__webpack_require__.n(shallow),react_reconciler=__webpack_require__(490),react_reconciler_default=__webpack_require__.n(react_reconciler),scheduler=__webpack_require__(147),fast_deep_equal=__webpack_require__(131),fast_deep_equal_default=__webpack_require__.n(fast_deep_equal);const globalCache=[];function handleAsset(fn,cache,args,lifespan=0,preload=!1){for(const entry of cache)if(fast_deep_equal_default()(args,entry.args)){if(preload)return;if(entry.error)throw entry.error;if(entry.response)return entry.response;throw entry.promise}const entry={args:args,promise:fn(...args).then((response=>entry.response=null==response||response)).catch((e=>entry.error=null!=e?e:"unknown error")).then((()=>{lifespan>0&&setTimeout((()=>{const index=cache.indexOf(entry);-1!==index&&cache.splice(index,1)}),lifespan)}))};if(cache.push(entry),!preload)throw entry.promise}function clear(cache,...args){if(void 0===args||0===args.length)cache.splice(0,cache.length);else{const entry=cache.find((entry=>fast_deep_equal_default()(args,entry.args)));if(entry){const index=cache.indexOf(entry);-1!==index&&cache.splice(index,1)}}}function useAsset(fn,...args){return handleAsset(fn,globalCache,args,useAsset.lifespan)}useAsset.lifespan=0,useAsset.clear=(...args)=>clear(globalCache,...args),useAsset.preload=(fn,...args)=>{handleAsset(fn,globalCache,args,useAsset.lifespan,!0)},useAsset.peek=(...args)=>{var _globalCache$find;return null==(_globalCache$find=globalCache.find((entry=>fast_deep_equal_default()(args,entry.args))))?void 0:_globalCache$find.response};var react_merge_refs_esm=function mergeRefs(refs){return function(value){refs.forEach((function(ref){"function"==typeof ref?ref(value):null!=ref&&(ref.current=value)}))}},debounce=__webpack_require__(324);function findScrollContainers(element){const result=[];if(!element||element===document.body)return result;const{overflow:overflow,overflowX:overflowX,overflowY:overflowY}=window.getComputedStyle(element);return[overflow,overflowX,overflowY].some((prop=>"auto"===prop||"scroll"===prop))&&result.push(element),[...result,...findScrollContainers(element.parentElement)]}const web_keys=["x","y","top","bottom","left","right","width","height"],areBoundsEqual=(a,b)=>web_keys.every((key=>a[key]===b[key]));var web=function useMeasure({debounce:debounce$1,scroll:scroll,polyfill:polyfill}={debounce:0,scroll:!1}){const ResizeObserver=polyfill||("undefined"==typeof window?class ResizeObserver{}:window.ResizeObserver);if(!ResizeObserver)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[bounds,set]=Object(react.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),state=Object(react.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:bounds}),scrollDebounce=debounce$1?"number"==typeof debounce$1?debounce$1:debounce$1.scroll:null,resizeDebounce=debounce$1?"number"==typeof debounce$1?debounce$1:debounce$1.resize:null,mounted=Object(react.useRef)(!1);Object(react.useEffect)((()=>(mounted.current=!0,()=>{mounted.current=!1})));const[forceRefresh,resizeChange,scrollChange]=Object(react.useMemo)((()=>{const callback=()=>{if(!state.current.element)return;const{left:left,top:top,width:width,height:height,bottom:bottom,right:right,x:x,y:y}=state.current.element.getBoundingClientRect(),size={left:left,top:top,width:width,height:height,bottom:bottom,right:right,x:x,y:y};Object.freeze(size),mounted.current&&!areBoundsEqual(state.current.lastBounds,size)&&set(state.current.lastBounds=size)};return[callback,resizeDebounce?Object(debounce.debounce)(callback,resizeDebounce):callback,scrollDebounce?Object(debounce.debounce)(callback,scrollDebounce):callback]}),[set,scrollDebounce,resizeDebounce]);function removeListeners(){state.current.scrollContainers&&(state.current.scrollContainers.forEach((element=>element.removeEventListener("scroll",scrollChange,!0))),state.current.scrollContainers=null),state.current.resizeObserver&&(state.current.resizeObserver.disconnect(),state.current.resizeObserver=null)}function addListeners(){state.current.element&&(state.current.resizeObserver=new ResizeObserver(scrollChange),state.current.resizeObserver.observe(state.current.element),scroll&&state.current.scrollContainers&&state.current.scrollContainers.forEach((scrollContainer=>scrollContainer.addEventListener("scroll",scrollChange,{capture:!0,passive:!0}))))}return function useOnWindowScroll(onScroll,enabled){Object(react.useEffect)((()=>{if(enabled){const cb=onScroll;return window.addEventListener("scroll",cb,{capture:!0,passive:!0}),()=>{window.removeEventListener("scroll",cb,!0)}}}),[onScroll,enabled])}(scrollChange,Boolean(scroll)),function useOnWindowResize(onWindowResize){Object(react.useEffect)((()=>{const cb=onWindowResize;return window.addEventListener("resize",cb),()=>{window.removeEventListener("resize",cb)}}),[onWindowResize])}(resizeChange),Object(react.useEffect)((()=>{removeListeners(),addListeners()}),[scroll,scrollChange,resizeChange]),Object(react.useEffect)((()=>removeListeners),[]),[node=>{node&&node!==state.current.element&&(removeListeners(),state.current.element=node,state.current.scrollContainers=findScrollContainers(node),addListeners())},bounds,forceRefresh]};const is={obj:a=>a===Object(a)&&!is.arr(a)&&"function"!=typeof a,fun:a=>"function"==typeof a,str:a=>"string"==typeof a,num:a=>"number"==typeof a,und:a=>void 0===a,arr:a=>Array.isArray(a),equ(a,b){if(typeof a!=typeof b||!!a!=!!b)return!1;if(is.str(a)||is.num(a)||is.obj(a))return a===b;if(is.arr(a)&&a==b)return!0;let i;for(i in a)if(!(i in b))return!1;for(i in b)if(a[i]!==b[i])return!1;return!is.und(i)||a===b}};function makeId(event){return(event.eventObject||event.object).uuid+"/"+event.index}function createEvents(store){const temp=new three_module.Vector3;function calculateDistance(event){const{internal:internal}=store.getState(),dx=event.offsetX-internal.initialClick[0],dy=event.offsetY-internal.initialClick[1];return Math.round(Math.sqrt(dx*dx+dy*dy))}function filterPointerEvents(objects){return objects.filter((obj=>["Move","Over","Enter","Out","Leave"].some((name=>{var _r3f$handlers;return null==(_r3f$handlers=obj.__r3f.handlers)?void 0:_r3f$handlers["onPointer"+name]}))))}function cancelPointer(hits){const{internal:internal}=store.getState();Array.from(internal.hovered.values()).forEach((hoveredObj=>{if(!hits.length||!hits.find((hit=>hit.object===hoveredObj.object&&hit.index===hoveredObj.index))){const handlers=hoveredObj.eventObject.__r3f.handlers;if(internal.hovered.delete(makeId(hoveredObj)),handlers){const data={...hoveredObj,intersections:hits||[]};null==handlers.onPointerOut||handlers.onPointerOut(data),null==handlers.onPointerLeave||handlers.onPointerLeave(data)}}}))}function pointerMissed(event,objects){objects.forEach((object=>{var _r3f$handlers2;return null==(_r3f$handlers2=object.__r3f.handlers)||null==_r3f$handlers2.onPointerMissed?void 0:_r3f$handlers2.onPointerMissed(event)}))}return{handlePointer:name=>{switch(name){case"onPointerLeave":case"onPointerCancel":return()=>cancelPointer([]);case"onLostPointerCapture":return event=>{"pointerId"in event&&store.getState().internal.capturedMap.delete(event.pointerId),cancelPointer([])}}return event=>{const{onPointerMissed:onPointerMissed,internal:internal}=store.getState();!function prepareRay(event){var _raycaster$computeOff;const state=store.getState(),{raycaster:raycaster,mouse:mouse,camera:camera,size:size}=state,{offsetX:offsetX,offsetY:offsetY}=null!=(_raycaster$computeOff=null==raycaster.computeOffsets?void 0:raycaster.computeOffsets(event,state))?_raycaster$computeOff:event,{width:width,height:height}=size;mouse.set(offsetX/width*2-1,-offsetY/height*2+1),raycaster.setFromCamera(mouse,camera)}(event);const isPointerMove="onPointerMove"===name,hits=function patchIntersects(intersections,event){const{internal:internal}=store.getState();return"pointerId"in event&&internal.capturedMap.has(event.pointerId)&&intersections.push(...internal.capturedMap.get(event.pointerId).values()),intersections}(function intersect(filter){const state=store.getState(),{raycaster:raycaster,internal:internal}=state;if(!raycaster.enabled)return[];const seen=new Set,intersections=[],eventsObjects=filter?filter(internal.interaction):internal.interaction;let intersects=raycaster.intersectObjects(eventsObjects,!0).filter((item=>{const id=makeId(item);return!seen.has(id)&&(seen.add(id),!0)}));raycaster.filter&&(intersects=raycaster.filter(intersects,state));for(const intersect of intersects){let eventObject=intersect.object;for(;eventObject;){var _r3f;(null==(_r3f=eventObject.__r3f)?void 0:_r3f.handlers)&&intersections.push({...intersect,eventObject:eventObject}),eventObject=eventObject.parent}}return intersections}(isPointerMove?filterPointerEvents:void 0),event);isPointerMove&&cancelPointer(hits),function handleIntersects(intersections,event,callback){const{raycaster:raycaster,mouse:mouse,camera:camera,internal:internal}=store.getState();if(intersections.length){const unprojectedPoint=temp.set(mouse.x,mouse.y,0).unproject(camera),delta="click"===event.type?calculateDistance(event):0,releasePointerCapture=id=>event.target.releasePointerCapture(id),localState={stopped:!1};for(const hit of intersections){const hasPointerCapture=id=>{var _internal$capturedMap,_internal$capturedMap2;return null!=(_internal$capturedMap=null==(_internal$capturedMap2=internal.capturedMap.get(id))?void 0:_internal$capturedMap2.has(hit.eventObject))&&_internal$capturedMap},setPointerCapture=id=>{internal.capturedMap.has(id)?internal.capturedMap.get(id).set(hit.eventObject,hit):internal.capturedMap.set(id,new Map([[hit.eventObject,hit]])),event.target.setPointerCapture(id)};let extractEventProps={};for(let prop in Object.getPrototypeOf(event)){let property=event[prop];"function"!=typeof property&&(extractEventProps[prop]=property)}let raycastEvent={...hit,...extractEventProps,spaceX:mouse.x,spaceY:mouse.y,intersections:intersections,stopped:localState.stopped,delta:delta,unprojectedPoint:unprojectedPoint,ray:raycaster.ray,camera:camera,stopPropagation:()=>{const capturesForPointer="pointerId"in event&&internal.capturedMap.get(event.pointerId);(!capturesForPointer||capturesForPointer.has(hit.eventObject))&&(raycastEvent.stopped=localState.stopped=!0,internal.hovered.size&&Array.from(internal.hovered.values()).find((i=>i.eventObject===hit.eventObject)))&&cancelPointer([...intersections.slice(0,intersections.indexOf(hit)),hit])},target:{hasPointerCapture:hasPointerCapture,setPointerCapture:setPointerCapture,releasePointerCapture:releasePointerCapture},currentTarget:{hasPointerCapture:hasPointerCapture,setPointerCapture:setPointerCapture,releasePointerCapture:releasePointerCapture},sourceEvent:event,nativeEvent:event};if(callback(raycastEvent),!0===localState.stopped)break}}return intersections}(hits,event,(data=>{const eventObject=data.eventObject,handlers=eventObject.__r3f.handlers;if(handlers)if(isPointerMove){if(handlers.onPointerOver||handlers.onPointerEnter||handlers.onPointerOut||handlers.onPointerLeave){const id=makeId(data),hoveredItem=internal.hovered.get(id);hoveredItem?hoveredItem.stopped&&data.stopPropagation():(internal.hovered.set(id,data),null==handlers.onPointerOver||handlers.onPointerOver(data),null==handlers.onPointerEnter||handlers.onPointerEnter(data))}null==handlers.onPointerMove||handlers.onPointerMove(data)}else{const handler=null==handlers?void 0:handlers[name];handler&&("onClick"!==name&&"onContextMenu"!==name&&"onDoubleClick"!==name||internal.initialHits.includes(eventObject))&&(handler(data),pointerMissed(event,internal.interaction.filter((object=>object!==eventObject))))}})),"onPointerDown"===name&&(internal.initialClick=[event.offsetX,event.offsetY],internal.initialHits=hits.map((hit=>hit.eventObject))),"onClick"!==name&&"onContextMenu"!==name&&"onDoubleClick"!==name||hits.length||calculateDistance(event)<=2&&(pointerMissed(event,internal.interaction),onPointerMissed&&onPointerMissed(event))}}}}const isStore=def=>def&&!!def.getState,getContainer=(container,child)=>{var _container$__r3f$root,_container$__r3f;return{root:isStore(container)?container:null!=(_container$__r3f$root=null==(_container$__r3f=container.__r3f)?void 0:_container$__r3f.root)?_container$__r3f$root:child.__r3f.root,container:isStore(container)?container.getState().scene:container}},EMPTY={},FILTER=["children","key","ref"];let catalogue={};function prepare(object,state){const instance=object;return(null!=state&&state.instance||!instance.__r3f)&&(instance.__r3f={root:null,memoizedProps:{},objects:[],...state}),object}const isOrthographicCamera=def=>def&&def.isOrthographicCamera,context=react.createContext(null);let react_three_fiber_esm_i,globalEffects=[],globalAfterEffects=[],globalTailEffects=[];function run(effects,timestamp){for(react_three_fiber_esm_i=0;react_three_fiber_esm_i({...acc,[key]:handlePointer(key)})),{}),connect:target=>{var _events$handlers;const{set:set,events:events}=store.getState();null==events.disconnect||events.disconnect(),set((state=>({events:{...state.events,connected:target}}))),Object.entries(null!=(_events$handlers=null==events?void 0:events.handlers)?_events$handlers:[]).forEach((([name,event])=>{const[eventName,passive]=names[name];target.addEventListener(eventName,event,{passive:passive})}))},disconnect:()=>{const{set:set,events:events}=store.getState();var _events$handlers2;events.connected&&(Object.entries(null!=(_events$handlers2=events.handlers)?_events$handlers2:[]).forEach((([name,event])=>{if(events&&events.connected instanceof HTMLElement){const[eventName]=names[name];events.connected.removeEventListener(eventName,event)}})),set((state=>({events:{...state.events,connected:!1}}))))}}}const useIsomorphicLayoutEffect="undefined"!=typeof window?react.useLayoutEffect:react.useEffect;function Block({set:set}){return useIsomorphicLayoutEffect((()=>(set(new Promise((()=>null))),()=>set(!1))),[]),null}class react_three_fiber_esm_ErrorBoundary extends react.Component{constructor(...args){super(...args),this.state={error:!1}}componentDidCatch(error){this.props.set(error)}render(){return this.state.error?null:this.props.children}}react_three_fiber_esm_ErrorBoundary.getDerivedStateFromError=()=>({error:!0});const react_three_fiber_esm_Canvas=react.forwardRef((function Canvas({children:children,fallback:fallback,tabIndex:tabIndex,resize:resize,id:id,style:style,className:className,events:events,...props},forwardedRef){const[containerRef,size]=web({scroll:!0,debounce:{scroll:50,resize:0},...resize}),canvasRef=react.useRef(null),[block,setBlock]=react.useState(!1),[error,setError]=react.useState(!1);if(block)throw block;if(error)throw error;return useIsomorphicLayoutEffect((()=>{size.width>0&&size.height>0&&function render(element,canvas,{gl:gl,size:size,mode:mode=modes[1],events:events,onCreated:onCreated,...props}={}){var _store,_canvas$parentElement,_canvas$parentElement2,_canvas$parentElement3,_canvas$parentElement4;size||(size={width:null!=(_canvas$parentElement=null==(_canvas$parentElement2=canvas.parentElement)?void 0:_canvas$parentElement2.clientWidth)?_canvas$parentElement:0,height:null!=(_canvas$parentElement3=null==(_canvas$parentElement4=canvas.parentElement)?void 0:_canvas$parentElement4.clientHeight)?_canvas$parentElement3:0});let root=react_three_fiber_esm_roots.get(canvas),fiber=null==root?void 0:root.fiber,store=null==root?void 0:root.store,state=null==(_store=store)?void 0:_store.getState();if(fiber&&state){const lastProps=state.internal.lastProps;void 0===props.dpr||is.equ(lastProps.dpr,props.dpr)||state.setDpr(props.dpr),is.equ(lastProps.size,size)||state.setSize(size.width,size.height);props.linear!==lastProps.linear&&(unmountComponentAtNode(canvas),fiber=void 0)}if(!fiber){const glRenderer=((gl,canvas)=>{return def=gl,def&&def.render?gl:new three_module.WebGLRenderer({powerPreference:"high-performance",canvas:canvas,antialias:!0,alpha:!0,...gl});var def})(gl,canvas);props.vr&&(glRenderer.xr.enabled=!0,glRenderer.setAnimationLoop((timestamp=>react_three_fiber_esm_advance(timestamp,!0)))),store=((applyProps,invalidate,advance,props)=>{const{gl:gl,size:size,shadows:shadows=!1,linear:linear=!1,flat:flat=!1,vr:vr=!1,orthographic:orthographic=!1,frameloop:frameloop="always",dpr:dpr=1,performance:performance,clock:clock=new three_module.Clock,raycaster:raycastOptions,camera:cameraOptions,onPointerMissed:onPointerMissed}=props;shadows&&(gl.shadowMap.enabled=!0,"object"==typeof shadows?Object.assign(gl.shadowMap,shadows):gl.shadowMap.type=three_module.PCFSoftShadowMap),linear||(flat||(gl.toneMapping=three_module.ACESFilmicToneMapping),gl.outputEncoding=three_module.sRGBEncoding),"never"===frameloop&&(clock.stop(),clock.elapsedTime=0);const rootState=zustand_default()(((set,get)=>{const raycaster=new three_module.Raycaster,{params:params,...options}=raycastOptions||{};applyProps(raycaster,{enabled:!0,...options,params:{...raycaster.params,...params}},{});const isCamera=cameraOptions instanceof three_module.Camera,camera=isCamera?cameraOptions:orthographic?new three_module.OrthographicCamera(0,0,0,0,.1,1e3):new three_module.PerspectiveCamera(75,0,.1,1e3);function setDpr(dpr){return Array.isArray(dpr)?Math.min(Math.max(dpr[0],window.devicePixelRatio),dpr[1]):dpr}isCamera||(camera.position.z=5,cameraOptions&&applyProps(camera,cameraOptions,{}),camera.lookAt(0,0,0));const initialDpr=setDpr(dpr),position=new three_module.Vector3,defaultTarget=new three_module.Vector3;function getCurrentViewport(camera=get().camera,target=defaultTarget,size=get().size){const{width:width,height:height}=size,aspect=width/height,distance=camera.getWorldPosition(position).distanceTo(target);if(isOrthographicCamera(camera))return{width:width/camera.zoom,height:height/camera.zoom,factor:1,distance:distance,aspect:aspect};{const fov=camera.fov*Math.PI/180,h=2*Math.tan(fov/2)*distance,w=h*(width/height);return{width:w,height:h,factor:width/w,distance:distance,aspect:aspect}}}let performanceTimeout;const setPerformanceCurrent=current=>set((state=>({performance:{...state.performance,current:current}})));return{gl:gl,set:set,get:get,invalidate:()=>invalidate(get()),advance:(timestamp,runGlobalEffects)=>advance(timestamp,runGlobalEffects,get()),linear:linear,flat:flat,scene:prepare(new three_module.Scene),camera:camera,controls:null,raycaster:raycaster,clock:clock,mouse:new three_module.Vector2,vr:vr,frameloop:frameloop,onPointerMissed:onPointerMissed,performance:{current:1,min:.5,max:1,debounce:200,...performance,regress:()=>{const state=get();performanceTimeout&&clearTimeout(performanceTimeout),state.performance.current!==state.performance.min&&setPerformanceCurrent(state.performance.min),performanceTimeout=setTimeout((()=>setPerformanceCurrent(get().performance.max)),state.performance.debounce)}},size:{width:0,height:0},viewport:{initialDpr:initialDpr,dpr:initialDpr,width:0,height:0,aspect:0,distance:0,factor:0,getCurrentViewport:getCurrentViewport},setSize:(width,height)=>{const size={width:width,height:height};set((state=>({size:size,viewport:{...state.viewport,...getCurrentViewport(camera,defaultTarget,size)}})))},setDpr:dpr=>set((state=>({viewport:{...state.viewport,dpr:setDpr(dpr)}}))),events:{connected:!1},internal:{active:!1,priority:0,frames:0,lastProps:props,interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(ref,priority=0)=>(set((({internal:internal})=>({internal:{...internal,priority:internal.priority+(priority>0?1:0),subscribers:[...internal.subscribers,{ref:ref,priority:priority}].sort(((a,b)=>a.priority-b.priority))}}))),()=>{set((({internal:internal})=>({internal:{...internal,priority:internal.priority-(priority>0?1:0),subscribers:internal.subscribers.filter((s=>s.ref!==ref))}})))})}}}));rootState.subscribe((()=>{const{camera:camera,size:size,viewport:viewport,internal:internal}=rootState.getState();internal.lastProps.camera instanceof three_module.Camera||(isOrthographicCamera(camera)?(camera.left=size.width/-2,camera.right=size.width/2,camera.top=size.height/2,camera.bottom=size.height/-2):camera.aspect=size.width/size.height,camera.updateProjectionMatrix(),camera.updateMatrixWorld()),gl.setPixelRatio(viewport.dpr),gl.setSize(size.width,size.height)}),(state=>[state.viewport.dpr,state.size]),shallow_default.a);const state=rootState.getState();return size&&state.setSize(size.width,size.height),rootState.subscribe((state=>invalidate(state))),rootState})(react_three_fiber_esm_applyProps,react_three_fiber_esm_invalidate,react_three_fiber_esm_advance,{gl:glRenderer,size:size,...props});const state=store.getState();fiber=react_three_fiber_esm_reconciler.createContainer(store,modes.indexOf(mode),!1,null),react_three_fiber_esm_roots.set(canvas,{fiber:fiber,store:store}),events&&state.set({events:events(store)})}if(store&&fiber)return react_three_fiber_esm_reconciler.updateContainer(react.createElement(Provider,{store:store,element:element,onCreated:onCreated,target:canvas}),fiber,null,(()=>{})),store;throw"Error creating root!"}(react.createElement(react_three_fiber_esm_ErrorBoundary,{set:setError},react.createElement(react.Suspense,{fallback:react.createElement(Block,{set:setBlock})},children)),canvasRef.current,{...props,size:size,events:events||createPointerEvents})}),[size,children]),useIsomorphicLayoutEffect((()=>{const container=canvasRef.current;return()=>unmountComponentAtNode(container)}),[]),react.createElement("div",{ref:containerRef,id:id,className:className,tabIndex:tabIndex,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",...style}},react.createElement("canvas",{ref:react_merge_refs_esm([canvasRef,forwardedRef]),style:{display:"block"}},fallback))}));function useThree(selector=(state=>state),equalityFn){const useStore=react.useContext(context);if(!useStore)throw"R3F hooks can only be used within the Canvas component!";return useStore(selector,equalityFn)}function useFrame(callback,renderPriority=0){const{subscribe:subscribe}=react.useContext(context).getState().internal,ref=react.useRef(callback);return react.useLayoutEffect((()=>{ref.current=callback}),[callback]),react.useLayoutEffect((()=>{const unsubscribe=subscribe(ref,renderPriority);return()=>unsubscribe()}),[renderPriority,subscribe]),null}function buildGraph(object){const data={nodes:{},materials:{}};return object&&object.traverse((obj=>{obj.name&&(data.nodes[obj.name]=obj),obj.material&&!data.materials[obj.material.name]&&(data.materials[obj.material.name]=obj.material)})),data}function loadingFn(extensions,onProgress){return function(Proto,...input){const loader=new Proto;return extensions&&extensions(loader),Promise.all(input.map((input=>new Promise(((res,reject)=>loader.load(input,(data=>{data.scene&&Object.assign(data,buildGraph(data.scene)),res(data)}),onProgress,(error=>reject(`Could not load ${input}: ${error.message}`))))))))}}function useLoader(Proto,input,extensions,onProgress){const keys=Array.isArray(input)?input:[input],results=useAsset(loadingFn(extensions,onProgress),Proto,...keys);return Array.isArray(input)?results:results[0]}useLoader.preload=function(Proto,input,extensions){const keys=Array.isArray(input)?input:[input];return useAsset.preload(loadingFn(extensions),Proto,...keys)},useLoader.clear=function(Proto,input){const keys=Array.isArray(input)?input:[input];return useAsset.clear(Proto,...keys)};const react_three_fiber_esm_roots=new Map,modes=["legacy","blocking","concurrent"],{invalidate:react_three_fiber_esm_invalidate,advance:react_three_fiber_esm_advance}=function createLoop(roots){let repeat,running=!1;function loop(timestamp){if(running=!0,repeat=0,run(globalEffects,timestamp),roots.forEach((root=>{const state=root.store.getState();state.internal.active&&("always"===state.frameloop||state.internal.frames>0)&&(repeat+=render$1(timestamp,state))})),run(globalAfterEffects,timestamp),repeat>0)return requestAnimationFrame(loop);run(globalTailEffects,timestamp),running=!1}return{loop:loop,invalidate:function invalidate(state){if(!state)return roots.forEach((root=>invalidate(root.store.getState())));!state.vr&&state.internal.active&&"never"!==state.frameloop&&(state.internal.frames=Math.min(60,state.internal.frames+1),running||(running=!0,requestAnimationFrame(loop)))},advance:function advance(timestamp,runGlobalEffects=!0,state){runGlobalEffects&&run(globalEffects,timestamp),state?render$1(timestamp,state):roots.forEach((root=>render$1(timestamp,root.store.getState()))),runGlobalEffects&&run(globalAfterEffects,timestamp)}}}(react_three_fiber_esm_roots),{reconciler:react_three_fiber_esm_reconciler,applyProps:react_three_fiber_esm_applyProps}=function createRenderer(roots){function applyProps(instance,newProps,oldProps={},accumulative=!1){var _instance$__r3f,_root$getState,_instance$__r3f2;const localState=null!=(_instance$__r3f=null==instance?void 0:instance.__r3f)?_instance$__r3f:{},root=localState.root,rootState=null!=(_root$getState=null==root||null==root.getState?void 0:root.getState())?_root$getState:{},sameProps=[],handlers=[],newMemoizedProps={};let i=0;Object.entries(newProps).forEach((([key,entry])=>{-1===FILTER.indexOf(key)&&(newMemoizedProps[key]=entry)})),localState.memoizedProps&&localState.memoizedProps.args&&(newMemoizedProps.args=localState.memoizedProps.args),localState.memoizedProps&&localState.memoizedProps.attach&&(newMemoizedProps.attach=localState.memoizedProps.attach),instance.__r3f&&(instance.__r3f.memoizedProps=newMemoizedProps);let objectKeys=Object.keys(newProps);for(i=0;i-1&&delete filteredProps[objectKeys[i]];const filteredPropsEntries=Object.entries(filteredProps);for(i=0;i0){if(filteredPropsEntries.forEach((([key,value])=>{if(!handlers.includes(key)){let currentInstance=instance,targetProp=currentInstance[key];if(key.includes("-")){const entries=key.split("-");if(targetProp=entries.reduce(((acc,key)=>acc[key]),instance),!targetProp||!targetProp.set){const[name,...reverseEntries]=entries.reverse();currentInstance=reverseEntries.reverse().reduce(((acc,key)=>acc[key]),instance),key=name}}if("__defaultremove"===value)if(targetProp&&targetProp.constructor)value=new targetProp.constructor(newMemoizedProps.args);else if(currentInstance.constructor){const defaultClassCall=new currentInstance.constructor(currentInstance.__r3f.memoizedProps.args);value=defaultClassCall[targetProp],defaultClassCall.dispose&&defaultClassCall.dispose()}else value=0;if(targetProp&&targetProp.set&&(targetProp.copy||targetProp instanceof three_module.Layers)){if(Array.isArray(value))targetProp.fromArray?targetProp.fromArray(value):targetProp.set(...value);else if(targetProp.copy&&value&&value.constructor&&targetProp.constructor.name===value.constructor.name)targetProp.copy(value);else if(void 0!==value){const isColor=targetProp instanceof three_module.Color;!isColor&&targetProp.setScalar?targetProp.setScalar(value):targetProp instanceof three_module.Layers&&value instanceof three_module.Layers?targetProp.mask=value.mask:targetProp.set(value),!rootState.linear&&isColor&&targetProp.convertSRGBToLinear()}}else currentInstance[key]=value,!rootState.linear&¤tInstance[key]instanceof three_module.Texture&&(currentInstance[key].encoding=three_module.sRGBEncoding);invalidateInstance(instance)}})),accumulative&&root&&instance.raycast&&localState.handlers){localState.handlers=void 0;const index=rootState.internal.interaction.indexOf(instance);index>-1&&rootState.internal.interaction.splice(index,1)}handlers.length&&(accumulative&&root&&instance.raycast&&rootState.internal.interaction.push(instance),localState.handlers=handlers.reduce(((acc,key)=>({...acc,[key]:newProps[key]})),{})),instance.parent&&updateInstance(instance)}}function invalidateInstance(instance){var _instance$__r3f3,_instance$__r3f3$root;const state=null==(_instance$__r3f3=instance.__r3f)||null==(_instance$__r3f3$root=_instance$__r3f3.root)||null==_instance$__r3f3$root.getState?void 0:_instance$__r3f3$root.getState();state&&0===state.internal.frames&&state.invalidate()}function updateInstance(instance){null==instance.onUpdate||instance.onUpdate(instance)}function createInstance(type,{args:args=[],...props},root,hostContext,internalInstanceHandle){let instance,name=`${type[0].toUpperCase()}${type.slice(1)}`;if(!isStore(root)&&internalInstanceHandle){const fn=node=>node.return?fn(node.return):node.stateNode&&node.stateNode.containerInfo;root=fn(internalInstanceHandle)}if(!root||!isStore(root))throw`No valid root for ${name}!`;if("primitive"===type){if(void 0===props.object)throw"Primitives without 'object' are invalid!";instance=prepare(props.object,{root:root,instance:!0})}else{const target=catalogue[name]||three_module[name];if(!target)throw`${name} is not part of the THREE namespace! Did you forget to extend? See: https://github.com/pmndrs/react-three-fiber/blob/master/markdown/api.md#using-3rd-party-objects-declaratively`;const isArgsArr=is.arr(args);instance=prepare(isArgsArr?new target(...args):new target(args),{root:root,memoizedProps:{args:isArgsArr&&0===args.length?null:args}})}return"attachFns"in props||(name.endsWith("Geometry")?props={attach:"geometry",...props}:name.endsWith("Material")&&(props={attach:"material",...props})),applyProps(instance,props,{}),instance}function appendChild(parentInstance,child){let addedAsChild=!1;if(child){if(child.attachArray)is.arr(parentInstance[child.attachArray])||(parentInstance[child.attachArray]=[]),parentInstance[child.attachArray].push(child);else if(child.attachObject)is.obj(parentInstance[child.attachObject[0]])||(parentInstance[child.attachObject[0]]={}),parentInstance[child.attachObject[0]][child.attachObject[1]]=child;else if(child.attach&&!is.fun(child.attach))parentInstance[child.attach]=child;else if(is.arr(child.attachFns)){const[attachFn]=child.attachFns;is.str(attachFn)&&is.fun(parentInstance[attachFn])?parentInstance[attachFn](child):is.fun(attachFn)&&attachFn(child,parentInstance)}else child.isObject3D&&(parentInstance.add(child),addedAsChild=!0);addedAsChild||(parentInstance.__r3f.objects.push(child),child.parent=parentInstance),updateInstance(child),invalidateInstance(child)}}function insertBefore(parentInstance,child,beforeChild){let added=!1;if(child){if(child.attachArray){const array=parentInstance[child.attachArray];is.arr(array)||(parentInstance[child.attachArray]=[]),array.splice(array.indexOf(beforeChild),0,child)}else{if(child.attachObject||child.attach&&!is.fun(child.attach))return appendChild(parentInstance,child);if(child.isObject3D){child.parent=parentInstance,child.dispatchEvent({type:"added"});const restSiblings=parentInstance.children.filter((sibling=>sibling!==child)),index=restSiblings.indexOf(beforeChild);parentInstance.children=[...restSiblings.slice(0,index),child,...restSiblings.slice(index)],added=!0}}added||(parentInstance.__r3f.objects.push(child),child.parent=parentInstance),updateInstance(child),invalidateInstance(child)}}function removeRecursive(array,parent,dispose=!1){array&&[...array].forEach((child=>removeChild(parent,child,dispose)))}function removeChild(parentInstance,child,dispose){if(child){var _child$__r3f2;if(parentInstance.__r3f.objects){const oldLength=parentInstance.__r3f.objects.length;parentInstance.__r3f.objects=parentInstance.__r3f.objects.filter((x=>x!==child));parentInstance.__r3f.objects.lengthx!==child));else if(child.attachObject)delete parentInstance[child.attachObject[0]][child.attachObject[1]];else if(child.attach&&!is.fun(child.attach))parentInstance[child.attach]=null;else if(is.arr(child.attachFns)){const[,detachFn]=child.attachFns;is.str(detachFn)&&is.fun(parentInstance[detachFn])?parentInstance[detachFn](child):is.fun(detachFn)&&detachFn(child,parentInstance)}else if(child.isObject3D){var _child$__r3f;parentInstance.remove(child),null!=(_child$__r3f=child.__r3f)&&_child$__r3f.root&&function removeInteractivity(store,object){const{internal:internal}=store.getState();internal.interaction=internal.interaction.filter((o=>o!==object)),internal.initialHits=internal.initialHits.filter((o=>o!==object)),internal.hovered.forEach(((value,key)=>{value.eventObject!==object&&value.object!==object||internal.hovered.delete(key)}))}(child.__r3f.root,child)}const isInstance=null==(_child$__r3f2=child.__r3f)?void 0:_child$__r3f2.instance,shouldDispose=void 0===dispose?null!==child.dispose&&!isInstance:dispose;var _child$__r3f3;if(!isInstance)removeRecursive(null==(_child$__r3f3=child.__r3f)?void 0:_child$__r3f3.objects,child,shouldDispose),removeRecursive(child.children,child,shouldDispose);child.__r3f&&(delete child.__r3f.root,delete child.__r3f.objects,delete child.__r3f.handlers,delete child.__r3f.memoizedProps,isInstance||delete child.__r3f),shouldDispose&&child.dispose&&"Scene"!==child.type&&Object(scheduler.unstable_runWithPriority)(scheduler.unstable_IdlePriority,(()=>child.dispose())),invalidateInstance(parentInstance)}}function switchInstance(instance,type,newProps,fiber){const parent=instance.parent;if(!parent)return;const newInstance=createInstance(type,newProps,instance.__r3f.root);instance.children&&(instance.children.forEach((child=>appendChild(newInstance,child))),instance.children=[]),instance.__r3f.objects.forEach((child=>appendChild(newInstance,child))),instance.__r3f.objects=[],removeChild(parent,instance),appendChild(parent,newInstance),[fiber,fiber.alternate].forEach((fiber=>{null!==fiber&&(fiber.stateNode=newInstance,fiber.ref&&("function"==typeof fiber.ref?fiber.ref(newInstance):fiber.ref.current=newInstance))}))}return{reconciler:react_reconciler_default()({now:scheduler.unstable_now,createInstance:createInstance,removeChild:removeChild,appendChild:appendChild,appendInitialChild:appendChild,insertBefore:insertBefore,warnsIfNotActing:!0,supportsMutation:!0,isPrimaryRenderer:!1,scheduleTimeout:is.fun(setTimeout)?setTimeout:void 0,cancelTimeout:is.fun(clearTimeout)?clearTimeout:void 0,setTimeout:is.fun(setTimeout)?setTimeout:void 0,clearTimeout:is.fun(clearTimeout)?clearTimeout:void 0,noTimeout:-1,appendChildToContainer:(parentInstance,child)=>{const{container:container,root:root}=getContainer(parentInstance,child);container.__r3f.root=root,appendChild(container,child)},removeChildFromContainer:(parentInstance,child)=>{const{container:container}=getContainer(parentInstance,child);removeChild(container,child)},insertInContainerBefore:(parentInstance,child,beforeChild)=>{const{container:container}=getContainer(parentInstance,child);insertBefore(container,child,beforeChild)},commitUpdate(instance,updatePayload,type,oldProps,newProps,fiber){if(instance.__r3f.instance&&newProps.object&&newProps.object!==instance)switchInstance(instance,type,newProps,fiber);else{const{args:argsNew=[],...restNew}=newProps,{args:argsOld=[],...restOld}=oldProps;argsNew.some(((value,index)=>is.obj(value)?Object.entries(value).some((([key,val])=>val!==argsOld[index][key])):value!==argsOld[index]))?switchInstance(instance,type,newProps,fiber):applyProps(instance,restNew,restOld,!0)}},hideInstance(instance){instance.isObject3D&&(instance.visible=!1,invalidateInstance(instance))},unhideInstance(instance,props){(instance.isObject3D&&null==props.visible||props.visible)&&(instance.visible=!0,invalidateInstance(instance))},hideTextInstance(){throw new Error("Text is not allowed in the R3F tree.")},getPublicInstance:instance=>instance,getRootHostContext:rootContainer=>EMPTY,getChildHostContext:parentHostContext=>EMPTY,createTextInstance(){},finalizeInitialChildren:instance=>!!instance.__r3f.handlers,commitMount(instance){instance.raycast&&instance.__r3f.handlers&&instance.__r3f.root.getState().internal.interaction.push(instance)},prepareUpdate:()=>EMPTY,shouldDeprioritizeSubtree:()=>!1,prepareForCommit:()=>null,preparePortalMount(...args){},resetAfterCommit(){},shouldSetTextContent:()=>!1,clearContainer:()=>!1}),applyProps:applyProps}}();function Provider({store:store,element:element,onCreated:onCreated,target:target}){return react.useEffect((()=>{const state=store.getState();state.set((state=>({internal:{...state.internal,active:!0}}))),null==state.events.connect||state.events.connect(target),onCreated&&onCreated(state)}),[]),react.createElement(context.Provider,{value:store},element)}function unmountComponentAtNode(canvas,callback){const root=react_three_fiber_esm_roots.get(canvas),fiber=null==root?void 0:root.fiber;if(fiber){const state=null==root?void 0:root.store.getState();state&&(state.internal.active=!1),react_three_fiber_esm_reconciler.updateContainer(null,fiber,null,(()=>{state&&setTimeout((()=>{var _state$gl,_state$gl$renderLists,_state$gl2;null==state.events.disconnect||state.events.disconnect(),null==(_state$gl=state.gl)||null==(_state$gl$renderLists=_state$gl.renderLists)||null==_state$gl$renderLists.dispose||_state$gl$renderLists.dispose(),null==(_state$gl2=state.gl)||null==_state$gl2.forceContextLoss||_state$gl2.forceContextLoss(),function react_three_fiber_esm_dispose(obj){obj.dispose&&"Scene"!==obj.type&&obj.dispose();for(const p in obj){var _dispose,_ref;null==(_dispose=(_ref=p).dispose)||_dispose.call(_ref),delete obj[p]}}(state),react_three_fiber_esm_roots.delete(canvas),callback&&callback(canvas)}),500)}))}}react_three_fiber_esm_reconciler.act,is.fun(Symbol)&&Symbol.for&&Symbol.for("react.portal");react_three_fiber_esm_reconciler.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:"17.0.2"})},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),exec=__webpack_require__(207);$({target:"RegExp",proto:!0,forced:/./.exec!==exec},{exec:exec})},function(module,exports,__webpack_require__){(function(global){var check=function(it){return it&&it.Math==Math&&it};module.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof global&&global)||function(){return this}()||Function("return this")()}).call(this,__webpack_require__(64))},function(module,exports){module.exports=function(exec){try{return!!exec()}catch(error){return!0}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"c",(function(){return isTooLongForTypeSummary})),__webpack_require__.d(__webpack_exports__,"b",(function(){return isTooLongForDefaultValueSummary})),__webpack_require__.d(__webpack_exports__,"a",(function(){return createSummaryValue}));__webpack_require__(54),__webpack_require__(33);function isTooLongForTypeSummary(value){return value.length>90}function isTooLongForDefaultValueSummary(value){return value.length>50}function createSummaryValue(summary,detail){return summary===detail?{summary:summary}:{summary:summary,detail:detail}}},function(module,exports,__webpack_require__){"use strict";var ES5Type=__webpack_require__(339);module.exports=function Type(x){return"symbol"==typeof x?"Symbol":"bigint"==typeof x?"BigInt":ES5Type(x)}},function(module,exports,__webpack_require__){var global=__webpack_require__(34),shared=__webpack_require__(198),has=__webpack_require__(52),uid=__webpack_require__(199),NATIVE_SYMBOL=__webpack_require__(260),USE_SYMBOL_AS_UID=__webpack_require__(363),WellKnownSymbolsStore=shared("wks"),Symbol=global.Symbol,createWellKnownSymbol=USE_SYMBOL_AS_UID?Symbol:Symbol&&Symbol.withoutSetter||uid;module.exports=function(name){return has(WellKnownSymbolsStore,name)&&(NATIVE_SYMBOL||"string"==typeof WellKnownSymbolsStore[name])||(NATIVE_SYMBOL&&has(Symbol,name)?WellKnownSymbolsStore[name]=Symbol[name]:WellKnownSymbolsStore[name]=createWellKnownSymbol("Symbol."+name)),WellKnownSymbolsStore[name]}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isExportStory=function isExportStory(key,_ref){var includeStories=_ref.includeStories,excludeStories=_ref.excludeStories;return"__esModule"!==key&&(!includeStories||matches(key,includeStories))&&(!excludeStories||!matches(key,excludeStories))},exports.parseKind=exports.storyNameFromExport=exports.toId=exports.sanitize=void 0;var _startCase=function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}(__webpack_require__(687));function _slicedToArray(arr,i){return function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}(arr)||function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr))&&"[object Arguments]"!==Object.prototype.toString.call(arr))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var sanitize=function sanitize(string){return string.toLowerCase().replace(/[ ’–—―′¿'`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi,"-").replace(/-+/g,"-").replace(/^-+/,"").replace(/-+$/,"")};exports.sanitize=sanitize;var sanitizeSafe=function sanitizeSafe(string,part){var sanitized=sanitize(string);if(""===sanitized)throw new Error("Invalid ".concat(part," '").concat(string,"', must include alphanumeric characters"));return sanitized};exports.toId=function toId(kind,name){return"".concat(sanitizeSafe(kind,"kind"),"--").concat(sanitizeSafe(name,"name"))};function matches(storyKey,arrayOrRegex){return Array.isArray(arrayOrRegex)?arrayOrRegex.includes(storyKey):storyKey.match(arrayOrRegex)}exports.storyNameFromExport=function storyNameFromExport(key){return(0,_startCase.default)(key)};exports.parseKind=function parseKind(kind,_ref2){var rootSeparator=_ref2.rootSeparator,groupSeparator=_ref2.groupSeparator,_kind$split2=_slicedToArray(kind.split(rootSeparator,2),2),root=_kind$split2[0],remainder=_kind$split2[1];return{root:remainder?root:null,groups:(remainder||kind).split(groupSeparator).filter((function(i){return!!i}))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return _objectSpread2}));var _defineProperty_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread2(target){for(var i=1;i-1?callBind(intrinsic):intrinsic}},function(module,exports,__webpack_require__){var isObject=__webpack_require__(41);module.exports=function(it){if(!isObject(it))throw TypeError(String(it)+" is not an object");return it}},function(module,exports,__webpack_require__){var path=__webpack_require__(372),has=__webpack_require__(52),wrappedWellKnownSymbolModule=__webpack_require__(371),defineProperty=__webpack_require__(61).f;module.exports=function(NAME){var Symbol=path.Symbol||(path.Symbol={});has(Symbol,NAME)||defineProperty(Symbol,NAME,{value:wrappedWellKnownSymbolModule.f(NAME)})}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return getControlId}));__webpack_require__(54),__webpack_require__(33);var getControlId=function getControlId(value){return"control-".concat(value.replace(/\s+/g,"-"))}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Icons}));__webpack_require__(26),__webpack_require__(29),__webpack_require__(8),__webpack_require__(20);var react=__webpack_require__(1),react_default=__webpack_require__.n(react),esm=__webpack_require__(2),icon_icons={mobile:"M648 64h-272c-66.274 0-120 53.726-120 120v656c0 66.274 53.726 120 120 120h272c66.274 0 120-53.726 120-120v-656c0-66.274-53.726-120-120-120zM376 144h272c22.056 0 40 17.944 40 40v495.968h-352v-495.968c0-22.056 17.946-40 40-40zM648 880h-272c-22.054 0-40-17.944-40-40v-80.032h352v80.032c0 22.056-17.944 40-40 40zM544.034 819.962c0 17.676-14.33 32.002-32.004 32.002-17.67 0-32-14.326-32-32.002 0-17.672 14.33-31.998 32-31.998 17.674-0 32.004 14.326 32.004 31.998z",watch:"M736.172 108.030c0-11.044-8.956-20-20-20h-408.282c-11.044 0-20 8.956-20 20 0 11.046 8.956 20 20 20h408.282c11.044 0 20-8.954 20-20zM736.172 50.37c0-11.044-8.956-20-20-20h-408.282c-11.044 0-20 8.956-20 20s8.956 20 20 20h408.282c11.044 0 20-8.956 20-20zM736.172 973.692c0-11.044-8.956-20-20-20h-408.282c-11.044 0-20 8.956-20 20s8.956 20 20 20h408.282c11.044 0 20-8.956 20-20zM736.172 916.030c0-11.044-8.956-20-20-20h-408.282c-11.044 0-20 8.956-20 20 0 11.046 8.956 20 20 20h408.282c11.044 0 20-8.954 20-20zM717.53 228c18.904 0 34.286 15.14 34.286 33.75v500.502c0 18.61-15.38 33.75-34.286 33.75h-411.43c-18.904 0-34.286-15.14-34.286-33.75v-500.502c0-18.61 15.38-33.75 34.286-33.75h411.43zM717.53 148h-411.43c-63.118 0-114.286 50.928-114.286 113.75v500.502c0 62.822 51.166 113.75 114.286 113.75h411.43c63.118 0 114.286-50.926 114.286-113.75v-500.502c-0.002-62.822-51.168-113.75-114.286-113.75v0zM680.036 511.53c0 22.090-17.91 40-40 40h-128.004c-5.384 0-10.508-1.078-15.196-3.006-0.124-0.048-0.254-0.086-0.376-0.132-0.61-0.262-1.188-0.57-1.782-0.86-0.572-0.276-1.16-0.528-1.718-0.828-0.204-0.112-0.39-0.246-0.594-0.364-0.918-0.514-1.832-1.050-2.704-1.64-0.086-0.058-0.164-0.128-0.254-0.188-10.492-7.21-17.382-19.284-17.382-32.98v-151.5c0-22.094 17.91-40 40.004-40 22.088 0 40 17.906 40 40v111.498h88c22.094-0.002 40.002 17.91 40.006 40z",tablet:"M200.022 927.988h624.018c1.38 0 2.746-0.072 4.090-0.208 20.168-2.050 35.91-19.080 35.91-39.792v-751.916c0-22.092-17.91-40-40-40h-624.018c-22.098 0-40 17.908-40 40v751.916c0 22.094 17.906 40 40 40zM512.002 878.206c-17.674 0-32.004-14.328-32.004-31.998 0-17.678 14.33-32.002 32.004-32.002 17.67 0 32 14.324 32 32.002 0 17.67-14.33 31.998-32 31.998zM240.022 176.078h544.018v591.902h-544.018v-591.902z",browser:"M920.004 128h-816.008c-1.38 0-2.746 0.070-4.090 0.208-20.168 2.048-35.91 19.080-35.91 39.792v688c0 22.090 17.91 40 40 40h816.008c22.098 0 40-17.91 40-40v-688c-0-22.094-17.906-40-40-40zM368 177.78c17.674 0 32.004 14.328 32.004 31.998 0 17.676-14.33 32.002-32.004 32.002-17.67 0-32-14.326-32-32.002 0-17.67 14.33-31.998 32-31.998zM272 177.78c17.674 0 32.004 14.328 32.004 31.998 0 17.676-14.33 32.002-32.004 32.002-17.67 0-32-14.326-32-32.002 0-17.67 14.33-31.998 32-31.998zM176 177.78c17.674 0 32.004 14.328 32.004 31.998 0 17.676-14.33 32.002-32.004 32.002-17.67 0-32-14.326-32-32.002 0-17.67 14.33-31.998 32-31.998zM880.004 815.996h-736.008v-527.988h736.008v527.988z",sidebar:"M920.032 127.858h-816c-22.092 0-40 17.908-40 40v688c0 22.092 17.908 40 40 40h316.578c1.13 0.096 2.266 0.172 3.422 0.172s2.292-0.078 3.424-0.172h492.576c22.092 0 40-17.908 40-40v-688c0-22.092-17.908-40-40-40zM144.032 207.858h240v608h-240v-608zM880.032 815.858h-416v-608h416v608zM198.734 288.030c0-17.674 14.328-32 32.002-32h66.396c17.672 0 32 14.326 32 32 0 17.676-14.324 32-32 32h-66.398c-17.674 0-32-14.326-32-32zM198.734 416.030c0-17.674 14.328-32 32.002-32h66.396c17.672 0 32 14.326 32 32 0 17.676-14.324 32-32 32h-66.398c-17.674 0-32-14.326-32-32zM198.734 544.030c0-17.674 14.328-32 32.002-32h66.396c17.672 0 32 14.326 32 32 0 17.676-14.324 32-32 32h-66.398c-17.674 0-32-14.326-32-32z",sidebaralt:"M64 167.944v688c0 22.092 17.908 40 40 40h816c22.092 0 40-17.908 40-40v-688c0-22.092-17.908-40-40-40h-816c-22.092 0-40 17.908-40 40zM880 815.944h-240v-608h240v608zM144 207.944h416v608h-416v-608zM793.296 320.118h-66.398c-17.676 0-32-14.324-32-32 0-17.674 14.328-32 32-32h66.396c17.674 0 32.002 14.326 32.002 32 0 17.672-14.324 32-32 32zM793.296 448.118h-66.398c-17.676 0-32-14.324-32-32 0-17.674 14.328-32 32-32h66.396c17.674 0 32.002 14.326 32.002 32 0 17.672-14.324 32-32 32zM793.296 576.118h-66.398c-17.676 0-32-14.324-32-32 0-17.674 14.328-32 32-32h66.396c17.674 0 32.002 14.326 32.002 32 0 17.672-14.324 32-32 32z",bottombar:"M85 121h854c24 0 42 18 42 41v700c0 23-18 41-42 41H608a44 44 0 0 1-7 0H85c-24 0-42-18-42-41V162c0-23 18-41 42-41zm41 535v165h772V656H126zm0-82h772V202H126v372zm185 197h-69c-19 0-34-14-34-32s15-33 34-33h69c19 0 34 15 34 33s-15 32-34 32zm236 0h-70c-18 0-33-14-33-32s15-33 33-33h70c18 0 33 15 33 33s-15 32-33 32zm235 0h-70c-18 0-33-14-33-32s15-33 33-33h70c18 0 33 15 33 33s-15 32-33 32z",useralt:"M533 960a850 850 0 0 0 386-92v-19c0-117-242-223-306-234-20-3-21-58-21-58s59-58 72-137c35 0 56-84 21-113 2-31 45-243-173-243S337 276 338 307c-34 29-13 113 22 113 13 79 72 137 72 137s-1 55-21 58c-64 11-301 115-306 231a855 855 0 0 0 428 114z",user:"M814 805a525 525 0 00-217-116c-17-3-17-50-17-50s50-49 61-116c29 0 48-71 18-96 1-26 38-206-147-206S364 401 365 427c-30 25-11 96 18 96 11 67 61 116 61 116s0 47-17 50c-39 6-154 53-217 116a418 418 0 015-590 418 418 0 01594 0 418 418 0 015 590M512 0a512 512 0 100 1024A512 512 0 00512 0",useradd:"M87 859c-30-12-59-27-87-43 5-105 221-200 279-210 19-3 19-53 19-53s-54-53-65-125c-32 0-51-76-20-103-1-28-40-221 158-221 199 0 160 193 158 221 32 27 12 103-19 103-12 72-66 125-66 125s1 50 19 53c59 10 279 107 279 213v18a781 781 0 0 1-655 22zm892-565h-91v-90a45 45 0 1 0-91 0v90h-91a45 45 0 1 0 0 91h91v91a45 45 0 1 0 91 0v-91h91a45 45 0 1 0 0-91z",users:"M360 128c193 0 155 182 154 208 31 25 12 97-19 97-11 67-64 118-64 118s1 47 19 50c57 9 271 100 271 200v16a771 771 0 0 1-637 21c-29-11-57-25-84-40 4-99 215-189 271-197 18-3 18-50 18-50s-52-51-63-118c-31 0-50-72-19-97-1-26-40-208 153-208zm416 66c133 0 107 125 106 144 21 17 8 66-13 66-8 47-44 81-44 81s0 33 12 34c40 6 187 69 187 138v46c-80 27-163 41-249 41l-9-1c-16-31-44-61-83-90a546 546 0 0 0-111-64c47-38 117-66 143-70 12-1 12-34 12-34s-36-34-43-81c-21 0-34-49-13-66-1-19-27-144 105-144z",profile:"M761 631c0-13-10-23-22-23H285c-12 0-22 10-22 23 0 12 10 23 22 23h454c12 0 22-11 22-23zm0 100c0-12-10-22-22-22H285c-12 0-22 10-22 22 0 13 10 23 22 23h454c12 0 22-10 22-23zm0 101c0-13-10-23-22-23H285c-12 0-22 10-22 23s10 23 22 23h454c12 0 22-10 22-23zM832 0c59 0 107 49 107 109v807c-1 60-49 108-107 108H130c-25 0-45-20-45-46V46a45 45 0 0 1 45-46h702zm0 91H174v842h658c10 0 18-9 18-18V110c0-10-8-19-18-19zM384 532l-39-20c2-49 100-93 126-97 8-1 8-25 8-25s-24-24-29-57c-14 0-23-35-9-48-1-13-18-102 71-102s72 89 71 102c14 13 5 48-9 48-5 33-29 57-29 57s0 24 8 25c27 4 126 49 126 98v8a346 346 0 0 1-295 11z",bookmark:"M772 1012L511 761l-260 251a49 49 0 0 1-52 10c-18-7-29-24-29-43V132c0-25 21-46 47-46h588c26 0 47 21 47 46v847c0 19-11 36-29 43a49 49 0 0 1-51-10z",bookmarkhollow:"M772 1012L511 761l-260 251a49 49 0 0 1-52 10c-18-7-29-24-29-43V132c0-25 21-46 47-46h588c26 0 47 21 47 46v847c0 19-11 36-29 43a49 49 0 0 1-51-10zM545 664l213 205V181H265v688l213-205c9-9 21-14 33-14s24 5 34 14z",book:"M896.054 159.774c-0.122-52.914-43.048-95.774-95.992-95.774h-632.004c-1.754 0-3.468 0.154-5.164 0.372-19.644 2.54-34.836 19.292-34.836 39.628v816c0 22.094 17.91 40 40 40h632.004c52.642 0 95.368-42.378 95.968-94.88h0.036v-705.332l-0.012-0.014zM368.062 144h80v271.922l-11.728-11.718c-15.62-15.606-40.924-15.606-56.542 0l-11.728 11.718v-271.922zM816.036 864.204c-0.1 8.712-7.268 15.796-15.972 15.796h-592.004v-736h80.004v368.426c0 16.176 9.742 30.758 24.684 36.954 14.944 6.192 32.146 2.778 43.586-8.656l51.728-51.68 51.728 51.68c7.652 7.644 17.876 11.708 28.28 11.708 5.156 0 10.356-1 15.306-3.050 14.944-6.196 24.684-20.778 24.684-36.954v-368.428h272c8.796 0 15.972 7.16 15.992 15.958l-0.016 704.246z",repository:"M856.020 159.804c-0.122-52.916-43.048-95.774-95.992-95.774h-591.968c-1.754 0-3.468 0.154-5.164 0.37-19.644 2.54-34.836 19.292-34.836 39.63v784.584c0 22.094 17.91 40 40 40h151.972v63.594c0 10.876 6.548 20.682 16.598 24.844 10.046 4.164 21.612 1.87 29.304-5.818l34.78-34.748 34.78 34.748c5.144 5.14 12.020 7.87 19.014 7.87 3.466 0 6.962-0.672 10.292-2.052 10.048-4.164 16.598-13.968 16.598-24.844v-63.594h278.63c52.642 0 95.368-42.38 95.968-94.882h0.036v-673.916l-0.012-0.012zM776.020 159.988l-0.014 504.628h-519.974v-520.584h503.996c8.796-0 15.972 7.158 15.992 15.956zM760.028 848.616h-278.63v-56h-161.366v56h-111.972v-104h567.944l-0.002 88.204c-0.102 8.71-7.27 15.796-15.974 15.796zM320.032 240.396c0-17.67 14.328-31.998 31.998-31.998s32.002 14.326 32.002 31.998c0 17.674-14.332 32-32.002 32-17.672-0.002-31.998-14.326-31.998-32zM320.032 349.79c0-17.67 14.328-31.998 31.998-31.998s32.002 14.328 32.002 31.998c0 17.676-14.332 32-32.002 32-17.672 0-31.998-14.324-31.998-32zM320.032 459.188c0-17.67 14.328-32 31.998-32s32.002 14.328 32.002 32c0 17.674-14.332 31.998-32.002 31.998-17.672 0-31.998-14.324-31.998-31.998zM384.032 568.582c0 17.674-14.332 31.998-32.002 31.998s-31.998-14.324-31.998-31.998c0-17.67 14.328-32 31.998-32 17.67 0.002 32.002 14.33 32.002 32z",star:"M763.972 919.5c-6.368 0-12.758-1.518-18.61-4.596l-233.358-122.688-233.37 122.688c-13.476 7.090-29.808 5.904-42.124-3.042-12.318-8.95-18.486-24.118-15.912-39.124l44.57-259.856-188.792-184.028c-10.904-10.626-14.828-26.524-10.124-41.004s17.222-25.034 32.292-27.222l260.906-37.912 116.686-236.42c6.738-13.652 20.644-22.296 35.87-22.296v0c15.226 0 29.13 8.644 35.87 22.298l116.674 236.418 260.906 37.912c15.068 2.19 27.586 12.742 32.292 27.222s0.782 30.376-10.124 41.004l-188.792 184.028 44.24 257.93c0.62 2.796 0.946 5.704 0.946 8.688 0 22.054-17.848 39.942-39.888 40-0.054 0-0.106 0-0.158 0z",starhollow:"M763.972 919.5c-6.368 0-12.758-1.518-18.61-4.596l-233.358-122.688-233.37 122.688c-13.476 7.090-29.808 5.904-42.124-3.042-12.318-8.95-18.486-24.118-15.912-39.124l44.57-259.856-188.792-184.028c-10.904-10.626-14.828-26.524-10.124-41.004s17.222-25.034 32.292-27.222l260.906-37.912 116.686-236.42c6.738-13.652 20.644-22.296 35.87-22.296v0c15.226 0 29.13 8.644 35.87 22.298l116.674 236.418 260.906 37.912c15.068 2.19 27.586 12.742 32.292 27.222s0.782 30.376-10.124 41.004l-188.792 184.028 44.24 257.93c0.62 2.796 0.946 5.704 0.946 8.688 0 22.054-17.848 39.942-39.888 40-0.054 0-0.106 0-0.158 0zM190.256 428.144l145.812 142.13c9.428 9.192 13.73 22.432 11.504 35.406l-34.424 200.7 180.244-94.758c11.654-6.13 25.576-6.126 37.226 0l180.232 94.756-34.422-200.698c-2.226-12.974 2.076-26.214 11.504-35.406l145.812-142.13-201.51-29.282c-13.030-1.892-24.292-10.076-30.118-21.882l-90.114-182.596-90.122 182.598c-5.826 11.804-17.090 19.988-30.118 21.88l-201.506 29.282z",circle:"M1024 512A512 512 0 110 512a512 512 0 011024 0z",circlehollow:"M1024 512A512 512 0 100 512a512 512 0 001024 0zM215 809a418 418 0 010-594 418 418 0 01594 0 418 418 0 010 594 418 418 0 01-594 0z",heart:"M895.032 194.328c-20.906-21.070-46.492-37.316-76.682-48.938-30.104-11.71-63.986-17.39-101.474-17.39-19.55 0-38.744 2.882-57.584 9.094-18.472 6.062-36.584 14.242-54.072 24.246-17.476 9.828-34.056 21.276-49.916 33.898-16.038 12.8-30.456 25.572-43.346 38.664-13.52-13.092-28.026-25.864-43.616-38.664-15.684-12.624-32.080-24.070-49.382-33.898-17.214-10.004-35.414-18.184-54.704-24.246-19.104-6.21-38.568-9.094-58.034-9.094-37.126 0-70.56 5.68-100.48 17.39-29.732 11.622-55.328 27.868-76.328 48.938-20.994 21.094-37.214 46.962-48.478 77.328-11.174 30.544-16.942 64.5-16.942 101.812 0 21.628 3.068 43.078 9.19 64.53 6.308 21.096 14.416 41.986 24.876 61.642 10.446 19.656 22.702 38.488 36.584 56.59 13.88 18.124 28.388 34.516 43.344 49.58l305.766 305.112c8.466 7.558 18.11 11.444 28.204 11.444 10.726 0 19.914-3.884 27.308-11.444l305.934-304.226c14.78-14.772 29.382-31.368 43.166-49.378 14.058-18.212 26.314-37.222 37.042-57.23 10.9-19.924 19.192-40.638 25.406-62 6.218-21.188 9.198-42.61 9.198-64.618 0-37.312-5.592-71.268-16.582-101.812-11.264-30.366-27.22-56.236-48.398-77.33z",hearthollow:"M716.876 208c27.708 0 52.092 4.020 72.47 11.948l0.132 0.052 0.13 0.050c19.866 7.644 35.774 17.664 48.632 30.624l0.166 0.168 0.17 0.168c12.586 12.536 22.304 28.27 29.706 48.094 7.782 21.786 11.726 46.798 11.726 74.364 0 14.658-1.95 28.426-5.958 42.086l-0.028 0.092-0.026 0.092c-4.866 16.72-11.006 31.752-18.776 45.952l-0.162 0.298-0.16 0.296c-8.81 16.434-18.58 31.532-29.864 46.148l-0.204 0.264c-11.316 14.786-23.48 28.708-36.154 41.378l-277.122 275.574-276.94-276.35c-13.32-13.43-25.248-27.074-36.488-41.75-11.386-14.848-21.284-30.136-29.444-45.49-7.206-13.54-13.494-29.17-18.7-46.472-4.030-14.264-5.988-28.044-5.988-42.116 0-27.36 4.042-52.314 12.016-74.176 7.214-19.378 17.344-35.708 30.066-48.492 12.998-13.042 28.958-23.148 48.826-30.914 20.436-8 43.764-11.886 71.32-11.886 11.536 0 22.738 1.742 33.298 5.174l0.374 0.122 0.376 0.12c13.116 4.122 26.066 9.874 38.494 17.094l0.34 0.2 0.344 0.196c12.736 7.234 25.308 15.876 38.43 26.412 14.486 11.906 27.060 23.048 38.428 34.056l56.994 55.192 55.662-56.532c10.324-10.484 22.18-21.040 36.242-32.264 13.382-10.646 26.216-19.38 39.228-26.698l0.256-0.144 0.254-0.144c13.008-7.442 26.228-13.386 39.294-17.676l0.050-0.016 0.050-0.018c10.354-3.414 20.998-5.076 32.54-5.076zM716.876 128c-19.55 0-38.744 2.882-57.584 9.094-18.472 6.062-36.584 14.242-54.072 24.246-17.476 9.828-34.056 21.276-49.916 33.898-16.038 12.8-30.456 25.572-43.346 38.664-13.52-13.092-28.026-25.864-43.616-38.664-15.684-12.624-32.080-24.070-49.382-33.898-17.214-10.004-35.414-18.184-54.704-24.246-19.104-6.21-38.568-9.094-58.034-9.094-37.126 0-70.56 5.68-100.48 17.39-29.732 11.622-55.328 27.868-76.328 48.938-20.994 21.094-37.214 46.962-48.478 77.328-11.174 30.544-16.942 64.5-16.942 101.812 0 21.628 3.068 43.078 9.19 64.53 6.308 21.096 14.416 41.986 24.876 61.642 10.446 19.656 22.702 38.488 36.584 56.59 13.88 18.124 28.388 34.516 43.344 49.58l305.766 305.112c8.466 7.558 18.11 11.444 28.204 11.444 10.726 0 19.914-3.884 27.308-11.444l305.934-304.226c14.78-14.772 29.382-31.368 43.166-49.378 14.058-18.212 26.314-37.222 37.042-57.23 10.9-19.924 19.192-40.638 25.406-62 6.218-21.188 9.198-42.61 9.198-64.618 0-37.312-5.592-71.268-16.582-101.812-11.262-30.366-27.216-56.234-48.396-77.328-20.906-21.070-46.492-37.316-76.682-48.938-30.106-11.712-63.988-17.392-101.476-17.392v0z",facehappy:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm0 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 512c0 112.3 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.6c112.3 0 218-43.8 297.4-123.2A417.8 417.8 0 00932.6 512c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.4zm248 493.7c15.2 0 28.7 7.5 37 19l2.6 3.9a46 46 0 015.8 18l.3 4.9c0 6.6-1.4 13-4 18.7l-2.1 4.1A329 329 0 01232 663l-5.5-9.3a46 46 0 01-2-41.2l2-4.2v-.2a45.6 45.6 0 0176.7-4l2.5 4a237.9 237.9 0 00410 7.7l4.5-7.7a46 46 0 0139.7-22.9zM329.7 292.6a73.1 73.1 0 110 146.2 73.1 73.1 0 010-146.2zm365.2 0a73.1 73.1 0 110 146.2 73.1 73.1 0 010-146.2z",facesad:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm0 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 512c0 112.3 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.6c112.3 0 218-43.8 297.4-123.2A417.8 417.8 0 00932.6 512c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.4zm1.1 449.2a329 329 0 01281.1 157.7l5.5 9.2a46 46 0 012 41.3l-2 4.1v.3a45.6 45.6 0 01-76.7 4l-2.6-4a238 238 0 00-410-7.7l-4.5 7.7a46 46 0 01-76.6 4l-2.6-4a46 46 0 01-5.9-18l-.2-5c0-6.6 1.4-12.9 4-18.6l2.1-4.2a329 329 0 01286.4-166.8zm-183.4-248a73.1 73.1 0 110 146.2 73.1 73.1 0 010-146.2zm365.2 0a73.1 73.1 0 110 146.2 73.1 73.1 0 010-146.2z",faceneutral:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm0 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 512c0 112.3 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.6c112.3 0 218-43.8 297.4-123.2A417.8 417.8 0 00932.6 512c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.4zm248 521.2a45.7 45.7 0 014.7 91.2l-4.7.2H266.3a45.7 45.7 0 01-4.7-91.2l4.7-.2H760zm-430.3-320a73.1 73.1 0 110 146.2 73.1 73.1 0 010-146.2zm365.2 0a73.1 73.1 0 110 146.2 73.1 73.1 0 010-146.2z",lock:"M896.032 915.53v-467.498c0-19.102-13.402-35.052-31.31-39.026-0.21-0.046-0.414-0.12-0.628-0.162-0.444-0.090-0.904-0.13-1.354-0.208-2.186-0.37-4.416-0.606-6.708-0.606h-55.902l0.002-55.85h0.020c0-159.14-129.010-288.15-288.15-288.15-159.128 0-288.13 128.992-288.15 288.118v55.884h-54.852c-20.71 0-37.746 15.742-39.792 35.91-0.136 1.344-0.208 2.708-0.208 4.090v463.332c-0.618 2.792-0.968 5.688-0.968 8.668 0 22.094 17.91 40 40 40h688.27c22.092 0 40-17.91 40-40-0.002-1.524-0.104-3.024-0.27-4.502zM209 488.032h607.032v392h-607.032v-392zM303.85 352.182c0-114.776 93.376-208.15 208.15-208.15 114.59 0 207.842 93.074 208.142 207.596 0 0.084-0.012 0.164-0.012 0.248v56.156h-416.284l0.004-55.85zM552.164 691.858l-0.002 58.188c0.004 22.088-17.906 39.996-39.996 39.998-22.094 0.002-40.004-17.906-40-40v-57.974c-14.704-11.726-24.134-29.782-24.134-50.048 0-35.346 28.654-64 64-64s64 28.654 64 64c0 20.142-9.318 38.104-23.868 49.836z",unlock:"M896.032 915.53v-467.498c0-1.988-0.194-3.926-0.472-5.834-0.11-0.744-0.192-1.498-0.34-2.226-1.524-7.44-5.136-14.1-10.164-19.408-0.252-0.266-0.48-0.554-0.738-0.814-0.496-0.494-1.036-0.944-1.554-1.412-0.43-0.386-0.84-0.8-1.288-1.17-0.292-0.24-0.608-0.446-0.904-0.676-2.506-1.954-5.244-3.616-8.176-4.934-0.744-0.334-1.504-0.632-2.27-0.922-4.39-1.656-9.124-2.604-14.094-2.604h-552.184l0.002-55.85c0-114.776 93.376-208.15 208.15-208.15 86.038 0 160.034 52.474 191.7 127.096 0.012 0.028 0.030 0.044 0.042 0.072 5.978 14.566 20.284 24.832 37.006 24.832 22.090 0 40-17.906 40-40 0-4.71-0.86-9.21-2.354-13.41-0.182-0.694-0.42-1.438-0.782-2.292-43.666-103.582-146.14-176.296-265.612-176.296-159.128 0-288.13 128.994-288.15 288.12v55.882h-54.85c-20.71 0-37.746 15.742-39.792 35.91-0.136 1.344-0.208 2.708-0.208 4.090v463.332c-0.618 2.794-0.968 5.688-0.968 8.668 0 22.094 17.91 40 40 40h688.27c22.092 0 40-17.91 40-40-0.002-1.528-0.104-3.028-0.27-4.506zM209 488.032h607.032v392h-607.032v-392zM552.164 691.86l-0.002 58.186c0.004 22.088-17.906 39.996-39.996 40-22.094 0-40.004-17.908-40-40v-57.976c-14.702-11.726-24.134-29.782-24.134-50.048 0-35.346 28.654-64 64-64s64 28.654 64 64c0 20.142-9.318 38.102-23.868 49.838z",key:"M768.032 320.032c0 35.346-28.654 64-64 64s-64-28.654-64-64 28.654-64 64-64 64 28.654 64 64zM960.032 353.092c0 159.062-128.946 288.010-288.008 288.010-35.306 0-69.124-6.368-100.38-17.996l-27.736 27.738-0.002 54.464c0 0.016 0.002 0.028 0.002 0.040 0 11.046-4.478 21.046-11.716 28.29-6.334 6.332-14.784 10.55-24.196 11.508-1.346 0.136-2.708 0.208-4.090 0.208h-71.748l-0.002 71.96c0 0.012 0.002 0.040 0.002 0.040 0 11.046-4.478 21.046-11.716 28.286-6.334 6.336-14.784 10.554-24.196 11.508-1.346 0.136-2.708 0.208-4.090 0.208h-71.996l-0.002 62.684c0 22.094-17.908 40-40 40-0.022 0-0.042 0-0.062 0-0.022 0-0.042 0-0.064 0h-175.996c-13.76 0-25.888-6.95-33.086-17.524-4.362-6.406-6.916-14.14-6.916-22.476v-112c0-0.664 0.066-1.308 0.1-1.964 0.032-0.618 0.034-1.234 0.092-1.852 0.11-1.148 0.288-2.278 0.492-3.398 0.024-0.128 0.034-0.258 0.058-0.386 1.614-8.378 5.848-15.808 11.808-21.446l325.456-325.458c-11.642-31.274-18.020-65.11-18.020-100.44 0-159.060 128.946-288.006 288.006-288.006 159.060-0.004 288.006 128.942 288.006 288.002zM880.032 353.092c0-114.696-93.312-208.006-208.008-208.006s-208.006 93.31-208.006 208.006c0 43.208 13.246 83.376 35.884 116.668l-57.36 57.362c-0.136-0.184-0.27-0.368-0.408-0.546l-298.102 298.106-0.002 55.356h96.124v-62.684c0-0.708 0.070-1.394 0.106-2.094 0.036-0.664 0.036-1.336 0.102-1.992 0.132-1.316 0.334-2.61 0.592-3.882 0.006-0.028 0.008-0.058 0.014-0.090 0.258-1.262 0.58-2.5 0.956-3.714 0.012-0.040 0.018-0.078 0.030-0.118 4.676-15.032 17.976-26.262 34.114-27.902 1.344-0.136 2.708-0.208 4.090-0.208h71.998v-67.64c-0.156-1.434-0.248-2.882-0.248-4.36 0-22.094 17.908-40 40-40h71.998v-30.692c0-0.148 0.020-0.29 0.022-0.438 0.008-10.226 3.912-20.45 11.714-28.254l55.99-55.988c1.982-1.984 4.124-3.71 6.38-5.188l18.68-18.684c33.030 22.090 72.702 34.992 115.332 34.992 114.694-0 208.008-93.314 208.008-208.010z",arrowleftalt:"M107.854 539.924l282.834 283.272c15.594 15.65 40.92 15.692 56.568 0.1 15.648-15.594 15.694-40.92 0.1-56.568l-214.838-215.040h655.412c22.092 0 40-17.908 40-40s-17.908-40-40-40h-655l214.75-214.61c15.64-15.602 15.672-40.928 0.070-56.568-7.814-7.834-18.066-11.752-28.32-11.75-10.22 0-20.442 3.892-28.25 11.68l-283.242 282.93c-15.634 15.594-15.672 40.91-0.084 56.554z",arrowrightalt:"M916.266 483.792l-282.834-283.272c-15.594-15.65-40.92-15.692-56.568-0.1-15.648 15.594-15.694 40.92-0.1 56.568l214.838 215.040h-655.412c-22.092 0-40 17.908-40 40s17.908 40 40 40h655l-214.748 214.61c-15.64 15.602-15.672 40.928-0.070 56.568 7.814 7.834 18.066 11.752 28.32 11.75 10.22 0 20.442-3.892 28.25-11.68l283.242-282.93c15.632-15.596 15.67-40.91 0.082-56.554z",sync:"M135.6 442.5a41 41 0 0130 12l94.9 94.6c16 16 16 42 0 58s-42.1 16-58.2 0l-30.1-30a341.9 341.9 0 0095 178.6c65.3 65 152 101 244.3 101 92.3 0 179-36 244.3-101a345 345 0 0066.8-93.6 41.1 41.1 0 0174.3 35v.2l-.1.2-5.2 10.3a427.8 427.8 0 01-380 230.9A427.5 427.5 0 0190.1 585.8l-20 20c-16 16-42 16-58.2 0a41 41 0 010-58l93.6-93.3a41 41 0 0130-12zm376-357.2c208.9 0 382.8 149.5 420.1 347.1l22-22c16.1-16 42.2-16 58.2 0s16 42 0 58l-93.5 93.4a41 41 0 01-30 12 41 41 0 01-30-12L763.5 467a41 41 0 010-58c16-16 42.1-16 58.2 0l26.8 26.8a342 342 0 00-92.7-167.6c-65.3-65-152-101-244.3-101-92.3 0-179 36-244.2 101a345.2 345.2 0 00-66.9 93.6 41.1 41.1 0 01-74.3-35v-.2l.2-.2c.7-1.7.2-.8 5.1-10.3A427.8 427.8 0 01511.5 85.3z",reply:"M679.496 431.738c-0.414-0.062-0.834-0.102-1.266-0.102h-477.482l171.506-171.504c15.622-15.622 15.622-40.95-0.002-56.57-15.62-15.624-40.948-15.624-56.568 0l-239.734 239.732c-0.958 0.956-1.868 1.958-2.724 3.006-0.328 0.402-1.884 2.482-2.324 3.138-0.36 0.54-1.696 2.77-2.008 3.352-0.308 0.58-1.424 2.936-1.676 3.544-0.036 0.086-0.468 1.268-0.648 1.774-0.23 0.636-0.474 1.266-0.672 1.918-0.186 0.612-0.818 3.13-0.95 3.788-0.148 0.748-0.522 3.318-0.574 3.862-0.262 2.642-0.262 5.3 0 7.942 0.044 0.448 0.412 3.032 0.58 3.874 0.112 0.556 0.74 3.088 0.958 3.808 0.158 0.524 1.036 2.992 1.328 3.7 0.192 0.458 1.298 2.828 1.688 3.552 0.208 0.386 0.446 0.75 0.666 1.126 0.436 0.752 1.844 2.888 2.084 3.224 0.52 0.724 4.262 5.074 4.29 5.098l239.718 239.72c15.62 15.618 40.948 15.618 56.57 0 15.62-15.624 15.622-40.948 0-56.57l-171.516-171.514h471.296c114.52 0.084 207.688 93.124 207.988 207.594 0 0.084-0.012 0.164-0.012 0.248v95.876c-0.004 22.094 17.906 40.002 40 40 22.090-0.002 40-17.91 39.996-39.998l0.004-95.57h0.020c0-156.594-124.914-284.012-280.536-288.048z",undo:"M230 301h480a240 240 0 1 1 0 481H235c-23 0-42-20-42-43 0-24 19-43 42-43h475a155 155 0 0 0 0-310H228l3 3 65 65a45 45 0 0 1-65 64L90 376a45 45 0 0 1 0-64l142-142a45 45 0 1 1 64 65l-63 62-3 4z",transfer:"M916.25 348.726l-125 124.688c-7.808 7.79-18.032 11.68-28.25 11.68-10.254 0.002-20.506-3.918-28.32-11.75-15.602-15.64-15.57-40.966 0.070-56.568l56.508-56.368h-655.258c-22.092 0-40-17.908-40-40s17.908-40 40-40h655.672l-57.006-57.206c-15.594-15.646-15.548-40.972 0.1-56.566s40.972-15.55 56.568 0.098l125 125.438c15.588 15.644 15.548 40.958-0.084 56.554zM107.666 731.892l125 125.438c15.596 15.648 40.92 15.692 56.568 0.098s15.694-40.92 0.1-56.566l-57.006-57.206h655.672c22.092 0 40-17.908 40-40s-17.908-40-40-40h-655.258l56.508-56.368c15.64-15.602 15.672-40.928 0.070-56.568-7.814-7.832-18.066-11.752-28.32-11.75-10.218 0-20.442 3.89-28.25 11.68l-125 124.688c-15.632 15.596-15.672 40.91-0.084 56.554z",redirect:"M913.852 702.796c-15.594-15.648-40.922-15.694-56.57-0.1l-57.204 57.006v-451.424c0-0.372-0.028-0.736-0.074-1.098-0.458-99.016-80.86-179.15-179.988-179.15-99.412 0-180 80.592-180 180 0 0.084 0.004 0.166 0.004 0.248h-0.004v343.504h-0.006c0 0.082 0.006 0.164 0.006 0.248 0 55.14-44.86 100-100 100s-100-44.86-100-100c0-0.084 0.006-0.166 0.006-0.248h-0.002v-483.752c0-22.092-17.91-40-40-40s-40.004 17.908-40.004 40v483.752c0 0.018 0.002 0.036 0.002 0.054 0 0.064-0.002 0.128-0.002 0.194 0 99.408 80.59 180 180 180 99.412 0 180-80.592 180-180 0-0.084-0.004-0.166-0.004-0.248h0.004v-343.504h0.008c0-0.082-0.008-0.164-0.008-0.248 0-55.138 44.86-100 100-100s100 44.862 100 100c0 0.084-0.008 0.166-0.008 0.248h0.070v451.008l-56.368-56.506c-15.602-15.642-40.93-15.67-56.566-0.070-7.836 7.814-11.754 18.066-11.754 28.32 0 10.218 3.894 20.442 11.68 28.252l124.692 125c15.594 15.632 40.91 15.67 56.554 0.084l125.434-125c15.652-15.598 15.692-40.92 0.102-56.57z",expand:"M433.4 578.8l6.2 5.2a44.8 44.8 0 010 63.3L238.4 849.1h100.3a44.8 44.8 0 018 88.8l-8 .8H130l-6.2-.5 2.7.3h-.3a44.7 44.7 0 01-24.8-10.2l-.3-.3-.3-.2-.3-.4-.3-.2-.3-.2v-.2h-.1l-.2-.1a45.7 45.7 0 01-13.5-24.8l-.3-1.7a45 45 0 01-.5-5.3V685.7a44.8 44.8 0 0189-8.1l.6 8 .1 100L376.3 584a44.8 44.8 0 0157.1-5.2zm157.2 0a44.8 44.8 0 0157.1 5.2L849 785.7v-100l.8-8.1a44.8 44.8 0 0188.9 8V895a45 45 0 01-.5 5.3l-.3 1.7a38.6 38.6 0 01-2.8 9.4 43.4 43.4 0 01-9.6 14.2l-4.7 4.2 2-1.7.7-.6-.3.4a44.1 44.1 0 01-4.4 3.3l-.6.4a45.8 45.8 0 01-20.4 7h-.3.9l1.8-.3-6.2.5H685.3l-8-.8a44.8 44.8 0 018-88.8h100.3L584.4 647.3a44.8 44.8 0 010-63.3zM98.5 925.5l1.3 1.3.1.2.6.4a45 45 0 002 1.7l.7.6-4.7-4.2zM893.9 85.3h.9-.8l6.2.5a45 45 0 00-1.8-.2l-.9-.1h-1l-.5-.1h-1.2 2.7l.3.1a44.7 44.7 0 0125.4 10.7l.3.3v.1l.3.2.3.2v.2h.1l.2.1.6.6.5.6A45.6 45.6 0 01938 122l.3 1.7c.3 1.8.4 3.6.5 5.3v209.2a44.8 44.8 0 01-89 8.1l-.6-8-.1-100L647.7 440a44.8 44.8 0 01-57.1 5.2l-6.2-5.2a44.8 44.8 0 010-63.3l201.2-201.8H685.3a44.8 44.8 0 01-8-88.8l8-.8H894h-.1zm-555.2 0l8 .8a44.8 44.8 0 01-8 88.8H238.4l201.2 201.8a44.8 44.8 0 010 63.3l-6.2 5.2a44.8 44.8 0 01-57.1-5.2L175 238.3v100l-.8 8.1a44.8 44.8 0 01-88.9-8V129c0-1.7.2-3.5.5-5.3l.3-1.7a38.6 38.6 0 012.8-9.4 43.4 43.4 0 019.6-14.2l4.7-4.2-2 1.7.2-.3a43.7 43.7 0 0124.8-10.2h1.3l.3-.1h2.3-.1 208.7zm582 9l4.8 4.2-1.3-1.3-.1-.2-.5-.4h-.1l-.6-.6-1.4-1.1-.7-.6zm-790.7-9h-2l-.5.1h-1l-.9.2c-.6 0-1.2 0-1.8.2l6.2-.5z",expandalt:"M479.7 13.4L205.4 287.6a45.7 45.7 0 1064.7 64.7l242-242 241.8 241.9a45.7 45.7 0 1064.7-64.7L544.4 13.4a45.6 45.6 0 00-64.7 0M512 1024a45.6 45.6 0 01-32.3-13.4L205.4 736.5a45.7 45.7 0 1164.7-64.7l241.8 241.8 242-241.9a45.7 45.7 0 1164.7 64.7l-274.3 274.2c-9 9-20.7 13.4-32.4 13.4",collapse:"M479.7 411L205.4 136.6a45.7 45.7 0 1164.7-64.6L512 314 753.9 72.2a45.7 45.7 0 1164.7 64.6L544.4 411a45.6 45.6 0 01-64.7 0M512 598.3a45.6 45.6 0 00-32.3 13.4L205.4 885.8a45.7 45.7 0 1064.7 64.7l241.8-241.8 242 242a45.7 45.7 0 1064.7-64.7L544.3 611.7c-9-8.9-20.7-13.4-32.4-13.4",grow:"M541.146 448.384c-1.694-0.216-3.408-0.37-5.162-0.37h-367.968c-1.754 0-3.468 0.152-5.162 0.37-19.646 2.538-34.838 19.292-34.838 39.63v368.032c0 22.094 17.91 40 40 40h367.968c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 0.184-0.308 0.282-0.458 0.612-0.924 1.2-1.862 1.722-2.838 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.61 4.704-12.008 4.704-18.808v-368.036c0-20.34-15.192-37.094-34.838-39.632zM208.016 816.046v-288.032h287.968v288.032h-287.968zM736.032 856.046c0 22.090-17.908 40-40 40-22.090 0-40-17.908-40-40v-487.902l-488.016 0.002c-22.090 0-40-17.91-40-40s17.908-40.002 40-40.002h528.016c1.754 0 3.468 0.152 5.162 0.37 19.646 2.538 34.838 19.292 34.838 39.63v527.902zM896.032 168.030v688.004c-0.002 22.088-17.91 39.996-40 39.996s-40.002-17.908-40.002-40c0 0 0.002-304.026 0.002-304.040v-343.96h-343.96c-0.014 0-304.040 0.002-304.040 0.002-22.090 0-40-17.91-40-40s17.908-40.002 40-40.002h688c1.754 0 3.468 0.152 5.162 0.37 19.646 2.536 34.838 19.29 34.838 39.63z",arrowleft:"M257.93 511.976c0-10.236 3.902-20.47 11.71-28.282l344.098-344.158c15.622-15.624 40.946-15.624 56.57-0.006 15.622 15.622 15.624 40.948 0.004 56.568l-315.82 315.876 315.868 315.922c15.618 15.624 15.618 40.952-0.004 56.568-15.622 15.62-40.95 15.618-56.57-0.006l-344.146-344.202c-7.808-7.81-11.71-18.044-11.71-28.28z",arrowup:"M512.024 256c10.236 0 20.47 3.904 28.282 11.712l344.154 344.098c15.624 15.62 15.624 40.946 0.006 56.57-15.622 15.622-40.948 15.624-56.568 0.004l-315.876-315.82-315.922 315.868c-15.624 15.618-40.952 15.618-56.568-0.004-15.62-15.624-15.618-40.95 0.006-56.57l344.204-344.144c7.81-7.81 18.046-11.714 28.282-11.714z",arrowdown:"M511.976 768.002c-10.236 0-20.47-3.904-28.282-11.712l-344.154-344.098c-15.624-15.62-15.624-40.946-0.006-56.57 15.622-15.622 40.948-15.624 56.568-0.004l315.876 315.82 315.922-315.868c15.624-15.618 40.952-15.616 56.568 0.004 15.62 15.624 15.618 40.95-0.006 56.57l-344.204 344.144c-7.81 7.81-18.046 11.714-28.282 11.714z",arrowright:"M768.072 514.022c0 10.236-3.904 20.47-11.712 28.282l-344.098 344.156c-15.62 15.624-40.946 15.624-56.568 0.006-15.622-15.622-15.624-40.948-0.006-56.568l315.82-315.876-315.868-315.922c-15.618-15.624-15.618-40.952 0.004-56.568 15.624-15.62 40.95-15.618 56.57 0.006l344.144 344.204c7.81 7.81 11.714 18.044 11.714 28.28z",chevrondown:"M511.976 833c-10.236 0-20.47-3.904-28.282-11.712l-471.934-471.874c-15.624-15.62-15.624-40.946-0.006-56.57 15.622-15.622 40.948-15.624 56.568-0.004l443.652 443.598 443.61-443.556c15.624-15.618 40.952-15.616 56.568 0.004 15.62 15.624 15.618 40.95-0.006 56.57l-471.89 471.832c-7.808 7.808-18.044 11.712-28.28 11.712z",back:"M512 932.6c-112.3 0-218-43.8-297.4-123.2A417.8 417.8 0 0191.4 512c0-112.3 43.8-218 123.2-297.4A417.8 417.8 0 01512 91.4c112.3 0 218 43.8 297.4 123.2A417.8 417.8 0 01932.6 512c0 112.3-43.8 218-123.2 297.4A417.8 417.8 0 01512 932.6zm0 91.4A512 512 0 10512 0a512 512 0 000 1024zM232.7 542.5l142.8 143.3a45.7 45.7 0 0064.8-64.5L375 555.9h383.7a45.7 45.7 0 000-91.4H375.6l64.6-64.4a45.7 45.7 0 10-64.6-64.8L232.8 477.8a45.7 45.7 0 00-.1 64.6z",download:"M543.8 791.3a45.7 45.7 0 01-64.6 0l-142.5-143a45.6 45.6 0 010-64.6 45.7 45.7 0 0164.7 0l64.5 64.7V265.2a45.7 45.7 0 1191.4 0v383.6l65.4-65.1a45.7 45.7 0 1164.5 64.8L543.8 791.3zM1024 512A512 512 0 110 512a512 512 0 011024 0zm-91.4 0c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 512c0 112.3 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.6c112.3 0 218-43.8 297.4-123.2A417.8 417.8 0 00932.6 512z",upload:"M480.2 232.7a45.7 45.7 0 0164.6 0l142.5 143a45.6 45.6 0 010 64.6 45.7 45.7 0 01-64.7 0L558 375.5v383.2a45.7 45.7 0 11-91.4 0V375.2l-65.4 65.1a45.7 45.7 0 11-64.5-64.8l143.4-142.8zM0 512a512 512 0 111024 0A512 512 0 010 512zm91.4 0c0 112.3 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.6c112.3 0 218-43.8 297.4-123.2A417.8 417.8 0 00932.6 512c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 512z",proceed:"M791.3 480.2L648.5 336.8a45.7 45.7 0 10-64.8 64.5l65.1 65.4H265.2a45.7 45.7 0 100 91.4h383.2l-64.6 64.5a45.7 45.7 0 0064.6 64.7l142.8-142.5a45.7 45.7 0 00.1-64.6M512 0a512 512 0 100 1024A512 512 0 00512 0m0 91.4c112.3 0 218 43.8 297.4 123.2A417.8 417.8 0 01932.6 512c0 112.3-43.8 218-123.2 297.4A417.8 417.8 0 01512 932.6c-112.3 0-218-43.8-297.4-123.2A417.8 417.8 0 0191.4 512c0-112.3 43.8-218 123.2-297.4A417.8 417.8 0 01512 91.4",info:"M874.04 149.96c199.95 199.95 199.95 524.14 0 724.08-199.95 199.95-524.13 199.95-724.08 0-199.95-199.95-199.95-524.13 0-724.08 199.95-199.95 524.13-199.95 724.08 0zM512 91.43c-112.34 0-217.95 43.75-297.39 123.18-79.43 79.44-123.18 185.05-123.18 297.4 0 112.33 43.75 217.94 123.18 297.38 79.44 79.43 185.05 123.18 297.4 123.18 112.33 0 217.94-43.75 297.38-123.18C888.82 729.95 932.57 624.34 932.57 512c0-112.34-43.75-217.95-123.18-297.39C729.95 135.18 624.34 91.43 512 91.43zm1.14 318.96a45.73 45.73 0 00-45.11 38.3l-.6 7.42v274.28a45.71 45.71 0 0090.83 7.42l.6-7.42V456.11a45.72 45.72 0 00-45.72-45.72zm0-162.25a45.72 45.72 0 100 91.44 45.72 45.72 0 000-91.44z",question:"M874.04 149.96c199.95 199.95 199.95 524.13 0 724.08-199.95 199.95-524.13 199.95-724.08 0-199.95-199.95-199.95-524.13 0-724.08 199.95-199.95 524.13-199.95 724.08 0zM512 91.43c-112.34 0-217.95 43.75-297.39 123.18-79.43 79.44-123.18 185.05-123.18 297.4 0 112.33 43.75 217.95 123.18 297.38 79.44 79.43 185.05 123.18 297.4 123.18 112.33 0 217.94-43.75 297.38-123.18C888.82 729.96 932.57 624.34 932.57 512c0-112.34-43.75-217.95-123.18-297.39C729.95 135.18 624.34 91.43 512 91.43zm1.14 640.9a45.72 45.72 0 100 91.43 45.72 45.72 0 000-91.44zm-1.14-549c-111.3 0-201.52 90.22-201.52 201.52a45.71 45.71 0 0090.84 7.41l.6-7.47c.03-60.68 49.4-110.03 110.08-110.03 60.7 0 110.1 49.38 110.1 110.09 0 60.7-49.4 110.09-110.1 110.09v.17a45.68 45.68 0 00-44.57 45.65v100.58a45.7 45.7 0 1091.42 0v-60.46c88.7-21.12 154.67-100.87 154.67-196.03 0-111.3-90.22-201.52-201.52-201.52z",support:"M512 932.57c-87.57 0-171.05-26.59-241.23-75.93l106-106a273.98 273.98 0 00135.26 35.62c46.7 0 93.41-11.88 135.22-35.6l105.98 105.98c-70.19 49.34-153.66 75.93-241.23 75.93m-344.64-661.8l105.97 105.98c-47.44 83.63-47.43 186.86.02 270.49L167.36 753.22C118.02 683.04 91.43 599.56 91.43 512c0-87.57 26.59-171.05 75.93-241.23m585.87-103.41L647.29 273.3a273.95 273.95 0 00-135.26-35.61c-46.74 0-93.47 11.9-135.3 35.63L270.77 167.36C340.96 118.02 424.43 91.43 512 91.43s171.05 26.59 241.23 75.93m-370.5 473.91c-71.3-71.3-71.3-187.3 0-258.6a181.7 181.7 0 01129.3-53.55h.02c48.83 0 94.74 19.02 129.28 53.56 71.29 71.29 71.29 187.3 0 258.6a181.66 181.66 0 01-129.3 53.55 181.67 181.67 0 01-129.3-53.56m473.91 111.95L750.68 647.27c47.48-83.65 47.48-186.91.02-270.56l105.94-105.94c49.34 70.18 75.93 153.66 75.93 241.23s-26.59 171.04-75.93 241.22m17.4-603.26c-199.95-199.95-524.13-199.95-724.08 0-199.95 199.95-199.95 524.13 0 724.08 199.95 199.95 524.13 199.95 724.08 0 199.95-199.95 199.95-524.13 0-724.08",alert:"M511.998 623.846c-22.090 0-40-17.906-40-40v-208c0-22.090 17.91-40 40-40v0c22.090 0 40.004 17.91 40.004 40v208c0 22.094-17.914 40-40.004 40v0zM511.998 743.846c22.090 0 40.004-17.906 40.004-40v0c0-22.090-17.914-40-40.004-40v0c-22.090 0-40 17.91-40 40v0c0 22.094 17.91 40 40 40v0zM512.142 211.808l-340.074 589.028h680.148l-340.074-589.028zM512.142 92.51c14.5 0 29 9.526 40 28.58l398.638 690.462c22 38.106 4 69.282-40 69.282h-797.278c-44 0-62-31.176-40-69.282l398.638-690.462c11.002-19.052 25.502-28.58 40.002-28.58v0z",bell:"M901.344 760.018l-57.644-77.648c-7.906-7.906-11.77-38.284-11.71-48.646h0.042v-200.588h-0.364c-6.878-148.106-114.428-269.902-255.792-298.528 0.208-2.1 0.318-4.228 0.318-6.384 0-35.452-28.738-64.194-64.194-64.194-35.458 0-64.194 28.742-64.194 64.194 0 2.19 0.112 4.352 0.326 6.486-141.128 28.802-248.446 150.488-255.316 298.426h-0.364v200.588h0.042c0.058 10.362-3.804 40.74-11.71 48.646l-57.644 77.648c-8.802 8.802-16.35 18.978-16.35 32.208 0 22.092 17.908 40 40 40h255.876c-0.814 5.412-1.28 10.936-1.28 16.576 0 61.43 49.794 111.23 111.23 111.23 61.432 0 111.228-49.8 111.228-111.23 0-5.638-0.464-11.164-1.282-16.576h255.128c22.092 0 40-17.908 40-40 0.004-13.23-7.542-23.404-16.346-32.208zM272.732 436.848c2.862-61.602 29.032-119.104 73.69-161.91 44.786-42.93 103.628-66.62 165.692-66.706h0.26c62.062 0.086 120.906 23.776 165.692 66.706 44.658 42.806 70.828 100.308 73.69 161.91l0.278 5.962v149.384h-479.58v-149.384l0.278-5.962zM543.846 848.8c0 17.22-14.010 31.23-31.228 31.23-17.22 0-31.23-14.010-31.23-31.23 0-6.096 1.784-11.768 4.82-16.576h52.818c3.038 4.81 4.82 10.482 4.82 16.576zM512.484 752.226h-283.922l14.572-19.63c12.064-14.542 20.078-33.27 24.982-58.158 0.146-0.742 0.276-1.496 0.416-2.244h487.42c0.138 0.748 0.268 1.5 0.414 2.244 4.904 24.888 12.918 43.616 24.982 58.158l14.572 19.63h-283.436z",rss:"M256.094 865.048c0 53.020-42.972 96-96 96-53.020 0-96-42.98-96-96 0-53.016 42.98-96 96-96s96 42.984 96 96zM510.020 918.352c-0.018-0.172-0.042-0.344-0.050-0.52-0.054-0.676-0.124-1.34-0.214-2.004-10.582-105.644-57.866-200.46-128.894-271.536v0c-71.074-71.054-165.906-118.352-271.564-128.934-0.664-0.090-1.33-0.16-2.006-0.214-0.174-0.016-0.348-0.040-0.52-0.054-0.254-0.024-0.5-0.024-0.742-0.008-0.64-0.032-1.278-0.098-1.922-0.098-22.098 0-40 17.908-40 40 0 20.582 15.542 37.516 35.536 39.738 0.042 0.004 0.066 0.036 0.106 0.040 84.82 8.098 163.514 45.024 224.542 106.042v0c61.036 61.036 97.964 139.738 106.070 224.574 0.004 0.040 0.036 0.070 0.042 0.106 2.222 19.988 19.156 35.536 39.736 35.536 22.092 0 40-17.902 40-40 0-0.644-0.066-1.282-0.098-1.922 0-0.246 0-0.492-0.022-0.746zM734.688 918.45c-0.004-0.090-0.018-0.186-0.024-0.276-0.040-0.544-0.058-1.102-0.124-1.638-10.972-167.816-83.558-318.804-195.33-430.616h0.002c-111.812-111.788-262.81-184.384-430.644-195.36-0.542-0.060-1.094-0.084-1.642-0.122-0.092-0.008-0.182-0.016-0.272-0.022-0.020-0.002-0.042 0.004-0.054 0.004-0.836-0.052-1.664-0.124-2.512-0.124-22.092 0-40 17.908-40 40 0 21.036 16.246 38.24 36.874 39.842 0.046 0.008 0.078 0.038 0.128 0.042 66.876 4.086 131.786 19.292 193.406 45.358 70.472 29.81 133.78 72.494 188.166 126.874v0c54.394 54.396 97.090 117.71 126.902 188.204 26.064 61.624 41.274 126.532 45.362 193.408 0.004 0.052 0.036 0.080 0.042 0.13 1.604 20.624 18.802 36.87 39.844 36.87 22.090 0 40-17.904 40-40 0-0.85-0.074-1.678-0.126-2.514-0.002-0.024 0.006-0.040 0.002-0.060zM959.126 920.556c-0.002-0.094 0.008-0.164 0.004-0.262-10.342-231.204-108.314-439.604-261.486-592.796v-0.002c-153.2-153.19-361.61-251.174-592.828-261.518-0.096-0.004-0.168 0.006-0.262 0.004-0.176-0.004-0.348-0.030-0.524-0.030-22.098 0-40 17.91-40 40 0 20.988 16.168 38.164 36.716 39.834 0.184 0.042 0.356 0.086 0.566 0.098 97.040 4.314 191.186 25.538 280.376 63.258 97.14 41.090 184.406 99.928 259.368 174.876v0c74.96 74.964 133.81 162.24 174.908 259.398 37.718 89.19 58.946 183.336 63.26 280.376 0.010 0.208 0.052 0.38 0.096 0.562 1.67 20.552 18.848 36.72 39.834 36.72 22.092 0 40-17.906 40-40-0-0.17-0.024-0.342-0.028-0.518z",edit:"M948.56 263.376c12.704-12.708 15.072-31.836 7.11-46.936-1.84-3.524-4.232-6.832-7.192-9.792-0.286-0.286-0.594-0.528-0.886-0.8l-129.318-128.634c-0.048-0.048-0.088-0.106-0.138-0.154-7.812-7.812-18.050-11.716-28.292-11.714-10.242-0.004-20.484 3.902-28.296 11.714-0.064 0.066-0.12 0.136-0.184 0.204l-636.168 636.168c-5.868 5.134-10.21 11.958-12.298 19.748l-47.606 177.664c-3.7 13.804 0.248 28.534 10.352 38.638 7.602 7.6 17.816 11.714 28.288 11.714 3.452 0 6.93-0.446 10.352-1.364l177.664-47.606c7.296-1.956 13.732-5.904 18.74-11.216l521.486-521.484c1.126-0.904 2.222-1.87 3.268-2.914 1.042-1.044 2.006-2.138 2.91-3.264l107.75-107.748c0.836-0.71 1.668-1.432 2.458-2.224zM806.9 291.66l-73.592-73.202 56.61-56.61 73.594 73.2-56.612 56.612zM281.566 816.996l-73.4-73.4 468.572-468.568 73.594 73.202-468.766 468.766zM160.496 864.628l11.742-43.822 32.080 32.080-43.822 11.742z",paintbrush:"M946.58 293.66c12.704-12.708 15.072-31.836 7.108-46.938-1.838-3.524-4.23-6.83-7.19-9.79-0.282-0.282-0.588-0.52-0.876-0.792l-129.338-128.654c-0.046-0.046-0.084-0.098-0.13-0.144-7.814-7.812-18.056-11.718-28.296-11.714-10.24 0-20.48 3.906-28.292 11.714-0.064 0.066-0.12 0.138-0.184 0.206l-557.048 557.048c-2.194 2.192-4.042 4.59-5.622 7.11-70.624 87.486-17.922 195.43-174.738 239.554 0 0 64.758 18.11 144.33 18.11 74.374 0 161.678-15.824 221.23-77.020 0.394-0.364 0.808-0.696 1.192-1.078l1.734-1.734c0.852-0.798 1.678-1.578 2.504-2.426 0.348-0.356 0.668-0.728 1.010-1.086l168.756-168.756c1.126-0.906 2.224-1.872 3.272-2.918 1.044-1.044 2.008-2.14 2.914-3.266l375.212-375.212c0.834-0.706 1.664-1.424 2.452-2.214zM537.462 589.402l-73.594-73.206 324.068-324.064 73.594 73.2-324.068 324.070zM388.178 667.684c-13.288-13.632-28.584-23.974-44.78-31.016l63.902-63.902 73.596 73.204-64.246 64.248c-6.498-15.23-15.964-29.698-28.472-42.534zM229.848 791.928c8.294-30.346 14.852-54.332 32.416-73.862 0.83-0.864 2.664-2.702 4.26-4.286 8.030-6.792 17.534-8.246 24.198-8.246 14.386 0 29.026 6.554 40.162 17.98 19.592 20.106 21.934 49.238 5.596 66.874l-1.712 1.712c-0.798 0.752-1.612 1.524-2.462 2.354l-0.86 0.84-0.834 0.864c-30.666 31.79-75.914 45.424-118.104 50.542 7.53-18.888 12.598-37.426 17.34-54.772z",close:"M150 150a512 512 0 11724 724 512 512 0 01-724-724zm69.3 64.2A418.5 418.5 0 0095.9 512a418.5 418.5 0 00123.4 297.8A418.5 418.5 0 00517 933.2 418.5 418.5 0 00815 809.8 418.5 418.5 0 00938.4 512 418.5 418.5 0 00815 214.2 418.5 418.5 0 00517 90.8a418.5 418.5 0 00-297.8 123.4zM655 304a46 46 0 0165 65L577 512l143 143a46 46 0 11-65 65L512 577 369 720a46 46 0 11-65-65l143-143-143-143a46 46 0 0165-65l143 143 143-143z",closeAlt:"M586.7 512L936 861.4a52.8 52.8 0 0 1-74.6 74.7L512 586.7 162.6 936A52.8 52.8 0 0 1 88 861.4L437.3 512 88 162.6A52.8 52.8 0 1 1 162.6 88L512 437.3 861.4 88a52.8 52.8 0 1 1 74.7 74.7L586.7 512z",trash:"M919.5 225.208h-215.5v-120.080c0-20.344-15.192-37.096-34.836-39.632-1.696-0.216-3.41-0.372-5.164-0.372h-304.004c-1.754 0-3.468 0.152-5.164 0.372-19.644 2.54-34.836 19.292-34.836 39.628v120.084h-215.996c-22.090 0-40 17.912-40 40.002 0 22.092 17.91 40 40 40h27.216l53.916 615.914h0.214c0 22.092 17.91 40 40 40h573.372c22.094 0 40-17.91 40-40h0.148l53.916-615.914h26.716c22.090 0 40-17.91 40-40s-17.908-40.002-39.998-40.002zM399.996 145.126h224.004v80.082h-224.004v-80.082zM762.062 881.124h-500.124l-50.414-575.912h600.954l-50.416 575.912zM632.004 697.124v-240c-0.004-22.092 17.906-40.002 40-40.002 22.090 0.002 40 17.908 40 40.002l-0.004 240.002c0.004 22.088-17.906 39.996-39.996 39.998-22.094 0.002-40.004-17.906-40-40zM311.996 697.124v-240c-0.004-22.092 17.906-40.002 40-40.002 22.090 0.002 40 17.908 40 40.002l-0.004 240.002c0.004 22.088-17.906 39.996-39.996 39.998-22.094 0.002-40.004-17.906-40-40zM472 697.124v-240c-0.004-22.092 17.906-40.002 40-40.002 22.090 0.002 40 17.908 40 40.002l-0.004 240.002c0.004 22.088-17.906 39.996-39.996 39.998-22.094 0.002-40.004-17.906-40-40z",cross:"M1013.286 955.716l-443.72-443.716 443.718-443.718c15.622-15.622 15.62-40.948-0.004-56.566-15.618-15.622-40.942-15.622-56.562 0l-443.716 443.718-443.72-443.718c-15.62-15.624-40.946-15.622-56.566 0-15.622 15.62-15.622 40.944 0 56.566l443.722 443.718-443.722 443.722c-15.622 15.618-15.62 40.942 0 56.56s40.948 15.622 56.566 0l443.72-443.718 443.722 443.718c15.618 15.624 40.942 15.622 56.56 0 15.62-15.618 15.622-40.944 0.002-56.566z",delete:"M874 150A512 512 0 10150 874 512 512 0 00874 150zm-659.4 64.6A417.8 417.8 0 01512 91.4c97 0 188.9 32.6 263.3 92.6L184 775.3A417.4 417.4 0 0191.4 512c0-112.4 43.7-218 123.2-297.4zm594.8 594.8A417.8 417.8 0 01512 932.6c-97 0-189-32.7-263.3-92.6L840 248.7A417.4 417.4 0 01932.6 512c0 112.3-43.8 218-123.2 297.4z",add:"M512-.2a512 512 0 110 1024 512 512 0 010-1024zm0 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 511.8c0 112.4 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.4c112.3 0 218-43.8 297.4-123.2a417.8 417.8 0 00123.2-297.4c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.2zm1.1 129.2a45.7 45.7 0 0145.7 45.7v201.1H760a45.7 45.7 0 010 91.5H558.8v201.1a45.7 45.7 0 11-91.4 0V558.7H266.3a45.7 45.7 0 110-91.5h201.1V266.1a45.7 45.7 0 0145.7-45.7z",subtract:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm4 94A418 418 0 0094 515a418 418 0 00422 422 418 418 0 00421-422A418 418 0 00516 94zm244 372a46 46 0 010 92H264a46 46 0 110-92z",plus:"M921.002 473h-368.008v-368.004c0.002-22.090-17.906-39.996-39.996-39.996-22.088 0-39.998 17.91-39.998 40v368h-368.002c-22.094 0-40 17.908-39.998 40-0.002 22.090 17.904 39.996 39.996 39.996l368.004-0.002v368.010c0 22.094 17.908 40 40 39.996 22.090 0.004 39.996-17.902 39.996-39.996v-368.010h368.010c22.090 0.002 39.994-17.906 39.994-39.996-0-22.088-17.908-39.998-39.998-39.998z",document:"M764 1c12 0 24 4 32 13l129 132c9 8 13 20 13 31v802c0 24-20 44-45 44H131c-25 0-45-20-45-44V45c0-24 20-44 45-44h633zm-48 89H175v844h674l-1-707h-87c-22 0-40-15-44-36v-8l-1-93zm-16 584a45 45 0 0 1 8 89H324a45 45 0 0 1-8-88l8-1h376zm0-187a45 45 0 0 1 8 89l-8 1H324a45 45 0 0 1-8-89l8-1h376zm0-186a45 45 0 0 1 8 88l-8 1H324a45 45 0 0 1-8-89h384z",folder:"M571 274h327c23 0 41 18 41 41v488c0 22-18 40-41 40H126c-23 0-41-18-41-40V242c0-34 27-61 61-61h317c18 0 35 7 47 21l61 72zm-119-8H170v492h684V359H531l-79-93z",component:"M171 469h298V171H246c-42 0-75 33-75 75v223zm0 86v223c0 42 33 75 75 75h223V555H171zm682-86V246c0-42-33-75-75-75H555v298h298zm0 86H555v298h223c42 0 75-33 75-75V555zM256 85h512c94 0 171 77 171 171v512c0 94-77 171-171 171H256c-94 0-171-77-171-171V256c0-94 77-171 171-171z",calendar:"M920.036 160.030h-112.004v-72c0-22.092-17.906-40.004-40-40.004-22.090 0-40 17.906-40 40v72.004h-432v-72c0-22.092-17.906-40.004-40-40.004-22.090 0-40 17.906-40 40v72.004h-112.004c-1.38 0-2.746 0.070-4.090 0.208-20.168 2.046-35.91 19.080-35.91 39.792v688c0 22.090 17.91 40 40 40h816.008c22.098 0 40-17.91 40-40v-688c0-22.094-17.908-40-40-40zM356.032 848.026h-212.004v-142.662h212.004v142.662zM356.032 665.364h-212.004v-162.664h212.004v162.664zM356.032 462.7h-212.004v-142.662h212.004v142.662zM628.032 848.026h-232v-142.662h232v142.662zM628.032 665.364h-232v-162.664h232v162.664zM628.032 462.7h-232v-142.662h232v142.662zM880.036 848.026h-212.004v-142.662h212.004v142.662zM880.036 665.364h-212.004v-162.664h212.004v162.664zM880.036 462.7h-212.004v-142.662h212.004v142.662z",graphline:"M820.536 489.23c-15.624 15.618-40.954 15.618-56.57 0l-42.006-42.002-169.898 169.9c-7.822 7.82-18.076 11.722-28.326 11.712-10.248 0.008-20.496-3.894-28.314-11.712l-96.178-96.182-140.67 140.674c-15.624 15.622-40.954 15.618-56.57-0.004-15.624-15.618-15.624-40.946 0-56.566l168.946-168.946c7.812-7.816 18.058-11.72 28.3-11.716 10.238-0.002 20.476 3.904 28.29 11.716l96.204 96.204 168.91-168.91c0.33-0.356 0.626-0.73 0.972-1.076 7.824-7.824 18.084-11.726 28.34-11.712 10.252-0.012 20.508 3.892 28.332 11.714 0.346 0.346 0.64 0.72 0.972 1.074l69.266 69.266c15.62 15.618 15.616 40.942 0 56.566zM880 144h-736v736h736v-736zM920 64c22.092 0 40 17.908 40 40v816c0 22.092-17.908 40-40 40h-816c-22.092 0-40-17.908-40-40v-816c0-22.092 17.908-40 40-40h816z",docchart:"M919.938 128h-816.008c-1.38 0-2.746 0.070-4.090 0.208-20.168 2.046-35.91 19.080-35.91 39.792v688c0 22.090 17.91 40 40 40h816.008c22.098 0 40-17.91 40-40v-688c0-22.094-17.906-40-40-40zM395.934 470.67h232v162.664h-232v-162.664zM355.934 633.334h-212.004v-162.664h212.004v162.664zM395.934 430.67v-142.662h232v142.662h-232zM667.934 470.67h212.004v162.664h-212.004v-162.664zM667.934 430.67v-142.662h212.004v142.662h-212.004zM355.934 288.008v142.662h-212.004v-142.662h212.004zM143.93 673.334h212.004v142.662h-212.004v-142.662zM395.934 673.334h232v142.662h-232v-142.662zM667.934 673.334h212.004v142.662h-212.004v-142.662z",doclist:"M919.938 128h-816.008c-1.38 0-2.746 0.070-4.090 0.208-20.168 2.046-35.91 19.080-35.91 39.792v688c0 22.090 17.91 40 40 40h816.008c22.098 0 40-17.91 40-40v-688c-0-22.094-17.906-40-40-40zM143.93 288.008h736.008v527.988h-736.008v-527.988zM248 400.004c0-22.090 17.91-40 40-40h448c22.094 0 40 17.906 40 40 0 22.090-17.906 40-40 40h-448c-22.090 0-40-17.91-40-40zM776 552.002c0 22.094-17.906 40-40 40h-448c-22.090 0-40-17.906-40-40 0-22.090 17.91-40 40-40h448c22.094 0 40 17.91 40 40zM776 704c0 22.094-17.906 40-40 40h-448c-22.090 0-40-17.906-40-40 0-22.090 17.91-40 40-40h448c22.094 0 40 17.91 40 40z",category:"M925.224 256.37c-1.694-0.216-3.408-0.37-5.162-0.37h-816c-1.754 0-3.468 0.152-5.162 0.37-19.646 2.538-34.838 19.292-34.838 39.63v624c0 22.094 17.91 40 40 40h816c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 0.184-0.308 0.282-0.458 0.612-0.924 1.2-1.862 1.722-2.838 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.61 4.704-12.008 4.704-18.808v-624.004c0-20.342-15.19-37.096-34.838-39.632zM144.062 880v-544h736v544h-736zM896.11 180c0 11.044-8.954 20-20 20h-728.032c-11.046 0-20-8.956-20-20v0c0-11.046 8.954-20 20-20h728.032c11.046 0 20 8.954 20 20v0zM832.094 84c0 11.044-8.954 20-20 20h-600c-11.046 0-20-8.956-20-20v0c0-11.046 8.954-20 20-20h600c11.046 0 20 8.954 20 20v0z",grid:"M437.162 552.368c-1.694-0.216-3.408-0.37-5.162-0.37h-263.978c-1.754 0-3.468 0.152-5.162 0.37-19.646 2.538-34.838 19.292-34.838 39.63v264.040c0 22.094 17.91 40 40 40h263.978c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 0.184-0.308 0.282-0.458 0.612-0.924 1.2-1.862 1.722-2.838 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.61 4.704-12.008 4.704-18.808v-264.044c0-20.34-15.19-37.094-34.838-39.632zM208.022 816.038v-184.040h183.978v184.040h-183.978zM437.162 128.4c-1.694-0.216-3.408-0.37-5.162-0.37h-263.978c-1.754 0-3.468 0.152-5.162 0.37-19.646 2.538-34.838 19.292-34.838 39.63v263.968c0 22.094 17.91 40 40 40h263.978c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 0.184-0.308 0.282-0.458 0.612-0.924 1.2-1.862 1.722-2.838 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.61 4.704-12.008 4.704-18.808v-263.972c0-20.342-15.19-37.096-34.838-39.632zM208.022 392v-183.968h183.978v183.968h-183.978zM861.212 552.368c-1.694-0.216-3.408-0.37-5.162-0.37h-264.050c-1.754 0-3.468 0.152-5.162 0.37-19.646 2.538-34.838 19.292-34.838 39.63v264.040c0 22.094 17.91 40 40 40h264.048c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 0.184-0.308 0.282-0.458 0.612-0.924 1.2-1.862 1.722-2.838 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.61 4.704-12.008 4.704-18.808v-264.044c0.002-20.34-15.19-37.094-34.836-39.632zM632 816.038v-184.040h184.048v184.040h-184.048zM861.212 128.4c-1.694-0.216-3.408-0.37-5.162-0.37h-264.050c-1.754 0-3.468 0.152-5.162 0.37-19.646 2.538-34.838 19.292-34.838 39.63v263.968c0 22.094 17.91 40 40 40h264.048c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 0.184-0.308 0.282-0.458 0.612-0.924 1.2-1.862 1.722-2.838 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.61 4.704-12.008 4.704-18.808v-263.972c0.002-20.342-15.19-37.096-34.836-39.632zM632 392v-183.968h184.048v183.968h-184.048z",copy:"M960.132 210.186c0-0.444-0.050-0.874-0.066-1.312-0.024-0.684-0.044-1.366-0.104-2.046-0.060-0.74-0.158-1.468-0.26-2.198-0.080-0.564-0.156-1.128-0.258-1.692-0.146-0.792-0.328-1.566-0.518-2.34-0.124-0.508-0.244-1.014-0.39-1.518-0.224-0.784-0.488-1.548-0.76-2.312-0.176-0.49-0.344-0.98-0.538-1.466-0.302-0.754-0.642-1.486-0.988-2.216-0.224-0.472-0.436-0.946-0.68-1.41-0.398-0.762-0.838-1.496-1.284-2.228-0.242-0.396-0.466-0.798-0.722-1.19-0.608-0.924-1.262-1.81-1.942-2.678-0.132-0.168-0.248-0.346-0.382-0.512-0.98-1.212-2.028-2.364-3.14-3.454l-104.020-104.9c-3.714-3.714-7.988-6.518-12.542-8.464-0.088-0.040-0.174-0.084-0.262-0.122-0.994-0.418-2.006-0.774-3.024-1.108-0.242-0.080-0.474-0.176-0.72-0.252-0.942-0.288-1.894-0.516-2.854-0.732-0.334-0.076-0.658-0.176-0.996-0.244-0.998-0.2-2.004-0.336-3.010-0.458-0.306-0.038-0.606-0.1-0.912-0.13-1.322-0.13-2.65-0.204-3.976-0.204h-391.784c-1.754 0-3.468 0.152-5.162 0.372-19.646 2.538-34.838 19.29-34.838 39.628v145.516h-279.874c-1.754 0-3.468 0.152-5.162 0.372-19.646 2.538-34.838 19.29-34.838 39.628v628.28c0 22.094 17.91 40 40 40h496.118c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 2.084-3.466 2.128-3.548 2.992-5.612 4.704-12.010 4.704-18.808 0 0 0 0 0-0.004v-145.518h279.874c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 2.084-3.466 2.128-3.548 2.992-5.612 4.704-12.010 4.704-18.808 0 0 0 0 0-0.004v-521.828c0.008-0.23-0.016-0.458-0.014-0.688 0.002-0.202 0.028-0.39 0.028-0.584zM144.124 878.792v-548.278h311.752v65.186c0 22.090 17.91 40 40 40h64.366v443.092h-416.118zM640.244 693.278v-296.31c0.006-0.23-0.018-0.458-0.014-0.688 0.004-0.196 0.030-0.382 0.030-0.578 0-0.444-0.052-0.874-0.066-1.312-0.024-0.684-0.044-1.366-0.104-2.046-0.062-0.74-0.16-1.468-0.262-2.198-0.078-0.564-0.152-1.128-0.258-1.692-0.144-0.792-0.324-1.566-0.516-2.34-0.124-0.508-0.246-1.014-0.39-1.518-0.226-0.784-0.488-1.548-0.76-2.312-0.174-0.49-0.342-0.98-0.538-1.466-0.302-0.754-0.64-1.486-0.988-2.216-0.222-0.472-0.438-0.946-0.68-1.41-0.398-0.762-0.838-1.496-1.284-2.228-0.242-0.396-0.466-0.798-0.724-1.19-0.606-0.924-1.262-1.81-1.942-2.678-0.13-0.168-0.246-0.346-0.382-0.512-0.978-1.212-2.028-2.364-3.138-3.454l-104.020-104.9c-3.714-3.714-7.988-6.518-12.542-8.464-0.088-0.040-0.172-0.084-0.262-0.122-0.994-0.418-2.004-0.774-3.024-1.108-0.242-0.080-0.476-0.176-0.72-0.252-0.942-0.288-1.896-0.516-2.854-0.732-0.334-0.076-0.658-0.176-0.996-0.244-0.998-0.2-2.004-0.336-3.012-0.458-0.304-0.038-0.602-0.1-0.91-0.13-1.322-0.13-2.648-0.204-3.976-0.204h-31.916v-105.516h311.752v65.186c0 22.090 17.91 40 40 40h64.366v443.092h-239.87z",certificate:"M832.032 384.032c0-176.728-143.266-320-320-320s-320 143.272-320 320c0 104.662 50.25 197.584 127.938 255.966v311.5c0 16.174 9.74 30.756 24.682 36.952 4.954 2.052 10.152 3.050 15.31 3.050 10.402 0 20.626-4.060 28.276-11.702l123.726-123.58 123.772 123.332c11.452 11.412 28.644 14.804 43.574 8.608 14.93-6.2 24.66-20.776 24.66-36.942v-311.124c77.756-58.376 128.062-151.342 128.062-256.060zM272.032 384.032c0-64.106 24.964-124.374 70.292-169.706 45.33-45.33 105.6-70.294 169.708-70.294s124.376 24.964 169.708 70.294c45.33 45.332 70.292 105.6 70.292 169.706s-24.964 124.376-70.292 169.704c-45.33 45.33-105.6 70.294-169.708 70.294s-124.376-24.964-169.708-70.294c-45.328-45.328-70.292-105.598-70.292-169.704zM623.968 854.89l-83.804-83.508c-15.622-15.564-40.898-15.552-56.502 0.034l-83.694 83.594v-171.17c34.878 13.042 72.632 20.192 112.062 20.192 39.382 0 77.094-7.13 111.938-20.142v171z",print:"M925.922 304.496c-1.698-0.218-3.41-0.37-5.166-0.37h-88.64v-93.548c0.006-0.21-0.016-0.422-0.014-0.634 0.004-0.212 0.036-0.416 0.036-0.63 0-0.478-0.054-0.942-0.074-1.416-0.024-0.636-0.042-1.27-0.094-1.906-0.066-0.776-0.168-1.54-0.276-2.302-0.074-0.534-0.146-1.066-0.242-1.596-0.15-0.82-0.338-1.624-0.538-2.424-0.12-0.48-0.23-0.958-0.37-1.436-0.234-0.812-0.506-1.608-0.792-2.398-0.164-0.462-0.322-0.924-0.504-1.38-0.318-0.788-0.668-1.552-1.036-2.316-0.208-0.436-0.406-0.88-0.628-1.312-0.424-0.802-0.88-1.574-1.352-2.344-0.218-0.358-0.422-0.724-0.656-1.078-0.636-0.972-1.324-1.91-2.042-2.82-0.098-0.124-0.182-0.252-0.282-0.376-0.988-1.224-2.048-2.388-3.172-3.488l-104.004-104.882c-3.696-3.696-7.948-6.486-12.466-8.432-0.122-0.050-0.224-0.11-0.344-0.16-0.974-0.41-1.966-0.756-2.962-1.084-0.262-0.086-0.512-0.19-0.78-0.272-0.926-0.284-1.87-0.506-2.812-0.722-0.346-0.080-0.684-0.182-1.034-0.252-0.988-0.198-1.988-0.334-2.988-0.456-0.31-0.040-0.618-0.102-0.93-0.134-1.324-0.132-2.652-0.204-3.978-0.204h-455.67c-1.754 0-3.468 0.152-5.162 0.37-19.646 2.538-34.838 19.29-34.838 39.63v200h-87.356c-1.754 0-3.468 0.152-5.164 0.37-19.644 2.538-34.836 19.29-34.836 39.63v320c0 22.094 17.91 40 40 40h87.368v216c0 22.094 17.91 40 40 40h560.006c13.81 0 25.982-6.996 33.17-17.636 0.102-0.146 0.184-0.306 0.282-0.458 0.612-0.922 1.2-1.86 1.722-2.836 0.046-0.082 0.080-0.17 0.124-0.254 2.994-5.612 4.704-12.008 4.704-18.808 0 0 0 0 0-0.004v-216h88.624c13.808 0 25.982-6.996 33.168-17.636 0.104-0.148 0.186-0.308 0.286-0.458 0.612-0.922 1.198-1.862 1.72-2.836 0.046-0.082 0.082-0.172 0.124-0.256 2.994-5.61 4.702-12.008 4.702-18.806 0 0 0 0 0-0.004v-320c0-20.344-15.186-37.096-34.834-39.636zM272.116 144.128h375.634v65.186c0 1.38 0.070 2.746 0.208 4.090 2.048 20.168 19.080 35.91 39.792 35.91h64.366v54.812h-480v-159.998zM272.124 880.126v-327.998h480.006v327.998zM880.756 384.128v239.998h-48.624v-111.998c0-20.34-15.19-37.092-34.836-39.63-1.694-0.218-565.17-0.372-565.17-0.372-1.754 0-3.468 0.152-5.162 0.372-19.646 2.538-34.838 19.29-34.838 39.628v112h-47.368v-239.998zM664.124 608.126c22.092 0 40 17.908 40 40s-17.908 40-40 40h-304c-22.092 0-40-17.908-40-40s17.908-40 40-40h304zM704.124 784.126c0 22.092-17.908 40-40 40h-304c-22.092 0-40-17.908-40-40s17.908-40 40-40h304c22.092 0 40 17.908 40 40z",listunordered:"M961 233c0 22.090-17.908 40-40 40h-607.996c-22.090 0-40-17.908-40-40v0c0-22.090 17.908-40.002 40-40.002h607.996c22.092 0 40 17.912 40 40.002v0zM961 793c0-22.090-17.908-40.002-40-40.002h-607.996c-22.092 0-40 17.912-40 40.002v0c0 22.092 17.91 40 40 40h607.996c22.092 0 40-17.91 40-40v0zM961 606.332c0-22.090-17.908-40-40-40h-607.996c-22.092 0-40 17.91-40 40v0c0 22.094 17.91 40 40 40h607.996c22.092 0 40-17.91 40-40v0zM961 419.668c0-22.090-17.908-40.004-40-40.004h-607.996c-22.092 0-40 17.914-40 40.004v0c0 22.090 17.91 40 40 40h607.996c22.092-0 40-17.91 40-40v0zM129 168.998c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zM129 728.998c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zM129 542.332c-35.346 0-64 28.652-64 64 0 35.344 28.654 64 64 64s64-28.656 64-64c0-35.348-28.654-64-64-64zM129 355.664c-35.346 0-64 28.656-64 64 0 35.348 28.654 64 64 64s64-28.652 64-64c0-35.344-28.654-64-64-64z",graphbar:"M324.832 513c22.090 0 40 17.91 40 40v304c0 22.090-17.906 40-40 40v0c-22.090 0-40-17.906-40-40v-304c0-22.090 17.91-40 40-40v0zM884.832 128.998c-22.090 0-40 17.906-40 40v688.002c0 22.094 17.91 40 40 40v0c22.094 0 40-17.91 40-40v-688.002c0-22.094-17.91-40-40-40v0zM698.164 256.998c-22.090 0-40 17.91-40 40v560.002c0 22.094 17.91 40 40 40v0c22.094 0 40-17.91 40-40v-560.002c0-22.090-17.91-40-40-40v0zM511.5 384.998c-22.090 0-40.004 17.91-40.004 40v432.002c0 22.094 17.914 40 40.004 40v0c22.090 0 40-17.91 40-40v-432.002c0-22.090-17.91-40-40-40v0zM139.168 641c-22.090 0-40 17.91-40 40v176c0 22.094 17.91 40 40 40v0c22.094 0 40-17.91 40-40v-176c0-22.090-17.91-40-40-40v0z",menu:"M960 232c0 22.092-17.908 40-40.002 40h-815.996c-22.092 0-40-17.908-40-40v0c0-22.090 17.908-40 40-40h815.998c22.092 0 40 17.91 40 40v0zM768 416c0 22.090-17.908 40-40 40h-624c-22.090 0-40-17.908-40-40v0c0-22.090 17.908-40.002 40-40.002h624c22.092 0.002 40 17.914 40 40.002v0zM832 608c0 22.092-17.906 40.002-40 40.002h-688c-22.090 0-40-17.91-40-40.002v0c0-22.090 17.908-40 40-40h688c22.094 0 40 17.912 40 40v0zM576 792c0 22.094-17.91 40-40.002 40h-431.998c-22.090 0-40-17.906-40-40v0c0-22.094 17.908-40.002 40-40.002h432c22.094 0.002 40 17.912 40 40.002v0z",filter:"M962.030 168.032c0 22.092-17.908 40-40.002 40h-815.996c-22.092 0-40-17.908-40-40v0c0-22.090 17.908-40 40-40h815.998c22.092 0 40 17.908 40 40v0zM770 544.034c0 22.090-17.908 40-40 40h-432c-22.090 0-40-17.908-40-40v0c0-22.090 17.908-40.002 40-40.002h432c22.090 0 40 17.912 40 40.002v0zM642.030 728.032c0 22.094-17.91 40-40.002 40h-175.998c-22.090 0-40-17.906-40-40v0c0-22.094 17.908-40.002 40-40.002h176c22.094 0.002 40 17.91 40 40.002v0zM866 352.030c0 22.092-17.906 40.002-40 40.002h-624c-22.090 0-40-17.91-40-40.002v0c0-22.090 17.908-40 40-40h624c22.092 0 40 17.91 40 40v0zM512.030 928.034c22.090 0 40.004-17.906 40.004-40v0c0-22.090-17.914-40-40.004-40v0c-22.090 0-40 17.91-40 40v0c0 22.092 17.91 40 40 40v0z",ellipsis:"M184 393c66.274 0 120 53.73 120 120s-53.726 120-120 120c-66.286 0-120-53.73-120-120s53.714-120 120-120zM512 393c66.272 0 120 53.73 120 120s-53.728 120-120 120c-66.286 0-120-53.73-120-120s53.714-120 120-120zM840 393c66.272 0 120 53.73 120 120s-53.728 120-120 120c-66.286 0-120-53.73-120-120s53.714-120 120-120z",cog:"M512 288a224 224 0 0 0 0 448h2a225 225 0 0 0 52-7 47 47 0 0 0-23-90 130 130 0 0 1-31 3 131 131 0 1 1 127-101v1a47 47 0 1 0 91 19 224 224 0 0 0-218-273zM409 0c-67 14-131 40-186 77v98c0 13-6 25-15 33-8 9-20 15-33 15H77C40 278 14 341 0 409l69 68c9 10 14 22 13 34 1 13-4 25-13 34L0 614c14 68 41 132 78 188h97c13 0 25 6 33 15 9 8 15 20 15 33v97c55 37 119 63 187 77l68-69a46 46 0 0 1 36-13c11 0 23 4 32 13l69 69c68-14 131-40 186-77v-98c0-13 6-25 15-34 8-8 20-14 33-14h98c37-56 63-119 77-186l-69-70c-10-9-14-21-14-34 0-12 4-24 14-34l69-69c-14-67-40-129-77-184h-98c-13 0-25-6-33-15-9-8-15-20-15-33V77C746 40 683 14 615 0l-69 69a46 46 0 0 1-35 14c-11 0-23-5-33-14L409 0zm-28 103l32 32c26 26 61 41 98 41h3c37 0 72-15 98-41l32-31c22 7 43 16 64 26v46c0 37 15 73 42 99 26 27 62 42 99 42h45c11 20 19 41 26 63l-31 31c-26 27-41 63-41 100 0 38 15 74 41 100l32 32c-8 22-17 44-27 65h-45c-37 0-73 15-99 42-27 26-42 62-42 99v44c-21 11-42 20-65 27l-31-31c-26-26-61-41-98-41h-3c-37 0-72 15-98 41l-32 32c-22-8-44-17-65-28v-43c0-37-15-73-42-99-26-27-62-42-99-42h-44c-11-21-20-44-28-67l32-31c26-26 41-62 40-100 1-37-14-73-40-100l-31-30c7-23 16-44 26-65h45c37 0 73-15 99-42 27-26 42-62 42-99v-45c21-10 43-19 65-27z",wrench:"M959.438 274.25c0-22.090-17.914-40-40.004-40-11.16 0-21.242 4.582-28.496 11.954l-60.152 60.148c-15.622 15.622-40.946 15.618-56.566-0.004l-56.57-56.566c-15.622-15.622-15.622-40.95 0-56.57l59.55-59.546c7.75-7.292 12.614-17.618 12.614-29.102 0-22.090-17.914-40-40.004-40-1.598 0-3.164 0.122-4.71 0.304-0.012 0-0.020-0.008-0.032-0.004-94.958 11.586-168.504 92.492-168.504 190.574 0 23.528 4.238 46.058 11.98 66.886l-503.078 503.074c-1.496 1.496-2.8 3.102-4.012 4.758-10.914 13.676-17.454 30.992-17.454 49.848 0 44.188 35.818 79.996 79.996 79.996 18.906 0 36.27-6.574 49.964-17.54 1.614-1.188 3.18-2.464 4.64-3.926l503.078-503.078c20.828 7.742 43.36 11.98 66.882 11.98 97.988 0 178.828-73.402 190.54-168.222v-0.012c0.2-1.628 0.338-3.272 0.338-4.952zM151.996 912c-22.090 0-40-17.906-40-40 0-22.090 17.91-40 40-40s40.004 17.91 40.004 40c0 22.094-17.914 40-40.004 40z",nut:"M512 286a229 229 0 0 0-233 226c0 124 104 225 233 225h2a240 240 0 0 0 54-7c21-5 35-24 35-45a48 48 0 0 0-59-45 139 139 0 0 1-32 3c-75 0-136-59-136-131 0-73 61-132 136-132a134 134 0 0 1 132 161v1l-2 9c0 26 22 47 49 47a48 48 0 0 0 47-37c4-16 6-33 6-49 0-125-104-226-232-226m0-286c-16 0-33 4-47 12L90 223a91 91 0 0 0-47 79v420c0 33 18 63 47 79l375 211a96 96 0 0 0 94 0l375-211c29-16 47-46 47-79V302c0-33-18-63-47-79L559 12c-14-8-31-12-47-12m0 91l375 211v420L512 933 137 722V302L512 91",camera:"M925.164 208.372c-1.694-0.218-3.408-0.372-5.162-0.372h-471.968v-39.962c0-20.344-15.192-37.096-34.836-39.63-1.696-0.218-3.41-0.374-5.164-0.374h-176.004c-1.754 0-3.468 0.152-5.164 0.374-19.644 2.538-34.836 19.29-34.836 39.626v39.966h-88.032c-1.754 0-3.468 0.152-5.162 0.372-19.646 2.536-34.838 19.29-34.838 39.628v528c0 22.094 17.91 40 40 40h816.004c13.808 0 25.98-6.996 33.168-17.636 0.102-0.148 0.184-0.308 0.282-0.46 0.612-0.922 1.2-1.86 1.722-2.836 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.61 4.704-12.008 4.704-18.808v-528.004c-0-20.342-15.192-37.096-34.838-39.63zM880.002 736h-736.004v-448h736.004v448zM512 402.522c60.368 0 109.478 49.112 109.478 109.478s-49.112 109.478-109.478 109.478-109.478-49.112-109.478-109.478 49.11-109.478 109.478-109.478zM512 322.522c-104.644 0-189.478 84.832-189.478 189.478 0 104.644 84.834 189.478 189.478 189.478 104.646 0 189.478-84.834 189.478-189.478 0-104.646-84.832-189.478-189.478-189.478v0z",eye:"M1008.714 490.522c-9.002-12.594-223.276-308.808-496.684-308.808-273.444 0-487.682 296.214-496.684 308.808l-15.316 21.49 15.316 21.466c9.002 12.618 223.24 308.808 496.684 308.808 273.408 0 487.682-296.19 496.684-308.808l15.316-21.466-15.316-21.49zM807.68 631.688c-46 39.142-92.558 70.064-138.382 91.904-53.874 25.676-106.786 38.694-157.266 38.694-50.49 0-103.406-13.018-157.282-38.696-45.826-21.838-92.382-52.758-138.378-91.902-53.708-45.706-94.302-92.122-116.61-119.672 22.36-27.602 63.028-74.094 116.612-119.696 45.996-39.146 92.554-70.068 138.378-91.908 53.876-25.678 106.792-38.698 157.28-38.698 50.48 0 103.39 13.020 157.264 38.696 45.824 21.842 92.382 52.764 138.382 91.91 53.602 45.614 94.264 92.098 116.624 119.696-22.306 27.544-62.898 73.954-116.622 119.672zM692.032 512.036c0 99.41-80.588 180-180 180s-180-80.59-180-180c0-99.406 80.588-179.998 180-179.998s180 80.59 180 179.998z",eyeclose:"M75.744 948.314c-15.62-15.62-15.62-40.948 0-56.564l816-816c15.626-15.624 40.95-15.624 56.57 0 15.624 15.62 15.626 40.946 0.004 56.57l-816 815.994c-15.62 15.62-40.95 15.62-56.572 0zM332.032 512.034c0 20.104 3.296 39.434 9.376 57.484l228.104-228.106c-18.050-6.080-37.38-9.376-57.48-9.376-99.412-0.004-180 80.588-180 179.996zM692.032 512.034c0-20.1-3.3-39.432-9.38-57.484l-228.106 228.11c18.052 6.080 37.384 9.376 57.488 9.376 99.412 0 180-80.59 180-180zM1008.716 490.522c-4.98-6.968-72.86-100.8-178.81-183.22l-57.040 57.040c11.624 8.8 23.24 18.128 34.814 27.98 53.6 45.614 94.264 92.1 116.624 119.696-22.304 27.544-62.896 73.954-116.62 119.672-46 39.14-92.56 70.064-138.384 91.904-53.872 25.676-106.786 38.694-157.266 38.694-37.448 0-76.234-7.18-115.76-21.36l-61.486 61.49c54.786 24.22 114.45 39.87 177.248 39.87 273.41 0 487.684-296.19 496.686-308.808l15.316-21.468-15.316-21.49zM216.372 631.69c-53.708-45.706-94.3-92.12-116.61-119.672 22.36-27.6 63.028-74.094 116.612-119.696 46-39.146 92.554-70.068 138.38-91.908 53.874-25.68 106.79-38.7 157.28-38.7 37.46 0 76.264 7.188 115.8 21.38l61.484-61.484c-54.796-24.236-114.474-39.896-177.286-39.896-273.446 0-487.684 296.214-496.686 308.808l-15.316 21.49 15.314 21.466c4.98 6.984 72.866 100.84 178.84 183.26l57.040-57.040c-11.64-8.806-23.264-18.144-34.854-28.008z",photo:"M920 64h-816c-22.092 0-40 17.91-40 40v816c0 22.094 17.908 40 40 40h816c22.092 0 40-17.906 40-40v-816c0-22.090-17.908-40-40-40zM880 144v449.782l-235.39-235.392c-7.502-7.5-17.676-11.714-28.286-11.714s-20.784 4.214-28.286 11.716l-169.804 169.804-40.958-40.958c-15.622-15.622-40.95-15.622-56.57 0l-176.708 176.708v-519.946h736.002zM144 880v-102.914l204.992-204.994 215.972 215.974c7.81 7.81 18.048 11.714 28.286 11.714s20.474-3.904 28.286-11.714c15.62-15.622 15.62-40.95 0-56.57l-146.732-146.73 141.522-141.524 263.676 263.68v173.078h-736.002zM356.174 400.542c52.466 0 95-42.536 95-95s-42.534-95-95-95-95 42.536-95 95 42.534 95 95 95zM356.174 250.542c30.326 0 55 24.672 55 55s-24.674 55-55 55-55-24.672-55-55 24.674-55 55-55z",video:"M926.050 273.364c-9.556 0-20.574 3.8-32.278 11.812l-189.738 129.894v-151.068c0-20.342-15.192-37.094-34.838-39.63-1.694-0.218-3.408-0.372-5.162-0.372h-560.002c-1.754 0-3.468 0.152-5.162 0.372-19.646 2.538-34.838 19.29-34.838 39.628v496.002c0 22.092 17.91 40 40 40h560.004c13.808 0 25.98-6.998 33.168-17.638 0.102-0.148 0.184-0.308 0.282-0.458 0.612-0.922 1.2-1.862 1.722-2.836 0.046-0.082 0.080-0.172 0.124-0.254 2.994-5.612 4.704-12.010 4.704-18.81v-151.066l189.738 129.886c11.706 8.012 22.718 11.812 32.278 11.812 20.092 0 33.736-16.806 33.736-46.622v-384.032c0-29.816-13.644-46.62-33.738-46.62zM624.036 720h-480.004v-415.998h480.004v415.998zM879.788 632.3l-175.728-120.296 175.728-120.302v240.598zM240.688 663.534c-22.090 0-40-17.906-40-40v0c0-22.090 17.91-40 40-40v0c22.090 0 40.004 17.91 40.004 40v0c0 22.092-17.914 40-40.004 40v0z",speaker:"M692.070 580.856c18.156-18.156 28.152-42.266 28.152-67.89-0.008-25.622-10.002-49.726-28.148-67.872-8.476-8.478-18.308-15.188-29-19.922-0.222-0.098-0.408-0.22-0.566-0.364-13.294-6.5-22.476-20.116-22.476-35.914 0-22.090 17.91-40 40-40 5.774 0 11.246 1.248 16.204 3.45 0.016 0.006 0.026 0.008 0.040 0.016 19.292 8.656 37.036 20.832 52.368 36.164 33.254 33.254 51.574 77.446 51.58 124.43 0.006 46.996-18.31 91.204-51.58 124.472-15.064 15.062-32.45 27.074-51.344 35.7-0.154 0.070-0.286 0.112-0.434 0.176-5.124 2.382-10.812 3.75-16.832 3.75-22.090 0-40-17.906-40-40 0-16.196 9.644-30.112 23.488-36.402 0.156-0.11 0.32-0.216 0.516-0.304 10.314-4.712 19.81-11.268 28.032-19.49zM861.778 275.386c-47.824-47.824-107.946-79.588-173.204-92.242-0.356-0.078-0.712-0.146-1.072-0.214-0.060-0.012-0.124-0.026-0.186-0.038-0.506-0.096-0.976-0.162-1.422-0.208-1.918-0.282-3.868-0.476-5.864-0.476-22.090 0-40 17.91-40 40 0 19.024 13.292 34.91 31.084 38.968 0.352 0.128 0.728 0.244 1.162 0.326 48.7 9.268 95.226 32.748 132.934 70.452 99.972 99.972 100.054 261.984-0.002 362.040-37.684 37.684-84.152 61.14-132.788 70.426-0.084 0.016-0.144 0.046-0.224 0.066-18.338 3.644-32.166 19.816-32.166 39.222 0 22.094 17.91 40 40 40 2.776 0 5.484-0.286 8.102-0.822 0.094-0.018 0.172-0.018 0.27-0.038 65.32-12.626 125.496-44.406 173.376-92.286 131.008-131.008 131.008-344.172 0-475.176zM525.988 159.516v704.968c0 22.090-17.906 40-40 40-12.73 0-24.046-5.966-31.374-15.234l-51.056-61.722v0.216l-122.14-147.666h-177.386c-22.090 0-40-17.906-40-40v0 0-256c0-5.22 1.030-10.194 2.85-14.766 0.104-0.266 0.184-0.542 0.294-0.804 0.39-0.924 0.844-1.812 1.3-2.702 0.134-0.26 0.242-0.538 0.382-0.794 0.246-0.456 0.54-0.878 0.804-1.324 6.972-11.726 19.734-19.61 34.368-19.61h177.386l173.13-209.238c7.324-9.316 18.67-15.324 31.44-15.324 22.092-0 40.002 17.91 40.002 40zM445.988 270.826l-126.708 153.252h-175.248v176h175.248l19.832 23.998h0.17l106.708 129.112v-482.362z",phone:"M742.52 960c-76.266 0-163.184-32.364-258.338-96.194-73.798-49.504-136.41-106.904-175.938-146.34-43.282-43.222-105.612-111.376-156.842-190.682-66.576-103.062-95.348-196.038-85.518-276.344 8.952-73.326 50.674-134.292 120.664-176.304 10.95-6.63 23.76-10.134 37.054-10.134 32.752 0 71.124 23.354 120.764 73.494 36.434 36.802 70.108 79.22 89.472 106.644 46.698 66.176 60.686 107.352 48.286 142.136-12.638 35.538-35.534 55.704-52.25 70.428-5.662 5.006-9.95 8.854-13.070 12.262 4.040 7.542 11.744 19.868 26.054 37.476 42.388 52.076 90.548 89.024 111.972 100.874 3.308-2.96 7.11-7.168 12.352-13.152 14.87-16.81 35.062-39.636 70.482-52.28 7.978-2.842 16.498-4.276 25.35-4.276 44.172 0 108.804 44.078 155.246 81.056 45.834 36.494 103.292 90.498 127.104 132.612 22.602 39.596 14.982 68.64 4.596 86.006-48.138 80.296-119.862 122.718-207.44 122.718zM224.758 144.53c-47.558 29.426-73.566 67.28-79.468 115.618-7.494 61.224 17.17 136.326 73.308 223.226 49.902 77.252 112.994 144.35 146.16 177.472 30.296 30.222 91.906 88.17 163.988 136.524 81.738 54.83 153.662 82.63 213.772 82.63 58.618 0 103.506-26.526 137.138-81.076-0.47-1.536-1.532-4.062-3.854-8.132-14.584-25.794-57.006-69.202-105.642-108.156-58.776-47.074-96.708-63.894-106.756-64.982-15.348 5.826-25.020 16.758-36.178 29.372-12.542 14.318-28.31 32.316-55.476 41.528l-6.25 2.12h-6.598c-8.704 0-31.826 0-86.73-43.378-32.196-25.438-64.65-57.534-91.38-90.374-35.712-43.942-51.41-77.764-46.674-100.548l0.55-2.642 0.9-2.546c9.19-26 26.284-41.118 41.364-54.458 12.726-11.208 23.698-20.874 29.494-36.378-0.606-4.398-5.076-23.488-37.948-70.072-15.882-22.494-45.746-60.376-77.614-93.084-39.93-40.986-60.106-50.546-66.106-52.664z",flag:"M168 960.060c-22.092 0-40-17.908-40-40v-816.36c0-22.092 17.908-40 40-40h687.698c16.178 0 30.764 9.746 36.956 24.694 6.192 14.946 2.77 32.15-8.67 43.59l-188.918 188.922 189.218 189.216c11.44 11.442 14.862 28.646 8.67 43.592-6.192 14.948-20.776 24.694-36.956 24.694h-647.998v341.654c0 22.090-17.908 39.998-40 39.998zM208 498.406h551.428l-149.218-149.216c-15.622-15.622-15.622-40.95 0-56.568l148.918-148.922h-551.128v354.706z",pin:"M512 959.916c-13.36 0-25.84-6.672-33.262-17.782l-242.080-362.324c-0.12-0.176-0.236-0.356-0.354-0.536-36.394-54.5-55.63-118.042-55.63-183.804 0-182.696 148.632-331.324 331.326-331.324 182.696 0 331.328 148.628 331.328 331.324 0 60.71-16.554 119.98-47.906 171.652-0.758 1.528-1.618 3.016-2.578 4.45l-5.786 8.664c-0.054 0.082-0.112 0.164-0.168 0.246-0.042 0.070-0.104 0.16-0.148 0.23l-241.484 361.426c-7.422 11.106-19.898 17.778-33.258 17.778zM303.458 535.784l0.026 0.040c0.038 0.054 0.158 0.238 0.194 0.292l208.324 311.796 212.374-317.86c0.376-0.696 0.778-1.382 1.198-2.062 24.7-39.708 37.758-85.532 37.758-132.52 0-138.582-112.746-251.324-251.328-251.324s-251.326 112.742-251.326 251.324c0 50.054 14.674 98.39 42.432 139.782 0.114 0.176 0.232 0.356 0.348 0.532zM512 304.4c49.98 0 90.64 40.66 90.64 90.64 0 49.976-40.66 90.636-90.64 90.636s-90.64-40.66-90.64-90.636c0-49.98 40.66-90.64 90.64-90.64zM512 224.4c-94.242 0-170.64 76.398-170.64 170.64s76.398 170.636 170.64 170.636 170.64-76.394 170.64-170.636-76.398-170.64-170.64-170.64v0z",compass:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm0 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 512c0 112.3 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.6c112.3 0 218-43.8 297.4-123.2A417.8 417.8 0 00932.6 512c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.4zm242.4 178.1a22.9 22.9 0 012.9 28.9L574.9 571.7l-3.2 3.2-273.3 182.4a22.9 22.9 0 01-31.7-31.7l181-271.6c1.7-2.5 3.8-4.6 6.3-6.3l271.6-181c9-6 21.1-4.9 28.8 2.8zM483.2 483.3l-115 172.4 172.5-115-57.5-57.4z",globe:"M533.6 1.6a144.2 144.2 0 00-43.2 0A511.7 511.7 0 000 512.6 511.7 511.7 0 00512 1024c282.8 0 512-229 512-511.4a511.7 511.7 0 00-490.4-511zM930 467H749c-3.6-105.7-20-204.7-47.2-282.5a494.4 494.4 0 00-24.2-58.2 419.3 419.3 0 01131.8 89.3A416.7 416.7 0 01930.2 467zM512 931.5c-75.3 0-137.3-163.3-145.4-373.3h290.8c-8.1 210-70.1 373.3-145.4 373.3zM366.5 467c7.4-200.2 63.7-358.5 134-374.3a406.8 406.8 0 0123 0c70.3 15.9 126.6 174.1 134 374.3h-291zM214.6 215.5A420.7 420.7 0 01346.4 126c-8.7 17.7-16.9 37.1-24.2 58.2-27.1 78-43.6 177-47.2 282.5H94a416.7 416.7 0 01120.7-251.3zM93.9 558.2H275c3.8 104.8 20.2 203 47 280.3a488.6 488.6 0 0025.8 61 420.4 420.4 0 01-133.3-89.9A416.7 416.7 0 0193.9 558.2zm715.5 251.4a420.4 420.4 0 01-133.3 90c9.3-18.4 18-38.8 25.7-61.1 27-77.4 43.3-175.5 47-280.3h181.3a416.7 416.7 0 01-120.7 251.4z",location:"M1024 512a512 512 0 10-512.1 512C643 1024 774 974 874 874s150-231 150-362zM809.4 809.4a417.4 417.4 0 01-251.7 120.7v-153a45.7 45.7 0 00-91.5 0v153a417 417 0 01-251.6-120.7A417.7 417.7 0 0194 557.7h153a45.7 45.7 0 000-91.5h-153a417.3 417.3 0 01120.7-251.6A417.5 417.5 0 01466.2 93.8v153a45.7 45.7 0 0091.4 0v-153a417.4 417.4 0 01251.8 120.7A417.5 417.5 0 01930 466.2H777a45.7 45.7 0 000 91.4h153a417.3 417.3 0 01-120.7 251.7v.1z",search:"M218 670a318 318 0 0 1 0-451 316 316 0 0 1 451 0 318 318 0 0 1 0 451 316 316 0 0 1-451 0m750 240L756 698a402 402 0 1 0-59 60l212 212c16 16 42 16 59 0 16-17 16-43 0-60",zoom:"M220 670a316 316 0 0 1 0-450 316 316 0 0 1 450 0 316 316 0 0 1 0 450 316 316 0 0 1-450 0zm749 240L757 698a402 402 0 1 0-59 59l212 212a42 42 0 0 0 59-59zM487 604a42 42 0 0 1-84 0V487H286a42 42 0 1 1 0-84h117V286a42 42 0 1 1 84 0v117h117a42 42 0 0 1 0 84H487v117z",zoomout:"M757 698a402 402 0 1 0-59 59l212 212a42 42 0 0 0 59-59L757 698zM126 445a316 316 0 0 1 319-319 316 316 0 0 1 318 319 316 316 0 0 1-318 318 316 316 0 0 1-319-318zm160 42a42 42 0 1 1 0-84h318a42 42 0 0 1 0 84H286z",zoomreset:"M148 560a318 318 0 0 0 522 110 316 316 0 0 0 0-450 316 316 0 0 0-450 0c-11 11-21 22-30 34v4h47c25 0 46 21 46 46s-21 45-46 45H90c-13 0-25-6-33-14-9-9-14-20-14-33V156c0-25 20-45 45-45s45 20 45 45v32l1 1a401 401 0 0 1 623 509l212 212a42 42 0 0 1-59 59L698 757A401 401 0 0 1 65 570a42 42 0 0 1 83-10z",timer:"M571.5 0a42.7 42.7 0 010 85.3h-16.7l-.2 53.1a441.6 441.6 0 01221.2 84.9l44.7-44.6a42.7 42.7 0 0160.3 60.3l-41.5 41.5a443.8 443.8 0 11-370-142l.1-53.2H452A42.7 42.7 0 01452 0h119.5zM512 221.7a356 356 0 00-253.5 105 356 356 0 00-105 253.5 356 356 0 00105 253.5 356 356 0 00253.5 105 356 356 0 00253.5-105 356.2 356.2 0 00105-253.5 356 356 0 00-105-253.5 356 356 0 00-253.5-105zm-.1 52.7a42.7 42.7 0 0142.6 42.6v206.6a68.2 68.2 0 0125.3 47.3l.2 5.8a68.2 68.2 0 11-110.8-53.4V317a42.7 42.7 0 0142.7-42.6z",time:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm0 91.4c-112.3 0-218 43.8-297.4 123.2A417.8 417.8 0 0091.4 512c0 112.3 43.8 218 123.2 297.4A417.8 417.8 0 00512 932.6c112.3 0 218-43.8 297.4-123.2A417.8 417.8 0 00932.6 512c0-112.3-43.8-218-123.2-297.4A417.8 417.8 0 00512 91.4zm0 54.9a45.7 45.7 0 0145.7 45.7v280H759a45.7 45.7 0 010 91.4H512c-6.1 0-12-1.2-17.4-3.4l-.4-.2-2-1c-.7-.3-1.4-.5-2-.9l-.7-.4-3-1.9-.4-.2c-12-8.2-19.8-22-19.8-37.7V192a45.7 45.7 0 0145.7-45.7z",lightning:"M320.022 1022.644c-7.408 0-14.852-2.052-21.44-6.238-15.292-9.714-22.144-28.494-16.706-45.774l115.186-365.908-214.552-52.57c-14.714-3.606-26.128-15.214-29.486-29.988-3.356-14.772 1.92-30.174 13.632-39.786l576-472.662c14.458-11.864 35.208-12.126 49.962-0.626 14.752 11.496 19.568 31.682 11.594 48.602l-171.202 363.256 208.648 51.756c14.29 3.544 25.476 14.652 29.124 28.914s-0.834 29.376-11.668 39.344l-512 471.112c-7.586 6.984-17.308 10.568-27.092 10.568zM279.236 493.49l178.314 43.69c10.74 2.632 19.912 9.59 25.336 19.226s6.62 21.086 3.298 31.636l-83.030 263.76 347.066-319.352-183.82-45.596c-11.63-2.884-21.356-10.832-26.498-21.656-5.144-10.822-5.164-23.382-0.054-34.22l116.31-246.788-376.922 309.3z",lightningoff:"M310 374L76 150a37 37 0 0 1 0-54c15-14 41-14 56 0l816 778c16 15 16 39 0 54a41 41 0 0 1-56 0L666 712l-57-54-242-230-57-54zm-32 28l57 54-44 38 115 29 78 76-75 254 169-165 57 54-279 271c-8 7-17 11-26 11-7 0-14-2-20-6a41 41 0 0 1-16-46l109-367-203-52c-14-4-25-16-28-30-4-15 1-31 13-40l93-81zm124-108L731 9c13-12 33-12 47-1 14 12 19 32 11 49L627 421l198 52c13 4 24 15 27 29 4 14-1 29-11 39l-89 87-56-54 42-41-118-31-80-76 109-242-190 165-57-55z",dashboard:"M512 85.3a512 512 0 01361 875c-99.5-44-225-70.4-361.6-70.4-136.1 0-261.4 26.2-360.8 70A512 512 0 01512 85.4zm0 91.5c-112.4 0-218 43.7-297.4 123.1A417.8 417.8 0 0091.4 597.3c0 93 30 181.5 85.5 254.2 101-34.8 215.3-53 334.5-53 119.6 0 234.2 18.3 335.5 53.4a417.3 417.3 0 0085.7-254.6c0-112.3-43.8-218-123.2-297.4a417.5 417.5 0 00-275-122.6l-22.4-.5zm219.7 115.7a45.7 45.7 0 0116.7 62.4L580.4 646c6.5 17.1 6.7 36.6-.6 54.3l-4.3 8.7A73.1 73.1 0 11501.3 600l168-291a45.7 45.7 0 0162.4-16.6z",hourglass:"M511.926 801.946c-22.090 0-40-17.906-40-40v0c0-22.090 17.91-40 40-40v0c22.090 0 40.004 17.91 40.004 40v0c0 22.094-17.914 40-40.004 40v0zM831.682 915.242c0.192 1.582 0.318 3.186 0.318 4.82 0 22.090-17.908 40-40 40h-560c-22.092 0-40-17.914-40-40 0-2.438 0.252-4.812 0.67-7.128 2.36-53.636 18.034-105.7 45.852-151.554 0.734-1.476 1.562-2.912 2.492-4.296l5.582-8.364c0.054-0.080 0.11-0.158 0.164-0.238 0.042-0.068 0.098-0.156 0.144-0.222l157.704-236.036-158.5-237.228c-0.116-0.17-0.23-0.342-0.34-0.516-32.842-49.178-51.11-105.994-53.368-165.044-0.238-1.762-0.402-3.546-0.402-5.374 0-22.090 17.908-40 40-40h560c22.092 0 40 17.914 40 40 0 2.056-0.204 4.064-0.504 6.038-2.194 54.020-17.886 106.48-45.894 152.648-0.734 1.472-1.562 2.91-2.492 4.294l-5.582 8.366c-0.054 0.078-0.11 0.156-0.164 0.236-0.042 0.068-0.098 0.154-0.144 0.222l-157.734 236.082 158.468 237.182c0.116 0.168 0.23 0.344 0.34 0.516 32.946 49.33 51.226 106.346 53.39 165.596zM749.958 144.060h-475.99c6.138 31.304 18.384 61.124 36.354 87.916 0.118 0.17 0.23 0.344 0.342 0.514l0.024 0.038c0.036 0.054 0.15 0.23 0.186 0.284l54.286 81.25h293.596l58.196-87.1c0.366-0.67 0.75-1.334 1.154-1.99 15.492-24.916 26.228-52.324 31.852-80.912zM497.528 512.178l-0.032 0.046 14.426 21.592 93.378-139.756h-186.692l78.92 118.118zM305.96 799.156c-15.498 24.91-26.234 52.318-31.856 80.906h476.052c-6.138-31.304-18.384-61.122-36.354-87.918-0.118-0.168-0.23-0.344-0.342-0.512l-0.024-0.040c-0.036-0.050-0.15-0.23-0.186-0.282l-140.242-209.902-28.98 43.374c-7.166 10.72-19.21 17.162-32.11 17.162-12.896 0-24.942-6.442-32.11-17.166l-28.76-43.044-143.938 215.428c-0.36 0.674-0.744 1.338-1.15 1.994z",play:"M878.78 477.856l-591.884-341.722c-9.464-5.464-18.426-8.050-26.386-8.048-19.516 0.002-33.002 15.546-33.002 42.338v683.446c0 26.792 13.482 42.338 33.002 42.338 7.96 0 16.924-2.586 26.386-8.048l591.884-341.722c32.664-18.864 32.664-49.724 0-68.582z",stop:"M1024 512A512 512 0 100 512a512 512 0 001024 0zM215 809a418 418 0 010-594 418 418 0 01594 0 418 418 0 010 594 418 418 0 01-594 0zm471-78H338c-25 0-45-20-45-45V338c0-25 20-45 45-45h348c25 0 45 20 45 45v348c0 25-20 45-45 45z",email:"M960.032 268.004c0.748-10.040-2.246-20.364-9.226-28.684-5.984-7.132-13.938-11.62-22.394-13.394-0.13-0.026-0.268-0.066-0.396-0.092-1.082-0.22-2.172-0.376-3.272-0.5-0.25-0.032-0.492-0.080-0.742-0.102-1.028-0.096-2.052-0.136-3.090-0.156-0.292-0.002-0.582-0.042-0.876-0.042h-816.008c-21.416 0-38.848 16.844-39.898 38-0.034 0.628-0.092 1.256-0.096 1.89 0 0.034-0.006 0.074-0.006 0.114 0 0.050 0.008 0.102 0.008 0.152v495.692c0 0.054-0.008 0.106-0.008 0.156 0 22.090 17.91 40 40 40h816.004c13.808 0 25.98-6.996 33.17-17.636 0.1-0.148 0.182-0.312 0.28-0.458 0.606-0.93 1.196-1.868 1.722-2.84 0.046-0.082 0.080-0.172 0.124-0.258 2.992-5.604 4.704-12.008 4.704-18.804v0 0-493.038zM144.032 350.156l339.946 281.188c6.568 6.434 14.918 10.168 23.564 11.122 0.16 0.024 0.32 0.050 0.48 0.066 0.838 0.082 1.676 0.114 2.518 0.14 0.496 0.020 0.994 0.058 1.492 0.058s0.996-0.042 1.492-0.058c0.842-0.028 1.68-0.058 2.518-0.14 0.16-0.016 0.32-0.042 0.48-0.066 8.646-0.958 16.996-4.688 23.564-11.122l339.946-281.206v370.894h-736v-370.876zM215.066 305.030h593.91l-296.946 245.422-296.964-245.422z",link:"M743.52 529.234c5.616-5.616 83.048-83.046 88.462-88.46 30.944-32.778 47.97-75.636 47.97-120.792 0-47.048-18.304-91.26-51.542-124.484-33.228-33.22-77.43-51.516-124.458-51.516-45.024 0-87.792 16.94-120.536 47.72l-104.458 104.456c-30.792 32.738-47.734 75.512-47.734 120.548 0 41.916 14.576 81.544 41.248 113.196 3.264 3.876 6.666 7.664 10.292 11.29 4.258 4.258 8.704 8.262 13.304 12.022 0.054 0.080 0.096 0.152 0.148 0.232 9.572 7.308 15.778 18.804 15.778 31.776 0 22.094-17.914 40-40.004 40-8.542 0-16.442-2.696-22.938-7.26-2.746-1.93-20.622-17.43-30.35-28.050-0.008-0.010-0.018-0.018-0.026-0.028-4.992-5.432-13.234-15.23-18.552-22.65s-16.556-25.872-17.036-26.736c-0.7-1.262-2.974-5.526-3.422-6.39-0.69-1.334-6.118-12.67-6.114-12.67-14.342-31.96-22.332-67.4-22.332-104.728 0-60.826 21.198-116.648 56.58-160.544 0.252-0.314 4.61-5.594 6.594-7.866 0.304-0.35 5.038-5.636 7.16-7.874 0.252-0.268 105.86-105.874 106.128-106.126 45.902-43.584 107.958-70.314 176.264-70.314 141.382 0 255.998 114.5 255.998 256 0 68.516-26.882 130.688-70.652 176.61-0.144 0.148-109.854 109.546-112.090 111.528-0.958 0.848-5.072 4.352-5.072 4.352-6.448 5.434-13.132 10.592-20.1 15.378 0.412-6.836 0.644-13.702 0.644-20.6 0-26.46-3.108-52.206-8.918-76.918l-0.236-1.102zM616.144 767.82c35.382-43.896 56.58-99.718 56.58-160.544 0-37.328-7.99-72.768-22.332-104.728 0.004 0 0.006-0.002 0.010-0.004-0.258-0.576-0.538-1.14-0.8-1.714-0.686-1.498-2.894-6.112-3.296-6.93-0.668-1.344-2.952-5.732-3.386-6.604-3.48-6.982-8.708-15.126-9.49-16.366-0.498-0.792-0.996-1.58-1.502-2.364-0.834-1.29-15.364-22.066-26.656-34.466-0.008-0.010-0.018-0.018-0.026-0.028-7.056-8.448-24.932-24.198-30.35-28.050-6.47-4.602-14.396-7.26-22.938-7.26-22.090 0-40.004 17.906-40.004 40 0 12.97 6.206 24.466 15.778 31.776 0.052 0.080 0.094 0.152 0.148 0.232 4.602 3.76 20.334 19.434 23.598 23.31 26.672 31.65 41.248 71.28 41.248 113.196 0 45.038-16.944 87.81-47.734 120.548l-104.458 104.456c-32.742 30.782-75.512 47.72-120.536 47.72-47.028 0-91.228-18.294-124.458-51.516-33.236-33.224-51.542-77.436-51.542-124.484 0-45.154 17.028-88.014 47.97-120.792 5.414-5.414 40.812-40.812 68.958-68.958 7.176-7.176 13.888-13.886 19.504-19.502v-0.002c-0.356-1.562-0.246-1.096-0.246-1.096-5.81-24.712-8.918-50.458-8.918-76.918 0-6.898 0.232-13.764 0.644-20.6-6.966 4.788-20.1 15.33-20.1 15.33-0.734 0.62-9.518 8.388-11.68 10.45-0.16 0.154-105.338 105.33-105.482 105.478-43.77 45.922-70.652 108.094-70.652 176.61 0 141.5 114.616 256 255.998 256 68.306 0 130.362-26.73 176.264-70.314 0.27-0.254 105.876-105.86 106.128-106.126 0.004-0.002 13.506-15.426 13.758-15.74z",paperclip:"M824.25 369.354c68.146-70.452 67.478-182.784-2.094-252.354-70.296-70.296-184.266-70.296-254.558 0-0.014 0.012-0.028 0.026-0.042 0.042-0.004 0.002-0.006 0.004-0.010 0.008l-433.144 433.142c-0.036 0.036-0.074 0.068-0.11 0.106-0.054 0.052-0.106 0.11-0.16 0.162l-2.668 2.67c-0.286 0.286-0.528 0.596-0.8 0.888-43.028 44.88-66.664 103.616-66.664 165.986 0 64.106 24.962 124.376 70.292 169.704 45.328 45.33 105.598 70.292 169.706 70.292 50.612 0 98.822-15.57 139.186-44.428 4.932-1.952 9.556-4.906 13.544-8.894l16.802-16.802c0.056-0.056 0.116-0.112 0.172-0.168 0.038-0.038 0.074-0.076 0.112-0.116l289.010-289.014c15.622-15.618 15.62-40.942 0-56.56s-40.948-15.62-56.566 0l-289.124 289.122c-62.482 62.484-163.792 62.484-226.274 0-62.484-62.482-62.484-163.79 0-226.272h-0.002l433.134-433.12c0.058-0.060 0.112-0.122 0.172-0.18 38.99-38.99 102.43-38.99 141.42 0 38.992 38.99 38.99 102.432 0 141.422-0.058 0.060-0.122 0.114-0.18 0.17l0.006 0.006-280.536 280.534c-0.002-0.002-0.002-0.004-0.004-0.006l-79.978 79.98c-0.010 0.010-0.016 0.020-0.028 0.028-0.008 0.012-0.018 0.018-0.028 0.028l-0.064 0.062c-15.622 15.624-40.944 15.624-56.562 0-15.624-15.62-15.624-40.944-0.002-56.566l0.062-0.062c0.010-0.010 0.018-0.020 0.028-0.028 0.008-0.012 0.020-0.018 0.028-0.028l79.98-79.978c-0.002-0.002-0.004-0.002-0.006-0.004l136.508-136.512c15.622-15.62 15.62-40.944-0.002-56.562-15.618-15.62-40.946-15.62-56.564 0l-219.342 219.344c-1.284 1.284-2.42 2.652-3.494 4.052-40.4 47.148-38.316 118.184 6.322 162.824 44.64 44.638 115.674 46.722 162.82 6.324 1.402-1.072 2.772-2.21 4.054-3.494l2.83-2.832c0.002 0 0.002 0 0.002 0s0 0 0 0l360.54-360.54c0.058-0.056 0.12-0.114 0.18-0.172 0.050-0.050 0.098-0.106 0.15-0.158l0.994-0.994c0.34-0.338 0.63-0.702 0.952-1.052z",box:"M960.016 408.080c0-0.672-0.046-1.342-0.078-2.014-0.032-0.594-0.044-1.19-0.102-1.782-0.068-0.726-0.186-1.448-0.294-2.17-0.080-0.54-0.144-1.080-0.248-1.616-0.138-0.724-0.326-1.442-0.506-2.16-0.134-0.534-0.252-1.070-0.408-1.6-0.196-0.662-0.436-1.314-0.668-1.968-0.204-0.582-0.396-1.166-0.628-1.74-0.226-0.56-0.494-1.11-0.75-1.662-0.3-0.656-0.598-1.312-0.934-1.954-0.242-0.454-0.514-0.894-0.774-1.342-0.414-0.716-0.83-1.43-1.292-2.124-0.256-0.382-0.538-0.752-0.806-1.128-0.514-0.716-1.036-1.428-1.602-2.116-0.090-0.11-0.162-0.226-0.254-0.336-0.244-0.292-0.516-0.542-0.768-0.826-0.534-0.6-1.068-1.198-1.644-1.772-0.48-0.478-0.982-0.924-1.48-1.376-0.354-0.316-0.674-0.658-1.040-0.964l-405.788-335.666c-6.568-6.436-14.918-10.166-23.564-11.124-0.16-0.022-0.32-0.050-0.48-0.066-0.838-0.082-1.676-0.11-2.518-0.14-0.496-0.020-0.994-0.058-1.492-0.058s-0.996 0.040-1.492 0.058c-0.842 0.028-1.68 0.058-2.518 0.14-0.16 0.016-0.32 0.044-0.48 0.066-8.646 0.956-16.996 4.688-23.564 11.124l-405.662 335.542c-7.13 5.982-11.616 13.93-13.392 22.382-0.032 0.14-0.070 0.278-0.1 0.42-0.212 1.072-0.37 2.152-0.494 3.238-0.032 0.258-0.078 0.51-0.106 0.77-0.086 0.89-0.114 1.786-0.138 2.68-0.014 0.39-0.052 0.78-0.054 1.17 0 0.040-0.006 0.074-0.006 0.114v204.856c-0.958 12.434 3.854 25.128 14.134 33.754l405.662 335.54c6.568 6.438 14.918 10.168 23.564 11.124 0.16 0.020 0.32 0.050 0.48 0.066 0.838 0.082 1.676 0.114 2.518 0.14 0.496 0.020 0.994 0.058 1.492 0.058 0.054 0 0.11-0.008 0.162-0.008 0.042 0 0.084 0.008 0.126 0.008 0.342 0 0.672-0.042 1.012-0.050 0.062-0.004 0.126-0.008 0.192-0.008 0.134-0.004 0.27-0.020 0.402-0.024 10.602-0.422 20.136-4.938 27.054-12.046l404.526-334.624c0.084-0.066 0.166-0.136 0.248-0.204l0.12-0.098c0.17-0.144 0.314-0.304 0.48-0.45 0.814-0.704 1.614-1.43 2.37-2.2 0.296-0.3 0.562-0.624 0.85-0.934 0.602-0.652 1.2-1.308 1.756-2 0.3-0.372 0.566-0.758 0.852-1.136 0.504-0.672 1.002-1.344 1.462-2.046 0.242-0.368 0.458-0.75 0.686-1.124 0.458-0.754 0.908-1.508 1.316-2.292 0.164-0.312 0.304-0.636 0.46-0.954 0.426-0.872 0.832-1.746 1.196-2.652 0.092-0.23 0.168-0.464 0.256-0.696 0.376-0.996 0.728-2 1.026-3.032 0.042-0.148 0.074-0.296 0.114-0.442 0.306-1.102 0.578-2.218 0.79-3.356 0.016-0.082 0.024-0.164 0.038-0.246 0.212-1.184 0.382-2.378 0.49-3.598v0c0.1-1.156 0.176-2.32 0.176-3.5v-204.86c0.024-0.318 0.022-0.638 0.040-0.958 0.026-0.668 0.074-1.338 0.074-2.008zM143.89 493.202l328.14 271.42v103.902l-328.14-271.18v-104.142zM552.032 764.402l327.868-271.212v103.88l-327.868 270.972v-103.64zM511.898 122.66l345.348 285.42-345.348 285.42-345.374-285.42 345.374-285.42z",structure:"M954.324 833.3c0.208-0.558 0.388-1.128 0.586-1.692 0.3-0.868 0.608-1.734 0.882-2.61 0.234-0.746 0.444-1.5 0.66-2.25 0.212-0.734 0.432-1.464 0.624-2.204 0.204-0.766 0.378-1.54 0.562-2.308 0.18-0.766 0.366-1.528 0.528-2.292 0.146-0.692 0.272-1.386 0.402-2.082 0.168-0.89 0.332-1.778 0.476-2.668 0.090-0.566 0.164-1.136 0.244-1.704 0.148-1.058 0.29-2.118 0.404-3.18 0.042-0.422 0.080-0.852 0.12-1.274 0.118-1.23 0.212-2.46 0.282-3.696 0.018-0.304 0.030-0.606 0.042-0.906 0.062-1.36 0.098-2.718 0.104-4.082 0-0.114 0.008-0.226 0.008-0.34 0-0.128-0.010-0.258-0.010-0.39-0.006-1.368-0.042-2.734-0.104-4.102-0.014-0.296-0.030-0.594-0.044-0.89-0.070-1.246-0.166-2.492-0.284-3.738-0.042-0.434-0.084-0.864-0.128-1.292-0.116-1.050-0.25-2.098-0.4-3.144-0.088-0.628-0.18-1.258-0.282-1.882-0.13-0.8-0.276-1.598-0.428-2.394-0.162-0.868-0.332-1.73-0.518-2.594-0.116-0.524-0.24-1.046-0.364-1.57-0.264-1.128-0.542-2.25-0.846-3.36-0.070-0.254-0.144-0.504-0.214-0.754-11.38-40.382-48.464-69.996-92.488-69.996-3.066 0-6.096 0.16-9.088 0.442l-264.576-458.262c21.080-29.698 24.3-70.13 4.9-103.732-12.596-21.816-32.458-36.812-54.764-43.724-0.062-0.020-0.124-0.036-0.186-0.054-1.394-0.43-2.798-0.83-4.21-1.196-0.296-0.076-0.596-0.142-0.894-0.216-1.208-0.3-2.422-0.586-3.642-0.84-0.384-0.082-0.774-0.148-1.16-0.224-1.168-0.228-2.338-0.444-3.514-0.626-0.384-0.060-0.776-0.112-1.162-0.168-1.208-0.174-2.416-0.332-3.63-0.46-0.35-0.038-0.7-0.066-1.048-0.1-1.27-0.12-2.54-0.218-3.814-0.29-0.32-0.018-0.642-0.032-0.964-0.044-1.294-0.058-2.594-0.094-3.892-0.1-0.166 0-0.328-0.012-0.492-0.012-0.19 0-0.376 0.014-0.564 0.014-1.21 0.008-2.42 0.040-3.63 0.092-0.494 0.022-0.986 0.046-1.478 0.074-0.992 0.060-1.986 0.136-2.978 0.226-0.722 0.064-1.442 0.134-2.16 0.214-0.696 0.080-1.392 0.17-2.090 0.266-1.014 0.136-2.026 0.286-3.032 0.452-0.352 0.060-0.704 0.124-1.054 0.19-44.97 8.028-79.122 47.302-79.122 94.582 0 20.756 6.602 39.958 17.79 55.67l-264.58 458.26c-2.954-0.274-5.94-0.434-8.962-0.434-53.078 0-96.11 43.032-96.11 96.11 0 53.082 43.032 96.11 96.11 96.11 38.8 0 72.208-23.004 87.386-56.11l529.202-0.004c0.138 0.304 0.292 0.606 0.436 0.91 0.226 0.48 0.456 0.958 0.69 1.434 0.474 0.968 0.966 1.93 1.476 2.882 0.214 0.402 0.432 0.8 0.65 1.2 0.314 0.566 0.604 1.14 0.93 1.708 0.284 0.488 0.59 0.958 0.88 1.442 0.122 0.2 0.244 0.398 0.37 0.602 27.086 44.372 84.766 59.278 130.040 33.136 18.864-10.89 32.624-27.214 40.478-45.852 0.054-0.132 0.104-0.266 0.158-0.398 0.518-1.248 1.020-2.506 1.486-3.776zM238.414 744.282l264.542-458.204c0.424 0.042 0.85 0.064 1.276 0.098 0.668 0.056 1.334 0.112 2.004 0.152 0.652 0.040 1.306 0.066 1.96 0.092 1.122 0.046 2.244 0.076 3.368 0.084 0.146 0.002 0.292 0.012 0.438 0.012 0.168 0 0.334-0.012 0.502-0.014 1.436-0.004 2.874-0.040 4.31-0.108 0.088-0.006 0.176-0.010 0.262-0.014 1.376-0.070 2.75-0.168 4.124-0.296l264.596 458.298c-3.48 4.894-6.514 10.122-9.042 15.636h-529.226c-2.546-5.55-5.602-10.814-9.114-15.736z",cpu:"M392.016 672.016h240.032c22.092 0 40-17.908 40-40v-240.032c0-22.092-17.908-40-40-40h-240.032c-22.092 0-40 17.908-40 40v240.032c0 22.092 17.908 40 40 40zM432.016 431.984h160.032v160.032h-160.032v-160.032zM864.032 424h71.98c22.094 0 40.004-17.906 40.004-40 0-22.092-17.906-40-40-40h-71.984v-143.968c0-22.092-17.908-40-40-40h-144v-72.012c0-22.094-17.906-40.004-40-40.004-22.090 0-40 17.906-40 40v72.016h-176v-72.012c0-22.094-17.906-40.004-40-40.004-22.090 0-40 17.906-40 40v72.016h-144c-22.092 0-40 17.908-40 40v143.968h-71.984c-22.094 0-40 17.908-40 40s17.91 40 40 40h71.984v176h-71.984c-22.094 0-40 17.908-40 40s17.91 40 40 40h71.984v144.030c0 22.092 17.908 40 40 40h144v71.954c0 22.094 17.906 40 40 40s40-17.91 40-40v-71.954h176v71.954c0 22.094 17.906 40 40 40s40-17.91 40-40v-71.954h144c22.092 0 40-17.908 40-40v-144.030h71.98c22.094 0 40.004-17.906 40.004-40 0-22.092-17.906-40-40-40h-71.984v-176zM784.032 784.032h-143.692c-0.104 0-0.204-0.016-0.308-0.016s-0.206 0.016-0.308 0.016h-127.382c-0.104 0-0.204-0.016-0.308-0.016s-0.206 0.016-0.308 0.016h-127.382c-0.104 0-0.204-0.016-0.308-0.016s-0.206 0.016-0.308 0.016h-143.696v-544h544v544z",memory:"M320.032 416.032v-152.968c0-22.094 17.91-40 40-40 22.094 0 40 17.91 40 40.004v152.964c0 22.090-17.906 40-40 40s-40-17.908-40-40zM512 456.032c22.094 0 40-17.91 40-40v-152.964c0-22.094-17.906-40.004-40-40.004-22.090 0-40 17.906-40 40v152.968c0 22.092 17.908 40 40 40zM664.032 456.032c22.094 0 40-17.91 40-40v-82.996c0-22.094-17.906-40.004-40-40.004-22.090 0-40 17.906-40 40v83c0 22.092 17.906 40 40 40zM864.018 316.616v603.418c0 0.004 0 0.004 0 0.004 0 6.798-1.71 13.198-4.704 18.808-0.044 0.084-0.078 0.172-0.124 0.254-0.524 0.976-1.112 1.914-1.722 2.836-0.098 0.15-0.18 0.312-0.282 0.46-7.188 10.638-19.36 17.634-33.168 17.634h-623.99c-22.090 0-40-17.908-40-40v-343.574c-0.002-0.142-0.022-0.282-0.022-0.426 0-0.142 0.020-0.282 0.022-0.426v-471.574c0-20.34 15.192-37.092 34.838-39.63 1.694-0.216 3.408-0.37 5.162-0.37l411.254 0.052c10.594-0.286 21.282 3.58 29.368 11.668l211.672 212.206c7.906 7.908 11.792 18.298 11.696 28.66zM240.026 144.034v391.998h543.99v-203.27l-188.252-188.728h-355.738zM784.016 880.032v-264h-543.99v264h543.99z",database:"M895.95 221.364c-3.414-87.32-173.972-157.672-383.918-157.672s-380.504 70.352-383.918 157.672h-0.082v578.328c0 88.552 171.918 160.338 384 160.338s384-71.786 384-160.338v-578.328h-0.082zM798.412 430.578c-15.6 11.386-37.69 22.346-63.882 31.696-60.984 21.77-140.002 33.758-222.498 33.758s-161.514-11.988-222.498-33.758c-26.192-9.348-48.282-20.308-63.88-31.696-8.706-6.352-13.646-11.608-16.122-14.874v-92.9c70.29 37.478 179.654 61.566 302.5 61.566s232.21-24.088 302.5-61.566v92.9c-2.476 3.266-7.416 8.522-16.12 14.874zM814.532 514.464v93.24c-2.474 3.266-7.416 8.522-16.12 14.874-15.6 11.386-37.69 22.346-63.882 31.696-60.984 21.77-140.002 33.758-222.498 33.758s-161.514-11.988-222.498-33.758c-26.192-9.348-48.282-20.308-63.88-31.696-8.706-6.352-13.646-11.608-16.122-14.874v-93.24c70.29 37.48 179.654 61.566 302.5 61.566s232.21-24.086 302.5-61.566zM225.652 209.146c15.6-11.386 37.69-22.346 63.88-31.696 60.984-21.77 140.002-33.758 222.498-33.758s161.514 11.988 222.498 33.758c26.192 9.348 48.282 20.308 63.882 31.696 8.704 6.352 13.646 11.608 16.12 14.874v0.026c-2.474 3.266-7.416 8.522-16.12 14.874-15.6 11.386-37.69 22.346-63.882 31.696-60.984 21.77-140.002 33.758-222.498 33.758s-161.514-11.988-222.498-33.758c-26.192-9.348-48.282-20.308-63.88-31.696-8.706-6.352-13.646-11.608-16.122-14.874v-0.026c2.476-3.268 7.418-8.524 16.122-14.874zM798.412 814.578c-15.6 11.386-37.69 22.346-63.882 31.696-60.984 21.77-140.002 33.758-222.498 33.758s-161.514-11.988-222.498-33.758c-26.192-9.348-48.282-20.308-63.88-31.696-8.714-6.36-13.66-11.62-16.13-14.886h0.010v-93.228c70.29 37.48 179.654 61.566 302.5 61.566s232.21-24.086 302.5-61.566v93.228h0.010c-2.474 3.266-7.42 8.526-16.132 14.886z",power:"M320 118.3a45.7 45.7 0 0122.5 85.6 384.6 384.6 0 00-120.8 93.4A380.9 380.9 0 00128 548.6c0 102.5 39.9 199 112.4 271.5A381.5 381.5 0 00512 932.5c102.5 0 199-39.9 271.5-112.4a381.5 381.5 0 00112.4-271.5c0-98.1-36.5-190.6-103.1-262l-2-2-9.4-9.5a384.2 384.2 0 00-100-71.2 45.6 45.6 0 0139.6-82.2l.6.3h.2l.1.1h.1l2 1 4 2 1.9 1 3.5 1.9a480.6 480.6 0 0144.9 27l2 1.3v-.3.1a475.4 475.4 0 11-545.3 6.2l3.6-2.6v.1a471.4 471.4 0 0151.7-31.7l3.7-2 1.4-.7.3-.2 6.4-3.1.1-.1h.1l.7-.3c5.2-2.1 11-3.4 17-3.4zM511.8 0c25 0 45.3 20 45.7 45v421.3a45.7 45.7 0 01-91.4.7V45.7A45.7 45.7 0 01511.9 0z",outbox:"M960.062 616v304c0 1.382-0.070 2.746-0.208 4.090-2.046 20.172-19.080 35.91-39.792 35.91h-816c-22.090 0-40-17.906-40-40v-304c0-22.090 17.91-40 40-40s40 17.91 40 40v264h736v-264c0-22.090 17.91-40 40-40s40 17.912 40 40zM664.732 200.168l-124.41-124.41c-0.014-0.014-0.024-0.028-0.038-0.042-3.57-3.57-7.664-6.284-12.018-8.222-5.316-2.368-11.028-3.54-16.742-3.47-0.14-0.002-0.276-0.020-0.414-0.020-13.552 0-25.512 6.756-32.748 17.072l-119.1 119.092c-15.622 15.62-15.618 40.948 0.002 56.57 15.622 15.62 40.95 15.62 56.568 0l55.276-55.276v462.54c0 22.094 17.912 40 40.002 40 22.092 0 40-17.91 40-40v-464.314l57.052 57.052c15.622 15.624 40.948 15.62 56.568 0 15.628-15.624 15.628-40.952 0.002-56.572z",share:"M896.006 920c0 22.090-17.91 40-40 40h-688.006c-22.090 0-40-17.906-40-40v-549.922c-0.838-3.224-1.33-6.588-1.33-10.072 0-22.090 17.908-40.004 40-40.004h178.66c22.092 0.004 40 17.914 40 40.004 0 22.088-17.908 40-40 40h-137.33v479.996h607.998v-479.996h-138.658c-22.090 0-40-17.912-40-40 0-22.090 17.906-40.004 40-40.004h178.658c22.090 0 40 17.91 40 40v559.844c0 0.050 0.008 0.102 0.008 0.154zM665.622 200.168l-124.452-124.45c-8.042-8.042-18.65-11.912-29.186-11.674-1.612-0.034-3.222 0-4.828 0.16-0.558 0.054-1.098 0.16-1.648 0.238-0.742 0.104-1.484 0.192-2.218 0.338-0.656 0.13-1.29 0.31-1.934 0.472-0.622 0.154-1.244 0.292-1.86 0.476-0.64 0.196-1.258 0.436-1.886 0.66-0.602 0.216-1.208 0.414-1.802 0.66-0.598 0.248-1.17 0.54-1.754 0.814-0.598 0.282-1.202 0.546-1.788 0.86-0.578 0.312-1.13 0.664-1.694 1-0.552 0.332-1.116 0.644-1.654 1.006-0.67 0.448-1.3 0.942-1.942 1.426-0.394 0.302-0.806 0.576-1.196 0.894-1.046 0.858-2.052 1.768-3.008 2.726l-124.398 124.39c-15.622 15.62-15.618 40.948 0.002 56.57 15.622 15.62 40.95 15.62 56.568 0l56.164-56.166v439.426c0 22.094 17.912 40 40.002 40 22.092 0 40-17.91 40-40v-441.202l57.942 57.942c15.622 15.624 40.948 15.62 56.568 0 15.626-15.618 15.626-40.946 0.002-56.566z",button:"M644.634 802.32c-4.558 5.434-10.254 9.328-16.446 11.672l0.008 0.024-45.628 16.606 27.54 75.66c7.554 20.756-3.148 43.71-23.906 51.266s-43.714-3.146-51.27-23.906l-27.54-75.656-47.63 17.29c-6.020 1.956-12.586 2.518-19.254 1.342-21.75-3.836-36.282-24.582-32.45-46.34l30.57-173.328c2.55-14.476 12.61-25.714 25.458-30.508 0.292-0.118 0.586-0.23 0.878-0.34 0.238-0.084 0.476-0.168 0.718-0.246 12.942-4.624 27.91-2.492 39.196 6.98l134.824 113.13c16.932 14.2 19.144 39.432 4.932 56.354zM960.002 664v-368.082c0-22.092-17.908-40-40-40h-816c-22.092 0-40 17.908-40 40l-0.292 368.238c0 22.092 17.908 40 40 40h240.292c22.092 0 40-17.908 40-40s-17.908-40-40-40h-200.292l0.292-288.238h736v288.082h-200c-22.092 0-40 17.908-40 40s17.908 40 40 40h240c22.092 0 40-17.908 40-40z",form:"M948.362 178.828l-471.082 470.086c-0.24 0.25-0.45 0.52-0.698 0.77-7.82 7.82-18.070 11.722-28.32 11.712-10.25 0.010-20.504-3.892-28.324-11.712-0.262-0.262-0.48-0.546-0.734-0.812l-221.736-221.738c-15.624-15.622-15.624-40.95 0-56.566 15.618-15.622 40.946-15.624 56.57 0l194.224 194.222 443.53-442.528c15.622-15.618 40.95-15.618 56.57 0 15.62 15.62 15.62 40.946 0 56.566zM98.372 128.448c-18.926 0-34.266 15.342-34.266 34.268v699.032c0 18.926 15.34 34.266 34.266 34.266h699.032c18.926 0 34.266-15.34 34.266-34.266v-430.588c0 0 0.002-1.184 0.002-1.788 0-22.090-17.914-40-40.004-40s-40 17.91-40 40c0 0.288 0.002 386.64 0.002 386.64h-607.562v-607.564h600.002c22.090-0.002 40.002-17.906 40.002-40 0-22.090-17.914-40-40.004-40z",check:"M948.598 199.75c-15.622-15.618-40.95-15.618-56.57 0l-535.644 535.644-224.060-224.062c-15.624-15.624-40.954-15.62-56.57 0-15.624 15.62-15.624 40.948 0 56.568l251.574 251.574c0.252 0.266 0.472 0.55 0.734 0.812 7.82 7.82 18.072 11.724 28.322 11.714 10.25 0.010 20.502-3.894 28.322-11.714 0.248-0.248 0.456-0.518 0.698-0.77l563.196-563.202c15.618-15.618 15.618-40.94-0.002-56.564z",batchaccept:"M684 277L271 772l-1 1a40 40 0 0 1-56 5l-1-1L14 610a40 40 0 1 1 52-61l169 142 387-465a40 40 0 0 1 62 51zm340 234c0-22-18-40-40-40H808a40 40 0 0 0 0 80h176c22 0 40-18 40-40zm0-216c0-22-18-40-40-40H808a40 40 0 0 0 0 80h176c22 0 40-18 40-40zm0 432c0-22-18-40-40-40H808a40 40 0 0 0 0 80h176c22 0 40-18 40-40z",batchdeny:"M1024 512c0-22-18-40-40-40H808a40 40 0 0 0 0 80h176c22 0 40-18 40-40zm0-216c0-22-18-40-40-40H808a40 40 0 0 0 0 80h176c22 0 40-18 40-40zm0 432c0-22-18-40-40-40H808a40 40 0 0 0 0 80h176c22 0 40-18 40-40zM625 236c16 15 16 41 0 56L406 512l220 220a40 40 0 1 1-57 57L349 568 129 788a40 40 0 1 1-57-56l220-220L73 292a40 40 0 0 1 56-57l220 220 219-219c16-16 41-16 57 0z",home:"M948.12 483.624l-407.814-407.754c-7.812-7.808-18.046-11.712-28.282-11.712-10.238 0-20.472 3.904-28.282 11.712l-407.92 407.86c-15.624 15.622-15.624 40.948-0.006 56.57s40.944 15.622 56.568 0.004l19.616-19.612v366.708c0 22.090 17.91 40 40 40h190.696c0.416 0.014 0.82 0.062 1.238 0.062 11.054 0 21.060-4.484 28.3-11.734 7.266-7.244 11.766-17.262 11.766-28.332 0-0.418-0.050-0.822-0.062-1.238v-263.204h176.060v263.934c0 22.090 17.91 40 40 40l191.876 0.124c2.292 0 4.524-0.236 6.708-0.608 0.45-0.074 0.91-0.116 1.356-0.206 0.21-0.044 0.414-0.116 0.628-0.162 17.906-3.972 31.308-19.924 31.308-39.026v-366.492l19.682 19.68c15.622 15.62 40.948 15.616 56.568-0.006s15.618-40.948-0.004-56.568zM791.876 448.272v398.71l-111.874-0.074v-263.876c0-0.020-0.002-0.042-0.002-0.062 0-0.006 0-0.014 0-0.022 0-22.090-17.91-40-40-40h-254.002c-0.556 0-1.1 0.060-1.65 0.084-0.14-0.002-0.274-0.022-0.414-0.022-22.090 0-40 17.91-40 40v264.382h-111.934v-399.392c0-2.286-0.234-4.512-0.604-6.694l280.626-280.584 280.514 280.472c-0.412 2.302-0.66 4.658-0.66 7.078z",admin:"M919.596 847.534h-88.414v-467.716l88.75-0.044c13.688-0.132 26.958-7.25 34.294-19.96 11.044-19.13 4.49-43.596-14.642-54.64l-407.904-235.676c-0.44-0.254-0.894-0.45-1.34-0.684-0.542-0.29-1.084-0.578-1.638-0.84-0.696-0.328-1.4-0.62-2.108-0.904-0.478-0.194-0.954-0.388-1.44-0.56-0.78-0.282-1.564-0.524-2.352-0.754-0.442-0.126-0.878-0.256-1.324-0.37-0.808-0.206-1.618-0.376-2.43-0.528-0.468-0.088-0.934-0.174-1.404-0.246-0.768-0.116-1.534-0.204-2.302-0.274-0.554-0.052-1.108-0.096-1.664-0.124-0.672-0.034-1.34-0.044-2.012-0.044-0.67 0-1.338 0.012-2.010 0.044-0.556 0.030-1.11 0.072-1.664 0.124-0.77 0.070-1.536 0.158-2.302 0.274-0.468 0.072-0.938 0.158-1.402 0.246-0.814 0.152-1.624 0.322-2.432 0.528-0.444 0.114-0.882 0.242-1.322 0.37-0.79 0.23-1.574 0.472-2.356 0.754-0.484 0.172-0.958 0.368-1.438 0.56-0.708 0.286-1.41 0.576-2.11 0.904-0.554 0.262-1.094 0.55-1.636 0.84-0.446 0.234-0.9 0.43-1.34 0.684l-407.906 235.672c-19.128 11.044-25.686 35.51-14.64 54.64 7.34 12.71 20.606 19.828 34.292 19.96v0.044h89.842v467.716h-89.474c-22.090 0-40 17.91-40 40s17.91 40 40 40h128.276c0.402 0.012 0.794 0.060 1.2 0.060s0.796-0.048 1.2-0.060h183.602c0.402 0.012 0.794 0.060 1.2 0.060s0.796-0.048 1.2-0.060h183.602c0.402 0.012 0.794 0.060 1.2 0.060s0.796-0.048 1.2-0.060h313.154c22.098 0 40-17.91 40-40-0.006-22.090-17.914-39.996-40.006-39.996zM751.182 847.534h-105.94v-467.716h105.94v467.716zM252.93 299.816l258.736-149.486 258.738 149.486h-517.474zM565.242 379.816v467.716h-106v-467.716h106zM273.242 379.816h106v467.716h-106v-467.716z",paragraph:"M728.032 96.032h-116.98c-0.026 0-0.050-0.004-0.076-0.004s-0.050 0.004-0.076 0.004h-199.848c-0.026 0-0.050-0.004-0.076-0.004s-0.050 0.004-0.076 0.004h-31.924c-123.712 0-224 100.292-224 224 0 121.032 95.994 219.628 216 223.842v344.158c0 22.092 17.91 40 40 40 22.086 0 40-17.908 40-40v-712h120v712c0 22.092 17.91 40 40 40 22.086 0 40-17.908 40-40v-712h77.056c22.094 0 40-17.91 40-40 0-22.092-17.91-40-40-40z",basket:"M632.254 695.604v-112.016c-0.004-22.092 17.906-40.002 40-40.002 22.090 0.002 40 17.908 40 40.002l-0.004 112.018c0.004 22.088-17.906 39.996-39.996 39.998-22.094 0.002-40.004-17.904-40-40zM352.246 735.604c22.090-0.002 40-17.91 39.996-39.998l0.004-112.018c0-22.094-17.91-40-40-40.002-22.094 0-40.004 17.91-40 40.002v112.016c-0.004 22.096 17.906 40.002 40 40zM512.25 735.604c22.090-0.002 40-17.91 39.996-39.998l0.004-112.018c0-22.094-17.91-40-40-40.002-22.094 0-40.004 17.91-40 40.002v112.016c-0.004 22.096 17.906 40.002 40 40zM950.3 397.424c-7.596-8.686-18.574-13.67-30.114-13.67h-313.284c0.87 5.196 1.346 10.524 1.346 15.966 0 24.608-9.27 47.044-24.494 64.034h290.684l-47.318 351.376-629.908-0.030-47.502-351.346h291.034c-15.224-16.988-24.494-39.426-24.494-64.034 0-5.444 0.476-10.772 1.346-15.966h-313.66c-11.542 0-22.524 4.986-30.12 13.678-7.596 8.694-11.066 20.242-9.52 31.682l51.614 381.742 0.050 0.042c5.832 47.424 46.222 84.158 95.222 84.172l0.054 0.034 601.816-0.034c0.042 0 0.082 0.002 0.124 0.002 49.414 0 90.090-37.34 95.396-85.336l51.258-380.64c1.54-11.44-1.934-22.984-9.53-31.672zM805.492 105.34c-15.622-15.622-40.95-15.624-56.572 0.004l-230.684 230.684c-2.052-0.2-4.132-0.306-6.236-0.306-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64c0-2.652-0.18-5.262-0.494-7.83l229.986-229.98c15.622-15.624 15.616-40.95-0-56.572z",credit:"M376.188 672.062h-112.124c-22.092 0-40-17.908-40-40s17.908-40 40-40h112.124c22.092 0 40 17.908 40 40s-17.908 40-40 40zM960 232.002v560c0 6.8-1.708 13.2-4.704 18.81-0.044 0.082-0.078 0.172-0.124 0.254-0.524 0.974-1.112 1.914-1.722 2.836-0.098 0.15-0.18 0.31-0.282 0.458-7.188 10.64-19.36 17.638-33.168 17.638h-816c-22.090 0-40-17.908-40-40v-559.998c0-20.34 15.192-37.092 34.838-39.628 1.694-0.218 3.408-0.372 5.162-0.372h816c1.754 0 3.468 0.152 5.162 0.372 19.646 2.536 34.838 19.288 34.838 39.63zM144 272.002v80.030h736v-80.030h-736zM880 751.998v-239.966h-736v239.966h736z",shield:"M875.146 148.994c-0.064-0.040-0.116-0.094-0.184-0.132-92.714-52.39-221.036-84.83-362.846-84.83-138.512 0-270.346 34.356-362.51 84.618-0.606 0.33-1.138 0.658-1.608 0.986-11.954 6.918-20.016 19.81-20.016 34.614v451.4c0 12.7 5.938 23.996 15.166 31.32l340.538 281.676c6.568 6.434 14.918 10.168 23.564 11.122 0.16 0.024 0.32 0.050 0.48 0.066 0.838 0.082 1.676 0.114 2.518 0.14 0.496 0.020 0.994 0.058 1.492 0.058s0.996-0.040 1.492-0.058c0.842-0.032 1.68-0.058 2.518-0.14 0.16-0.016 0.32-0.042 0.48-0.066 8.646-0.958 16.996-4.688 23.564-11.122l339.36-280.718c10.326-7.23 17.094-19.2 17.094-32.762v-450.918c0.002-15.254-8.54-28.506-21.102-35.254zM207.984 208.212c36.292-18.168 77.668-32.854 123.356-43.722 57.062-13.576 117.884-20.458 180.778-20.458s123.714 6.882 180.778 20.458c30.186 7.182 58.474 16.040 84.674 26.456l-490.846 490.848-78.738-65.070v-408.512zM511.742 867.75l-163.078-134.77 467.586-467.584v350.69l-304.508 251.664z",beaker:"M848.64 790.56l-208.638-361.374v-252.062h24c22.092 0 40-17.908 40-40s-17.908-40-40-40h-304.002c-22.092 0-40 17.908-40 40s17.908 40 40 40h24v252.066l-208.636 361.37c-44 76.208-8 138.564 80 138.564h513.278c87.998 0 123.998-62.354 79.998-138.564zM464 177.124h96.002l-0.070 273.376 63.872 110.628h-223.678c35.932-62.268 63.872-110.684 63.876-110.692v-273.312zM768.64 849.124h-513.278c-8.28 0-14.186-0.976-17.968-2 1.004-3.792 3.112-9.394 7.25-16.564 0 0 54.598-94.614 109.316-189.436l316.026-0.002 109.374 189.44c4.138 7.168 6.246 12.77 7.25 16.562-3.784 1.024-9.69 2-17.97 2z",thumbsup:"M256.972 768.004c0-8.67-3.156-16.158-9.484-22.534-6.332-6.34-13.836-9.484-22.504-9.458-8.682 0-16.188 3.172-22.516 9.458-6.33 6.344-9.488 13.84-9.488 22.534 0 8.692 3.158 16.186 9.488 22.532 6.328 6.286 13.834 9.458 22.516 9.458 8.668 0.028 16.172-3.118 22.504-9.458 6.328-6.376 9.484-13.868 9.484-22.532zM832.948 480.010c0-17.004-6.478-31.908-19.468-44.734-13.014-12.82-27.834-19.25-44.512-19.276h-175.97c0-19.328 7.98-45.904 24.004-79.724 15.968-33.826 23.978-60.568 23.978-80.256 0-32.646-5.332-56.808-15.994-72.48-10.664-15.664-31.988-23.484-63.98-23.484-8.696 8.64-15.012 22.828-19.032 42.486-4.020 19.69-9.102 40.606-15.254 62.752-6.168 22.172-16.080 40.382-29.762 54.738-7.344 7.68-20.168 22.832-38.5 45.496-1.326 1.67-5.164 6.65-11.512 15.010-6.342 8.342-11.594 15.178-15.762 20.508-4.156 5.308-9.91 12.386-17.252 21.218-7.328 8.862-14 16.186-19.988 22.038-5.986 5.794-12.412 11.73-19.26 17.744-6.852 5.984-13.508 10.5-19.99 13.48-6.478 3.010-12.4 4.484-17.756 4.512h-15.982v320.010h15.982c4.332 0 9.596 0.492 15.774 1.504 6.168 1.012 11.676 2.080 16.488 3.258 4.812 1.144 11.154 2.98 19.002 5.466 7.862 2.512 13.702 4.424 17.502 5.74 3.812 1.31 9.732 3.422 17.756 6.238 8.026 2.842 12.866 4.586 14.506 5.272 70.324 24.334 127.304 36.504 170.996 36.504h60.482c64.006 0 96.024-27.836 96.024-83.478 0-8.664-0.848-18.016-2.514-27.996 10.004-5.334 17.936-14.084 23.758-26.276 5.824-12.172 8.724-24.416 8.778-36.746 0-12.366-3.008-23.844-9.024-34.51 17.664-16.682 26.524-36.496 26.524-59.496 0-8.308-1.696-17.554-5.032-27.72-3.336-10.202-7.492-18.104-12.468-23.762 10.636-0.328 19.55-8.15 26.714-23.486 7.192-15.34 10.744-28.82 10.744-40.496v-0.054zM896.984 479.516c0 29.638-8.204 56.816-24.5 81.506 2.98 10.994 4.484 22.476 4.484 34.482 0 25.674-6.344 49.68-19.004 71.99 1.012 7 1.506 14.164 1.506 21.488 0 33.688-10.008 63.354-29.968 89.026 0.326 46.32-13.834 82.904-42.518 109.756-28.682 26.848-66.522 40.246-113.496 40.246h-64.528c-31.99 0-63.542-3.746-94.742-11.268-31.168-7.492-67.246-18.402-108.23-32.758-38.662-13.312-61.656-19.956-68.984-19.956h-143.996c-17.664 0-32.742-6.292-45.252-18.784-12.508-12.5-18.756-27.588-18.756-45.254v-319.982c0-17.666 6.248-32.728 18.756-45.226 12.51-12.52 27.588-18.784 45.252-18.784h136.998c12.002-8.010 34.818-33.822 68.478-77.484 19.33-24.99 37.168-46.344 53.508-64.008 7.996-8.314 13.918-22.586 17.744-42.766 3.828-20.178 8.912-41.232 15.256-63.24 6.36-21.984 16.68-40.002 30.994-53.998 13.002-12.362 28.012-18.514 45.018-18.514 27.998 0 53.152 5.414 75.464 16.242 22.31 10.828 39.316 27.748 50.964 50.77 11.704 23.002 17.5 53.978 17.5 92.962 0 31.008-7.984 63-23.98 96.028h88.014c34.67 0 64.634 12.628 89.956 37.98 25.346 25.346 38.008 55.144 38.008 89.49l0.054 0.056z",mirror:"M857 127.778h-688c-22.092 0-40 17.91-40 40v688c0 22.090 17.908 40 40 40h688c22.094 0 40-17.91 40-40v-688c0-22.092-17.906-40-40-40zM817 815.778h-608v-1.086l606.914-606.914h1.086v608z",switchalt:"M923.946 63.418h-631.232c-20.268 0-36.7 16.432-36.7 36.7v155.286h-155.284c-20.268 0-36.7 16.432-36.7 36.7v631.23c0 20.268 16.43 36.7 36.7 36.7h631.23c20.272 0 36.7-16.432 36.7-36.7v-155.286h155.286c20.272 0 36.7-16.432 36.7-36.7v-631.23c-0.002-20.268-16.43-36.7-36.7-36.7zM688.66 880.032h-544.628v-544.628h111.984v395.946c0 20.268 16.43 36.7 36.7 36.7h395.944v111.982zM688.66 688.046h-352.644v-352.644h352.644v352.644zM880.644 688.046h-111.984v-395.946c0-20.268-16.428-36.7-36.7-36.7h-395.944v-111.984h544.628v544.63z",commit:"M984.032 472h-186.808c-19.474-140.12-139.74-248-285.222-248s-265.748 107.88-285.222 248h-186.746c-22.092 0-40 17.912-40 40.002 0 22.092 17.91 40 40 40h186.746c19.476 140.122 139.74 247.998 285.222 247.998s265.746-107.876 285.222-247.998h186.808c22.092 0 40-17.91 40-40s-17.908-40.002-40-40.002zM512 720c-114.692 0-208-93.308-208-208s93.308-208 208-208 208 93.308 208 208-93.308 208-208 208z",branch:"M861.968 312.032c0-66.168-53.832-120-120-120s-120 53.832-120 120c0 50.55 31.436 93.87 75.77 111.516-5.384 20.352-15.71 39.68-29.844 54.92-28.828 31.092-72.202 46.858-128.91 46.858-77.162 0-129.12 26.162-162.984 55.12V297.15c46.556-16.512 80-60.974 80-113.12 0-66.168-53.832-120-120-120s-120 53.832-120 120c0 52.146 33.444 96.608 80 113.12v429.762c-46.556 16.512-80 60.974-80 113.12 0 66.168 53.832 120 120 120s120-53.832 120-120c0-50.926-31.902-94.514-76.758-111.908 5.222-26.17 16.578-51.154 32.558-70.432 28.8-34.746 71.592-52.364 127.184-52.364 99.498 0 156.922-39.408 187.574-72.466 27.402-29.554 45.708-67.194 52.48-106.716 48.078-15.66 82.93-60.882 82.93-114.114zM336 144.032c22.056 0 40 17.944 40 40s-17.944 40-40 40-40-17.944-40-40 17.944-40 40-40zm0 736c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40zm405.968-528c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.942 40-40 40z",merge:"M776.306 456.032c-51.602 0-95.696 32.744-112.612 78.542-69.674-6.072-141.482-31.012-197.386-69.306-46.266-31.69-100.392-85.728-111.792-168.92 45.4-17.12 77.79-60.998 77.79-112.314 0-66.168-53.832-120-120-120s-120 53.832-120 120c0 52.146 33.444 96.608 80 113.12v429.762c-46.556 16.512-80 60.974-80 113.12 0 66.168 53.832 120 120 120s120-53.832 120-120c0-52.146-33.444-96.608-80-113.12V471.444c19.622 21.888 42.618 41.898 68.792 59.828 68.422 46.868 156.64 77.042 241.646 83.462 16.14 47.23 60.932 81.3 113.56 81.3 66.168 0 120-53.832 120-120s-53.83-120.002-119.998-120.002zm-464-312c22.056 0 40 17.944 40 40s-17.944 40-40 40-40-17.944-40-40 17.942-40 40-40zm0 736c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40zm464-264c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z",pullrequest:"M631 157c104 1 171 52 171 166v397a123 123 0 1 1-82 0V323c0-63-27-83-90-84h-24l22 23a41 41 0 1 1-58 58l-93-93a41 41 0 0 1 1-58l93-93a41 41 0 1 1 58 58l-23 23h25zM222 314a123 123 0 1 1 82 0v406a123 123 0 1 1-82 0V314zm41 564a41 41 0 1 0 0-82 41 41 0 0 0 0 82zm0-639a41 41 0 1 0 0-83 41 41 0 0 0 0 83zm498 639a41 41 0 1 0 0-82 41 41 0 0 0 0 82z",chromatic:"M512 0a512 512 0 110 1024A512 512 0 01512 0zM368 452v284a144 144 0 00274 59c-10-4-20-8-29-14l-111-64c-6-3-10-10-10-16V523l-124-71zm454 89c-8 7-17 13-26 18L551 701l81 46 1 1a144 144 0 00189-207zm-493-89l-81 47h-1a143 143 0 00-52 196 144 144 0 00137 71c-2-10-3-21-3-32V452zm375-195l-12 1c2 10 3 21 3 32v128c0 7-4 13-10 17l-154 88v144l245-142 2-1a144 144 0 00-74-267zm-384 0c-51 0-99 28-125 72-28 49-25 109 7 154 8-7 17-13 26-18l111-64a20 20 0 0120 0l153 88 124-71-244-141-1-1c-22-12-46-19-71-19zm192-111c-57 0-107 33-130 83 10 4 19 8 29 14l245 141v-96c-2-79-66-142-144-142z",twitter:"M960 233.114c-32.946 14.616-68.41 24.5-105.598 28.942 37.954-22.762 67.098-58.774 80.856-101.688-35.52 21.054-74.894 36.368-116.726 44.598-33.542-35.724-81.316-58.038-134.204-58.038-101.496 0-183.796 82.292-183.796 183.814 0 14.424 1.628 28.45 4.758 41.89-152.75-7.668-288.22-80.872-378.876-192.072-15.822 27.15-24.898 58.706-24.898 92.42 0 63.776 32.458 120.034 81.782 153.010-30.116-0.944-58.458-9.212-83.262-22.982-0.028 0.75-0.028 1.546-0.028 2.324 0 89.070 63.356 163.334 147.438 180.256-15.426 4.186-31.664 6.426-48.442 6.426-11.836 0-23.35-1.146-34.574-3.28 23.406 73.006 91.286 126.16 171.726 127.632-62.914 49.324-142.18 78.696-228.314 78.696-14.828 0-29.448-0.876-43.842-2.568 81.33 52.138 177.96 82.574 281.786 82.574 338.11 0 523-280.104 523-523.014 0-7.986-0.164-15.914-0.542-23.778 35.952-25.96 67.124-58.318 91.756-95.162z",google:"M799.094 79.996c0 0-200.938 0-267.936 0-120.126 0-233.188 91.004-233.188 196.434 0 107.692 81.904 194.624 204.124 194.624 8.496 0 16.75-0.148 24.812-0.74-7.942 15.186-13.594 32.286-13.594 50.022 0 29.974 16.094 54.226 36.466 74.042-15.376 0-30.248 0.438-46.438 0.438-148.782 0.036-263.312 94.784-263.312 193.056 0 96.758 125.534 157.312 274.312 157.312 169.656 0 263.312-96.25 263.312-193.024 0-77.6-22.908-124.062-93.686-174.156-24.216-17.128-70.534-58.812-70.534-83.32 0-28.69 8.19-42.868 51.406-76.624 44.346-34.63 75.688-83.302 75.688-139.944 0-67.372-30-133.058-86.374-154.746h85l59.942-43.374zM701.504 735.438c2.092 8.992 3.276 18.226 3.276 27.624 0 78.226-50.374 139.304-194.934 139.304-102.874 0-177.124-65.078-177.124-143.304 0-76.622 92.122-140.434 194.934-139.32 24.004 0.254 46.376 4.136 66.69 10.702 55.812 38.834 95.874 60.808 107.158 104.994zM536.844 443.782c-69-2.094-134.624-77.212-146.564-167.876-11.874-90.664 34.378-160.030 103.442-157.97 68.996 2.060 134.594 74.818 146.53 165.432 11.906 90.696-34.408 162.508-103.408 160.414z",gdrive:"M465.926 641.356l-149.328 258.708h494.074l149.328-258.708h-494.074zM917.704 567.988l-256.33-444.048h-298.686l256.356 444.048h298.66zM320.236 197.442l-256.236 443.914 149.36 258.708 256.23-443.914-149.354-258.708z",youtube:"M704.010 511.988c0-12.332-5.038-21.358-15.042-26.992l-255.982-159.99c-10.344-6.666-21.178-6.998-32.51-1.008-10.988 5.984-16.492 15.312-16.492 28.002v320c0 12.69 5.504 22.018 16.492 28.002 5.332 2.678 10.516 3.996 15.506 3.996 6.668 0 12.334-1.644 17.004-4.98l255.982-160.014c10.004-5.69 15.042-14.684 15.042-26.992v-0.024zM960 511.988c0 31.99-0.164 56.98-0.488 75.032-0.334 17.99-1.754 40.738-4.27 68.25-2.516 27.504-6.262 52.058-11.27 73.742-5.332 24.338-16.84 44.85-34.504 61.496-17.64 16.63-38.306 26.308-61.96 28.988-73.992 8.342-185.824 12.526-335.508 12.526-149.668 0-261.5-4.184-335.5-12.526-23.662-2.656-44.414-12.302-62.242-28.988-17.834-16.678-29.412-37.182-34.744-61.496-4.672-21.684-8.258-46.238-10.756-73.742-2.508-27.512-3.928-50.26-4.254-68.25-0.342-18.050-0.504-43.042-0.504-75.032 0-31.998 0.162-57.010 0.504-75.008 0.326-18.022 1.746-40.768 4.254-68.28 2.498-27.474 6.262-52.082 11.252-73.744 5.34-24.336 16.842-44.842 34.504-61.496 17.648-16.654 38.324-26.332 61.986-29.010 74-8.312 185.832-12.472 335.5-12.472 149.684 0 261.516 4.16 335.508 12.472 23.654 2.678 44.406 12.356 62.232 29.010 17.826 16.678 29.422 37.16 34.73 61.496 4.702 21.662 8.256 46.27 10.772 73.744 2.516 27.512 3.936 50.258 4.27 68.28 0.324 17.998 0.488 43.010 0.488 75.008z",facebook:"M582.52 960h-167.88v-448h-112v-154.396l112-0.052-0.166-90.948c-0.036-125.974 34.12-202.604 182.484-202.604h123.542v154.424h-77.19c-57.782 0-60.566 21.56-60.566 61.85l-0.218 77.278h138.854l-16.376 154.394-122.36 0.052-0.124 448.002z",medium:"M0 0v1024h1024v-1024h-1024zM850.708 242.614l-54.918 52.655c-3.858 2.965-6.321 7.581-6.321 12.772 0 0.933 0.080 1.847 0.232 2.736l-0.014-0.095v386.883c-0.139 0.794-0.219 1.708-0.219 2.641 0 5.191 2.462 9.807 6.283 12.744l0.038 0.028 53.637 52.655v11.558h-269.774v-11.558l55.559-53.936c5.461-5.456 5.461-7.068 5.461-15.413v-312.719l-154.477 392.344h-20.874l-179.851-392.344v262.947c-0.209 1.465-0.329 3.156-0.329 4.875 0 9.848 3.924 18.78 10.293 25.317l-0.008-0.008 72.258 87.649v11.558h-204.895v-11.558l72.263-87.649c6.070-6.284 9.81-14.852 9.81-24.293 0-2.081-0.182-4.12-0.53-6.101l0.031 0.21v-304.044c0.086-0.804 0.135-1.737 0.135-2.682 0-7.844-3.389-14.896-8.782-19.773l-0.023-0.021-64.234-77.378v-11.558h199.438l154.157 338.083 135.53-338.083h190.123v11.558z",graphql:"M576 849a85 85 0 0 0-125-2L253 733l1-3h517l2 5-197 114zM451 177l2 2-258 448-3-1V398a85 85 0 0 0 61-107l198-114zm321 114a85 85 0 0 0 61 107v228l-3 1-258-448 2-2 198 114zM254 689a85 85 0 0 0-24-42l259-447a86 86 0 0 0 47 0l259 448a85 85 0 0 0-24 41H254zm643-54c-7-4-15-7-23-9V398a86 86 0 1 0-82-142L595 142a85 85 0 1 0-165 0L233 256a85 85 0 1 0-82 142v228a85 85 0 1 0 82 142l197 114a85 85 0 1 0 164-2l196-114a86 86 0 1 0 107-131z",redux:"M359.016 943.608c-23.82 5.948-47.642 8.322-71.512 8.322-88.208 0-168.084-36.982-207.444-96.534-52.432-79.882-70.296-249.182 102.538-374.356 3.586 19.078 10.746 45.292 15.492 60.834-22.656 16.652-58.39 50.064-81.046 95.324-32.19 63.184-28.61 126.404 9.54 184.798 26.194 39.304 67.926 63.176 121.564 70.34 65.598 8.332 131.154-3.582 194.332-36.94 92.998-48.898 155.014-107.282 195.49-187.162-10.702-10.75-17.818-26.248-19.074-44.15-1.168-36.942 27.45-67.922 64.388-69.132h2.418c35.73 0 65.55 28.61 66.714 64.384 1.206 35.73-24.986 65.546-59.548 69.132-65.6 134.686-181.254 225.312-333.852 255.14zM902.646 540.622c-90.59-106.072-224.11-164.488-376.708-164.488h-19.072c-10.744-21.444-33.402-35.752-58.388-35.752h-2.418c-36.944 1.186-65.548 32.192-64.392 69.13 1.216 35.774 30.99 64.394 66.81 64.394h2.328c26.242-1.208 48.894-17.892 58.434-40.542h21.45c90.624 0 176.46 26.234 253.968 77.482 59.55 39.36 102.49 90.576 126.356 152.596 20.24 50.052 19.074 98.952-2.42 140.64-33.356 63.228-89.37 97.794-163.292 97.794-47.69 0-92.998-14.33-116.822-25.082-13.118 11.958-36.984 31.028-53.64 42.944 51.226 23.87 103.7 36.94 153.762 36.94 114.446 0 199.070-63.132 231.268-126.362 34.562-69.13 32.188-188.326-57.224-289.694zM297.046 708.706c1.21 35.828 30.984 64.394 66.764 64.394h2.368c36.992-1.168 65.556-32.15 64.39-69.132-1.162-35.732-30.984-64.394-66.758-64.394h-2.376c-2.418 0-5.958 0-8.332 1.208-48.89-81.090-69.132-169.27-62.014-264.648 4.792-71.528 28.616-133.516 70.346-184.766 34.568-44.106 101.326-65.57 146.598-66.758 126.402-2.396 180.044 154.968 183.576 218.144 15.542 3.584 41.734 11.936 59.644 17.892-14.328-193.118-133.526-293.266-247.97-293.266-107.28 0-206.236 77.484-245.552 191.932-54.848 152.596-19.070 299.212 47.644 414.826-5.912 8.374-9.494 21.498-8.328 34.568z",github:"M214.6 809.4A417.8 417.8 0 0191.4 512c0-112.3 43.8-218 123.2-297.4A417.8 417.8 0 01512 91.4c112.3 0 218 43.8 297.4 123.2A417.8 417.8 0 01932.6 512c0 112.3-43.8 218-123.2 297.4-49 49-108 84.3-172.2 104.3v-74.4c0-39.5-13.6-68.6-40.7-87.2a354 354 0 0091.9-19.6c15.8-5.6 30-12.2 42.6-19.9a177.8 177.8 0 0036.3-29.8 175 175 0 0029.1-41.7 228 228 0 0018.6-55.9c4.6-21.7 6.9-45.6 6.9-71.7 0-50.7-16.5-93.8-49.5-129.4 15-39.2 13.4-81.8-4.9-127.9l-12.2-1.4c-8.5-1-23.8 2.6-45.8 10.8-22 8.1-46.8 21.5-74.3 40.1a450.9 450.9 0 00-121-16.1 442 442 0 00-120.5 16.1 419.6 419.6 0 00-49.3-29.1c-15.5-7.7-27.9-13-37.2-15.7a127.6 127.6 0 00-41.4-5.6c-2.3.3-4 .6-4.9 1-18.3 46.3-20 89-4.9 127.8a183.5 183.5 0 00-49.5 129.4c0 26.1 2.3 50 6.9 71.7a228.3 228.3 0 0018.6 56 175 175 0 0029.1 41.6 177.9 177.9 0 0036.3 29.8 223.4 223.4 0 0042.6 19.9A353.2 353.2 0 00432 752c-26.8 18.3-40.2 47.3-40.2 87.2v75.9a418.4 418.4 0 01-177-105.8M512 0a512 512 0 100 1024A512 512 0 00512 0",bitbucket:"M362.3 395l53 276.5h195.4l34-198.4h283l-74.4 457a30 30 0 01-29.7 25.3H210.7a41 41 0 01-40-34.2l-127.6-775a30 30 0 0130-34.9l877.8.2a30 30 0 0130 34.8L940.5 395H362.3z",gitlab:"M186.9 75a18.7 18.7 0 0135.6 0l108.8 333.4h361.4L512 961.8 331.3 408.4H78.1zM78.1 408.5L512 961.8 36.8 618.2a37.1 37.1 0 01-13.6-41.6L78 408.4zm867.8 0l55 168.2c5 15.3-.5 32.1-13.7 41.6L512 961.8l434-553.4zM837.1 75l108.8 333.3H692.7L801.5 75a18.7 18.7 0 0135.6 0z",azuredevops:"M0,378.6 L95.8,252 L454.4,106.2 L454.4,1 L768.8,231 L126.6,355.8 L126.6,706.8 L0,670.2 L0,378.6 Z M1024,188.8 L1024,814 L778.6,1023 L381.8,892.6 L381.8,1023 L126.6,706.6 L769,783.2 L769,231 L1024,188.8 Z",discord:"M371 147c-14 0-126 3-245 91 0 0-126 227-126 507 0 0 74 126 268 132l58-71c-111-34-153-103-153-103l24 15 4 2 8 4a668 668 0 0 0 420 68 629 629 0 0 0 228-89s-44 71-159 103l58 71c194-7 268-133 268-132 0-280-126-507-126-507-126-94-246-91-246-91l-12 14a576 576 0 0 1 218 110 729 729 0 0 0-441-81l-15 1c-31 4-105 14-199 56-33 14-52 24-52 24s72-69 230-114l-9-10h-1zm-23 323c50 0 91 43 90 97 0 53-40 96-90 96-49 0-89-43-89-96 0-54 39-97 89-97zm321 0c49 0 89 43 89 97 0 53-39 96-89 96s-90-43-90-96c0-54 40-97 90-97z",contrast:"M368 713h79l266-266v-79L368 713zm192 0h153V560L560 713zm98-402h-79L311 579v79l347-347zm-192 0H311v155l155-155zm467 402V91H311v128h452c23 0 42 19 42 42v452h128zM713 933V805H261c-23 0-42-19-42-42V311H91v622h622zM982 0c23 0 42 19 42 42v721c0 23-19 42-42 42H805v177c0 23-19 42-42 42H42c-23 0-42-19-42-42V261c0-23 19-42 42-42h177V42c0-23 19-42 42-42h721z",unfold:"M512 645l8 1c21 4 37 22 37 44v181l52-52 6-6a45 45 0 0 1 58 69l-129 129-7 5a45 45 0 0 1-57-5L351 882l-5-6a45 45 0 0 1 5-57l7-6c17-12 41-10 57 6l52 52V690l1-8c4-21 22-37 44-37zM337 275a45 45 0 1 1 0 90H229l91 102h382l91-102H685a45 45 0 1 1 0-90h208c39 0 59 46 34 75L782 512l145 162c25 29 5 75-34 75H685a45 45 0 1 1 0-90h108l-91-102H320l-91 102h108a45 45 0 1 1 0 90H129c-38 0-59-46-33-75l144-162L96 350c-24-27-8-69 26-74l7-1h208zM537 8l7 6 129 129a45 45 0 0 1-58 68l-6-5-52-52v181c0 22-16 40-37 44h-8c-22 0-40-15-44-36l-1-8V153l-52 53a45 45 0 0 1-57 5l-7-5a45 45 0 0 1-5-57l5-6L480 14c16-16 40-18 57-6z",sharealt:"M130 85h332a45 45 0 0 1 8 89l-8 1H175v674h674V557a45 45 0 0 1 89-8l1 8v337c0 22-16 40-37 44l-8 1H130c-22 0-40-16-44-37l-1-8V130c0-22 16-40 37-44l8-1h332-332zm555 0h210l5 1-6-1a45 45 0 0 1 32 13l-5-4 3 3 2 1a46 46 0 0 1 12 24v2l1 5v209a45 45 0 0 1-89 8l-1-8V238L544 544a45 45 0 0 1-57 5l-7-5a45 45 0 0 1 0-64l306-305H685a45 45 0 0 1-8-89l8-1h209-209z",accessibility:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm0 89.6a422.4 422.4 0 100 844.8 422.4 422.4 0 000-844.8zm262.2 250a40.9 40.9 0 01-27.5 49.3l-169.1 50.7c-8.2 2.7-15.1 11-13.7 20.5 1.3 27.4 1.5 76.5 7 98.4 12.9 59 82.4 214.4 91 233.6a56 56 0 014.9 19 40 40 0 01-40 40c-18 0-30.3-12.7-38.2-28.4A34096 34096 0 01510.9 664l-77.7 165.7-1.3 2.1a40 40 0 01-69.3-39.7c8.6-19 78-174.5 90.8-233.6 5.5-21.9 6-71 7.3-98.4a21 21 0 00-13.7-20.5l-169.1-50.7a40.7 40.7 0 01-27.5-50.7c6.9-20.5 30.2-30.1 50.9-24.6 0 0 154.6 49.3 209.6 49.3s213.8-50.7 213.8-50.7c20.6-5.5 44 6.8 49.5 27.4zm-264-171.2a76.7 76.7 0 110 153.4c-42.6 0-77-34.2-77-76.7 0-41 34.4-76.7 77-76.7z",accessibilityalt:"M512 0a512 512 0 110 1024A512 512 0 01512 0zm262.2 339.6c-5.5-20.6-28.9-32.9-49.5-27.4 0 0-158.8 50.7-213.8 50.7s-209.6-49.3-209.6-49.3c-20.7-5.5-44 4-51 24.6A40.7 40.7 0 00278 389l169 50.7a21 21 0 0113.8 20.5c-1.3 27.4-1.8 76.5-7.3 98.4-12.9 59.1-82.2 214.5-90.8 233.6a40 40 0 1070.6 37.5L511 664a34096 34096 0 0077.7 158.7c7.9 15.7 20.2 28.4 38.2 28.4a40 40 0 0040-40 56 56 0 00-4.8-19c-8.7-19.2-78.2-174.5-91.1-233.6-5.5-21.9-5.7-71-7-98.4-1.4-9.6 5.5-17.8 13.7-20.5l169.1-50.7a40.9 40.9 0 0027.5-49.3zm-264-171.2c-42.6 0-77 35.6-77 76.7a76.7 76.7 0 0077 76.7 76.7 76.7 0 100-153.4z",markup:"M1010.6 479.7L736.4 205.4a45.7 45.7 0 10-64.7 64.6l242 242L671.7 754a45.7 45.7 0 1064.7 64.6l274.1-274.2a45.6 45.6 0 000-64.6M0 511.9c0-11.7 4.5-23.4 13.4-32.3l274.1-274.2a45.7 45.7 0 1164.7 64.6L110.4 512l241.9 241.9a45.7 45.7 0 01-64.7 64.6L13.4 544.2C4.4 535.3 0 523.6 0 512",outline:"M180.1 714.3V844h129.6v94.8h-180c-24.2 0-44-19.5-44.4-43.7V714.3h94.8zM619.3 844v94.8H404.7v-94.8h214.6zm319.4-129.6v180c0 24.2-19.5 44-43.7 44.4H714.3v-94.8H844V714.3h94.8zm0-309.6v214.6h-94.8V404.7h94.8zm-758.6 0v214.6H85.3V404.7h94.8zm331.9 34a73.2 73.2 0 110 146.4 73.2 73.2 0 010-146.3zM894.2 85.4c24.3 0 44 19.5 44.5 43.7V309.7h-94.8V180H714.3V85.3h180zm-584.5 0v94.8H180v129.6H85.3v-180c0-24.2 19.5-44 43.7-44.4H309.7zm309.6 0v94.8H404.7V85.3h214.6z",verified:"M719 66l30 56c12 23 35 40 61 44l62 11c45 8 76 51 70 96l-9 63c-4 26 5 52 23 71l44 46c32 33 32 85 0 118l-44 46a85 85 0 00-23 71l9 63c6 45-25 88-70 96l-62 11c-26 4-49 21-61 44l-30 56a85 85 0 01-113 36l-57-27a85 85 0 00-74 0l-57 27c-42 21-92 4-113-36l-30-56a85 85 0 00-61-44l-62-11c-45-8-76-51-70-96l9-63c4-26-5-52-23-71l-44-46a85 85 0 010-118l44-46c18-19 27-45 23-71l-9-63c-6-45 25-88 70-96l62-11c26-4 49-21 61-44l30-56c21-40 71-57 113-36l57 27c23 12 51 12 74 0l57-27c42-21 92-4 113 36zm70 258a46 46 0 00-59 5L437 622 294 480l-6-5a46 46 0 00-59 69l175 175 6 5c18 13 43 11 59-5l326-325 4-6c13-18 12-43-4-59z",comment:"M936 85l6 1c22 3 39 21 39 44v709c0 8-2 15-5 21l-2 4c-9 12-23 20-38 20H427l-131 127c-9 9-21 13-34 13-25 0-46-20-46-45v-95H88c-25 0-45-20-45-45V130a45 45 0 0145-45zm-46 89H134v620h756V174zM768 544c25 0 46 20 46 44 0 25-21 45-46 45H256c-25 0-46-20-46-45 0-24 21-44 46-44zm0-208c25 0 46 20 46 44 0 25-21 45-46 45H256c-25 0-46-20-46-45 0-24 21-44 46-44z",commentadd:"M937 85l6 1c23 3 40 21 40 44v711c0 7-2 14-5 21l-3 4c-8 12-22 19-38 19H428l-131 128c-9 9-22 13-35 13-25 0-45-20-45-45v-96H89c-26 0-46-20-46-44V130a45 45 0 0146-45zm-45 90H134v621h758V175zm-379 97c22 0 40 18 40 40v134h132a40 40 0 010 81H553v132a40 40 0 11-80 0V527H341a40 40 0 110-81h132V312c0-22 18-40 40-40z",requestchange:"M937 85l6 1c23 3 40 21 40 44v711c0 7-2 14-5 21l-3 4c-8 12-22 19-38 19H428l-131 128c-9 9-22 13-35 13-25 0-45-20-45-45v-96H89c-26 0-46-20-46-44V130a45 45 0 0146-45zm-45 90H134v621h758V175zM585 310c18-18 47-18 65 0l143 144c18 17 18 46 0 64L650 661a46 46 0 01-65 0 46 46 0 010-65l65-64H266a46 46 0 110-92h384l-65-65a46 46 0 010-65z",comments:"M978.3 92.2a45 45 0 0145.7 44.6v535.6a45.2 45.2 0 01-45.7 44.6h-125v122c0 7.7-2 14.8-5.5 21.3l-2.3 3.7a46.1 46.1 0 01-38 19.6H298.8L168 1011a47 47 0 01-34.3 13.1c-25.2 0-45.7-20-45.7-44.6v-95.8H45.7c-25.2 0-45.7-20-45.7-44.5V303.4A45 45 0 0145.7 259h125v-122a45 45 0 0139.8-44.3c1.3-.1 257.2-.3 767.8-.4zM761.9 348H91.4v446.5H762V348zm-125 264c25.3 0 45.8 20 45.8 44.6A45.2 45.2 0 01637 701H216.4c-25.3 0-45.7-20-45.7-44.5a45.2 45.2 0 0145.7-44.6H637zm295.7-430.7H262V259h505.1l46.3.4a45 45 0 0139.8 44.2v324.3h79.3V181.3zM637 441.3c25.2 0 45.7 20 45.7 44.6a45.2 45.2 0 01-45.7 44.6H216.4c-25.3 0-45.7-20-45.7-44.6a45.2 45.2 0 0145.7-44.5H637z",ruler:"M83 110c-22 0-40 18-40 40v176a40 40 0 0080 0v-49h778v49a40 40 0 0080 0V150a40 40 0 10-80 0v49H123v-49c0-22-18-40-40-40zm40 458v266h778V568h-63v115a40 40 0 11-80 0V568h-63v46a40 40 0 11-80 0v-46h-63v115a40 40 0 11-80 0V568h-63v46a40 40 0 11-80 0v-46h-63v115a40 40 0 11-80 0V568h-63zm103-80h691c36 0 64 28 64 64v298c0 36-28 64-64 64H107c-36 0-64-28-64-64V552c0-36 28-64 64-64h119z"},Svg=esm.styled.svg({shapeRendering:"inherit",transform:"translate3d(0,0,0)"},(function(_ref){return _ref.inline?{display:"inline-block"}:{display:"block"}}));function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}Svg.displayName="Svg";var Path=esm.styled.path({fill:"currentColor"}),Icons=react_default.a.memo((function(_ref){var icon=_ref.icon,symbol=_ref.symbol,props=_objectWithoutProperties(_ref,["icon","symbol"]);return react_default.a.createElement(Svg,_extends({viewBox:"0 0 1024 1024"},props),symbol?react_default.a.createElement("use",{xlinkHref:"#icon--".concat(symbol)}):react_default.a.createElement(Path,{d:icon_icons[icon]}))}))},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),$filter=__webpack_require__(123).filter;$({target:"Array",proto:!0,forced:!__webpack_require__(167)("filter")},{filter:function filter(callbackfn){return $filter(this,callbackfn,arguments.length>1?arguments[1]:void 0)}})},function(module,exports,__webpack_require__){var global=__webpack_require__(34),DOMIterables=__webpack_require__(373),forEach=__webpack_require__(713),createNonEnumerableProperty=__webpack_require__(93);for(var COLLECTION_NAME in DOMIterables){var Collection=global[COLLECTION_NAME],CollectionPrototype=Collection&&Collection.prototype;if(CollectionPrototype&&CollectionPrototype.forEach!==forEach)try{createNonEnumerableProperty(CollectionPrototype,"forEach",forEach)}catch(error){CollectionPrototype.forEach=forEach}}},function(module,exports,__webpack_require__){"use strict";var keys=__webpack_require__(530),hasSymbols="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),toStr=Object.prototype.toString,concat=Array.prototype.concat,origDefineProperty=Object.defineProperty,supportsDescriptors=origDefineProperty&&function(){var obj={};try{for(var _ in origDefineProperty(obj,"x",{enumerable:!1,value:obj}),obj)return!1;return obj.x===obj}catch(e){return!1}}(),defineProperty=function(object,name,value,predicate){var fn;(!(name in object)||"function"==typeof(fn=predicate)&&"[object Function]"===toStr.call(fn)&&predicate())&&(supportsDescriptors?origDefineProperty(object,name,{configurable:!0,enumerable:!1,value:value,writable:!0}):object[name]=value)},defineProperties=function(object,map){var predicates=arguments.length>2?arguments[2]:{},props=keys(map);hasSymbols&&(props=concat.call(props,Object.getOwnPropertySymbols(map)));for(var i=0;i=nextSourcePosition&&(accumulatedResult+=S.slice(nextSourcePosition,position)+replacement,nextSourcePosition=position+matched.length)}return accumulatedResult+S.slice(nextSourcePosition)}]}),!!fails((function(){var re=/./;return re.exec=function(){var result=[];return result.groups={a:"7"},result},"7"!=="".replace(re,"$")}))||!REPLACE_KEEPS_$0||REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE)},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;!function(){"use strict";var hasOwn={}.hasOwnProperty;function classNames(){for(var classes=[],i=0;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var Wrapper=esm.styled.label((function(_ref){var theme=_ref.theme;return{display:"flex",borderBottom:"1px solid ".concat(theme.appBorderColor),margin:"0 15px",padding:"8px 0","&:last-child":{marginBottom:"3rem"}}})),Label=esm.styled.span((function(_ref2){return{minWidth:100,fontWeight:_ref2.theme.typography.weight.bold,marginRight:15,display:"flex",justifyContent:"flex-start",alignItems:"center",lineHeight:"16px"}})),field_Field=function Field(_ref3){var label=_ref3.label,children=_ref3.children,props=_objectWithoutProperties(_ref3,["label","children"]);return react_default.a.createElement(Wrapper,props,label?react_default.a.createElement(Label,null,react_default.a.createElement("span",null,label)):null,children)};field_Field.displayName="Field",field_Field.defaultProps={label:void 0};var esm_extends=__webpack_require__(17),objectWithoutPropertiesLoose=__webpack_require__(227),use_isomorphic_layout_effect_browser_esm=react.useLayoutEffect,use_latest_esm=function useLatest(value){var ref=Object(react.useRef)(value);return use_isomorphic_layout_effect_browser_esm((function(){ref.current=value})),ref},updateRef=function updateRef(ref,value){"function"!=typeof ref?ref.current=value:ref(value)},use_composed_ref_esm=function useComposedRef(libRef,userRef){var prevUserRef=Object(react.useRef)();return Object(react.useCallback)((function(instance){libRef.current=instance,prevUserRef.current&&updateRef(prevUserRef.current,null),prevUserRef.current=userRef,userRef&&updateRef(userRef,instance)}),[userRef])},HIDDEN_TEXTAREA_STYLE={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},forceHiddenStyles=function forceHiddenStyles(node){Object.keys(HIDDEN_TEXTAREA_STYLE).forEach((function(key){node.style.setProperty(key,HIDDEN_TEXTAREA_STYLE[key],"important")}))},hiddenTextarea=null;var noop=function noop(){},SIZING_STYLE=["borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","boxSizing","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textRendering","textTransform","width","wordBreak"],isIE=!!document.documentElement.currentStyle,react_textarea_autosize_browser_esm_TextareaAutosize=function TextareaAutosize(_ref,userRef){var cacheMeasurements=_ref.cacheMeasurements,maxRows=_ref.maxRows,minRows=_ref.minRows,_ref$onChange=_ref.onChange,onChange=void 0===_ref$onChange?noop:_ref$onChange,_ref$onHeightChange=_ref.onHeightChange,onHeightChange=void 0===_ref$onHeightChange?noop:_ref$onHeightChange,props=Object(objectWithoutPropertiesLoose.a)(_ref,["cacheMeasurements","maxRows","minRows","onChange","onHeightChange"]);var isControlled=void 0!==props.value,libRef=Object(react.useRef)(null),ref=use_composed_ref_esm(libRef,userRef),heightRef=Object(react.useRef)(0),measurementsCacheRef=Object(react.useRef)(),resizeTextarea=function resizeTextarea(){var node=libRef.current,nodeSizingData=cacheMeasurements&&measurementsCacheRef.current?measurementsCacheRef.current:function getSizingData(node){var style=window.getComputedStyle(node);if(null===style)return null;var sizingStyle=function pick(props,obj){return props.reduce((function(acc,prop){return acc[prop]=obj[prop],acc}),{})}(SIZING_STYLE,style),boxSizing=sizingStyle.boxSizing;return""===boxSizing?null:(isIE&&"border-box"===boxSizing&&(sizingStyle.width=parseFloat(sizingStyle.width)+parseFloat(sizingStyle.borderRightWidth)+parseFloat(sizingStyle.borderLeftWidth)+parseFloat(sizingStyle.paddingRight)+parseFloat(sizingStyle.paddingLeft)+"px"),{sizingStyle:sizingStyle,paddingSize:parseFloat(sizingStyle.paddingBottom)+parseFloat(sizingStyle.paddingTop),borderSize:parseFloat(sizingStyle.borderBottomWidth)+parseFloat(sizingStyle.borderTopWidth)})}(node);if(nodeSizingData){measurementsCacheRef.current=nodeSizingData;var _calculateNodeHeight=function calculateNodeHeight(sizingData,value,minRows,maxRows){void 0===minRows&&(minRows=1),void 0===maxRows&&(maxRows=1/0),hiddenTextarea||((hiddenTextarea=document.createElement("textarea")).setAttribute("tabindex","-1"),hiddenTextarea.setAttribute("aria-hidden","true"),forceHiddenStyles(hiddenTextarea)),null===hiddenTextarea.parentNode&&document.body.appendChild(hiddenTextarea);var paddingSize=sizingData.paddingSize,borderSize=sizingData.borderSize,sizingStyle=sizingData.sizingStyle,boxSizing=sizingStyle.boxSizing;Object.keys(sizingStyle).forEach((function(_key){var key=_key;hiddenTextarea.style[key]=sizingStyle[key]})),forceHiddenStyles(hiddenTextarea),hiddenTextarea.value=value;var height=function getHeight(node,sizingData){var height=node.scrollHeight;return"border-box"===sizingData.sizingStyle.boxSizing?height+sizingData.borderSize:height-sizingData.paddingSize}(hiddenTextarea,sizingData);hiddenTextarea.value="x";var rowHeight=hiddenTextarea.scrollHeight-paddingSize,minHeight=rowHeight*minRows;"border-box"===boxSizing&&(minHeight=minHeight+paddingSize+borderSize),height=Math.max(minHeight,height);var maxHeight=rowHeight*maxRows;return"border-box"===boxSizing&&(maxHeight=maxHeight+paddingSize+borderSize),[height=Math.min(maxHeight,height),rowHeight]}(nodeSizingData,node.value||node.placeholder||"x",minRows,maxRows),height=_calculateNodeHeight[0],rowHeight=_calculateNodeHeight[1];heightRef.current!==height&&(heightRef.current=height,node.style.setProperty("height",height+"px","important"),onHeightChange(height,{rowHeight:rowHeight}))}};return Object(react.useLayoutEffect)(resizeTextarea),function useWindowResizeListener(listener){var latestListener=use_latest_esm(listener);Object(react.useLayoutEffect)((function(){var handler=function handler(event){latestListener.current(event)};return window.addEventListener("resize",handler),function(){window.removeEventListener("resize",handler)}}),[])}(resizeTextarea),Object(react.createElement)("textarea",Object(esm_extends.a)({},props,{onChange:function handleChange(event){isControlled||resizeTextarea(),onChange(event)},ref:ref}))},react_textarea_autosize_browser_esm=Object(react.forwardRef)(react_textarea_autosize_browser_esm_TextareaAutosize),Button=__webpack_require__(228);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var styleResets={appearance:"none",border:"0 none",boxSizing:"inherit",display:" block",margin:" 0",background:"transparent",padding:0,fontSize:"inherit",position:"relative"},styles=function styles(_ref){var theme=_ref.theme;return Object.assign({},styleResets,{transition:"box-shadow 200ms ease-out, opacity 200ms ease-out",color:theme.input.color||"inherit",background:theme.input.background,boxShadow:"".concat(theme.input.border," 0 0 0 1px inset"),borderRadius:theme.input.borderRadius,fontSize:theme.typography.size.s2-1,lineHeight:"20px",padding:"6px 10px","&:focus":{boxShadow:"".concat(theme.color.secondary," 0 0 0 1px inset"),outline:"none"},"&[disabled]":{cursor:"not-allowed",opacity:.5},"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 3em ".concat(theme.color.lightest," inset")},"::placeholder":{color:theme.color.mediumdark}})},sizes=function sizes(_ref2){switch(_ref2.size){case"100%":return{width:"100%"};case"flex":return{flex:1};case"auto":default:return{display:"inline"}}},alignment=function alignment(_ref3){switch(_ref3.align){case"end":return{textAlign:"right"};case"center":return{textAlign:"center"};case"start":default:return{textAlign:"left"}}},validation=function validation(_ref4){var valid=_ref4.valid,theme=_ref4.theme;switch(valid){case"valid":return{boxShadow:"".concat(theme.color.positive," 0 0 0 1px inset !important")};case"error":return{boxShadow:"".concat(theme.color.negative," 0 0 0 1px inset !important")};case"warn":return{boxShadow:"".concat(theme.color.warning," 0 0 0 1px inset")};case void 0:case null:default:return{}}},Input=Object.assign(Object(esm.styled)(Object(react.forwardRef)((function(_ref5,ref){_ref5.size,_ref5.valid,_ref5.align;var props=input_objectWithoutProperties(_ref5,["size","valid","align"]);return react_default.a.createElement("input",_extends({},props,{ref:ref}))})))(styles,sizes,alignment,validation,{minHeight:32}),{displayName:"Input"}),Select=Object.assign(Object(esm.styled)(Object(react.forwardRef)((function(_ref6,ref){_ref6.size,_ref6.valid,_ref6.align;var props=input_objectWithoutProperties(_ref6,["size","valid","align"]);return react_default.a.createElement("select",_extends({},props,{ref:ref}))})))(styles,sizes,validation,{height:32,userSelect:"none",paddingRight:20,appearance:"menulist"}),{displayName:"Select"}),Textarea=Object.assign(Object(esm.styled)(Object(react.forwardRef)((function(_ref7,ref){_ref7.size,_ref7.valid,_ref7.align;var props=input_objectWithoutProperties(_ref7,["size","valid","align"]);return react_default.a.createElement(react_textarea_autosize_browser_esm,_extends({},props,{ref:ref}))})))(styles,sizes,alignment,validation,(function(_ref8){var _ref8$height=_ref8.height;return{overflow:"visible",maxHeight:void 0===_ref8$height?400:_ref8$height}})),{displayName:"Textarea"}),ButtonStyled=Object(esm.styled)(Object(react.forwardRef)((function(_ref9,ref){_ref9.size,_ref9.valid,_ref9.align;var props=input_objectWithoutProperties(_ref9,["size","valid","align"]);return react_default.a.createElement(Button.a,_extends({},props,{ref:ref}))})))(sizes,validation,{userSelect:"none",overflow:"visible",zIndex:2,"&:hover":{transform:"none"}}),input_Button=Object.assign(Object(react.forwardRef)((function(props,ref){return react_default.a.createElement(ButtonStyled,_extends({},props,{tertiary:!0,small:!0,inForm:!0,ref:ref}))})),{displayName:"Button"}),Form=Object.assign(esm.styled.form({boxSizing:"border-box",width:"100%"}),{Field:field_Field,Input:Input,Select:Select,Textarea:Textarea,Button:input_Button})},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),IndexedObject=__webpack_require__(161),toIndexedObject=__webpack_require__(83),arrayMethodIsStrict=__webpack_require__(210),nativeJoin=[].join,ES3_STRINGS=IndexedObject!=Object,STRICT_METHOD=arrayMethodIsStrict("join",",");$({target:"Array",proto:!0,forced:ES3_STRINGS||!STRICT_METHOD},{join:function join(separator){return nativeJoin.call(toIndexedObject(this),void 0===separator?",":separator)}})},function(module,exports,__webpack_require__){var fails=__webpack_require__(35);module.exports=!fails((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return ThemeContext})),__webpack_require__.d(__webpack_exports__,"e",(function(){return emotion_element_57a3a7a3_browser_esm_withEmotionCache})),__webpack_require__.d(__webpack_exports__,"c",(function(){return css_browser_esm})),__webpack_require__.d(__webpack_exports__,"a",(function(){return Global})),__webpack_require__.d(__webpack_exports__,"d",(function(){return core_browser_esm_keyframes}));var inheritsLoose=__webpack_require__(226),react=__webpack_require__(1);var StyleSheet=function(){function StyleSheet(options){this.isSpeedy=void 0===options.speedy||options.speedy,this.tags=[],this.ctr=0,this.nonce=options.nonce,this.key=options.key,this.container=options.container,this.before=null}var _proto=StyleSheet.prototype;return _proto.insert=function insert(rule){if(this.ctr%(this.isSpeedy?65e3:1)==0){var before,_tag=function createStyleElement(options){var tag=document.createElement("style");return tag.setAttribute("data-emotion",options.key),void 0!==options.nonce&&tag.setAttribute("nonce",options.nonce),tag.appendChild(document.createTextNode("")),tag}(this);before=0===this.tags.length?this.before:this.tags[this.tags.length-1].nextSibling,this.container.insertBefore(_tag,before),this.tags.push(_tag)}var tag=this.tags[this.tags.length-1];if(this.isSpeedy){var sheet=function sheetForTag(tag){if(tag.sheet)return tag.sheet;for(var i=0;iq)&&(t=(f=f.replace(" ",":")).length),0h&&(h=(c=c.trim()).charCodeAt(0)),h){case 38:return c.replace(F,"$1"+d.trim());case 58:return d.trim()+c.replace(F,"$1"+d.trim());default:if(0<1*e&&0b.charCodeAt(8))break;case 115:a=a.replace(b,"-webkit-"+b)+";"+a;break;case 207:case 102:a=a.replace(b,"-webkit-"+(102e.charCodeAt(0)&&(e=e.trim()),e=[e],0=51&&/native code/.test(PROMISE_CONSTRUCTOR_SOURCE))return!1;var promise=new PromiseConstructor((function(resolve){resolve(1)})),FakePromise=function(exec){exec((function(){}),(function(){}))};return(promise.constructor={})[SPECIES]=FakePromise,!(SUBCLASSING=promise.then((function(){}))instanceof FakePromise)||!GLOBAL_CORE_JS_PROMISE&&IS_BROWSER&&!NATIVE_REJECTION_EVENT})),INCORRECT_ITERATION=FORCED||!checkCorrectnessOfIteration((function(iterable){PromiseConstructor.all(iterable).catch((function(){}))})),isThenable=function(it){var then;return!(!isObject(it)||"function"!=typeof(then=it.then))&&then},notify=function(state,isReject){if(!state.notified){state.notified=!0;var chain=state.reactions;microtask((function(){for(var value=state.value,ok=1==state.state,index=0;chain.length>index;){var result,then,exited,reaction=chain[index++],handler=ok?reaction.ok:reaction.fail,resolve=reaction.resolve,reject=reaction.reject,domain=reaction.domain;try{handler?(ok||(2===state.rejection&&onHandleUnhandled(state),state.rejection=1),!0===handler?result=value:(domain&&domain.enter(),result=handler(value),domain&&(domain.exit(),exited=!0)),result===reaction.promise?reject(TypeError("Promise-chain cycle")):(then=isThenable(result))?then.call(result,resolve,reject):resolve(result)):reject(value)}catch(error){domain&&!exited&&domain.exit(),reject(error)}}state.reactions=[],state.notified=!1,isReject&&!state.rejection&&onUnhandled(state)}))}},dispatchEvent=function(name,promise,reason){var event,handler;DISPATCH_EVENT?((event=document.createEvent("Event")).promise=promise,event.reason=reason,event.initEvent(name,!1,!0),global.dispatchEvent(event)):event={promise:promise,reason:reason},!NATIVE_REJECTION_EVENT&&(handler=global["on"+name])?handler(event):"unhandledrejection"===name&&hostReportErrors("Unhandled promise rejection",reason)},onUnhandled=function(state){task.call(global,(function(){var result,promise=state.facade,value=state.value;if(isUnhandled(state)&&(result=perform((function(){IS_NODE?process.emit("unhandledRejection",value,promise):dispatchEvent("unhandledrejection",promise,value)})),state.rejection=IS_NODE||isUnhandled(state)?2:1,result.error))throw result.value}))},isUnhandled=function(state){return 1!==state.rejection&&!state.parent},onHandleUnhandled=function(state){task.call(global,(function(){var promise=state.facade;IS_NODE?process.emit("rejectionHandled",promise):dispatchEvent("rejectionhandled",promise,state.value)}))},bind=function(fn,state,unwrap){return function(value){fn(state,value,unwrap)}},internalReject=function(state,value,unwrap){state.done||(state.done=!0,unwrap&&(state=unwrap),state.value=value,state.state=2,notify(state,!0))},internalResolve=function(state,value,unwrap){if(!state.done){state.done=!0,unwrap&&(state=unwrap);try{if(state.facade===value)throw TypeError("Promise can't be resolved itself");var then=isThenable(value);then?microtask((function(){var wrapper={done:!1};try{then.call(value,bind(internalResolve,wrapper,state),bind(internalReject,wrapper,state))}catch(error){internalReject(wrapper,error,state)}})):(state.value=value,state.state=1,notify(state,!1))}catch(error){internalReject({done:!1},error,state)}}};if(FORCED&&(PromiseConstructorPrototype=(PromiseConstructor=function Promise(executor){anInstance(this,PromiseConstructor,PROMISE),aFunction(executor),Internal.call(this);var state=getInternalState(this);try{executor(bind(internalResolve,state),bind(internalReject,state))}catch(error){internalReject(state,error)}}).prototype,(Internal=function Promise(executor){setInternalState(this,{type:PROMISE,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=redefineAll(PromiseConstructorPrototype,{then:function then(onFulfilled,onRejected){var state=getInternalPromiseState(this),reaction=newPromiseCapability(speciesConstructor(this,PromiseConstructor));return reaction.ok="function"!=typeof onFulfilled||onFulfilled,reaction.fail="function"==typeof onRejected&&onRejected,reaction.domain=IS_NODE?process.domain:void 0,state.parent=!0,state.reactions.push(reaction),0!=state.state&¬ify(state,!1),reaction.promise},catch:function(onRejected){return this.then(void 0,onRejected)}}),OwnPromiseCapability=function(){var promise=new Internal,state=getInternalState(promise);this.promise=promise,this.resolve=bind(internalResolve,state),this.reject=bind(internalReject,state)},newPromiseCapabilityModule.f=newPromiseCapability=function(C){return C===PromiseConstructor||C===PromiseWrapper?new OwnPromiseCapability(C):newGenericPromiseCapability(C)},!IS_PURE&&"function"==typeof NativePromise&&NativePromisePrototype!==Object.prototype)){nativeThen=NativePromisePrototype.then,SUBCLASSING||(redefine(NativePromisePrototype,"then",(function then(onFulfilled,onRejected){var that=this;return new PromiseConstructor((function(resolve,reject){nativeThen.call(that,resolve,reject)})).then(onFulfilled,onRejected)}),{unsafe:!0}),redefine(NativePromisePrototype,"catch",PromiseConstructorPrototype.catch,{unsafe:!0}));try{delete NativePromisePrototype.constructor}catch(error){}setPrototypeOf&&setPrototypeOf(NativePromisePrototype,PromiseConstructorPrototype)}$({global:!0,wrap:!0,forced:FORCED},{Promise:PromiseConstructor}),setToStringTag(PromiseConstructor,PROMISE,!1,!0),setSpecies(PROMISE),PromiseWrapper=getBuiltIn(PROMISE),$({target:PROMISE,stat:!0,forced:FORCED},{reject:function reject(r){var capability=newPromiseCapability(this);return capability.reject.call(void 0,r),capability.promise}}),$({target:PROMISE,stat:!0,forced:IS_PURE||FORCED},{resolve:function resolve(x){return promiseResolve(IS_PURE&&this===PromiseWrapper?PromiseConstructor:this,x)}}),$({target:PROMISE,stat:!0,forced:INCORRECT_ITERATION},{all:function all(iterable){var C=this,capability=newPromiseCapability(C),resolve=capability.resolve,reject=capability.reject,result=perform((function(){var $promiseResolve=aFunction(C.resolve),values=[],counter=0,remaining=1;iterate(iterable,(function(promise){var index=counter++,alreadyCalled=!1;values.push(void 0),remaining++,$promiseResolve.call(C,promise).then((function(value){alreadyCalled||(alreadyCalled=!0,values[index]=value,--remaining||resolve(values))}),reject)})),--remaining||resolve(values)}));return result.error&&reject(result.value),capability.promise},race:function race(iterable){var C=this,capability=newPromiseCapability(C),reject=capability.reject,result=perform((function(){var $promiseResolve=aFunction(C.resolve);iterate(iterable,(function(promise){$promiseResolve.call(C,promise).then(capability.resolve,reject)}))}));return result.error&&reject(result.value),capability.promise}})},function(module,exports){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(e){"object"==typeof window&&(g=window)}module.exports=g},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),$reduce=__webpack_require__(712).left,arrayMethodIsStrict=__webpack_require__(210),CHROME_VERSION=__webpack_require__(163),IS_NODE=__webpack_require__(211);$({target:"Array",proto:!0,forced:!arrayMethodIsStrict("reduce")||!IS_NODE&&CHROME_VERSION>79&&CHROME_VERSION<83},{reduce:function reduce(callbackfn){return $reduce(this,callbackfn,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(module,exports,__webpack_require__){"use strict";var $TypeError=__webpack_require__(21)("%TypeError%"),inspect=__webpack_require__(193),IsPropertyKey=__webpack_require__(91),Type=__webpack_require__(37);module.exports=function Get(O,P){if("Object"!==Type(O))throw new $TypeError("Assertion failed: Type(O) is not Object");if(!IsPropertyKey(P))throw new $TypeError("Assertion failed: IsPropertyKey(P) is not true, got "+inspect(P));return O[P]}},function(module,exports){module.exports=function(it){if(null==it)throw TypeError("Can't call method on "+it);return it}},function(module,exports,__webpack_require__){var global=__webpack_require__(34),createNonEnumerableProperty=__webpack_require__(93),has=__webpack_require__(52),setGlobal=__webpack_require__(262),inspectSource=__webpack_require__(264),InternalStateModule=__webpack_require__(75),getInternalState=InternalStateModule.get,enforceInternalState=InternalStateModule.enforce,TEMPLATE=String(String).split("String");(module.exports=function(O,key,value,options){var state,unsafe=!!options&&!!options.unsafe,simple=!!options&&!!options.enumerable,noTargetGet=!!options&&!!options.noTargetGet;"function"==typeof value&&("string"!=typeof key||has(value,"name")||createNonEnumerableProperty(value,"name",key),(state=enforceInternalState(value)).source||(state.source=TEMPLATE.join("string"==typeof key?key:""))),O!==global?(unsafe?!noTargetGet&&O[key]&&(simple=!0):delete O[key],simple?O[key]=value:createNonEnumerableProperty(O,key,value)):simple?O[key]=value:setGlobal(key,value)})(Function.prototype,"toString",(function toString(){return"function"==typeof this&&getInternalState(this).source||inspectSource(this)}))},function(module,exports,__webpack_require__){var toInteger=__webpack_require__(122),min=Math.min;module.exports=function(argument){return argument>0?min(toInteger(argument),9007199254740991):0}},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),$includes=__webpack_require__(265).includes,addToUnscopables=__webpack_require__(202);$({target:"Array",proto:!0},{includes:function includes(el){return $includes(this,el,arguments.length>1?arguments[1]:void 0)}}),addToUnscopables("includes")},function(module,exports,__webpack_require__){var $=__webpack_require__(28),fails=__webpack_require__(35),toObject=__webpack_require__(74),nativeGetPrototypeOf=__webpack_require__(203),CORRECT_PROTOTYPE_GETTER=__webpack_require__(376);$({target:"Object",stat:!0,forced:fails((function(){nativeGetPrototypeOf(1)})),sham:!CORRECT_PROTOTYPE_GETTER},{getPrototypeOf:function getPrototypeOf(it){return nativeGetPrototypeOf(toObject(it))}})},function(module,__webpack_exports__,__webpack_require__){"use strict";var TypeSystem;__webpack_require__.d(__webpack_exports__,"a",(function(){return TypeSystem})),__webpack_require__.d(__webpack_exports__,"f",(function(){return str})),__webpack_require__.d(__webpack_exports__,"e",(function(){return hasDocgen})),__webpack_require__.d(__webpack_exports__,"d",(function(){return getDocgenSection})),__webpack_require__.d(__webpack_exports__,"c",(function(){return extractDocgenProps_extractComponentProps})),__webpack_require__.d(__webpack_exports__,"b",(function(){return extractComponentDescription})),function(TypeSystem){TypeSystem.JAVASCRIPT="JavaScript",TypeSystem.FLOW="Flow",TypeSystem.TYPESCRIPT="TypeScript",TypeSystem.UNKNOWN="Unknown"}(TypeSystem||(TypeSystem={}));var BLACKLIST=["null","undefined"];function isDefaultValueBlacklisted(value){return BLACKLIST.some((function(x){return x===value}))}var str=function str(obj){if(!obj)return"";if("string"==typeof obj)return obj;throw new Error("Description: expected string, got: ".concat(JSON.stringify(obj)))};__webpack_require__(26),__webpack_require__(8),__webpack_require__(12);function hasDocgen(component){return!!component.__docgenInfo}function getDocgenSection(component,section){return hasDocgen(component)?component.__docgenInfo[section]:null}__webpack_require__(29),__webpack_require__(20),__webpack_require__(10),__webpack_require__(48),__webpack_require__(70),__webpack_require__(76),__webpack_require__(54),__webpack_require__(33),__webpack_require__(24),__webpack_require__(57);var doctrine=__webpack_require__(478),doctrine_default=__webpack_require__.n(doctrine);function containsJsDoc(value){return null!=value&&value.includes("@")}function parse(content,tags){var ast;try{ast=doctrine_default.a.parse(content,{tags:tags,sloppy:!0})}catch(e){throw console.error(e),new Error("Cannot parse JSDoc tags.")}return ast}var DEFAULT_OPTIONS={tags:["param","arg","argument","returns","ignore"]};function extractJsDocTags(ast){for(var extractedTags={params:null,returns:null,ignore:!1},i=0;i0}(docgenSection)?Array.isArray(docgenSection)?function extractComponentSectionArray(docgenSection){var typeSystem=extractDocgenProps_getTypeSystem(docgenSection[0]),createPropDef=createPropDef_getPropDefFactory(typeSystem);return docgenSection.map((function(item){var _item$type,sanitizedItem=item;return null!==(_item$type=item.type)&&void 0!==_item$type&&_item$type.elements&&(sanitizedItem=Object.assign({},item,{type:Object.assign({},item.type,{value:item.type.elements})})),extractProp(sanitizedItem.name,sanitizedItem,typeSystem,createPropDef)}))}(docgenSection):function extractComponentSectionObject(docgenSection){var docgenPropsKeys=Object.keys(docgenSection),typeSystem=extractDocgenProps_getTypeSystem(docgenSection[docgenPropsKeys[0]]),createPropDef=createPropDef_getPropDefFactory(typeSystem);return docgenPropsKeys.map((function(propName){var docgenInfo=docgenSection[propName];return null!=docgenInfo?extractProp(propName,docgenInfo,typeSystem,createPropDef):null})).filter(Boolean)}(docgenSection):[]};function extractProp(propName,docgenInfo,typeSystem,createPropDef){var jsDocParsingResult=function parseJsDoc(value){var options=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DEFAULT_OPTIONS;if(!containsJsDoc(value))return{includesJsDoc:!1,ignore:!1};var jsDocAst=parse(value,options.tags),extractedTags=extractJsDocTags(jsDocAst);return extractedTags.ignore?{includesJsDoc:!0,ignore:!0}:{includesJsDoc:!0,ignore:!1,description:jsDocAst.description,extractedTags:extractedTags}}(docgenInfo.description);return jsDocParsingResult.includesJsDoc&&jsDocParsingResult.ignore?null:{propDef:createPropDef(propName,docgenInfo,jsDocParsingResult),jsDocTags:jsDocParsingResult.extractedTags,docgenInfo:docgenInfo,typeSystem:typeSystem}}function extractComponentDescription(component){return null!=component&&function getDocgenDescription(component){return hasDocgen(component)&&str(component.__docgenInfo.description)}(component)}},function(module,exports,__webpack_require__){var $=__webpack_require__(28),$entries=__webpack_require__(384).entries;$({target:"Object",stat:!0},{entries:function entries(O){return $entries(O)}})},function(module,exports,__webpack_require__){var requireObjectCoercible=__webpack_require__(67);module.exports=function(argument){return Object(requireObjectCoercible(argument))}},function(module,exports,__webpack_require__){var set,get,has,NATIVE_WEAK_MAP=__webpack_require__(365),global=__webpack_require__(34),isObject=__webpack_require__(41),createNonEnumerableProperty=__webpack_require__(93),objectHas=__webpack_require__(52),shared=__webpack_require__(261),sharedKey=__webpack_require__(200),hiddenKeys=__webpack_require__(164),WeakMap=global.WeakMap;if(NATIVE_WEAK_MAP||shared.state){var store=shared.state||(shared.state=new WeakMap),wmget=store.get,wmhas=store.has,wmset=store.set;set=function(it,metadata){if(wmhas.call(store,it))throw new TypeError("Object already initialized");return metadata.facade=it,wmset.call(store,it,metadata),metadata},get=function(it){return wmget.call(store,it)||{}},has=function(it){return wmhas.call(store,it)}}else{var STATE=sharedKey("state");hiddenKeys[STATE]=!0,set=function(it,metadata){if(objectHas(it,STATE))throw new TypeError("Object already initialized");return metadata.facade=it,createNonEnumerableProperty(it,STATE,metadata),metadata},get=function(it){return objectHas(it,STATE)?it[STATE]:{}},has=function(it){return objectHas(it,STATE)}}module.exports={set:set,get:get,has:has,enforce:function(it){return has(it)?get(it):set(it,{})},getterFor:function(TYPE){return function(it){var state;if(!isObject(it)||(state=get(it)).type!==TYPE)throw TypeError("Incompatible receiver, "+TYPE+" required");return state}}}},function(module,exports,__webpack_require__){"use strict";var $=__webpack_require__(28),notARegExp=__webpack_require__(282),requireObjectCoercible=__webpack_require__(67),toString=__webpack_require__(53);$({target:"String",proto:!0,forced:!__webpack_require__(284)("includes")},{includes:function includes(searchString){return!!~toString(requireObjectCoercible(this)).indexOf(toString(notARegExp(searchString)),arguments.length>1?arguments[1]:void 0)}})},function(module,exports,__webpack_require__){var $=__webpack_require__(28),getBuiltIn=__webpack_require__(100),aFunction=__webpack_require__(124),anObject=__webpack_require__(44),isObject=__webpack_require__(41),create=__webpack_require__(111),bind=__webpack_require__(812),fails=__webpack_require__(35),nativeConstruct=getBuiltIn("Reflect","construct"),NEW_TARGET_BUG=fails((function(){function F(){}return!(nativeConstruct((function(){}),[],F)instanceof F)})),ARGS_BUG=!fails((function(){nativeConstruct((function(){}))})),FORCED=NEW_TARGET_BUG||ARGS_BUG;$({target:"Reflect",stat:!0,forced:FORCED,sham:FORCED},{construct:function construct(Target,args){aFunction(Target),anObject(args);var newTarget=arguments.length<3?Target:aFunction(arguments[2]);if(ARGS_BUG&&!NEW_TARGET_BUG)return nativeConstruct(Target,args,newTarget);if(Target==newTarget){switch(args.length){case 0:return new Target;case 1:return new Target(args[0]);case 2:return new Target(args[0],args[1]);case 3:return new Target(args[0],args[1],args[2]);case 4:return new Target(args[0],args[1],args[2],args[3])}var $args=[null];return $args.push.apply($args,args),new(bind.apply(Target,$args))}var proto=newTarget.prototype,instance=create(isObject(proto)?proto:Object.prototype),result=Function.apply.call(Target,instance,args);return isObject(result)?result:instance}})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return TabButton})),__webpack_require__.d(__webpack_exports__,"a",(function(){return IconButton}));__webpack_require__(26),__webpack_require__(8),__webpack_require__(20);var react__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(1),react__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__),_storybook_theming__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(2),_storybook_theming__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(148);function _extends(){return(_extends=Object.assign||function(target){for(var i=1;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var ButtonOrLink=function ButtonOrLink(_ref){var children=_ref.children,restProps=_objectWithoutProperties(_ref,["children"]);return null!=restProps.href?react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a",restProps,children):react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("button",_extends({type:"button"},restProps),children)},TabButton=Object(_storybook_theming__WEBPACK_IMPORTED_MODULE_4__.styled)(ButtonOrLink,{shouldForwardProp:_storybook_theming__WEBPACK_IMPORTED_MODULE_5__.a})({whiteSpace:"normal",display:"inline-flex",overflow:"hidden",verticalAlign:"top",justifyContent:"center",alignItems:"center",textAlign:"center",textDecoration:"none","&:empty":{display:"none"}},(function(_ref2){return{padding:"0 15px",transition:"color 0.2s linear, border-bottom-color 0.2s linear",height:40,lineHeight:"12px",cursor:"pointer",background:"transparent",border:"0 solid transparent",borderTop:"3px solid transparent",borderBottom:"3px solid transparent",fontWeight:"bold",fontSize:13,"&:focus":{outline:"0 none",borderBottomColor:_ref2.theme.color.secondary}}}),(function(_ref3){var active=_ref3.active,textColor=_ref3.textColor,theme=_ref3.theme;return active?{color:textColor||theme.barSelectedColor,borderBottomColor:theme.barSelectedColor}:{color:textColor||theme.barTextColor,borderBottomColor:"transparent"}}));TabButton.displayName="TabButton";var IconButton=Object(_storybook_theming__WEBPACK_IMPORTED_MODULE_4__.styled)(ButtonOrLink,{shouldForwardProp:_storybook_theming__WEBPACK_IMPORTED_MODULE_5__.a})((function(_ref4){return{display:"inline-flex",justifyContent:"center",alignItems:"center",height:40,background:"none",color:"inherit",padding:0,cursor:"pointer",fontWeight:"bold",fontSize:13,border:"0 solid transparent",borderTop:"3px solid transparent",borderBottom:"3px solid transparent",transition:"color 0.2s linear, border-bottom-color 0.2s linear","&:hover, &:focus":{outline:"0 none",color:_ref4.theme.color.secondary},"& > svg":{width:15}}}),(function(_ref5){var active=_ref5.active,theme=_ref5.theme;return active?{outline:"0 none",borderBottomColor:theme.color.secondary}:{}}));IconButton.displayName="IconButton"},function(module,exports,__webpack_require__){"use strict";var fixRegExpWellKnownSymbolLogic=__webpack_require__(206),isRegExp=__webpack_require__(283),anObject=__webpack_require__(44),requireObjectCoercible=__webpack_require__(67),speciesConstructor=__webpack_require__(391),advanceStringIndex=__webpack_require__(277),toLength=__webpack_require__(69),toString=__webpack_require__(53),callRegExpExec=__webpack_require__(208),regexpExec=__webpack_require__(207),stickyHelpers=__webpack_require__(276),fails=__webpack_require__(35),UNSUPPORTED_Y=stickyHelpers.UNSUPPORTED_Y,arrayPush=[].push,min=Math.min;fixRegExpWellKnownSymbolLogic("split",(function(SPLIT,nativeSplit,maybeCallNative){var internalSplit;return internalSplit="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(separator,limit){var string=toString(requireObjectCoercible(this)),lim=void 0===limit?4294967295:limit>>>0;if(0===lim)return[];if(void 0===separator)return[string];if(!isRegExp(separator))return nativeSplit.call(string,separator,lim);for(var match,lastIndex,lastLength,output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.unicode?"u":"")+(separator.sticky?"y":""),lastLastIndex=0,separatorCopy=new RegExp(separator.source,flags+"g");(match=regexpExec.call(separatorCopy,string))&&!((lastIndex=separatorCopy.lastIndex)>lastLastIndex&&(output.push(string.slice(lastLastIndex,match.index)),match.length>1&&match.index=lim));)separatorCopy.lastIndex===match.index&&separatorCopy.lastIndex++;return lastLastIndex===string.length?!lastLength&&separatorCopy.test("")||output.push(""):output.push(string.slice(lastLastIndex)),output.length>lim?output.slice(0,lim):output}:"0".split(void 0,0).length?function(separator,limit){return void 0===separator&&0===limit?[]:nativeSplit.call(this,separator,limit)}:nativeSplit,[function split(separator,limit){var O=requireObjectCoercible(this),splitter=null==separator?void 0:separator[SPLIT];return void 0!==splitter?splitter.call(separator,O,limit):internalSplit.call(toString(O),separator,limit)},function(string,limit){var rx=anObject(this),S=toString(string),res=maybeCallNative(internalSplit,rx,S,limit,internalSplit!==nativeSplit);if(res.done)return res.value;var C=speciesConstructor(rx,RegExp),unicodeMatching=rx.unicode,flags=(rx.ignoreCase?"i":"")+(rx.multiline?"m":"")+(rx.unicode?"u":"")+(UNSUPPORTED_Y?"g":"y"),splitter=new C(UNSUPPORTED_Y?"^(?:"+rx.source+")":rx,flags),lim=void 0===limit?4294967295:limit>>>0;if(0===lim)return[];if(0===S.length)return null===callRegExpExec(splitter,S)?[S]:[];for(var p=0,q=0,A=[];qarr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i=4;++i,len-=4)k=1540483477*(65535&(k=255&str.charCodeAt(i)|(255&str.charCodeAt(++i))<<8|(255&str.charCodeAt(++i))<<16|(255&str.charCodeAt(++i))<<24))+(59797*(k>>>16)<<16),h=1540483477*(65535&(k^=k>>>24))+(59797*(k>>>16)<<16)^1540483477*(65535&h)+(59797*(h>>>16)<<16);switch(len){case 3:h^=(255&str.charCodeAt(i+2))<<16;case 2:h^=(255&str.charCodeAt(i+1))<<8;case 1:h=1540483477*(65535&(h^=255&str.charCodeAt(i)))+(59797*(h>>>16)<<16)}return(((h=1540483477*(65535&(h^=h>>>13))+(59797*(h>>>16)<<16))^h>>>15)>>>0).toString(36)},unitless_browser_esm={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},memoize_browser_esm=__webpack_require__(235),hyphenateRegex=/[A-Z]|^ms/g,animationRegex=/_EMO_([^_]+?)_([^]*?)_EMO_/g,isCustomProperty=function isCustomProperty(property){return 45===property.charCodeAt(1)},isProcessableValue=function isProcessableValue(value){return null!=value&&"boolean"!=typeof value},processStyleName=Object(memoize_browser_esm.a)((function(styleName){return isCustomProperty(styleName)?styleName:styleName.replace(hyphenateRegex,"-$&").toLowerCase()})),serialize_browser_esm_processStyleValue=function processStyleValue(key,value){switch(key){case"animation":case"animationName":if("string"==typeof value)return value.replace(animationRegex,(function(match,p1,p2){return cursor={name:p1,styles:p2,next:cursor},p1}))}return 1===unitless_browser_esm[key]||isCustomProperty(key)||"number"!=typeof value||0===value?value:value+"px"};function handleInterpolation(mergedProps,registered,interpolation,couldBeSelectorInterpolation){if(null==interpolation)return"";if(void 0!==interpolation.__emotion_styles)return interpolation;switch(typeof interpolation){case"boolean":return"";case"object":if(1===interpolation.anim)return cursor={name:interpolation.name,styles:interpolation.styles,next:cursor},interpolation.name;if(void 0!==interpolation.styles){var next=interpolation.next;if(void 0!==next)for(;void 0!==next;)cursor={name:next.name,styles:next.styles,next:cursor},next=next.next;return interpolation.styles+";"}return function createStringFromObject(mergedProps,registered,obj){var string="";if(Array.isArray(obj))for(var i=0;i=0||(target[key]=source[key]);return target}(source,excluded);if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(source,key)&&(target[key]=source[key])}return target}var H1=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.h1(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.b,(function(_ref){var theme=_ref.theme;return{fontSize:"".concat(theme.typography.size.l1,"px"),fontWeight:theme.typography.weight.black}})),H2=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.h2(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.b,(function(_ref2){var theme=_ref2.theme;return{fontSize:"".concat(theme.typography.size.m2,"px"),paddingBottom:4,borderBottom:"1px solid ".concat(theme.appBorderColor)}})),H3=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.h3(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.b,(function(_ref3){var theme=_ref3.theme;return{fontSize:"".concat(theme.typography.size.m1,"px")}})),H4=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.h4(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.b,(function(_ref4){var theme=_ref4.theme;return{fontSize:"".concat(theme.typography.size.s3,"px")}})),H5=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.h5(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.b,(function(_ref5){var theme=_ref5.theme;return{fontSize:"".concat(theme.typography.size.s2,"px")}})),H6=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.h6(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.b,(function(_ref6){var theme=_ref6.theme;return{fontSize:"".concat(theme.typography.size.s2,"px"),color:theme.color.dark}})),Pre=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.pre(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.c,(function(_ref7){return{fontFamily:_ref7.theme.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",lineHeight:"18px",padding:"11px 1rem",whiteSpace:"pre-wrap",color:"inherit",borderRadius:3,margin:"1rem 0","&:not(.prismjs)":{background:"transparent",border:"none",borderRadius:0,padding:0,margin:0},"& pre, &.prismjs":{padding:15,margin:0,whiteSpace:"pre-wrap",color:"inherit",fontSize:"13px",lineHeight:"19px",code:{color:"inherit",fontSize:"inherit"}},"& code":{whiteSpace:"pre"},"& code, & tt":{border:"none"}}})),Link=function Link(_ref8){var input=_ref8.href,children=_ref8.children,props=_objectWithoutProperties(_ref8,["href","children"]),isStorybookPath=/^\//.test(input),isAnchorUrl=/^#.*/.test(input),href=isStorybookPath?"?path=".concat(input):input,target=isAnchorUrl?"_self":"_top";return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement("a",_extends({href:href,target:target},props),children)};Link.displayName="Link";var A=Object(_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled)(Link)(_shared__WEBPACK_IMPORTED_MODULE_10__.d,(function(_ref9){return{fontSize:"inherit",lineHeight:"24px",color:_ref9.theme.color.secondary,textDecoration:"none","&.absent":{color:"#cc0000"},"&.anchor":{display:"block",paddingLeft:30,marginLeft:-30,cursor:"pointer",position:"absolute",top:0,left:0,bottom:0}}})),HR=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.hr((function(_ref10){var theme=_ref10.theme;return{border:"0 none",borderTop:"1px solid ".concat(theme.appBorderColor),height:4,padding:0}})),DL=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.dl(_shared__WEBPACK_IMPORTED_MODULE_10__.d,Object.assign({},_shared__WEBPACK_IMPORTED_MODULE_10__.c,{padding:0,"& dt":{fontSize:"14px",fontWeight:"bold",fontStyle:"italic",padding:0,margin:"16px 0 4px"},"& dt:first-of-type":{padding:0},"& dt > :first-of-type":{marginTop:0},"& dt > :last-child":{marginBottom:0},"& dd":{margin:"0 0 16px",padding:"0 15px"},"& dd > :first-of-type":{marginTop:0},"& dd > :last-child":{marginBottom:0}})),Blockquote=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.blockquote(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.c,(function(_ref11){var theme=_ref11.theme;return{borderLeft:"4px solid ".concat(theme.color.medium),padding:"0 15px",color:theme.color.dark,"& > :first-of-type":{marginTop:0},"& > :last-child":{marginBottom:0}}})),Table=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.table(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.c,(function(_ref12){var theme=_ref12.theme;return{fontSize:theme.typography.size.s2,lineHeight:"24px",padding:0,borderCollapse:"collapse","& tr":{borderTop:"1px solid ".concat(theme.appBorderColor),backgroundColor:theme.appContentBg,margin:0,padding:0},"& tr:nth-of-type(2n)":{backgroundColor:"dark"===theme.base?theme.color.darker:theme.color.lighter},"& tr th":{fontWeight:"bold",color:theme.color.defaultText,border:"1px solid ".concat(theme.appBorderColor),margin:0,padding:"6px 13px"},"& tr td":{border:"1px solid ".concat(theme.appBorderColor),color:theme.color.defaultText,margin:0,padding:"6px 13px"},"& tr th :first-of-type, & tr td :first-of-type":{marginTop:0},"& tr th :last-child, & tr td :last-child":{marginBottom:0}}})),Img=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.img({maxWidth:"100%"}),Div=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.div(_shared__WEBPACK_IMPORTED_MODULE_10__.d),Span=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.span(_shared__WEBPACK_IMPORTED_MODULE_10__.d,(function(_ref13){var theme=_ref13.theme;return{"&.frame":{display:"block",overflow:"hidden","& > span":{border:"1px solid ".concat(theme.color.medium),display:"block",float:"left",overflow:"hidden",margin:"13px 0 0",padding:7,width:"auto"},"& span img":{display:"block",float:"left"},"& span span":{clear:"both",color:theme.color.darkest,display:"block",padding:"5px 0 0"}},"&.align-center":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"center"},"& span img":{margin:"0 auto",textAlign:"center"}},"&.align-right":{display:"block",overflow:"hidden",clear:"both","& > span":{display:"block",overflow:"hidden",margin:"13px 0 0",textAlign:"right"},"& span img":{margin:0,textAlign:"right"}},"&.float-left":{display:"block",marginRight:13,overflow:"hidden",float:"left","& span":{margin:"13px 0 0"}},"&.float-right":{display:"block",marginLeft:13,overflow:"hidden",float:"right","& > span":{display:"block",overflow:"hidden",margin:"13px auto 0",textAlign:"right"}}}})),listCommon={paddingLeft:30,"& :first-of-type":{marginTop:0},"& :last-child":{marginBottom:0}},LI=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.li(_shared__WEBPACK_IMPORTED_MODULE_10__.d,(function(_ref14){var theme=_ref14.theme;return{fontSize:theme.typography.size.s2,color:theme.color.defaultText,lineHeight:"24px","& + li":{marginTop:".25em"},"& ul, & ol":{marginTop:".25em",marginBottom:0},"& code":Object(_shared__WEBPACK_IMPORTED_MODULE_10__.a)({theme:theme})}})),UL=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.ul(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.c,Object.assign({},listCommon,{listStyle:"disc"})),OL=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.ol(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.c,Object.assign({},listCommon,{listStyle:"decimal"})),P=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.p(_shared__WEBPACK_IMPORTED_MODULE_10__.d,_shared__WEBPACK_IMPORTED_MODULE_10__.c,(function(_ref15){var theme=_ref15.theme;return{fontSize:theme.typography.size.s2,lineHeight:"24px",color:theme.color.defaultText,"& code":Object(_shared__WEBPACK_IMPORTED_MODULE_10__.a)({theme:theme})}})),DefaultCodeBlock=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.code((function(_ref16){return{fontFamily:_ref16.theme.typography.fonts.mono,WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",display:"inline-block",paddingLeft:2,paddingRight:2,verticalAlign:"baseline",color:"inherit"}}),_shared__WEBPACK_IMPORTED_MODULE_10__.a),Code=function Code(_ref17){var _language$,className=_ref17.className,children=_ref17.children,props=_objectWithoutProperties(_ref17,["className","children"]),language=(className||"").match(/lang-(\S+)/);return!children.match(/[\n\r]/g)?react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(DefaultCodeBlock,_extends({},props,{className:className}),children):react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(_blocks_Source__WEBPACK_IMPORTED_MODULE_11__.c,_extends({bordered:!0,copyable:!0,language:null!==(_language$=null==language?void 0:language[1])&&void 0!==_language$?_language$:"plaintext",format:!1},props),children)};Code.displayName="Code";var TT=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.title(_shared__WEBPACK_IMPORTED_MODULE_10__.a),ResetWrapper=_storybook_theming__WEBPACK_IMPORTED_MODULE_9__.styled.div(_shared__WEBPACK_IMPORTED_MODULE_10__.d),nameSpaceClassNames=function nameSpaceClassNames(_ref18,key){var props=Object.assign({},_ref18),classes=[props.class,props.className];return delete props.class,props.className=["sbdocs","sbdocs-".concat(key)].concat(classes).filter(Boolean).join(" "),props},components={h1:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(H1,nameSpaceClassNames(props,"h1"))},h2:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(H2,nameSpaceClassNames(props,"h2"))},h3:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(H3,nameSpaceClassNames(props,"h3"))},h4:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(H4,nameSpaceClassNames(props,"h4"))},h5:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(H5,nameSpaceClassNames(props,"h5"))},h6:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(H6,nameSpaceClassNames(props,"h6"))},pre:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Pre,nameSpaceClassNames(props,"pre"))},a:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(A,nameSpaceClassNames(props,"a"))},hr:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(HR,nameSpaceClassNames(props,"hr"))},dl:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(DL,nameSpaceClassNames(props,"dl"))},blockquote:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Blockquote,nameSpaceClassNames(props,"blockquote"))},table:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Table,nameSpaceClassNames(props,"table"))},img:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Img,nameSpaceClassNames(props,"img"))},div:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Div,nameSpaceClassNames(props,"div"))},span:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Span,nameSpaceClassNames(props,"span"))},li:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(LI,nameSpaceClassNames(props,"li"))},ul:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(UL,nameSpaceClassNames(props,"ul"))},ol:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(OL,nameSpaceClassNames(props,"ol"))},p:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(P,nameSpaceClassNames(props,"p"))},code:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(Code,nameSpaceClassNames(props,"code"))},tt:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(TT,nameSpaceClassNames(props,"tt"))},resetwrapper:function(props){return react__WEBPACK_IMPORTED_MODULE_8___default.a.createElement(ResetWrapper,nameSpaceClassNames(props,"resetwrapper"))}}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"d",(function(){return mkColor})),__webpack_require__.d(__webpack_exports__,"c",(function(){return lightenColor})),__webpack_require__.d(__webpack_exports__,"a",(function(){return darkenColor})),__webpack_require__.d(__webpack_exports__,"b",(function(){return getPreferredColorScheme}));__webpack_require__(24),__webpack_require__(8),__webpack_require__(12),__webpack_require__(11),__webpack_require__(22),__webpack_require__(16),__webpack_require__(13),__webpack_require__(15);var polished__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(7),global__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(18),global__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(global__WEBPACK_IMPORTED_MODULE_9__),_storybook_client_logger__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(9);function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(obj){return typeof obj}:function _typeof(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}var globalWindow=global__WEBPACK_IMPORTED_MODULE_9___default.a.window,mkColor=function mkColor(color){return{color:color}},colorFactory=function colorFactory(type){return function(color){if(!function isColorString(color){return"string"==typeof color||(_storybook_client_logger__WEBPACK_IMPORTED_MODULE_10__.a.warn("Color passed to theme object should be a string. Instead "+"".concat(color,"(").concat(_typeof(color),") was passed.")),!1)}(color))return color;if(!function isValidColorForPolished(color){return!/(gradient|var|calc)/.test(color)}(color))return color;try{return function applyPolished(type,color){return"darken"===type?Object(polished__WEBPACK_IMPORTED_MODULE_8__.d)("".concat(Object(polished__WEBPACK_IMPORTED_MODULE_8__.a)(1,color)),.95):"lighten"===type?Object(polished__WEBPACK_IMPORTED_MODULE_8__.d)("".concat(Object(polished__WEBPACK_IMPORTED_MODULE_8__.b)(1,color)),.95):color}(type,color)}catch(error){return color}}},lightenColor=colorFactory("lighten"),darkenColor=colorFactory("darken"),getPreferredColorScheme=function getPreferredColorScheme(){return globalWindow&&globalWindow.matchMedia&&globalWindow.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}},function(module,exports,__webpack_require__){"use strict";var fixRegExpWellKnownSymbolLogic=__webpack_require__(206),anObject=__webpack_require__(44),toLength=__webpack_require__(69),toString=__webpack_require__(53),requireObjectCoercible=__webpack_require__(67),advanceStringIndex=__webpack_require__(277),regExpExec=__webpack_require__(208);fixRegExpWellKnownSymbolLogic("match",(function(MATCH,nativeMatch,maybeCallNative){return[function match(regexp){var O=requireObjectCoercible(this),matcher=null==regexp?void 0:regexp[MATCH];return void 0!==matcher?matcher.call(regexp,O):new RegExp(regexp)[MATCH](toString(O))},function(string){var rx=anObject(this),S=toString(string),res=maybeCallNative(nativeMatch,rx,S);if(res.done)return res.value;if(!rx.global)return regExpExec(rx,S);var fullUnicode=rx.unicode;rx.lastIndex=0;for(var result,A=[],n=0;null!==(result=regExpExec(rx,S));){var matchStr=toString(result[0]);A[n]=matchStr,""===matchStr&&(rx.lastIndex=advanceStringIndex(S,toLength(rx.lastIndex),fullUnicode)),n++}return 0===n?null:A}]}))},function(module,exports,__webpack_require__){"use strict";var MAX_SAFE_INTEGER=__webpack_require__(250),ToInteger=__webpack_require__(248);module.exports=function ToLength(argument){var len=ToInteger(argument);return len<=0?0:len>MAX_SAFE_INTEGER?MAX_SAFE_INTEGER:len}},function(module,exports,__webpack_require__){"use strict";var GetIntrinsic=__webpack_require__(21),$String=GetIntrinsic("%String%"),$TypeError=GetIntrinsic("%TypeError%");module.exports=function ToString(argument){if("symbol"==typeof argument)throw new $TypeError("Cannot convert a Symbol value to a string");return $String(argument)}},function(module,exports,__webpack_require__){"use strict";var GetIntrinsic=__webpack_require__(21),callBound=__webpack_require__(43),$TypeError=GetIntrinsic("%TypeError%"),IsArray=__webpack_require__(120),$apply=GetIntrinsic("%Reflect.apply%",!0)||callBound("%Function.prototype.apply%");module.exports=function Call(F,V){var argumentsList=arguments.length>2?arguments[2]:[];if(!IsArray(argumentsList))throw new $TypeError("Assertion failed: optional `argumentsList`, if provided, must be a List");return $apply(F,V,argumentsList)}},function(module,exports){var toString={}.toString;module.exports=function(it){return toString.call(it).slice(8,-1)}},function(module,exports){module.exports=!1},function(module,exports,__webpack_require__){var activeXDocument,anObject=__webpack_require__(44),defineProperties=__webpack_require__(369),enumBugKeys=__webpack_require__(267),hiddenKeys=__webpack_require__(164),html=__webpack_require__(370),documentCreateElement=__webpack_require__(263),sharedKey=__webpack_require__(200),IE_PROTO=sharedKey("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(content){return"