diff options
author | Thomas F. K. Jorna <[email protected]> | 2021-07-31 16:24:01 +0200 |
---|---|---|
committer | Thomas F. K. Jorna <[email protected]> | 2021-07-31 16:24:01 +0200 |
commit | e2bfe729aa11ae04db5d77be4d49bf5b8d367f60 (patch) | |
tree | 7e5f4000a31a805881a257a15a00b0ee9a795e87 | |
parent | 9f04ec867ba90a9813a192834f7a104b6a2cf945 (diff) |
moved themecontext and included build
-rw-r--r-- | components/tweaks.tsx | 2 | ||||
-rw-r--r-- | out/404.html | 8 | ||||
-rw-r--r-- | out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_buildManifest.js | 12 | ||||
-rw-r--r-- | out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_ssgManifest.js | 1 | ||||
-rw-r--r-- | out/_next/static/chunks/611-5fb26b79804963e4f537.js | 37935 | ||||
-rw-r--r-- | out/_next/static/chunks/fb7d5399-a8c606efbc9e7c0edf90.js | 21137 | ||||
-rw-r--r-- | out/_next/static/chunks/pages/_app-dfc6475e55af57905c35.js | 8000 | ||||
-rw-r--r-- | out/_next/static/chunks/pages/index-aca5544598c1009a8282.js | 1386 | ||||
-rw-r--r-- | out/index.html | 14 | ||||
-rw-r--r-- | pages/_app.tsx | 2 | ||||
-rw-r--r-- | pages/index.tsx | 2 | ||||
-rw-r--r-- | pages/themecontext.tsx | 43 |
12 files changed, 14 insertions, 68528 deletions
diff --git a/components/tweaks.tsx b/components/tweaks.tsx index bc1a0d3..39130a5 100644 --- a/components/tweaks.tsx +++ b/components/tweaks.tsx @@ -49,7 +49,7 @@ import { initialBehavior, } from './config' -import { ThemeContext } from '../pages/themecontext' +import { ThemeContext } from '../util/themecontext' export interface TweakProps { physics: typeof initialPhysics diff --git a/out/404.html b/out/404.html index b65b3d9..8371711 100644 --- a/out/404.html +++ b/out/404.html @@ -16,10 +16,10 @@ <script src="/_next/static/chunks/webpack-a1ea085630ce50807058.js" defer=""></script> <script src="/_next/static/chunks/framework-2191d16384373197bc0a.js" defer=""></script> <script src="/_next/static/chunks/main-a3a79aff3ff232b41814.js" defer=""></script> - <script src="/_next/static/chunks/pages/_app-dfc6475e55af57905c35.js" defer=""></script> + <script src="/_next/static/chunks/pages/_app-6ba3a11e93bdf6a85175.js" defer=""></script> <script src="/_next/static/chunks/pages/_error-a0e21b9b223f827fe1f2.js" defer=""></script> - <script src="/_next/static/E9JvO6gTJnvut1BKCp8Kp/_buildManifest.js" defer=""></script> - <script src="/_next/static/E9JvO6gTJnvut1BKCp8Kp/_ssgManifest.js" defer=""></script> + <script src="/_next/static/VTjCLWjEHj_0nxCCzjXkV/_buildManifest.js" defer=""></script> + <script src="/_next/static/VTjCLWjEHj_0nxCCzjXkV/_ssgManifest.js" defer=""></script> </head> <body> <div id="__next"> @@ -753,7 +753,7 @@ "props": { "pageProps": { "statusCode": 404 } }, "page": "/_error", "query": {}, - "buildId": "E9JvO6gTJnvut1BKCp8Kp", + "buildId": "VTjCLWjEHj_0nxCCzjXkV", "nextExport": true, "isFallback": false, "gip": true, diff --git a/out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_buildManifest.js b/out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_buildManifest.js deleted file mode 100644 index e673b3b..0000000 --- a/out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_buildManifest.js +++ /dev/null @@ -1,12 +0,0 @@ -;(self.__BUILD_MANIFEST = { - __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] }, - '/': [ - 'static/chunks/fb7d5399-a8c606efbc9e7c0edf90.js', - 'static/chunks/d25bd147-65fcc4c92edba8b370fb.js', - 'static/chunks/611-5fb26b79804963e4f537.js', - 'static/chunks/pages/index-aca5544598c1009a8282.js', - ], - '/_error': ['static/chunks/pages/_error-a0e21b9b223f827fe1f2.js'], - sortedPages: ['/', '/_app', '/_error'], -}), - self.__BUILD_MANIFEST_CB && self.__BUILD_MANIFEST_CB() diff --git a/out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_ssgManifest.js b/out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_ssgManifest.js deleted file mode 100644 index 82bedd6..0000000 --- a/out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -;(self.__SSG_MANIFEST = new Set()), self.__SSG_MANIFEST_CB && self.__SSG_MANIFEST_CB() diff --git a/out/_next/static/chunks/611-5fb26b79804963e4f537.js b/out/_next/static/chunks/611-5fb26b79804963e4f537.js deleted file mode 100644 index 5f71c7a..0000000 --- a/out/_next/static/chunks/611-5fb26b79804963e4f537.js +++ /dev/null @@ -1,37935 +0,0 @@ -;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ - [611], - { - 676: function (e, t, n) { - 'use strict' - function r(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - n.d(t, { - Z: function () { - return r - }, - }) - }, - 2137: function (e, t, n) { - 'use strict' - function r(e, t, n, r, i, o, a) { - try { - var s = e[o](a), - u = s.value - } catch (l) { - return void n(l) - } - s.done ? t(u) : Promise.resolve(u).then(r, i) - } - function i(e) { - return function () { - var t = this, - n = arguments - return new Promise(function (i, o) { - var a = e.apply(t, n) - function s(e) { - r(a, i, o, s, u, 'next', e) - } - function u(e) { - r(a, i, o, s, u, 'throw', e) - } - s(void 0) - }) - } - } - n.d(t, { - Z: function () { - return i - }, - }) - }, - 7375: function (e, t, n) { - 'use strict' - function r(e, t) { - if (null == e) return {} - var n, - r, - i = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, t) - if (Object.getOwnPropertySymbols) { - var o = Object.getOwnPropertySymbols(e) - for (r = 0; r < o.length; r++) - (n = o[r]), - t.indexOf(n) >= 0 || - (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])) - } - return i - } - n.d(t, { - Z: function () { - return r - }, - }) - }, - 4699: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return i - }, - }) - var r = n(2961) - function i(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) { - var n = [], - r = !0, - i = !1, - o = void 0 - try { - for ( - var a, s = e[Symbol.iterator](); - !(r = (a = s.next()).done) && (n.push(a.value), !t || n.length !== t); - r = !0 - ); - } catch (u) { - ;(i = !0), (o = u) - } finally { - try { - r || null == s.return || s.return() - } finally { - if (i) throw o - } - } - return n - } - })(e, t) || - (0, r.Z)(e, t) || - (function () { - throw new TypeError( - 'Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', - ) - })() - ) - } - }, - 7329: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return o - }, - }) - var r = n(676) - var i = n(2961) - function o(e) { - return ( - (function (e) { - if (Array.isArray(e)) return (0, r.Z)(e) - })(e) || - (function (e) { - if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) - })(e) || - (0, i.Z)(e) || - (function () { - throw new TypeError( - 'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', - ) - })() - ) - } - }, - 2961: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return i - }, - }) - var r = n(676) - function i(e, t) { - if (e) { - if ('string' === typeof e) return (0, r.Z)(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? (0, r.Z)(e, t) - : void 0 - ) - } - } - }, - 6769: function (e, t, n) { - 'use strict' - n.d(t, { - UQ: function () { - return D - }, - KF: function () { - return z - }, - XE: function () { - return B - }, - Qd: function () { - return I - }, - Hk: function () { - return H - }, - }) - var r = n(58), - i = n(63), - o = n(2326), - a = n(5284), - s = n(9676), - u = n(3782), - l = n(8841), - c = n(4461), - d = n(3808), - f = n(658), - h = n(8500), - p = n(7294), - v = n(1888), - m = n(7581), - g = n(1034), - y = n(4577), - b = n(2947), - w = n(7277), - x = n(7248) - function E() { - return (E = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function k(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var [T, _, O, C] = (0, v.n)() - function S(e) { - var { onChange: t, defaultIndex: n, index: r, allowMultiple: i, allowToggle: o } = e, - a = k(e, ['onChange', 'defaultIndex', 'index', 'allowMultiple', 'allowToggle']) - !(function (e) { - var t = e.index || e.defaultIndex, - n = !(0, d.o8)(t) && !(0, d.kJ)(t) && e.allowMultiple - ;(0, f.ZK)({ - condition: !!n, - message: - "If 'allowMultiple' is passed, then 'index' or 'defaultIndex' must be an array. You passed: " + - typeof t + - ',', - }) - })(e), - (function (e) { - ;(0, f.ZK)({ - condition: !(!e.allowMultiple || !e.allowToggle), - message: - "If 'allowMultiple' is passed, 'allowToggle' will be ignored. Either remove 'allowToggle' or 'allowMultiple' depending on whether you want multiple accordions visible or not", - }) - })(e) - var s = O(), - [u, l] = (0, p.useState)(-1) - ;(0, m.z)(() => { - l(-1) - }) - var [c, h] = (0, g.T)({ - value: r, - defaultValue: () => (i ? (null != n ? n : []) : null != n ? n : -1), - onChange: t, - }) - return { - index: c, - setIndex: h, - htmlProps: a, - getAccordionItemProps: (e) => { - var t = !1 - null !== e && (t = (0, d.kJ)(c) ? c.includes(e) : c === e) - return { - isOpen: t, - onChange: (t) => { - if (null !== e) - if (i && (0, d.kJ)(c)) { - var n = t ? (0, w.jX)(c, e) : (0, w.cl)(c, e) - h(n) - } else t ? h(e) : o && h(-1) - }, - } - }, - focusedIndex: u, - setFocusedIndex: l, - descendants: s, - } - } - var [A, P] = (0, h.k)({ - name: 'AccordionContext', - errorMessage: - 'useAccordionContext: `context` is undefined. Seems you forgot to wrap the accordion components in `<Accordion />`', - }) - function M(e) { - var { isDisabled: t, isFocusable: n, id: r } = e, - i = k(e, ['isDisabled', 'isFocusable', 'id']), - { getAccordionItemProps: o, setFocusedIndex: a } = P(), - s = (0, p.useRef)(null), - [u, l] = (0, y.ZS)(r, 'accordion-button', 'accordion-panel') - !(function (e) { - ;(0, f.ZK)({ - condition: !(!e.isFocusable || e.isDisabled), - message: - "Using only 'isFocusable', this prop is reserved for situations where you pass 'isDisabled' but you still want the element to receive focus (A11y). Either remove it or pass 'isDisabled' as well.\n ", - }) - })(e) - var { register: d, index: h, descendants: v } = C({ disabled: t && !n }), - { isOpen: m, onChange: g } = o(-1 === h ? null : h) - !(function (e) { - ;(0, f.ZK)({ - condition: e.isOpen && !!e.isDisabled, - message: 'Cannot open a disabled accordion item', - }) - })({ isOpen: m, isDisabled: t }) - var w = (0, p.useCallback)(() => { - null == g || g(!m), a(h) - }, [h, a, m, g]), - T = (0, p.useCallback)( - (e) => { - var t = { - ArrowDown: () => { - var e = v.nextEnabled(h) - e && (0, x.T)(e.node) - }, - ArrowUp: () => { - var e = v.prevEnabled(h) - e && (0, x.T)(e.node) - }, - Home: () => { - var e = v.firstEnabled() - e && (0, x.T)(e.node) - }, - End: () => { - var e = v.lastEnabled() - e && (0, x.T)(e.node) - }, - }[(0, c.uh)(e)] - t && (e.preventDefault(), t(e)) - }, - [v, h], - ), - _ = (0, p.useCallback)(() => { - a(h) - }, [a, h]), - O = (0, p.useCallback)( - function (e, n) { - return ( - void 0 === e && (e = {}), - void 0 === n && (n = null), - E({}, e, { - type: 'button', - ref: (0, b.l)(d, s, n), - id: u, - disabled: !!t, - 'aria-expanded': !!m, - 'aria-controls': l, - onClick: (0, f.v0)(e.onClick, w), - onFocus: (0, f.v0)(e.onFocus, _), - onKeyDown: (0, f.v0)(e.onKeyDown, T), - }) - ) - }, - [u, t, m, w, _, T, l, d], - ), - S = (0, p.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - E({}, e, { ref: t, role: 'region', id: l, 'aria-labelledby': u, hidden: !m }) - ) - }, - [u, m, l], - ) - return { - isOpen: m, - isDisabled: t, - isFocusable: n, - onOpen: () => { - null == g || g(!0) - }, - onClose: () => { - null == g || g(!1) - }, - getButtonProps: O, - getPanelProps: S, - htmlProps: i, - } - } - function R() { - return (R = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function j(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var D = (0, i.G)((e, t) => { - var { children: n, reduceMotion: r } = e, - i = j(e, ['children', 'reduceMotion']), - l = (0, o.j)('Accordion', i), - d = S((0, a.Lr)(i)), - { htmlProps: f, descendants: h } = d, - v = j(d, ['htmlProps', 'descendants']), - m = p.useMemo(() => R({}, v, { reduceMotion: !!r }), [v, r]) - return p.createElement( - T, - { value: h }, - p.createElement( - A, - { value: m }, - p.createElement( - s.Fo, - { value: l }, - p.createElement( - u.m$.div, - R({ ref: t }, f, { className: (0, c.cx)('chakra-accordion', i.className) }), - n, - ), - ), - ), - ) - }) - d.Ts && (D.displayName = 'Accordion') - var [L, N] = (0, h.k)({ - name: 'AccordionItemContext', - errorMessage: - 'useAccordionItemContext: `context` is undefined. Seems you forgot to wrap the accordion item parts in `<AccordionItem />` ', - }), - I = (0, i.G)((e, t) => { - var { children: n, className: r } = e, - i = M(e), - { htmlProps: o } = i, - a = j(i, ['htmlProps']), - l = R({}, (0, s.yK)().container, { overflowAnchor: 'none' }), - d = p.useMemo(() => a, [a]) - return p.createElement( - L, - { value: d }, - p.createElement( - u.m$.div, - R({ ref: t }, o, { className: (0, c.cx)('chakra-accordion__item', r), __css: l }), - (0, f.Pu)(n, { isExpanded: !!a.isOpen, isDisabled: !!a.isDisabled }), - ), - ) - }) - d.Ts && (I.displayName = 'AccordionItem') - var z = (0, i.G)((e, t) => { - var { getButtonProps: n } = N(), - r = n(e, t), - i = R( - { display: 'flex', alignItems: 'center', width: '100%', outline: 0 }, - (0, s.yK)().button, - ) - return p.createElement( - u.m$.button, - R({}, r, { className: (0, c.cx)('chakra-accordion__button', e.className), __css: i }), - ) - }) - d.Ts && (z.displayName = 'AccordionButton') - var H = (0, i.G)((e, t) => { - var { reduceMotion: n } = P(), - { getPanelProps: r, isOpen: i } = N(), - o = r(e, t), - a = (0, c.cx)('chakra-accordion__panel', e.className), - d = (0, s.yK)() - n || delete o.hidden - var f = p.createElement(u.m$.div, R({}, o, { __css: d.panel, className: a })) - return n ? f : p.createElement(l.U, { in: i }, f) - }) - d.Ts && (H.displayName = 'AccordionPanel') - var B = (e) => { - var { isOpen: t, isDisabled: n } = N(), - { reduceMotion: i } = P(), - o = (0, c.cx)('chakra-accordion__icon', e.className), - a = R( - { - opacity: n ? 0.4 : 1, - transform: t ? 'rotate(-180deg)' : void 0, - transition: i ? void 0 : 'transform 0.2s', - transformOrigin: 'center', - }, - (0, s.yK)().icon, - ) - return p.createElement( - r.J, - R({ viewBox: '0 0 24 24', 'aria-hidden': !0, className: o, __css: a }, e), - p.createElement('path', { - fill: 'currentColor', - d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z', - }), - ) - } - d.Ts && (B.displayName = 'AccordionIcon') - }, - 155: function (e, t, n) { - 'use strict' - n.d(t, { - z: function () { - return _ - }, - }) - var r = n(2947), - i = n(917), - o = n(63), - a = n(2326), - s = n(5284), - u = n(3782), - l = n(4461), - c = n(3808), - d = n(5415), - f = n(7294) - function h() { - return (h = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var p = (0, i.F4)({ - '0%': { transform: 'rotate(0deg)' }, - '100%': { transform: 'rotate(360deg)' }, - }), - v = (0, o.G)((e, t) => { - var n = (0, a.m)('Spinner', e), - r = (0, s.Lr)(e), - { - label: i = 'Loading...', - thickness: o = '2px', - speed: c = '0.45s', - emptyColor: v = 'transparent', - className: m, - } = r, - g = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(r, ['label', 'thickness', 'speed', 'emptyColor', 'className']), - y = (0, l.cx)('chakra-spinner', m), - b = h( - { - display: 'inline-block', - borderColor: 'currentColor', - borderStyle: 'solid', - borderRadius: '99999px', - borderWidth: o, - borderBottomColor: v, - borderLeftColor: v, - animation: p + ' ' + c + ' linear infinite', - }, - n, - ) - return f.createElement( - u.m$.div, - h({ ref: t, __css: b, className: y }, g), - i && f.createElement(d.TX, null, i), - ) - }) - c.Ts && (v.displayName = 'Spinner') - var m = n(8554), - g = n.n(m), - y = n(8500) - function b() { - return (b = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var [w, x] = (0, y.k)({ strict: !1, name: 'ButtonGroupContext' }), - E = (0, o.G)((e, t) => { - var { - size: n, - colorScheme: r, - variant: i, - className: o, - spacing: a = '0.5rem', - isAttached: s, - isDisabled: c, - } = e, - d = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'size', - 'colorScheme', - 'variant', - 'className', - 'spacing', - 'isAttached', - 'isDisabled', - ]), - h = (0, l.cx)('chakra-button__group', o), - p = f.useMemo( - () => ({ size: n, colorScheme: r, variant: i, isDisabled: c }), - [n, r, i, c], - ), - v = { display: 'inline-flex' } - return ( - (v = b( - {}, - v, - s - ? { - '> *:first-of-type:not(:last-of-type)': { borderEndRadius: 0 }, - '> *:not(:first-of-type):not(:last-of-type)': { borderRadius: 0 }, - '> *:not(:first-of-type):last-of-type': { borderStartRadius: 0 }, - } - : { '& > *:not(style) ~ *:not(style)': { marginStart: a } }, - )), - f.createElement( - w, - { value: p }, - f.createElement(u.m$.div, b({ ref: t, role: 'group', __css: v, className: h }, d)), - ) - ) - }) - function k(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - function T() { - return (T = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - c.Ts && (E.displayName = 'ButtonGroup') - var _ = (0, o.G)((e, t) => { - var n, - i = x(), - o = (0, a.m)('Button', T({}, i, e)), - c = (0, s.Lr)(e), - { - isDisabled: d = null == i ? void 0 : i.isDisabled, - isLoading: h, - isActive: p, - isFullWidth: v, - children: m, - leftIcon: y, - rightIcon: b, - loadingText: w, - iconSpacing: E = '0.5rem', - type: _, - spinner: S, - spinnerPlacement: A = 'start', - className: P, - as: M, - } = c, - R = k(c, [ - 'isDisabled', - 'isLoading', - 'isActive', - 'isFullWidth', - 'children', - 'leftIcon', - 'rightIcon', - 'loadingText', - 'iconSpacing', - 'type', - 'spinner', - 'spinnerPlacement', - 'className', - 'as', - ]), - j = g()({}, null != (n = null == o ? void 0 : o._focus) ? n : {}, { zIndex: 1 }), - D = T( - { - display: 'inline-flex', - appearance: 'none', - alignItems: 'center', - justifyContent: 'center', - userSelect: 'none', - position: 'relative', - whiteSpace: 'nowrap', - verticalAlign: 'middle', - outline: 'none', - width: v ? '100%' : 'auto', - }, - o, - !!i && { _focus: j }, - ), - { ref: L, type: N } = (function (e) { - var [t, n] = f.useState(!e), - r = f.useCallback((e) => { - e && n('BUTTON' === e.tagName) - }, []), - i = t ? 'button' : void 0 - return { ref: r, type: i } - })(M) - return f.createElement( - u.m$.button, - T( - { - disabled: d || h, - ref: (0, r.l)(t, L), - as: M, - type: null != _ ? _ : N, - 'data-active': (0, l.PB)(p), - 'data-loading': (0, l.PB)(h), - __css: D, - className: (0, l.cx)('chakra-button', P), - }, - R, - ), - y && !h && f.createElement(O, { marginEnd: E }, y), - h && - 'start' === A && - f.createElement( - C, - { className: 'chakra-button__spinner--start', label: w, placement: 'start' }, - S, - ), - h ? w || f.createElement(u.m$.span, { opacity: 0 }, m) : m, - h && - 'end' === A && - f.createElement( - C, - { className: 'chakra-button__spinner--end', label: w, placement: 'end' }, - S, - ), - b && !h && f.createElement(O, { marginStart: E }, b), - ) - }) - c.Ts && (_.displayName = 'Button') - var O = (e) => { - var { children: t, className: n } = e, - r = k(e, ['children', 'className']), - i = f.isValidElement(t) ? f.cloneElement(t, { 'aria-hidden': !0, focusable: !1 }) : t, - o = (0, l.cx)('chakra-button__icon', n) - return f.createElement( - u.m$.span, - T({ display: 'inline-flex', alignSelf: 'center', flexShrink: 0 }, r, { className: o }), - i, - ) - } - c.Ts && (O.displayName = 'ButtonIcon') - var C = (e) => { - var { - label: t, - placement: n, - children: r = f.createElement(v, { - color: 'currentColor', - width: '1em', - height: '1em', - }), - className: i, - __css: o, - } = e, - a = k(e, ['label', 'placement', 'spacing', 'children', 'className', '__css']), - s = (0, l.cx)('chakra-button__spinner', i), - c = T( - { - display: 'flex', - alignItems: 'center', - position: t ? 'relative' : 'absolute', - ['start' === n ? 'marginEnd' : 'marginStart']: t ? '0.5rem' : 0, - fontSize: '1em', - lineHeight: 'normal', - }, - o, - ) - return f.createElement(u.m$.div, T({ className: s }, a, { __css: c }), r) - } - c.Ts && (C.displayName = 'ButtonSpinner') - }, - 8420: function (e, t, n) { - 'use strict' - n.d(t, { - h: function () { - return u - }, - }) - var r = n(63), - i = n(3808), - o = n(7294), - a = n(155) - function s() { - return (s = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var u = (0, r.G)((e, t) => { - var { icon: n, children: r, isRound: i, 'aria-label': u } = e, - l = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, ['icon', 'children', 'isRound', 'aria-label']), - c = n || r, - d = o.isValidElement(c) ? o.cloneElement(c, { 'aria-hidden': !0, focusable: !1 }) : null - return o.createElement( - a.z, - s({ padding: '0', borderRadius: i ? 'full' : void 0, ref: t, 'aria-label': u }, l), - d, - ) - }) - i.Ts && (u.displayName = 'IconButton') - }, - 2300: function (e, t, n) { - 'use strict' - var r = n(3782), - i = n(3808), - o = n(7294) - function a() { - return (a = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var s = (e) => { - var { - type: t = 'checkbox', - _hover: n, - _invalid: i, - _disabled: s, - _focus: u, - _checked: l, - _child: c = { opacity: 0 }, - _checkedAndChild: d = { opacity: 1 }, - _checkedAndDisabled: f, - _checkedAndFocus: h, - _checkedAndHover: p, - children: v, - } = e, - m = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'type', - '_hover', - '_invalid', - '_disabled', - '_focus', - '_checked', - '_child', - '_checkedAndChild', - '_checkedAndDisabled', - '_checkedAndFocus', - '_checkedAndHover', - 'children', - ]), - g = 'input[type=' + t + ']:checked:disabled + &', - y = 'input[type=' + t + ']:checked:hover:not(:disabled) + &', - b = 'input[type=' + t + ']:checked:focus + &', - w = 'input[type=' + t + ']:disabled + &', - x = 'input[type=' + t + ']:focus + &', - E = 'input[type=' + t + ']:hover:not(:disabled):not(:checked) + &', - k = 'input[type=' + t + ']:checked + &, input[type=' + t + '][aria-checked=mixed] + &', - T = 'input[type=' + t + '][aria-invalid=true] + &', - _ = '& > *' - return o.createElement( - r.m$.div, - a({}, m, { - 'aria-hidden': !0, - __css: { - display: 'inline-flex', - alignItems: 'center', - justifyContent: 'center', - transitionProperty: 'common', - transitionDuration: 'fast', - flexShrink: 0, - [x]: u, - [E]: n, - [w]: s, - [T]: i, - [g]: f, - [b]: h, - [y]: p, - [_]: c, - [k]: a({}, l, { [_]: d }), - }, - }), - v, - ) - } - i.Ts && (s.displayName = 'ControlBox') - }, - 1888: function (e, t, n) { - 'use strict' - n.d(t, { - n: function () { - return v - }, - }) - var r = n(8500), - i = n(2947), - o = n(7294) - function a(e) { - return e.sort((e, t) => { - var n = e.compareDocumentPosition(t) - if (n & Node.DOCUMENT_POSITION_FOLLOWING || n & Node.DOCUMENT_POSITION_CONTAINED_BY) - return -1 - if (n & Node.DOCUMENT_POSITION_PRECEDING || n & Node.DOCUMENT_POSITION_CONTAINS) return 1 - if ( - n & Node.DOCUMENT_POSITION_DISCONNECTED || - n & Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC - ) - throw Error('Cannot sort the given nodes.') - return 0 - }) - } - function s(e, t, n) { - var r = e + 1 - return n && r >= t && (r = 0), r - } - function u(e, t, n) { - var r = e - 1 - return n && r < 0 && (r = t), r - } - var l = 'undefined' !== typeof window ? o.useLayoutEffect : o.useEffect - function c() { - return (c = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function d(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - class f { - constructor() { - var e = this - d(this, 'descendants', new Map()), - d(this, 'register', (e) => { - var t - if (null != e) - return 'object' == typeof (t = e) && - 'nodeType' in t && - t.nodeType === Node.ELEMENT_NODE - ? this.registerNode(e) - : (t) => { - this.registerNode(t, e) - } - }), - d(this, 'unregister', (e) => { - this.descendants.delete(e) - var t = a(Array.from(this.descendants.keys())) - this.assignIndex(t) - }), - d(this, 'destroy', () => { - this.descendants.clear() - }), - d(this, 'assignIndex', (e) => { - this.descendants.forEach((t) => { - var n = e.indexOf(t.node) - ;(t.index = n), (t.node.dataset.index = t.index.toString()) - }) - }), - d(this, 'count', () => this.descendants.size), - d(this, 'enabledCount', () => this.enabledValues().length), - d(this, 'values', () => - Array.from(this.descendants.values()).sort((e, t) => e.index - t.index), - ), - d(this, 'enabledValues', () => this.values().filter((e) => !e.disabled)), - d(this, 'item', (e) => { - if (0 !== this.count()) return this.values()[e] - }), - d(this, 'enabledItem', (e) => { - if (0 !== this.enabledCount()) return this.enabledValues()[e] - }), - d(this, 'first', () => this.item(0)), - d(this, 'firstEnabled', () => this.enabledItem(0)), - d(this, 'last', () => this.item(this.descendants.size - 1)), - d(this, 'lastEnabled', () => { - var e = this.enabledValues().length - 1 - return this.enabledItem(e) - }), - d(this, 'indexOf', (e) => { - var t, n - return e && null != (t = null == (n = this.descendants.get(e)) ? void 0 : n.index) - ? t - : -1 - }), - d(this, 'enabledIndexOf', (e) => - null == e ? -1 : this.enabledValues().findIndex((t) => t.node.isSameNode(e)), - ), - d(this, 'next', function (t, n) { - void 0 === n && (n = !0) - var r = s(t, e.count(), n) - return e.item(r) - }), - d(this, 'nextEnabled', function (t, n) { - void 0 === n && (n = !0) - var r = e.item(t) - if (r) { - var i = s(e.enabledIndexOf(r.node), e.enabledCount(), n) - return e.enabledItem(i) - } - }), - d(this, 'prev', function (t, n) { - void 0 === n && (n = !0) - var r = u(t, e.count() - 1, n) - return e.item(r) - }), - d(this, 'prevEnabled', function (t, n) { - void 0 === n && (n = !0) - var r = e.item(t) - if (r) { - var i = u(e.enabledIndexOf(r.node), e.enabledCount() - 1, n) - return e.enabledItem(i) - } - }), - d(this, 'registerNode', (e, t) => { - if (e && !this.descendants.has(e)) { - var n = a(Array.from(this.descendants.keys()).concat(e)) - null != t && t.disabled && (t.disabled = !!t.disabled) - var r = c({ node: e, index: -1 }, t) - this.descendants.set(e, r), this.assignIndex(n) - } - }) - } - } - var [h, p] = (0, r.k)({ - name: 'DescendantsProvider', - errorMessage: 'useDescendantsContext must be used within DescendantsProvider', - }) - function v() { - return [ - h, - () => p(), - () => - (function () { - var [e] = (0, o.useState)(() => new f()) - return l(() => () => e.destroy()), e - })(), - (e) => - (function (e) { - var t = p(), - [n, r] = (0, o.useState)(-1), - a = (0, o.useRef)(null) - l( - () => () => { - a.current && t.unregister(a.current) - }, - [], - ), - l(() => { - if (a.current) { - var e = Number(a.current.dataset.index) - n == e || Number.isNaN(e) || r(e) - } - }) - var s = e ? t.register(e) : t.register - return { - descendants: t, - index: n, - enabledIndex: t.enabledIndexOf(a.current), - register: (0, i.l)(s, a), - } - })(e), - ] - } - }, - 639: function (e, t, n) { - 'use strict' - n.d(t, { - k: function () { - return i - }, - }) - var r = n(7294) - function i(e) { - void 0 === e && (e = !1) - var [t, n] = (0, r.useState)(e) - return [ - t, - { - on: (0, r.useCallback)(() => { - n(!0) - }, []), - off: (0, r.useCallback)(() => { - n(!1) - }, []), - toggle: (0, r.useCallback)(() => { - n((e) => !e) - }, []), - }, - ] - } - }, - 762: function (e, t, n) { - 'use strict' - n.d(t, { - W: function () { - return o - }, - }) - var r = n(7294), - i = n(8327) - function o(e, t) { - void 0 === t && (t = []) - var n = r.useRef(e) - return ( - (0, i.G)(() => { - n.current = e - }), - r.useCallback(function () { - for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r] - return null == n.current ? void 0 : n.current(...t) - }, t) - ) - } - }, - 1034: function (e, t, n) { - 'use strict' - n.d(t, { - p: function () { - return a - }, - T: function () { - return s - }, - }) - var r = n(658), - i = n(7294), - o = n(762) - function a(e, t) { - var n = void 0 !== e - return [n, n && 'undefined' !== typeof e ? e : t] - } - function s(e) { - var { value: t, defaultValue: n, onChange: a, shouldUpdate: s = (e, t) => e !== t } = e, - u = (0, o.W)(a), - l = (0, o.W)(s), - [c, d] = i.useState(n), - f = void 0 !== t, - h = f ? t : c, - p = i.useCallback( - (e) => { - var t = (0, r.Pu)(e, h) - l(h, t) && (f || d(t), u(t)) - }, - [f, u, h, l], - ) - return [h, p] - } - }, - 4860: function (e, t, n) { - 'use strict' - n.d(t, { - q: function () { - return u - }, - }) - var r = n(658), - i = n(7294), - o = n(1034), - a = n(4577) - function s() { - return (s = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function u(e) { - void 0 === e && (e = {}) - var { onClose: t, onOpen: n, isOpen: u, id: l } = e, - [c, d] = i.useState(e.defaultIsOpen || !1), - [f, h] = (0, o.p)(u, c), - p = (0, a.Me)(l, 'disclosure'), - v = i.useCallback(() => { - f || d(!1), null == t || t() - }, [f, t]), - m = i.useCallback(() => { - f || d(!0), null == n || n() - }, [f, n]), - g = i.useCallback(() => { - ;(h ? v : m)() - }, [h, m, v]) - return { - isOpen: !!h, - onOpen: m, - onClose: v, - onToggle: g, - isControlled: f, - getButtonProps: function (e) { - return ( - void 0 === e && (e = {}), - s({}, e, { - 'aria-expanded': 'true', - 'aria-controls': p, - onClick: (0, r.v0)(e.onClick, g), - }) - ) - }, - getDisclosureProps: function (e) { - return void 0 === e && (e = {}), s({}, e, { hidden: !h, id: p }) - }, - } - } - }, - 4941: function (e, t, n) { - 'use strict' - n.d(t, { - O: function () { - return a - }, - }) - var r = n(658), - i = n(7294), - o = n(762) - function a(e, t, n, a) { - var s = (0, o.W)(t) - return ( - i.useEffect(() => { - var t, - i = null != (t = (0, r.Pu)(n)) ? t : document - return ( - i.addEventListener(e, s, a), - () => { - i.removeEventListener(e, s, a) - } - ) - }, [e, n, a, s]), - () => { - var t - ;(null != (t = (0, r.Pu)(n)) ? t : document).removeEventListener(e, s, a) - } - ) - } - }, - 8327: function (e, t, n) { - 'use strict' - n.d(t, { - G: function () { - return i - }, - }) - var r = n(7294), - i = n(4461).jU ? r.useLayoutEffect : r.useEffect - }, - 7581: function (e, t, n) { - 'use strict' - n.d(t, { - z: function () { - return i - }, - }) - var r = n(7294) - function i(e, t) { - return void 0 === t && (t = []), r.useEffect(() => () => e(), t) - } - }, - 2653: function (e, t, n) { - 'use strict' - n.d(t, { - r: function () { - return i - }, - }) - var r = n(7294), - i = (e, t) => { - var n = r.useRef(!1) - return ( - r.useEffect(() => { - if (n.current) return e() - n.current = !0 - }, t), - n.current - ) - } - }, - 9867: function (e, t, n) { - 'use strict' - n.d(t, { - I: function () { - return u - }, - }) - var r = n(63), - i = n(3808), - o = n(7294), - a = n(58) - function s() { - return (s = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function u(e) { - var { viewBox: t = '0 0 24 24', d: n, path: u, displayName: l, defaultProps: c = {} } = e, - d = (0, r.G)((e, r) => - o.createElement( - a.J, - s({ ref: r, viewBox: t }, c, e), - null != u ? u : o.createElement('path', { fill: 'currentColor', d: n }), - ), - ) - return i.Ts && (d.displayName = l), d - } - }, - 58: function (e, t, n) { - 'use strict' - n.d(t, { - J: function () { - return c - }, - }) - var r = n(63), - i = n(3782), - o = n(4461), - a = n(3808), - s = n(7294) - function u() { - return (u = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var l = { - path: s.createElement( - 'g', - { stroke: 'currentColor', strokeWidth: '1.5' }, - s.createElement('path', { - strokeLinecap: 'round', - fill: 'none', - d: 'M9,9a3,3,0,1,1,4,2.829,1.5,1.5,0,0,0-1,1.415V14.25', - }), - s.createElement('path', { - fill: 'currentColor', - strokeLinecap: 'round', - d: 'M12,17.25a.375.375,0,1,0,.375.375A.375.375,0,0,0,12,17.25h0', - }), - s.createElement('circle', { - fill: 'none', - strokeMiterlimit: '10', - cx: '12', - cy: '12', - r: '11.25', - }), - ), - viewBox: '0 0 24 24', - }, - c = (0, r.G)((e, t) => { - var { - as: n, - viewBox: r, - color: a = 'currentColor', - focusable: c = !1, - children: d, - className: f, - __css: h, - } = e, - p = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, ['as', 'viewBox', 'color', 'focusable', 'children', 'className', '__css']), - v = { - ref: t, - focusable: c, - className: (0, o.cx)('chakra-icon', f), - __css: u( - { - w: '1em', - h: '1em', - display: 'inline-block', - lineHeight: '1em', - flexShrink: 0, - color: a, - }, - h, - ), - }, - m = null != r ? r : l.viewBox - if (n && 'string' !== typeof n) return s.createElement(i.m$.svg, u({ as: n }, v, p)) - var g = null != d ? d : l.path - return s.createElement(i.m$.svg, u({ verticalAlign: 'middle', viewBox: m }, v, p), g) - }) - a.Ts && (c.displayName = 'Icon') - }, - 6569: function (e, t, n) { - 'use strict' - n.d(t, { - v: function () { - return r - }, - }) - var r = (0, n(9867).I)({ - displayName: 'ChevronDownIcon', - d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z', - }) - }, - 9641: function (e, t, n) { - 'use strict' - n.d(t, { - T: function () { - return r - }, - }) - var r = (0, n(9867).I)({ - displayName: 'CloseIcon', - d: 'M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z', - }) - }, - 4189: function (e, t, n) { - 'use strict' - n.d(t, { - h: function () { - return o - }, - }) - var r = n(9867), - i = n(7294), - o = (0, r.I)({ - displayName: 'InfoOutlineIcon', - path: i.createElement( - 'g', - { - fill: 'currentColor', - stroke: 'currentColor', - strokeLinecap: 'square', - strokeWidth: '2', - }, - i.createElement('circle', { - cx: '12', - cy: '12', - fill: 'none', - r: '11', - stroke: 'currentColor', - }), - i.createElement('line', { - fill: 'none', - x1: '11.959', - x2: '11.959', - y1: '11', - y2: '17', - }), - i.createElement('circle', { cx: '11.959', cy: '7', r: '1', stroke: 'none' }), - ), - }) - }, - 3986: function (e, t, n) { - 'use strict' - n.d(t, { - A: function () { - return o - }, - }) - var r = n(9867), - i = n(7294), - o = (0, r.I)({ - displayName: 'RepeatClockIcon', - path: i.createElement( - 'g', - { fill: 'currentColor' }, - i.createElement('path', { - d: 'M12.965,6a1,1,0,0,0-1,1v5.5a1,1,0,0,0,1,1h5a1,1,0,0,0,0-2h-3.75a.25.25,0,0,1-.25-.25V7A1,1,0,0,0,12.965,6Z', - }), - i.createElement('path', { - d: 'M12.567,1.258A10.822,10.822,0,0,0,2.818,8.4a.25.25,0,0,1-.271.163L.858,8.309a.514.514,0,0,0-.485.213.5.5,0,0,0-.021.53l2.679,4.7a.5.5,0,0,0,.786.107l3.77-3.746a.5.5,0,0,0-.279-.85L5.593,9.007a.25.25,0,0,1-.192-.35,8.259,8.259,0,1,1,7.866,11.59,1.25,1.25,0,0,0,.045,2.5h.047a10.751,10.751,0,1,0-.792-21.487Z', - }), - ), - }) - }, - 3924: function (e, t, n) { - 'use strict' - n.d(t, { - e: function () { - return r - }, - }) - var r = (0, n(9867).I)({ - viewBox: '0 0 14 14', - d: 'M14,7.77 L14,6.17 L12.06,5.53 L11.61,4.44 L12.49,2.6 L11.36,1.47 L9.55,2.38 L8.46,1.93 L7.77,0.01 L6.17,0.01 L5.54,1.95 L4.43,2.4 L2.59,1.52 L1.46,2.65 L2.37,4.46 L1.92,5.55 L0,6.23 L0,7.82 L1.94,8.46 L2.39,9.55 L1.51,11.39 L2.64,12.52 L4.45,11.61 L5.54,12.06 L6.23,13.98 L7.82,13.98 L8.45,12.04 L9.56,11.59 L11.4,12.47 L12.53,11.34 L11.61,9.53 L12.08,8.44 L14,7.75 L14,7.77 Z M7,10 C5.34,10 4,8.66 4,7 C4,5.34 5.34,4 7,4 C8.66,4 10,5.34 10,7 C10,8.66 8.66,10 7,10 Z', - displayName: 'SettingsIcon', - }) - }, - 8017: function (e, t, n) { - 'use strict' - n.d(t, { - xu: function () { - return l - }, - }) - var r = n(3782), - i = n(63), - o = n(3808), - a = n(7294) - function s() { - return (s = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function u(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var l = (0, r.m$)('div') - o.Ts && (l.displayName = 'Box') - var c = (0, i.G)((e, t) => { - var { size: n, centerContent: r = !0 } = e, - i = u(e, ['size', 'centerContent']), - o = r ? { display: 'flex', alignItems: 'center', justifyContent: 'center' } : {} - return a.createElement( - l, - s({ ref: t, boxSize: n, __css: s({}, o, { flexShrink: 0, flexGrow: 0 }) }, i), - ) - }) - o.Ts && (c.displayName = 'Square') - var d = (0, i.G)((e, t) => { - var { size: n } = e, - r = u(e, ['size']) - return a.createElement(c, s({ size: n, ref: t, borderRadius: '9999px' }, r)) - }) - o.Ts && (d.displayName = 'Circle') - }, - 4096: function (e, t, n) { - 'use strict' - n.d(t, { - k: function () { - return u - }, - }) - var r = n(63), - i = n(3782), - o = n(3808), - a = n(7294) - function s() { - return (s = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var u = (0, r.G)((e, t) => { - var { direction: n, align: r, justify: o, wrap: u, basis: l, grow: c, shrink: d } = e, - f = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, ['direction', 'align', 'justify', 'wrap', 'basis', 'grow', 'shrink']), - h = { - display: 'flex', - flexDirection: n, - alignItems: r, - justifyContent: o, - flexWrap: u, - flexBasis: l, - flexGrow: c, - flexShrink: d, - } - return a.createElement(i.m$.div, s({ ref: t, __css: h }, f)) - }) - o.Ts && (u.displayName = 'Flex') - }, - 336: function (e, t, n) { - 'use strict' - n.d(t, { - X: function () { - return d - }, - }) - var r = n(63), - i = n(2326), - o = n(5284), - a = n(3782), - s = n(4461), - u = n(3808), - l = n(7294) - function c() { - return (c = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var d = (0, r.G)((e, t) => { - var n = (0, i.m)('Heading', e), - r = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })((0, o.Lr)(e), ['className']) - return l.createElement( - a.m$.h2, - c({ ref: t, className: (0, s.cx)('chakra-heading', e.className) }, r, { __css: n }), - ) - }) - u.Ts && (d.displayName = 'Heading') - }, - 2026: function (e, t, n) { - 'use strict' - n.d(t, { - cX: function () { - return h - }, - gC: function () { - return g - }, - }) - var r = n(3782), - i = n(63), - o = n(4461), - a = n(3808), - s = n(4255), - u = n(7294), - l = n(5505) - Object.freeze(['base', 'sm', 'md', 'lg', 'xl', '2xl']) - function c(e, t) { - return (0, a.kJ)(e) - ? e.map((e) => (null === e ? null : t(e))) - : (0, a.Kn)(e) - ? (0, l.Yd)(e).reduce((n, r) => ((n[r] = t(e[r])), n), {}) - : null != e - ? t(e) - : null - } - var d = '& > *:not(style) ~ *:not(style)' - function f() { - return (f = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var h = (e) => - u.createElement( - r.m$.div, - f({ className: 'chakra-stack__divider' }, e, { - __css: f({}, e.__css, { - borderWidth: 0, - alignSelf: 'stretch', - borderColor: 'inherit', - width: 'auto', - height: 'auto', - }), - }), - ), - p = (e) => - u.createElement( - r.m$.div, - f({ className: 'chakra-stack__item' }, e, { - __css: f({ display: 'inline-block', flex: '0 0 auto', minWidth: 0 }, e.__css), - }), - ), - v = (0, i.G)((e, t) => { - var { - isInline: n, - direction: i, - align: a, - justify: l, - spacing: h = '0.5rem', - wrap: v, - children: m, - divider: g, - className: y, - shouldWrapChildren: b, - } = e, - w = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'isInline', - 'direction', - 'align', - 'justify', - 'spacing', - 'wrap', - 'children', - 'divider', - 'className', - 'shouldWrapChildren', - ]), - x = n ? 'row' : null != i ? i : 'column', - E = u.useMemo( - () => - (function (e) { - var { spacing: t, direction: n } = e, - r = { - column: { marginTop: t, marginEnd: 0, marginBottom: 0, marginStart: 0 }, - row: { marginTop: 0, marginEnd: 0, marginBottom: 0, marginStart: t }, - 'column-reverse': { - marginTop: 0, - marginEnd: 0, - marginBottom: t, - marginStart: 0, - }, - 'row-reverse': { - marginTop: 0, - marginEnd: t, - marginBottom: 0, - marginStart: 0, - }, - } - return { flexDirection: n, [d]: c(n, (e) => r[e]) } - })({ direction: x, spacing: h }), - [x, h], - ), - k = u.useMemo( - () => - (function (e) { - var { spacing: t, direction: n } = e, - r = { - column: { my: t, mx: 0, borderLeftWidth: 0, borderBottomWidth: '1px' }, - 'column-reverse': { - my: t, - mx: 0, - borderLeftWidth: 0, - borderBottomWidth: '1px', - }, - row: { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 }, - 'row-reverse': { mx: t, my: 0, borderLeftWidth: '1px', borderBottomWidth: 0 }, - } - return { '&': c(n, (e) => r[e]) } - })({ spacing: h, direction: x }), - [h, x], - ), - T = !!g, - _ = !b && !T, - O = (0, s.W)(m), - C = _ - ? O - : O.map((e, t) => { - var n = t + 1 === O.length, - r = b ? u.createElement(p, { key: t }, e) : e - if (!T) return r - var i = n ? null : u.cloneElement(g, { __css: k }) - return u.createElement(u.Fragment, { key: t }, r, i) - }), - S = (0, o.cx)('chakra-stack', y) - return u.createElement( - r.m$.div, - f( - { - ref: t, - display: 'flex', - alignItems: a, - justifyContent: l, - flexDirection: E.flexDirection, - flexWrap: v, - className: S, - __css: T ? {} : { [d]: E[d] }, - }, - w, - ), - C, - ) - }) - a.Ts && (v.displayName = 'Stack') - var m = (0, i.G)((e, t) => - u.createElement(v, f({ align: 'center' }, e, { direction: 'row', ref: t })), - ) - a.Ts && (m.displayName = 'HStack') - var g = (0, i.G)((e, t) => - u.createElement(v, f({ align: 'center' }, e, { direction: 'column', ref: t })), - ) - a.Ts && (g.displayName = 'VStack') - }, - 4115: function (e, t, n) { - 'use strict' - n.d(t, { - x: function () { - return f - }, - }) - var r = n(63), - i = n(2326), - o = n(5284), - a = n(3782), - s = n(5505), - u = n(4461), - l = n(3808), - c = n(7294) - function d() { - return (d = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var f = (0, r.G)((e, t) => { - var n = (0, i.m)('Text', e), - r = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })((0, o.Lr)(e), ['className', 'align', 'decoration', 'casing']), - l = (0, s.YU)({ - textAlign: e.align, - textDecoration: e.decoration, - textTransform: e.casing, - }) - return c.createElement( - a.m$.p, - d({ ref: t, className: (0, u.cx)('chakra-text', e.className) }, l, r, { __css: n }), - ) - }) - l.Ts && (f.displayName = 'Text') - }, - 8235: function (e, t, n) { - 'use strict' - n.d(t, { - v2: function () { - return G - }, - j2: function () { - return W - }, - sN: function () { - return Y - }, - qy: function () { - return $ - }, - }) - var r = n(2326), - i = n(5284), - o = n(9676), - a = n(63), - s = n(3782), - u = n(658), - l = n(3808), - c = n(4461), - d = n(7554), - f = n(7294), - h = n(2947) - function p() { - return (p = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function v(e) { - var t = e.target, - { tagName: n, isContentEditable: r } = t - return 'INPUT' !== n && 'TEXTAREA' !== n && !0 !== r - } - function m(e) { - void 0 === e && (e = {}) - var { - ref: t, - isDisabled: n, - isFocusable: r, - clickOnEnter: i = !0, - clickOnSpace: o = !0, - onMouseDown: a, - onMouseUp: s, - onClick: u, - onKeyDown: l, - onKeyUp: d, - tabIndex: m, - onMouseOver: g, - onMouseLeave: y, - } = e, - b = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'ref', - 'isDisabled', - 'isFocusable', - 'clickOnEnter', - 'clickOnSpace', - 'onMouseDown', - 'onMouseUp', - 'onClick', - 'onKeyDown', - 'onKeyUp', - 'tabIndex', - 'onMouseOver', - 'onMouseLeave', - ]), - [w, x] = f.useState(!0), - [E, k] = f.useState(!1), - T = (function () { - var e = f.useRef(new Map()), - t = e.current, - n = f.useCallback((t, n, r, i) => { - e.current.set(r, { type: n, el: t, options: i }), t.addEventListener(n, r, i) - }, []), - r = f.useCallback((t, n, r, i) => { - t.removeEventListener(n, r, i), e.current.delete(r) - }, []) - return ( - f.useEffect( - () => () => { - t.forEach((e, t) => { - r(e.el, e.type, t, e.options) - }) - }, - [r, t], - ), - { add: n, remove: r } - ) - })(), - _ = w ? m : m || 0, - O = n && !r, - C = f.useCallback( - (e) => { - if (n) return e.stopPropagation(), void e.preventDefault() - e.currentTarget.focus(), null == u || u(e) - }, - [n, u], - ), - S = f.useCallback( - (e) => { - E && - v(e) && - (e.preventDefault(), e.stopPropagation(), k(!1), T.remove(document, 'keyup', S, !1)) - }, - [E, T], - ), - A = f.useCallback( - (e) => { - if ( - (null == l || l(e), - !(n || e.defaultPrevented || e.metaKey) && v(e.nativeEvent) && !w) - ) { - var t = i && 'Enter' === e.key - if ((o && ' ' === e.key && (e.preventDefault(), k(!0)), t)) - e.preventDefault(), e.currentTarget.click() - T.add(document, 'keyup', S, !1) - } - }, - [n, w, l, i, o, T, S], - ), - P = f.useCallback( - (e) => { - ;(null == d || d(e), n || e.defaultPrevented || e.metaKey) || - (v(e.nativeEvent) && - !w && - o && - ' ' === e.key && - (e.preventDefault(), k(!1), e.currentTarget.click())) - }, - [o, w, n, d], - ), - M = f.useCallback( - (e) => { - 0 === e.button && (k(!1), T.remove(document, 'mouseup', M, !1)) - }, - [T], - ), - R = f.useCallback( - (e) => { - if (!(0, c.dO)(e)) { - if (n) return e.stopPropagation(), void e.preventDefault() - w || k(!0), - e.currentTarget.focus({ preventScroll: !0 }), - T.add(document, 'mouseup', M, !1), - null == a || a(e) - } - }, - [n, w, a, T, M], - ), - j = f.useCallback( - (e) => { - ;(0, c.dO)(e) || (w || k(!1), null == s || s(e)) - }, - [s, w], - ), - D = f.useCallback( - (e) => { - n ? e.preventDefault() : null == g || g(e) - }, - [n, g], - ), - L = f.useCallback( - (e) => { - E && (e.preventDefault(), k(!1)), null == y || y(e) - }, - [E, y], - ), - N = (0, h.l)(t, (e) => { - e && 'BUTTON' !== e.tagName && x(!1) - }) - return p( - {}, - b, - w - ? { - ref: N, - type: 'button', - 'aria-disabled': O ? void 0 : n, - disabled: O, - onClick: C, - onMouseDown: a, - onMouseUp: s, - onKeyUp: d, - onKeyDown: l, - onMouseOver: g, - onMouseLeave: y, - } - : { - ref: N, - role: 'button', - 'data-active': (0, c.PB)(E), - 'aria-disabled': n ? 'true' : void 0, - tabIndex: O ? void 0 : _, - onClick: C, - onMouseDown: R, - onMouseUp: j, - onKeyUp: P, - onKeyDown: A, - onMouseOver: D, - onMouseLeave: L, - }, - ) - } - var g = n(1888), - y = n(4860), - b = n(762) - function w(e, t) { - var n, - r = e.target - if (e.button > 0) return !1 - if (r && !(0, c.lZ)(r).body.contains(r)) return !1 - return !(null != (n = t.current) && n.contains(r)) - } - var x = n(2653), - E = n(7768), - k = n(7248) - function T(e, t) { - var { shouldFocus: n, visible: r, focusRef: i } = t, - o = n && !r - ;(0, x.r)(() => { - if ( - o && - !(function (e) { - var t = e.current - if (!t) return !1 - var n = (0, c.vY)(t) - return !!n && !(0, c.r3)(t, n) && !!(0, E.Wq)(n) - })(e) - ) { - var t = (null == i ? void 0 : i.current) || e.current - t && (0, k.T)(t, { nextTick: !0 }) - } - }, [o, e, i]) - } - var _ = n(4577), - O = n(7581) - function C(e) { - void 0 === e && (e = {}) - var { timeout: t = 300, preventDefault: n = () => !0 } = e, - [r, i] = f.useState([]), - o = f.useRef(), - a = () => { - o.current && (clearTimeout(o.current), (o.current = null)) - } - return ( - f.useEffect(() => a, []), - function (e) { - return (s) => { - if ('Backspace' === s.key) { - var u = [...r] - return u.pop(), void i(u) - } - if ( - (function (e) { - var { key: t } = e - return 1 === t.length || (t.length > 1 && /[^a-zA-Z0-9]/.test(t)) - })(s) - ) { - var l = r.concat(s.key) - n(s) && (s.preventDefault(), s.stopPropagation()), - i(l), - e(l.join('')), - a(), - (o.current = setTimeout(() => { - i([]), (o.current = null) - }, t)) - } - } - } - ) - } - n(1034) - var S = n(8931), - A = n(8500), - P = (n(4255), n(7277)) - function M() { - return (M = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function R(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var [j, D, L, N] = (0, g.n)(), - [I, z] = (0, A.k)({ strict: !1, name: 'MenuContext' }) - function H(e) { - void 0 === e && (e = {}) - var { - id: t, - closeOnSelect: n = !0, - closeOnBlur: r = !0, - autoSelect: i = !0, - isLazy: o, - isOpen: a, - defaultIsOpen: s, - onClose: u, - onOpen: l, - placement: d = 'bottom-start', - lazyBehavior: h = 'unmount', - computePositionOnMount: p, - } = e, - v = R(e, [ - 'id', - 'closeOnSelect', - 'closeOnBlur', - 'autoSelect', - 'isLazy', - 'isOpen', - 'defaultIsOpen', - 'onClose', - 'onOpen', - 'placement', - 'lazyBehavior', - 'computePositionOnMount', - ]), - { - isOpen: m, - onOpen: g, - onClose: E, - onToggle: C, - } = (0, y.q)({ isOpen: a, defaultIsOpen: s, onClose: u, onOpen: l }), - A = f.useRef(null), - P = f.useRef(null) - !(function (e) { - var { ref: t, handler: n } = e, - r = (0, b.W)(n), - i = (0, f.useRef)({ isPointerDown: !1, ignoreEmulatedMouseEvents: !1 }).current - ;(0, f.useEffect)(() => { - var e = (e) => { - w(e, t) && (i.isPointerDown = !0) - }, - o = (e) => { - i.ignoreEmulatedMouseEvents - ? (i.ignoreEmulatedMouseEvents = !1) - : i.isPointerDown && n && w(e, t) && ((i.isPointerDown = !1), r(e)) - }, - a = (e) => { - ;(i.ignoreEmulatedMouseEvents = !0), - n && i.isPointerDown && w(e, t) && ((i.isPointerDown = !1), r(e)) - }, - s = (0, c.lZ)(t.current) - return ( - s.addEventListener('mousedown', e, !0), - s.addEventListener('mouseup', o, !0), - s.addEventListener('touchstart', e, !0), - s.addEventListener('touchend', a, !0), - () => { - s.removeEventListener('mousedown', e, !0), - s.removeEventListener('mouseup', o, !0), - s.removeEventListener('touchstart', e, !0), - s.removeEventListener('touchend', a, !0) - } - ) - }, [n, t, r, i]) - })({ - ref: A, - handler: (e) => { - var t - !m || !r || (null != (t = P.current) && t.contains(e.target)) || E() - }, - }) - var j = (0, S.D)(M({}, v, { enabled: m || p, placement: d })), - [D, N] = f.useState(-1), - I = L() - ;(0, x.r)(() => { - m || N(-1) - }, [m]), - T(A, { focusRef: P, visible: m, shouldFocus: !0 }) - var [z, H] = (0, _.ZS)(t, 'menu-button', 'menu-list'), - B = f.useCallback(() => { - g(), (0, k.T)(A.current, { nextTick: !0, selectTextIfInput: !1 }) - }, [g, A]), - F = f.useRef(new Set([])) - return ( - (0, O.z)(() => { - F.current.forEach((e) => clearTimeout(e)), F.current.clear() - }), - { - openAndFocusMenu: B, - openAndFocusFirstItem: f.useCallback(() => { - g() - var e = setTimeout(() => { - var e = I.firstEnabled() - e && N(e.index) - }) - F.current.add(e) - }, [g, N, I]), - openAndFocusLastItem: f.useCallback(() => { - g() - var e = setTimeout(() => { - var e = I.lastEnabled() - e && N(e.index) - }) - F.current.add(e) - }, [g, N, I]), - onTransitionEnd: f.useCallback(() => { - var e, - t, - n = (0, c.lZ)(A.current), - r = null == (e = A.current) ? void 0 : e.contains(n.activeElement) - if (m && !r) { - var i = null == (t = I.item(D)) ? void 0 : t.node - i && (0, k.T)(i, { selectTextIfInput: !1 }) - } - }, [m, D, I]), - descendants: I, - popper: j, - buttonId: z, - menuId: H, - forceUpdate: j.forceUpdate, - orientation: 'vertical', - isOpen: m, - onToggle: C, - onOpen: g, - onClose: E, - menuRef: A, - buttonRef: P, - focusedIndex: D, - closeOnSelect: n, - closeOnBlur: r, - autoSelect: i, - setFocusedIndex: N, - isLazy: o, - lazyBehavior: h, - } - ) - } - function B(e) { - var t - return ( - e instanceof HTMLElement && - !(null == (t = e.getAttribute('role')) || !t.startsWith('menuitem')) - ) - } - function F(e, t) { - void 0 === e && (e = {}), void 0 === t && (t = null) - var { - onMouseEnter: n, - onMouseMove: r, - onMouseLeave: i, - onClick: o, - isDisabled: a, - isFocusable: s, - closeOnSelect: u, - } = e, - l = R(e, [ - 'onMouseEnter', - 'onMouseMove', - 'onMouseLeave', - 'onClick', - 'isDisabled', - 'isFocusable', - 'closeOnSelect', - ]), - c = z(), - { - setFocusedIndex: d, - focusedIndex: p, - closeOnSelect: v, - onClose: g, - menuRef: y, - isOpen: b, - menuId: w, - } = c, - T = f.useRef(null), - O = w + '-menuitem-' + (0, _.Me)(), - { index: C, register: S } = N({ disabled: a && !s }), - A = f.useCallback( - (e) => { - null == n || n(e), a || d(C) - }, - [d, C, a, n], - ), - P = f.useCallback( - (e) => { - null == r || r(e), T.current && !(0, E.H9)(T.current) && A(e) - }, - [A, r], - ), - j = f.useCallback( - (e) => { - null == i || i(e), a || d(-1) - }, - [d, a, i], - ), - D = f.useCallback( - (e) => { - null == o || o(e), B(e.currentTarget) && (null != u ? u : v) && g() - }, - [g, o, v, u], - ), - L = C === p, - I = a && !s - return ( - (0, x.r)(() => { - b && - (L && !I && T.current - ? (0, k.T)(T.current, { nextTick: !0, selectTextIfInput: !1 }) - : y.current && !(0, E.H9)(y.current) && (0, k.T)(y.current)) - }, [L, I, y, b]), - M( - {}, - l, - m({ - onClick: D, - onMouseEnter: A, - onMouseMove: P, - onMouseLeave: j, - ref: (0, h.l)(S, T, t), - isDisabled: a, - isFocusable: s, - }), - { id: O, role: 'menuitem', tabIndex: L ? 0 : -1 }, - ) - ) - } - function V() { - return (V = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function U(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var G = (e) => { - var { children: t } = e, - n = (0, r.j)('Menu', e), - a = H((0, i.Lr)(e)), - { descendants: s } = a, - l = U(a, ['descendants']), - c = f.useMemo(() => l, [l]), - { isOpen: d, onClose: h, forceUpdate: p } = c - return f.createElement( - j, - { value: s }, - f.createElement( - I, - { value: c }, - f.createElement( - o.Fo, - { value: n }, - (0, u.Pu)(t, { isOpen: d, onClose: h, forceUpdate: p }), - ), - ), - ) - } - l.Ts && (G.displayName = 'Menu') - var q = (0, a.G)((e, t) => { - var n = (0, o.yK)() - return f.createElement( - s.m$.button, - V({ ref: t }, e, { - __css: V( - { display: 'inline-flex', appearance: 'none', alignItems: 'center', outline: 0 }, - n.button, - ), - }), - ) - }), - W = (0, a.G)((e, t) => { - var { as: n } = e, - r = (function (e, t) { - void 0 === e && (e = {}), void 0 === t && (t = null) - var n = z(), - { - isOpen: r, - onClose: i, - autoSelect: o, - popper: a, - openAndFocusFirstItem: s, - openAndFocusLastItem: l, - openAndFocusMenu: d, - } = n, - p = f.useCallback(() => { - r ? i() : (o ? s : d)() - }, [o, r, i, s, d]), - v = f.useCallback( - (e) => { - var t = (0, c.uh)(e), - n = { Enter: s, ArrowDown: s, ArrowUp: l }[t] - n && (e.preventDefault(), e.stopPropagation(), n(e)) - }, - [s, l], - ) - return M({}, e, { - ref: (0, h.l)(n.buttonRef, t, a.referenceRef), - id: n.buttonId, - 'data-active': (0, c.PB)(n.isOpen), - 'aria-expanded': n.isOpen, - 'aria-haspopup': 'menu', - 'aria-controls': n.menuId, - onClick: (0, u.v0)(e.onClick, p), - onKeyDown: (0, u.v0)(e.onKeyDown, v), - }) - })(U(e, ['children', 'as']), t), - i = n || q - return f.createElement( - i, - V({}, r, { className: (0, c.cx)('chakra-menu__menu-button', e.className) }), - f.createElement( - s.m$.span, - { __css: { pointerEvents: 'none', flex: '1 1 auto', minW: 0 } }, - e.children, - ), - ) - }) - l.Ts && (W.displayName = 'MenuButton') - var K = { - enter: { - visibility: 'visible', - opacity: 1, - scale: 1, - transition: { duration: 0.2, ease: [0.4, 0, 0.2, 1] }, - }, - exit: { - transitionEnd: { visibility: 'hidden' }, - opacity: 0, - scale: 0.8, - transition: { duration: 0.1, easings: 'easeOut' }, - }, - }, - Z = 'custom' in d.E ? d.E.custom(s.m$.div) : (0, d.E)(s.m$.div), - $ = (0, a.G)((e, t) => { - var n, - r, - { rootProps: i } = e, - a = U(e, ['rootProps']), - { isOpen: l, onTransitionEnd: d } = z(), - p = (function (e, t) { - void 0 === e && (e = {}), void 0 === t && (t = null) - var n = z() - if (!n) - throw new Error( - 'useMenuContext: context is undefined. Seems you forgot to wrap component within <Menu>', - ) - var { - focusedIndex: r, - setFocusedIndex: i, - menuRef: o, - isOpen: a, - onClose: s, - menuId: l, - isLazy: d, - lazyBehavior: p, - } = n, - v = D(), - m = C({ preventDefault: (e) => ' ' !== e.key && B(e.target) }), - g = f.useCallback( - (e) => { - var t = (0, c.uh)(e), - n = { - Tab: (e) => e.preventDefault(), - Escape: s, - ArrowDown: () => { - var e = v.nextEnabled(r) - e && i(e.index) - }, - ArrowUp: () => { - var e = v.prevEnabled(r) - e && i(e.index) - }, - }[t] - if (n) return e.preventDefault(), void n(e) - var o = m((e) => { - var t = (0, P.LP)( - v.values(), - e, - (e) => { - var t, n - return null != - (t = null == e || null == (n = e.node) ? void 0 : n.textContent) - ? t - : '' - }, - v.item(r), - ) - if (t) { - var n = v.indexOf(t.node) - i(n) - } - }) - B(e.target) && o(e) - }, - [v, r, m, s, i], - ), - y = f.useRef(!1) - a && (y.current = !0) - var b = (function (e) { - var { - hasBeenSelected: t, - isLazy: n, - isSelected: r, - lazyBehavior: i = 'unmount', - } = e - return !n || !!r || !('keepMounted' !== i || !t) - })({ hasBeenSelected: y.current, isLazy: d, lazyBehavior: p, isSelected: a }) - return M({}, e, { - ref: (0, h.l)(o, t), - children: b ? e.children : null, - tabIndex: -1, - role: 'menu', - id: l, - style: M({}, e.style, { transformOrigin: 'var(--popper-transform-origin)' }), - 'aria-orientation': 'vertical', - onKeyDown: (0, u.v0)(e.onKeyDown, g), - }) - })(a, t), - v = (function (e) { - void 0 === e && (e = {}) - var { popper: t, isOpen: n } = z() - return t.getPopperProps( - M({}, e, { style: M({ visibility: n ? 'visible' : 'hidden' }, e.style) }), - ) - })(i), - m = (0, o.yK)() - return f.createElement( - s.m$.div, - V({}, v, { - __css: { - zIndex: null != (n = e.zIndex) ? n : null == (r = m.list) ? void 0 : r.zIndex, - }, - }), - f.createElement( - Z, - V({}, p, { - onUpdate: d, - className: (0, c.cx)('chakra-menu__menu-list', p.className), - variants: K, - initial: !1, - animate: l ? 'enter' : 'exit', - __css: V({ outline: 0 }, m.list), - }), - ), - ) - }) - l.Ts && ($.displayName = 'MenuList') - var X = (0, a.G)((e, t) => { - var { type: n } = e, - r = U(e, ['type']), - i = (0, o.yK)(), - a = r.as ? (null != n ? n : void 0) : 'button', - u = V( - { - textDecoration: 'none', - color: 'inherit', - userSelect: 'none', - display: 'flex', - width: '100%', - alignItems: 'center', - textAlign: 'start', - flex: '0 0 auto', - outline: 0, - }, - i.item, - ) - return f.createElement(s.m$.button, V({ ref: t, type: a }, r, { __css: u })) - }), - Y = (0, a.G)((e, t) => { - var { - icon: n, - iconSpacing: r = '0.75rem', - command: i, - commandSpacing: o = '0.75rem', - children: a, - } = e, - s = F(U(e, ['icon', 'iconSpacing', 'command', 'commandSpacing', 'children']), t), - u = - n || i ? f.createElement('span', { style: { pointerEvents: 'none', flex: 1 } }, a) : a - return f.createElement( - X, - V({}, s, { className: (0, c.cx)('chakra-menu__menuitem', s.className) }), - n && f.createElement(ne, { fontSize: '0.8em', marginEnd: r }, n), - u, - i && f.createElement(te, { marginStart: o }, i), - ) - }) - l.Ts && (Y.displayName = 'MenuItem') - var Q = (e) => - f.createElement( - 'svg', - V({ viewBox: '0 0 14 14', width: '1em', height: '1em' }, e), - f.createElement('polygon', { - fill: 'currentColor', - points: - '5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039', - }), - ), - J = (0, a.G)((e, t) => { - var { icon: n, iconSpacing: r = '0.75rem' } = e, - i = U(e, ['icon', 'iconSpacing']), - o = (function (e, t) { - void 0 === e && (e = {}), void 0 === t && (t = null) - var { type: n = 'radio', isChecked: r } = e - return M({}, F(R(e, ['type', 'isChecked']), t), { - role: 'menuitem' + n, - 'aria-checked': r, - }) - })(i, t) - return f.createElement( - X, - V({}, o, { className: (0, c.cx)('chakra-menu__menuitem-option', i.className) }), - f.createElement( - ne, - { fontSize: '0.8em', marginEnd: r, opacity: e.isChecked ? 1 : 0 }, - n || f.createElement(Q, null), - ), - f.createElement('span', { style: { flex: 1 } }, o.children), - ) - }) - ;(J.id = 'MenuItemOption'), l.Ts && (J.displayName = 'MenuItemOption') - l.Ts - var ee = (0, a.G)((e, t) => { - var { title: n, children: r, className: i } = e, - a = U(e, ['title', 'children', 'className']), - u = (0, c.cx)('chakra-menu__group__title', i), - l = (0, o.yK)() - return f.createElement( - 'div', - { ref: t, className: 'chakra-menu__group', role: 'group' }, - n && f.createElement(s.m$.p, V({ className: u }, a, { __css: l.groupTitle }), n), - r, - ) - }) - l.Ts && (ee.displayName = 'MenuGroup') - var te = (0, a.G)((e, t) => { - var n = (0, o.yK)() - return f.createElement( - s.m$.span, - V({ ref: t }, e, { __css: n.command, className: 'chakra-menu__command' }), - ) - }) - l.Ts && (te.displayName = 'MenuCommand') - var ne = (e) => { - var { className: t, children: n } = e, - r = U(e, ['className', 'children']), - i = f.Children.only(n), - o = f.isValidElement(i) - ? f.cloneElement(i, { - focusable: 'false', - 'aria-hidden': !0, - className: (0, c.cx)('chakra-menu__icon', i.props.className), - }) - : null, - a = (0, c.cx)('chakra-menu__icon-wrapper', t) - return f.createElement(s.m$.span, V({ className: a }, r, { __css: { flexShrink: 0 } }), o) - } - l.Ts && (ne.displayName = 'MenuIcon') - l.Ts - }, - 8931: function (e, t, n) { - 'use strict' - n.d(t, { - D: function () { - return be - }, - }) - var r = n(2947) - function i(e) { - var t = e.getBoundingClientRect() - return { - width: t.width, - height: t.height, - top: t.top, - right: t.right, - bottom: t.bottom, - left: t.left, - x: t.left, - y: t.top, - } - } - function o(e) { - if ('[object Window]' !== e.toString()) { - var t = e.ownerDocument - return t ? t.defaultView : window - } - return e - } - function a(e) { - var t = o(e) - return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset } - } - function s(e) { - return e instanceof o(e).Element || e instanceof Element - } - function u(e) { - return e instanceof o(e).HTMLElement || e instanceof HTMLElement - } - function l(e) { - return e ? (e.nodeName || '').toLowerCase() : null - } - function c(e) { - return (s(e) ? e.ownerDocument : e.document).documentElement - } - function d(e) { - return i(c(e)).left + a(e).scrollLeft - } - function f(e) { - return o(e).getComputedStyle(e) - } - function h(e) { - var t = f(e), - n = t.overflow, - r = t.overflowX, - i = t.overflowY - return /auto|scroll|overlay|hidden/.test(n + i + r) - } - function p(e, t, n) { - void 0 === n && (n = !1) - var r = c(t), - s = i(e), - f = u(t), - p = { scrollLeft: 0, scrollTop: 0 }, - v = { x: 0, y: 0 } - return ( - (f || (!f && !n)) && - (('body' !== l(t) || h(r)) && - (p = (function (e) { - return e !== o(e) && u(e) - ? { scrollLeft: (t = e).scrollLeft, scrollTop: t.scrollTop } - : a(e) - var t - })(t)), - u(t) ? (((v = i(t)).x += t.clientLeft), (v.y += t.clientTop)) : r && (v.x = d(r))), - { - x: s.left + p.scrollLeft - v.x, - y: s.top + p.scrollTop - v.y, - width: s.width, - height: s.height, - } - ) - } - function v(e) { - return { x: e.offsetLeft, y: e.offsetTop, width: e.offsetWidth, height: e.offsetHeight } - } - function m(e) { - return 'html' === l(e) ? e : e.assignedSlot || e.parentNode || e.host || c(e) - } - function g(e) { - return ['html', 'body', '#document'].indexOf(l(e)) >= 0 - ? e.ownerDocument.body - : u(e) && h(e) - ? e - : g(m(e)) - } - function y(e, t) { - void 0 === t && (t = []) - var n = g(e), - r = 'body' === l(n), - i = o(n), - a = r ? [i].concat(i.visualViewport || [], h(n) ? n : []) : n, - s = t.concat(a) - return r ? s : s.concat(y(m(a))) - } - function b(e) { - return ['table', 'td', 'th'].indexOf(l(e)) >= 0 - } - function w(e) { - if (!u(e) || 'fixed' === f(e).position) return null - var t = e.offsetParent - if (t) { - var n = c(t) - if ('body' === l(t) && 'static' === f(t).position && 'static' !== f(n).position) return n - } - return t - } - function x(e) { - for (var t = o(e), n = w(e); n && b(n) && 'static' === f(n).position; ) n = w(n) - return n && 'body' === l(n) && 'static' === f(n).position - ? t - : n || - (function (e) { - for (var t = m(e); u(t) && ['html', 'body'].indexOf(l(t)) < 0; ) { - var n = f(t) - if ( - 'none' !== n.transform || - 'none' !== n.perspective || - (n.willChange && 'auto' !== n.willChange) - ) - return t - t = t.parentNode - } - return null - })(e) || - t - } - var E = 'top', - k = 'bottom', - T = 'right', - _ = 'left', - O = 'auto', - C = [E, k, T, _], - S = 'start', - A = 'end', - P = 'viewport', - M = 'popper', - R = C.reduce(function (e, t) { - return e.concat([t + '-' + S, t + '-' + A]) - }, []), - j = [].concat(C, [O]).reduce(function (e, t) { - return e.concat([t, t + '-' + S, t + '-' + A]) - }, []), - D = [ - 'beforeRead', - 'read', - 'afterRead', - 'beforeMain', - 'main', - 'afterMain', - 'beforeWrite', - 'write', - 'afterWrite', - ] - function L(e) { - var t = new Map(), - n = new Set(), - r = [] - function i(e) { - n.add(e.name), - [].concat(e.requires || [], e.requiresIfExists || []).forEach(function (e) { - if (!n.has(e)) { - var r = t.get(e) - r && i(r) - } - }), - r.push(e) - } - return ( - e.forEach(function (e) { - t.set(e.name, e) - }), - e.forEach(function (e) { - n.has(e.name) || i(e) - }), - r - ) - } - function N(e) { - var t - return function () { - return ( - t || - (t = new Promise(function (n) { - Promise.resolve().then(function () { - ;(t = void 0), n(e()) - }) - })), - t - ) - } - } - var I = { placement: 'bottom', modifiers: [], strategy: 'absolute' } - function z() { - for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n] - return !t.some(function (e) { - return !(e && 'function' === typeof e.getBoundingClientRect) - }) - } - function H(e) { - void 0 === e && (e = {}) - var t = e, - n = t.defaultModifiers, - r = void 0 === n ? [] : n, - i = t.defaultOptions, - o = void 0 === i ? I : i - return function (e, t, n) { - void 0 === n && (n = o) - var i = { - placement: 'bottom', - orderedModifiers: [], - options: Object.assign(Object.assign({}, I), o), - modifiersData: {}, - elements: { reference: e, popper: t }, - attributes: {}, - styles: {}, - }, - a = [], - u = !1, - l = { - state: i, - setOptions: function (n) { - c(), - (i.options = Object.assign(Object.assign(Object.assign({}, o), i.options), n)), - (i.scrollParents = { - reference: s(e) ? y(e) : e.contextElement ? y(e.contextElement) : [], - popper: y(t), - }) - var u = (function (e) { - var t = L(e) - return D.reduce(function (e, n) { - return e.concat( - t.filter(function (e) { - return e.phase === n - }), - ) - }, []) - })( - (function (e) { - var t = e.reduce(function (e, t) { - var n = e[t.name] - return ( - (e[t.name] = n - ? Object.assign( - Object.assign(Object.assign({}, n), t), - {}, - { - options: Object.assign(Object.assign({}, n.options), t.options), - data: Object.assign(Object.assign({}, n.data), t.data), - }, - ) - : t), - e - ) - }, {}) - return Object.keys(t).map(function (e) { - return t[e] - }) - })([].concat(r, i.options.modifiers)), - ) - return ( - (i.orderedModifiers = u.filter(function (e) { - return e.enabled - })), - i.orderedModifiers.forEach(function (e) { - var t = e.name, - n = e.options, - r = void 0 === n ? {} : n, - o = e.effect - if ('function' === typeof o) { - var s = o({ state: i, name: t, instance: l, options: r }), - u = function () {} - a.push(s || u) - } - }), - l.update() - ) - }, - forceUpdate: function () { - if (!u) { - var e = i.elements, - t = e.reference, - n = e.popper - if (z(t, n)) { - ;(i.rects = { - reference: p(t, x(n), 'fixed' === i.options.strategy), - popper: v(n), - }), - (i.reset = !1), - (i.placement = i.options.placement), - i.orderedModifiers.forEach(function (e) { - return (i.modifiersData[e.name] = Object.assign({}, e.data)) - }) - for (var r = 0; r < i.orderedModifiers.length; r++) - if (!0 !== i.reset) { - var o = i.orderedModifiers[r], - a = o.fn, - s = o.options, - c = void 0 === s ? {} : s, - d = o.name - 'function' === typeof a && - (i = a({ state: i, options: c, name: d, instance: l }) || i) - } else (i.reset = !1), (r = -1) - } - } - }, - update: N(function () { - return new Promise(function (e) { - l.forceUpdate(), e(i) - }) - }), - destroy: function () { - c(), (u = !0) - }, - } - if (!z(e, t)) return l - function c() { - a.forEach(function (e) { - return e() - }), - (a = []) - } - return ( - l.setOptions(n).then(function (e) { - !u && n.onFirstUpdate && n.onFirstUpdate(e) - }), - l - ) - } - } - var B = { passive: !0 } - function F(e) { - return e.split('-')[0] - } - function V(e) { - return e.split('-')[1] - } - function U(e) { - return ['top', 'bottom'].indexOf(e) >= 0 ? 'x' : 'y' - } - function G(e) { - var t, - n = e.reference, - r = e.element, - i = e.placement, - o = i ? F(i) : null, - a = i ? V(i) : null, - s = n.x + n.width / 2 - r.width / 2, - u = n.y + n.height / 2 - r.height / 2 - switch (o) { - case E: - t = { x: s, y: n.y - r.height } - break - case k: - t = { x: s, y: n.y + n.height } - break - case T: - t = { x: n.x + n.width, y: u } - break - case _: - t = { x: n.x - r.width, y: u } - break - default: - t = { x: n.x, y: n.y } - } - var l = o ? U(o) : null - if (null != l) { - var c = 'y' === l ? 'height' : 'width' - switch (a) { - case S: - t[l] = Math.floor(t[l]) - Math.floor(n[c] / 2 - r[c] / 2) - break - case A: - t[l] = Math.floor(t[l]) + Math.ceil(n[c] / 2 - r[c] / 2) - } - } - return t - } - var q = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' } - function W(e) { - var t, - n = e.popper, - r = e.popperRect, - i = e.placement, - a = e.offsets, - s = e.position, - u = e.gpuAcceleration, - l = e.adaptive, - d = (function (e) { - var t = e.x, - n = e.y, - r = window.devicePixelRatio || 1 - return { x: Math.round(t * r) / r || 0, y: Math.round(n * r) / r || 0 } - })(a), - f = d.x, - h = d.y, - p = a.hasOwnProperty('x'), - v = a.hasOwnProperty('y'), - m = _, - g = E, - y = window - if (l) { - var b = x(n) - b === o(n) && (b = c(n)), - i === E && ((g = k), (h -= b.clientHeight - r.height), (h *= u ? 1 : -1)), - i === _ && ((m = T), (f -= b.clientWidth - r.width), (f *= u ? 1 : -1)) - } - var w, - O = Object.assign({ position: s }, l && q) - return u - ? Object.assign( - Object.assign({}, O), - {}, - (((w = {})[g] = v ? '0' : ''), - (w[m] = p ? '0' : ''), - (w.transform = - (y.devicePixelRatio || 1) < 2 - ? 'translate(' + f + 'px, ' + h + 'px)' - : 'translate3d(' + f + 'px, ' + h + 'px, 0)'), - w), - ) - : Object.assign( - Object.assign({}, O), - {}, - (((t = {})[g] = v ? h + 'px' : ''), - (t[m] = p ? f + 'px' : ''), - (t.transform = ''), - t), - ) - } - var K = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' } - function Z(e) { - return e.replace(/left|right|bottom|top/g, function (e) { - return K[e] - }) - } - var $ = { start: 'end', end: 'start' } - function X(e) { - return e.replace(/start|end/g, function (e) { - return $[e] - }) - } - function Y(e, t) { - var n = Boolean(t.getRootNode && t.getRootNode().host) - if (e.contains(t)) return !0 - if (n) { - var r = t - do { - if (r && e.isSameNode(r)) return !0 - r = r.parentNode || r.host - } while (r) - } - return !1 - } - function Q(e) { - return Object.assign( - Object.assign({}, e), - {}, - { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height }, - ) - } - function J(e, t) { - return t === P - ? Q( - (function (e) { - var t = o(e), - n = c(e), - r = t.visualViewport, - i = n.clientWidth, - a = n.clientHeight, - s = 0, - u = 0 - return ( - r && - ((i = r.width), - (a = r.height), - /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || - ((s = r.offsetLeft), (u = r.offsetTop))), - { width: i, height: a, x: s + d(e), y: u } - ) - })(e), - ) - : u(t) - ? (function (e) { - var t = i(e) - return ( - (t.top = t.top + e.clientTop), - (t.left = t.left + e.clientLeft), - (t.bottom = t.top + e.clientHeight), - (t.right = t.left + e.clientWidth), - (t.width = e.clientWidth), - (t.height = e.clientHeight), - (t.x = t.left), - (t.y = t.top), - t - ) - })(t) - : Q( - (function (e) { - var t = c(e), - n = a(e), - r = e.ownerDocument.body, - i = Math.max( - t.scrollWidth, - t.clientWidth, - r ? r.scrollWidth : 0, - r ? r.clientWidth : 0, - ), - o = Math.max( - t.scrollHeight, - t.clientHeight, - r ? r.scrollHeight : 0, - r ? r.clientHeight : 0, - ), - s = -n.scrollLeft + d(e), - u = -n.scrollTop - return ( - 'rtl' === f(r || t).direction && - (s += Math.max(t.clientWidth, r ? r.clientWidth : 0) - i), - { width: i, height: o, x: s, y: u } - ) - })(c(e)), - ) - } - function ee(e, t, n) { - var r = - 'clippingParents' === t - ? (function (e) { - var t = y(m(e)), - n = ['absolute', 'fixed'].indexOf(f(e).position) >= 0 && u(e) ? x(e) : e - return s(n) - ? t.filter(function (e) { - return s(e) && Y(e, n) && 'body' !== l(e) - }) - : [] - })(e) - : [].concat(t), - i = [].concat(r, [n]), - o = i[0], - a = i.reduce(function (t, n) { - var r = J(e, n) - return ( - (t.top = Math.max(r.top, t.top)), - (t.right = Math.min(r.right, t.right)), - (t.bottom = Math.min(r.bottom, t.bottom)), - (t.left = Math.max(r.left, t.left)), - t - ) - }, J(e, o)) - return ( - (a.width = a.right - a.left), - (a.height = a.bottom - a.top), - (a.x = a.left), - (a.y = a.top), - a - ) - } - function te(e) { - return Object.assign(Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }), e) - } - function ne(e, t) { - return t.reduce(function (t, n) { - return (t[n] = e), t - }, {}) - } - function re(e, t) { - void 0 === t && (t = {}) - var n = t, - r = n.placement, - o = void 0 === r ? e.placement : r, - a = n.boundary, - u = void 0 === a ? 'clippingParents' : a, - l = n.rootBoundary, - d = void 0 === l ? P : l, - f = n.elementContext, - h = void 0 === f ? M : f, - p = n.altBoundary, - v = void 0 !== p && p, - m = n.padding, - g = void 0 === m ? 0 : m, - y = te('number' !== typeof g ? g : ne(g, C)), - b = h === M ? 'reference' : M, - w = e.elements.reference, - x = e.rects.popper, - _ = e.elements[v ? b : h], - O = ee(s(_) ? _ : _.contextElement || c(e.elements.popper), u, d), - S = i(w), - A = G({ reference: S, element: x, strategy: 'absolute', placement: o }), - R = Q(Object.assign(Object.assign({}, x), A)), - j = h === M ? R : S, - D = { - top: O.top - j.top + y.top, - bottom: j.bottom - O.bottom + y.bottom, - left: O.left - j.left + y.left, - right: j.right - O.right + y.right, - }, - L = e.modifiersData.offset - if (h === M && L) { - var N = L[o] - Object.keys(D).forEach(function (e) { - var t = [T, k].indexOf(e) >= 0 ? 1 : -1, - n = [E, k].indexOf(e) >= 0 ? 'y' : 'x' - D[e] += N[n] * t - }) - } - return D - } - function ie(e, t, n) { - return Math.max(e, Math.min(t, n)) - } - function oe(e, t, n) { - return ( - void 0 === n && (n = { x: 0, y: 0 }), - { - top: e.top - t.height - n.y, - right: e.right - t.width + n.x, - bottom: e.bottom - t.height + n.y, - left: e.left - t.width - n.x, - } - ) - } - function ae(e) { - return [E, T, k, _].some(function (t) { - return e[t] >= 0 - }) - } - var se = H({ - defaultModifiers: [ - { - name: 'eventListeners', - enabled: !0, - phase: 'write', - fn: function () {}, - effect: function (e) { - var t = e.state, - n = e.instance, - r = e.options, - i = r.scroll, - a = void 0 === i || i, - s = r.resize, - u = void 0 === s || s, - l = o(t.elements.popper), - c = [].concat(t.scrollParents.reference, t.scrollParents.popper) - return ( - a && - c.forEach(function (e) { - e.addEventListener('scroll', n.update, B) - }), - u && l.addEventListener('resize', n.update, B), - function () { - a && - c.forEach(function (e) { - e.removeEventListener('scroll', n.update, B) - }), - u && l.removeEventListener('resize', n.update, B) - } - ) - }, - data: {}, - }, - { - name: 'popperOffsets', - enabled: !0, - phase: 'read', - fn: function (e) { - var t = e.state, - n = e.name - t.modifiersData[n] = G({ - reference: t.rects.reference, - element: t.rects.popper, - strategy: 'absolute', - placement: t.placement, - }) - }, - data: {}, - }, - { - name: 'computeStyles', - enabled: !0, - phase: 'beforeWrite', - fn: function (e) { - var t = e.state, - n = e.options, - r = n.gpuAcceleration, - i = void 0 === r || r, - o = n.adaptive, - a = void 0 === o || o, - s = { - placement: F(t.placement), - popper: t.elements.popper, - popperRect: t.rects.popper, - gpuAcceleration: i, - } - null != t.modifiersData.popperOffsets && - (t.styles.popper = Object.assign( - Object.assign({}, t.styles.popper), - W( - Object.assign( - Object.assign({}, s), - {}, - { - offsets: t.modifiersData.popperOffsets, - position: t.options.strategy, - adaptive: a, - }, - ), - ), - )), - null != t.modifiersData.arrow && - (t.styles.arrow = Object.assign( - Object.assign({}, t.styles.arrow), - W( - Object.assign( - Object.assign({}, s), - {}, - { offsets: t.modifiersData.arrow, position: 'absolute', adaptive: !1 }, - ), - ), - )), - (t.attributes.popper = Object.assign( - Object.assign({}, t.attributes.popper), - {}, - { 'data-popper-placement': t.placement }, - )) - }, - data: {}, - }, - { - name: 'applyStyles', - enabled: !0, - phase: 'write', - fn: function (e) { - var t = e.state - Object.keys(t.elements).forEach(function (e) { - var n = t.styles[e] || {}, - r = t.attributes[e] || {}, - i = t.elements[e] - u(i) && - l(i) && - (Object.assign(i.style, n), - Object.keys(r).forEach(function (e) { - var t = r[e] - !1 === t ? i.removeAttribute(e) : i.setAttribute(e, !0 === t ? '' : t) - })) - }) - }, - effect: function (e) { - var t = e.state, - n = { - popper: { position: t.options.strategy, left: '0', top: '0', margin: '0' }, - arrow: { position: 'absolute' }, - reference: {}, - } - return ( - Object.assign(t.elements.popper.style, n.popper), - t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow), - function () { - Object.keys(t.elements).forEach(function (e) { - var r = t.elements[e], - i = t.attributes[e] || {}, - o = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce( - function (e, t) { - return (e[t] = ''), e - }, - {}, - ) - u(r) && - l(r) && - (Object.assign(r.style, o), - Object.keys(i).forEach(function (e) { - r.removeAttribute(e) - })) - }) - } - ) - }, - requires: ['computeStyles'], - }, - { - name: 'offset', - enabled: !0, - phase: 'main', - requires: ['popperOffsets'], - fn: function (e) { - var t = e.state, - n = e.options, - r = e.name, - i = n.offset, - o = void 0 === i ? [0, 0] : i, - a = j.reduce(function (e, n) { - return ( - (e[n] = (function (e, t, n) { - var r = F(e), - i = [_, E].indexOf(r) >= 0 ? -1 : 1, - o = - 'function' === typeof n - ? n(Object.assign(Object.assign({}, t), {}, { placement: e })) - : n, - a = o[0], - s = o[1] - return ( - (a = a || 0), - (s = (s || 0) * i), - [_, T].indexOf(r) >= 0 ? { x: s, y: a } : { x: a, y: s } - ) - })(n, t.rects, o)), - e - ) - }, {}), - s = a[t.placement], - u = s.x, - l = s.y - null != t.modifiersData.popperOffsets && - ((t.modifiersData.popperOffsets.x += u), (t.modifiersData.popperOffsets.y += l)), - (t.modifiersData[r] = a) - }, - }, - { - name: 'flip', - enabled: !0, - phase: 'main', - fn: function (e) { - var t = e.state, - n = e.options, - r = e.name - if (!t.modifiersData[r]._skip) { - for ( - var i = n.mainAxis, - o = void 0 === i || i, - a = n.altAxis, - s = void 0 === a || a, - u = n.fallbackPlacements, - l = n.padding, - c = n.boundary, - d = n.rootBoundary, - f = n.altBoundary, - h = n.flipVariations, - p = void 0 === h || h, - v = n.allowedAutoPlacements, - m = t.options.placement, - g = F(m), - y = - u || - (g === m || !p - ? [Z(m)] - : (function (e) { - if (F(e) === O) return [] - var t = Z(e) - return [X(e), t, X(t)] - })(m)), - b = [m].concat(y).reduce(function (e, n) { - return e.concat( - F(n) === O - ? (function (e, t) { - void 0 === t && (t = {}) - var n = t, - r = n.placement, - i = n.boundary, - o = n.rootBoundary, - a = n.padding, - s = n.flipVariations, - u = n.allowedAutoPlacements, - l = void 0 === u ? j : u, - c = V(r), - d = c - ? s - ? R - : R.filter(function (e) { - return V(e) === c - }) - : C, - f = d.filter(function (e) { - return l.indexOf(e) >= 0 - }) - 0 === f.length && (f = d) - var h = f.reduce(function (t, n) { - return ( - (t[n] = re(e, { - placement: n, - boundary: i, - rootBoundary: o, - padding: a, - })[F(n)]), - t - ) - }, {}) - return Object.keys(h).sort(function (e, t) { - return h[e] - h[t] - }) - })(t, { - placement: n, - boundary: c, - rootBoundary: d, - padding: l, - flipVariations: p, - allowedAutoPlacements: v, - }) - : n, - ) - }, []), - w = t.rects.reference, - x = t.rects.popper, - A = new Map(), - P = !0, - M = b[0], - D = 0; - D < b.length; - D++ - ) { - var L = b[D], - N = F(L), - I = V(L) === S, - z = [E, k].indexOf(N) >= 0, - H = z ? 'width' : 'height', - B = re(t, { - placement: L, - boundary: c, - rootBoundary: d, - altBoundary: f, - padding: l, - }), - U = z ? (I ? T : _) : I ? k : E - w[H] > x[H] && (U = Z(U)) - var G = Z(U), - q = [] - if ( - (o && q.push(B[N] <= 0), - s && q.push(B[U] <= 0, B[G] <= 0), - q.every(function (e) { - return e - })) - ) { - ;(M = L), (P = !1) - break - } - A.set(L, q) - } - if (P) - for ( - var W = function (e) { - var t = b.find(function (t) { - var n = A.get(t) - if (n) - return n.slice(0, e).every(function (e) { - return e - }) - }) - if (t) return (M = t), 'break' - }, - K = p ? 3 : 1; - K > 0; - K-- - ) { - if ('break' === W(K)) break - } - t.placement !== M && - ((t.modifiersData[r]._skip = !0), (t.placement = M), (t.reset = !0)) - } - }, - requiresIfExists: ['offset'], - data: { _skip: !1 }, - }, - { - name: 'preventOverflow', - enabled: !0, - phase: 'main', - fn: function (e) { - var t = e.state, - n = e.options, - r = e.name, - i = n.mainAxis, - o = void 0 === i || i, - a = n.altAxis, - s = void 0 !== a && a, - u = n.boundary, - l = n.rootBoundary, - c = n.altBoundary, - d = n.padding, - f = n.tether, - h = void 0 === f || f, - p = n.tetherOffset, - m = void 0 === p ? 0 : p, - g = re(t, { boundary: u, rootBoundary: l, padding: d, altBoundary: c }), - y = F(t.placement), - b = V(t.placement), - w = !b, - O = U(y), - C = 'x' === O ? 'y' : 'x', - A = t.modifiersData.popperOffsets, - P = t.rects.reference, - M = t.rects.popper, - R = - 'function' === typeof m - ? m(Object.assign(Object.assign({}, t.rects), {}, { placement: t.placement })) - : m, - j = { x: 0, y: 0 } - if (A) { - if (o) { - var D = 'y' === O ? E : _, - L = 'y' === O ? k : T, - N = 'y' === O ? 'height' : 'width', - I = A[O], - z = A[O] + g[D], - H = A[O] - g[L], - B = h ? -M[N] / 2 : 0, - G = b === S ? P[N] : M[N], - q = b === S ? -M[N] : -P[N], - W = t.elements.arrow, - K = h && W ? v(W) : { width: 0, height: 0 }, - Z = t.modifiersData['arrow#persistent'] - ? t.modifiersData['arrow#persistent'].padding - : { top: 0, right: 0, bottom: 0, left: 0 }, - $ = Z[D], - X = Z[L], - Y = ie(0, P[N], K[N]), - Q = w ? P[N] / 2 - B - Y - $ - R : G - Y - $ - R, - J = w ? -P[N] / 2 + B + Y + X + R : q + Y + X + R, - ee = t.elements.arrow && x(t.elements.arrow), - te = ee ? ('y' === O ? ee.clientTop || 0 : ee.clientLeft || 0) : 0, - ne = t.modifiersData.offset ? t.modifiersData.offset[t.placement][O] : 0, - oe = A[O] + Q - ne - te, - ae = A[O] + J - ne, - se = ie(h ? Math.min(z, oe) : z, I, h ? Math.max(H, ae) : H) - ;(A[O] = se), (j[O] = se - I) - } - if (s) { - var ue = 'x' === O ? E : _, - le = 'x' === O ? k : T, - ce = A[C], - de = ie(ce + g[ue], ce, ce - g[le]) - ;(A[C] = de), (j[C] = de - ce) - } - t.modifiersData[r] = j - } - }, - requiresIfExists: ['offset'], - }, - { - name: 'arrow', - enabled: !0, - phase: 'main', - fn: function (e) { - var t, - n = e.state, - r = e.name, - i = n.elements.arrow, - o = n.modifiersData.popperOffsets, - a = F(n.placement), - s = U(a), - u = [_, T].indexOf(a) >= 0 ? 'height' : 'width' - if (i && o) { - var l = n.modifiersData[r + '#persistent'].padding, - c = v(i), - d = 'y' === s ? E : _, - f = 'y' === s ? k : T, - h = n.rects.reference[u] + n.rects.reference[s] - o[s] - n.rects.popper[u], - p = o[s] - n.rects.reference[s], - m = x(i), - g = m ? ('y' === s ? m.clientHeight || 0 : m.clientWidth || 0) : 0, - y = h / 2 - p / 2, - b = l[d], - w = g - c[u] - l[f], - O = g / 2 - c[u] / 2 + y, - C = ie(b, O, w), - S = s - n.modifiersData[r] = (((t = {})[S] = C), (t.centerOffset = C - O), t) - } - }, - effect: function (e) { - var t = e.state, - n = e.options, - r = e.name, - i = n.element, - o = void 0 === i ? '[data-popper-arrow]' : i, - a = n.padding, - s = void 0 === a ? 0 : a - null != o && - ('string' !== typeof o || (o = t.elements.popper.querySelector(o))) && - Y(t.elements.popper, o) && - ((t.elements.arrow = o), - (t.modifiersData[r + '#persistent'] = { - padding: te('number' !== typeof s ? s : ne(s, C)), - })) - }, - requires: ['popperOffsets'], - requiresIfExists: ['preventOverflow'], - }, - { - name: 'hide', - enabled: !0, - phase: 'main', - requiresIfExists: ['preventOverflow'], - fn: function (e) { - var t = e.state, - n = e.name, - r = t.rects.reference, - i = t.rects.popper, - o = t.modifiersData.preventOverflow, - a = re(t, { elementContext: 'reference' }), - s = re(t, { altBoundary: !0 }), - u = oe(a, r), - l = oe(s, i, o), - c = ae(u), - d = ae(l) - ;(t.modifiersData[n] = { - referenceClippingOffsets: u, - popperEscapeOffsets: l, - isReferenceHidden: c, - hasPopperEscaped: d, - }), - (t.attributes.popper = Object.assign( - Object.assign({}, t.attributes.popper), - {}, - { 'data-popper-reference-hidden': c, 'data-popper-escaped': d }, - )) - }, - }, - ], - }), - ue = n(7294), - le = n(3459), - ce = { - name: 'matchWidth', - enabled: !0, - phase: 'beforeWrite', - requires: ['computeStyles'], - fn: (e) => { - var { state: t } = e - t.styles.popper.width = t.rects.reference.width + 'px' - }, - effect: (e) => { - var { state: t } = e - return () => { - var e = t.elements.reference - t.elements.popper.style.width = e.offsetWidth + 'px' - } - }, - }, - de = { - name: 'transformOrigin', - enabled: !0, - phase: 'write', - fn: (e) => { - var { state: t } = e - fe(t) - }, - effect: (e) => { - var { state: t } = e - return () => { - fe(t) - } - }, - }, - fe = (e) => { - e.elements.popper.style.setProperty(le.Dq.transformOrigin.var, (0, le.mv)(e.placement)) - }, - he = { - name: 'positionArrow', - enabled: !0, - phase: 'afterWrite', - fn: (e) => { - var { state: t } = e - pe(t) - }, - }, - pe = (e) => { - var t - if (e.placement) { - var n = ve(e.placement) - if (null != (t = e.elements) && t.arrow && n) { - Object.assign(e.elements.arrow.style, { - [n.property]: n.value, - width: le.Dq.arrowSize.varRef, - height: le.Dq.arrowSize.varRef, - zIndex: -1, - }) - var r = { - [le.Dq.arrowSizeHalf.var]: 'calc(' + le.Dq.arrowSize.varRef + ' / 2)', - [le.Dq.arrowOffset.var]: 'calc(' + le.Dq.arrowSizeHalf.varRef + ' * -1)', - } - for (var i in r) e.elements.arrow.style.setProperty(i, r[i]) - } - } - }, - ve = (e) => - e.startsWith('top') - ? { property: 'bottom', value: le.Dq.arrowOffset.varRef } - : e.startsWith('bottom') - ? { property: 'top', value: le.Dq.arrowOffset.varRef } - : e.startsWith('left') - ? { property: 'right', value: le.Dq.arrowOffset.varRef } - : e.startsWith('right') - ? { property: 'left', value: le.Dq.arrowOffset.varRef } - : void 0, - me = { - name: 'innerArrow', - enabled: !0, - phase: 'main', - requires: ['arrow'], - fn: (e) => { - var { state: t } = e - ge(t) - }, - effect: (e) => { - var { state: t } = e - return () => { - ge(t) - } - }, - }, - ge = (e) => { - if (e.elements.arrow) { - var t = e.elements.arrow.querySelector('[data-popper-arrow-inner]') - t && - Object.assign(t.style, { - transform: 'rotate(45deg)', - background: le.Dq.arrowBg.varRef, - top: 0, - left: 0, - width: '100%', - height: '100%', - position: 'absolute', - zIndex: 'inherit', - boxShadow: (0, le.Ke)(e.placement), - }) - } - } - function ye() { - return (ye = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function be(e) { - void 0 === e && (e = {}) - var { - enabled: t = !0, - modifiers: n = [], - placement: i = 'bottom', - strategy: o = 'absolute', - arrowPadding: a = 8, - eventListeners: s = !0, - offset: u, - gutter: l = 8, - flip: c = !0, - boundary: d = 'clippingParents', - preventOverflow: f = !0, - matchWidth: h, - } = e, - p = (0, ue.useRef)(null), - v = (0, ue.useRef)(null), - m = (0, ue.useRef)(null), - g = (0, ue.useRef)(() => {}), - y = (0, ue.useCallback)(() => { - t && - p.current && - v.current && - (null == g.current || g.current(), - (m.current = se(p.current, v.current, { - placement: i, - modifiers: [ - me, - he, - de, - ye({}, ce, { enabled: !!h }), - ye({ name: 'eventListeners' }, (0, le.$B)(s)), - { name: 'arrow', options: { padding: a } }, - { name: 'offset', options: { offset: null != u ? u : [0, l] } }, - { name: 'flip', enabled: !!c, options: { padding: 8 } }, - { name: 'preventOverflow', enabled: !!f, options: { boundary: d } }, - ...n, - ], - strategy: o, - })), - m.current.forceUpdate(), - (g.current = m.current.destroy)) - }, [t, i, n, h, s, a, u, l, c, f, d, o]) - ;(0, ue.useEffect)( - () => () => { - var e - p.current || v.current || (null == (e = m.current) || e.destroy(), (m.current = null)) - }, - [], - ) - var b = (0, ue.useCallback)( - (e) => { - ;(p.current = e), y() - }, - [y], - ), - w = (0, ue.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - ye({}, e, { ref: (0, r.l)(b, t) }) - ) - }, - [b], - ), - x = (0, ue.useCallback)( - (e) => { - ;(v.current = e), y() - }, - [y], - ), - E = (0, ue.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - ye({}, e, { - ref: (0, r.l)(x, t), - style: ye({}, e.style, { - position: o, - minWidth: 'max-content', - inset: '0 auto auto 0', - }), - }) - ) - }, - [o, x], - ), - k = (0, ue.useCallback)(function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - ye( - {}, - (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, ['size', 'shadowColor', 'bg', 'style']), - { ref: t, 'data-popper-arrow': '', style: we(e) }, - ) - ) - }, []), - T = (0, ue.useCallback)(function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - ye({}, e, { ref: t, 'data-popper-arrow-inner': '' }) - ) - }, []) - return { - update() { - var e - null == (e = m.current) || e.update() - }, - forceUpdate() { - var e - null == (e = m.current) || e.forceUpdate() - }, - transformOrigin: le.Dq.transformOrigin.varRef, - referenceRef: b, - popperRef: x, - getPopperProps: E, - getArrowProps: k, - getArrowInnerProps: T, - getReferenceProps: w, - } - } - function we(e) { - var { size: t, shadowColor: n, bg: r, style: i } = e, - o = ye({}, i, { position: 'absolute' }) - return ( - t && (o['--popper-arrow-size'] = t), - n && (o['--popper-arrow-shadow-color'] = n), - r && (o['--popper-arrow-bg'] = r), - o - ) - } - }, - 3459: function (e, t, n) { - 'use strict' - function r() { - return (r = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - n.d(t, { - Dq: function () { - return o - }, - Ke: function () { - return a - }, - mv: function () { - return u - }, - $B: function () { - return c - }, - }) - var i = (e, t) => ({ var: e, varRef: t ? 'var(' + e + ', ' + t + ')' : 'var(' + e + ')' }), - o = { - arrowShadowColor: i('--popper-arrow-shadow-color'), - arrowSize: i('--popper-arrow-size', '8px'), - arrowSizeHalf: i('--popper-arrow-size-half'), - arrowBg: i('--popper-arrow-bg'), - transformOrigin: i('--popper-transform-origin'), - arrowOffset: i('--popper-arrow-offset'), - } - function a(e) { - return e.includes('top') - ? '1px 1px 1px 0 var(--popper-arrow-shadow-color)' - : e.includes('bottom') - ? '-1px -1px 1px 0 var(--popper-arrow-shadow-color)' - : e.includes('right') - ? '-1px 1px 1px 0 var(--popper-arrow-shadow-color)' - : e.includes('left') - ? '1px -1px 1px 0 var(--popper-arrow-shadow-color)' - : void 0 - } - var s = { - top: 'bottom center', - 'top-start': 'bottom left', - 'top-end': 'bottom right', - bottom: 'top center', - 'bottom-start': 'top left', - 'bottom-end': 'top right', - left: 'right center', - 'left-start': 'right top', - 'left-end': 'right bottom', - right: 'left center', - 'right-start': 'left top', - 'right-end': 'left bottom', - }, - u = (e) => s[e], - l = { scroll: !0, resize: !0 } - function c(e) { - return 'object' === typeof e - ? { enabled: !0, options: r({}, l, e) } - : { enabled: e, options: l } - } - }, - 4255: function (e, t, n) { - 'use strict' - n.d(t, { - W: function () { - return i - }, - }) - var r = n(7294) - function i(e) { - return r.Children.toArray(e).filter((e) => r.isValidElement(e)) - } - }, - 2947: function (e, t, n) { - 'use strict' - n.d(t, { - l: function () { - return o - }, - }) - var r = n(3808) - function i(e, t) { - if (null != e) - if ((0, r.mf)(e)) e(t) - else - try { - e.current = t - } catch (n) { - throw new Error("Cannot assign value '" + t + "' to ref '" + e + "'") - } - } - function o() { - for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n] - return (e) => { - t.forEach((t) => i(t, e)) - } - } - }, - 980: function (e, t, n) { - 'use strict' - n.d(t, { - useTheme: function () { - return i.useTheme - }, - }) - n(2300) - var r = n(4806) - n.o(r, 'useTheme') && - n.d(t, { - useTheme: function () { - return r.useTheme - }, - }) - var i = n(1180) - }, - 6049: function (e, t, n) { - 'use strict' - n.d(t, { - Ph: function () { - return R - }, - }) - var r = n(4461), - i = n(658), - o = n(4577), - a = n(639), - s = n(63), - u = n(2326), - l = n(5284), - c = n(9676), - d = n(3782), - f = n(3808), - h = n(8500), - p = n(2947), - v = n(7294) - function m() { - return (m = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function g(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var [y, b] = (0, h.k)({ strict: !1, name: 'FormControlContext' }) - var w = (0, s.G)((e, t) => { - var n = (0, u.j)('Form', e), - s = (function (e) { - var { id: t, isRequired: n, isInvalid: s, isDisabled: u, isReadOnly: l } = e, - c = g(e, ['id', 'isRequired', 'isInvalid', 'isDisabled', 'isReadOnly']), - d = (0, o.Me)(), - f = t || 'field-' + d, - h = f + '-label', - y = f + '-feedback', - b = f + '-helptext', - [w, x] = v.useState(!1), - [E, k] = v.useState(!1), - [T, _] = (0, a.k)(), - O = v.useCallback( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - m({ id: b }, e, { - ref: (0, p.l)(t, (e) => { - e && k(!0) - }), - }) - ) - }, - [b], - ), - C = v.useCallback( - function (e, t) { - var n, i - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - m({}, e, { - ref: t, - 'data-focus': (0, r.PB)(T), - 'data-disabled': (0, r.PB)(u), - 'data-invalid': (0, r.PB)(s), - 'data-readonly': (0, r.PB)(l), - id: null != (n = e.id) ? n : h, - htmlFor: null != (i = e.htmlFor) ? i : f, - }) - ) - }, - [f, u, T, s, l, h], - ), - S = v.useCallback( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - m({ id: y }, e, { - ref: (0, p.l)(t, (e) => { - e && x(!0) - }), - 'aria-live': 'polite', - }) - ) - }, - [y], - ), - A = v.useCallback( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - m({}, e, c, { ref: t, role: 'group' }) - ) - }, - [c], - ), - P = v.useCallback(function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - m({}, e, { - ref: t, - role: 'presentation', - 'aria-hidden': !0, - children: e.children || '*', - }) - ) - }, []), - M = v.useCallback(() => { - ;(0, i.A4)(_.on) - }, [_]) - return { - isRequired: !!n, - isInvalid: !!s, - isReadOnly: !!l, - isDisabled: !!u, - isFocused: !!T, - onFocus: M, - onBlur: _.off, - hasFeedbackText: w, - setHasFeedbackText: x, - hasHelpText: E, - setHasHelpText: k, - id: f, - labelId: h, - feedbackId: y, - helpTextId: b, - htmlProps: c, - getHelpTextProps: O, - getErrorMessageProps: S, - getRootProps: A, - getLabelProps: C, - getRequiredIndicatorProps: P, - } - })((0, l.Lr)(e)), - { getRootProps: f } = s, - h = g(s, ['getRootProps', 'htmlProps']), - b = (0, r.cx)('chakra-form-control', e.className), - w = v.useMemo(() => h, [h]) - return v.createElement( - y, - { value: w }, - v.createElement( - c.Fo, - { value: n }, - v.createElement( - d.m$.div, - m({}, f({}, t), { className: b, __css: { width: '100%', position: 'relative' } }), - ), - ), - ) - }) - f.Ts && (w.displayName = 'FormControl') - var x = (0, s.G)((e, t) => { - var n = b(), - i = (0, c.yK)(), - o = (0, r.cx)('chakra-form__helper-text', e.className) - return v.createElement( - d.m$.div, - m({}, null == n ? void 0 : n.getHelpTextProps(e, t), { - __css: i.helperText, - className: o, - }), - ) - }) - function E() { - return (E = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function k(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - function T(e) { - var t = (function (e) { - var t, - n, - r, - o = b(), - { - id: a, - disabled: s, - readOnly: u, - required: l, - isRequired: c, - isInvalid: d, - isReadOnly: f, - isDisabled: h, - onFocus: p, - onBlur: v, - } = e, - m = k(e, [ - 'id', - 'disabled', - 'readOnly', - 'required', - 'isRequired', - 'isInvalid', - 'isReadOnly', - 'isDisabled', - 'onFocus', - 'onBlur', - ]), - g = [] - null != o && o.hasFeedbackText && null != o && o.isInvalid && g.push(o.feedbackId) - null != o && o.hasHelpText && g.push(o.helpTextId) - return E({}, m, { - 'aria-describedby': g.join(' ') || void 0, - id: null != a ? a : null == o ? void 0 : o.id, - isDisabled: null != (t = null != s ? s : h) ? t : null == o ? void 0 : o.isDisabled, - isReadOnly: null != (n = null != u ? u : f) ? n : null == o ? void 0 : o.isReadOnly, - isRequired: null != (r = null != l ? l : c) ? r : null == o ? void 0 : o.isRequired, - isInvalid: null != d ? d : null == o ? void 0 : o.isInvalid, - onFocus: (0, i.v0)(null == o ? void 0 : o.onFocus, p), - onBlur: (0, i.v0)(null == o ? void 0 : o.onBlur, v), - }) - })(e), - { isDisabled: n, isInvalid: o, isReadOnly: a, isRequired: s } = t - return E({}, k(t, ['isDisabled', 'isInvalid', 'isReadOnly', 'isRequired']), { - disabled: n, - readOnly: a, - required: s, - 'aria-invalid': (0, r.Qm)(o), - 'aria-required': (0, r.Qm)(s), - 'aria-readonly': (0, r.Qm)(a), - }) - } - f.Ts && (x.displayName = 'FormHelperText') - var _ = n(9421), - O = n(5505), - C = n(8554), - S = n.n(C) - function A() { - return (A = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function P(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var M = (0, s.G)((e, t) => { - var { children: n, placeholder: i, className: o } = e, - a = T(P(e, ['children', 'placeholder', 'className'])) - return v.createElement( - d.m$.select, - A({}, a, { ref: t, className: (0, r.cx)('chakra-select', o) }), - i && v.createElement('option', { value: '' }, i), - n, - ) - }) - f.Ts && (M.displayName = 'SelectField') - var R = (0, s.G)((e, t) => { - var n = (0, u.j)('Select', e), - r = (0, l.Lr)(e), - { - rootProps: i, - placeholder: o, - icon: a, - color: s, - height: c, - h: f, - minH: h, - minHeight: p, - iconColor: m, - iconSize: g, - } = r, - y = P(r, [ - 'rootProps', - 'placeholder', - 'icon', - 'color', - 'height', - 'h', - 'minH', - 'minHeight', - 'iconColor', - 'iconSize', - 'isFullWidth', - ]), - [b, w] = (0, O.Vl)(y, _.layoutPropNames), - x = { width: '100%', height: 'fit-content', position: 'relative', color: s }, - E = S()({}, n.field, { paddingEnd: '2rem', _focus: { zIndex: 'unset' } }) - return v.createElement( - d.m$.div, - A({ className: 'chakra-select__wrapper', __css: x }, b, i), - v.createElement( - M, - A({ ref: t, height: null != f ? f : c, minH: null != h ? h : p, placeholder: o }, w, { - __css: E, - }), - e.children, - ), - v.createElement( - L, - A( - { 'data-disabled': e.isDisabled }, - (m || s) && { color: m || s }, - { __css: n.icon }, - g && { fontSize: g }, - ), - a, - ), - ) - }) - f.Ts && (R.displayName = 'Select') - var j = (e) => - v.createElement( - 'svg', - A({ viewBox: '0 0 24 24' }, e), - v.createElement('path', { - fill: 'currentColor', - d: 'M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z', - }), - ), - D = (0, d.m$)('div', { - baseStyle: { - position: 'absolute', - display: 'inline-flex', - alignItems: 'center', - justifyContent: 'center', - pointerEvents: 'none', - top: '50%', - transform: 'translateY(-50%)', - }, - }), - L = (e) => { - var { children: t = v.createElement(j, null) } = e, - n = P(e, ['children']), - r = v.cloneElement(t, { - role: 'presentation', - className: 'chakra-select__icon', - focusable: !1, - 'aria-hidden': !0, - style: { width: '1em', height: '1em', color: 'currentColor' }, - }) - return v.createElement( - D, - A({}, n, { className: 'chakra-select__icon-wrapper' }), - v.isValidElement(t) ? r : null, - ) - } - f.Ts && (L.displayName = 'SelectIcon') - }, - 3014: function (e, t, n) { - 'use strict' - n.d(t, { - iR: function () { - return le - }, - Ms: function () { - return fe - }, - gs: function () { - return ce - }, - Uj: function () { - return de - }, - }) - var r = n(63), - i = n(2326), - o = n(5284), - a = n(9676), - s = n(3782), - u = n(3808), - l = n(4461), - c = n(8500), - d = n(7294), - f = n(762), - h = n(1034), - p = n(639) - var v = n(4577), - m = 'Invariant failed' - var g = function (e, t) { - if (!e) throw new Error(m) - }, - y = function (e) { - var t = e.top, - n = e.right, - r = e.bottom, - i = e.left - return { - top: t, - right: n, - bottom: r, - left: i, - width: n - i, - height: r - t, - x: i, - y: t, - center: { x: (n + i) / 2, y: (r + t) / 2 }, - } - }, - b = function (e, t) { - return { - top: e.top + t.top, - left: e.left + t.left, - bottom: e.bottom - t.bottom, - right: e.right - t.right, - } - }, - w = { top: 0, right: 0, bottom: 0, left: 0 }, - x = function (e) { - var t, - n, - r = e.borderBox, - i = e.margin, - o = void 0 === i ? w : i, - a = e.border, - s = void 0 === a ? w : a, - u = e.padding, - l = void 0 === u ? w : u, - c = y( - ((n = o), - { - top: (t = r).top - n.top, - left: t.left - n.left, - bottom: t.bottom + n.bottom, - right: t.right + n.right, - }), - ), - d = y(b(r, s)), - f = y(b(d, l)) - return { - marginBox: c, - borderBox: y(r), - paddingBox: d, - contentBox: f, - margin: o, - border: s, - padding: l, - } - }, - E = function (e) { - var t = e.slice(0, -2) - if ('px' !== e.slice(-2)) return 0 - var n = Number(t) - return isNaN(n) && g(!1), n - }, - k = function (e) { - return (function (e, t) { - var n = { - top: E(t.marginTop), - right: E(t.marginRight), - bottom: E(t.marginBottom), - left: E(t.marginLeft), - }, - r = { - top: E(t.paddingTop), - right: E(t.paddingRight), - bottom: E(t.paddingBottom), - left: E(t.paddingLeft), - }, - i = { - top: E(t.borderTopWidth), - right: E(t.borderRightWidth), - bottom: E(t.borderBottomWidth), - left: E(t.borderLeftWidth), - } - return x({ borderBox: e, margin: n, padding: r, border: i }) - })(e.getBoundingClientRect(), window.getComputedStyle(e)) - }, - T = n(8327) - var _ = n(2653), - O = n(9839) - function C(e) { - return !!e.touches - } - var S = { pageX: 0, pageY: 0 } - function A(e, t) { - void 0 === t && (t = 'page') - var n = e.touches[0] || e.changedTouches[0] || S - return { x: n[t + 'X'], y: n[t + 'Y'] } - } - function P(e, t) { - return void 0 === t && (t = 'page'), { x: e[t + 'X'], y: e[t + 'Y'] } - } - function M(e, t) { - return void 0 === t && (t = 'page'), { point: C(e) ? A(e, t) : P(e, t) } - } - var R = function (e, t) { - void 0 === t && (t = !1) - var n, - r = (t) => e(t, M(t)) - return t - ? ((n = r), - (e) => { - var t = e instanceof MouseEvent - ;(!t || (t && 0 === e.button)) && n(e) - }) - : r - }, - j = { - pointerdown: 'mousedown', - pointermove: 'mousemove', - pointerup: 'mouseup', - pointercancel: 'mousecancel', - pointerover: 'mouseover', - pointerout: 'mouseout', - pointerenter: 'mouseenter', - pointerleave: 'mouseleave', - }, - D = { - pointerdown: 'touchstart', - pointermove: 'touchmove', - pointerup: 'touchend', - pointercancel: 'touchcancel', - } - function L(e) { - return l.jU && null === window.onpointerdown - ? e - : l.jU && null === window.ontouchstart - ? D[e] - : l.jU && null === window.onmousedown - ? j[e] - : e - } - function N(e, t, n, r) { - return (0, l.EV)(e, L(t), R(n, 'pointerdown' === t), r) - } - var I = n(658) - function z() { - return (z = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function H(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - class B { - constructor(e, t, n) { - if ( - (H(this, 'history', []), - H(this, 'startEvent', null), - H(this, 'lastEvent', null), - H(this, 'lastEventInfo', null), - H(this, 'handlers', {}), - H(this, 'removeListeners', I.ZT), - H(this, 'threshold', 3), - H(this, 'updatePoint', () => { - if (this.lastEvent && this.lastEventInfo) { - var e = G(this.lastEventInfo, this.history), - t = null !== this.startEvent, - n = (0, I.TE)(e.offset, { x: 0, y: 0 }) >= this.threshold - if (t || n) { - var { timestamp: r } = (0, O.$B)() - this.history.push(z({}, e.point, { timestamp: r })) - var { onStart: i, onMove: o } = this.handlers - t || (null == i || i(this.lastEvent, e), (this.startEvent = this.lastEvent)), - null == o || o(this.lastEvent, e) - } - } - }), - H(this, 'onPointerMove', (e, t) => { - ;(this.lastEvent = e), - (this.lastEventInfo = t), - (function (e) { - return 'undefined' !== typeof PointerEvent && e instanceof PointerEvent - ? !('mouse' !== e.pointerType) - : e instanceof MouseEvent - })(e) && 0 === e.buttons - ? this.onPointerUp(e, t) - : O.ZP.update(this.updatePoint, !0) - }), - H(this, 'onPointerUp', (e, t) => { - var n = G(t, this.history), - { onEnd: r, onSessionEnd: i } = this.handlers - null == i || i(e, n), this.end(), r && this.startEvent && (null == r || r(e, n)) - }), - !(C((r = e)) && r.touches.length > 1)) - ) { - var r - ;(this.handlers = t), n && (this.threshold = n), e.stopPropagation(), e.preventDefault() - var i = M(e), - { timestamp: o } = (0, O.$B)() - this.history = [z({}, i.point, { timestamp: o })] - var { onSessionStart: a } = t - null == a || a(e, G(i, this.history)), - (this.removeListeners = (0, I.zG)( - N(window, 'pointermove', this.onPointerMove), - N(window, 'pointerup', this.onPointerUp), - N(window, 'pointercancel', this.onPointerUp), - )) - } - } - updateHandlers(e) { - this.handlers = e - } - end() { - var e - null == (e = this.removeListeners) || e.call(this), O.qY.update(this.updatePoint) - } - } - function F(e, t) { - return { x: e.x - t.x, y: e.y - t.y } - } - function V(e) { - return e[0] - } - function U(e) { - return e[e.length - 1] - } - function G(e, t) { - return { - point: e.point, - delta: F(e.point, U(t)), - offset: F(e.point, V(t)), - velocity: q(t, 0.1), - } - } - function q(e, t) { - if (e.length < 2) return { x: 0, y: 0 } - for ( - var n = e.length - 1, - r = null, - i = (function (e) { - return e[e.length - 1] - })(e); - n >= 0 && ((r = e[n]), !(i.timestamp - r.timestamp > 1e3 * t)); - - ) - n-- - if (!r) return { x: 0, y: 0 } - var o = (i.timestamp - r.timestamp) / 1e3 - if (0 === o) return { x: 0, y: 0 } - var a = { x: (i.x - r.x) / o, y: (i.y - r.y) / o } - return a.x === 1 / 0 && (a.x = 0), a.y === 1 / 0 && (a.y = 0), a - } - var W = n(4941) - var K = n(7581) - function Z(e, t) { - var n, - r, - i, - o, - { onPan: a, onPanStart: s, onPanEnd: u, onPanSessionStart: l, onPanSessionEnd: c } = t, - f = Boolean(a || s || u || l || c), - h = (0, d.useRef)(null), - p = { - onSessionStart: l, - onSessionEnd: c, - onStart: s, - onMove: a, - onEnd(e, t) { - ;(h.current = null), null == u || u(e, t) - }, - } - ;(0, d.useEffect)(() => { - var e - null == (e = h.current) || e.updateHandlers(p) - }), - (n = () => e.current), - (r = 'pointerdown'), - (i = f - ? function (e) { - h.current = new B(e, p) - } - : I.ZT), - (0, W.O)(L(r), R(i, 'pointerdown' === r), n, o), - (0, K.z)(() => { - var e - null == (e = h.current) || e.end(), (h.current = null) - }) - } - var $ = n(2947) - Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER - function X(e, t) { - var n = (function (e) { - var t = parseFloat(e) - return (0, u.iy)(t) ? 0 : t - })(e), - r = 10 ** (null != t ? t : 10) - return (n = Math.round(n * r) / r), t ? n.toFixed(t) : n.toString() - } - function Y(e, t, n) { - return (100 * (e - t)) / (n - t) - } - function Q(e, t, n) { - return X( - Math.round((e - t) / n) * n + t, - (function (e) { - if (!Number.isFinite(e)) return 0 - for (var t = 1, n = 0; Math.round(e * t) / t !== e; ) (t *= 10), (n += 1) - return n - })(n), - ) - } - function J(e, t, n) { - return null == e - ? e - : ((0, I.ZK)({ condition: n < t, message: 'clamp: max cannot be less than min' }), - Math.min(Math.max(e, t), n)) - } - var ee = n(7248) - function te() { - return (te = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function ne(e) { - var { orientation: t, vertical: n, horizontal: r } = e - return 'vertical' === t ? n : r - } - function re() { - return (re = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function ie(e) { - var t, - { - min: n = 0, - max: r = 100, - onChange: i, - value: o, - defaultValue: a, - isReversed: s, - orientation: u = 'horizontal', - id: c, - isDisabled: m, - isReadOnly: g, - onChangeStart: y, - onChangeEnd: b, - step: w = 1, - getAriaValueText: x, - 'aria-valuetext': E, - 'aria-label': O, - 'aria-labelledby': C, - name: S, - focusThumbOnChange: A = !0, - } = e, - P = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'min', - 'max', - 'onChange', - 'value', - 'defaultValue', - 'isReversed', - 'orientation', - 'id', - 'isDisabled', - 'isReadOnly', - 'onChangeStart', - 'onChangeEnd', - 'step', - 'getAriaValueText', - 'aria-valuetext', - 'aria-label', - 'aria-labelledby', - 'name', - 'focusThumbOnChange', - ]), - M = (0, f.W)(y), - R = (0, f.W)(b), - j = (0, f.W)(x), - [D, L] = (0, h.T)({ value: o, defaultValue: null != a ? a : oe(n, r), onChange: i }), - [N, z] = (0, p.k)(), - H = (function (e) { - var t = (0, d.useRef)() - return ( - (0, d.useEffect)(() => { - t.current = e - }, [e]), - t.current - ) - })(N), - [B, F] = (0, p.k)(), - V = (0, d.useRef)(null), - U = !(m || g), - G = J(D, n, r), - q = (function (e) { - var t = d.useRef(null) - return (t.current = e), t - })(G), - W = (0, d.useRef)(q.current), - K = Y(s ? r - G + n : G, n, r), - X = 'vertical' === u, - ie = (0, d.useRef)(null), - ae = (0, d.useRef)(null), - se = (0, d.useRef)(null), - [ue, le] = (0, v.ZS)(c, 'slider-thumb', 'slider-track'), - ce = (0, d.useCallback)( - (e) => { - var t, i - if (ie.current) { - V.current = 'pointer' - var o = k(ie.current).borderBox, - { clientX: a, clientY: u } = - null != (t = null == (i = e.touches) ? void 0 : i[0]) ? t : e, - l = (X ? o.bottom - u : a - o.left) / (X ? o.height : o.width) - s && (l = 1 - l) - var c = (function (e, t, n) { - return (n - t) * e + t - })(l, n, r) - return w && (c = parseFloat(Q(c, n, w))), (c = J(c, n, r)) - } - }, - [X, s, r, n, w], - ), - de = (r - n) / 10, - fe = w || (r - n) / 100, - he = (0, d.useCallback)( - (e) => { - U && ((e = J((e = parseFloat(Q(e, n, fe))), n, r)), L(e)) - }, - [fe, r, n, L, U], - ), - pe = (0, d.useMemo)( - () => ({ - stepUp: function (e) { - void 0 === e && (e = fe), he(s ? G - e : G + e) - }, - stepDown: function (e) { - void 0 === e && (e = fe), he(s ? G + e : G - e) - }, - reset: () => he(a || 0), - stepTo: (e) => he(e), - }), - [he, s, G, fe, a], - ), - ve = (0, d.useCallback)( - (e) => { - var t = { - ArrowRight: () => pe.stepUp(), - ArrowUp: () => pe.stepUp(), - ArrowLeft: () => pe.stepDown(), - ArrowDown: () => pe.stepDown(), - PageUp: () => pe.stepUp(de), - PageDown: () => pe.stepDown(de), - Home: () => he(n), - End: () => he(r), - }[(0, l.uh)(e)] - t && (e.preventDefault(), e.stopPropagation(), t(e), (V.current = 'keyboard')) - }, - [pe, he, r, n, de], - ), - me = null != (t = null == j ? void 0 : j(G)) ? t : E, - ge = (function (e, t) { - var [n, r] = d.useState(null), - i = d.useRef() - return ( - (0, T.G)(() => { - if (e.current) { - var n = e.current - return ( - o(), - t && - (window.addEventListener('resize', o), window.addEventListener('scroll', o)), - () => { - t && - (window.removeEventListener('resize', o), - window.removeEventListener('scroll', o)), - i.current && cancelAnimationFrame(i.current) - } - ) - } - function o() { - i.current = requestAnimationFrame(() => { - var e = k(n) - r(e) - }) - } - }, [t]), - n - ) - })(ae), - { - thumbStyle: ye, - rootStyle: be, - trackStyle: we, - innerTrackStyle: xe, - } = (0, d.useMemo)(() => { - var e, - t = null != (e = null == ge ? void 0 : ge.borderBox) ? e : { width: 0, height: 0 } - return (function (e) { - var { orientation: t, trackPercent: n, thumbRect: r, isReversed: i } = e, - o = te( - { - position: 'absolute', - userSelect: 'none', - WebkitUserSelect: 'none', - MozUserSelect: 'none', - msUserSelect: 'none', - touchAction: 'none', - }, - ne({ - orientation: t, - vertical: { bottom: 'calc(' + n + '% - ' + r.height / 2 + 'px)' }, - horizontal: { left: 'calc(' + n + '% - ' + r.width / 2 + 'px)' }, - }), - ), - a = te( - { - position: 'relative', - touchAction: 'none', - WebkitTapHighlightColor: 'rgba(0,0,0,0)', - userSelect: 'none', - outline: 0, - }, - ne({ - orientation: t, - vertical: { paddingLeft: r.width / 2, paddingRight: r.width / 2 }, - horizontal: { paddingTop: r.height / 2, paddingBottom: r.height / 2 }, - }), - ), - s = te( - { position: 'absolute' }, - ne({ - orientation: t, - vertical: { left: '50%', transform: 'translateX(-50%)', height: '100%' }, - horizontal: { top: '50%', transform: 'translateY(-50%)', width: '100%' }, - }), - ) - return { - trackStyle: s, - innerTrackStyle: te( - {}, - s, - ne({ - orientation: t, - vertical: i - ? { height: 100 - n + '%', top: 0 } - : { height: n + '%', bottom: 0 }, - horizontal: i - ? { width: 100 - n + '%', right: 0 } - : { width: n + '%', left: 0 }, - }), - ), - rootStyle: a, - thumbStyle: o, - } - })({ isReversed: s, orientation: u, thumbRect: t, trackPercent: K }) - }, [s, u, null == ge ? void 0 : ge.borderBox, K]), - Ee = (0, d.useCallback)(() => { - ae.current && A && setTimeout(() => (0, ee.T)(ae.current)) - }, [A]) - ;(0, _.r)(() => { - Ee(), 'keyboard' === V.current && (null == b || b(q.current)) - }, [G, b]) - var ke = (e) => { - var t = ce(e) - null != t && t !== q.current && L(t) - } - Z(se, { - onPanSessionStart(e) { - U && ke(e) - }, - onPanSessionEnd() { - U && - (H || W.current === q.current || (null == R || R(q.current), (W.current = q.current))) - }, - onPanStart() { - U && (z.on(), null == M || M(q.current)) - }, - onPan(e) { - U && ke(e) - }, - onPanEnd() { - U && (z.off(), null == R || R(q.current)) - }, - }) - var Te = (0, d.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - re({}, e, P, { - ref: (0, $.l)(t, se), - tabIndex: -1, - 'aria-disabled': (0, l.Qm)(m), - 'data-focused': (0, l.PB)(B), - style: re({}, e.style, be), - }) - ) - }, - [P, m, B, be], - ), - _e = (0, d.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - re({}, e, { - ref: (0, $.l)(t, ie), - id: le, - 'data-disabled': (0, l.PB)(m), - style: re({}, e.style, we), - }) - ) - }, - [m, le, we], - ), - Oe = (0, d.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - re({}, e, { ref: t, style: re({}, e.style, xe) }) - ) - }, - [xe], - ), - Ce = (0, d.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - re({}, e, { - ref: (0, $.l)(t, ae), - role: 'slider', - tabIndex: U ? 0 : void 0, - id: ue, - 'data-active': (0, l.PB)(N), - 'aria-valuetext': me, - 'aria-valuemin': n, - 'aria-valuemax': r, - 'aria-valuenow': G, - 'aria-orientation': u, - 'aria-disabled': (0, l.Qm)(m), - 'aria-readonly': (0, l.Qm)(g), - 'aria-label': O, - 'aria-labelledby': O ? void 0 : C, - style: re({}, e.style, ye), - onKeyDown: (0, I.v0)(e.onKeyDown, ve), - onFocus: (0, I.v0)(e.onFocus, F.on), - onBlur: (0, I.v0)(e.onBlur, F.off), - }) - ) - }, - [O, C, m, N, g, U, r, n, ve, u, F.off, F.on, ue, ye, G, me], - ), - Se = (0, d.useCallback)( - function (e, t) { - void 0 === e && (e = {}), void 0 === t && (t = null) - var i = !(e.value < n || e.value > r), - o = G >= e.value, - a = Y(e.value, n, r), - c = re( - { position: 'absolute', pointerEvents: 'none' }, - (function (e) { - var { orientation: t, vertical: n, horizontal: r } = e - return 'vertical' === t ? n : r - })({ - orientation: u, - vertical: { bottom: s ? 100 - a + '%' : a + '%' }, - horizontal: { left: s ? 100 - a + '%' : a + '%' }, - }), - ) - return re({}, e, { - ref: t, - role: 'presentation', - 'aria-hidden': !0, - 'data-disabled': (0, l.PB)(m), - 'data-invalid': (0, l.PB)(!i), - 'data-highlighted': (0, l.PB)(o), - style: re({}, e.style, c), - }) - }, - [m, s, r, n, u, G], - ), - Ae = (0, d.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - re({}, e, { ref: t, type: 'hidden', value: G, name: S }) - ) - }, - [S, G], - ) - return { - state: { value: G, isFocused: B, isDragging: N }, - actions: pe, - getRootProps: Te, - getTrackProps: _e, - getInnerTrackProps: Oe, - getThumbProps: Ce, - getMarkerProps: Se, - getInputProps: Ae, - } - } - function oe(e, t) { - return t < e ? e : e + (t - e) / 2 - } - function ae() { - return (ae = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var [se, ue] = (0, c.k)({ - name: 'SliderContext', - errorMessage: - 'useSliderContext: `context` is undefined. Seems you forgot to wrap all slider components within <Slider />', - }), - le = (0, r.G)((e, t) => { - var n = (0, i.j)('Slider', e), - r = ie((0, o.Lr)(e)), - { getInputProps: u, getRootProps: l } = r, - c = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(r, ['getInputProps', 'getRootProps']), - f = l(), - h = u({}, t), - p = ae( - { display: 'inline-block', position: 'relative', cursor: 'pointer' }, - n.container, - ) - return d.createElement( - se, - { value: c }, - d.createElement( - a.Fo, - { value: n }, - d.createElement( - s.m$.div, - ae({}, f, { className: 'chakra-slider', __css: p }), - e.children, - d.createElement('input', h), - ), - ), - ) - }) - ;(le.defaultProps = { orientation: 'horizontal' }), u.Ts && (le.displayName = 'Slider') - var ce = (0, r.G)((e, t) => { - var { getThumbProps: n } = ue(), - r = ae( - { - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - position: 'absolute', - outline: 0, - }, - (0, a.yK)().thumb, - ), - i = n(e, t) - return d.createElement( - s.m$.div, - ae({}, i, { className: (0, l.cx)('chakra-slider__thumb', e.className), __css: r }), - ) - }) - u.Ts && (ce.displayName = 'SliderThumb') - var de = (0, r.G)((e, t) => { - var { getTrackProps: n } = ue(), - r = ae({ overflow: 'hidden' }, (0, a.yK)().track), - i = n(e, t) - return d.createElement( - s.m$.div, - ae({}, i, { className: (0, l.cx)('chakra-slider__track', e.className), __css: r }), - ) - }) - u.Ts && (de.displayName = 'SliderTrack') - var fe = (0, r.G)((e, t) => { - var { getInnerTrackProps: n } = ue(), - r = ae({ width: 'inherit', height: 'inherit' }, (0, a.yK)().filledTrack), - i = n(e, t) - return d.createElement( - s.m$.div, - ae({}, i, { className: 'chakra-slider__filled-track', __css: r }), - ) - }) - u.Ts && (fe.displayName = 'SliderFilledTrack') - var he = (0, r.G)((e, t) => { - var { getMarkerProps: n } = ue(), - r = n(e, t) - return d.createElement( - s.m$.div, - ae({}, r, { className: (0, l.cx)('chakra-slider__marker', e.className) }), - ) - }) - u.Ts && (he.displayName = 'SliderMark') - }, - 8134: function (e, t, n) { - 'use strict' - n.d(t, { - r: function () { - return E - }, - }) - var r = n(762), - i = n(639), - o = n(1034), - a = n(8327), - s = n(2947), - u = n(658), - l = n(4461), - c = n(7248), - d = n(5415), - f = n(7294) - function h() { - return (h = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function p(e) { - void 0 === e && (e = {}) - var { - defaultIsChecked: t, - defaultChecked: n = t, - isChecked: p, - isFocusable: m, - isDisabled: g, - isReadOnly: y, - isRequired: b, - onChange: w, - isIndeterminate: x, - isInvalid: E, - name: k, - value: T, - id: _, - onBlur: O, - onFocus: C, - 'aria-label': S, - 'aria-labelledby': A, - 'aria-invalid': P, - 'aria-describedby': M, - } = e, - R = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'defaultIsChecked', - 'defaultChecked', - 'isChecked', - 'isFocusable', - 'isDisabled', - 'isReadOnly', - 'isRequired', - 'onChange', - 'isIndeterminate', - 'isInvalid', - 'name', - 'value', - 'id', - 'onBlur', - 'onFocus', - 'aria-label', - 'aria-labelledby', - 'aria-invalid', - 'aria-describedby', - ]), - j = (0, r.W)(w), - D = (0, r.W)(O), - L = (0, r.W)(C), - [N, I] = (0, i.k)(), - [z, H] = (0, i.k)(), - [B, F] = (0, i.k)(), - V = (0, f.useRef)(null), - [U, G] = (0, f.useState)(!0), - [q, W] = (0, f.useState)(!!n), - [K, Z] = (0, o.p)(p, q) - ;(0, u.ZK)({ - condition: !!t, - message: - 'The "defaultIsChecked" prop has been deprecated and will be removed in a future version. Please use the "defaultChecked" prop instead, which mirrors default React checkbox behavior.', - }) - var $ = (0, f.useCallback)( - (e) => { - y || g - ? e.preventDefault() - : (K || W(Z ? e.target.checked : !!x || e.target.checked), null == j || j(e)) - }, - [y, g, Z, K, x, j], - ) - ;(0, a.G)(() => { - V.current && (V.current.indeterminate = Boolean(x)) - }, [x]) - var X = g && !m, - Y = (0, f.useCallback)( - (e) => { - ' ' === e.key && F.on() - }, - [F], - ), - Q = (0, f.useCallback)( - (e) => { - ' ' === e.key && F.off() - }, - [F], - ) - ;(0, a.G)(() => { - V.current && V.current.checked !== Z && W(V.current.checked) - }, [V.current]) - var J = (0, f.useCallback)( - function (e, t) { - void 0 === e && (e = {}), void 0 === t && (t = null) - return h({}, e, { - ref: t, - 'data-active': (0, l.PB)(B), - 'data-hover': (0, l.PB)(z), - 'data-checked': (0, l.PB)(Z), - 'data-focus': (0, l.PB)(N), - 'data-indeterminate': (0, l.PB)(x), - 'data-disabled': (0, l.PB)(g), - 'data-invalid': (0, l.PB)(E), - 'data-readonly': (0, l.PB)(y), - 'aria-hidden': !0, - onMouseDown: (0, u.v0)(e.onMouseDown, (e) => { - e.preventDefault(), F.on() - }), - onMouseUp: (0, u.v0)(e.onMouseUp, F.off), - onMouseEnter: (0, u.v0)(e.onMouseEnter, H.on), - onMouseLeave: (0, u.v0)(e.onMouseLeave, H.off), - }) - }, - [B, Z, g, N, z, x, E, y, F, H.off, H.on], - ), - ee = (0, f.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - h({}, R, e, { - ref: (0, s.l)(t, (e) => { - e && G('LABEL' === e.tagName) - }), - onClick: (0, u.v0)(e.onClick, () => { - var e - U || - (null == (e = V.current) || e.click(), (0, c.T)(V.current, { nextTick: !0 })) - }), - 'data-disabled': (0, l.PB)(g), - }) - ) - }, - [R, g, U], - ), - te = (0, f.useCallback)( - function (e, t) { - void 0 === e && (e = {}), void 0 === t && (t = null) - return h({}, e, { - ref: (0, s.l)(V, t), - type: 'checkbox', - name: k, - value: T, - id: _, - onChange: (0, u.v0)(e.onChange, $), - onBlur: (0, u.v0)(e.onBlur, D, I.off), - onFocus: (0, u.v0)(e.onFocus, L, () => { - ;(0, u.A4)(I.on) - }), - onKeyDown: (0, u.v0)(e.onKeyDown, Y), - onKeyUp: (0, u.v0)(e.onKeyUp, Q), - required: b, - checked: Z, - disabled: X, - readOnly: y, - 'aria-label': S, - 'aria-labelledby': A, - 'aria-invalid': P ? Boolean(P) : E, - 'aria-describedby': M, - 'aria-disabled': g, - style: d.NL, - }) - }, - [k, T, _, $, I.off, I.on, D, L, Y, Q, b, Z, X, y, S, A, P, E, M, g], - ), - ne = (0, f.useCallback)( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - h({}, e, { - ref: t, - onMouseDown: (0, u.v0)(e.onMouseDown, v), - onTouchStart: (0, u.v0)(e.onTouchStart, v), - 'data-disabled': (0, l.PB)(g), - 'data-checked': (0, l.PB)(Z), - 'data-invalid': (0, l.PB)(E), - }) - ) - }, - [Z, g, E], - ) - return { - state: { - isInvalid: E, - isFocused: N, - isChecked: Z, - isActive: B, - isHovered: z, - isIndeterminate: x, - isDisabled: g, - isReadOnly: y, - isRequired: b, - }, - getRootProps: ee, - getCheckboxProps: J, - getInputProps: te, - getLabelProps: ne, - htmlProps: R, - } - } - function v(e) { - e.preventDefault(), e.stopPropagation() - } - var m = n(63), - g = n(2326), - y = n(5284), - b = n(3782), - w = n(3808) - function x() { - return (x = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var E = (0, m.G)((e, t) => { - var n = (0, g.j)('Switch', e), - r = (0, y.Lr)(e), - { spacing: i = '0.5rem', children: o } = r, - a = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(r, ['spacing', 'children']), - { - state: s, - getInputProps: u, - getCheckboxProps: c, - getRootProps: d, - getLabelProps: h, - } = p(a), - v = f.useMemo( - () => - x( - { display: 'inline-block', verticalAlign: 'middle', lineHeight: 'normal' }, - n.container, - ), - [n.container], - ), - m = f.useMemo( - () => - x( - { - display: 'inline-flex', - flexShrink: 0, - justifyContent: 'flex-start', - boxSizing: 'content-box', - cursor: 'pointer', - }, - n.track, - ), - [n.track], - ), - w = f.useMemo(() => x({ userSelect: 'none', marginStart: i }, n.label), [i, n.label]) - return f.createElement( - b.m$.label, - x({}, d(), { className: (0, l.cx)('chakra-switch', e.className), __css: v }), - f.createElement('input', x({ className: 'chakra-switch__input' }, u({}, t))), - f.createElement( - b.m$.span, - x({}, c(), { className: 'chakra-switch__track', __css: m }), - f.createElement(b.m$.span, { - __css: n.thumb, - className: 'chakra-switch__thumb', - 'data-checked': (0, l.PB)(s.isChecked), - 'data-hover': (0, l.PB)(s.isHovered), - }), - ), - o && - f.createElement( - b.m$.span, - x({ className: 'chakra-switch__label' }, h(), { __css: w }), - o, - ), - ) - }) - w.Ts && (E.displayName = 'Switch') - }, - 63: function (e, t, n) { - 'use strict' - n.d(t, { - G: function () { - return i - }, - }) - var r = n(7294) - function i(e) { - return r.forwardRef(e) - } - }, - 1180: function (e, t, n) { - 'use strict' - n.d(t, { - useTheme: function () { - return o.Fg - }, - }) - var r = n(9421) - n.o(r, 'useTheme') && - n.d(t, { - useTheme: function () { - return r.useTheme - }, - }) - var i = n(5070) - n.o(i, 'useTheme') && - n.d(t, { - useTheme: function () { - return i.useTheme - }, - }) - var o = n(9676) - }, - 3782: function (e, t, n) { - 'use strict' - n.d(t, { - m$: function () { - return _ - }, - }) - var r = n(9421), - i = n(5505), - o = n(658), - a = n(7294) - function s() { - return (s = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var u = n(7866), - l = - /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/, - c = (0, u.Z)(function (e) { - return ( - l.test(e) || - (111 === e.charCodeAt(0) && 110 === e.charCodeAt(1) && e.charCodeAt(2) < 91) - ) - }), - d = n(2544), - f = n(444), - h = n(4199), - p = c, - v = function (e) { - return 'theme' !== e - }, - m = function (e) { - return 'string' === typeof e && e.charCodeAt(0) > 96 ? p : v - }, - g = function (e, t, n) { - var r - if (t) { - var i = t.shouldForwardProp - r = - e.__emotion_forwardProp && i - ? function (t) { - return e.__emotion_forwardProp(t) && i(t) - } - : i - } - return 'function' !== typeof r && n && (r = e.__emotion_forwardProp), r - }, - y = function e(t, n) { - var r, - i, - o = t.__emotion_real === t, - u = (o && t.__emotion_base) || t - void 0 !== n && ((r = n.label), (i = n.target)) - var l = g(t, n, o), - c = l || m(u), - p = !c('as') - return function () { - var v = arguments, - y = o && void 0 !== t.__emotion_styles ? t.__emotion_styles.slice(0) : [] - if ((void 0 !== r && y.push('label:' + r + ';'), null == v[0] || void 0 === v[0].raw)) - y.push.apply(y, v) - else { - 0, y.push(v[0][0]) - for (var b = v.length, w = 1; w < b; w++) y.push(v[w], v[0][w]) - } - var x = (0, d.w)(function (e, t, n) { - var r = (p && e.as) || u, - o = '', - s = [], - v = e - if (null == e.theme) { - for (var g in ((v = {}), e)) v[g] = e[g] - v.theme = (0, a.useContext)(d.T) - } - 'string' === typeof e.className - ? (o = (0, f.f)(t.registered, s, e.className)) - : null != e.className && (o = e.className + ' ') - var b = (0, h.O)(y.concat(s), t.registered, v) - ;(0, f.M)(t, b, 'string' === typeof r) - ;(o += t.key + '-' + b.name), void 0 !== i && (o += ' ' + i) - var w = p && void 0 === l ? m(r) : c, - x = {} - for (var E in e) (p && 'as' === E) || (w(E) && (x[E] = e[E])) - return (x.className = o), (x.ref = n), (0, a.createElement)(r, x) - }) - return ( - (x.displayName = - void 0 !== r - ? r - : 'Styled(' + - ('string' === typeof u ? u : u.displayName || u.name || 'Component') + - ')'), - (x.defaultProps = t.defaultProps), - (x.__emotion_real = x), - (x.__emotion_base = u), - (x.__emotion_styles = y), - (x.__emotion_forwardProp = l), - Object.defineProperty(x, 'toString', { - value: function () { - return '.' + i - }, - }), - (x.withComponent = function (t, r) { - return e(t, s({}, n, r, { shouldForwardProp: g(x, r, !0) })).apply(void 0, y) - }), - x - ) - } - }.bind() - ;[ - 'a', - 'abbr', - 'address', - 'area', - 'article', - 'aside', - 'audio', - 'b', - 'base', - 'bdi', - 'bdo', - 'big', - 'blockquote', - 'body', - 'br', - 'button', - 'canvas', - 'caption', - 'cite', - 'code', - 'col', - 'colgroup', - 'data', - 'datalist', - 'dd', - 'del', - 'details', - 'dfn', - 'dialog', - 'div', - 'dl', - 'dt', - 'em', - 'embed', - 'fieldset', - 'figcaption', - 'figure', - 'footer', - 'form', - 'h1', - 'h2', - 'h3', - 'h4', - 'h5', - 'h6', - 'head', - 'header', - 'hgroup', - 'hr', - 'html', - 'i', - 'iframe', - 'img', - 'input', - 'ins', - 'kbd', - 'keygen', - 'label', - 'legend', - 'li', - 'link', - 'main', - 'map', - 'mark', - 'marquee', - 'menu', - 'menuitem', - 'meta', - 'meter', - 'nav', - 'noscript', - 'object', - 'ol', - 'optgroup', - 'option', - 'output', - 'p', - 'param', - 'picture', - 'pre', - 'progress', - 'q', - 'rp', - 'rt', - 'ruby', - 's', - 'samp', - 'script', - 'section', - 'select', - 'small', - 'source', - 'span', - 'strong', - 'style', - 'sub', - 'summary', - 'sup', - 'table', - 'tbody', - 'td', - 'textarea', - 'tfoot', - 'th', - 'thead', - 'time', - 'title', - 'tr', - 'track', - 'u', - 'ul', - 'var', - 'video', - 'wbr', - 'circle', - 'clipPath', - 'defs', - 'ellipse', - 'foreignObject', - 'g', - 'image', - 'line', - 'linearGradient', - 'mask', - 'path', - 'pattern', - 'polygon', - 'polyline', - 'radialGradient', - 'rect', - 'stop', - 'svg', - 'text', - 'tspan', - ].forEach(function (e) { - y[e] = y(e) - }) - var b = y, - w = new Set([ - ...r.propNames, - 'textStyle', - 'layerStyle', - 'apply', - 'isTruncated', - 'noOfLines', - 'focusBorderColor', - 'errorBorderColor', - 'as', - '__css', - 'css', - 'sx', - ]), - x = new Set(['htmlWidth', 'htmlHeight', 'htmlSize']), - E = (e) => x.has(e) || !w.has(e), - k = n(5284) - function T(e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - } - var _ = function (e, t) { - var n = null != t ? t : {}, - { baseStyle: a } = n, - s = T(n, ['baseStyle']) - s.shouldForwardProp || (s.shouldForwardProp = E) - var u = ((e) => { - var { baseStyle: t } = e - return (e) => { - var { css: n, __css: a, sx: s } = e, - u = T(e, ['theme', 'css', '__css', 'sx']), - l = (0, i.lw)(u, (e, t) => (0, r.isStyleProp)(t)), - c = (0, o.Pu)(t, e), - d = Object.assign({}, a, c, (0, i.YU)(l), s), - f = (0, r.iv)(d)(e.theme) - return n ? [f, n] : f - } - })({ baseStyle: a }) - return b(e, s)(u) - } - k.t6.forEach((e) => { - _[e] = _(e) - }) - }, - 5070: function () {}, - 5284: function (e, t, n) { - 'use strict' - n.d(t, { - t6: function () { - return i - }, - Lr: function () { - return o - }, - }) - var r = n(5505), - i = [ - 'a', - 'b', - 'article', - 'aside', - 'blockquote', - 'button', - 'caption', - 'cite', - 'circle', - 'code', - 'dd', - 'div', - 'dl', - 'dt', - 'fieldset', - 'figcaption', - 'figure', - 'footer', - 'form', - 'h1', - 'h2', - 'h3', - 'h4', - 'h5', - 'h6', - 'header', - 'hr', - 'img', - 'input', - 'kbd', - 'label', - 'li', - 'main', - 'mark', - 'nav', - 'ol', - 'p', - 'path', - 'pre', - 'q', - 'rect', - 's', - 'svg', - 'section', - 'select', - 'strong', - 'small', - 'span', - 'sub', - 'sup', - 'table', - 'tbody', - 'td', - 'textarea', - 'tfoot', - 'th', - 'thead', - 'tr', - 'ul', - ] - function o(e) { - return (0, r.CE)(e, ['styleConfig', 'size', 'variant', 'colorScheme']) - } - }, - 2326: function (e, t, n) { - 'use strict' - n.d(t, { - j: function () { - return v - }, - m: function () { - return p - }, - }) - var r = n(5505), - i = n(8554), - o = n.n(i), - a = n(658), - s = n(7294), - u = n(9590), - l = n.n(u), - c = n(4738), - d = n(9676) - function f() { - return (f = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function h() { - return f({}, (0, c.If)(), { theme: (0, d.Fg)() }) - } - function p(e, t, n) { - var i, u - void 0 === t && (t = {}), void 0 === n && (n = {}) - var { styleConfig: c } = t, - d = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(t, ['styleConfig']), - { theme: f, colorMode: p } = h(), - v = (0, r.Wf)(f, 'components.' + e), - m = c || v, - g = o()( - { theme: f, colorMode: p }, - null != (i = null == m ? void 0 : m.defaultProps) ? i : {}, - (0, r.YU)((0, r.CE)(d, ['children'])), - ), - y = (0, s.useRef)({}) - return (0, s.useMemo)(() => { - if (m) { - var e, - t, - r, - i, - s, - u, - c = (0, a.Pu)(null != (e = m.baseStyle) ? e : {}, g), - d = (0, a.Pu)( - null != (t = null == (r = m.variants) ? void 0 : r[g.variant]) ? t : {}, - g, - ), - f = (0, a.Pu)(null != (i = null == (s = m.sizes) ? void 0 : s[g.size]) ? i : {}, g), - h = o()({}, c, f, d) - null != (u = n) && - u.isMultiPart && - m.parts && - m.parts.forEach((e) => { - var t - h[e] = null != (t = h[e]) ? t : {} - }), - l()(y.current, h) || (y.current = h) - } - return y.current - }, [m, g, null == (u = n) ? void 0 : u.isMultiPart]) - } - function v(e, t) { - return p(e, t, { isMultiPart: !0 }) - } - }, - 5684: function (e, t, n) { - 'use strict' - n.d(t, { - u: function () { - return V - }, - }) - var r = n(3459), - i = n(7294), - o = n(7581) - function a() { - var e = i.useRef(!1), - [t, n] = i.useState(0) - return ( - (0, o.z)(() => { - e.current = !0 - }), - i.useCallback(() => { - e.current || n(t + 1) - }, [t]) - ) - } - var s = n(8327), - u = n(4461), - l = n(3808), - c = n(8500), - d = n(3935), - f = n(4288) - function h() { - return (h = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var [p, v] = (0, c.k)({ strict: !1, name: 'PortalContext' }), - m = 'chakra-portal', - g = (e) => - i.createElement( - 'div', - { - className: 'chakra-portal-zIndex', - style: { position: 'absolute', zIndex: e.zIndex, top: 0, left: 0, right: 0 }, - }, - e.children, - ), - y = (e) => { - var { appendToParentPortal: t, children: n } = e, - r = i.useRef(null), - o = i.useRef(null), - u = a(), - l = v(), - c = (0, f.L)() - ;(0, s.G)(() => { - if (r.current) { - var e = r.current.ownerDocument, - n = t && null != l ? l : e.body - if (n) { - ;(o.current = e.createElement('div')), - (o.current.className = m), - n.appendChild(o.current), - u() - var i = o.current - return () => { - n.contains(i) && n.removeChild(i) - } - } - } - }, []) - var h = - null != c && c.zIndex - ? i.createElement(g, { zIndex: null == c ? void 0 : c.zIndex }, n) - : n - return o.current - ? (0, d.createPortal)(i.createElement(p, { value: o.current }, h), o.current) - : i.createElement('span', { ref: r }) - }, - b = (e) => { - var { children: t, containerRef: n, appendToParentPortal: r } = e, - o = n.current, - l = null != o ? o : u.jU ? document.body : void 0, - c = i.useMemo(() => { - var e = null == o ? void 0 : o.ownerDocument.createElement('div') - return e && (e.className = m), e - }, [o]), - f = a() - return ( - (0, s.G)(() => { - f() - }, []), - (0, s.G)(() => { - if (c && l) - return ( - l.appendChild(c), - () => { - l.removeChild(c) - } - ) - }, [c, l]), - l && c ? (0, d.createPortal)(i.createElement(p, { value: r ? c : null }, t), c) : null - ) - } - function w(e) { - var { containerRef: t } = e, - n = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, ['containerRef']) - return t ? i.createElement(b, h({ containerRef: t }, n)) : i.createElement(y, n) - } - ;(w.defaultProps = { appendToParentPortal: !0 }), - (w.className = m), - (w.selector = '.chakra-portal'), - l.Ts && (w.displayName = 'Portal') - var x = n(3782), - E = n(63), - k = n(2326), - T = n(5284), - _ = n(9676), - O = n(5505), - C = n(5415), - S = n(7554), - A = n(3869), - P = { - exit: { - scale: 0.85, - opacity: 0, - transition: { - opacity: { duration: 0.15, easings: 'easeInOut' }, - scale: { duration: 0.2, easings: 'easeInOut' }, - }, - }, - enter: { - scale: 1, - opacity: 1, - transition: { - opacity: { easings: 'easeOut', duration: 0.2 }, - scale: { duration: 0.2, ease: [0.175, 0.885, 0.4, 1.1] }, - }, - }, - }, - M = n(4860), - R = n(4577), - j = n(4941), - D = n(8931), - L = n(658), - N = n(8456), - I = n(2947) - function z() { - return (z = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function H(e) { - void 0 === e && (e = {}) - var { - openDelay: t = 0, - closeDelay: n = 0, - closeOnClick: o = !0, - closeOnMouseDown: a, - onOpen: s, - onClose: u, - placement: l, - id: c, - isOpen: d, - defaultIsOpen: f, - arrowSize: h = 10, - arrowShadowColor: p, - arrowPadding: v, - modifiers: m, - isDisabled: g, - gutter: y, - offset: b, - } = e, - w = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'openDelay', - 'closeDelay', - 'closeOnClick', - 'closeOnMouseDown', - 'onOpen', - 'onClose', - 'placement', - 'id', - 'isOpen', - 'defaultIsOpen', - 'arrowSize', - 'arrowShadowColor', - 'arrowPadding', - 'modifiers', - 'isDisabled', - 'gutter', - 'offset', - ]), - { - isOpen: x, - onOpen: E, - onClose: k, - } = (0, M.q)({ isOpen: d, defaultIsOpen: f, onOpen: s, onClose: u }), - { - referenceRef: T, - getPopperProps: _, - getArrowInnerProps: O, - getArrowProps: C, - } = (0, D.D)({ - enabled: x, - placement: l, - arrowPadding: v, - modifiers: m, - gutter: y, - offset: b, - }), - S = (0, R.Me)(c, 'tooltip'), - A = i.useRef(null), - P = i.useRef(), - H = i.useRef(), - B = i.useCallback(() => { - g || (P.current = window.setTimeout(E, t)) - }, [g, E, t]), - F = i.useCallback(() => { - P.current && clearTimeout(P.current), (H.current = window.setTimeout(k, n)) - }, [n, k]), - V = i.useCallback(() => { - o && F() - }, [o, F]), - U = i.useCallback(() => { - a && F() - }, [a, F]) - ;(0, j.O)('keydown', (e) => { - x && 'Escape' === e.key && F() - }), - i.useEffect( - () => () => { - clearTimeout(P.current), clearTimeout(H.current) - }, - [], - ), - (0, j.O)('mouseleave', F, A.current) - var G = i.useCallback( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - z({}, e, { - ref: (0, I.l)(A, t, T), - onMouseEnter: (0, L.v0)(e.onMouseEnter, B), - onClick: (0, L.v0)(e.onClick, V), - onMouseDown: (0, L.v0)(e.onMouseDown, U), - onFocus: (0, L.v0)(e.onFocus, B), - onBlur: (0, L.v0)(e.onBlur, F), - 'aria-describedby': x ? S : void 0, - }) - ) - }, - [B, F, U, x, S, V, T], - ), - q = i.useCallback( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - _( - z({}, e, { - style: z({}, e.style, { - [r.Dq.arrowSize.var]: h ? (0, N.px)(h) : void 0, - [r.Dq.arrowShadowColor.var]: p, - }), - }), - t, - ) - ) - }, - [_, h, p], - ), - W = i.useCallback( - function (e, t) { - return ( - void 0 === e && (e = {}), - void 0 === t && (t = null), - z({ ref: t }, w, e, { - id: S, - role: 'tooltip', - style: z({}, e.style, { - position: 'relative', - transformOrigin: r.Dq.transformOrigin.varRef, - }), - }) - ) - }, - [w, S], - ) - return { - isOpen: x, - show: B, - hide: F, - getTriggerProps: G, - getTooltipProps: W, - getTooltipPositionerProps: q, - getArrowProps: C, - getArrowInnerProps: O, - } - } - function B() { - return (B = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var F = (0, x.m$)(S.E.div), - V = (0, E.G)((e, t) => { - var n = (0, k.m)('Tooltip', e), - o = (0, T.Lr)(e), - a = (0, _.Fg)(), - { - children: s, - label: u, - shouldWrapChildren: c, - 'aria-label': d, - hasArrow: f, - bg: h, - portalProps: p, - } = o, - v = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(o, [ - 'children', - 'label', - 'shouldWrapChildren', - 'aria-label', - 'hasArrow', - 'bg', - 'portalProps', - ]) - h && ((n.bg = h), (n[r.Dq.arrowBg.var] = (0, O.K1)(a, 'colors', h))) - var m, - g = H(v) - if ((0, l.HD)(s) || c) - m = i.createElement(x.m$.span, B({ tabIndex: 0 }, g.getTriggerProps()), s) - else { - var y = i.Children.only(s) - m = i.cloneElement(y, g.getTriggerProps(y.props, y.ref)) - } - var b = !!d, - E = g.getTooltipProps({}, t), - S = b ? (0, O.CE)(E, ['role', 'id']) : E, - M = (0, O.ei)(E, ['role', 'id']) - return u - ? i.createElement( - i.Fragment, - null, - m, - i.createElement( - A.M, - null, - g.isOpen && - i.createElement( - w, - p, - i.createElement( - x.m$.div, - B({}, g.getTooltipPositionerProps(), { - __css: { zIndex: n.zIndex, pointerEvents: 'none' }, - }), - i.createElement( - F, - B({ variants: P }, S, { - initial: 'exit', - animate: 'enter', - exit: 'exit', - __css: n, - }), - u, - b && i.createElement(C.TX, M, d), - f && - i.createElement( - x.m$.div, - { - 'data-popper-arrow': !0, - className: 'chakra-tooltip__arrow-wrapper', - }, - i.createElement(x.m$.div, { - 'data-popper-arrow-inner': !0, - className: 'chakra-tooltip__arrow', - __css: { bg: n.bg }, - }), - ), - ), - ), - ), - ), - ) - : i.createElement(i.Fragment, null, s) - }) - l.Ts && (V.displayName = 'Tooltip') - }, - 8841: function (e, t, n) { - 'use strict' - n.d(t, { - U: function () { - return y - }, - }) - var r = n(658), - i = n(8554), - o = n.n(i), - a = n(4461), - s = n(3808), - u = n(3869), - l = n(7554), - c = n(7294) - function d() { - return (d = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var f = { - ease: [0.25, 0.1, 0.25, 1], - easeIn: [0.4, 0, 1, 1], - easeOut: [0, 0, 0.2, 1], - easeInOut: [0.4, 0, 0.2, 1], - } - var h = (e, t) => d({}, e, { delay: (0, s.hj)(t) ? t : null == t ? void 0 : t.enter }), - p = (e, t) => d({}, e, { delay: (0, s.hj)(t) ? t : null == t ? void 0 : t.exit }) - function v() { - return (v = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - var m = { - exit: { - height: { duration: 0.2, ease: f.ease }, - opacity: { duration: 0.3, ease: f.ease }, - }, - enter: { - height: { duration: 0.3, ease: f.ease }, - opacity: { duration: 0.4, ease: f.ease }, - }, - }, - g = { - exit: (e) => { - var t, - n, - { - animateOpacity: r, - startingHeight: i, - transition: o, - transitionEnd: a, - delay: s, - } = e - return v( - {}, - r && { opacity: ((n = i), null != n && parseInt(n.toString(), 10) > 0 ? 1 : 0) }, - { - overflow: 'hidden', - height: i, - transitionEnd: null == a ? void 0 : a.exit, - transition: null != (t = null == o ? void 0 : o.exit) ? t : p(m.exit, s), - }, - ) - }, - enter: (e) => { - var t, - { animateOpacity: n, endingHeight: r, transition: i, transitionEnd: o, delay: a } = e - return v({}, n && { opacity: 1 }, { - height: r, - transitionEnd: null == o ? void 0 : o.enter, - transition: null != (t = null == i ? void 0 : i.enter) ? t : h(m.enter, a), - }) - }, - }, - y = c.forwardRef((e, t) => { - var { - in: n, - unmountOnExit: i, - animateOpacity: s = !0, - startingHeight: d = 0, - endingHeight: f = 'auto', - style: h, - className: p, - transition: m, - transitionEnd: y, - } = e, - b = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, [ - 'in', - 'unmountOnExit', - 'animateOpacity', - 'startingHeight', - 'endingHeight', - 'style', - 'className', - 'transition', - 'transitionEnd', - ]), - [w, x] = c.useState(!1) - c.useEffect(() => { - var e = setTimeout(() => { - x(!0) - }) - return () => clearTimeout(e) - }, []), - (0, r.ZK)({ - condition: Boolean(d > 0 && i), - message: - "startingHeight and unmountOnExit are mutually exclusive. You can't use them together", - }) - var E = parseFloat(d.toString()) > 0, - k = { - startingHeight: d, - endingHeight: f, - animateOpacity: s, - transition: w ? m : { enter: { duration: 0 } }, - transitionEnd: o()(y, { - enter: { overflow: 'initial' }, - exit: i ? void 0 : { display: E ? 'block' : 'none' }, - }), - }, - T = !i || n, - _ = n || i ? 'enter' : 'exit' - return c.createElement( - u.M, - { initial: !1, custom: k }, - T && - c.createElement( - l.E.div, - v({ ref: t }, b, { - className: (0, a.cx)('chakra-collapse', p), - style: v({ overflow: 'hidden', display: 'block' }, h), - custom: k, - variants: g, - initial: !!i && 'exit', - animate: _, - exit: 'exit', - }), - ), - ) - }) - s.Ts && (y.displayName = 'Collapse') - }, - 7248: function (e, t, n) { - 'use strict' - n.d(t, { - T: function () { - return a - }, - }) - var r = n(4461), - i = n(658), - o = n(7768) - function a(e, t) { - void 0 === t && (t = {}) - var { - isActive: n = o.H9, - nextTick: a, - preventScroll: u = !0, - selectTextIfInput: l = !0, - } = t - if (!e || n(e)) return -1 - function c() { - if (e) { - if ( - (function () { - if (null == s) { - s = !1 - try { - document.createElement('div').focus({ - get preventScroll() { - return (s = !0), !0 - }, - }) - } catch (e) {} - } - return s - })() - ) - e.focus({ preventScroll: u }) - else if ((e.focus(), u)) - !(function (e) { - for (var { element: t, scrollTop: n, scrollLeft: r } of e) - (t.scrollTop = n), (t.scrollLeft = r) - })( - (function (e) { - var t = (0, r.lZ)(e), - n = e.parentNode, - i = [], - o = t.scrollingElement || t.documentElement - for (; n instanceof HTMLElement && n !== o; ) - (n.offsetHeight < n.scrollHeight || n.offsetWidth < n.scrollWidth) && - i.push({ element: n, scrollTop: n.scrollTop, scrollLeft: n.scrollLeft }), - (n = n.parentNode) - o instanceof HTMLElement && - i.push({ element: o, scrollTop: o.scrollTop, scrollLeft: o.scrollLeft }) - return i - })(e), - ) - ;(0, o.cK)(e) && l && e.select() - } else - (0, i.ZK)({ - condition: !0, - message: "[chakra-ui]: can't call focus() on `null` or `undefined` element", - }) - } - return a ? requestAnimationFrame(c) : (c(), -1) - } - var s = null - }, - 7768: function (e, t, n) { - 'use strict' - n.d(t, { - cK: function () { - return o - }, - H9: function () { - return a - }, - Wq: function () { - return c - }, - }) - var r = n(4461), - i = (e) => e.hasAttribute('tabindex') - function o(e) { - return s(e) && 'input' === e.tagName.toLowerCase() && 'select' in e - } - function a(e) { - return (e instanceof HTMLElement ? (0, r.lZ)(e) : document).activeElement === e - } - function s(e) { - return e instanceof HTMLElement - } - function u(e) { - return !(!e.parentElement || !u(e.parentElement)) || e.hidden - } - function l(e) { - if ( - !s(e) || - u(e) || - (function (e) { - return ( - !0 === Boolean(e.getAttribute('disabled')) || - !0 === Boolean(e.getAttribute('aria-disabled')) - ) - })(e) - ) - return !1 - var { localName: t } = e - if (['input', 'select', 'textarea', 'button'].indexOf(t) >= 0) return !0 - var n = { - a: () => e.hasAttribute('href'), - audio: () => e.hasAttribute('controls'), - video: () => e.hasAttribute('controls'), - } - return t in n - ? n[t]() - : !!(function (e) { - var t = e.getAttribute('contenteditable') - return 'false' !== t && null != t - })(e) || i(e) - } - function c(e) { - return !!e && s(e) && l(e) && !((e) => i(e) && -1 === e.tabIndex)(e) - } - }, - 5415: function (e, t, n) { - 'use strict' - n.d(t, { - NL: function () { - return o - }, - TX: function () { - return a - }, - }) - var r = n(3782), - i = n(3808), - o = { - border: '0px', - clip: 'rect(0px, 0px, 0px, 0px)', - height: '1px', - width: '1px', - margin: '-1px', - padding: '0px', - overflow: 'hidden', - whiteSpace: 'nowrap', - position: 'absolute', - }, - a = (0, r.m$)('span', { baseStyle: o }) - i.Ts && (a.displayName = 'VisuallyHidden') - var s = (0, r.m$)('input', { baseStyle: o }) - i.Ts && (s.displayName = 'VisuallyHiddenInput') - }, - 6600: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return i - }, - }) - var r = - /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/, - i = (function (e) { - var t = {} - return function (n) { - return void 0 === t[n] && (t[n] = e(n)), t[n] - } - })(function (e) { - return ( - r.test(e) || - (111 === e.charCodeAt(0) && 110 === e.charCodeAt(1) && e.charCodeAt(2) < 91) - ) - }) - }, - 2351: function (e, t, n) { - 'use strict' - n.d(t, { - _7: function () { - return v - }, - }) - var r = n(7294) - var i = function (e) { - ;(0, r.useEffect)(function () { - e() - }, []) - } - var o = function (e, t) { - var n = (0, r.useRef)(!1) - ;(0, r.useEffect)(function () { - if (n.current) return e() - n.current = !0 - }, t) - } - var a = function (e) { - var t = (0, r.useRef)(e) - ;(t.current = e), - (0, r.useEffect)(function () { - return function () { - t.current() - } - }, []) - } - 'undefined' !== typeof window && 'undefined' !== typeof document - ? r.useLayoutEffect - : r.useEffect - var s = n(4699), - u = - Object.is || - function (e, t) { - return e === t ? 0 !== e || 1 / e === 1 / t : e !== e && t !== t - } - function l(e, t) { - for (var n = 0; n < e.length && n < t.length; n++) if (!u(t[n], e[n])) return !1 - return !0 - } - var c = function (e) { - var t = (0, r.useRef)(e) - return (t.current = e), t - } - var d = function (e) { - var t = c(e), - n = (0, r.useRef)() - return ( - void 0 === n.current && - (n.current = function () { - for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++) - n[r] = arguments[r] - return t.current.apply(this, n) - }), - n.current - ) - } - function f(e) { - return (f = - 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator - ? function (e) { - return typeof e - } - : function (e) { - return e && - 'function' === typeof Symbol && - e.constructor === Symbol && - e !== Symbol.prototype - ? 'symbol' - : typeof e - })(e) - } - var h = function () { - var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0] - return function (t, n) { - var i, - o = !1, - s = !0 - 'number' === typeof n - ? (i = n) - : 'object' === f(n) && - n && - ('wait' in n && (i = +n.wait), - 'leading' in n && (o = !!n.leading), - 'trailing' in n && (s = !!n.trailing)) - var u = (0, r.useRef)(), - l = (0, r.useRef)(), - c = (0, r.useRef)(), - h = (0, r.useRef)(), - p = (0, r.useRef)(), - v = (0, r.useRef)(), - m = d(function () { - var n = Date.now(), - r = n - p.current, - o = n - v.current - if ((h.current && clearTimeout(h.current), r >= i || (e && o >= i))) - (h.current = void 0), - (p.current = void 0), - s && l.current && ((v.current = n), (c.current = t.apply(u.current, l.current))) - else { - var a = i - r, - d = i - o, - f = e ? Math.min(a, d) : a - h.current = setTimeout(m, f) - } - }), - g = d(function () { - var e = Date.now(), - n = p.current - u.current = this - for (var r = arguments.length, a = new Array(r), s = 0; s < r; s++) - a[s] = arguments[s] - return ( - (l.current = a), - (p.current = e), - (void 0 === n || e - n >= i) && - void 0 === h.current && - ((v.current = e), - (h.current = setTimeout(m, i)), - o && (c.current = t.apply(u.current, l.current))), - c.current - ) - }), - y = (0, r.useCallback)(function () { - void 0 !== h.current && (clearTimeout(h.current), (h.current = void 0)), - (u.current = void 0), - (l.current = void 0), - (p.current = void 0), - (v.current = void 0) - }, []), - b = d(function () { - return ( - void 0 !== h.current && - l.current && - ((c.current = t.apply(u.current, l.current)), y()), - c.current - ) - }) - return a(y), [g, { flush: b, cancel: y }] - } - } - var p = function () { - var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], - t = h(e) - return function (e, n) { - var i = c(e), - a = (0, r.useState)(e), - l = (0, s.Z)(a, 2), - f = l[0], - h = l[1], - p = (0, r.useRef)(f) - function v(e) { - u(p.current, e) || ((p.current = e), h(e)) - } - var m = t(v, n), - g = (0, s.Z)(m, 2), - y = g[0], - b = g[1].cancel, - w = d(function (e) { - b(), v(arguments.length > 0 ? e : i.current) - }) - return ( - o( - function () { - y(e) - }, - [e], - ), - [f, { flush: w, cancel: b }] - ) - } - } - p(!1), p(!0), h(!1), h(!0) - 'undefined' !== typeof window && - window.requestIdleCallback && - window.cancelIdleCallback && - (window.requestIdleCallback, window.cancelIdleCallback) - var v = function (e, t) { - var n, i - 'number' === typeof t - ? (n = t) - : 'object' === f(t) && - null !== t && - ('duration' in t && (n = +t.duration), - 'function' === typeof t.algorithm && (i = t.algorithm)) - var o = (0, r.useRef)(), - s = (0, r.useRef)(), - u = d(e), - l = d(function (e) { - void 0 === s.current && (s.current = e) - var t = e - s.current, - r = n > 0 ? t / n : 1 - r < 0 && (r = 0), - r > 1 && (r = 1), - r < 1 && (o.current = requestAnimationFrame(l)), - u(i ? i(r) : r) - }), - c = (0, r.useCallback)(function () { - void 0 !== o.current && (cancelAnimationFrame(o.current), (o.current = void 0)), - (s.current = void 0) - }, []), - h = d(function () { - c(), (o.current = requestAnimationFrame(l)) - }) - return a(c), [h, c] - } - var m = function () { - var e = (0, r.useRef)(!1) - return ( - i(function () { - e.current = !0 - }), - e - ) - } - var g = function (e) { - var t = (0, r.useRef)(e), - n = (0, r.useRef)(e) - return (n.current = t.current), (t.current = e), n - } - var y = function (e, t, n, i) { - var o, a, s - 'boolean' === typeof i - ? (o = i) - : 'object' === f(i) && - null !== i && - ('capture' in i && (o = !!i.capture), - 'once' in i && (a = !!i.once), - 'passive' in i && (s = !!i.passive)) - var u = d(n) - ;(0, r.useEffect)( - function () { - if (e && e.addEventListener && e.removeEventListener) - return ( - e.addEventListener(t, u, { capture: o, once: a, passive: s }), - function () { - e.removeEventListener(t, u, { capture: o }) - } - ) - }, - [e, t, u, o, a, s], - ) - } - 'undefined' !== typeof window && - 'undefined' !== typeof window.navigator && - window.navigator.onLine - var b = function (e) { - var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [], - n = m(), - i = g(t), - o = (0, r.useRef)() - return (n.current && l(i.current, t)) || (o.current = e()), o.current - }, - w = { ico: 'image/x-icon', png: 'image/png', gif: 'image/gif' } - 'undefined' !== typeof window && window.matchMedia - n(6808) - function x(e, t) { - var n = (0, r.useRef)(), - i = (0, r.useState)(t), - a = (0, s.Z)(i, 2), - u = a[0], - l = a[1], - c = d(function (e) { - ;(n.current = e), l(e) - }), - f = d(function () { - l(t) - }) - return ( - o( - function () { - ;(n.current = void 0), l(t) - }, - [e], - ), - o( - function () { - void 0 === n.current && l(t) - }, - [t], - ), - [u, { set: c, remove: f }] - ) - } - var E = function (e) { - return e - ? function (t, n, i) { - var a = i && i.serialize ? i.serialize : JSON.stringify, - u = i && i.deserialize ? i.deserialize : JSON.parse, - l = d(function () { - try { - var r = e.getItem(t) - return null !== r ? u(r) : n - } catch (i) { - return n - } - }), - c = d(function (n) { - try { - e.setItem(t, a(n)) - } catch (r) {} - }), - h = d(function () { - e.removeItem(t) - }), - p = (0, r.useState)(l()), - v = (0, s.Z)(p, 2), - m = v[0], - g = v[1], - y = d(function (e) { - c(e), g(e) - }), - b = d(function () { - h(), g(l()) - }) - return ( - o( - function () { - g(l()) - }, - [t], - ), - o( - function () { - null === e.getItem(t) && g(n) - }, - [n], - ), - (0, r.useEffect)( - function () { - function n(n) { - n.storageArea === e && n.key === t && g(l()) - } - if (void 0 !== ('undefined' === typeof window ? 'undefined' : f(window))) - return ( - window.addEventListener('storage', n), - function () { - return window.removeEventListener('storage', n) - } - ) - }, - [t], - ), - [m, { set: y, remove: b }] - ) - } - : x - } - E('undefined' !== typeof localStorage ? localStorage : null), - E('undefined' !== typeof sessionStorage ? sessionStorage : null) - }, - 4309: function (e, t, n) { - 'use strict' - n.d(t, { - iP: function () { - return d - }, - }) - var r = n(7294) - var i = (e) => { - const t = r.useRef(e) - return ( - r.useEffect(() => { - t.current = e - }), - t - ) - } - const o = (e, t = 100, n = !1) => { - const o = i(e), - a = r.useRef(), - s = [t, n, o] - function u() { - a.current && clearTimeout(a.current), (a.current = void 0) - } - function l() { - a.current = void 0 - } - return ( - r.useEffect(() => u, s), - r.useCallback(function () { - const e = arguments, - { current: r } = a - if (void 0 === r && n) return (a.current = setTimeout(l, t)), o.current.apply(null, e) - r && clearTimeout(r), - (a.current = setTimeout(() => { - ;(a.current = void 0), o.current.apply(null, e) - }, t)) - }, s) - ) - } - var a = - r[ - 'undefined' !== typeof document && void 0 !== document.createElement - ? 'useLayoutEffect' - : 'useEffect' - ] - var s = function (e, t, n, i) { - const o = r.useRef(n), - s = r.useRef(i) - a(() => { - ;(o.current = n), (s.current = i) - }), - a(() => { - const n = e && 'current' in e ? e.current : e - if (!n) return - let r = 0 - function i(...e) { - r || o.current.apply(this, e) - } - n.addEventListener(t, i) - const a = s.current - return () => { - ;(r = 1), n.removeEventListener(t, i), a && a() - } - }, [e, t]) - } - const u = {}, - l = 'undefined' === typeof window ? null : window, - c = () => [document.documentElement.clientWidth, document.documentElement.clientHeight], - d = (e = u) => { - const { wait: t, leading: n, initialWidth: i = 0, initialHeight: a = 0 } = e, - [d, f] = ((e, t, n) => { - const i = r.useState(e) - return [i[0], o(i[1], t, n)] - })('undefined' === typeof document ? [i, a] : c, t, n), - h = () => f(c) - return s(l, 'resize', h), s(l, 'orientationchange', h), d - } - }, - 6194: function (e, t, n) { - 'use strict' - n.d(t, { - oY: function () { - return i - }, - }) - var r = n(4155), - i = { - Linear: { - None: function (e) { - return e - }, - }, - Quadratic: { - In: function (e) { - return e * e - }, - Out: function (e) { - return e * (2 - e) - }, - InOut: function (e) { - return (e *= 2) < 1 ? 0.5 * e * e : -0.5 * (--e * (e - 2) - 1) - }, - }, - Cubic: { - In: function (e) { - return e * e * e - }, - Out: function (e) { - return --e * e * e + 1 - }, - InOut: function (e) { - return (e *= 2) < 1 ? 0.5 * e * e * e : 0.5 * ((e -= 2) * e * e + 2) - }, - }, - Quartic: { - In: function (e) { - return e * e * e * e - }, - Out: function (e) { - return 1 - --e * e * e * e - }, - InOut: function (e) { - return (e *= 2) < 1 ? 0.5 * e * e * e * e : -0.5 * ((e -= 2) * e * e * e - 2) - }, - }, - Quintic: { - In: function (e) { - return e * e * e * e * e - }, - Out: function (e) { - return --e * e * e * e * e + 1 - }, - InOut: function (e) { - return (e *= 2) < 1 ? 0.5 * e * e * e * e * e : 0.5 * ((e -= 2) * e * e * e * e + 2) - }, - }, - Sinusoidal: { - In: function (e) { - return 1 - Math.cos((e * Math.PI) / 2) - }, - Out: function (e) { - return Math.sin((e * Math.PI) / 2) - }, - InOut: function (e) { - return 0.5 * (1 - Math.cos(Math.PI * e)) - }, - }, - Exponential: { - In: function (e) { - return 0 === e ? 0 : Math.pow(1024, e - 1) - }, - Out: function (e) { - return 1 === e ? 1 : 1 - Math.pow(2, -10 * e) - }, - InOut: function (e) { - return 0 === e - ? 0 - : 1 === e - ? 1 - : (e *= 2) < 1 - ? 0.5 * Math.pow(1024, e - 1) - : 0.5 * (2 - Math.pow(2, -10 * (e - 1))) - }, - }, - Circular: { - In: function (e) { - return 1 - Math.sqrt(1 - e * e) - }, - Out: function (e) { - return Math.sqrt(1 - --e * e) - }, - InOut: function (e) { - return (e *= 2) < 1 - ? -0.5 * (Math.sqrt(1 - e * e) - 1) - : 0.5 * (Math.sqrt(1 - (e -= 2) * e) + 1) - }, - }, - Elastic: { - In: function (e) { - return 0 === e - ? 0 - : 1 === e - ? 1 - : -Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) - }, - Out: function (e) { - return 0 === e - ? 0 - : 1 === e - ? 1 - : Math.pow(2, -10 * e) * Math.sin(5 * (e - 0.1) * Math.PI) + 1 - }, - InOut: function (e) { - return 0 === e - ? 0 - : 1 === e - ? 1 - : (e *= 2) < 1 - ? -0.5 * Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) - : 0.5 * Math.pow(2, -10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) + 1 - }, - }, - Back: { - In: function (e) { - var t = 1.70158 - return e * e * ((t + 1) * e - t) - }, - Out: function (e) { - var t = 1.70158 - return --e * e * ((t + 1) * e + t) + 1 - }, - InOut: function (e) { - var t = 2.5949095 - return (e *= 2) < 1 - ? e * e * ((t + 1) * e - t) * 0.5 - : 0.5 * ((e -= 2) * e * ((t + 1) * e + t) + 2) - }, - }, - Bounce: { - In: function (e) { - return 1 - i.Bounce.Out(1 - e) - }, - Out: function (e) { - return e < 1 / 2.75 - ? 7.5625 * e * e - : e < 2 / 2.75 - ? 7.5625 * (e -= 1.5 / 2.75) * e + 0.75 - : e < 2.5 / 2.75 - ? 7.5625 * (e -= 2.25 / 2.75) * e + 0.9375 - : 7.5625 * (e -= 2.625 / 2.75) * e + 0.984375 - }, - InOut: function (e) { - return e < 0.5 ? 0.5 * i.Bounce.In(2 * e) : 0.5 * i.Bounce.Out(2 * e - 1) + 0.5 - }, - }, - }, - o = - 'undefined' === typeof self && 'undefined' !== typeof r && r.hrtime - ? function () { - var e = r.hrtime() - return 1e3 * e[0] + e[1] / 1e6 - } - : 'undefined' !== typeof self && - void 0 !== self.performance && - void 0 !== self.performance.now - ? self.performance.now.bind(self.performance) - : void 0 !== Date.now - ? Date.now - : function () { - return new Date().getTime() - }, - a = (function () { - function e() { - ;(this._tweens = {}), (this._tweensAddedDuringUpdate = {}) - } - return ( - (e.prototype.getAll = function () { - var e = this - return Object.keys(this._tweens).map(function (t) { - return e._tweens[t] - }) - }), - (e.prototype.removeAll = function () { - this._tweens = {} - }), - (e.prototype.add = function (e) { - ;(this._tweens[e.getId()] = e), (this._tweensAddedDuringUpdate[e.getId()] = e) - }), - (e.prototype.remove = function (e) { - delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()] - }), - (e.prototype.update = function (e, t) { - void 0 === e && (e = o()), void 0 === t && (t = !1) - var n = Object.keys(this._tweens) - if (0 === n.length) return !1 - for (; n.length > 0; ) { - this._tweensAddedDuringUpdate = {} - for (var r = 0; r < n.length; r++) { - var i = this._tweens[n[r]], - a = !t - i && !1 === i.update(e, a) && !t && delete this._tweens[n[r]] - } - n = Object.keys(this._tweensAddedDuringUpdate) - } - return !0 - }), - e - ) - })(), - s = { - Linear: function (e, t) { - var n = e.length - 1, - r = n * t, - i = Math.floor(r), - o = s.Utils.Linear - return t < 0 - ? o(e[0], e[1], r) - : t > 1 - ? o(e[n], e[n - 1], n - r) - : o(e[i], e[i + 1 > n ? n : i + 1], r - i) - }, - Bezier: function (e, t) { - for ( - var n = 0, r = e.length - 1, i = Math.pow, o = s.Utils.Bernstein, a = 0; - a <= r; - a++ - ) - n += i(1 - t, r - a) * i(t, a) * e[a] * o(r, a) - return n - }, - CatmullRom: function (e, t) { - var n = e.length - 1, - r = n * t, - i = Math.floor(r), - o = s.Utils.CatmullRom - return e[0] === e[n] - ? (t < 0 && (i = Math.floor((r = n * (1 + t)))), - o(e[(i - 1 + n) % n], e[i], e[(i + 1) % n], e[(i + 2) % n], r - i)) - : t < 0 - ? e[0] - (o(e[0], e[0], e[1], e[1], -r) - e[0]) - : t > 1 - ? e[n] - (o(e[n], e[n], e[n - 1], e[n - 1], r - n) - e[n]) - : o(e[i ? i - 1 : 0], e[i], e[n < i + 1 ? n : i + 1], e[n < i + 2 ? n : i + 2], r - i) - }, - Utils: { - Linear: function (e, t, n) { - return (t - e) * n + e - }, - Bernstein: function (e, t) { - var n = s.Utils.Factorial - return n(e) / n(t) / n(e - t) - }, - Factorial: (function () { - var e = [1] - return function (t) { - var n = 1 - if (e[t]) return e[t] - for (var r = t; r > 1; r--) n *= r - return (e[t] = n), n - } - })(), - CatmullRom: function (e, t, n, r, i) { - var o = 0.5 * (n - e), - a = 0.5 * (r - t), - s = i * i - return ( - (2 * t - 2 * n + o + a) * (i * s) + (-3 * t + 3 * n - 2 * o - a) * s + o * i + t - ) - }, - }, - }, - u = (function () { - function e() {} - return ( - (e.nextId = function () { - return e._nextId++ - }), - (e._nextId = 0), - e - ) - })(), - l = new a(), - c = (function () { - function e(e, t) { - void 0 === t && (t = l), - (this._object = e), - (this._group = t), - (this._isPaused = !1), - (this._pauseStart = 0), - (this._valuesStart = {}), - (this._valuesEnd = {}), - (this._valuesStartRepeat = {}), - (this._duration = 1e3), - (this._initialRepeat = 0), - (this._repeat = 0), - (this._yoyo = !1), - (this._isPlaying = !1), - (this._reversed = !1), - (this._delayTime = 0), - (this._startTime = 0), - (this._easingFunction = i.Linear.None), - (this._interpolationFunction = s.Linear), - (this._chainedTweens = []), - (this._onStartCallbackFired = !1), - (this._id = u.nextId()), - (this._isChainStopped = !1), - (this._goToEnd = !1) - } - return ( - (e.prototype.getId = function () { - return this._id - }), - (e.prototype.isPlaying = function () { - return this._isPlaying - }), - (e.prototype.isPaused = function () { - return this._isPaused - }), - (e.prototype.to = function (e, t) { - return ( - (this._valuesEnd = Object.create(e)), void 0 !== t && (this._duration = t), this - ) - }), - (e.prototype.duration = function (e) { - return (this._duration = e), this - }), - (e.prototype.start = function (e) { - if (this._isPlaying) return this - if ( - (this._group && this._group.add(this), - (this._repeat = this._initialRepeat), - this._reversed) - ) - for (var t in ((this._reversed = !1), this._valuesStartRepeat)) - this._swapEndStartRepeatValues(t), - (this._valuesStart[t] = this._valuesStartRepeat[t]) - return ( - (this._isPlaying = !0), - (this._isPaused = !1), - (this._onStartCallbackFired = !1), - (this._isChainStopped = !1), - (this._startTime = - void 0 !== e ? ('string' === typeof e ? o() + parseFloat(e) : e) : o()), - (this._startTime += this._delayTime), - this._setupProperties( - this._object, - this._valuesStart, - this._valuesEnd, - this._valuesStartRepeat, - ), - this - ) - }), - (e.prototype._setupProperties = function (e, t, n, r) { - for (var i in n) { - var o = e[i], - a = Array.isArray(o), - s = a ? 'array' : typeof o, - u = !a && Array.isArray(n[i]) - if ('undefined' !== s && 'function' !== s) { - if (u) { - var l = n[i] - if (0 === l.length) continue - ;(l = l.map(this._handleRelativeValue.bind(this, o))), (n[i] = [o].concat(l)) - } - if (('object' !== s && !a) || !o || u) - 'undefined' === typeof t[i] && (t[i] = o), - a || (t[i] *= 1), - (r[i] = u ? n[i].slice().reverse() : t[i] || 0) - else { - for (var c in ((t[i] = a ? [] : {}), o)) t[i][c] = o[c] - ;(r[i] = a ? [] : {}), this._setupProperties(o, t[i], n[i], r[i]) - } - } - } - }), - (e.prototype.stop = function () { - return ( - this._isChainStopped || ((this._isChainStopped = !0), this.stopChainedTweens()), - this._isPlaying - ? (this._group && this._group.remove(this), - (this._isPlaying = !1), - (this._isPaused = !1), - this._onStopCallback && this._onStopCallback(this._object), - this) - : this - ) - }), - (e.prototype.end = function () { - return (this._goToEnd = !0), this.update(1 / 0), this - }), - (e.prototype.pause = function (e) { - return ( - void 0 === e && (e = o()), - this._isPaused || - !this._isPlaying || - ((this._isPaused = !0), - (this._pauseStart = e), - this._group && this._group.remove(this)), - this - ) - }), - (e.prototype.resume = function (e) { - return ( - void 0 === e && (e = o()), - this._isPaused && this._isPlaying - ? ((this._isPaused = !1), - (this._startTime += e - this._pauseStart), - (this._pauseStart = 0), - this._group && this._group.add(this), - this) - : this - ) - }), - (e.prototype.stopChainedTweens = function () { - for (var e = 0, t = this._chainedTweens.length; e < t; e++) - this._chainedTweens[e].stop() - return this - }), - (e.prototype.group = function (e) { - return (this._group = e), this - }), - (e.prototype.delay = function (e) { - return (this._delayTime = e), this - }), - (e.prototype.repeat = function (e) { - return (this._initialRepeat = e), (this._repeat = e), this - }), - (e.prototype.repeatDelay = function (e) { - return (this._repeatDelayTime = e), this - }), - (e.prototype.yoyo = function (e) { - return (this._yoyo = e), this - }), - (e.prototype.easing = function (e) { - return (this._easingFunction = e), this - }), - (e.prototype.interpolation = function (e) { - return (this._interpolationFunction = e), this - }), - (e.prototype.chain = function () { - for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t] - return (this._chainedTweens = e), this - }), - (e.prototype.onStart = function (e) { - return (this._onStartCallback = e), this - }), - (e.prototype.onUpdate = function (e) { - return (this._onUpdateCallback = e), this - }), - (e.prototype.onRepeat = function (e) { - return (this._onRepeatCallback = e), this - }), - (e.prototype.onComplete = function (e) { - return (this._onCompleteCallback = e), this - }), - (e.prototype.onStop = function (e) { - return (this._onStopCallback = e), this - }), - (e.prototype.update = function (e, t) { - if ((void 0 === e && (e = o()), void 0 === t && (t = !0), this._isPaused)) return !0 - var n, - r, - i = this._startTime + this._duration - if (!this._goToEnd && !this._isPlaying) { - if (e > i) return !1 - t && this.start(e) - } - if (((this._goToEnd = !1), e < this._startTime)) return !0 - !1 === this._onStartCallbackFired && - (this._onStartCallback && this._onStartCallback(this._object), - (this._onStartCallbackFired = !0)), - (r = (e - this._startTime) / this._duration), - (r = 0 === this._duration || r > 1 ? 1 : r) - var a = this._easingFunction(r) - if ( - (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, a), - this._onUpdateCallback && this._onUpdateCallback(this._object, r), - 1 === r) - ) { - if (this._repeat > 0) { - for (n in (isFinite(this._repeat) && this._repeat--, this._valuesStartRepeat)) - this._yoyo || - 'string' !== typeof this._valuesEnd[n] || - (this._valuesStartRepeat[n] = - this._valuesStartRepeat[n] + parseFloat(this._valuesEnd[n])), - this._yoyo && this._swapEndStartRepeatValues(n), - (this._valuesStart[n] = this._valuesStartRepeat[n]) - return ( - this._yoyo && (this._reversed = !this._reversed), - void 0 !== this._repeatDelayTime - ? (this._startTime = e + this._repeatDelayTime) - : (this._startTime = e + this._delayTime), - this._onRepeatCallback && this._onRepeatCallback(this._object), - !0 - ) - } - this._onCompleteCallback && this._onCompleteCallback(this._object) - for (var s = 0, u = this._chainedTweens.length; s < u; s++) - this._chainedTweens[s].start(this._startTime + this._duration) - return (this._isPlaying = !1), !1 - } - return !0 - }), - (e.prototype._updateProperties = function (e, t, n, r) { - for (var i in n) - if (void 0 !== t[i]) { - var o = t[i] || 0, - a = n[i], - s = Array.isArray(e[i]), - u = Array.isArray(a) - !s && u - ? (e[i] = this._interpolationFunction(a, r)) - : 'object' === typeof a && a - ? this._updateProperties(e[i], o, a, r) - : 'number' === typeof (a = this._handleRelativeValue(o, a)) && - (e[i] = o + (a - o) * r) - } - }), - (e.prototype._handleRelativeValue = function (e, t) { - return 'string' !== typeof t - ? t - : '+' === t.charAt(0) || '-' === t.charAt(0) - ? e + parseFloat(t) - : parseFloat(t) - }), - (e.prototype._swapEndStartRepeatValues = function (e) { - var t = this._valuesStartRepeat[e], - n = this._valuesEnd[e] - ;(this._valuesStartRepeat[e] = - 'string' === typeof n - ? this._valuesStartRepeat[e] + parseFloat(n) - : this._valuesEnd[e]), - (this._valuesEnd[e] = t) - }), - e - ) - })(), - d = u.nextId, - f = l, - h = f.getAll.bind(f), - p = f.removeAll.bind(f), - v = f.add.bind(f), - m = f.remove.bind(f), - g = f.update.bind(f), - y = { - Easing: i, - Group: a, - Interpolation: s, - now: o, - Sequence: u, - nextId: d, - Tween: c, - VERSION: '18.6.4', - getAll: h, - removeAll: p, - add: v, - remove: m, - update: g, - } - t.ZP = y - }, - 2539: function (e, t, n) { - 'use strict' - n.r(t) - t.default = function (e) { - return e instanceof Function - ? e - : 'string' === typeof e - ? function (t) { - return t[e] - } - : function (t) { - return e - } - } - }, - 3379: function (e) { - var t = { - animationIterationCount: !0, - boxFlex: !0, - boxFlexGroup: !0, - boxOrdinalGroup: !0, - columnCount: !0, - flex: !0, - flexGrow: !0, - flexPositive: !0, - flexShrink: !0, - flexNegative: !0, - flexOrder: !0, - gridRow: !0, - gridColumn: !0, - fontWeight: !0, - lineClamp: !0, - lineHeight: !0, - opacity: !0, - order: !0, - orphans: !0, - tabSize: !0, - widows: !0, - zIndex: !0, - zoom: !0, - fillOpacity: !0, - stopOpacity: !0, - strokeDashoffset: !0, - strokeOpacity: !0, - strokeWidth: !0, - } - e.exports = function (e, n) { - return 'number' !== typeof n || t[e] ? n : n + 'px' - } - }, - 401: function (e, t, n) { - n(2406), n(9874), n(9236), n(2578), n(6699) - }, - 203: function (e) { - ;(e.exports = THREE.ColladaLoader = - function (e) { - this.manager = void 0 !== e ? e : THREE.DefaultLoadingManager - }), - (THREE.ColladaLoader.prototype = { - constructor: THREE.ColladaLoader, - crossOrigin: 'anonymous', - load: function (e, t, n, r) { - var i = this, - o = void 0 === i.path ? THREE.LoaderUtils.extractUrlBase(e) : i.path, - a = new THREE.FileLoader(i.manager) - a.setPath(i.path), - a.load( - e, - function (e) { - t(i.parse(e, o)) - }, - n, - r, - ) - }, - setPath: function (e) { - return (this.path = e), this - }, - setResourcePath: function (e) { - return (this.resourcePath = e), this - }, - options: { - set convertUpAxis(e) { - console.warn( - 'THREE.ColladaLoader: options.convertUpAxis() has been removed. Up axis is converted automatically.', - ) - }, - }, - setCrossOrigin: function (e) { - return (this.crossOrigin = e), this - }, - parse: function (e, t) { - function n(e, t) { - for (var n = [], r = e.childNodes, i = 0, o = r.length; i < o; i++) { - var a = r[i] - a.nodeName === t && n.push(a) - } - return n - } - function r(e) { - if (0 === e.length) return [] - for ( - var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, i = t.length; - r < i; - r++ - ) - n[r] = t[r] - return n - } - function i(e) { - if (0 === e.length) return [] - for ( - var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, i = t.length; - r < i; - r++ - ) - n[r] = parseFloat(t[r]) - return n - } - function o(e) { - if (0 === e.length) return [] - for ( - var t = e.trim().split(/\s+/), n = new Array(t.length), r = 0, i = t.length; - r < i; - r++ - ) - n[r] = parseInt(t[r]) - return n - } - function a(e) { - return e.substring(1) - } - function s(e) { - return 0 === Object.keys(e).length - } - function u(e) { - return void 0 !== e && !0 === e.hasAttribute('meter') - ? parseFloat(e.getAttribute('meter')) - : 1 - } - function l(e) { - return void 0 !== e ? e.textContent : 'Y_UP' - } - function c(e, t, r, i) { - var o = n(e, t)[0] - if (void 0 !== o) for (var a = n(o, r), s = 0; s < a.length; s++) i(a[s]) - } - function d(e, t) { - for (var n in e) { - e[n].build = t(e[n]) - } - } - function f(e, t) { - return void 0 !== e.build || (e.build = t(e)), e.build - } - function h(e) { - for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'input': - var o = a(i.getAttribute('source')), - s = i.getAttribute('semantic') - t.inputs[s] = o - } - } - return t - } - function p(e) { - var t = {}, - n = e.getAttribute('target').split('/'), - r = n.shift(), - i = n.shift(), - o = -1 !== i.indexOf('('), - s = -1 !== i.indexOf('.') - if (s) (n = i.split('.')), (i = n.shift()), (t.member = n.shift()) - else if (o) { - var u = i.split('(') - i = u.shift() - for (var l = 0; l < u.length; l++) u[l] = parseInt(u[l].replace(/\)/, '')) - t.indices = u - } - return ( - (t.id = r), - (t.sid = i), - (t.arraySyntax = o), - (t.memberSyntax = s), - (t.sampler = a(e.getAttribute('source'))), - t - ) - } - function v(e) { - var t = [], - n = e.channels, - r = e.samplers, - i = e.sources - for (var o in n) - if (n.hasOwnProperty(o)) { - var a = n[o], - s = r[a.sampler], - u = s.inputs.INPUT, - l = s.inputs.OUTPUT - x(g(a, i[u], i[l]), t) - } - return t - } - function m(e) { - return f(We.animations[e], v) - } - function g(e, t, n) { - var r, - i, - o, - a, - s, - u, - l = We.nodes[e.id], - c = Le(l.id), - d = l.transforms[e.sid], - f = l.matrix.clone().transpose(), - h = {} - switch (d) { - case 'matrix': - for (o = 0, a = t.array.length; o < a; o++) - if ( - ((r = t.array[o]), - (i = o * n.stride), - void 0 === h[r] && (h[r] = {}), - !0 === e.arraySyntax) - ) { - var p = n.array[i], - v = e.indices[0] + 4 * e.indices[1] - h[r][v] = p - } else for (s = 0, u = n.stride; s < u; s++) h[r][s] = n.array[i + s] - break - case 'translate': - case 'rotate': - case 'scale': - console.warn( - 'THREE.ColladaLoader: Animation transform type "%s" not yet implemented.', - d, - ) - } - var m = (function (e, t) { - var n = [] - for (var r in e) n.push({ time: parseFloat(r), value: e[r] }) - n.sort(o) - for (var i = 0; i < 16; i++) E(n, i, t.elements[i]) - return n - function o(e, t) { - return e.time - t.time - } - })(h, f) - return { name: c.uuid, keyframes: m } - } - var y = new THREE.Vector3(), - b = new THREE.Vector3(), - w = new THREE.Quaternion() - function x(e, t) { - for ( - var n = e.keyframes, - r = e.name, - i = [], - o = [], - a = [], - s = [], - u = 0, - l = n.length; - u < l; - u++ - ) { - var c = n[u], - d = c.time, - f = c.value - Te.fromArray(f).transpose(), - Te.decompose(y, w, b), - i.push(d), - o.push(y.x, y.y, y.z), - a.push(w.x, w.y, w.z, w.w), - s.push(b.x, b.y, b.z) - } - return ( - o.length > 0 && t.push(new THREE.VectorKeyframeTrack(r + '.position', i, o)), - a.length > 0 && t.push(new THREE.QuaternionKeyframeTrack(r + '.quaternion', i, a)), - s.length > 0 && t.push(new THREE.VectorKeyframeTrack(r + '.scale', i, s)), - t - ) - } - function E(e, t, n) { - var r, - i, - o, - a = !0 - for (i = 0, o = e.length; i < o; i++) - void 0 === (r = e[i]).value[t] ? (r.value[t] = null) : (a = !1) - if (!0 === a) for (i = 0, o = e.length; i < o; i++) (r = e[i]).value[t] = n - else - !(function (e, t) { - for (var n, r, i = 0, o = e.length; i < o; i++) { - var a = e[i] - if (null === a.value[t]) { - if (((n = k(e, i, t)), (r = T(e, i, t)), null === n)) { - a.value[t] = r.value[t] - continue - } - if (null === r) { - a.value[t] = n.value[t] - continue - } - _(a, n, r, t) - } - } - })(e, t) - } - function k(e, t, n) { - for (; t >= 0; ) { - var r = e[t] - if (null !== r.value[n]) return r - t-- - } - return null - } - function T(e, t, n) { - for (; t < e.length; ) { - var r = e[t] - if (null !== r.value[n]) return r - t++ - } - return null - } - function _(e, t, n, r) { - n.time - t.time !== 0 - ? (e.value[r] = - ((e.time - t.time) * (n.value[r] - t.value[r])) / (n.time - t.time) + - t.value[r]) - : (e.value[r] = t.value[r]) - } - function O(e) { - for ( - var t = [], - n = e.name, - r = e.end - e.start || -1, - i = e.animations, - o = 0, - a = i.length; - o < a; - o++ - ) - for (var s = m(i[o]), u = 0, l = s.length; u < l; u++) t.push(s[u]) - return new THREE.AnimationClip(n, r, t) - } - function C(e) { - return f(We.clips[e], O) - } - function S(e) { - for (var t = { sources: {} }, n = 0, r = e.childNodes.length; n < r; n++) { - var o = e.childNodes[n] - if (1 === o.nodeType) - switch (o.nodeName) { - case 'bind_shape_matrix': - t.bindShapeMatrix = i(o.textContent) - break - case 'source': - var a = o.getAttribute('id') - t.sources[a] = ie(o) - break - case 'joints': - t.joints = A(o) - break - case 'vertex_weights': - t.vertexWeights = P(o) - } - } - return t - } - function A(e) { - for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'input': - var o = i.getAttribute('semantic'), - s = a(i.getAttribute('source')) - t.inputs[o] = s - } - } - return t - } - function P(e) { - for (var t = { inputs: {} }, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'input': - var s = i.getAttribute('semantic'), - u = a(i.getAttribute('source')), - l = parseInt(i.getAttribute('offset')) - t.inputs[s] = { id: u, offset: l } - break - case 'vcount': - t.vcount = o(i.textContent) - break - case 'v': - t.v = o(i.textContent) - } - } - return t - } - function M(e) { - var t = { id: e.id }, - n = We.geometries[t.id] - return ( - void 0 !== e.skin && - ((t.skin = (function (e) { - var t, - n, - r, - i = 4, - o = { - joints: [], - indices: { array: [], stride: i }, - weights: { array: [], stride: i }, - }, - a = e.sources, - s = e.vertexWeights, - u = s.vcount, - l = s.v, - c = s.inputs.JOINT.offset, - d = s.inputs.WEIGHT.offset, - f = e.sources[e.joints.inputs.JOINT], - h = e.sources[e.joints.inputs.INV_BIND_MATRIX], - p = a[s.inputs.WEIGHT.id].array, - v = 0 - for (t = 0, r = u.length; t < r; t++) { - var m = u[t], - g = [] - for (n = 0; n < m; n++) { - var y = l[v + c], - b = p[l[v + d]] - g.push({ index: y, weight: b }), (v += 2) - } - for (g.sort(k), n = 0; n < i; n++) { - var w = g[n] - void 0 !== w - ? (o.indices.array.push(w.index), o.weights.array.push(w.weight)) - : (o.indices.array.push(0), o.weights.array.push(0)) - } - } - e.bindShapeMatrix - ? (o.bindMatrix = new THREE.Matrix4() - .fromArray(e.bindShapeMatrix) - .transpose()) - : (o.bindMatrix = new THREE.Matrix4().identity()) - for (t = 0, r = f.array.length; t < r; t++) { - var x = f.array[t], - E = new THREE.Matrix4().fromArray(h.array, t * h.stride).transpose() - o.joints.push({ name: x, boneInverse: E }) - } - return o - function k(e, t) { - return t.weight - e.weight - } - })(e.skin)), - (n.sources.skinIndices = t.skin.indices), - (n.sources.skinWeights = t.skin.weights)), - t - ) - } - function R(e) { - return void 0 !== e.build ? e.build : e.init_from - } - function j(e) { - var t = We.images[e] - return void 0 !== t - ? f(t, R) - : (console.warn("THREE.ColladaLoader: Couldn't find image with ID:", e), null) - } - function D(e) { - for ( - var t = { surfaces: {}, samplers: {} }, n = 0, r = e.childNodes.length; - n < r; - n++ - ) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'newparam': - L(i, t) - break - case 'technique': - t.technique = z(i) - break - case 'extra': - t.extra = G(i) - } - } - return t - } - function L(e, t) { - for (var n = e.getAttribute('sid'), r = 0, i = e.childNodes.length; r < i; r++) { - var o = e.childNodes[r] - if (1 === o.nodeType) - switch (o.nodeName) { - case 'surface': - t.surfaces[n] = N(o) - break - case 'sampler2D': - t.samplers[n] = I(o) - } - } - } - function N(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'init_from': - t.init_from = i.textContent - } - } - return t - } - function I(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'source': - t.source = i.textContent - } - } - return t - } - function z(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'constant': - case 'lambert': - case 'blinn': - case 'phong': - ;(t.type = i.nodeName), (t.parameters = H(i)) - } - } - return t - } - function H(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'emission': - case 'diffuse': - case 'specular': - case 'bump': - case 'ambient': - case 'shininess': - case 'transparency': - t[i.nodeName] = B(i) - break - case 'transparent': - t[i.nodeName] = { opaque: i.getAttribute('opaque'), data: B(i) } - } - } - return t - } - function B(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var o = e.childNodes[n] - if (1 === o.nodeType) - switch (o.nodeName) { - case 'color': - t[o.nodeName] = i(o.textContent) - break - case 'float': - t[o.nodeName] = parseFloat(o.textContent) - break - case 'texture': - t[o.nodeName] = { id: o.getAttribute('texture'), extra: F(o) } - } - } - return t - } - function F(e) { - for (var t = { technique: {} }, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'extra': - V(i, t) - } - } - return t - } - function V(e, t) { - for (var n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'technique': - U(i, t) - } - } - } - function U(e, t) { - for (var n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'repeatU': - case 'repeatV': - case 'offsetU': - case 'offsetV': - t.technique[i.nodeName] = parseFloat(i.textContent) - break - case 'wrapU': - case 'wrapV': - 'TRUE' === i.textContent.toUpperCase() - ? (t.technique[i.nodeName] = 1) - : 'FALSE' === i.textContent.toUpperCase() - ? (t.technique[i.nodeName] = 0) - : (t.technique[i.nodeName] = parseInt(i.textContent)) - } - } - } - function G(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'technique': - t.technique = q(i) - } - } - return t - } - function q(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'double_sided': - t[i.nodeName] = parseInt(i.textContent) - } - } - return t - } - function W(e) { - return e - } - function K(e) { - var t, - n, - r = ((t = e.url), f(We.effects[t], W)), - i = r.profile.technique, - o = r.profile.extra - switch (i.type) { - case 'phong': - case 'blinn': - n = new THREE.MeshPhongMaterial() - break - case 'lambert': - n = new THREE.MeshLambertMaterial() - break - default: - n = new THREE.MeshBasicMaterial() - } - function a(e) { - var t = r.profile.samplers[e.id], - n = null - void 0 !== t - ? (n = j(r.profile.surfaces[t.source].init_from)) - : (console.warn( - 'THREE.ColladaLoader: Undefined sampler. Access image directly (see #12530).', - ), - (n = j(e.id))) - if (null !== n) { - var i = (function (e) { - var t, - n = e.slice(2 + ((e.lastIndexOf('.') - 1) >>> 0)) - switch ((n = n.toLowerCase())) { - case 'tga': - t = Be - break - default: - t = Ve - } - return t - })(n) - if (void 0 !== i) { - var o = i.load(n), - a = e.extra - if (void 0 !== a && void 0 !== a.technique && !1 === s(a.technique)) { - var u = a.technique - ;(o.wrapS = u.wrapU ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping), - (o.wrapT = u.wrapV ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping), - o.offset.set(u.offsetU || 0, u.offsetV || 0), - o.repeat.set(u.repeatU || 1, u.repeatV || 1) - } else (o.wrapS = THREE.RepeatWrapping), (o.wrapT = THREE.RepeatWrapping) - return o - } - return ( - console.warn('THREE.ColladaLoader: Loader for texture %s not found.', n), null - ) - } - return ( - console.warn("THREE.ColladaLoader: Couldn't create texture with ID:", e.id), null - ) - } - n.name = e.name - var u = i.parameters - for (var l in u) { - var c = u[l] - switch (l) { - case 'diffuse': - c.color && n.color.fromArray(c.color), c.texture && (n.map = a(c.texture)) - break - case 'specular': - c.color && n.specular && n.specular.fromArray(c.color), - c.texture && (n.specularMap = a(c.texture)) - break - case 'bump': - c.texture && (n.normalMap = a(c.texture)) - break - case 'ambient': - c.texture && (n.lightMap = a(c.texture)) - break - case 'shininess': - c.float && n.shininess && (n.shininess = c.float) - break - case 'emission': - c.color && n.emissive && n.emissive.fromArray(c.color), - c.texture && (n.emissiveMap = a(c.texture)) - } - } - var d = u.transparent, - h = u.transparency - if ( - (void 0 === h && d && (h = { float: 1 }), - void 0 === d && h && (d = { opaque: 'A_ONE', data: { color: [1, 1, 1, 1] } }), - d && h) - ) - if (d.data.texture) n.transparent = !0 - else { - var p = d.data.color - switch (d.opaque) { - case 'A_ONE': - n.opacity = p[3] * h.float - break - case 'RGB_ZERO': - n.opacity = 1 - p[0] * h.float - break - case 'A_ZERO': - n.opacity = 1 - p[3] * h.float - break - case 'RGB_ONE': - n.opacity = p[0] * h.float - break - default: - console.warn( - 'THREE.ColladaLoader: Invalid opaque type "%s" of transparent tag.', - d.opaque, - ) - } - n.opacity < 1 && (n.transparent = !0) - } - return ( - void 0 !== o && - void 0 !== o.technique && - 1 === o.technique.double_sided && - (n.side = THREE.DoubleSide), - n - ) - } - function Z(e) { - return f(We.materials[e], K) - } - function $(e) { - for (var t = 0; t < e.childNodes.length; t++) { - var n = e.childNodes[t] - switch (n.nodeName) { - case 'technique_common': - return X(n) - } - } - return {} - } - function X(e) { - for (var t = {}, n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - switch (r.nodeName) { - case 'perspective': - case 'orthographic': - ;(t.technique = r.nodeName), (t.parameters = Y(r)) - } - } - return t - } - function Y(e) { - for (var t = {}, n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - switch (r.nodeName) { - case 'xfov': - case 'yfov': - case 'xmag': - case 'ymag': - case 'znear': - case 'zfar': - case 'aspect_ratio': - t[r.nodeName] = parseFloat(r.textContent) - } - } - return t - } - function Q(e) { - var t - switch (e.optics.technique) { - case 'perspective': - t = new THREE.PerspectiveCamera( - e.optics.parameters.yfov, - e.optics.parameters.aspect_ratio, - e.optics.parameters.znear, - e.optics.parameters.zfar, - ) - break - case 'orthographic': - var n = e.optics.parameters.ymag, - r = e.optics.parameters.xmag, - i = e.optics.parameters.aspect_ratio - ;(r = void 0 === r ? n * i : r), - (n = void 0 === n ? r / i : n), - (r *= 0.5), - (n *= 0.5), - (t = new THREE.OrthographicCamera( - -r, - r, - n, - -n, - e.optics.parameters.znear, - e.optics.parameters.zfar, - )) - break - default: - t = new THREE.PerspectiveCamera() - } - return (t.name = e.name), t - } - function J(e) { - var t = We.cameras[e] - return void 0 !== t - ? f(t, Q) - : (console.warn("THREE.ColladaLoader: Couldn't find camera with ID:", e), null) - } - function ee(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'directional': - case 'point': - case 'spot': - case 'ambient': - ;(t.technique = i.nodeName), (t.parameters = te(i)) - } - } - return t - } - function te(e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var o = e.childNodes[n] - if (1 === o.nodeType) - switch (o.nodeName) { - case 'color': - var a = i(o.textContent) - t.color = new THREE.Color().fromArray(a) - break - case 'falloff_angle': - t.falloffAngle = parseFloat(o.textContent) - break - case 'quadratic_attenuation': - var s = parseFloat(o.textContent) - t.distance = s ? Math.sqrt(1 / s) : 0 - } - } - return t - } - function ne(e) { - var t - switch (e.technique) { - case 'directional': - t = new THREE.DirectionalLight() - break - case 'point': - t = new THREE.PointLight() - break - case 'spot': - t = new THREE.SpotLight() - break - case 'ambient': - t = new THREE.AmbientLight() - } - return ( - e.parameters.color && t.color.copy(e.parameters.color), - e.parameters.distance && (t.distance = e.parameters.distance), - t - ) - } - function re(e) { - var t = We.lights[e] - return void 0 !== t - ? f(t, ne) - : (console.warn("THREE.ColladaLoader: Couldn't find light with ID:", e), null) - } - function ie(e) { - for (var t = { array: [], stride: 3 }, o = 0; o < e.childNodes.length; o++) { - var a = e.childNodes[o] - if (1 === a.nodeType) - switch (a.nodeName) { - case 'float_array': - t.array = i(a.textContent) - break - case 'Name_array': - t.array = r(a.textContent) - break - case 'technique_common': - var s = n(a, 'accessor')[0] - void 0 !== s && (t.stride = parseInt(s.getAttribute('stride'))) - } - } - return t - } - function oe(e) { - for (var t = {}, n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - 1 === r.nodeType && (t[r.getAttribute('semantic')] = a(r.getAttribute('source'))) - } - return t - } - function ae(e) { - for ( - var t = { - type: e.nodeName, - material: e.getAttribute('material'), - count: parseInt(e.getAttribute('count')), - inputs: {}, - stride: 0, - hasUV: !1, - }, - n = 0, - r = e.childNodes.length; - n < r; - n++ - ) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'input': - var s = a(i.getAttribute('source')), - u = i.getAttribute('semantic'), - l = parseInt(i.getAttribute('offset')), - c = parseInt(i.getAttribute('set')), - d = c > 0 ? u + c : u - ;(t.inputs[d] = { id: s, offset: l }), - (t.stride = Math.max(t.stride, l + 1)), - 'TEXCOORD' === u && (t.hasUV = !0) - break - case 'vcount': - t.vcount = o(i.textContent) - break - case 'p': - t.p = o(i.textContent) - } - } - return t - } - function se(e) { - for (var t = 0, n = 0, r = e.length; n < r; n++) { - !0 === e[n].hasUV && t++ - } - t > 0 && t < e.length && (e.uvsNeedsFix = !0) - } - function ue(e) { - var t = {}, - n = e.sources, - r = e.vertices, - i = e.primitives - if (0 === i.length) return {} - var o = (function (e) { - for (var t = {}, n = 0; n < e.length; n++) { - var r = e[n] - void 0 === t[r.type] && (t[r.type] = []), t[r.type].push(r) - } - return t - })(i) - for (var a in o) { - var s = o[a] - se(s), (t[a] = le(s, n, r)) - } - return t - } - function le(e, t, n) { - for ( - var r = {}, - i = { array: [], stride: 0 }, - o = { array: [], stride: 0 }, - a = { array: [], stride: 0 }, - s = { array: [], stride: 0 }, - u = { array: [], stride: 0 }, - l = [], - c = 4, - d = [], - f = 4, - h = new THREE.BufferGeometry(), - p = [], - v = 0, - m = 0; - m < e.length; - m++ - ) { - var g = e[m], - y = g.inputs, - b = 0 - switch (g.type) { - case 'lines': - case 'linestrips': - b = 2 * g.count - break - case 'triangles': - b = 3 * g.count - break - case 'polylist': - for (var w = 0; w < g.count; w++) { - var x = g.vcount[w] - switch (x) { - case 3: - b += 3 - break - case 4: - b += 6 - break - default: - b += 3 * (x - 2) - } - } - break - default: - console.warn('THREE.ColladaLoader: Unknow primitive type:', g.type) - } - for (var E in (h.addGroup(v, b, m), - (v += b), - g.material && p.push(g.material), - y)) { - var k = y[E] - switch (E) { - case 'VERTEX': - for (var T in n) { - var _ = n[T] - switch (T) { - case 'POSITION': - var O = i.array.length - if ( - (ce(g, t[_], k.offset, i.array), - (i.stride = t[_].stride), - t.skinWeights && - t.skinIndices && - (ce(g, t.skinIndices, k.offset, l), - ce(g, t.skinWeights, k.offset, d)), - !1 === g.hasUV && !0 === e.uvsNeedsFix) - ) { - b = (i.array.length - O) / i.stride - for (var C = 0; C < b; C++) a.array.push(0, 0) - } - break - case 'NORMAL': - ce(g, t[_], k.offset, o.array), (o.stride = t[_].stride) - break - case 'COLOR': - ce(g, t[_], k.offset, u.array), (u.stride = t[_].stride) - break - case 'TEXCOORD': - ce(g, t[_], k.offset, a.array), (a.stride = t[_].stride) - break - case 'TEXCOORD1': - ce(g, t[_], k.offset, s.array), (a.stride = t[_].stride) - break - default: - console.warn( - 'THREE.ColladaLoader: Semantic "%s" not handled in geometry build process.', - T, - ) - } - } - break - case 'NORMAL': - ce(g, t[k.id], k.offset, o.array), (o.stride = t[k.id].stride) - break - case 'COLOR': - ce(g, t[k.id], k.offset, u.array), (u.stride = t[k.id].stride) - break - case 'TEXCOORD': - ce(g, t[k.id], k.offset, a.array), (a.stride = t[k.id].stride) - break - case 'TEXCOORD1': - ce(g, t[k.id], k.offset, s.array), (s.stride = t[k.id].stride) - } - } - } - return ( - i.array.length > 0 && - h.addAttribute('position', new THREE.Float32BufferAttribute(i.array, i.stride)), - o.array.length > 0 && - h.addAttribute('normal', new THREE.Float32BufferAttribute(o.array, o.stride)), - u.array.length > 0 && - h.addAttribute('color', new THREE.Float32BufferAttribute(u.array, u.stride)), - a.array.length > 0 && - h.addAttribute('uv', new THREE.Float32BufferAttribute(a.array, a.stride)), - s.array.length > 0 && - h.addAttribute('uv2', new THREE.Float32BufferAttribute(s.array, s.stride)), - l.length > 0 && h.addAttribute('skinIndex', new THREE.Float32BufferAttribute(l, c)), - d.length > 0 && - h.addAttribute('skinWeight', new THREE.Float32BufferAttribute(d, f)), - (r.data = h), - (r.type = e[0].type), - (r.materialKeys = p), - r - ) - } - function ce(e, t, n, r) { - var i = e.p, - o = e.stride, - a = e.vcount - function s(e) { - for (var t = i[e + n] * l, o = t + l; t < o; t++) r.push(u[t]) - } - var u = t.array, - l = t.stride - if (void 0 !== e.vcount) - for (var c = 0, d = 0, f = a.length; d < f; d++) { - var h = a[d] - if (4 === h) { - var p = c + 1 * o, - v = c + 2 * o, - m = c + 3 * o - s(c + 0 * o), s(p), s(m), s(p), s(v), s(m) - } else if (3 === h) { - ;(p = c + 1 * o), (v = c + 2 * o) - s(c + 0 * o), s(p), s(v) - } else if (h > 4) - for (var g = 1, y = h - 2; g <= y; g++) { - ;(p = c + o * g), (v = c + o * (g + 1)) - s(c + 0 * o), s(p), s(v) - } - c += o * h - } - else for (d = 0, f = i.length; d < f; d += o) s(d) - } - function de(e) { - return f(We.geometries[e], ue) - } - function fe(e) { - return void 0 !== e.build ? e.build : e - } - function he(e, t) { - for (var n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'joint': - t.joints[r.getAttribute('sid')] = pe(r) - break - case 'link': - t.links.push(me(r)) - } - } - } - function pe(e) { - for (var t, n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'prismatic': - case 'revolute': - t = ve(r) - } - } - return t - } - function ve(e, t) { - t = { - sid: e.getAttribute('sid'), - name: e.getAttribute('name') || '', - axis: new THREE.Vector3(), - limits: { min: 0, max: 0 }, - type: e.nodeName, - static: !1, - zeroPosition: 0, - middlePosition: 0, - } - for (var n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'axis': - var o = i(r.textContent) - t.axis.fromArray(o) - break - case 'limits': - var a = r.getElementsByTagName('max')[0], - s = r.getElementsByTagName('min')[0] - ;(t.limits.max = parseFloat(a.textContent)), - (t.limits.min = parseFloat(s.textContent)) - } - } - return ( - t.limits.min >= t.limits.max && (t.static = !0), - (t.middlePosition = (t.limits.min + t.limits.max) / 2), - t - ) - } - function me(e) { - for ( - var t = { - sid: e.getAttribute('sid'), - name: e.getAttribute('name') || '', - attachments: [], - transforms: [], - }, - n = 0; - n < e.childNodes.length; - n++ - ) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'attachment_full': - t.attachments.push(ge(r)) - break - case 'matrix': - case 'translate': - case 'rotate': - t.transforms.push(ye(r)) - } - } - return t - } - function ge(e) { - for ( - var t = { - joint: e.getAttribute('joint').split('/').pop(), - transforms: [], - links: [], - }, - n = 0; - n < e.childNodes.length; - n++ - ) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'link': - t.links.push(me(r)) - break - case 'matrix': - case 'translate': - case 'rotate': - t.transforms.push(ye(r)) - } - } - return t - } - function ye(e) { - var t = { type: e.nodeName }, - n = i(e.textContent) - switch (t.type) { - case 'matrix': - ;(t.obj = new THREE.Matrix4()), t.obj.fromArray(n).transpose() - break - case 'translate': - ;(t.obj = new THREE.Vector3()), t.obj.fromArray(n) - break - case 'rotate': - ;(t.obj = new THREE.Vector3()), - t.obj.fromArray(n), - (t.angle = THREE.Math.degToRad(n[3])) - } - return t - } - function be(e, t) { - for (var n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'technique_common': - we(r, t) - } - } - } - function we(e, t) { - for (var n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'inertia': - t.inertia = i(r.textContent) - break - case 'mass': - t.mass = i(r.textContent)[0] - } - } - } - function xe(e) { - for ( - var t = { target: e.getAttribute('target').split('/').pop() }, n = 0; - n < e.childNodes.length; - n++ - ) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'axis': - var i = r.getElementsByTagName('param')[0] - t.axis = i.textContent - var o = t.axis.split('inst_').pop().split('axis')[0] - t.jointIndex = o.substr(0, o.length - 1) - } - } - return t - } - function Ee(e) { - return void 0 !== e.build ? e.build : e - } - function ke(e) { - for ( - var t = [], n = ze.querySelector('[id="' + e.id + '"]'), r = 0; - r < n.childNodes.length; - r++ - ) { - var o = n.childNodes[r] - if (1 === o.nodeType) - switch (o.nodeName) { - case 'matrix': - var a = i(o.textContent), - s = new THREE.Matrix4().fromArray(a).transpose() - t.push({ sid: o.getAttribute('sid'), type: o.nodeName, obj: s }) - break - case 'translate': - case 'scale': - a = i(o.textContent) - var u = new THREE.Vector3().fromArray(a) - t.push({ sid: o.getAttribute('sid'), type: o.nodeName, obj: u }) - break - case 'rotate': - ;(a = i(o.textContent)), (u = new THREE.Vector3().fromArray(a)) - var l = THREE.Math.degToRad(a[3]) - t.push({ sid: o.getAttribute('sid'), type: o.nodeName, obj: u, angle: l }) - } - } - return t - } - var Te = new THREE.Matrix4(), - _e = new THREE.Vector3() - function Oe(e) { - for ( - var t = { - name: e.getAttribute('name') || '', - type: e.getAttribute('type'), - id: e.getAttribute('id'), - sid: e.getAttribute('sid'), - matrix: new THREE.Matrix4(), - nodes: [], - instanceCameras: [], - instanceControllers: [], - instanceLights: [], - instanceGeometries: [], - instanceNodes: [], - transforms: {}, - }, - n = 0; - n < e.childNodes.length; - n++ - ) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'node': - t.nodes.push(r.getAttribute('id')), Oe(r) - break - case 'instance_camera': - t.instanceCameras.push(a(r.getAttribute('url'))) - break - case 'instance_controller': - t.instanceControllers.push(Ce(r)) - break - case 'instance_light': - t.instanceLights.push(a(r.getAttribute('url'))) - break - case 'instance_geometry': - t.instanceGeometries.push(Ce(r)) - break - case 'instance_node': - t.instanceNodes.push(a(r.getAttribute('url'))) - break - case 'matrix': - var o = i(r.textContent) - t.matrix.multiply(Te.fromArray(o).transpose()), - (t.transforms[r.getAttribute('sid')] = r.nodeName) - break - case 'translate': - o = i(r.textContent) - _e.fromArray(o), - t.matrix.multiply(Te.makeTranslation(_e.x, _e.y, _e.z)), - (t.transforms[r.getAttribute('sid')] = r.nodeName) - break - case 'rotate': - o = i(r.textContent) - var s = THREE.Math.degToRad(o[3]) - t.matrix.multiply(Te.makeRotationAxis(_e.fromArray(o), s)), - (t.transforms[r.getAttribute('sid')] = r.nodeName) - break - case 'scale': - o = i(r.textContent) - t.matrix.scale(_e.fromArray(o)), - (t.transforms[r.getAttribute('sid')] = r.nodeName) - break - case 'extra': - break - default: - console.log(r) - } - } - return ( - De(t.id) - ? console.warn( - 'THREE.ColladaLoader: There is already a node with ID %s. Exclude current node from further processing.', - t.id, - ) - : (We.nodes[t.id] = t), - t - ) - } - function Ce(e) { - for ( - var t = { id: a(e.getAttribute('url')), materials: {}, skeletons: [] }, n = 0; - n < e.childNodes.length; - n++ - ) { - var r = e.childNodes[n] - switch (r.nodeName) { - case 'bind_material': - for ( - var i = r.getElementsByTagName('instance_material'), o = 0; - o < i.length; - o++ - ) { - var s = i[o], - u = s.getAttribute('symbol'), - l = s.getAttribute('target') - t.materials[u] = a(l) - } - break - case 'skeleton': - t.skeletons.push(a(r.textContent)) - } - } - return t - } - function Se(e, t) { - var n, - r, - i, - o = [], - a = [] - for (n = 0; n < e.length; n++) { - var s = e[n] - if (De(s)) Ae(Le(s), t, o) - else if (((i = s), void 0 !== We.visualScenes[i])) - for (var u = We.visualScenes[s].children, l = 0; l < u.length; l++) { - var c = u[l] - if ('JOINT' === c.type) Ae(Le(c.id), t, o) - } - else - console.error( - 'THREE.ColladaLoader: Unable to find root bone of skeleton with ID:', - s, - ) - } - for (n = 0; n < t.length; n++) - for (l = 0; l < o.length; l++) - if ((r = o[l]).bone.name === t[n].name) { - ;(a[n] = r), (r.processed = !0) - break - } - for (n = 0; n < o.length; n++) - !1 === (r = o[n]).processed && (a.push(r), (r.processed = !0)) - var d = [], - f = [] - for (n = 0; n < a.length; n++) (r = a[n]), d.push(r.bone), f.push(r.boneInverse) - return new THREE.Skeleton(d, f) - } - function Ae(e, t, n) { - e.traverse(function (e) { - if (!0 === e.isBone) { - for (var r, i = 0; i < t.length; i++) { - var o = t[i] - if (o.name === e.name) { - r = o.boneInverse - break - } - } - void 0 === r && (r = new THREE.Matrix4()), - n.push({ bone: e, boneInverse: r, processed: !1 }) - } - }) - } - function Pe(e) { - for ( - var t, - n = [], - r = e.matrix, - i = e.nodes, - o = e.type, - a = e.instanceCameras, - s = e.instanceControllers, - u = e.instanceLights, - l = e.instanceGeometries, - c = e.instanceNodes, - d = 0, - h = i.length; - d < h; - d++ - ) - n.push(Le(i[d])) - for (d = 0, h = a.length; d < h; d++) { - var p = J(a[d]) - null !== p && n.push(p.clone()) - } - for (d = 0, h = s.length; d < h; d++) - for ( - var v = s[d], - m = ((t = v.id), f(We.controllers[t], M)), - g = je(de(m.id), v.materials), - y = Se(v.skeletons, m.skin.joints), - b = 0, - w = g.length; - b < w; - b++ - ) { - var x - ;(x = g[b]).isSkinnedMesh && - (x.bind(y, m.skin.bindMatrix), x.normalizeSkinWeights()), - n.push(x) - } - for (d = 0, h = u.length; d < h; d++) { - var E = re(u[d]) - null !== E && n.push(E.clone()) - } - for (d = 0, h = l.length; d < h; d++) - for (b = 0, w = (g = je(de((v = l[d]).id), v.materials)).length; b < w; b++) - n.push(g[b]) - for (d = 0, h = c.length; d < h; d++) n.push(Le(c[d]).clone()) - if (0 === i.length && 1 === n.length) x = n[0] - else { - x = 'JOINT' === o ? new THREE.Bone() : new THREE.Group() - for (d = 0; d < n.length; d++) x.add(n[d]) - } - return ( - '' === x.name && (x.name = 'JOINT' === o ? e.sid : e.name), - x.matrix.copy(r), - x.matrix.decompose(x.position, x.quaternion, x.scale), - x - ) - } - var Me = new THREE.MeshBasicMaterial({ color: 16711935 }) - function Re(e, t) { - for (var n = [], r = 0, i = e.length; r < i; r++) { - var o = t[e[r]] - void 0 === o - ? (console.warn( - 'THREE.ColladaLoader: Material with key %s not found. Apply fallback material.', - e[r], - ), - n.push(Me)) - : n.push(Z(o)) - } - return n - } - function je(e, t) { - var n = [] - for (var r in e) { - var i = e[r], - o = Re(i.materialKeys, t) - 0 === o.length && - ('lines' === r || 'linestrips' === r - ? o.push(new THREE.LineBasicMaterial()) - : o.push(new THREE.MeshPhongMaterial())) - var a = void 0 !== i.data.attributes.skinIndex - if (a) for (var s = 0, u = o.length; s < u; s++) o[s].skinning = !0 - var l, - c = 1 === o.length ? o[0] : o - switch (r) { - case 'lines': - l = new THREE.LineSegments(i.data, c) - break - case 'linestrips': - l = new THREE.Line(i.data, c) - break - case 'triangles': - case 'polylist': - l = a ? new THREE.SkinnedMesh(i.data, c) : new THREE.Mesh(i.data, c) - } - n.push(l) - } - return n - } - function De(e) { - return void 0 !== We.nodes[e] - } - function Le(e) { - return f(We.nodes[e], Pe) - } - function Ne(e) { - var t = new THREE.Group() - t.name = e.name - for (var n = e.children, r = 0; r < n.length; r++) { - var i = n[r] - t.add(Le(i.id)) - } - return t - } - function Ie(e) { - return f(We.visualScenes[e], Ne) - } - if (0 === e.length) return { scene: new THREE.Scene() } - var ze = n(new DOMParser().parseFromString(e, 'application/xml'), 'COLLADA')[0], - He = ze.getAttribute('version') - console.log('THREE.ColladaLoader: File version', He) - var Be, - Fe = (function (e) { - return { unit: u(n(e, 'unit')[0]), upAxis: l(n(e, 'up_axis')[0]) } - })(n(ze, 'asset')[0]), - Ve = new THREE.TextureLoader(this.manager) - Ve.setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin), - THREE.TGALoader && - (Be = new THREE.TGALoader(this.manager)).setPath(this.resourcePath || t) - var Ue = [], - Ge = {}, - qe = 0, - We = { - animations: {}, - clips: {}, - controllers: {}, - images: {}, - effects: {}, - materials: {}, - cameras: {}, - lights: {}, - geometries: {}, - nodes: {}, - visualScenes: {}, - kinematicsModels: {}, - physicsModels: {}, - kinematicsScenes: {}, - } - c(ze, 'library_animations', 'animation', function (e) { - for ( - var t = { sources: {}, samplers: {}, channels: {} }, n = 0, r = e.childNodes.length; - n < r; - n++ - ) { - var i, - o = e.childNodes[n] - if (1 === o.nodeType) - switch (o.nodeName) { - case 'source': - ;(i = o.getAttribute('id')), (t.sources[i] = ie(o)) - break - case 'sampler': - ;(i = o.getAttribute('id')), (t.samplers[i] = h(o)) - break - case 'channel': - ;(i = o.getAttribute('target')), (t.channels[i] = p(o)) - break - default: - console.log(o) - } - } - We.animations[e.getAttribute('id')] = t - }), - c(ze, 'library_animation_clips', 'animation_clip', function (e) { - for ( - var t = { - name: e.getAttribute('id') || 'default', - start: parseFloat(e.getAttribute('start') || 0), - end: parseFloat(e.getAttribute('end') || 0), - animations: [], - }, - n = 0, - r = e.childNodes.length; - n < r; - n++ - ) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'instance_animation': - t.animations.push(a(i.getAttribute('url'))) - } - } - We.clips[e.getAttribute('id')] = t - }), - c(ze, 'library_controllers', 'controller', function (e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'skin': - ;(t.id = a(i.getAttribute('source'))), (t.skin = S(i)) - break - case 'morph': - ;(t.id = a(i.getAttribute('source'))), - console.warn( - 'THREE.ColladaLoader: Morph target animation not supported yet.', - ) - } - } - We.controllers[e.getAttribute('id')] = t - }), - c(ze, 'library_images', 'image', function (e) { - var t = { init_from: n(e, 'init_from')[0].textContent } - We.images[e.getAttribute('id')] = t - }), - c(ze, 'library_effects', 'effect', function (e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'profile_COMMON': - t.profile = D(i) - } - } - We.effects[e.getAttribute('id')] = t - }), - c(ze, 'library_materials', 'material', function (e) { - for ( - var t = { name: e.getAttribute('name') }, n = 0, r = e.childNodes.length; - n < r; - n++ - ) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'instance_effect': - t.url = a(i.getAttribute('url')) - } - } - We.materials[e.getAttribute('id')] = t - }), - c(ze, 'library_cameras', 'camera', function (e) { - for ( - var t = { name: e.getAttribute('name') }, n = 0, r = e.childNodes.length; - n < r; - n++ - ) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'optics': - t.optics = $(i) - } - } - We.cameras[e.getAttribute('id')] = t - }), - c(ze, 'library_lights', 'light', function (e) { - for (var t = {}, n = 0, r = e.childNodes.length; n < r; n++) { - var i = e.childNodes[n] - if (1 === i.nodeType) - switch (i.nodeName) { - case 'technique_common': - t = ee(i) - } - } - We.lights[e.getAttribute('id')] = t - }), - c(ze, 'library_geometries', 'geometry', function (e) { - var t = { name: e.getAttribute('name'), sources: {}, vertices: {}, primitives: [] }, - r = n(e, 'mesh')[0] - if (void 0 !== r) { - for (var i = 0; i < r.childNodes.length; i++) { - var o = r.childNodes[i] - if (1 === o.nodeType) { - var a = o.getAttribute('id') - switch (o.nodeName) { - case 'source': - t.sources[a] = ie(o) - break - case 'vertices': - t.vertices = oe(o) - break - case 'polygons': - console.warn( - 'THREE.ColladaLoader: Unsupported primitive type: ', - o.nodeName, - ) - break - case 'lines': - case 'linestrips': - case 'polylist': - case 'triangles': - t.primitives.push(ae(o)) - break - default: - console.log(o) - } - } - } - We.geometries[e.getAttribute('id')] = t - } - }), - c(ze, 'library_nodes', 'node', Oe), - c(ze, 'library_visual_scenes', 'visual_scene', function (e) { - var t = { name: e.getAttribute('name'), children: [] } - !(function (e) { - for (var t = e.getElementsByTagName('node'), n = 0; n < t.length; n++) { - var r = t[n] - !1 === r.hasAttribute('id') && r.setAttribute('id', 'three_default_' + qe++) - } - })(e) - for (var r = n(e, 'node'), i = 0; i < r.length; i++) t.children.push(Oe(r[i])) - We.visualScenes[e.getAttribute('id')] = t - }), - c(ze, 'library_kinematics_models', 'kinematics_model', function (e) { - for ( - var t = { name: e.getAttribute('name') || '', joints: {}, links: [] }, n = 0; - n < e.childNodes.length; - n++ - ) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'technique_common': - he(r, t) - } - } - We.kinematicsModels[e.getAttribute('id')] = t - }), - c(ze, 'library_physics_models', 'physics_model', function (e) { - for ( - var t = { name: e.getAttribute('name') || '', rigidBodies: {} }, n = 0; - n < e.childNodes.length; - n++ - ) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'rigid_body': - ;(t.rigidBodies[r.getAttribute('name')] = {}), - be(r, t.rigidBodies[r.getAttribute('name')]) - } - } - We.physicsModels[e.getAttribute('id')] = t - }), - c(ze, 'scene', 'instance_kinematics_scene', function (e) { - for (var t = { bindJointAxis: [] }, n = 0; n < e.childNodes.length; n++) { - var r = e.childNodes[n] - if (1 === r.nodeType) - switch (r.nodeName) { - case 'bind_joint_axis': - t.bindJointAxis.push(xe(r)) - } - } - We.kinematicsScenes[a(e.getAttribute('url'))] = t - }), - d(We.animations, v), - d(We.clips, O), - d(We.controllers, M), - d(We.images, R), - d(We.effects, W), - d(We.materials, K), - d(We.cameras, Q), - d(We.lights, ne), - d(We.geometries, ue), - d(We.visualScenes, Ne), - (function () { - var e = We.clips - if (!0 === s(e)) { - if (!1 === s(We.animations)) { - var t = [] - for (var n in We.animations) - for (var r = m(n), i = 0, o = r.length; i < o; i++) t.push(r[i]) - Ue.push(new THREE.AnimationClip('default', -1, t)) - } - } else for (var n in e) Ue.push(C(n)) - })(), - (function () { - var e = Object.keys(We.kinematicsModels)[0], - t = Object.keys(We.kinematicsScenes)[0], - n = Object.keys(We.visualScenes)[0] - if (void 0 !== e && void 0 !== t) { - for ( - var r, - i = ((r = e), f(We.kinematicsModels[r], fe)), - o = (function (e) { - return f(We.kinematicsScenes[e], Ee) - })(t), - a = Ie(n), - s = o.bindJointAxis, - u = {}, - l = 0, - c = s.length; - l < c; - l++ - ) { - var d = s[l], - h = ze.querySelector('[sid="' + d.target + '"]') - if (h) { - var p = h.parentElement - m(d.jointIndex, p) - } - } - var v = new THREE.Matrix4() - Ge = { - joints: i && i.joints, - getJointValue: function (e) { - var t = u[e] - if (t) return t.position - console.warn('THREE.ColladaLoader: Joint ' + e + " doesn't exist.") - }, - setJointValue: function (e, t) { - var n = u[e] - if (n) { - var r = n.joint - if (t > r.limits.max || t < r.limits.min) - console.warn( - 'THREE.ColladaLoader: Joint ' + - e + - ' value ' + - t + - ' outside of limits (min: ' + - r.limits.min + - ', max: ' + - r.limits.max + - ').', - ) - else if (r.static) - console.warn('THREE.ColladaLoader: Joint ' + e + ' is static.') - else { - var i = n.object, - o = r.axis, - a = n.transforms - Te.identity() - for (var s = 0; s < a.length; s++) { - var l = a[s] - if (l.sid && -1 !== l.sid.indexOf(e)) - switch (r.type) { - case 'revolute': - Te.multiply(v.makeRotationAxis(o, THREE.Math.degToRad(t))) - break - case 'prismatic': - Te.multiply(v.makeTranslation(o.x * t, o.y * t, o.z * t)) - break - default: - console.warn('THREE.ColladaLoader: Unknown joint type: ' + r.type) - } - else - switch (l.type) { - case 'matrix': - Te.multiply(l.obj) - break - case 'translate': - Te.multiply(v.makeTranslation(l.obj.x, l.obj.y, l.obj.z)) - break - case 'scale': - Te.scale(l.obj) - break - case 'rotate': - Te.multiply(v.makeRotationAxis(l.obj, l.angle)) - } - } - i.matrix.copy(Te), - i.matrix.decompose(i.position, i.quaternion, i.scale), - (u[e].position = t) - } - } else console.log('THREE.ColladaLoader: ' + e + ' does not exist.') - }, - } - } - function m(e, t) { - var n = t.getAttribute('name'), - r = i.joints[e] - a.traverse(function (i) { - i.name === n && - (u[e] = { object: i, transforms: ke(t), joint: r, position: r.zeroPosition }) - }) - } - })() - var Ke = (function (e) { - return Ie(a(n(e, 'instance_visual_scene')[0].getAttribute('url'))) - })(n(ze, 'scene')[0]) - return ( - 'Z_UP' === Fe.upAxis && - Ke.quaternion.setFromEuler(new THREE.Euler(-Math.PI / 2, 0, 0)), - Ke.scale.multiplyScalar(Fe.unit), - { animations: Ue, kinematics: Ge, library: We, scene: Ke } - ) - }, - }) - }, - 9434: function (e) { - e.exports = THREE.FBXLoader = (function () { - var e, t, n - function r(e) { - this.manager = void 0 !== e ? e : THREE.DefaultLoadingManager - } - function i(e) { - this.textureLoader = e - } - function o() {} - function a() {} - function s() {} - function u() {} - function l(e, t) { - ;(this.dv = new DataView(e)), (this.offset = 0), (this.littleEndian = void 0 === t || t) - } - function c() {} - function d(e) { - var t = e.match(/FBXVersion: (\d+)/) - if (t) return parseInt(t[1]) - throw new Error('THREE.FBXLoader: Cannot find the version number for the file given.') - } - function f(e) { - return e / 46186158e3 - } - ;(r.prototype = { - constructor: r, - crossOrigin: 'anonymous', - load: function (e, t, n, r) { - var i = this, - o = THREE.LoaderUtils.extractUrlBase(e), - a = new THREE.FileLoader(this.manager) - a.setResponseType('arraybuffer'), - a.load( - e, - function (n) { - try { - var a = i.parse(n, o) - t(a) - } catch (s) { - setTimeout(function () { - r && r(s), i.manager.itemError(e) - }, 0) - } - }, - n, - r, - ) - }, - setCrossOrigin: function (e) { - return (this.crossOrigin = e), this - }, - parse: function (t, n) { - if ( - (function (e) { - var t = 'Kaydara FBX Binary \0' - return e.byteLength >= t.length && t === k(e, 0, t.length) - })(t) - ) - e = new u().parse(t) - else { - var r = k(t) - if ( - !(function (e) { - var t = [ - 'K', - 'a', - 'y', - 'd', - 'a', - 'r', - 'a', - '\\', - 'F', - 'B', - 'X', - '\\', - 'B', - 'i', - 'n', - 'a', - 'r', - 'y', - '\\', - '\\', - ], - n = 0 - function r(t) { - var r = e[t - 1] - return (e = e.slice(n + t)), n++, r - } - for (var i = 0; i < t.length; ++i) { - if (r(1) === t[i]) return !1 - } - return !0 - })(r) - ) - throw new Error('THREE.FBXLoader: Unknown format.') - if (d(r) < 7e3) - throw new Error('THREE.FBXLoader: FBX version not supported, FileVersion: ' + d(r)) - e = new s().parse(r) - } - return new i( - new THREE.TextureLoader(this.manager).setPath(n).setCrossOrigin(this.crossOrigin), - ).parse(e) - }, - }), - (i.prototype = { - constructor: i, - parse: function () { - t = this.parseConnections() - var e = this.parseImages(), - r = this.parseTextures(e), - i = this.parseMaterials(r), - a = this.parseDeformers(), - s = new o().parse(a) - return this.parseScene(a, s, i), n - }, - parseConnections: function () { - var t = new Map() - 'Connections' in e && - e.Connections.connections.forEach(function (e) { - var n = e[0], - r = e[1], - i = e[2] - t.has(n) || t.set(n, { parents: [], children: [] }) - var o = { ID: r, relationship: i } - t.get(n).parents.push(o), t.has(r) || t.set(r, { parents: [], children: [] }) - var a = { ID: n, relationship: i } - t.get(r).children.push(a) - }) - return t - }, - parseImages: function () { - var t = {}, - n = {} - if ('Video' in e.Objects) { - var r = e.Objects.Video - for (var i in r) { - var o = r[i] - if (((t[(l = parseInt(i))] = o.RelativeFilename || o.Filename), 'Content' in o)) { - var a = o.Content instanceof ArrayBuffer && o.Content.byteLength > 0, - s = 'string' === typeof o.Content && '' !== o.Content - if (a || s) { - var u = this.parseImage(r[i]) - n[o.RelativeFilename || o.Filename] = u - } - } - } - } - for (var l in t) { - var c = t[l] - void 0 !== n[c] ? (t[l] = n[c]) : (t[l] = t[l].split('\\').pop()) - } - return t - }, - parseImage: function (e) { - var t, - n = e.Content, - r = e.RelativeFilename || e.Filename, - i = r.slice(r.lastIndexOf('.') + 1).toLowerCase() - switch (i) { - case 'bmp': - t = 'image/bmp' - break - case 'jpg': - case 'jpeg': - t = 'image/jpeg' - break - case 'png': - t = 'image/png' - break - case 'tif': - t = 'image/tiff' - break - case 'tga': - if ('function' !== typeof THREE.TGALoader) - return void console.warn( - 'FBXLoader: THREE.TGALoader is required to load TGA textures', - ) - null === THREE.Loader.Handlers.get('.tga') && - THREE.Loader.Handlers.add(/\.tga$/i, new THREE.TGALoader()), - (t = 'image/tga') - break - default: - return void console.warn('FBXLoader: Image type "' + i + '" is not supported.') - } - if ('string' === typeof n) return 'data:' + t + ';base64,' + n - var o = new Uint8Array(n) - return window.URL.createObjectURL(new Blob([o], { type: t })) - }, - parseTextures: function (t) { - var n = new Map() - if ('Texture' in e.Objects) { - var r = e.Objects.Texture - for (var i in r) { - var o = this.parseTexture(r[i], t) - n.set(parseInt(i), o) - } - } - return n - }, - parseTexture: function (e, t) { - var n = this.loadTexture(e, t) - ;(n.ID = e.id), (n.name = e.attrName) - var r = e.WrapModeU, - i = e.WrapModeV, - o = void 0 !== r ? r.value : 0, - a = void 0 !== i ? i.value : 0 - if ( - ((n.wrapS = 0 === o ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping), - (n.wrapT = 0 === a ? THREE.RepeatWrapping : THREE.ClampToEdgeWrapping), - 'Scaling' in e) - ) { - var s = e.Scaling.value - ;(n.repeat.x = s[0]), (n.repeat.y = s[1]) - } - return n - }, - loadTexture: function (e, n) { - var r, - i, - o = this.textureLoader.path, - a = t.get(e.id).children - void 0 !== a && - a.length > 0 && - void 0 !== n[a[0].ID] && - ((0 !== (r = n[a[0].ID]).indexOf('blob:') && 0 !== r.indexOf('data:')) || - this.textureLoader.setPath(void 0)) - var s = e.FileName.slice(-3).toLowerCase() - if ('tga' === s) { - var u = THREE.Loader.Handlers.get('.tga') - null === u - ? (console.warn( - 'FBXLoader: TGALoader not found, creating empty placeholder texture for', - r, - ), - (i = new THREE.Texture())) - : (i = u.load(r)) - } else - 'psd' === s - ? (console.warn( - 'FBXLoader: PSD textures are not supported, creating empty placeholder texture for', - r, - ), - (i = new THREE.Texture())) - : (i = this.textureLoader.load(r)) - return this.textureLoader.setPath(o), i - }, - parseMaterials: function (t) { - var n = new Map() - if ('Material' in e.Objects) { - var r = e.Objects.Material - for (var i in r) { - var o = this.parseMaterial(r[i], t) - null !== o && n.set(parseInt(i), o) - } - } - return n - }, - parseMaterial: function (e, n) { - var r = e.id, - i = e.attrName, - o = e.ShadingModel - if (('object' === typeof o && (o = o.value), !t.has(r))) return null - var a, - s = this.parseParameters(e, n, r) - switch (o.toLowerCase()) { - case 'phong': - a = new THREE.MeshPhongMaterial() - break - case 'lambert': - a = new THREE.MeshLambertMaterial() - break - default: - console.warn( - 'THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.', - o, - ), - (a = new THREE.MeshPhongMaterial({ color: 3342591 })) - } - return a.setValues(s), (a.name = i), a - }, - parseParameters: function (e, n, r) { - var i = {} - e.BumpFactor && (i.bumpScale = e.BumpFactor.value), - e.Diffuse - ? (i.color = new THREE.Color().fromArray(e.Diffuse.value)) - : e.DiffuseColor && - 'Color' === e.DiffuseColor.type && - (i.color = new THREE.Color().fromArray(e.DiffuseColor.value)), - e.DisplacementFactor && (i.displacementScale = e.DisplacementFactor.value), - e.Emissive - ? (i.emissive = new THREE.Color().fromArray(e.Emissive.value)) - : e.EmissiveColor && - 'Color' === e.EmissiveColor.type && - (i.emissive = new THREE.Color().fromArray(e.EmissiveColor.value)), - e.EmissiveFactor && (i.emissiveIntensity = parseFloat(e.EmissiveFactor.value)), - e.Opacity && (i.opacity = parseFloat(e.Opacity.value)), - i.opacity < 1 && (i.transparent = !0), - e.ReflectionFactor && (i.reflectivity = e.ReflectionFactor.value), - e.Shininess && (i.shininess = e.Shininess.value), - e.Specular - ? (i.specular = new THREE.Color().fromArray(e.Specular.value)) - : e.SpecularColor && - 'Color' === e.SpecularColor.type && - (i.specular = new THREE.Color().fromArray(e.SpecularColor.value)) - var o = this - return ( - t.get(r).children.forEach(function (e) { - var t = e.relationship - switch (t) { - case 'Bump': - i.bumpMap = o.getTexture(n, e.ID) - break - case 'DiffuseColor': - i.map = o.getTexture(n, e.ID) - break - case 'DisplacementColor': - i.displacementMap = o.getTexture(n, e.ID) - break - case 'EmissiveColor': - i.emissiveMap = o.getTexture(n, e.ID) - break - case 'NormalMap': - i.normalMap = o.getTexture(n, e.ID) - break - case 'ReflectionColor': - ;(i.envMap = o.getTexture(n, e.ID)), - (i.envMap.mapping = THREE.EquirectangularReflectionMapping) - break - case 'SpecularColor': - i.specularMap = o.getTexture(n, e.ID) - break - case 'TransparentColor': - ;(i.alphaMap = o.getTexture(n, e.ID)), (i.transparent = !0) - break - case 'AmbientColor': - case 'ShininessExponent': - case 'SpecularFactor': - case 'VectorDisplacementColor': - default: - console.warn( - 'THREE.FBXLoader: %s map is not supported in three.js, skipping texture.', - t, - ) - } - }), - i - ) - }, - getTexture: function (n, r) { - return ( - 'LayeredTexture' in e.Objects && - r in e.Objects.LayeredTexture && - (console.warn( - 'THREE.FBXLoader: layered textures are not supported in three.js. Discarding all but first layer.', - ), - (r = t.get(r).children[0].ID)), - n.get(r) - ) - }, - parseDeformers: function () { - var n = {}, - r = {} - if ('Deformer' in e.Objects) { - var i = e.Objects.Deformer - for (var o in i) { - var a = i[o], - s = t.get(parseInt(o)) - if ('Skin' === a.attrType) { - var u = this.parseSkeleton(s, i) - ;(u.ID = o), - s.parents.length > 1 && - console.warn( - 'THREE.FBXLoader: skeleton attached to more than one geometry is not supported.', - ), - (u.geometryID = s.parents[0].ID), - (n[o] = u) - } else if ('BlendShape' === a.attrType) { - var l = { id: o } - ;(l.rawTargets = this.parseMorphTargets(s, i)), - (l.id = o), - s.parents.length > 1 && - console.warn( - 'THREE.FBXLoader: morph target attached to more than one geometry is not supported.', - ), - (r[o] = l) - } - } - } - return { skeletons: n, morphTargets: r } - }, - parseSkeleton: function (e, t) { - var n = [] - return ( - e.children.forEach(function (e) { - var r = t[e.ID] - if ('Cluster' === r.attrType) { - var i = { - ID: e.ID, - indices: [], - weights: [], - transform: new THREE.Matrix4().fromArray(r.Transform.a), - transformLink: new THREE.Matrix4().fromArray(r.TransformLink.a), - linkMode: r.Mode, - } - 'Indexes' in r && ((i.indices = r.Indexes.a), (i.weights = r.Weights.a)), - n.push(i) - } - }), - { rawBones: n, bones: [] } - ) - }, - parseMorphTargets: function (e, n) { - for (var r = [], i = 0; i < e.children.length; i++) { - if (8 === i) { - console.warn( - 'FBXLoader: maximum of 8 morph targets supported. Ignoring additional targets.', - ) - break - } - var o = e.children[i], - a = n[o.ID], - s = { - name: a.attrName, - initialWeight: a.DeformPercent, - id: a.id, - fullWeights: a.FullWeights.a, - } - if ('BlendShapeChannel' !== a.attrType) return - t.get(parseInt(o.ID)).children.forEach(function (e) { - void 0 === e.relationship && (s.geoID = e.ID) - }), - r.push(s) - } - return r - }, - parseScene: function (r, i, o) { - n = new THREE.Group() - var s = this.parseModels(r.skeletons, i, o), - u = e.Objects.Model, - l = this - s.forEach(function (e) { - var r = u[e.ID] - l.setLookAtProperties(e, r), - t.get(e.ID).parents.forEach(function (t) { - var n = s.get(t.ID) - void 0 !== n && n.add(e) - }), - null === e.parent && n.add(e) - }), - this.bindSkeleton(r.skeletons, i, s), - this.createAmbientLight(), - this.setupMorphMaterials() - var c = new a().parse() - 1 === n.children.length && - n.children[0].isGroup && - ((n.children[0].animations = c), (n = n.children[0])), - (n.animations = c) - }, - parseModels: function (n, r, i) { - var o = new Map(), - a = e.Objects.Model - for (var s in a) { - var u = parseInt(s), - l = a[s], - c = t.get(u), - d = this.buildSkeleton(c, n, u, l.attrName) - if (!d) { - switch (l.attrType) { - case 'Camera': - d = this.createCamera(c) - break - case 'Light': - d = this.createLight(c) - break - case 'Mesh': - d = this.createMesh(c, r, i) - break - case 'NurbsCurve': - d = this.createCurve(c, r) - break - case 'LimbNode': - case 'Null': - default: - d = new THREE.Group() - } - ;(d.name = THREE.PropertyBinding.sanitizeNodeName(l.attrName)), (d.ID = u) - } - this.setModelTransforms(d, l), o.set(u, d) - } - return o - }, - buildSkeleton: function (e, t, n, r) { - var i = null - return ( - e.parents.forEach(function (e) { - for (var o in t) { - var a = t[o] - a.rawBones.forEach(function (t, o) { - if (t.ID === e.ID) { - var s = i - ;(i = new THREE.Bone()).matrixWorld.copy(t.transformLink), - (i.name = THREE.PropertyBinding.sanitizeNodeName(r)), - (i.ID = n), - (a.bones[o] = i), - null !== s && i.add(s) - } - }) - } - }), - i - ) - }, - createCamera: function (t) { - var n, r - if ( - (t.children.forEach(function (t) { - var n = e.Objects.NodeAttribute[t.ID] - void 0 !== n && (r = n) - }), - void 0 === r) - ) - n = new THREE.Object3D() - else { - var i = 0 - void 0 !== r.CameraProjectionType && 1 === r.CameraProjectionType.value && (i = 1) - var o = 1 - void 0 !== r.NearPlane && (o = r.NearPlane.value / 1e3) - var a = 1e3 - void 0 !== r.FarPlane && (a = r.FarPlane.value / 1e3) - var s = window.innerWidth, - u = window.innerHeight - void 0 !== r.AspectWidth && - void 0 !== r.AspectHeight && - ((s = r.AspectWidth.value), (u = r.AspectHeight.value)) - var l = s / u, - c = 45 - void 0 !== r.FieldOfView && (c = r.FieldOfView.value) - var d = r.FocalLength ? r.FocalLength.value : null - switch (i) { - case 0: - ;(n = new THREE.PerspectiveCamera(c, l, o, a)), - null !== d && n.setFocalLength(d) - break - case 1: - n = new THREE.OrthographicCamera(-s / 2, s / 2, u / 2, -u / 2, o, a) - break - default: - console.warn('THREE.FBXLoader: Unknown camera type ' + i + '.'), - (n = new THREE.Object3D()) - } - } - return n - }, - createLight: function (t) { - var n, r - if ( - (t.children.forEach(function (t) { - var n = e.Objects.NodeAttribute[t.ID] - void 0 !== n && (r = n) - }), - void 0 === r) - ) - n = new THREE.Object3D() - else { - var i - i = void 0 === r.LightType ? 0 : r.LightType.value - var o = 16777215 - void 0 !== r.Color && (o = new THREE.Color().fromArray(r.Color.value)) - var a = void 0 === r.Intensity ? 1 : r.Intensity.value / 100 - void 0 !== r.CastLightOnObject && 0 === r.CastLightOnObject.value && (a = 0) - var s = 0 - void 0 !== r.FarAttenuationEnd && - (s = - void 0 !== r.EnableFarAttenuation && 0 === r.EnableFarAttenuation.value - ? 0 - : r.FarAttenuationEnd.value) - switch (i) { - case 0: - n = new THREE.PointLight(o, a, s, 1) - break - case 1: - n = new THREE.DirectionalLight(o, a) - break - case 2: - var u = Math.PI / 3 - void 0 !== r.InnerAngle && (u = THREE.Math.degToRad(r.InnerAngle.value)) - var l = 0 - void 0 !== r.OuterAngle && - ((l = THREE.Math.degToRad(r.OuterAngle.value)), (l = Math.max(l, 1))), - (n = new THREE.SpotLight(o, a, s, u, l, 1)) - break - default: - console.warn( - 'THREE.FBXLoader: Unknown light type ' + - r.LightType.value + - ', defaulting to a THREE.PointLight.', - ), - (n = new THREE.PointLight(o, a)) - } - void 0 !== r.CastShadows && 1 === r.CastShadows.value && (n.castShadow = !0) - } - return n - }, - createMesh: function (e, t, n) { - var r, - i = null, - o = null, - a = [] - return ( - e.children.forEach(function (e) { - t.has(e.ID) && (i = t.get(e.ID)), n.has(e.ID) && a.push(n.get(e.ID)) - }), - a.length > 1 - ? (o = a) - : a.length > 0 - ? (o = a[0]) - : ((o = new THREE.MeshPhongMaterial({ color: 13421772 })), a.push(o)), - 'color' in i.attributes && - a.forEach(function (e) { - e.vertexColors = THREE.VertexColors - }), - i.FBX_Deformer - ? (a.forEach(function (e) { - e.skinning = !0 - }), - (r = new THREE.SkinnedMesh(i, o))) - : (r = new THREE.Mesh(i, o)), - r - ) - }, - createCurve: function (e, t) { - var n = e.children.reduce(function (e, n) { - return t.has(n.ID) && (e = t.get(n.ID)), e - }, null), - r = new THREE.LineBasicMaterial({ color: 3342591, linewidth: 1 }) - return new THREE.Line(n, r) - }, - setModelTransforms: function (e, t) { - var n = {} - 'RotationOrder' in t && (n.eulerOrder = parseInt(t.RotationOrder.value)), - 'Lcl_Translation' in t && (n.translation = t.Lcl_Translation.value), - 'RotationOffset' in t && (n.rotationOffset = t.RotationOffset.value), - 'Lcl_Rotation' in t && (n.rotation = t.Lcl_Rotation.value), - 'PreRotation' in t && (n.preRotation = t.PreRotation.value), - 'PostRotation' in t && (n.postRotation = t.PostRotation.value), - 'Lcl_Scaling' in t && (n.scale = t.Lcl_Scaling.value) - var r = w(n) - e.applyMatrix(r) - }, - setLookAtProperties: function (r, i) { - 'LookAtProperty' in i && - t.get(r.ID).children.forEach(function (t) { - if ('LookAtProperty' === t.relationship) { - var i = e.Objects.Model[t.ID] - if ('Lcl_Translation' in i) { - var o = i.Lcl_Translation.value - void 0 !== r.target - ? (r.target.position.fromArray(o), n.add(r.target)) - : r.lookAt(new THREE.Vector3().fromArray(o)) - } - } - }) - }, - bindSkeleton: function (e, n, r) { - var i = this.parsePoseNodes() - for (var o in e) { - var a = e[o] - t.get(parseInt(a.ID)).parents.forEach(function (e) { - if (n.has(e.ID)) { - var o = e.ID - t.get(o).parents.forEach(function (e) { - r.has(e.ID) && r.get(e.ID).bind(new THREE.Skeleton(a.bones), i[e.ID]) - }) - } - }) - } - }, - parsePoseNodes: function () { - var t = {} - if ('Pose' in e.Objects) { - var n = e.Objects.Pose - for (var r in n) - if ('BindPose' === n[r].attrType) { - var i = n[r].PoseNode - Array.isArray(i) - ? i.forEach(function (e) { - t[e.Node] = new THREE.Matrix4().fromArray(e.Matrix.a) - }) - : (t[i.Node] = new THREE.Matrix4().fromArray(i.Matrix.a)) - } - } - return t - }, - createAmbientLight: function () { - if ('GlobalSettings' in e && 'AmbientColor' in e.GlobalSettings) { - var t = e.GlobalSettings.AmbientColor.value, - r = t[0], - i = t[1], - o = t[2] - if (0 !== r || 0 !== i || 0 !== o) { - var a = new THREE.Color(r, i, o) - n.add(new THREE.AmbientLight(a, 1)) - } - } - }, - setupMorphMaterials: function () { - n.traverse(function (e) { - if ( - e.isMesh && - (e.geometry.morphAttributes.position || e.geometry.morphAttributes.normal) - ) { - var t = e.uuid, - r = e.material.uuid, - i = !1 - n.traverse(function (e) { - e.isMesh && e.material.uuid === r && e.uuid !== t && (i = !0) - }), - !0 === i && (e.material = e.material.clone()), - (e.material.morphTargets = !0) - } - }) - }, - }), - (o.prototype = { - constructor: o, - parse: function (n) { - var r = new Map() - if ('Geometry' in e.Objects) { - var i = e.Objects.Geometry - for (var o in i) { - var a = t.get(parseInt(o)), - s = this.parseGeometry(a, i[o], n) - r.set(parseInt(o), s) - } - } - return r - }, - parseGeometry: function (e, t, n) { - switch (t.attrType) { - case 'Mesh': - return this.parseMeshGeometry(e, t, n) - case 'NurbsCurve': - return this.parseNurbsGeometry(t) - } - }, - parseMeshGeometry: function (t, n, r) { - var i = r.skeletons, - o = r.morphTargets, - a = t.parents.map(function (t) { - return e.Objects.Model[t.ID] - }) - if (0 !== a.length) { - var s = t.children.reduce(function (e, t) { - return void 0 !== i[t.ID] && (e = i[t.ID]), e - }, null), - u = t.children.reduce(function (e, t) { - return void 0 !== o[t.ID] && (e = o[t.ID]), e - }, null), - l = a[0], - c = {} - 'RotationOrder' in l && (c.eulerOrder = l.RotationOrder.value), - 'GeometricTranslation' in l && (c.translation = l.GeometricTranslation.value), - 'GeometricRotation' in l && (c.rotation = l.GeometricRotation.value), - 'GeometricScaling' in l && (c.scale = l.GeometricScaling.value) - var d = w(c) - return this.genGeometry(n, s, u, d) - } - }, - genGeometry: function (e, t, n, r) { - var i = new THREE.BufferGeometry() - e.attrName && (i.name = e.attrName) - var o = this.parseGeoNode(e, t), - a = this.genBuffers(o), - s = new THREE.Float32BufferAttribute(a.vertex, 3) - if ( - (r.applyToBufferAttribute(s), - i.addAttribute('position', s), - a.colors.length > 0 && - i.addAttribute('color', new THREE.Float32BufferAttribute(a.colors, 3)), - t && - (i.addAttribute( - 'skinIndex', - new THREE.Uint16BufferAttribute(a.weightsIndices, 4), - ), - i.addAttribute( - 'skinWeight', - new THREE.Float32BufferAttribute(a.vertexWeights, 4), - ), - (i.FBX_Deformer = t)), - a.normal.length > 0) - ) { - var u = new THREE.Float32BufferAttribute(a.normal, 3) - new THREE.Matrix3().getNormalMatrix(r).applyToBufferAttribute(u), - i.addAttribute('normal', u) - } - if ( - (a.uvs.forEach(function (e, t) { - var n = 'uv' + (t + 1).toString() - 0 === t && (n = 'uv'), - i.addAttribute(n, new THREE.Float32BufferAttribute(a.uvs[t], 2)) - }), - o.material && 'AllSame' !== o.material.mappingType) - ) { - var l = a.materialIndex[0], - c = 0 - if ( - (a.materialIndex.forEach(function (e, t) { - e !== l && (i.addGroup(c, t - c, l), (l = e), (c = t)) - }), - i.groups.length > 0) - ) { - var d = i.groups[i.groups.length - 1], - f = d.start + d.count - f !== a.materialIndex.length && i.addGroup(f, a.materialIndex.length - f, l) - } - 0 === i.groups.length && i.addGroup(0, a.materialIndex.length, a.materialIndex[0]) - } - return this.addMorphTargets(i, e, n, r), i - }, - parseGeoNode: function (e, t) { - var n = {} - if ( - ((n.vertexPositions = void 0 !== e.Vertices ? e.Vertices.a : []), - (n.vertexIndices = void 0 !== e.PolygonVertexIndex ? e.PolygonVertexIndex.a : []), - e.LayerElementColor && (n.color = this.parseVertexColors(e.LayerElementColor[0])), - e.LayerElementMaterial && - (n.material = this.parseMaterialIndices(e.LayerElementMaterial[0])), - e.LayerElementNormal && (n.normal = this.parseNormals(e.LayerElementNormal[0])), - e.LayerElementUV) - ) { - n.uv = [] - for (var r = 0; e.LayerElementUV[r]; ) - n.uv.push(this.parseUVs(e.LayerElementUV[r])), r++ - } - return ( - (n.weightTable = {}), - null !== t && - ((n.skeleton = t), - t.rawBones.forEach(function (e, t) { - e.indices.forEach(function (r, i) { - void 0 === n.weightTable[r] && (n.weightTable[r] = []), - n.weightTable[r].push({ id: t, weight: e.weights[i] }) - }) - })), - n - ) - }, - genBuffers: function (e) { - var t = { - vertex: [], - normal: [], - colors: [], - uvs: [], - materialIndex: [], - vertexWeights: [], - weightsIndices: [], - }, - n = 0, - r = 0, - i = !1, - o = [], - a = [], - s = [], - u = [], - l = [], - c = [], - d = this - return ( - e.vertexIndices.forEach(function (f, h) { - var v = !1 - f < 0 && ((f ^= -1), (v = !0)) - var m = [], - g = [] - if ((o.push(3 * f, 3 * f + 1, 3 * f + 2), e.color)) { - var y = p(h, n, f, e.color) - s.push(y[0], y[1], y[2]) - } - if (e.skeleton) { - if ( - (void 0 !== e.weightTable[f] && - e.weightTable[f].forEach(function (e) { - g.push(e.weight), m.push(e.id) - }), - g.length > 4) - ) { - i || - (console.warn( - 'THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights.', - ), - (i = !0)) - var b = [0, 0, 0, 0], - w = [0, 0, 0, 0] - g.forEach(function (e, t) { - var n = e, - r = m[t] - w.forEach(function (e, t, i) { - if (n > e) { - ;(i[t] = n), (n = e) - var o = b[t] - ;(b[t] = r), (r = o) - } - }) - }), - (m = b), - (g = w) - } - for (; g.length < 4; ) g.push(0), m.push(0) - for (var x = 0; x < 4; ++x) l.push(g[x]), c.push(m[x]) - } - if (e.normal) { - y = p(h, n, f, e.normal) - a.push(y[0], y[1], y[2]) - } - if (e.material && 'AllSame' !== e.material.mappingType) - var E = p(h, n, f, e.material)[0] - e.uv && - e.uv.forEach(function (e, t) { - var r = p(h, n, f, e) - void 0 === u[t] && (u[t] = []), u[t].push(r[0]), u[t].push(r[1]) - }), - r++, - v && - (d.genFace(t, e, o, E, a, s, u, l, c, r), - n++, - (r = 0), - (o = []), - (a = []), - (s = []), - (u = []), - (l = []), - (c = [])) - }), - t - ) - }, - genFace: function (e, t, n, r, i, o, a, s, u, l) { - for (var c = 2; c < l; c++) - e.vertex.push(t.vertexPositions[n[0]]), - e.vertex.push(t.vertexPositions[n[1]]), - e.vertex.push(t.vertexPositions[n[2]]), - e.vertex.push(t.vertexPositions[n[3 * (c - 1)]]), - e.vertex.push(t.vertexPositions[n[3 * (c - 1) + 1]]), - e.vertex.push(t.vertexPositions[n[3 * (c - 1) + 2]]), - e.vertex.push(t.vertexPositions[n[3 * c]]), - e.vertex.push(t.vertexPositions[n[3 * c + 1]]), - e.vertex.push(t.vertexPositions[n[3 * c + 2]]), - t.skeleton && - (e.vertexWeights.push(s[0]), - e.vertexWeights.push(s[1]), - e.vertexWeights.push(s[2]), - e.vertexWeights.push(s[3]), - e.vertexWeights.push(s[4 * (c - 1)]), - e.vertexWeights.push(s[4 * (c - 1) + 1]), - e.vertexWeights.push(s[4 * (c - 1) + 2]), - e.vertexWeights.push(s[4 * (c - 1) + 3]), - e.vertexWeights.push(s[4 * c]), - e.vertexWeights.push(s[4 * c + 1]), - e.vertexWeights.push(s[4 * c + 2]), - e.vertexWeights.push(s[4 * c + 3]), - e.weightsIndices.push(u[0]), - e.weightsIndices.push(u[1]), - e.weightsIndices.push(u[2]), - e.weightsIndices.push(u[3]), - e.weightsIndices.push(u[4 * (c - 1)]), - e.weightsIndices.push(u[4 * (c - 1) + 1]), - e.weightsIndices.push(u[4 * (c - 1) + 2]), - e.weightsIndices.push(u[4 * (c - 1) + 3]), - e.weightsIndices.push(u[4 * c]), - e.weightsIndices.push(u[4 * c + 1]), - e.weightsIndices.push(u[4 * c + 2]), - e.weightsIndices.push(u[4 * c + 3])), - t.color && - (e.colors.push(o[0]), - e.colors.push(o[1]), - e.colors.push(o[2]), - e.colors.push(o[3 * (c - 1)]), - e.colors.push(o[3 * (c - 1) + 1]), - e.colors.push(o[3 * (c - 1) + 2]), - e.colors.push(o[3 * c]), - e.colors.push(o[3 * c + 1]), - e.colors.push(o[3 * c + 2])), - t.material && - 'AllSame' !== t.material.mappingType && - (e.materialIndex.push(r), e.materialIndex.push(r), e.materialIndex.push(r)), - t.normal && - (e.normal.push(i[0]), - e.normal.push(i[1]), - e.normal.push(i[2]), - e.normal.push(i[3 * (c - 1)]), - e.normal.push(i[3 * (c - 1) + 1]), - e.normal.push(i[3 * (c - 1) + 2]), - e.normal.push(i[3 * c]), - e.normal.push(i[3 * c + 1]), - e.normal.push(i[3 * c + 2])), - t.uv && - t.uv.forEach(function (t, n) { - void 0 === e.uvs[n] && (e.uvs[n] = []), - e.uvs[n].push(a[n][0]), - e.uvs[n].push(a[n][1]), - e.uvs[n].push(a[n][2 * (c - 1)]), - e.uvs[n].push(a[n][2 * (c - 1) + 1]), - e.uvs[n].push(a[n][2 * c]), - e.uvs[n].push(a[n][2 * c + 1]) - }) - }, - addMorphTargets: function (t, n, r, i) { - if (null !== r) { - ;(t.morphAttributes.position = []), (t.morphAttributes.normal = []) - var o = this - r.rawTargets.forEach(function (r) { - var a = e.Objects.Geometry[r.geoID] - void 0 !== a && o.genMorphGeometry(t, n, a, i) - }) - } - }, - genMorphGeometry: function (e, t, n, r) { - var i = new THREE.BufferGeometry() - n.attrName && (i.name = n.attrName) - for ( - var o = void 0 !== t.PolygonVertexIndex ? t.PolygonVertexIndex.a : [], - a = void 0 !== t.Vertices ? t.Vertices.a.slice() : [], - s = void 0 !== n.Vertices ? n.Vertices.a : [], - u = void 0 !== n.Indexes ? n.Indexes.a : [], - l = 0; - l < u.length; - l++ - ) { - var c = 3 * u[l] - ;(a[c] += s[3 * l]), (a[c + 1] += s[3 * l + 1]), (a[c + 2] += s[3 * l + 2]) - } - var d = { vertexIndices: o, vertexPositions: a }, - f = this.genBuffers(d), - h = new THREE.Float32BufferAttribute(f.vertex, 3) - ;(h.name = n.attrName), - r.applyToBufferAttribute(h), - e.morphAttributes.position.push(h) - }, - parseNormals: function (e) { - var t = e.MappingInformationType, - n = e.ReferenceInformationType, - r = e.Normals.a, - i = [] - return ( - 'IndexToDirect' === n && - ('NormalIndex' in e - ? (i = e.NormalIndex.a) - : 'NormalsIndex' in e && (i = e.NormalsIndex.a)), - { dataSize: 3, buffer: r, indices: i, mappingType: t, referenceType: n } - ) - }, - parseUVs: function (e) { - var t = e.MappingInformationType, - n = e.ReferenceInformationType, - r = e.UV.a, - i = [] - return ( - 'IndexToDirect' === n && (i = e.UVIndex.a), - { dataSize: 2, buffer: r, indices: i, mappingType: t, referenceType: n } - ) - }, - parseVertexColors: function (e) { - var t = e.MappingInformationType, - n = e.ReferenceInformationType, - r = e.Colors.a, - i = [] - return ( - 'IndexToDirect' === n && (i = e.ColorIndex.a), - { dataSize: 4, buffer: r, indices: i, mappingType: t, referenceType: n } - ) - }, - parseMaterialIndices: function (e) { - var t = e.MappingInformationType, - n = e.ReferenceInformationType - if ('NoMappingInformation' === t) - return { - dataSize: 1, - buffer: [0], - indices: [0], - mappingType: 'AllSame', - referenceType: n, - } - for (var r = e.Materials.a, i = [], o = 0; o < r.length; ++o) i.push(o) - return { dataSize: 1, buffer: r, indices: i, mappingType: t, referenceType: n } - }, - parseNurbsGeometry: function (e) { - if (void 0 === THREE.NURBSCurve) - return ( - console.error( - 'THREE.FBXLoader: The loader relies on THREE.NURBSCurve for any nurbs present in the model. Nurbs will show up as empty geometry.', - ), - new THREE.BufferGeometry() - ) - var t = parseInt(e.Order) - if (isNaN(t)) - return ( - console.error( - 'THREE.FBXLoader: Invalid Order %s given for geometry ID: %s', - e.Order, - e.id, - ), - new THREE.BufferGeometry() - ) - for ( - var n, - r, - i = t - 1, - o = e.KnotVector.a, - a = [], - s = e.Points.a, - u = 0, - l = s.length; - u < l; - u += 4 - ) - a.push(new THREE.Vector4().fromArray(s, u)) - if ('Closed' === e.Form) a.push(a[0]) - else if ('Periodic' === e.Form) { - ;(n = i), (r = o.length - 1 - n) - for (u = 0; u < i; ++u) a.push(a[u]) - } - var c = new THREE.NURBSCurve(i, o, a, n, r).getPoints(7 * a.length), - d = new Float32Array(3 * c.length) - c.forEach(function (e, t) { - e.toArray(d, 3 * t) - }) - var f = new THREE.BufferGeometry() - return f.addAttribute('position', new THREE.BufferAttribute(d, 3)), f - }, - }), - (a.prototype = { - constructor: a, - parse: function () { - var e = [], - t = this.parseClips() - if (void 0 === t) return e - for (var n in t) { - var r = t[n], - i = this.addClip(r) - e.push(i) - } - return e - }, - parseClips: function () { - if (void 0 !== e.Objects.AnimationCurve) { - var t = this.parseAnimationCurveNodes() - this.parseAnimationCurves(t) - var n = this.parseAnimationLayers(t) - return this.parseAnimStacks(n) - } - }, - parseAnimationCurveNodes: function () { - var t = e.Objects.AnimationCurveNode, - n = new Map() - for (var r in t) { - var i = t[r] - if (null !== i.attrName.match(/S|R|T|DeformPercent/)) { - var o = { id: i.id, attr: i.attrName, curves: {} } - n.set(o.id, o) - } - } - return n - }, - parseAnimationCurves: function (n) { - var r = e.Objects.AnimationCurve - for (var i in r) { - var o = { id: r[i].id, times: r[i].KeyTime.a.map(f), values: r[i].KeyValueFloat.a }, - a = t.get(o.id) - if (void 0 !== a) { - var s = a.parents[0].ID, - u = a.parents[0].relationship - u.match(/X/) - ? (n.get(s).curves.x = o) - : u.match(/Y/) - ? (n.get(s).curves.y = o) - : u.match(/Z/) - ? (n.get(s).curves.z = o) - : u.match(/d|DeformPercent/) && n.has(s) && (n.get(s).curves.morph = o) - } - } - }, - parseAnimationLayers: function (n) { - var r = e.Objects.AnimationLayer, - i = new Map() - for (var o in r) { - var a = [], - s = t.get(parseInt(o)) - if (void 0 !== s) { - var u = s.children, - l = this - u.forEach(function (r, i) { - if (n.has(r.ID)) { - var o = n.get(r.ID) - if (void 0 !== o.curves.x || void 0 !== o.curves.y || void 0 !== o.curves.z) { - if (void 0 === a[i]) { - t.get(r.ID).parents.forEach(function (e) { - void 0 !== e.relationship && (h = e.ID) - }) - var s = e.Objects.Model[h.toString()], - u = { - modelName: THREE.PropertyBinding.sanitizeNodeName(s.attrName), - initialPosition: [0, 0, 0], - initialRotation: [0, 0, 0], - initialScale: [1, 1, 1], - transform: l.getModelAnimTransform(s), - } - 'PreRotation' in s && (u.preRotations = s.PreRotation.value), - 'PostRotation' in s && (u.postRotations = s.PostRotation.value), - (a[i] = u) - } - a[i][o.attr] = o - } else if (void 0 !== o.curves.morph) { - if (void 0 === a[i]) { - var c - t.get(r.ID).parents.forEach(function (e) { - void 0 !== e.relationship && (c = e.ID) - }) - var d = t.get(c).parents[0].ID, - f = t.get(d).parents[0].ID, - h = t.get(f).parents[0].ID - ;(s = e.Objects.Model[h]), - (u = { - modelName: THREE.PropertyBinding.sanitizeNodeName(s.attrName), - morphName: e.Objects.Deformer[c].attrName, - }) - a[i] = u - } - a[i][o.attr] = o - } - } - }), - i.set(parseInt(o), a) - } - } - return i - }, - getModelAnimTransform: function (e) { - var t = {} - return ( - 'RotationOrder' in e && (t.eulerOrder = parseInt(e.RotationOrder.value)), - 'Lcl_Translation' in e && (t.translation = e.Lcl_Translation.value), - 'RotationOffset' in e && (t.rotationOffset = e.RotationOffset.value), - 'Lcl_Rotation' in e && (t.rotation = e.Lcl_Rotation.value), - 'PreRotation' in e && (t.preRotation = e.PreRotation.value), - 'PostRotation' in e && (t.postRotation = e.PostRotation.value), - 'Lcl_Scaling' in e && (t.scale = e.Lcl_Scaling.value), - w(t) - ) - }, - parseAnimStacks: function (n) { - var r = e.Objects.AnimationStack, - i = {} - for (var o in r) { - var a = t.get(parseInt(o)).children - a.length > 1 && - console.warn( - 'THREE.FBXLoader: Encountered an animation stack with multiple layers, this is currently not supported. Ignoring subsequent layers.', - ) - var s = n.get(a[0].ID) - i[o] = { name: r[o].attrName, layer: s } - } - return i - }, - addClip: function (e) { - var t = [], - n = this - return ( - e.layer.forEach(function (e) { - t = t.concat(n.generateTracks(e)) - }), - new THREE.AnimationClip(e.name, -1, t) - ) - }, - generateTracks: function (e) { - var t = [], - n = new THREE.Vector3(), - r = new THREE.Quaternion(), - i = new THREE.Vector3() - if ( - (e.transform && e.transform.decompose(n, r, i), - (n = n.toArray()), - (r = new THREE.Euler().setFromQuaternion(r).toArray()), - (i = i.toArray()), - void 0 !== e.T && Object.keys(e.T.curves).length > 0) - ) { - var o = this.generateVectorTrack(e.modelName, e.T.curves, n, 'position') - void 0 !== o && t.push(o) - } - if (void 0 !== e.R && Object.keys(e.R.curves).length > 0) { - var a = this.generateRotationTrack( - e.modelName, - e.R.curves, - r, - e.preRotations, - e.postRotations, - ) - void 0 !== a && t.push(a) - } - if (void 0 !== e.S && Object.keys(e.S.curves).length > 0) { - var s = this.generateVectorTrack(e.modelName, e.S.curves, i, 'scale') - void 0 !== s && t.push(s) - } - if (void 0 !== e.DeformPercent) { - var u = this.generateMorphTrack(e) - void 0 !== u && t.push(u) - } - return t - }, - generateVectorTrack: function (e, t, n, r) { - var i = this.getTimesForAllAxes(t), - o = this.getKeyframeTrackValues(i, t, n) - return new THREE.VectorKeyframeTrack(e + '.' + r, i, o) - }, - generateRotationTrack: function (e, t, n, r, i) { - void 0 !== t.x && - (this.interpolateRotations(t.x), - (t.x.values = t.x.values.map(THREE.Math.degToRad))), - void 0 !== t.y && - (this.interpolateRotations(t.y), - (t.y.values = t.y.values.map(THREE.Math.degToRad))), - void 0 !== t.z && - (this.interpolateRotations(t.z), - (t.z.values = t.z.values.map(THREE.Math.degToRad))) - var o = this.getTimesForAllAxes(t), - a = this.getKeyframeTrackValues(o, t, n) - void 0 !== r && - ((r = r.map(THREE.Math.degToRad)).push('ZYX'), - (r = new THREE.Euler().fromArray(r)), - (r = new THREE.Quaternion().setFromEuler(r))), - void 0 !== i && - ((i = i.map(THREE.Math.degToRad)).push('ZYX'), - (i = new THREE.Euler().fromArray(i)), - (i = new THREE.Quaternion().setFromEuler(i).inverse())) - for ( - var s = new THREE.Quaternion(), u = new THREE.Euler(), l = [], c = 0; - c < a.length; - c += 3 - ) - u.set(a[c], a[c + 1], a[c + 2], 'ZYX'), - s.setFromEuler(u), - void 0 !== r && s.premultiply(r), - void 0 !== i && s.multiply(i), - s.toArray(l, (c / 3) * 4) - return new THREE.QuaternionKeyframeTrack(e + '.quaternion', o, l) - }, - generateMorphTrack: function (e) { - var t = e.DeformPercent.curves.morph, - r = t.values.map(function (e) { - return e / 100 - }), - i = n.getObjectByName(e.modelName).morphTargetDictionary[e.morphName] - return new THREE.NumberKeyframeTrack( - e.modelName + '.morphTargetInfluences[' + i + ']', - t.times, - r, - ) - }, - getTimesForAllAxes: function (e) { - var t = [] - return ( - void 0 !== e.x && (t = t.concat(e.x.times)), - void 0 !== e.y && (t = t.concat(e.y.times)), - void 0 !== e.z && (t = t.concat(e.z.times)), - (t = t - .sort(function (e, t) { - return e - t - }) - .filter(function (e, t, n) { - return n.indexOf(e) == t - })) - ) - }, - getKeyframeTrackValues: function (e, t, n) { - var r = n, - i = [], - o = -1, - a = -1, - s = -1 - return ( - e.forEach(function (e) { - if ( - (t.x && (o = t.x.times.indexOf(e)), - t.y && (a = t.y.times.indexOf(e)), - t.z && (s = t.z.times.indexOf(e)), - -1 !== o) - ) { - var n = t.x.values[o] - i.push(n), (r[0] = n) - } else i.push(r[0]) - if (-1 !== a) { - var u = t.y.values[a] - i.push(u), (r[1] = u) - } else i.push(r[1]) - if (-1 !== s) { - var l = t.z.values[s] - i.push(l), (r[2] = l) - } else i.push(r[2]) - }), - i - ) - }, - interpolateRotations: function (e) { - for (var t = 1; t < e.values.length; t++) { - var n = e.values[t - 1], - r = e.values[t] - n, - i = Math.abs(r) - if (i >= 180) { - for ( - var o = i / 180, - a = r / o, - s = n + a, - u = e.times[t - 1], - l = (e.times[t] - u) / o, - c = u + l, - d = [], - f = []; - c < e.times[t]; - - ) - d.push(c), (c += l), f.push(s), (s += a) - ;(e.times = T(e.times, t, d)), (e.values = T(e.values, t, f)) - } - } - }, - }), - (s.prototype = { - constructor: s, - getPrevNode: function () { - return this.nodeStack[this.currentIndent - 2] - }, - getCurrentNode: function () { - return this.nodeStack[this.currentIndent - 1] - }, - getCurrentProp: function () { - return this.currentProp - }, - pushStack: function (e) { - this.nodeStack.push(e), (this.currentIndent += 1) - }, - popStack: function () { - this.nodeStack.pop(), (this.currentIndent -= 1) - }, - setCurrentProp: function (e, t) { - ;(this.currentProp = e), (this.currentPropName = t) - }, - parse: function (e) { - ;(this.currentIndent = 0), - console.log('FBXTree: ', c), - (this.allNodes = new c()), - (this.nodeStack = []), - (this.currentProp = []), - (this.currentPropName = '') - var t = this, - n = e.split(/[\r\n]+/) - return ( - n.forEach(function (e, r) { - var i = e.match(/^[\s\t]*;/), - o = e.match(/^[\s\t]*$/) - if (!i && !o) { - var a = e.match('^\\t{' + t.currentIndent + '}(\\w+):(.*){', ''), - s = e.match('^\\t{' + t.currentIndent + '}(\\w+):[\\s\\t\\r\\n](.*)'), - u = e.match('^\\t{' + (t.currentIndent - 1) + '}}') - a - ? t.parseNodeBegin(e, a) - : s - ? t.parseNodeProperty(e, s, n[++r]) - : u - ? t.popStack() - : e.match(/^[^\s\t}]/) && t.parseNodePropertyContinued(e) - } - }), - this.allNodes - ) - }, - parseNodeBegin: function (e, t) { - var n = t[1].trim().replace(/^"/, '').replace(/"$/, ''), - r = t[2].split(',').map(function (e) { - return e.trim().replace(/^"/, '').replace(/"$/, '') - }), - i = { name: n }, - o = this.parseNodeAttr(r), - a = this.getCurrentNode() - 0 === this.currentIndent - ? this.allNodes.add(n, i) - : n in a - ? ('PoseNode' === n - ? a.PoseNode.push(i) - : void 0 !== a[n].id && ((a[n] = {}), (a[n][a[n].id] = a[n])), - '' !== o.id && (a[n][o.id] = i)) - : 'number' === typeof o.id - ? ((a[n] = {}), (a[n][o.id] = i)) - : 'Properties70' !== n && (a[n] = 'PoseNode' === n ? [i] : i), - 'number' === typeof o.id && (i.id = o.id), - '' !== o.name && (i.attrName = o.name), - '' !== o.type && (i.attrType = o.type), - this.pushStack(i) - }, - parseNodeAttr: function (e) { - var t = e[0] - '' !== e[0] && ((t = parseInt(e[0])), isNaN(t) && (t = e[0])) - var n = '', - r = '' - return ( - e.length > 1 && ((n = e[1].replace(/^(\w+)::/, '')), (r = e[2])), - { id: t, name: n, type: r } - ) - }, - parseNodeProperty: function (e, t, n) { - var r = t[1].replace(/^"/, '').replace(/"$/, '').trim(), - i = t[2].replace(/^"/, '').replace(/"$/, '').trim() - 'Content' === r && ',' === i && (i = n.replace(/"/g, '').replace(/,$/, '').trim()) - var o = this.getCurrentNode() - if ('Properties70' !== o.name) { - if ('C' === r) { - var a = i.split(',').slice(1), - s = parseInt(a[0]), - u = parseInt(a[1]), - l = i.split(',').slice(3) - ;(r = 'connections'), - (function (e, t) { - for (var n = 0, r = e.length, i = t.length; n < i; n++, r++) e[r] = t[n] - })( - (i = [s, u]), - (l = l.map(function (e) { - return e.trim().replace(/^"/, '') - })), - ), - void 0 === o[r] && (o[r] = []) - } - 'Node' === r && (o.id = i), - r in o && Array.isArray(o[r]) ? o[r].push(i) : 'a' !== r ? (o[r] = i) : (o.a = i), - this.setCurrentProp(o, r), - 'a' === r && ',' !== i.slice(-1) && (o.a = E(i)) - } else this.parseNodeSpecialProperty(e, r, i) - }, - parseNodePropertyContinued: function (e) { - var t = this.getCurrentNode() - ;(t.a += e), ',' !== e.slice(-1) && (t.a = E(t.a)) - }, - parseNodeSpecialProperty: function (e, t, n) { - var r = n.split('",').map(function (e) { - return e.trim().replace(/^\"/, '').replace(/\s/, '_') - }), - i = r[0], - o = r[1], - a = r[2], - s = r[3], - u = r[4] - switch (o) { - case 'int': - case 'enum': - case 'bool': - case 'ULongLong': - case 'double': - case 'Number': - case 'FieldOfView': - u = parseFloat(u) - break - case 'Color': - case 'ColorRGB': - case 'Vector3D': - case 'Lcl_Translation': - case 'Lcl_Rotation': - case 'Lcl_Scaling': - u = E(u) - } - ;(this.getPrevNode()[i] = { type: o, type2: a, flag: s, value: u }), - this.setCurrentProp(this.getPrevNode(), i) - }, - }), - (u.prototype = { - constructor: u, - parse: function (e) { - var t = new l(e) - t.skip(23) - var n = t.getUint32() - console.log('THREE.FBXLoader: FBX binary version: ' + n) - for (var r = new c(); !this.endOfContent(t); ) { - var i = this.parseNode(t, n) - null !== i && r.add(i.name, i) - } - return r - }, - endOfContent: function (e) { - return e.size() % 16 === 0 - ? ((e.getOffset() + 160 + 16) & -16) >= e.size() - : e.getOffset() + 160 + 16 >= e.size() - }, - parseNode: function (e, t) { - var n = {}, - r = t >= 7500 ? e.getUint64() : e.getUint32(), - i = t >= 7500 ? e.getUint64() : e.getUint32(), - o = (t >= 7500 ? e.getUint64() : e.getUint32(), e.getUint8()), - a = e.getString(o) - if (0 === r) return null - for (var s = [], u = 0; u < i; u++) s.push(this.parseProperty(e)) - var l = s.length > 0 ? s[0] : '', - c = s.length > 1 ? s[1] : '', - d = s.length > 2 ? s[2] : '' - for (n.singleProperty = 1 === i && e.getOffset() === r; r > e.getOffset(); ) { - var f = this.parseNode(e, t) - null !== f && this.parseSubNode(a, n, f) - } - return ( - (n.propertyList = s), - 'number' === typeof l && (n.id = l), - '' !== c && (n.attrName = c), - '' !== d && (n.attrType = d), - '' !== a && (n.name = a), - n - ) - }, - parseSubNode: function (e, t, n) { - if (!0 === n.singleProperty) { - var r = n.propertyList[0] - Array.isArray(r) ? ((t[n.name] = n), (n.a = r)) : (t[n.name] = r) - } else if ('Connections' === e && 'C' === n.name) { - var i = [] - n.propertyList.forEach(function (e, t) { - 0 !== t && i.push(e) - }), - void 0 === t.connections && (t.connections = []), - t.connections.push(i) - } else if ('Properties70' === n.name) { - Object.keys(n).forEach(function (e) { - t[e] = n[e] - }) - } else if ('Properties70' === e && 'P' === n.name) { - var o, - a = n.propertyList[0], - s = n.propertyList[1], - u = n.propertyList[2], - l = n.propertyList[3] - 0 === a.indexOf('Lcl ') && (a = a.replace('Lcl ', 'Lcl_')), - 0 === s.indexOf('Lcl ') && (s = s.replace('Lcl ', 'Lcl_')), - (o = - 'Color' === s || - 'ColorRGB' === s || - 'Vector' === s || - 'Vector3D' === s || - 0 === s.indexOf('Lcl_') - ? [n.propertyList[4], n.propertyList[5], n.propertyList[6]] - : n.propertyList[4]), - (t[a] = { type: s, type2: u, flag: l, value: o }) - } else - void 0 === t[n.name] - ? 'number' === typeof n.id - ? ((t[n.name] = {}), (t[n.name][n.id] = n)) - : (t[n.name] = n) - : 'PoseNode' === n.name - ? (Array.isArray(t[n.name]) || (t[n.name] = [t[n.name]]), t[n.name].push(n)) - : void 0 === t[n.name][n.id] && (t[n.name][n.id] = n) - }, - parseProperty: function (e) { - var t = e.getString(1) - switch (t) { - case 'C': - return e.getBoolean() - case 'D': - return e.getFloat64() - case 'F': - return e.getFloat32() - case 'I': - return e.getInt32() - case 'L': - return e.getInt64() - case 'R': - var n = e.getUint32() - return e.getArrayBuffer(n) - case 'S': - n = e.getUint32() - return e.getString(n) - case 'Y': - return e.getInt16() - case 'b': - case 'c': - case 'd': - case 'f': - case 'i': - case 'l': - var r = e.getUint32(), - i = e.getUint32(), - o = e.getUint32() - if (0 === i) - switch (t) { - case 'b': - case 'c': - return e.getBooleanArray(r) - case 'd': - return e.getFloat64Array(r) - case 'f': - return e.getFloat32Array(r) - case 'i': - return e.getInt32Array(r) - case 'l': - return e.getInt64Array(r) - } - 'undefined' === typeof Zlib && - console.error( - 'THREE.FBXLoader: External library Inflate.min.js required, obtain or import from https://github.com/imaya/zlib.js', - ) - var a = new l( - new Zlib.Inflate(new Uint8Array(e.getArrayBuffer(o))).decompress().buffer, - ) - switch (t) { - case 'b': - case 'c': - return a.getBooleanArray(r) - case 'd': - return a.getFloat64Array(r) - case 'f': - return a.getFloat32Array(r) - case 'i': - return a.getInt32Array(r) - case 'l': - return a.getInt64Array(r) - } - default: - throw new Error('THREE.FBXLoader: Unknown property type ' + t) - } - }, - }), - (l.prototype = { - constructor: l, - getOffset: function () { - return this.offset - }, - size: function () { - return this.dv.buffer.byteLength - }, - skip: function (e) { - this.offset += e - }, - getBoolean: function () { - return 1 === (1 & this.getUint8()) - }, - getBooleanArray: function (e) { - for (var t = [], n = 0; n < e; n++) t.push(this.getBoolean()) - return t - }, - getUint8: function () { - var e = this.dv.getUint8(this.offset) - return (this.offset += 1), e - }, - getInt16: function () { - var e = this.dv.getInt16(this.offset, this.littleEndian) - return (this.offset += 2), e - }, - getInt32: function () { - var e = this.dv.getInt32(this.offset, this.littleEndian) - return (this.offset += 4), e - }, - getInt32Array: function (e) { - for (var t = [], n = 0; n < e; n++) t.push(this.getInt32()) - return t - }, - getUint32: function () { - var e = this.dv.getUint32(this.offset, this.littleEndian) - return (this.offset += 4), e - }, - getInt64: function () { - var e, t - return ( - this.littleEndian - ? ((e = this.getUint32()), (t = this.getUint32())) - : ((t = this.getUint32()), (e = this.getUint32())), - 2147483648 & t - ? ((t = 4294967295 & ~t), - 4294967295 === (e = 4294967295 & ~e) && (t = (t + 1) & 4294967295), - -(4294967296 * t + (e = (e + 1) & 4294967295))) - : 4294967296 * t + e - ) - }, - getInt64Array: function (e) { - for (var t = [], n = 0; n < e; n++) t.push(this.getInt64()) - return t - }, - getUint64: function () { - var e, t - return ( - this.littleEndian - ? ((e = this.getUint32()), (t = this.getUint32())) - : ((t = this.getUint32()), (e = this.getUint32())), - 4294967296 * t + e - ) - }, - getFloat32: function () { - var e = this.dv.getFloat32(this.offset, this.littleEndian) - return (this.offset += 4), e - }, - getFloat32Array: function (e) { - for (var t = [], n = 0; n < e; n++) t.push(this.getFloat32()) - return t - }, - getFloat64: function () { - var e = this.dv.getFloat64(this.offset, this.littleEndian) - return (this.offset += 8), e - }, - getFloat64Array: function (e) { - for (var t = [], n = 0; n < e; n++) t.push(this.getFloat64()) - return t - }, - getArrayBuffer: function (e) { - var t = this.dv.buffer.slice(this.offset, this.offset + e) - return (this.offset += e), t - }, - getString: function (e) { - for (var t = [], n = 0; n < e; n++) t[n] = this.getUint8() - var r = t.indexOf(0) - return r >= 0 && (t = t.slice(0, r)), THREE.LoaderUtils.decodeText(new Uint8Array(t)) - }, - }), - (c.prototype = { - constructor: c, - add: function (e, t) { - this[e] = t - }, - }) - var h = [] - function p(e, t, n, r) { - var i - switch (r.mappingType) { - case 'ByPolygonVertex': - i = e - break - case 'ByPolygon': - i = t - break - case 'ByVertice': - i = n - break - case 'AllSame': - i = r.indices[0] - break - default: - console.warn('THREE.FBXLoader: unknown attribute mapping type ' + r.mappingType) - } - 'IndexToDirect' === r.referenceType && (i = r.indices[i]) - var o = i * r.dataSize, - a = o + r.dataSize - return (function (e, t, n, r) { - for (var i = n, o = 0; i < r; i++, o++) e[o] = t[i] - return e - })(h, r.buffer, o, a) - } - var v = new THREE.Matrix4(), - m = new THREE.Euler(), - g = new THREE.Vector3(), - y = new THREE.Vector3(), - b = new THREE.Matrix4() - function w(e) { - var t = new THREE.Matrix4() - y.set(0, 0, 0), b.identity() - var n, - r = e.eulerOrder ? x(e.eulerOrder) : x(0) - ;(e.translation && y.fromArray(e.translation), - e.rotationOffset && y.add(g.fromArray(e.rotationOffset)), - e.rotation) && - ((n = e.rotation.map(THREE.Math.degToRad)).push(r), - b.makeRotationFromEuler(m.fromArray(n))) - e.preRotation && - ((n = e.preRotation.map(THREE.Math.degToRad)).push(r), - v.makeRotationFromEuler(m.fromArray(n)), - b.premultiply(v)) - e.postRotation && - ((n = e.postRotation.map(THREE.Math.degToRad)).push(r), - v.makeRotationFromEuler(m.fromArray(n)), - v.getInverse(v), - b.multiply(v)) - return e.scale && t.scale(g.fromArray(e.scale)), t.setPosition(y), t.multiply(b), t - } - function x(e) { - var t = ['ZYX', 'YZX', 'XZY', 'ZXY', 'YXZ', 'XYZ'] - return 6 === e - ? (console.warn( - 'THREE.FBXLoader: unsupported Euler Order: Spherical XYZ. Animations and rotations may be incorrect.', - ), - t[0]) - : t[e] - } - function E(e) { - return e.split(',').map(function (e) { - return parseFloat(e) - }) - } - function k(e, t, n) { - return ( - void 0 === t && (t = 0), - void 0 === n && (n = e.byteLength), - THREE.LoaderUtils.decodeText(new Uint8Array(e, t, n)) - ) - } - function T(e, t, n) { - return e.slice(0, t).concat(n).concat(e.slice(t)) - } - return r - })() - }, - 6453: function (e) { - e.exports = Object.assign(function () {}, { - FACE_1: 0, - FACE_2: 1, - FACE_3: 2, - FACE_4: 3, - L_SHOULDER_1: 4, - R_SHOULDER_1: 5, - L_SHOULDER_2: 6, - R_SHOULDER_2: 7, - SELECT: 8, - START: 9, - DPAD_UP: 12, - DPAD_DOWN: 13, - DPAD_LEFT: 14, - DPAD_RIGHT: 15, - VENDOR: 16, - }) - }, - 4379: function (e) { - e.exports = function (e, t, n) { - ;(this.type = e), (this.index = t), (this.pressed = n.pressed), (this.value = n.value) - } - }, - 2667: function (e) { - e.exports = { - size: 5, - cellSize: 10, - extrudeSettings: { - amount: 1, - bevelEnabled: !0, - bevelSegments: 1, - steps: 1, - bevelSize: 0.5, - bevelThickness: 0.5, - }, - autogenerated: !0, - cells: [ - { q: -1, r: 0, s: 1, h: 1, walkable: !0, userData: {} }, - { q: 0, r: -1, s: 1, h: 1, walkable: !0, userData: {} }, - { q: 0, r: 0, s: 0, h: 1, walkable: !0, userData: {} }, - { q: 1, r: -1, s: 0, h: 1, walkable: !0, userData: {} }, - { q: -1, r: 1, s: 0, h: 0, walkable: !0, userData: {} }, - { q: 0, r: 1, s: -1, h: 0, walkable: !0, userData: {} }, - { q: 1, r: 0, s: -1, h: 0, walkable: !0, userData: {} }, - ], - } - }, - 4657: function (e) { - function t(e) { - const t = document.getElementById(e), - n = t.parentNode - try { - n && n.removeChild(t) - } catch (r) {} - } - function n(e, n, r) { - return new r(function (r, i) { - const o = n.timeout || 5e3, - a = 'script_' + Date.now() + '_' + Math.ceil(1e5 * Math.random()), - s = (function (e, t) { - var n = document.createElement('script') - return (n.type = 'text/javascript'), (n.async = !0), (n.id = t), (n.src = e), n - })(e, a), - u = setTimeout(function () { - i(new Error('Script request to ' + e + ' timed out')), t(a) - }, o), - l = function (e) { - clearTimeout(e) - } - s.addEventListener('load', function (e) { - r({ ok: !0 }), l(u), t(a) - }), - s.addEventListener('error', function (n) { - i(new Error('Script request to ' + e + ' failed ' + n)), l(u), t(a) - }), - (function (e) { - const t = document.getElementsByTagName('script')[0] - t.parentNode.insertBefore(e, t) - })(s) - }) - } - e.exports = function (e) { - return ( - (e = e || {}), - function (t, r) { - return n(t, (r = r || {}), e.Promise || Promise) - } - ) - } - }, - 3471: function (e) { - var n = (e.exports = { - VERSION: '0.1.1', - PI: Math.PI, - TAU: 2 * Math.PI, - DEG_TO_RAD: 0.0174532925, - RAD_TO_DEG: 57.2957795, - SQRT3: Math.sqrt(3), - TILE: 'tile', - ENT: 'entity', - STR: 'structure', - HEX: 'hex', - SQR: 'square', - ABS: 'abstract', - }) - ;(n.Board = function (e, t) { - if (!e) throw new Error('You must pass in a grid system for the board to use.') - ;(this.tiles = []), - (this.tileGroup = null), - (this.group = new THREE.Object3D()), - (this.grid = null), - (this.overlay = null), - (this.finder = new n.AStarFinder(t)), - n.Loader.init(), - this.setGrid(e) - }), - (n.Board.prototype = { - setEntityOnTile: function (e, t) { - var n = this.grid.cellToPixel(t.cell) - e.position.copy(n), - (e.position.y += e.heightOffset || 0), - e.tile && (e.tile.entity = null), - (e.tile = t), - (t.entity = e) - }, - addTile: function (e) { - ;-1 === this.tiles.indexOf(e) && - (this.tiles.push(e), - this.snapTileToGrid(e), - (e.position.y = 0), - this.tileGroup.add(e.mesh), - this.grid.add(e.cell), - (e.cell.tile = e)) - }, - removeTile: function (e) { - if (e) { - var t = this.tiles.indexOf(e) - this.grid.remove(e.cell), -1 !== t && this.tiles.splice(t, 1), e.dispose() - } - }, - removeAllTiles: function () { - if (this.tileGroup) - for (var e = this.tileGroup.children, t = 0; t < e.length; t++) - this.tileGroup.remove(e[t]) - }, - getTileAtCell: function (e) { - var t = this.grid.cellToHash(e) - return ( - e.tile || ('undefined' != typeof this.grid.cells[t] ? this.grid.cells[t].tile : null) - ) - }, - snapToGrid: function (e) { - var t = this.grid.pixelToCell(e) - e.copy(this.grid.cellToPixel(t)) - }, - snapTileToGrid: function (e) { - if (e.cell) e.position.copy(this.grid.cellToPixel(e.cell)) - else { - var t = this.grid.pixelToCell(e.position) - e.position.copy(this.grid.cellToPixel(t)) - } - return e - }, - getRandomTile: function () { - var e = n.Tools.randomInt(0, this.tiles.length - 1) - return this.tiles[e] - }, - findPath: function (e, t, n) { - return this.finder.findPath(e.cell, t.cell, n, this.grid) - }, - setGrid: function (e) { - this.group.remove(this.tileGroup), - this.grid && - e !== this.grid && - (this.removeAllTiles(), - this.tiles.forEach(function (e) { - this.grid.remove(e.cell), e.dispose() - }), - this.grid.dispose()), - (this.grid = e), - (this.tiles = []), - (this.tileGroup = new THREE.Object3D()), - this.group.add(this.tileGroup) - }, - generateOverlay: function (e) { - var t = new THREE.LineBasicMaterial({ color: 0, opacity: 0.3 }) - this.overlay && this.group.remove(this.overlay), - (this.overlay = new THREE.Object3D()), - this.grid.generateOverlay(e, this.overlay, t), - this.group.add(this.overlay) - }, - generateTilemap: function (e) { - this.reset() - var t = this.grid.generateTiles(e) - ;(this.tiles = t), (this.tileGroup = new THREE.Object3D()) - for (var n = 0; n < t.length; n++) this.tileGroup.add(t[n].mesh) - this.group.add(this.tileGroup) - }, - reset: function () { - this.removeAllTiles(), this.tileGroup && this.group.remove(this.tileGroup) - }, - }), - (n.Board.prototype.constructor = n.Board), - (n.Cell = function (e, t, r, i) { - ;(this.q = e || 0), - (this.r = t || 0), - (this.s = r || 0), - (this.h = i || 1), - (this.tile = null), - (this.userData = {}), - (this.walkable = !0), - (this._calcCost = 0), - (this._priority = 0), - (this._visited = !1), - (this._parent = null), - (this.uniqueID = n.LinkedList.generateID()) - }), - (n.Cell.prototype = { - set: function (e, t, n) { - return (this.q = e), (this.r = t), (this.s = n), this - }, - copy: function (e) { - return ( - (this.q = e.q), - (this.r = e.r), - (this.s = e.s), - (this.h = e.h), - (this.tile = e.tile || null), - (this.userData = e.userData || {}), - (this.walkable = e.walkable), - this - ) - }, - add: function (e) { - return (this.q += e.q), (this.r += e.r), (this.s += e.s), this - }, - equals: function (e) { - return this.q === e.q && this.r === e.r && this.s === e.s - }, - }), - (n.Cell.prototype.constructor = n.Cell), - (n.HexGrid = function (e) { - ;(e = e || {}), - (this.type = n.HEX), - (this.size = 5), - (this.cellSize = 'undefined' == typeof e.cellSize ? 10 : e.cellSize), - (this.cells = {}), - (this.numCells = 0), - (this.extrudeSettings = null), - (this.autogenerated = !1) - var t, - r = [] - for (t = 0; 6 > t; t++) r.push(this._createVertex(t)) - for ( - this.cellShape = new THREE.Shape(), this.cellShape.moveTo(r[0].x, r[0].y), t = 1; - 6 > t; - t++ - ) - this.cellShape.lineTo(r[t].x, r[t].y) - this.cellShape.lineTo(r[0].x, r[0].y), - (this.cellShape.autoClose = !0), - (this.cellGeo = new THREE.Geometry()), - (this.cellGeo.vertices = r), - (this.cellGeo.verticesNeedUpdate = !0), - (this.cellShapeGeo = new THREE.ShapeGeometry(this.cellShape)), - (this._cellWidth = 2 * this.cellSize), - (this._cellLength = 0.5 * n.SQRT3 * this._cellWidth), - (this._hashDelimeter = '.'), - (this._directions = [ - new n.Cell(1, -1, 0), - new n.Cell(1, 0, -1), - new n.Cell(0, 1, -1), - new n.Cell(-1, 1, 0), - new n.Cell(-1, 0, 1), - new n.Cell(0, -1, 1), - ]), - (this._diagonals = [ - new n.Cell(2, -1, -1), - new n.Cell(1, 1, -2), - new n.Cell(-1, 2, -1), - new n.Cell(-2, 1, 1), - new n.Cell(-1, -1, 2), - new n.Cell(1, -2, 1), - ]), - (this._list = []), - (this._vec3 = new THREE.Vector3()), - (this._cel = new n.Cell()), - (this._conversionVec = new THREE.Vector3()), - (this._geoCache = []), - (this._matCache = []) - }), - (n.HexGrid.TWO_THIRDS = 2 / 3), - (n.HexGrid.prototype = { - cellToPixel: function (e) { - return ( - (this._vec3.x = e.q * this._cellWidth * 0.75), - (this._vec3.y = e.h), - (this._vec3.z = -(e.s - e.r) * this._cellLength * 0.5), - this._vec3 - ) - }, - pixelToCell: function (e) { - var t = e.x * (n.HexGrid.TWO_THIRDS / this.cellSize), - r = (-e.x / 3 + (n.SQRT3 / 3) * e.z) / this.cellSize - return this._cel.set(t, r, -t - r), this._cubeRound(this._cel) - }, - getCellAt: function (e) { - var t = e.x * (n.HexGrid.TWO_THIRDS / this.cellSize), - r = (-e.x / 3 + (n.SQRT3 / 3) * e.z) / this.cellSize - return ( - this._cel.set(t, r, -t - r), - this._cubeRound(this._cel), - this.cells[this.cellToHash(this._cel)] - ) - }, - getNeighbors: function (e, t, n) { - var r, - i, - o = this._directions.length - for (this._list.length = 0, r = 0; o > r; r++) - this._cel.copy(e), - this._cel.add(this._directions[r]), - !(i = this.cells[this.cellToHash(this._cel)]) || - (n && !n(e, i)) || - this._list.push(i) - if (t) - for (r = 0; o > r; r++) - this._cel.copy(e), - this._cel.add(this._diagonals[r]), - !(i = this.cells[this.cellToHash(this._cel)]) || - (n && !n(e, i)) || - this._list.push(i) - return this._list - }, - getRandomCell: function () { - var e, - t = 0, - r = n.Tools.randomInt(0, this.numCells) - for (e in this.cells) { - if (t === r) return this.cells[e] - t++ - } - return this.cells[e] - }, - cellToHash: function (e) { - return e.q + this._hashDelimeter + e.r + this._hashDelimeter + e.s - }, - distance: function (e, t) { - return ( - Math.max(Math.abs(e.q - t.q), Math.abs(e.r - t.r), Math.abs(e.s - t.s)) + (t.h - e.h) - ) - }, - clearPath: function () { - var e, t - for (e in this.cells) - ((t = this.cells[e])._calcCost = 0), - (t._priority = 0), - (t._parent = null), - (t._visited = !1) - }, - traverse: function (e) { - var t - for (t in this.cells) e(this.cells[t]) - }, - generateTile: function (e, t, r) { - var i = Math.abs(e.h) - 1 > i && (i = 1) - var o = this._geoCache[i] - o || - ((this.extrudeSettings.amount = i), - (o = new THREE.ExtrudeGeometry(this.cellShape, this.extrudeSettings)), - (this._geoCache[i] = o)) - var a = new n.Tile({ size: this.cellSize, scale: t, cell: e, geometry: o, material: r }) - return (e.tile = a), a - }, - generateTiles: function (e) { - e = e || {} - var t, - r, - i, - o = [], - a = { - tileScale: 0.95, - cellSize: this.cellSize, - material: null, - extrudeSettings: { - amount: 1, - bevelEnabled: !0, - bevelSegments: 1, - steps: 1, - bevelSize: 0.5, - bevelThickness: 0.5, - }, - } - for (t in ((a = n.Tools.merge(a, e)), - (this.cellSize = a.cellSize), - (this._cellWidth = 2 * this.cellSize), - (this._cellLength = 0.5 * n.SQRT3 * this._cellWidth), - (this.autogenerated = !0), - (this.extrudeSettings = a.extrudeSettings), - this.cells)) - (i = this.cells[t]), - (r = this.generateTile(i, a.tileScale, a.material)).position.copy( - this.cellToPixel(i), - ), - (r.position.y = 0), - o.push(r) - return o - }, - generateTilePoly: function (e) { - e || (e = new THREE.MeshBasicMaterial({ color: 2405631 })) - var t = new THREE.Mesh(this.cellShapeGeo, e) - return this._vec3.set(1, 0, 0), t.rotateOnAxis(this._vec3, n.PI / 2), t - }, - generate: function (e) { - var t, r, i, o - for ( - e = e || {}, - this.size = 'undefined' == typeof e.size ? this.size : e.size, - t = -this.size; - t < this.size + 1; - t++ - ) - for (r = -this.size; r < this.size + 1; r++) - (i = -t - r), - Math.abs(t) <= this.size && - Math.abs(r) <= this.size && - Math.abs(i) <= this.size && - ((o = new n.Cell(t, r, i)), this.add(o)) - }, - generateOverlay: function (e, t, r) { - var i, - o, - a, - s = this.cellShape.createPointsGeometry() - for (i = -e; e + 1 > i; i++) - for (o = -e; e + 1 > o; o++) - if (((a = -i - o), Math.abs(i) <= e && Math.abs(o) <= e && Math.abs(a) <= e)) { - this._cel.set(i, o, a) - var u = new THREE.Line(s, r) - u.position.copy(this.cellToPixel(this._cel)), - (u.rotation.x = 90 * n.DEG_TO_RAD), - t.add(u) - } - }, - add: function (e) { - var t = this.cellToHash(e) - if (!this.cells[t]) return (this.cells[t] = e), this.numCells++, e - }, - remove: function (e) { - var t = this.cellToHash(e) - this.cells[t] && (delete this.cells[t], this.numCells--) - }, - dispose: function () { - ;(this.cells = null), - (this.numCells = 0), - (this.cellShape = null), - this.cellGeo.dispose(), - (this.cellGeo = null), - this.cellShapeGeo.dispose(), - (this.cellShapeGeo = null), - (this._list = null), - (this._vec3 = null), - (this._conversionVec = null), - (this._geoCache = null), - (this._matCache = null) - }, - load: function (e, t, r) { - var i = this - n.Tools.getJSON({ - url: e, - callback: function (e) { - i.fromJSON(e), t.call(r || null, e) - }, - cache: !1, - scope: i, - }) - }, - fromJSON: function (e) { - var t, - r, - i = e.cells - for ( - this.cells = {}, - this.numCells = 0, - this.size = e.size, - this.cellSize = e.cellSize, - this._cellWidth = 2 * this.cellSize, - this._cellLength = 0.5 * n.SQRT3 * this._cellWidth, - this.extrudeSettings = e.extrudeSettings, - this.autogenerated = e.autogenerated, - t = 0; - t < i.length; - t++ - ) - (r = new n.Cell()).copy(i[t]), this.add(r) - }, - toJSON: function () { - var e, - t, - n = { - size: this.size, - cellSize: this.cellSize, - extrudeSettings: this.extrudeSettings, - autogenerated: this.autogenerated, - }, - r = [] - for (t in this.cells) - (e = this.cells[t]), - r.push({ - q: e.q, - r: e.r, - s: e.s, - h: e.h, - walkable: e.walkable, - userData: e.userData, - }) - return (n.cells = r), n - }, - _createVertex: function (e) { - var t = (n.TAU / 6) * e - return new THREE.Vector3(this.cellSize * Math.cos(t), this.cellSize * Math.sin(t), 0) - }, - _cubeRound: function (e) { - var t = Math.round(e.q), - n = Math.round(e.r), - r = Math.round(e.s), - i = Math.abs(t - e.q), - o = Math.abs(n - e.r), - a = Math.abs(r - e.s) - return ( - i > o && i > a ? (t = -n - r) : o > a ? (n = -t - r) : (r = -t - n), - this._cel.set(t, n, r) - ) - }, - }), - (n.HexGrid.prototype.constructor = n.HexGrid), - (n.SqrGrid = function (e) { - ;(e = e || {}), - (this.type = n.SQR), - (this.size = 5), - (this.cellSize = 'undefined' == typeof e.cellSize ? 10 : e.cellSize), - (this.cells = {}), - (this.numCells = 0), - (this.extrudeSettings = null), - (this.autogenerated = !1) - var t = [] - t.push(new THREE.Vector3()), - t.push(new THREE.Vector3(-this.cellSize, this.cellSize)), - t.push(new THREE.Vector3(this.cellSize, this.cellSize)), - t.push(new THREE.Vector3(this.cellSize, -this.cellSize)), - (this.cellShape = new THREE.Shape()), - this.cellShape.moveTo(-this.cellSize, -this.cellSize), - this.cellShape.lineTo(-this.cellSize, this.cellSize), - this.cellShape.lineTo(this.cellSize, this.cellSize), - this.cellShape.lineTo(this.cellSize, -this.cellSize), - this.cellShape.lineTo(-this.cellSize, -this.cellSize), - (this.cellGeo = new THREE.Geometry()), - (this.cellGeo.vertices = t), - (this.cellGeo.verticesNeedUpdate = !0), - (this.cellShapeGeo = new THREE.ShapeGeometry(this.cellShape)), - (this._fullCellSize = 2 * this.cellSize), - (this._hashDelimeter = '.'), - (this._directions = [ - new n.Cell(1, 0, 0), - new n.Cell(0, -1, 0), - new n.Cell(-1, 0, 0), - new n.Cell(0, 1, 0), - ]), - (this._diagonals = [ - new n.Cell(-1, -1, 0), - new n.Cell(-1, 1, 0), - new n.Cell(1, 1, 0), - new n.Cell(1, -1, 0), - ]), - (this._list = []), - (this._vec3 = new THREE.Vector3()), - (this._cel = new n.Cell()), - (this._conversionVec = new THREE.Vector3()), - (this._geoCache = []), - (this._matCache = []) - }), - (n.SqrGrid.prototype = { - cellToPixel: function (e) { - return ( - (this._vec3.x = e.q * this._fullCellSize), - (this._vec3.y = e.h), - (this._vec3.z = e.r * this._fullCellSize), - this._vec3 - ) - }, - pixelToCell: function (e) { - var t = Math.round(e.x / this._fullCellSize), - n = Math.round(e.z / this._fullCellSize) - return this._cel.set(t, n, 0) - }, - getCellAt: function (e) { - var t = Math.round(e.x / this._fullCellSize), - n = Math.round(e.z / this._fullCellSize) - return this._cel.set(t, n), this.cells[this.cellToHash(this._cel)] - }, - getNeighbors: function (e, t, n) { - var r, - i, - o = this._directions.length - for (this._list.length = 0, r = 0; o > r; r++) - this._cel.copy(e), - this._cel.add(this._directions[r]), - !(i = this.cells[this.cellToHash(this._cel)]) || - (n && !n(e, i)) || - this._list.push(i) - if (t) - for (r = 0; o > r; r++) - this._cel.copy(e), - this._cel.add(this._diagonals[r]), - !(i = this.cells[this.cellToHash(this._cel)]) || - (n && !n(e, i)) || - this._list.push(i) - return this._list - }, - getRandomCell: function () { - var e, - t = 0, - r = n.Tools.randomInt(0, this.numCells) - for (e in this.cells) { - if (t === r) return this.cells[e] - t++ - } - return this.cells[e] - }, - cellToHash: function (e) { - return e.q + this._hashDelimeter + e.r - }, - distance: function (e, t) { - return Math.max(Math.abs(e.q - t.q), Math.abs(e.r - t.r)) + (t.h - e.h) - }, - clearPath: function () { - var e, t - for (e in this.cells) - ((t = this.cells[e])._calcCost = 0), - (t._priority = 0), - (t._parent = null), - (t._visited = !1) - }, - traverse: function (e) { - var t - for (t in this.cells) e(this.cells[t]) - }, - generateTile: function (e, t, r) { - var i = Math.abs(e.h) - 1 > i && (i = 1) - var o = this._geoCache[i] - o || - ((this.extrudeSettings.amount = i), - (o = new THREE.ExtrudeGeometry(this.cellShape, this.extrudeSettings)), - (this._geoCache[i] = o)) - var a = new n.Tile({ size: this.cellSize, scale: t, cell: e, geometry: o, material: r }) - return (e.tile = a), a - }, - generateTiles: function (e) { - e = e || {} - var t, - r, - i, - o = [], - a = { - tileScale: 0.95, - cellSize: this.cellSize, - material: null, - extrudeSettings: { - amount: 1, - bevelEnabled: !0, - bevelSegments: 1, - steps: 1, - bevelSize: 0.5, - bevelThickness: 0.5, - }, - } - for (t in ((a = n.Tools.merge(a, e)), - (this.cellSize = a.cellSize), - (this._fullCellSize = 2 * this.cellSize), - (this.autogenerated = !0), - (this.extrudeSettings = a.extrudeSettings), - this.cells)) - (i = this.cells[t]), - (r = this.generateTile(i, a.tileScale, a.material)).position.copy( - this.cellToPixel(i), - ), - (r.position.y = 0), - o.push(r) - return o - }, - generateTilePoly: function (e) { - e || (e = new THREE.MeshBasicMaterial({ color: 2405631 })) - var t = new THREE.Mesh(this.cellShapeGeo, e) - return this._vec3.set(1, 0, 0), t.rotateOnAxis(this._vec3, n.PI / 2), t - }, - generate: function (e) { - ;(e = e || {}), (this.size = 'undefined' == typeof e.size ? this.size : e.size) - var t, - r, - i, - o = Math.ceil(this.size / 2) - for (t = -o; o > t; t++) - for (r = -o; o > r; r++) (i = new n.Cell(t, r + 1)), this.add(i) - }, - generateOverlay: function (e, t, r) { - var i, - o, - a = Math.ceil(e / 2) - for (i = -a; a > i; i++) - for (o = -a; a > o; o++) { - this._cel.set(i, o) - var s = new THREE.Line(this.cellGeo, r) - s.position.copy(this.cellToPixel(this._cel)), - (s.rotation.x = 90 * n.DEG_TO_RAD), - t.add(s) - } - }, - add: function (e) { - var t = this.cellToHash(e) - if (!this.cells[t]) return (this.cells[t] = e), this.numCells++, e - }, - remove: function (e) { - var t = this.cellToHash(e) - this.cells[t] && (delete this.cells[t], this.numCells--) - }, - dispose: function () { - ;(this.cells = null), - (this.numCells = 0), - (this.cellShape = null), - this.cellGeo.dispose(), - (this.cellGeo = null), - this.cellShapeGeo.dispose(), - (this.cellShapeGeo = null), - (this._list = null), - (this._vec3 = null), - (this._conversionVec = null), - (this._geoCache = null), - (this._matCache = null) - }, - load: function (e, t, r) { - n.Tools.getJSON({ - url: e, - callback: function (e) { - this.fromJSON(e), t.call(r || null, e) - }, - cache: !1, - scope: this, - }) - }, - fromJSON: function (e) { - var t, - r, - i = e.cells - for ( - this.cells = {}, - this.numCells = 0, - this.size = e.size, - this.cellSize = e.cellSize, - this._fullCellSize = 2 * this.cellSize, - this.extrudeSettings = e.extrudeSettings, - this.autogenerated = e.autogenerated, - t = 0; - t < i.length; - t++ - ) - (r = new n.Cell()).copy(i[t]), this.add(r) - }, - toJSON: function () { - var e, - t, - n = { - size: this.size, - cellSize: this.cellSize, - extrudeSettings: this.extrudeSettings, - autogenerated: this.autogenerated, - }, - r = [] - for (t in this.cells) - (e = this.cells[t]), - r.push({ - q: e.q, - r: e.r, - s: e.s, - h: e.h, - walkable: e.walkable, - userData: e.userData, - }) - return (n.cells = r), n - }, - }), - (n.SqrGrid.prototype.constructor = n.SqrGrid), - (n.Tile = function (e) { - e = e || {} - var t = { cell: null, geometry: null, material: null } - if (!(t = n.Tools.merge(t, e)).cell || !t.geometry) - throw new Error('Missing vg.Tile configuration') - ;(this.cell = t.cell), - this.cell.tile && this.cell.tile !== this && this.cell.tile.dispose(), - (this.cell.tile = this), - (this.uniqueID = n.Tools.generateID()), - (this.geometry = t.geometry), - (this.material = t.material), - this.material || - (this.material = new THREE.MeshPhongMaterial({ - color: n.Tools.randomizeRGB('30, 30, 30', 13), - })), - (this.objectType = n.TILE), - (this.entity = null), - (this.userData = {}), - (this.selected = !1), - (this.highlight = '0x0084cc'), - (this.mesh = new THREE.Mesh(this.geometry, this.material)), - (this.mesh.userData.structure = this), - (this.position = this.mesh.position), - (this.rotation = this.mesh.rotation), - (this.rotation.x = -90 * n.DEG_TO_RAD), - this.mesh.scale.set(t.scale, t.scale, 1), - this.material.emissive - ? (this._emissive = this.material.emissive.getHex()) - : (this._emissive = null) - }), - (n.Tile.prototype = { - select: function () { - return ( - this.material.emissive && this.material.emissive.setHex(this.highlight), - (this.selected = !0), - this - ) - }, - deselect: function () { - return ( - null !== this._emissive && - this.material.emissive && - this.material.emissive.setHex(this._emissive), - (this.selected = !1), - this - ) - }, - toggle: function () { - return this.selected ? this.deselect() : this.select(), this - }, - dispose: function () { - this.cell && this.cell.tile && (this.cell.tile = null), - (this.cell = null), - (this.position = null), - (this.rotation = null), - this.mesh.parent && this.mesh.parent.remove(this.mesh), - (this.mesh.userData.structure = null), - (this.mesh = null), - (this.material = null), - (this.userData = null), - (this.entity = null), - (this.geometry = null), - (this._emissive = null) - }, - }), - (n.Tile.prototype.constructor = n.Tile), - (function () { - var e = function () { - ;(this.obj = null), (this.next = null), (this.prev = null), (this.free = !0) - }, - t = function () { - ;(this.first = null), - (this.last = null), - (this.length = 0), - (this.objToNodeMap = {}), - (this.uniqueID = Date.now() + '' + Math.floor(1e3 * Math.random())), - (this.sortArray = []) - } - ;(t.generateID = function () { - return Math.random().toString(36).slice(2) + Date.now() - }), - ((t.prototype = { - getNode: function (e) { - return this.objToNodeMap[e.uniqueID] - }, - addNode: function (n) { - var r = new e() - if (!n.uniqueID) - try { - n.uniqueID = t.generateID() - } catch (i) { - return ( - console.error( - '[LinkedList.addNode] obj passed is immutable: cannot attach necessary identifier', - ), - null - ) - } - return (r.obj = n), (r.free = !1), (this.objToNodeMap[n.uniqueID] = r), r - }, - swapObjects: function (e, t) { - ;(this.objToNodeMap[e.obj.uniqueID] = null), - (this.objToNodeMap[t.uniqueID] = e), - (e.obj = t) - }, - add: function (e) { - var t = this.objToNodeMap[e.uniqueID] - if (t) { - if (!1 === t.free) return - ;(t.obj = e), (t.free = !1), (t.next = null), (t.prev = null) - } else t = this.addNode(e) - if (this.first) { - if (!this.last) - throw new Error( - "[LinkedList.add] No last in the list -- that shouldn't happen here", - ) - ;(this.last.next = t), (t.prev = this.last), (this.last = t), (t.next = null) - } else (this.first = t), (this.last = t), (t.next = null), (t.prev = null) - this.length++, this.showDebug && this.dump('after add') - }, - has: function (e) { - return !!this.objToNodeMap[e.uniqueID] - }, - moveUp: function (e) { - this.dump('before move up') - var t = this.getNode(e) - if (!t) throw "Oops, trying to move an object that isn't in the list" - if (t.prev) { - var n = t.prev, - r = n.prev - t == this.last && (this.last = n) - var i = t.next - r && (r.next = t), - (t.next = n), - (t.prev = n.prev), - (n.next = i), - (n.prev = t), - this.first == n && (this.first = t) - } - }, - moveDown: function (e) { - var t = this.getNode(e) - if (!t) throw "Oops, trying to move an object that isn't in the list" - if (t.next) { - var n = t.next - this.moveUp(n.obj), this.last == n && (this.last = t) - } - }, - sort: function (e) { - var t, - n, - r = this.sortArray, - i = this.first - for (r.length = 0; i; ) r.push(i.obj), (i = i.next) - for (this.clear(), r.sort(e), n = r.length, t = 0; n > t; t++) this.add(r[t]) - }, - remove: function (e) { - var t = this.getNode(e) - return ( - !(!t || t.free) && - (t.prev && (t.prev.next = t.next), - t.next && (t.next.prev = t.prev), - t.prev || (this.first = t.next), - t.next || (this.last = t.prev), - (t.free = !0), - (t.prev = null), - (t.next = null), - this.length--, - !0) - ) - }, - shift: function () { - var e = this.first - return 0 === this.length - ? null - : (e.prev && (e.prev.next = e.next), - e.next && (e.next.prev = e.prev), - (this.first = e.next), - e.next || (this.last = null), - (e.free = !0), - (e.prev = null), - (e.next = null), - this.length--, - e.obj) - }, - pop: function () { - var e = this.last - return 0 === this.length - ? null - : (e.prev && (e.prev.next = e.next), - e.next && (e.next.prev = e.prev), - (this.last = e.prev), - e.prev || (this.first = null), - (e.free = !0), - (e.prev = null), - (e.next = null), - this.length--, - e.obj) - }, - concat: function (e) { - for (var t = e.first; t; ) this.add(t.obj), (t = t.next) - }, - clear: function () { - for (var e = this.first; e; ) (e.free = !0), (e = e.next) - ;(this.first = null), (this.length = 0) - }, - dispose: function () { - for (var e = this.first; e; ) (e.obj = null), (e = e.next) - ;(this.first = null), (this.objToNodeMap = null) - }, - dump: function (e) { - console.log('====================' + e + '=====================') - for (var t = this.first; t; ) - console.log( - '{' + t.obj.toString() + '} previous=' + (t.prev ? t.prev.obj : 'NULL'), - ), - (t = t.next()) - console.log('==================================='), - console.log( - 'Last: {' + - (this.last ? this.last.obj : 'NULL') + - '} First: {' + - (this.first ? this.first.obj : 'NULL') + - '}', - ) - }, - }).constructor = t), - (n.LinkedList = t) - })(), - (function () { - var e = function (e, t, n, r, i) { - ;(this._listener = t), - (this.isOnce = n), - (this.context = r), - (this.signal = e), - (this._priority = i || 0) - } - ;(e.prototype = { - active: !0, - params: null, - execute: function (e) { - var t, n - return ( - this.active && - this._listener && - ((n = this.params ? this.params.concat(e) : e), - (t = this._listener.apply(this.context, n)), - this.isOnce && this.detach()), - t - ) - }, - detach: function () { - return this.isBound() ? this.signal.remove(this._listener, this.context) : null - }, - isBound: function () { - return !!this.signal && !!this._listener - }, - _destroy: function () { - delete this.signal, delete this._listener, delete this.context - }, - toString: function () { - return ( - '[SignalBinding isOnce:' + - this.isOnce + - ', isBound:' + - this.isBound() + - ', active:' + - this.active + - ']' - ) - }, - }).constructor = e - var t = function () { - ;(this._bindings = []), (this._prevParams = null) - var e = this - this.dispatch = function () { - t.prototype.dispatch.apply(e, arguments) - } - } - ;(t.prototype = { - memorize: !1, - _shouldPropagate: !0, - active: !0, - validateListener: function (e, t) { - if ('function' != typeof e) - throw new Error( - 'Signal: listener is a required param of {fn}() and should be a Function.'.replace( - '{fn}', - t, - ), - ) - }, - _registerListener: function (t, n, r, i) { - var o, - a = this._indexOfListener(t, r) - if (-1 !== a) { - if ((o = this._bindings[a]).isOnce !== n) - throw new Error( - 'You cannot add' + - (n ? '' : 'Once') + - '() then add' + - (n ? 'Once' : '') + - '() the same listener without removing the relationship first.', - ) - } else (o = new e(this, t, n, r, i)), this._addBinding(o) - return this.memorize && this._prevParams && o.execute(this._prevParams), o - }, - _addBinding: function (e) { - var t = this._bindings.length - do { - t-- - } while (this._bindings[t] && e._priority <= this._bindings[t]._priority) - this._bindings.splice(t + 1, 0, e) - }, - _indexOfListener: function (e, t) { - for (var n, r = this._bindings.length; r--; ) - if ((n = this._bindings[r])._listener === e && n.context === t) return r - return -1 - }, - has: function (e, t) { - return -1 !== this._indexOfListener(e, t) - }, - add: function (e, t, n) { - return this.validateListener(e, 'add'), this._registerListener(e, !1, t, n) - }, - addOnce: function (e, t, n) { - return this.validateListener(e, 'addOnce'), this._registerListener(e, !0, t, n) - }, - remove: function (e, t) { - this.validateListener(e, 'remove') - var n = this._indexOfListener(e, t) - return -1 !== n && (this._bindings[n]._destroy(), this._bindings.splice(n, 1)), e - }, - removeAll: function (e) { - 'undefined' == typeof e && (e = null) - for (var t = this._bindings.length; t--; ) - e - ? this._bindings[t].context === e && - (this._bindings[t]._destroy(), this._bindings.splice(t, 1)) - : this._bindings[t]._destroy() - e || (this._bindings.length = 0) - }, - getNumListeners: function () { - return this._bindings.length - }, - halt: function () { - this._shouldPropagate = !1 - }, - dispatch: function () { - if (this.active) { - var e, - t = Array.prototype.slice.call(arguments), - n = this._bindings.length - if ((this.memorize && (this._prevParams = t), n)) { - ;(e = this._bindings.slice()), (this._shouldPropagate = !0) - do { - n-- - } while (e[n] && this._shouldPropagate && !1 !== e[n].execute(t)) - } - } - }, - forget: function () { - this._prevParams = null - }, - dispose: function () { - this.removeAll(), delete this._bindings, delete this._prevParams - }, - toString: function () { - return ( - '[Signal active:' + this.active + ' numListeners:' + this.getNumListeners() + ']' - ) - }, - }), - (t.prototype.constructor = t), - (n.Signal = t) - })(), - (n.AStarFinder = function (e) { - e = e || {} - var t = { allowDiagonal: !1, heuristicFilter: null } - ;(t = n.Tools.merge(t, e)), - (this.allowDiagonal = t.allowDiagonal), - (this.heuristicFilter = t.heuristicFilter), - (this.list = new n.LinkedList()) - }), - (n.AStarFinder.prototype = { - findPath: function (e, t, r, i) { - var o, a, s, u, l, c - for ( - r = r || this.heuristicFilter, i.clearPath(), this.list.clear(), this.list.add(e); - this.list.length > 0; - - ) { - if ((this.list.sort(this.compare), ((o = this.list.shift())._visited = !0), o === t)) - return n.PathUtil.backtrace(t) - for (l = 0, c = (s = i.getNeighbors(o, this.allowDiagonal, r)).length; c > l; l++) - if ( - (u = s[l]).walkable && - ((a = o._calcCost + i.distance(o, u)), !u._visited || a < u._calcCost) - ) { - if ( - ((u._visited = !0), - (u._parent = o), - (u._calcCost = a), - (u._priority = a + i.distance(t, u)), - u === t) - ) - return n.PathUtil.backtrace(t) - this.list.add(u) - } - } - return null - }, - compare: function (e, t) { - return e._priority - t._priority - }, - }), - (n.AStarFinder.prototype.constructor = n.AStarFinder), - (n.PathUtil = { - backtrace: function (e) { - for (var t = [e]; e._parent; ) (e = e._parent), t.push(e) - return t.reverse() - }, - biBacktrace: function (e, t) { - var n = this.backtrace(e), - r = this.backtrace(t) - return n.concat(r.reverse()) - }, - pathLength: function (e) { - var t, - n, - r, - i, - o, - a = 0 - for (t = 1; t < e.length; ++t) - (n = e[t - 1]), - (r = e[t]), - (i = n[0] - r[0]), - (o = n[1] - r[1]), - (a += Math.sqrt(i * i + o * o)) - return a - }, - interpolate: function (e, t, n, r) { - var i, - o, - a, - s, - u, - l, - c = Math.abs, - d = [] - for ( - i = n > e ? 1 : -1, o = r > t ? 1 : -1, u = (a = c(n - e)) - (s = c(r - t)); - e !== n || t !== r; - - ) - d.push([e, t]), - (l = 2 * u) > -s && ((u -= s), (e += i)), - a > l && ((u += a), (t += o)) - return d - }, - expandPath: function (e) { - var t, - n, - r, - i, - o, - a, - s = [], - u = e.length - if (2 > u) return s - for (o = 0; u - 1 > o; ++o) - for ( - t = e[o], - n = e[o + 1], - i = (r = this.interpolate(t[0], t[1], n[0], n[1])).length, - a = 0; - i - 1 > a; - ++a - ) - s.push(r[a]) - return s.push(e[u - 1]), s - }, - smoothenPath: function (e, t) { - var n, - r, - i, - o, - a, - s, - u, - l, - c, - d, - f, - h, - p = t.length, - v = t[0][0], - m = t[0][1], - g = t[p - 1][0], - y = t[p - 1][1] - for (a = [[(n = v), (r = m)]], u = 2; p > u; ++u) { - for ( - i = (c = t[u])[0], o = c[1], d = this.interpolate(n, r, i, o), h = !1, l = 1; - l < d.length; - ++l - ) - if (((f = d[l]), !e.isWalkableAt(f[0], f[1]))) { - h = !0 - break - } - h && ((s = t[u - 1]), a.push(s), (n = s[0]), (r = s[1])) - } - return a.push([g, y]), a - }, - compressPath: function (e) { - if (e.length < 3) return e - var t, - n, - r, - i, - o, - a, - s = [], - u = e[0][0], - l = e[0][1], - c = e[1][0], - d = e[1][1], - f = c - u, - h = d - l - for ( - f /= o = Math.sqrt(f * f + h * h), h /= o, s.push([u, l]), a = 2; - a < e.length; - a++ - ) - (t = c), - (n = d), - (r = f), - (i = h), - (f = (c = e[a][0]) - t), - (h = (d = e[a][1]) - n), - (h /= o = Math.sqrt(f * f + h * h)), - ((f /= o) !== r || h !== i) && s.push([t, n]) - return s.push([c, d]), s - }, - }), - (n.Loader = { - manager: null, - imageLoader: null, - crossOrigin: !1, - init: function (e) { - ;(this.crossOrigin = e || !1), - (this.manager = new THREE.LoadingManager( - function () {}, - function () {}, - function () { - console.warn('Error loading images') - }, - )), - (this.imageLoader = new THREE.ImageLoader(this.manager)), - (this.imageLoader.crossOrigin = e) - }, - loadTexture: function (e, t, n, r) { - var i = new THREE.Texture(null, t) - return ( - this.imageLoader.load( - e, - function (e) { - ;(i.image = e), (i.needsUpdate = !0), n && n(i) - }, - null, - function (e) { - r && r(e) - }, - ), - (i.sourceFile = e), - i - ) - }, - }), - (n.MouseCaster = function (e, t, r) { - ;(this.down = !1), - (this.rightDown = !1), - (this.pickedObject = null), - (this.selectedObject = null), - (this.allHits = null), - (this.active = !0), - (this.shift = !1), - (this.ctrl = !1), - (this.wheel = 0), - (this.position = new THREE.Vector3()), - (this.screenPosition = new THREE.Vector2()), - (this.signal = new n.Signal()), - (this.group = e), - (this._camera = t), - (this._raycaster = new THREE.Raycaster()), - (this._preventDefault = !1), - (r = r || document).addEventListener( - 'mousemove', - this._onDocumentMouseMove.bind(this), - !1, - ), - r.addEventListener('mousedown', this._onDocumentMouseDown.bind(this), !1), - r.addEventListener('mouseup', this._onDocumentMouseUp.bind(this), !1), - r.addEventListener('mousewheel', this._onMouseWheel.bind(this), !1), - r.addEventListener('DOMMouseScroll', this._onMouseWheel.bind(this), !1) - }), - (n.MouseCaster.OVER = 'over'), - (n.MouseCaster.OUT = 'out'), - (n.MouseCaster.DOWN = 'down'), - (n.MouseCaster.UP = 'up'), - (n.MouseCaster.CLICK = 'click'), - (n.MouseCaster.WHEEL = 'wheel'), - (n.MouseCaster.prototype = { - update: function () { - if (this.active) { - this._raycaster.setFromCamera(this.screenPosition, this._camera) - var e, - t, - r = this._raycaster.intersectObject(this.group, !0) - r.length > 0 - ? ((t = (e = r[0]).object.userData.structure), - this.pickedObject != t && - (this.pickedObject && - this.signal.dispatch(n.MouseCaster.OUT, this.pickedObject), - (this.pickedObject = t), - (this.selectedObject = null), - this.signal.dispatch(n.MouseCaster.OVER, this.pickedObject)), - this.position.copy(e.point), - (this.screenPosition.z = e.distance)) - : (this.pickedObject && this.signal.dispatch(n.MouseCaster.OUT, this.pickedObject), - (this.pickedObject = null), - (this.selectedObject = null)), - (this.allHits = r) - } - }, - preventDefault: function () { - this._preventDefault = !0 - }, - _onDocumentMouseDown: function (e) { - return ( - (e = e || window.event).preventDefault(), - this._preventDefault - ? ((this._preventDefault = !1), !1) - : (this.pickedObject && (this.selectedObject = this.pickedObject), - (this.shift = e.shiftKey), - (this.ctrl = e.ctrlKey), - (this.down = 1 === e.which), - (this.rightDown = 3 === e.which), - void this.signal.dispatch(n.MouseCaster.DOWN, this.pickedObject)) - ) - }, - _onDocumentMouseUp: function (e) { - return ( - e.preventDefault(), - this._preventDefault - ? ((this._preventDefault = !1), !1) - : ((this.shift = e.shiftKey), - (this.ctrl = e.ctrlKey), - this.signal.dispatch(n.MouseCaster.UP, this.pickedObject), - this.selectedObject && - this.pickedObject && - this.selectedObject.uniqueID === this.pickedObject.uniqueID && - this.signal.dispatch(n.MouseCaster.CLICK, this.pickedObject), - (this.down = 1 !== e.which && this.down), - void (this.rightDown = 3 !== e.which && this.rightDown)) - ) - }, - _onDocumentMouseMove: function (e) { - e.preventDefault(), - (this.screenPosition.x = (e.clientX / window.innerWidth) * 2 - 1), - (this.screenPosition.y = (-e.clientY / window.innerHeight) * 2 + 1) - }, - _onMouseWheel: function (e) { - if (this.active) { - e.preventDefault(), e.stopPropagation() - var t = 0 - void 0 !== e.wheelDelta ? (t = e.wheelDelta) : void 0 !== e.detail && (t = -e.detail), - t > 0 ? this.wheel++ : this.wheel--, - this.signal.dispatch(n.MouseCaster.WHEEL, this.wheel) - } - }, - }), - (n.MouseCaster.prototype.constructor = n.MouseCaster), - (n.Scene = function (e, t) { - var r = { - element: document.body, - alpha: !0, - antialias: !0, - clearColor: '#fff', - sortObjects: !1, - fog: null, - light: new THREE.DirectionalLight(16777215), - lightPosition: null, - cameraType: 'PerspectiveCamera', - cameraPosition: null, - orthoZoom: 4, - }, - i = { minDistance: 100, maxDistance: 1e3, zoomSpeed: 2, noZoom: !1 } - if ( - ((r = n.Tools.merge(r, e)), - 'boolean' != typeof t && (i = n.Tools.merge(i, t)), - (this.renderer = new THREE.WebGLRenderer({ alpha: r.alpha, antialias: r.antialias })), - this.renderer.setClearColor(r.clearColor, 0), - (this.renderer.sortObjects = r.sortObjects), - (this.width = window.innerWidth), - (this.height = window.innerHeight), - (this.orthoZoom = r.orthoZoom), - (this.container = new THREE.Scene()), - (this.container.fog = r.fog), - this.container.add(new THREE.AmbientLight(14540253)), - r.lightPosition || r.light.position.set(-1, 1, -1).normalize(), - this.container.add(r.light), - 'OrthographicCamera' === r.cameraType) - ) { - var o = window.innerWidth / this.orthoZoom, - a = window.innerHeight / this.orthoZoom - this.camera = new THREE.OrthographicCamera(o / -2, o / 2, a / 2, a / -2, 1, 5e3) - } else this.camera = new THREE.PerspectiveCamera(50, this.width / this.height, 1, 5e3) - ;(this.contolled = !!t), - this.contolled && - ((this.controls = new THREE.OrbitControls(this.camera, this.renderer.domElement)), - (this.controls.minDistance = i.minDistance), - (this.controls.maxDistance = i.maxDistance), - (this.controls.zoomSpeed = i.zoomSpeed), - (this.controls.noZoom = i.noZoom)), - r.cameraPosition && this.camera.position.copy(r.cameraPosition), - window.addEventListener( - 'resize', - function () { - if ( - ((this.width = window.innerWidth), - (this.height = window.innerHeight), - 'OrthographicCamera' === this.camera.type) - ) { - var e = this.width / this.orthoZoom, - t = this.height / this.orthoZoom - ;(this.camera.left = e / -2), - (this.camera.right = e / 2), - (this.camera.top = t / 2), - (this.camera.bottom = t / -2) - } else this.camera.aspect = this.width / this.height - this.camera.updateProjectionMatrix(), this.renderer.setSize(this.width, this.height) - }.bind(this), - !1, - ), - this.attachTo(r.element) - }), - (n.Scene.prototype = { - attachTo: function (e) { - ;(e.style.width = this.width + 'px'), - (e.style.height = this.height + 'px'), - this.renderer.setPixelRatio(window.devicePixelRatio), - this.renderer.setSize(this.width, this.height), - e.appendChild(this.renderer.domElement) - }, - add: function (e) { - this.container.add(e) - }, - remove: function (e) { - this.container.remove(e) - }, - render: function () { - this.contolled && this.controls.update(), - this.renderer.render(this.container, this.camera) - }, - updateOrthoZoom: function () { - if (this.orthoZoom <= 0) this.orthoZoom = 0 - else { - var e = this.width / this.orthoZoom, - t = this.height / this.orthoZoom - ;(this.camera.left = e / -2), - (this.camera.right = e / 2), - (this.camera.top = t / 2), - (this.camera.bottom = t / -2), - this.camera.updateProjectionMatrix() - } - }, - focusOn: function (e) { - this.camera.lookAt(e.position) - }, - }), - (n.Scene.prototype.constructor = n.Scene), - (n.SelectionManager = function (e) { - ;(this.mouse = e), - (this.onSelect = new n.Signal()), - (this.onDeselect = new n.Signal()), - (this.selected = null), - (this.toggleSelection = !1), - this.mouse.signal.add(this.onMouse, this) - }), - (n.SelectionManager.prototype = { - select: function (e, t) { - e && - ((t = t || !0), - this.selected !== e && this.clearSelection(t), - e.selected - ? this.toggleSelection && (t && this.onDeselect.dispatch(e), e.deselect()) - : e.select(), - (this.selected = e), - t && this.onSelect.dispatch(e)) - }, - clearSelection: function (e) { - ;(e = e || !0), - this.selected && - (e && this.onDeselect.dispatch(this.selected), this.selected.deselect()), - (this.selected = null) - }, - onMouse: function (e, t) { - switch (e) { - case n.MouseCaster.DOWN: - t || this.clearSelection() - break - case n.MouseCaster.CLICK: - this.select(t) - } - }, - }), - (n.SelectionManager.prototype.constructor = n.SelectionManager), - (n.Tools = { - clamp: function (e, t, n) { - return Math.max(t, Math.min(n, e)) - }, - sign: function (e) { - return e && e / Math.abs(e) - }, - random: function (e, t) { - return 1 === arguments.length - ? Math.random() * e - 0.5 * e - : Math.random() * (t - e) + e - }, - randomInt: function (e, t) { - return 1 === arguments.length - ? (Math.random() * e - 0.5 * e) | 0 - : (Math.random() * (t - e + 1) + e) | 0 - }, - normalize: function (e, t, n) { - return (e - t) / (n - t) - }, - getShortRotation: function (e) { - return (e %= this.TAU) > this.PI ? (e -= this.TAU) : e < -this.PI && (e += this.TAU), e - }, - generateID: function () { - return Math.random().toString(36).slice(2) + Date.now() - }, - isPlainObject: function (e) { - if ('object' != typeof e || e.nodeType || e === e.window) return !1 - try { - if ( - e.constructor && - !Object.prototype.hasOwnProperty.call(e.constructor.prototype, 'isPrototypeOf') - ) - return !1 - } catch (t) { - return !1 - } - return !0 - }, - merge: function (e, t) { - var n = this, - r = Array.isArray(t), - i = (r && []) || {} - return r - ? ((e = e || []), - (i = i.concat(e)), - t.forEach(function (t, r) { - 'undefined' == typeof i[r] - ? (i[r] = t) - : n.isPlainObject(t) - ? (i[r] = n.merge(e[r], t)) - : -1 === e.indexOf(t) && i.push(t) - }), - i) - : (e && - n.isPlainObject(e) && - Object.keys(e).forEach(function (t) { - i[t] = e[t] - }), - Object.keys(t).forEach(function (r) { - t[r] && n.isPlainObject(t[r]) && e[r] - ? (i[r] = n.merge(e[r], t[r])) - : (i[r] = t[r]) - }), - i) - }, - now: function () { - return window.nwf ? window.nwf.system.Performance.elapsedTime : window.performance.now() - }, - empty: function (e) { - for (; e.lastChild; ) e.removeChild(e.lastChild) - }, - radixSort: function (e, t, n, r) { - if (((r = r || 31), !((t = t || 0) >= (n = n || e.length) - 1 || 0 > r))) { - for (var i = t, o = n, a = 1 << r; o > i; ) - if (e[i] & a) { - --o - var s = e[i] - ;(e[i] = e[o]), (e[o] = s) - } else ++i - this.radixSort(e, t, o, r - 1), this.radixSort(e, o, n, r - 1) - } - }, - randomizeRGB: function (e, t) { - var n, - r, - i = e.split(','), - o = 'rgb(' - for (t = this.randomInt(t), n = 0; 3 > n; n++) - 0 > (r = parseInt(i[n]) + t) ? (r = 0) : r > 255 && (r = 255), (o += r + ',') - return (o = o.substring(0, o.length - 1)) + ')' - }, - getJSON: function (e) { - var t = new XMLHttpRequest(), - n = - 'undefined' != typeof e.cache && e.cache - ? e.url - : e.url + '?t=' + Math.floor(1e4 * Math.random()) + Date.now() - ;(t.onreadystatechange = function () { - if (200 !== this.status) - 0 !== this.status && - console.warn( - '[Tools.getJSON] Error: ' + - this.status + - ' (' + - this.statusText + - ') :: ' + - e.url, - ) - else { - var t = null - try { - t = JSON.parse(this.responseText) - } catch (n) { - return - } - e.callback.call(e.scope || null, t) - } - }), - t.open('GET', n, !0), - t.setRequestHeader('Accept', 'application/json'), - t.setRequestHeader('Content-Type', 'application/json'), - t.send('') - }, - }) - }, - 7454: function () { - !(function (e) { - var t = 'KeyboardEvent' in e - t || - (e.KeyboardEvent = function () { - throw TypeError('Illegal constructor') - }), - 'DOM_KEY_LOCATION_STANDARD' in e.KeyboardEvent || - (e.KeyboardEvent.DOM_KEY_LOCATION_STANDARD = 0), - 'DOM_KEY_LOCATION_LEFT' in e.KeyboardEvent || (e.KeyboardEvent.DOM_KEY_LOCATION_LEFT = 1), - 'DOM_KEY_LOCATION_RIGHT' in e.KeyboardEvent || - (e.KeyboardEvent.DOM_KEY_LOCATION_RIGHT = 2), - 'DOM_KEY_LOCATION_NUMPAD' in e.KeyboardEvent || - (e.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD = 3) - var n = window.KeyboardEvent.DOM_KEY_LOCATION_STANDARD, - r = window.KeyboardEvent.DOM_KEY_LOCATION_LEFT, - i = window.KeyboardEvent.DOM_KEY_LOCATION_RIGHT, - o = window.KeyboardEvent.DOM_KEY_LOCATION_NUMPAD - function a(e, t) { - return -1 !== String(e).indexOf(t) - } - var s = a(navigator.platform, 'Win') - ? 'win' - : a(navigator.platform, 'Mac') - ? 'mac' - : a(navigator.platform, 'CrOS') - ? 'cros' - : a(navigator.platform, 'Linux') - ? 'linux' - : a(navigator.userAgent, 'iPad') || - a(navigator.platform, 'iPod') || - a(navigator.platform, 'iPhone') - ? 'ios' - : '', - u = a(navigator.userAgent, 'Chrome/') - ? 'chrome' - : a(navigator.vendor, 'Apple') - ? 'safari' - : a(navigator.userAgent, 'MSIE') - ? 'ie' - : a(navigator.userAgent, 'Gecko/') - ? 'moz' - : a(navigator.userAgent, 'Opera/') - ? 'opera' - : '', - l = u + '-' + s - function c(e, t, n) { - ;(l !== t && u !== t && s !== t) || - Object.keys(n).forEach(function (t) { - e[t] = n[t] - }) - } - var d = { - 3: { code: 'Cancel' }, - 6: { code: 'Help' }, - 8: { code: 'Backspace' }, - 9: { code: 'Tab' }, - 12: { code: 'Clear' }, - 13: { code: 'Enter' }, - 16: { code: 'Shift' }, - 17: { code: 'Control' }, - 18: { code: 'Alt' }, - 19: { code: 'Pause' }, - 20: { code: 'CapsLock' }, - 21: { code: 'KanaMode' }, - 22: { code: 'HangulMode' }, - 23: { code: 'JunjaMode' }, - 24: { code: 'FinalMode' }, - 25: { code: 'KanjiMode' }, - 27: { code: 'Escape' }, - 28: { code: 'Convert' }, - 29: { code: 'NonConvert' }, - 30: { code: 'Accept' }, - 31: { code: 'ModeChange' }, - 32: { code: 'Space' }, - 33: { code: 'PageUp' }, - 34: { code: 'PageDown' }, - 35: { code: 'End' }, - 36: { code: 'Home' }, - 37: { code: 'ArrowLeft' }, - 38: { code: 'ArrowUp' }, - 39: { code: 'ArrowRight' }, - 40: { code: 'ArrowDown' }, - 41: { code: 'Select' }, - 42: { code: 'Print' }, - 43: { code: 'Execute' }, - 44: { code: 'PrintScreen' }, - 45: { code: 'Insert' }, - 46: { code: 'Delete' }, - 47: { code: 'Help' }, - 48: { code: 'Digit0', keyCap: '0' }, - 49: { code: 'Digit1', keyCap: '1' }, - 50: { code: 'Digit2', keyCap: '2' }, - 51: { code: 'Digit3', keyCap: '3' }, - 52: { code: 'Digit4', keyCap: '4' }, - 53: { code: 'Digit5', keyCap: '5' }, - 54: { code: 'Digit6', keyCap: '6' }, - 55: { code: 'Digit7', keyCap: '7' }, - 56: { code: 'Digit8', keyCap: '8' }, - 57: { code: 'Digit9', keyCap: '9' }, - 65: { code: 'KeyA', keyCap: 'a' }, - 66: { code: 'KeyB', keyCap: 'b' }, - 67: { code: 'KeyC', keyCap: 'c' }, - 68: { code: 'KeyD', keyCap: 'd' }, - 69: { code: 'KeyE', keyCap: 'e' }, - 70: { code: 'KeyF', keyCap: 'f' }, - 71: { code: 'KeyG', keyCap: 'g' }, - 72: { code: 'KeyH', keyCap: 'h' }, - 73: { code: 'KeyI', keyCap: 'i' }, - 74: { code: 'KeyJ', keyCap: 'j' }, - 75: { code: 'KeyK', keyCap: 'k' }, - 76: { code: 'KeyL', keyCap: 'l' }, - 77: { code: 'KeyM', keyCap: 'm' }, - 78: { code: 'KeyN', keyCap: 'n' }, - 79: { code: 'KeyO', keyCap: 'o' }, - 80: { code: 'KeyP', keyCap: 'p' }, - 81: { code: 'KeyQ', keyCap: 'q' }, - 82: { code: 'KeyR', keyCap: 'r' }, - 83: { code: 'KeyS', keyCap: 's' }, - 84: { code: 'KeyT', keyCap: 't' }, - 85: { code: 'KeyU', keyCap: 'u' }, - 86: { code: 'KeyV', keyCap: 'v' }, - 87: { code: 'KeyW', keyCap: 'w' }, - 88: { code: 'KeyX', keyCap: 'x' }, - 89: { code: 'KeyY', keyCap: 'y' }, - 90: { code: 'KeyZ', keyCap: 'z' }, - 91: { code: 'OSLeft', location: r }, - 92: { code: 'OSRight', location: i }, - 93: { code: 'ContextMenu' }, - 95: { code: 'Standby' }, - 96: { code: 'Numpad0', keyCap: '0', location: o }, - 97: { code: 'Numpad1', keyCap: '1', location: o }, - 98: { code: 'Numpad2', keyCap: '2', location: o }, - 99: { code: 'Numpad3', keyCap: '3', location: o }, - 100: { code: 'Numpad4', keyCap: '4', location: o }, - 101: { code: 'Numpad5', keyCap: '5', location: o }, - 102: { code: 'Numpad6', keyCap: '6', location: o }, - 103: { code: 'Numpad7', keyCap: '7', location: o }, - 104: { code: 'Numpad8', keyCap: '8', location: o }, - 105: { code: 'Numpad9', keyCap: '9', location: o }, - 106: { code: 'NumpadMultiply', keyCap: '*', location: o }, - 107: { code: 'NumpadAdd', keyCap: '+', location: o }, - 108: { code: 'NumpadComma', keyCap: ',', location: o }, - 109: { code: 'NumpadSubtract', keyCap: '-', location: o }, - 110: { code: 'NumpadDecimal', keyCap: '.', location: o }, - 111: { code: 'NumpadDivide', keyCap: '/', location: o }, - 112: { code: 'F1' }, - 113: { code: 'F2' }, - 114: { code: 'F3' }, - 115: { code: 'F4' }, - 116: { code: 'F5' }, - 117: { code: 'F6' }, - 118: { code: 'F7' }, - 119: { code: 'F8' }, - 120: { code: 'F9' }, - 121: { code: 'F10' }, - 122: { code: 'F11' }, - 123: { code: 'F12' }, - 124: { code: 'F13' }, - 125: { code: 'F14' }, - 126: { code: 'F15' }, - 127: { code: 'F16' }, - 128: { code: 'F17' }, - 129: { code: 'F18' }, - 130: { code: 'F19' }, - 131: { code: 'F20' }, - 132: { code: 'F21' }, - 133: { code: 'F22' }, - 134: { code: 'F23' }, - 135: { code: 'F24' }, - 144: { code: 'NumLock', location: o }, - 145: { code: 'ScrollLock' }, - 160: { code: 'ShiftLeft', location: r }, - 161: { code: 'ShiftRight', location: i }, - 162: { code: 'ControlLeft', location: r }, - 163: { code: 'ControlRight', location: i }, - 164: { code: 'AltLeft', location: r }, - 165: { code: 'AltRight', location: i }, - 166: { code: 'BrowserBack' }, - 167: { code: 'BrowserForward' }, - 168: { code: 'BrowserRefresh' }, - 169: { code: 'BrowserStop' }, - 170: { code: 'BrowserSearch' }, - 171: { code: 'BrowserFavorites' }, - 172: { code: 'BrowserHome' }, - 173: { code: 'VolumeMute' }, - 174: { code: 'VolumeDown' }, - 175: { code: 'VolumeUp' }, - 176: { code: 'MediaTrackNext' }, - 177: { code: 'MediaTrackPrevious' }, - 178: { code: 'MediaStop' }, - 179: { code: 'MediaPlayPause' }, - 180: { code: 'LaunchMail' }, - 181: { code: 'MediaSelect' }, - 182: { code: 'LaunchApp1' }, - 183: { code: 'LaunchApp2' }, - 186: { code: 'Semicolon', keyCap: ';' }, - 187: { code: 'Equal', keyCap: '=' }, - 188: { code: 'Comma', keyCap: ',' }, - 189: { code: 'Minus', keyCap: '-' }, - 190: { code: 'Period', keyCap: '.' }, - 191: { code: 'Slash', keyCap: '/' }, - 192: { code: 'Backquote', keyCap: '`' }, - 219: { code: 'BracketLeft', keyCap: '[' }, - 220: { code: 'Backslash', keyCap: '\\' }, - 221: { code: 'BracketRight', keyCap: ']' }, - 222: { code: 'Quote', keyCap: "'" }, - 226: { code: 'IntlBackslash', keyCap: '\\' }, - 229: { code: 'Process' }, - 246: { code: 'Attn' }, - 247: { code: 'CrSel' }, - 248: { code: 'ExSel' }, - 249: { code: 'EraseEof' }, - 250: { code: 'Play' }, - 251: { code: 'ZoomToggle' }, - 254: { code: 'Clear' }, - } - c(d, 'moz', { - 59: { code: 'Semicolon', keyCap: ';' }, - 61: { code: 'Equal', keyCap: '=' }, - 107: { code: 'Equal', keyCap: '=' }, - 109: { code: 'Minus', keyCap: '-' }, - 187: { code: 'NumpadAdd', keyCap: '+', location: o }, - 189: { code: 'NumpadSubtract', keyCap: '-', location: o }, - }), - c(d, 'moz-mac', { - 12: { code: 'NumLock', location: o }, - 173: { code: 'Minus', keyCap: '-' }, - }), - c(d, 'moz-win', { 173: { code: 'Minus', keyCap: '-' } }), - c(d, 'chrome-mac', { 93: { code: 'OSRight', location: i } }), - c(d, 'safari', { 3: { code: 'Enter' }, 25: { code: 'Tab' } }), - c(d, 'ios', { 10: { code: 'Enter', location: n } }), - c(d, 'safari-mac', { - 91: { code: 'OSLeft', location: r }, - 93: { code: 'OSRight', location: i }, - 229: { code: 'KeyQ', keyCap: 'Q' }, - }) - var f = {} - 'cros' === s && - ((f['U+00A0'] = { code: 'ShiftLeft', location: r }), - (f['U+00A1'] = { code: 'ShiftRight', location: i }), - (f['U+00A2'] = { code: 'ControlLeft', location: r }), - (f['U+00A3'] = { code: 'ControlRight', location: i }), - (f['U+00A4'] = { code: 'AltLeft', location: r }), - (f['U+00A5'] = { code: 'AltRight', location: i })), - 'chrome-mac' === l && (f['U+0010'] = { code: 'ContextMenu' }), - 'safari-mac' === l && (f['U+0010'] = { code: 'ContextMenu' }), - 'ios' === s && - ((f['U+0010'] = { code: 'Function' }), - (f['U+001C'] = { code: 'ArrowLeft' }), - (f['U+001D'] = { code: 'ArrowRight' }), - (f['U+001E'] = { code: 'ArrowUp' }), - (f['U+001F'] = { code: 'ArrowDown' }), - (f['U+0001'] = { code: 'Home' }), - (f['U+0004'] = { code: 'End' }), - (f['U+000B'] = { code: 'PageUp' }), - (f['U+000C'] = { code: 'PageDown' })) - var h = [] - ;(h[r] = { - 16: { code: 'ShiftLeft', location: r }, - 17: { code: 'ControlLeft', location: r }, - 18: { code: 'AltLeft', location: r }, - }), - (h[i] = { - 16: { code: 'ShiftRight', location: i }, - 17: { code: 'ControlRight', location: i }, - 18: { code: 'AltRight', location: i }, - }), - (h[o] = { 13: { code: 'NumpadEnter', location: o } }), - c(h[o], 'moz', { - 109: { code: 'NumpadSubtract', location: o }, - 107: { code: 'NumpadAdd', location: o }, - }), - c(h[r], 'moz-mac', { 224: { code: 'OSLeft', location: r } }), - c(h[i], 'moz-mac', { 224: { code: 'OSRight', location: i } }), - c(h[i], 'moz-win', { 91: { code: 'OSRight', location: i } }), - c(h[i], 'mac', { 93: { code: 'OSRight', location: i } }), - c(h[o], 'chrome-mac', { 12: { code: 'NumLock', location: o } }), - c(h[o], 'safari-mac', { - 12: { code: 'NumLock', location: o }, - 187: { code: 'NumpadAdd', location: o }, - 189: { code: 'NumpadSubtract', location: o }, - 190: { code: 'NumpadDecimal', location: o }, - 191: { code: 'NumpadDivide', location: o }, - }) - var p = { - ShiftLeft: { key: 'Shift' }, - ShiftRight: { key: 'Shift' }, - ControlLeft: { key: 'Control' }, - ControlRight: { key: 'Control' }, - AltLeft: { key: 'Alt' }, - AltRight: { key: 'Alt' }, - OSLeft: { key: 'OS' }, - OSRight: { key: 'OS' }, - NumpadEnter: { key: 'Enter' }, - Space: { key: ' ' }, - Digit0: { key: '0', shiftKey: ')' }, - Digit1: { key: '1', shiftKey: '!' }, - Digit2: { key: '2', shiftKey: '@' }, - Digit3: { key: '3', shiftKey: '#' }, - Digit4: { key: '4', shiftKey: '$' }, - Digit5: { key: '5', shiftKey: '%' }, - Digit6: { key: '6', shiftKey: '^' }, - Digit7: { key: '7', shiftKey: '&' }, - Digit8: { key: '8', shiftKey: '*' }, - Digit9: { key: '9', shiftKey: '(' }, - KeyA: { key: 'a', shiftKey: 'A' }, - KeyB: { key: 'b', shiftKey: 'B' }, - KeyC: { key: 'c', shiftKey: 'C' }, - KeyD: { key: 'd', shiftKey: 'D' }, - KeyE: { key: 'e', shiftKey: 'E' }, - KeyF: { key: 'f', shiftKey: 'F' }, - KeyG: { key: 'g', shiftKey: 'G' }, - KeyH: { key: 'h', shiftKey: 'H' }, - KeyI: { key: 'i', shiftKey: 'I' }, - KeyJ: { key: 'j', shiftKey: 'J' }, - KeyK: { key: 'k', shiftKey: 'K' }, - KeyL: { key: 'l', shiftKey: 'L' }, - KeyM: { key: 'm', shiftKey: 'M' }, - KeyN: { key: 'n', shiftKey: 'N' }, - KeyO: { key: 'o', shiftKey: 'O' }, - KeyP: { key: 'p', shiftKey: 'P' }, - KeyQ: { key: 'q', shiftKey: 'Q' }, - KeyR: { key: 'r', shiftKey: 'R' }, - KeyS: { key: 's', shiftKey: 'S' }, - KeyT: { key: 't', shiftKey: 'T' }, - KeyU: { key: 'u', shiftKey: 'U' }, - KeyV: { key: 'v', shiftKey: 'V' }, - KeyW: { key: 'w', shiftKey: 'W' }, - KeyX: { key: 'x', shiftKey: 'X' }, - KeyY: { key: 'y', shiftKey: 'Y' }, - KeyZ: { key: 'z', shiftKey: 'Z' }, - Numpad0: { key: '0' }, - Numpad1: { key: '1' }, - Numpad2: { key: '2' }, - Numpad3: { key: '3' }, - Numpad4: { key: '4' }, - Numpad5: { key: '5' }, - Numpad6: { key: '6' }, - Numpad7: { key: '7' }, - Numpad8: { key: '8' }, - Numpad9: { key: '9' }, - NumpadMultiply: { key: '*' }, - NumpadAdd: { key: '+' }, - NumpadComma: { key: ',' }, - NumpadSubtract: { key: '-' }, - NumpadDecimal: { key: '.' }, - NumpadDivide: { key: '/' }, - Semicolon: { key: ';', shiftKey: ':' }, - Equal: { key: '=', shiftKey: '+' }, - Comma: { key: ',', shiftKey: '<' }, - Minus: { key: '-', shiftKey: '_' }, - Period: { key: '.', shiftKey: '>' }, - Slash: { key: '/', shiftKey: '?' }, - Backquote: { key: '`', shiftKey: '~' }, - BracketLeft: { key: '[', shiftKey: '{' }, - Backslash: { key: '\\', shiftKey: '|' }, - BracketRight: { key: ']', shiftKey: '}' }, - Quote: { key: "'", shiftKey: '"' }, - IntlBackslash: { key: '\\', shiftKey: '|' }, - } - c(p, 'mac', { OSLeft: { key: 'Meta' }, OSRight: { key: 'Meta' } }) - var v = { - Esc: 'Escape', - Nonconvert: 'NonConvert', - Left: 'ArrowLeft', - Up: 'ArrowUp', - Right: 'ArrowRight', - Down: 'ArrowDown', - Del: 'Delete', - Menu: 'ContextMenu', - MediaNextTrack: 'MediaTrackNext', - MediaPreviousTrack: 'MediaTrackPrevious', - SelectMedia: 'MediaSelect', - HalfWidth: 'Hankaku', - FullWidth: 'Zenkaku', - RomanCharacters: 'Romaji', - Crsel: 'CrSel', - Exsel: 'ExSel', - Zoom: 'ZoomToggle', - }, - m = (function (e, t) { - var n = {} - return ( - Object.keys(e).forEach(function (r) { - var i = e[r] - t in i && (n[i[t]] = i) - }), - n - ) - })(d, 'code') - try { - var g = t && 'location' in new KeyboardEvent('') - } catch (b) {} - function y(e) { - var t = 'keyCode' in e ? e.keyCode : 'which' in e ? e.which : 0, - n = (function () { - if (g || 'keyLocation' in e) { - var n = g ? e.location : e.keyLocation - if (n && t in h[n]) return h[n][t] - } - return 'keyIdentifier' in e && e.keyIdentifier in f - ? f[e.keyIdentifier] - : t in d - ? d[t] - : null - })() - if (!n) return null - var r = (function () { - var t = p[n.code] - return t ? (e.shiftKey && 'shiftKey' in t ? t.shiftKey : t.key) : n.code - })() - return { code: n.code, key: r, location: n.location, keyCap: n.keyCap } - } - 'KeyboardEvent' in e && - 'defineProperty' in Object && - (function () { - function e(e, t, n) { - t in e || Object.defineProperty(e, t, n) - } - if ( - (e(KeyboardEvent.prototype, 'code', { - get: function () { - var e = y(this) - return e ? e.code : '' - }, - }), - 'key' in KeyboardEvent.prototype) - ) { - var t = Object.getOwnPropertyDescriptor(KeyboardEvent.prototype, 'key') - Object.defineProperty(KeyboardEvent.prototype, 'key', { - get: function () { - var e = t.get.call(this) - return v.hasOwnProperty(e) ? v[e] : e - }, - }) - } - e(KeyboardEvent.prototype, 'key', { - get: function () { - var e = y(this) - return e && 'key' in e ? e.key : 'Unidentified' - }, - }), - e(KeyboardEvent.prototype, 'location', { - get: function () { - var e = y(this) - return e && 'location' in e ? e.location : n - }, - }), - e(KeyboardEvent.prototype, 'locale', { - get: function () { - return '' - }, - }) - })(), - 'queryKeyCap' in e.KeyboardEvent || - (e.KeyboardEvent.queryKeyCap = function (e, t) { - if (((e = String(e)), !m.hasOwnProperty(e))) return 'Undefined' - if (t && 'en-us' !== String(t).toLowerCase()) throw Error('Unsupported locale') - var n = m[e] - return n.keyCap || n.code || 'Undefined' - }), - (e.identifyKey = function (e) { - if (!('code' in e)) { - var t = y(e) - ;(e.code = t ? t.code : ''), - (e.key = t && 'key' in t ? t.key : 'Unidentified'), - (e.location = - 'location' in e - ? e.location - : 'keyLocation' in e - ? e.keyLocation - : t && 'location' in t - ? t.location - : n), - (e.locale = '') - } - }) - })(window) - }, - 3386: function (e) { - e.exports = AFRAME.registerComponent('checkpoint-controls', { - schema: { - enabled: { default: !0 }, - mode: { default: 'teleport', oneOf: ['teleport', 'animate'] }, - animateSpeed: { default: 3 }, - }, - init: function () { - ;(this.active = !0), - (this.checkpoint = null), - (this.isNavMeshConstrained = !1), - (this.offset = new THREE.Vector3()), - (this.position = new THREE.Vector3()), - (this.targetPosition = new THREE.Vector3()) - }, - play: function () { - this.active = !0 - }, - pause: function () { - this.active = !1 - }, - setCheckpoint: function (e) { - const t = this.el - this.active && - this.checkpoint !== e && - (this.checkpoint && t.emit('navigation-end', { checkpoint: this.checkpoint }), - (this.checkpoint = e), - this.sync(), - this.position.distanceTo(this.targetPosition) < 0.1 - ? (this.checkpoint = null) - : (t.emit('navigation-start', { checkpoint: e }), - 'teleport' === this.data.mode && - (this.el.setAttribute('position', this.targetPosition), - (this.checkpoint = null), - t.emit('navigation-end', { checkpoint: e }), - t.components['movement-controls'].updateNavLocation()))) - }, - isVelocityActive: function () { - return !(!this.active || !this.checkpoint) - }, - getVelocity: function () { - if (!this.active) return - const e = this.data, - t = this.offset, - n = this.position, - r = this.targetPosition, - i = this.checkpoint - return ( - this.sync(), - n.distanceTo(r) < 0.1 - ? ((this.checkpoint = null), - this.el.emit('navigation-end', { checkpoint: i }), - t.set(0, 0, 0)) - : (t.setLength(e.animateSpeed), t) - ) - }, - sync: function () { - const e = this.offset, - t = this.position, - n = this.targetPosition - t.copy(this.el.getAttribute('position')), - this.checkpoint.object3D.getWorldPosition(n), - n.add(this.checkpoint.components.checkpoint.getOffset()), - e.copy(n).sub(t) - }, - }) - }, - 5062: function (e, t, n) { - const r = n(6453), - i = n(4379), - o = 0.2, - a = 'left', - s = 'right', - u = 1, - l = 2 - e.exports = AFRAME.registerComponent('gamepad-controls', { - GamepadButton: r, - schema: { - enabled: { default: !0 }, - camera: { default: '[camera]', type: 'selector' }, - rotationSensitivity: { default: 2 }, - }, - init: function () { - const e = this.el.sceneEl - ;(this.system = e.systems['tracked-controls-webxr'] || { controllers: [] }), - (this.prevTime = window.performance.now()), - (this.buttons = {}) - const t = this.el.object3D.rotation - ;(this.pitch = new THREE.Object3D()), - (this.pitch.rotation.x = THREE.Math.degToRad(t.x)), - (this.yaw = new THREE.Object3D()), - (this.yaw.position.y = 10), - (this.yaw.rotation.y = THREE.Math.degToRad(t.y)), - this.yaw.add(this.pitch), - (this._lookVector = new THREE.Vector2()), - (this._moveVector = new THREE.Vector2()), - (this._dpadVector = new THREE.Vector2()), - e.addBehavior(this) - }, - update: function () { - this.tick() - }, - tick: function (e, t) { - this.updateButtonState(), this.updateRotation(t) - }, - remove: function () {}, - isVelocityActive: function () { - if (!this.data.enabled || !this.isConnected()) return !1 - const e = this._dpadVector, - t = this._moveVector - this.getDpad(e), this.getJoystick(u, t) - const n = e.x || t.x, - r = e.y || t.y - return Math.abs(n) > o || Math.abs(r) > o - }, - getVelocityDelta: function () { - const e = this._dpadVector, - t = this._moveVector - this.getDpad(e), this.getJoystick(u, t) - const n = e.x || t.x, - r = e.y || t.y, - i = new THREE.Vector3() - return Math.abs(n) > o && (i.x += n), Math.abs(r) > o && (i.z += r), i - }, - isRotationActive: function () { - if (!this.data.enabled || !this.isConnected()) return !1 - const e = this._lookVector - return this.getJoystick(l, e), Math.abs(e.x) > o || Math.abs(e.y) > o - }, - updateRotation: function (e) { - if (!this.isRotationActive()) return - const t = this.data, - n = this.yaw, - r = this.pitch, - i = t.camera.components['look-controls'], - a = i && i.pitchObject && i.yawObject - a && (r.rotation.copy(i.pitchObject.rotation), n.rotation.copy(i.yawObject.rotation)) - const s = this._lookVector - this.getJoystick(l, s), - Math.abs(s.x) <= o && (s.x = 0), - Math.abs(s.y) <= o && (s.y = 0), - s.multiplyScalar((t.rotationSensitivity * e) / 1e3), - (n.rotation.y -= s.x), - (r.rotation.x -= s.y), - (r.rotation.x = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, r.rotation.x))), - t.camera.object3D.rotation.set(r.rotation.x, n.rotation.y, 0), - a && (i.pitchObject.rotation.copy(r.rotation), i.yawObject.rotation.copy(n.rotation)) - }, - updateButtonState: function () { - const e = this.getGamepad(s) - if (this.data.enabled && e) - for (var t = 0; t < e.buttons.length; t++) - e.buttons[t].pressed && !this.buttons[t] - ? this.emit(new i('gamepadbuttondown', t, e.buttons[t])) - : !e.buttons[t].pressed && - this.buttons[t] && - this.emit(new i('gamepadbuttonup', t, e.buttons[t])), - (this.buttons[t] = e.buttons[t].pressed) - else Object.keys(this.buttons) && (this.buttons = {}) - }, - emit: function (e) { - this.el.emit(e.type, e), this.el.emit(e.type + ':' + e.index, new i(e.type, e.index, e)) - }, - getGamepad: (function () { - const e = [], - t = [] - return function (n) { - const r = this.el.sceneEl.components['proxy-controls'], - i = r && r.isConnected() && r.getGamepad(0) - if (i) return i - e.length = 0 - for (let t = 0; t < this.system.controllers.length; t++) { - const r = this.system.controllers[t], - i = r ? r.gamepad : null - if ((e.push(i), i && i.handedness === n)) return i - } - const o = navigator.getGamepads ? navigator.getGamepads() : t - for (let e = 0; e < o.length; e++) { - const t = o[e] - if (t && t.hand === n) return t - } - return e[0] || o[0] - } - })(), - getButton: function (e) { - return this.getGamepad(s).buttons[e] - }, - getAxis: function (e) { - return this.getGamepad(e > 1 ? s : a).axes[e] - }, - getJoystick: function (e, t) { - const n = this.getGamepad(e === u ? a : s) - if ('xr-standard' === n.mapping) - switch (e) { - case u: - return t.set(n.axes[2], n.axes[3]) - case l: - return t.set(n.axes[0], n.axes[1]) - } - else - switch (e) { - case u: - return t.set(n.axes[0], n.axes[1]) - case l: - return t.set(n.axes[2], n.axes[3]) - } - throw new Error('Unexpected joystick index "%d".', e) - }, - getDpad: function (e) { - const t = this.getGamepad(a) - return t.buttons[r.DPAD_RIGHT] - ? e.set( - (t.buttons[r.DPAD_RIGHT].pressed ? 1 : 0) + - (t.buttons[r.DPAD_LEFT].pressed ? -1 : 0), - (t.buttons[r.DPAD_UP].pressed ? -1 : 0) + (t.buttons[r.DPAD_DOWN].pressed ? 1 : 0), - ) - : e.set(0, 0) - }, - isConnected: function () { - const e = this.getGamepad(a) - return !(!e || !e.connected) - }, - getID: function () { - return this.getGamepad(a).id - }, - }) - }, - 2406: function (e, t, n) { - n(3386), n(5062), n(2250), n(9048), n(3819), n(9893) - }, - 2250: function (e, t, n) { - n(7454) - const r = window.KeyboardEvent - e.exports = AFRAME.registerComponent('keyboard-controls', { - schema: { enabled: { default: !0 }, debug: { default: !1 } }, - init: function () { - ;(this.dVelocity = new THREE.Vector3()), - (this.localKeys = {}), - (this.listeners = { - keydown: this.onKeyDown.bind(this), - keyup: this.onKeyUp.bind(this), - blur: this.onBlur.bind(this), - }), - this.attachEventListeners() - }, - isVelocityActive: function () { - return this.data.enabled && !!Object.keys(this.getKeys()).length - }, - getVelocityDelta: function () { - const e = this.data, - t = this.getKeys() - return ( - this.dVelocity.set(0, 0, 0), - e.enabled && - ((t.KeyW || t.ArrowUp) && (this.dVelocity.z -= 1), - (t.KeyA || t.ArrowLeft) && (this.dVelocity.x -= 1), - (t.KeyS || t.ArrowDown) && (this.dVelocity.z += 1), - (t.KeyD || t.ArrowRight) && (this.dVelocity.x += 1)), - this.dVelocity.clone() - ) - }, - play: function () { - this.attachEventListeners() - }, - pause: function () { - this.removeEventListeners() - }, - remove: function () { - this.pause() - }, - attachEventListeners: function () { - window.addEventListener('keydown', this.listeners.keydown, !1), - window.addEventListener('keyup', this.listeners.keyup, !1), - window.addEventListener('blur', this.listeners.blur, !1) - }, - removeEventListeners: function () { - window.removeEventListener('keydown', this.listeners.keydown), - window.removeEventListener('keyup', this.listeners.keyup), - window.removeEventListener('blur', this.listeners.blur) - }, - onKeyDown: function (e) { - AFRAME.utils.shouldCaptureKeyEvent(e) && ((this.localKeys[e.code] = !0), this.emit(e)) - }, - onKeyUp: function (e) { - AFRAME.utils.shouldCaptureKeyEvent(e) && (delete this.localKeys[e.code], this.emit(e)) - }, - onBlur: function () { - for (let e in this.localKeys) this.localKeys.hasOwnProperty(e) && delete this.localKeys[e] - }, - emit: function (e) { - '__keyboard-controls-proxy' in e && this.el.emit(e.type, e), - this.el.emit(e.type + ':' + e.code, new r(e.type, e)), - this.data.debug && console.log(e.type + ':' + e.code) - }, - isPressed: function (e) { - return e in this.getKeys() - }, - getKeys: function () { - return this.isProxied() - ? this.el.sceneEl.components['proxy-controls'].getKeyboard() - : this.localKeys - }, - isProxied: function () { - const e = this.el.sceneEl.components['proxy-controls'] - return e && e.isConnected() - }, - }) - }, - 3819: function (e) { - const t = '-controls' - e.exports = AFRAME.registerComponent('movement-controls', { - dependencies: ['rotation'], - schema: { - enabled: { default: !0 }, - controls: { default: ['gamepad', 'trackpad', 'keyboard', 'touch'] }, - speed: { default: 0.3, min: 0 }, - fly: { default: !1 }, - constrainToNavMesh: { default: !1 }, - camera: { default: '[movement-controls] [camera]', type: 'selector' }, - }, - init: function () { - const e = this.el - ;(this.velocityCtrl = null), - (this.velocity = new THREE.Vector3()), - (this.heading = new THREE.Quaternion()), - (this.navGroup = null), - (this.navNode = null), - e.sceneEl.hasLoaded - ? this.injectControls() - : e.sceneEl.addEventListener('loaded', this.injectControls.bind(this)) - }, - update: function (e) { - const t = this.el, - n = this.data, - r = t.sceneEl.systems.nav - t.sceneEl.hasLoaded && this.injectControls(), - r && - n.constrainToNavMesh !== e.constrainToNavMesh && - (n.constrainToNavMesh ? r.addAgent(this) : r.removeAgent(this)) - }, - injectControls: function () { - const e = this.data - var n - for (let r = 0; r < e.controls.length; r++) - (n = e.controls[r] + t), this.el.components[n] || this.el.setAttribute(n, '') - }, - updateNavLocation: function () { - ;(this.navGroup = null), (this.navNode = null) - }, - tick: (function () { - const e = new THREE.Vector3(), - t = new THREE.Vector3(), - n = new THREE.Vector3() - return function (r, i) { - if (!i) return - const o = this.el, - a = this.data - if (!a.enabled) return - this.updateVelocityCtrl() - const s = this.velocityCtrl, - u = this.velocity - if (s) - if ( - (i / 1e3 > 0.2 ? u.set(0, 0, 0) : this.updateVelocity(i), - a.constrainToNavMesh && !1 !== s.isNavMeshConstrained) - ) { - if (u.lengthSq() < 1e-5) return - e.copy(o.object3D.position), - t - .copy(u) - .multiplyScalar(i / 1e3) - .add(e) - const r = o.sceneEl.systems.nav - ;(this.navGroup = null === this.navGroup ? r.getGroup(e) : this.navGroup), - (this.navNode = this.navNode || r.getNode(e, this.navGroup)), - (this.navNode = r.clampStep(e, t, this.navGroup, this.navNode, n)), - o.object3D.position.copy(n) - } else - o.hasAttribute('velocity') - ? o.setAttribute('velocity', u) - : ((o.object3D.position.x += (u.x * i) / 1e3), - (o.object3D.position.y += (u.y * i) / 1e3), - (o.object3D.position.z += (u.z * i) / 1e3)) - } - })(), - updateVelocityCtrl: function () { - const e = this.data - if (e.enabled) { - for (let n = 0, r = e.controls.length; n < r; n++) { - const r = this.el.components[e.controls[n] + t] - if (r && r.isVelocityActive()) return void (this.velocityCtrl = r) - } - this.velocityCtrl = null - } - }, - updateVelocity: (function () { - const e = new THREE.Vector2(), - t = new THREE.Quaternion() - return function (n) { - let r - const i = this.el, - o = this.velocityCtrl, - a = this.velocity, - s = this.data - if (o) { - if (!o.getVelocityDelta) { - if (o.getVelocity) return void a.copy(o.getVelocity()) - if (o.getPositionDelta) - return void a.copy(o.getPositionDelta(n).multiplyScalar(1e3 / n)) - throw new Error('Incompatible movement controls: ', o) - } - r = o.getVelocityDelta(n) - } - if ( - (i.hasAttribute('velocity') && - !s.constrainToNavMesh && - a.copy(this.el.getAttribute('velocity')), - r && s.enabled) - ) { - const n = s.camera - t.copy(n.object3D.quaternion), - t.premultiply(i.object3D.quaternion), - r.applyQuaternion(t) - const o = r.length() - s.fly - ? (a.copy(r), a.multiplyScalar(16.66667 * this.data.speed)) - : (e.set(r.x, r.z), - e.setLength(o * this.data.speed * 16.66667), - (a.x = e.x), - (a.z = e.y)) - } - } - })(), - }) - }, - 9048: function (e) { - e.exports = AFRAME.registerComponent('touch-controls', { - schema: { enabled: { default: !0 }, reverseEnabled: { default: !0 } }, - init: function () { - ;(this.dVelocity = new THREE.Vector3()), this.bindMethods(), (this.direction = 0) - }, - play: function () { - this.addEventListeners() - }, - pause: function () { - this.removeEventListeners(), this.dVelocity.set(0, 0, 0) - }, - remove: function () { - this.pause() - }, - addEventListeners: function () { - const e = this.el.sceneEl, - t = e.canvas - t - ? (t.addEventListener('touchstart', this.onTouchStart), - t.addEventListener('touchend', this.onTouchEnd)) - : e.addEventListener('render-target-loaded', this.addEventListeners.bind(this)) - }, - removeEventListeners: function () { - const e = this.el.sceneEl && this.el.sceneEl.canvas - e && - (e.removeEventListener('touchstart', this.onTouchStart), - e.removeEventListener('touchend', this.onTouchEnd)) - }, - isVelocityActive: function () { - return this.data.enabled && !!this.direction - }, - getVelocityDelta: function () { - return (this.dVelocity.z = this.direction), this.dVelocity.clone() - }, - bindMethods: function () { - ;(this.onTouchStart = this.onTouchStart.bind(this)), - (this.onTouchEnd = this.onTouchEnd.bind(this)) - }, - onTouchStart: function (e) { - ;(this.direction = -1), - this.data.reverseEnabled && 2 === e.touches.length && (this.direction = 1), - e.preventDefault() - }, - onTouchEnd: function (e) { - ;(this.direction = 0), e.preventDefault() - }, - }) - }, - 9893: function (e) { - e.exports = AFRAME.registerComponent('trackpad-controls', { - schema: { - enabled: { default: !0 }, - enableNegX: { default: !0 }, - enablePosX: { default: !0 }, - enableNegZ: { default: !0 }, - enablePosZ: { default: !0 }, - mode: { default: 'touch', oneOf: ['swipe', 'touch', 'press'] }, - }, - init: function () { - ;(this.dVelocity = new THREE.Vector3()), - (this.zVel = 0), - (this.xVel = 0), - this.bindMethods() - }, - play: function () { - this.addEventListeners() - }, - pause: function () { - this.removeEventListeners(), this.dVelocity.set(0, 0, 0) - }, - remove: function () { - this.pause() - }, - addEventListeners: function () { - const e = this.data, - t = this.el.sceneEl - switch ((t.addEventListener('axismove', this.onAxisMove), e.mode)) { - case 'swipe': - case 'touch': - t.addEventListener('trackpadtouchstart', this.onTouchStart), - t.addEventListener('trackpadtouchend', this.onTouchEnd) - break - case 'press': - t.addEventListener('trackpaddown', this.onTouchStart), - t.addEventListener('trackpadup', this.onTouchEnd) - } - }, - removeEventListeners: function () { - const e = this.el.sceneEl - e.removeEventListener('axismove', this.onAxisMove), - e.removeEventListener('trackpadtouchstart', this.onTouchStart), - e.removeEventListener('trackpadtouchend', this.onTouchEnd), - e.removeEventListener('trackpaddown', this.onTouchStart), - e.removeEventListener('trackpadup', this.onTouchEnd) - }, - isVelocityActive: function () { - return this.data.enabled && this.isMoving - }, - getVelocityDelta: function () { - return ( - (this.dVelocity.z = this.isMoving ? -this.zVel : 1), - (this.dVelocity.x = this.isMoving ? this.xVel : 1), - this.dVelocity.clone() - ) - }, - bindMethods: function () { - ;(this.onTouchStart = this.onTouchStart.bind(this)), - (this.onTouchEnd = this.onTouchEnd.bind(this)), - (this.onAxisMove = this.onAxisMove.bind(this)) - }, - onTouchStart: function (e) { - switch (this.data.mode) { - case 'swipe': - ;(this.canRecordAxis = !0), (this.startingAxisData = []) - break - case 'touch': - case 'press': - this.isMoving = !0 - } - e.preventDefault() - }, - onTouchEnd: function (e) { - 'swipe' == this.data.mode && (this.startingAxisData = []), - (this.isMoving = !1), - e.preventDefault() - }, - onAxisMove: function (e) { - switch (this.data.mode) { - case 'swipe': - return this.handleSwipeAxis(e) - case 'touch': - case 'press': - return this.handleTouchAxis(e) - } - }, - handleSwipeAxis: function (e) { - const t = this.data, - n = e.detail.axis - if ( - (0 === this.startingAxisData.length && - this.canRecordAxis && - ((this.canRecordAxis = !1), - (this.startingAxisData[0] = n[0]), - (this.startingAxisData[1] = n[1])), - this.startingAxisData.length > 0) - ) { - let e = 0, - r = 0 - t.enableNegX && n[0] < this.startingAxisData[0] && (e = -1), - t.enablePosX && n[0] > this.startingAxisData[0] && (e = 1), - t.enablePosZ && n[1] > this.startingAxisData[1] && (r = -1), - t.enableNegZ && n[1] < this.startingAxisData[1] && (r = 1) - const i = Math.abs(this.startingAxisData[1] - n[1]) - Math.abs(this.startingAxisData[0] - n[0]) > i - ? ((this.zVel = 0), (this.xVel = e), (this.isMoving = !0)) - : ((this.xVel = 0), (this.zVel = r), (this.isMoving = !0)) - } - }, - handleTouchAxis: function (e) { - const t = this.data, - n = e.detail.axis - let r = 0, - i = 0 - t.enableNegX && n[0] < 0 && (r = -1), - t.enablePosX && n[0] > 0 && (r = 1), - t.enablePosZ && n[1] > 0 && (i = -1), - t.enableNegZ && n[1] < 0 && (i = 1), - Math.abs(n[0]) > Math.abs(n[1]) - ? ((this.zVel = 0), (this.xVel = r)) - : ((this.xVel = 0), (this.zVel = i)) - }, - }) - }, - 6591: function (e) { - const t = { once: THREE.LoopOnce, repeat: THREE.LoopRepeat, pingpong: THREE.LoopPingPong } - function n(e) { - return e.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&') - } - e.exports = AFRAME.registerComponent('animation-mixer', { - schema: { - clip: { default: '*' }, - duration: { default: 0 }, - clampWhenFinished: { default: !1, type: 'boolean' }, - crossFadeDuration: { default: 0 }, - loop: { default: 'repeat', oneOf: Object.keys(t) }, - repetitions: { default: 1 / 0, min: 0 }, - timeScale: { default: 1 }, - }, - init: function () { - ;(this.model = null), (this.mixer = null), (this.activeActions = []) - const e = this.el.getObject3D('mesh') - e - ? this.load(e) - : this.el.addEventListener('model-loaded', (e) => { - this.load(e.detail.model) - }) - }, - load: function (e) { - const t = this.el - ;(this.model = e), - (this.mixer = new THREE.AnimationMixer(e)), - this.mixer.addEventListener('loop', (e) => { - t.emit('animation-loop', { action: e.action, loopDelta: e.loopDelta }) - }), - this.mixer.addEventListener('finished', (e) => { - t.emit('animation-finished', { action: e.action, direction: e.direction }) - }), - this.data.clip && this.update({}) - }, - remove: function () { - this.mixer && this.mixer.stopAllAction() - }, - update: function (e) { - if (!e) return - const n = this.data, - r = AFRAME.utils.diff(n, e) - if ('clip' in r) return this.stopAction(), void (n.clip && this.playAction()) - this.activeActions.forEach((e) => { - 'duration' in r && n.duration && e.setDuration(n.duration), - 'clampWhenFinished' in r && (e.clampWhenFinished = n.clampWhenFinished), - ('loop' in r || 'repetitions' in r) && e.setLoop(t[n.loop], n.repetitions), - 'timeScale' in r && e.setEffectiveTimeScale(n.timeScale) - }) - }, - stopAction: function () { - const e = this.data - for (let t = 0; t < this.activeActions.length; t++) - e.crossFadeDuration - ? this.activeActions[t].fadeOut(e.crossFadeDuration) - : this.activeActions[t].stop() - this.activeActions.length = 0 - }, - playAction: function () { - if (!this.mixer) return - const e = this.model, - r = this.data, - i = e.animations || (e.geometry || {}).animations || [] - if (!i.length) return - const o = ((a = r.clip), new RegExp('^' + a.split(/\*+/).map(n).join('.*') + '$')) - var a - for (let n, s = 0; (n = i[s]); s++) - if (n.name.match(o)) { - const i = this.mixer.clipAction(n, e) - ;(i.enabled = !0), - (i.clampWhenFinished = r.clampWhenFinished), - r.duration && i.setDuration(r.duration), - 1 !== r.timeScale && i.setEffectiveTimeScale(r.timeScale), - i.setLoop(t[r.loop], r.repetitions).fadeIn(r.crossFadeDuration).play(), - this.activeActions.push(i) - } - }, - tick: function (e, t) { - this.mixer && !isNaN(t) && this.mixer.update(t / 1e3) - }, - }) - }, - 2290: function (e, t, n) { - ;(THREE.ColladaLoader = n(203)), - (e.exports.Component = AFRAME.registerComponent('collada-model-legacy', { - schema: { type: 'asset' }, - init: function () { - ;(this.model = null), (this.loader = new THREE.ColladaLoader()) - }, - update: function () { - var e = this, - t = this.el, - n = this.data, - r = this.el.sceneEl.systems.renderer - n && - (this.remove(), - this.loader.load(n, function (n) { - ;(e.model = n.scene), - e.model.traverse(function (e) { - if (e.isMesh) { - var t = e.material - t.color && r.applyColorCorrection(t.color), - t.map && r.applyColorCorrection(t.map), - t.emissive && r.applyColorCorrection(t.emissive), - t.emissiveMap && r.applyColorCorrection(t.emissiveMap) - } - }), - t.setObject3D('mesh', e.model), - t.emit('model-loaded', { format: 'collada', model: e.model }) - })) - }, - remove: function () { - this.model && this.el.removeObject3D('mesh') - }, - })) - }, - 5310: function (e, t, n) { - ;(THREE.FBXLoader = n(9434)), - (e.exports = AFRAME.registerComponent('fbx-model', { - schema: { src: { type: 'asset' }, crossorigin: { default: '' } }, - init: function () { - this.model = null - }, - update: function () { - const e = this.data - if (!e.src) return - this.remove() - const t = new THREE.FBXLoader() - e.crossorigin && t.setCrossOrigin(e.crossorigin), t.load(e.src, this.load.bind(this)) - }, - load: function (e) { - ;(this.model = e), - this.el.setObject3D('mesh', e), - this.el.emit('model-loaded', { format: 'fbx', model: e }) - }, - remove: function () { - this.model && this.el.removeObject3D('mesh') - }, - })) - }, - 8837: function (e, t, n) { - const r = n(4657)(), - i = (function () { - let e - return function () { - return ( - (e = - e || - r( - 'https://cdn.jsdelivr.net/gh/mrdoob/three.js@r86/examples/js/loaders/GLTFLoader.js', - )), - e - ) - } - })() - e.exports = AFRAME.registerComponent('gltf-model-legacy', { - schema: { type: 'model' }, - init: function () { - ;(this.model = null), - (this.loader = null), - (this.loaderPromise = i().then(() => { - ;(this.loader = new THREE.GLTFLoader()), this.loader.setCrossOrigin('Anonymous') - })) - }, - update: function () { - const e = this, - t = this.el, - n = this.data - n && - (this.remove(), - this.loaderPromise.then(() => { - this.loader.load(n, function (n) { - ;(e.model = n.scene), - (e.model.animations = n.animations), - t.setObject3D('mesh', e.model), - t.emit('model-loaded', { format: 'gltf', model: e.model }) - }) - })) - }, - remove: function () { - this.model && this.el.removeObject3D('mesh') - }, - }) - }, - 9874: function (e, t, n) { - n(6591), n(2290), n(5310), n(8837), n(171) - }, - 171: function (e) { - e.exports = AFRAME.registerComponent('object-model', { - schema: { src: { type: 'asset' }, crossorigin: { default: '' } }, - init: function () { - this.model = null - }, - update: function () { - let e - const t = this.data - t.src && - (this.remove(), - (e = new THREE.ObjectLoader()), - t.crossorigin && e.setCrossOrigin(t.crossorigin), - e.load(t.src, (e) => { - e.traverse((e) => { - e instanceof THREE.SkinnedMesh && - e.material && - (e.material.skinning = !!((e.geometry && e.geometry.bones) || []).length) - }), - this.load(e) - })) - }, - load: function (e) { - ;(this.model = e), - this.el.setObject3D('mesh', e), - this.el.emit('model-loaded', { format: 'json', model: e }) - }, - remove: function () { - this.model && this.el.removeObject3D('mesh') - }, - }) - }, - 7642: function (e) { - e.exports = AFRAME.registerComponent('checkpoint', { - schema: { offset: { default: { x: 0, y: 0, z: 0 }, type: 'vec3' } }, - init: function () { - ;(this.active = !1), - (this.targetEl = null), - (this.fire = this.fire.bind(this)), - (this.offset = new THREE.Vector3()) - }, - update: function () { - this.offset.copy(this.data.offset) - }, - play: function () { - this.el.addEventListener('click', this.fire) - }, - pause: function () { - this.el.removeEventListener('click', this.fire) - }, - remove: function () { - this.pause() - }, - fire: function () { - const e = this.el.sceneEl.querySelector('[checkpoint-controls]') - if (!e) throw new Error('No `checkpoint-controls` component found.') - e.components['checkpoint-controls'].setCheckpoint(this.el) - }, - getOffset: function () { - return this.offset.copy(this.data.offset) - }, - }) - }, - 4795: function (e) { - function t(e, t, n, r) { - e && - ((t = t || []), - e.traverse((e) => { - if (!e.isMesh) return - var i - ;((i = e.material) - ? Array.isArray(i) - ? i - : i.materials - ? i.materials - : [i] - : [] - ).forEach((e) => { - ;(e && !('envMap' in e)) || - (t.length && -1 === t.indexOf(e.name)) || - ((e.envMap = n), (e.reflectivity = r), (e.needsUpdate = !0)) - }) - })) - } - e.exports = AFRAME.registerComponent('cube-env-map', { - multiple: !0, - schema: { - path: { default: '' }, - extension: { default: 'jpg', oneOf: ['jpg', 'png'] }, - format: { default: 'RGBFormat', oneOf: ['RGBFormat', 'RGBAFormat'] }, - enableBackground: { default: !1 }, - reflectivity: { default: 1, min: 0, max: 1 }, - materials: { default: [] }, - }, - init: function () { - const e = this.data - ;(this.texture = new THREE.CubeTextureLoader().load([ - e.path + 'posx.' + e.extension, - e.path + 'negx.' + e.extension, - e.path + 'posy.' + e.extension, - e.path + 'negy.' + e.extension, - e.path + 'posz.' + e.extension, - e.path + 'negz.' + e.extension, - ])), - (this.texture.format = THREE[e.format]), - (this.object3dsetHandler = () => { - const e = this.el.getObject3D('mesh'), - n = this.data - t(e, n.materials, this.texture, n.reflectivity) - }), - this.el.addEventListener('object3dset', this.object3dsetHandler) - }, - update: function (e) { - const n = this.data, - r = this.el.getObject3D('mesh') - let i = [], - o = [] - if ( - (n.materials.length && - (e.materials - ? ((i = n.materials.filter((t) => !e.materials.includes(t))), - (o = e.materials.filter((e) => !n.materials.includes(e)))) - : (i = n.materials)), - i.length && t(r, i, this.texture, n.reflectivity), - o.length && t(r, o, null, 1), - e.materials && n.reflectivity !== e.reflectivity) - ) { - const i = n.materials.filter((t) => e.materials.includes(t)) - i.length && t(r, i, this.texture, n.reflectivity) - } - this.data.enableBackground && !e.enableBackground - ? this.setBackground(this.texture) - : !this.data.enableBackground && e.enableBackground && this.setBackground(null) - }, - remove: function () { - this.el.removeEventListener('object3dset', this.object3dsetHandler) - const e = this.el.getObject3D('mesh'), - n = this.data - t(e, n.materials, null, 1), n.enableBackground && this.setBackground(null) - }, - setBackground: function (e) { - this.el.sceneEl.object3D.background = e - }, - }) - }, - 9511: function (e) { - e.exports = AFRAME.registerComponent('grab', { - init: function () { - ;(this.system = this.el.sceneEl.systems.physics), - (this.GRABBED_STATE = 'grabbed'), - (this.grabbing = !1), - (this.hitEl = null), - (this.physics = this.el.sceneEl.systems.physics), - (this.constraint = null), - (this.onHit = this.onHit.bind(this)), - (this.onGripOpen = this.onGripOpen.bind(this)), - (this.onGripClose = this.onGripClose.bind(this)) - }, - play: function () { - const e = this.el - e.addEventListener('hit', this.onHit), - e.addEventListener('gripdown', this.onGripClose), - e.addEventListener('gripup', this.onGripOpen), - e.addEventListener('trackpaddown', this.onGripClose), - e.addEventListener('trackpadup', this.onGripOpen), - e.addEventListener('triggerdown', this.onGripClose), - e.addEventListener('triggerup', this.onGripOpen) - }, - pause: function () { - const e = this.el - e.removeEventListener('hit', this.onHit), - e.removeEventListener('gripdown', this.onGripClose), - e.removeEventListener('gripup', this.onGripOpen), - e.removeEventListener('trackpaddown', this.onGripClose), - e.removeEventListener('trackpadup', this.onGripOpen), - e.removeEventListener('triggerdown', this.onGripClose), - e.removeEventListener('triggerup', this.onGripOpen) - }, - onGripClose: function () { - this.grabbing = !0 - }, - onGripOpen: function () { - const e = this.hitEl - ;(this.grabbing = !1), - e && - (e.removeState(this.GRABBED_STATE), - (this.hitEl = void 0), - this.system.removeConstraint(this.constraint), - (this.constraint = null)) - }, - onHit: function (e) { - const t = e.detail.el - t && - !t.is(this.GRABBED_STATE) && - this.grabbing && - !this.hitEl && - (t.addState(this.GRABBED_STATE), - (this.hitEl = t), - (this.constraint = new CANNON.LockConstraint(this.el.body, t.body)), - this.system.addConstraint(this.constraint)) - }, - }) - }, - 9236: function (e, t, n) { - n(7642), n(4795), n(9511), n(765), n(837), n(8310), n(8240), n(1790) - }, - 765: function (e) { - e.exports = AFRAME.registerComponent('jump-ability', { - dependencies: ['velocity'], - schema: { - on: { default: 'keydown:Space gamepadbuttondown:0' }, - playerHeight: { default: 1.764 }, - maxJumps: { default: 1 }, - distance: { default: 5 }, - debug: { default: !1 }, - }, - init: function () { - ;(this.velocity = 0), (this.numJumps = 0) - const e = this.beginJump.bind(this), - t = this.data.on.split(' ') - this.bindings = {} - for (let n = 0; n < t.length; n++) - (this.bindings[t[n]] = e), this.el.addEventListener(t[n], e) - ;(this.bindings.collide = this.onCollide.bind(this)), - this.el.addEventListener('collide', this.bindings.collide) - }, - remove: function () { - for (var e in this.bindings) - this.bindings.hasOwnProperty(e) && - (this.el.removeEventListener(e, this.bindings[e]), delete this.bindings[e]) - this.el.removeEventListener('collide', this.bindings.collide), - delete this.bindings.collide - }, - beginJump: function () { - if (this.numJumps < this.data.maxJumps) { - const e = this.data, - t = Math.sqrt(-2 * e.distance * -24.8), - n = this.el.getAttribute('velocity') - this.el.setAttribute('velocity', { x: n.x, y: t, z: n.z }), - this.numJumps++, - this.el.emit('jumpstart') - } - }, - onCollide: function () { - this.numJumps > 0 && this.el.emit('jumpend'), (this.numJumps = 0) - }, - }) - }, - 837: function (e) { - const t = 1e-6 - e.exports = AFRAME.registerComponent('kinematic-body', { - dependencies: ['velocity'], - schema: { - mass: { default: 5 }, - radius: { default: 1.3 }, - linearDamping: { default: 0.05 }, - enableSlopes: { default: !0 }, - enableJumps: { default: !1 }, - }, - init: function () { - ;(this.system = this.el.sceneEl.systems.physics), this.system.addComponent(this) - const e = this.el, - t = this.data, - n = new CANNON.Vec3().copy(e.object3D.getWorldPosition(new THREE.Vector3())) - ;(this.body = new CANNON.Body({ - material: this.system.getMaterial('staticMaterial'), - position: n, - mass: t.mass, - linearDamping: t.linearDamping, - fixedRotation: !0, - })), - this.body.addShape(new CANNON.Sphere(t.radius), new CANNON.Vec3(0, t.radius, 0)), - (this.body.el = this.el), - (this.el.body = this.body), - this.system.addBody(this.body), - e.hasAttribute('wasd-controls') && - console.warn( - '[kinematic-body] Not compatible with wasd-controls, use movement-controls.', - ) - }, - remove: function () { - this.system.removeBody(this.body), this.system.removeComponent(this), delete this.el.body - }, - beforeStep: function (e, t) { - if (!t) return - const n = this.el, - r = this.data, - i = this.body - r.enableJumps || i.velocity.set(0, 0, 0), i.position.copy(n.getAttribute('position')) - }, - step: (function () { - const e = new THREE.Vector3(), - n = new THREE.Vector3(), - r = new THREE.Vector3(), - i = new THREE.Vector3() - return function (o, a) { - if (!a) return - let s, - u, - l = this.body, - c = this.data, - d = !1, - f = -1 / 0, - h = this.system.getContacts() - ;(a = Math.min(a, 1e3 * this.system.data.maxInterval)), - i.set(0, 0, 0), - e.copy(this.el.getAttribute('velocity')), - l.velocity.copy(e) - for (var p, v = 0; (p = h[v]); v++) - if (p.enabled) { - if (l.id === p.bi.id) p.ni.negate(r) - else { - if (l.id !== p.bj.id) continue - r.copy(p.ni) - } - ;(d = l.velocity.dot(r) < -t), - d && r.y <= 0.5 - ? e.projectOnPlane(r) - : r.y > 0.5 && - ((s = - l.id === p.bi.id - ? Math.abs(p.rj.y + p.bj.position.y) - : Math.abs(p.ri.y + p.bi.position.y)), - s > f && ((f = s), i.copy(r), (u = l.id === p.bi.id ? p.bj : p.bi))) - } - n.copy(e).normalize(), - u && (!c.enableJumps || n.y < 0.5) - ? (c.enableSlopes - ? i.y < 1 - t && i.copy(this.raycastToGround(u, i)) - : i.set(0, 1, 0), - e.projectOnPlane(i)) - : this.system.driver.world && - e.add(this.system.driver.world.gravity.scale((4 * a) / 1e3)), - l.velocity.copy(e), - this.el.setAttribute('velocity', l.velocity), - this.el.setAttribute('position', l.position) - } - })(), - raycastToGround: function (e, t) { - let n, - r, - i = this.body.position, - o = this.body.position.clone() - return ( - (n = new CANNON.Ray(i, o)), - n._updateDirection(), - n.intersectBody(e), - n.hasHit ? ((r = n.result.hitNormalWorld), Math.abs(r.y) > Math.abs(t.y) ? r : t) : t - ) - }, - }) - }, - 8310: function (e) { - e.exports = AFRAME.registerComponent('mesh-smooth', { - init: function () { - this.el.addEventListener('model-loaded', (e) => { - e.detail.model.traverse((e) => { - e.isMesh && e.geometry.computeVertexNormals() - }) - }) - }, - }) - }, - 8240: function (e) { - e.exports = AFRAME.registerComponent('normal-material', { - init: function () { - ;(this.material = new THREE.MeshNormalMaterial({ flatShading: !0 })), - (this.applyMaterial = this.applyMaterial.bind(this)), - this.el.addEventListener('object3dset', this.applyMaterial) - }, - remove: function () { - this.el.removeEventListener('object3dset', this.applyMaterial) - }, - applyMaterial: function () { - this.el.object3D.traverse((e) => { - e.isMesh && (e.material = this.material) - }) - }, - }) - }, - 1790: function (e) { - e.exports = AFRAME.registerComponent('sphere-collider', { - schema: { - objects: { default: '' }, - state: { default: 'collided' }, - radius: { default: 0.05 }, - watch: { default: !0 }, - }, - init: function () { - ;(this.observer = null), - (this.els = []), - (this.collisions = []), - (this.handleHit = this.handleHit.bind(this)), - (this.handleHitEnd = this.handleHitEnd.bind(this)) - }, - remove: function () { - this.pause() - }, - play: function () { - const e = this.el.sceneEl - this.data.watch && - ((this.observer = new MutationObserver(this.update.bind(this, null))), - this.observer.observe(e, { childList: !0, subtree: !0 })) - }, - pause: function () { - this.observer && (this.observer.disconnect(), (this.observer = null)) - }, - update: function () { - const e = this.data - let t - ;(t = e.objects ? this.el.sceneEl.querySelectorAll(e.objects) : this.el.sceneEl.children), - (this.els = Array.prototype.slice.call(t)) - }, - tick: (function () { - const e = new THREE.Vector3(), - t = new THREE.Vector3(), - n = new THREE.Vector3(), - r = new THREE.Vector3(), - i = new THREE.Box3(), - o = new Map() - return function () { - const a = this.el, - s = this.data, - u = a.getObject3D('mesh'), - l = [] - let c - var d - u && - (o.clear(), - a.object3D.getWorldPosition(e), - a.object3D.getWorldScale(n), - (c = s.radius * ((d = n), Math.max.apply(null, d.toArray()))), - this.els.forEach(function (n) { - let a, s, u, d - if (!n.isEntity) return - if (((s = n.getObject3D('mesh')), !s)) return - if ( - (i.setFromObject(s).getSize(r), - (d = Math.max(r.x, r.y, r.z) / 2), - (a = Math.sqrt(2 * d * d)), - i.getCenter(t), - !a) - ) - return - ;(u = e.distanceTo(t)), u < a + c && (l.push(n), o.set(n, u)) - }), - l.sort((e, t) => (o.get(e) > o.get(t) ? 1 : -1)).forEach(this.handleHit), - 0 === l.length && a.emit('hit', { el: null }), - this.collisions.filter((e) => !o.has(e)).forEach(this.handleHitEnd), - (this.collisions = l)) - } - })(), - handleHit: function (e) { - e.emit('hit'), e.addState(this.data.state), this.el.emit('hit', { el: e }) - }, - handleHitEnd: function (e) { - e.emit('hitend'), e.removeState(this.data.state), this.el.emit('hitend', { el: e }) - }, - }) - }, - 2578: function (e, t, n) { - n(8453), n(1250), n(1465) - }, - 1250: function (e) { - e.exports = AFRAME.registerComponent('nav-agent', { - schema: { destination: { type: 'vec3' }, active: { default: !1 }, speed: { default: 2 } }, - init: function () { - ;(this.system = this.el.sceneEl.systems.nav), - this.system.addAgent(this), - (this.group = null), - (this.path = []), - (this.raycaster = new THREE.Raycaster()) - }, - remove: function () { - this.system.removeAgent(this) - }, - update: function () { - this.path.length = 0 - }, - updateNavLocation: function () { - ;(this.group = null), (this.path = []) - }, - tick: (function () { - const e = new THREE.Vector3(), - t = new THREE.Vector3(), - n = new THREE.Vector3() - return function (r, i) { - const o = this.el, - a = this.data, - s = this.raycaster, - u = (a.speed * i) / 1e3 - if (!a.active) return - if (!this.path.length) { - const t = this.el.object3D.position - ;(this.group = this.group || this.system.getGroup(t)), - (this.path = this.system.getPath(t, e.copy(a.destination), this.group) || []), - o.emit('navigation-start') - } - if (!this.path.length) - return ( - console.warn('[nav] Unable to find path to %o.', a.destination), - this.el.setAttribute('nav-agent', { active: !1 }), - void o.emit('navigation-end') - ) - const l = o.object3D.position, - c = this.path[0] - t.subVectors(c, l) - let d - if (t.length() < u) { - if ((this.path.shift(), !this.path.length)) - return ( - this.el.setAttribute('nav-agent', { active: !1 }), void o.emit('navigation-end') - ) - n.copy(l), (d = this.path[0]) - } else n.copy(t.setLength(u)).add(l), (d = c) - ;(d.y = l.y), - o.object3D.lookAt(d), - s.ray.origin.copy(n), - (s.ray.origin.y += 1.5), - (s.ray.direction.y = -1) - const f = s.intersectObject(this.system.getNavMesh()) - f.length ? (t.subVectors(f[0].point, l), l.add(t.setLength(u))) : l.copy(n) - } - })(), - }) - }, - 8453: function (e) { - e.exports = AFRAME.registerComponent('nav-mesh', { - init: function () { - ;(this.system = this.el.sceneEl.systems.nav), - (this.hasLoadedNavMesh = !1), - this.el.addEventListener('object3dset', this.loadNavMesh.bind(this)) - }, - play: function () { - this.hasLoadedNavMesh || this.loadNavMesh() - }, - loadNavMesh: function () { - const e = this.el.getObject3D('mesh'), - t = this.el.sceneEl.object3D - if (!e) return - let n - if ( - (e.traverse((e) => { - e.isMesh && (n = e) - }), - !n) - ) - return - const r = n.geometry.isBufferGeometry - ? new THREE.Geometry().fromBufferGeometry(n.geometry) - : n.geometry.clone() - t.updateMatrixWorld(), - r.applyMatrix(n.matrixWorld), - this.system.setNavMeshGeometry(r), - (this.hasLoadedNavMesh = !0) - }, - }) - }, - 1465: function (e, t, n) { - const { Pathfinding: r } = n(6594), - i = new r(), - o = 'level' - e.exports = AFRAME.registerSystem('nav', { - init: function () { - ;(this.navMesh = null), (this.agents = new Set()) - }, - setNavMeshGeometry: function (e) { - ;(this.navMesh = new THREE.Mesh(e)), - i.setZoneData(o, r.createZone(e)), - Array.from(this.agents).forEach((e) => e.updateNavLocation()) - }, - getNavMesh: function () { - return this.navMesh - }, - addAgent: function (e) { - this.agents.add(e) - }, - removeAgent: function (e) { - this.agents.delete(e) - }, - getPath: function (e, t, n) { - return this.navMesh ? i.findPath(e, t, o, n) : null - }, - getGroup: function (e) { - return this.navMesh ? i.getGroup(o, e) : null - }, - getNode: function (e, t) { - return this.navMesh ? i.getClosestNode(e, o, t, !0) : null - }, - clampStep: function (e, t, n, r, a) { - return this.navMesh - ? r - ? i.clampStep(e, t, r, o, n, a) - : (a.copy(t), this.getNode(t, n)) - : (a.copy(t), null) - }, - }) - }, - 386: function (e) { - e.exports = AFRAME.registerPrimitive('a-grid', { - defaultComponents: { - geometry: { primitive: 'plane', width: 75, height: 75 }, - rotation: { x: -90, y: 0, z: 0 }, - material: { - src: 'url(https://cdn.jsdelivr.net/gh/donmccurdy/[email protected]/assets/grid.png)', - repeat: '75 75', - }, - }, - mappings: { width: 'geometry.width', height: 'geometry.height', src: 'material.src' }, - }) - }, - 3535: function (e, t, n) { - const r = n(3471), - i = n(2667) - ;(e.exports.Primitive = AFRAME.registerPrimitive('a-hexgrid', { - defaultComponents: { hexgrid: {} }, - mappings: { src: 'hexgrid.src' }, - })), - (e.exports.Component = AFRAME.registerComponent('hexgrid', { - dependencies: ['material'], - schema: { src: { type: 'asset' } }, - init: function () { - const e = this.data - e.src - ? fetch(e.src) - .then((e) => e.json()) - .then((e) => this.addMesh(e)) - : this.addMesh(i) - }, - addMesh: function (e) { - const t = new r.HexGrid() - t.fromJSON(e) - const n = new r.Board(t) - n.generateTilemap(), this.el.setObject3D('mesh', n.group), this.addMaterial() - }, - addMaterial: function () { - const e = (this.el.components.material || {}).material - e && - this.el.object3D.traverse((t) => { - t.isMesh && (t.material = e) - }) - }, - remove: function () { - this.el.removeObject3D('mesh') - }, - })) - }, - 9307: function (e) { - ;(e.exports.Primitive = AFRAME.registerPrimitive('a-ocean', { - defaultComponents: { ocean: {}, rotation: { x: -90, y: 0, z: 0 } }, - mappings: { - width: 'ocean.width', - depth: 'ocean.depth', - density: 'ocean.density', - amplitude: 'ocean.amplitude', - amplitudeVariance: 'ocean.amplitudeVariance', - speed: 'ocean.speed', - speedVariance: 'ocean.speedVariance', - color: 'ocean.color', - opacity: 'ocean.opacity', - }, - })), - (e.exports.Component = AFRAME.registerComponent('ocean', { - schema: { - width: { default: 10, min: 0 }, - depth: { default: 10, min: 0 }, - density: { default: 10 }, - amplitude: { default: 0.1 }, - amplitudeVariance: { default: 0.3 }, - speed: { default: 1 }, - speedVariance: { default: 2 }, - color: { default: '#7AD2F7', type: 'color' }, - opacity: { default: 0.8 }, - }, - play: function () { - const e = this.el, - t = this.data - let n = e.components.material - const r = new THREE.PlaneGeometry(t.width, t.depth, t.density, t.density) - r.mergeVertices(), (this.waves = []) - for (let i, o = 0, a = r.vertices.length; o < a; o++) - (i = r.vertices[o]), - this.waves.push({ - z: i.z, - ang: Math.random() * Math.PI * 2, - amp: t.amplitude + Math.random() * t.amplitudeVariance, - speed: (t.speed + Math.random() * t.speedVariance) / 1e3, - }) - n || - ((n = {}), - (n.material = new THREE.MeshPhongMaterial({ - color: t.color, - transparent: t.opacity < 1, - opacity: t.opacity, - shading: THREE.FlatShading, - }))), - (this.mesh = new THREE.Mesh(r, n.material)), - e.setObject3D('mesh', this.mesh) - }, - remove: function () { - this.el.removeObject3D('mesh') - }, - tick: function (e, t) { - if (!t) return - const n = this.mesh.geometry.vertices - for (let r, i, o = 0; (r = n[o]); o++) - (i = this.waves[o]), (r.z = i.z + Math.sin(i.ang) * i.amp), (i.ang += i.speed * t) - this.mesh.geometry.verticesNeedUpdate = !0 - }, - })) - }, - 699: function (e) { - ;(e.exports.Primitive = AFRAME.registerPrimitive('a-tube', { - defaultComponents: { tube: {} }, - mappings: { - path: 'tube.path', - segments: 'tube.segments', - radius: 'tube.radius', - 'radial-segments': 'tube.radialSegments', - closed: 'tube.closed', - }, - })), - (e.exports.Component = AFRAME.registerComponent('tube', { - schema: { - path: { default: [] }, - segments: { default: 64 }, - radius: { default: 1 }, - radialSegments: { default: 8 }, - closed: { default: !1 }, - }, - init: function () { - const e = this.el, - t = this.data - let n = e.components.material - if (!t.path.length) - return void console.error('[a-tube] `path` property expected but not found.') - const r = new THREE.CatmullRomCurve3( - t.path.map(function (e) { - return ( - (e = e.split(' ')), new THREE.Vector3(Number(e[0]), Number(e[1]), Number(e[2])) - ) - }), - ), - i = new THREE.TubeGeometry(r, t.segments, t.radius, t.radialSegments, t.closed) - n || ((n = {}), (n.material = new THREE.MeshPhongMaterial())), - (this.mesh = new THREE.Mesh(i, n.material)), - this.el.setObject3D('mesh', this.mesh) - }, - update: function (e) { - Object.keys(e).length && (this.remove(), this.init()) - }, - remove: function () { - this.mesh && this.el.removeObject3D('mesh') - }, - })) - }, - 6699: function (e, t, n) { - n(386), n(3535), n(9307), n(699) - }, - 1359: function (e, t, n) { - if ('undefined' === typeof AFRAME) - throw new Error('Component attempted to register before AFRAME was available.') - let r = n(2539) - 'default' in r && (r = r.default) - let i = n(1398) - 'default' in i && (i = i.default) - const o = function (e) { - return 'string' === typeof e ? JSON.parse(e) : e - }, - a = function (e) { - if ('function' === typeof e) return e - const t = eval - try { - return t('(' + e + ')') - } catch (n) {} - return null - }, - s = function (e) { - return isNaN(parseFloat(e)) ? (a(e) ? a(e) : e) : parseFloat(e) - } - AFRAME.registerComponent('forcegraph', { - schema: { - jsonUrl: { type: 'string', default: '' }, - nodes: { parse: o, default: [] }, - links: { parse: o, default: [] }, - numDimensions: { type: 'number', default: 3 }, - dagMode: { type: 'string', default: '' }, - dagLevelDistance: { type: 'number', default: 0 }, - dagNodeFilter: { parse: a, function: () => !0 }, - onDagError: { parse: a, default: void 0 }, - nodeRelSize: { type: 'number', default: 4 }, - nodeId: { type: 'string', default: 'id' }, - nodeVal: { parse: s, default: 'val' }, - nodeResolution: { type: 'number', default: 8 }, - nodeVisibility: { parse: s, default: !0 }, - nodeColor: { parse: s, default: 'color' }, - nodeAutoColorBy: { parse: s, default: '' }, - nodeOpacity: { type: 'number', default: 0.75 }, - nodeThreeObject: { parse: s, default: null }, - nodeThreeObjectExtend: { parse: s, default: !1 }, - linkSource: { type: 'string', default: 'source' }, - linkTarget: { type: 'string', default: 'target' }, - linkVisibility: { parse: s, default: !0 }, - linkColor: { parse: s, default: 'color' }, - linkAutoColorBy: { parse: s, default: '' }, - linkOpacity: { type: 'number', default: 0.2 }, - linkWidth: { parse: s, default: 0 }, - linkResolution: { type: 'number', default: 6 }, - linkCurvature: { parse: s, default: 0 }, - linkCurveRotation: { parse: s, default: 0 }, - linkMaterial: { parse: s, default: null }, - linkThreeObject: { parse: s, default: null }, - linkThreeObjectExtend: { parse: s, default: !1 }, - linkPositionUpdate: { parse: a, default: null }, - linkDirectionalArrowLength: { parse: s, default: 0 }, - linkDirectionalArrowColor: { parse: s, default: null }, - linkDirectionalArrowRelPos: { parse: s, default: 0.5 }, - linkDirectionalArrowResolution: { type: 'number', default: 8 }, - linkDirectionalParticles: { parse: s, default: 0 }, - linkDirectionalParticleSpeed: { parse: s, default: 0.01 }, - linkDirectionalParticleWidth: { parse: s, default: 0.5 }, - linkDirectionalParticleColor: { parse: s, default: null }, - linkDirectionalParticleResolution: { type: 'number', default: 4 }, - onNodeHover: { parse: a, default: () => {} }, - onLinkHover: { parse: a, default: () => {} }, - onNodeClick: { parse: a, default: () => {} }, - onLinkClick: { parse: a, default: () => {} }, - forceEngine: { type: 'string', default: 'd3' }, - d3AlphaMin: { type: 'number', default: 0 }, - d3AlphaDecay: { type: 'number', default: 0.0228 }, - d3VelocityDecay: { type: 'number', default: 0.4 }, - ngraphPhysics: { parse: o, default: null }, - warmupTicks: { type: 'int', default: 0 }, - cooldownTicks: { type: 'int', default: 1e18 }, - cooldownTime: { type: 'int', default: 15e3 }, - onEngineTick: { parse: a, default: function () {} }, - onEngineStop: { parse: a, default: function () {} }, - }, - getGraphBbox: function () { - return this.forceGraph || (this.forceGraph = new i()), this.forceGraph.getGraphBbox() - }, - emitParticle: function () { - this.forceGraph || (this.forceGraph = new i()) - const e = this.forceGraph, - t = e.emitParticle.apply(e, arguments) - return t === e ? this : t - }, - d3Force: function () { - this.forceGraph || (this.forceGraph = new i()) - const e = this.forceGraph, - t = e.d3Force.apply(e, arguments) - return t === e ? this : t - }, - d3ReheatSimulation: function () { - return this.forceGraph && this.forceGraph.d3ReheatSimulation(), this - }, - refresh: function () { - return this.forceGraph && this.forceGraph.refresh(), this - }, - init: function () { - const e = (this.state = {}) - ;(e.infoEl = document.createElement('a-text')), - e.infoEl.setAttribute('position', '0 -0.1 -1'), - e.infoEl.setAttribute('width', 1), - e.infoEl.setAttribute('align', 'center'), - e.infoEl.setAttribute('color', 'lavender') - const t = document.querySelector('a-entity[camera], a-camera') - t.appendChild(e.infoEl), - (e.cameraObj = t.object3D.children.filter(function (e) { - return 'PerspectiveCamera' === e.type - })[0]), - this.el.sceneEl.addEventListener('camera-set-active', function (t) { - e.cameraObj = t.detail.cameraEl.components.camera.camera - }), - this.forceGraph || (this.forceGraph = new i()), - this.forceGraph - .onFinishUpdate(() => this.el.setObject3D('forcegraphGroup', this.forceGraph)) - .onLoading(() => e.infoEl.setAttribute('value', 'Loading...')) - .onFinishLoading(() => e.infoEl.setAttribute('value', '')), - this.el.addEventListener('raycaster-intersected', (t) => (e.hoverDetail = t.detail)), - this.el.addEventListener( - 'raycaster-intersected-cleared', - (t) => (e.hoverDetail = t.detail), - ), - this.el.addEventListener( - 'click', - () => - e.hoverObj && - this.data[ - 'on' + ('node' === e.hoverObj.__graphObjType ? 'Node' : 'Link') + 'Click' - ](e.hoverObj.__data), - ) - }, - remove: function () { - this.state.infoEl.remove(), this.el.removeObject3D('forcegraphGroup') - }, - update: function (e) { - const t = this, - n = this.data, - r = AFRAME.utils.diff(n, e) - ;[ - 'jsonUrl', - 'numDimensions', - 'dagMode', - 'dagLevelDistance', - 'dagNodeFilter', - 'onDagError', - 'nodeRelSize', - 'nodeId', - 'nodeVal', - 'nodeResolution', - 'nodeVisibility', - 'nodeColor', - 'nodeAutoColorBy', - 'nodeOpacity', - 'nodeThreeObject', - 'nodeThreeObjectExtend', - 'linkSource', - 'linkTarget', - 'linkVisibility', - 'linkColor', - 'linkAutoColorBy', - 'linkOpacity', - 'linkWidth', - 'linkResolution', - 'linkCurvature', - 'linkCurveRotation', - 'linkMaterial', - 'linkThreeObject', - 'linkThreeObjectExtend', - 'linkPositionUpdate', - 'linkDirectionalArrowLength', - 'linkDirectionalArrowColor', - 'linkDirectionalArrowRelPos', - 'linkDirectionalArrowResolution', - 'linkDirectionalParticles', - 'linkDirectionalParticleSpeed', - 'linkDirectionalParticleWidth', - 'linkDirectionalParticleColor', - 'linkDirectionalParticleResolution', - 'forceEngine', - 'd3AlphaMin', - 'd3AphaDecay', - 'd3VelocityDecay', - 'ngraphPhysics', - 'warmupTicks', - 'cooldownTicks', - 'cooldownTime', - 'onEngineTick', - 'onEngineStop', - ] - .filter(function (e) { - return e in r - }) - .forEach(function (e) { - t.forceGraph[e]('' !== n[e] ? n[e] : null) - }), - ('nodes' in r || 'links' in r) && - t.forceGraph.graphData({ nodes: n.nodes, links: n.links }) - }, - tick: function (e, t) { - const n = this.state, - r = this.data, - i = n.hoverDetail - ? n.hoverDetail.getIntersection - ? n.hoverDetail.getIntersection(this.el) - : n.hoverDetail.intersection || void 0 - : void 0 - let o = i ? i.object : void 0 - for (; o && !o.hasOwnProperty('__graphObjType'); ) o = o.parent - if (o !== n.hoverObj) { - const e = n.hoverObj ? n.hoverObj.__graphObjType : null, - t = n.hoverObj ? n.hoverObj.__data : null, - i = o ? o.__graphObjType : null, - a = o ? o.__data : null - e && e !== i && r['on' + ('node' === e ? 'Node' : 'Link') + 'Hover'](null, t), - i && r['on' + ('node' === i ? 'Node' : 'Link') + 'Hover'](a, e === i ? t : null), - (n.hoverObj = o) - } - this.forceGraph.tickFrame() - }, - }) - }, - 296: function (e) { - function t(e, t, n) { - var r, i, o, a, s - function u() { - var l = Date.now() - a - l < t && l >= 0 - ? (r = setTimeout(u, t - l)) - : ((r = null), n || ((s = e.apply(o, i)), (o = i = null))) - } - null == t && (t = 100) - var l = function () { - ;(o = this), (i = arguments), (a = Date.now()) - var l = n && !r - return r || (r = setTimeout(u, t)), l && ((s = e.apply(o, i)), (o = i = null)), s - } - return ( - (l.clear = function () { - r && (clearTimeout(r), (r = null)) - }), - (l.flush = function () { - r && ((s = e.apply(o, i)), (o = i = null), clearTimeout(r), (r = null)) - }), - l - ) - } - ;(t.debounce = t), (e.exports = t) - }, - 3879: function (e, t, n) { - var r = n(7236), - i = n(6189), - o = { float: 'cssFloat' }, - a = n(3379) - function s(e, t, n) { - var s = o[t] - if ( - ('undefined' === typeof s && - (s = (function (e) { - var t = i(e), - n = r(t) - return (o[t] = o[e] = o[n] = n), n - })(t)), - s) - ) { - if (void 0 === n) return e.style[s] - e.style[s] = a(s, n) - } - } - function u(e, t) { - for (var n in t) t.hasOwnProperty(n) && s(e, n, t[n]) - } - function l() { - 2 === arguments.length - ? 'string' === typeof arguments[1] - ? (arguments[0].style.cssText = arguments[1]) - : u(arguments[0], arguments[1]) - : s(arguments[0], arguments[1], arguments[2]) - } - ;(e.exports = l), - (e.exports.set = l), - (e.exports.get = function (e, t) { - return Array.isArray(t) - ? t.reduce(function (t, n) { - return (t[n] = s(e, n || '')), t - }, {}) - : s(e, t || '') - }) - }, - 3869: function (e, t, n) { - 'use strict' - n.d(t, { - M: function () { - return p - }, - }) - var r = n(1439), - i = n(7294), - o = n(6717) - var a = n(8626), - s = n(5930), - u = 0 - function l() { - var e = u - return u++, e - } - var c = function (e) { - var t = e.children, - n = e.initial, - r = e.isPresent, - o = e.onExitComplete, - u = e.custom, - c = e.presenceAffectsLayout, - f = (0, s.h)(d), - h = (0, s.h)(l), - p = (0, i.useMemo)( - function () { - return { - id: h, - initial: n, - isPresent: r, - custom: u, - onExitComplete: function (e) { - f.set(e, !0) - var t = !0 - f.forEach(function (e) { - e || (t = !1) - }), - t && (null === o || void 0 === o || o()) - }, - register: function (e) { - return ( - f.set(e, !1), - function () { - return f.delete(e) - } - ) - }, - } - }, - c ? void 0 : [r], - ) - return ( - (0, i.useMemo)( - function () { - f.forEach(function (e, t) { - return f.set(t, !1) - }) - }, - [r], - ), - i.useEffect( - function () { - !r && !f.size && (null === o || void 0 === o || o()) - }, - [r], - ), - i.createElement(a.O.Provider, { value: p }, t) - ) - } - function d() { - return new Map() - } - var f = n(9870) - function h(e) { - return e.key || '' - } - var p = function (e) { - var t = e.children, - n = e.custom, - a = e.initial, - s = void 0 === a || a, - u = e.onExitComplete, - l = e.exitBeforeEnter, - d = e.presenceAffectsLayout, - p = void 0 === d || d, - v = (function () { - var e = (0, i.useRef)(!1), - t = (0, r.CR)((0, i.useState)(0), 2), - n = t[0], - a = t[1] - return ( - (0, o.z)(function () { - return (e.current = !0) - }), - (0, i.useCallback)( - function () { - !e.current && a(n + 1) - }, - [n], - ) - ) - })(), - m = (0, i.useContext)(f.WH) - ;(0, f.Md)(m) && (v = m.forceUpdate) - var g = (0, i.useRef)(!0), - y = (function (e) { - var t = [] - return ( - i.Children.forEach(e, function (e) { - ;(0, i.isValidElement)(e) && t.push(e) - }), - t - ) - })(t), - b = (0, i.useRef)(y), - w = (0, i.useRef)(new Map()).current, - x = (0, i.useRef)(new Set()).current - if ( - ((function (e, t) { - e.forEach(function (e) { - var n = h(e) - t.set(n, e) - }) - })(y, w), - g.current) - ) - return ( - (g.current = !1), - i.createElement( - i.Fragment, - null, - y.map(function (e) { - return i.createElement( - c, - { key: h(e), isPresent: !0, initial: !!s && void 0, presenceAffectsLayout: p }, - e, - ) - }), - ) - ) - for ( - var E = (0, r.ev)([], (0, r.CR)(y)), - k = b.current.map(h), - T = y.map(h), - _ = k.length, - O = 0; - O < _; - O++ - ) { - var C = k[O] - ;-1 === T.indexOf(C) ? x.add(C) : x.delete(C) - } - return ( - l && x.size && (E = []), - x.forEach(function (e) { - if (-1 === T.indexOf(e)) { - var t = w.get(e) - if (t) { - var r = k.indexOf(e) - E.splice( - r, - 0, - i.createElement( - c, - { - key: h(t), - isPresent: !1, - onExitComplete: function () { - w.delete(e), x.delete(e) - var t = b.current.findIndex(function (t) { - return t.key === e - }) - b.current.splice(t, 1), x.size || ((b.current = y), v(), u && u()) - }, - custom: n, - presenceAffectsLayout: p, - }, - t, - ), - ) - } - } - }), - (E = E.map(function (e) { - var t = e.key - return x.has(t) - ? e - : i.createElement(c, { key: h(e), isPresent: !0, presenceAffectsLayout: p }, e) - })), - (b.current = E), - i.createElement( - i.Fragment, - null, - x.size - ? E - : E.map(function (e) { - return (0, i.cloneElement)(e) - }), - ) - ) - } - }, - 7646: function (e, t, n) { - 'use strict' - var r, i - n.d(t, { - z: function () { - return r - }, - c: function () { - return i - }, - }), - (function (e) { - ;(e[(e.Entering = 0)] = 'Entering'), - (e[(e.Present = 1)] = 'Present'), - (e[(e.Exiting = 2)] = 'Exiting') - })(r || (r = {})), - (function (e) { - ;(e[(e.Hide = 0)] = 'Hide'), (e[(e.Show = 1)] = 'Show') - })(i || (i = {})) - }, - 8626: function (e, t, n) { - 'use strict' - n.d(t, { - O: function () { - return r - }, - }) - var r = (0, n(7294).createContext)(null) - }, - 9870: function (e, t, n) { - 'use strict' - n.d(t, { - bg: function () { - return p - }, - WH: function () { - return h - }, - Md: function () { - return v - }, - }) - var r = n(7294), - i = n(1439), - o = n(9839), - a = n(8839), - s = n(7565), - u = n(519), - l = n(7646), - c = { - layoutReady: function (e) { - return e.notifyLayoutReady() - }, - } - function d() { - var e = new Set() - return { - add: function (t) { - return e.add(t) - }, - flush: function (t) { - var n = void 0 === t ? c : t, - r = n.layoutReady, - d = n.parent - ;(0, s.U)(function (t, n) { - var s = Array.from(e).sort(u._), - c = d ? (0, a.kv)(d) : [] - n(function () { - ;(0, i.ev)((0, i.ev)([], (0, i.CR)(c)), (0, i.CR)(s)).forEach(function (e) { - return e.resetTransform() - }) - }), - t(function () { - s.forEach(a.de) - }), - n(function () { - c.forEach(function (e) { - return e.restoreTransform() - }), - s.forEach(r) - }), - t(function () { - s.forEach(function (e) { - e.isPresent && (e.presence = l.z.Present) - }) - }), - n(function () { - o.iW.preRender(), o.iW.render() - }), - t(function () { - o.ZP.postRender(function () { - return s.forEach(f) - }), - e.clear() - }) - }), - (0, s.R)() - }, - } - } - function f(e) { - e.prevViewportBox = e.projection.target - } - var h = (0, r.createContext)(d()), - p = (0, r.createContext)(d()) - function v(e) { - return !!e.forceUpdate - } - }, - 7554: function (e, t, n) { - 'use strict' - n.d(t, { - E: function () { - return Oo - }, - }) - var r = n(1439), - i = n(7294), - o = function (e) { - return { - isEnabled: function (t) { - return e.some(function (e) { - return !!t[e] - }) - }, - } - }, - a = { - measureLayout: o(['layout', 'layoutId', 'drag', '_layoutResetTransform']), - animation: o([ - 'animate', - 'exit', - 'variants', - 'whileHover', - 'whileTap', - 'whileFocus', - 'whileDrag', - ]), - exit: o(['exit']), - drag: o(['drag', 'dragControls']), - focus: o(['whileFocus']), - hover: o(['whileHover', 'onHoverStart', 'onHoverEnd']), - tap: o(['whileTap', 'onTap', 'onTapStart', 'onTapCancel']), - pan: o(['onPan', 'onPanStart', 'onPanSessionStart', 'onPanEnd']), - layoutAnimation: o(['layout', 'layoutId']), - } - var s = (0, i.createContext)({ strict: !1 }), - u = Object.keys(a), - l = u.length - var c = (0, i.createContext)({ - transformPagePoint: function (e) { - return e - }, - isStatic: !1, - }), - d = (0, i.createContext)({}) - var f = n(8626), - h = n(5930) - function p() { - var e = (0, i.useContext)(f.O) - if (null === e) return [!0, null] - var t = e.isPresent, - n = e.onExitComplete, - r = e.register, - o = y() - ;(0, i.useEffect)(function () { - return r(o) - }, []) - return !t && n - ? [ - !1, - function () { - return null === n || void 0 === n ? void 0 : n(o) - }, - ] - : [!0] - } - function v(e) { - return null === e || e.isPresent - } - var m = 0, - g = function () { - return m++ - }, - y = function () { - return (0, h.h)(g) - }, - b = (0, i.createContext)(null), - w = 'undefined' !== typeof window, - x = w ? i.useLayoutEffect : i.useEffect - function E(e, t, n, o) { - var a = (0, i.useContext)(c), - u = (0, i.useContext)(s), - l = (0, i.useContext)(d).visualElement, - h = (0, i.useContext)(f.O), - p = (function (e) { - var t = e.layoutId, - n = (0, i.useContext)(b) - return n && void 0 !== t ? n + '-' + t : t - })(n), - m = (0, i.useRef)(void 0) - o || (o = u.renderer), - !m.current && - o && - (m.current = o(e, { - visualState: t, - parent: l, - props: (0, r.pi)((0, r.pi)({}, n), { layoutId: p }), - presenceId: null === h || void 0 === h ? void 0 : h.id, - blockInitialAnimation: !1 === (null === h || void 0 === h ? void 0 : h.initial), - })) - var g = m.current - return ( - x(function () { - g && - (g.setProps((0, r.pi)((0, r.pi)((0, r.pi)({}, a), n), { layoutId: p })), - (g.isPresent = v(h)), - (g.isPresenceRoot = - !l || l.presenceId !== (null === h || void 0 === h ? void 0 : h.id)), - g.syncRender()) - }), - (0, i.useEffect)(function () { - var e - g && (null === (e = g.animationState) || void 0 === e || e.animateChanges()) - }), - x(function () { - return function () { - return null === g || void 0 === g ? void 0 : g.notifyUnmount() - } - }, []), - g - ) - } - function k(e) { - return 'object' === typeof e && Object.prototype.hasOwnProperty.call(e, 'current') - } - function T(e) { - return Array.isArray(e) - } - function _(e) { - return 'string' === typeof e || T(e) - } - function O(e, t, n, r, i) { - var o - return ( - void 0 === r && (r = {}), - void 0 === i && (i = {}), - 'string' === typeof t && (t = null === (o = e.variants) || void 0 === o ? void 0 : o[t]), - 'function' === typeof t ? t(null !== n && void 0 !== n ? n : e.custom, r, i) : t - ) - } - function C(e, t, n) { - var r = e.getProps() - return O( - r, - t, - null !== n && void 0 !== n ? n : r.custom, - (function (e) { - var t = {} - return ( - e.forEachValue(function (e, n) { - return (t[n] = e.get()) - }), - t - ) - })(e), - (function (e) { - var t = {} - return ( - e.forEachValue(function (e, n) { - return (t[n] = e.getVelocity()) - }), - t - ) - })(e), - ) - } - function S(e) { - var t - return ( - 'function' === typeof (null === (t = e.animate) || void 0 === t ? void 0 : t.start) || - _(e.initial) || - _(e.animate) || - _(e.whileHover) || - _(e.whileDrag) || - _(e.whileTap) || - _(e.whileFocus) || - _(e.exit) - ) - } - function A(e) { - return Boolean(S(e) || e.variants) - } - function P(e, t) { - var n = (function (e, t) { - if (S(e)) { - var n = e.initial, - r = e.animate - return { initial: !1 === n || _(n) ? n : void 0, animate: _(r) ? r : void 0 } - } - return !1 !== e.inherit ? t : {} - })(e, (0, i.useContext)(d)), - r = n.initial, - o = n.animate - return (0, i.useMemo)( - function () { - return { initial: r, animate: o } - }, - t ? [M(r), M(o)] : [], - ) - } - function M(e) { - return Array.isArray(e) ? e.join(' ') : e - } - function R(e) { - var t = e.preloadedFeatures, - n = e.createVisualElement, - o = e.useRender, - f = e.useVisualState, - h = e.Component - return ( - t && - (function (e) { - for (var t in e) { - var n = e[t] - null !== n && (a[t].Component = n) - } - })(t), - (0, i.forwardRef)(function (e, t) { - var p = (0, i.useContext)(c).isStatic, - v = null, - m = P(e, p), - g = f(e, p) - return ( - !p && - w && - ((m.visualElement = E(h, g, e, n)), - (v = (function (e, t, n) { - var o = [] - if (((0, i.useContext)(s), !t)) return null - for (var c = 0; c < l; c++) { - var d = u[c], - f = a[d], - h = f.isEnabled, - p = f.Component - h(e) && - p && - o.push(i.createElement(p, (0, r.pi)({ key: d }, e, { visualElement: t }))) - } - return o - })(e, m.visualElement))), - i.createElement( - i.Fragment, - null, - i.createElement( - d.Provider, - { value: m }, - o( - h, - e, - (function (e, t, n) { - return (0, i.useCallback)( - function (r) { - var i - r && (null === (i = e.mount) || void 0 === i || i.call(e, r)), - t && (r ? t.mount(r) : t.unmount()), - n && ('function' === typeof n ? n(r) : k(n) && (n.current = r)) - }, - [t], - ) - })(g, m.visualElement, t), - g, - p, - ), - ), - v, - ) - ) - }) - ) - } - function j(e) { - function t(t, n) { - return void 0 === n && (n = {}), R(e(t, n)) - } - var n = new Map() - return new Proxy(t, { - get: function (e, r) { - return n.has(r) || n.set(r, t(r)), n.get(r) - }, - }) - } - var D = [ - 'animate', - 'circle', - 'defs', - 'desc', - 'ellipse', - 'g', - 'image', - 'line', - 'filter', - 'marker', - 'mask', - 'metadata', - 'path', - 'pattern', - 'polygon', - 'polyline', - 'rect', - 'stop', - 'svg', - 'switch', - 'symbol', - 'text', - 'tspan', - 'use', - 'view', - ] - function L(e) { - return 'string' === typeof e && !e.includes('-') && !!(D.indexOf(e) > -1 || /[A-Z]/.test(e)) - } - var N = {} - var I = ['', 'X', 'Y', 'Z'], - z = ['transformPerspective', 'x', 'y', 'z'] - function H(e, t) { - return z.indexOf(e) - z.indexOf(t) - } - ;['translate', 'scale', 'rotate', 'skew'].forEach(function (e) { - return I.forEach(function (t) { - return z.push(e + t) - }) - }) - var B = new Set(z) - function F(e) { - return B.has(e) - } - var V = new Set(['originX', 'originY', 'originZ']) - function U(e) { - return V.has(e) - } - function G(e, t) { - var n = t.layout, - r = t.layoutId - return F(e) || U(e) || ((n || void 0 !== r) && (!!N[e] || 'opacity' === e)) - } - var q = function (e) { - return null !== e && 'object' === typeof e && e.getVelocity - }, - W = { - x: 'translateX', - y: 'translateY', - z: 'translateZ', - transformPerspective: 'perspective', - } - function K(e) { - return e.startsWith('--') - } - var Z = function (e, t) { - return t && 'number' === typeof e ? t.transform(e) : e - } - var $ = function () { - return ($ = - Object.assign || - function (e) { - for (var t, n = 1, r = arguments.length; n < r; n++) - for (var i in (t = arguments[n])) - Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]) - return e - }).apply(this, arguments) - } - Object.create - Object.create - var X = function (e, t) { - return function (n) { - return Math.max(Math.min(n, t), e) - } - }, - Y = function (e) { - return e % 1 ? Number(e.toFixed(5)) : e - }, - Q = /(-)?([\d]*\.?[\d])+/g, - J = - /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi, - ee = - /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i - function te(e) { - return 'string' === typeof e - } - var ne = function (e) { - return { - test: function (t) { - return te(t) && t.endsWith(e) && 1 === t.split(' ').length - }, - parse: parseFloat, - transform: function (t) { - return '' + t + e - }, - } - }, - re = ne('deg'), - ie = ne('%'), - oe = ne('px'), - ae = ne('vh'), - se = ne('vw'), - ue = $($({}, ie), { - parse: function (e) { - return ie.parse(e) / 100 - }, - transform: function (e) { - return ie.transform(100 * e) - }, - }), - le = { - test: function (e) { - return 'number' === typeof e - }, - parse: parseFloat, - transform: function (e) { - return e - }, - }, - ce = $($({}, le), { transform: X(0, 1) }), - de = $($({}, le), { default: 1 }), - fe = (0, r.pi)((0, r.pi)({}, le), { transform: Math.round }), - he = { - borderWidth: oe, - borderTopWidth: oe, - borderRightWidth: oe, - borderBottomWidth: oe, - borderLeftWidth: oe, - borderRadius: oe, - radius: oe, - borderTopLeftRadius: oe, - borderTopRightRadius: oe, - borderBottomRightRadius: oe, - borderBottomLeftRadius: oe, - width: oe, - maxWidth: oe, - height: oe, - maxHeight: oe, - size: oe, - top: oe, - right: oe, - bottom: oe, - left: oe, - padding: oe, - paddingTop: oe, - paddingRight: oe, - paddingBottom: oe, - paddingLeft: oe, - margin: oe, - marginTop: oe, - marginRight: oe, - marginBottom: oe, - marginLeft: oe, - rotate: re, - rotateX: re, - rotateY: re, - rotateZ: re, - scale: de, - scaleX: de, - scaleY: de, - scaleZ: de, - skew: re, - skewX: re, - skewY: re, - distance: oe, - translateX: oe, - translateY: oe, - translateZ: oe, - x: oe, - y: oe, - z: oe, - perspective: oe, - transformPerspective: oe, - opacity: ce, - originX: ue, - originY: ue, - originZ: oe, - zIndex: fe, - fillOpacity: ce, - strokeOpacity: ce, - numOctaves: fe, - } - function pe(e, t, n, r, i, o, a, s) { - var u, - l = e.style, - c = e.vars, - d = e.transform, - f = e.transformKeys, - h = e.transformOrigin - f.length = 0 - var p = !1, - v = !1, - m = !0 - for (var g in t) { - var y = t[g] - if (K(g)) c[g] = y - else { - var b = he[g], - w = Z(y, b) - if (F(g)) { - if (((p = !0), (d[g] = w), f.push(g), !m)) continue - y !== (null !== (u = b.default) && void 0 !== u ? u : 0) && (m = !1) - } else if (U(g)) (h[g] = w), (v = !0) - else if ( - (null === n || void 0 === n ? void 0 : n.isHydrated) && - (null === r || void 0 === r ? void 0 : r.isHydrated) && - N[g] - ) { - var x = N[g].process(y, r, n), - E = N[g].applyTo - if (E) for (var k = E.length, T = 0; T < k; T++) l[E[T]] = x - else l[g] = x - } else l[g] = w - } - } - r && n && a && s - ? ((l.transform = a(r.deltaFinal, r.treeScale, p ? d : void 0)), - o && (l.transform = o(d, l.transform)), - (l.transformOrigin = s(r))) - : (p && - (l.transform = (function (e, t, n, r) { - var i = e.transform, - o = e.transformKeys, - a = t.enableHardwareAcceleration, - s = void 0 === a || a, - u = t.allowTransformNone, - l = void 0 === u || u, - c = '' - o.sort(H) - for (var d = !1, f = o.length, h = 0; h < f; h++) { - var p = o[h] - ;(c += (W[p] || p) + '(' + i[p] + ') '), 'z' === p && (d = !0) - } - return ( - !d && s ? (c += 'translateZ(0)') : (c = c.trim()), - r ? (c = r(i, n ? '' : c)) : l && n && (c = 'none'), - c - ) - })(e, i, m, o)), - v && - (l.transformOrigin = (function (e) { - var t = e.originX, - n = void 0 === t ? '50%' : t, - r = e.originY, - i = void 0 === r ? '50%' : r, - o = e.originZ - return n + ' ' + i + ' ' + (void 0 === o ? 0 : o) - })(h))) - } - var ve = function () { - return { style: {}, transform: {}, transformKeys: [], transformOrigin: {}, vars: {} } - } - function me(e, t, n) { - for (var r in t) q(t[r]) || G(r, n) || (e[r] = t[r]) - } - function ge(e, t, n) { - var o = {} - return ( - me(o, e.style || {}, e), - Object.assign( - o, - (function (e, t, n) { - var o = e.transformTemplate - return (0, i.useMemo)( - function () { - var e = { - style: {}, - transform: {}, - transformKeys: [], - transformOrigin: {}, - vars: {}, - } - pe(e, t, void 0, void 0, { enableHardwareAcceleration: !n }, o) - var i = e.vars, - a = e.style - return (0, r.pi)((0, r.pi)({}, i), a) - }, - [t], - ) - })(e, t, n), - ), - e.transformValues && (o = e.transformValues(o)), - o - ) - } - function ye(e, t, n) { - var r = {}, - i = ge(e, t, n) - return ( - Boolean(e.drag) && - ((r.draggable = !1), - (i.userSelect = i.WebkitUserSelect = i.WebkitTouchCallout = 'none'), - (i.touchAction = !0 === e.drag ? 'none' : 'pan-' + ('x' === e.drag ? 'y' : 'x'))), - (r.style = i), - r - ) - } - var be = new Set([ - 'initial', - 'animate', - 'exit', - 'style', - 'variants', - 'transition', - 'transformTemplate', - 'transformValues', - 'custom', - 'inherit', - 'layout', - 'layoutId', - '_layoutResetTransform', - 'onLayoutAnimationComplete', - 'onViewportBoxUpdate', - 'onLayoutMeasure', - 'onBeforeLayoutMeasure', - 'onAnimationStart', - 'onAnimationComplete', - 'onUpdate', - 'onDragStart', - 'onDrag', - 'onDragEnd', - 'onMeasureDragConstraints', - 'onDirectionLock', - 'onDragTransitionEnd', - 'drag', - 'dragControls', - 'dragListener', - 'dragConstraints', - 'dragDirectionLock', - '_dragX', - '_dragY', - 'dragElastic', - 'dragMomentum', - 'dragPropagation', - 'dragTransition', - 'whileDrag', - 'onPan', - 'onPanStart', - 'onPanEnd', - 'onPanSessionStart', - 'onTap', - 'onTapStart', - 'onTapCancel', - 'onHoverStart', - 'onHoverEnd', - 'whileFocus', - 'whileTap', - 'whileHover', - ]) - function we(e) { - return be.has(e) - } - var xe = function (e) { - return !we(e) - } - try { - var Ee = n(6600).Z - xe = function (e) { - return e.startsWith('on') ? !we(e) : Ee(e) - } - } catch (Co) {} - function ke(e, t, n) { - return 'string' === typeof e ? e : oe.transform(t + n * e) - } - var Te = function (e, t) { - return oe.transform(e * t) - }, - _e = { offset: 'stroke-dashoffset', array: 'stroke-dasharray' }, - Oe = { offset: 'strokeDashoffset', array: 'strokeDasharray' } - function Ce(e, t, n, i, o, a, s, u) { - var l = t.attrX, - c = t.attrY, - d = t.originX, - f = t.originY, - h = t.pathLength, - p = t.pathSpacing, - v = void 0 === p ? 1 : p, - m = t.pathOffset, - g = void 0 === m ? 0 : m - pe( - e, - (0, r._T)(t, [ - 'attrX', - 'attrY', - 'originX', - 'originY', - 'pathLength', - 'pathSpacing', - 'pathOffset', - ]), - n, - i, - o, - a, - s, - u, - ), - (e.attrs = e.style), - (e.style = {}) - var y = e.attrs, - b = e.style, - w = e.dimensions, - x = e.totalPathLength - y.transform && (w && (b.transform = y.transform), delete y.transform), - w && - (void 0 !== d || void 0 !== f || b.transform) && - (b.transformOrigin = (function (e, t, n) { - return ke(t, e.x, e.width) + ' ' + ke(n, e.y, e.height) - })(w, void 0 !== d ? d : 0.5, void 0 !== f ? f : 0.5)), - void 0 !== l && (y.x = l), - void 0 !== c && (y.y = c), - void 0 !== x && - void 0 !== h && - (function (e, t, n, r, i, o) { - void 0 === r && (r = 1), void 0 === i && (i = 0), void 0 === o && (o = !0) - var a = o ? _e : Oe - e[a.offset] = Te(-i, t) - var s = Te(n, t), - u = Te(r, t) - e[a.array] = s + ' ' + u - })(y, x, h, v, g, !1) - } - var Se = function () { - return (0, r.pi)( - (0, r.pi)( - {}, - { style: {}, transform: {}, transformKeys: [], transformOrigin: {}, vars: {} }, - ), - { attrs: {} }, - ) - } - function Ae(e, t) { - var n = (0, i.useMemo)( - function () { - var n = Se() - return ( - Ce(n, t, void 0, void 0, { enableHardwareAcceleration: !1 }, e.transformTemplate), - (0, r.pi)((0, r.pi)({}, n.attrs), { style: (0, r.pi)({}, n.style) }) - ) - }, - [t], - ) - if (e.style) { - var o = {} - me(o, e.style, e), (n.style = (0, r.pi)((0, r.pi)({}, o), n.style)) - } - return n - } - function Pe(e) { - void 0 === e && (e = !1) - return function (t, n, o, a, s) { - var u = a.latestValues, - l = (L(t) ? Ae : ye)(n, u, s), - c = (function (e, t, n) { - var r = {} - for (var i in e) (xe(i) || (!0 === n && we(i)) || (!t && !we(i))) && (r[i] = e[i]) - return r - })(n, 'string' === typeof t, e), - d = (0, r.pi)((0, r.pi)((0, r.pi)({}, c), l), { ref: o }) - return (0, i.createElement)(t, d) - } - } - var Me = /([a-z])([A-Z])/g, - Re = function (e) { - return e.replace(Me, '$1-$2').toLowerCase() - } - function je(e, t) { - var n = t.style, - r = t.vars - for (var i in (Object.assign(e.style, n), r)) e.style.setProperty(i, r[i]) - } - var De = new Set([ - 'baseFrequency', - 'diffuseConstant', - 'kernelMatrix', - 'kernelUnitLength', - 'keySplines', - 'keyTimes', - 'limitingConeAngle', - 'markerHeight', - 'markerWidth', - 'numOctaves', - 'targetX', - 'targetY', - 'surfaceScale', - 'specularConstant', - 'specularExponent', - 'stdDeviation', - 'tableValues', - 'viewBox', - 'gradientTransform', - ]) - function Le(e, t) { - for (var n in (je(e, t), t.attrs)) e.setAttribute(De.has(n) ? n : Re(n), t.attrs[n]) - } - function Ne(e) { - var t = e.style, - n = {} - for (var r in t) (q(t[r]) || G(r, e)) && (n[r] = t[r]) - return n - } - function Ie(e) { - var t = Ne(e) - for (var n in e) { - if (q(e[n])) t['x' === n || 'y' === n ? 'attr' + n.toUpperCase() : n] = e[n] - } - return t - } - function ze(e) { - return 'object' === typeof e && 'function' === typeof e.start - } - var He = function (e) { - return Array.isArray(e) - } - function Be(e) { - var t, - n = q(e) ? e.get() : e - return (t = n), Boolean(t && 'object' === typeof t && t.mix && t.toValue) ? n.toValue() : n - } - function Fe(e, t, n, r) { - var i = e.scrapeMotionValuesFromProps, - o = e.createRenderState, - a = e.onMount, - s = { latestValues: Ue(t, n, r, i), renderState: o() } - return ( - a && - (s.mount = function (e) { - return a(t, e, s) - }), - s - ) - } - var Ve = function (e) { - return function (t, n) { - var r = (0, i.useContext)(d), - o = (0, i.useContext)(f.O) - return n - ? Fe(e, t, r, o) - : (0, h.h)(function () { - return Fe(e, t, r, o) - }) - } - } - function Ue(e, t, n, i) { - var o = {}, - a = !1 === (null === n || void 0 === n ? void 0 : n.initial), - s = i(e) - for (var u in s) o[u] = Be(s[u]) - var l = e.initial, - c = e.animate, - d = S(e), - f = A(e) - t && - f && - !d && - !1 !== e.inherit && - ((null !== l && void 0 !== l) || (l = t.initial), - (null !== c && void 0 !== c) || (c = t.animate)) - var h = a || !1 === l ? c : l - h && - 'boolean' !== typeof h && - !ze(h) && - (Array.isArray(h) ? h : [h]).forEach(function (t) { - var n = O(e, t) - if (n) { - var i = n.transitionEnd - n.transition - var a = (0, r._T)(n, ['transitionEnd', 'transition']) - for (var s in a) o[s] = a[s] - for (var s in i) o[s] = i[s] - } - }) - return o - } - var Ge = { - useVisualState: Ve({ - scrapeMotionValuesFromProps: Ie, - createRenderState: Se, - onMount: function (e, t, n) { - var r = n.renderState, - i = n.latestValues - try { - r.dimensions = - 'function' === typeof t.getBBox ? t.getBBox() : t.getBoundingClientRect() - } catch (o) { - r.dimensions = { x: 0, y: 0, width: 0, height: 0 } - } - 'path' === t.tagName && (r.totalPathLength = t.getTotalLength()), - Ce(r, i, void 0, void 0, { enableHardwareAcceleration: !1 }, e.transformTemplate), - Le(t, r) - }, - }), - } - var qe, - We = { useVisualState: Ve({ scrapeMotionValuesFromProps: Ne, createRenderState: ve }) } - function Ke(e, t, n, r) { - return ( - e.addEventListener(t, n, r), - function () { - return e.removeEventListener(t, n, r) - } - ) - } - function Ze(e, t, n, r) { - ;(0, i.useEffect)( - function () { - var i = e.current - if (n && i) return Ke(i, t, n, r) - }, - [e, t, n, r], - ) - } - function $e(e) { - return 'undefined' !== typeof PointerEvent && e instanceof PointerEvent - ? !('mouse' !== e.pointerType) - : e instanceof MouseEvent - } - function Xe(e) { - return !!e.touches - } - !(function (e) { - ;(e.Animate = 'animate'), - (e.Hover = 'whileHover'), - (e.Tap = 'whileTap'), - (e.Drag = 'whileDrag'), - (e.Focus = 'whileFocus'), - (e.Exit = 'exit') - })(qe || (qe = {})) - var Ye = { pageX: 0, pageY: 0 } - function Qe(e, t) { - void 0 === t && (t = 'page') - var n = e.touches[0] || e.changedTouches[0] || Ye - return { x: n[t + 'X'], y: n[t + 'Y'] } - } - function Je(e, t) { - return void 0 === t && (t = 'page'), { x: e[t + 'X'], y: e[t + 'Y'] } - } - function et(e, t) { - return void 0 === t && (t = 'page'), { point: Xe(e) ? Qe(e, t) : Je(e, t) } - } - var tt = function (e, t) { - void 0 === t && (t = !1) - var n, - r = function (t) { - return e(t, et(t)) - } - return t - ? ((n = r), - function (e) { - var t = e instanceof MouseEvent - ;(!t || (t && 0 === e.button)) && n(e) - }) - : r - }, - nt = { - pointerdown: 'mousedown', - pointermove: 'mousemove', - pointerup: 'mouseup', - pointercancel: 'mousecancel', - pointerover: 'mouseover', - pointerout: 'mouseout', - pointerenter: 'mouseenter', - pointerleave: 'mouseleave', - }, - rt = { - pointerdown: 'touchstart', - pointermove: 'touchmove', - pointerup: 'touchend', - pointercancel: 'touchcancel', - } - function it(e) { - return w && null === window.onpointerdown - ? e - : w && null === window.ontouchstart - ? rt[e] - : w && null === window.onmousedown - ? nt[e] - : e - } - function ot(e, t, n, r) { - return Ke(e, it(t), tt(n, 'pointerdown' === t), r) - } - function at(e, t, n, r) { - return Ze(e, it(t), n && tt(n, 'pointerdown' === t), r) - } - function st(e) { - var t = null - return function () { - return ( - null === t && - ((t = e), - function () { - t = null - }) - ) - } - } - var ut = st('dragHorizontal'), - lt = st('dragVertical') - function ct(e) { - var t = !1 - if ('y' === e) t = lt() - else if ('x' === e) t = ut() - else { - var n = ut(), - r = lt() - n && r - ? (t = function () { - n(), r() - }) - : (n && n(), r && r()) - } - return t - } - function dt() { - var e = ct(!0) - return !e || (e(), !1) - } - function ft(e, t, n) { - return function (r, i) { - var o - $e(r) && - !dt() && - (null === n || void 0 === n || n(r, i), - null === (o = e.animationState) || void 0 === o || o.setActive(qe.Hover, t)) - } - } - var ht = function (e, t) { - return !!t && (e === t || ht(e, t.parentElement)) - }, - pt = n(6717), - vt = function (e, t) { - return function (n) { - return t(e(n)) - } - }, - mt = function () { - for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t] - return e.reduce(vt) - } - var gt = function (e) { - return function (t) { - return e(t), null - } - }, - yt = { - tap: gt(function (e) { - var t = e.onTap, - n = e.onTapStart, - r = e.onTapCancel, - o = e.whileTap, - a = e.visualElement, - s = t || n || r || o, - u = (0, i.useRef)(!1), - l = (0, i.useRef)(null) - function c() { - var e - null === (e = l.current) || void 0 === e || e.call(l), (l.current = null) - } - function d() { - var e - return ( - c(), - (u.current = !1), - null === (e = a.animationState) || void 0 === e || e.setActive(qe.Tap, !1), - !dt() - ) - } - function f(e, n) { - d() && - (ht(a.getInstance(), e.target) - ? null === t || void 0 === t || t(e, n) - : null === r || void 0 === r || r(e, n)) - } - function h(e, t) { - d() && (null === r || void 0 === r || r(e, t)) - } - at( - a, - 'pointerdown', - s - ? function (e, t) { - var r - c(), - u.current || - ((u.current = !0), - (l.current = mt( - ot(window, 'pointerup', f), - ot(window, 'pointercancel', h), - )), - null === n || void 0 === n || n(e, t), - null === (r = a.animationState) || void 0 === r || r.setActive(qe.Tap, !0)) - } - : void 0, - ), - (0, pt.z)(c) - }), - focus: gt(function (e) { - var t = e.whileFocus, - n = e.visualElement - Ze( - n, - 'focus', - t - ? function () { - var e - null === (e = n.animationState) || void 0 === e || e.setActive(qe.Focus, !0) - } - : void 0, - ), - Ze( - n, - 'blur', - t - ? function () { - var e - null === (e = n.animationState) || void 0 === e || e.setActive(qe.Focus, !1) - } - : void 0, - ) - }), - hover: gt(function (e) { - var t = e.onHoverStart, - n = e.onHoverEnd, - r = e.whileHover, - i = e.visualElement - at(i, 'pointerenter', t || r ? ft(i, !0, t) : void 0), - at(i, 'pointerleave', n || r ? ft(i, !1, n) : void 0) - }), - } - function bt(e, t) { - if (!Array.isArray(t)) return !1 - var n = t.length - if (n !== e.length) return !1 - for (var r = 0; r < n; r++) if (t[r] !== e[r]) return !1 - return !0 - } - var wt = function () { - return (wt = - Object.assign || - function (e) { - for (var t, n = 1, r = arguments.length; n < r; n++) - for (var i in (t = arguments[n])) - Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]) - return e - }).apply(this, arguments) - } - function xt(e, t) { - var n = {} - for (var r in e) - Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]) - if (null != e && 'function' === typeof Object.getOwnPropertySymbols) { - var i = 0 - for (r = Object.getOwnPropertySymbols(e); i < r.length; i++) - t.indexOf(r[i]) < 0 && - Object.prototype.propertyIsEnumerable.call(e, r[i]) && - (n[r[i]] = e[r[i]]) - } - return n - } - Object.create - Object.create - var Et = function (e, t, n) { - return Math.min(Math.max(n, e), t) - }, - kt = 0.001 - function Tt(e) { - var t, - n, - r = e.duration, - i = void 0 === r ? 800 : r, - o = e.bounce, - a = void 0 === o ? 0.25 : o, - s = e.velocity, - u = void 0 === s ? 0 : s, - l = e.mass, - c = void 0 === l ? 1 : l, - d = 1 - a - ;(d = Et(0.05, 1, d)), - (i = Et(0.01, 10, i / 1e3)), - d < 1 - ? ((t = function (e) { - var t = e * d, - n = t * i, - r = t - u, - o = _t(e, d), - a = Math.exp(-n) - return kt - (r / o) * a - }), - (n = function (e) { - var n = e * d * i, - r = n * u + u, - o = Math.pow(d, 2) * Math.pow(e, 2) * i, - a = Math.exp(-n), - s = _t(Math.pow(e, 2), d) - return ((-t(e) + kt > 0 ? -1 : 1) * ((r - o) * a)) / s - })) - : ((t = function (e) { - return Math.exp(-e * i) * ((e - u) * i + 1) - 0.001 - }), - (n = function (e) { - return Math.exp(-e * i) * (i * i * (u - e)) - })) - var f = (function (e, t, n) { - for (var r = n, i = 1; i < 12; i++) r -= e(r) / t(r) - return r - })(t, n, 5 / i) - if (((i *= 1e3), isNaN(f))) return { stiffness: 100, damping: 10, duration: i } - var h = Math.pow(f, 2) * c - return { stiffness: h, damping: 2 * d * Math.sqrt(c * h), duration: i } - } - function _t(e, t) { - return e * Math.sqrt(1 - t * t) - } - var Ot = ['duration', 'bounce'], - Ct = ['stiffness', 'damping', 'mass'] - function St(e, t) { - return t.some(function (t) { - return void 0 !== e[t] - }) - } - function At(e) { - var t = e.from, - n = void 0 === t ? 0 : t, - r = e.to, - i = void 0 === r ? 1 : r, - o = e.restSpeed, - a = void 0 === o ? 2 : o, - s = e.restDelta, - u = xt(e, ['from', 'to', 'restSpeed', 'restDelta']), - l = { done: !1, value: n }, - c = (function (e) { - var t = wt( - { velocity: 0, stiffness: 100, damping: 10, mass: 1, isResolvedFromDuration: !1 }, - e, - ) - if (!St(e, Ct) && St(e, Ot)) { - var n = Tt(e) - ;(t = wt(wt(wt({}, t), n), { velocity: 0, mass: 1 })).isResolvedFromDuration = !0 - } - return t - })(u), - d = c.stiffness, - f = c.damping, - h = c.mass, - p = c.velocity, - v = c.duration, - m = c.isResolvedFromDuration, - g = Pt, - y = Pt - function b() { - var e = p ? -p / 1e3 : 0, - t = i - n, - r = f / (2 * Math.sqrt(d * h)), - o = Math.sqrt(d / h) / 1e3 - if (((null !== s && void 0 !== s) || (s = Math.abs(i - n) <= 1 ? 0.01 : 0.4), r < 1)) { - var a = _t(o, r) - ;(g = function (n) { - var s = Math.exp(-r * o * n) - return i - s * (((e + r * o * t) / a) * Math.sin(a * n) + t * Math.cos(a * n)) - }), - (y = function (n) { - var i = Math.exp(-r * o * n) - return ( - r * o * i * ((Math.sin(a * n) * (e + r * o * t)) / a + t * Math.cos(a * n)) - - i * (Math.cos(a * n) * (e + r * o * t) - a * t * Math.sin(a * n)) - ) - }) - } else if (1 === r) - g = function (n) { - return i - Math.exp(-o * n) * (t + (e + o * t) * n) - } - else { - var u = o * Math.sqrt(r * r - 1) - g = function (n) { - var a = Math.exp(-r * o * n), - s = Math.min(u * n, 300) - return i - (a * ((e + r * o * t) * Math.sinh(s) + u * t * Math.cosh(s))) / u - } - } - } - return ( - b(), - { - next: function (e) { - var t = g(e) - if (m) l.done = e >= v - else { - var n = 1e3 * y(e), - r = Math.abs(n) <= a, - o = Math.abs(i - t) <= s - l.done = r && o - } - return (l.value = l.done ? i : t), l - }, - flipTarget: function () { - var e - ;(p = -p), (n = (e = [i, n])[0]), (i = e[1]), b() - }, - } - ) - } - At.needsInterpolation = function (e, t) { - return 'string' === typeof e || 'string' === typeof t - } - var Pt = function (e) { - return 0 - }, - Mt = function (e, t, n) { - var r = t - e - return 0 === r ? 1 : (n - e) / r - }, - Rt = function (e, t, n) { - return -n * e + n * t + e - }, - jt = function (e, t) { - return function (n) { - return Boolean( - (te(n) && ee.test(n) && n.startsWith(e)) || - (t && Object.prototype.hasOwnProperty.call(n, t)), - ) - } - }, - Dt = function (e, t, n) { - return function (r) { - var i - if (!te(r)) return r - var o = r.match(Q), - a = o[0], - s = o[1], - u = o[2], - l = o[3] - return ( - ((i = {})[e] = parseFloat(a)), - (i[t] = parseFloat(s)), - (i[n] = parseFloat(u)), - (i.alpha = void 0 !== l ? parseFloat(l) : 1), - i - ) - } - }, - Lt = X(0, 255), - Nt = $($({}, le), { - transform: function (e) { - return Math.round(Lt(e)) - }, - }), - It = { - test: jt('rgb', 'red'), - parse: Dt('red', 'green', 'blue'), - transform: function (e) { - var t = e.red, - n = e.green, - r = e.blue, - i = e.alpha, - o = void 0 === i ? 1 : i - return ( - 'rgba(' + - Nt.transform(t) + - ', ' + - Nt.transform(n) + - ', ' + - Nt.transform(r) + - ', ' + - Y(ce.transform(o)) + - ')' - ) - }, - } - var zt = { - test: jt('#'), - parse: function (e) { - var t = '', - n = '', - r = '', - i = '' - return ( - e.length > 5 - ? ((t = e.substr(1, 2)), - (n = e.substr(3, 2)), - (r = e.substr(5, 2)), - (i = e.substr(7, 2))) - : ((t = e.substr(1, 1)), - (n = e.substr(2, 1)), - (r = e.substr(3, 1)), - (i = e.substr(4, 1)), - (t += t), - (n += n), - (r += r), - (i += i)), - { - red: parseInt(t, 16), - green: parseInt(n, 16), - blue: parseInt(r, 16), - alpha: i ? parseInt(i, 16) / 255 : 1, - } - ) - }, - transform: It.transform, - }, - Ht = { - test: jt('hsl', 'hue'), - parse: Dt('hue', 'saturation', 'lightness'), - transform: function (e) { - var t = e.hue, - n = e.saturation, - r = e.lightness, - i = e.alpha, - o = void 0 === i ? 1 : i - return ( - 'hsla(' + - Math.round(t) + - ', ' + - ie.transform(Y(n)) + - ', ' + - ie.transform(Y(r)) + - ', ' + - Y(ce.transform(o)) + - ')' - ) - }, - }, - Bt = function (e, t, n) { - var r = e * e, - i = t * t - return Math.sqrt(Math.max(0, n * (i - r) + r)) - }, - Ft = [zt, It, Ht], - Vt = function (e) { - return Ft.find(function (t) { - return t.test(e) - }) - }, - Ut = function (e) { - return "'" + e + "' is not an animatable color. Use the equivalent color code instead." - }, - Gt = function (e, t) { - var n = Vt(e), - r = Vt(t) - Ut(e), Ut(t), n.transform, r.transform - var i = n.parse(e), - o = r.parse(t), - a = wt({}, i), - s = n === Ht ? Rt : Bt - return function (e) { - for (var t in a) 'alpha' !== t && (a[t] = s(i[t], o[t], e)) - return (a.alpha = Rt(i.alpha, o.alpha, e)), n.transform(a) - } - }, - qt = { - test: function (e) { - return It.test(e) || zt.test(e) || Ht.test(e) - }, - parse: function (e) { - return It.test(e) ? It.parse(e) : Ht.test(e) ? Ht.parse(e) : zt.parse(e) - }, - transform: function (e) { - return te(e) ? e : e.hasOwnProperty('red') ? It.transform(e) : Ht.transform(e) - }, - }, - Wt = '${c}', - Kt = '${n}' - function Zt(e) { - var t = [], - n = 0, - r = e.match(J) - r && ((n = r.length), (e = e.replace(J, Wt)), t.push.apply(t, r.map(qt.parse))) - var i = e.match(Q) - return ( - i && ((e = e.replace(Q, Kt)), t.push.apply(t, i.map(le.parse))), - { values: t, numColors: n, tokenised: e } - ) - } - function $t(e) { - return Zt(e).values - } - function Xt(e) { - var t = Zt(e), - n = t.values, - r = t.numColors, - i = t.tokenised, - o = n.length - return function (e) { - for (var t = i, n = 0; n < o; n++) - t = t.replace(n < r ? Wt : Kt, n < r ? qt.transform(e[n]) : Y(e[n])) - return t - } - } - var Yt = function (e) { - return 'number' === typeof e ? 0 : e - } - var Qt = { - test: function (e) { - var t, n, r, i - return ( - isNaN(e) && - te(e) && - (null !== (n = null === (t = e.match(Q)) || void 0 === t ? void 0 : t.length) && - void 0 !== n - ? n - : 0) + - (null !== (i = null === (r = e.match(J)) || void 0 === r ? void 0 : r.length) && - void 0 !== i - ? i - : 0) > - 0 - ) - }, - parse: $t, - createTransformer: Xt, - getAnimatableNone: function (e) { - var t = $t(e) - return Xt(e)(t.map(Yt)) - }, - }, - Jt = function (e) { - return 'number' === typeof e - } - function en(e, t) { - return Jt(e) - ? function (n) { - return Rt(e, t, n) - } - : qt.test(e) - ? Gt(e, t) - : on(e, t) - } - var tn = function (e, t) { - var n = (function (e, t, n) { - if (n || 2 === arguments.length) - for (var r, i = 0, o = t.length; i < o; i++) - (!r && i in t) || (r || (r = Array.prototype.slice.call(t, 0, i)), (r[i] = t[i])) - return e.concat(r || t) - })([], e), - r = n.length, - i = e.map(function (e, n) { - return en(e, t[n]) - }) - return function (e) { - for (var t = 0; t < r; t++) n[t] = i[t](e) - return n - } - }, - nn = function (e, t) { - var n = wt(wt({}, e), t), - r = {} - for (var i in n) void 0 !== e[i] && void 0 !== t[i] && (r[i] = en(e[i], t[i])) - return function (e) { - for (var t in r) n[t] = r[t](e) - return n - } - } - function rn(e) { - for (var t = Qt.parse(e), n = t.length, r = 0, i = 0, o = 0, a = 0; a < n; a++) - r || 'number' === typeof t[a] ? r++ : void 0 !== t[a].hue ? o++ : i++ - return { parsed: t, numNumbers: r, numRGB: i, numHSL: o } - } - var on = function (e, t) { - var n = Qt.createTransformer(t), - r = rn(e), - i = rn(t) - return ( - r.numHSL === i.numHSL && r.numRGB === i.numRGB && (r.numNumbers, i.numNumbers), - mt(tn(r.parsed, i.parsed), n) - ) - }, - an = function (e, t) { - return function (n) { - return Rt(e, t, n) - } - } - function sn(e, t, n) { - for ( - var r, - i = [], - o = - n || - ('number' === typeof (r = e[0]) - ? an - : 'string' === typeof r - ? qt.test(r) - ? Gt - : on - : Array.isArray(r) - ? tn - : 'object' === typeof r - ? nn - : void 0), - a = e.length - 1, - s = 0; - s < a; - s++ - ) { - var u = o(e[s], e[s + 1]) - if (t) { - var l = Array.isArray(t) ? t[s] : t - u = mt(l, u) - } - i.push(u) - } - return i - } - function un(e, t, n) { - var r = void 0 === n ? {} : n, - i = r.clamp, - o = void 0 === i || i, - a = r.ease, - s = r.mixer, - u = e.length - t.length, - !a || !Array.isArray(a) || a.length, - e[0] > e[u - 1] && ((e = [].concat(e)), (t = [].concat(t)), e.reverse(), t.reverse()) - var l = sn(t, a, s), - c = - 2 === u - ? (function (e, t) { - var n = e[0], - r = e[1], - i = t[0] - return function (e) { - return i(Mt(n, r, e)) - } - })(e, l) - : (function (e, t) { - var n = e.length, - r = n - 1 - return function (i) { - var o = 0, - a = !1 - if ((i <= e[0] ? (a = !0) : i >= e[r] && ((o = r - 1), (a = !0)), !a)) { - for (var s = 1; s < n && !(e[s] > i || s === r); s++); - o = s - 1 - } - var u = Mt(e[o], e[o + 1], i) - return t[o](u) - } - })(e, l) - return o - ? function (t) { - return c(Et(e[0], e[u - 1], t)) - } - : c - } - var ln, - cn = function (e) { - return function (t) { - return 1 - e(1 - t) - } - }, - dn = function (e) { - return function (t) { - return t <= 0.5 ? e(2 * t) / 2 : (2 - e(2 * (1 - t))) / 2 - } - }, - fn = function (e) { - return function (t) { - return t * t * ((e + 1) * t - e) - } - }, - hn = function (e) { - return e - }, - pn = - ((ln = 2), - function (e) { - return Math.pow(e, ln) - }), - vn = cn(pn), - mn = dn(pn), - gn = function (e) { - return 1 - Math.sin(Math.acos(e)) - }, - yn = cn(gn), - bn = dn(yn), - wn = fn(1.525), - xn = cn(wn), - En = dn(wn), - kn = (function (e) { - var t = fn(e) - return function (e) { - return (e *= 2) < 1 ? 0.5 * t(e) : 0.5 * (2 - Math.pow(2, -10 * (e - 1))) - } - })(1.525), - Tn = function (e) { - if (1 === e || 0 === e) return e - var t = e * e - return e < 0.36363636363636365 - ? 7.5625 * t - : e < 0.7272727272727273 - ? 9.075 * t - 9.9 * e + 3.4 - : e < 0.9 - ? 12.066481994459833 * t - 19.63545706371191 * e + 8.898060941828255 - : 10.8 * e * e - 20.52 * e + 10.72 - }, - _n = cn(Tn) - function On(e, t) { - return e - .map(function () { - return t || mn - }) - .splice(0, e.length - 1) - } - function Cn(e) { - var t = e.from, - n = void 0 === t ? 0 : t, - r = e.to, - i = void 0 === r ? 1 : r, - o = e.ease, - a = e.offset, - s = e.duration, - u = void 0 === s ? 300 : s, - l = { done: !1, value: n }, - c = Array.isArray(i) ? i : [n, i], - d = (function (e, t) { - return e.map(function (e) { - return e * t - }) - })( - a && a.length === c.length - ? a - : (function (e) { - var t = e.length - return e.map(function (e, n) { - return 0 !== n ? n / (t - 1) : 0 - }) - })(c), - u, - ) - function f() { - return un(d, c, { ease: Array.isArray(o) ? o : On(c, o) }) - } - var h = f() - return { - next: function (e) { - return (l.value = h(e)), (l.done = e >= u), l - }, - flipTarget: function () { - c.reverse(), (h = f()) - }, - } - } - var Sn = { - keyframes: Cn, - spring: At, - decay: function (e) { - var t = e.velocity, - n = void 0 === t ? 0 : t, - r = e.from, - i = void 0 === r ? 0 : r, - o = e.power, - a = void 0 === o ? 0.8 : o, - s = e.timeConstant, - u = void 0 === s ? 350 : s, - l = e.restDelta, - c = void 0 === l ? 0.5 : l, - d = e.modifyTarget, - f = { done: !1, value: i }, - h = a * n, - p = i + h, - v = void 0 === d ? p : d(p) - return ( - v !== p && (h = v - i), - { - next: function (e) { - var t = -h * Math.exp(-e / u) - return (f.done = !(t > c || t < -c)), (f.value = f.done ? v : v + t), f - }, - flipTarget: function () {}, - } - ) - }, - } - var An = n(9839) - function Pn(e, t, n) { - return void 0 === n && (n = 0), e - t - n - } - var Mn = function (e) { - var t = function (t) { - var n = t.delta - return e(n) - } - return { - start: function () { - return An.ZP.update(t, !0) - }, - stop: function () { - return An.qY.update(t) - }, - } - } - function Rn(e) { - var t, - n, - r, - i, - o, - a = e.from, - s = e.autoplay, - u = void 0 === s || s, - l = e.driver, - c = void 0 === l ? Mn : l, - d = e.elapsed, - f = void 0 === d ? 0 : d, - h = e.repeat, - p = void 0 === h ? 0 : h, - v = e.repeatType, - m = void 0 === v ? 'loop' : v, - g = e.repeatDelay, - y = void 0 === g ? 0 : g, - b = e.onPlay, - w = e.onStop, - x = e.onComplete, - E = e.onRepeat, - k = e.onUpdate, - T = xt(e, [ - 'from', - 'autoplay', - 'driver', - 'elapsed', - 'repeat', - 'repeatType', - 'repeatDelay', - 'onPlay', - 'onStop', - 'onComplete', - 'onRepeat', - 'onUpdate', - ]), - _ = T.to, - O = 0, - C = T.duration, - S = !1, - A = !0, - P = (function (e) { - if (Array.isArray(e.to)) return Cn - if (Sn[e.type]) return Sn[e.type] - var t = new Set(Object.keys(e)) - return t.has('ease') || (t.has('duration') && !t.has('dampingRatio')) - ? Cn - : t.has('dampingRatio') || - t.has('stiffness') || - t.has('mass') || - t.has('damping') || - t.has('restSpeed') || - t.has('restDelta') - ? At - : Cn - })(T) - ;(null === (n = (t = P).needsInterpolation) || void 0 === n ? void 0 : n.call(t, a, _)) && - ((o = un([0, 100], [a, _], { clamp: !1 })), (a = 0), (_ = 100)) - var M = P(wt(wt({}, T), { from: a, to: _ })) - function R() { - O++, - 'reverse' === m - ? (f = (function (e, t, n, r) { - return ( - void 0 === n && (n = 0), - void 0 === r && (r = !0), - r ? Pn(t + -e, t, n) : t - (e - t) + n - ) - })(f, C, y, (A = O % 2 === 0))) - : ((f = Pn(f, C, y)), 'mirror' === m && M.flipTarget()), - (S = !1), - E && E() - } - function j(e) { - if ((A || (e = -e), (f += e), !S)) { - var t = M.next(Math.max(0, f)) - ;(i = t.value), o && (i = o(i)), (S = A ? t.done : f <= 0) - } - null === k || void 0 === k || k(i), - S && - (0 === O && ((null !== C && void 0 !== C) || (C = f)), - O < p - ? (function (e, t, n, r) { - return r ? e >= t + n : e <= -n - })(f, C, y, A) && R() - : (r.stop(), x && x())) - } - return ( - u && (null === b || void 0 === b || b(), (r = c(j)).start()), - { - stop: function () { - null === w || void 0 === w || w(), r.stop() - }, - } - ) - } - function jn(e, t) { - return t ? e * (1e3 / t) : 0 - } - var Dn = function (e) { - return 1e3 * e - }, - Ln = function (e, t) { - return 1 - 3 * t + 3 * e - }, - Nn = function (e, t) { - return 3 * t - 6 * e - }, - In = function (e) { - return 3 * e - }, - zn = function (e, t, n) { - return ((Ln(t, n) * e + Nn(t, n)) * e + In(t)) * e - }, - Hn = function (e, t, n) { - return 3 * Ln(t, n) * e * e + 2 * Nn(t, n) * e + In(t) - } - var Bn = 0.1 - function Fn(e, t, n, r) { - if (e === t && n === r) return hn - for (var i = new Float32Array(11), o = 0; o < 11; ++o) i[o] = zn(o * Bn, e, n) - function a(t) { - for (var r = 0, o = 1; 10 !== o && i[o] <= t; ++o) r += Bn - --o - var a = r + ((t - i[o]) / (i[o + 1] - i[o])) * Bn, - s = Hn(a, e, n) - return s >= 0.001 - ? (function (e, t, n, r) { - for (var i = 0; i < 8; ++i) { - var o = Hn(t, n, r) - if (0 === o) return t - t -= (zn(t, n, r) - e) / o - } - return t - })(t, a, e, n) - : 0 === s - ? a - : (function (e, t, n, r, i) { - var o, - a, - s = 0 - do { - ;(o = zn((a = t + (n - t) / 2), r, i) - e) > 0 ? (n = a) : (t = a) - } while (Math.abs(o) > 1e-7 && ++s < 10) - return a - })(t, r, r + Bn, e, n) - } - return function (e) { - return 0 === e || 1 === e ? e : zn(a(e), t, r) - } - } - var Vn = { - linear: hn, - easeIn: pn, - easeInOut: mn, - easeOut: vn, - circIn: gn, - circInOut: bn, - circOut: yn, - backIn: wn, - backInOut: En, - backOut: xn, - anticipate: kn, - bounceIn: _n, - bounceInOut: function (e) { - return e < 0.5 ? 0.5 * (1 - Tn(1 - 2 * e)) : 0.5 * Tn(2 * e - 1) + 0.5 - }, - bounceOut: Tn, - }, - Un = function (e) { - if (Array.isArray(e)) { - e.length - var t = (0, r.CR)(e, 4) - return Fn(t[0], t[1], t[2], t[3]) - } - return 'string' === typeof e ? Vn[e] : e - }, - Gn = function (e, t) { - return ( - 'zIndex' !== e && - (!('number' !== typeof t && !Array.isArray(t)) || - !('string' !== typeof t || !Qt.test(t) || t.startsWith('url('))) - ) - }, - qn = function () { - return { type: 'spring', stiffness: 500, damping: 25, restDelta: 0.5, restSpeed: 10 } - }, - Wn = function (e) { - return { - type: 'spring', - stiffness: 550, - damping: 0 === e ? 2 * Math.sqrt(550) : 30, - restDelta: 0.01, - restSpeed: 10, - } - }, - Kn = function () { - return { type: 'keyframes', ease: 'linear', duration: 0.3 } - }, - Zn = function (e) { - return { type: 'keyframes', duration: 0.8, values: e } - }, - $n = { - x: qn, - y: qn, - z: qn, - rotate: qn, - rotateX: qn, - rotateY: qn, - rotateZ: qn, - scaleX: Wn, - scaleY: Wn, - scale: Wn, - opacity: Kn, - backgroundColor: Kn, - color: Kn, - default: Wn, - }, - Xn = new Set(['brightness', 'contrast', 'saturate', 'opacity']) - function Yn(e) { - var t = e.slice(0, -1).split('('), - n = t[0], - r = t[1] - if ('drop-shadow' === n) return e - var i = (r.match(Q) || [])[0] - if (!i) return e - var o = r.replace(i, ''), - a = Xn.has(n) ? 1 : 0 - return i !== r && (a *= 100), n + '(' + a + o + ')' - } - var Qn = /([a-z-]*)\(.*?\)/g, - Jn = $($({}, Qt), { - getAnimatableNone: function (e) { - var t = e.match(Qn) - return t ? t.map(Yn).join(' ') : e - }, - }), - er = (0, r.pi)((0, r.pi)({}, he), { - color: qt, - backgroundColor: qt, - outlineColor: qt, - fill: qt, - stroke: qt, - borderColor: qt, - borderTopColor: qt, - borderRightColor: qt, - borderBottomColor: qt, - borderLeftColor: qt, - filter: Jn, - WebkitFilter: Jn, - }), - tr = function (e) { - return er[e] - } - function nr(e, t) { - var n, - r = tr(e) - return ( - r !== Jn && (r = Qt), - null === (n = r.getAnimatableNone) || void 0 === n ? void 0 : n.call(r, t) - ) - } - function rr(e) { - var t = e.ease, - n = e.times, - i = e.yoyo, - o = e.flip, - a = e.loop, - s = (0, r._T)(e, ['ease', 'times', 'yoyo', 'flip', 'loop']), - u = (0, r.pi)({}, s) - return ( - n && (u.offset = n), - s.duration && (u.duration = Dn(s.duration)), - s.repeatDelay && (u.repeatDelay = Dn(s.repeatDelay)), - t && - (u.ease = (function (e) { - return Array.isArray(e) && 'number' !== typeof e[0] - })(t) - ? t.map(Un) - : Un(t)), - 'tween' === s.type && (u.type = 'keyframes'), - (i || a || o) && - (!0, - i - ? (u.repeatType = 'reverse') - : a - ? (u.repeatType = 'loop') - : o && (u.repeatType = 'mirror'), - (u.repeat = a || i || o || s.repeat)), - 'spring' !== s.type && (u.type = 'keyframes'), - u - ) - } - function ir(e, t, n) { - var i - return ( - Array.isArray(t.to) && - ((null !== (i = e.duration) && void 0 !== i) || (e.duration = 0.8)), - (function (e) { - Array.isArray(e.to) && - null === e.to[0] && - ((e.to = (0, r.ev)([], (0, r.CR)(e.to))), (e.to[0] = e.from)) - })(t), - (function (e) { - e.when, - e.delay, - e.delayChildren, - e.staggerChildren, - e.staggerDirection, - e.repeat, - e.repeatType, - e.repeatDelay, - e.from - var t = (0, r._T)(e, [ - 'when', - 'delay', - 'delayChildren', - 'staggerChildren', - 'staggerDirection', - 'repeat', - 'repeatType', - 'repeatDelay', - 'from', - ]) - return !!Object.keys(t).length - })(e) || - (e = (0, r.pi)( - (0, r.pi)({}, e), - (function (e, t) { - var n - return (n = He(t) ? Zn : $n[e] || $n.default), (0, r.pi)({ to: t }, n(t)) - })(n, t.to), - )), - (0, r.pi)((0, r.pi)({}, t), rr(e)) - ) - } - function or(e, t, n, i, o) { - var a, - s = ur(i, e), - u = null !== (a = s.from) && void 0 !== a ? a : t.get(), - l = Gn(e, n) - 'none' === u && l && 'string' === typeof n - ? (u = nr(e, n)) - : ar(u) && 'string' === typeof n - ? (u = sr(n)) - : !Array.isArray(n) && ar(n) && 'string' === typeof u && (n = sr(u)) - var c = Gn(e, u) - return c && l && !1 !== s.type - ? function () { - var i = { - from: u, - to: n, - velocity: t.getVelocity(), - onComplete: o, - onUpdate: function (e) { - return t.set(e) - }, - } - return 'inertia' === s.type || 'decay' === s.type - ? (function (e) { - var t, - n = e.from, - r = void 0 === n ? 0 : n, - i = e.velocity, - o = void 0 === i ? 0 : i, - a = e.min, - s = e.max, - u = e.power, - l = void 0 === u ? 0.8 : u, - c = e.timeConstant, - d = void 0 === c ? 750 : c, - f = e.bounceStiffness, - h = void 0 === f ? 500 : f, - p = e.bounceDamping, - v = void 0 === p ? 10 : p, - m = e.restDelta, - g = void 0 === m ? 1 : m, - y = e.modifyTarget, - b = e.driver, - w = e.onUpdate, - x = e.onComplete - function E(e) { - return (void 0 !== a && e < a) || (void 0 !== s && e > s) - } - function k(e) { - return void 0 === a - ? s - : void 0 === s || Math.abs(a - e) < Math.abs(s - e) - ? a - : s - } - function T(e) { - null === t || void 0 === t || t.stop(), - (t = Rn( - wt(wt({}, e), { - driver: b, - onUpdate: function (t) { - var n - null === w || void 0 === w || w(t), - null === (n = e.onUpdate) || void 0 === n || n.call(e, t) - }, - onComplete: x, - }), - )) - } - function _(e) { - T(wt({ type: 'spring', stiffness: h, damping: v, restDelta: g }, e)) - } - if (E(r)) _({ from: r, velocity: o, to: k(r) }) - else { - var O = l * o + r - 'undefined' !== typeof y && (O = y(O)) - var C, - S, - A = k(O), - P = A === a ? -1 : 1 - T({ - type: 'decay', - from: r, - velocity: o, - timeConstant: d, - power: l, - restDelta: g, - modifyTarget: y, - onUpdate: E(O) - ? function (e) { - ;(C = S), - (S = e), - (o = jn(e - C, (0, An.$B)().delta)), - ((1 === P && e > A) || (-1 === P && e < A)) && - _({ from: e, to: A, velocity: o }) - } - : void 0, - }) - } - return { - stop: function () { - return null === t || void 0 === t ? void 0 : t.stop() - }, - } - })((0, r.pi)((0, r.pi)({}, i), s)) - : Rn( - (0, r.pi)((0, r.pi)({}, ir(s, i, e)), { - onUpdate: function (e) { - var t - i.onUpdate(e), null === (t = s.onUpdate) || void 0 === t || t.call(s, e) - }, - onComplete: function () { - var e - i.onComplete(), null === (e = s.onComplete) || void 0 === e || e.call(s) - }, - }), - ) - } - : function () { - var e - return ( - t.set(n), - o(), - null === (e = null === s || void 0 === s ? void 0 : s.onComplete) || - void 0 === e || - e.call(s), - { stop: function () {} } - ) - } - } - function ar(e) { - return 0 === e || ('string' === typeof e && 0 === parseFloat(e) && -1 === e.indexOf(' ')) - } - function sr(e) { - return 'number' === typeof e ? 0 : nr('', e) - } - function ur(e, t) { - return e[t] || e.default || e - } - function lr(e, t, n, r) { - return ( - void 0 === r && (r = {}), - t.start(function (i) { - var o, - a, - s = or(e, t, n, r, i), - u = (function (e, t) { - var n - return null !== (n = (ur(e, t) || {}).delay) && void 0 !== n ? n : 0 - })(r, e), - l = function () { - return (a = s()) - } - return ( - u ? (o = setTimeout(l, Dn(u))) : l(), - function () { - clearTimeout(o), null === a || void 0 === a || a.stop() - } - ) - }) - ) - } - function cr(e, t) { - ;-1 === e.indexOf(t) && e.push(t) - } - function dr(e, t) { - var n = e.indexOf(t) - n > -1 && e.splice(n, 1) - } - var fr = (function () { - function e() { - this.subscriptions = [] - } - return ( - (e.prototype.add = function (e) { - var t = this - return ( - cr(this.subscriptions, e), - function () { - return dr(t.subscriptions, e) - } - ) - }), - (e.prototype.notify = function (e, t, n) { - var r = this.subscriptions.length - if (r) - if (1 === r) this.subscriptions[0](e, t, n) - else - for (var i = 0; i < r; i++) { - var o = this.subscriptions[i] - o && o(e, t, n) - } - }), - (e.prototype.getSize = function () { - return this.subscriptions.length - }), - (e.prototype.clear = function () { - this.subscriptions.length = 0 - }), - e - ) - })(), - hr = (function () { - function e(e) { - var t, - n = this - ;(this.timeDelta = 0), - (this.lastUpdated = 0), - (this.updateSubscribers = new fr()), - (this.velocityUpdateSubscribers = new fr()), - (this.renderSubscribers = new fr()), - (this.canTrackVelocity = !1), - (this.updateAndNotify = function (e, t) { - void 0 === t && (t = !0), (n.prev = n.current), (n.current = e) - var r = (0, An.$B)(), - i = r.delta, - o = r.timestamp - n.lastUpdated !== o && - ((n.timeDelta = i), - (n.lastUpdated = o), - An.ZP.postRender(n.scheduleVelocityCheck)), - n.prev !== n.current && n.updateSubscribers.notify(n.current), - n.velocityUpdateSubscribers.getSize() && - n.velocityUpdateSubscribers.notify(n.getVelocity()), - t && n.renderSubscribers.notify(n.current) - }), - (this.scheduleVelocityCheck = function () { - return An.ZP.postRender(n.velocityCheck) - }), - (this.velocityCheck = function (e) { - e.timestamp !== n.lastUpdated && - ((n.prev = n.current), n.velocityUpdateSubscribers.notify(n.getVelocity())) - }), - (this.hasAnimated = !1), - (this.prev = this.current = e), - (this.canTrackVelocity = ((t = this.current), !isNaN(parseFloat(t)))) - } - return ( - (e.prototype.onChange = function (e) { - return this.updateSubscribers.add(e) - }), - (e.prototype.clearListeners = function () { - this.updateSubscribers.clear() - }), - (e.prototype.onRenderRequest = function (e) { - return e(this.get()), this.renderSubscribers.add(e) - }), - (e.prototype.attach = function (e) { - this.passiveEffect = e - }), - (e.prototype.set = function (e, t) { - void 0 === t && (t = !0), - t && this.passiveEffect - ? this.passiveEffect(e, this.updateAndNotify) - : this.updateAndNotify(e, t) - }), - (e.prototype.get = function () { - return this.current - }), - (e.prototype.getPrevious = function () { - return this.prev - }), - (e.prototype.getVelocity = function () { - return this.canTrackVelocity - ? jn(parseFloat(this.current) - parseFloat(this.prev), this.timeDelta) - : 0 - }), - (e.prototype.start = function (e) { - var t = this - return ( - this.stop(), - new Promise(function (n) { - ;(t.hasAnimated = !0), (t.stopAnimation = e(n)) - }).then(function () { - return t.clearAnimation() - }) - ) - }), - (e.prototype.stop = function () { - this.stopAnimation && this.stopAnimation(), this.clearAnimation() - }), - (e.prototype.isAnimating = function () { - return !!this.stopAnimation - }), - (e.prototype.clearAnimation = function () { - this.stopAnimation = null - }), - (e.prototype.destroy = function () { - this.updateSubscribers.clear(), this.renderSubscribers.clear(), this.stop() - }), - e - ) - })() - function pr(e) { - return new hr(e) - } - var vr = function (e) { - return function (t) { - return t.test(e) - } - }, - mr = [ - le, - oe, - ie, - re, - se, - ae, - { - test: function (e) { - return 'auto' === e - }, - parse: function (e) { - return e - }, - }, - ], - gr = function (e) { - return mr.find(vr(e)) - }, - yr = (0, r.ev)((0, r.ev)([], (0, r.CR)(mr)), [qt, Qt]), - br = function (e) { - return yr.find(vr(e)) - } - function wr(e, t, n) { - e.hasValue(t) ? e.getValue(t).set(n) : e.addValue(t, pr(n)) - } - function xr(e, t) { - var n = C(e, t), - i = n ? e.makeTargetAnimatable(n, !1) : {}, - o = i.transitionEnd, - a = void 0 === o ? {} : o - i.transition - var s, - u = (0, r._T)(i, ['transitionEnd', 'transition']) - for (var l in (u = (0, r.pi)((0, r.pi)({}, u), a))) { - wr(e, l, ((s = u[l]), He(s) ? s[s.length - 1] || 0 : s)) - } - } - function Er(e, t) { - if (t) return (t[e] || t.default || t).from - } - function kr(e, t, n) { - var i - void 0 === n && (n = {}) - var o = C(e, t, n.custom), - a = (o || {}).transition, - s = void 0 === a ? e.getDefaultTransition() || {} : a - n.transitionOverride && (s = n.transitionOverride) - var u = o - ? function () { - return Tr(e, o, n) - } - : function () { - return Promise.resolve() - }, - l = (null === (i = e.variantChildren) || void 0 === i ? void 0 : i.size) - ? function (i) { - void 0 === i && (i = 0) - var o = s.delayChildren, - a = void 0 === o ? 0 : o, - u = s.staggerChildren, - l = s.staggerDirection - return (function (e, t, n, i, o, a) { - void 0 === n && (n = 0) - void 0 === i && (i = 0) - void 0 === o && (o = 1) - var s = [], - u = (e.variantChildren.size - 1) * i, - l = - 1 === o - ? function (e) { - return void 0 === e && (e = 0), e * i - } - : function (e) { - return void 0 === e && (e = 0), u - e * i - } - return ( - Array.from(e.variantChildren) - .sort(_r) - .forEach(function (e, i) { - s.push( - kr(e, t, (0, r.pi)((0, r.pi)({}, a), { delay: n + l(i) })).then( - function () { - return e.notifyAnimationComplete(t) - }, - ), - ) - }), - Promise.all(s) - ) - })(e, t, a + i, u, l, n) - } - : function () { - return Promise.resolve() - }, - c = s.when - if (c) { - var d = (0, r.CR)('beforeChildren' === c ? [u, l] : [l, u], 2), - f = d[0], - h = d[1] - return f().then(h) - } - return Promise.all([u(), l(n.delay)]) - } - function Tr(e, t, n) { - var i, - o = void 0 === n ? {} : n, - a = o.delay, - s = void 0 === a ? 0 : a, - u = o.transitionOverride, - l = o.type, - c = e.makeTargetAnimatable(t), - d = c.transition, - f = void 0 === d ? e.getDefaultTransition() : d, - h = c.transitionEnd, - p = (0, r._T)(c, ['transition', 'transitionEnd']) - u && (f = u) - var v = [], - m = l && (null === (i = e.animationState) || void 0 === i ? void 0 : i.getState()[l]) - for (var g in p) { - var y = e.getValue(g), - b = p[g] - if (!(!y || void 0 === b || (m && Or(m, g)))) { - var w = lr(g, y, b, (0, r.pi)({ delay: s }, f)) - v.push(w) - } - } - return Promise.all(v).then(function () { - h && xr(e, h) - }) - } - function _r(e, t) { - return e.sortNodePosition(t) - } - function Or(e, t) { - var n = e.protectedKeys, - r = e.needsAnimating, - i = n.hasOwnProperty(t) && !0 !== r[t] - return (r[t] = !1), i - } - var Cr = [qe.Animate, qe.Hover, qe.Tap, qe.Drag, qe.Focus, qe.Exit], - Sr = (0, r.ev)([], (0, r.CR)(Cr)).reverse(), - Ar = Cr.length - function Pr(e) { - return function (t) { - return Promise.all( - t.map(function (t) { - var n = t.animation, - r = t.options - return (function (e, t, n) { - var r - if ((void 0 === n && (n = {}), e.notifyAnimationStart(), Array.isArray(t))) { - var i = t.map(function (t) { - return kr(e, t, n) - }) - r = Promise.all(i) - } else if ('string' === typeof t) r = kr(e, t, n) - else { - var o = 'function' === typeof t ? C(e, t, n.custom) : t - r = Tr(e, o, n) - } - return r.then(function () { - return e.notifyAnimationComplete(t) - }) - })(e, n, r) - }), - ) - } - } - function Mr(e) { - var t = Pr(e), - n = (function () { - var e - return ( - ((e = {})[qe.Animate] = Rr(!0)), - (e[qe.Hover] = Rr()), - (e[qe.Tap] = Rr()), - (e[qe.Drag] = Rr()), - (e[qe.Focus] = Rr()), - (e[qe.Exit] = Rr()), - e - ) - })(), - i = {}, - o = !0, - a = function (t, n) { - var i = C(e, n) - if (i) { - i.transition - var o = i.transitionEnd, - a = (0, r._T)(i, ['transition', 'transitionEnd']) - t = (0, r.pi)((0, r.pi)((0, r.pi)({}, t), a), o) - } - return t - } - function s(s, u) { - for ( - var l, - c = e.getProps(), - d = e.getVariantContext(!0) || {}, - f = [], - h = new Set(), - p = {}, - v = 1 / 0, - m = function (t) { - var i = Sr[t], - m = n[i], - g = null !== (l = c[i]) && void 0 !== l ? l : d[i], - y = _(g), - b = i === u ? m.isActive : null - !1 === b && (v = t) - var w = g === d[i] && g !== c[i] && y - if ( - (w && o && e.manuallyAnimateOnMount && (w = !1), - (m.protectedKeys = (0, r.pi)({}, p)), - (!m.isActive && null === b) || - (!g && !m.prevProp) || - ze(g) || - 'boolean' === typeof g) - ) - return 'continue' - var x = - (function (e, t) { - if ('string' === typeof t) return t !== e - if (T(t)) return !bt(t, e) - return !1 - })(m.prevProp, g) || - (i === u && m.isActive && !w && y) || - (t > v && y), - E = Array.isArray(g) ? g : [g], - k = E.reduce(a, {}) - !1 === b && (k = {}) - var O = m.prevResolvedValues, - C = void 0 === O ? {} : O, - S = (0, r.pi)((0, r.pi)({}, C), k), - A = function (e) { - ;(x = !0), h.delete(e), (m.needsAnimating[e] = !0) - } - for (var P in S) { - var M = k[P], - R = C[P] - p.hasOwnProperty(P) || - (M !== R - ? He(M) && He(R) - ? bt(M, R) - ? (m.protectedKeys[P] = !0) - : A(P) - : void 0 !== M - ? A(P) - : h.add(P) - : void 0 !== M && h.has(P) - ? A(P) - : (m.protectedKeys[P] = !0)) - } - ;(m.prevProp = g), - (m.prevResolvedValues = k), - m.isActive && (p = (0, r.pi)((0, r.pi)({}, p), k)), - o && e.blockInitialAnimation && (x = !1), - x && - !w && - f.push.apply( - f, - (0, r.ev)( - [], - (0, r.CR)( - E.map(function (e) { - return { animation: e, options: (0, r.pi)({ type: i }, s) } - }), - ), - ), - ) - }, - g = 0; - g < Ar; - g++ - ) - m(g) - if (((i = (0, r.pi)({}, p)), h.size)) { - var y = {} - h.forEach(function (t) { - var n = e.getBaseTarget(t) - void 0 !== n && (y[t] = n) - }), - f.push({ animation: y }) - } - var b = Boolean(f.length) - return ( - o && !1 === c.initial && !e.manuallyAnimateOnMount && (b = !1), - (o = !1), - b ? t(f) : Promise.resolve() - ) - } - return { - isAnimated: function (e) { - return void 0 !== i[e] - }, - animateChanges: s, - setActive: function (t, r, i) { - var o - return n[t].isActive === r - ? Promise.resolve() - : (null === (o = e.variantChildren) || - void 0 === o || - o.forEach(function (e) { - var n - return null === (n = e.animationState) || void 0 === n - ? void 0 - : n.setActive(t, r) - }), - (n[t].isActive = r), - s(i, t)) - }, - setAnimateFunction: function (n) { - t = n(e) - }, - getState: function () { - return n - }, - } - } - function Rr(e) { - return ( - void 0 === e && (e = !1), - { isActive: e, protectedKeys: {}, needsAnimating: {}, prevResolvedValues: {} } - ) - } - var jr = { - animation: gt(function (e) { - var t = e.visualElement, - n = e.animate - t.animationState || (t.animationState = Mr(t)), - ze(n) && - (0, i.useEffect)( - function () { - return n.subscribe(t) - }, - [n], - ) - }), - exit: gt(function (e) { - var t = e.custom, - n = e.visualElement, - o = (0, r.CR)(p(), 2), - a = o[0], - s = o[1], - u = (0, i.useContext)(f.O) - ;(0, i.useEffect)( - function () { - var e, - r, - i = - null === (e = n.animationState) || void 0 === e - ? void 0 - : e.setActive(qe.Exit, !a, { - custom: - null !== (r = null === u || void 0 === u ? void 0 : u.custom) && - void 0 !== r - ? r - : t, - }) - !a && (null === i || void 0 === i || i.then(s)) - }, - [a], - ) - }), - }, - Dr = function (e) { - return e.hasOwnProperty('x') && e.hasOwnProperty('y') - }, - Lr = function (e) { - return Dr(e) && e.hasOwnProperty('z') - }, - Nr = function (e, t) { - return Math.abs(e - t) - } - function Ir(e, t) { - if (Jt(e) && Jt(t)) return Nr(e, t) - if (Dr(e) && Dr(t)) { - var n = Nr(e.x, t.x), - r = Nr(e.y, t.y), - i = Lr(e) && Lr(t) ? Nr(e.z, t.z) : 0 - return Math.sqrt(Math.pow(n, 2) + Math.pow(r, 2) + Math.pow(i, 2)) - } - } - var zr = (function () { - function e(e, t, n) { - var i = this, - o = (void 0 === n ? {} : n).transformPagePoint - if ( - ((this.startEvent = null), - (this.lastMoveEvent = null), - (this.lastMoveEventInfo = null), - (this.handlers = {}), - (this.updatePoint = function () { - if (i.lastMoveEvent && i.lastMoveEventInfo) { - var e = Fr(i.lastMoveEventInfo, i.history), - t = null !== i.startEvent, - n = Ir(e.offset, { x: 0, y: 0 }) >= 3 - if (t || n) { - var o = e.point, - a = (0, An.$B)().timestamp - i.history.push((0, r.pi)((0, r.pi)({}, o), { timestamp: a })) - var s = i.handlers, - u = s.onStart, - l = s.onMove - t || (u && u(i.lastMoveEvent, e), (i.startEvent = i.lastMoveEvent)), - l && l(i.lastMoveEvent, e) - } - } - }), - (this.handlePointerMove = function (e, t) { - ;(i.lastMoveEvent = e), - (i.lastMoveEventInfo = Hr(t, i.transformPagePoint)), - $e(e) && 0 === e.buttons ? i.handlePointerUp(e, t) : An.ZP.update(i.updatePoint, !0) - }), - (this.handlePointerUp = function (e, t) { - i.end() - var n = i.handlers, - r = n.onEnd, - o = n.onSessionEnd, - a = Fr(Hr(t, i.transformPagePoint), i.history) - i.startEvent && r && r(e, a), o && o(e, a) - }), - !(Xe(e) && e.touches.length > 1)) - ) { - ;(this.handlers = t), (this.transformPagePoint = o) - var a = Hr(et(e), this.transformPagePoint), - s = a.point, - u = (0, An.$B)().timestamp - this.history = [(0, r.pi)((0, r.pi)({}, s), { timestamp: u })] - var l = t.onSessionStart - l && l(e, Fr(a, this.history)), - (this.removeListeners = mt( - ot(window, 'pointermove', this.handlePointerMove), - ot(window, 'pointerup', this.handlePointerUp), - ot(window, 'pointercancel', this.handlePointerUp), - )) - } - } - return ( - (e.prototype.updateHandlers = function (e) { - this.handlers = e - }), - (e.prototype.end = function () { - this.removeListeners && this.removeListeners(), An.qY.update(this.updatePoint) - }), - e - ) - })() - function Hr(e, t) { - return t ? { point: t(e.point) } : e - } - function Br(e, t) { - return { x: e.x - t.x, y: e.y - t.y } - } - function Fr(e, t) { - var n = e.point - return { point: n, delta: Br(n, Ur(t)), offset: Br(n, Vr(t)), velocity: Gr(t, 0.1) } - } - function Vr(e) { - return e[0] - } - function Ur(e) { - return e[e.length - 1] - } - function Gr(e, t) { - if (e.length < 2) return { x: 0, y: 0 } - for ( - var n = e.length - 1, r = null, i = Ur(e); - n >= 0 && ((r = e[n]), !(i.timestamp - r.timestamp > Dn(t))); - - ) - n-- - if (!r) return { x: 0, y: 0 } - var o = (i.timestamp - r.timestamp) / 1e3 - if (0 === o) return { x: 0, y: 0 } - var a = { x: (i.x - r.x) / o, y: (i.y - r.y) / o } - return a.x === 1 / 0 && (a.x = 0), a.y === 1 / 0 && (a.y = 0), a - } - var qr = n(3327) - function Wr(e) { - return [e('x'), e('y')] - } - function Kr(e, t, n) { - var r = t.min, - i = t.max - return ( - void 0 !== r && e < r - ? (e = n ? Rt(r, e, n.min) : Math.max(e, r)) - : void 0 !== i && e > i && (e = n ? Rt(i, e, n.max) : Math.min(e, i)), - e - ) - } - function Zr(e, t, n) { - return { - min: void 0 !== t ? e.min + t : void 0, - max: void 0 !== n ? e.max + n - (e.max - e.min) : void 0, - } - } - function $r(e, t) { - var n, - i = t.min - e.min, - o = t.max - e.max - return ( - t.max - t.min < e.max - e.min && ((i = (n = (0, r.CR)([o, i], 2))[0]), (o = n[1])), - { min: e.min + i, max: e.min + o } - ) - } - function Xr(e, t, n) { - return { min: Yr(e, t), max: Yr(e, n) } - } - function Yr(e, t) { - var n - return 'number' === typeof e ? e : null !== (n = e[t]) && void 0 !== n ? n : 0 - } - function Qr(e, t) { - var n = e.getBoundingClientRect() - return (0, qr.RX)((0, qr.dV)(n, t)) - } - function Jr(e, t, n) { - return void 0 === t && (t = 0), void 0 === n && (n = 0.01), Ir(e, t) < n - } - function ei(e) { - return e.max - e.min - } - function ti(e, t) { - var n = 0.5, - r = ei(e), - i = ei(t) - return ( - i > r ? (n = Mt(t.min, t.max - r, e.min)) : r > i && (n = Mt(e.min, e.max - i, t.min)), - Et(0, 1, n) - ) - } - function ni(e, t, n, r) { - void 0 === r && (r = 0.5), - (e.origin = r), - (e.originPoint = Rt(t.min, t.max, e.origin)), - (e.scale = ei(n) / ei(t)), - Jr(e.scale, 1, 1e-4) && (e.scale = 1), - (e.translate = Rt(n.min, n.max, e.origin) - e.originPoint), - Jr(e.translate) && (e.translate = 0) - } - function ri(e, t, n, r) { - ni(e.x, t.x, n.x, ii(r.originX)), ni(e.y, t.y, n.y, ii(r.originY)) - } - function ii(e) { - return 'number' === typeof e ? e : 0.5 - } - function oi(e, t, n) { - ;(e.min = n.min + t.min), (e.max = e.min + ei(t)) - } - var ai = n(8839) - function si(e, t) { - return { min: t.min - e.min, max: t.max - e.min } - } - function ui(e, t) { - return { x: si(e.x, t.x), y: si(e.y, t.y) } - } - function li(e, t) { - var n = e.getLayoutId(), - r = t.getLayoutId() - return n !== r || (void 0 === r && e !== t) - } - function ci(e) { - var t = e.getProps(), - n = t.drag, - r = t._dragX - return n && !r - } - function di(e, t) { - ;(e.min = t.min), (e.max = t.max) - } - function fi(e, t, n) { - return n + t * (e - n) - } - function hi(e, t, n, r, i) { - return void 0 !== i && (e = fi(e, i, r)), fi(e, n, r) + t - } - function pi(e, t, n, r, i) { - void 0 === t && (t = 0), - void 0 === n && (n = 1), - (e.min = hi(e.min, t, n, r, i)), - (e.max = hi(e.max, t, n, r, i)) - } - function vi(e, t) { - var n = t.x, - r = t.y - pi(e.x, n.translate, n.scale, n.originPoint), pi(e.y, r.translate, r.scale, r.originPoint) - } - function mi(e, t, n, i) { - var o = (0, r.CR)(i, 3), - a = o[0], - s = o[1], - u = o[2] - ;(e.min = t.min), (e.max = t.max) - var l = void 0 !== n[u] ? n[u] : 0.5, - c = Rt(t.min, t.max, l) - pi(e, n[a], n[s], c, n.scale) - } - var gi = ['x', 'scaleX', 'originX'], - yi = ['y', 'scaleY', 'originY'] - function bi(e, t, n) { - mi(e.x, t.x, n, gi), mi(e.y, t.y, n, yi) - } - function wi(e, t, n, r, i) { - return (e = fi((e -= t), 1 / n, r)), void 0 !== i && (e = fi(e, 1 / i, r)), e - } - function xi(e, t, n) { - var i = (0, r.CR)(n, 3), - o = i[0], - a = i[1], - s = i[2] - !(function (e, t, n, r, i) { - void 0 === t && (t = 0), void 0 === n && (n = 1), void 0 === r && (r = 0.5) - var o = Rt(e.min, e.max, r) - t - ;(e.min = wi(e.min, t, n, o, i)), (e.max = wi(e.max, t, n, o, i)) - })(e, t[o], t[a], t[s], t.scale) - } - function Ei(e, t) { - xi(e.x, t, gi), xi(e.y, t, yi) - } - var ki, - Ti = n(7565), - _i = new WeakMap(), - Oi = (function () { - function e(e) { - var t = e.visualElement - ;(this.isDragging = !1), - (this.currentDirection = null), - (this.constraints = !1), - (this.elastic = (0, qr.VZ)()), - (this.props = {}), - (this.hasMutatedConstraints = !1), - (this.cursorProgress = { x: 0.5, y: 0.5 }), - (this.originPoint = {}), - (this.openGlobalLock = null), - (this.panSession = null), - (this.visualElement = t), - this.visualElement.enableLayoutProjection(), - _i.set(t, this) - } - return ( - (e.prototype.start = function (e, t) { - var n = this, - i = void 0 === t ? {} : t, - o = i.snapToCursor, - a = void 0 !== o && o, - s = i.cursorProgress, - u = this.props.transformPagePoint - this.panSession = new zr( - e, - { - onSessionStart: function (e) { - var t - n.stopMotion() - var i = (function (e) { - return et(e, 'client') - })(e).point - null === (t = n.cancelLayout) || void 0 === t || t.call(n), - (n.cancelLayout = (0, Ti.U)(function (e, t) { - var o = (0, ai.kv)(n.visualElement), - u = (0, ai.e3)(n.visualElement), - l = (0, r.ev)((0, r.ev)([], (0, r.CR)(o)), (0, r.CR)(u)), - c = !1 - n.isLayoutDrag() && n.visualElement.lockProjectionTarget(), - t(function () { - l.forEach(function (e) { - return e.resetTransform() - }) - }), - e(function () { - ;(0, ai.de)(n.visualElement), u.forEach(ai.de) - }), - t(function () { - l.forEach(function (e) { - return e.restoreTransform() - }), - a && (c = n.snapToCursor(i)) - }), - e(function () { - Boolean(n.getAxisMotionValue('x') && !n.isExternalDrag()) || - n.visualElement.rebaseProjectionTarget( - !0, - n.visualElement.measureViewportBox(!1), - ), - n.visualElement.scheduleUpdateLayoutProjection() - var e = n.visualElement.projection - Wr(function (t) { - if (!c) { - var r = e.target[t], - o = r.min, - a = r.max - n.cursorProgress[t] = s ? s[t] : Mt(o, a, i[t]) - } - var u = n.getAxisMotionValue(t) - u && (n.originPoint[t] = u.get()) - }) - }), - t(function () { - An.iW.update(), An.iW.preRender(), An.iW.render(), An.iW.postRender() - }), - e(function () { - return n.resolveDragConstraints() - }) - })) - }, - onStart: function (e, t) { - var r, - i, - o, - a = n.props, - s = a.drag, - u = a.dragPropagation - ;(!s || - u || - (n.openGlobalLock && n.openGlobalLock(), - (n.openGlobalLock = ct(s)), - n.openGlobalLock)) && - ((0, Ti.R)(), - (n.isDragging = !0), - (n.currentDirection = null), - null === (i = (r = n.props).onDragStart) || void 0 === i || i.call(r, e, t), - null === (o = n.visualElement.animationState) || - void 0 === o || - o.setActive(qe.Drag, !0)) - }, - onMove: function (e, t) { - var r, - i, - o, - a, - s = n.props, - u = s.dragPropagation, - l = s.dragDirectionLock - if (u || n.openGlobalLock) { - var c = t.offset - if (l && null === n.currentDirection) - return ( - (n.currentDirection = (function (e, t) { - void 0 === t && (t = 10) - var n = null - Math.abs(e.y) > t ? (n = 'y') : Math.abs(e.x) > t && (n = 'x') - return n - })(c)), - void ( - null !== n.currentDirection && - (null === (i = (r = n.props).onDirectionLock) || - void 0 === i || - i.call(r, n.currentDirection)) - ) - ) - n.updateAxis('x', t.point, c), - n.updateAxis('y', t.point, c), - null === (a = (o = n.props).onDrag) || void 0 === a || a.call(o, e, t), - (ki = e) - } - }, - onSessionEnd: function (e, t) { - return n.stop(e, t) - }, - }, - { transformPagePoint: u }, - ) - }), - (e.prototype.resolveDragConstraints = function () { - var e = this, - t = this.props, - n = t.dragConstraints, - r = t.dragElastic, - i = this.visualElement.getLayoutState().layoutCorrected - ;(this.constraints = - !!n && - (k(n) - ? this.resolveRefConstraints(i, n) - : (function (e, t) { - var n = t.top, - r = t.left, - i = t.bottom, - o = t.right - return { x: Zr(e.x, r, o), y: Zr(e.y, n, i) } - })(i, n))), - (this.elastic = (function (e) { - return ( - !1 === e ? (e = 0) : !0 === e && (e = 0.35), - { x: Xr(e, 'left', 'right'), y: Xr(e, 'top', 'bottom') } - ) - })(r)), - this.constraints && - !this.hasMutatedConstraints && - Wr(function (t) { - e.getAxisMotionValue(t) && - (e.constraints[t] = (function (e, t) { - var n = {} - return ( - void 0 !== t.min && (n.min = t.min - e.min), - void 0 !== t.max && (n.max = t.max - e.min), - n - ) - })(i[t], e.constraints[t])) - }) - }), - (e.prototype.resolveRefConstraints = function (e, t) { - var n = this.props, - r = n.onMeasureDragConstraints, - i = n.transformPagePoint, - o = t.current - this.constraintsBox = Qr(o, i) - var a = (function (e, t) { - return { x: $r(e.x, t.x), y: $r(e.y, t.y) } - })(e, this.constraintsBox) - if (r) { - var s = r((0, qr._6)(a)) - ;(this.hasMutatedConstraints = !!s), s && (a = (0, qr.RX)(s)) - } - return a - }), - (e.prototype.cancelDrag = function () { - var e, t - this.visualElement.unlockProjectionTarget(), - null === (e = this.cancelLayout) || void 0 === e || e.call(this), - (this.isDragging = !1), - this.panSession && this.panSession.end(), - (this.panSession = null), - !this.props.dragPropagation && - this.openGlobalLock && - (this.openGlobalLock(), (this.openGlobalLock = null)), - null === (t = this.visualElement.animationState) || - void 0 === t || - t.setActive(qe.Drag, !1) - }), - (e.prototype.stop = function (e, t) { - var n, r, i - null === (n = this.panSession) || void 0 === n || n.end(), (this.panSession = null) - var o = this.isDragging - if ((this.cancelDrag(), o)) { - var a = t.velocity - this.animateDragEnd(a), - null === (i = (r = this.props).onDragEnd) || void 0 === i || i.call(r, e, t) - } - }), - (e.prototype.snapToCursor = function (e) { - var t = this - return Wr(function (n) { - if (Ci(n, t.props.drag, t.currentDirection)) { - var r = t.getAxisMotionValue(n) - if (!r) return (t.cursorProgress[n] = 0.5), !0 - var i = t.visualElement.getLayoutState().layout, - o = i[n].max - i[n].min, - a = i[n].min + o / 2, - s = e[n] - a - ;(t.originPoint[n] = e[n]), r.set(s) - } - }).includes(!0) - }), - (e.prototype.updateAxis = function (e, t, n) { - if (Ci(e, this.props.drag, this.currentDirection)) - return this.getAxisMotionValue(e) - ? this.updateAxisMotionValue(e, n) - : this.updateVisualElementAxis(e, t) - }), - (e.prototype.updateAxisMotionValue = function (e, t) { - var n = this.getAxisMotionValue(e) - if (t && n) { - var r = this.originPoint[e] + t[e], - i = this.constraints ? Kr(r, this.constraints[e], this.elastic[e]) : r - n.set(i) - } - }), - (e.prototype.updateVisualElementAxis = function (e, t) { - var n, - r = this.visualElement.getLayoutState().layout[e], - i = r.max - r.min, - o = this.cursorProgress[e], - a = (function (e, t, n, r, i) { - var o = e - t * n - return r ? Kr(o, r, i) : o - })( - t[e], - i, - o, - null === (n = this.constraints) || void 0 === n ? void 0 : n[e], - this.elastic[e], - ) - this.visualElement.setProjectionTargetAxis(e, a, a + i) - }), - (e.prototype.setProps = function (e) { - var t = e.drag, - n = void 0 !== t && t, - i = e.dragDirectionLock, - o = void 0 !== i && i, - a = e.dragPropagation, - s = void 0 !== a && a, - u = e.dragConstraints, - l = void 0 !== u && u, - c = e.dragElastic, - d = void 0 === c ? 0.35 : c, - f = e.dragMomentum, - h = void 0 === f || f, - p = (0, r._T)(e, [ - 'drag', - 'dragDirectionLock', - 'dragPropagation', - 'dragConstraints', - 'dragElastic', - 'dragMomentum', - ]) - this.props = (0, r.pi)( - { - drag: n, - dragDirectionLock: o, - dragPropagation: s, - dragConstraints: l, - dragElastic: d, - dragMomentum: h, - }, - p, - ) - }), - (e.prototype.getAxisMotionValue = function (e) { - var t = this.props, - n = t.layout, - r = t.layoutId, - i = '_drag' + e.toUpperCase() - return this.props[i] - ? this.props[i] - : n || void 0 !== r - ? void 0 - : this.visualElement.getValue(e, 0) - }), - (e.prototype.isLayoutDrag = function () { - return !this.getAxisMotionValue('x') - }), - (e.prototype.isExternalDrag = function () { - var e = this.props, - t = e._dragX, - n = e._dragY - return t || n - }), - (e.prototype.animateDragEnd = function (e) { - var t = this, - n = this.props, - i = n.drag, - o = n.dragMomentum, - a = n.dragElastic, - s = n.dragTransition, - u = (function (e, t) { - void 0 === t && (t = !0) - var n, - r = e.getProjectionParent() - return ( - !!r && - (t - ? Ei((n = ui(r.projection.target, e.projection.target)), r.getLatestValues()) - : (n = ui(r.getLayoutState().layout, e.getLayoutState().layout)), - Wr(function (t) { - return e.setProjectionTargetAxis(t, n[t].min, n[t].max, !0) - }), - !0) - ) - })(this.visualElement, this.isLayoutDrag() && !this.isExternalDrag()), - l = this.constraints || {} - if (u && Object.keys(l).length && this.isLayoutDrag()) { - var c = this.visualElement.getProjectionParent() - if (c) { - var d = ui(c.projection.targetFinal, l) - Wr(function (e) { - var t = d[e], - n = t.min, - r = t.max - l[e] = { min: isNaN(n) ? void 0 : n, max: isNaN(r) ? void 0 : r } - }) - } - } - var f = Wr(function (n) { - var c - if (Ci(n, i, t.currentDirection)) { - var d = - null !== (c = null === l || void 0 === l ? void 0 : l[n]) && void 0 !== c - ? c - : {}, - f = a ? 200 : 1e6, - h = a ? 40 : 1e7, - p = (0, r.pi)( - (0, r.pi)( - { - type: 'inertia', - velocity: o ? e[n] : 0, - bounceStiffness: f, - bounceDamping: h, - timeConstant: 750, - restDelta: 1, - restSpeed: 10, - }, - s, - ), - d, - ) - return t.getAxisMotionValue(n) - ? t.startAxisValueAnimation(n, p) - : t.visualElement.startLayoutAnimation(n, p, u) - } - }) - return Promise.all(f).then(function () { - var e, n - null === (n = (e = t.props).onDragTransitionEnd) || void 0 === n || n.call(e) - }) - }), - (e.prototype.stopMotion = function () { - var e = this - Wr(function (t) { - var n = e.getAxisMotionValue(t) - n ? n.stop() : e.visualElement.stopLayoutAnimation() - }) - }), - (e.prototype.startAxisValueAnimation = function (e, t) { - var n = this.getAxisMotionValue(e) - if (n) { - var r = n.get() - return n.set(r), n.set(r), lr(e, n, 0, t) - } - }), - (e.prototype.scalePoint = function () { - var e = this, - t = this.props, - n = t.drag - if (k(t.dragConstraints) && this.constraintsBox) { - this.stopMotion() - var r = { x: 0, y: 0 } - Wr(function (t) { - r[t] = ti(e.visualElement.projection.target[t], e.constraintsBox[t]) - }), - this.updateConstraints(function () { - Wr(function (t) { - if (Ci(t, n, null)) { - var i = (function (e, t, n) { - var r = e.max - e.min, - i = Rt(t.min, t.max - r, n) - return { min: i, max: i + r } - })(e.visualElement.projection.target[t], e.constraintsBox[t], r[t]), - o = i.min, - a = i.max - e.visualElement.setProjectionTargetAxis(t, o, a) - } - }) - }), - setTimeout(Ti.R, 1) - } - }), - (e.prototype.updateConstraints = function (e) { - var t = this - this.cancelLayout = (0, Ti.U)(function (n, r) { - var i = (0, ai.kv)(t.visualElement) - r(function () { - return i.forEach(function (e) { - return e.resetTransform() - }) - }), - n(function () { - return (0, ai.de)(t.visualElement) - }), - r(function () { - return i.forEach(function (e) { - return e.restoreTransform() - }) - }), - n(function () { - t.resolveDragConstraints() - }), - e && r(e) - }) - }), - (e.prototype.mount = function (e) { - var t = this, - n = ot(e.getInstance(), 'pointerdown', function (e) { - var n = t.props, - r = n.drag, - i = n.dragListener - r && (void 0 === i || i) && t.start(e) - }), - r = Ke(window, 'resize', function () { - t.scalePoint() - }), - i = e.onLayoutUpdate(function () { - t.isDragging && t.resolveDragConstraints() - }), - o = e.prevDragCursor - return ( - o && this.start(ki, { cursorProgress: o }), - function () { - null === n || void 0 === n || n(), - null === r || void 0 === r || r(), - null === i || void 0 === i || i(), - t.cancelDrag() - } - ) - }), - e - ) - })() - function Ci(e, t, n) { - return (!0 === t || t === e) && (null === n || n === e) - } - var Si = { - pan: gt(function (e) { - var t = e.onPan, - n = e.onPanStart, - r = e.onPanEnd, - o = e.onPanSessionStart, - a = e.visualElement, - s = t || n || r || o, - u = (0, i.useRef)(null), - l = (0, i.useContext)(c).transformPagePoint, - d = { - onSessionStart: o, - onStart: n, - onMove: t, - onEnd: function (e, t) { - ;(u.current = null), r && r(e, t) - }, - } - ;(0, i.useEffect)(function () { - null !== u.current && u.current.updateHandlers(d) - }), - at( - a, - 'pointerdown', - s && - function (e) { - u.current = new zr(e, d, { transformPagePoint: l }) - }, - ), - (0, pt.z)(function () { - return u.current && u.current.end() - }) - }), - drag: gt(function (e) { - var t = e.dragControls, - n = e.visualElement, - o = (0, i.useContext)(c).transformPagePoint, - a = (0, h.h)(function () { - return new Oi({ visualElement: n }) - }) - a.setProps((0, r.pi)((0, r.pi)({}, e), { transformPagePoint: o })), - (0, i.useEffect)( - function () { - return t && t.subscribe(a) - }, - [a], - ), - (0, i.useEffect)(function () { - return a.mount(n) - }, []) - }), - }, - Ai = n(7646) - function Pi(e) { - return 'string' === typeof e && e.startsWith('var(--') - } - var Mi = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/ - function Ri(e, t, n) { - void 0 === n && (n = 1) - var i = (0, r.CR)( - (function (e) { - var t = Mi.exec(e) - if (!t) return [,] - var n = (0, r.CR)(t, 3) - return [n[1], n[2]] - })(e), - 2, - ), - o = i[0], - a = i[1] - if (o) { - var s = window.getComputedStyle(t).getPropertyValue(o) - return s ? s.trim() : Pi(a) ? Ri(a, t, n + 1) : a - } - } - function ji(e, t) { - return (e / (t.max - t.min)) * 100 - } - var Di = '_$css' - var Li = { - process: function (e, t, n) { - var r = n.target - if ('string' === typeof e) { - if (!oe.test(e)) return e - e = parseFloat(e) - } - return ji(e, r.x) + '% ' + ji(e, r.y) + '%' - }, - }, - Ni = { - borderRadius: (0, r.pi)((0, r.pi)({}, Li), { - applyTo: [ - 'borderTopLeftRadius', - 'borderTopRightRadius', - 'borderBottomLeftRadius', - 'borderBottomRightRadius', - ], - }), - borderTopLeftRadius: Li, - borderTopRightRadius: Li, - borderBottomLeftRadius: Li, - borderBottomRightRadius: Li, - boxShadow: { - process: function (e, t) { - var n = t.delta, - r = t.treeScale, - i = e, - o = e.includes('var('), - a = [] - o && - (e = e.replace(Mi, function (e) { - return a.push(e), Di - })) - var s = Qt.parse(e) - if (s.length > 5) return i - var u = Qt.createTransformer(e), - l = 'number' !== typeof s[0] ? 1 : 0, - c = n.x.scale * r.x, - d = n.y.scale * r.y - ;(s[0 + l] /= c), (s[1 + l] /= d) - var f = Rt(c, d, 0.5) - 'number' === typeof s[2 + l] && (s[2 + l] /= f), - 'number' === typeof s[3 + l] && (s[3 + l] /= f) - var h = u(s) - if (o) { - var p = 0 - h = h.replace(Di, function () { - var e = a[p] - return p++, e - }) - } - return h - }, - }, - }, - Ii = (function (e) { - function t() { - var t = (null !== e && e.apply(this, arguments)) || this - return ( - (t.frameTarget = (0, qr.VZ)()), - (t.currentAnimationTarget = (0, qr.VZ)()), - (t.isAnimating = { x: !1, y: !1 }), - (t.stopAxisAnimation = { x: void 0, y: void 0 }), - (t.isAnimatingTree = !1), - (t.animate = function (e, n, i) { - void 0 === i && (i = {}) - var o = i.originBox, - a = i.targetBox, - s = i.visibilityAction, - u = i.shouldStackAnimate, - l = i.onComplete, - c = i.prevParent, - d = (0, r._T)(i, [ - 'originBox', - 'targetBox', - 'visibilityAction', - 'shouldStackAnimate', - 'onComplete', - 'prevParent', - ]), - f = t.props, - h = f.visualElement, - p = f.layout - if (!1 === u) return (t.isAnimatingTree = !1), t.safeToRemove() - if (!t.isAnimatingTree || !0 === u) { - u && (t.isAnimatingTree = !0), (n = o || n), (e = a || e) - var v = !1, - m = h.getProjectionParent() - if (m) { - var g = m.prevViewportBox, - y = m.getLayoutState().layout - c && - (a && (y = c.getLayoutState().layout), - o && !li(c, m) && c.prevViewportBox && (g = c.prevViewportBox)), - g && Ui(c, o, a) && ((v = !0), (n = ui(g, n)), (e = ui(y, e))) - } - var b = zi(n, e), - w = Wr(function (i) { - var o, a - if ('position' === p) { - var u = e[i].max - e[i].min - n[i].max = n[i].min + u - } - if (!h.projection.isTargetLocked) - return void 0 === s - ? b - ? t.animateAxis( - i, - e[i], - n[i], - (0, r.pi)((0, r.pi)({}, d), { isRelative: v }), - ) - : (null === (a = (o = t.stopAxisAnimation)[i]) || - void 0 === a || - a.call(o), - h.setProjectionTargetAxis(i, e[i].min, e[i].max, v)) - : void h.setVisibility(s === Ai.c.Show) - }) - return ( - h.syncRender(), - Promise.all(w).then(function () { - ;(t.isAnimatingTree = !1), l && l(), h.notifyLayoutAnimationComplete() - }) - ) - } - }), - t - ) - } - return ( - (0, r.ZT)(t, e), - (t.prototype.componentDidMount = function () { - var e = this, - t = this.props.visualElement - ;(t.animateMotionValue = lr), - t.enableLayoutProjection(), - (this.unsubLayoutReady = t.onLayoutUpdate(this.animate)), - (t.layoutSafeToRemove = function () { - return e.safeToRemove() - }), - (function (e) { - for (var t in e) N[t] = e[t] - })(Ni) - }), - (t.prototype.componentWillUnmount = function () { - var e = this - this.unsubLayoutReady(), - Wr(function (t) { - var n, r - return null === (r = (n = e.stopAxisAnimation)[t]) || void 0 === r - ? void 0 - : r.call(n) - }) - }), - (t.prototype.animateAxis = function (e, t, n, r) { - var i, - o, - a = this, - s = void 0 === r ? {} : r, - u = s.transition, - l = s.isRelative - if (!this.isAnimating[e] || !Fi(t, this.currentAnimationTarget[e])) { - null === (o = (i = this.stopAxisAnimation)[e]) || void 0 === o || o.call(i), - (this.isAnimating[e] = !0) - var c = this.props.visualElement, - d = this.frameTarget[e], - f = c.getProjectionAnimationProgress()[e] - f.clearListeners(), f.set(0), f.set(0) - var h = function () { - var r = f.get() / 1e3 - !(function (e, t, n, r) { - ;(e.min = Rt(t.min, n.min, r)), (e.max = Rt(t.max, n.max, r)) - })(d, n, t, r), - c.setProjectionTargetAxis(e, d.min, d.max, l) - } - h() - var p = f.onChange(h) - ;(this.stopAxisAnimation[e] = function () { - ;(a.isAnimating[e] = !1), f.stop(), p() - }), - (this.currentAnimationTarget[e] = t) - var v = u || c.getDefaultTransition() || Vi - return lr('x' === e ? 'layoutX' : 'layoutY', f, 1e3, v && ur(v, 'layout')).then( - this.stopAxisAnimation[e], - ) - } - }), - (t.prototype.safeToRemove = function () { - var e, t - null === (t = (e = this.props).safeToRemove) || void 0 === t || t.call(e) - }), - (t.prototype.render = function () { - return null - }), - t - ) - })(i.Component) - function zi(e, t) { - return !Bi(e) && !Bi(t) && (!Fi(e.x, t.x) || !Fi(e.y, t.y)) - } - var Hi = { min: 0, max: 0 } - function Bi(e) { - return Fi(e.x, Hi) && Fi(e.y, Hi) - } - function Fi(e, t) { - return e.min === t.min && e.max === t.max - } - var Vi = { duration: 0.45, ease: [0.4, 0, 0.1, 1] } - function Ui(e, t, n) { - return e || (!e && !(t || n)) - } - var Gi = n(9870), - qi = (function (e) { - function t() { - return (null !== e && e.apply(this, arguments)) || this - } - return ( - (0, r.ZT)(t, e), - (t.prototype.componentDidMount = function () { - var e = this.props, - t = e.syncLayout, - n = e.framerSyncLayout, - r = e.visualElement - ;(0, Gi.Md)(t) && t.register(r), - (0, Gi.Md)(n) && n.register(r), - r.onUnmount(function () { - ;(0, Gi.Md)(t) && t.remove(r), (0, Gi.Md)(n) && n.remove(r) - }) - }), - (t.prototype.getSnapshotBeforeUpdate = function () { - var e = this.props, - t = e.syncLayout, - n = e.visualElement - return (0, Gi.Md)(t) ? t.syncUpdate() : ((0, ai.x7)(n), t.add(n)), null - }), - (t.prototype.componentDidUpdate = function () { - var e = this.props.syncLayout - ;(0, Gi.Md)(e) || e.flush() - }), - (t.prototype.render = function () { - return null - }), - t - ) - })(i.Component) - var Wi = { - measureLayout: function (e) { - var t = (0, i.useContext)(Gi.WH), - n = (0, i.useContext)(Gi.bg) - return i.createElement(qi, (0, r.pi)({}, e, { syncLayout: t, framerSyncLayout: n })) - }, - layoutAnimation: function (e) { - var t = (0, r.CR)(p(), 2)[1] - return i.createElement(Ii, (0, r.pi)({}, e, { safeToRemove: t })) - }, - } - function Ki() { - return { - isHydrated: !1, - layout: (0, qr.VZ)(), - layoutCorrected: (0, qr.VZ)(), - treeScale: { x: 1, y: 1 }, - delta: (0, qr.pY)(), - deltaFinal: (0, qr.pY)(), - deltaTransform: '', - } - } - var Zi = Ki() - function $i(e, t, n) { - var r = e.x, - i = e.y, - o = 'translate3d(' + r.translate / t.x + 'px, ' + i.translate / t.y + 'px, 0) ' - if (n) { - var a = n.rotate, - s = n.rotateX, - u = n.rotateY - a && (o += 'rotate(' + a + ') '), - s && (o += 'rotateX(' + s + ') '), - u && (o += 'rotateY(' + u + ') ') - } - return (o += 'scale(' + r.scale + ', ' + i.scale + ')'), n || o !== Yi ? o : '' - } - function Xi(e) { - var t = e.deltaFinal - return 100 * t.x.origin + '% ' + 100 * t.y.origin + '% 0' - } - var Yi = $i(Zi.delta, Zi.treeScale, { x: 1, y: 1 }), - Qi = [ - 'LayoutMeasure', - 'BeforeLayoutMeasure', - 'LayoutUpdate', - 'ViewportBoxUpdate', - 'Update', - 'Render', - 'AnimationComplete', - 'LayoutAnimationComplete', - 'AnimationStart', - 'SetAxisTarget', - 'Unmount', - ] - function Ji(e, t, n, r) { - var i, - o, - a = e.delta, - s = e.layout, - u = e.layoutCorrected, - l = e.treeScale, - c = t.target - ;(o = s), - di((i = u).x, o.x), - di(i.y, o.y), - (function (e, t, n) { - var r = n.length - if (r) { - var i, o - t.x = t.y = 1 - for (var a = 0; a < r; a++) - (o = (i = n[a]).getLayoutState().delta), - (t.x *= o.x.scale), - (t.y *= o.y.scale), - vi(e, o), - ci(i) && bi(e, e, i.getLatestValues()) - } - })(u, l, n), - ri(a, u, c, r) - } - var eo = n(519), - to = (function () { - function e() { - ;(this.children = []), (this.isDirty = !1) - } - return ( - (e.prototype.add = function (e) { - cr(this.children, e), (this.isDirty = !0) - }), - (e.prototype.remove = function (e) { - dr(this.children, e), (this.isDirty = !0) - }), - (e.prototype.forEach = function (e) { - this.isDirty && this.children.sort(eo._), - (this.isDirty = !1), - this.children.forEach(e) - }), - e - ) - })() - var no = function (e) { - var t = e.treeType, - n = void 0 === t ? '' : t, - i = e.build, - o = e.getBaseTarget, - a = e.makeTargetAnimatable, - s = e.measureViewportBox, - u = e.render, - l = e.readValueFromInstance, - c = e.resetTransform, - d = e.restoreTransform, - f = e.removeValueFromRenderState, - h = e.sortNodePosition, - p = e.scrapeMotionValuesFromProps - return function (e, t) { - var v = e.parent, - m = e.props, - g = e.presenceId, - y = e.blockInitialAnimation, - b = e.visualState - void 0 === t && (t = {}) - var w, - x, - E, - k, - T, - O, - C = b.latestValues, - P = b.renderState, - M = (function () { - var e = Qi.map(function () { - return new fr() - }), - t = {}, - n = { - clearAllListeners: function () { - return e.forEach(function (e) { - return e.clear() - }) - }, - updatePropListeners: function (e) { - return Qi.forEach(function (r) { - var i - null === (i = t[r]) || void 0 === i || i.call(t) - var o = 'on' + r, - a = e[o] - a && (t[r] = n[o](a)) - }) - }, - } - return ( - e.forEach(function (e, t) { - ;(n['on' + Qi[t]] = function (t) { - return e.add(t) - }), - (n['notify' + Qi[t]] = function () { - for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n] - return e.notify.apply(e, (0, r.ev)([], (0, r.CR)(t))) - }) - }), - n - ) - })(), - R = { - isEnabled: !1, - isHydrated: !1, - isTargetLocked: !1, - target: (0, qr.VZ)(), - targetFinal: (0, qr.VZ)(), - }, - j = R, - D = C, - L = Ki(), - N = !1, - I = new Map(), - z = new Map(), - H = {}, - B = (0, r.pi)({}, C) - function F() { - w && - (Y.isProjectionReady() && - (bi(j.targetFinal, j.target, D), - ri(L.deltaFinal, L.layoutCorrected, j.targetFinal, C)), - V(), - u(w, P)) - } - function V() { - var e = C - if (k && k.isActive()) { - var n = k.getCrossfadeState(Y) - n && (e = n) - } - i(Y, P, e, j, L, t, m) - } - function U() { - M.notifyUpdate(C) - } - function G() { - Y.layoutTree.forEach(io) - } - var W = p(m) - for (var K in W) { - var Z = W[K] - void 0 !== C[K] && q(Z) && Z.set(C[K], !1) - } - var $ = S(m), - X = A(m), - Y = (0, r.pi)( - (0, r.pi)( - { - treeType: n, - current: null, - depth: v ? v.depth + 1 : 0, - parent: v, - children: new Set(), - path: v ? (0, r.ev)((0, r.ev)([], (0, r.CR)(v.path)), [v]) : [], - layoutTree: v ? v.layoutTree : new to(), - presenceId: g, - projection: R, - variantChildren: X ? new Set() : void 0, - isVisible: void 0, - manuallyAnimateOnMount: Boolean( - null === v || void 0 === v ? void 0 : v.isMounted(), - ), - blockInitialAnimation: y, - isMounted: function () { - return Boolean(w) - }, - mount: function (e) { - ;(w = Y.current = e), - Y.pointTo(Y), - X && - v && - !$ && - (O = null === v || void 0 === v ? void 0 : v.addVariantChild(Y)), - null === v || void 0 === v || v.children.add(Y) - }, - unmount: function () { - An.qY.update(U), - An.qY.render(F), - An.qY.preRender(Y.updateLayoutProjection), - z.forEach(function (e) { - return e() - }), - Y.stopLayoutAnimation(), - Y.layoutTree.remove(Y), - null === O || void 0 === O || O(), - null === v || void 0 === v || v.children.delete(Y), - null === E || void 0 === E || E(), - M.clearAllListeners() - }, - addVariantChild: function (e) { - var t, - n = Y.getClosestVariantNode() - if (n) - return ( - null === (t = n.variantChildren) || void 0 === t || t.add(e), - function () { - return n.variantChildren.delete(e) - } - ) - }, - sortNodePosition: function (e) { - return h && n === e.treeType ? h(Y.getInstance(), e.getInstance()) : 0 - }, - getClosestVariantNode: function () { - return X ? Y : null === v || void 0 === v ? void 0 : v.getClosestVariantNode() - }, - scheduleUpdateLayoutProjection: v - ? v.scheduleUpdateLayoutProjection - : function () { - return An.ZP.preRender(Y.updateTreeLayoutProjection, !1, !0) - }, - getLayoutId: function () { - return m.layoutId - }, - getInstance: function () { - return w - }, - getStaticValue: function (e) { - return C[e] - }, - setStaticValue: function (e, t) { - return (C[e] = t) - }, - getLatestValues: function () { - return C - }, - setVisibility: function (e) { - Y.isVisible !== e && ((Y.isVisible = e), Y.scheduleRender()) - }, - makeTargetAnimatable: function (e, t) { - return void 0 === t && (t = !0), a(Y, e, m, t) - }, - addValue: function (e, t) { - Y.hasValue(e) && Y.removeValue(e), - I.set(e, t), - (C[e] = t.get()), - (function (e, t) { - var n = t.onChange(function (t) { - ;(C[e] = t), m.onUpdate && An.ZP.update(U, !1, !0) - }), - r = t.onRenderRequest(Y.scheduleRender) - z.set(e, function () { - n(), r() - }) - })(e, t) - }, - removeValue: function (e) { - var t - I.delete(e), - null === (t = z.get(e)) || void 0 === t || t(), - z.delete(e), - delete C[e], - f(e, P) - }, - hasValue: function (e) { - return I.has(e) - }, - getValue: function (e, t) { - var n = I.get(e) - return void 0 === n && void 0 !== t && ((n = pr(t)), Y.addValue(e, n)), n - }, - forEachValue: function (e) { - return I.forEach(e) - }, - readValue: function (e) { - var n - return null !== (n = C[e]) && void 0 !== n ? n : l(w, e, t) - }, - setBaseTarget: function (e, t) { - B[e] = t - }, - getBaseTarget: function (e) { - if (o) { - var t = o(m, e) - if (void 0 !== t && !q(t)) return t - } - return B[e] - }, - }, - M, - ), - { - build: function () { - return V(), P - }, - scheduleRender: function () { - An.ZP.render(F, !1, !0) - }, - syncRender: F, - setProps: function (e) { - ;(m = e), - M.updatePropListeners(e), - (H = (function (e, t, n) { - var r - for (var i in t) { - var o = t[i], - a = n[i] - if (q(o)) e.addValue(i, o) - else if (q(a)) e.addValue(i, pr(o)) - else if (a !== o) - if (e.hasValue(i)) { - var s = e.getValue(i) - !s.hasAnimated && s.set(o) - } else - e.addValue( - i, - pr(null !== (r = e.getStaticValue(i)) && void 0 !== r ? r : o), - ) - } - for (var i in n) void 0 === t[i] && e.removeValue(i) - return t - })(Y, p(m), H)) - }, - getProps: function () { - return m - }, - getVariant: function (e) { - var t - return null === (t = m.variants) || void 0 === t ? void 0 : t[e] - }, - getDefaultTransition: function () { - return m.transition - }, - getVariantContext: function (e) { - if ((void 0 === e && (e = !1), e)) - return null === v || void 0 === v ? void 0 : v.getVariantContext() - if (!$) { - var t = (null === v || void 0 === v ? void 0 : v.getVariantContext()) || {} - return void 0 !== m.initial && (t.initial = m.initial), t - } - for (var n = {}, r = 0; r < so; r++) { - var i = ao[r], - o = m[i] - ;(_(o) || !1 === o) && (n[i] = o) - } - return n - }, - enableLayoutProjection: function () { - ;(R.isEnabled = !0), Y.layoutTree.add(Y) - }, - lockProjectionTarget: function () { - R.isTargetLocked = !0 - }, - unlockProjectionTarget: function () { - Y.stopLayoutAnimation(), (R.isTargetLocked = !1) - }, - getLayoutState: function () { - return L - }, - setCrossfader: function (e) { - k = e - }, - isProjectionReady: function () { - return R.isEnabled && R.isHydrated && L.isHydrated - }, - startLayoutAnimation: function (e, t, n) { - void 0 === n && (n = !1) - var r = Y.getProjectionAnimationProgress()[e], - i = n ? R.relativeTarget[e] : R.target[e], - o = i.min, - a = i.max - o - return ( - r.clearListeners(), - r.set(o), - r.set(o), - r.onChange(function (t) { - Y.setProjectionTargetAxis(e, t, t + a, n) - }), - Y.animateMotionValue(e, r, 0, t) - ) - }, - stopLayoutAnimation: function () { - Wr(function (e) { - return Y.getProjectionAnimationProgress()[e].stop() - }) - }, - measureViewportBox: function (e) { - void 0 === e && (e = !0) - var n = s(w, t) - return e || Ei(n, C), n - }, - getProjectionAnimationProgress: function () { - return T || (T = { x: pr(0), y: pr(0) }), T - }, - setProjectionTargetAxis: function (e, t, n, r) { - var i - void 0 === r && (r = !1), - r - ? (R.relativeTarget || (R.relativeTarget = (0, qr.VZ)()), - (i = R.relativeTarget[e])) - : ((R.relativeTarget = void 0), (i = R.target[e])), - (R.isHydrated = !0), - (i.min = t), - (i.max = n), - (N = !0), - M.notifySetAxisTarget() - }, - rebaseProjectionTarget: function (e, t) { - void 0 === t && (t = L.layout) - var n = Y.getProjectionAnimationProgress(), - r = n.x, - i = n.y, - o = - !R.relativeTarget && !R.isTargetLocked && !r.isAnimating() && !i.isAnimating() - ;(e || o) && - Wr(function (e) { - var n = t[e], - r = n.min, - i = n.max - Y.setProjectionTargetAxis(e, r, i) - }) - }, - notifyLayoutReady: function (e) { - !(function (e) { - var t = e.getProjectionParent() - if (t) { - var n = ui(t.getLayoutState().layout, e.getLayoutState().layout) - Wr(function (t) { - e.setProjectionTargetAxis(t, n[t].min, n[t].max, !0) - }) - } else e.rebaseProjectionTarget() - })(Y), - Y.notifyLayoutUpdate(L.layout, Y.prevViewportBox || L.layout, e) - }, - resetTransform: function () { - return c(Y, w, m) - }, - restoreTransform: function () { - return d(w, P) - }, - updateLayoutProjection: function () { - if (Y.isProjectionReady()) { - var e = L.delta, - t = L.treeScale, - n = t.x, - r = t.y, - i = L.deltaTransform - Ji(L, j, Y.path, C), N && Y.notifyViewportBoxUpdate(j.target, e), (N = !1) - var o = $i(e, t) - ;(o === i && n === t.x && r === t.y) || Y.scheduleRender(), - (L.deltaTransform = o) - } - }, - updateTreeLayoutProjection: function () { - Y.layoutTree.forEach(ro), An.ZP.preRender(G, !1, !0) - }, - getProjectionParent: function () { - if (void 0 === x) { - for (var e = !1, t = Y.path.length - 1; t >= 0; t--) { - var n = Y.path[t] - if (n.projection.isEnabled) { - e = n - break - } - } - x = e - } - return x - }, - resolveRelativeTargetBox: function () { - var e = Y.getProjectionParent() - if ( - R.relativeTarget && - e && - ((function (e, t) { - oi(e.target.x, e.relativeTarget.x, t.target.x), - oi(e.target.y, e.relativeTarget.y, t.target.y) - })(R, e.projection), - ci(e)) - ) { - var t = R.target - bi(t, t, e.getLatestValues()) - } - }, - shouldResetTransform: function () { - return Boolean(m._layoutResetTransform) - }, - pointTo: function (e) { - ;(j = e.projection), - (D = e.getLatestValues()), - null === E || void 0 === E || E(), - (E = mt( - e.onSetAxisTarget(Y.scheduleUpdateLayoutProjection), - e.onLayoutAnimationComplete(function () { - var e - Y.isPresent - ? (Y.presence = Ai.z.Present) - : null === (e = Y.layoutSafeToRemove) || void 0 === e || e.call(Y) - }), - )) - }, - isPresent: !0, - presence: Ai.z.Entering, - }, - ) - return Y - } - } - function ro(e) { - e.resolveRelativeTargetBox() - } - function io(e) { - e.updateLayoutProjection() - } - var oo, - ao = (0, r.ev)(['initial'], (0, r.CR)(Cr)), - so = ao.length, - uo = new Set(['width', 'height', 'top', 'left', 'right', 'bottom', 'x', 'y']), - lo = function (e) { - return uo.has(e) - }, - co = function (e, t) { - e.set(t, !1), e.set(t) - }, - fo = function (e) { - return e === le || e === oe - } - !(function (e) { - ;(e.width = 'width'), - (e.height = 'height'), - (e.left = 'left'), - (e.right = 'right'), - (e.top = 'top'), - (e.bottom = 'bottom') - })(oo || (oo = {})) - var ho = function (e, t) { - return parseFloat(e.split(', ')[t]) - }, - po = function (e, t) { - return function (n, r) { - var i = r.transform - if ('none' === i || !i) return 0 - var o = i.match(/^matrix3d\((.+)\)$/) - if (o) return ho(o[1], t) - var a = i.match(/^matrix\((.+)\)$/) - return a ? ho(a[1], e) : 0 - } - }, - vo = new Set(['x', 'y', 'z']), - mo = z.filter(function (e) { - return !vo.has(e) - }) - var go = { - width: function (e) { - var t = e.x - return t.max - t.min - }, - height: function (e) { - var t = e.y - return t.max - t.min - }, - top: function (e, t) { - var n = t.top - return parseFloat(n) - }, - left: function (e, t) { - var n = t.left - return parseFloat(n) - }, - bottom: function (e, t) { - var n = e.y, - r = t.top - return parseFloat(r) + (n.max - n.min) - }, - right: function (e, t) { - var n = e.x, - r = t.left - return parseFloat(r) + (n.max - n.min) - }, - x: po(4, 13), - y: po(5, 14), - }, - yo = function (e, t, n, i) { - void 0 === n && (n = {}), - void 0 === i && (i = {}), - (t = (0, r.pi)({}, t)), - (i = (0, r.pi)({}, i)) - var o = Object.keys(t).filter(lo), - a = [], - s = !1, - u = [] - if ( - (o.forEach(function (r) { - var o = e.getValue(r) - if (e.hasValue(r)) { - var l, - c = n[r], - d = t[r], - f = gr(c) - if (He(d)) - for (var h = d.length, p = null === d[0] ? 1 : 0; p < h; p++) - l ? gr(d[p]) : (l = gr(d[p])) === f || (fo(f) && fo(l)) - else l = gr(d) - if (f !== l) - if (fo(f) && fo(l)) { - var v = o.get() - 'string' === typeof v && o.set(parseFloat(v)), - 'string' === typeof d - ? (t[r] = parseFloat(d)) - : Array.isArray(d) && l === oe && (t[r] = d.map(parseFloat)) - } else - (null === f || void 0 === f ? void 0 : f.transform) && - (null === l || void 0 === l ? void 0 : l.transform) && - (0 === c || 0 === d) - ? 0 === c - ? o.set(l.transform(c)) - : (t[r] = f.transform(d)) - : (s || - ((a = (function (e) { - var t = [] - return ( - mo.forEach(function (n) { - var r = e.getValue(n) - void 0 !== r && - (t.push([n, r.get()]), r.set(n.startsWith('scale') ? 1 : 0)) - }), - t.length && e.syncRender(), - t - ) - })(e)), - (s = !0)), - u.push(r), - (i[r] = void 0 !== i[r] ? i[r] : t[r]), - co(o, d)) - } - }), - u.length) - ) { - var l = (function (e, t, n) { - var r = t.measureViewportBox(), - i = t.getInstance(), - o = getComputedStyle(i), - a = o.display, - s = { - top: o.top, - left: o.left, - bottom: o.bottom, - right: o.right, - transform: o.transform, - } - 'none' === a && t.setStaticValue('display', e.display || 'block'), t.syncRender() - var u = t.measureViewportBox() - return ( - n.forEach(function (n) { - var i = t.getValue(n) - co(i, go[n](r, s)), (e[n] = go[n](u, o)) - }), - e - ) - })(t, e, u) - return ( - a.length && - a.forEach(function (t) { - var n = (0, r.CR)(t, 2), - i = n[0], - o = n[1] - e.getValue(i).set(o) - }), - e.syncRender(), - { target: l, transitionEnd: i } - ) - } - return { target: t, transitionEnd: i } - } - function bo(e, t, n, r) { - return (function (e) { - return Object.keys(e).some(lo) - })(t) - ? yo(e, t, n, r) - : { target: t, transitionEnd: r } - } - var wo = function (e, t, n, i) { - var o = (function (e, t, n) { - var i, - o = (0, r._T)(t, []), - a = e.getInstance() - if (!(a instanceof HTMLElement)) return { target: o, transitionEnd: n } - for (var s in (n && (n = (0, r.pi)({}, n)), - e.forEachValue(function (e) { - var t = e.get() - if (Pi(t)) { - var n = Ri(t, a) - n && e.set(n) - } - }), - o)) { - var u = o[s] - if (Pi(u)) { - var l = Ri(u, a) - l && ((o[s] = l), n && ((null !== (i = n[s]) && void 0 !== i) || (n[s] = u))) - } - } - return { target: o, transitionEnd: n } - })(e, t, i) - return bo(e, (t = o.target), n, (i = o.transitionEnd)) - } - var xo = { - treeType: 'dom', - readValueFromInstance: function (e, t) { - if (F(t)) { - var n = tr(t) - return (n && n.default) || 0 - } - var r, - i = ((r = e), window.getComputedStyle(r)) - return (K(t) ? i.getPropertyValue(t) : i[t]) || 0 - }, - sortNodePosition: function (e, t) { - return 2 & e.compareDocumentPosition(t) ? 1 : -1 - }, - getBaseTarget: function (e, t) { - var n - return null === (n = e.style) || void 0 === n ? void 0 : n[t] - }, - measureViewportBox: function (e, t) { - return Qr(e, t.transformPagePoint) - }, - resetTransform: function (e, t, n) { - var r = n.transformTemplate - ;(t.style.transform = r ? r({}, '') : 'none'), e.scheduleRender() - }, - restoreTransform: function (e, t) { - e.style.transform = t.style.transform - }, - removeValueFromRenderState: function (e, t) { - var n = t.vars, - r = t.style - delete n[e], delete r[e] - }, - makeTargetAnimatable: function (e, t, n, i) { - var o = n.transformValues - void 0 === i && (i = !0) - var a = t.transition, - s = t.transitionEnd, - u = (0, r._T)(t, ['transition', 'transitionEnd']), - l = (function (e, t, n) { - var r, - i, - o = {} - for (var a in e) - o[a] = - null !== (r = Er(a, t)) && void 0 !== r - ? r - : null === (i = n.getValue(a)) || void 0 === i - ? void 0 - : i.get() - return o - })(u, a || {}, e) - if ((o && (s && (s = o(s)), u && (u = o(u)), l && (l = o(l))), i)) { - !(function (e, t, n) { - var r, - i, - o, - a, - s = Object.keys(t).filter(function (t) { - return !e.hasValue(t) - }), - u = s.length - if (u) - for (var l = 0; l < u; l++) { - var c = s[l], - d = t[c], - f = null - Array.isArray(d) && (f = d[0]), - null === f && - (f = - null !== (i = null !== (r = n[c]) && void 0 !== r ? r : e.readValue(c)) && - void 0 !== i - ? i - : t[c]), - void 0 !== f && - null !== f && - ('string' === typeof f && /^\-?\d*\.?\d+$/.test(f) - ? (f = parseFloat(f)) - : !br(f) && Qt.test(d) && (f = nr(c, d)), - e.addValue(c, pr(f)), - (null !== (o = (a = n)[c]) && void 0 !== o) || (a[c] = f), - e.setBaseTarget(c, f)) - } - })(e, u, l) - var c = wo(e, u, l, s) - ;(s = c.transitionEnd), (u = c.target) - } - return (0, r.pi)({ transition: a, transitionEnd: s }, u) - }, - scrapeMotionValuesFromProps: Ne, - build: function (e, t, n, r, i, o, a) { - void 0 !== e.isVisible && (t.style.visibility = e.isVisible ? 'visible' : 'hidden') - var s = r.isEnabled && i.isHydrated - pe(t, n, r, i, o, a.transformTemplate, s ? $i : void 0, s ? Xi : void 0) - }, - render: je, - }, - Eo = no(xo), - ko = no( - (0, r.pi)((0, r.pi)({}, xo), { - getBaseTarget: function (e, t) { - return e[t] - }, - readValueFromInstance: function (e, t) { - var n - return F(t) - ? (null === (n = tr(t)) || void 0 === n ? void 0 : n.default) || 0 - : ((t = De.has(t) ? t : Re(t)), e.getAttribute(t)) - }, - scrapeMotionValuesFromProps: Ie, - build: function (e, t, n, r, i, o, a) { - var s = r.isEnabled && i.isHydrated - Ce(t, n, r, i, o, a.transformTemplate, s ? $i : void 0, s ? Xi : void 0) - }, - render: Le, - }), - ), - To = function (e, t) { - return L(e) - ? ko(t, { enableHardwareAcceleration: !1 }) - : Eo(t, { enableHardwareAcceleration: !0 }) - }, - _o = (0, r.pi)((0, r.pi)((0, r.pi)((0, r.pi)({}, jr), yt), Si), Wi), - Oo = j(function (e, t) { - return (function (e, t, n, i) { - var o = t.forwardMotionProps, - a = void 0 !== o && o, - s = L(e) ? Ge : We - return (0, - r.pi)((0, r.pi)({}, s), { preloadedFeatures: n, useRender: Pe(a), createVisualElement: i, Component: e }) - })(e, t, _o, To) - }) - }, - 8839: function (e, t, n) { - 'use strict' - n.d(t, { - kv: function () { - return s - }, - e3: function () { - return u - }, - x7: function () { - return c - }, - de: function () { - return l - }, - }) - var r = n(9839), - i = n(3327), - o = n(519) - function a(e) { - return e.projection.isEnabled || e.shouldResetTransform() - } - function s(e, t) { - void 0 === t && (t = []) - var n = e.parent - return n && s(n, t), a(e) && t.push(e), t - } - function u(e) { - var t = [], - n = function (e) { - a(e) && t.push(e), e.children.forEach(n) - } - return e.children.forEach(n), t.sort(o._) - } - function l(e) { - if (!e.shouldResetTransform()) { - var t = e.getLayoutState() - e.notifyBeforeLayoutMeasure(t.layout), - (t.isHydrated = !0), - (t.layout = e.measureViewportBox()), - (t.layoutCorrected = (0, i.nP)(t.layout)), - e.notifyLayoutMeasure(t.layout, e.prevViewportBox || t.layout), - r.ZP.update(function () { - return e.rebaseProjectionTarget() - }) - } - } - function c(e) { - e.shouldResetTransform() || - ((e.prevViewportBox = e.measureViewportBox(!1)), - e.rebaseProjectionTarget(!1, e.prevViewportBox)) - } - }, - 7565: function (e, t, n) { - 'use strict' - n.d(t, { - U: function () { - return o - }, - R: function () { - return a - }, - }) - var r = new Set() - function i(e, t, n) { - e[n] || (e[n] = []), e[n].push(t) - } - function o(e) { - return ( - r.add(e), - function () { - return r.delete(e) - } - ) - } - function a() { - if (r.size) { - var e = 0, - t = [[]], - n = [], - o = function (n) { - return i(t, n, e) - }, - a = function (t) { - i(n, t, e), e++ - } - r.forEach(function (t) { - t(o, a), (e = 0) - }), - r.clear() - for (var u = n.length, l = 0; l <= u; l++) - t[l] && t[l].forEach(s), n[l] && n[l].forEach(s) - } - } - var s = function (e) { - return e() - } - }, - 519: function (e, t, n) { - 'use strict' - n.d(t, { - _: function () { - return r - }, - }) - var r = function (e, t) { - return e.depth - t.depth - } - }, - 3327: function (e, t, n) { - 'use strict' - n.d(t, { - VZ: function () { - return u - }, - _6: function () { - return a - }, - RX: function () { - return o - }, - nP: function () { - return l - }, - pY: function () { - return d - }, - dV: function () { - return s - }, - }) - var r = n(1439) - function i(e) { - return e - } - function o(e) { - var t = e.top - return { x: { min: e.left, max: e.right }, y: { min: t, max: e.bottom } } - } - function a(e) { - var t = e.x, - n = e.y - return { top: n.min, bottom: n.max, left: t.min, right: t.max } - } - function s(e, t) { - var n = e.top, - r = e.left, - o = e.bottom, - a = e.right - void 0 === t && (t = i) - var s = t({ x: r, y: n }), - u = t({ x: a, y: o }) - return { top: s.y, left: s.x, bottom: u.y, right: u.x } - } - function u() { - return { x: { min: 0, max: 1 }, y: { min: 0, max: 1 } } - } - function l(e) { - return { x: (0, r.pi)({}, e.x), y: (0, r.pi)({}, e.y) } - } - var c = { translate: 0, scale: 1, origin: 0, originPoint: 0 } - function d() { - return { x: (0, r.pi)({}, c), y: (0, r.pi)({}, c) } - } - }, - 5930: function (e, t, n) { - 'use strict' - n.d(t, { - h: function () { - return i - }, - }) - var r = n(7294) - function i(e) { - var t = (0, r.useRef)(null) - return null === t.current && (t.current = e()), t.current - } - }, - 6717: function (e, t, n) { - 'use strict' - n.d(t, { - z: function () { - return i - }, - }) - var r = n(7294) - function i(e) { - return (0, r.useEffect)(function () { - return function () { - return e() - } - }, []) - } - }, - 1439: function (e, t, n) { - 'use strict' - n.d(t, { - ZT: function () { - return i - }, - pi: function () { - return o - }, - _T: function () { - return a - }, - CR: function () { - return s - }, - ev: function () { - return u - }, - }) - var r = function (e, t) { - return (r = - Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && - function (e, t) { - e.__proto__ = t - }) || - function (e, t) { - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n]) - })(e, t) - } - function i(e, t) { - if ('function' !== typeof t && null !== t) - throw new TypeError('Class extends value ' + String(t) + ' is not a constructor or null') - function n() { - this.constructor = e - } - r(e, t), - (e.prototype = null === t ? Object.create(t) : ((n.prototype = t.prototype), new n())) - } - var o = function () { - return (o = - Object.assign || - function (e) { - for (var t, n = 1, r = arguments.length; n < r; n++) - for (var i in (t = arguments[n])) - Object.prototype.hasOwnProperty.call(t, i) && (e[i] = t[i]) - return e - }).apply(this, arguments) - } - function a(e, t) { - var n = {} - for (var r in e) - Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]) - if (null != e && 'function' === typeof Object.getOwnPropertySymbols) { - var i = 0 - for (r = Object.getOwnPropertySymbols(e); i < r.length; i++) - t.indexOf(r[i]) < 0 && - Object.prototype.propertyIsEnumerable.call(e, r[i]) && - (n[r[i]] = e[r[i]]) - } - return n - } - Object.create - function s(e, t) { - var n = 'function' === typeof Symbol && e[Symbol.iterator] - if (!n) return e - var r, - i, - o = n.call(e), - a = [] - try { - for (; (void 0 === t || t-- > 0) && !(r = o.next()).done; ) a.push(r.value) - } catch (s) { - i = { error: s } - } finally { - try { - r && !r.done && (n = o.return) && n.call(o) - } finally { - if (i) throw i.error - } - } - return a - } - function u(e, t, n) { - if (n || 2 === arguments.length) - for (var r, i = 0, o = t.length; i < o; i++) - (!r && i in t) || (r || (r = Array.prototype.slice.call(t, 0, i)), (r[i] = t[i])) - return e.concat(r || t) - } - Object.create - }, - 9839: function (e, t, n) { - 'use strict' - n.d(t, { - qY: function () { - return h - }, - ZP: function () { - return b - }, - iW: function () { - return p - }, - $B: function () { - return y - }, - }) - var r = (1 / 60) * 1e3, - i = - 'undefined' !== typeof performance - ? function () { - return performance.now() - } - : function () { - return Date.now() - }, - o = - 'undefined' !== typeof window - ? function (e) { - return window.requestAnimationFrame(e) - } - : function (e) { - return setTimeout(function () { - return e(i()) - }, r) - } - var a = !0, - s = !1, - u = !1, - l = { delta: 0, timestamp: 0 }, - c = ['read', 'update', 'preRender', 'render', 'postRender'], - d = c.reduce(function (e, t) { - return ( - (e[t] = (function (e) { - var t = [], - n = [], - r = 0, - i = !1, - o = new WeakSet(), - a = { - schedule: function (e, a, s) { - void 0 === a && (a = !1), void 0 === s && (s = !1) - var u = s && i, - l = u ? t : n - return ( - a && o.add(e), -1 === l.indexOf(e) && (l.push(e), u && i && (r = t.length)), e - ) - }, - cancel: function (e) { - var t = n.indexOf(e) - ;-1 !== t && n.splice(t, 1), o.delete(e) - }, - process: function (s) { - var u - if (((i = !0), (t = (u = [n, t])[0]), ((n = u[1]).length = 0), (r = t.length))) - for (var l = 0; l < r; l++) { - var c = t[l] - c(s), o.has(c) && (a.schedule(c), e()) - } - i = !1 - }, - } - return a - })(function () { - return (s = !0) - })), - e - ) - }, {}), - f = c.reduce(function (e, t) { - var n = d[t] - return ( - (e[t] = function (e, t, r) { - return ( - void 0 === t && (t = !1), void 0 === r && (r = !1), s || g(), n.schedule(e, t, r) - ) - }), - e - ) - }, {}), - h = c.reduce(function (e, t) { - return (e[t] = d[t].cancel), e - }, {}), - p = c.reduce(function (e, t) { - return ( - (e[t] = function () { - return d[t].process(l) - }), - e - ) - }, {}), - v = function (e) { - return d[e].process(l) - }, - m = function (e) { - ;(s = !1), - (l.delta = a ? r : Math.max(Math.min(e - l.timestamp, 40), 1)), - (l.timestamp = e), - (u = !0), - c.forEach(v), - (u = !1), - s && ((a = !1), o(m)) - }, - g = function () { - ;(s = !0), (a = !0), u || o(m) - }, - y = function () { - return l - }, - b = f - }, - 3405: function (e) { - e.exports = function (e) { - return [...e].reduce((e, [t, n]) => ((e[t] = n), e), {}) - } - }, - 1527: function (e, t) { - 'use strict' - function n(e, t) { - if (null == e) return {} - var n, - r, - i = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, t) - if (Object.getOwnPropertySymbols) { - var o = Object.getOwnPropertySymbols(e) - for (r = 0; r < o.length; r++) - (n = o[r]), - t.indexOf(n) >= 0 || - (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])) - } - return i - } - function r(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']) - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - o(e, t) || - (function () { - 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 i(e) { - return ( - (function (e) { - if (Array.isArray(e)) return a(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - o(e) || - (function () { - 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 o(e, t) { - if (e) { - if ('string' === typeof e) return a(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? a(e, t) - : void 0 - ) - } - } - function a(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - function s(e) { - var t = (function (e, t) { - if ('object' !== typeof e || null === e) return e - var n = e[Symbol.toPrimitive] - if (void 0 !== n) { - var r = n.call(e, t || 'default') - if ('object' !== typeof r) return r - throw new TypeError('@@toPrimitive must return a primitive value.') - } - return ('string' === t ? String : Number)(e) - })(e, 'string') - return 'symbol' === typeof t ? t : String(t) - } - t.Z = function () { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], - t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [], - o = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], - a = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], - u = (t instanceof Array ? (t.length ? t : [void 0]) : [t]).map(function (e) { - return { keyAccessor: e, isProp: !(e instanceof Function) } - }), - l = e.reduce(function (e, t) { - var r = e, - i = t - return ( - u.forEach(function (e, t) { - var a, - l = e.keyAccessor - if (e.isProp) { - var c = i, - d = c[l], - f = n(c, [l].map(s)) - ;(a = d), (i = f) - } else a = l(i, t) - t + 1 < u.length - ? (r.hasOwnProperty(a) || (r[a] = {}), (r = r[a])) - : o - ? (r.hasOwnProperty(a) || (r[a] = []), r[a].push(i)) - : (r[a] = i) - }), - e - ) - }, {}) - o instanceof Function && - (function e(t) { - var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1 - n === u.length - ? Object.keys(t).forEach(function (e) { - return (t[e] = o(t[e])) - }) - : Object.values(t).forEach(function (t) { - return e(t, n + 1) - }) - })(l) - var c = l - return ( - a && - ((c = []), - (function e(t) { - var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [] - n.length === u.length - ? c.push({ keys: n, vals: t }) - : Object.entries(t).forEach(function (t) { - var o = r(t, 2), - a = o[0], - s = o[1] - return e(s, [].concat(i(n), [a])) - }) - })(l), - t instanceof Array && 0 === t.length && 1 === c.length && (c[0].keys = [])), - c - ) - } - }, - 6808: function (e, t, n) { - var r, i - !(function (o) { - if ( - (void 0 === (i = 'function' === typeof (r = o) ? r.call(t, n, t, e) : r) || - (e.exports = i), - !0, - (e.exports = o()), - !!0) - ) { - var a = window.Cookies, - s = (window.Cookies = o()) - s.noConflict = function () { - return (window.Cookies = a), s - } - } - })(function () { - function e() { - for (var e = 0, t = {}; e < arguments.length; e++) { - var n = arguments[e] - for (var r in n) t[r] = n[r] - } - return t - } - function t(e) { - return e.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent) - } - return (function n(r) { - function i() {} - function o(t, n, o) { - if ('undefined' !== typeof document) { - 'number' === typeof (o = e({ path: '/' }, i.defaults, o)).expires && - (o.expires = new Date(1 * new Date() + 864e5 * o.expires)), - (o.expires = o.expires ? o.expires.toUTCString() : '') - try { - var a = JSON.stringify(n) - ;/^[\{\[]/.test(a) && (n = a) - } catch (l) {} - ;(n = r.write - ? r.write(n, t) - : encodeURIComponent(String(n)).replace( - /%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, - decodeURIComponent, - )), - (t = encodeURIComponent(String(t)) - .replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent) - .replace(/[\(\)]/g, escape)) - var s = '' - for (var u in o) - o[u] && ((s += '; ' + u), !0 !== o[u] && (s += '=' + o[u].split(';')[0])) - return (document.cookie = t + '=' + n + s) - } - } - function a(e, n) { - if ('undefined' !== typeof document) { - for ( - var i = {}, o = document.cookie ? document.cookie.split('; ') : [], a = 0; - a < o.length; - a++ - ) { - var s = o[a].split('='), - u = s.slice(1).join('=') - n || '"' !== u.charAt(0) || (u = u.slice(1, -1)) - try { - var l = t(s[0]) - if (((u = (r.read || r)(u, l) || t(u)), n)) - try { - u = JSON.parse(u) - } catch (c) {} - if (((i[l] = u), e === l)) break - } catch (c) {} - } - return e ? i[e] : i - } - } - return ( - (i.set = o), - (i.get = function (e) { - return a(e, !1) - }), - (i.getJSON = function (e) { - return a(e, !0) - }), - (i.remove = function (t, n) { - o(t, '', e(n, { expires: -1 })) - }), - (i.defaults = {}), - (i.withConverter = n), - i - ) - })(function () {}) - }) - }, - 4858: function (e, t, n) { - 'use strict' - var r = n(296), - i = n.n(r) - function o(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']) - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - (function (e, t) { - if (!e) return - if ('string' === typeof e) return a(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - 'Object' === n && e.constructor && (n = e.constructor.name) - if ('Map' === n || 'Set' === n) return Array.from(e) - if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return a(e, t) - })(e, t) || - (function () { - 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 a(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - var s = function e(t, n) { - var r = n.default, - i = void 0 === r ? null : r, - o = n.triggerUpdate, - a = void 0 === o || o, - s = n.onChange, - u = void 0 === s ? function (e, t) {} : s - !(function (e, t) { - if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') - })(this, e), - (this.name = t), - (this.defaultVal = i), - (this.triggerUpdate = a), - (this.onChange = u) - } - t.Z = function (e) { - var t = e.stateInit, - n = - void 0 === t - ? function () { - return {} - } - : t, - r = e.props, - a = void 0 === r ? {} : r, - u = e.methods, - l = void 0 === u ? {} : u, - c = e.aliases, - d = void 0 === c ? {} : c, - f = e.init, - h = void 0 === f ? function () {} : f, - p = e.update, - v = void 0 === p ? function () {} : p, - m = Object.keys(a).map(function (e) { - return new s(e, a[e]) - }) - return function () { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, - t = Object.assign({}, n instanceof Function ? n(e) : n, { initialised: !1 }), - r = {} - function a(t) { - return s(t, e), u(), a - } - var s = function (e, n) { - h.call(a, e, t, n), (t.initialised = !0) - }, - u = i()(function () { - t.initialised && (v.call(a, t, r), (r = {})) - }, 1) - return ( - m.forEach(function (e) { - a[e.name] = (function (e) { - var n = e.name, - i = e.triggerUpdate, - o = void 0 !== i && i, - s = e.onChange, - l = void 0 === s ? function (e, t) {} : s, - c = e.defaultVal, - d = void 0 === c ? null : c - return function (e) { - var i = t[n] - if (!arguments.length) return i - var s = void 0 === e ? d : e - return ( - (t[n] = s), l.call(a, s, t, i), !r.hasOwnProperty(n) && (r[n] = i), o && u(), a - ) - } - })(e) - }), - Object.keys(l).forEach(function (e) { - a[e] = function () { - for (var n, r = arguments.length, i = new Array(r), o = 0; o < r; o++) - i[o] = arguments[o] - return (n = l[e]).call.apply(n, [a, t].concat(i)) - } - }), - Object.entries(d).forEach(function (e) { - var t = o(e, 2), - n = t[0], - r = t[1] - return (a[n] = a[r]) - }), - (a.resetProps = function () { - return ( - m.forEach(function (e) { - a[e.name](e.defaultVal) - }), - a - ) - }), - a.resetProps(), - (t._rerender = u), - a - ) - } - } - }, - 3096: function (e, t, n) { - var r = 'Expected a function', - i = /^\s+|\s+$/g, - o = /^[-+]0x[0-9a-f]+$/i, - a = /^0b[01]+$/i, - s = /^0o[0-7]+$/i, - u = parseInt, - l = 'object' == typeof n.g && n.g && n.g.Object === Object && n.g, - c = 'object' == typeof self && self && self.Object === Object && self, - d = l || c || Function('return this')(), - f = Object.prototype.toString, - h = Math.max, - p = Math.min, - v = function () { - return d.Date.now() - } - function m(e, t, n) { - var i, - o, - a, - s, - u, - l, - c = 0, - d = !1, - f = !1, - m = !0 - if ('function' != typeof e) throw new TypeError(r) - function b(t) { - var n = i, - r = o - return (i = o = void 0), (c = t), (s = e.apply(r, n)) - } - function w(e) { - return (c = e), (u = setTimeout(E, t)), d ? b(e) : s - } - function x(e) { - var n = e - l - return void 0 === l || n >= t || n < 0 || (f && e - c >= a) - } - function E() { - var e = v() - if (x(e)) return k(e) - u = setTimeout( - E, - (function (e) { - var n = t - (e - l) - return f ? p(n, a - (e - c)) : n - })(e), - ) - } - function k(e) { - return (u = void 0), m && i ? b(e) : ((i = o = void 0), s) - } - function T() { - var e = v(), - n = x(e) - if (((i = arguments), (o = this), (l = e), n)) { - if (void 0 === u) return w(l) - if (f) return (u = setTimeout(E, t)), b(l) - } - return void 0 === u && (u = setTimeout(E, t)), s - } - return ( - (t = y(t) || 0), - g(n) && - ((d = !!n.leading), - (a = (f = 'maxWait' in n) ? h(y(n.maxWait) || 0, t) : a), - (m = 'trailing' in n ? !!n.trailing : m)), - (T.cancel = function () { - void 0 !== u && clearTimeout(u), (c = 0), (i = l = o = u = void 0) - }), - (T.flush = function () { - return void 0 === u ? s : k(v()) - }), - T - ) - } - function g(e) { - var t = typeof e - return !!e && ('object' == t || 'function' == t) - } - function y(e) { - if ('number' == typeof e) return e - if ( - (function (e) { - return ( - 'symbol' == typeof e || - ((function (e) { - return !!e && 'object' == typeof e - })(e) && - '[object Symbol]' == f.call(e)) - ) - })(e) - ) - return NaN - if (g(e)) { - var t = 'function' == typeof e.valueOf ? e.valueOf() : e - e = g(t) ? t + '' : t - } - if ('string' != typeof e) return 0 === e ? e : +e - e = e.replace(i, '') - var n = a.test(e) - return n || s.test(e) ? u(e.slice(2), n ? 2 : 8) : o.test(e) ? NaN : +e - } - e.exports = function (e, t, n) { - var i = !0, - o = !0 - if ('function' != typeof e) throw new TypeError(r) - return ( - g(n) && - ((i = 'leading' in n ? !!n.leading : i), (o = 'trailing' in n ? !!n.trailing : o)), - m(e, t, { leading: i, maxWait: t, trailing: o }) - ) - } - }, - 3752: function (e, t, n) { - 'use strict' - function r(e, t) { - var n - if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) { - if ( - Array.isArray(e) || - (n = (function (e, t) { - if (!e) return - if ('string' === typeof e) return i(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - 'Object' === n && e.constructor && (n = e.constructor.name) - if ('Map' === n || 'Set' === n) return Array.from(e) - if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return i(e, t) - })(e)) || - (t && e && 'number' === typeof e.length) - ) { - n && (e = n) - var r = 0, - o = function () {} - return { - s: o, - n: function () { - return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } - }, - e: function (e) { - throw e - }, - f: o, - } - } - throw new TypeError( - 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', - ) - } - var a, - s = !0, - u = !1 - return { - s: function () { - n = e[Symbol.iterator]() - }, - n: function () { - var e = n.next() - return (s = e.done), e - }, - e: function (e) { - ;(u = !0), (a = e) - }, - f: function () { - try { - s || null == n.return || n.return() - } finally { - if (u) throw a - } - }, - } - } - function i(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - function o(e, t) { - var n - if (void 0 === t) { - var i, - o = r(e) - try { - for (o.s(); !(i = o.n()).done; ) { - var a = i.value - null != a && (n < a || (void 0 === n && a >= a)) && (n = a) - } - } catch (d) { - o.e(d) - } finally { - o.f() - } - } else { - var s, - u = -1, - l = r(e) - try { - for (l.s(); !(s = l.n()).done; ) { - var c = s.value - null != (c = t(c, ++u, e)) && (n < c || (void 0 === n && c >= c)) && (n = c) - } - } catch (d) { - l.e(d) - } finally { - l.f() - } - } - return n - } - n.d(t, { - Z: function () { - return o - }, - }) - }, - 6701: function (e, t, n) { - 'use strict' - function r(e, t) { - var n - if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) { - if ( - Array.isArray(e) || - (n = (function (e, t) { - if (!e) return - if ('string' === typeof e) return i(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - 'Object' === n && e.constructor && (n = e.constructor.name) - if ('Map' === n || 'Set' === n) return Array.from(e) - if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return i(e, t) - })(e)) || - (t && e && 'number' === typeof e.length) - ) { - n && (e = n) - var r = 0, - o = function () {} - return { - s: o, - n: function () { - return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } - }, - e: function (e) { - throw e - }, - f: o, - } - } - throw new TypeError( - 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', - ) - } - var a, - s = !0, - u = !1 - return { - s: function () { - n = e[Symbol.iterator]() - }, - n: function () { - var e = n.next() - return (s = e.done), e - }, - e: function (e) { - ;(u = !0), (a = e) - }, - f: function () { - try { - s || null == n.return || n.return() - } finally { - if (u) throw a - } - }, - } - } - function i(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - function o(e, t) { - var n - if (void 0 === t) { - var i, - o = r(e) - try { - for (o.s(); !(i = o.n()).done; ) { - var a = i.value - null != a && (n > a || (void 0 === n && a >= a)) && (n = a) - } - } catch (d) { - o.e(d) - } finally { - o.f() - } - } else { - var s, - u = -1, - l = r(e) - try { - for (l.s(); !(s = l.n()).done; ) { - var c = s.value - null != (c = t(c, ++u, e)) && (n > c || (void 0 === n && c >= c)) && (n = c) - } - } catch (d) { - l.e(d) - } finally { - l.f() - } - } - return n - } - n.d(t, { - Z: function () { - return o - }, - }) - }, - 4275: function (e, t, n) { - 'use strict' - function r(e, t, n) { - if (isNaN(t)) return e - var r, - i, - o, - a, - s, - u, - l = e._root, - c = { data: n }, - d = e._x0, - f = e._x1 - if (!l) return (e._root = c), e - for (; l.length; ) - if (((a = t >= (i = (d + f) / 2)) ? (d = i) : (f = i), (r = l), !(l = l[(s = +a)]))) - return (r[s] = c), e - if (t === (o = +e._x.call(null, l.data))) - return (c.next = l), r ? (r[s] = c) : (e._root = c), e - do { - ;(r = r ? (r[s] = new Array(2)) : (e._root = new Array(2))), - (a = t >= (i = (d + f) / 2)) ? (d = i) : (f = i) - } while ((s = +a) === (u = +(o >= i))) - return (r[u] = l), (r[s] = c), e - } - function i(e, t, n) { - ;(this.node = e), (this.x0 = t), (this.x1 = n) - } - function o(e) { - return e[0] - } - function a(e, t) { - var n = new s(null == t ? o : t, NaN, NaN) - return null == e ? n : n.addAll(e) - } - function s(e, t, n) { - ;(this._x = e), (this._x0 = t), (this._x1 = n), (this._root = void 0) - } - function u(e) { - for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data } - return t - } - n.d(t, { - Z: function () { - return a - }, - }) - var l = (a.prototype = s.prototype) - ;(l.copy = function () { - var e, - t, - n = new s(this._x, this._x0, this._x1), - r = this._root - if (!r) return n - if (!r.length) return (n._root = u(r)), n - for (e = [{ source: r, target: (n._root = new Array(2)) }]; (r = e.pop()); ) - for (var i = 0; i < 2; ++i) - (t = r.source[i]) && - (t.length - ? e.push({ source: t, target: (r.target[i] = new Array(2)) }) - : (r.target[i] = u(t))) - return n - }), - (l.add = function (e) { - var t = +this._x.call(null, e) - return r(this.cover(t), t, e) - }), - (l.addAll = function (e) { - var t, - n, - i = e.length, - o = new Array(i), - a = 1 / 0, - s = -1 / 0 - for (t = 0; t < i; ++t) - isNaN((n = +this._x.call(null, e[t]))) || - ((o[t] = n), n < a && (a = n), n > s && (s = n)) - if (a > s) return this - for (this.cover(a).cover(s), t = 0; t < i; ++t) r(this, o[t], e[t]) - return this - }), - (l.cover = function (e) { - if (isNaN((e = +e))) return this - var t = this._x0, - n = this._x1 - if (isNaN(t)) n = (t = Math.floor(e)) + 1 - else { - for (var r, i, o = n - t || 1, a = this._root; t > e || e >= n; ) - switch (((i = +(e < t)), ((r = new Array(2))[i] = a), (a = r), (o *= 2), i)) { - case 0: - n = t + o - break - case 1: - t = n - o - } - this._root && this._root.length && (this._root = a) - } - return (this._x0 = t), (this._x1 = n), this - }), - (l.data = function () { - var e = [] - return ( - this.visit(function (t) { - if (!t.length) - do { - e.push(t.data) - } while ((t = t.next)) - }), - e - ) - }), - (l.extent = function (e) { - return arguments.length - ? this.cover(+e[0][0]).cover(+e[1][0]) - : isNaN(this._x0) - ? void 0 - : [[this._x0], [this._x1]] - }), - (l.find = function (e, t) { - var n, - r, - o, - a, - s, - u = this._x0, - l = this._x1, - c = [], - d = this._root - for ( - d && c.push(new i(d, u, l)), null == t ? (t = 1 / 0) : ((u = e - t), (l = e + t)); - (a = c.pop()); - - ) - if (!(!(d = a.node) || (r = a.x0) > l || (o = a.x1) < u)) - if (d.length) { - var f = (r + o) / 2 - c.push(new i(d[1], f, o), new i(d[0], r, f)), - (s = +(e >= f)) && - ((a = c[c.length - 1]), - (c[c.length - 1] = c[c.length - 1 - s]), - (c[c.length - 1 - s] = a)) - } else { - var h = Math.abs(e - +this._x.call(null, d.data)) - h < t && ((t = h), (u = e - h), (l = e + h), (n = d.data)) - } - return n - }), - (l.remove = function (e) { - if (isNaN((o = +this._x.call(null, e)))) return this - var t, - n, - r, - i, - o, - a, - s, - u, - l, - c = this._root, - d = this._x0, - f = this._x1 - if (!c) return this - if (c.length) - for (;;) { - if (((s = o >= (a = (d + f) / 2)) ? (d = a) : (f = a), (t = c), !(c = c[(u = +s)]))) - return this - if (!c.length) break - t[(u + 1) & 1] && ((n = t), (l = u)) - } - for (; c.data !== e; ) if (((r = c), !(c = c.next))) return this - return ( - (i = c.next) && delete c.next, - r - ? (i ? (r.next = i) : delete r.next, this) - : t - ? (i ? (t[u] = i) : delete t[u], - (c = t[0] || t[1]) && - c === (t[1] || t[0]) && - !c.length && - (n ? (n[l] = c) : (this._root = c)), - this) - : ((this._root = i), this) - ) - }), - (l.removeAll = function (e) { - for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t]) - return this - }), - (l.root = function () { - return this._root - }), - (l.size = function () { - var e = 0 - return ( - this.visit(function (t) { - if (!t.length) - do { - ++e - } while ((t = t.next)) - }), - e - ) - }), - (l.visit = function (e) { - var t, - n, - r, - o, - a = [], - s = this._root - for (s && a.push(new i(s, this._x0, this._x1)); (t = a.pop()); ) - if (!e((s = t.node), (r = t.x0), (o = t.x1)) && s.length) { - var u = (r + o) / 2 - ;(n = s[1]) && a.push(new i(n, u, o)), (n = s[0]) && a.push(new i(n, r, u)) - } - return this - }), - (l.visitAfter = function (e) { - var t, - n = [], - r = [] - for (this._root && n.push(new i(this._root, this._x0, this._x1)); (t = n.pop()); ) { - var o = t.node - if (o.length) { - var a, - s = t.x0, - u = t.x1, - l = (s + u) / 2 - ;(a = o[0]) && n.push(new i(a, s, l)), (a = o[1]) && n.push(new i(a, l, u)) - } - r.push(t) - } - for (; (t = r.pop()); ) e(t.node, t.x0, t.x1) - return this - }), - (l.x = function (e) { - return arguments.length ? ((this._x = e), this) : this._x - }) - }, - 7137: function (e, t) { - 'use strict' - var n = { value: function () {} } - function r() { - for (var e, t = 0, n = arguments.length, r = {}; t < n; ++t) { - if (!(e = arguments[t] + '') || e in r || /[\s.]/.test(e)) - throw new Error('illegal type: ' + e) - r[e] = [] - } - return new i(r) - } - function i(e) { - this._ = e - } - function o(e, t) { - return e - .trim() - .split(/^|\s+/) - .map(function (e) { - var n = '', - r = e.indexOf('.') - if ((r >= 0 && ((n = e.slice(r + 1)), (e = e.slice(0, r))), e && !t.hasOwnProperty(e))) - throw new Error('unknown type: ' + e) - return { type: e, name: n } - }) - } - function a(e, t) { - for (var n, r = 0, i = e.length; r < i; ++r) if ((n = e[r]).name === t) return n.value - } - function s(e, t, r) { - for (var i = 0, o = e.length; i < o; ++i) - if (e[i].name === t) { - ;(e[i] = n), (e = e.slice(0, i).concat(e.slice(i + 1))) - break - } - return null != r && e.push({ name: t, value: r }), e - } - ;(i.prototype = r.prototype = - { - constructor: i, - on: function (e, t) { - var n, - r = this._, - i = o(e + '', r), - u = -1, - l = i.length - if (!(arguments.length < 2)) { - if (null != t && 'function' !== typeof t) throw new Error('invalid callback: ' + t) - for (; ++u < l; ) - if ((n = (e = i[u]).type)) r[n] = s(r[n], e.name, t) - else if (null == t) for (n in r) r[n] = s(r[n], e.name, null) - return this - } - for (; ++u < l; ) if ((n = (e = i[u]).type) && (n = a(r[n], e.name))) return n - }, - copy: function () { - var e = {}, - t = this._ - for (var n in t) e[n] = t[n].slice() - return new i(e) - }, - call: function (e, t) { - if ((n = arguments.length - 2) > 0) - for (var n, r, i = new Array(n), o = 0; o < n; ++o) i[o] = arguments[o + 2] - if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e) - for (o = 0, n = (r = this._[e]).length; o < n; ++o) r[o].value.apply(t, i) - }, - apply: function (e, t, n) { - if (!this._.hasOwnProperty(e)) throw new Error('unknown type: ' + e) - for (var r = this._[e], i = 0, o = r.length; i < o; ++i) r[i].value.apply(t, n) - }, - }), - (t.Z = r) - }, - 216: function (e, t, n) { - 'use strict' - function r(e, t, n) { - var r, - i = 1 - function o() { - var o, - a, - s = r.length, - u = 0, - l = 0, - c = 0 - for (o = 0; o < s; ++o) (u += (a = r[o]).x || 0), (l += a.y || 0), (c += a.z || 0) - for (u = (u / s - e) * i, l = (l / s - t) * i, c = (c / s - n) * i, o = 0; o < s; ++o) - (a = r[o]), u && (a.x -= u), l && (a.y -= l), c && (a.z -= c) - } - return ( - null == e && (e = 0), - null == t && (t = 0), - null == n && (n = 0), - (o.initialize = function (e) { - r = e - }), - (o.x = function (t) { - return arguments.length ? ((e = +t), o) : e - }), - (o.y = function (e) { - return arguments.length ? ((t = +e), o) : t - }), - (o.z = function (e) { - return arguments.length ? ((n = +e), o) : n - }), - (o.strength = function (e) { - return arguments.length ? ((i = +e), o) : i - }), - o - ) - } - n.d(t, { - Z: function () { - return r - }, - }) - }, - 9437: function (e, t, n) { - 'use strict' - function r(e) { - return function () { - return e - } - } - n.d(t, { - Z: function () { - return r - }, - }) - }, - 8246: function (e, t, n) { - 'use strict' - function r(e) { - return 1e-6 * (e() - 0.5) - } - n.d(t, { - Z: function () { - return r - }, - }) - }, - 5560: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return s - }, - }) - var r = n(9437), - i = n(8246) - function o(e) { - return e.index - } - function a(e, t) { - var n = e.get(t) - if (!n) throw new Error('node not found: ' + t) - return n - } - function s(e) { - var t, - n, - s, - u, - l, - c, - d, - f = o, - h = function (e) { - return 1 / Math.min(l[e.source.index], l[e.target.index]) - }, - p = (0, r.Z)(30), - v = 1 - function m(r) { - for (var o = 0, a = e.length; o < v; ++o) - for (var s, l, f, h, p, m = 0, g = 0, y = 0, b = 0; m < a; ++m) - (l = (s = e[m]).source), - (g = (f = s.target).x + f.vx - l.x - l.vx || (0, i.Z)(d)), - u > 1 && (y = f.y + f.vy - l.y - l.vy || (0, i.Z)(d)), - u > 2 && (b = f.z + f.vz - l.z - l.vz || (0, i.Z)(d)), - (g *= h = (((h = Math.sqrt(g * g + y * y + b * b)) - n[m]) / h) * r * t[m]), - (y *= h), - (b *= h), - (f.vx -= g * (p = c[m])), - u > 1 && (f.vy -= y * p), - u > 2 && (f.vz -= b * p), - (l.vx += g * (p = 1 - p)), - u > 1 && (l.vy += y * p), - u > 2 && (l.vz += b * p) - } - function g() { - if (s) { - var r, - i, - o = s.length, - u = e.length, - d = new Map( - s.map(function (e, t) { - return [f(e, t, s), e] - }), - ) - for (r = 0, l = new Array(o); r < u; ++r) - ((i = e[r]).index = r), - 'object' !== typeof i.source && (i.source = a(d, i.source)), - 'object' !== typeof i.target && (i.target = a(d, i.target)), - (l[i.source.index] = (l[i.source.index] || 0) + 1), - (l[i.target.index] = (l[i.target.index] || 0) + 1) - for (r = 0, c = new Array(u); r < u; ++r) - (i = e[r]), (c[r] = l[i.source.index] / (l[i.source.index] + l[i.target.index])) - ;(t = new Array(u)), y(), (n = new Array(u)), b() - } - } - function y() { - if (s) for (var n = 0, r = e.length; n < r; ++n) t[n] = +h(e[n], n, e) - } - function b() { - if (s) for (var t = 0, r = e.length; t < r; ++t) n[t] = +p(e[t], t, e) - } - return ( - null == e && (e = []), - (m.initialize = function (e) { - s = e - for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) - n[r - 1] = arguments[r] - ;(d = - n.find(function (e) { - return 'function' === typeof e - }) || Math.random), - (u = - n.find(function (e) { - return [1, 2, 3].includes(e) - }) || 2), - g() - }), - (m.links = function (t) { - return arguments.length ? ((e = t), g(), m) : e - }), - (m.id = function (e) { - return arguments.length ? ((f = e), m) : f - }), - (m.iterations = function (e) { - return arguments.length ? ((v = +e), m) : v - }), - (m.strength = function (e) { - return arguments.length ? ((h = 'function' === typeof e ? e : (0, r.Z)(+e)), y(), m) : h - }), - (m.distance = function (e) { - return arguments.length ? ((p = 'function' === typeof e ? e : (0, r.Z)(+e)), b(), m) : p - }), - m - ) - } - }, - 2405: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return l - }, - }) - var r = n(4275), - i = n(54), - o = n(8357), - a = n(9437), - s = n(8246), - u = n(4505) - function l() { - var e, - t, - n, - l, - c, - d, - f = (0, a.Z)(-30), - h = 1, - p = 1 / 0, - v = 0.81 - function m(a) { - var s, - l = e.length, - d = ( - 1 === t - ? (0, r.Z)(e, u.x) - : 2 === t - ? (0, i.Z)(e, u.x, u.y) - : 3 === t - ? (0, o.Z)(e, u.x, u.y, u.z) - : null - ).visitAfter(y) - for (c = a, s = 0; s < l; ++s) (n = e[s]), d.visit(b) - } - function g() { - if (e) { - var t, - n, - r = e.length - for (d = new Array(r), t = 0; t < r; ++t) (n = e[t]), (d[n.index] = +f(n, t, e)) - } - } - function y(e) { - var n, - r, - i, - o, - a, - s, - u = 0, - l = 0, - c = e.length - if (c) { - for (i = o = a = s = 0; s < c; ++s) - (n = e[s]) && - (r = Math.abs(n.value)) && - ((u += n.value), - (l += r), - (i += r * (n.x || 0)), - (o += r * (n.y || 0)), - (a += r * (n.z || 0))) - ;(u *= Math.sqrt(4 / c)), (e.x = i / l), t > 1 && (e.y = o / l), t > 2 && (e.z = a / l) - } else { - ;((n = e).x = n.data.x), t > 1 && (n.y = n.data.y), t > 2 && (n.z = n.data.z) - do { - u += d[n.data.index] - } while ((n = n.next)) - } - e.value = u - } - function b(e, r, i, o, a) { - if (!e.value) return !0 - var u = [i, o, a][t - 1], - f = e.x - n.x, - m = t > 1 ? e.y - n.y : 0, - g = t > 2 ? e.z - n.z : 0, - y = u - r, - b = f * f + m * m + g * g - if ((y * y) / v < b) - return ( - b < p && - (0 === f && (b += (f = (0, s.Z)(l)) * f), - t > 1 && 0 === m && (b += (m = (0, s.Z)(l)) * m), - t > 2 && 0 === g && (b += (g = (0, s.Z)(l)) * g), - b < h && (b = Math.sqrt(h * b)), - (n.vx += (f * e.value * c) / b), - t > 1 && (n.vy += (m * e.value * c) / b), - t > 2 && (n.vz += (g * e.value * c) / b)), - !0 - ) - if (!(e.length || b >= p)) { - ;(e.data !== n || e.next) && - (0 === f && (b += (f = (0, s.Z)(l)) * f), - t > 1 && 0 === m && (b += (m = (0, s.Z)(l)) * m), - t > 2 && 0 === g && (b += (g = (0, s.Z)(l)) * g), - b < h && (b = Math.sqrt(h * b))) - do { - e.data !== n && - ((y = (d[e.data.index] * c) / b), - (n.vx += f * y), - t > 1 && (n.vy += m * y), - t > 2 && (n.vz += g * y)) - } while ((e = e.next)) - } - } - return ( - (m.initialize = function (n) { - e = n - for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++) - i[o - 1] = arguments[o] - ;(l = - i.find(function (e) { - return 'function' === typeof e - }) || Math.random), - (t = - i.find(function (e) { - return [1, 2, 3].includes(e) - }) || 2), - g() - }), - (m.strength = function (e) { - return arguments.length ? ((f = 'function' === typeof e ? e : (0, a.Z)(+e)), g(), m) : f - }), - (m.distanceMin = function (e) { - return arguments.length ? ((h = e * e), m) : Math.sqrt(h) - }), - (m.distanceMax = function (e) { - return arguments.length ? ((p = e * e), m) : Math.sqrt(p) - }), - (m.theta = function (e) { - return arguments.length ? ((v = e * e), m) : Math.sqrt(v) - }), - m - ) - } - }, - 6917: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return i - }, - }) - var r = n(9437) - function i(e, t, n, i) { - var o, - a, - s, - u, - l = (0, r.Z)(0.1) - function c(e) { - for (var r = 0, l = o.length; r < l; ++r) { - var c = o[r], - d = c.x - t || 1e-6, - f = (c.y || 0) - n || 1e-6, - h = (c.z || 0) - i || 1e-6, - p = Math.sqrt(d * d + f * f + h * h), - v = ((u[r] - p) * s[r] * e) / p - ;(c.vx += d * v), a > 1 && (c.vy += f * v), a > 2 && (c.vz += h * v) - } - } - function d() { - if (o) { - var t, - n = o.length - for (s = new Array(n), u = new Array(n), t = 0; t < n; ++t) - (u[t] = +e(o[t], t, o)), (s[t] = isNaN(u[t]) ? 0 : +l(o[t], t, o)) - } - } - return ( - 'function' !== typeof e && (e = (0, r.Z)(+e)), - null == t && (t = 0), - null == n && (n = 0), - null == i && (i = 0), - (c.initialize = function (e) { - o = e - for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) - n[r - 1] = arguments[r] - ;(a = - n.find(function (e) { - return [1, 2, 3].includes(e) - }) || 2), - d() - }), - (c.strength = function (e) { - return arguments.length ? ((l = 'function' === typeof e ? e : (0, r.Z)(+e)), d(), c) : l - }), - (c.radius = function (t) { - return arguments.length ? ((e = 'function' === typeof t ? t : (0, r.Z)(+t)), d(), c) : e - }), - (c.x = function (e) { - return arguments.length ? ((t = +e), c) : t - }), - (c.y = function (e) { - return arguments.length ? ((n = +e), c) : n - }), - (c.z = function (e) { - return arguments.length ? ((i = +e), c) : i - }), - c - ) - } - }, - 4505: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return d - }, - x: function () { - return a - }, - y: function () { - return s - }, - z: function () { - return u - }, - }) - var r = n(7137), - i = n(513), - o = 4294967296 - function a(e) { - return e.x - } - function s(e) { - return e.y - } - function u(e) { - return e.z - } - var l = Math.PI * (3 - Math.sqrt(5)), - c = (20 * Math.PI) / (9 + Math.sqrt(221)) - function d(e, t) { - t = t || 2 - var n, - a = Math.min(3, Math.max(1, Math.round(t))), - s = 1, - u = 0.001, - d = 1 - Math.pow(u, 1 / 300), - f = 0, - h = 0.6, - p = new Map(), - v = (0, i.HT)(y), - m = (0, r.Z)('tick', 'end'), - g = (function () { - var e = 1 - return function () { - return (e = (1664525 * e + 1013904223) % o) / o - } - })() - function y() { - b(), m.call('tick', n), s < u && (v.stop(), m.call('end', n)) - } - function b(t) { - var r, - i, - o = e.length - void 0 === t && (t = 1) - for (var u = 0; u < t; ++u) - for ( - s += (f - s) * d, - p.forEach(function (e) { - e(s) - }), - r = 0; - r < o; - ++r - ) - null == (i = e[r]).fx ? (i.x += i.vx *= h) : ((i.x = i.fx), (i.vx = 0)), - a > 1 && (null == i.fy ? (i.y += i.vy *= h) : ((i.y = i.fy), (i.vy = 0))), - a > 2 && (null == i.fz ? (i.z += i.vz *= h) : ((i.z = i.fz), (i.vz = 0))) - return n - } - function w() { - for (var t, n = 0, r = e.length; n < r; ++n) { - if ( - (((t = e[n]).index = n), - null != t.fx && (t.x = t.fx), - null != t.fy && (t.y = t.fy), - null != t.fz && (t.z = t.fz), - isNaN(t.x) || (a > 1 && isNaN(t.y)) || (a > 2 && isNaN(t.z))) - ) { - var i = 10 * (a > 2 ? Math.cbrt(0.5 + n) : a > 1 ? Math.sqrt(0.5 + n) : n), - o = n * l, - s = n * c - 1 === a - ? (t.x = i) - : 2 === a - ? ((t.x = i * Math.cos(o)), (t.y = i * Math.sin(o))) - : ((t.x = i * Math.sin(o) * Math.cos(s)), - (t.y = i * Math.cos(o)), - (t.z = i * Math.sin(o) * Math.sin(s))) - } - ;(isNaN(t.vx) || (a > 1 && isNaN(t.vy)) || (a > 2 && isNaN(t.vz))) && - ((t.vx = 0), a > 1 && (t.vy = 0), a > 2 && (t.vz = 0)) - } - } - function x(t) { - return t.initialize && t.initialize(e, g, a), t - } - return ( - null == e && (e = []), - w(), - (n = { - tick: b, - restart: function () { - return v.restart(y), n - }, - stop: function () { - return v.stop(), n - }, - numDimensions: function (e) { - return arguments.length - ? ((a = Math.min(3, Math.max(1, Math.round(e)))), p.forEach(x), n) - : a - }, - nodes: function (t) { - return arguments.length ? ((e = t), w(), p.forEach(x), n) : e - }, - alpha: function (e) { - return arguments.length ? ((s = +e), n) : s - }, - alphaMin: function (e) { - return arguments.length ? ((u = +e), n) : u - }, - alphaDecay: function (e) { - return arguments.length ? ((d = +e), n) : +d - }, - alphaTarget: function (e) { - return arguments.length ? ((f = +e), n) : f - }, - velocityDecay: function (e) { - return arguments.length ? ((h = 1 - e), n) : 1 - h - }, - randomSource: function (e) { - return arguments.length ? ((g = e), p.forEach(x), n) : g - }, - force: function (e, t) { - return arguments.length > 1 ? (null == t ? p.delete(e) : p.set(e, x(t)), n) : p.get(e) - }, - find: function () { - var t, - n, - r, - i, - o, - s, - u = Array.prototype.slice.call(arguments), - l = u.shift() || 0, - c = (a > 1 ? u.shift() : null) || 0, - d = (a > 2 ? u.shift() : null) || 0, - f = u.shift() || 1 / 0, - h = 0, - p = e.length - for (f *= f, h = 0; h < p; ++h) - (i = - (t = l - (o = e[h]).x) * t + - (n = c - (o.y || 0)) * n + - (r = d - (o.z || 0)) * r) < f && ((s = o), (f = i)) - return s - }, - on: function (e, t) { - return arguments.length > 1 ? (m.on(e, t), n) : m.on(e) - }, - }) - ) - } - }, - 8357: function (e, t, n) { - 'use strict' - function r(e, t, n, r, i) { - if (isNaN(t) || isNaN(n) || isNaN(r)) return e - var o, - a, - s, - u, - l, - c, - d, - f, - h, - p, - v, - m, - g = e._root, - y = { data: i }, - b = e._x0, - w = e._y0, - x = e._z0, - E = e._x1, - k = e._y1, - T = e._z1 - if (!g) return (e._root = y), e - for (; g.length; ) - if ( - ((f = t >= (a = (b + E) / 2)) ? (b = a) : (E = a), - (h = n >= (s = (w + k) / 2)) ? (w = s) : (k = s), - (p = r >= (u = (x + T) / 2)) ? (x = u) : (T = u), - (o = g), - !(g = g[(v = (p << 2) | (h << 1) | f)])) - ) - return (o[v] = y), e - if ( - ((l = +e._x.call(null, g.data)), - (c = +e._y.call(null, g.data)), - (d = +e._z.call(null, g.data)), - t === l && n === c && r === d) - ) - return (y.next = g), o ? (o[v] = y) : (e._root = y), e - do { - ;(o = o ? (o[v] = new Array(8)) : (e._root = new Array(8))), - (f = t >= (a = (b + E) / 2)) ? (b = a) : (E = a), - (h = n >= (s = (w + k) / 2)) ? (w = s) : (k = s), - (p = r >= (u = (x + T) / 2)) ? (x = u) : (T = u) - } while ( - (v = (p << 2) | (h << 1) | f) === (m = ((d >= u) << 2) | ((c >= s) << 1) | (l >= a)) - ) - return (o[m] = g), (o[v] = y), e - } - function i(e, t, n, r, i, o, a) { - ;(this.node = e), - (this.x0 = t), - (this.y0 = n), - (this.z0 = r), - (this.x1 = i), - (this.y1 = o), - (this.z1 = a) - } - function o(e) { - return e[0] - } - function a(e) { - return e[1] - } - function s(e) { - return e[2] - } - function u(e, t, n, r) { - var i = new l( - null == t ? o : t, - null == n ? a : n, - null == r ? s : r, - NaN, - NaN, - NaN, - NaN, - NaN, - NaN, - ) - return null == e ? i : i.addAll(e) - } - function l(e, t, n, r, i, o, a, s, u) { - ;(this._x = e), - (this._y = t), - (this._z = n), - (this._x0 = r), - (this._y0 = i), - (this._z0 = o), - (this._x1 = a), - (this._y1 = s), - (this._z1 = u), - (this._root = void 0) - } - function c(e) { - for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data } - return t - } - n.d(t, { - Z: function () { - return u - }, - }) - var d = (u.prototype = l.prototype) - ;(d.copy = function () { - var e, - t, - n = new l( - this._x, - this._y, - this._z, - this._x0, - this._y0, - this._z0, - this._x1, - this._y1, - this._z1, - ), - r = this._root - if (!r) return n - if (!r.length) return (n._root = c(r)), n - for (e = [{ source: r, target: (n._root = new Array(8)) }]; (r = e.pop()); ) - for (var i = 0; i < 8; ++i) - (t = r.source[i]) && - (t.length - ? e.push({ source: t, target: (r.target[i] = new Array(8)) }) - : (r.target[i] = c(t))) - return n - }), - (d.add = function (e) { - var t = +this._x.call(null, e), - n = +this._y.call(null, e), - i = +this._z.call(null, e) - return r(this.cover(t, n, i), t, n, i, e) - }), - (d.addAll = function (e) { - var t, - n, - i, - o, - a, - s = e.length, - u = new Array(s), - l = new Array(s), - c = new Array(s), - d = 1 / 0, - f = 1 / 0, - h = 1 / 0, - p = -1 / 0, - v = -1 / 0, - m = -1 / 0 - for (n = 0; n < s; ++n) - isNaN((i = +this._x.call(null, (t = e[n])))) || - isNaN((o = +this._y.call(null, t))) || - isNaN((a = +this._z.call(null, t))) || - ((u[n] = i), - (l[n] = o), - (c[n] = a), - i < d && (d = i), - i > p && (p = i), - o < f && (f = o), - o > v && (v = o), - a < h && (h = a), - a > m && (m = a)) - if (d > p || f > v || h > m) return this - for (this.cover(d, f, h).cover(p, v, m), n = 0; n < s; ++n) - r(this, u[n], l[n], c[n], e[n]) - return this - }), - (d.cover = function (e, t, n) { - if (isNaN((e = +e)) || isNaN((t = +t)) || isNaN((n = +n))) return this - var r = this._x0, - i = this._y0, - o = this._z0, - a = this._x1, - s = this._y1, - u = this._z1 - if (isNaN(r)) - (a = (r = Math.floor(e)) + 1), - (s = (i = Math.floor(t)) + 1), - (u = (o = Math.floor(n)) + 1) - else { - for ( - var l, c, d = a - r || 1, f = this._root; - r > e || e >= a || i > t || t >= s || o > n || n >= u; - - ) - switch ( - ((c = ((n < o) << 2) | ((t < i) << 1) | (e < r)), - ((l = new Array(8))[c] = f), - (f = l), - (d *= 2), - c) - ) { - case 0: - ;(a = r + d), (s = i + d), (u = o + d) - break - case 1: - ;(r = a - d), (s = i + d), (u = o + d) - break - case 2: - ;(a = r + d), (i = s - d), (u = o + d) - break - case 3: - ;(r = a - d), (i = s - d), (u = o + d) - break - case 4: - ;(a = r + d), (s = i + d), (o = u - d) - break - case 5: - ;(r = a - d), (s = i + d), (o = u - d) - break - case 6: - ;(a = r + d), (i = s - d), (o = u - d) - break - case 7: - ;(r = a - d), (i = s - d), (o = u - d) - } - this._root && this._root.length && (this._root = f) - } - return ( - (this._x0 = r), - (this._y0 = i), - (this._z0 = o), - (this._x1 = a), - (this._y1 = s), - (this._z1 = u), - this - ) - }), - (d.data = function () { - var e = [] - return ( - this.visit(function (t) { - if (!t.length) - do { - e.push(t.data) - } while ((t = t.next)) - }), - e - ) - }), - (d.extent = function (e) { - return arguments.length - ? this.cover(+e[0][0], +e[0][1], +e[0][2]).cover(+e[1][0], +e[1][1], +e[1][2]) - : isNaN(this._x0) - ? void 0 - : [ - [this._x0, this._y0, this._z0], - [this._x1, this._y1, this._z1], - ] - }), - (d.find = function (e, t, n, r) { - var o, - a, - s, - u, - l, - c, - d, - f, - h, - p = this._x0, - v = this._y0, - m = this._z0, - g = this._x1, - y = this._y1, - b = this._z1, - w = [], - x = this._root - for ( - x && w.push(new i(x, p, v, m, g, y, b)), - null == r - ? (r = 1 / 0) - : ((p = e - r), - (v = t - r), - (m = n - r), - (g = e + r), - (y = t + r), - (b = n + r), - (r *= r)); - (f = w.pop()); - - ) - if ( - !( - !(x = f.node) || - (a = f.x0) > g || - (s = f.y0) > y || - (u = f.z0) > b || - (l = f.x1) < p || - (c = f.y1) < v || - (d = f.z1) < m - ) - ) - if (x.length) { - var E = (a + l) / 2, - k = (s + c) / 2, - T = (u + d) / 2 - w.push( - new i(x[7], E, k, T, l, c, d), - new i(x[6], a, k, T, E, c, d), - new i(x[5], E, s, T, l, k, d), - new i(x[4], a, s, T, E, k, d), - new i(x[3], E, k, u, l, c, T), - new i(x[2], a, k, u, E, c, T), - new i(x[1], E, s, u, l, k, T), - new i(x[0], a, s, u, E, k, T), - ), - (h = ((n >= T) << 2) | ((t >= k) << 1) | (e >= E)) && - ((f = w[w.length - 1]), - (w[w.length - 1] = w[w.length - 1 - h]), - (w[w.length - 1 - h] = f)) - } else { - var _ = e - +this._x.call(null, x.data), - O = t - +this._y.call(null, x.data), - C = n - +this._z.call(null, x.data), - S = _ * _ + O * O + C * C - if (S < r) { - var A = Math.sqrt((r = S)) - ;(p = e - A), - (v = t - A), - (m = n - A), - (g = e + A), - (y = t + A), - (b = n + A), - (o = x.data) - } - } - return o - }), - (d.remove = function (e) { - if ( - isNaN((o = +this._x.call(null, e))) || - isNaN((a = +this._y.call(null, e))) || - isNaN((s = +this._z.call(null, e))) - ) - return this - var t, - n, - r, - i, - o, - a, - s, - u, - l, - c, - d, - f, - h, - p, - v, - m = this._root, - g = this._x0, - y = this._y0, - b = this._z0, - w = this._x1, - x = this._y1, - E = this._z1 - if (!m) return this - if (m.length) - for (;;) { - if ( - ((d = o >= (u = (g + w) / 2)) ? (g = u) : (w = u), - (f = a >= (l = (y + x) / 2)) ? (y = l) : (x = l), - (h = s >= (c = (b + E) / 2)) ? (b = c) : (E = c), - (t = m), - !(m = m[(p = (h << 2) | (f << 1) | d)])) - ) - return this - if (!m.length) break - ;(t[(p + 1) & 7] || - t[(p + 2) & 7] || - t[(p + 3) & 7] || - t[(p + 4) & 7] || - t[(p + 5) & 7] || - t[(p + 6) & 7] || - t[(p + 7) & 7]) && - ((n = t), (v = p)) - } - for (; m.data !== e; ) if (((r = m), !(m = m.next))) return this - return ( - (i = m.next) && delete m.next, - r - ? (i ? (r.next = i) : delete r.next, this) - : t - ? (i ? (t[p] = i) : delete t[p], - (m = t[0] || t[1] || t[2] || t[3] || t[4] || t[5] || t[6] || t[7]) && - m === (t[7] || t[6] || t[5] || t[4] || t[3] || t[2] || t[1] || t[0]) && - !m.length && - (n ? (n[v] = m) : (this._root = m)), - this) - : ((this._root = i), this) - ) - }), - (d.removeAll = function (e) { - for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t]) - return this - }), - (d.root = function () { - return this._root - }), - (d.size = function () { - var e = 0 - return ( - this.visit(function (t) { - if (!t.length) - do { - ++e - } while ((t = t.next)) - }), - e - ) - }), - (d.visit = function (e) { - var t, - n, - r, - o, - a, - s, - u, - l, - c = [], - d = this._root - for ( - d && c.push(new i(d, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1)); - (t = c.pop()); - - ) - if ( - !e( - (d = t.node), - (r = t.x0), - (o = t.y0), - (a = t.z0), - (s = t.x1), - (u = t.y1), - (l = t.z1), - ) && - d.length - ) { - var f = (r + s) / 2, - h = (o + u) / 2, - p = (a + l) / 2 - ;(n = d[7]) && c.push(new i(n, f, h, p, s, u, l)), - (n = d[6]) && c.push(new i(n, r, h, p, f, u, l)), - (n = d[5]) && c.push(new i(n, f, o, p, s, h, l)), - (n = d[4]) && c.push(new i(n, r, o, p, f, h, l)), - (n = d[3]) && c.push(new i(n, f, h, a, s, u, p)), - (n = d[2]) && c.push(new i(n, r, h, a, f, u, p)), - (n = d[1]) && c.push(new i(n, f, o, a, s, h, p)), - (n = d[0]) && c.push(new i(n, r, o, a, f, h, p)) - } - return this - }), - (d.visitAfter = function (e) { - var t, - n = [], - r = [] - for ( - this._root && - n.push(new i(this._root, this._x0, this._y0, this._z0, this._x1, this._y1, this._z1)); - (t = n.pop()); - - ) { - var o = t.node - if (o.length) { - var a, - s = t.x0, - u = t.y0, - l = t.z0, - c = t.x1, - d = t.y1, - f = t.z1, - h = (s + c) / 2, - p = (u + d) / 2, - v = (l + f) / 2 - ;(a = o[0]) && n.push(new i(a, s, u, l, h, p, v)), - (a = o[1]) && n.push(new i(a, h, u, l, c, p, v)), - (a = o[2]) && n.push(new i(a, s, p, l, h, d, v)), - (a = o[3]) && n.push(new i(a, h, p, l, c, d, v)), - (a = o[4]) && n.push(new i(a, s, u, v, h, p, f)), - (a = o[5]) && n.push(new i(a, h, u, v, c, p, f)), - (a = o[6]) && n.push(new i(a, s, p, v, h, d, f)), - (a = o[7]) && n.push(new i(a, h, p, v, c, d, f)) - } - r.push(t) - } - for (; (t = r.pop()); ) e(t.node, t.x0, t.y0, t.z0, t.x1, t.y1, t.z1) - return this - }), - (d.x = function (e) { - return arguments.length ? ((this._x = e), this) : this._x - }), - (d.y = function (e) { - return arguments.length ? ((this._y = e), this) : this._y - }), - (d.z = function (e) { - return arguments.length ? ((this._z = e), this) : this._z - }) - }, - 54: function (e, t, n) { - 'use strict' - function r(e, t, n, r) { - if (isNaN(t) || isNaN(n)) return e - var i, - o, - a, - s, - u, - l, - c, - d, - f, - h = e._root, - p = { data: r }, - v = e._x0, - m = e._y0, - g = e._x1, - y = e._y1 - if (!h) return (e._root = p), e - for (; h.length; ) - if ( - ((l = t >= (o = (v + g) / 2)) ? (v = o) : (g = o), - (c = n >= (a = (m + y) / 2)) ? (m = a) : (y = a), - (i = h), - !(h = h[(d = (c << 1) | l)])) - ) - return (i[d] = p), e - if (((s = +e._x.call(null, h.data)), (u = +e._y.call(null, h.data)), t === s && n === u)) - return (p.next = h), i ? (i[d] = p) : (e._root = p), e - do { - ;(i = i ? (i[d] = new Array(4)) : (e._root = new Array(4))), - (l = t >= (o = (v + g) / 2)) ? (v = o) : (g = o), - (c = n >= (a = (m + y) / 2)) ? (m = a) : (y = a) - } while ((d = (c << 1) | l) === (f = ((u >= a) << 1) | (s >= o))) - return (i[f] = h), (i[d] = p), e - } - function i(e, t, n, r, i) { - ;(this.node = e), (this.x0 = t), (this.y0 = n), (this.x1 = r), (this.y1 = i) - } - function o(e) { - return e[0] - } - function a(e) { - return e[1] - } - function s(e, t, n) { - var r = new u(null == t ? o : t, null == n ? a : n, NaN, NaN, NaN, NaN) - return null == e ? r : r.addAll(e) - } - function u(e, t, n, r, i, o) { - ;(this._x = e), - (this._y = t), - (this._x0 = n), - (this._y0 = r), - (this._x1 = i), - (this._y1 = o), - (this._root = void 0) - } - function l(e) { - for (var t = { data: e.data }, n = t; (e = e.next); ) n = n.next = { data: e.data } - return t - } - n.d(t, { - Z: function () { - return s - }, - }) - var c = (s.prototype = u.prototype) - ;(c.copy = function () { - var e, - t, - n = new u(this._x, this._y, this._x0, this._y0, this._x1, this._y1), - r = this._root - if (!r) return n - if (!r.length) return (n._root = l(r)), n - for (e = [{ source: r, target: (n._root = new Array(4)) }]; (r = e.pop()); ) - for (var i = 0; i < 4; ++i) - (t = r.source[i]) && - (t.length - ? e.push({ source: t, target: (r.target[i] = new Array(4)) }) - : (r.target[i] = l(t))) - return n - }), - (c.add = function (e) { - var t = +this._x.call(null, e), - n = +this._y.call(null, e) - return r(this.cover(t, n), t, n, e) - }), - (c.addAll = function (e) { - var t, - n, - i, - o, - a = e.length, - s = new Array(a), - u = new Array(a), - l = 1 / 0, - c = 1 / 0, - d = -1 / 0, - f = -1 / 0 - for (n = 0; n < a; ++n) - isNaN((i = +this._x.call(null, (t = e[n])))) || - isNaN((o = +this._y.call(null, t))) || - ((s[n] = i), - (u[n] = o), - i < l && (l = i), - i > d && (d = i), - o < c && (c = o), - o > f && (f = o)) - if (l > d || c > f) return this - for (this.cover(l, c).cover(d, f), n = 0; n < a; ++n) r(this, s[n], u[n], e[n]) - return this - }), - (c.cover = function (e, t) { - if (isNaN((e = +e)) || isNaN((t = +t))) return this - var n = this._x0, - r = this._y0, - i = this._x1, - o = this._y1 - if (isNaN(n)) (i = (n = Math.floor(e)) + 1), (o = (r = Math.floor(t)) + 1) - else { - for (var a, s, u = i - n || 1, l = this._root; n > e || e >= i || r > t || t >= o; ) - switch ( - ((s = ((t < r) << 1) | (e < n)), ((a = new Array(4))[s] = l), (l = a), (u *= 2), s) - ) { - case 0: - ;(i = n + u), (o = r + u) - break - case 1: - ;(n = i - u), (o = r + u) - break - case 2: - ;(i = n + u), (r = o - u) - break - case 3: - ;(n = i - u), (r = o - u) - } - this._root && this._root.length && (this._root = l) - } - return (this._x0 = n), (this._y0 = r), (this._x1 = i), (this._y1 = o), this - }), - (c.data = function () { - var e = [] - return ( - this.visit(function (t) { - if (!t.length) - do { - e.push(t.data) - } while ((t = t.next)) - }), - e - ) - }), - (c.extent = function (e) { - return arguments.length - ? this.cover(+e[0][0], +e[0][1]).cover(+e[1][0], +e[1][1]) - : isNaN(this._x0) - ? void 0 - : [ - [this._x0, this._y0], - [this._x1, this._y1], - ] - }), - (c.find = function (e, t, n) { - var r, - o, - a, - s, - u, - l, - c, - d = this._x0, - f = this._y0, - h = this._x1, - p = this._y1, - v = [], - m = this._root - for ( - m && v.push(new i(m, d, f, h, p)), - null == n - ? (n = 1 / 0) - : ((d = e - n), (f = t - n), (h = e + n), (p = t + n), (n *= n)); - (l = v.pop()); - - ) - if ( - !( - !(m = l.node) || - (o = l.x0) > h || - (a = l.y0) > p || - (s = l.x1) < d || - (u = l.y1) < f - ) - ) - if (m.length) { - var g = (o + s) / 2, - y = (a + u) / 2 - v.push( - new i(m[3], g, y, s, u), - new i(m[2], o, y, g, u), - new i(m[1], g, a, s, y), - new i(m[0], o, a, g, y), - ), - (c = ((t >= y) << 1) | (e >= g)) && - ((l = v[v.length - 1]), - (v[v.length - 1] = v[v.length - 1 - c]), - (v[v.length - 1 - c] = l)) - } else { - var b = e - +this._x.call(null, m.data), - w = t - +this._y.call(null, m.data), - x = b * b + w * w - if (x < n) { - var E = Math.sqrt((n = x)) - ;(d = e - E), (f = t - E), (h = e + E), (p = t + E), (r = m.data) - } - } - return r - }), - (c.remove = function (e) { - if (isNaN((o = +this._x.call(null, e))) || isNaN((a = +this._y.call(null, e)))) - return this - var t, - n, - r, - i, - o, - a, - s, - u, - l, - c, - d, - f, - h = this._root, - p = this._x0, - v = this._y0, - m = this._x1, - g = this._y1 - if (!h) return this - if (h.length) - for (;;) { - if ( - ((l = o >= (s = (p + m) / 2)) ? (p = s) : (m = s), - (c = a >= (u = (v + g) / 2)) ? (v = u) : (g = u), - (t = h), - !(h = h[(d = (c << 1) | l)])) - ) - return this - if (!h.length) break - ;(t[(d + 1) & 3] || t[(d + 2) & 3] || t[(d + 3) & 3]) && ((n = t), (f = d)) - } - for (; h.data !== e; ) if (((r = h), !(h = h.next))) return this - return ( - (i = h.next) && delete h.next, - r - ? (i ? (r.next = i) : delete r.next, this) - : t - ? (i ? (t[d] = i) : delete t[d], - (h = t[0] || t[1] || t[2] || t[3]) && - h === (t[3] || t[2] || t[1] || t[0]) && - !h.length && - (n ? (n[f] = h) : (this._root = h)), - this) - : ((this._root = i), this) - ) - }), - (c.removeAll = function (e) { - for (var t = 0, n = e.length; t < n; ++t) this.remove(e[t]) - return this - }), - (c.root = function () { - return this._root - }), - (c.size = function () { - var e = 0 - return ( - this.visit(function (t) { - if (!t.length) - do { - ++e - } while ((t = t.next)) - }), - e - ) - }), - (c.visit = function (e) { - var t, - n, - r, - o, - a, - s, - u = [], - l = this._root - for (l && u.push(new i(l, this._x0, this._y0, this._x1, this._y1)); (t = u.pop()); ) - if (!e((l = t.node), (r = t.x0), (o = t.y0), (a = t.x1), (s = t.y1)) && l.length) { - var c = (r + a) / 2, - d = (o + s) / 2 - ;(n = l[3]) && u.push(new i(n, c, d, a, s)), - (n = l[2]) && u.push(new i(n, r, d, c, s)), - (n = l[1]) && u.push(new i(n, c, o, a, d)), - (n = l[0]) && u.push(new i(n, r, o, c, d)) - } - return this - }), - (c.visitAfter = function (e) { - var t, - n = [], - r = [] - for ( - this._root && n.push(new i(this._root, this._x0, this._y0, this._x1, this._y1)); - (t = n.pop()); - - ) { - var o = t.node - if (o.length) { - var a, - s = t.x0, - u = t.y0, - l = t.x1, - c = t.y1, - d = (s + l) / 2, - f = (u + c) / 2 - ;(a = o[0]) && n.push(new i(a, s, u, d, f)), - (a = o[1]) && n.push(new i(a, d, u, l, f)), - (a = o[2]) && n.push(new i(a, s, f, d, c)), - (a = o[3]) && n.push(new i(a, d, f, l, c)) - } - r.push(t) - } - for (; (t = r.pop()); ) e(t.node, t.x0, t.y0, t.x1, t.y1) - return this - }), - (c.x = function (e) { - return arguments.length ? ((this._x = e), this) : this._x - }), - (c.y = function (e) { - return arguments.length ? ((this._y = e), this) : this._y - }) - }, - 2816: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return r - }, - }) - var r = (function (e) { - for (var t = (e.length / 6) | 0, n = new Array(t), r = 0; r < t; ) - n[r] = '#' + e.slice(6 * r, 6 * ++r) - return n - })('a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928') - }, - 2462: function (e, t, n) { - 'use strict' - n.d(t, { - Z: function () { - return f - }, - }) - class r extends Map { - constructor(e, t = s) { - if ( - (super(), - Object.defineProperties(this, { _intern: { value: new Map() }, _key: { value: t } }), - null != e) - ) - for (const [n, r] of e) this.set(n, r) - } - get(e) { - return super.get(i(this, e)) - } - has(e) { - return super.has(i(this, e)) - } - set(e, t) { - return super.set(o(this, e), t) - } - delete(e) { - return super.delete(a(this, e)) - } - } - Set - function i({ _intern: e, _key: t }, n) { - const r = t(n) - return e.has(r) ? e.get(r) : n - } - function o({ _intern: e, _key: t }, n) { - const r = t(n) - return e.has(r) ? e.get(r) : (e.set(r, n), n) - } - function a({ _intern: e, _key: t }, n) { - const r = t(n) - return e.has(r) && ((n = e.get(n)), e.delete(r)), n - } - function s(e) { - return null !== e && 'object' === typeof e ? e.valueOf() : e - } - function u(e, t) { - switch (arguments.length) { - case 0: - break - case 1: - this.range(e) - break - default: - this.range(t).domain(e) - } - return this - } - function l(e, t) { - var n - if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) { - if ( - Array.isArray(e) || - (n = (function (e, t) { - if (!e) return - if ('string' === typeof e) return c(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - 'Object' === n && e.constructor && (n = e.constructor.name) - if ('Map' === n || 'Set' === n) return Array.from(e) - if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return c(e, t) - })(e)) || - (t && e && 'number' === typeof e.length) - ) { - n && (e = n) - var r = 0, - i = function () {} - return { - s: i, - n: function () { - return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } - }, - e: function (e) { - throw e - }, - f: i, - } - } - throw new TypeError( - 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', - ) - } - var o, - a = !0, - s = !1 - return { - s: function () { - n = e[Symbol.iterator]() - }, - n: function () { - var e = n.next() - return (a = e.done), e - }, - e: function (e) { - ;(s = !0), (o = e) - }, - f: function () { - try { - a || null == n.return || n.return() - } finally { - if (s) throw o - } - }, - } - } - function c(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - var d = Symbol('implicit') - function f() { - var e = new r(), - t = [], - n = [], - i = d - function o(r) { - var o = e.get(r) - if (void 0 === o) { - if (i !== d) return i - e.set(r, (o = t.push(r) - 1)) - } - return n[o % n.length] - } - return ( - (o.domain = function (n) { - if (!arguments.length) return t.slice() - ;(t = []), (e = new r()) - var i, - a = l(n) - try { - for (a.s(); !(i = a.n()).done; ) { - var s = i.value - e.has(s) || e.set(s, t.push(s) - 1) - } - } catch (u) { - a.e(u) - } finally { - a.f() - } - return o - }), - (o.range = function (e) { - return arguments.length ? ((n = Array.from(e)), o) : n.slice() - }), - (o.unknown = function (e) { - return arguments.length ? ((i = e), o) : i - }), - (o.copy = function () { - return f(t, n).unknown(i) - }), - u.apply(o, arguments), - o - ) - } - }, - 513: function (e, t, n) { - 'use strict' - n.d(t, { - zO: function () { - return h - }, - B7: function () { - return v - }, - HT: function () { - return m - }, - }) - var r, - i, - o = 0, - a = 0, - s = 0, - u = 0, - l = 0, - c = 0, - d = 'object' === typeof performance && performance.now ? performance : Date, - f = window.requestAnimationFrame - ? window.requestAnimationFrame.bind(window) - : function (e) { - setTimeout(e, 17) - } - function h() { - return l || (f(p), (l = d.now() + c)) - } - function p() { - l = 0 - } - function v() { - this._call = this._time = this._next = null - } - function m(e, t, n) { - var r = new v() - return r.restart(e, t, n), r - } - function g() { - ;(l = (u = d.now()) + c), (o = a = 0) - try { - !(function () { - h(), ++o - for (var e, t = r; t; ) (e = l - t._time) >= 0 && t._call.call(void 0, e), (t = t._next) - --o - })() - } finally { - ;(o = 0), - (function () { - var e, - t, - n = r, - o = 1 / 0 - for (; n; ) - n._call - ? (o > n._time && (o = n._time), (e = n), (n = n._next)) - : ((t = n._next), (n._next = null), (n = e ? (e._next = t) : (r = t))) - ;(i = e), b(o) - })(), - (l = 0) - } - } - function y() { - var e = d.now(), - t = e - u - t > 1e3 && ((c -= t), (u = e)) - } - function b(e) { - o || - (a && (a = clearTimeout(a)), - e - l > 24 - ? (e < 1 / 0 && (a = setTimeout(g, e - d.now() - c)), s && (s = clearInterval(s))) - : (s || ((u = d.now()), (s = setInterval(y, 1e3))), (o = 1), f(g))) - } - v.prototype = m.prototype = { - constructor: v, - restart: function (e, t, n) { - if ('function' !== typeof e) throw new TypeError('callback is not a function') - ;(n = (null == n ? h() : +n) + (null == t ? 0 : +t)), - this._next || i === this || (i ? (i._next = this) : (r = this), (i = this)), - (this._call = e), - (this._time = n), - b() - }, - stop: function () { - this._call && ((this._call = null), (this._time = 1 / 0), b()) - }, - } - }, - 4245: function (e) { - e.exports = function (e) { - !(function (e) { - if (!e) throw new Error('Eventify cannot use falsy object as events subject') - for (var t = ['on', 'fire', 'off'], n = 0; n < t.length; ++n) - if (e.hasOwnProperty(t[n])) - throw new Error( - "Subject cannot be eventified, since it already has property '" + t[n] + "'", - ) - })(e) - var t = (function (e) { - var t = Object.create(null) - return { - on: function (n, r, i) { - if ('function' !== typeof r) throw new Error('callback is expected to be a function') - var o = t[n] - return o || (o = t[n] = []), o.push({ callback: r, ctx: i }), e - }, - off: function (n, r) { - if ('undefined' === typeof n) return (t = Object.create(null)), e - if (t[n]) - if ('function' !== typeof r) delete t[n] - else - for (var i = t[n], o = 0; o < i.length; ++o) i[o].callback === r && i.splice(o, 1) - return e - }, - fire: function (n) { - var r, - i = t[n] - if (!i) return e - arguments.length > 1 && (r = Array.prototype.splice.call(arguments, 1)) - for (var o = 0; o < i.length; ++o) { - var a = i[o] - a.callback.apply(a.ctx, r) - } - return e - }, - } - })(e) - return (e.on = t.on), (e.off = t.off), (e.fire = t.fire), e - } - }, - 6505: function (e, t, n) { - ;(e.exports = function (e, t) { - if (!e) throw new Error('Graph structure cannot be undefined') - var o = ((t && t.createSimulator) || n(5818))(t) - if (Array.isArray(t)) throw new Error('Physics settings is expected to be an object') - var a = function (t) { - var n = e.getLinks(t) - return n ? 1 + n.length / 3 : 1 - } - t && 'function' === typeof t.nodeMass && (a = t.nodeMass) - var s = new Map(), - u = {}, - l = 0, - c = o.settings.springTransform || i - ;(l = 0), - e.forEachNode(function (e) { - m(e.id), (l += 1) - }), - e.forEachLink(y), - e.on('changed', v) - var d = !1, - f = { - step: function () { - if (0 === l) return h(!0), !0 - var e = o.step() - ;(f.lastMove = e), f.fire('step') - var t = e / l <= 0.01 - return h(t), t - }, - getNodePosition: function (e) { - return x(e).pos - }, - setNodePosition: function (e) { - var t = x(e) - t.setPosition.apply(t, Array.prototype.slice.call(arguments, 1)) - }, - getLinkPosition: function (e) { - var t = u[e] - if (t) return { from: t.from.pos, to: t.to.pos } - }, - getGraphRect: function () { - return o.getBBox() - }, - forEachBody: p, - pinNode: function (e, t) { - x(e.id).isPinned = !!t - }, - isNodePinned: function (e) { - return x(e.id).isPinned - }, - dispose: function () { - e.off('changed', v), f.fire('disposed') - }, - getBody: function (e) { - return s.get(e) - }, - getSpring: function (t, n) { - var r - if (void 0 === n) r = 'object' !== typeof t ? t : t.id - else { - var i = e.hasLink(t, n) - if (!i) return - r = i.id - } - return u[r] - }, - getForceVectorLength: function () { - var e = 0, - t = 0 - return ( - p(function (n) { - ;(e += Math.abs(n.force.x)), (t += Math.abs(n.force.y)) - }), - Math.sqrt(e * e + t * t) - ) - }, - simulator: o, - graph: e, - lastMove: 0, - } - return r(f), f - function h(e) { - var t - d !== e && ((d = e), (t = e), f.fire('stable', t)) - } - function p(e) { - s.forEach(e) - } - function v(t) { - for (var n = 0; n < t.length; ++n) { - var r = t[n] - 'add' === r.changeType - ? (r.node && m(r.node.id), r.link && y(r.link)) - : 'remove' === r.changeType && (r.node && g(r.node), r.link && b(r.link)) - } - l = e.getNodesCount() - } - function m(t) { - var n = s.get(t) - if (!n) { - var r = e.getNode(t) - if (!r) throw new Error('initBody() was called with unknown node id') - var i = r.position - if (!i) { - var a = (function (e) { - var t = [] - if (!e.links) return t - for (var n = Math.min(e.links.length, 2), r = 0; r < n; ++r) { - var i = e.links[r], - o = i.fromId !== e.id ? s.get(i.fromId) : s.get(i.toId) - o && o.pos && t.push(o) - } - return t - })(r) - i = o.getBestNewBodyPosition(a) - } - ;((n = o.addBodyAt(i)).id = t), - s.set(t, n), - w(t), - (function (e) { - return e && (e.isPinned || (e.data && e.data.isPinned)) - })(r) && (n.isPinned = !0) - } - } - function g(e) { - var t = e.id, - n = s.get(t) - n && (s.delete(t), o.removeBody(n)) - } - function y(e) { - w(e.fromId), w(e.toId) - var t = s.get(e.fromId), - n = s.get(e.toId), - r = o.addSpring(t, n, e.length) - c(e, r), (u[e.id] = r) - } - function b(t) { - var n = u[t.id] - if (n) { - var r = e.getNode(t.fromId), - i = e.getNode(t.toId) - r && w(r.id), i && w(i.id), delete u[t.id], o.removeSpring(n) - } - } - function w(e) { - var t = s.get(e) - if (((t.mass = a(e)), Number.isNaN(t.mass))) - throw new Error('Node mass should be a number') - } - function x(e) { - var t = s.get(e) - return t || (m(e), (t = s.get(e))), t - } - }), - (e.exports.simulator = n(5818)) - var r = n(4245) - function i() {} - }, - 5189: function (e, t, n) { - const r = n(6422) - e.exports = function (e) { - return function (t, n) { - let i = (n && n.indent) || 0, - o = n && void 0 !== n.join ? n.join : '\n', - a = Array(i + 1).join(' '), - s = [] - for (let u = 0; u < e; ++u) { - let e = r(u), - n = 0 === u ? '' : a - s.push(n + t.replace(/{var}/g, e)) - } - return s.join(o) - } - } - }, - 891: function (e, t, n) { - ;(e.exports = function (e) { - let t = i(e) - return new Function('bodies', 'settings', 'random', t) - }), - (e.exports.generateFunctionBody = i) - const r = n(5189) - function i(e) { - let t = r(e) - return `\n var boundingBox = {\n ${t('min_{var}: 0, max_{var}: 0,', { - indent: 4, - })}\n };\n\n return {\n box: boundingBox,\n\n update: updateBoundingBox,\n\n reset: resetBoundingBox,\n\n getBestNewPosition: function (neighbors) {\n var ${t( - 'base_{var} = 0', - { join: ', ' }, - )};\n\n if (neighbors.length) {\n for (var i = 0; i < neighbors.length; ++i) {\n let neighborPos = neighbors[i].pos;\n ${t( - 'base_{var} += neighborPos.{var};', - { indent: 10 }, - )}\n }\n\n ${t('base_{var} /= neighbors.length;', { - indent: 8, - })}\n } else {\n ${t( - 'base_{var} = (boundingBox.min_{var} + boundingBox.max_{var}) / 2;', - { indent: 8 }, - )}\n }\n\n var springLength = settings.springLength;\n return {\n ${t( - '{var}: base_{var} + (random.nextDouble() - 0.5) * springLength,', - { indent: 8 }, - )}\n };\n }\n };\n\n function updateBoundingBox() {\n var i = bodies.length;\n if (i === 0) return; // No bodies - no borders.\n\n ${t( - 'var max_{var} = -Infinity;', - { indent: 4 }, - )}\n ${t('var min_{var} = Infinity;', { - indent: 4, - })}\n\n while(i--) {\n // this is O(n), it could be done faster with quadtree, if we check the root node bounds\n var bodyPos = bodies[i].pos;\n ${t( - 'if (bodyPos.{var} < min_{var}) min_{var} = bodyPos.{var};', - { indent: 6 }, - )}\n ${t('if (bodyPos.{var} > max_{var}) max_{var} = bodyPos.{var};', { - indent: 6, - })}\n }\n\n ${t('boundingBox.min_{var} = min_{var};', { indent: 4 })}\n ${t( - 'boundingBox.max_{var} = max_{var};', - { indent: 4 }, - )}\n }\n\n function resetBoundingBox() {\n ${t( - 'boundingBox.min_{var} = boundingBox.max_{var} = 0;', - { indent: 4 }, - )}\n }\n` - } - }, - 6410: function (e, t, n) { - const r = n(5189) - function i(e, t) { - return `\n${a(e, t)}\n${o(e)}\nreturn {Body: Body, Vector: Vector};\n` - } - function o(e) { - let t = r(e), - n = t('{var}', { join: ', ' }) - return `\nfunction Body(${n}) {\n this.isPinned = false;\n this.pos = new Vector(${n});\n this.force = new Vector();\n this.velocity = new Vector();\n this.mass = 1;\n\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.reset = function() {\n this.force.reset();\n this.springCount = 0;\n this.springLength = 0;\n}\n\nBody.prototype.setPosition = function (${n}) {\n ${t( - 'this.pos.{var} = {var} || 0;', - { indent: 2 }, - )}\n};` - } - function a(e, t) { - let n = r(e), - i = '' - return ( - t && - (i = `${n( - "\n var v{var};\nObject.defineProperty(this, '{var}', {\n set: function(v) { \n if (!Number.isFinite(v)) throw new Error('Cannot set non-numbers to {var}');\n v{var} = v; \n },\n get: function() { return v{var}; }\n});", - )}`), - `function Vector(${n('{var}', { - join: ', ', - })}) {\n ${i}\n if (typeof arguments[0] === 'object') {\n // could be another vector\n let v = arguments[0];\n ${n( - 'if (!Number.isFinite(v.{var})) throw new Error("Expected value is not a finite number at Vector constructor ({var})");', - { indent: 4 }, - )}\n ${n('this.{var} = v.{var};', { indent: 4 })}\n } else {\n ${n( - 'this.{var} = typeof {var} === "number" ? {var} : 0;', - { indent: 4 }, - )}\n }\n }\n \n Vector.prototype.reset = function () {\n ${n('this.{var} = ', { - join: '', - })}0;\n };` - ) - } - ;(e.exports = function (e, t) { - let n = i(e, t), - { Body: r } = new Function(n)() - return r - }), - (e.exports.generateCreateBodyFunctionBody = i), - (e.exports.getVectorCode = a), - (e.exports.getBodyCode = o) - }, - 6647: function (e, t, n) { - const r = n(5189) - function i(e) { - return `\n if (!Number.isFinite(options.dragCoefficient)) throw new Error('dragCoefficient is not a finite number');\n\n return {\n update: function(body) {\n ${r( - e, - )('body.force.{var} -= options.dragCoefficient * body.velocity.{var};', { - indent: 6, - })}\n }\n };\n` - } - ;(e.exports = function (e) { - let t = i(e) - return new Function('options', t) - }), - (e.exports.generateCreateDragForceFunctionBody = i) - }, - 4079: function (e, t, n) { - const r = n(5189) - function i(e) { - let t = r(e) - return `\n if (!Number.isFinite(options.springCoefficient)) throw new Error('Spring coefficient is not a number');\n if (!Number.isFinite(options.springLength)) throw new Error('Spring length is not a number');\n\n return {\n /**\n * Updates forces acting on a spring\n */\n update: function (spring) {\n var body1 = spring.from;\n var body2 = spring.to;\n var length = spring.length < 0 ? options.springLength : spring.length;\n ${t( - 'var d{var} = body2.pos.{var} - body1.pos.{var};', - { indent: 6 }, - )}\n var r = Math.sqrt(${t('d{var} * d{var}', { - join: ' + ', - })});\n\n if (r === 0) {\n ${t('d{var} = (random.nextDouble() - 0.5) / 50;', { - indent: 8, - })}\n r = Math.sqrt(${t('d{var} * d{var}', { - join: ' + ', - })});\n }\n\n var d = r - length;\n var coefficient = ((spring.coefficient > 0) ? spring.coefficient : options.springCoefficient) * d / r;\n\n ${t( - 'body1.force.{var} += coefficient * d{var}', - { indent: 6 }, - )};\n body1.springCount += 1;\n body1.springLength += r;\n\n ${t( - 'body2.force.{var} -= coefficient * d{var}', - { indent: 6 }, - )};\n body2.springCount += 1;\n body2.springLength += r;\n }\n };\n` - } - ;(e.exports = function (e) { - let t = i(e) - return new Function('options', 'random', t) - }), - (e.exports.generateCreateSpringForceFunctionBody = i) - }, - 1763: function (e, t, n) { - const r = n(5189) - function i(e) { - let t = r(e) - return `\n var length = bodies.length;\n if (length === 0) return 0;\n\n ${t( - 'var d{var} = 0, t{var} = 0;', - { indent: 2 }, - )}\n\n for (var i = 0; i < length; ++i) {\n var body = bodies[i];\n if (body.isPinned) continue;\n\n if (adaptiveTimeStepWeight && body.springCount) {\n timeStep = (adaptiveTimeStepWeight * body.springLength/body.springCount);\n }\n\n var coeff = timeStep / body.mass;\n\n ${t( - 'body.velocity.{var} += coeff * body.force.{var};', - { indent: 4 }, - )}\n ${t('var v{var} = body.velocity.{var};', { indent: 4 })}\n var v = Math.sqrt(${t( - 'v{var} * v{var}', - { join: ' + ' }, - )});\n\n if (v > 1) {\n // We normalize it so that we move within timeStep range. \n // for the case when v <= 1 - we let velocity to fade out.\n ${t( - 'body.velocity.{var} = v{var} / v;', - { indent: 6 }, - )}\n }\n\n ${t('d{var} = timeStep * body.velocity.{var};', { indent: 4 })}\n\n ${t( - 'body.pos.{var} += d{var};', - { indent: 4 }, - )}\n\n ${t('t{var} += Math.abs(d{var});', { indent: 4 })}\n }\n\n return (${t( - 't{var} * t{var}', - { join: ' + ' }, - )})/length;\n` - } - ;(e.exports = function (e) { - let t = i(e) - return new Function('bodies', 'timeStep', 'adaptiveTimeStepWeight', t) - }), - (e.exports.generateIntegratorFunctionBody = i) - }, - 1584: function (e, t, n) { - const r = n(5189), - i = n(6422) - function o(e) { - let t = r(e), - n = Math.pow(2, e) - return `\n${c()}\n${l(e)}\n${a(e)}\n${u(e)}\n${s( - e, - )}\n\nfunction createQuadTree(options, random) {\n options = options || {};\n options.gravity = typeof options.gravity === 'number' ? options.gravity : -1;\n options.theta = typeof options.theta === 'number' ? options.theta : 0.8;\n\n var gravity = options.gravity;\n var updateQueue = [];\n var insertStack = new InsertStack();\n var theta = options.theta;\n\n var nodesCache = [];\n var currentInCache = 0;\n var root = newNode();\n\n return {\n insertBodies: insertBodies,\n\n /**\n * Gets root node if it is present\n */\n getRoot: function() {\n return root;\n },\n\n updateBodyForce: update,\n\n options: function(newOptions) {\n if (newOptions) {\n if (typeof newOptions.gravity === 'number') {\n gravity = newOptions.gravity;\n }\n if (typeof newOptions.theta === 'number') {\n theta = newOptions.theta;\n }\n\n return this;\n }\n\n return {\n gravity: gravity,\n theta: theta\n };\n }\n };\n\n function newNode() {\n // To avoid pressure on GC we reuse nodes.\n var node = nodesCache[currentInCache];\n if (node) {\n${(function ( - e, - ) { - let t = [] - for (let r = 0; r < n; ++r) t.push(`${e}quad${r} = null;`) - return t.join('\n') - })(' node.')}\n node.body = null;\n node.mass = ${t('node.mass_{var} = ', { - join: '', - })}0;\n ${t('node.min_{var} = node.max_{var} = ', { - join: '', - })}0;\n } else {\n node = new QuadNode();\n nodesCache[currentInCache] = node;\n }\n\n ++currentInCache;\n return node;\n }\n\n function update(sourceBody) {\n var queue = updateQueue;\n var v;\n ${t( - 'var d{var};', - { indent: 4 }, - )}\n var r; \n ${t('var f{var} = 0;', { - indent: 4, - })}\n var queueLength = 1;\n var shiftIdx = 0;\n var pushIdx = 1;\n\n queue[0] = root;\n\n while (queueLength) {\n var node = queue[shiftIdx];\n var body = node.body;\n\n queueLength -= 1;\n shiftIdx += 1;\n var differentBody = (body !== sourceBody);\n if (body && differentBody) {\n // If the current node is a leaf node (and it is not source body),\n // calculate the force exerted by the current node on body, and add this\n // amount to body's net force.\n ${t( - 'd{var} = body.pos.{var} - sourceBody.pos.{var};', - { indent: 8 }, - )}\n r = Math.sqrt(${t('d{var} * d{var}', { - join: ' + ', - })});\n\n if (r === 0) {\n // Poor man's protection against zero distance.\n ${t( - 'd{var} = (random.nextDouble() - 0.5) / 50;', - { indent: 10 }, - )}\n r = Math.sqrt(${t('d{var} * d{var}', { - join: ' + ', - })});\n }\n\n // This is standard gravitation force calculation but we divide\n // by r^3 to save two operations when normalizing force vector.\n v = gravity * body.mass * sourceBody.mass / (r * r * r);\n ${t( - 'f{var} += v * d{var};', - { indent: 8 }, - )}\n } else if (differentBody) {\n // Otherwise, calculate the ratio s / r, where s is the width of the region\n // represented by the internal node, and r is the distance between the body\n // and the node's center-of-mass\n ${t( - 'd{var} = node.mass_{var} / node.mass - sourceBody.pos.{var};', - { indent: 8 }, - )}\n r = Math.sqrt(${t('d{var} * d{var}', { - join: ' + ', - })});\n\n if (r === 0) {\n // Sorry about code duplication. I don't want to create many functions\n // right away. Just want to see performance first.\n ${t( - 'd{var} = (random.nextDouble() - 0.5) / 50;', - { indent: 10 }, - )}\n r = Math.sqrt(${t('d{var} * d{var}', { - join: ' + ', - })});\n }\n // If s / r < \u03b8, treat this internal node as a single body, and calculate the\n // force it exerts on sourceBody, and add this amount to sourceBody's net force.\n if ((node.max_${i( - 0, - )} - node.min_${i( - 0, - )}) / r < theta) {\n // in the if statement above we consider node's width only\n // because the region was made into square during tree creation.\n // Thus there is no difference between using width or height.\n v = gravity * node.mass * sourceBody.mass / (r * r * r);\n ${t( - 'f{var} += v * d{var};', - { indent: 10 }, - )}\n } else {\n // Otherwise, run the procedure recursively on each of the current node's children.\n\n // I intentionally unfolded this loop, to save several CPU cycles.\n${(function () { - let e = Array(11).join(' '), - t = [] - for (let r = 0; r < n; ++r) - t.push(e + `if (node.quad${r}) {`), - t.push(e + ` queue[pushIdx] = node.quad${r};`), - t.push(e + ' queueLength += 1;'), - t.push(e + ' pushIdx += 1;'), - t.push(e + '}') - return t.join('\n') - })()}\n }\n }\n }\n\n ${t('sourceBody.force.{var} += f{var};', { - indent: 4, - })}\n }\n\n function insertBodies(bodies) {\n ${t('var {var}min = Number.MAX_VALUE;', { - indent: 4, - })}\n ${t('var {var}max = Number.MIN_VALUE;', { - indent: 4, - })}\n var i = bodies.length;\n\n // To reduce quad tree depth we are looking for exact bounding box of all particles.\n while (i--) {\n var pos = bodies[i].pos;\n ${t( - 'if (pos.{var} < {var}min) {var}min = pos.{var};', - { indent: 6 }, - )}\n ${t('if (pos.{var} > {var}max) {var}max = pos.{var};', { - indent: 6, - })}\n }\n\n // Makes the bounds square.\n var maxSideLength = -Infinity;\n ${t( - 'if ({var}max - {var}min > maxSideLength) maxSideLength = {var}max - {var}min ;', - { indent: 4 }, - )}\n\n currentInCache = 0;\n root = newNode();\n ${t( - 'root.min_{var} = {var}min;', - { indent: 4 }, - )}\n ${t('root.max_{var} = {var}min + maxSideLength;', { - indent: 4, - })}\n\n i = bodies.length - 1;\n if (i >= 0) {\n root.body = bodies[i];\n }\n while (i--) {\n insert(bodies[i], root);\n }\n }\n\n function insert(newBody) {\n insertStack.reset();\n insertStack.push(root, newBody);\n\n while (!insertStack.isEmpty()) {\n var stackItem = insertStack.pop();\n var node = stackItem.node;\n var body = stackItem.body;\n\n if (!node.body) {\n // This is internal node. Update the total mass of the node and center-of-mass.\n ${t( - 'var {var} = body.pos.{var};', - { indent: 8 }, - )}\n node.mass += body.mass;\n ${t('node.mass_{var} += body.mass * {var};', { - indent: 8, - })}\n\n // Recursively insert the body in the appropriate quadrant.\n // But first find the appropriate quadrant.\n var quadIdx = 0; // Assume we are in the 0's quad.\n ${t( - 'var min_{var} = node.min_{var};', - { indent: 8 }, - )}\n ${t('var max_{var} = (min_{var} + node.max_{var}) / 2;', { - indent: 8, - })}\n\n${(function (t) { - let n = [], - r = Array(t + 1).join(' ') - for (let o = 0; o < e; ++o) - n.push(r + `if (${i(o)} > max_${i(o)}) {`), - n.push(r + ` quadIdx = quadIdx + ${Math.pow(2, o)};`), - n.push(r + ` min_${i(o)} = max_${i(o)};`), - n.push(r + ` max_${i(o)} = node.max_${i(o)};`), - n.push(r + '}') - return n.join('\n') - })( - 8, - )}\n\n var child = getChild(node, quadIdx);\n\n if (!child) {\n // The node is internal but this quadrant is not taken. Add\n // subnode to it.\n child = newNode();\n ${t( - 'child.min_{var} = min_{var};', - { indent: 10 }, - )}\n ${t('child.max_{var} = max_{var};', { - indent: 10, - })}\n child.body = body;\n\n setChild(node, quadIdx, child);\n } else {\n // continue searching in this quadrant.\n insertStack.push(child, body);\n }\n } else {\n // We are trying to add to the leaf node.\n // We have to convert current leaf into internal node\n // and continue adding two nodes.\n var oldBody = node.body;\n node.body = null; // internal nodes do not cary bodies\n\n if (isSamePosition(oldBody.pos, body.pos)) {\n // Prevent infinite subdivision by bumping one node\n // anywhere in this quadrant\n var retriesCount = 3;\n do {\n var offset = random.nextDouble();\n ${t( - 'var d{var} = (node.max_{var} - node.min_{var}) * offset;', - { indent: 12 }, - )}\n\n ${t('oldBody.pos.{var} = node.min_{var} + d{var};', { - indent: 12, - })}\n retriesCount -= 1;\n // Make sure we don't bump it out of the box. If we do, next iteration should fix it\n } while (retriesCount > 0 && isSamePosition(oldBody.pos, body.pos));\n\n if (retriesCount === 0 && isSamePosition(oldBody.pos, body.pos)) {\n // This is very bad, we ran out of precision.\n // if we do not return from the method we'll get into\n // infinite loop here. So we sacrifice correctness of layout, and keep the app running\n // Next layout iteration should get larger bounding box in the first step and fix this\n return;\n }\n }\n // Next iteration should subdivide node further.\n insertStack.push(node, oldBody);\n insertStack.push(node, body);\n }\n }\n }\n}\nreturn createQuadTree;\n\n` - } - function a(e) { - let t = r(e) - return `\n function isSamePosition(point1, point2) {\n ${t( - 'var d{var} = Math.abs(point1.{var} - point2.{var});', - { indent: 2 }, - )}\n \n return ${t('d{var} < 1e-8', { join: ' && ' })};\n } \n` - } - function s(e) { - var t = Math.pow(2, e) - return `\nfunction setChild(node, idx, child) {\n ${(function () { - let e = [] - for (let n = 0; n < t; ++n) { - let t = 0 === n ? ' ' : ' else ' - e.push(`${t}if (idx === ${n}) node.quad${n} = child;`) - } - return e.join('\n') - })()}\n}` - } - function u(e) { - return `function getChild(node, idx) {\n${(function () { - let t = [], - n = Math.pow(2, e) - for (let e = 0; e < n; ++e) t.push(` if (idx === ${e}) return node.quad${e};`) - return t.join('\n') - })()}\n return null;\n}` - } - function l(e) { - let t = r(e), - n = Math.pow(2, e) - return `\nfunction QuadNode() {\n // body stored inside this node. In quad tree only leaf nodes (by construction)\n // contain bodies:\n this.body = null;\n\n // Child nodes are stored in quads. Each quad is presented by number:\n // 0 | 1\n // -----\n // 2 | 3\n${(function ( - e, - ) { - let t = [] - for (let r = 0; r < n; ++r) t.push(`${e}quad${r} = null;`) - return t.join('\n') - })( - ' this.', - )}\n\n // Total mass of current node\n this.mass = 0;\n\n // Center of mass coordinates\n ${t( - 'this.mass_{var} = 0;', - { indent: 2 }, - )}\n\n // bounding box coordinates\n ${t('this.min_{var} = 0;', { indent: 2 })}\n ${t( - 'this.max_{var} = 0;', - { indent: 2 }, - )}\n}\n` - } - function c() { - return '\n/**\n * Our implementation of QuadTree is non-recursive to avoid GC hit\n * This data structure represent stack of elements\n * which we are trying to insert into quad tree.\n */\nfunction InsertStack () {\n this.stack = [];\n this.popIdx = 0;\n}\n\nInsertStack.prototype = {\n isEmpty: function() {\n return this.popIdx === 0;\n },\n push: function (node, body) {\n var item = this.stack[this.popIdx];\n if (!item) {\n // we are trying to avoid memory pressure: create new element\n // only when absolutely necessary\n this.stack[this.popIdx] = new InsertStackElement(node, body);\n } else {\n item.node = node;\n item.body = body;\n }\n ++this.popIdx;\n },\n pop: function () {\n if (this.popIdx > 0) {\n return this.stack[--this.popIdx];\n }\n },\n reset: function () {\n this.popIdx = 0;\n }\n};\n\nfunction InsertStackElement(node, body) {\n this.node = node; // QuadTree node\n this.body = body; // physical body which needs to be inserted to node\n}\n' - } - ;(e.exports = function (e) { - let t = o(e) - return new Function(t)() - }), - (e.exports.generateQuadTreeFunctionBody = o), - (e.exports.getInsertStackCode = c), - (e.exports.getQuadNodeCode = l), - (e.exports.isSamePosition = a), - (e.exports.getChildBodyCode = u), - (e.exports.setChildBodyCode = s) - }, - 6422: function (e) { - e.exports = function (e) { - return 0 === e ? 'x' : 1 === e ? 'y' : 2 === e ? 'z' : 'c' + (e + 1) - } - }, - 5818: function (e, t, n) { - e.exports = function (e) { - var t = n(8403), - d = n(5510), - f = n(4245) - if (e) { - if (void 0 !== e.springCoeff) - throw new Error('springCoeff was renamed to springCoefficient') - if (void 0 !== e.dragCoeff) throw new Error('dragCoeff was renamed to dragCoefficient') - } - e = d(e, { - springLength: 10, - springCoefficient: 0.8, - gravity: -12, - theta: 0.8, - dragCoefficient: 0.9, - timeStep: 0.5, - adaptiveTimeStepWeight: 0, - dimensions: 2, - debug: !1, - }) - var h = l[e.dimensions] - if (!h) { - var p = e.dimensions - ;(h = { - Body: r(p, e.debug), - createQuadTree: i(p), - createBounds: o(p), - createDragForce: a(p), - createSpringForce: s(p), - integrate: u(p), - }), - (l[p] = h) - } - var v = h.Body, - m = h.createQuadTree, - g = h.createBounds, - y = h.createDragForce, - b = h.createSpringForce, - w = h.integrate, - x = n(8712).random(42), - E = [], - k = [], - T = m(e, x), - _ = g(E, e, x), - O = b(e, x), - C = y(e), - S = [], - A = new Map(), - P = 0 - j('nbody', function () { - if (0 === E.length) return - T.insertBodies(E) - var e = E.length - for (; e--; ) { - var t = E[e] - t.isPinned || (t.reset(), T.updateBodyForce(t), C.update(t)) - } - }), - j('spring', function () { - var e = k.length - for (; e--; ) O.update(k[e]) - }) - var M = { - bodies: E, - quadTree: T, - springs: k, - settings: e, - addForce: j, - removeForce: function (e) { - var t = S.indexOf(A.get(e)) - if (t < 0) return - S.splice(t, 1), A.delete(e) - }, - getForces: function () { - return A - }, - step: function () { - for (var t = 0; t < S.length; ++t) S[t](P) - var n = w(E, e.timeStep, e.adaptiveTimeStepWeight) - return (P += 1), n - }, - addBody: function (e) { - if (!e) throw new Error('Body is required') - return E.push(e), e - }, - addBodyAt: function (e) { - if (!e) throw new Error('Body position is required') - var t = ((e) => new v(e))(e) - return E.push(t), t - }, - removeBody: function (e) { - if (e) { - var t = E.indexOf(e) - if (!(t < 0)) return E.splice(t, 1), 0 === E.length && _.reset(), !0 - } - }, - addSpring: function (e, n, r, i) { - if (!e || !n) throw new Error('Cannot add null spring to force simulator') - 'number' !== typeof r && (r = -1) - var o = new t(e, n, r, i >= 0 ? i : -1) - return k.push(o), o - }, - getTotalMovement: function () { - return 0 - }, - removeSpring: function (e) { - if (e) { - var t = k.indexOf(e) - return t > -1 ? (k.splice(t, 1), !0) : void 0 - } - }, - getBestNewBodyPosition: function (e) { - return _.getBestNewPosition(e) - }, - getBBox: R, - getBoundingBox: R, - invalidateBBox: function () { - console.warn( - 'invalidateBBox() is deprecated, bounds always recomputed on `getBBox()` call', - ) - }, - gravity: function (t) { - return void 0 !== t ? ((e.gravity = t), T.options({ gravity: t }), this) : e.gravity - }, - theta: function (t) { - return void 0 !== t ? ((e.theta = t), T.options({ theta: t }), this) : e.theta - }, - random: x, - } - return ( - (function (e, t) { - for (var n in e) c(e, t, n) - })(e, M), - f(M), - M - ) - function R() { - return _.update(), _.box - } - function j(e, t) { - if (A.has(e)) throw new Error('Force ' + e + ' is already added') - A.set(e, t), S.push(t) - } - } - var r = n(6410), - i = n(1584), - o = n(891), - a = n(6647), - s = n(4079), - u = n(1763), - l = {} - function c(e, t, n) { - if (e.hasOwnProperty(n) && 'function' !== typeof t[n]) { - var r = Number.isFinite(e[n]) - t[n] = r - ? function (r) { - if (void 0 !== r) { - if (!Number.isFinite(r)) - throw new Error('Value of ' + n + ' should be a valid number.') - return (e[n] = r), t - } - return e[n] - } - : function (r) { - return void 0 !== r ? ((e[n] = r), t) : e[n] - } - } - } - }, - 8403: function (e) { - e.exports = function (e, t, n, r) { - ;(this.from = e), (this.to = t), (this.length = n), (this.coefficient = r) - } - }, - 4736: function (e, t, n) { - e.exports = function (e) { - 'uniqueLinkId' in (e = e || {}) && - (console.warn( - 'ngraph.graph: Starting from version 0.14 `uniqueLinkId` is deprecated.\nUse `multigraph` option instead\n', - '\n', - 'Note: there is also change in default behavior: From now on each graph\nis considered to be not a multigraph by default (each edge is unique).', - ), - (e.multigraph = e.uniqueLinkId)) - void 0 === e.multigraph && (e.multigraph = !1) - if ('function' !== typeof Map) - throw new Error( - 'ngraph.graph requires `Map` to be defined. Please polyfill it before using ngraph', - ) - var t = new Map(), - n = [], - l = {}, - c = 0, - d = e.multigraph - ? function (e, t, n) { - var r = u(e, t), - i = l.hasOwnProperty(r) - if (i || O(e, t)) { - i || (l[r] = 0) - var o = '@' + ++l[r] - r = u(e + o, t + o) - } - return new s(e, t, n, r) - } - : function (e, t, n) { - var r = u(e, t) - return new s(e, t, n, r) - }, - f = [], - h = C, - p = C, - v = C, - m = C, - g = { - addNode: w, - addLink: function (e, t, r) { - v() - var i = x(e) || w(e), - o = x(t) || w(t), - s = d(e, t, r) - n.push(s), a(i, s), e !== t && a(o, s) - return h(s, 'add'), m(), s - }, - removeLink: _, - removeNode: E, - getNode: x, - getNodeCount: k, - getLinkCount: T, - getLinksCount: T, - getNodesCount: k, - getLinks: function (e) { - var t = x(e) - return t ? t.links : null - }, - forEachNode: P, - forEachLinkedNode: function (e, n, r) { - var i = x(e) - if (i && i.links && 'function' === typeof n) - return r - ? (function (e, n, r) { - for (var i = 0; i < e.length; ++i) { - var o = e[i] - if (o.fromId === n && r(t.get(o.toId), o)) return !0 - } - })(i.links, e, n) - : (function (e, n, r) { - for (var i = 0; i < e.length; ++i) { - var o = e[i], - a = o.fromId === n ? o.toId : o.fromId - if (r(t.get(a), o)) return !0 - } - })(i.links, e, n) - }, - forEachLink: function (e) { - var t, r - if ('function' === typeof e) for (t = 0, r = n.length; t < r; ++t) e(n[t]) - }, - beginUpdate: v, - endUpdate: m, - clear: function () { - v(), - P(function (e) { - E(e.id) - }), - m() - }, - hasLink: O, - hasNode: x, - getLink: O, - } - return ( - r(g), - (function () { - var e = g.on - function t() { - return ( - (g.beginUpdate = v = S), - (g.endUpdate = m = A), - (h = y), - (p = b), - (g.on = e), - e.apply(g, arguments) - ) - } - g.on = t - })(), - g - ) - function y(e, t) { - f.push({ link: e, changeType: t }) - } - function b(e, t) { - f.push({ node: e, changeType: t }) - } - function w(e, n) { - if (void 0 === e) throw new Error('Invalid node identifier') - v() - var r = x(e) - return ( - r ? ((r.data = n), p(r, 'update')) : ((r = new o(e, n)), p(r, 'add')), - t.set(e, r), - m(), - r - ) - } - function x(e) { - return t.get(e) - } - function E(e) { - var n = x(e) - if (!n) return !1 - v() - var r = n.links - if (r) { - n.links = null - for (var i = 0; i < r.length; ++i) _(r[i]) - } - return t.delete(e), p(n, 'remove'), m(), !0 - } - function k() { - return t.size - } - function T() { - return n.length - } - function _(e) { - if (!e) return !1 - var t = i(e, n) - if (t < 0) return !1 - v(), n.splice(t, 1) - var r = x(e.fromId), - o = x(e.toId) - return ( - r && (t = i(e, r.links)) >= 0 && r.links.splice(t, 1), - o && (t = i(e, o.links)) >= 0 && o.links.splice(t, 1), - h(e, 'remove'), - m(), - !0 - ) - } - function O(e, t) { - var n, - r = x(e) - if (!r || !r.links) return null - for (n = 0; n < r.links.length; ++n) { - var i = r.links[n] - if (i.fromId === e && i.toId === t) return i - } - return null - } - function C() {} - function S() { - c += 1 - } - function A() { - 0 === (c -= 1) && f.length > 0 && (g.fire('changed', f), (f.length = 0)) - } - function P(e) { - if ('function' !== typeof e) - throw new Error('Function is expected to iterate over graph nodes. You passed ' + e) - for (var n = t.values(), r = n.next(); !r.done; ) { - if (e(r.value)) return !0 - r = n.next() - } - } - } - var r = n(4245) - function i(e, t) { - if (!t) return -1 - if (t.indexOf) return t.indexOf(e) - var n, - r = t.length - for (n = 0; n < r; n += 1) if (t[n] === e) return n - return -1 - } - function o(e, t) { - ;(this.id = e), (this.links = null), (this.data = t) - } - function a(e, t) { - e.links ? e.links.push(t) : (e.links = [t]) - } - function s(e, t, n, r) { - ;(this.fromId = e), (this.toId = t), (this.data = n), (this.id = r) - } - function u(e, t) { - return e.toString() + '\ud83d\udc49 ' + t.toString() - } - }, - 5510: function (e) { - e.exports = function e(t, n) { - var r - t || (t = {}) - if (n) - for (r in n) - if (n.hasOwnProperty(r)) { - var i = t.hasOwnProperty(r), - o = typeof n[r] - !i || typeof t[r] !== o ? (t[r] = n[r]) : 'object' === o && (t[r] = e(t[r], n[r])) - } - return t - } - }, - 8712: function (e) { - function t(e) { - return new n('number' === typeof e ? e : +new Date()) - } - function n(e) { - this.seed = e - } - function r(e) { - return ( - Math.sqrt((2 * Math.PI) / e) * - Math.pow((1 / Math.E) * (e + 1 / (12 * e - 1 / (10 * e))), e) - ) - } - function i() { - var e = this.seed - return ( - (e = - 4294967295 & - (3042594569 ^ - (e = - ((e = - 4294967295 & - (((e = - ((e = - 4294967295 & - (3345072700 ^ (e = (e + 2127912214 + (e << 12)) & 4294967295) ^ (e >>> 19))) + - 374761393 + - (e << 5)) & - 4294967295) + - 3550635116) ^ - (e << 9))) + - 4251993797 + - (e << 3)) & - 4294967295) ^ - (e >>> 16))), - (this.seed = e), - (268435455 & e) / 268435456 - ) - } - ;(e.exports = t), - (e.exports.random = t), - (e.exports.randomIterator = function (e, n) { - var r = n || t() - if ('function' !== typeof r.next) - throw new Error('customRandom does not match expected API: next() function is missing') - return { - forEach: function (t) { - var n, i, o - for (n = e.length - 1; n > 0; --n) - (i = r.next(n + 1)), (o = e[i]), (e[i] = e[n]), (e[n] = o), t(o) - e.length && t(e[0]) - }, - shuffle: function () { - var t, n, i - for (t = e.length - 1; t > 0; --t) - (n = r.next(t + 1)), (i = e[n]), (e[n] = e[t]), (e[t] = i) - return e - }, - } - }), - (n.prototype.next = function (e) { - return Math.floor(this.nextDouble() * e) - }), - (n.prototype.nextDouble = i), - (n.prototype.uniform = i), - (n.prototype.gaussian = function () { - var e, t, n - do { - ;(t = 2 * this.nextDouble() - 1), (n = 2 * this.nextDouble() - 1), (e = t * t + n * n) - } while (e >= 1 || 0 === e) - return t * Math.sqrt((-2 * Math.log(e)) / e) - }), - (n.prototype.levy = function () { - var e = 1.5, - t = Math.pow( - (r(2.5) * Math.sin((Math.PI * e) / 2)) / (r(1.25) * e * Math.pow(2, 0.25)), - 1 / e, - ) - return (this.gaussian() * t) / Math.pow(Math.abs(this.gaussian()), 1 / e) - }) - }, - 75: function (e, t, n) { - var r = n(4155) - ;(function () { - var t, n, i, o, a, s - 'undefined' !== typeof performance && null !== performance && performance.now - ? (e.exports = function () { - return performance.now() - }) - : 'undefined' !== typeof r && null !== r && r.hrtime - ? ((e.exports = function () { - return (t() - a) / 1e6 - }), - (n = r.hrtime), - (o = (t = function () { - var e - return 1e9 * (e = n())[0] + e[1] - })()), - (s = 1e9 * r.uptime()), - (a = o - s)) - : Date.now - ? ((e.exports = function () { - return Date.now() - i - }), - (i = Date.now())) - : ((e.exports = function () { - return new Date().getTime() - i - }), - (i = new Date().getTime())) - }.call(this)) - }, - 7236: function (e) { - var t = null, - n = ['Webkit', 'Moz', 'O', 'ms'] - e.exports = function (e) { - t || (t = document.createElement('div')) - var r = t.style - if (e in r) return e - for (var i = e.charAt(0).toUpperCase() + e.slice(1), o = n.length; o >= 0; o--) { - var a = n[o] + i - if (a in r) return a - } - return !1 - } - }, - 4155: function (e) { - var t, - n, - r = (e.exports = {}) - function i() { - throw new Error('setTimeout has not been defined') - } - function o() { - throw new Error('clearTimeout has not been defined') - } - function a(e) { - if (t === setTimeout) return setTimeout(e, 0) - if ((t === i || !t) && setTimeout) return (t = setTimeout), setTimeout(e, 0) - try { - return t(e, 0) - } catch (n) { - try { - return t.call(null, e, 0) - } catch (n) { - return t.call(this, e, 0) - } - } - } - !(function () { - try { - t = 'function' === typeof setTimeout ? setTimeout : i - } catch (e) { - t = i - } - try { - n = 'function' === typeof clearTimeout ? clearTimeout : o - } catch (e) { - n = o - } - })() - var s, - u = [], - l = !1, - c = -1 - function d() { - l && s && ((l = !1), s.length ? (u = s.concat(u)) : (c = -1), u.length && f()) - } - function f() { - if (!l) { - var e = a(d) - l = !0 - for (var t = u.length; t; ) { - for (s = u, u = []; ++c < t; ) s && s[c].run() - ;(c = -1), (t = u.length) - } - ;(s = null), - (l = !1), - (function (e) { - if (n === clearTimeout) return clearTimeout(e) - if ((n === o || !n) && clearTimeout) return (n = clearTimeout), clearTimeout(e) - try { - n(e) - } catch (t) { - try { - return n.call(null, e) - } catch (t) { - return n.call(this, e) - } - } - })(e) - } - } - function h(e, t) { - ;(this.fun = e), (this.array = t) - } - function p() {} - ;(r.nextTick = function (e) { - var t = new Array(arguments.length - 1) - if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n] - u.push(new h(e, t)), 1 !== u.length || l || a(f) - }), - (h.prototype.run = function () { - this.fun.apply(null, this.array) - }), - (r.title = 'browser'), - (r.browser = !0), - (r.env = {}), - (r.argv = []), - (r.version = ''), - (r.versions = {}), - (r.on = p), - (r.addListener = p), - (r.once = p), - (r.off = p), - (r.removeListener = p), - (r.removeAllListeners = p), - (r.emit = p), - (r.prependListener = p), - (r.prependOnceListener = p), - (r.listeners = function (e) { - return [] - }), - (r.binding = function (e) { - throw new Error('process.binding is not supported') - }), - (r.cwd = function () { - return '/' - }), - (r.chdir = function (e) { - throw new Error('process.chdir is not supported') - }), - (r.umask = function () { - return 0 - }) - }, - 4087: function (e, t, n) { - for ( - var r = n(75), - i = 'undefined' === typeof window ? n.g : window, - o = ['moz', 'webkit'], - a = 'AnimationFrame', - s = i['request' + a], - u = i['cancel' + a] || i['cancelRequest' + a], - l = 0; - !s && l < o.length; - l++ - ) - (s = i[o[l] + 'Request' + a]), (u = i[o[l] + 'Cancel' + a] || i[o[l] + 'CancelRequest' + a]) - if (!s || !u) { - var c = 0, - d = 0, - f = [] - ;(s = function (e) { - if (0 === f.length) { - var t = r(), - n = Math.max(0, 16.666666666666668 - (t - c)) - ;(c = n + t), - setTimeout(function () { - var e = f.slice(0) - f.length = 0 - for (var t = 0; t < e.length; t++) - if (!e[t].cancelled) - try { - e[t].callback(c) - } catch (n) { - setTimeout(function () { - throw n - }, 0) - } - }, Math.round(n)) - } - return f.push({ handle: ++d, callback: e, cancelled: !1 }), d - }), - (u = function (e) { - for (var t = 0; t < f.length; t++) f[t].handle === e && (f[t].cancelled = !0) - }) - } - ;(e.exports = function (e) { - return s.call(i, e) - }), - (e.exports.cancel = function () { - u.apply(i, arguments) - }), - (e.exports.polyfill = function (e) { - e || (e = i), (e.requestAnimationFrame = s), (e.cancelAnimationFrame = u) - }) - }, - 3485: function (e, t, n) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }) - var r = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - } - ;(t.renderViewDefault = function (e) { - return a.default.createElement('div', e) - }), - (t.renderTrackHorizontalDefault = function (e) { - var t = e.style, - n = s(e, ['style']), - i = r({}, t, { right: 2, bottom: 2, left: 2, borderRadius: 3 }) - return a.default.createElement('div', r({ style: i }, n)) - }), - (t.renderTrackVerticalDefault = function (e) { - var t = e.style, - n = s(e, ['style']), - i = r({}, t, { right: 2, bottom: 2, top: 2, borderRadius: 3 }) - return a.default.createElement('div', r({ style: i }, n)) - }), - (t.renderThumbHorizontalDefault = function (e) { - var t = e.style, - n = s(e, ['style']), - i = r({}, t, { - cursor: 'pointer', - borderRadius: 'inherit', - backgroundColor: 'rgba(0,0,0,.2)', - }) - return a.default.createElement('div', r({ style: i }, n)) - }), - (t.renderThumbVerticalDefault = function (e) { - var t = e.style, - n = s(e, ['style']), - i = r({}, t, { - cursor: 'pointer', - borderRadius: 'inherit', - backgroundColor: 'rgba(0,0,0,.2)', - }) - return a.default.createElement('div', r({ style: i }, n)) - }) - var i, - o = n(7294), - a = (i = o) && i.__esModule ? i : { default: i } - function s(e, t) { - var n = {} - for (var r in e) - t.indexOf(r) >= 0 || (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r])) - return n - } - }, - 6164: function (e, t, n) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }) - var r = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }, - i = (function () { - function e(e, t) { - for (var n = 0; n < t.length; n++) { - var r = t[n] - ;(r.enumerable = r.enumerable || !1), - (r.configurable = !0), - 'value' in r && (r.writable = !0), - Object.defineProperty(e, r.key, r) - } - } - return function (t, n, r) { - return n && e(t.prototype, n), r && e(t, r), t - } - })(), - o = n(4087), - a = g(o), - s = g(n(3879)), - u = n(7294), - l = g(n(5697)), - c = g(n(7928)), - d = g(n(6445)), - f = g(n(8309)), - h = g(n(1608)), - p = g(n(7114)), - v = n(8285), - m = n(3485) - function g(e) { - return e && e.__esModule ? e : { default: e } - } - function y(e, t) { - if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') - } - function b(e, t) { - if (!e) - throw new ReferenceError("this hasn't been initialised - super() hasn't been called") - return !t || ('object' !== typeof t && 'function' !== typeof t) ? e : t - } - var w = (function (e) { - function t(e) { - var n - y(this, t) - for (var r = arguments.length, i = Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++) - i[o - 1] = arguments[o] - var a = b( - this, - (n = t.__proto__ || Object.getPrototypeOf(t)).call.apply(n, [this, e].concat(i)), - ) - return ( - (a.getScrollLeft = a.getScrollLeft.bind(a)), - (a.getScrollTop = a.getScrollTop.bind(a)), - (a.getScrollWidth = a.getScrollWidth.bind(a)), - (a.getScrollHeight = a.getScrollHeight.bind(a)), - (a.getClientWidth = a.getClientWidth.bind(a)), - (a.getClientHeight = a.getClientHeight.bind(a)), - (a.getValues = a.getValues.bind(a)), - (a.getThumbHorizontalWidth = a.getThumbHorizontalWidth.bind(a)), - (a.getThumbVerticalHeight = a.getThumbVerticalHeight.bind(a)), - (a.getScrollLeftForOffset = a.getScrollLeftForOffset.bind(a)), - (a.getScrollTopForOffset = a.getScrollTopForOffset.bind(a)), - (a.scrollLeft = a.scrollLeft.bind(a)), - (a.scrollTop = a.scrollTop.bind(a)), - (a.scrollToLeft = a.scrollToLeft.bind(a)), - (a.scrollToTop = a.scrollToTop.bind(a)), - (a.scrollToRight = a.scrollToRight.bind(a)), - (a.scrollToBottom = a.scrollToBottom.bind(a)), - (a.handleTrackMouseEnter = a.handleTrackMouseEnter.bind(a)), - (a.handleTrackMouseLeave = a.handleTrackMouseLeave.bind(a)), - (a.handleHorizontalTrackMouseDown = a.handleHorizontalTrackMouseDown.bind(a)), - (a.handleVerticalTrackMouseDown = a.handleVerticalTrackMouseDown.bind(a)), - (a.handleHorizontalThumbMouseDown = a.handleHorizontalThumbMouseDown.bind(a)), - (a.handleVerticalThumbMouseDown = a.handleVerticalThumbMouseDown.bind(a)), - (a.handleWindowResize = a.handleWindowResize.bind(a)), - (a.handleScroll = a.handleScroll.bind(a)), - (a.handleDrag = a.handleDrag.bind(a)), - (a.handleDragEnd = a.handleDragEnd.bind(a)), - (a.state = { didMountUniversal: !1 }), - a - ) - } - return ( - (function (e, t) { - if ('function' !== typeof t && null !== t) - throw new TypeError( - 'Super expression must either be null or a function, not ' + typeof t, - ) - ;(e.prototype = Object.create(t && t.prototype, { - constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 }, - })), - t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : (e.__proto__ = t)) - })(t, e), - i(t, [ - { - key: 'componentDidMount', - value: function () { - this.addListeners(), this.update(), this.componentDidMountUniversal() - }, - }, - { - key: 'componentDidMountUniversal', - value: function () { - this.props.universal && this.setState({ didMountUniversal: !0 }) - }, - }, - { - key: 'componentDidUpdate', - value: function () { - this.update() - }, - }, - { - key: 'componentWillUnmount', - value: function () { - this.removeListeners(), - (0, o.cancel)(this.requestFrame), - clearTimeout(this.hideTracksTimeout), - clearInterval(this.detectScrollingInterval) - }, - }, - { - key: 'getScrollLeft', - value: function () { - return this.view ? this.view.scrollLeft : 0 - }, - }, - { - key: 'getScrollTop', - value: function () { - return this.view ? this.view.scrollTop : 0 - }, - }, - { - key: 'getScrollWidth', - value: function () { - return this.view ? this.view.scrollWidth : 0 - }, - }, - { - key: 'getScrollHeight', - value: function () { - return this.view ? this.view.scrollHeight : 0 - }, - }, - { - key: 'getClientWidth', - value: function () { - return this.view ? this.view.clientWidth : 0 - }, - }, - { - key: 'getClientHeight', - value: function () { - return this.view ? this.view.clientHeight : 0 - }, - }, - { - key: 'getValues', - value: function () { - var e = this.view || {}, - t = e.scrollLeft, - n = void 0 === t ? 0 : t, - r = e.scrollTop, - i = void 0 === r ? 0 : r, - o = e.scrollWidth, - a = void 0 === o ? 0 : o, - s = e.scrollHeight, - u = void 0 === s ? 0 : s, - l = e.clientWidth, - c = void 0 === l ? 0 : l, - d = e.clientHeight, - f = void 0 === d ? 0 : d - return { - left: n / (a - c) || 0, - top: i / (u - f) || 0, - scrollLeft: n, - scrollTop: i, - scrollWidth: a, - scrollHeight: u, - clientWidth: c, - clientHeight: f, - } - }, - }, - { - key: 'getThumbHorizontalWidth', - value: function () { - var e = this.props, - t = e.thumbSize, - n = e.thumbMinSize, - r = this.view, - i = r.scrollWidth, - o = r.clientWidth, - a = (0, h.default)(this.trackHorizontal), - s = Math.ceil((o / i) * a) - return a <= s ? 0 : t || Math.max(s, n) - }, - }, - { - key: 'getThumbVerticalHeight', - value: function () { - var e = this.props, - t = e.thumbSize, - n = e.thumbMinSize, - r = this.view, - i = r.scrollHeight, - o = r.clientHeight, - a = (0, p.default)(this.trackVertical), - s = Math.ceil((o / i) * a) - return a <= s ? 0 : t || Math.max(s, n) - }, - }, - { - key: 'getScrollLeftForOffset', - value: function (e) { - var t = this.view, - n = t.scrollWidth, - r = t.clientWidth - return ( - (e / ((0, h.default)(this.trackHorizontal) - this.getThumbHorizontalWidth())) * - (n - r) - ) - }, - }, - { - key: 'getScrollTopForOffset', - value: function (e) { - var t = this.view, - n = t.scrollHeight, - r = t.clientHeight - return ( - (e / ((0, p.default)(this.trackVertical) - this.getThumbVerticalHeight())) * - (n - r) - ) - }, - }, - { - key: 'scrollLeft', - value: function () { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0 - this.view && (this.view.scrollLeft = e) - }, - }, - { - key: 'scrollTop', - value: function () { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0 - this.view && (this.view.scrollTop = e) - }, - }, - { - key: 'scrollToLeft', - value: function () { - this.view && (this.view.scrollLeft = 0) - }, - }, - { - key: 'scrollToTop', - value: function () { - this.view && (this.view.scrollTop = 0) - }, - }, - { - key: 'scrollToRight', - value: function () { - this.view && (this.view.scrollLeft = this.view.scrollWidth) - }, - }, - { - key: 'scrollToBottom', - value: function () { - this.view && (this.view.scrollTop = this.view.scrollHeight) - }, - }, - { - key: 'addListeners', - value: function () { - if ('undefined' !== typeof document && this.view) { - var e = this.view, - t = this.trackHorizontal, - n = this.trackVertical, - r = this.thumbHorizontal, - i = this.thumbVertical - e.addEventListener('scroll', this.handleScroll), - (0, d.default)() && - (t.addEventListener('mouseenter', this.handleTrackMouseEnter), - t.addEventListener('mouseleave', this.handleTrackMouseLeave), - t.addEventListener('mousedown', this.handleHorizontalTrackMouseDown), - n.addEventListener('mouseenter', this.handleTrackMouseEnter), - n.addEventListener('mouseleave', this.handleTrackMouseLeave), - n.addEventListener('mousedown', this.handleVerticalTrackMouseDown), - r.addEventListener('mousedown', this.handleHorizontalThumbMouseDown), - i.addEventListener('mousedown', this.handleVerticalThumbMouseDown), - window.addEventListener('resize', this.handleWindowResize)) - } - }, - }, - { - key: 'removeListeners', - value: function () { - if ('undefined' !== typeof document && this.view) { - var e = this.view, - t = this.trackHorizontal, - n = this.trackVertical, - r = this.thumbHorizontal, - i = this.thumbVertical - e.removeEventListener('scroll', this.handleScroll), - (0, d.default)() && - (t.removeEventListener('mouseenter', this.handleTrackMouseEnter), - t.removeEventListener('mouseleave', this.handleTrackMouseLeave), - t.removeEventListener('mousedown', this.handleHorizontalTrackMouseDown), - n.removeEventListener('mouseenter', this.handleTrackMouseEnter), - n.removeEventListener('mouseleave', this.handleTrackMouseLeave), - n.removeEventListener('mousedown', this.handleVerticalTrackMouseDown), - r.removeEventListener('mousedown', this.handleHorizontalThumbMouseDown), - i.removeEventListener('mousedown', this.handleVerticalThumbMouseDown), - window.removeEventListener('resize', this.handleWindowResize), - this.teardownDragging()) - } - }, - }, - { - key: 'handleScroll', - value: function (e) { - var t = this, - n = this.props, - r = n.onScroll, - i = n.onScrollFrame - r && r(e), - this.update(function (e) { - var n = e.scrollLeft, - r = e.scrollTop - ;(t.viewScrollLeft = n), (t.viewScrollTop = r), i && i(e) - }), - this.detectScrolling() - }, - }, - { - key: 'handleScrollStart', - value: function () { - var e = this.props.onScrollStart - e && e(), this.handleScrollStartAutoHide() - }, - }, - { - key: 'handleScrollStartAutoHide', - value: function () { - this.props.autoHide && this.showTracks() - }, - }, - { - key: 'handleScrollStop', - value: function () { - var e = this.props.onScrollStop - e && e(), this.handleScrollStopAutoHide() - }, - }, - { - key: 'handleScrollStopAutoHide', - value: function () { - this.props.autoHide && this.hideTracks() - }, - }, - { - key: 'handleWindowResize', - value: function () { - ;(0, d.default)(!1), this.forceUpdate() - }, - }, - { - key: 'handleHorizontalTrackMouseDown', - value: function (e) { - e.preventDefault() - var t = e.target, - n = e.clientX, - r = t.getBoundingClientRect().left, - i = this.getThumbHorizontalWidth(), - o = Math.abs(r - n) - i / 2 - this.view.scrollLeft = this.getScrollLeftForOffset(o) - }, - }, - { - key: 'handleVerticalTrackMouseDown', - value: function (e) { - e.preventDefault() - var t = e.target, - n = e.clientY, - r = t.getBoundingClientRect().top, - i = this.getThumbVerticalHeight(), - o = Math.abs(r - n) - i / 2 - this.view.scrollTop = this.getScrollTopForOffset(o) - }, - }, - { - key: 'handleHorizontalThumbMouseDown', - value: function (e) { - e.preventDefault(), this.handleDragStart(e) - var t = e.target, - n = e.clientX, - r = t.offsetWidth, - i = t.getBoundingClientRect().left - this.prevPageX = r - (n - i) - }, - }, - { - key: 'handleVerticalThumbMouseDown', - value: function (e) { - e.preventDefault(), this.handleDragStart(e) - var t = e.target, - n = e.clientY, - r = t.offsetHeight, - i = t.getBoundingClientRect().top - this.prevPageY = r - (n - i) - }, - }, - { - key: 'setupDragging', - value: function () { - ;(0, s.default)(document.body, v.disableSelectStyle), - document.addEventListener('mousemove', this.handleDrag), - document.addEventListener('mouseup', this.handleDragEnd), - (document.onselectstart = f.default) - }, - }, - { - key: 'teardownDragging', - value: function () { - ;(0, s.default)(document.body, v.disableSelectStyleReset), - document.removeEventListener('mousemove', this.handleDrag), - document.removeEventListener('mouseup', this.handleDragEnd), - (document.onselectstart = void 0) - }, - }, - { - key: 'handleDragStart', - value: function (e) { - ;(this.dragging = !0), e.stopImmediatePropagation(), this.setupDragging() - }, - }, - { - key: 'handleDrag', - value: function (e) { - if (this.prevPageX) { - var t = e.clientX, - n = - -this.trackHorizontal.getBoundingClientRect().left + - t - - (this.getThumbHorizontalWidth() - this.prevPageX) - this.view.scrollLeft = this.getScrollLeftForOffset(n) - } - if (this.prevPageY) { - var r = e.clientY, - i = - -this.trackVertical.getBoundingClientRect().top + - r - - (this.getThumbVerticalHeight() - this.prevPageY) - this.view.scrollTop = this.getScrollTopForOffset(i) - } - return !1 - }, - }, - { - key: 'handleDragEnd', - value: function () { - ;(this.dragging = !1), - (this.prevPageX = this.prevPageY = 0), - this.teardownDragging(), - this.handleDragEndAutoHide() - }, - }, - { - key: 'handleDragEndAutoHide', - value: function () { - this.props.autoHide && this.hideTracks() - }, - }, - { - key: 'handleTrackMouseEnter', - value: function () { - ;(this.trackMouseOver = !0), this.handleTrackMouseEnterAutoHide() - }, - }, - { - key: 'handleTrackMouseEnterAutoHide', - value: function () { - this.props.autoHide && this.showTracks() - }, - }, - { - key: 'handleTrackMouseLeave', - value: function () { - ;(this.trackMouseOver = !1), this.handleTrackMouseLeaveAutoHide() - }, - }, - { - key: 'handleTrackMouseLeaveAutoHide', - value: function () { - this.props.autoHide && this.hideTracks() - }, - }, - { - key: 'showTracks', - value: function () { - clearTimeout(this.hideTracksTimeout), - (0, s.default)(this.trackHorizontal, { opacity: 1 }), - (0, s.default)(this.trackVertical, { opacity: 1 }) - }, - }, - { - key: 'hideTracks', - value: function () { - var e = this - if (!this.dragging && !this.scrolling && !this.trackMouseOver) { - var t = this.props.autoHideTimeout - clearTimeout(this.hideTracksTimeout), - (this.hideTracksTimeout = setTimeout(function () { - ;(0, s.default)(e.trackHorizontal, { opacity: 0 }), - (0, s.default)(e.trackVertical, { opacity: 0 }) - }, t)) - } - }, - }, - { - key: 'detectScrolling', - value: function () { - var e = this - this.scrolling || - ((this.scrolling = !0), - this.handleScrollStart(), - (this.detectScrollingInterval = setInterval(function () { - e.lastViewScrollLeft === e.viewScrollLeft && - e.lastViewScrollTop === e.viewScrollTop && - (clearInterval(e.detectScrollingInterval), - (e.scrolling = !1), - e.handleScrollStop()), - (e.lastViewScrollLeft = e.viewScrollLeft), - (e.lastViewScrollTop = e.viewScrollTop) - }, 100))) - }, - }, - { - key: 'raf', - value: function (e) { - var t = this - this.requestFrame && a.default.cancel(this.requestFrame), - (this.requestFrame = (0, a.default)(function () { - ;(t.requestFrame = void 0), e() - })) - }, - }, - { - key: 'update', - value: function (e) { - var t = this - this.raf(function () { - return t._update(e) - }) - }, - }, - { - key: '_update', - value: function (e) { - var t = this.props, - n = t.onUpdate, - r = t.hideTracksWhenNotNeeded, - i = this.getValues() - if ((0, d.default)()) { - var o = i.scrollLeft, - a = i.clientWidth, - u = i.scrollWidth, - l = (0, h.default)(this.trackHorizontal), - c = this.getThumbHorizontalWidth(), - f = { width: c, transform: 'translateX(' + (o / (u - a)) * (l - c) + 'px)' }, - v = i.scrollTop, - m = i.clientHeight, - g = i.scrollHeight, - y = (0, p.default)(this.trackVertical), - b = this.getThumbVerticalHeight(), - w = { height: b, transform: 'translateY(' + (v / (g - m)) * (y - b) + 'px)' } - if (r) { - var x = { visibility: u > a ? 'visible' : 'hidden' }, - E = { visibility: g > m ? 'visible' : 'hidden' } - ;(0, s.default)(this.trackHorizontal, x), (0, s.default)(this.trackVertical, E) - } - ;(0, s.default)(this.thumbHorizontal, f), (0, s.default)(this.thumbVertical, w) - } - n && n(i), 'function' === typeof e && e(i) - }, - }, - { - key: 'render', - value: function () { - var e = this, - t = (0, d.default)(), - n = this.props, - i = - (n.onScroll, - n.onScrollFrame, - n.onScrollStart, - n.onScrollStop, - n.onUpdate, - n.renderView), - o = n.renderTrackHorizontal, - a = n.renderTrackVertical, - s = n.renderThumbHorizontal, - l = n.renderThumbVertical, - f = n.tagName, - h = (n.hideTracksWhenNotNeeded, n.autoHide), - p = (n.autoHideTimeout, n.autoHideDuration), - m = (n.thumbSize, n.thumbMinSize, n.universal), - g = n.autoHeight, - y = n.autoHeightMin, - b = n.autoHeightMax, - w = n.style, - x = n.children, - E = (function (e, t) { - var n = {} - for (var r in e) - t.indexOf(r) >= 0 || - (Object.prototype.hasOwnProperty.call(e, r) && (n[r] = e[r])) - return n - })(n, [ - 'onScroll', - 'onScrollFrame', - 'onScrollStart', - 'onScrollStop', - 'onUpdate', - 'renderView', - 'renderTrackHorizontal', - 'renderTrackVertical', - 'renderThumbHorizontal', - 'renderThumbVertical', - 'tagName', - 'hideTracksWhenNotNeeded', - 'autoHide', - 'autoHideTimeout', - 'autoHideDuration', - 'thumbSize', - 'thumbMinSize', - 'universal', - 'autoHeight', - 'autoHeightMin', - 'autoHeightMax', - 'style', - 'children', - ]), - k = this.state.didMountUniversal, - T = r( - {}, - v.containerStyleDefault, - g && r({}, v.containerStyleAutoHeight, { minHeight: y, maxHeight: b }), - w, - ), - _ = r( - {}, - v.viewStyleDefault, - { marginRight: t ? -t : 0, marginBottom: t ? -t : 0 }, - g && - r({}, v.viewStyleAutoHeight, { - minHeight: (0, c.default)(y) ? 'calc(' + y + ' + ' + t + 'px)' : y + t, - maxHeight: (0, c.default)(b) ? 'calc(' + b + ' + ' + t + 'px)' : b + t, - }), - g && m && !k && { minHeight: y, maxHeight: b }, - m && !k && v.viewStyleUniversalInitial, - ), - O = { transition: 'opacity ' + p + 'ms', opacity: 0 }, - C = r( - {}, - v.trackHorizontalStyleDefault, - h && O, - (!t || (m && !k)) && { display: 'none' }, - ), - S = r( - {}, - v.trackVerticalStyleDefault, - h && O, - (!t || (m && !k)) && { display: 'none' }, - ) - return (0, u.createElement)( - f, - r({}, E, { - style: T, - ref: function (t) { - e.container = t - }, - }), - [ - (0, u.cloneElement)( - i({ style: _ }), - { - key: 'view', - ref: function (t) { - e.view = t - }, - }, - x, - ), - (0, u.cloneElement)( - o({ style: C }), - { - key: 'trackHorizontal', - ref: function (t) { - e.trackHorizontal = t - }, - }, - (0, u.cloneElement)(s({ style: v.thumbHorizontalStyleDefault }), { - ref: function (t) { - e.thumbHorizontal = t - }, - }), - ), - (0, u.cloneElement)( - a({ style: S }), - { - key: 'trackVertical', - ref: function (t) { - e.trackVertical = t - }, - }, - (0, u.cloneElement)(l({ style: v.thumbVerticalStyleDefault }), { - ref: function (t) { - e.thumbVertical = t - }, - }), - ), - ], - ) - }, - }, - ]), - t - ) - })(u.Component) - ;(t.default = w), - (w.propTypes = { - onScroll: l.default.func, - onScrollFrame: l.default.func, - onScrollStart: l.default.func, - onScrollStop: l.default.func, - onUpdate: l.default.func, - renderView: l.default.func, - renderTrackHorizontal: l.default.func, - renderTrackVertical: l.default.func, - renderThumbHorizontal: l.default.func, - renderThumbVertical: l.default.func, - tagName: l.default.string, - thumbSize: l.default.number, - thumbMinSize: l.default.number, - hideTracksWhenNotNeeded: l.default.bool, - autoHide: l.default.bool, - autoHideTimeout: l.default.number, - autoHideDuration: l.default.number, - autoHeight: l.default.bool, - autoHeightMin: l.default.oneOfType([l.default.number, l.default.string]), - autoHeightMax: l.default.oneOfType([l.default.number, l.default.string]), - universal: l.default.bool, - style: l.default.object, - children: l.default.node, - }), - (w.defaultProps = { - renderView: m.renderViewDefault, - renderTrackHorizontal: m.renderTrackHorizontalDefault, - renderTrackVertical: m.renderTrackVerticalDefault, - renderThumbHorizontal: m.renderThumbHorizontalDefault, - renderThumbVertical: m.renderThumbVerticalDefault, - tagName: 'div', - thumbMinSize: 30, - hideTracksWhenNotNeeded: !1, - autoHide: !1, - autoHideTimeout: 1e3, - autoHideDuration: 200, - autoHeight: !1, - autoHeightMin: 0, - autoHeightMax: 200, - universal: !1, - }) - }, - 8285: function (e, t) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }) - ;(t.containerStyleDefault = { - position: 'relative', - overflow: 'hidden', - width: '100%', - height: '100%', - }), - (t.containerStyleAutoHeight = { height: 'auto' }), - (t.viewStyleDefault = { - position: 'absolute', - top: 0, - left: 0, - right: 0, - bottom: 0, - overflow: 'scroll', - WebkitOverflowScrolling: 'touch', - }), - (t.viewStyleAutoHeight = { - position: 'relative', - top: void 0, - left: void 0, - right: void 0, - bottom: void 0, - }), - (t.viewStyleUniversalInitial = { overflow: 'hidden', marginRight: 0, marginBottom: 0 }), - (t.trackHorizontalStyleDefault = { position: 'absolute', height: 6 }), - (t.trackVerticalStyleDefault = { position: 'absolute', width: 6 }), - (t.thumbHorizontalStyleDefault = { - position: 'relative', - display: 'block', - height: '100%', - }), - (t.thumbVerticalStyleDefault = { position: 'relative', display: 'block', width: '100%' }), - (t.disableSelectStyle = { userSelect: 'none' }), - (t.disableSelectStyleReset = { userSelect: '' }) - }, - 6658: function (e, t, n) { - 'use strict' - var r, - i = n(6164), - o = (r = i) && r.__esModule ? r : { default: r } - ;(t.ZP = o.default), o.default - }, - 7114: function (e, t) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.default = function (e) { - var t = e.clientHeight, - n = getComputedStyle(e), - r = n.paddingTop, - i = n.paddingBottom - return t - parseFloat(r) - parseFloat(i) - }) - }, - 1608: function (e, t) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.default = function (e) { - var t = e.clientWidth, - n = getComputedStyle(e), - r = n.paddingLeft, - i = n.paddingRight - return t - parseFloat(r) - parseFloat(i) - }) - }, - 6445: function (e, t, n) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.default = function () { - var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0] - if (e && !1 !== a) return a - if ('undefined' !== typeof document) { - var t = document.createElement('div') - ;(0, o.default)(t, { - width: 100, - height: 100, - position: 'absolute', - top: -9999, - overflow: 'scroll', - MsOverflowStyle: 'scrollbar', - }), - document.body.appendChild(t), - (a = t.offsetWidth - t.clientWidth), - document.body.removeChild(t) - } else a = 0 - return a || 0 - }) - var r, - i = n(3879), - o = (r = i) && r.__esModule ? r : { default: r } - var a = !1 - }, - 7928: function (e, t) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.default = function (e) { - return 'string' === typeof e - }) - }, - 8309: function (e, t) { - 'use strict' - Object.defineProperty(t, '__esModule', { value: !0 }), - (t.default = function () { - return !1 - }) - }, - 9590: function (e) { - var t = 'undefined' !== typeof Element, - n = 'function' === typeof Map, - r = 'function' === typeof Set, - i = 'function' === typeof ArrayBuffer && !!ArrayBuffer.isView - function o(e, a) { - if (e === a) return !0 - if (e && a && 'object' == typeof e && 'object' == typeof a) { - if (e.constructor !== a.constructor) return !1 - var s, u, l, c - if (Array.isArray(e)) { - if ((s = e.length) != a.length) return !1 - for (u = s; 0 !== u--; ) if (!o(e[u], a[u])) return !1 - return !0 - } - if (n && e instanceof Map && a instanceof Map) { - if (e.size !== a.size) return !1 - for (c = e.entries(); !(u = c.next()).done; ) if (!a.has(u.value[0])) return !1 - for (c = e.entries(); !(u = c.next()).done; ) - if (!o(u.value[1], a.get(u.value[0]))) return !1 - return !0 - } - if (r && e instanceof Set && a instanceof Set) { - if (e.size !== a.size) return !1 - for (c = e.entries(); !(u = c.next()).done; ) if (!a.has(u.value[0])) return !1 - return !0 - } - if (i && ArrayBuffer.isView(e) && ArrayBuffer.isView(a)) { - if ((s = e.length) != a.length) return !1 - for (u = s; 0 !== u--; ) if (e[u] !== a[u]) return !1 - return !0 - } - if (e.constructor === RegExp) return e.source === a.source && e.flags === a.flags - if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === a.valueOf() - if (e.toString !== Object.prototype.toString) return e.toString() === a.toString() - if ((s = (l = Object.keys(e)).length) !== Object.keys(a).length) return !1 - for (u = s; 0 !== u--; ) if (!Object.prototype.hasOwnProperty.call(a, l[u])) return !1 - if (t && e instanceof Element) return !1 - for (u = s; 0 !== u--; ) - if ( - (('_owner' !== l[u] && '__v' !== l[u] && '__o' !== l[u]) || !e.$$typeof) && - !o(e[l[u]], a[l[u]]) - ) - return !1 - return !0 - } - return e !== e && a !== a - } - e.exports = function (e, t) { - try { - return o(e, t) - } catch (n) { - if ((n.message || '').match(/stack|recursion/i)) - return console.warn('react-fast-compare cannot handle circular refs'), !1 - throw n - } - } - }, - 1957: function (e, n, r) { - 'use strict' - r.d(n, { - f$: function () { - return Bo - }, - s6: function () { - return Ho - }, - }) - var i = r(7294) - function o(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function a(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']) - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - u(e, t) || - (function () { - 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 s(e) { - return ( - (function (e) { - if (Array.isArray(e)) return l(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - u(e) || - (function () { - 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 u(e, t) { - if (e) { - if ('string' === typeof e) return l(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? l(e, t) - : void 0 - ) - } - } - function l(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - var c = function (e, t) { - var n = new Set(t) - return Object.assign.apply( - Object, - [{}].concat( - s( - Object.entries(e) - .filter(function (e) { - var t = a(e, 1)[0] - return !n.has(t) - }) - .map(function (e) { - var t = a(e, 2) - return o({}, t[0], t[1]) - }), - ), - ), - ) - }, - d = r(3405), - f = r.n(d) - function h(e) { - return (h = - 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator - ? function (e) { - return typeof e - } - : function (e) { - return e && - 'function' === typeof Symbol && - e.constructor === Symbol && - e !== Symbol.prototype - ? 'symbol' - : typeof e - })(e) - } - function p(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']) - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - m(e, t) || - (function () { - 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 v(e) { - return ( - (function (e) { - if (Array.isArray(e)) return g(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - m(e) || - (function () { - 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 m(e, t) { - if (e) { - if ('string' === typeof e) return g(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? g(e, t) - : void 0 - ) - } - } - function g(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - var y = function (e, t) { - var n = - 'object' === h(t) - ? t - : { - wrapperElementType: t, - methodNames: (arguments.length <= 2 ? void 0 : arguments[2]) || void 0, - initPropNames: (arguments.length <= 3 ? void 0 : arguments[3]) || void 0, - }, - r = n.wrapperElementType, - o = void 0 === r ? 'div' : r, - a = n.nodeMapper, - s = - void 0 === a - ? function (e) { - return e - } - : a, - u = n.methodNames, - l = void 0 === u ? [] : u, - d = n.initPropNames, - m = void 0 === d ? [] : d - return (0, i.forwardRef)(function (t, n) { - var r = (0, i.useRef)(), - a = p((0, i.useState)({}), 2), - u = a[0], - d = a[1] - ;(0, i.useEffect)(function () { - return d(t) - }) - var h = (0, i.useMemo)(function () { - var n = f()( - m - .filter(function (e) { - return t.hasOwnProperty(e) - }) - .map(function (e) { - return [e, t[e]] - }), - ) - return e(n) - }, []) - ;(0, i.useLayoutEffect)(function () { - h(s(r.current)) - }, []), - (0, i.useEffect)(function () { - return h._destructor instanceof Function ? h._destructor : void 0 - }, []) - var g = (0, i.useCallback)( - function (e) { - for ( - var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; - r < t; - r++ - ) - n[r - 1] = arguments[r] - return h[e] instanceof Function ? h[e].apply(h, n) : void 0 - }, - [h], - ), - y = c(t, [].concat(v(l), v(m))) - return ( - Object.keys(y) - .filter(function (e) { - return u[e] !== t[e] - }) - .forEach(function (e) { - return g(e, t[e]) - }), - (0, i.useImperativeHandle)(n, function () { - return f()( - l.map(function (e) { - return [ - e, - function () { - for (var t = arguments.length, n = new Array(t), r = 0; r < t; r++) - n[r] = arguments[r] - return g.apply(void 0, [e].concat(n)) - }, - ] - }), - ) - }), - i.createElement(o, { ref: r }) - ) - }) - }, - b = (r(5569), r(401), r(1359), r(4858)), - w = r(2539) - function x(e, t) { - var n = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - t && - (r = r.filter(function (t) { - return Object.getOwnPropertyDescriptor(e, t).enumerable - })), - n.push.apply(n, r) - } - return n - } - function E(e) { - for (var t = 1; t < arguments.length; t++) { - var n = null != arguments[t] ? arguments[t] : {} - t % 2 - ? x(Object(n), !0).forEach(function (t) { - k(e, t, n[t]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) - : x(Object(n)).forEach(function (t) { - Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) - }) - } - return e - } - function k(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function T(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = - null == e - ? null - : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'] - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - O(e, t) || - (function () { - 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 _(e) { - return ( - (function (e) { - if (Array.isArray(e)) return C(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - O(e) || - (function () { - 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 O(e, t) { - if (e) { - if ('string' === typeof e) return C(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? C(e, t) - : void 0 - ) - } - } - function C(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - !(function (e, t) { - void 0 === t && (t = {}) - var n = t.insertAt - if (e && 'undefined' !== typeof document) { - var r = document.head || document.getElementsByTagName('head')[0], - i = document.createElement('style') - ;(i.type = 'text/css'), - 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i), - i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e)) - } - })( - '.graph-nav-info {\n position: absolute;\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n font-family: Sans-serif;\n z-index: 1000;\n}', - ) - var S = (0, b.Z)({ - props: { - width: { - default: window.innerWidth, - triggerUpdate: !1, - onChange: function (e, t) { - t.container && (t.container.style.width = e) - }, - }, - height: { - default: window.innerHeight, - triggerUpdate: !1, - onChange: function (e, t) { - t.container && (t.container.style.height = e) - }, - }, - jsonUrl: {}, - graphData: { default: { nodes: [], links: [] } }, - numDimensions: { default: 3 }, - dagMode: {}, - dagLevelDistance: {}, - dagNodeFilter: { - default: function () { - return !0 - }, - }, - onDagError: { default: void 0 }, - backgroundColor: { default: '#002' }, - showNavInfo: { default: !0 }, - nodeRelSize: { default: 4 }, - nodeId: { default: 'id' }, - nodeLabel: { default: 'name' }, - nodeDesc: { default: 'desc' }, - onNodeHover: {}, - onNodeClick: {}, - nodeVal: { default: 'val' }, - nodeResolution: { default: 8 }, - nodeVisibility: { default: !0 }, - nodeColor: { default: 'color' }, - nodeAutoColorBy: {}, - nodeOpacity: { default: 0.75 }, - nodeThreeObject: {}, - nodeThreeObjectExtend: { default: !1 }, - linkSource: { default: 'source' }, - linkTarget: { default: 'target' }, - linkLabel: { default: 'name' }, - linkDesc: { default: 'desc' }, - onLinkHover: {}, - onLinkClick: {}, - linkVisibility: { default: !0 }, - linkColor: { default: 'color' }, - linkAutoColorBy: {}, - linkOpacity: { default: 0.2 }, - linkWidth: { default: 0 }, - linkResolution: { default: 6 }, - linkCurvature: { default: 0 }, - linkCurveRotation: { default: 0 }, - linkMaterial: {}, - linkThreeObject: {}, - linkThreeObjectExtend: { default: !1 }, - linkPositionUpdate: {}, - linkDirectionalArrowLength: { default: 0 }, - linkDirectionalArrowColor: {}, - linkDirectionalArrowRelPos: { default: 0.5 }, - linkDirectionalArrowResolution: { default: 8 }, - linkDirectionalParticles: { default: 0 }, - linkDirectionalParticleSpeed: { default: 0.01 }, - linkDirectionalParticleWidth: { default: 0.5 }, - linkDirectionalParticleColor: {}, - linkDirectionalParticleResolution: { default: 4 }, - forceEngine: { default: 'd3' }, - d3AlphaMin: { default: 0 }, - d3AlphaDecay: { default: 0.0228 }, - d3VelocityDecay: { default: 0.4 }, - ngraphPhysics: {}, - warmupTicks: { default: 0 }, - cooldownTicks: {}, - cooldownTime: { default: 15e3 }, - onEngineTick: {}, - onEngineStop: {}, - }, - methods: E( - E( - {}, - Object.assign.apply( - Object, - [{}].concat( - _( - [ - 'getGraphBbox', - 'emitParticle', - 'd3Force', - 'd3ReheatSimulation', - 'refresh', - ].map(function (e) { - return k({}, e, function (t) { - for ( - var n = t.forcegraph.components.forcegraph, - r = arguments.length, - i = new Array(r > 1 ? r - 1 : 0), - o = 1; - o < r; - o++ - ) - i[o - 1] = arguments[o] - var a = n[e].apply(n, i) - return a === n ? this : a - }) - }), - ), - ), - ), - ), - {}, - { - _destructor: function () { - this.graphData({ nodes: [], links: [] }) - }, - }, - ), - init: function (e, t) { - ;(e.innerHTML = ''), - (t.container = document.createElement('div')), - e.appendChild(t.container), - (t.container.style.position = 'relative'), - (t.container.style.width = t.width), - (t.container.style.height = t.height), - t.container.appendChild((t.navInfo = document.createElement('div'))), - (t.navInfo.className = 'graph-nav-info'), - (t.navInfo.textContent = 'Mouse drag: look, gamepad/arrow/wasd keys: move') - var n, - r, - i, - o, - a, - s = document.createElement('a-scene') - s.setAttribute('embedded', ''), - s.appendChild((t.sky = document.createElement('a-sky'))), - t.sky.setAttribute('radius', 3e3), - s.appendChild((n = document.createElement('a-entity'))), - n.setAttribute('position', '0 0 300'), - n.setAttribute('movement-controls', 'fly: true; speed: 7'), - n.appendChild((r = document.createElement('a-entity'))), - r.setAttribute('camera', ''), - r.setAttribute('position', '0 0 0'), - r.setAttribute('look-controls', 'reverseMouseDrag: false; pointerLockEnabled: false'), - r.appendChild((i = document.createElement('a-text'))), - i.setAttribute('position', '0 -0.3 -1'), - i.setAttribute('width', 2), - i.setAttribute('align', 'center'), - i.setAttribute('color', 'lavender'), - i.setAttribute('value', ''), - r.appendChild((o = document.createElement('a-text'))), - o.setAttribute('position', '0 -0.4 -1'), - o.setAttribute('width', 1.3), - o.setAttribute('align', 'center'), - o.setAttribute('color', 'lavender'), - o.setAttribute('value', ''), - s.appendChild((a = document.createElement('a-entity'))), - a.setAttribute('cursor', 'rayOrigin: mouse; mouseCursorStylesEnabled: true'), - a.setAttribute('raycaster', 'objects: [forcegraph]; interval: 100'), - ['left', 'right'].forEach(function (e) { - var t - n.appendChild((t = document.createElement('a-entity'))), - t.setAttribute('laser-controls', 'hand: '.concat(e)), - t.setAttribute( - 'raycaster', - 'objects: [forcegraph]; interval: 100; lineColor: steelblue; lineOpacity: 0.85', - ) - }), - s.appendChild((t.forcegraph = document.createElement('a-entity'))), - t.forcegraph.setAttribute('forcegraph', null), - t.container.appendChild(s), - t.forcegraph.setAttribute( - 'forcegraph', - Object.assign.apply( - Object, - _( - ['node', 'link'].map(function (e) { - var n = { node: 'Node', link: 'Link' }[e] - return k({}, 'on'.concat(n, 'Hover'), function (r, a) { - var s = (r && (0, w.default)(t[''.concat(e, 'Label')])(r)) || '', - u = (r && (0, w.default)(t[''.concat(e, 'Desc')])(r)) || '' - i.setAttribute('value', s), - o.setAttribute('value', u), - t['on'.concat(n, 'Hover')] && t['on'.concat(n, 'Hover')](r, a) - }) - }), - ), - ), - ) - }, - update: function (e, t) { - t.hasOwnProperty('backgroundColor') && e.sky.setAttribute('color', e.backgroundColor), - t.hasOwnProperty('showNavInfo') && - (e.navInfo.style.display = e.showNavInfo ? null : 'none') - var n = [ - 'jsonUrl', - 'numDimensions', - 'dagMode', - 'dagLevelDistance', - 'dagNodeFilter', - 'onDagError', - 'nodeRelSize', - 'nodeId', - 'onNodeClick', - 'nodeVal', - 'nodeResolution', - 'nodeVisibility', - 'nodeColor', - 'nodeAutoColorBy', - 'nodeOpacity', - 'nodeThreeObject', - 'nodeThreeObjectExtend', - 'linkSource', - 'linkTarget', - 'onLinkClick', - 'linkVisibility', - 'linkColor', - 'linkAutoColorBy', - 'linkOpacity', - 'linkWidth', - 'linkResolution', - 'linkCurvature', - 'linkCurveRotation', - 'linkMaterial', - 'linkThreeObject', - 'linkThreeObjectExtend', - 'linkPositionUpdate', - 'linkDirectionalArrowLength', - 'linkDirectionalArrowColor', - 'linkDirectionalArrowRelPos', - 'linkDirectionalArrowResolution', - 'linkDirectionalParticles', - 'linkDirectionalParticleSpeed', - 'linkDirectionalParticleWidth', - 'linkDirectionalParticleColor', - 'linkDirectionalParticleResolution', - 'forceEngine', - 'd3AlphaMin', - 'd3AlphaDecay', - 'd3VelocityDecay', - 'ngraphPhysics', - 'warmupTicks', - 'cooldownTicks', - 'cooldownTime', - 'onEngineTick', - 'onEngineStop', - ], - r = Object.assign.apply( - Object, - [{}].concat( - _( - Object.entries(e) - .filter(function (e) { - var r = T(e, 2), - i = r[0], - o = r[1] - return ( - t.hasOwnProperty(i) && -1 !== n.indexOf(i) && void 0 !== o && null !== o - ) - }) - .map(function (e) { - var t = T(e, 2) - return k({}, t[0], t[1]) - }), - ), - _( - Object.entries(e.graphData).map(function (e) { - var t = T(e, 2) - return k({}, t[0], t[1]) - }), - ), - ), - ) - e.forcegraph.setAttribute('forcegraph', r) - }, - }), - A = r(5697), - P = r.n(A) - function M(e, t) { - var n = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - t && - (r = r.filter(function (t) { - return Object.getOwnPropertyDescriptor(e, t).enumerable - })), - n.push.apply(n, r) - } - return n - } - function R(e) { - for (var t = 1; t < arguments.length; t++) { - var n = null != arguments[t] ? arguments[t] : {} - t % 2 - ? M(Object(n), !0).forEach(function (t) { - j(e, t, n[t]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) - : M(Object(n)).forEach(function (t) { - Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) - }) - } - return e - } - function j(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function D(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = - null == e - ? null - : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'] - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - N(e, t) || - (function () { - 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 L(e) { - return ( - (function (e) { - if (Array.isArray(e)) return I(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - N(e) || - (function () { - 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 N(e, t) { - if (e) { - if ('string' === typeof e) return I(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? I(e, t) - : void 0 - ) - } - } - function I(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - var z = (0, b.Z)({ - props: { - width: {}, - height: {}, - yOffset: { default: 1.5 }, - glScale: { default: 200 }, - jsonUrl: {}, - graphData: { default: { nodes: [], links: [] } }, - numDimensions: { default: 3 }, - dagMode: {}, - dagLevelDistance: {}, - dagNodeFilter: { - default: function () { - return !0 - }, - }, - onDagError: { default: void 0 }, - nodeRelSize: { default: 4 }, - nodeId: { default: 'id' }, - nodeVal: { default: 'val' }, - nodeResolution: { default: 8 }, - nodeVisibility: { default: !0 }, - nodeColor: { default: 'color' }, - nodeAutoColorBy: {}, - nodeOpacity: { default: 0.75 }, - nodeThreeObject: {}, - nodeThreeObjectExtend: { default: !1 }, - linkSource: { default: 'source' }, - linkTarget: { default: 'target' }, - linkVisibility: { default: !0 }, - linkColor: { default: 'color' }, - linkAutoColorBy: {}, - linkOpacity: { default: 0.2 }, - linkWidth: { default: 0 }, - linkResolution: { default: 6 }, - linkCurvature: { default: 0 }, - linkCurveRotation: { default: 0 }, - linkMaterial: {}, - linkThreeObject: {}, - linkThreeObjectExtend: { default: !1 }, - linkPositionUpdate: {}, - linkDirectionalArrowLength: { default: 0 }, - linkDirectionalArrowColor: {}, - linkDirectionalArrowRelPos: { default: 0.5 }, - linkDirectionalArrowResolution: { default: 8 }, - linkDirectionalParticles: { default: 0 }, - linkDirectionalParticleSpeed: { default: 0.01 }, - linkDirectionalParticleWidth: { default: 0.5 }, - linkDirectionalParticleColor: {}, - linkDirectionalParticleResolution: { default: 4 }, - onNodeHover: {}, - onNodeClick: {}, - onLinkHover: {}, - onLinkClick: {}, - forceEngine: { default: 'd3' }, - d3AlphaMin: { default: 0 }, - d3AlphaDecay: { default: 0.0228 }, - d3VelocityDecay: { default: 0.4 }, - ngraphPhysics: {}, - warmupTicks: { default: 0 }, - cooldownTicks: {}, - cooldownTime: { default: 15e3 }, - onEngineTick: {}, - onEngineStop: {}, - }, - methods: R( - R( - {}, - Object.assign.apply( - Object, - [{}].concat( - L( - [ - 'getGraphBbox', - 'emitParticle', - 'd3Force', - 'd3ReheatSimulation', - 'refresh', - ].map(function (e) { - return j({}, e, function (t) { - for ( - var n = t.forcegraph.components.forcegraph, - r = arguments.length, - i = new Array(r > 1 ? r - 1 : 0), - o = 1; - o < r; - o++ - ) - i[o - 1] = arguments[o] - var a = n[e].apply(n, i) - return a === n ? this : a - }) - }), - ), - ), - ), - ), - {}, - { - _destructor: function () { - this.graphData({ nodes: [], links: [] }) - }, - }, - ), - init: function (e, t) { - var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - r = n.markerAttrs, - i = void 0 === r ? { preset: 'hiro' } : r - ;(e.innerHTML = ''), - (t.container = document.createElement('div')), - e.appendChild(t.container) - var o = document.createElement('a-scene') - o.setAttribute('embedded', ''), o.setAttribute('arjs', 'debugUIEnabled: false;') - var a, - s = document.createElement('a-marker') - Object.entries(i).forEach(function (e) { - var t = D(e, 2), - n = t[0], - r = t[1] - return s.setAttribute(n, r) - }), - o.appendChild(s), - o.appendChild((a = document.createElement('a-entity'))), - a.setAttribute('cursor'), - a.setAttribute('raycaster', 'objects: [forcegraph]'), - (t.forcegraph = document.createElement('a-entity')), - t.forcegraph.setAttribute('forcegraph', null), - s.appendChild(t.forcegraph) - var u = document.createElement('a-entity') - u.setAttribute('camera', ''), o.appendChild(u), t.container.appendChild(o) - }, - update: function (e, t) { - t.hasOwnProperty('width') && e.width && (e.container.style.width = e.width), - t.hasOwnProperty('height') && e.height && (e.container.style.height = e.height), - t.hasOwnProperty('glScale') && - e.forcegraph.setAttribute( - 'scale', - L(new Array(3)) - .map(function () { - return 1 / e.glScale - }) - .join(' '), - ), - t.hasOwnProperty('yOffset') && - e.forcegraph.setAttribute('position', '0 '.concat(e.yOffset, ' 0')) - var n = [ - 'jsonUrl', - 'numDimensions', - 'dagMode', - 'dagLevelDistance', - 'dagNodeFilter', - 'onDagError', - 'nodeRelSize', - 'nodeId', - 'nodeVal', - 'nodeResolution', - 'nodeVisibility', - 'nodeColor', - 'nodeAutoColorBy', - 'nodeOpacity', - 'nodeThreeObject', - 'nodeThreeObjectExtend', - 'linkSource', - 'linkTarget', - 'linkVisibility', - 'linkColor', - 'linkAutoColorBy', - 'linkOpacity', - 'linkWidth', - 'linkResolution', - 'linkCurvature', - 'linkCurveRotation', - 'linkMaterial', - 'linkThreeObject', - 'linkThreeObjectExtend', - 'linkPositionUpdate', - 'linkDirectionalArrowLength', - 'linkDirectionalArrowColor', - 'linkDirectionalArrowRelPos', - 'linkDirectionalArrowResolution', - 'linkDirectionalParticles', - 'linkDirectionalParticleSpeed', - 'linkDirectionalParticleWidth', - 'linkDirectionalParticleColor', - 'linkDirectionalParticleResolution', - 'onNodeHover', - 'onNodeClick', - 'onLinkHover', - 'onLinkClick', - 'forceEngine', - 'd3AlphaMin', - 'd3AlphaDecay', - 'd3VelocityDecay', - 'ngraphPhysics', - 'warmupTicks', - 'cooldownTicks', - 'cooldownTime', - 'onEngineTick', - 'onEngineStop', - ], - r = Object.assign.apply( - Object, - [{}].concat( - L( - Object.entries(e) - .filter(function (e) { - var r = D(e, 2), - i = r[0], - o = r[1] - return ( - t.hasOwnProperty(i) && -1 !== n.indexOf(i) && void 0 !== o && null !== o - ) - }) - .map(function (e) { - var t = D(e, 2) - return j({}, t[0], t[1]) - }), - ), - L( - Object.entries(e.graphData).map(function (e) { - var t = D(e, 2) - return j({}, t[0], t[1]) - }), - ), - ), - ) - e.forcegraph.setAttribute('forcegraph', r) - }, - }), - H = r(2212) - const B = new H.JOQ(), - F = new H.iMs(), - V = new H.FM8(), - U = new H.Pa4(), - G = new H.Pa4(), - q = new H.Pa4(), - W = new H.yGw() - class K extends H.pBf { - constructor(e, t, n) { - super(), (n.style.touchAction = 'none') - let r = null, - i = null - const o = [], - a = this - function s() { - n.addEventListener('pointermove', l), - n.addEventListener('pointerdown', c), - n.addEventListener('pointerup', d), - n.addEventListener('pointerleave', d) - } - function u() { - n.removeEventListener('pointermove', l), - n.removeEventListener('pointerdown', c), - n.removeEventListener('pointerup', d), - n.removeEventListener('pointerleave', d), - (n.style.cursor = '') - } - function l(s) { - if (!1 !== a.enabled) { - if ((f(s), F.setFromCamera(V, t), r)) - return ( - F.ray.intersectPlane(B, G) && r.position.copy(G.sub(U).applyMatrix4(W)), - void a.dispatchEvent({ type: 'drag', object: r }) - ) - if ('mouse' === s.pointerType || 'pen' === s.pointerType) - if ( - ((o.length = 0), - F.setFromCamera(V, t), - F.intersectObjects(e, !0, o), - o.length > 0) - ) { - const e = o[0].object - B.setFromNormalAndCoplanarPoint( - t.getWorldDirection(B.normal), - q.setFromMatrixPosition(e.matrixWorld), - ), - i !== e && - null !== i && - (a.dispatchEvent({ type: 'hoveroff', object: i }), - (n.style.cursor = 'auto'), - (i = null)), - i !== e && - (a.dispatchEvent({ type: 'hoveron', object: e }), - (n.style.cursor = 'pointer'), - (i = e)) - } else - null !== i && - (a.dispatchEvent({ type: 'hoveroff', object: i }), - (n.style.cursor = 'auto'), - (i = null)) - } - } - function c(i) { - !1 !== a.enabled && - (f(i), - (o.length = 0), - F.setFromCamera(V, t), - F.intersectObjects(e, !0, o), - o.length > 0 && - ((r = !0 === a.transformGroup ? e[0] : o[0].object), - B.setFromNormalAndCoplanarPoint( - t.getWorldDirection(B.normal), - q.setFromMatrixPosition(r.matrixWorld), - ), - F.ray.intersectPlane(B, G) && - (W.copy(r.parent.matrixWorld).invert(), - U.copy(G).sub(q.setFromMatrixPosition(r.matrixWorld))), - (n.style.cursor = 'move'), - a.dispatchEvent({ type: 'dragstart', object: r }))) - } - function d() { - !1 !== a.enabled && - (r && (a.dispatchEvent({ type: 'dragend', object: r }), (r = null)), - (n.style.cursor = i ? 'pointer' : 'auto')) - } - function f(e) { - const t = n.getBoundingClientRect() - ;(V.x = ((e.clientX - t.left) / t.width) * 2 - 1), - (V.y = (-(e.clientY - t.top) / t.height) * 2 + 1) - } - s(), - (this.enabled = !0), - (this.transformGroup = !1), - (this.activate = s), - (this.deactivate = u), - (this.dispose = function () { - u() - }), - (this.getObjects = function () { - return e - }) - } - } - var Z = r(1398) - const $ = { type: 'change' }, - X = { type: 'start' }, - Y = { type: 'end' } - class Q extends H.pBf { - constructor(e, t) { - super(), - void 0 === t && - console.warn( - 'THREE.TrackballControls: The second parameter "domElement" is now mandatory.', - ), - t === document && - console.error( - 'THREE.TrackballControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.', - ) - const n = this, - r = -1, - i = 0, - o = 1, - a = 2, - s = 3, - u = 4 - ;(this.object = e), - (this.domElement = t), - (this.domElement.style.touchAction = 'none'), - (this.enabled = !0), - (this.screen = { left: 0, top: 0, width: 0, height: 0 }), - (this.rotateSpeed = 1), - (this.zoomSpeed = 1.2), - (this.panSpeed = 0.3), - (this.noRotate = !1), - (this.noZoom = !1), - (this.noPan = !1), - (this.staticMoving = !1), - (this.dynamicDampingFactor = 0.2), - (this.minDistance = 0), - (this.maxDistance = 1 / 0), - (this.keys = ['KeyA', 'KeyS', 'KeyD']), - (this.mouseButtons = { LEFT: H.RsA.ROTATE, MIDDLE: H.RsA.DOLLY, RIGHT: H.RsA.PAN }), - (this.target = new H.Pa4()) - const l = 1e-6, - c = new H.Pa4() - let d = 1, - f = r, - h = r, - p = 0, - v = 0, - m = 0 - const g = new H.Pa4(), - y = new H.FM8(), - b = new H.FM8(), - w = new H.Pa4(), - x = new H.FM8(), - E = new H.FM8(), - k = new H.FM8(), - T = new H.FM8(), - _ = [], - O = {} - ;(this.target0 = this.target.clone()), - (this.position0 = this.object.position.clone()), - (this.up0 = this.object.up.clone()), - (this.zoom0 = this.object.zoom), - (this.handleResize = function () { - const e = n.domElement.getBoundingClientRect(), - t = n.domElement.ownerDocument.documentElement - ;(n.screen.left = e.left + window.pageXOffset - t.clientLeft), - (n.screen.top = e.top + window.pageYOffset - t.clientTop), - (n.screen.width = e.width), - (n.screen.height = e.height) - }) - const C = (function () { - const e = new H.FM8() - return function (t, r) { - return ( - e.set((t - n.screen.left) / n.screen.width, (r - n.screen.top) / n.screen.height), - e - ) - } - })(), - S = (function () { - const e = new H.FM8() - return function (t, r) { - return ( - e.set( - (t - 0.5 * n.screen.width - n.screen.left) / (0.5 * n.screen.width), - (n.screen.height + 2 * (n.screen.top - r)) / n.screen.width, - ), - e - ) - } - })() - function A(e) { - !1 !== n.enabled && - (0 === _.length && - (n.domElement.ownerDocument.addEventListener('pointermove', P), - n.domElement.ownerDocument.addEventListener('pointerup', M)), - (function (e) { - _.push(e) - })(e), - 'touch' === e.pointerType - ? (function (e) { - switch ((z(e), _.length)) { - case 1: - ;(f = s), b.copy(S(_[0].pageX, _[0].pageY)), y.copy(b) - break - default: - f = u - const e = _[0].pageX - _[1].pageX, - t = _[0].pageY - _[1].pageY - v = p = Math.sqrt(e * e + t * t) - const n = (_[0].pageX + _[1].pageX) / 2, - r = (_[0].pageY + _[1].pageY) / 2 - k.copy(C(n, r)), T.copy(k) - } - n.dispatchEvent(X) - })(e) - : (function (e) { - if (f === r) - switch (e.button) { - case n.mouseButtons.LEFT: - f = i - break - case n.mouseButtons.MIDDLE: - f = o - break - case n.mouseButtons.RIGHT: - f = a - break - default: - f = r - } - const t = h !== r ? h : f - t !== i || n.noRotate - ? t !== o || n.noZoom - ? t !== a || n.noPan || (k.copy(C(e.pageX, e.pageY)), T.copy(k)) - : (x.copy(C(e.pageX, e.pageY)), E.copy(x)) - : (b.copy(S(e.pageX, e.pageY)), y.copy(b)) - n.domElement.ownerDocument.addEventListener('pointermove', P), - n.domElement.ownerDocument.addEventListener('pointerup', M), - n.dispatchEvent(X) - })(e)) - } - function P(e) { - !1 !== n.enabled && - ('touch' === e.pointerType - ? (function (e) { - switch ((z(e), _.length)) { - case 1: - y.copy(b), b.copy(S(e.pageX, e.pageY)) - break - default: - const t = (function (e) { - const t = e.pointerId === _[0].pointerId ? _[1] : _[0] - return O[t.pointerId] - })(e), - n = e.pageX - t.x, - r = e.pageY - t.y - v = Math.sqrt(n * n + r * r) - const i = (e.pageX + t.x) / 2, - o = (e.pageY + t.y) / 2 - T.copy(C(i, o)) - } - })(e) - : (function (e) { - const t = h !== r ? h : f - t !== i || n.noRotate - ? t !== o || n.noZoom - ? t !== a || n.noPan || T.copy(C(e.pageX, e.pageY)) - : E.copy(C(e.pageX, e.pageY)) - : (y.copy(b), b.copy(S(e.pageX, e.pageY))) - })(e)) - } - function M(e) { - !1 !== n.enabled && - ('touch' === e.pointerType - ? (function (e) { - switch (_.length) { - case 0: - f = r - break - case 1: - ;(f = s), b.copy(S(e.pageX, e.pageY)), y.copy(b) - } - n.dispatchEvent(Y) - })(e) - : ((f = r), - n.domElement.ownerDocument.removeEventListener('pointermove', P), - n.domElement.ownerDocument.removeEventListener('pointerup', M), - n.dispatchEvent(Y)), - I(e), - 0 === _.length && - (n.domElement.ownerDocument.removeEventListener('pointermove', P), - n.domElement.ownerDocument.removeEventListener('pointerup', M))) - } - function R(e) { - I(e) - } - function j(e) { - !1 !== n.enabled && - (window.removeEventListener('keydown', j), - h === r && - (e.code !== n.keys[i] || n.noRotate - ? e.code !== n.keys[o] || n.noZoom - ? e.code !== n.keys[a] || n.noPan || (h = a) - : (h = o) - : (h = i))) - } - function D() { - !1 !== n.enabled && ((h = r), window.addEventListener('keydown', j)) - } - function L(e) { - if (!1 !== n.enabled && !0 !== n.noZoom) { - switch ((e.preventDefault(), e.deltaMode)) { - case 2: - x.y -= 0.025 * e.deltaY - break - case 1: - x.y -= 0.01 * e.deltaY - break - default: - x.y -= 25e-5 * e.deltaY - } - n.dispatchEvent(X), n.dispatchEvent(Y) - } - } - function N(e) { - !1 !== n.enabled && e.preventDefault() - } - function I(e) { - delete O[e.pointerId] - for (let t = 0; t < _.length; t++) - if (_[t].pointerId == e.pointerId) return void _.splice(t, 1) - } - function z(e) { - let t = O[e.pointerId] - void 0 === t && ((t = new H.FM8()), (O[e.pointerId] = t)), t.set(e.pageX, e.pageY) - } - ;(this.rotateCamera = (function () { - const e = new H.Pa4(), - t = new H._fP(), - r = new H.Pa4(), - i = new H.Pa4(), - o = new H.Pa4(), - a = new H.Pa4() - return function () { - a.set(b.x - y.x, b.y - y.y, 0) - let s = a.length() - s - ? (g.copy(n.object.position).sub(n.target), - r.copy(g).normalize(), - i.copy(n.object.up).normalize(), - o.crossVectors(i, r).normalize(), - i.setLength(b.y - y.y), - o.setLength(b.x - y.x), - a.copy(i.add(o)), - e.crossVectors(a, g).normalize(), - (s *= n.rotateSpeed), - t.setFromAxisAngle(e, s), - g.applyQuaternion(t), - n.object.up.applyQuaternion(t), - w.copy(e), - (m = s)) - : !n.staticMoving && - m && - ((m *= Math.sqrt(1 - n.dynamicDampingFactor)), - g.copy(n.object.position).sub(n.target), - t.setFromAxisAngle(w, m), - g.applyQuaternion(t), - n.object.up.applyQuaternion(t)), - y.copy(b) - } - })()), - (this.zoomCamera = function () { - let e - f === u - ? ((e = p / v), - (p = v), - n.object.isPerspectiveCamera - ? g.multiplyScalar(e) - : n.object.isOrthographicCamera - ? ((n.object.zoom *= e), n.object.updateProjectionMatrix()) - : console.warn('THREE.TrackballControls: Unsupported camera type')) - : ((e = 1 + (E.y - x.y) * n.zoomSpeed), - 1 !== e && - e > 0 && - (n.object.isPerspectiveCamera - ? g.multiplyScalar(e) - : n.object.isOrthographicCamera - ? ((n.object.zoom /= e), n.object.updateProjectionMatrix()) - : console.warn('THREE.TrackballControls: Unsupported camera type')), - n.staticMoving ? x.copy(E) : (x.y += (E.y - x.y) * this.dynamicDampingFactor)) - }), - (this.panCamera = (function () { - const e = new H.FM8(), - t = new H.Pa4(), - r = new H.Pa4() - return function () { - if ((e.copy(T).sub(k), e.lengthSq())) { - if (n.object.isOrthographicCamera) { - const t = - (n.object.right - n.object.left) / n.object.zoom / n.domElement.clientWidth, - r = - (n.object.top - n.object.bottom) / n.object.zoom / n.domElement.clientWidth - ;(e.x *= t), (e.y *= r) - } - e.multiplyScalar(g.length() * n.panSpeed), - r.copy(g).cross(n.object.up).setLength(e.x), - r.add(t.copy(n.object.up).setLength(e.y)), - n.object.position.add(r), - n.target.add(r), - n.staticMoving - ? k.copy(T) - : k.add(e.subVectors(T, k).multiplyScalar(n.dynamicDampingFactor)) - } - } - })()), - (this.checkDistances = function () { - ;(n.noZoom && n.noPan) || - (g.lengthSq() > n.maxDistance * n.maxDistance && - (n.object.position.addVectors(n.target, g.setLength(n.maxDistance)), x.copy(E)), - g.lengthSq() < n.minDistance * n.minDistance && - (n.object.position.addVectors(n.target, g.setLength(n.minDistance)), x.copy(E))) - }), - (this.update = function () { - g.subVectors(n.object.position, n.target), - n.noRotate || n.rotateCamera(), - n.noZoom || n.zoomCamera(), - n.noPan || n.panCamera(), - n.object.position.addVectors(n.target, g), - n.object.isPerspectiveCamera - ? (n.checkDistances(), - n.object.lookAt(n.target), - c.distanceToSquared(n.object.position) > l && - (n.dispatchEvent($), c.copy(n.object.position))) - : n.object.isOrthographicCamera - ? (n.object.lookAt(n.target), - (c.distanceToSquared(n.object.position) > l || d !== n.object.zoom) && - (n.dispatchEvent($), c.copy(n.object.position), (d = n.object.zoom))) - : console.warn('THREE.TrackballControls: Unsupported camera type') - }), - (this.reset = function () { - ;(f = r), - (h = r), - n.target.copy(n.target0), - n.object.position.copy(n.position0), - n.object.up.copy(n.up0), - (n.object.zoom = n.zoom0), - n.object.updateProjectionMatrix(), - g.subVectors(n.object.position, n.target), - n.object.lookAt(n.target), - n.dispatchEvent($), - c.copy(n.object.position), - (d = n.object.zoom) - }), - (this.dispose = function () { - n.domElement.removeEventListener('contextmenu', N), - n.domElement.removeEventListener('pointerdown', A), - n.domElement.removeEventListener('pointercancel', R), - n.domElement.removeEventListener('wheel', L), - window.removeEventListener('keydown', j), - window.removeEventListener('keyup', D) - }), - this.domElement.addEventListener('contextmenu', N), - this.domElement.addEventListener('pointerdown', A), - this.domElement.addEventListener('pointercancel', R), - this.domElement.addEventListener('wheel', L, { passive: !1 }), - window.addEventListener('keydown', j), - window.addEventListener('keyup', D), - this.handleResize(), - this.update() - } - } - const J = { type: 'change' }, - ee = { type: 'start' }, - te = { type: 'end' } - class ne extends H.pBf { - constructor(e, t) { - super(), - void 0 === t && - console.warn( - 'THREE.OrbitControls: The second parameter "domElement" is now mandatory.', - ), - t === document && - console.error( - 'THREE.OrbitControls: "document" should not be used as the target "domElement". Please use "renderer.domElement" instead.', - ), - (this.object = e), - (this.domElement = t), - (this.domElement.style.touchAction = 'none'), - (this.enabled = !0), - (this.target = new H.Pa4()), - (this.minDistance = 0), - (this.maxDistance = 1 / 0), - (this.minZoom = 0), - (this.maxZoom = 1 / 0), - (this.minPolarAngle = 0), - (this.maxPolarAngle = Math.PI), - (this.minAzimuthAngle = -1 / 0), - (this.maxAzimuthAngle = 1 / 0), - (this.enableDamping = !1), - (this.dampingFactor = 0.05), - (this.enableZoom = !0), - (this.zoomSpeed = 1), - (this.enableRotate = !0), - (this.rotateSpeed = 1), - (this.enablePan = !0), - (this.panSpeed = 1), - (this.screenSpacePanning = !0), - (this.keyPanSpeed = 7), - (this.autoRotate = !1), - (this.autoRotateSpeed = 2), - (this.keys = { - LEFT: 'ArrowLeft', - UP: 'ArrowUp', - RIGHT: 'ArrowRight', - BOTTOM: 'ArrowDown', - }), - (this.mouseButtons = { LEFT: H.RsA.ROTATE, MIDDLE: H.RsA.DOLLY, RIGHT: H.RsA.PAN }), - (this.touches = { ONE: H.QmN.ROTATE, TWO: H.QmN.DOLLY_PAN }), - (this.target0 = this.target.clone()), - (this.position0 = this.object.position.clone()), - (this.zoom0 = this.object.zoom), - (this._domElementKeyEvents = null), - (this.getPolarAngle = function () { - return a.phi - }), - (this.getAzimuthalAngle = function () { - return a.theta - }), - (this.listenToKeyEvents = function (e) { - e.addEventListener('keydown', G), (this._domElementKeyEvents = e) - }), - (this.saveState = function () { - n.target0.copy(n.target), - n.position0.copy(n.object.position), - (n.zoom0 = n.object.zoom) - }), - (this.reset = function () { - n.target.copy(n.target0), - n.object.position.copy(n.position0), - (n.object.zoom = n.zoom0), - n.object.updateProjectionMatrix(), - n.dispatchEvent(J), - n.update(), - (i = r.NONE) - }), - (this.update = (function () { - const t = new H.Pa4(), - d = new H._fP().setFromUnitVectors(e.up, new H.Pa4(0, 1, 0)), - f = d.clone().invert(), - h = new H.Pa4(), - p = new H._fP(), - v = 2 * Math.PI - return function () { - const e = n.object.position - t.copy(e).sub(n.target), - t.applyQuaternion(d), - a.setFromVector3(t), - n.autoRotate && i === r.NONE && k(((2 * Math.PI) / 60 / 60) * n.autoRotateSpeed), - n.enableDamping - ? ((a.theta += s.theta * n.dampingFactor), (a.phi += s.phi * n.dampingFactor)) - : ((a.theta += s.theta), (a.phi += s.phi)) - let m = n.minAzimuthAngle, - g = n.maxAzimuthAngle - return ( - isFinite(m) && - isFinite(g) && - (m < -Math.PI ? (m += v) : m > Math.PI && (m -= v), - g < -Math.PI ? (g += v) : g > Math.PI && (g -= v), - (a.theta = - m <= g - ? Math.max(m, Math.min(g, a.theta)) - : a.theta > (m + g) / 2 - ? Math.max(m, a.theta) - : Math.min(g, a.theta))), - (a.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, a.phi))), - a.makeSafe(), - (a.radius *= u), - (a.radius = Math.max(n.minDistance, Math.min(n.maxDistance, a.radius))), - !0 === n.enableDamping - ? n.target.addScaledVector(l, n.dampingFactor) - : n.target.add(l), - t.setFromSpherical(a), - t.applyQuaternion(f), - e.copy(n.target).add(t), - n.object.lookAt(n.target), - !0 === n.enableDamping - ? ((s.theta *= 1 - n.dampingFactor), - (s.phi *= 1 - n.dampingFactor), - l.multiplyScalar(1 - n.dampingFactor)) - : (s.set(0, 0, 0), l.set(0, 0, 0)), - (u = 1), - !!( - c || - h.distanceToSquared(n.object.position) > o || - 8 * (1 - p.dot(n.object.quaternion)) > o - ) && - (n.dispatchEvent(J), - h.copy(n.object.position), - p.copy(n.object.quaternion), - (c = !1), - !0) - ) - } - })()), - (this.dispose = function () { - n.domElement.removeEventListener('contextmenu', q), - n.domElement.removeEventListener('pointerdown', z), - n.domElement.removeEventListener('pointercancel', V), - n.domElement.removeEventListener('wheel', U), - n.domElement.ownerDocument.removeEventListener('pointermove', B), - n.domElement.ownerDocument.removeEventListener('pointerup', F), - null !== n._domElementKeyEvents && - n._domElementKeyEvents.removeEventListener('keydown', G) - }) - const n = this, - r = { - NONE: -1, - ROTATE: 0, - DOLLY: 1, - PAN: 2, - TOUCH_ROTATE: 3, - TOUCH_PAN: 4, - TOUCH_DOLLY_PAN: 5, - TOUCH_DOLLY_ROTATE: 6, - } - let i = r.NONE - const o = 1e-6, - a = new H.$V(), - s = new H.$V() - let u = 1 - const l = new H.Pa4() - let c = !1 - const d = new H.FM8(), - f = new H.FM8(), - h = new H.FM8(), - p = new H.FM8(), - v = new H.FM8(), - m = new H.FM8(), - g = new H.FM8(), - y = new H.FM8(), - b = new H.FM8(), - w = [], - x = {} - function E() { - return Math.pow(0.95, n.zoomSpeed) - } - function k(e) { - s.theta -= e - } - function T(e) { - s.phi -= e - } - const _ = (function () { - const e = new H.Pa4() - return function (t, n) { - e.setFromMatrixColumn(n, 0), e.multiplyScalar(-t), l.add(e) - } - })(), - O = (function () { - const e = new H.Pa4() - return function (t, r) { - !0 === n.screenSpacePanning - ? e.setFromMatrixColumn(r, 1) - : (e.setFromMatrixColumn(r, 0), e.crossVectors(n.object.up, e)), - e.multiplyScalar(t), - l.add(e) - } - })(), - C = (function () { - const e = new H.Pa4() - return function (t, r) { - const i = n.domElement - if (n.object.isPerspectiveCamera) { - const o = n.object.position - e.copy(o).sub(n.target) - let a = e.length() - ;(a *= Math.tan(((n.object.fov / 2) * Math.PI) / 180)), - _((2 * t * a) / i.clientHeight, n.object.matrix), - O((2 * r * a) / i.clientHeight, n.object.matrix) - } else - n.object.isOrthographicCamera - ? (_( - (t * (n.object.right - n.object.left)) / n.object.zoom / i.clientWidth, - n.object.matrix, - ), - O( - (r * (n.object.top - n.object.bottom)) / n.object.zoom / i.clientHeight, - n.object.matrix, - )) - : (console.warn( - 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.', - ), - (n.enablePan = !1)) - } - })() - function S(e) { - n.object.isPerspectiveCamera - ? (u /= e) - : n.object.isOrthographicCamera - ? ((n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom * e))), - n.object.updateProjectionMatrix(), - (c = !0)) - : (console.warn( - 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.', - ), - (n.enableZoom = !1)) - } - function A(e) { - n.object.isPerspectiveCamera - ? (u *= e) - : n.object.isOrthographicCamera - ? ((n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / e))), - n.object.updateProjectionMatrix(), - (c = !0)) - : (console.warn( - 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.', - ), - (n.enableZoom = !1)) - } - function P(e) { - d.set(e.clientX, e.clientY) - } - function M(e) { - p.set(e.clientX, e.clientY) - } - function R() { - if (1 === w.length) d.set(w[0].pageX, w[0].pageY) - else { - const e = 0.5 * (w[0].pageX + w[1].pageX), - t = 0.5 * (w[0].pageY + w[1].pageY) - d.set(e, t) - } - } - function j() { - if (1 === w.length) p.set(w[0].pageX, w[0].pageY) - else { - const e = 0.5 * (w[0].pageX + w[1].pageX), - t = 0.5 * (w[0].pageY + w[1].pageY) - p.set(e, t) - } - } - function D() { - const e = w[0].pageX - w[1].pageX, - t = w[0].pageY - w[1].pageY, - n = Math.sqrt(e * e + t * t) - g.set(0, n) - } - function L(e) { - if (1 == w.length) f.set(e.pageX, e.pageY) - else { - const t = Z(e), - n = 0.5 * (e.pageX + t.x), - r = 0.5 * (e.pageY + t.y) - f.set(n, r) - } - h.subVectors(f, d).multiplyScalar(n.rotateSpeed) - const t = n.domElement - k((2 * Math.PI * h.x) / t.clientHeight), - T((2 * Math.PI * h.y) / t.clientHeight), - d.copy(f) - } - function N(e) { - if (1 === w.length) v.set(e.pageX, e.pageY) - else { - const t = Z(e), - n = 0.5 * (e.pageX + t.x), - r = 0.5 * (e.pageY + t.y) - v.set(n, r) - } - m.subVectors(v, p).multiplyScalar(n.panSpeed), C(m.x, m.y), p.copy(v) - } - function I(e) { - const t = Z(e), - r = e.pageX - t.x, - i = e.pageY - t.y, - o = Math.sqrt(r * r + i * i) - y.set(0, o), b.set(0, Math.pow(y.y / g.y, n.zoomSpeed)), S(b.y), g.copy(y) - } - function z(e) { - !1 !== n.enabled && - (0 === w.length && - (n.domElement.ownerDocument.addEventListener('pointermove', B), - n.domElement.ownerDocument.addEventListener('pointerup', F)), - (function (e) { - w.push(e) - })(e), - 'touch' === e.pointerType - ? (function (e) { - switch ((K(e), w.length)) { - case 1: - switch (n.touches.ONE) { - case H.QmN.ROTATE: - if (!1 === n.enableRotate) return - R(), (i = r.TOUCH_ROTATE) - break - case H.QmN.PAN: - if (!1 === n.enablePan) return - j(), (i = r.TOUCH_PAN) - break - default: - i = r.NONE - } - break - case 2: - switch (n.touches.TWO) { - case H.QmN.DOLLY_PAN: - if (!1 === n.enableZoom && !1 === n.enablePan) return - n.enableZoom && D(), n.enablePan && j(), (i = r.TOUCH_DOLLY_PAN) - break - case H.QmN.DOLLY_ROTATE: - if (!1 === n.enableZoom && !1 === n.enableRotate) return - n.enableZoom && D(), n.enableRotate && R(), (i = r.TOUCH_DOLLY_ROTATE) - break - default: - i = r.NONE - } - break - default: - i = r.NONE - } - i !== r.NONE && n.dispatchEvent(ee) - })(e) - : (function (e) { - let t - switch (e.button) { - case 0: - t = n.mouseButtons.LEFT - break - case 1: - t = n.mouseButtons.MIDDLE - break - case 2: - t = n.mouseButtons.RIGHT - break - default: - t = -1 - } - switch (t) { - case H.RsA.DOLLY: - if (!1 === n.enableZoom) return - !(function (e) { - g.set(e.clientX, e.clientY) - })(e), - (i = r.DOLLY) - break - case H.RsA.ROTATE: - if (e.ctrlKey || e.metaKey || e.shiftKey) { - if (!1 === n.enablePan) return - M(e), (i = r.PAN) - } else { - if (!1 === n.enableRotate) return - P(e), (i = r.ROTATE) - } - break - case H.RsA.PAN: - if (e.ctrlKey || e.metaKey || e.shiftKey) { - if (!1 === n.enableRotate) return - P(e), (i = r.ROTATE) - } else { - if (!1 === n.enablePan) return - M(e), (i = r.PAN) - } - break - default: - i = r.NONE - } - i !== r.NONE && n.dispatchEvent(ee) - })(e)) - } - function B(e) { - !1 !== n.enabled && - ('touch' === e.pointerType - ? (function (e) { - switch ((K(e), i)) { - case r.TOUCH_ROTATE: - if (!1 === n.enableRotate) return - L(e), n.update() - break - case r.TOUCH_PAN: - if (!1 === n.enablePan) return - N(e), n.update() - break - case r.TOUCH_DOLLY_PAN: - if (!1 === n.enableZoom && !1 === n.enablePan) return - !(function (e) { - n.enableZoom && I(e), n.enablePan && N(e) - })(e), - n.update() - break - case r.TOUCH_DOLLY_ROTATE: - if (!1 === n.enableZoom && !1 === n.enableRotate) return - !(function (e) { - n.enableZoom && I(e), n.enableRotate && L(e) - })(e), - n.update() - break - default: - i = r.NONE - } - })(e) - : (function (e) { - if (!1 === n.enabled) return - switch (i) { - case r.ROTATE: - if (!1 === n.enableRotate) return - !(function (e) { - f.set(e.clientX, e.clientY), - h.subVectors(f, d).multiplyScalar(n.rotateSpeed) - const t = n.domElement - k((2 * Math.PI * h.x) / t.clientHeight), - T((2 * Math.PI * h.y) / t.clientHeight), - d.copy(f), - n.update() - })(e) - break - case r.DOLLY: - if (!1 === n.enableZoom) return - !(function (e) { - y.set(e.clientX, e.clientY), - b.subVectors(y, g), - b.y > 0 ? S(E()) : b.y < 0 && A(E()), - g.copy(y), - n.update() - })(e) - break - case r.PAN: - if (!1 === n.enablePan) return - !(function (e) { - v.set(e.clientX, e.clientY), - m.subVectors(v, p).multiplyScalar(n.panSpeed), - C(m.x, m.y), - p.copy(v), - n.update() - })(e) - } - })(e)) - } - function F(e) { - !1 !== n.enabled && - (e.pointerType, - n.dispatchEvent(te), - (i = r.NONE), - W(e), - 0 === w.length && - (n.domElement.ownerDocument.removeEventListener('pointermove', B), - n.domElement.ownerDocument.removeEventListener('pointerup', F))) - } - function V(e) { - W(e) - } - function U(e) { - !1 === n.enabled || - !1 === n.enableZoom || - (i !== r.NONE && i !== r.ROTATE) || - (e.preventDefault(), - n.dispatchEvent(ee), - (function (e) { - e.deltaY < 0 ? A(E()) : e.deltaY > 0 && S(E()), n.update() - })(e), - n.dispatchEvent(te)) - } - function G(e) { - !1 !== n.enabled && - !1 !== n.enablePan && - (function (e) { - let t = !1 - switch (e.code) { - case n.keys.UP: - C(0, n.keyPanSpeed), (t = !0) - break - case n.keys.BOTTOM: - C(0, -n.keyPanSpeed), (t = !0) - break - case n.keys.LEFT: - C(n.keyPanSpeed, 0), (t = !0) - break - case n.keys.RIGHT: - C(-n.keyPanSpeed, 0), (t = !0) - } - t && (e.preventDefault(), n.update()) - })(e) - } - function q(e) { - !1 !== n.enabled && e.preventDefault() - } - function W(e) { - delete x[e.pointerId] - for (let t = 0; t < w.length; t++) - if (w[t].pointerId == e.pointerId) return void w.splice(t, 1) - } - function K(e) { - let t = x[e.pointerId] - void 0 === t && ((t = new H.FM8()), (x[e.pointerId] = t)), t.set(e.pageX, e.pageY) - } - function Z(e) { - const t = e.pointerId === w[0].pointerId ? w[1] : w[0] - return x[t.pointerId] - } - n.domElement.addEventListener('contextmenu', q), - n.domElement.addEventListener('pointerdown', z), - n.domElement.addEventListener('pointercancel', V), - n.domElement.addEventListener('wheel', U, { passive: !1 }), - this.update() - } - } - const re = { type: 'change' } - class ie extends H.pBf { - constructor(e, t) { - super(), - void 0 === t && - (console.warn( - 'THREE.FlyControls: The second parameter "domElement" is now mandatory.', - ), - (t = document)), - (this.object = e), - (this.domElement = t), - (this.movementSpeed = 1), - (this.rollSpeed = 0.005), - (this.dragToLook = !1), - (this.autoForward = !1) - const n = this, - r = 1e-6, - i = new H._fP(), - o = new H.Pa4() - ;(this.tmpQuaternion = new H._fP()), - (this.mouseStatus = 0), - (this.moveState = { - up: 0, - down: 0, - left: 0, - right: 0, - forward: 0, - back: 0, - pitchUp: 0, - pitchDown: 0, - yawLeft: 0, - yawRight: 0, - rollLeft: 0, - rollRight: 0, - }), - (this.moveVector = new H.Pa4(0, 0, 0)), - (this.rotationVector = new H.Pa4(0, 0, 0)), - (this.keydown = function (e) { - if (!e.altKey) { - switch (e.code) { - case 'ShiftLeft': - case 'ShiftRight': - this.movementSpeedMultiplier = 0.1 - break - case 'KeyW': - this.moveState.forward = 1 - break - case 'KeyS': - this.moveState.back = 1 - break - case 'KeyA': - this.moveState.left = 1 - break - case 'KeyD': - this.moveState.right = 1 - break - case 'KeyR': - this.moveState.up = 1 - break - case 'KeyF': - this.moveState.down = 1 - break - case 'ArrowUp': - this.moveState.pitchUp = 1 - break - case 'ArrowDown': - this.moveState.pitchDown = 1 - break - case 'ArrowLeft': - this.moveState.yawLeft = 1 - break - case 'ArrowRight': - this.moveState.yawRight = 1 - break - case 'KeyQ': - this.moveState.rollLeft = 1 - break - case 'KeyE': - this.moveState.rollRight = 1 - } - this.updateMovementVector(), this.updateRotationVector() - } - }), - (this.keyup = function (e) { - switch (e.code) { - case 'ShiftLeft': - case 'ShiftRight': - this.movementSpeedMultiplier = 1 - break - case 'KeyW': - this.moveState.forward = 0 - break - case 'KeyS': - this.moveState.back = 0 - break - case 'KeyA': - this.moveState.left = 0 - break - case 'KeyD': - this.moveState.right = 0 - break - case 'KeyR': - this.moveState.up = 0 - break - case 'KeyF': - this.moveState.down = 0 - break - case 'ArrowUp': - this.moveState.pitchUp = 0 - break - case 'ArrowDown': - this.moveState.pitchDown = 0 - break - case 'ArrowLeft': - this.moveState.yawLeft = 0 - break - case 'ArrowRight': - this.moveState.yawRight = 0 - break - case 'KeyQ': - this.moveState.rollLeft = 0 - break - case 'KeyE': - this.moveState.rollRight = 0 - } - this.updateMovementVector(), this.updateRotationVector() - }), - (this.mousedown = function (e) { - if (this.dragToLook) this.mouseStatus++ - else { - switch (e.button) { - case 0: - this.moveState.forward = 1 - break - case 2: - this.moveState.back = 1 - } - this.updateMovementVector() - } - }), - (this.mousemove = function (e) { - if (!this.dragToLook || this.mouseStatus > 0) { - const t = this.getContainerDimensions(), - n = t.size[0] / 2, - r = t.size[1] / 2 - ;(this.moveState.yawLeft = -(e.pageX - t.offset[0] - n) / n), - (this.moveState.pitchDown = (e.pageY - t.offset[1] - r) / r), - this.updateRotationVector() - } - }), - (this.mouseup = function (e) { - if (this.dragToLook) - this.mouseStatus--, (this.moveState.yawLeft = this.moveState.pitchDown = 0) - else { - switch (e.button) { - case 0: - this.moveState.forward = 0 - break - case 2: - this.moveState.back = 0 - } - this.updateMovementVector() - } - this.updateRotationVector() - }), - (this.update = function (e) { - const t = e * n.movementSpeed, - a = e * n.rollSpeed - n.object.translateX(n.moveVector.x * t), - n.object.translateY(n.moveVector.y * t), - n.object.translateZ(n.moveVector.z * t), - n.tmpQuaternion - .set(n.rotationVector.x * a, n.rotationVector.y * a, n.rotationVector.z * a, 1) - .normalize(), - n.object.quaternion.multiply(n.tmpQuaternion), - (o.distanceToSquared(n.object.position) > r || - 8 * (1 - i.dot(n.object.quaternion)) > r) && - (n.dispatchEvent(re), i.copy(n.object.quaternion), o.copy(n.object.position)) - }), - (this.updateMovementVector = function () { - const e = this.moveState.forward || (this.autoForward && !this.moveState.back) ? 1 : 0 - ;(this.moveVector.x = -this.moveState.left + this.moveState.right), - (this.moveVector.y = -this.moveState.down + this.moveState.up), - (this.moveVector.z = -e + this.moveState.back) - }), - (this.updateRotationVector = function () { - ;(this.rotationVector.x = -this.moveState.pitchDown + this.moveState.pitchUp), - (this.rotationVector.y = -this.moveState.yawRight + this.moveState.yawLeft), - (this.rotationVector.z = -this.moveState.rollRight + this.moveState.rollLeft) - }), - (this.getContainerDimensions = function () { - return this.domElement != document - ? { - size: [this.domElement.offsetWidth, this.domElement.offsetHeight], - offset: [this.domElement.offsetLeft, this.domElement.offsetTop], - } - : { size: [window.innerWidth, window.innerHeight], offset: [0, 0] } - }), - (this.dispose = function () { - this.domElement.removeEventListener('contextmenu', oe), - this.domElement.removeEventListener('mousedown', s), - this.domElement.removeEventListener('mousemove', a), - this.domElement.removeEventListener('mouseup', u), - window.removeEventListener('keydown', l), - window.removeEventListener('keyup', c) - }) - const a = this.mousemove.bind(this), - s = this.mousedown.bind(this), - u = this.mouseup.bind(this), - l = this.keydown.bind(this), - c = this.keyup.bind(this) - this.domElement.addEventListener('contextmenu', oe), - this.domElement.addEventListener('mousemove', a), - this.domElement.addEventListener('mousedown', s), - this.domElement.addEventListener('mouseup', u), - window.addEventListener('keydown', l), - window.addEventListener('keyup', c), - this.updateMovementVector(), - this.updateRotationVector() - } - } - function oe(e) { - e.preventDefault() - } - var ae = { - uniforms: { tDiffuse: { value: null }, opacity: { value: 1 } }, - vertexShader: - '\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n\n\t\t}', - fragmentShader: - '\n\n\t\tuniform float opacity;\n\n\t\tuniform sampler2D tDiffuse;\n\n\t\tvarying vec2 vUv;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texel = texture2D( tDiffuse, vUv );\n\t\t\tgl_FragColor = opacity * texel;\n\n\t\t}', - } - class se { - constructor() { - ;(this.enabled = !0), (this.needsSwap = !0), (this.clear = !1), (this.renderToScreen = !1) - } - setSize() {} - render() { - console.error('THREE.Pass: .render() must be implemented in derived pass.') - } - } - const ue = new H.iKG(-1, 1, 1, -1, 0, 1), - le = new H.u9r() - le.setAttribute('position', new H.a$l([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), - le.setAttribute('uv', new H.a$l([0, 2, 0, 0, 2, 0], 2)) - class ce { - constructor(e) { - this._mesh = new H.Kj0(le, e) - } - dispose() { - this._mesh.geometry.dispose() - } - render(e) { - e.render(this._mesh, ue) - } - get material() { - return this._mesh.material - } - set material(e) { - this._mesh.material = e - } - } - class de extends se { - constructor(e, t) { - super(), - (this.textureID = void 0 !== t ? t : 'tDiffuse'), - e instanceof H.jyz - ? ((this.uniforms = e.uniforms), (this.material = e)) - : e && - ((this.uniforms = H.rDY.clone(e.uniforms)), - (this.material = new H.jyz({ - defines: Object.assign({}, e.defines), - uniforms: this.uniforms, - vertexShader: e.vertexShader, - fragmentShader: e.fragmentShader, - }))), - (this.fsQuad = new ce(this.material)) - } - render(e, t, n) { - this.uniforms[this.textureID] && (this.uniforms[this.textureID].value = n.texture), - (this.fsQuad.material = this.material), - this.renderToScreen - ? (e.setRenderTarget(null), this.fsQuad.render(e)) - : (e.setRenderTarget(t), - this.clear && e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil), - this.fsQuad.render(e)) - } - } - class fe extends se { - constructor(e, t) { - super(), - (this.scene = e), - (this.camera = t), - (this.clear = !0), - (this.needsSwap = !1), - (this.inverse = !1) - } - render(e, t, n) { - const r = e.getContext(), - i = e.state - let o, a - i.buffers.color.setMask(!1), - i.buffers.depth.setMask(!1), - i.buffers.color.setLocked(!0), - i.buffers.depth.setLocked(!0), - this.inverse ? ((o = 0), (a = 1)) : ((o = 1), (a = 0)), - i.buffers.stencil.setTest(!0), - i.buffers.stencil.setOp(r.REPLACE, r.REPLACE, r.REPLACE), - i.buffers.stencil.setFunc(r.ALWAYS, o, 4294967295), - i.buffers.stencil.setClear(a), - i.buffers.stencil.setLocked(!0), - e.setRenderTarget(n), - this.clear && e.clear(), - e.render(this.scene, this.camera), - e.setRenderTarget(t), - this.clear && e.clear(), - e.render(this.scene, this.camera), - i.buffers.color.setLocked(!1), - i.buffers.depth.setLocked(!1), - i.buffers.stencil.setLocked(!1), - i.buffers.stencil.setFunc(r.EQUAL, 1, 4294967295), - i.buffers.stencil.setOp(r.KEEP, r.KEEP, r.KEEP), - i.buffers.stencil.setLocked(!0) - } - } - class he extends se { - constructor() { - super(), (this.needsSwap = !1) - } - render(e) { - e.state.buffers.stencil.setLocked(!1), e.state.buffers.stencil.setTest(!1) - } - } - class pe { - constructor(e, t) { - if (((this.renderer = e), void 0 === t)) { - const n = { minFilter: H.wem, magFilter: H.wem, format: H.wk1 }, - r = e.getSize(new H.FM8()) - ;(this._pixelRatio = e.getPixelRatio()), - (this._width = r.width), - (this._height = r.height), - ((t = new H.dd2( - this._width * this._pixelRatio, - this._height * this._pixelRatio, - n, - )).texture.name = 'EffectComposer.rt1') - } else (this._pixelRatio = 1), (this._width = t.width), (this._height = t.height) - ;(this.renderTarget1 = t), - (this.renderTarget2 = t.clone()), - (this.renderTarget2.texture.name = 'EffectComposer.rt2'), - (this.writeBuffer = this.renderTarget1), - (this.readBuffer = this.renderTarget2), - (this.renderToScreen = !0), - (this.passes = []), - void 0 === ae && console.error('THREE.EffectComposer relies on CopyShader'), - void 0 === de && console.error('THREE.EffectComposer relies on ShaderPass'), - (this.copyPass = new de(ae)), - (this.clock = new H.SUY()) - } - swapBuffers() { - const e = this.readBuffer - ;(this.readBuffer = this.writeBuffer), (this.writeBuffer = e) - } - addPass(e) { - this.passes.push(e), - e.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio) - } - insertPass(e, t) { - this.passes.splice(t, 0, e), - e.setSize(this._width * this._pixelRatio, this._height * this._pixelRatio) - } - removePass(e) { - const t = this.passes.indexOf(e) - ;-1 !== t && this.passes.splice(t, 1) - } - isLastEnabledPass(e) { - for (let t = e + 1; t < this.passes.length; t++) if (this.passes[t].enabled) return !1 - return !0 - } - render(e) { - void 0 === e && (e = this.clock.getDelta()) - const t = this.renderer.getRenderTarget() - let n = !1 - for (let r = 0, i = this.passes.length; r < i; r++) { - const t = this.passes[r] - if (!1 !== t.enabled) { - if ( - ((t.renderToScreen = this.renderToScreen && this.isLastEnabledPass(r)), - t.render(this.renderer, this.writeBuffer, this.readBuffer, e, n), - t.needsSwap) - ) { - if (n) { - const t = this.renderer.getContext(), - n = this.renderer.state.buffers.stencil - n.setFunc(t.NOTEQUAL, 1, 4294967295), - this.copyPass.render(this.renderer, this.writeBuffer, this.readBuffer, e), - n.setFunc(t.EQUAL, 1, 4294967295) - } - this.swapBuffers() - } - void 0 !== fe && (t instanceof fe ? (n = !0) : t instanceof he && (n = !1)) - } - } - this.renderer.setRenderTarget(t) - } - reset(e) { - if (void 0 === e) { - const t = this.renderer.getSize(new H.FM8()) - ;(this._pixelRatio = this.renderer.getPixelRatio()), - (this._width = t.width), - (this._height = t.height), - (e = this.renderTarget1.clone()).setSize( - this._width * this._pixelRatio, - this._height * this._pixelRatio, - ) - } - this.renderTarget1.dispose(), - this.renderTarget2.dispose(), - (this.renderTarget1 = e), - (this.renderTarget2 = e.clone()), - (this.writeBuffer = this.renderTarget1), - (this.readBuffer = this.renderTarget2) - } - setSize(e, t) { - ;(this._width = e), (this._height = t) - const n = this._width * this._pixelRatio, - r = this._height * this._pixelRatio - this.renderTarget1.setSize(n, r), this.renderTarget2.setSize(n, r) - for (let i = 0; i < this.passes.length; i++) this.passes[i].setSize(n, r) - } - setPixelRatio(e) { - ;(this._pixelRatio = e), this.setSize(this._width, this._height) - } - } - new H.iKG(-1, 1, 1, -1, 0, 1) - const ve = new H.u9r() - ve.setAttribute('position', new H.a$l([-1, 3, 0, -1, -1, 0, 3, -1, 0], 3)), - ve.setAttribute('uv', new H.a$l([0, 2, 0, 0, 2, 0], 2)) - class me extends se { - constructor(e, t, n, r, i) { - super(), - (this.scene = e), - (this.camera = t), - (this.overrideMaterial = n), - (this.clearColor = r), - (this.clearAlpha = void 0 !== i ? i : 0), - (this.clear = !0), - (this.clearDepth = !1), - (this.needsSwap = !1), - (this._oldClearColor = new H.Ilk()) - } - render(e, t, n) { - const r = e.autoClear - let i, o - ;(e.autoClear = !1), - void 0 !== this.overrideMaterial && - ((o = this.scene.overrideMaterial), - (this.scene.overrideMaterial = this.overrideMaterial)), - this.clearColor && - (e.getClearColor(this._oldClearColor), - (i = e.getClearAlpha()), - e.setClearColor(this.clearColor, this.clearAlpha)), - this.clearDepth && e.clearDepth(), - e.setRenderTarget(this.renderToScreen ? null : n), - this.clear && e.clear(e.autoClearColor, e.autoClearDepth, e.autoClearStencil), - e.render(this.scene, this.camera), - this.clearColor && e.setClearColor(this._oldClearColor, i), - void 0 !== this.overrideMaterial && (this.scene.overrideMaterial = o), - (e.autoClear = r) - } - } - function ge() { - return (ge = - Object.assign || - function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = arguments[t] - for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) - } - return e - }).apply(this, arguments) - } - function ye(e, t) { - return (ye = - Object.setPrototypeOf || - function (e, t) { - return (e.__proto__ = t), e - })(e, t) - } - function be(e) { - return (be = Object.setPrototypeOf - ? Object.getPrototypeOf - : function (e) { - return e.__proto__ || Object.getPrototypeOf(e) - })(e) - } - function we() { - if ('undefined' === typeof Reflect || !Reflect.construct) return !1 - if (Reflect.construct.sham) return !1 - if ('function' === typeof Proxy) return !0 - try { - return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0 - } catch (e) { - return !1 - } - } - function xe(e, t, n) { - return (xe = we() - ? Reflect.construct - : function (e, t, n) { - var r = [null] - r.push.apply(r, t) - var i = new (Function.bind.apply(e, r))() - return n && ye(i, n.prototype), i - }).apply(null, arguments) - } - function Ee(e) { - var t = 'function' === typeof Map ? new Map() : void 0 - return (Ee = function (e) { - if (null === e || ((n = e), -1 === Function.toString.call(n).indexOf('[native code]'))) - return e - var n - if ('function' !== typeof e) - throw new TypeError('Super expression must either be null or a function') - if ('undefined' !== typeof t) { - if (t.has(e)) return t.get(e) - t.set(e, r) - } - function r() { - return xe(e, arguments, be(this).constructor) - } - return ( - (r.prototype = Object.create(e.prototype, { - constructor: { value: r, enumerable: !1, writable: !0, configurable: !0 }, - })), - ye(r, e) - ) - })(e) - } - var ke = (function (e) { - var t, n - function r(t) { - return (function (e) { - if (void 0 === e) - throw new ReferenceError("this hasn't been initialised - super() hasn't been called") - return e - })( - e.call( - this, - 'An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#' + - t + - ' for more information.', - ) || this, - ) - } - return ( - (n = e), - ((t = r).prototype = Object.create(n.prototype)), - (t.prototype.constructor = t), - ye(t, n), - r - ) - })(Ee(Error)) - function Te(e) { - return Math.round(255 * e) - } - function _e(e, t, n) { - return Te(e) + ',' + Te(t) + ',' + Te(n) - } - function Oe(e, t, n, r) { - if ((void 0 === r && (r = _e), 0 === t)) return r(n, n, n) - var i = (((e % 360) + 360) % 360) / 60, - o = (1 - Math.abs(2 * n - 1)) * t, - a = o * (1 - Math.abs((i % 2) - 1)), - s = 0, - u = 0, - l = 0 - i >= 0 && i < 1 - ? ((s = o), (u = a)) - : i >= 1 && i < 2 - ? ((s = a), (u = o)) - : i >= 2 && i < 3 - ? ((u = o), (l = a)) - : i >= 3 && i < 4 - ? ((u = a), (l = o)) - : i >= 4 && i < 5 - ? ((s = a), (l = o)) - : i >= 5 && i < 6 && ((s = o), (l = a)) - var c = n - o / 2 - return r(s + c, u + c, l + c) - } - var Ce = { - 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 Se = /^#[a-fA-F0-9]{6}$/, - Ae = /^#[a-fA-F0-9]{8}$/, - Pe = /^#[a-fA-F0-9]{3}$/, - Me = /^#[a-fA-F0-9]{4}$/, - Re = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i, - je = - /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*([-+]?[0-9]*[.]?[0-9]+)\s*\)$/i, - De = - /^hsl\(\s*(\d{0,3}[.]?[0-9]+)\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*,\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i, - Le = - /^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 Ne(e) { - if ('string' !== typeof e) throw new ke(3) - var t = (function (e) { - if ('string' !== typeof e) return e - var t = e.toLowerCase() - return Ce[t] ? '#' + Ce[t] : e - })(e) - if (t.match(Se)) - return { - red: parseInt('' + t[1] + t[2], 16), - green: parseInt('' + t[3] + t[4], 16), - blue: parseInt('' + t[5] + t[6], 16), - } - if (t.match(Ae)) { - var n = parseFloat((parseInt('' + t[7] + t[8], 16) / 255).toFixed(2)) - return { - red: parseInt('' + t[1] + t[2], 16), - green: parseInt('' + t[3] + t[4], 16), - blue: parseInt('' + t[5] + t[6], 16), - alpha: n, - } - } - if (t.match(Pe)) - return { - red: parseInt('' + t[1] + t[1], 16), - green: parseInt('' + t[2] + t[2], 16), - blue: parseInt('' + t[3] + t[3], 16), - } - if (t.match(Me)) { - var r = parseFloat((parseInt('' + t[4] + t[4], 16) / 255).toFixed(2)) - return { - red: parseInt('' + t[1] + t[1], 16), - green: parseInt('' + t[2] + t[2], 16), - blue: parseInt('' + t[3] + t[3], 16), - alpha: r, - } - } - var i = Re.exec(t) - if (i) - return { - red: parseInt('' + i[1], 10), - green: parseInt('' + i[2], 10), - blue: parseInt('' + i[3], 10), - } - var o = je.exec(t.substring(0, 50)) - if (o) - return { - red: parseInt('' + o[1], 10), - green: parseInt('' + o[2], 10), - blue: parseInt('' + o[3], 10), - alpha: parseFloat('' + o[4]), - } - var a = De.exec(t) - if (a) { - var s = - 'rgb(' + - Oe( - parseInt('' + a[1], 10), - parseInt('' + a[2], 10) / 100, - parseInt('' + a[3], 10) / 100, - ) + - ')', - u = Re.exec(s) - if (!u) throw new ke(4, t, s) - return { - red: parseInt('' + u[1], 10), - green: parseInt('' + u[2], 10), - blue: parseInt('' + u[3], 10), - } - } - var l = Le.exec(t.substring(0, 50)) - if (l) { - var c = - 'rgb(' + - Oe( - parseInt('' + l[1], 10), - parseInt('' + l[2], 10) / 100, - parseInt('' + l[3], 10) / 100, - ) + - ')', - d = Re.exec(c) - if (!d) throw new ke(4, t, c) - return { - red: parseInt('' + d[1], 10), - green: parseInt('' + d[2], 10), - blue: parseInt('' + d[3], 10), - alpha: parseFloat('' + l[4]), - } - } - throw new ke(5) - } - var Ie = function (e) { - return 7 === e.length && e[1] === e[2] && e[3] === e[4] && e[5] === e[6] - ? '#' + e[1] + e[3] + e[5] - : e - } - function ze(e) { - var t = e.toString(16) - return 1 === t.length ? '0' + t : t - } - function He(e, t, n) { - if ('number' === typeof e && 'number' === typeof t && 'number' === typeof n) - return Ie('#' + ze(e) + ze(t) + ze(n)) - if ('object' === typeof e && void 0 === t && void 0 === n) - return Ie('#' + ze(e.red) + ze(e.green) + ze(e.blue)) - throw new ke(6) - } - function Be(e, t, n, r) { - if ('string' === typeof e && 'number' === typeof t) { - var i = Ne(e) - return 'rgba(' + i.red + ',' + i.green + ',' + i.blue + ',' + t + ')' - } - if ( - 'number' === typeof e && - 'number' === typeof t && - 'number' === typeof n && - 'number' === typeof r - ) - return r >= 1 ? He(e, t, n) : 'rgba(' + e + ',' + t + ',' + n + ',' + r + ')' - if ('object' === typeof e && void 0 === t && void 0 === n && void 0 === r) - return e.alpha >= 1 - ? He(e.red, e.green, e.blue) - : 'rgba(' + e.red + ',' + e.green + ',' + e.blue + ',' + e.alpha + ')' - throw new ke(7) - } - function Fe(e, t, n) { - return function () { - var r = n.concat(Array.prototype.slice.call(arguments)) - return r.length >= t ? e.apply(this, r) : Fe(e, t, r) - } - } - function Ve(e) { - return Fe(e, e.length, []) - } - function Ue(e, t, n) { - return Math.max(e, Math.min(t, n)) - } - function Ge(e, t) { - if ('transparent' === t) return t - var n = Ne(t) - return Be( - ge({}, n, { - alpha: Ue( - 0, - 1, - (100 * ('number' === typeof n.alpha ? n.alpha : 1) + 100 * parseFloat(e)) / 100, - ), - }), - ) - } - var qe = Ve(Ge) - var We = r(6194) - function Ke(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function Ze(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = - null == e - ? null - : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'] - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - Xe(e, t) || - (function () { - 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 $e(e) { - return ( - (function (e) { - if (Array.isArray(e)) return Ye(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - Xe(e) || - (function () { - 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 Xe(e, t) { - if (e) { - if ('string' === typeof e) return Ye(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? Ye(e, t) - : void 0 - ) - } - } - function Ye(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - !(function (e, t) { - void 0 === t && (t = {}) - var n = t.insertAt - if (e && 'undefined' !== typeof document) { - var r = document.head || document.getElementsByTagName('head')[0], - i = document.createElement('style') - ;(i.type = 'text/css'), - 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i), - i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e)) - } - })( - '.scene-nav-info {\n bottom: 5px;\n width: 100%;\n text-align: center;\n color: slategrey;\n opacity: 0.7;\n font-size: 10px;\n}\n\n.scene-tooltip {\n color: lavender;\n font-size: 15px;\n}\n\n.scene-nav-info, .scene-tooltip {\n position: absolute;\n font-family: sans-serif;\n pointer-events: none;\n}\n\n.scene-container canvas:focus {\n outline: none;\n}', - ) - var Qe = window.THREE - ? window.THREE - : { - WebGLRenderer: H.CP7, - Scene: H.xsS, - PerspectiveCamera: H.cPb, - Raycaster: H.iMs, - TextureLoader: H.dpR, - Vector2: H.FM8, - Vector3: H.Pa4, - Box3: H.ZzF, - Color: H.Ilk, - Mesh: H.Kj0, - SphereGeometry: H.xo$, - MeshBasicMaterial: H.vBJ, - BackSide: H._Li, - EventDispatcher: H.pBf, - MOUSE: H.RsA, - Quaternion: H._fP, - Spherical: H.$V, - Clock: H.SUY, - }, - Je = (0, b.Z)({ - props: { - width: { - default: window.innerWidth, - onChange: function (e, t, n) { - isNaN(e) && (t.width = n) - }, - }, - height: { - default: window.innerHeight, - onChange: function (e, t, n) { - isNaN(e) && (t.height = n) - }, - }, - backgroundColor: { default: '#000011' }, - backgroundImageUrl: {}, - onBackgroundImageLoaded: {}, - showNavInfo: { default: !0 }, - skyRadius: { default: 5e4 }, - objects: { default: [] }, - enablePointerInteraction: { - default: !0, - onChange: function (e, t) { - ;(t.hoverObj = null), t.toolTipElem && (t.toolTipElem.innerHTML = '') - }, - triggerUpdate: !1, - }, - lineHoverPrecision: { default: 1, triggerUpdate: !1 }, - hoverOrderComparator: { - default: function () { - return -1 - }, - triggerUpdate: !1, - }, - hoverFilter: { - default: function () { - return !0 - }, - triggerUpdate: !1, - }, - tooltipContent: { triggerUpdate: !1 }, - hoverDuringDrag: { default: !1, triggerUpdate: !1 }, - clickAfterDrag: { default: !1, triggerUpdate: !1 }, - onHover: { default: function () {}, triggerUpdate: !1 }, - onClick: { default: function () {}, triggerUpdate: !1 }, - onRightClick: { triggerUpdate: !1 }, - }, - methods: { - tick: function (e) { - if (e.initialised) { - if ( - (e.controls.update && e.controls.update(e.clock.getDelta()), - e.postProcessingComposer - ? e.postProcessingComposer.render() - : e.renderer.render(e.scene, e.camera), - e.extraRenderers.forEach(function (t) { - return t.render(e.scene, e.camera) - }), - e.enablePointerInteraction) - ) { - var t = null - if (e.hoverDuringDrag || !e.isPointerDragging) { - var n = this.intersectingObjects(e.pointerPos.x, e.pointerPos.y) - .filter(function (t) { - return e.hoverFilter(t.object) - }) - .sort(function (t, n) { - return e.hoverOrderComparator(t.object, n.object) - }), - r = n.length ? n[0] : null - ;(t = r ? r.object : null), (e.intersectionPoint = r ? r.point : null) - } - t !== e.hoverObj && - (e.onHover(t, e.hoverObj), - (e.toolTipElem.innerHTML = (t && (0, w.default)(e.tooltipContent)(t)) || ''), - (e.hoverObj = t)) - } - We.ZP.update() - } - return this - }, - getPointerPos: function (e) { - var t = e.pointerPos - return { x: t.x, y: t.y } - }, - cameraPosition: function (e, t, n, r) { - var i = e.camera - if (t && e.initialised) { - var o = t, - a = n || { x: 0, y: 0, z: 0 } - if (r) { - var s = Object.assign({}, i.position), - u = d() - new We.ZP.Tween(s) - .to(o, r) - .easing(We.ZP.Easing.Quadratic.Out) - .onUpdate(l) - .start(), - new We.ZP.Tween(u) - .to(a, r / 3) - .easing(We.ZP.Easing.Quadratic.Out) - .onUpdate(c) - .start() - } else l(o), c(a) - return this - } - return Object.assign({}, i.position, { lookAt: d() }) - function l(e) { - var t = e.x, - n = e.y, - r = e.z - void 0 !== t && (i.position.x = t), - void 0 !== n && (i.position.y = n), - void 0 !== r && (i.position.z = r) - } - function c(t) { - e.controls.target = new Qe.Vector3(t.x, t.y, t.z) - } - function d() { - return Object.assign( - new Qe.Vector3(0, 0, -1e3).applyQuaternion(i.quaternion).add(i.position), - ) - } - }, - zoomToFit: function (e) { - for ( - var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, - n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10, - r = arguments.length, - i = new Array(r > 3 ? r - 3 : 0), - o = 3; - o < r; - o++ - ) - i[o - 3] = arguments[o] - return this.fitToBbox(this.getBbox.apply(this, i), t, n) - }, - fitToBbox: function (e, t) { - var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, - r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 10, - i = e.camera - if (t) { - var o = new Qe.Vector3(0, 0, 0), - a = - 2 * - Math.max.apply( - Math, - $e( - Object.entries(t).map(function (e) { - var t = Ze(e, 2), - n = t[0], - r = t[1] - return Math.max.apply( - Math, - $e( - r.map(function (e) { - return Math.abs(o[n] - e) - }), - ), - ) - }), - ), - ), - s = (1 - (2 * r) / e.height) * i.fov, - u = a / Math.atan((s * Math.PI) / 180), - l = u / i.aspect, - c = Math.max(u, l) - if (c > 0) { - var d = o.clone().sub(i.position).normalize().multiplyScalar(-c) - this.cameraPosition(d, o, n) - } - } - return this - }, - getBbox: function (e) { - var t = - arguments.length > 1 && void 0 !== arguments[1] - ? arguments[1] - : function () { - return !0 - }, - n = new Qe.Box3(new Qe.Vector3(0, 0, 0), new Qe.Vector3(0, 0, 0)), - r = e.objects.filter(t) - return r.length - ? (r.forEach(function (e) { - return n.expandByObject(e) - }), - Object.assign.apply( - Object, - $e( - ['x', 'y', 'z'].map(function (e) { - return Ke({}, e, [n.min[e], n.max[e]]) - }), - ), - )) - : null - }, - getScreenCoords: function (e, t, n, r) { - var i = new Qe.Vector3(t, n, r) - return ( - i.project(this.camera()), - { x: ((i.x + 1) * e.width) / 2, y: (-(i.y - 1) * e.height) / 2 } - ) - }, - getSceneCoords: function (e, t, n) { - var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0, - i = new Qe.Vector2((t / e.width) * 2 - 1, (-n / e.height) * 2 + 1), - o = new Qe.Raycaster() - return o.setFromCamera(i, e.camera), Object.assign({}, o.ray.at(r, new Qe.Vector3())) - }, - intersectingObjects: function (e, t, n) { - var r = new Qe.Vector2((t / e.width) * 2 - 1, (-n / e.height) * 2 + 1), - i = new Qe.Raycaster() - return ( - (i.params.Line.threshold = e.lineHoverPrecision), - i.setFromCamera(r, e.camera), - i.intersectObjects(e.objects, !0) - ) - }, - renderer: function (e) { - return e.renderer - }, - scene: function (e) { - return e.scene - }, - camera: function (e) { - return e.camera - }, - postProcessingComposer: function (e) { - return e.postProcessingComposer - }, - controls: function (e) { - return e.controls - }, - tbControls: function (e) { - return e.controls - }, - }, - stateInit: function () { - return { - scene: new Qe.Scene(), - camera: new Qe.PerspectiveCamera(), - clock: new Qe.Clock(), - } - }, - init: function (e, t) { - var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - r = n.controlType, - i = void 0 === r ? 'trackball' : r, - o = n.rendererConfig, - a = void 0 === o ? {} : o, - s = n.extraRenderers, - u = void 0 === s ? [] : s, - l = n.waitForLoadComplete, - c = void 0 === l || l - ;(e.innerHTML = ''), - e.appendChild((t.container = document.createElement('div'))), - (t.container.className = 'scene-container'), - (t.container.style.position = 'relative'), - t.container.appendChild((t.navInfo = document.createElement('div'))), - (t.navInfo.className = 'scene-nav-info'), - (t.navInfo.textContent = - { - orbit: 'Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan', - trackball: 'Left-click: rotate, Mouse-wheel/middle-click: zoom, Right-click: pan', - fly: 'WASD: move, R|F: up | down, Q|E: roll, up|down: pitch, left|right: yaw', - }[i] || ''), - (t.navInfo.style.display = t.showNavInfo ? null : 'none'), - (t.toolTipElem = document.createElement('div')), - t.toolTipElem.classList.add('scene-tooltip'), - t.container.appendChild(t.toolTipElem), - (t.pointerPos = new Qe.Vector2()), - (t.pointerPos.x = -2), - (t.pointerPos.y = -2), - ['pointermove', 'pointerdown'].forEach(function (e) { - return t.container.addEventListener( - e, - function (n) { - if ( - ('pointerdown' === e && (t.isPointerPressed = !0), - !t.isPointerDragging && - 'pointermove' === n.type && - (n.pressure > 0 || t.isPointerPressed) && - ('touch' !== n.pointerType || - void 0 === n.movementX || - [n.movementX, n.movementY].some(function (e) { - return Math.abs(e) > 1 - })) && - (t.isPointerDragging = !0), - t.enablePointerInteraction) - ) { - var r = (function (e) { - var t = e.getBoundingClientRect(), - n = window.pageXOffset || document.documentElement.scrollLeft, - r = window.pageYOffset || document.documentElement.scrollTop - return { top: t.top + r, left: t.left + n } - })(t.container) - ;(t.pointerPos.x = n.pageX - r.left), - (t.pointerPos.y = n.pageY - r.top), - (t.toolTipElem.style.top = ''.concat(t.pointerPos.y, 'px')), - (t.toolTipElem.style.left = ''.concat(t.pointerPos.x, 'px')), - (t.toolTipElem.style.transform = 'translate(-'.concat( - (t.pointerPos.x / t.width) * 100, - '%, 21px)', - )) - } - }, - { passive: !0 }, - ) - }), - t.container.addEventListener( - 'pointerup', - function (e) { - ;(t.isPointerPressed = !1), - (t.isPointerDragging && ((t.isPointerDragging = !1), !t.clickAfterDrag)) || - requestAnimationFrame(function () { - 0 === e.button && t.onClick(t.hoverObj || null, e, t.intersectionPoint), - 2 === e.button && - t.onRightClick && - t.onRightClick(t.hoverObj || null, e, t.intersectionPoint) - }) - }, - { passive: !0, capture: !0 }, - ), - t.container.addEventListener('contextmenu', function (e) { - t.onRightClick && e.preventDefault() - }), - (t.renderer = new Qe.WebGLRenderer(Object.assign({ antialias: !0, alpha: !0 }, a))), - t.renderer.setPixelRatio(Math.min(2, window.devicePixelRatio)), - t.container.appendChild(t.renderer.domElement), - (t.extraRenderers = u), - t.extraRenderers.forEach(function (e) { - ;(e.domElement.style.position = 'absolute'), - (e.domElement.style.top = '0px'), - (e.domElement.style.pointerEvents = 'none'), - t.container.appendChild(e.domElement) - }), - (t.postProcessingComposer = new pe(t.renderer)), - t.postProcessingComposer.addPass(new me(t.scene, t.camera)), - (t.controls = new { trackball: Q, orbit: ne, fly: ie }[i]( - t.camera, - t.renderer.domElement, - )), - 'fly' === i && - ((t.controls.movementSpeed = 300), - (t.controls.rollSpeed = Math.PI / 6), - (t.controls.dragToLook = !0)), - ('trackball' !== i && 'orbit' !== i) || - ((t.controls.minDistance = 0.1), - (t.controls.maxDistance = t.skyRadius), - t.controls.addEventListener('start', function () { - t.controlsEngaged = !0 - }), - t.controls.addEventListener('change', function () { - t.controlsEngaged && (t.controlsDragging = !0) - }), - t.controls.addEventListener('end', function () { - ;(t.controlsEngaged = !1), (t.controlsDragging = !1) - })), - [t.renderer, t.postProcessingComposer] - .concat($e(t.extraRenderers)) - .forEach(function (e) { - return e.setSize(t.width, t.height) - }), - (t.camera.aspect = t.width / t.height), - t.camera.updateProjectionMatrix(), - (t.camera.position.z = 1e3), - t.scene.add((t.skysphere = new Qe.Mesh())), - (t.skysphere.visible = !1), - (t.loadComplete = t.scene.visible = !c), - (window.scene = t.scene) - }, - update: function (e, t) { - if ( - (e.width && - e.height && - (t.hasOwnProperty('width') || t.hasOwnProperty('height')) && - ((e.container.style.width = e.width), - (e.container.style.height = e.height), - [e.renderer, e.postProcessingComposer] - .concat($e(e.extraRenderers)) - .forEach(function (t) { - return t.setSize(e.width, e.height) - }), - (e.camera.aspect = e.width / e.height), - e.camera.updateProjectionMatrix()), - t.hasOwnProperty('skyRadius') && - e.skyRadius && - (e.controls.hasOwnProperty('maxDistance') && - t.skyRadius && - (e.controls.maxDistance = e.skyRadius), - (e.camera.far = 2.5 * e.skyRadius), - e.camera.updateProjectionMatrix(), - (e.skysphere.geometry = new Qe.SphereGeometry(e.skyRadius))), - t.hasOwnProperty('backgroundColor')) - ) { - var n = Ne(e.backgroundColor).alpha - void 0 === n && (n = 1), - e.renderer.setClearColor(new Qe.Color(qe(1, e.backgroundColor)), n) - } - function r() { - e.loadComplete = e.scene.visible = !0 - } - t.hasOwnProperty('backgroundImageUrl') && - (e.backgroundImageUrl - ? new Qe.TextureLoader().load(e.backgroundImageUrl, function (t) { - ;(e.skysphere.material = new Qe.MeshBasicMaterial({ - map: t, - side: Qe.BackSide, - })), - (e.skysphere.visible = !0), - e.onBackgroundImageLoaded && setTimeout(e.onBackgroundImageLoaded), - !e.loadComplete && r() - }) - : ((e.skysphere.visible = !1), - (e.skysphere.material.map = null), - !e.loadComplete && r())), - t.hasOwnProperty('showNavInfo') && - (e.navInfo.style.display = e.showNavInfo ? null : 'none'), - t.hasOwnProperty('objects') && - ((t.objects || []).forEach(function (t) { - return e.scene.remove(t) - }), - e.objects.forEach(function (t) { - return e.scene.add(t) - })) - }, - }) - function et(e, t) { - var n = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - t && - (r = r.filter(function (t) { - return Object.getOwnPropertyDescriptor(e, t).enumerable - })), - n.push.apply(n, r) - } - return n - } - function tt(e) { - for (var t = 1; t < arguments.length; t++) { - var n = null != arguments[t] ? arguments[t] : {} - t % 2 - ? et(Object(n), !0).forEach(function (t) { - nt(e, t, n[t]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) - : et(Object(n)).forEach(function (t) { - Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) - }) - } - return e - } - function nt(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function rt(e) { - return ( - (function (e) { - if (Array.isArray(e)) return it(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - (function (e, t) { - if (!e) return - if ('string' === typeof e) return it(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - 'Object' === n && e.constructor && (n = e.constructor.name) - if ('Map' === n || 'Set' === n) return Array.from(e) - if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return it(e, t) - })(e) || - (function () { - 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 it(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - function ot(e, t) { - var n = new t() - return { - linkProp: function (t) { - return { - default: n[t](), - onChange: function (n, r) { - r[e][t](n) - }, - triggerUpdate: !1, - } - }, - linkMethod: function (t) { - return function (n) { - for ( - var r = n[e], i = arguments.length, o = new Array(i > 1 ? i - 1 : 0), a = 1; - a < i; - a++ - ) - o[a - 1] = arguments[a] - var s = r[t].apply(r, o) - return s === r ? this : s - } - }, - } - } - !(function (e, t) { - void 0 === t && (t = {}) - var n = t.insertAt - if (e && 'undefined' !== typeof document) { - var r = document.head || document.getElementsByTagName('head')[0], - i = document.createElement('style') - ;(i.type = 'text/css'), - 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i), - i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e)) - } - })( - '.graph-info-msg {\n top: 50%;\n width: 100%;\n text-align: center;\n color: lavender;\n opacity: 0.7;\n font-size: 22px;\n position: absolute;\n font-family: Sans-serif;\n}\n\n.scene-container .clickable {\n cursor: pointer;\n}\n\n.scene-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.scene-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}', - ) - var at = window.THREE - ? window.THREE - : { AmbientLight: H.Mig, DirectionalLight: H.Ox3, Vector3: H.Pa4 }, - st = ot('forceGraph', Z.default), - ut = Object.assign.apply( - Object, - rt( - [ - 'jsonUrl', - 'graphData', - 'numDimensions', - 'dagMode', - 'dagLevelDistance', - 'dagNodeFilter', - 'onDagError', - 'nodeRelSize', - 'nodeId', - 'nodeVal', - 'nodeResolution', - 'nodeColor', - 'nodeAutoColorBy', - 'nodeOpacity', - 'nodeVisibility', - 'nodeThreeObject', - 'nodeThreeObjectExtend', - 'linkSource', - 'linkTarget', - 'linkVisibility', - 'linkColor', - 'linkAutoColorBy', - 'linkOpacity', - 'linkWidth', - 'linkResolution', - 'linkCurvature', - 'linkCurveRotation', - 'linkMaterial', - 'linkThreeObject', - 'linkThreeObjectExtend', - 'linkPositionUpdate', - 'linkDirectionalArrowLength', - 'linkDirectionalArrowColor', - 'linkDirectionalArrowRelPos', - 'linkDirectionalArrowResolution', - 'linkDirectionalParticles', - 'linkDirectionalParticleSpeed', - 'linkDirectionalParticleWidth', - 'linkDirectionalParticleColor', - 'linkDirectionalParticleResolution', - 'forceEngine', - 'd3AlphaDecay', - 'd3VelocityDecay', - 'd3AlphaMin', - 'ngraphPhysics', - 'warmupTicks', - 'cooldownTicks', - 'cooldownTime', - 'onEngineTick', - 'onEngineStop', - ].map(function (e) { - return nt({}, e, st.linkProp(e)) - }), - ), - ), - lt = Object.assign.apply( - Object, - rt( - ['refresh', 'getGraphBbox', 'd3Force', 'd3ReheatSimulation', 'emitParticle'].map( - function (e) { - return nt({}, e, st.linkMethod(e)) - }, - ), - ), - ), - ct = ot('renderObjs', Je), - dt = Object.assign.apply( - Object, - rt( - ['width', 'height', 'backgroundColor', 'showNavInfo', 'enablePointerInteraction'].map( - function (e) { - return nt({}, e, ct.linkProp(e)) - }, - ), - ), - ), - ft = Object.assign.apply( - Object, - rt( - ['cameraPosition', 'postProcessingComposer'].map(function (e) { - return nt({}, e, ct.linkMethod(e)) - }), - ).concat([ - { - graph2ScreenCoords: ct.linkMethod('getScreenCoords'), - screen2GraphCoords: ct.linkMethod('getSceneCoords'), - }, - ]), - ) - function ht(e) { - for (var t = e; t && !t.hasOwnProperty('__graphObjType'); ) t = t.parent - return t - } - var pt = (0, b.Z)({ - props: tt( - tt( - { - nodeLabel: { default: 'name', triggerUpdate: !1 }, - linkLabel: { default: 'name', triggerUpdate: !1 }, - linkHoverPrecision: { - default: 1, - onChange: function (e, t) { - return t.renderObjs.lineHoverPrecision(e) - }, - triggerUpdate: !1, - }, - enableNavigationControls: { - default: !0, - onChange: function (e, t) { - var n = t.renderObjs.controls() - n && (n.enabled = e) - }, - triggerUpdate: !1, - }, - enableNodeDrag: { default: !0, triggerUpdate: !1 }, - onNodeDrag: { default: function () {}, triggerUpdate: !1 }, - onNodeDragEnd: { default: function () {}, triggerUpdate: !1 }, - onNodeClick: { triggerUpdate: !1 }, - onNodeRightClick: { triggerUpdate: !1 }, - onNodeHover: { triggerUpdate: !1 }, - onLinkClick: { triggerUpdate: !1 }, - onLinkRightClick: { triggerUpdate: !1 }, - onLinkHover: { triggerUpdate: !1 }, - onBackgroundClick: { triggerUpdate: !1 }, - onBackgroundRightClick: { triggerUpdate: !1 }, - }, - ut, - ), - dt, - ), - methods: tt( - tt( - { - zoomToFit: function (e, t, n) { - for ( - var r, i = arguments.length, o = new Array(i > 3 ? i - 3 : 0), a = 3; - a < i; - a++ - ) - o[a - 3] = arguments[a] - return ( - e.renderObjs.fitToBbox((r = e.forceGraph).getGraphBbox.apply(r, o), t, n), this - ) - }, - pauseAnimation: function (e) { - return ( - null !== e.animationFrameRequestId && - (cancelAnimationFrame(e.animationFrameRequestId), - (e.animationFrameRequestId = null)), - this - ) - }, - resumeAnimation: function (e) { - return null === e.animationFrameRequestId && this._animationCycle(), this - }, - _animationCycle: function (e) { - e.enablePointerInteraction && (this.renderer().domElement.style.cursor = null), - e.forceGraph.tickFrame(), - e.renderObjs.tick(), - (e.animationFrameRequestId = requestAnimationFrame(this._animationCycle)) - }, - scene: function (e) { - return e.renderObjs.scene() - }, - camera: function (e) { - return e.renderObjs.camera() - }, - renderer: function (e) { - return e.renderObjs.renderer() - }, - controls: function (e) { - return e.renderObjs.controls() - }, - tbControls: function (e) { - return e.renderObjs.tbControls() - }, - _destructor: function () { - this.pauseAnimation(), this.graphData({ nodes: [], links: [] }) - }, - }, - lt, - ), - ft, - ), - stateInit: function (e) { - var t = e.controlType, - n = e.rendererConfig, - r = e.extraRenderers - return { - forceGraph: new Z.default(), - renderObjs: Je({ controlType: t, rendererConfig: n, extraRenderers: r }), - } - }, - init: function (e, t) { - ;(e.innerHTML = ''), - e.appendChild((t.container = document.createElement('div'))), - (t.container.style.position = 'relative') - var n = document.createElement('div') - t.container.appendChild(n), t.renderObjs(n) - var r, - i = t.renderObjs.camera(), - o = t.renderObjs.renderer(), - a = t.renderObjs.controls() - ;(a.enabled = !!t.enableNavigationControls), - (t.lastSetCameraZ = i.position.z), - t.container.appendChild((r = document.createElement('div'))), - (r.className = 'graph-info-msg'), - (r.textContent = ''), - t.forceGraph - .onLoading(function () { - r.textContent = 'Loading...' - }) - .onFinishLoading(function () { - r.textContent = '' - }) - .onUpdate(function () { - ;(t.graphData = t.forceGraph.graphData()), - 0 === i.position.x && - 0 === i.position.y && - i.position.z === t.lastSetCameraZ && - t.graphData.nodes.length && - (i.lookAt(t.forceGraph.position), - (t.lastSetCameraZ = i.position.z = 170 * Math.cbrt(t.graphData.nodes.length))) - }) - .onFinishUpdate(function () { - if (t._dragControls) { - var e = t.graphData.nodes.find(function (e) { - return e.__initialFixedPos && !e.__disposeControlsAfterDrag - }) - e ? (e.__disposeControlsAfterDrag = !0) : t._dragControls.dispose(), - (t._dragControls = void 0) - } - if (t.enableNodeDrag && t.enablePointerInteraction && 'd3' === t.forceEngine) { - var n = (t._dragControls = new K( - t.graphData.nodes - .map(function (e) { - return e.__threeObj - }) - .filter(function (e) { - return e - }), - i, - o.domElement, - )) - n.addEventListener('dragstart', function (e) { - ;(a.enabled = !1), - (e.object.__initialPos = e.object.position.clone()), - (e.object.__prevPos = e.object.position.clone()) - var t = ht(e.object).__data - !t.__initialFixedPos && - (t.__initialFixedPos = { fx: t.fx, fy: t.fy, fz: t.fz }), - !t.__initialPos && (t.__initialPos = { x: t.x, y: t.y, z: t.z }), - ['x', 'y', 'z'].forEach(function (e) { - return (t['f'.concat(e)] = t[e]) - }), - o.domElement.classList.add('grabbable') - }), - n.addEventListener('drag', function (e) { - var n = ht(e.object) - if (!e.object.hasOwnProperty('__graphObjType')) { - var r = e.object.__initialPos, - i = e.object.__prevPos, - o = e.object.position - n.position.add(o.clone().sub(i)), i.copy(o), o.copy(r) - } - var a = n.__data, - s = n.position, - u = { x: s.x - a.x, y: s.y - a.y, z: s.z - a.z } - ;['x', 'y', 'z'].forEach(function (e) { - return (a['f'.concat(e)] = a[e] = s[e]) - }), - t.forceGraph.d3AlphaTarget(0.3).resetCountdown(), - (a.__dragged = !0), - t.onNodeDrag(a, u) - }), - n.addEventListener('dragend', function (e) { - delete e.object.__initialPos, delete e.object.__prevPos - var r = ht(e.object).__data - r.__disposeControlsAfterDrag && - (n.dispose(), delete r.__disposeControlsAfterDrag) - var i = r.__initialFixedPos, - s = r.__initialPos, - u = { x: s.x - r.x, y: s.y - r.y, z: s.z - r.z } - i && - (['x', 'y', 'z'].forEach(function (e) { - var t = 'f'.concat(e) - void 0 === i[t] && delete r[t] - }), - delete r.__initialFixedPos, - delete r.__initialPos, - r.__dragged && (delete r.__dragged, t.onNodeDragEnd(r, u))), - t.forceGraph.d3AlphaTarget(0).resetCountdown(), - t.enableNavigationControls && - ((a.enabled = !0), - a.domElement && - a.domElement.ownerDocument && - a.domElement.ownerDocument.dispatchEvent( - new PointerEvent('pointerup', { pointerType: 'touch' }), - )), - o.domElement.classList.remove('grabbable') - }) - } - }), - t.renderObjs - .objects([ - new at.AmbientLight(12303291), - new at.DirectionalLight(16777215, 0.6), - t.forceGraph, - ]) - .hoverOrderComparator(function (e, t) { - var n = ht(e) - if (!n) return 1 - var r = ht(t) - if (!r) return -1 - var i = function (e) { - return 'node' === e.__graphObjType - } - return i(r) - i(n) - }) - .tooltipContent(function (e) { - var n = ht(e) - return ( - (n && (0, w.default)(t[''.concat(n.__graphObjType, 'Label')])(n.__data)) || '' - ) - }) - .hoverDuringDrag(!1) - .onHover(function (e) { - var n = ht(e) - if (n !== t.hoverObj) { - var r = t.hoverObj ? t.hoverObj.__graphObjType : null, - i = t.hoverObj ? t.hoverObj.__data : null, - a = n ? n.__graphObjType : null, - s = n ? n.__data : null - if (r && r !== a) { - var u = t['on'.concat('node' === r ? 'Node' : 'Link', 'Hover')] - u && u(null, i) - } - if (a) { - var l = t['on'.concat('node' === a ? 'Node' : 'Link', 'Hover')] - l && l(s, r === a ? i : null) - } - o.domElement.classList[ - (n && t['on'.concat('node' === a ? 'Node' : 'Link', 'Click')]) || - (!n && t.onBackgroundClick) - ? 'add' - : 'remove' - ]('clickable'), - (t.hoverObj = n) - } - }) - .clickAfterDrag(!1) - .onClick(function (e, n) { - var r = ht(e) - if (r) { - var i = t['on'.concat('node' === r.__graphObjType ? 'Node' : 'Link', 'Click')] - i && i(r.__data, n) - } else t.onBackgroundClick && t.onBackgroundClick(n) - }) - .onRightClick(function (e, n) { - var r = ht(e) - if (r) { - var i = - t['on'.concat('node' === r.__graphObjType ? 'Node' : 'Link', 'RightClick')] - i && i(r.__data, n) - } else t.onBackgroundRightClick && t.onBackgroundRightClick(n) - }), - this._animationCycle() - }, - }), - vt = r(6156) - function mt() {} - function gt(e) { - return null == e - ? mt - : function () { - return this.querySelector(e) - } - } - function yt(e) { - return null == e ? [] : Array.isArray(e) ? e : Array.from(e) - } - function bt() { - return [] - } - function wt(e) { - return null == e - ? bt - : function () { - return this.querySelectorAll(e) - } - } - function xt(e) { - return function () { - return this.matches(e) - } - } - function Et(e) { - return function (t) { - return t.matches(e) - } - } - var kt = Array.prototype.find - function Tt() { - return this.firstElementChild - } - var _t = Array.prototype.filter - function Ot() { - return Array.from(this.children) - } - function Ct(e) { - return new Array(e.length) - } - function St(e, t) { - ;(this.ownerDocument = e.ownerDocument), - (this.namespaceURI = e.namespaceURI), - (this._next = null), - (this._parent = e), - (this.__data__ = t) - } - function At(e) { - return function () { - return e - } - } - function Pt(e, t, n, r, i, o) { - for (var a, s = 0, u = t.length, l = o.length; s < l; ++s) - (a = t[s]) ? ((a.__data__ = o[s]), (r[s] = a)) : (n[s] = new St(e, o[s])) - for (; s < u; ++s) (a = t[s]) && (i[s] = a) - } - function Mt(e, t, n, r, i, o, a) { - var s, - u, - l, - c = new Map(), - d = t.length, - f = o.length, - h = new Array(d) - for (s = 0; s < d; ++s) - (u = t[s]) && - ((h[s] = l = a.call(u, u.__data__, s, t) + ''), c.has(l) ? (i[s] = u) : c.set(l, u)) - for (s = 0; s < f; ++s) - (l = a.call(e, o[s], s, o) + ''), - (u = c.get(l)) - ? ((r[s] = u), (u.__data__ = o[s]), c.delete(l)) - : (n[s] = new St(e, o[s])) - for (s = 0; s < d; ++s) (u = t[s]) && c.get(h[s]) === u && (i[s] = u) - } - function Rt(e) { - return e.__data__ - } - function jt(e) { - return 'object' === typeof e && 'length' in e ? e : Array.from(e) - } - function Dt(e, t) { - return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN - } - function Lt(e, t) { - var n - if ('undefined' === typeof Symbol || null == e[Symbol.iterator]) { - if ( - Array.isArray(e) || - (n = (function (e, t) { - if (!e) return - if ('string' === typeof e) return Nt(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - 'Object' === n && e.constructor && (n = e.constructor.name) - if ('Map' === n || 'Set' === n) return Array.from(e) - if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return Nt(e, t) - })(e)) || - (t && e && 'number' === typeof e.length) - ) { - n && (e = n) - var r = 0, - i = function () {} - return { - s: i, - n: function () { - return r >= e.length ? { done: !0 } : { done: !1, value: e[r++] } - }, - e: function (e) { - throw e - }, - f: i, - } - } - throw new TypeError( - 'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.', - ) - } - var o, - a = !0, - s = !1 - return { - s: function () { - n = e[Symbol.iterator]() - }, - n: function () { - var e = n.next() - return (a = e.done), e - }, - e: function (e) { - ;(s = !0), (o = e) - }, - f: function () { - try { - a || null == n.return || n.return() - } finally { - if (s) throw o - } - }, - } - } - function Nt(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - St.prototype = { - constructor: St, - appendChild: function (e) { - return this._parent.insertBefore(e, this._next) - }, - insertBefore: function (e, t) { - return this._parent.insertBefore(e, t) - }, - querySelector: function (e) { - return this._parent.querySelector(e) - }, - querySelectorAll: function (e) { - return this._parent.querySelectorAll(e) - }, - } - var It = 'http://www.w3.org/1999/xhtml', - zt = { - svg: 'http://www.w3.org/2000/svg', - xhtml: It, - xlink: 'http://www.w3.org/1999/xlink', - xml: 'http://www.w3.org/XML/1998/namespace', - xmlns: 'http://www.w3.org/2000/xmlns/', - } - function Ht(e) { - var t = (e += ''), - n = t.indexOf(':') - return ( - n >= 0 && 'xmlns' !== (t = e.slice(0, n)) && (e = e.slice(n + 1)), - zt.hasOwnProperty(t) ? { space: zt[t], local: e } : e - ) - } - function Bt(e) { - return function () { - this.removeAttribute(e) - } - } - function Ft(e) { - return function () { - this.removeAttributeNS(e.space, e.local) - } - } - function Vt(e, t) { - return function () { - this.setAttribute(e, t) - } - } - function Ut(e, t) { - return function () { - this.setAttributeNS(e.space, e.local, t) - } - } - function Gt(e, t) { - return function () { - var n = t.apply(this, arguments) - null == n ? this.removeAttribute(e) : this.setAttribute(e, n) - } - } - function qt(e, t) { - return function () { - var n = t.apply(this, arguments) - null == n - ? this.removeAttributeNS(e.space, e.local) - : this.setAttributeNS(e.space, e.local, n) - } - } - function Wt(e) { - return ( - (e.ownerDocument && e.ownerDocument.defaultView) || (e.document && e) || e.defaultView - ) - } - function Kt(e) { - return function () { - this.style.removeProperty(e) - } - } - function Zt(e, t, n) { - return function () { - this.style.setProperty(e, t, n) - } - } - function $t(e, t, n) { - return function () { - var r = t.apply(this, arguments) - null == r ? this.style.removeProperty(e) : this.style.setProperty(e, r, n) - } - } - function Xt(e, t) { - return e.style.getPropertyValue(t) || Wt(e).getComputedStyle(e, null).getPropertyValue(t) - } - function Yt(e) { - return function () { - delete this[e] - } - } - function Qt(e, t) { - return function () { - this[e] = t - } - } - function Jt(e, t) { - return function () { - var n = t.apply(this, arguments) - null == n ? delete this[e] : (this[e] = n) - } - } - function en(e) { - return e.trim().split(/^|\s+/) - } - function tn(e) { - return e.classList || new nn(e) - } - function nn(e) { - ;(this._node = e), (this._names = en(e.getAttribute('class') || '')) - } - function rn(e, t) { - for (var n = tn(e), r = -1, i = t.length; ++r < i; ) n.add(t[r]) - } - function on(e, t) { - for (var n = tn(e), r = -1, i = t.length; ++r < i; ) n.remove(t[r]) - } - function an(e) { - return function () { - rn(this, e) - } - } - function sn(e) { - return function () { - on(this, e) - } - } - function un(e, t) { - return function () { - ;(t.apply(this, arguments) ? rn : on)(this, e) - } - } - function ln() { - this.textContent = '' - } - function cn(e) { - return function () { - this.textContent = e - } - } - function dn(e) { - return function () { - var t = e.apply(this, arguments) - this.textContent = null == t ? '' : t - } - } - function fn() { - this.innerHTML = '' - } - function hn(e) { - return function () { - this.innerHTML = e - } - } - function pn(e) { - return function () { - var t = e.apply(this, arguments) - this.innerHTML = null == t ? '' : t - } - } - function vn() { - this.nextSibling && this.parentNode.appendChild(this) - } - function mn() { - this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild) - } - function gn(e) { - return function () { - var t = this.ownerDocument, - n = this.namespaceURI - return n === It && t.documentElement.namespaceURI === It - ? t.createElement(e) - : t.createElementNS(n, e) - } - } - function yn(e) { - return function () { - return this.ownerDocument.createElementNS(e.space, e.local) - } - } - function bn(e) { - var t = Ht(e) - return (t.local ? yn : gn)(t) - } - function wn() { - return null - } - function xn() { - var e = this.parentNode - e && e.removeChild(this) - } - function En() { - var e = this.cloneNode(!1), - t = this.parentNode - return t ? t.insertBefore(e, this.nextSibling) : e - } - function kn() { - var e = this.cloneNode(!0), - t = this.parentNode - return t ? t.insertBefore(e, this.nextSibling) : e - } - function Tn(e) { - return e - .trim() - .split(/^|\s+/) - .map(function (e) { - var t = '', - n = e.indexOf('.') - return n >= 0 && ((t = e.slice(n + 1)), (e = e.slice(0, n))), { type: e, name: t } - }) - } - function _n(e) { - return function () { - var t = this.__on - if (t) { - for (var n, r = 0, i = -1, o = t.length; r < o; ++r) - (n = t[r]), - (e.type && n.type !== e.type) || n.name !== e.name - ? (t[++i] = n) - : this.removeEventListener(n.type, n.listener, n.options) - ++i ? (t.length = i) : delete this.__on - } - } - } - function On(e, t, n) { - return function () { - var r, - i = this.__on, - o = (function (e) { - return function (t) { - e.call(this, t, this.__data__) - } - })(t) - if (i) - for (var a = 0, s = i.length; a < s; ++a) - if ((r = i[a]).type === e.type && r.name === e.name) - return ( - this.removeEventListener(r.type, r.listener, r.options), - this.addEventListener(r.type, (r.listener = o), (r.options = n)), - void (r.value = t) - ) - this.addEventListener(e.type, o, n), - (r = { type: e.type, name: e.name, value: t, listener: o, options: n }), - i ? i.push(r) : (this.__on = [r]) - } - } - function Cn(e, t, n) { - var r = Wt(e), - i = r.CustomEvent - 'function' === typeof i - ? (i = new i(t, n)) - : ((i = r.document.createEvent('Event')), - n - ? (i.initEvent(t, n.bubbles, n.cancelable), (i.detail = n.detail)) - : i.initEvent(t, !1, !1)), - e.dispatchEvent(i) - } - function Sn(e, t) { - return function () { - return Cn(this, e, t) - } - } - function An(e, t) { - return function () { - return Cn(this, e, t.apply(this, arguments)) - } - } - nn.prototype = { - add: function (e) { - this._names.indexOf(e) < 0 && - (this._names.push(e), this._node.setAttribute('class', this._names.join(' '))) - }, - remove: function (e) { - var t = this._names.indexOf(e) - t >= 0 && - (this._names.splice(t, 1), this._node.setAttribute('class', this._names.join(' '))) - }, - contains: function (e) { - return this._names.indexOf(e) >= 0 - }, - } - var Pn = r(7757), - Mn = r.n(Pn), - Rn = Mn().mark(jn) - function jn() { - var e, t, n, r, i, o, a - return Mn().wrap( - function (s) { - for (;;) - switch ((s.prev = s.next)) { - case 0: - ;(e = this._groups), (t = 0), (n = e.length) - case 1: - if (!(t < n)) { - s.next = 13 - break - } - ;(r = e[t]), (i = 0), (o = r.length) - case 3: - if (!(i < o)) { - s.next = 10 - break - } - if (!(a = r[i])) { - s.next = 7 - break - } - return (s.next = 7), a - case 7: - ++i, (s.next = 3) - break - case 10: - ++t, (s.next = 1) - break - case 13: - case 'end': - return s.stop() - } - }, - Rn, - this, - ) - } - var Dn = [null] - function Ln(e, t) { - ;(this._groups = e), (this._parents = t) - } - function Nn() { - return new Ln([[document.documentElement]], Dn) - } - Ln.prototype = Nn.prototype = (0, vt.Z)( - { - constructor: Ln, - select: function (e) { - 'function' !== typeof e && (e = gt(e)) - for (var t = this._groups, n = t.length, r = new Array(n), i = 0; i < n; ++i) - for (var o, a, s = t[i], u = s.length, l = (r[i] = new Array(u)), c = 0; c < u; ++c) - (o = s[c]) && - (a = e.call(o, o.__data__, c, s)) && - ('__data__' in o && (a.__data__ = o.__data__), (l[c] = a)) - return new Ln(r, this._parents) - }, - selectAll: function (e) { - e = - 'function' === typeof e - ? (function (e) { - return function () { - return yt(e.apply(this, arguments)) - } - })(e) - : wt(e) - for (var t = this._groups, n = t.length, r = [], i = [], o = 0; o < n; ++o) - for (var a, s = t[o], u = s.length, l = 0; l < u; ++l) - (a = s[l]) && (r.push(e.call(a, a.__data__, l, s)), i.push(a)) - return new Ln(r, i) - }, - selectChild: function (e) { - return this.select( - null == e - ? Tt - : (function (e) { - return function () { - return kt.call(this.children, e) - } - })('function' === typeof e ? e : Et(e)), - ) - }, - selectChildren: function (e) { - return this.selectAll( - null == e - ? Ot - : (function (e) { - return function () { - return _t.call(this.children, e) - } - })('function' === typeof e ? e : Et(e)), - ) - }, - filter: function (e) { - 'function' !== typeof e && (e = xt(e)) - for (var t = this._groups, n = t.length, r = new Array(n), i = 0; i < n; ++i) - for (var o, a = t[i], s = a.length, u = (r[i] = []), l = 0; l < s; ++l) - (o = a[l]) && e.call(o, o.__data__, l, a) && u.push(o) - return new Ln(r, this._parents) - }, - data: function (e, t) { - if (!arguments.length) return Array.from(this, Rt) - var n = t ? Mt : Pt, - r = this._parents, - i = this._groups - 'function' !== typeof e && (e = At(e)) - for ( - var o = i.length, a = new Array(o), s = new Array(o), u = new Array(o), l = 0; - l < o; - ++l - ) { - var c = r[l], - d = i[l], - f = d.length, - h = jt(e.call(c, c && c.__data__, l, r)), - p = h.length, - v = (s[l] = new Array(p)), - m = (a[l] = new Array(p)), - g = (u[l] = new Array(f)) - n(c, d, v, m, g, h, t) - for (var y, b, w = 0, x = 0; w < p; ++w) - if ((y = v[w])) { - for (w >= x && (x = w + 1); !(b = m[x]) && ++x < p; ); - y._next = b || null - } - } - return ((a = new Ln(a, r))._enter = s), (a._exit = u), a - }, - enter: function () { - return new Ln(this._enter || this._groups.map(Ct), this._parents) - }, - exit: function () { - return new Ln(this._exit || this._groups.map(Ct), this._parents) - }, - join: function (e, t, n) { - var r = this.enter(), - i = this, - o = this.exit() - return ( - 'function' === typeof e ? (r = e(r)) && (r = r.selection()) : (r = r.append(e + '')), - null != t && (i = t(i)) && (i = i.selection()), - null == n ? o.remove() : n(o), - r && i ? r.merge(i).order() : i - ) - }, - merge: function (e) { - for ( - var t = e.selection ? e.selection() : e, - n = this._groups, - r = t._groups, - i = n.length, - o = r.length, - a = Math.min(i, o), - s = new Array(i), - u = 0; - u < a; - ++u - ) - for ( - var l, c = n[u], d = r[u], f = c.length, h = (s[u] = new Array(f)), p = 0; - p < f; - ++p - ) - (l = c[p] || d[p]) && (h[p] = l) - for (; u < i; ++u) s[u] = n[u] - return new Ln(s, this._parents) - }, - selection: function () { - return this - }, - order: function () { - for (var e = this._groups, t = -1, n = e.length; ++t < n; ) - for (var r, i = e[t], o = i.length - 1, a = i[o]; --o >= 0; ) - (r = i[o]) && - (a && 4 ^ r.compareDocumentPosition(a) && a.parentNode.insertBefore(r, a), - (a = r)) - return this - }, - sort: function (e) { - function t(t, n) { - return t && n ? e(t.__data__, n.__data__) : !t - !n - } - e || (e = Dt) - for (var n = this._groups, r = n.length, i = new Array(r), o = 0; o < r; ++o) { - for (var a, s = n[o], u = s.length, l = (i[o] = new Array(u)), c = 0; c < u; ++c) - (a = s[c]) && (l[c] = a) - l.sort(t) - } - return new Ln(i, this._parents).order() - }, - call: function () { - var e = arguments[0] - return (arguments[0] = this), e.apply(null, arguments), this - }, - nodes: function () { - return Array.from(this) - }, - node: function () { - for (var e = this._groups, t = 0, n = e.length; t < n; ++t) - for (var r = e[t], i = 0, o = r.length; i < o; ++i) { - var a = r[i] - if (a) return a - } - return null - }, - size: function () { - var e, - t = 0, - n = Lt(this) - try { - for (n.s(); !(e = n.n()).done; ) { - e.value - ++t - } - } catch (r) { - n.e(r) - } finally { - n.f() - } - return t - }, - empty: function () { - return !this.node() - }, - each: function (e) { - for (var t = this._groups, n = 0, r = t.length; n < r; ++n) - for (var i, o = t[n], a = 0, s = o.length; a < s; ++a) - (i = o[a]) && e.call(i, i.__data__, a, o) - return this - }, - attr: function (e, t) { - var n = Ht(e) - if (arguments.length < 2) { - var r = this.node() - return n.local ? r.getAttributeNS(n.space, n.local) : r.getAttribute(n) - } - return this.each( - (null == t - ? n.local - ? Ft - : Bt - : 'function' === typeof t - ? n.local - ? qt - : Gt - : n.local - ? Ut - : Vt)(n, t), - ) - }, - style: function (e, t, n) { - return arguments.length > 1 - ? this.each( - (null == t ? Kt : 'function' === typeof t ? $t : Zt)(e, t, null == n ? '' : n), - ) - : Xt(this.node(), e) - }, - property: function (e, t) { - return arguments.length > 1 - ? this.each((null == t ? Yt : 'function' === typeof t ? Jt : Qt)(e, t)) - : this.node()[e] - }, - classed: function (e, t) { - var n = en(e + '') - if (arguments.length < 2) { - for (var r = tn(this.node()), i = -1, o = n.length; ++i < o; ) - if (!r.contains(n[i])) return !1 - return !0 - } - return this.each(('function' === typeof t ? un : t ? an : sn)(n, t)) - }, - text: function (e) { - return arguments.length - ? this.each(null == e ? ln : ('function' === typeof e ? dn : cn)(e)) - : this.node().textContent - }, - html: function (e) { - return arguments.length - ? this.each(null == e ? fn : ('function' === typeof e ? pn : hn)(e)) - : this.node().innerHTML - }, - raise: function () { - return this.each(vn) - }, - lower: function () { - return this.each(mn) - }, - append: function (e) { - var t = 'function' === typeof e ? e : bn(e) - return this.select(function () { - return this.appendChild(t.apply(this, arguments)) - }) - }, - insert: function (e, t) { - var n = 'function' === typeof e ? e : bn(e), - r = null == t ? wn : 'function' === typeof t ? t : gt(t) - return this.select(function () { - return this.insertBefore(n.apply(this, arguments), r.apply(this, arguments) || null) - }) - }, - remove: function () { - return this.each(xn) - }, - clone: function (e) { - return this.select(e ? kn : En) - }, - datum: function (e) { - return arguments.length ? this.property('__data__', e) : this.node().__data__ - }, - on: function (e, t, n) { - var r, - i, - o = Tn(e + ''), - a = o.length - if (!(arguments.length < 2)) { - for (s = t ? On : _n, r = 0; r < a; ++r) this.each(s(o[r], t, n)) - return this - } - var s = this.node().__on - if (s) - for (var u, l = 0, c = s.length; l < c; ++l) - for (r = 0, u = s[l]; r < a; ++r) - if ((i = o[r]).type === u.type && i.name === u.name) return u.value - }, - dispatch: function (e, t) { - return this.each(('function' === typeof t ? An : Sn)(e, t)) - }, - }, - Symbol.iterator, - jn, - ) - var In = Nn - function zn(e) { - return 'string' === typeof e - ? new Ln([[document.querySelector(e)]], [document.documentElement]) - : new Ln([[e]], Dn) - } - var Hn = r(7137), - Bn = { passive: !1 }, - Fn = { capture: !0, passive: !1 } - function Vn(e) { - e.stopImmediatePropagation() - } - function Un(e) { - e.preventDefault(), e.stopImmediatePropagation() - } - function Gn(e) { - var t = e.document.documentElement, - n = zn(e).on('dragstart.drag', Un, Fn) - 'onselectstart' in t - ? n.on('selectstart.drag', Un, Fn) - : ((t.__noselect = t.style.MozUserSelect), (t.style.MozUserSelect = 'none')) - } - function qn(e, t) { - var n = e.document.documentElement, - r = zn(e).on('dragstart.drag', null) - t && - (r.on('click.drag', Un, Fn), - setTimeout(function () { - r.on('click.drag', null) - }, 0)), - 'onselectstart' in n - ? r.on('selectstart.drag', null) - : ((n.style.MozUserSelect = n.__noselect), delete n.__noselect) - } - function Wn(e) { - return ((e = Math.exp(e)) + 1 / e) / 2 - } - var Kn = (function e(t, n, r) { - function i(e, i) { - var o, - a, - s = e[0], - u = e[1], - l = e[2], - c = i[0], - d = i[1], - f = i[2], - h = c - s, - p = d - u, - v = h * h + p * p - if (v < 1e-12) - (a = Math.log(f / l) / t), - (o = function (e) { - return [s + e * h, u + e * p, l * Math.exp(t * e * a)] - }) - else { - var m = Math.sqrt(v), - g = (f * f - l * l + r * v) / (2 * l * n * m), - y = (f * f - l * l - r * v) / (2 * f * n * m), - b = Math.log(Math.sqrt(g * g + 1) - g), - w = Math.log(Math.sqrt(y * y + 1) - y) - ;(a = (w - b) / t), - (o = function (e) { - var r, - i = e * a, - o = Wn(b), - c = - (l / (n * m)) * - (o * ((r = t * i + b), ((r = Math.exp(2 * r)) - 1) / (r + 1)) - - (function (e) { - return ((e = Math.exp(e)) - 1 / e) / 2 - })(b)) - return [s + c * h, u + c * p, (l * o) / Wn(t * i + b)] - }) - } - return (o.duration = (1e3 * a * t) / Math.SQRT2), o - } - return ( - (i.rho = function (t) { - var n = Math.max(0.001, +t), - r = n * n - return e(n, r, r * r) - }), - i - ) - })(Math.SQRT2, 2, 4) - function Zn(e, t) { - if ( - ((e = (function (e) { - for (var t; (t = e.sourceEvent); ) e = t - return e - })(e)), - void 0 === t && (t = e.currentTarget), - t) - ) { - var n = t.ownerSVGElement || t - if (n.createSVGPoint) { - var r = n.createSVGPoint() - return ( - (r.x = e.clientX), - (r.y = e.clientY), - [(r = r.matrixTransform(t.getScreenCTM().inverse())).x, r.y] - ) - } - if (t.getBoundingClientRect) { - var i = t.getBoundingClientRect() - return [e.clientX - i.left - t.clientLeft, e.clientY - i.top - t.clientTop] - } - } - return [e.pageX, e.pageY] - } - var $n = r(513) - function Xn(e, t, n) { - var r = new $n.B7() - return ( - (t = null == t ? 0 : +t), - r.restart( - function (n) { - r.stop(), e(n + t) - }, - t, - n, - ), - r - ) - } - var Yn = (0, Hn.Z)('start', 'end', 'cancel', 'interrupt'), - Qn = [] - function Jn(e, t, n, r, i, o) { - var a = e.__transition - if (a) { - if (n in a) return - } else e.__transition = {} - !(function (e, t, n) { - var r, - i = e.__transition - function o(e) { - ;(n.state = 1), n.timer.restart(a, n.delay, n.time), n.delay <= e && a(e - n.delay) - } - function a(o) { - var l, c, d, f - if (1 !== n.state) return u() - for (l in i) - if ((f = i[l]).name === n.name) { - if (3 === f.state) return Xn(a) - 4 === f.state - ? ((f.state = 6), - f.timer.stop(), - f.on.call('interrupt', e, e.__data__, f.index, f.group), - delete i[l]) - : +l < t && - ((f.state = 6), - f.timer.stop(), - f.on.call('cancel', e, e.__data__, f.index, f.group), - delete i[l]) - } - if ( - (Xn(function () { - 3 === n.state && ((n.state = 4), n.timer.restart(s, n.delay, n.time), s(o)) - }), - (n.state = 2), - n.on.call('start', e, e.__data__, n.index, n.group), - 2 === n.state) - ) { - for (n.state = 3, r = new Array((d = n.tween.length)), l = 0, c = -1; l < d; ++l) - (f = n.tween[l].value.call(e, e.__data__, n.index, n.group)) && (r[++c] = f) - r.length = c + 1 - } - } - function s(t) { - for ( - var i = - t < n.duration - ? n.ease.call(null, t / n.duration) - : (n.timer.restart(u), (n.state = 5), 1), - o = -1, - a = r.length; - ++o < a; - - ) - r[o].call(e, i) - 5 === n.state && (n.on.call('end', e, e.__data__, n.index, n.group), u()) - } - function u() { - for (var r in ((n.state = 6), n.timer.stop(), delete i[t], i)) return - delete e.__transition - } - ;(i[t] = n), (n.timer = (0, $n.HT)(o, 0, n.time)) - })(e, n, { - name: t, - index: r, - group: i, - on: Yn, - tween: Qn, - time: o.time, - delay: o.delay, - duration: o.duration, - ease: o.ease, - timer: null, - state: 0, - }) - } - function er(e, t) { - var n = nr(e, t) - if (n.state > 0) throw new Error('too late; already scheduled') - return n - } - function tr(e, t) { - var n = nr(e, t) - if (n.state > 3) throw new Error('too late; already running') - return n - } - function nr(e, t) { - var n = e.__transition - if (!n || !(n = n[t])) throw new Error('transition not found') - return n - } - function rr(e, t) { - var n, - r, - i, - o = e.__transition, - a = !0 - if (o) { - for (i in ((t = null == t ? null : t + ''), o)) - (n = o[i]).name === t - ? ((r = n.state > 2 && n.state < 5), - (n.state = 6), - n.timer.stop(), - n.on.call(r ? 'interrupt' : 'cancel', e, e.__data__, n.index, n.group), - delete o[i]) - : (a = !1) - a && delete e.__transition - } - } - var ir, - or = r(6033), - ar = 180 / Math.PI, - sr = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 } - function ur(e, t, n, r, i, o) { - var a, s, u - return ( - (a = Math.sqrt(e * e + t * t)) && ((e /= a), (t /= a)), - (u = e * n + t * r) && ((n -= e * u), (r -= t * u)), - (s = Math.sqrt(n * n + r * r)) && ((n /= s), (r /= s), (u /= s)), - e * r < t * n && ((e = -e), (t = -t), (u = -u), (a = -a)), - { - translateX: i, - translateY: o, - rotate: Math.atan2(t, e) * ar, - skewX: Math.atan(u) * ar, - scaleX: a, - scaleY: s, - } - ) - } - function lr(e, t, n, r) { - function i(e) { - return e.length ? e.pop() + ' ' : '' - } - return function (o, a) { - var s = [], - u = [] - return ( - (o = e(o)), - (a = e(a)), - (function (e, r, i, o, a, s) { - if (e !== i || r !== o) { - var u = a.push('translate(', null, t, null, n) - s.push({ i: u - 4, x: (0, or.Z)(e, i) }, { i: u - 2, x: (0, or.Z)(r, o) }) - } else (i || o) && a.push('translate(' + i + t + o + n) - })(o.translateX, o.translateY, a.translateX, a.translateY, s, u), - (function (e, t, n, o) { - e !== t - ? (e - t > 180 ? (t += 360) : t - e > 180 && (e += 360), - o.push({ i: n.push(i(n) + 'rotate(', null, r) - 2, x: (0, or.Z)(e, t) })) - : t && n.push(i(n) + 'rotate(' + t + r) - })(o.rotate, a.rotate, s, u), - (function (e, t, n, o) { - e !== t - ? o.push({ i: n.push(i(n) + 'skewX(', null, r) - 2, x: (0, or.Z)(e, t) }) - : t && n.push(i(n) + 'skewX(' + t + r) - })(o.skewX, a.skewX, s, u), - (function (e, t, n, r, o, a) { - if (e !== n || t !== r) { - var s = o.push(i(o) + 'scale(', null, ',', null, ')') - a.push({ i: s - 4, x: (0, or.Z)(e, n) }, { i: s - 2, x: (0, or.Z)(t, r) }) - } else (1 === n && 1 === r) || o.push(i(o) + 'scale(' + n + ',' + r + ')') - })(o.scaleX, o.scaleY, a.scaleX, a.scaleY, s, u), - (o = a = null), - function (e) { - for (var t, n = -1, r = u.length; ++n < r; ) s[(t = u[n]).i] = t.x(e) - return s.join('') - } - ) - } - } - var cr = lr( - function (e) { - var t = new ('function' === typeof DOMMatrix ? DOMMatrix : WebKitCSSMatrix)(e + '') - return t.isIdentity ? sr : ur(t.a, t.b, t.c, t.d, t.e, t.f) - }, - 'px, ', - 'px)', - 'deg)', - ), - dr = lr( - function (e) { - return null == e - ? sr - : (ir || (ir = document.createElementNS('http://www.w3.org/2000/svg', 'g')), - ir.setAttribute('transform', e), - (e = ir.transform.baseVal.consolidate()) - ? ur((e = e.matrix).a, e.b, e.c, e.d, e.e, e.f) - : sr) - }, - ', ', - ')', - ')', - ) - function fr(e, t) { - var n, r - return function () { - var i = tr(this, e), - o = i.tween - if (o !== n) - for (var a = 0, s = (r = n = o).length; a < s; ++a) - if (r[a].name === t) { - ;(r = r.slice()).splice(a, 1) - break - } - i.tween = r - } - } - function hr(e, t, n) { - var r, i - if ('function' !== typeof n) throw new Error() - return function () { - var o = tr(this, e), - a = o.tween - if (a !== r) { - i = (r = a).slice() - for (var s = { name: t, value: n }, u = 0, l = i.length; u < l; ++u) - if (i[u].name === t) { - i[u] = s - break - } - u === l && i.push(s) - } - o.tween = i - } - } - function pr(e, t, n) { - var r = e._id - return ( - e.each(function () { - var e = tr(this, r) - ;(e.value || (e.value = {}))[t] = n.apply(this, arguments) - }), - function (e) { - return nr(e, r).value[t] - } - ) - } - var vr = r(6374), - mr = r(3028), - gr = r(370) - function yr(e, t) { - var n - return ( - 'number' === typeof t - ? or.Z - : t instanceof vr.ZP - ? mr.ZP - : (n = (0, vr.ZP)(t)) - ? ((t = n), mr.ZP) - : gr.Z - )(e, t) - } - function br(e) { - return function () { - this.removeAttribute(e) - } - } - function wr(e) { - return function () { - this.removeAttributeNS(e.space, e.local) - } - } - function xr(e, t, n) { - var r, - i, - o = n + '' - return function () { - var a = this.getAttribute(e) - return a === o ? null : a === r ? i : (i = t((r = a), n)) - } - } - function Er(e, t, n) { - var r, - i, - o = n + '' - return function () { - var a = this.getAttributeNS(e.space, e.local) - return a === o ? null : a === r ? i : (i = t((r = a), n)) - } - } - function kr(e, t, n) { - var r, i, o - return function () { - var a, - s, - u = n(this) - if (null != u) - return (a = this.getAttribute(e)) === (s = u + '') - ? null - : a === r && s === i - ? o - : ((i = s), (o = t((r = a), u))) - this.removeAttribute(e) - } - } - function Tr(e, t, n) { - var r, i, o - return function () { - var a, - s, - u = n(this) - if (null != u) - return (a = this.getAttributeNS(e.space, e.local)) === (s = u + '') - ? null - : a === r && s === i - ? o - : ((i = s), (o = t((r = a), u))) - this.removeAttributeNS(e.space, e.local) - } - } - function _r(e, t) { - return function (n) { - this.setAttribute(e, t.call(this, n)) - } - } - function Or(e, t) { - return function (n) { - this.setAttributeNS(e.space, e.local, t.call(this, n)) - } - } - function Cr(e, t) { - var n, r - function i() { - var i = t.apply(this, arguments) - return i !== r && (n = (r = i) && Or(e, i)), n - } - return (i._value = t), i - } - function Sr(e, t) { - var n, r - function i() { - var i = t.apply(this, arguments) - return i !== r && (n = (r = i) && _r(e, i)), n - } - return (i._value = t), i - } - function Ar(e, t) { - return function () { - er(this, e).delay = +t.apply(this, arguments) - } - } - function Pr(e, t) { - return ( - (t = +t), - function () { - er(this, e).delay = t - } - ) - } - function Mr(e, t) { - return function () { - tr(this, e).duration = +t.apply(this, arguments) - } - } - function Rr(e, t) { - return ( - (t = +t), - function () { - tr(this, e).duration = t - } - ) - } - function jr(e, t) { - if ('function' !== typeof t) throw new Error() - return function () { - tr(this, e).ease = t - } - } - function Dr(e, t, n) { - var r, - i, - o = (function (e) { - return (e + '') - .trim() - .split(/^|\s+/) - .every(function (e) { - var t = e.indexOf('.') - return t >= 0 && (e = e.slice(0, t)), !e || 'start' === e - }) - })(t) - ? er - : tr - return function () { - var a = o(this, e), - s = a.on - s !== r && (i = (r = s).copy()).on(t, n), (a.on = i) - } - } - var Lr = In.prototype.constructor - function Nr(e) { - return function () { - this.style.removeProperty(e) - } - } - function Ir(e, t, n) { - return function (r) { - this.style.setProperty(e, t.call(this, r), n) - } - } - function zr(e, t, n) { - var r, i - function o() { - var o = t.apply(this, arguments) - return o !== i && (r = (i = o) && Ir(e, o, n)), r - } - return (o._value = t), o - } - function Hr(e) { - return function (t) { - this.textContent = e.call(this, t) - } - } - function Br(e) { - var t, n - function r() { - var r = e.apply(this, arguments) - return r !== n && (t = (n = r) && Hr(r)), t - } - return (r._value = e), r - } - var Fr = 0 - function Vr(e, t, n, r) { - ;(this._groups = e), (this._parents = t), (this._name = n), (this._id = r) - } - function Ur() { - return ++Fr - } - var Gr = In.prototype - Vr.prototype = function (e) { - return In().transition(e) - }.prototype = (0, vt.Z)( - { - constructor: Vr, - select: function (e) { - var t = this._name, - n = this._id - 'function' !== typeof e && (e = gt(e)) - for (var r = this._groups, i = r.length, o = new Array(i), a = 0; a < i; ++a) - for (var s, u, l = r[a], c = l.length, d = (o[a] = new Array(c)), f = 0; f < c; ++f) - (s = l[f]) && - (u = e.call(s, s.__data__, f, l)) && - ('__data__' in s && (u.__data__ = s.__data__), - (d[f] = u), - Jn(d[f], t, n, f, d, nr(s, n))) - return new Vr(o, this._parents, t, n) - }, - selectAll: function (e) { - var t = this._name, - n = this._id - 'function' !== typeof e && (e = wt(e)) - for (var r = this._groups, i = r.length, o = [], a = [], s = 0; s < i; ++s) - for (var u, l = r[s], c = l.length, d = 0; d < c; ++d) - if ((u = l[d])) { - for ( - var f, h = e.call(u, u.__data__, d, l), p = nr(u, n), v = 0, m = h.length; - v < m; - ++v - ) - (f = h[v]) && Jn(f, t, n, v, h, p) - o.push(h), a.push(u) - } - return new Vr(o, a, t, n) - }, - selectChild: Gr.selectChild, - selectChildren: Gr.selectChildren, - filter: function (e) { - 'function' !== typeof e && (e = xt(e)) - for (var t = this._groups, n = t.length, r = new Array(n), i = 0; i < n; ++i) - for (var o, a = t[i], s = a.length, u = (r[i] = []), l = 0; l < s; ++l) - (o = a[l]) && e.call(o, o.__data__, l, a) && u.push(o) - return new Vr(r, this._parents, this._name, this._id) - }, - merge: function (e) { - if (e._id !== this._id) throw new Error() - for ( - var t = this._groups, - n = e._groups, - r = t.length, - i = n.length, - o = Math.min(r, i), - a = new Array(r), - s = 0; - s < o; - ++s - ) - for ( - var u, l = t[s], c = n[s], d = l.length, f = (a[s] = new Array(d)), h = 0; - h < d; - ++h - ) - (u = l[h] || c[h]) && (f[h] = u) - for (; s < r; ++s) a[s] = t[s] - return new Vr(a, this._parents, this._name, this._id) - }, - selection: function () { - return new Lr(this._groups, this._parents) - }, - transition: function () { - for ( - var e = this._name, t = this._id, n = Ur(), r = this._groups, i = r.length, o = 0; - o < i; - ++o - ) - for (var a, s = r[o], u = s.length, l = 0; l < u; ++l) - if ((a = s[l])) { - var c = nr(a, t) - Jn(a, e, n, l, s, { - time: c.time + c.delay + c.duration, - delay: 0, - duration: c.duration, - ease: c.ease, - }) - } - return new Vr(r, this._parents, e, n) - }, - call: Gr.call, - nodes: Gr.nodes, - node: Gr.node, - size: Gr.size, - empty: Gr.empty, - each: Gr.each, - on: function (e, t) { - var n = this._id - return arguments.length < 2 ? nr(this.node(), n).on.on(e) : this.each(Dr(n, e, t)) - }, - attr: function (e, t) { - var n = Ht(e), - r = 'transform' === n ? dr : yr - return this.attrTween( - e, - 'function' === typeof t - ? (n.local ? Tr : kr)(n, r, pr(this, 'attr.' + e, t)) - : null == t - ? (n.local ? wr : br)(n) - : (n.local ? Er : xr)(n, r, t), - ) - }, - attrTween: function (e, t) { - var n = 'attr.' + e - if (arguments.length < 2) return (n = this.tween(n)) && n._value - if (null == t) return this.tween(n, null) - if ('function' !== typeof t) throw new Error() - var r = Ht(e) - return this.tween(n, (r.local ? Cr : Sr)(r, t)) - }, - style: function (e, t, n) { - var r = 'transform' === (e += '') ? cr : yr - return null == t - ? this.styleTween( - e, - (function (e, t) { - var n, r, i - return function () { - var o = Xt(this, e), - a = (this.style.removeProperty(e), Xt(this, e)) - return o === a ? null : o === n && a === r ? i : (i = t((n = o), (r = a))) - } - })(e, r), - ).on('end.style.' + e, Nr(e)) - : 'function' === typeof t - ? this.styleTween( - e, - (function (e, t, n) { - var r, i, o - return function () { - var a = Xt(this, e), - s = n(this), - u = s + '' - return ( - null == s && (this.style.removeProperty(e), (u = s = Xt(this, e))), - a === u ? null : a === r && u === i ? o : ((i = u), (o = t((r = a), s))) - ) - } - })(e, r, pr(this, 'style.' + e, t)), - ).each( - (function (e, t) { - var n, - r, - i, - o, - a = 'style.' + t, - s = 'end.' + a - return function () { - var u = tr(this, e), - l = u.on, - c = null == u.value[a] ? o || (o = Nr(t)) : void 0 - ;(l === n && i === c) || (r = (n = l).copy()).on(s, (i = c)), (u.on = r) - } - })(this._id, e), - ) - : this.styleTween( - e, - (function (e, t, n) { - var r, - i, - o = n + '' - return function () { - var a = Xt(this, e) - return a === o ? null : a === r ? i : (i = t((r = a), n)) - } - })(e, r, t), - n, - ).on('end.style.' + e, null) - }, - styleTween: function (e, t, n) { - var r = 'style.' + (e += '') - if (arguments.length < 2) return (r = this.tween(r)) && r._value - if (null == t) return this.tween(r, null) - if ('function' !== typeof t) throw new Error() - return this.tween(r, zr(e, t, null == n ? '' : n)) - }, - text: function (e) { - return this.tween( - 'text', - 'function' === typeof e - ? (function (e) { - return function () { - var t = e(this) - this.textContent = null == t ? '' : t - } - })(pr(this, 'text', e)) - : (function (e) { - return function () { - this.textContent = e - } - })(null == e ? '' : e + ''), - ) - }, - textTween: function (e) { - var t = 'text' - if (arguments.length < 1) return (t = this.tween(t)) && t._value - if (null == e) return this.tween(t, null) - if ('function' !== typeof e) throw new Error() - return this.tween(t, Br(e)) - }, - remove: function () { - return this.on( - 'end.remove', - (function (e) { - return function () { - var t = this.parentNode - for (var n in this.__transition) if (+n !== e) return - t && t.removeChild(this) - } - })(this._id), - ) - }, - tween: function (e, t) { - var n = this._id - if (((e += ''), arguments.length < 2)) { - for (var r, i = nr(this.node(), n).tween, o = 0, a = i.length; o < a; ++o) - if ((r = i[o]).name === e) return r.value - return null - } - return this.each((null == t ? fr : hr)(n, e, t)) - }, - delay: function (e) { - var t = this._id - return arguments.length - ? this.each(('function' === typeof e ? Ar : Pr)(t, e)) - : nr(this.node(), t).delay - }, - duration: function (e) { - var t = this._id - return arguments.length - ? this.each(('function' === typeof e ? Mr : Rr)(t, e)) - : nr(this.node(), t).duration - }, - ease: function (e) { - var t = this._id - return arguments.length ? this.each(jr(t, e)) : nr(this.node(), t).ease - }, - easeVarying: function (e) { - if ('function' !== typeof e) throw new Error() - return this.each( - (function (e, t) { - return function () { - var n = t.apply(this, arguments) - if ('function' !== typeof n) throw new Error() - tr(this, e).ease = n - } - })(this._id, e), - ) - }, - end: function () { - var e, - t, - n = this, - r = n._id, - i = n.size() - return new Promise(function (o, a) { - var s = { value: a }, - u = { - value: function () { - 0 === --i && o() - }, - } - n.each(function () { - var n = tr(this, r), - i = n.on - i !== e && - ((t = (e = i).copy())._.cancel.push(s), t._.interrupt.push(s), t._.end.push(u)), - (n.on = t) - }), - 0 === i && o() - }) - }, - }, - Symbol.iterator, - Gr[Symbol.iterator], - ) - var qr = { - time: null, - delay: 0, - duration: 250, - ease: function (e) { - return ((e *= 2) <= 1 ? e * e * e : (e -= 2) * e * e + 2) / 2 - }, - } - function Wr(e, t) { - for (var n; !(n = e.__transition) || !(n = n[t]); ) - if (!(e = e.parentNode)) throw new Error('transition '.concat(t, ' not found')) - return n - } - ;(In.prototype.interrupt = function (e) { - return this.each(function () { - rr(this, e) - }) - }), - (In.prototype.transition = function (e) { - var t, n - e instanceof Vr - ? ((t = e._id), (e = e._name)) - : ((t = Ur()), ((n = qr).time = (0, $n.zO)()), (e = null == e ? null : e + '')) - for (var r = this._groups, i = r.length, o = 0; o < i; ++o) - for (var a, s = r[o], u = s.length, l = 0; l < u; ++l) - (a = s[l]) && Jn(a, e, t, l, s, n || Wr(a, t)) - return new Vr(r, this._parents, e, t) - }) - var Kr = function (e) { - return function () { - return e - } - } - function Zr(e, t) { - var n = t.sourceEvent, - r = t.target, - i = t.transform, - o = t.dispatch - Object.defineProperties(this, { - type: { value: e, enumerable: !0, configurable: !0 }, - sourceEvent: { value: n, enumerable: !0, configurable: !0 }, - target: { value: r, enumerable: !0, configurable: !0 }, - transform: { value: i, enumerable: !0, configurable: !0 }, - _: { value: o }, - }) - } - function $r(e, t, n) { - ;(this.k = e), (this.x = t), (this.y = n) - } - $r.prototype = { - constructor: $r, - scale: function (e) { - return 1 === e ? this : new $r(this.k * e, this.x, this.y) - }, - translate: function (e, t) { - return (0 === e) & (0 === t) - ? this - : new $r(this.k, this.x + this.k * e, this.y + this.k * t) - }, - apply: function (e) { - return [e[0] * this.k + this.x, e[1] * this.k + this.y] - }, - applyX: function (e) { - return e * this.k + this.x - }, - applyY: function (e) { - return e * this.k + this.y - }, - invert: function (e) { - return [(e[0] - this.x) / this.k, (e[1] - this.y) / this.k] - }, - invertX: function (e) { - return (e - this.x) / this.k - }, - invertY: function (e) { - return (e - this.y) / this.k - }, - rescaleX: function (e) { - return e.copy().domain(e.range().map(this.invertX, this).map(e.invert, e)) - }, - rescaleY: function (e) { - return e.copy().domain(e.range().map(this.invertY, this).map(e.invert, e)) - }, - toString: function () { - return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')' - }, - } - var Xr = new $r(1, 0, 0) - function Yr(e) { - for (; !e.__zoom; ) if (!(e = e.parentNode)) return Xr - return e.__zoom - } - function Qr(e) { - e.stopImmediatePropagation() - } - function Jr(e) { - e.preventDefault(), e.stopImmediatePropagation() - } - function ei(e) { - return (!e.ctrlKey || 'wheel' === e.type) && !e.button - } - function ti() { - var e = this - return e instanceof SVGElement - ? (e = e.ownerSVGElement || e).hasAttribute('viewBox') - ? [ - [(e = e.viewBox.baseVal).x, e.y], - [e.x + e.width, e.y + e.height], - ] - : [ - [0, 0], - [e.width.baseVal.value, e.height.baseVal.value], - ] - : [ - [0, 0], - [e.clientWidth, e.clientHeight], - ] - } - function ni() { - return this.__zoom || Xr - } - function ri(e) { - return ( - -e.deltaY * (1 === e.deltaMode ? 0.05 : e.deltaMode ? 1 : 0.002) * (e.ctrlKey ? 10 : 1) - ) - } - function ii() { - return navigator.maxTouchPoints || 'ontouchstart' in this - } - function oi(e, t, n) { - var r = e.invertX(t[0][0]) - n[0][0], - i = e.invertX(t[1][0]) - n[1][0], - o = e.invertY(t[0][1]) - n[0][1], - a = e.invertY(t[1][1]) - n[1][1] - return e.translate( - i > r ? (r + i) / 2 : Math.min(0, r) || Math.max(0, i), - a > o ? (o + a) / 2 : Math.min(0, o) || Math.max(0, a), - ) - } - function ai() { - var e, - t, - n, - r = ei, - i = ti, - o = oi, - a = ri, - s = ii, - u = [0, 1 / 0], - l = [ - [-1 / 0, -1 / 0], - [1 / 0, 1 / 0], - ], - c = 250, - d = Kn, - f = (0, Hn.Z)('start', 'zoom', 'end'), - h = 500, - p = 0, - v = 10 - function m(e) { - e.property('__zoom', ni) - .on('wheel.zoom', k, { passive: !1 }) - .on('mousedown.zoom', T) - .on('dblclick.zoom', _) - .filter(s) - .on('touchstart.zoom', O) - .on('touchmove.zoom', C) - .on('touchend.zoom touchcancel.zoom', S) - .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)') - } - function g(e, t) { - return (t = Math.max(u[0], Math.min(u[1], t))) === e.k ? e : new $r(t, e.x, e.y) - } - function y(e, t, n) { - var r = t[0] - n[0] * e.k, - i = t[1] - n[1] * e.k - return r === e.x && i === e.y ? e : new $r(e.k, r, i) - } - function b(e) { - return [(+e[0][0] + +e[1][0]) / 2, (+e[0][1] + +e[1][1]) / 2] - } - function w(e, t, n, r) { - e.on('start.zoom', function () { - x(this, arguments).event(r).start() - }) - .on('interrupt.zoom end.zoom', function () { - x(this, arguments).event(r).end() - }) - .tween('zoom', function () { - var e = this, - o = arguments, - a = x(e, o).event(r), - s = i.apply(e, o), - u = null == n ? b(s) : 'function' === typeof n ? n.apply(e, o) : n, - l = Math.max(s[1][0] - s[0][0], s[1][1] - s[0][1]), - c = e.__zoom, - f = 'function' === typeof t ? t.apply(e, o) : t, - h = d(c.invert(u).concat(l / c.k), f.invert(u).concat(l / f.k)) - return function (e) { - if (1 === e) e = f - else { - var t = h(e), - n = l / t[2] - e = new $r(n, u[0] - t[0] * n, u[1] - t[1] * n) - } - a.zoom(null, e) - } - }) - } - function x(e, t, n) { - return (!n && e.__zooming) || new E(e, t) - } - function E(e, t) { - ;(this.that = e), - (this.args = t), - (this.active = 0), - (this.sourceEvent = null), - (this.extent = i.apply(e, t)), - (this.taps = 0) - } - function k(e) { - for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), i = 1; i < t; i++) - n[i - 1] = arguments[i] - if (r.apply(this, arguments)) { - var s = x(this, n).event(e), - c = this.__zoom, - d = Math.max(u[0], Math.min(u[1], c.k * Math.pow(2, a.apply(this, arguments)))), - f = Zn(e) - if (s.wheel) - (s.mouse[0][0] === f[0] && s.mouse[0][1] === f[1]) || - (s.mouse[1] = c.invert((s.mouse[0] = f))), - clearTimeout(s.wheel) - else { - if (c.k === d) return - ;(s.mouse = [f, c.invert(f)]), rr(this), s.start() - } - Jr(e), - (s.wheel = setTimeout(h, 150)), - s.zoom('mouse', o(y(g(c, d), s.mouse[0], s.mouse[1]), s.extent, l)) - } - function h() { - ;(s.wheel = null), s.end() - } - } - function T(e) { - for (var t = arguments.length, i = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++) - i[a - 1] = arguments[a] - if (!n && r.apply(this, arguments)) { - var s = e.currentTarget, - u = x(this, i, !0).event(e), - c = zn(e.view).on('mousemove.zoom', v, !0).on('mouseup.zoom', m, !0), - d = Zn(e, s), - f = e.clientX, - h = e.clientY - Gn(e.view), Qr(e), (u.mouse = [d, this.__zoom.invert(d)]), rr(this), u.start() - } - function v(e) { - if ((Jr(e), !u.moved)) { - var t = e.clientX - f, - n = e.clientY - h - u.moved = t * t + n * n > p - } - u.event(e).zoom( - 'mouse', - o(y(u.that.__zoom, (u.mouse[0] = Zn(e, s)), u.mouse[1]), u.extent, l), - ) - } - function m(e) { - c.on('mousemove.zoom mouseup.zoom', null), qn(e.view, u.moved), Jr(e), u.event(e).end() - } - } - function _(e) { - for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), a = 1; a < t; a++) - n[a - 1] = arguments[a] - if (r.apply(this, arguments)) { - var s = this.__zoom, - u = Zn(e.changedTouches ? e.changedTouches[0] : e, this), - d = s.invert(u), - f = s.k * (e.shiftKey ? 0.5 : 2), - h = o(y(g(s, f), u, d), i.apply(this, n), l) - Jr(e), - c > 0 - ? zn(this).transition().duration(c).call(w, h, u, e) - : zn(this).call(m.transform, h, u, e) - } - } - function O(n) { - for (var i = arguments.length, o = new Array(i > 1 ? i - 1 : 0), a = 1; a < i; a++) - o[a - 1] = arguments[a] - if (r.apply(this, arguments)) { - var s, - u, - l, - c, - d = n.touches, - f = d.length, - p = x(this, o, n.changedTouches.length === f).event(n) - for (Qr(n), u = 0; u < f; ++u) - (c = [(c = Zn((l = d[u]), this)), this.__zoom.invert(c), l.identifier]), - p.touch0 - ? p.touch1 || p.touch0[2] === c[2] || ((p.touch1 = c), (p.taps = 0)) - : ((p.touch0 = c), (s = !0), (p.taps = 1 + !!e)) - e && (e = clearTimeout(e)), - s && - (p.taps < 2 && - ((t = c[0]), - (e = setTimeout(function () { - e = null - }, h))), - rr(this), - p.start()) - } - } - function C(e) { - if (this.__zooming) { - for (var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; r < t; r++) - n[r - 1] = arguments[r] - var i, - a, - s, - u, - c = x(this, n).event(e), - d = e.changedTouches, - f = d.length - for (Jr(e), i = 0; i < f; ++i) - (s = Zn((a = d[i]), this)), - c.touch0 && c.touch0[2] === a.identifier - ? (c.touch0[0] = s) - : c.touch1 && c.touch1[2] === a.identifier && (c.touch1[0] = s) - if (((a = c.that.__zoom), c.touch1)) { - var h = c.touch0[0], - p = c.touch0[1], - v = c.touch1[0], - m = c.touch1[1], - b = (b = v[0] - h[0]) * b + (b = v[1] - h[1]) * b, - w = (w = m[0] - p[0]) * w + (w = m[1] - p[1]) * w - ;(a = g(a, Math.sqrt(b / w))), - (s = [(h[0] + v[0]) / 2, (h[1] + v[1]) / 2]), - (u = [(p[0] + m[0]) / 2, (p[1] + m[1]) / 2]) - } else { - if (!c.touch0) return - ;(s = c.touch0[0]), (u = c.touch0[1]) - } - c.zoom('touch', o(y(a, s, u), c.extent, l)) - } - } - function S(e) { - for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++) - i[o - 1] = arguments[o] - if (this.__zooming) { - var a, - s, - u = x(this, i).event(e), - l = e.changedTouches, - c = l.length - for ( - Qr(e), - n && clearTimeout(n), - n = setTimeout(function () { - n = null - }, h), - a = 0; - a < c; - ++a - ) - (s = l[a]), - u.touch0 && u.touch0[2] === s.identifier - ? delete u.touch0 - : u.touch1 && u.touch1[2] === s.identifier && delete u.touch1 - if ((u.touch1 && !u.touch0 && ((u.touch0 = u.touch1), delete u.touch1), u.touch0)) - u.touch0[1] = this.__zoom.invert(u.touch0[0]) - else if ( - (u.end(), - 2 === u.taps && ((s = Zn(s, this)), Math.hypot(t[0] - s[0], t[1] - s[1]) < v)) - ) { - var d = zn(this).on('dblclick.zoom') - d && d.apply(this, arguments) - } - } - } - return ( - (m.transform = function (e, t, n, r) { - var i = e.selection ? e.selection() : e - i.property('__zoom', ni), - e !== i - ? w(e, t, n, r) - : i.interrupt().each(function () { - x(this, arguments) - .event(r) - .start() - .zoom(null, 'function' === typeof t ? t.apply(this, arguments) : t) - .end() - }) - }), - (m.scaleBy = function (e, t, n, r) { - m.scaleTo( - e, - function () { - var e = this.__zoom.k, - n = 'function' === typeof t ? t.apply(this, arguments) : t - return e * n - }, - n, - r, - ) - }), - (m.scaleTo = function (e, t, n, r) { - m.transform( - e, - function () { - var e = i.apply(this, arguments), - r = this.__zoom, - a = null == n ? b(e) : 'function' === typeof n ? n.apply(this, arguments) : n, - s = r.invert(a), - u = 'function' === typeof t ? t.apply(this, arguments) : t - return o(y(g(r, u), a, s), e, l) - }, - n, - r, - ) - }), - (m.translateBy = function (e, t, n, r) { - m.transform( - e, - function () { - return o( - this.__zoom.translate( - 'function' === typeof t ? t.apply(this, arguments) : t, - 'function' === typeof n ? n.apply(this, arguments) : n, - ), - i.apply(this, arguments), - l, - ) - }, - null, - r, - ) - }), - (m.translateTo = function (e, t, n, r, a) { - m.transform( - e, - function () { - var e = i.apply(this, arguments), - a = this.__zoom, - s = null == r ? b(e) : 'function' === typeof r ? r.apply(this, arguments) : r - return o( - Xr.translate(s[0], s[1]) - .scale(a.k) - .translate( - 'function' === typeof t ? -t.apply(this, arguments) : -t, - 'function' === typeof n ? -n.apply(this, arguments) : -n, - ), - e, - l, - ) - }, - r, - a, - ) - }), - (E.prototype = { - event: function (e) { - return e && (this.sourceEvent = e), this - }, - start: function () { - return 1 === ++this.active && ((this.that.__zooming = this), this.emit('start')), this - }, - zoom: function (e, t) { - return ( - this.mouse && 'mouse' !== e && (this.mouse[1] = t.invert(this.mouse[0])), - this.touch0 && 'touch' !== e && (this.touch0[1] = t.invert(this.touch0[0])), - this.touch1 && 'touch' !== e && (this.touch1[1] = t.invert(this.touch1[0])), - (this.that.__zoom = t), - this.emit('zoom'), - this - ) - }, - end: function () { - return 0 === --this.active && (delete this.that.__zooming, this.emit('end')), this - }, - emit: function (e) { - var t = zn(this.that).datum() - f.call( - e, - this.that, - new Zr(e, { - sourceEvent: this.sourceEvent, - target: m, - type: e, - transform: this.that.__zoom, - dispatch: f, - }), - t, - ) - }, - }), - (m.wheelDelta = function (e) { - return arguments.length ? ((a = 'function' === typeof e ? e : Kr(+e)), m) : a - }), - (m.filter = function (e) { - return arguments.length ? ((r = 'function' === typeof e ? e : Kr(!!e)), m) : r - }), - (m.touchable = function (e) { - return arguments.length ? ((s = 'function' === typeof e ? e : Kr(!!e)), m) : s - }), - (m.extent = function (e) { - return arguments.length - ? ((i = - 'function' === typeof e - ? e - : Kr([ - [+e[0][0], +e[0][1]], - [+e[1][0], +e[1][1]], - ])), - m) - : i - }), - (m.scaleExtent = function (e) { - return arguments.length ? ((u[0] = +e[0]), (u[1] = +e[1]), m) : [u[0], u[1]] - }), - (m.translateExtent = function (e) { - return arguments.length - ? ((l[0][0] = +e[0][0]), - (l[1][0] = +e[1][0]), - (l[0][1] = +e[0][1]), - (l[1][1] = +e[1][1]), - m) - : [ - [l[0][0], l[0][1]], - [l[1][0], l[1][1]], - ] - }), - (m.constrain = function (e) { - return arguments.length ? ((o = e), m) : o - }), - (m.duration = function (e) { - return arguments.length ? ((c = +e), m) : c - }), - (m.interpolate = function (e) { - return arguments.length ? ((d = e), m) : d - }), - (m.on = function () { - var e = f.on.apply(f, arguments) - return e === f ? m : e - }), - (m.clickDistance = function (e) { - return arguments.length ? ((p = (e = +e) * e), m) : Math.sqrt(p) - }), - (m.tapDistance = function (e) { - return arguments.length ? ((v = +e), m) : v - }), - m - ) - } - Yr.prototype = $r.prototype - var si = function (e) { - return function () { - return e - } - } - function ui(e, t) { - var n = t.sourceEvent, - r = t.subject, - i = t.target, - o = t.identifier, - a = t.active, - s = t.x, - u = t.y, - l = t.dx, - c = t.dy, - d = t.dispatch - Object.defineProperties(this, { - type: { value: e, enumerable: !0, configurable: !0 }, - sourceEvent: { value: n, enumerable: !0, configurable: !0 }, - subject: { value: r, enumerable: !0, configurable: !0 }, - target: { value: i, enumerable: !0, configurable: !0 }, - identifier: { value: o, enumerable: !0, configurable: !0 }, - active: { value: a, enumerable: !0, configurable: !0 }, - x: { value: s, enumerable: !0, configurable: !0 }, - y: { value: u, enumerable: !0, configurable: !0 }, - dx: { value: l, enumerable: !0, configurable: !0 }, - dy: { value: c, enumerable: !0, configurable: !0 }, - _: { value: d }, - }) - } - function li(e) { - return !e.ctrlKey && !e.button - } - function ci() { - return this.parentNode - } - function di(e, t) { - return null == t ? { x: e.x, y: e.y } : t - } - function fi() { - return navigator.maxTouchPoints || 'ontouchstart' in this - } - ui.prototype.on = function () { - var e = this._.on.apply(this._, arguments) - return e === this._ ? this : e - } - var hi = r(6701), - pi = r(3752), - vi = r(3096), - mi = r.n(vi), - gi = r(7621), - yi = r.n(gi) - function bi(e, t) { - if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') - } - function wi(e, t) { - for (var n = 0; n < t.length; n++) { - var r = t[n] - ;(r.enumerable = r.enumerable || !1), - (r.configurable = !0), - 'value' in r && (r.writable = !0), - Object.defineProperty(e, r.key, r) - } - } - function xi(e) { - return ( - (function (e) { - if (Array.isArray(e)) return Ei(e) - })(e) || - (function (e) { - if ('undefined' !== typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e) - })(e) || - (function (e, t) { - if (!e) return - if ('string' === typeof e) return Ei(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - 'Object' === n && e.constructor && (n = e.constructor.name) - if ('Map' === n || 'Set' === n) return Array.from(e) - if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) - return Ei(e, t) - })(e) || - (function () { - 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 Ei(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - var ki = function (e, t, n) { - return (e << 16) + (t << 8) + n - }, - Ti = function (e, t) { - return (123 * e) % Math.pow(2, t) - }, - _i = (function () { - function e() { - var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 6 - bi(this, e), (this.csBits = t), (this.registry = ['__reserved for background__']) - } - var t, n, r - return ( - (t = e), - (n = [ - { - key: 'register', - value: function (e) { - if (this.registry.length >= Math.pow(2, 24 - this.csBits)) return null - var t, - n = this.registry.length, - r = Ti(n, this.csBits), - i = - ((t = n + (r << (24 - this.csBits))), - '#'.concat(Math.min(t, Math.pow(2, 24)).toString(16).padStart(6, '0'))) - return this.registry.push(e), i - }, - }, - { - key: 'lookup', - value: function (e) { - var t = - 'string' === typeof e - ? (function (e) { - var t = yi()(e).toRgb(), - n = t.r, - r = t.g, - i = t.b - return ki(n, r, i) - })(e) - : ki.apply(void 0, xi(e)) - if (!t) return null - var n = t & (Math.pow(2, 24 - this.csBits) - 1), - r = (t >> (24 - this.csBits)) & (Math.pow(2, this.csBits) - 1) - return Ti(n, this.csBits) !== r || n >= this.registry.length - ? null - : this.registry[n] - }, - }, - ]) && wi(t.prototype, n), - r && wi(t, r), - e - ) - })(), - Oi = r(4505), - Ci = r(5560), - Si = r(2405), - Ai = r(216), - Pi = r(6917) - const { abs: Mi, cos: Ri, sin: ji, acos: Di, atan2: Li, sqrt: Ni, pow: Ii } = Math - function zi(e) { - return e < 0 ? -Ii(-e, 1 / 3) : Ii(e, 1 / 3) - } - const Hi = Math.PI, - Bi = 2 * Hi, - Fi = Hi / 2, - Vi = Number.MAX_SAFE_INTEGER || 9007199254740991, - Ui = Number.MIN_SAFE_INTEGER || -9007199254740991, - Gi = { x: 0, y: 0, z: 0 }, - qi = { - Tvalues: [ - -0.06405689286260563, 0.06405689286260563, -0.1911188674736163, 0.1911188674736163, - -0.3150426796961634, 0.3150426796961634, -0.4337935076260451, 0.4337935076260451, - -0.5454214713888396, 0.5454214713888396, -0.6480936519369755, 0.6480936519369755, - -0.7401241915785544, 0.7401241915785544, -0.820001985973903, 0.820001985973903, - -0.8864155270044011, 0.8864155270044011, -0.9382745520027328, 0.9382745520027328, - -0.9747285559713095, 0.9747285559713095, -0.9951872199970213, 0.9951872199970213, - ], - Cvalues: [ - 0.12793819534675216, 0.12793819534675216, 0.1258374563468283, 0.1258374563468283, - 0.12167047292780339, 0.12167047292780339, 0.1155056680537256, 0.1155056680537256, - 0.10744427011596563, 0.10744427011596563, 0.09761865210411388, 0.09761865210411388, - 0.08619016153195327, 0.08619016153195327, 0.0733464814110803, 0.0733464814110803, - 0.05929858491543678, 0.05929858491543678, 0.04427743881741981, 0.04427743881741981, - 0.028531388628933663, 0.028531388628933663, 0.0123412297999872, 0.0123412297999872, - ], - arcfn: function (e, t) { - const n = t(e) - let r = n.x * n.x + n.y * n.y - return 'undefined' !== typeof n.z && (r += n.z * n.z), Ni(r) - }, - compute: function (e, t, n) { - if (0 === e) return (t[0].t = 0), t[0] - const r = t.length - 1 - if (1 === e) return (t[r].t = 1), t[r] - const i = 1 - e - let o = t - if (0 === r) return (t[0].t = e), t[0] - if (1 === r) { - const t = { x: i * o[0].x + e * o[1].x, y: i * o[0].y + e * o[1].y, t: e } - return n && (t.z = i * o[0].z + e * o[1].z), t - } - if (r < 4) { - let t, - a, - s, - u = i * i, - l = e * e, - c = 0 - 2 === r - ? ((o = [o[0], o[1], o[2], Gi]), (t = u), (a = i * e * 2), (s = l)) - : 3 === r && ((t = u * i), (a = u * e * 3), (s = i * l * 3), (c = e * l)) - const d = { - x: t * o[0].x + a * o[1].x + s * o[2].x + c * o[3].x, - y: t * o[0].y + a * o[1].y + s * o[2].y + c * o[3].y, - t: e, - } - return n && (d.z = t * o[0].z + a * o[1].z + s * o[2].z + c * o[3].z), d - } - const a = JSON.parse(JSON.stringify(t)) - for (; a.length > 1; ) { - for (let t = 0; t < a.length - 1; t++) - (a[t] = { - x: a[t].x + (a[t + 1].x - a[t].x) * e, - y: a[t].y + (a[t + 1].y - a[t].y) * e, - }), - 'undefined' !== typeof a[t].z && (a[t] = a[t].z + (a[t + 1].z - a[t].z) * e) - a.splice(a.length - 1, 1) - } - return (a[0].t = e), a[0] - }, - computeWithRatios: function (e, t, n, r) { - const i = 1 - e, - o = n, - a = t - let s, - u = o[0], - l = o[1], - c = o[2], - d = o[3] - return ( - (u *= i), - (l *= e), - 2 === a.length - ? ((s = u + l), - { - x: (u * a[0].x + l * a[1].x) / s, - y: (u * a[0].y + l * a[1].y) / s, - z: !!r && (u * a[0].z + l * a[1].z) / s, - t: e, - }) - : ((u *= i), - (l *= 2 * i), - (c *= e * e), - 3 === a.length - ? ((s = u + l + c), - { - x: (u * a[0].x + l * a[1].x + c * a[2].x) / s, - y: (u * a[0].y + l * a[1].y + c * a[2].y) / s, - z: !!r && (u * a[0].z + l * a[1].z + c * a[2].z) / s, - t: e, - }) - : ((u *= i), - (l *= 1.5 * i), - (c *= 3 * i), - (d *= e * e * e), - 4 === a.length - ? ((s = u + l + c + d), - { - x: (u * a[0].x + l * a[1].x + c * a[2].x + d * a[3].x) / s, - y: (u * a[0].y + l * a[1].y + c * a[2].y + d * a[3].y) / s, - z: !!r && (u * a[0].z + l * a[1].z + c * a[2].z + d * a[3].z) / s, - t: e, - }) - : void 0)) - ) - }, - derive: function (e, t) { - const n = [] - for (let r = e, i = r.length, o = i - 1; i > 1; i--, o--) { - const e = [] - for (let n, i = 0; i < o; i++) - (n = { x: o * (r[i + 1].x - r[i].x), y: o * (r[i + 1].y - r[i].y) }), - t && (n.z = o * (r[i + 1].z - r[i].z)), - e.push(n) - n.push(e), (r = e) - } - return n - }, - between: function (e, t, n) { - return (t <= e && e <= n) || qi.approximately(e, t) || qi.approximately(e, n) - }, - approximately: function (e, t, n) { - return Mi(e - t) <= (n || 1e-6) - }, - length: function (e) { - const t = qi.Tvalues.length - let n = 0 - for (let r, i = 0; i < t; i++) - (r = 0.5 * qi.Tvalues[i] + 0.5), (n += qi.Cvalues[i] * qi.arcfn(r, e)) - return 0.5 * n - }, - map: function (e, t, n, r, i) { - return r + (i - r) * ((e - t) / (n - t)) - }, - lerp: function (e, t, n) { - const r = { x: t.x + e * (n.x - t.x), y: t.y + e * (n.y - t.y) } - return void 0 !== t.z && void 0 !== n.z && (r.z = t.z + e * (n.z - t.z)), r - }, - pointToString: function (e) { - let t = e.x + '/' + e.y - return 'undefined' !== typeof e.z && (t += '/' + e.z), t - }, - pointsToString: function (e) { - return '[' + e.map(qi.pointToString).join(', ') + ']' - }, - copy: function (e) { - return JSON.parse(JSON.stringify(e)) - }, - angle: function (e, t, n) { - const r = t.x - e.x, - i = t.y - e.y, - o = n.x - e.x, - a = n.y - e.y - return Li(r * a - i * o, r * o + i * a) - }, - round: function (e, t) { - const n = '' + e, - r = n.indexOf('.') - return parseFloat(n.substring(0, r + 1 + t)) - }, - dist: function (e, t) { - const n = e.x - t.x, - r = e.y - t.y - return Ni(n * n + r * r) - }, - closest: function (e, t) { - let n, - r, - i = Ii(2, 63) - return ( - e.forEach(function (e, o) { - ;(r = qi.dist(t, e)), r < i && ((i = r), (n = o)) - }), - { mdist: i, mpos: n } - ) - }, - abcratio: function (e, t) { - if (2 !== t && 3 !== t) return !1 - if ('undefined' === typeof e) e = 0.5 - else if (0 === e || 1 === e) return e - const n = Ii(e, t) + Ii(1 - e, t) - return Mi((n - 1) / n) - }, - projectionratio: function (e, t) { - if (2 !== t && 3 !== t) return !1 - if ('undefined' === typeof e) e = 0.5 - else if (0 === e || 1 === e) return e - const n = Ii(1 - e, t) - return n / (Ii(e, t) + n) - }, - lli8: function (e, t, n, r, i, o, a, s) { - const u = (e - n) * (o - s) - (t - r) * (i - a) - return ( - 0 != u && { - x: ((e * r - t * n) * (i - a) - (e - n) * (i * s - o * a)) / u, - y: ((e * r - t * n) * (o - s) - (t - r) * (i * s - o * a)) / u, - } - ) - }, - lli4: function (e, t, n, r) { - const i = e.x, - o = e.y, - a = t.x, - s = t.y, - u = n.x, - l = n.y, - c = r.x, - d = r.y - return qi.lli8(i, o, a, s, u, l, c, d) - }, - lli: function (e, t) { - return qi.lli4(e, e.c, t, t.c) - }, - makeline: function (e, t) { - const n = e.x, - r = e.y, - i = t.x, - o = t.y, - a = (i - n) / 3, - s = (o - r) / 3 - return new to(n, r, n + a, r + s, n + 2 * a, r + 2 * s, i, o) - }, - findbbox: function (e) { - let t = Vi, - n = Vi, - r = Ui, - i = Ui - return ( - e.forEach(function (e) { - const o = e.bbox() - t > o.x.min && (t = o.x.min), - n > o.y.min && (n = o.y.min), - r < o.x.max && (r = o.x.max), - i < o.y.max && (i = o.y.max) - }), - { - x: { min: t, mid: (t + r) / 2, max: r, size: r - t }, - y: { min: n, mid: (n + i) / 2, max: i, size: i - n }, - } - ) - }, - shapeintersections: function (e, t, n, r, i) { - if (!qi.bboxoverlap(t, r)) return [] - const o = [], - a = [e.startcap, e.forward, e.back, e.endcap], - s = [n.startcap, n.forward, n.back, n.endcap] - return ( - a.forEach(function (t) { - t.virtual || - s.forEach(function (r) { - if (r.virtual) return - const a = t.intersects(r, i) - a.length > 0 && ((a.c1 = t), (a.c2 = r), (a.s1 = e), (a.s2 = n), o.push(a)) - }) - }), - o - ) - }, - makeshape: function (e, t, n) { - const r = t.points.length, - i = e.points.length, - o = qi.makeline(t.points[r - 1], e.points[0]), - a = qi.makeline(e.points[i - 1], t.points[0]), - s = { - startcap: o, - forward: e, - back: t, - endcap: a, - bbox: qi.findbbox([o, e, t, a]), - intersections: function (e) { - return qi.shapeintersections(s, s.bbox, e, e.bbox, n) - }, - } - return s - }, - getminmax: function (e, t, n) { - if (!n) return { min: 0, max: 0 } - let r, - i, - o = Vi, - a = Ui - ;-1 === n.indexOf(0) && (n = [0].concat(n)), -1 === n.indexOf(1) && n.push(1) - for (let s = 0, u = n.length; s < u; s++) - (r = n[s]), (i = e.get(r)), i[t] < o && (o = i[t]), i[t] > a && (a = i[t]) - return { min: o, mid: (o + a) / 2, max: a, size: a - o } - }, - align: function (e, t) { - const n = t.p1.x, - r = t.p1.y, - i = -Li(t.p2.y - r, t.p2.x - n) - return e.map(function (e) { - return { - x: (e.x - n) * Ri(i) - (e.y - r) * ji(i), - y: (e.x - n) * ji(i) + (e.y - r) * Ri(i), - } - }) - }, - roots: function (e, t) { - t = t || { p1: { x: 0, y: 0 }, p2: { x: 1, y: 0 } } - const n = e.length - 1, - r = qi.align(e, t), - i = function (e) { - return 0 <= e && e <= 1 - } - if (2 === n) { - const e = r[0].y, - t = r[1].y, - n = r[2].y, - o = e - 2 * t + n - if (0 !== o) { - const r = -Ni(t * t - e * n), - a = -e + t - return [-(r + a) / o, -(-r + a) / o].filter(i) - } - return t !== n && 0 === o ? [(2 * t - n) / (2 * t - 2 * n)].filter(i) : [] - } - const o = r[0].y, - a = r[1].y, - s = r[2].y - let u = 3 * a - o - 3 * s + r[3].y, - l = 3 * o - 6 * a + 3 * s, - c = -3 * o + 3 * a, - d = o - if (qi.approximately(u, 0)) { - if (qi.approximately(l, 0)) return qi.approximately(c, 0) ? [] : [-d / c].filter(i) - const e = Ni(c * c - 4 * l * d), - t = 2 * l - return [(e - c) / t, (-c - e) / t].filter(i) - } - ;(l /= u), (c /= u), (d /= u) - const f = (3 * c - l * l) / 3, - h = f / 3, - p = (2 * l * l * l - 9 * l * c + 27 * d) / 27, - v = p / 2, - m = v * v + h * h * h - let g, y, b, w, x - if (m < 0) { - const e = -f / 3, - t = Ni(e * e * e), - n = -p / (2 * t), - r = Di(n < -1 ? -1 : n > 1 ? 1 : n), - o = 2 * zi(t) - return ( - (b = o * Ri(r / 3) - l / 3), - (w = o * Ri((r + Bi) / 3) - l / 3), - (x = o * Ri((r + 2 * Bi) / 3) - l / 3), - [b, w, x].filter(i) - ) - } - if (0 === m) - return ( - (g = v < 0 ? zi(-v) : -zi(v)), - (b = 2 * g - l / 3), - (w = -g - l / 3), - [b, w].filter(i) - ) - { - const e = Ni(m) - return (g = zi(-v + e)), (y = zi(v + e)), [g - y - l / 3].filter(i) - } - }, - droots: function (e) { - if (3 === e.length) { - const t = e[0], - n = e[1], - r = e[2], - i = t - 2 * n + r - if (0 !== i) { - const e = -Ni(n * n - t * r), - o = -t + n - return [-(e + o) / i, -(-e + o) / i] - } - return n !== r && 0 === i ? [(2 * n - r) / (2 * (n - r))] : [] - } - if (2 === e.length) { - const t = e[0], - n = e[1] - return t !== n ? [t / (t - n)] : [] - } - return [] - }, - curvature: function (e, t, n, r, i) { - let o, - a, - s, - u, - l = 0, - c = 0 - const d = qi.compute(e, t), - f = qi.compute(e, n), - h = d.x * d.x + d.y * d.y - if ( - (r - ? ((o = Ni( - Ii(d.y * f.z - f.y * d.z, 2) + - Ii(d.z * f.x - f.z * d.x, 2) + - Ii(d.x * f.y - f.x * d.y, 2), - )), - (a = Ii(h + d.z * d.z, 1.5))) - : ((o = d.x * f.y - d.y * f.x), (a = Ii(h, 1.5))), - 0 === o || 0 === a) - ) - return { k: 0, r: 0 } - if (((l = o / a), (c = a / o), !i)) { - const i = qi.curvature(e - 0.001, t, n, r, !0).k, - o = qi.curvature(e + 0.001, t, n, r, !0).k - ;(u = (o - l + (l - i)) / 2), (s = (Mi(o - l) + Mi(l - i)) / 2) - } - return { k: l, r: c, dk: u, adk: s } - }, - inflections: function (e) { - if (e.length < 4) return [] - const t = qi.align(e, { p1: e[0], p2: e.slice(-1)[0] }), - n = t[2].x * t[1].y, - r = t[3].x * t[1].y, - i = t[1].x * t[2].y, - o = 18 * (-3 * n + 2 * r + 3 * i - t[3].x * t[2].y), - a = 18 * (3 * n - r - 3 * i), - s = 18 * (i - n) - if (qi.approximately(o, 0)) { - if (!qi.approximately(a, 0)) { - let e = -s / a - if (0 <= e && e <= 1) return [e] - } - return [] - } - const u = a * a - 4 * o * s, - l = Math.sqrt(u), - c = 2 * o - return qi.approximately(c, 0) - ? [] - : [(l - a) / c, -(a + l) / c].filter(function (e) { - return 0 <= e && e <= 1 - }) - }, - bboxoverlap: function (e, t) { - const n = ['x', 'y'], - r = n.length - for (let i, o, a, s, u = 0; u < r; u++) - if ( - ((i = n[u]), - (o = e[i].mid), - (a = t[i].mid), - (s = (e[i].size + t[i].size) / 2), - Mi(o - a) >= s) - ) - return !1 - return !0 - }, - expandbox: function (e, t) { - t.x.min < e.x.min && (e.x.min = t.x.min), - t.y.min < e.y.min && (e.y.min = t.y.min), - t.z && t.z.min < e.z.min && (e.z.min = t.z.min), - t.x.max > e.x.max && (e.x.max = t.x.max), - t.y.max > e.y.max && (e.y.max = t.y.max), - t.z && t.z.max > e.z.max && (e.z.max = t.z.max), - (e.x.mid = (e.x.min + e.x.max) / 2), - (e.y.mid = (e.y.min + e.y.max) / 2), - e.z && (e.z.mid = (e.z.min + e.z.max) / 2), - (e.x.size = e.x.max - e.x.min), - (e.y.size = e.y.max - e.y.min), - e.z && (e.z.size = e.z.max - e.z.min) - }, - pairiteration: function (e, t, n) { - const r = e.bbox(), - i = t.bbox(), - o = 1e5, - a = n || 0.5 - if (r.x.size + r.y.size < a && i.x.size + i.y.size < a) - return [ - (((o * (e._t1 + e._t2)) / 2) | 0) / o + '/' + (((o * (t._t1 + t._t2)) / 2) | 0) / o, - ] - let s = e.split(0.5), - u = t.split(0.5), - l = [ - { left: s.left, right: u.left }, - { left: s.left, right: u.right }, - { left: s.right, right: u.right }, - { left: s.right, right: u.left }, - ] - l = l.filter(function (e) { - return qi.bboxoverlap(e.left.bbox(), e.right.bbox()) - }) - let c = [] - return ( - 0 === l.length || - (l.forEach(function (e) { - c = c.concat(qi.pairiteration(e.left, e.right, a)) - }), - (c = c.filter(function (e, t) { - return c.indexOf(e) === t - }))), - c - ) - }, - getccenter: function (e, t, n) { - const r = t.x - e.x, - i = t.y - e.y, - o = n.x - t.x, - a = n.y - t.y, - s = r * Ri(Fi) - i * ji(Fi), - u = r * ji(Fi) + i * Ri(Fi), - l = o * Ri(Fi) - a * ji(Fi), - c = o * ji(Fi) + a * Ri(Fi), - d = (e.x + t.x) / 2, - f = (e.y + t.y) / 2, - h = (t.x + n.x) / 2, - p = (t.y + n.y) / 2, - v = d + s, - m = f + u, - g = h + l, - y = p + c, - b = qi.lli8(d, f, v, m, h, p, g, y), - w = qi.dist(b, e) - let x, - E = Li(e.y - b.y, e.x - b.x), - k = Li(t.y - b.y, t.x - b.x), - T = Li(n.y - b.y, n.x - b.x) - return ( - E < T - ? ((E > k || k > T) && (E += Bi), E > T && ((x = T), (T = E), (E = x))) - : T < k && k < E - ? ((x = T), (T = E), (E = x)) - : (T += Bi), - (b.s = E), - (b.e = T), - (b.r = w), - b - ) - }, - numberSort: function (e, t) { - return e - t - }, - } - class Wi { - constructor(e) { - ;(this.curves = []), - (this._3d = !1), - e && ((this.curves = e), (this._3d = this.curves[0]._3d)) - } - valueOf() { - return this.toString() - } - toString() { - return ( - '[' + - this.curves - .map(function (e) { - return qi.pointsToString(e.points) - }) - .join(', ') + - ']' - ) - } - addCurve(e) { - this.curves.push(e), (this._3d = this._3d || e._3d) - } - length() { - return this.curves - .map(function (e) { - return e.length() - }) - .reduce(function (e, t) { - return e + t - }) - } - curve(e) { - return this.curves[e] - } - bbox() { - const e = this.curves - for (var t = e[0].bbox(), n = 1; n < e.length; n++) qi.expandbox(t, e[n].bbox()) - return t - } - offset(e) { - const t = [] - return ( - this.curves.forEach(function (n) { - t.push(...n.offset(e)) - }), - new Wi(t) - ) - } - } - const { abs: Ki, min: Zi, max: $i, cos: Xi, sin: Yi, acos: Qi, sqrt: Ji } = Math, - eo = Math.PI - class to { - constructor(e) { - let t = e && e.forEach ? e : Array.from(arguments).slice(), - n = !1 - if ('object' === typeof t[0]) { - n = t.length - const e = [] - t.forEach(function (t) { - ;['x', 'y', 'z'].forEach(function (n) { - 'undefined' !== typeof t[n] && e.push(t[n]) - }) - }), - (t = e) - } - let r = !1 - const i = t.length - if (n) { - if (n > 4) { - if (1 !== arguments.length) - throw new Error( - 'Only new Bezier(point[]) is accepted for 4th and higher order curves', - ) - r = !0 - } - } else if (6 !== i && 8 !== i && 9 !== i && 12 !== i && 1 !== arguments.length) - throw new Error('Only new Bezier(point[]) is accepted for 4th and higher order curves') - const o = (this._3d = - (!r && (9 === i || 12 === i)) || (e && e[0] && 'undefined' !== typeof e[0].z)), - a = (this.points = []) - for (let d = 0, f = o ? 3 : 2; d < i; d += f) { - var s = { x: t[d], y: t[d + 1] } - o && (s.z = t[d + 2]), a.push(s) - } - const u = (this.order = a.length - 1), - l = (this.dims = ['x', 'y']) - o && l.push('z'), (this.dimlen = l.length) - const c = qi.align(a, { p1: a[0], p2: a[u] }) - ;(this._linear = !c.some((e) => Ki(e.y) > 1e-4)), - (this._lut = []), - (this._t1 = 0), - (this._t2 = 1), - this.update() - } - static quadraticFromPoints(e, t, n, r) { - if (('undefined' === typeof r && (r = 0.5), 0 === r)) return new to(t, t, n) - if (1 === r) return new to(e, t, t) - const i = to.getABC(2, e, t, n, r) - return new to(e, i.A, n) - } - static cubicFromPoints(e, t, n, r, i) { - 'undefined' === typeof r && (r = 0.5) - const o = to.getABC(3, e, t, n, r) - 'undefined' === typeof i && (i = qi.dist(t, o.C)) - const a = (i * (1 - r)) / r, - s = qi.dist(e, n), - u = (n.x - e.x) / s, - l = (n.y - e.y) / s, - c = i * u, - d = i * l, - f = a * u, - h = a * l, - p = t.x - c, - v = t.y - d, - m = t.x + f, - g = t.y + h, - y = o.A, - b = y.x + (p - y.x) / (1 - r), - w = y.y + (v - y.y) / (1 - r), - x = y.x + (m - y.x) / r, - E = y.y + (g - y.y) / r, - k = { x: e.x + (b - e.x) / r, y: e.y + (w - e.y) / r }, - T = { x: n.x + (x - n.x) / (1 - r), y: n.y + (E - n.y) / (1 - r) } - return new to(e, k, T, n) - } - static getUtils() { - return qi - } - getUtils() { - return to.getUtils() - } - static get PolyBezier() { - return Wi - } - valueOf() { - return this.toString() - } - toString() { - return qi.pointsToString(this.points) - } - toSVG() { - if (this._3d) return !1 - const e = this.points, - t = ['M', e[0].x, e[0].y, 2 === this.order ? 'Q' : 'C'] - for (let n = 1, r = e.length; n < r; n++) t.push(e[n].x), t.push(e[n].y) - return t.join(' ') - } - setRatios(e) { - if (e.length !== this.points.length) throw new Error('incorrect number of ratio values') - ;(this.ratios = e), (this._lut = []) - } - verify() { - const e = this.coordDigest() - e !== this._print && ((this._print = e), this.update()) - } - coordDigest() { - return this.points - .map(function (e, t) { - return '' + t + e.x + e.y + (e.z ? e.z : 0) - }) - .join('') - } - update() { - ;(this._lut = []), - (this.dpoints = qi.derive(this.points, this._3d)), - this.computedirection() - } - computedirection() { - const e = this.points, - t = qi.angle(e[0], e[this.order], e[1]) - this.clockwise = t > 0 - } - length() { - return qi.length(this.derivative.bind(this)) - } - static getABC(e = 2, t, n, r, i = 0.5) { - const o = qi.projectionratio(i, e), - a = 1 - o, - s = { x: o * t.x + a * r.x, y: o * t.y + a * r.y }, - u = qi.abcratio(i, e) - return { - A: { x: n.x + (n.x - s.x) / u, y: n.y + (n.y - s.y) / u }, - B: n, - C: s, - S: t, - E: r, - } - } - getABC(e, t) { - t = t || this.get(e) - let n = this.points[0], - r = this.points[this.order] - return to.getABC(this.order, n, t, r, e) - } - getLUT(e) { - if ((this.verify(), (e = e || 100), this._lut.length === e)) return this._lut - ;(this._lut = []), e-- - for (let t, n, r = 0; r < e; r++) - (n = r / (e - 1)), (t = this.compute(n)), (t.t = n), this._lut.push(t) - return this._lut - } - on(e, n) { - n = n || 5 - const r = this.getLUT(), - i = [] - for (let t, o = 0, a = 0; o < r.length; o++) - (t = r[o]), qi.dist(t, e) < n && (i.push(t), (a += o / r.length)) - return !!i.length && (t /= i.length) - } - project(e) { - const t = this.getLUT(), - n = t.length - 1, - r = qi.closest(t, e), - i = r.mpos, - o = (i - 1) / n, - a = (i + 1) / n, - s = 0.1 / n - let u, - l, - c = r.mdist, - d = o, - f = d - for (c += 1; d < a + s; d += s) - (u = this.compute(d)), (l = qi.dist(e, u)), l < c && ((c = l), (f = d)) - return (f = f < 0 ? 0 : f > 1 ? 1 : f), (u = this.compute(f)), (u.t = f), (u.d = c), u - } - get(e) { - return this.compute(e) - } - point(e) { - return this.points[e] - } - compute(e) { - return this.ratios - ? qi.computeWithRatios(e, this.points, this.ratios, this._3d) - : qi.compute(e, this.points, this._3d, this.ratios) - } - raise() { - const e = this.points, - t = [e[0]], - n = e.length - for (let r, i, o = 1; o < n; o++) - (r = e[o]), - (i = e[o - 1]), - (t[o] = { - x: ((n - o) / n) * r.x + (o / n) * i.x, - y: ((n - o) / n) * r.y + (o / n) * i.y, - }) - return (t[n] = e[n - 1]), new to(t) - } - derivative(e) { - return qi.compute(e, this.dpoints[0], this._3d) - } - dderivative(e) { - return qi.compute(e, this.dpoints[1], this._3d) - } - align() { - let e = this.points - return new to(qi.align(e, { p1: e[0], p2: e[e.length - 1] })) - } - curvature(e) { - return qi.curvature(e, this.dpoints[0], this.dpoints[1], this._3d) - } - inflections() { - return qi.inflections(this.points) - } - normal(e) { - return this._3d ? this.__normal3(e) : this.__normal2(e) - } - __normal2(e) { - const t = this.derivative(e), - n = Ji(t.x * t.x + t.y * t.y) - return { x: -t.y / n, y: t.x / n } - } - __normal3(e) { - const t = this.derivative(e), - n = this.derivative(e + 0.01), - r = Ji(t.x * t.x + t.y * t.y + t.z * t.z), - i = Ji(n.x * n.x + n.y * n.y + n.z * n.z) - ;(t.x /= r), (t.y /= r), (t.z /= r), (n.x /= i), (n.y /= i), (n.z /= i) - const o = { - x: n.y * t.z - n.z * t.y, - y: n.z * t.x - n.x * t.z, - z: n.x * t.y - n.y * t.x, - }, - a = Ji(o.x * o.x + o.y * o.y + o.z * o.z) - ;(o.x /= a), (o.y /= a), (o.z /= a) - const s = [ - o.x * o.x, - o.x * o.y - o.z, - o.x * o.z + o.y, - o.x * o.y + o.z, - o.y * o.y, - o.y * o.z - o.x, - o.x * o.z - o.y, - o.y * o.z + o.x, - o.z * o.z, - ] - return { - x: s[0] * t.x + s[1] * t.y + s[2] * t.z, - y: s[3] * t.x + s[4] * t.y + s[5] * t.z, - z: s[6] * t.x + s[7] * t.y + s[8] * t.z, - } - } - hull(e) { - let t = this.points, - n = [], - r = [], - i = 0 - for ( - r[i++] = t[0], r[i++] = t[1], r[i++] = t[2], 3 === this.order && (r[i++] = t[3]); - t.length > 1; - - ) { - n = [] - for (let o, a = 0, s = t.length - 1; a < s; a++) - (o = qi.lerp(e, t[a], t[a + 1])), (r[i++] = o), n.push(o) - t = n - } - return r - } - split(e, t) { - if (0 === e && t) return this.split(t).left - if (1 === t) return this.split(e).right - const n = this.hull(e), - r = { - left: - 2 === this.order ? new to([n[0], n[3], n[5]]) : new to([n[0], n[4], n[7], n[9]]), - right: - 2 === this.order ? new to([n[5], n[4], n[2]]) : new to([n[9], n[8], n[6], n[3]]), - span: n, - } - return ( - (r.left._t1 = qi.map(0, 0, 1, this._t1, this._t2)), - (r.left._t2 = qi.map(e, 0, 1, this._t1, this._t2)), - (r.right._t1 = qi.map(e, 0, 1, this._t1, this._t2)), - (r.right._t2 = qi.map(1, 0, 1, this._t1, this._t2)), - t ? ((t = qi.map(t, e, 1, 0, 1)), r.right.split(t).left) : r - ) - } - extrema() { - const e = {} - let t = [] - return ( - this.dims.forEach( - function (n) { - let r = function (e) { - return e[n] - }, - i = this.dpoints[0].map(r) - ;(e[n] = qi.droots(i)), - 3 === this.order && - ((i = this.dpoints[1].map(r)), (e[n] = e[n].concat(qi.droots(i)))), - (e[n] = e[n].filter(function (e) { - return e >= 0 && e <= 1 - })), - (t = t.concat(e[n].sort(qi.numberSort))) - }.bind(this), - ), - (e.values = t.sort(qi.numberSort).filter(function (e, n) { - return t.indexOf(e) === n - })), - e - ) - } - bbox() { - const e = this.extrema(), - t = {} - return ( - this.dims.forEach( - function (n) { - t[n] = qi.getminmax(this, n, e[n]) - }.bind(this), - ), - t - ) - } - overlaps(e) { - const t = this.bbox(), - n = e.bbox() - return qi.bboxoverlap(t, n) - } - offset(e, t) { - if ('undefined' !== typeof t) { - const n = this.get(e), - r = this.normal(e), - i = { c: n, n: r, x: n.x + r.x * t, y: n.y + r.y * t } - return this._3d && (i.z = n.z + r.z * t), i - } - if (this._linear) { - const t = this.normal(0), - n = this.points.map(function (n) { - const r = { x: n.x + e * t.x, y: n.y + e * t.y } - return n.z && t.z && (r.z = n.z + e * t.z), r - }) - return [new to(n)] - } - return this.reduce().map(function (t) { - return t._linear ? t.offset(e)[0] : t.scale(e) - }) - } - simple() { - if (3 === this.order) { - const e = qi.angle(this.points[0], this.points[3], this.points[1]), - t = qi.angle(this.points[0], this.points[3], this.points[2]) - if ((e > 0 && t < 0) || (e < 0 && t > 0)) return !1 - } - const e = this.normal(0), - t = this.normal(1) - let n = e.x * t.x + e.y * t.y - return this._3d && (n += e.z * t.z), Ki(Qi(n)) < eo / 3 - } - reduce() { - let e, - t, - n = 0, - r = 0, - i = 0.01, - o = [], - a = [], - s = this.extrema().values - for ( - -1 === s.indexOf(0) && (s = [0].concat(s)), - -1 === s.indexOf(1) && s.push(1), - n = s[0], - e = 1; - e < s.length; - e++ - ) - (r = s[e]), (t = this.split(n, r)), (t._t1 = n), (t._t2 = r), o.push(t), (n = r) - return ( - o.forEach(function (e) { - for (n = 0, r = 0; r <= 1; ) - for (r = n + i; r <= 1.01; r += i) - if (((t = e.split(n, r)), !t.simple())) { - if (((r -= i), Ki(n - r) < i)) return [] - ;(t = e.split(n, r)), - (t._t1 = qi.map(n, 0, 1, e._t1, e._t2)), - (t._t2 = qi.map(r, 0, 1, e._t1, e._t2)), - a.push(t), - (n = r) - break - } - n < 1 && - ((t = e.split(n, 1)), - (t._t1 = qi.map(n, 0, 1, e._t1, e._t2)), - (t._t2 = e._t2), - a.push(t)) - }), - a - ) - } - scale(e) { - const t = this.order - let n = !1 - if (('function' === typeof e && (n = e), n && 2 === t)) return this.raise().scale(n) - const r = this.clockwise, - i = n ? n(0) : e, - o = n ? n(1) : e, - a = [this.offset(0, 10), this.offset(1, 10)], - s = this.points, - u = [], - l = qi.lli4(a[0], a[0].c, a[1], a[1].c) - if (!l) throw new Error('cannot scale this curve. Try reducing it first.') - return ( - [0, 1].forEach(function (e) { - const n = (u[e * t] = qi.copy(s[e * t])) - ;(n.x += (e ? o : i) * a[e].n.x), (n.y += (e ? o : i) * a[e].n.y) - }), - n - ? ([0, 1].forEach(function (i) { - if (2 !== t || !i) { - var o = s[i + 1], - a = { x: o.x - l.x, y: o.y - l.y }, - c = n ? n((i + 1) / t) : e - n && !r && (c = -c) - var d = Ji(a.x * a.x + a.y * a.y) - ;(a.x /= d), (a.y /= d), (u[i + 1] = { x: o.x + c * a.x, y: o.y + c * a.y }) - } - }), - new to(u)) - : ([0, 1].forEach((e) => { - if (2 === t && e) return - const n = u[e * t], - r = this.derivative(e), - i = { x: n.x + r.x, y: n.y + r.y } - u[e + 1] = qi.lli4(n, i, l, s[e + 1]) - }), - new to(u)) - ) - } - outline(e, t, n, r) { - t = 'undefined' === typeof t ? e : t - const i = this.reduce(), - o = i.length, - a = [] - let s, - u = [], - l = 0, - c = this.length() - const d = 'undefined' !== typeof n && 'undefined' !== typeof r - function f(e, t, n, r, i) { - return function (o) { - const a = r / n, - s = (r + i) / n, - u = t - e - return qi.map(o, 0, 1, e + a * u, e + s * u) - } - } - i.forEach(function (i) { - const o = i.length() - d - ? (a.push(i.scale(f(e, n, c, l, o))), u.push(i.scale(f(-t, -r, c, l, o)))) - : (a.push(i.scale(e)), u.push(i.scale(-t))), - (l += o) - }), - (u = u - .map(function (e) { - return ( - (s = e.points), - s[3] ? (e.points = [s[3], s[2], s[1], s[0]]) : (e.points = [s[2], s[1], s[0]]), - e - ) - }) - .reverse()) - const h = a[0].points[0], - p = a[o - 1].points[a[o - 1].points.length - 1], - v = u[o - 1].points[u[o - 1].points.length - 1], - m = u[0].points[0], - g = qi.makeline(v, h), - y = qi.makeline(p, m), - b = [g].concat(a).concat([y]).concat(u) - b.length - return new Wi(b) - } - outlineshapes(e, t, n) { - t = t || e - const r = this.outline(e, t).curves, - i = [] - for (let o = 1, a = r.length; o < a / 2; o++) { - const e = qi.makeshape(r[o], r[a - o], n) - ;(e.startcap.virtual = o > 1), (e.endcap.virtual = o < a / 2 - 1), i.push(e) - } - return i - } - intersects(e, t) { - return e - ? e.p1 && e.p2 - ? this.lineIntersects(e) - : (e instanceof to && (e = e.reduce()), this.curveintersects(this.reduce(), e, t)) - : this.selfintersects(t) - } - lineIntersects(e) { - const t = Zi(e.p1.x, e.p2.x), - n = Zi(e.p1.y, e.p2.y), - r = $i(e.p1.x, e.p2.x), - i = $i(e.p1.y, e.p2.y) - return qi.roots(this.points, e).filter((e) => { - var o = this.get(e) - return qi.between(o.x, t, r) && qi.between(o.y, n, i) - }) - } - selfintersects(e) { - const t = this.reduce(), - n = t.length - 2, - r = [] - for (let i, o, a, s = 0; s < n; s++) - (o = t.slice(s, s + 1)), - (a = t.slice(s + 2)), - (i = this.curveintersects(o, a, e)), - r.push(...i) - return r - } - curveintersects(e, t, n) { - const r = [] - e.forEach(function (e) { - t.forEach(function (t) { - e.overlaps(t) && r.push({ left: e, right: t }) - }) - }) - let i = [] - return ( - r.forEach(function (e) { - const t = qi.pairiteration(e.left, e.right, n) - t.length > 0 && (i = i.concat(t)) - }), - i - ) - } - arcs(e) { - return (e = e || 0.5), this._iterate(e, []) - } - _error(e, t, n, r) { - const i = (r - n) / 4, - o = this.get(n + i), - a = this.get(r - i), - s = qi.dist(e, t), - u = qi.dist(e, o), - l = qi.dist(e, a) - return Ki(u - s) + Ki(l - s) - } - _iterate(e, t) { - let n, - r = 0, - i = 1 - do { - ;(n = 0), (i = 1) - let o, - a, - s, - u, - l, - c = this.get(r), - d = !1, - f = !1, - h = i, - p = 1, - v = 0 - do { - if ( - ((f = d), - (u = s), - (h = (r + i) / 2), - v++, - (o = this.get(h)), - (a = this.get(i)), - (s = qi.getccenter(c, o, a)), - (s.interval = { start: r, end: i }), - (d = this._error(s, c, r, i) <= e), - (l = f && !d), - l || (p = i), - d) - ) { - if (i >= 1) { - if (((s.interval.end = p = 1), (u = s), i > 1)) { - let e = { x: s.x + s.r * Xi(s.e), y: s.y + s.r * Yi(s.e) } - s.e += qi.angle({ x: s.x, y: s.y }, e, this.get(1)) - } - break - } - i += (i - r) / 2 - } else i = h - } while (!l && n++ < 100) - if (n >= 100) break - ;(u = u || s), t.push(u), (r = p) - } while (i < 1) - return t - } - } - var no = r(1527), - ro = r(2462), - io = r(2816) - function oo(e, t) { - var n = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - t && - (r = r.filter(function (t) { - return Object.getOwnPropertyDescriptor(e, t).enumerable - })), - n.push.apply(n, r) - } - return n - } - function ao(e) { - for (var t = 1; t < arguments.length; t++) { - var n = null != arguments[t] ? arguments[t] : {} - t % 2 - ? oo(Object(n), !0).forEach(function (t) { - uo(e, t, n[t]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) - : oo(Object(n)).forEach(function (t) { - Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) - }) - } - return e - } - function so(e) { - return (so = - 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator - ? function (e) { - return typeof e - } - : function (e) { - return e && - 'function' === typeof Symbol && - e.constructor === Symbol && - e !== Symbol.prototype - ? 'symbol' - : typeof e - })(e) - } - function uo(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function lo(e, t) { - return (lo = - Object.setPrototypeOf || - function (e, t) { - return (e.__proto__ = t), e - })(e, t) - } - function co() { - if ('undefined' === typeof Reflect || !Reflect.construct) return !1 - if (Reflect.construct.sham) return !1 - if ('function' === typeof Proxy) return !0 - try { - return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0 - } catch (e) { - return !1 - } - } - function fo(e, t, n) { - return (fo = co() - ? Reflect.construct - : function (e, t, n) { - var r = [null] - r.push.apply(r, t) - var i = new (Function.bind.apply(e, r))() - return n && lo(i, n.prototype), i - }).apply(null, arguments) - } - function ho(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = - null == e - ? null - : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'] - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - vo(e, t) || - (function () { - 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 po(e) { - return ( - (function (e) { - if (Array.isArray(e)) return mo(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - vo(e) || - (function () { - 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 vo(e, t) { - if (e) { - if ('string' === typeof e) return mo(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? mo(e, t) - : void 0 - ) - } - } - function mo(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - !(function (e, t) { - void 0 === t && (t = {}) - var n = t.insertAt - if (e && 'undefined' !== typeof document) { - var r = document.head || document.getElementsByTagName('head')[0], - i = document.createElement('style') - ;(i.type = 'text/css'), - 'top' === n && r.firstChild ? r.insertBefore(i, r.firstChild) : r.appendChild(i), - i.styleSheet ? (i.styleSheet.cssText = e) : i.appendChild(document.createTextNode(e)) - } - })( - '.force-graph-container canvas {\n display: block;\n user-select: none;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.force-graph-container .graph-tooltip {\n position: absolute;\n transform: translate(-50%, 25px);\n font-family: sans-serif;\n font-size: 16px;\n padding: 4px;\n border-radius: 3px;\n color: #eee;\n background: rgba(0,0,0,0.65);\n visibility: hidden; /* by default */\n}\n\n.force-graph-container .clickable {\n cursor: pointer;\n}\n\n.force-graph-container .grabbable {\n cursor: move;\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n\n.force-graph-container .grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n', - ) - var go = (0, ro.Z)(io.Z) - function yo(e, t, n) { - t && - 'string' === typeof n && - e - .filter(function (e) { - return !e[n] - }) - .forEach(function (e) { - e[n] = go(t(e)) - }) - } - var bo = function (e, t) { - return t.onNeedsRedraw && t.onNeedsRedraw() - }, - wo = (0, b.Z)({ - props: { - graphData: { - default: { nodes: [], links: [] }, - onChange: function (e, t) { - t.engineRunning = !1 - }, - }, - dagMode: { - onChange: function (e, t) { - !e && - (t.graphData.nodes || []).forEach(function (e) { - return (e.fx = e.fy = void 0) - }) - }, - }, - dagLevelDistance: {}, - dagNodeFilter: { - default: function (e) { - return !0 - }, - }, - onDagError: { triggerUpdate: !1 }, - nodeRelSize: { default: 4, triggerUpdate: !1, onChange: bo }, - nodeId: { default: 'id' }, - nodeVal: { default: 'val', triggerUpdate: !1, onChange: bo }, - nodeColor: { default: 'color', triggerUpdate: !1, onChange: bo }, - nodeAutoColorBy: {}, - nodeCanvasObject: { triggerUpdate: !1, onChange: bo }, - nodeCanvasObjectMode: { - default: function () { - return 'replace' - }, - triggerUpdate: !1, - onChange: bo, - }, - nodeVisibility: { default: !0, triggerUpdate: !1, onChange: bo }, - linkSource: { default: 'source' }, - linkTarget: { default: 'target' }, - linkVisibility: { default: !0, triggerUpdate: !1, onChange: bo }, - linkColor: { default: 'color', triggerUpdate: !1, onChange: bo }, - linkAutoColorBy: {}, - linkLineDash: { triggerUpdate: !1, onChange: bo }, - linkWidth: { default: 1, triggerUpdate: !1, onChange: bo }, - linkCurvature: { default: 0, triggerUpdate: !1, onChange: bo }, - linkCanvasObject: { triggerUpdate: !1, onChange: bo }, - linkCanvasObjectMode: { - default: function () { - return 'replace' - }, - triggerUpdate: !1, - onChange: bo, - }, - linkDirectionalArrowLength: { default: 0, triggerUpdate: !1, onChange: bo }, - linkDirectionalArrowColor: { triggerUpdate: !1, onChange: bo }, - linkDirectionalArrowRelPos: { default: 0.5, triggerUpdate: !1, onChange: bo }, - linkDirectionalParticles: { default: 0 }, - linkDirectionalParticleSpeed: { default: 0.01, triggerUpdate: !1 }, - linkDirectionalParticleWidth: { default: 4, triggerUpdate: !1 }, - linkDirectionalParticleColor: { triggerUpdate: !1 }, - globalScale: { default: 1, triggerUpdate: !1 }, - d3AlphaMin: { default: 0, triggerUpdate: !1 }, - d3AlphaDecay: { - default: 0.0228, - triggerUpdate: !1, - onChange: function (e, t) { - t.forceLayout.alphaDecay(e) - }, - }, - d3AlphaTarget: { - default: 0, - triggerUpdate: !1, - onChange: function (e, t) { - t.forceLayout.alphaTarget(e) - }, - }, - d3VelocityDecay: { - default: 0.4, - triggerUpdate: !1, - onChange: function (e, t) { - t.forceLayout.velocityDecay(e) - }, - }, - warmupTicks: { default: 0, triggerUpdate: !1 }, - cooldownTicks: { default: 1 / 0, triggerUpdate: !1 }, - cooldownTime: { default: 15e3, triggerUpdate: !1 }, - onUpdate: { default: function () {}, triggerUpdate: !1 }, - onFinishUpdate: { default: function () {}, triggerUpdate: !1 }, - onEngineTick: { default: function () {}, triggerUpdate: !1 }, - onEngineStop: { default: function () {}, triggerUpdate: !1 }, - onNeedsRedraw: { triggerUpdate: !1 }, - isShadow: { default: !1, triggerUpdate: !1 }, - }, - methods: { - d3Force: function (e, t, n) { - return void 0 === n ? e.forceLayout.force(t) : (e.forceLayout.force(t, n), this) - }, - d3ReheatSimulation: function (e) { - return e.forceLayout.alpha(1), this.resetCountdown(), this - }, - resetCountdown: function (e) { - return (e.cntTicks = 0), (e.startTickTime = new Date()), (e.engineRunning = !0), this - }, - isEngineRunning: function (e) { - return !!e.engineRunning - }, - tickFrame: function (e) { - return ( - !e.isShadow && - e.engineRunning && - (++e.cntTicks > e.cooldownTicks || - new Date() - e.startTickTime > e.cooldownTime || - (e.d3AlphaMin > 0 && e.forceLayout.alpha() < e.d3AlphaMin) - ? ((e.engineRunning = !1), e.onEngineStop()) - : (e.forceLayout.tick(), e.onEngineTick())), - (function () { - var t = (0, w.default)(e.linkVisibility), - n = (0, w.default)(e.linkColor), - r = (0, w.default)(e.linkWidth), - i = (0, w.default)(e.linkLineDash), - o = (0, w.default)(e.linkCurvature), - a = (0, w.default)(e.linkCanvasObjectMode), - s = e.ctx, - u = 2 * e.isShadow, - l = e.graphData.links.filter(t) - l.forEach(function (e) { - var t = o(e) - if (!t) return void (e.__controlPoints = null) - var n = e.source, - r = e.target - if (!n || !r || !n.hasOwnProperty('x') || !r.hasOwnProperty('x')) return - var i = Math.sqrt(Math.pow(r.x - n.x, 2) + Math.pow(r.y - n.y, 2)) - if (i > 0) { - var a = Math.atan2(r.y - n.y, r.x - n.x), - s = i * t, - u = { - x: (n.x + r.x) / 2 + s * Math.cos(a - Math.PI / 2), - y: (n.y + r.y) / 2 + s * Math.sin(a - Math.PI / 2), - } - e.__controlPoints = [u.x, u.y] - } else { - var l = 70 * t - e.__controlPoints = [r.x, r.y - l, r.x + l, r.y] - } - }) - var c = [], - d = [], - f = l - if (e.linkCanvasObject) { - var h = [], - p = [] - l.forEach(function (e) { - return ({ before: c, after: d, replace: h }[a(e)] || p).push(e) - }), - (f = [].concat(po(c), d, p)), - (c = c.concat(h)) - } - s.save(), - c.forEach(function (t) { - return e.linkCanvasObject(t, s, e.globalScale) - }), - s.restore() - var v = (0, no.Z)(f, [n, r, i]) - s.save(), - Object.entries(v).forEach(function (t) { - var n = ho(t, 2), - r = n[0], - o = n[1], - a = r && 'undefined' !== r ? r : 'rgba(0,0,0,0.15)' - Object.entries(o).forEach(function (t) { - var n = ho(t, 2), - r = n[0], - o = n[1], - l = (r || 1) / e.globalScale + u - Object.entries(o).forEach(function (e) { - var t = ho(e, 2) - t[0] - var n = t[1], - r = i(n[0]) - s.beginPath(), - n.forEach(function (e) { - var t = e.source, - n = e.target - if (t && n && t.hasOwnProperty('x') && n.hasOwnProperty('x')) { - s.moveTo(t.x, t.y) - var r = e.__controlPoints - r - ? s[2 === r.length ? 'quadraticCurveTo' : 'bezierCurveTo'].apply( - s, - po(r).concat([n.x, n.y]), - ) - : s.lineTo(n.x, n.y) - } - }), - (s.strokeStyle = a), - (s.lineWidth = l), - s.setLineDash(r || []), - s.stroke() - }) - }) - }), - s.restore(), - s.save(), - d.forEach(function (t) { - return e.linkCanvasObject(t, s, e.globalScale) - }), - s.restore() - })(), - !e.isShadow && - (function () { - var t = (0, w.default)(e.linkDirectionalArrowLength), - n = (0, w.default)(e.linkDirectionalArrowRelPos), - r = (0, w.default)(e.linkVisibility), - i = (0, w.default)(e.linkDirectionalArrowColor || e.linkColor), - o = (0, w.default)(e.nodeVal), - a = e.ctx - a.save(), - e.graphData.links.filter(r).forEach(function (r) { - var s = t(r) - if (s && !(s < 0)) { - var u = r.source, - l = r.target - if (u && l && u.hasOwnProperty('x') && l.hasOwnProperty('x')) { - var c = Math.sqrt(Math.max(0, o(u) || 1)) * e.nodeRelSize, - d = Math.sqrt(Math.max(0, o(l) || 1)) * e.nodeRelSize, - f = Math.min(1, Math.max(0, n(r))), - h = i(r) || 'rgba(0,0,0,0.28)', - p = s / 1.6 / 2, - v = - r.__controlPoints && - fo(to, [u.x, u.y].concat(po(r.__controlPoints), [l.x, l.y])), - m = v - ? function (e) { - return v.get(e) - } - : function (e) { - return { - x: u.x + (l.x - u.x) * e || 0, - y: u.y + (l.y - u.y) * e || 0, - } - }, - g = v - ? v.length() - : Math.sqrt(Math.pow(l.x - u.x, 2) + Math.pow(l.y - u.y, 2)), - y = c + s + (g - c - d - s) * f, - b = m(y / g), - w = m((y - s) / g), - x = m((y - 0.8 * s) / g), - E = Math.atan2(b.y - w.y, b.x - w.x) - Math.PI / 2 - a.beginPath(), - a.moveTo(b.x, b.y), - a.lineTo(w.x + p * Math.cos(E), w.y + p * Math.sin(E)), - a.lineTo(x.x, x.y), - a.lineTo(w.x - p * Math.cos(E), w.y - p * Math.sin(E)), - (a.fillStyle = h), - a.fill() - } - } - }), - a.restore() - })(), - !e.isShadow && - (function () { - var t = (0, w.default)(e.linkDirectionalParticles), - n = (0, w.default)(e.linkDirectionalParticleSpeed), - r = (0, w.default)(e.linkDirectionalParticleWidth), - i = (0, w.default)(e.linkVisibility), - o = (0, w.default)(e.linkDirectionalParticleColor || e.linkColor), - a = e.ctx - a.save(), - e.graphData.links.filter(i).forEach(function (i) { - var s = t(i) - if (i.hasOwnProperty('__photons') && i.__photons.length) { - var u = i.source, - l = i.target - if (u && l && u.hasOwnProperty('x') && l.hasOwnProperty('x')) { - var c = n(i), - d = i.__photons || [], - f = Math.max(0, r(i) / 2) / Math.sqrt(e.globalScale), - h = o(i) || 'rgba(0,0,0,0.28)' - a.fillStyle = h - var p = i.__controlPoints - ? fo(to, [u.x, u.y].concat(po(i.__controlPoints), [l.x, l.y])) - : null, - v = 0, - m = !1 - d.forEach(function (e) { - var t = !!e.__singleHop - if ( - (e.hasOwnProperty('__progressRatio') || - (e.__progressRatio = t ? 0 : v / s), - !t && v++, - (e.__progressRatio += c), - e.__progressRatio >= 1) - ) { - if (t) return void (m = !0) - e.__progressRatio = e.__progressRatio % 1 - } - var n = e.__progressRatio, - r = p - ? p.get(n) - : { x: u.x + (l.x - u.x) * n || 0, y: u.y + (l.y - u.y) * n || 0 } - a.beginPath(), a.arc(r.x, r.y, f, 0, 2 * Math.PI, !1), a.fill() - }), - m && - (i.__photons = i.__photons.filter(function (e) { - return !e.__singleHop || e.__progressRatio <= 1 - })) - } - } - }), - a.restore() - })(), - (function () { - var t = (0, w.default)(e.nodeVisibility), - n = (0, w.default)(e.nodeVal), - r = (0, w.default)(e.nodeColor), - i = (0, w.default)(e.nodeCanvasObjectMode), - o = e.ctx, - a = e.isShadow / e.globalScale, - s = e.graphData.nodes.filter(t) - o.save(), - s.forEach(function (t) { - var s = i(t) - if ( - !e.nodeCanvasObject || - ('before' !== s && 'replace' !== s) || - (e.nodeCanvasObject(t, o, e.globalScale), 'replace' !== s) - ) { - var u = Math.sqrt(Math.max(0, n(t) || 1)) * e.nodeRelSize + a - o.beginPath(), - o.arc(t.x, t.y, u, 0, 2 * Math.PI, !1), - (o.fillStyle = r(t) || 'rgba(31, 120, 180, 0.92)'), - o.fill(), - e.nodeCanvasObject && - 'after' === s && - e.nodeCanvasObject(t, e.ctx, e.globalScale) - } else o.restore() - }), - o.restore() - })(), - this - ) - }, - emitParticle: function (e, t) { - return ( - t && (!t.__photons && (t.__photons = []), t.__photons.push({ __singleHop: !0 })), - this - ) - }, - }, - stateInit: function () { - return { - forceLayout: (0, Oi.Z)() - .force('link', (0, Ci.Z)()) - .force('charge', (0, Si.Z)()) - .force('center', (0, Ai.Z)()) - .force('dagRadial', null) - .stop(), - engineRunning: !1, - } - }, - init: function (e, t) { - t.ctx = e - }, - update: function (e) { - if ( - ((e.engineRunning = !1), - e.onUpdate(), - null !== e.nodeAutoColorBy && - yo(e.graphData.nodes, (0, w.default)(e.nodeAutoColorBy), e.nodeColor), - null !== e.linkAutoColorBy && - yo(e.graphData.links, (0, w.default)(e.linkAutoColorBy), e.linkColor), - e.graphData.links.forEach(function (t) { - ;(t.source = t[e.linkSource]), (t.target = t[e.linkTarget]) - }), - !e.isShadow) - ) { - var t = (0, w.default)(e.linkDirectionalParticles) - e.graphData.links.forEach(function (e) { - var n = Math.round(Math.abs(t(e))) - n - ? (e.__photons = po(Array(n)).map(function () { - return {} - })) - : delete e.__photons - }) - } - e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes) - var n = e.forceLayout.force('link') - n && - n - .id(function (t) { - return t[e.nodeId] - }) - .links(e.graphData.links) - var r = - e.dagMode && - (function (e, t) { - var n = e.nodes, - r = e.links, - i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - o = i.nodeFilter, - a = - void 0 === o - ? function () { - return !0 - } - : o, - s = i.onLoopError, - u = - void 0 === s - ? function (e) { - throw 'Invalid DAG structure! Found cycle in node path: '.concat( - e.join(' -> '), - '.', - ) - } - : s, - l = {} - n.forEach(function (e) { - return (l[t(e)] = { data: e, out: [], depth: -1, skip: !a(e) }) - }), - r.forEach(function (e) { - var n = e.source, - r = e.target, - i = u(n), - o = u(r) - if (!l.hasOwnProperty(i)) throw 'Missing source node with id: '.concat(i) - if (!l.hasOwnProperty(o)) throw 'Missing target node with id: '.concat(o) - var a = l[i], - s = l[o] - function u(e) { - return 'object' === so(e) ? t(e) : e - } - a.out.push(s) - }) - var c = [] - return ( - d(Object.values(l)), - Object.assign.apply( - Object, - [{}].concat( - po( - Object.entries(l) - .filter(function (e) { - return !ho(e, 2)[1].skip - }) - .map(function (e) { - var t = ho(e, 2) - return uo({}, t[0], t[1].depth) - }), - ), - ), - ) - ) - function d(e) { - for ( - var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [], - r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, - i = 0, - o = e.length; - i < o; - i++ - ) { - var a = e[i] - if (-1 !== n.indexOf(a)) - if ( - 'continue' === - (function () { - var e = [].concat(po(n.slice(n.indexOf(a))), [a]).map(function (e) { - return t(e.data) - }) - return ( - c.some(function (t) { - return ( - t.length === e.length && - t.every(function (t, n) { - return t === e[n] - }) - ) - }) || (c.push(e), u(e)), - 'continue' - ) - })() - ) - continue - r > a.depth && - ((a.depth = r), d(a.out, [].concat(po(n), [a]), r + (a.skip ? 0 : 1))) - } - } - })( - e.graphData, - function (t) { - return t[e.nodeId] - }, - { nodeFilter: e.dagNodeFilter, onLoopError: e.onDagError || void 0 }, - ), - i = Math.max.apply(Math, po(Object.values(r || []))), - o = - e.dagLevelDistance || - (e.graphData.nodes.length / (i || 1)) * - 2 * - (-1 !== ['radialin', 'radialout'].indexOf(e.dagMode) ? 0.7 : 1) - if (e.dagMode) { - var a = function (t, n) { - return function (a) { - return t ? (r[a[e.nodeId]] - i / 2) * o * (n ? -1 : 1) : void 0 - } - }, - s = a(-1 !== ['lr', 'rl'].indexOf(e.dagMode), 'rl' === e.dagMode), - u = a(-1 !== ['td', 'bu'].indexOf(e.dagMode), 'bu' === e.dagMode) - e.graphData.nodes.filter(e.dagNodeFilter).forEach(function (e) { - ;(e.fx = s(e)), (e.fy = u(e)) - }) - } - e.forceLayout.force( - 'dagRadial', - -1 !== ['radialin', 'radialout'].indexOf(e.dagMode) - ? (0, Pi.Z)(function (t) { - var n = r[t[e.nodeId]] || -1 - return ('radialin' === e.dagMode ? i - n : n) * o - }).strength(function (t) { - return e.dagNodeFilter(t) ? 1 : 0 - }) - : null, - ) - for ( - var l = 0; - l < e.warmupTicks && !(e.d3AlphaMin > 0 && e.forceLayout.alpha() < e.d3AlphaMin); - l++ - ) - e.forceLayout.tick() - this.resetCountdown(), e.onFinishUpdate() - }, - }) - function xo(e, t) { - var n = e instanceof Array ? e : [e], - r = new t() - return { - linkProp: function (e) { - return { - default: r[e](), - onChange: function (t, r) { - n.forEach(function (n) { - return r[n][e](t) - }) - }, - triggerUpdate: !1, - } - }, - linkMethod: function (e) { - return function (t) { - for (var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1; o < r; o++) - i[o - 1] = arguments[o] - var a = [] - return ( - n.forEach(function (n) { - var r = t[n], - o = r[e].apply(r, i) - o !== r && a.push(o) - }), - a.length ? a[0] : this - ) - } - }, - } - } - var Eo = xo('forceGraph', wo), - ko = xo(['forceGraph', 'shadowGraph'], wo), - To = Object.assign.apply( - Object, - po( - [ - 'nodeColor', - 'nodeAutoColorBy', - 'nodeCanvasObject', - 'nodeCanvasObjectMode', - 'linkColor', - 'linkAutoColorBy', - 'linkLineDash', - 'linkWidth', - 'linkCanvasObject', - 'linkCanvasObjectMode', - 'linkDirectionalArrowLength', - 'linkDirectionalArrowColor', - 'linkDirectionalArrowRelPos', - 'linkDirectionalParticles', - 'linkDirectionalParticleSpeed', - 'linkDirectionalParticleWidth', - 'linkDirectionalParticleColor', - 'dagMode', - 'dagLevelDistance', - 'dagNodeFilter', - 'onDagError', - 'd3AlphaMin', - 'd3AlphaDecay', - 'd3VelocityDecay', - 'warmupTicks', - 'cooldownTicks', - 'cooldownTime', - 'onEngineTick', - 'onEngineStop', - ].map(function (e) { - return uo({}, e, Eo.linkProp(e)) - }), - ).concat( - po( - [ - 'nodeRelSize', - 'nodeId', - 'nodeVal', - 'nodeVisibility', - 'linkSource', - 'linkTarget', - 'linkVisibility', - 'linkCurvature', - ].map(function (e) { - return uo({}, e, ko.linkProp(e)) - }), - ), - ), - ), - _o = Object.assign.apply( - Object, - po( - ['d3Force', 'd3ReheatSimulation', 'emitParticle'].map(function (e) { - return uo({}, e, Eo.linkMethod(e)) - }), - ), - ) - function Oo(e) { - if (e.canvas) { - var t = e.canvas.width, - n = e.canvas.height - 300 === t && 150 === n && (t = n = 0) - var r = window.devicePixelRatio - ;(t /= r), - (n /= r), - [e.canvas, e.shadowCanvas].forEach(function (i) { - ;(i.style.width = ''.concat(e.width, 'px')), - (i.style.height = ''.concat(e.height, 'px')), - (i.width = e.width * r), - (i.height = e.height * r), - t || n || i.getContext('2d').scale(r, r) - }) - var i = Yr(e.canvas).k - e.zoom.translateBy(e.zoom.__baseElem, (e.width - t) / 2 / i, (e.height - n) / 2 / i), - (e.needsRedraw = !0) - } - } - function Co(e) { - var t = window.devicePixelRatio - e.setTransform(t, 0, 0, t, 0, 0) - } - function So(e, t, n) { - e.save(), Co(e), e.clearRect(0, 0, t, n), e.restore() - } - var Ao = (0, b.Z)({ - props: ao( - { - width: { - default: window.innerWidth, - onChange: function (e, t) { - return Oo(t) - }, - triggerUpdate: !1, - }, - height: { - default: window.innerHeight, - onChange: function (e, t) { - return Oo(t) - }, - triggerUpdate: !1, - }, - graphData: { - default: { nodes: [], links: [] }, - onChange: function (e, t) { - ;[ - { type: 'Node', objs: e.nodes }, - { type: 'Link', objs: e.links }, - ].forEach(function (e) { - var n = e.type - e.objs - .filter(function (e) { - if (!e.hasOwnProperty('__indexColor')) return !0 - var n = t.colorTracker.lookup(e.__indexColor) - return !n || !n.hasOwnProperty('d') || n.d !== e - }) - .forEach(function (e) { - e.__indexColor = t.colorTracker.register({ type: n, d: e }) - }) - }), - t.forceGraph.graphData(e), - t.shadowGraph.graphData(e) - }, - triggerUpdate: !1, - }, - backgroundColor: { - onChange: function (e, t) { - t.canvas && e && (t.canvas.style.background = e) - }, - triggerUpdate: !1, - }, - nodeLabel: { default: 'name', triggerUpdate: !1 }, - nodePointerAreaPaint: { - onChange: function (e, t) { - t.shadowGraph.nodeCanvasObject( - e - ? function (t, n, r) { - return e(t, t.__indexColor, n, r) - } - : null, - ) - }, - triggerUpdate: !1, - }, - linkPointerAreaPaint: { - onChange: function (e, t) { - t.shadowGraph.linkCanvasObject( - e - ? function (t, n, r) { - return e(t, t.__indexColor, n, r) - } - : null, - ) - }, - triggerUpdate: !1, - }, - linkLabel: { default: 'name', triggerUpdate: !1 }, - linkHoverPrecision: { default: 4, triggerUpdate: !1 }, - minZoom: { - default: 0.01, - onChange: function (e, t) { - t.zoom.scaleExtent([e, t.zoom.scaleExtent()[1]]) - }, - triggerUpdate: !1, - }, - maxZoom: { - default: 1e3, - onChange: function (e, t) { - t.zoom.scaleExtent([t.zoom.scaleExtent()[0], e]) - }, - triggerUpdate: !1, - }, - enableNodeDrag: { default: !0, triggerUpdate: !1 }, - enableZoomInteraction: { default: !0, triggerUpdate: !1 }, - enablePanInteraction: { default: !0, triggerUpdate: !1 }, - enableZoomPanInteraction: { default: !0, triggerUpdate: !1 }, - enablePointerInteraction: { - default: !0, - onChange: function (e, t) { - t.hoverObj = null - }, - triggerUpdate: !1, - }, - autoPauseRedraw: { default: !0, triggerUpdate: !1 }, - onNodeDrag: { default: function () {}, triggerUpdate: !1 }, - onNodeDragEnd: { default: function () {}, triggerUpdate: !1 }, - onNodeClick: { triggerUpdate: !1 }, - onNodeRightClick: { triggerUpdate: !1 }, - onNodeHover: { triggerUpdate: !1 }, - onLinkClick: { triggerUpdate: !1 }, - onLinkRightClick: { triggerUpdate: !1 }, - onLinkHover: { triggerUpdate: !1 }, - onBackgroundClick: { triggerUpdate: !1 }, - onBackgroundRightClick: { triggerUpdate: !1 }, - onZoom: { default: function () {}, triggerUpdate: !1 }, - onZoomEnd: { default: function () {}, triggerUpdate: !1 }, - onRenderFramePre: { triggerUpdate: !1 }, - onRenderFramePost: { triggerUpdate: !1 }, - }, - To, - ), - aliases: { stopAnimation: 'pauseAnimation' }, - methods: ao( - { - graph2ScreenCoords: function (e, t, n) { - var r = Yr(e.canvas) - return { x: t * r.k + r.x, y: n * r.k + r.y } - }, - screen2GraphCoords: function (e, t, n) { - var r = Yr(e.canvas) - return { x: (t - r.x) / r.k, y: (n - r.y) / r.k } - }, - centerAt: function (e, t, n, r) { - if (!e.canvas) return null - if (void 0 !== t || void 0 !== n) { - var i = Object.assign( - {}, - void 0 !== t ? { x: t } : {}, - void 0 !== n ? { y: n } : {}, - ) - return ( - r - ? new We.ZP.Tween(o()) - .to(i, r) - .easing(We.ZP.Easing.Quadratic.Out) - .onUpdate(a) - .start() - : a(i), - this - ) - } - return o() - function o() { - var t = Yr(e.canvas) - return { x: (e.width / 2 - t.x) / t.k, y: (e.height / 2 - t.y) / t.k } - } - function a(t) { - var n = t.x, - r = t.y - e.zoom.translateTo( - e.zoom.__baseElem, - void 0 === n ? o().x : n, - void 0 === r ? o().y : r, - ), - (e.needsRedraw = !0) - } - }, - zoom: function (e, t, n) { - return e.canvas - ? void 0 !== t - ? (n - ? new We.ZP.Tween({ k: r() }) - .to({ k: t }, n) - .easing(We.ZP.Easing.Quadratic.Out) - .onUpdate(function (e) { - return i(e.k) - }) - .start() - : i(t), - this) - : r() - : null - function r() { - return Yr(e.canvas).k - } - function i(t) { - e.zoom.scaleTo(e.zoom.__baseElem, t), (e.needsRedraw = !0) - } - }, - zoomToFit: function (e) { - for ( - var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, - n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10, - r = arguments.length, - i = new Array(r > 3 ? r - 3 : 0), - o = 3; - o < r; - o++ - ) - i[o - 3] = arguments[o] - var a = this.getGraphBbox.apply(this, i) - if (a) { - var s = { x: (a.x[0] + a.x[1]) / 2, y: (a.y[0] + a.y[1]) / 2 }, - u = Math.max( - 1e-12, - Math.min( - 1e12, - (e.width - 2 * n) / (a.x[1] - a.x[0]), - (e.height - 2 * n) / (a.y[1] - a.y[0]), - ), - ) - this.centerAt(s.x, s.y, t), this.zoom(u, t) - } - return this - }, - getGraphBbox: function (e) { - var t = - arguments.length > 1 && void 0 !== arguments[1] - ? arguments[1] - : function () { - return !0 - }, - n = (0, w.default)(e.nodeVal), - r = function (t) { - return Math.sqrt(Math.max(0, n(t) || 1)) * e.nodeRelSize - }, - i = e.graphData.nodes.filter(t).map(function (e) { - return { x: e.x, y: e.y, r: r(e) } - }) - return i.length - ? { - x: [ - (0, hi.Z)(i, function (e) { - return e.x - e.r - }), - (0, pi.Z)(i, function (e) { - return e.x + e.r - }), - ], - y: [ - (0, hi.Z)(i, function (e) { - return e.y - e.r - }), - (0, pi.Z)(i, function (e) { - return e.y + e.r - }), - ], - } - : null - }, - pauseAnimation: function (e) { - return ( - e.animationFrameRequestId && - (cancelAnimationFrame(e.animationFrameRequestId), - (e.animationFrameRequestId = null)), - this - ) - }, - resumeAnimation: function (e) { - return e.animationFrameRequestId || this._animationCycle(), this - }, - _destructor: function () { - this.pauseAnimation(), this.graphData({ nodes: [], links: [] }) - }, - }, - _o, - ), - stateInit: function () { - return { - lastSetZoom: 1, - zoom: ai(), - forceGraph: new wo(), - shadowGraph: new wo() - .cooldownTicks(0) - .nodeColor('__indexColor') - .linkColor('__indexColor') - .isShadow(!0), - colorTracker: new _i(), - } - }, - init: function (e, t) { - e.innerHTML = '' - var n = document.createElement('div') - n.classList.add('force-graph-container'), - (n.style.position = 'relative'), - e.appendChild(n), - (t.canvas = document.createElement('canvas')), - t.backgroundColor && (t.canvas.style.background = t.backgroundColor), - n.appendChild(t.canvas), - (t.shadowCanvas = document.createElement('canvas')) - var r = t.canvas.getContext('2d'), - i = t.shadowCanvas.getContext('2d'), - o = { x: -1e12, y: -1e12 }, - a = function () { - var e = null, - n = window.devicePixelRatio, - r = o.x > 0 && o.y > 0 ? i.getImageData(o.x * n, o.y * n, 1, 1) : null - return r && (e = t.colorTracker.lookup(r.data)), e - } - zn(t.canvas).call( - (function () { - var e, - t, - n, - r, - i = li, - o = ci, - a = di, - s = fi, - u = {}, - l = (0, Hn.Z)('start', 'drag', 'end'), - c = 0, - d = 0 - function f(e) { - e.on('mousedown.drag', h) - .filter(s) - .on('touchstart.drag', m) - .on('touchmove.drag', g, Bn) - .on('touchend.drag touchcancel.drag', y) - .style('touch-action', 'none') - .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)') - } - function h(a, s) { - if (!r && i.call(this, a, s)) { - var u = b(this, o.call(this, a, s), a, s, 'mouse') - u && - (zn(a.view).on('mousemove.drag', p, Fn).on('mouseup.drag', v, Fn), - Gn(a.view), - Vn(a), - (n = !1), - (e = a.clientX), - (t = a.clientY), - u('start', a)) - } - } - function p(r) { - if ((Un(r), !n)) { - var i = r.clientX - e, - o = r.clientY - t - n = i * i + o * o > d - } - u.mouse('drag', r) - } - function v(e) { - zn(e.view).on('mousemove.drag mouseup.drag', null), - qn(e.view, n), - Un(e), - u.mouse('end', e) - } - function m(e, t) { - if (i.call(this, e, t)) { - var n, - r, - a = e.changedTouches, - s = o.call(this, e, t), - u = a.length - for (n = 0; n < u; ++n) - (r = b(this, s, e, t, a[n].identifier, a[n])) && (Vn(e), r('start', e, a[n])) - } - } - function g(e) { - var t, - n, - r = e.changedTouches, - i = r.length - for (t = 0; t < i; ++t) (n = u[r[t].identifier]) && (Un(e), n('drag', e, r[t])) - } - function y(e) { - var t, - n, - i = e.changedTouches, - o = i.length - for ( - r && clearTimeout(r), - r = setTimeout(function () { - r = null - }, 500), - t = 0; - t < o; - ++t - ) - (n = u[i[t].identifier]) && (Vn(e), n('end', e, i[t])) - } - function b(e, t, n, r, i, o) { - var s, - d, - h, - p = l.copy(), - v = Zn(o || n, t) - if ( - null != - (h = a.call( - e, - new ui('beforestart', { - sourceEvent: n, - target: f, - identifier: i, - active: c, - x: v[0], - y: v[1], - dx: 0, - dy: 0, - dispatch: p, - }), - r, - )) - ) - return ( - (s = h.x - v[0] || 0), - (d = h.y - v[1] || 0), - function n(o, a, l) { - var m, - g = v - switch (o) { - case 'start': - ;(u[i] = n), (m = c++) - break - case 'end': - delete u[i], --c - case 'drag': - ;(v = Zn(l || a, t)), (m = c) - } - p.call( - o, - e, - new ui(o, { - sourceEvent: a, - subject: h, - target: f, - identifier: i, - active: m, - x: v[0] + s, - y: v[1] + d, - dx: v[0] - g[0], - dy: v[1] - g[1], - dispatch: p, - }), - r, - ) - } - ) - } - return ( - (f.filter = function (e) { - return arguments.length ? ((i = 'function' === typeof e ? e : si(!!e)), f) : i - }), - (f.container = function (e) { - return arguments.length ? ((o = 'function' === typeof e ? e : si(e)), f) : o - }), - (f.subject = function (e) { - return arguments.length ? ((a = 'function' === typeof e ? e : si(e)), f) : a - }), - (f.touchable = function (e) { - return arguments.length ? ((s = 'function' === typeof e ? e : si(!!e)), f) : s - }), - (f.on = function () { - var e = l.on.apply(l, arguments) - return e === l ? f : e - }), - (f.clickDistance = function (e) { - return arguments.length ? ((d = (e = +e) * e), f) : Math.sqrt(d) - }), - f - ) - })() - .subject(function () { - if (!t.enableNodeDrag) return null - var e = a() - return e && 'Node' === e.type ? e.d : null - }) - .on('start', function (e) { - var n = e.subject - ;(n.__initialDragPos = { x: n.x, y: n.y, fx: n.fx, fy: n.fy }), - e.active || ((n.fx = n.x), (n.fy = n.y)), - t.canvas.classList.add('grabbable') - }) - .on('drag', function (e) { - var n = e.subject, - r = n.__initialDragPos, - i = e, - o = Yr(t.canvas).k, - a = { x: r.x + (i.x - r.x) / o - n.x, y: r.y + (i.y - r.y) / o - n.y } - ;['x', 'y'].forEach(function (e) { - return (n['f'.concat(e)] = n[e] = r[e] + (i[e] - r[e]) / o) - }), - t.forceGraph.d3AlphaTarget(0.3).resetCountdown(), - (t.isPointerDragging = !0), - (n.__dragged = !0), - t.onNodeDrag(n, a) - }) - .on('end', function (e) { - var n = e.subject, - r = n.__initialDragPos, - i = { x: n.x - r.x, y: n.y - r.y } - void 0 === r.fx && (n.fx = void 0), - void 0 === r.fy && (n.fy = void 0), - delete n.__initialDragPos, - t.forceGraph.d3AlphaTarget(0).resetCountdown(), - t.canvas.classList.remove('grabbable'), - (t.isPointerDragging = !1), - n.__dragged && (delete n.__dragged, t.onNodeDragEnd(n, i)) - }), - ), - t.zoom((t.zoom.__baseElem = zn(t.canvas))), - t.zoom.__baseElem.on('dblclick.zoom', null), - t.zoom - .filter(function (e) { - return ( - !e.button && - t.enableZoomPanInteraction && - (t.enableZoomInteraction || 'wheel' !== e.type) && - (t.enablePanInteraction || 'wheel' === e.type) - ) - }) - .on('zoom', function (e) { - var n = e.transform - ;[r, i].forEach(function (e) { - Co(e), e.translate(n.x, n.y), e.scale(n.k, n.k) - }), - t.onZoom(ao({}, n)), - (t.needsRedraw = !0) - }) - .on('end', function (e) { - return t.onZoomEnd(ao({}, e.transform)) - }), - Oo(t), - t.forceGraph - .onNeedsRedraw(function () { - return (t.needsRedraw = !0) - }) - .onFinishUpdate(function () { - Yr(t.canvas).k === t.lastSetZoom && - t.graphData.nodes.length && - (t.zoom.scaleTo( - t.zoom.__baseElem, - (t.lastSetZoom = 4 / Math.cbrt(t.graphData.nodes.length)), - ), - (t.needsRedraw = !0)) - }) - var s = document.createElement('div') - s.classList.add('graph-tooltip'), - n.appendChild(s), - ['pointermove', 'pointerdown'].forEach(function (e) { - return n.addEventListener( - e, - function (r) { - 'pointerdown' === e && ((t.isPointerPressed = !0), (t.pointerDownEvent = r)), - !t.isPointerDragging && - 'pointermove' === r.type && - t.onBackgroundClick && - (r.pressure > 0 || t.isPointerPressed) && - ('touch' !== r.pointerType || - void 0 === r.movementX || - [r.movementX, r.movementY].some(function (e) { - return Math.abs(e) > 1 - })) && - (t.isPointerDragging = !0) - var i = (function (e) { - var t = e.getBoundingClientRect(), - n = window.pageXOffset || document.documentElement.scrollLeft, - r = window.pageYOffset || document.documentElement.scrollTop - return { top: t.top + r, left: t.left + n } - })(n) - ;(o.x = r.pageX - i.left), - (o.y = r.pageY - i.top), - (s.style.top = ''.concat(o.y, 'px')), - (s.style.left = ''.concat(o.x, 'px')) - }, - { passive: !0 }, - ) - }), - n.addEventListener( - 'pointerup', - function (e) { - if (((t.isPointerPressed = !1), t.isPointerDragging)) t.isPointerDragging = !1 - else { - var n = [e, t.pointerDownEvent] - requestAnimationFrame(function () { - if (0 === e.button) - if (t.hoverObj) { - var r = t['on'.concat(t.hoverObj.type, 'Click')] - r && r.apply(void 0, [t.hoverObj.d].concat(n)) - } else t.onBackgroundClick && t.onBackgroundClick.apply(t, n) - if (2 === e.button) - if (t.hoverObj) { - var i = t['on'.concat(t.hoverObj.type, 'RightClick')] - i && i.apply(void 0, [t.hoverObj.d].concat(n)) - } else t.onBackgroundRightClick && t.onBackgroundRightClick.apply(t, n) - }) - } - }, - { passive: !0 }, - ), - n.addEventListener('contextmenu', function (e) { - return ( - !(t.onBackgroundRightClick || t.onNodeRightClick || t.onLinkRightClick) || - (e.preventDefault(), !1) - ) - }), - t.forceGraph(r), - t.shadowGraph(i) - var u = mi()(function () { - So(i, t.width, t.height), - t.shadowGraph.linkWidth(function (e) { - return (0, w.default)(t.linkWidth)(e) + t.linkHoverPrecision - }) - var e = Yr(t.canvas) - t.shadowGraph.globalScale(e.k).tickFrame() - }, 800) - ;(this._animationCycle = function e() { - var n = - !t.autoPauseRedraw || - !!t.needsRedraw || - t.forceGraph.isEngineRunning() || - t.graphData.links.some(function (e) { - return e.__photons && e.__photons.length - }) - if (((t.needsRedraw = !1), t.enablePointerInteraction)) { - var i = t.isPointerDragging ? null : a() - if (i !== t.hoverObj) { - var o = t.hoverObj, - l = o ? o.type : null, - c = i ? i.type : null - if (l && l !== c) { - var d = t['on'.concat(l, 'Hover')] - d && d(null, o.d) - } - if (c) { - var f = t['on'.concat(c, 'Hover')] - f && f(i.d, l === c ? o.d : null) - } - var h = - (i && (0, w.default)(t[''.concat(i.type.toLowerCase(), 'Label')])(i.d)) || '' - ;(s.style.visibility = h ? 'visible' : 'hidden'), - (s.innerHTML = h), - t.canvas.classList[ - (i && t['on'.concat(c, 'Click')]) || (!i && t.onBackgroundClick) - ? 'add' - : 'remove' - ]('clickable'), - (t.hoverObj = i) - } - n && u() - } - if (n) { - So(r, t.width, t.height) - var p = Yr(t.canvas).k - t.onRenderFramePre && t.onRenderFramePre(r, p), - t.forceGraph.globalScale(p).tickFrame(), - t.onRenderFramePost && t.onRenderFramePost(r, p) - } - We.ZP.update(), (t.animationFrameRequestId = requestAnimationFrame(e)) - })() - }, - update: function (e) {}, - }), - Po = { - width: P().number, - height: P().number, - graphData: P().shape({ - nodes: P().arrayOf(P().object).isRequired, - links: P().arrayOf(P().object).isRequired, - }), - backgroundColor: P().string, - nodeRelSize: P().number, - nodeId: P().string, - nodeLabel: P().oneOfType([P().string, P().func]), - nodeVal: P().oneOfType([P().number, P().string, P().func]), - nodeVisibility: P().oneOfType([P().bool, P().string, P().func]), - nodeColor: P().oneOfType([P().string, P().func]), - nodeAutoColorBy: P().oneOfType([P().string, P().func]), - onNodeHover: P().func, - onNodeClick: P().func, - linkSource: P().string, - linkTarget: P().string, - linkLabel: P().oneOfType([P().string, P().func]), - linkVisibility: P().oneOfType([P().bool, P().string, P().func]), - linkColor: P().oneOfType([P().string, P().func]), - linkAutoColorBy: P().oneOfType([P().string, P().func]), - linkWidth: P().oneOfType([P().number, P().string, P().func]), - linkCurvature: P().oneOfType([P().number, P().string, P().func]), - linkDirectionalArrowLength: P().oneOfType([P().number, P().string, P().func]), - linkDirectionalArrowColor: P().oneOfType([P().string, P().func]), - linkDirectionalArrowRelPos: P().oneOfType([P().number, P().string, P().func]), - linkDirectionalParticles: P().oneOfType([P().number, P().string, P().func]), - linkDirectionalParticleSpeed: P().oneOfType([P().number, P().string, P().func]), - linkDirectionalParticleWidth: P().oneOfType([P().number, P().string, P().func]), - linkDirectionalParticleColor: P().oneOfType([P().string, P().func]), - onLinkHover: P().func, - onLinkClick: P().func, - dagMode: P().oneOf(['td', 'bu', 'lr', 'rl', 'zin', 'zout', 'radialin', 'radialout']), - dagLevelDistance: P().number, - dagNodeFilter: P().func, - onDagError: P().func, - d3AlphaMin: P().number, - d3AlphaDecay: P().number, - d3VelocityDecay: P().number, - warmupTicks: P().number, - cooldownTicks: P().number, - cooldownTime: P().number, - onEngineTick: P().func, - onEngineStop: P().func, - getGraphBbox: P().func, - }, - Mo = { - zoomToFit: P().func, - onNodeRightClick: P().func, - onNodeDrag: P().func, - onNodeDragEnd: P().func, - onLinkRightClick: P().func, - linkHoverPrecision: P().number, - onBackgroundClick: P().func, - onBackgroundRightClick: P().func, - enablePointerInteraction: P().bool, - enableNodeDrag: P().bool, - }, - Ro = { - showNavInfo: P().bool, - nodeOpacity: P().number, - nodeResolution: P().number, - nodeThreeObject: P().oneOfType([P().object, P().string, P().func]), - nodeThreeObjectExtend: P().oneOfType([P().bool, P().string, P().func]), - linkOpacity: P().number, - linkResolution: P().number, - linkCurveRotation: P().oneOfType([P().number, P().string, P().func]), - linkMaterial: P().oneOfType([P().object, P().string, P().func]), - linkThreeObject: P().oneOfType([P().object, P().string, P().func]), - linkThreeObjectExtend: P().oneOfType([P().bool, P().string, P().func]), - linkPositionUpdate: P().func, - linkDirectionalArrowResolution: P().number, - linkDirectionalParticleResolution: P().number, - forceEngine: P().oneOf(['d3', 'ngraph']), - ngraphPhysics: P().object, - numDimensions: P().oneOf([1, 2, 3]), - }, - jo = Object.assign({}, Po, Mo, { - linkLineDash: P().oneOfType([P().arrayOf(P().number), P().string, P().func]), - nodeCanvasObjectMode: P().oneOfType([P().string, P().func]), - nodeCanvasObject: P().func, - nodePointerAreaPaint: P().func, - linkCanvasObjectMode: P().oneOfType([P().string, P().func]), - linkCanvasObject: P().func, - linkPointerAreaPaint: P().func, - autoPauseRedraw: P().bool, - minZoom: P().number, - maxZoom: P().number, - enableZoomInteraction: P().bool, - enablePanInteraction: P().bool, - onZoom: P().func, - onZoomEnd: P().func, - onRenderFramePre: P().func, - onRenderFramePost: P().func, - }), - Do = Object.assign({}, Po, Mo, Ro, { - enableNavigationControls: P().bool, - controlType: P().oneOf(['trackball', 'orbit', 'fly']), - rendererConfig: P().object, - extraRenderers: P().arrayOf(P().shape({ render: P().func.isRequired })), - }), - Lo = Object.assign({}, Po, Ro, { - nodeDesc: P().oneOfType([P().string, P().func]), - linkDesc: P().oneOfType([P().string, P().func]), - }), - No = Object.assign({}, Po, Ro, { - markerAttrs: P().object, - yOffset: P().number, - glScale: P().number, - }) - const Io = y(S, { - methodNames: ['getGraphBbox', 'emitParticle', 'd3Force', 'd3ReheatSimulation', 'refresh'], - }) - ;(Io.displayName = 'ForceGraphVR'), (Io.propTypes = Lo) - const zo = y(z, { - methodNames: ['getGraphBbox', 'emitParticle', 'd3Force', 'd3ReheatSimulation', 'refresh'], - initPropNames: ['markerAttrs'], - }) - ;(zo.displayName = 'ForceGraphAR'), (zo.propTypes = No) - const Ho = y(pt, { - methodNames: [ - 'emitParticle', - 'd3Force', - 'd3ReheatSimulation', - 'stopAnimation', - 'pauseAnimation', - 'resumeAnimation', - 'cameraPosition', - 'zoomToFit', - 'getGraphBbox', - 'screen2GraphCoords', - 'graph2ScreenCoords', - 'postProcessingComposer', - 'scene', - 'camera', - 'renderer', - 'controls', - 'refresh', - ], - initPropNames: ['controlType', 'rendererConfig', 'extraRenderers'], - }) - ;(Ho.displayName = 'ForceGraph3D'), (Ho.propTypes = Do) - const Bo = y(Ao, { - methodNames: [ - 'emitParticle', - 'd3Force', - 'd3ReheatSimulation', - 'stopAnimation', - 'pauseAnimation', - 'resumeAnimation', - 'centerAt', - 'zoom', - 'zoomToFit', - 'getGraphBbox', - 'screen2GraphCoords', - 'graph2ScreenCoords', - ], - }) - ;(Bo.displayName = 'ForceGraph2D'), (Bo.propTypes = jo) - }, - 1398: function (e, t, n) { - 'use strict' - n.r(t), - n.d(t, { - default: function () { - return ue - }, - }) - var r = n(2212), - i = n(4505), - o = n(5560), - a = n(2405), - s = n(216), - u = n(6917), - l = n(4736), - c = n.n(l), - d = n(6505), - f = n.n(d), - h = n(4858), - p = n(2539), - v = n(6701), - m = n(3752), - g = n(1527) - function y(e, t) { - var n = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - t && - (r = r.filter(function (t) { - return Object.getOwnPropertyDescriptor(e, t).enumerable - })), - n.push.apply(n, r) - } - return n - } - function b(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function w(e, t) { - if (null == e) return {} - var n, - r, - i = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, t) - if (Object.getOwnPropertySymbols) { - var o = Object.getOwnPropertySymbols(e) - for (r = 0; r < o.length; r++) - (n = o[r]), - t.indexOf(n) >= 0 || - (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])) - } - return i - } - function x(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = e && (('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator']) - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - k(e, t) || - (function () { - 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 E(e) { - return ( - (function (e) { - if (Array.isArray(e)) return T(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - k(e) || - (function () { - 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 k(e, t) { - if (e) { - if ('string' === typeof e) return T(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? T(e, t) - : void 0 - ) - } - } - function T(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - function _(e, t, n) { - var r = n.objBindAttr, - i = void 0 === r ? '__obj' : r, - o = n.dataBindAttr, - a = void 0 === o ? '__data' : o, - s = n.idAccessor, - u = n.purge, - l = void 0 !== u && u, - c = function (e) { - return e.hasOwnProperty(a) - }, - d = t.filter(function (e) { - return !c(e) - }), - f = t.filter(c).map(function (e) { - return e[a] - }), - h = l - ? { enter: e, exit: f, update: [] } - : (function (e, t, n) { - var r = { enter: [], update: [], exit: [] } - if (n) { - var i = (0, g.Z)(e, n, !1), - o = (0, g.Z)(t, n, !1), - a = Object.assign({}, i, o) - Object.entries(a).forEach(function (e) { - var t = x(e, 2), - n = t[0], - a = t[1], - s = i.hasOwnProperty(n) ? (o.hasOwnProperty(n) ? 'update' : 'exit') : 'enter' - r[s].push('update' === s ? [i[n], o[n]] : a) - }) - } else { - var s = new Set(e), - u = new Set(t) - new Set([].concat(E(s), E(u))).forEach(function (e) { - var t = s.has(e) ? (u.has(e) ? 'update' : 'exit') : 'enter' - r[t].push('update' === t ? [e, e] : e) - }) - } - return r - })(f, e, s) - return ( - (h.update = h.update.map(function (e) { - var t = x(e, 2), - n = t[0], - r = t[1] - return n !== r && ((r[i] = n[i]), (r[i][a] = r)), r - })), - (h.exit = h.exit.concat( - d.map(function (e) { - return b({}, i, e) - }), - )), - h - ) - } - var O = function (e, t, n, r, i) { - var o = i.createObj, - a = - void 0 === o - ? function (e) { - return {} - } - : o, - s = i.updateObj, - u = void 0 === s ? function (e, t) {} : s, - l = i.exitObj, - c = void 0 === l ? function (e) {} : l, - d = i.objBindAttr, - f = void 0 === d ? '__obj' : d, - h = i.dataBindAttr, - p = void 0 === h ? '__data' : h, - v = w(i, ['createObj', 'updateObj', 'exitObj', 'objBindAttr', 'dataBindAttr']), - m = _( - e, - t, - (function (e) { - for (var t = 1; t < arguments.length; t++) { - var n = null != arguments[t] ? arguments[t] : {} - t % 2 - ? y(Object(n), !0).forEach(function (t) { - b(e, t, n[t]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) - : y(Object(n)).forEach(function (t) { - Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) - }) - } - return e - })({ objBindAttr: f, dataBindAttr: p }, v), - ), - g = m.enter, - x = m.update - m.exit.forEach(function (e) { - var t = e[f] - delete e[f], c(t), r(t) - }) - var k = (function (e) { - var t = [] - return ( - e.forEach(function (e) { - var n = a(e) - n && ((n[p] = e), (e[f] = n), t.push(n)) - }), - t - ) - })(g) - !(function (e) { - e.forEach(function (e) { - var t = e[f] - t && ((t[p] = e), u(t, e)) - }) - })([].concat(E(g), E(x))), - k.forEach(n) - }, - C = n(2462), - S = n(2816), - A = n(7621), - P = n.n(A) - function M(e, t) { - var n = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - t && - (r = r.filter(function (t) { - return Object.getOwnPropertyDescriptor(e, t).enumerable - })), - n.push.apply(n, r) - } - return n - } - function R(e) { - for (var t = 1; t < arguments.length; t++) { - var n = null != arguments[t] ? arguments[t] : {} - t % 2 - ? M(Object(n), !0).forEach(function (t) { - L(e, t, n[t]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) - : M(Object(n)).forEach(function (t) { - Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)) - }) - } - return e - } - function j(e) { - return (j = - 'function' === typeof Symbol && 'symbol' === typeof Symbol.iterator - ? function (e) { - return typeof e - } - : function (e) { - return e && - 'function' === typeof Symbol && - e.constructor === Symbol && - e !== Symbol.prototype - ? 'symbol' - : typeof e - })(e) - } - function D(e, t) { - if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function') - } - function L(e, t, n) { - return ( - t in e - ? Object.defineProperty(e, t, { - value: n, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (e[t] = n), - e - ) - } - function N(e, t) { - if ('function' !== typeof t && null !== t) - throw new TypeError('Super expression must either be null or a function') - ;(e.prototype = Object.create(t && t.prototype, { - constructor: { value: e, writable: !0, configurable: !0 }, - })), - t && z(e, t) - } - function I(e) { - return (I = Object.setPrototypeOf - ? Object.getPrototypeOf - : function (e) { - return e.__proto__ || Object.getPrototypeOf(e) - })(e) - } - function z(e, t) { - return (z = - Object.setPrototypeOf || - function (e, t) { - return (e.__proto__ = t), e - })(e, t) - } - function H() { - if ('undefined' === typeof Reflect || !Reflect.construct) return !1 - if (Reflect.construct.sham) return !1 - if ('function' === typeof Proxy) return !0 - try { - return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0 - } catch (e) { - return !1 - } - } - function B(e, t, n) { - return (B = H() - ? Reflect.construct - : function (e, t, n) { - var r = [null] - r.push.apply(r, t) - var i = new (Function.bind.apply(e, r))() - return n && z(i, n.prototype), i - }).apply(null, arguments) - } - function F(e, t) { - if (null == e) return {} - var n, - r, - i = (function (e, t) { - if (null == e) return {} - var n, - r, - i = {}, - o = Object.keys(e) - for (r = 0; r < o.length; r++) (n = o[r]), t.indexOf(n) >= 0 || (i[n] = e[n]) - return i - })(e, t) - if (Object.getOwnPropertySymbols) { - var o = Object.getOwnPropertySymbols(e) - for (r = 0; r < o.length; r++) - (n = o[r]), - t.indexOf(n) >= 0 || - (Object.prototype.propertyIsEnumerable.call(e, n) && (i[n] = e[n])) - } - return i - } - function V(e) { - if (void 0 === e) - throw new ReferenceError("this hasn't been initialised - super() hasn't been called") - return e - } - function U(e, t) { - return !t || ('object' !== typeof t && 'function' !== typeof t) ? V(e) : t - } - function G(e) { - var t = H() - return function () { - var n, - r = I(e) - if (t) { - var i = I(this).constructor - n = Reflect.construct(r, arguments, i) - } else n = r.apply(this, arguments) - return U(this, n) - } - } - function q(e, t) { - return ( - (function (e) { - if (Array.isArray(e)) return e - })(e) || - (function (e, t) { - var n = - null == e - ? null - : ('undefined' !== typeof Symbol && e[Symbol.iterator]) || e['@@iterator'] - if (null == n) return - var r, - i, - o = [], - a = !0, - s = !1 - try { - for ( - n = n.call(e); - !(a = (r = n.next()).done) && (o.push(r.value), !t || o.length !== t); - a = !0 - ); - } catch (u) { - ;(s = !0), (i = u) - } finally { - try { - a || null == n.return || n.return() - } finally { - if (s) throw i - } - } - return o - })(e, t) || - K(e, t) || - (function () { - 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 W(e) { - return ( - (function (e) { - if (Array.isArray(e)) return Z(e) - })(e) || - (function (e) { - if ( - ('undefined' !== typeof Symbol && null != e[Symbol.iterator]) || - null != e['@@iterator'] - ) - return Array.from(e) - })(e) || - K(e) || - (function () { - 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 K(e, t) { - if (e) { - if ('string' === typeof e) return Z(e, t) - var n = Object.prototype.toString.call(e).slice(8, -1) - return ( - 'Object' === n && e.constructor && (n = e.constructor.name), - 'Map' === n || 'Set' === n - ? Array.from(e) - : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) - ? Z(e, t) - : void 0 - ) - } - } - function Z(e, t) { - ;(null == t || t > e.length) && (t = e.length) - for (var n = 0, r = new Array(t); n < t; n++) r[n] = e[n] - return r - } - var $ = function e(t) { - t instanceof Array ? t.forEach(e) : (t.map && t.map.dispose(), t.dispose()) - }, - X = function e(t) { - t.geometry && t.geometry.dispose(), - t.material && $(t.material), - t.texture && t.texture.dispose(), - t.children && t.children.forEach(e) - }, - Y = function (e) { - for (; e.children.length; ) { - var t = e.children[0] - e.remove(t), X(t) - } - }, - Q = ['objFilter'] - function J(e, t) { - var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - r = n.objFilter, - i = - void 0 === r - ? function () { - return !0 - } - : r, - o = F(n, Q) - return O( - e, - t.children.filter(i), - function (e) { - return t.add(e) - }, - function (e) { - t.remove(e), Y(e) - }, - R({ objBindAttr: '__threeObj' }, o), - ) - } - var ee = function (e) { - return isNaN(e) ? parseInt(P()(e).toHex(), 16) : e - }, - te = function (e) { - return isNaN(e) ? P()(e).getAlpha() : 1 - }, - ne = (0, C.Z)(S.Z) - function re(e, t, n) { - t && - 'string' === typeof n && - e - .filter(function (e) { - return !e[n] - }) - .forEach(function (e) { - e[n] = ne(t(e)) - }) - } - var ie = window.THREE - ? window.THREE - : { - Group: r.ZAu, - Mesh: r.Kj0, - MeshLambertMaterial: r.YBo, - Color: r.Ilk, - BufferGeometry: r.u9r, - BufferAttribute: r.TlE, - Matrix4: r.yGw, - Vector3: r.Pa4, - SphereBufferGeometry: r.Aip, - CylinderBufferGeometry: r.m_w, - TubeBufferGeometry: r.Lcc, - ConeBufferGeometry: r._3, - Line: r.x12, - LineBasicMaterial: r.nls, - QuadraticBezierCurve3: r.mXe, - CubicBezierCurve3: r.yj7, - Box3: r.ZzF, - }, - oe = { graph: c(), forcelayout: f() }, - ae = new ie.BufferGeometry().setAttribute ? 'setAttribute' : 'addAttribute', - se = new ie.BufferGeometry().applyMatrix4 ? 'applyMatrix4' : 'applyMatrix' - var ue = (function (e) { - var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Object, - n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], - r = (function (t) { - N(i, t) - var r = G(i) - function i() { - var t - D(this, i) - for (var o = arguments.length, a = new Array(o), s = 0; s < o; s++) - a[s] = arguments[s] - return ( - ((t = r.call.apply(r, [this].concat(a))).__kapsuleInstance = e().apply( - void 0, - [].concat(W(n ? [V(t)] : []), a), - )), - t - ) - } - return i - })(t) - return ( - Object.keys(e()).forEach(function (e) { - return (r.prototype[e] = function () { - var t, - n = (t = this.__kapsuleInstance)[e].apply(t, arguments) - return n === this.__kapsuleInstance ? this : n - }) - }), - r - ) - })( - (0, h.Z)({ - props: { - jsonUrl: { - onChange: function (e, t) { - var n = this - e && - !t.fetchingJson && - ((t.fetchingJson = !0), - t.onLoading(), - fetch(e) - .then(function (e) { - return e.json() - }) - .then(function (e) { - ;(t.fetchingJson = !1), t.onFinishLoading(e), n.graphData(e) - })) - }, - triggerUpdate: !1, - }, - graphData: { - default: { nodes: [], links: [] }, - onChange: function (e, t) { - t.engineRunning = !1 - }, - }, - numDimensions: { - default: 3, - onChange: function (e, t) { - var n = t.d3ForceLayout.force('charge') - function r(e, t) { - e.forEach(function (e) { - delete e[t], delete e['v'.concat(t)] - }) - } - n && n.strength(e > 2 ? -60 : -30), - e < 3 && r(t.graphData.nodes, 'z'), - e < 2 && r(t.graphData.nodes, 'y') - }, - }, - dagMode: { - onChange: function (e, t) { - !e && - 'd3' === t.forceEngine && - (t.graphData.nodes || []).forEach(function (e) { - return (e.fx = e.fy = e.fz = void 0) - }) - }, - }, - dagLevelDistance: {}, - dagNodeFilter: { - default: function (e) { - return !0 - }, - }, - onDagError: { triggerUpdate: !1 }, - nodeRelSize: { default: 4 }, - nodeId: { default: 'id' }, - nodeVal: { default: 'val' }, - nodeResolution: { default: 8 }, - nodeColor: { default: 'color' }, - nodeAutoColorBy: {}, - nodeOpacity: { default: 0.75 }, - nodeVisibility: { default: !0 }, - nodeThreeObject: {}, - nodeThreeObjectExtend: { default: !1 }, - linkSource: { default: 'source' }, - linkTarget: { default: 'target' }, - linkVisibility: { default: !0 }, - linkColor: { default: 'color' }, - linkAutoColorBy: {}, - linkOpacity: { default: 0.2 }, - linkWidth: {}, - linkResolution: { default: 6 }, - linkCurvature: { default: 0, triggerUpdate: !1 }, - linkCurveRotation: { default: 0, triggerUpdate: !1 }, - linkMaterial: {}, - linkThreeObject: {}, - linkThreeObjectExtend: { default: !1 }, - linkPositionUpdate: { triggerUpdate: !1 }, - linkDirectionalArrowLength: { default: 0 }, - linkDirectionalArrowColor: {}, - linkDirectionalArrowRelPos: { default: 0.5, triggerUpdate: !1 }, - linkDirectionalArrowResolution: { default: 8 }, - linkDirectionalParticles: { default: 0 }, - linkDirectionalParticleSpeed: { default: 0.01, triggerUpdate: !1 }, - linkDirectionalParticleWidth: { default: 0.5 }, - linkDirectionalParticleColor: {}, - linkDirectionalParticleResolution: { default: 4 }, - forceEngine: { default: 'd3' }, - d3AlphaMin: { default: 0 }, - d3AlphaDecay: { - default: 0.0228, - triggerUpdate: !1, - onChange: function (e, t) { - t.d3ForceLayout.alphaDecay(e) - }, - }, - d3AlphaTarget: { - default: 0, - triggerUpdate: !1, - onChange: function (e, t) { - t.d3ForceLayout.alphaTarget(e) - }, - }, - d3VelocityDecay: { - default: 0.4, - triggerUpdate: !1, - onChange: function (e, t) { - t.d3ForceLayout.velocityDecay(e) - }, - }, - ngraphPhysics: { - default: { - timeStep: 20, - gravity: -1.2, - theta: 0.8, - springLength: 30, - springCoefficient: 8e-4, - dragCoefficient: 0.02, - }, - }, - warmupTicks: { default: 0, triggerUpdate: !1 }, - cooldownTicks: { default: 1 / 0, triggerUpdate: !1 }, - cooldownTime: { default: 15e3, triggerUpdate: !1 }, - onLoading: { default: function () {}, triggerUpdate: !1 }, - onFinishLoading: { default: function () {}, triggerUpdate: !1 }, - onUpdate: { default: function () {}, triggerUpdate: !1 }, - onFinishUpdate: { default: function () {}, triggerUpdate: !1 }, - onEngineTick: { default: function () {}, triggerUpdate: !1 }, - onEngineStop: { default: function () {}, triggerUpdate: !1 }, - }, - methods: { - refresh: function (e) { - return (e._flushObjects = !0), e._rerender(), this - }, - d3Force: function (e, t, n) { - return void 0 === n ? e.d3ForceLayout.force(t) : (e.d3ForceLayout.force(t, n), this) - }, - d3ReheatSimulation: function (e) { - return e.d3ForceLayout.alpha(1), this.resetCountdown(), this - }, - resetCountdown: function (e) { - return (e.cntTicks = 0), (e.startTickTime = new Date()), (e.engineRunning = !0), this - }, - tickFrame: function (e) { - var t = 'ngraph' !== e.forceEngine - return ( - e.engineRunning && - (function () { - ++e.cntTicks > e.cooldownTicks || - new Date() - e.startTickTime > e.cooldownTime || - (t && e.d3AlphaMin > 0 && e.d3ForceLayout.alpha() < e.d3AlphaMin) - ? ((e.engineRunning = !1), e.onEngineStop()) - : (e.layout[t ? 'tick' : 'step'](), e.onEngineTick()) - e.graphData.nodes.forEach(function (n) { - var r = n.__threeObj - if (r) { - var i = t ? n : e.layout.getNodePosition(n[e.nodeId]) - ;(r.position.x = i.x), (r.position.y = i.y || 0), (r.position.z = i.z || 0) - } - }) - var n = (0, p.default)(e.linkWidth), - r = (0, p.default)(e.linkCurvature), - i = (0, p.default)(e.linkCurveRotation), - o = (0, p.default)(e.linkThreeObjectExtend) - function a(n) { - var o = t - ? n - : e.layout.getLinkPosition(e.layout.graph.getLink(n.source, n.target).id), - a = o[t ? 'source' : 'from'], - s = o[t ? 'target' : 'to'] - if (a && s && a.hasOwnProperty('x') && s.hasOwnProperty('x')) { - var u = r(n) - if (u) { - var l, - c = new ie.Vector3(a.x, a.y || 0, a.z || 0), - d = new ie.Vector3(s.x, s.y || 0, s.z || 0), - f = c.distanceTo(d), - h = i(n) - if (f > 0) { - var p = s.x - a.x, - v = s.y - a.y || 0, - m = new ie.Vector3().subVectors(d, c), - g = m - .clone() - .multiplyScalar(u) - .cross( - 0 !== p || 0 !== v - ? new ie.Vector3(0, 0, 1) - : new ie.Vector3(0, 1, 0), - ) - .applyAxisAngle(m.normalize(), h) - .add(new ie.Vector3().addVectors(c, d).divideScalar(2)) - l = new ie.QuadraticBezierCurve3(c, g, d) - } else { - var y = 70 * u, - b = -h, - w = b + Math.PI / 2 - l = new ie.CubicBezierCurve3( - c, - new ie.Vector3(y * Math.cos(w), y * Math.sin(w), 0).add(c), - new ie.Vector3(y * Math.cos(b), y * Math.sin(b), 0).add(c), - d, - ) - } - n.__curve = l - } else n.__curve = null - } - } - e.graphData.links.forEach(function (r) { - var i = r.__lineObj - if (i) { - var s = t - ? r - : e.layout.getLinkPosition( - e.layout.graph.getLink(r.source, r.target).id, - ), - u = s[t ? 'source' : 'from'], - l = s[t ? 'target' : 'to'] - if (u && l && u.hasOwnProperty('x') && l.hasOwnProperty('x')) { - a(r) - var c = o(r) - if ( - !e.linkPositionUpdate || - !e.linkPositionUpdate( - c ? i.children[1] : i, - { - start: { x: u.x, y: u.y, z: u.z }, - end: { x: l.x, y: l.y, z: l.z }, - }, - r, - ) || - c - ) { - var d = 30, - f = r.__curve, - h = i.children.length ? i.children[0] : i - if ('Line' === h.type) { - if (f) h.geometry.setFromPoints(f.getPoints(d)) - else { - var p = h.geometry.getAttribute('position') - ;(p && p.array && 6 === p.array.length) || - h.geometry[ae]( - 'position', - (p = new ie.BufferAttribute(new Float32Array(6), 3)), - ), - (p.array[0] = u.x), - (p.array[1] = u.y || 0), - (p.array[2] = u.z || 0), - (p.array[3] = l.x), - (p.array[4] = l.y || 0), - (p.array[5] = l.z || 0), - (p.needsUpdate = !0) - } - h.geometry.computeBoundingSphere() - } else if ('Mesh' === h.type) - if (f) { - h.geometry.type.match(/^Tube(Buffer)?Geometry$/) || - (h.position.set(0, 0, 0), - h.rotation.set(0, 0, 0), - h.scale.set(1, 1, 1)) - var v = Math.ceil(10 * n(r)) / 10 / 2, - m = new ie.TubeBufferGeometry(f, d, v, e.linkResolution, !1) - h.geometry.dispose(), (h.geometry = m) - } else { - if (!h.geometry.type.match(/^Cylinder(Buffer)?Geometry$/)) { - var g = Math.ceil(10 * n(r)) / 10 / 2, - y = new ie.CylinderBufferGeometry( - g, - g, - 1, - e.linkResolution, - 1, - !1, - ) - y[se](new ie.Matrix4().makeTranslation(0, 0.5, 0)), - y[se](new ie.Matrix4().makeRotationX(Math.PI / 2)), - h.geometry.dispose(), - (h.geometry = y) - } - var b = new ie.Vector3(u.x, u.y || 0, u.z || 0), - w = new ie.Vector3(l.x, l.y || 0, l.z || 0), - x = b.distanceTo(w) - ;(h.position.x = b.x), - (h.position.y = b.y), - (h.position.z = b.z), - (h.scale.z = x), - h.parent.localToWorld(w), - h.lookAt(w) - } - } - } - } - }) - })(), - (function () { - var n = (0, p.default)(e.linkDirectionalArrowRelPos), - r = (0, p.default)(e.linkDirectionalArrowLength), - i = (0, p.default)(e.nodeVal) - e.graphData.links.forEach(function (o) { - var a = o.__arrowObj - if (a) { - var s = t - ? o - : e.layout.getLinkPosition(e.layout.graph.getLink(o.source, o.target).id), - u = s[t ? 'source' : 'from'], - l = s[t ? 'target' : 'to'] - if (u && l && u.hasOwnProperty('x') && l.hasOwnProperty('x')) { - var c = Math.sqrt(Math.max(0, i(u) || 1)) * e.nodeRelSize, - d = Math.sqrt(Math.max(0, i(l) || 1)) * e.nodeRelSize, - f = r(o), - h = n(o), - p = o.__curve - ? function (e) { - return o.__curve.getPoint(e) - } - : function (e) { - var t = function (e, t, n, r) { - return t[e] + (n[e] - t[e]) * r || 0 - } - return { - x: t('x', u, l, e), - y: t('y', u, l, e), - z: t('z', u, l, e), - } - }, - v = o.__curve - ? o.__curve.getLength() - : Math.sqrt( - ['x', 'y', 'z'] - .map(function (e) { - return Math.pow((l[e] || 0) - (u[e] || 0), 2) - }) - .reduce(function (e, t) { - return e + t - }, 0), - ), - m = c + f + (v - c - d - f) * h, - g = p(m / v), - y = p((m - f) / v) - ;['x', 'y', 'z'].forEach(function (e) { - return (a.position[e] = y[e]) - }) - var b = B( - ie.Vector3, - W( - ['x', 'y', 'z'].map(function (e) { - return g[e] - }), - ), - ) - a.parent.localToWorld(b), a.lookAt(b) - } - } - }) - })(), - (function () { - var n = (0, p.default)(e.linkDirectionalParticleSpeed) - e.graphData.links.forEach(function (r) { - var i = r.__photonsObj && r.__photonsObj.children, - o = r.__singleHopPhotonsObj && r.__singleHopPhotonsObj.children - if ((o && o.length) || (i && i.length)) { - var a = t - ? r - : e.layout.getLinkPosition(e.layout.graph.getLink(r.source, r.target).id), - s = a[t ? 'source' : 'from'], - u = a[t ? 'target' : 'to'] - if (s && u && s.hasOwnProperty('x') && u.hasOwnProperty('x')) { - var l = n(r), - c = r.__curve - ? function (e) { - return r.__curve.getPoint(e) - } - : function (e) { - var t = function (e, t, n, r) { - return t[e] + (n[e] - t[e]) * r || 0 - } - return { - x: t('x', s, u, e), - y: t('y', s, u, e), - z: t('z', s, u, e), - } - } - ;[].concat(W(i || []), W(o || [])).forEach(function (e, t) { - var n = 'singleHopPhotons' === e.parent.__linkThreeObjType - if ( - (e.hasOwnProperty('__progressRatio') || - (e.__progressRatio = n ? 0 : t / i.length), - (e.__progressRatio += l), - e.__progressRatio >= 1) - ) { - if (n) return e.parent.remove(e), void Y(e) - e.__progressRatio = e.__progressRatio % 1 - } - var r = e.__progressRatio, - o = c(r) - ;['x', 'y', 'z'].forEach(function (t) { - return (e.position[t] = o[t]) - }) - }) - } - } - }) - })(), - this - ) - }, - emitParticle: function (e, t) { - if (t) { - if (!t.__singleHopPhotonsObj) { - var n = new ie.Group() - ;(n.__linkThreeObjType = 'singleHopPhotons'), - (t.__singleHopPhotonsObj = n), - e.graphScene.add(n) - } - var r = (0, p.default)(e.linkDirectionalParticleWidth), - i = Math.ceil(10 * r(t)) / 10 / 2, - o = e.linkDirectionalParticleResolution, - a = new ie.SphereBufferGeometry(i, o, o), - s = (0, p.default)(e.linkColor), - u = (0, p.default)(e.linkDirectionalParticleColor)(t) || s(t) || '#f0f0f0', - l = new ie.Color(ee(u)), - c = 3 * e.linkOpacity, - d = new ie.MeshLambertMaterial({ color: l, transparent: !0, opacity: c }) - t.__singleHopPhotonsObj.add(new ie.Mesh(a, d)) - } - return this - }, - getGraphBbox: function (e) { - var t = - arguments.length > 1 && void 0 !== arguments[1] - ? arguments[1] - : function () { - return !0 - } - if (!e.initialised) return null - var n = (function e(n) { - var r = [] - if (n.geometry) { - n.geometry.computeBoundingBox() - var i = new ie.Box3() - i.copy(n.geometry.boundingBox).applyMatrix4(n.matrixWorld), r.push(i) - } - return r.concat.apply( - r, - W( - (n.children || []) - .filter(function (e) { - return ( - !e.hasOwnProperty('__graphObjType') || - ('node' === e.__graphObjType && t(e.__data)) - ) - }) - .map(e), - ), - ) - })(e.graphScene) - return n.length - ? Object.assign.apply( - Object, - W( - ['x', 'y', 'z'].map(function (e) { - return L({}, e, [ - (0, v.Z)(n, function (t) { - return t.min[e] - }), - (0, m.Z)(n, function (t) { - return t.max[e] - }), - ]) - }), - ), - ) - : null - }, - }, - stateInit: function () { - return { - d3ForceLayout: (0, i.Z)() - .force('link', (0, o.Z)()) - .force('charge', (0, a.Z)()) - .force('center', (0, s.Z)()) - .force('dagRadial', null) - .stop(), - engineRunning: !1, - } - }, - init: function (e, t) { - t.graphScene = e - }, - update: function (e, t) { - var n = function (e) { - return e.some(function (e) { - return t.hasOwnProperty(e) - }) - } - if ( - ((e.engineRunning = !1), - e.onUpdate(), - null !== e.nodeAutoColorBy && - n(['nodeAutoColorBy', 'graphData', 'nodeColor']) && - re(e.graphData.nodes, (0, p.default)(e.nodeAutoColorBy), e.nodeColor), - null !== e.linkAutoColorBy && - n(['linkAutoColorBy', 'graphData', 'linkColor']) && - re(e.graphData.links, (0, p.default)(e.linkAutoColorBy), e.linkColor), - e._flushObjects || - n([ - 'graphData', - 'nodeThreeObject', - 'nodeThreeObjectExtend', - 'nodeVal', - 'nodeColor', - 'nodeVisibility', - 'nodeRelSize', - 'nodeResolution', - 'nodeOpacity', - ])) - ) { - var r = (0, p.default)(e.nodeThreeObject), - i = (0, p.default)(e.nodeThreeObjectExtend), - o = (0, p.default)(e.nodeVal), - a = (0, p.default)(e.nodeColor), - s = (0, p.default)(e.nodeVisibility), - l = {}, - c = {} - J(e.graphData.nodes.filter(s), e.graphScene, { - purge: e._flushObjects || n(['nodeThreeObject', 'nodeThreeObjectExtend']), - objFilter: function (e) { - return 'node' === e.__graphObjType - }, - createObj: function (t) { - var n, - o = r(t), - a = i(t) - return ( - o && e.nodeThreeObject === o && (o = o.clone()), - o && !a - ? (n = o) - : (((n = new ie.Mesh()).__graphDefaultObj = !0), o && a && n.add(o)), - (n.__graphObjType = 'node'), - n - ) - }, - updateObj: function (t, n) { - if (t.__graphDefaultObj) { - var r = o(n) || 1, - i = Math.cbrt(r) * e.nodeRelSize, - s = e.nodeResolution - ;(t.geometry.type.match(/^Sphere(Buffer)?Geometry$/) && - t.geometry.parameters.radius === i && - t.geometry.parameters.widthSegments === s) || - (l.hasOwnProperty(r) || (l[r] = new ie.SphereBufferGeometry(i, s, s)), - t.geometry.dispose(), - (t.geometry = l[r])) - var u = a(n), - d = new ie.Color(ee(u || '#ffffaa')), - f = e.nodeOpacity * te(u) - ;('MeshLambertMaterial' === t.material.type && - t.material.color.equals(d) && - t.material.opacity === f) || - (c.hasOwnProperty(u) || - (c[u] = new ie.MeshLambertMaterial({ - color: d, - transparent: !0, - opacity: f, - })), - t.material.dispose(), - (t.material = c[u])) - } - }, - }) - } - if ( - e._flushObjects || - n([ - 'graphData', - 'linkThreeObject', - 'linkThreeObjectExtend', - 'linkMaterial', - 'linkColor', - 'linkWidth', - 'linkVisibility', - 'linkResolution', - 'linkOpacity', - 'linkDirectionalArrowLength', - 'linkDirectionalArrowColor', - 'linkDirectionalArrowResolution', - 'linkDirectionalParticles', - 'linkDirectionalParticleWidth', - 'linkDirectionalParticleColor', - 'linkDirectionalParticleResolution', - ]) - ) { - var d = (0, p.default)(e.linkThreeObject), - f = (0, p.default)(e.linkThreeObjectExtend), - h = (0, p.default)(e.linkMaterial), - v = (0, p.default)(e.linkVisibility), - m = (0, p.default)(e.linkColor), - g = (0, p.default)(e.linkWidth), - y = {}, - b = {}, - w = {}, - x = e.graphData.links.filter(v) - if ( - (J(x, e.graphScene, { - objBindAttr: '__lineObj', - purge: - e._flushObjects || n(['linkThreeObject', 'linkThreeObjectExtend', 'linkWidth']), - objFilter: function (e) { - return 'link' === e.__graphObjType - }, - createObj: function (t) { - var n, - r, - i = d(t), - o = f(t) - if ((i && e.linkThreeObject === i && (i = i.clone()), !i || o)) - if (!!g(t)) n = new ie.Mesh() - else { - var a = new ie.BufferGeometry() - a[ae]('position', new ie.BufferAttribute(new Float32Array(6), 3)), - (n = new ie.Line(a)) - } - return ( - i - ? o - ? (((r = new ie.Group()).__graphDefaultObj = !0), r.add(n), r.add(i)) - : (r = i) - : ((r = n).__graphDefaultObj = !0), - (r.renderOrder = 10), - (r.__graphObjType = 'link'), - r - ) - }, - updateObj: function (t, n) { - if (t.__graphDefaultObj) { - var r = t.children.length ? t.children[0] : t, - i = Math.ceil(10 * g(n)) / 10, - o = !!i - if (o) { - var a = i / 2, - s = e.linkResolution - if ( - !r.geometry.type.match(/^Cylinder(Buffer)?Geometry$/) || - r.geometry.parameters.radiusTop !== a || - r.geometry.parameters.radialSegments !== s - ) { - if (!y.hasOwnProperty(i)) { - var u = new ie.CylinderBufferGeometry(a, a, 1, s, 1, !1) - u[se](new ie.Matrix4().makeTranslation(0, 0.5, 0)), - u[se](new ie.Matrix4().makeRotationX(Math.PI / 2)), - (y[i] = u) - } - r.geometry.dispose(), (r.geometry = y[i]) - } - } - var l = h(n) - if (l) r.material = l - else { - var c = m(n), - d = new ie.Color(ee(c || '#f0f0f0')), - f = e.linkOpacity * te(c), - p = o ? 'MeshLambertMaterial' : 'LineBasicMaterial' - if ( - r.material.type !== p || - !r.material.color.equals(d) || - r.material.opacity !== f - ) { - var v = o ? b : w - v.hasOwnProperty(c) || - (v[c] = new ie[p]({ - color: d, - transparent: f < 1, - opacity: f, - depthWrite: f >= 1, - })), - r.material.dispose(), - (r.material = v[c]) - } - } - } - }, - }), - e.linkDirectionalArrowLength || t.hasOwnProperty('linkDirectionalArrowLength')) - ) { - var E = (0, p.default)(e.linkDirectionalArrowLength), - k = (0, p.default)(e.linkDirectionalArrowColor) - J(x.filter(E), e.graphScene, { - objBindAttr: '__arrowObj', - objFilter: function (e) { - return 'arrow' === e.__linkThreeObjType - }, - createObj: function () { - var e = new ie.Mesh(void 0, new ie.MeshLambertMaterial({ transparent: !0 })) - return (e.__linkThreeObjType = 'arrow'), e - }, - updateObj: function (t, n) { - var r = E(n), - i = e.linkDirectionalArrowResolution - if ( - !t.geometry.type.match(/^Cone(Buffer)?Geometry$/) || - t.geometry.parameters.height !== r || - t.geometry.parameters.radialSegments !== i - ) { - var o = new ie.ConeBufferGeometry(0.25 * r, r, i) - o.translate(0, r / 2, 0), - o.rotateX(Math.PI / 2), - t.geometry.dispose(), - (t.geometry = o) - } - ;(t.material.color = new ie.Color(k(n) || m(n) || '#f0f0f0')), - (t.material.opacity = 3 * e.linkOpacity) - }, - }) - } - if (e.linkDirectionalParticles || t.hasOwnProperty('linkDirectionalParticles')) { - var T = (0, p.default)(e.linkDirectionalParticles), - _ = (0, p.default)(e.linkDirectionalParticleWidth), - O = (0, p.default)(e.linkDirectionalParticleColor), - C = {}, - S = {} - J(x.filter(T), e.graphScene, { - objBindAttr: '__photonsObj', - objFilter: function (e) { - return 'photons' === e.__linkThreeObjType - }, - createObj: function () { - var e = new ie.Group() - return (e.__linkThreeObjType = 'photons'), e - }, - updateObj: function (t, n) { - var r, - i = Math.round(Math.abs(T(n))), - o = !!t.children.length && t.children[0], - a = Math.ceil(10 * _(n)) / 10 / 2, - s = e.linkDirectionalParticleResolution - o && - o.geometry.parameters.radius === a && - o.geometry.parameters.widthSegments === s - ? (r = o.geometry) - : (S.hasOwnProperty(a) || (S[a] = new ie.SphereBufferGeometry(a, s, s)), - (r = S[a]), - o && o.geometry.dispose()) - var u, - l = O(n) || m(n) || '#f0f0f0', - c = new ie.Color(ee(l)), - d = 3 * e.linkOpacity - o && o.material.color.equals(c) && o.material.opacity === d - ? (u = o.material) - : (C.hasOwnProperty(l) || - (C[l] = new ie.MeshLambertMaterial({ - color: c, - transparent: !0, - opacity: d, - })), - (u = C[l]), - o && o.material.dispose()), - J( - W(new Array(i)).map(function (e, t) { - return { idx: t } - }), - t, - { - idAccessor: function (e) { - return e.idx - }, - createObj: function () { - return new ie.Mesh(r, u) - }, - updateObj: function (e) { - ;(e.geometry = r), (e.material = u) - }, - }, - ) - }, - }) - } - } - if ( - ((e._flushObjects = !1), - n([ - 'graphData', - 'nodeId', - 'linkSource', - 'linkTarget', - 'numDimensions', - 'forceEngine', - 'dagMode', - 'dagNodeFilter', - 'dagLevelDistance', - ])) - ) { - ;(e.engineRunning = !1), - e.graphData.links.forEach(function (t) { - ;(t.source = t[e.linkSource]), (t.target = t[e.linkTarget]) - }) - var A, - P = 'ngraph' !== e.forceEngine - if (P) { - ;(A = e.d3ForceLayout) - .stop() - .alpha(1) - .numDimensions(e.numDimensions) - .nodes(e.graphData.nodes) - var M = e.d3ForceLayout.force('link') - M && - M.id(function (t) { - return t[e.nodeId] - }).links(e.graphData.links) - var D = - e.dagMode && - (function (e, t) { - var n = e.nodes, - r = e.links, - i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - o = i.nodeFilter, - a = - void 0 === o - ? function () { - return !0 - } - : o, - s = i.onLoopError, - u = - void 0 === s - ? function (e) { - throw 'Invalid DAG structure! Found cycle in node path: '.concat( - e.join(' -> '), - '.', - ) - } - : s, - l = {} - n.forEach(function (e) { - return (l[t(e)] = { data: e, out: [], depth: -1, skip: !a(e) }) - }), - r.forEach(function (e) { - var n = e.source, - r = e.target, - i = u(n), - o = u(r) - if (!l.hasOwnProperty(i)) throw 'Missing source node with id: '.concat(i) - if (!l.hasOwnProperty(o)) throw 'Missing target node with id: '.concat(o) - var a = l[i], - s = l[o] - function u(e) { - return 'object' === j(e) ? t(e) : e - } - a.out.push(s) - }) - var c = [] - return ( - d(Object.values(l)), - Object.assign.apply( - Object, - [{}].concat( - W( - Object.entries(l) - .filter(function (e) { - return !q(e, 2)[1].skip - }) - .map(function (e) { - var t = q(e, 2) - return L({}, t[0], t[1].depth) - }), - ), - ), - ) - ) - function d(e) { - for ( - var n = - arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [], - r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, - i = 0, - o = e.length; - i < o; - i++ - ) { - var a = e[i] - if (-1 !== n.indexOf(a)) - if ( - 'continue' === - (function () { - var e = [].concat(W(n.slice(n.indexOf(a))), [a]).map(function (e) { - return t(e.data) - }) - return ( - c.some(function (t) { - return ( - t.length === e.length && - t.every(function (t, n) { - return t === e[n] - }) - ) - }) || (c.push(e), u(e)), - 'continue' - ) - })() - ) - continue - r > a.depth && - ((a.depth = r), d(a.out, [].concat(W(n), [a]), r + (a.skip ? 0 : 1))) - } - } - })( - e.graphData, - function (t) { - return t[e.nodeId] - }, - { nodeFilter: e.dagNodeFilter, onLoopError: e.onDagError || void 0 }, - ), - N = Math.max.apply(Math, W(Object.values(D || []))), - I = - e.dagLevelDistance || - (e.graphData.nodes.length / (N || 1)) * - 2 * - (-1 !== ['radialin', 'radialout'].indexOf(e.dagMode) ? 0.7 : 1) - if (e.dagMode) { - var z = function (t, n) { - return function (r) { - return t ? (D[r[e.nodeId]] - N / 2) * I * (n ? -1 : 1) : void 0 - } - }, - H = z(-1 !== ['lr', 'rl'].indexOf(e.dagMode), 'rl' === e.dagMode), - B = z(-1 !== ['td', 'bu'].indexOf(e.dagMode), 'td' === e.dagMode), - F = z(-1 !== ['zin', 'zout'].indexOf(e.dagMode), 'zout' === e.dagMode) - e.graphData.nodes.filter(e.dagNodeFilter).forEach(function (e) { - ;(e.fx = H(e)), (e.fy = B(e)), (e.fz = F(e)) - }) - } - e.d3ForceLayout.force( - 'dagRadial', - -1 !== ['radialin', 'radialout'].indexOf(e.dagMode) - ? (0, u.Z)(function (t) { - var n = D[t[e.nodeId]] || -1 - return ('radialin' === e.dagMode ? N - n : n) * I - }).strength(function (t) { - return e.dagNodeFilter(t) ? 1 : 0 - }) - : null, - ) - } else { - var V = oe.graph() - e.graphData.nodes.forEach(function (t) { - V.addNode(t[e.nodeId]) - }), - e.graphData.links.forEach(function (e) { - V.addLink(e.source, e.target) - }), - ((A = oe.forcelayout( - V, - R({ dimensions: e.numDimensions }, e.ngraphPhysics), - )).graph = V) - } - for ( - var U = 0; - U < e.warmupTicks && - !(P && e.d3AlphaMin > 0 && e.d3ForceLayout.alpha() < e.d3AlphaMin); - U++ - ) - A[P ? 'tick' : 'step']() - ;(e.layout = A), this.resetCountdown() - } - ;(e.engineRunning = !0), e.onFinishUpdate() - }, - }), - (window.THREE ? window.THREE : { Group: r.ZAu }).Group, - !0, - ) - }, - 6594: function (e, t, n) { - 'use strict' - n.r(t), - n.d(t, { - Pathfinding: function () { - return v - }, - }) - var r = function () {} - ;(r.computeCentroids = function (e) { - var t, n, r - for (t = 0, n = e.faces.length; t < n; t++) - ((r = e.faces[t]).centroid = new THREE.Vector3(0, 0, 0)), - r.centroid.add(e.vertices[r.a]), - r.centroid.add(e.vertices[r.b]), - r.centroid.add(e.vertices[r.c]), - r.centroid.divideScalar(3) - }), - (r.roundNumber = function (e, t) { - return Number(e.toFixed(t)) - }), - (r.sample = function (e) { - return e[Math.floor(Math.random() * e.length)] - }), - (r.mergeVertexIds = function (e, t) { - var n = [] - if ( - (e.forEach(function (e) { - t.indexOf(e) >= 0 && n.push(e) - }), - n.length < 2) - ) - return [] - n.includes(e[0]) && n.includes(e[e.length - 1]) && e.push(e.shift()), - n.includes(t[0]) && n.includes(t[t.length - 1]) && t.push(t.shift()), - (n = []), - e.forEach(function (e) { - t.includes(e) && n.push(e) - }) - for (var r = n[1], i = n[0], o = e.slice(); o[0] !== r; ) o.push(o.shift()) - for (var a = 0, s = t.slice(); s[0] !== i; ) - if ((s.push(s.shift()), a++ > 10)) throw new Error('Unexpected state') - return s.shift(), s.pop(), o.concat(s) - }), - (r.setPolygonCentroid = function (e, t) { - var n = new THREE.Vector3(), - r = t.vertices - e.vertexIds.forEach(function (e) { - n.add(r[e]) - }), - n.divideScalar(e.vertexIds.length), - e.centroid.copy(n) - }), - (r.cleanPolygon = function (e, t) { - for (var n = [], r = t.vertices, i = 0; i < e.vertexIds.length; i++) { - var o, - a, - s, - u = r[e.vertexIds[i]] - 0 === i - ? ((o = e.vertexIds[1]), (a = e.vertexIds[e.vertexIds.length - 1])) - : i === e.vertexIds.length - 1 - ? ((o = e.vertexIds[0]), (a = e.vertexIds[e.vertexIds.length - 2])) - : ((o = e.vertexIds[i + 1]), (a = e.vertexIds[i - 1])), - (s = r[a]) - var l = r[o].clone().sub(u), - c = s.clone().sub(u), - d = l.angleTo(c) - if (d > Math.PI - 0.01 && d < Math.PI + 0.01) { - var f = [] - e.neighbours.forEach(function (t) { - t.vertexIds.includes(e.vertexIds[i]) || f.push(t) - }), - (e.neighbours = f) - } else n.push(e.vertexIds[i]) - } - ;(e.vertexIds = n), this.setPolygonCentroid(e, t) - }), - (r.isConvex = function (e, t) { - var n = t.vertices - if (e.vertexIds.length < 3) return !1 - for (var r = !0, i = [], o = 0; o < e.vertexIds.length; o++) { - var a, - s, - u = n[e.vertexIds[o]] - 0 === o - ? ((a = n[e.vertexIds[1]]), (s = n[e.vertexIds[e.vertexIds.length - 1]])) - : o === e.vertexIds.length - 1 - ? ((a = n[e.vertexIds[0]]), (s = n[e.vertexIds[e.vertexIds.length - 2]])) - : ((a = n[e.vertexIds[o + 1]]), (s = n[e.vertexIds[o - 1]])) - var l = a.clone().sub(u), - c = s.clone().sub(u), - d = l.angleTo(c) - if (d === Math.PI || 0 === d) return !1 - var f = l.cross(c).y - i.push(f) - } - return ( - i.forEach(function (e) { - 0 === e && (r = !1) - }), - i.forEach( - i[0] > 0 - ? function (e) { - e < 0 && (r = !1) - } - : function (e) { - e > 0 && (r = !1) - }, - ), - r - ) - }), - (r.distanceToSquared = function (e, t) { - var n = e.x - t.x, - r = e.y - t.y, - i = e.z - t.z - return n * n + r * r + i * i - }), - (r.isPointInPoly = function (e, t) { - for (var n = !1, r = -1, i = e.length, o = i - 1; ++r < i; o = r) - ((e[r].z <= t.z && t.z < e[o].z) || (e[o].z <= t.z && t.z < e[r].z)) && - t.x < ((e[o].x - e[r].x) * (t.z - e[r].z)) / (e[o].z - e[r].z) + e[r].x && - (n = !n) - return n - }), - (r.isVectorInPolygon = function (e, t, n) { - var r = 1e5, - i = -1e5, - o = [] - return ( - t.vertexIds.forEach(function (e) { - ;(r = Math.min(n[e].y, r)), (i = Math.max(n[e].y, i)), o.push(n[e]) - }), - !!(e.y < i + 0.5 && e.y > r - 0.5 && this.isPointInPoly(o, e)) - ) - }), - (r.triarea2 = function (e, t, n) { - return (n.x - e.x) * (t.z - e.z) - (t.x - e.x) * (n.z - e.z) - }), - (r.vequal = function (e, t) { - return this.distanceToSquared(e, t) < 1e-5 - }) - var i = function (e) { - ;(this.content = []), (this.scoreFunction = e) - } - ;(i.prototype.push = function (e) { - this.content.push(e), this.sinkDown(this.content.length - 1) - }), - (i.prototype.pop = function () { - var e = this.content[0], - t = this.content.pop() - return this.content.length > 0 && ((this.content[0] = t), this.bubbleUp(0)), e - }), - (i.prototype.remove = function (e) { - var t = this.content.indexOf(e), - n = this.content.pop() - t !== this.content.length - 1 && - ((this.content[t] = n), - this.scoreFunction(n) < this.scoreFunction(e) ? this.sinkDown(t) : this.bubbleUp(t)) - }), - (i.prototype.size = function () { - return this.content.length - }), - (i.prototype.rescoreElement = function (e) { - this.sinkDown(this.content.indexOf(e)) - }), - (i.prototype.sinkDown = function (e) { - for (var t = this.content[e]; e > 0; ) { - var n = ((e + 1) >> 1) - 1, - r = this.content[n] - if (!(this.scoreFunction(t) < this.scoreFunction(r))) break - ;(this.content[n] = t), (this.content[e] = r), (e = n) - } - }), - (i.prototype.bubbleUp = function (e) { - for (var t = this.content.length, n = this.content[e], r = this.scoreFunction(n); ; ) { - var i = (e + 1) << 1, - o = i - 1, - a = null, - s = void 0 - if ( - (o < t && (s = this.scoreFunction(this.content[o])) < r && (a = o), - i < t && this.scoreFunction(this.content[i]) < (null === a ? r : s) && (a = i), - null === a) - ) - break - ;(this.content[e] = this.content[a]), (this.content[a] = n), (e = a) - } - }) - var o = function () {} - ;(o.init = function (e) { - for (var t = 0; t < e.length; t++) { - var n = e[t] - ;(n.f = 0), - (n.g = 0), - (n.h = 0), - (n.cost = 1), - (n.visited = !1), - (n.closed = !1), - (n.parent = null) - } - }), - (o.cleanUp = function (e) { - for (var t = 0; t < e.length; t++) { - var n = e[t] - delete n.f, - delete n.g, - delete n.h, - delete n.cost, - delete n.visited, - delete n.closed, - delete n.parent - } - }), - (o.heap = function () { - return new i(function (e) { - return e.f - }) - }), - (o.search = function (e, t, n) { - this.init(e) - var r = this.heap() - for (r.push(t); r.size() > 0; ) { - var i = r.pop() - if (i === n) { - for (var o = i, a = []; o.parent; ) a.push(o), (o = o.parent) - return this.cleanUp(a), a.reverse() - } - i.closed = !0 - for (var s = this.neighbours(e, i), u = 0, l = s.length; u < l; u++) { - var c = s[u] - if (!c.closed) { - var d = i.g + c.cost, - f = c.visited - if (!f || d < c.g) { - if (((c.visited = !0), (c.parent = i), !c.centroid || !n.centroid)) - throw new Error('Unexpected state') - ;(c.h = c.h || this.heuristic(c.centroid, n.centroid)), - (c.g = d), - (c.f = c.g + c.h), - f ? r.rescoreElement(c) : r.push(c) - } - } - } - } - return [] - }), - (o.heuristic = function (e, t) { - return r.distanceToSquared(e, t) - }), - (o.neighbours = function (e, t) { - for (var n = [], r = 0; r < t.neighbours.length; r++) n.push(e[t.neighbours[r]]) - return n - }) - var a = 1, - s = function () {} - ;(s.buildZone = function (e) { - var t = this, - n = this._buildNavigationMesh(e), - i = {} - n.vertices.forEach(function (e) { - ;(e.x = r.roundNumber(e.x, 2)), - (e.y = r.roundNumber(e.y, 2)), - (e.z = r.roundNumber(e.z, 2)) - }), - (i.vertices = n.vertices) - var o = this._buildPolygonGroups(n) - i.groups = [] - var a = function (e, t) { - for (var n = 0; n < e.length; n++) if (t === e[n]) return n - } - return ( - o.forEach(function (e) { - var n = [] - e.forEach(function (i) { - var o = i.neighbours.map(function (t) { - return a(e, t) - }), - s = i.neighbours.map(function (e) { - return t._getSharedVerticesInOrder(i, e) - }) - ;(i.centroid.x = r.roundNumber(i.centroid.x, 2)), - (i.centroid.y = r.roundNumber(i.centroid.y, 2)), - (i.centroid.z = r.roundNumber(i.centroid.z, 2)), - n.push({ - id: a(e, i), - neighbours: o, - vertexIds: i.vertexIds, - centroid: i.centroid, - portals: s, - }) - }), - i.groups.push(n) - }), - i - ) - }), - (s._buildNavigationMesh = function (e) { - return r.computeCentroids(e), e.mergeVertices(), this._buildPolygonsFromGeometry(e) - }), - (s._buildPolygonGroups = function (e) { - var t = [], - n = 0, - r = function (e) { - e.neighbours.forEach(function (t) { - void 0 === t.group && ((t.group = e.group), r(t)) - }) - } - return ( - e.polygons.forEach(function (e) { - void 0 === e.group && ((e.group = n++), r(e)), - t[e.group] || (t[e.group] = []), - t[e.group].push(e) - }), - t - ) - }), - (s._buildPolygonNeighbours = function (e, t, n) { - var r = new Set(), - i = n.get(e.vertexIds[0]), - o = n.get(e.vertexIds[1]), - a = n.get(e.vertexIds[2]) - i.forEach(function (e) { - ;(o.has(e) || a.has(e)) && r.add(t.polygons[e]) - }), - o.forEach(function (e) { - a.has(e) && r.add(t.polygons[e]) - }), - (e.neighbours = Array.from(r)) - }), - (s._buildPolygonsFromGeometry = function (e) { - for ( - var t = this, n = [], r = e.vertices, i = e.faceVertexUvs, o = new Map(), s = 0; - s < r.length; - s++ - ) - o.set(s, new Set()) - e.faces.forEach(function (e) { - n.push({ - id: a++, - vertexIds: [e.a, e.b, e.c], - centroid: e.centroid, - normal: e.normal, - neighbours: [], - }), - o.get(e.a).add(n.length - 1), - o.get(e.b).add(n.length - 1), - o.get(e.c).add(n.length - 1) - }) - var u = { polygons: n, vertices: r, faceVertexUvs: i } - return ( - n.forEach(function (e) { - t._buildPolygonNeighbours(e, u, o) - }), - u - ) - }), - (s._getSharedVerticesInOrder = function (e, t) { - var n = e.vertexIds, - r = t.vertexIds, - i = new Set() - if ( - (n.forEach(function (e) { - r.includes(e) && i.add(e) - }), - i.size < 2) - ) - return [] - i.has(n[0]) && i.has(n[n.length - 1]) && n.push(n.shift()), - i.has(r[0]) && i.has(r[r.length - 1]) && r.push(r.shift()) - var o = [] - return ( - n.forEach(function (e) { - r.includes(e) && o.push(e) - }), - o - ) - }) - var u = function () { - this.portals = [] - } - ;(u.prototype.push = function (e, t) { - void 0 === t && (t = e), this.portals.push({ left: e, right: t }) - }), - (u.prototype.stringPull = function () { - var e, - t, - n, - i = this.portals, - o = [], - a = 0, - s = 0, - u = 0 - ;(t = i[0].left), (n = i[0].right), o.push((e = i[0].left)) - for (var l = 1; l < i.length; l++) { - var c = i[l].left, - d = i[l].right - if (r.triarea2(e, n, d) <= 0) { - if (!(r.vequal(e, n) || r.triarea2(e, t, d) > 0)) { - o.push(t), (t = e = t), (n = e), (s = a = s), (u = a), (l = a) - continue - } - ;(n = d), (u = l) - } - if (r.triarea2(e, t, c) >= 0) { - if (!(r.vequal(e, t) || r.triarea2(e, n, c) < 0)) { - o.push(n), (t = e = n), (n = e), (s = a = u), (u = a), (l = a) - continue - } - ;(t = c), (s = l) - } - } - return ( - (0 !== o.length && r.vequal(o[o.length - 1], i[i.length - 1].left)) || - o.push(i[i.length - 1].left), - (this.path = o), - o - ) - }) - var l, - c, - d, - f, - h, - p, - v = function () { - this.zones = {} - } - ;(v.createZone = function (e) { - return s.buildZone(e) - }), - (v.prototype.setZoneData = function (e, t) { - this.zones[e] = t - }), - (v.prototype.getGroup = function (e, t) { - if (!this.zones[e]) return null - var n = null, - i = Math.pow(50, 2) - return ( - this.zones[e].groups.forEach(function (e, o) { - e.forEach(function (e) { - var a = r.distanceToSquared(e.centroid, t) - a < i && ((n = o), (i = a)) - }) - }), - n - ) - }), - (v.prototype.getRandomNode = function (e, t, n, i) { - if (!this.zones[e]) return new THREE.Vector3() - ;(n = n || null), (i = i || 0) - var o = [] - return ( - this.zones[e].groups[t].forEach(function (e) { - n && i - ? r.distanceToSquared(n, e.centroid) < i * i && o.push(e.centroid) - : o.push(e.centroid) - }), - r.sample(o) || new THREE.Vector3() - ) - }), - (v.prototype.getClosestNode = function (e, t, n, i) { - void 0 === i && (i = !1) - var o = this.zones[t].vertices, - a = null, - s = 1 / 0 - return ( - this.zones[t].groups[n].forEach(function (t) { - var n = r.distanceToSquared(t.centroid, e) - n < s && (!i || r.isVectorInPolygon(e, t, o)) && ((a = t), (s = n)) - }), - a - ) - }), - (v.prototype.findPath = function (e, t, n, r) { - var i = this.zones[n].groups[r], - a = this.zones[n].vertices, - s = this.getClosestNode(e, n, r), - l = this.getClosestNode(t, n, r, !0) - if (!s || !l) return null - var c = o.search(i, s, l), - d = function (e, t) { - for (var n = 0; n < e.neighbours.length; n++) - if (e.neighbours[n] === t.id) return e.portals[n] - }, - f = new u() - f.push(e) - for (var h = 0; h < c.length; h++) { - var p = c[h + 1] - if (p) { - var v = d(c[h], p) - f.push(a[v[0]], a[v[1]]) - } - } - f.push(t), f.stringPull() - var m = f.path.map(function (e) { - return new THREE.Vector3(e.x, e.y, e.z) - }) - return m.shift(), m - }), - (v.prototype.clampStep = - ((d = new THREE.Vector3()), - (f = new THREE.Plane()), - (h = new THREE.Triangle()), - (p = new THREE.Vector3()), - function (e, t, n, r, i, o) { - var a = this.zones[r].vertices, - s = this.zones[r].groups[i], - u = [n], - v = {} - ;(v[n.id] = 0), - (l = void 0), - p.set(0, 0, 0), - (c = 1 / 0), - f.setFromCoplanarPoints(a[n.vertexIds[0]], a[n.vertexIds[1]], a[n.vertexIds[2]]), - f.projectPoint(t, d), - t.copy(d) - for (var m = u.pop(); m; m = u.pop()) { - h.set(a[m.vertexIds[0]], a[m.vertexIds[1]], a[m.vertexIds[2]]), - h.closestPointToPoint(t, d), - d.distanceToSquared(t) < c && ((l = m), p.copy(d), (c = d.distanceToSquared(t))) - var g = v[m] - if (!(g > 2)) - for (var y = 0; y < m.neighbours.length; y++) { - var b = s[m.neighbours[y]] - b.id in v || (u.push(b), (v[b.id] = g + 1)) - } - } - return o.copy(p), l - })) - }, - 6189: function (e, t, n) { - var r = n(7966) - e.exports = function (e) { - return r(e).replace(/\s(\w)/g, function (e, t) { - return t.toUpperCase() - }) - } - }, - 1788: function (e) { - e.exports = function (e) { - return t.test(e) - ? e.toLowerCase() - : n.test(e) - ? ( - (function (e) { - return e.replace(i, function (e, t) { - return t ? ' ' + t : '' - }) - })(e) || e - ).toLowerCase() - : r.test(e) - ? (function (e) { - return e.replace(o, function (e, t, n) { - return t + ' ' + n.toLowerCase().split('').join(' ') - }) - })(e).toLowerCase() - : e.toLowerCase() - } - var t = /\s/, - n = /(_|-|\.|:)/, - r = /([a-z][A-Z]|[A-Z][a-z])/ - var i = /[\W_]+(.|$)/g - var o = /(.)([A-Z]+)/g - }, - 7966: function (e, t, n) { - var r = n(1788) - e.exports = function (e) { - return r(e) - .replace(/[\W_]+(.|$)/g, function (e, t) { - return t ? ' ' + t : '' - }) - .trim() - } - }, - }, -]) diff --git a/out/_next/static/chunks/fb7d5399-a8c606efbc9e7c0edf90.js b/out/_next/static/chunks/fb7d5399-a8c606efbc9e7c0edf90.js deleted file mode 100644 index 1a661af..0000000 --- a/out/_next/static/chunks/fb7d5399-a8c606efbc9e7c0edf90.js +++ /dev/null @@ -1,21137 +0,0 @@ -;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ - [737], - { - 2212: function (t, e, n) { - 'use strict' - n.d(e, { - Mig: function () { - return Jo - }, - _Li: function () { - return s - }, - ZzF: function () { - return mt - }, - TlE: function () { - return Be - }, - u9r: function () { - return Je - }, - SUY: function () { - return ll - }, - Ilk: function () { - return Ie - }, - _3: function () { - return Zs - }, - yj7: function () { - return ha - }, - m_w: function () { - return Js - }, - Ox3: function () { - return Yo - }, - pBf: function () { - return W - }, - a$l: function () { - return He - }, - ZAu: function () { - return kr - }, - x12: function () { - return Os - }, - nls: function () { - return Cs - }, - wem: function () { - return v - }, - RsA: function () { - return i - }, - yGw: function () { - return Vt - }, - Kj0: function () { - return mn - }, - vBJ: function () { - return Ne - }, - YBo: function () { - return no - }, - iKG: function () { - return qo - }, - cPb: function () { - return Mn - }, - JOQ: function () { - return Cn - }, - mXe: function () { - return pa - }, - _fP: function () { - return ht - }, - wk1: function () { - return E - }, - iMs: function () { - return Tl - }, - xsS: function () { - return Qr - }, - jyz: function () { - return _n - }, - Aip: function () { - return Xa - }, - xo$: function () { - return Xa - }, - $V: function () { - return Al - }, - QmN: function () { - return r - }, - dpR: function () { - return Ro - }, - Lcc: function () { - return Ya - }, - rDY: function () { - return xn - }, - FM8: function () { - return tt - }, - Pa4: function () { - return ut - }, - dd2: function () { - return lt - }, - CP7: function () { - return Yr - }, - }) - const i = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }, - r = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }, - s = 1, - a = 100, - o = 301, - l = 302, - c = 306, - h = 307, - u = 1e3, - d = 1001, - p = 1002, - m = 1003, - f = 1004, - g = 1005, - v = 1006, - y = 1008, - x = 1009, - _ = 1012, - b = 1014, - M = 1015, - w = 1016, - S = 1020, - T = 1022, - E = 1023, - L = 1026, - A = 1027, - R = 2300, - C = 2301, - P = 2302, - D = 2400, - I = 2401, - N = 2402, - z = 2500, - O = 3e3, - B = 3001, - F = 3007, - U = 3002, - H = 7680, - G = 35044, - V = 35048, - k = '300 es' - class W { - addEventListener(t, e) { - void 0 === this._listeners && (this._listeners = {}) - const n = this._listeners - void 0 === n[t] && (n[t] = []), -1 === n[t].indexOf(e) && n[t].push(e) - } - hasEventListener(t, e) { - if (void 0 === this._listeners) return !1 - const n = this._listeners - return void 0 !== n[t] && -1 !== n[t].indexOf(e) - } - removeEventListener(t, e) { - if (void 0 === this._listeners) return - const n = this._listeners[t] - if (void 0 !== n) { - const t = n.indexOf(e) - ;-1 !== t && n.splice(t, 1) - } - } - dispatchEvent(t) { - if (void 0 === this._listeners) return - const e = this._listeners[t.type] - if (void 0 !== e) { - t.target = this - const n = e.slice(0) - for (let e = 0, i = n.length; e < i; e++) n[e].call(this, t) - t.target = null - } - } - } - const j = [] - for (let jl = 0; jl < 256; jl++) j[jl] = (jl < 16 ? '0' : '') + jl.toString(16) - const q = Math.PI / 180, - X = 180 / Math.PI - function Y() { - const t = (4294967295 * Math.random()) | 0, - e = (4294967295 * Math.random()) | 0, - n = (4294967295 * Math.random()) | 0, - i = (4294967295 * Math.random()) | 0 - return ( - j[255 & t] + - j[(t >> 8) & 255] + - j[(t >> 16) & 255] + - j[(t >> 24) & 255] + - '-' + - j[255 & e] + - j[(e >> 8) & 255] + - '-' + - j[((e >> 16) & 15) | 64] + - j[(e >> 24) & 255] + - '-' + - j[(63 & n) | 128] + - j[(n >> 8) & 255] + - '-' + - j[(n >> 16) & 255] + - j[(n >> 24) & 255] + - j[255 & i] + - j[(i >> 8) & 255] + - j[(i >> 16) & 255] + - j[(i >> 24) & 255] - ).toUpperCase() - } - function J(t, e, n) { - return Math.max(e, Math.min(n, t)) - } - function Z(t, e) { - return ((t % e) + e) % e - } - function Q(t, e, n) { - return (1 - n) * t + n * e - } - function K(t) { - return 0 === (t & (t - 1)) && 0 !== t - } - function $(t) { - return Math.pow(2, Math.floor(Math.log(t) / Math.LN2)) - } - class tt { - constructor(t = 0, e = 0) { - ;(this.x = t), (this.y = e) - } - get width() { - return this.x - } - set width(t) { - this.x = t - } - get height() { - return this.y - } - set height(t) { - this.y = t - } - set(t, e) { - return (this.x = t), (this.y = e), this - } - setScalar(t) { - return (this.x = t), (this.y = t), this - } - setX(t) { - return (this.x = t), this - } - setY(t) { - return (this.y = t), this - } - setComponent(t, e) { - switch (t) { - case 0: - this.x = e - break - case 1: - this.y = e - break - default: - throw new Error('index is out of range: ' + t) - } - return this - } - getComponent(t) { - switch (t) { - case 0: - return this.x - case 1: - return this.y - default: - throw new Error('index is out of range: ' + t) - } - } - clone() { - return new this.constructor(this.x, this.y) - } - copy(t) { - return (this.x = t.x), (this.y = t.y), this - } - add(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.', - ), - this.addVectors(t, e)) - : ((this.x += t.x), (this.y += t.y), this) - } - addScalar(t) { - return (this.x += t), (this.y += t), this - } - addVectors(t, e) { - return (this.x = t.x + e.x), (this.y = t.y + e.y), this - } - addScaledVector(t, e) { - return (this.x += t.x * e), (this.y += t.y * e), this - } - sub(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.', - ), - this.subVectors(t, e)) - : ((this.x -= t.x), (this.y -= t.y), this) - } - subScalar(t) { - return (this.x -= t), (this.y -= t), this - } - subVectors(t, e) { - return (this.x = t.x - e.x), (this.y = t.y - e.y), this - } - multiply(t) { - return (this.x *= t.x), (this.y *= t.y), this - } - multiplyScalar(t) { - return (this.x *= t), (this.y *= t), this - } - divide(t) { - return (this.x /= t.x), (this.y /= t.y), this - } - divideScalar(t) { - return this.multiplyScalar(1 / t) - } - applyMatrix3(t) { - const e = this.x, - n = this.y, - i = t.elements - return (this.x = i[0] * e + i[3] * n + i[6]), (this.y = i[1] * e + i[4] * n + i[7]), this - } - min(t) { - return (this.x = Math.min(this.x, t.x)), (this.y = Math.min(this.y, t.y)), this - } - max(t) { - return (this.x = Math.max(this.x, t.x)), (this.y = Math.max(this.y, t.y)), this - } - clamp(t, e) { - return ( - (this.x = Math.max(t.x, Math.min(e.x, this.x))), - (this.y = Math.max(t.y, Math.min(e.y, this.y))), - this - ) - } - clampScalar(t, e) { - return ( - (this.x = Math.max(t, Math.min(e, this.x))), - (this.y = Math.max(t, Math.min(e, this.y))), - this - ) - } - clampLength(t, e) { - const n = this.length() - return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n))) - } - floor() { - return (this.x = Math.floor(this.x)), (this.y = Math.floor(this.y)), this - } - ceil() { - return (this.x = Math.ceil(this.x)), (this.y = Math.ceil(this.y)), this - } - round() { - return (this.x = Math.round(this.x)), (this.y = Math.round(this.y)), this - } - roundToZero() { - return ( - (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)), - (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)), - this - ) - } - negate() { - return (this.x = -this.x), (this.y = -this.y), this - } - dot(t) { - return this.x * t.x + this.y * t.y - } - cross(t) { - return this.x * t.y - this.y * t.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(t) { - return Math.sqrt(this.distanceToSquared(t)) - } - distanceToSquared(t) { - const e = this.x - t.x, - n = this.y - t.y - return e * e + n * n - } - manhattanDistanceTo(t) { - return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) - } - setLength(t) { - return this.normalize().multiplyScalar(t) - } - lerp(t, e) { - return (this.x += (t.x - this.x) * e), (this.y += (t.y - this.y) * e), this - } - lerpVectors(t, e, n) { - return (this.x = t.x + (e.x - t.x) * n), (this.y = t.y + (e.y - t.y) * n), this - } - equals(t) { - return t.x === this.x && t.y === this.y - } - fromArray(t, e = 0) { - return (this.x = t[e]), (this.y = t[e + 1]), this - } - toArray(t = [], e = 0) { - return (t[e] = this.x), (t[e + 1] = this.y), t - } - fromBufferAttribute(t, e, n) { - return ( - void 0 !== n && - console.warn('THREE.Vector2: offset has been removed from .fromBufferAttribute().'), - (this.x = t.getX(e)), - (this.y = t.getY(e)), - this - ) - } - rotateAround(t, e) { - const n = Math.cos(e), - i = Math.sin(e), - r = this.x - t.x, - s = this.y - t.y - return (this.x = r * n - s * i + t.x), (this.y = r * i + s * n + t.y), this - } - random() { - return (this.x = Math.random()), (this.y = Math.random()), this - } - } - tt.prototype.isVector2 = !0 - class et { - 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(t, e, n, i, r, s, a, o, l) { - const c = this.elements - return ( - (c[0] = t), - (c[1] = i), - (c[2] = a), - (c[3] = e), - (c[4] = r), - (c[5] = o), - (c[6] = n), - (c[7] = s), - (c[8] = l), - this - ) - } - identity() { - return this.set(1, 0, 0, 0, 1, 0, 0, 0, 1), this - } - copy(t) { - const e = this.elements, - n = t.elements - return ( - (e[0] = n[0]), - (e[1] = n[1]), - (e[2] = n[2]), - (e[3] = n[3]), - (e[4] = n[4]), - (e[5] = n[5]), - (e[6] = n[6]), - (e[7] = n[7]), - (e[8] = n[8]), - this - ) - } - extractBasis(t, e, n) { - return ( - t.setFromMatrix3Column(this, 0), - e.setFromMatrix3Column(this, 1), - n.setFromMatrix3Column(this, 2), - this - ) - } - setFromMatrix4(t) { - const e = t.elements - return this.set(e[0], e[4], e[8], e[1], e[5], e[9], e[2], e[6], e[10]), this - } - multiply(t) { - return this.multiplyMatrices(this, t) - } - premultiply(t) { - return this.multiplyMatrices(t, this) - } - multiplyMatrices(t, e) { - const n = t.elements, - i = e.elements, - r = this.elements, - s = n[0], - a = n[3], - o = n[6], - l = n[1], - c = n[4], - h = n[7], - u = n[2], - d = n[5], - p = n[8], - m = i[0], - f = i[3], - g = i[6], - v = i[1], - y = i[4], - x = i[7], - _ = i[2], - b = i[5], - M = i[8] - return ( - (r[0] = s * m + a * v + o * _), - (r[3] = s * f + a * y + o * b), - (r[6] = s * g + a * x + o * M), - (r[1] = l * m + c * v + h * _), - (r[4] = l * f + c * y + h * b), - (r[7] = l * g + c * x + h * M), - (r[2] = u * m + d * v + p * _), - (r[5] = u * f + d * y + p * b), - (r[8] = u * g + d * x + p * M), - this - ) - } - multiplyScalar(t) { - const e = this.elements - return ( - (e[0] *= t), - (e[3] *= t), - (e[6] *= t), - (e[1] *= t), - (e[4] *= t), - (e[7] *= t), - (e[2] *= t), - (e[5] *= t), - (e[8] *= t), - this - ) - } - determinant() { - const t = this.elements, - e = t[0], - n = t[1], - i = t[2], - r = t[3], - s = t[4], - a = t[5], - o = t[6], - l = t[7], - c = t[8] - return e * s * c - e * a * l - n * r * c + n * a * o + i * r * l - i * s * o - } - invert() { - const t = this.elements, - e = t[0], - n = t[1], - i = t[2], - r = t[3], - s = t[4], - a = t[5], - o = t[6], - l = t[7], - c = t[8], - h = c * s - a * l, - u = a * o - c * r, - d = l * r - s * o, - p = e * h + n * u + i * d - if (0 === p) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0) - const m = 1 / p - return ( - (t[0] = h * m), - (t[1] = (i * l - c * n) * m), - (t[2] = (a * n - i * s) * m), - (t[3] = u * m), - (t[4] = (c * e - i * o) * m), - (t[5] = (i * r - a * e) * m), - (t[6] = d * m), - (t[7] = (n * o - l * e) * m), - (t[8] = (s * e - n * r) * m), - this - ) - } - transpose() { - let t - const e = this.elements - return ( - (t = e[1]), - (e[1] = e[3]), - (e[3] = t), - (t = e[2]), - (e[2] = e[6]), - (e[6] = t), - (t = e[5]), - (e[5] = e[7]), - (e[7] = t), - this - ) - } - getNormalMatrix(t) { - return this.setFromMatrix4(t).invert().transpose() - } - transposeIntoArray(t) { - const e = this.elements - return ( - (t[0] = e[0]), - (t[1] = e[3]), - (t[2] = e[6]), - (t[3] = e[1]), - (t[4] = e[4]), - (t[5] = e[7]), - (t[6] = e[2]), - (t[7] = e[5]), - (t[8] = e[8]), - this - ) - } - setUvTransform(t, e, n, i, r, s, a) { - const o = Math.cos(r), - l = Math.sin(r) - return ( - this.set( - n * o, - n * l, - -n * (o * s + l * a) + s + t, - -i * l, - i * o, - -i * (-l * s + o * a) + a + e, - 0, - 0, - 1, - ), - this - ) - } - scale(t, e) { - const n = this.elements - return (n[0] *= t), (n[3] *= t), (n[6] *= t), (n[1] *= e), (n[4] *= e), (n[7] *= e), this - } - rotate(t) { - const e = Math.cos(t), - n = Math.sin(t), - i = this.elements, - r = i[0], - s = i[3], - a = i[6], - o = i[1], - l = i[4], - c = i[7] - return ( - (i[0] = e * r + n * o), - (i[3] = e * s + n * l), - (i[6] = e * a + n * c), - (i[1] = -n * r + e * o), - (i[4] = -n * s + e * l), - (i[7] = -n * a + e * c), - this - ) - } - translate(t, e) { - const n = this.elements - return ( - (n[0] += t * n[2]), - (n[3] += t * n[5]), - (n[6] += t * n[8]), - (n[1] += e * n[2]), - (n[4] += e * n[5]), - (n[7] += e * n[8]), - this - ) - } - equals(t) { - const e = this.elements, - n = t.elements - for (let i = 0; i < 9; i++) if (e[i] !== n[i]) return !1 - return !0 - } - fromArray(t, e = 0) { - for (let n = 0; n < 9; n++) this.elements[n] = t[n + e] - return this - } - toArray(t = [], e = 0) { - const n = this.elements - return ( - (t[e] = n[0]), - (t[e + 1] = n[1]), - (t[e + 2] = n[2]), - (t[e + 3] = n[3]), - (t[e + 4] = n[4]), - (t[e + 5] = n[5]), - (t[e + 6] = n[6]), - (t[e + 7] = n[7]), - (t[e + 8] = n[8]), - t - ) - } - clone() { - return new this.constructor().fromArray(this.elements) - } - } - let nt - et.prototype.isMatrix3 = !0 - class it { - static getDataURL(t) { - if (/^data:/i.test(t.src)) return t.src - if ('undefined' == typeof HTMLCanvasElement) return t.src - let e - if (t instanceof HTMLCanvasElement) e = t - else { - void 0 === nt && - (nt = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas')), - (nt.width = t.width), - (nt.height = t.height) - const n = nt.getContext('2d') - t instanceof ImageData - ? n.putImageData(t, 0, 0) - : n.drawImage(t, 0, 0, t.width, t.height), - (e = nt) - } - return e.width > 2048 || e.height > 2048 - ? (console.warn( - 'THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons', - t, - ), - e.toDataURL('image/jpeg', 0.6)) - : e.toDataURL('image/png') - } - } - let rt = 0 - class st extends W { - constructor( - t = st.DEFAULT_IMAGE, - e = st.DEFAULT_MAPPING, - n = 1001, - i = 1001, - r = v, - s = 1008, - a = E, - o = 1009, - l = 1, - c = 3e3, - ) { - super(), - Object.defineProperty(this, 'id', { value: rt++ }), - (this.uuid = Y()), - (this.name = ''), - (this.image = t), - (this.mipmaps = []), - (this.mapping = e), - (this.wrapS = n), - (this.wrapT = i), - (this.magFilter = r), - (this.minFilter = s), - (this.anisotropy = l), - (this.format = a), - (this.internalFormat = null), - (this.type = o), - (this.offset = new tt(0, 0)), - (this.repeat = new tt(1, 1)), - (this.center = new tt(0, 0)), - (this.rotation = 0), - (this.matrixAutoUpdate = !0), - (this.matrix = new et()), - (this.generateMipmaps = !0), - (this.premultiplyAlpha = !1), - (this.flipY = !0), - (this.unpackAlignment = 4), - (this.encoding = c), - (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(t) { - return ( - (this.name = t.name), - (this.image = t.image), - (this.mipmaps = t.mipmaps.slice(0)), - (this.mapping = t.mapping), - (this.wrapS = t.wrapS), - (this.wrapT = t.wrapT), - (this.magFilter = t.magFilter), - (this.minFilter = t.minFilter), - (this.anisotropy = t.anisotropy), - (this.format = t.format), - (this.internalFormat = t.internalFormat), - (this.type = t.type), - this.offset.copy(t.offset), - this.repeat.copy(t.repeat), - this.center.copy(t.center), - (this.rotation = t.rotation), - (this.matrixAutoUpdate = t.matrixAutoUpdate), - this.matrix.copy(t.matrix), - (this.generateMipmaps = t.generateMipmaps), - (this.premultiplyAlpha = t.premultiplyAlpha), - (this.flipY = t.flipY), - (this.unpackAlignment = t.unpackAlignment), - (this.encoding = t.encoding), - this - ) - } - toJSON(t) { - const e = void 0 === t || 'string' === typeof t - if (!e && void 0 !== t.textures[this.uuid]) return t.textures[this.uuid] - const n = { - metadata: { version: 4.5, type: 'Texture', generator: 'Texture.toJSON' }, - uuid: this.uuid, - name: this.name, - mapping: this.mapping, - repeat: [this.repeat.x, this.repeat.y], - offset: [this.offset.x, this.offset.y], - center: [this.center.x, this.center.y], - rotation: this.rotation, - wrap: [this.wrapS, this.wrapT], - format: this.format, - type: this.type, - encoding: this.encoding, - minFilter: this.minFilter, - magFilter: this.magFilter, - anisotropy: this.anisotropy, - flipY: this.flipY, - premultiplyAlpha: this.premultiplyAlpha, - unpackAlignment: this.unpackAlignment, - } - if (void 0 !== this.image) { - const i = this.image - if ((void 0 === i.uuid && (i.uuid = Y()), !e && void 0 === t.images[i.uuid])) { - let e - if (Array.isArray(i)) { - e = [] - for (let t = 0, n = i.length; t < n; t++) - i[t].isDataTexture ? e.push(at(i[t].image)) : e.push(at(i[t])) - } else e = at(i) - t.images[i.uuid] = { uuid: i.uuid, url: e } - } - n.image = i.uuid - } - return e || (t.textures[this.uuid] = n), n - } - dispose() { - this.dispatchEvent({ type: 'dispose' }) - } - transformUv(t) { - if (300 !== this.mapping) return t - if ((t.applyMatrix3(this.matrix), t.x < 0 || t.x > 1)) - switch (this.wrapS) { - case u: - t.x = t.x - Math.floor(t.x) - break - case d: - t.x = t.x < 0 ? 0 : 1 - break - case p: - 1 === Math.abs(Math.floor(t.x) % 2) - ? (t.x = Math.ceil(t.x) - t.x) - : (t.x = t.x - Math.floor(t.x)) - } - if (t.y < 0 || t.y > 1) - switch (this.wrapT) { - case u: - t.y = t.y - Math.floor(t.y) - break - case d: - t.y = t.y < 0 ? 0 : 1 - break - case p: - 1 === Math.abs(Math.floor(t.y) % 2) - ? (t.y = Math.ceil(t.y) - t.y) - : (t.y = t.y - Math.floor(t.y)) - } - return this.flipY && (t.y = 1 - t.y), t - } - set needsUpdate(t) { - !0 === t && this.version++ - } - } - function at(t) { - return ('undefined' !== typeof HTMLImageElement && t instanceof HTMLImageElement) || - ('undefined' !== typeof HTMLCanvasElement && t instanceof HTMLCanvasElement) || - ('undefined' !== typeof ImageBitmap && t instanceof ImageBitmap) - ? it.getDataURL(t) - : t.data - ? { - data: Array.prototype.slice.call(t.data), - width: t.width, - height: t.height, - type: t.data.constructor.name, - } - : (console.warn('THREE.Texture: Unable to serialize Texture.'), {}) - } - ;(st.DEFAULT_IMAGE = void 0), (st.DEFAULT_MAPPING = 300), (st.prototype.isTexture = !0) - class ot { - constructor(t = 0, e = 0, n = 0, i = 1) { - ;(this.x = t), (this.y = e), (this.z = n), (this.w = i) - } - get width() { - return this.z - } - set width(t) { - this.z = t - } - get height() { - return this.w - } - set height(t) { - this.w = t - } - set(t, e, n, i) { - return (this.x = t), (this.y = e), (this.z = n), (this.w = i), this - } - setScalar(t) { - return (this.x = t), (this.y = t), (this.z = t), (this.w = t), this - } - setX(t) { - return (this.x = t), this - } - setY(t) { - return (this.y = t), this - } - setZ(t) { - return (this.z = t), this - } - setW(t) { - return (this.w = t), this - } - setComponent(t, e) { - switch (t) { - case 0: - this.x = e - break - case 1: - this.y = e - break - case 2: - this.z = e - break - case 3: - this.w = e - break - default: - throw new Error('index is out of range: ' + t) - } - return this - } - getComponent(t) { - switch (t) { - 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: ' + t) - } - } - clone() { - return new this.constructor(this.x, this.y, this.z, this.w) - } - copy(t) { - return ( - (this.x = t.x), - (this.y = t.y), - (this.z = t.z), - (this.w = void 0 !== t.w ? t.w : 1), - this - ) - } - add(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.', - ), - this.addVectors(t, e)) - : ((this.x += t.x), (this.y += t.y), (this.z += t.z), (this.w += t.w), this) - } - addScalar(t) { - return (this.x += t), (this.y += t), (this.z += t), (this.w += t), this - } - addVectors(t, e) { - return ( - (this.x = t.x + e.x), - (this.y = t.y + e.y), - (this.z = t.z + e.z), - (this.w = t.w + e.w), - this - ) - } - addScaledVector(t, e) { - return ( - (this.x += t.x * e), (this.y += t.y * e), (this.z += t.z * e), (this.w += t.w * e), this - ) - } - sub(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.', - ), - this.subVectors(t, e)) - : ((this.x -= t.x), (this.y -= t.y), (this.z -= t.z), (this.w -= t.w), this) - } - subScalar(t) { - return (this.x -= t), (this.y -= t), (this.z -= t), (this.w -= t), this - } - subVectors(t, e) { - return ( - (this.x = t.x - e.x), - (this.y = t.y - e.y), - (this.z = t.z - e.z), - (this.w = t.w - e.w), - this - ) - } - multiply(t) { - return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), (this.w *= t.w), this - } - multiplyScalar(t) { - return (this.x *= t), (this.y *= t), (this.z *= t), (this.w *= t), this - } - applyMatrix4(t) { - const e = this.x, - n = this.y, - i = this.z, - r = this.w, - s = t.elements - return ( - (this.x = s[0] * e + s[4] * n + s[8] * i + s[12] * r), - (this.y = s[1] * e + s[5] * n + s[9] * i + s[13] * r), - (this.z = s[2] * e + s[6] * n + s[10] * i + s[14] * r), - (this.w = s[3] * e + s[7] * n + s[11] * i + s[15] * r), - this - ) - } - divideScalar(t) { - return this.multiplyScalar(1 / t) - } - setAxisAngleFromQuaternion(t) { - this.w = 2 * Math.acos(t.w) - const e = Math.sqrt(1 - t.w * t.w) - return ( - e < 1e-4 - ? ((this.x = 1), (this.y = 0), (this.z = 0)) - : ((this.x = t.x / e), (this.y = t.y / e), (this.z = t.z / e)), - this - ) - } - setAxisAngleFromRotationMatrix(t) { - let e, n, i, r - const s = 0.01, - a = 0.1, - o = t.elements, - l = o[0], - c = o[4], - h = o[8], - u = o[1], - d = o[5], - p = o[9], - m = o[2], - f = o[6], - g = o[10] - if (Math.abs(c - u) < s && Math.abs(h - m) < s && Math.abs(p - f) < s) { - if ( - Math.abs(c + u) < a && - Math.abs(h + m) < a && - Math.abs(p + f) < a && - Math.abs(l + d + g - 3) < a - ) - return this.set(1, 0, 0, 0), this - e = Math.PI - const t = (l + 1) / 2, - o = (d + 1) / 2, - v = (g + 1) / 2, - y = (c + u) / 4, - x = (h + m) / 4, - _ = (p + f) / 4 - return ( - t > o && t > v - ? t < s - ? ((n = 0), (i = 0.707106781), (r = 0.707106781)) - : ((n = Math.sqrt(t)), (i = y / n), (r = x / n)) - : o > v - ? o < s - ? ((n = 0.707106781), (i = 0), (r = 0.707106781)) - : ((i = Math.sqrt(o)), (n = y / i), (r = _ / i)) - : v < s - ? ((n = 0.707106781), (i = 0.707106781), (r = 0)) - : ((r = Math.sqrt(v)), (n = x / r), (i = _ / r)), - this.set(n, i, r, e), - this - ) - } - let v = Math.sqrt((f - p) * (f - p) + (h - m) * (h - m) + (u - c) * (u - c)) - return ( - Math.abs(v) < 0.001 && (v = 1), - (this.x = (f - p) / v), - (this.y = (h - m) / v), - (this.z = (u - c) / v), - (this.w = Math.acos((l + d + g - 1) / 2)), - this - ) - } - min(t) { - return ( - (this.x = Math.min(this.x, t.x)), - (this.y = Math.min(this.y, t.y)), - (this.z = Math.min(this.z, t.z)), - (this.w = Math.min(this.w, t.w)), - this - ) - } - max(t) { - return ( - (this.x = Math.max(this.x, t.x)), - (this.y = Math.max(this.y, t.y)), - (this.z = Math.max(this.z, t.z)), - (this.w = Math.max(this.w, t.w)), - this - ) - } - clamp(t, e) { - return ( - (this.x = Math.max(t.x, Math.min(e.x, this.x))), - (this.y = Math.max(t.y, Math.min(e.y, this.y))), - (this.z = Math.max(t.z, Math.min(e.z, this.z))), - (this.w = Math.max(t.w, Math.min(e.w, this.w))), - this - ) - } - clampScalar(t, e) { - return ( - (this.x = Math.max(t, Math.min(e, this.x))), - (this.y = Math.max(t, Math.min(e, this.y))), - (this.z = Math.max(t, Math.min(e, this.z))), - (this.w = Math.max(t, Math.min(e, this.w))), - this - ) - } - clampLength(t, e) { - const n = this.length() - return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n))) - } - floor() { - return ( - (this.x = Math.floor(this.x)), - (this.y = Math.floor(this.y)), - (this.z = Math.floor(this.z)), - (this.w = Math.floor(this.w)), - this - ) - } - ceil() { - return ( - (this.x = Math.ceil(this.x)), - (this.y = Math.ceil(this.y)), - (this.z = Math.ceil(this.z)), - (this.w = Math.ceil(this.w)), - this - ) - } - 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(t) { - return this.x * t.x + this.y * t.y + this.z * t.z + this.w * t.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(t) { - return this.normalize().multiplyScalar(t) - } - lerp(t, e) { - return ( - (this.x += (t.x - this.x) * e), - (this.y += (t.y - this.y) * e), - (this.z += (t.z - this.z) * e), - (this.w += (t.w - this.w) * e), - this - ) - } - lerpVectors(t, e, n) { - return ( - (this.x = t.x + (e.x - t.x) * n), - (this.y = t.y + (e.y - t.y) * n), - (this.z = t.z + (e.z - t.z) * n), - (this.w = t.w + (e.w - t.w) * n), - this - ) - } - equals(t) { - return t.x === this.x && t.y === this.y && t.z === this.z && t.w === this.w - } - fromArray(t, e = 0) { - return ( - (this.x = t[e]), (this.y = t[e + 1]), (this.z = t[e + 2]), (this.w = t[e + 3]), this - ) - } - toArray(t = [], e = 0) { - return (t[e] = this.x), (t[e + 1] = this.y), (t[e + 2] = this.z), (t[e + 3] = this.w), t - } - fromBufferAttribute(t, e, n) { - return ( - void 0 !== n && - console.warn('THREE.Vector4: offset has been removed from .fromBufferAttribute().'), - (this.x = t.getX(e)), - (this.y = t.getY(e)), - (this.z = t.getZ(e)), - (this.w = t.getW(e)), - this - ) - } - random() { - return ( - (this.x = Math.random()), - (this.y = Math.random()), - (this.z = Math.random()), - (this.w = Math.random()), - this - ) - } - } - ot.prototype.isVector4 = !0 - class lt extends W { - constructor(t, e, n = {}) { - super(), - (this.width = t), - (this.height = e), - (this.depth = 1), - (this.scissor = new ot(0, 0, t, e)), - (this.scissorTest = !1), - (this.viewport = new ot(0, 0, t, e)), - (this.texture = new st( - void 0, - n.mapping, - n.wrapS, - n.wrapT, - n.magFilter, - n.minFilter, - n.format, - n.type, - n.anisotropy, - n.encoding, - )), - (this.texture.image = { width: t, height: e, depth: 1 }), - (this.texture.generateMipmaps = void 0 !== n.generateMipmaps && n.generateMipmaps), - (this.texture.minFilter = void 0 !== n.minFilter ? n.minFilter : v), - (this.depthBuffer = void 0 === n.depthBuffer || n.depthBuffer), - (this.stencilBuffer = void 0 !== n.stencilBuffer && n.stencilBuffer), - (this.depthTexture = void 0 !== n.depthTexture ? n.depthTexture : null) - } - setTexture(t) { - ;(t.image = { width: this.width, height: this.height, depth: this.depth }), - (this.texture = t) - } - setSize(t, e, n = 1) { - ;(this.width === t && this.height === e && this.depth === n) || - ((this.width = t), - (this.height = e), - (this.depth = n), - (this.texture.image.width = t), - (this.texture.image.height = e), - (this.texture.image.depth = n), - this.dispose()), - this.viewport.set(0, 0, t, e), - this.scissor.set(0, 0, t, e) - } - clone() { - return new this.constructor().copy(this) - } - copy(t) { - return ( - (this.width = t.width), - (this.height = t.height), - (this.depth = t.depth), - this.viewport.copy(t.viewport), - (this.texture = t.texture.clone()), - (this.texture.image = { ...this.texture.image }), - (this.depthBuffer = t.depthBuffer), - (this.stencilBuffer = t.stencilBuffer), - (this.depthTexture = t.depthTexture), - this - ) - } - dispose() { - this.dispatchEvent({ type: 'dispose' }) - } - } - lt.prototype.isWebGLRenderTarget = !0 - ;(class extends lt { - constructor(t, e, n) { - super(t, e) - const i = this.texture - this.texture = [] - for (let r = 0; r < n; r++) this.texture[r] = i.clone() - } - setSize(t, e, n = 1) { - if (this.width !== t || this.height !== e || this.depth !== n) { - ;(this.width = t), (this.height = e), (this.depth = n) - for (let i = 0, r = this.texture.length; i < r; i++) - (this.texture[i].image.width = t), - (this.texture[i].image.height = e), - (this.texture[i].image.depth = n) - this.dispose() - } - return this.viewport.set(0, 0, t, e), this.scissor.set(0, 0, t, e), this - } - copy(t) { - this.dispose(), - (this.width = t.width), - (this.height = t.height), - (this.depth = t.depth), - this.viewport.set(0, 0, this.width, this.height), - this.scissor.set(0, 0, this.width, this.height), - (this.depthBuffer = t.depthBuffer), - (this.stencilBuffer = t.stencilBuffer), - (this.depthTexture = t.depthTexture), - (this.texture.length = 0) - for (let e = 0, n = t.texture.length; e < n; e++) this.texture[e] = t.texture[e].clone() - return this - } - }.prototype.isWebGLMultipleRenderTargets = !0) - class ct extends lt { - constructor(t, e, n) { - super(t, e, n), (this.samples = 4) - } - copy(t) { - return super.copy.call(this, t), (this.samples = t.samples), this - } - } - ct.prototype.isWebGLMultisampleRenderTarget = !0 - class ht { - constructor(t = 0, e = 0, n = 0, i = 1) { - ;(this._x = t), (this._y = e), (this._z = n), (this._w = i) - } - static slerp(t, e, n, i) { - return ( - console.warn( - 'THREE.Quaternion: Static .slerp() has been deprecated. Use qm.slerpQuaternions( qa, qb, t ) instead.', - ), - n.slerpQuaternions(t, e, i) - ) - } - static slerpFlat(t, e, n, i, r, s, a) { - let o = n[i + 0], - l = n[i + 1], - c = n[i + 2], - h = n[i + 3] - const u = r[s + 0], - d = r[s + 1], - p = r[s + 2], - m = r[s + 3] - if (0 === a) return (t[e + 0] = o), (t[e + 1] = l), (t[e + 2] = c), void (t[e + 3] = h) - if (1 === a) return (t[e + 0] = u), (t[e + 1] = d), (t[e + 2] = p), void (t[e + 3] = m) - if (h !== m || o !== u || l !== d || c !== p) { - let t = 1 - a - const e = o * u + l * d + c * p + h * m, - n = e >= 0 ? 1 : -1, - i = 1 - e * e - if (i > Number.EPSILON) { - const r = Math.sqrt(i), - s = Math.atan2(r, e * n) - ;(t = Math.sin(t * s) / r), (a = Math.sin(a * s) / r) - } - const r = a * n - if ( - ((o = o * t + u * r), - (l = l * t + d * r), - (c = c * t + p * r), - (h = h * t + m * r), - t === 1 - a) - ) { - const t = 1 / Math.sqrt(o * o + l * l + c * c + h * h) - ;(o *= t), (l *= t), (c *= t), (h *= t) - } - } - ;(t[e] = o), (t[e + 1] = l), (t[e + 2] = c), (t[e + 3] = h) - } - static multiplyQuaternionsFlat(t, e, n, i, r, s) { - const a = n[i], - o = n[i + 1], - l = n[i + 2], - c = n[i + 3], - h = r[s], - u = r[s + 1], - d = r[s + 2], - p = r[s + 3] - return ( - (t[e] = a * p + c * h + o * d - l * u), - (t[e + 1] = o * p + c * u + l * h - a * d), - (t[e + 2] = l * p + c * d + a * u - o * h), - (t[e + 3] = c * p - a * h - o * u - l * d), - t - ) - } - get x() { - return this._x - } - set x(t) { - ;(this._x = t), this._onChangeCallback() - } - get y() { - return this._y - } - set y(t) { - ;(this._y = t), this._onChangeCallback() - } - get z() { - return this._z - } - set z(t) { - ;(this._z = t), this._onChangeCallback() - } - get w() { - return this._w - } - set w(t) { - ;(this._w = t), this._onChangeCallback() - } - set(t, e, n, i) { - return ( - (this._x = t), - (this._y = e), - (this._z = n), - (this._w = i), - this._onChangeCallback(), - this - ) - } - clone() { - return new this.constructor(this._x, this._y, this._z, this._w) - } - copy(t) { - return ( - (this._x = t.x), - (this._y = t.y), - (this._z = t.z), - (this._w = t.w), - this._onChangeCallback(), - this - ) - } - setFromEuler(t, e) { - if (!t || !t.isEuler) - throw new Error( - 'THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.', - ) - const n = t._x, - i = t._y, - r = t._z, - s = t._order, - a = Math.cos, - o = Math.sin, - l = a(n / 2), - c = a(i / 2), - h = a(r / 2), - u = o(n / 2), - d = o(i / 2), - p = o(r / 2) - switch (s) { - case 'XYZ': - ;(this._x = u * c * h + l * d * p), - (this._y = l * d * h - u * c * p), - (this._z = l * c * p + u * d * h), - (this._w = l * c * h - u * d * p) - break - case 'YXZ': - ;(this._x = u * c * h + l * d * p), - (this._y = l * d * h - u * c * p), - (this._z = l * c * p - u * d * h), - (this._w = l * c * h + u * d * p) - break - case 'ZXY': - ;(this._x = u * c * h - l * d * p), - (this._y = l * d * h + u * c * p), - (this._z = l * c * p + u * d * h), - (this._w = l * c * h - u * d * p) - break - case 'ZYX': - ;(this._x = u * c * h - l * d * p), - (this._y = l * d * h + u * c * p), - (this._z = l * c * p - u * d * h), - (this._w = l * c * h + u * d * p) - break - case 'YZX': - ;(this._x = u * c * h + l * d * p), - (this._y = l * d * h + u * c * p), - (this._z = l * c * p - u * d * h), - (this._w = l * c * h - u * d * p) - break - case 'XZY': - ;(this._x = u * c * h - l * d * p), - (this._y = l * d * h - u * c * p), - (this._z = l * c * p + u * d * h), - (this._w = l * c * h + u * d * p) - break - default: - console.warn('THREE.Quaternion: .setFromEuler() encountered an unknown order: ' + s) - } - return !1 !== e && this._onChangeCallback(), this - } - setFromAxisAngle(t, e) { - const n = e / 2, - i = Math.sin(n) - return ( - (this._x = t.x * i), - (this._y = t.y * i), - (this._z = t.z * i), - (this._w = Math.cos(n)), - this._onChangeCallback(), - this - ) - } - setFromRotationMatrix(t) { - const e = t.elements, - n = e[0], - i = e[4], - r = e[8], - s = e[1], - a = e[5], - o = e[9], - l = e[2], - c = e[6], - h = e[10], - u = n + a + h - if (u > 0) { - const t = 0.5 / Math.sqrt(u + 1) - ;(this._w = 0.25 / t), - (this._x = (c - o) * t), - (this._y = (r - l) * t), - (this._z = (s - i) * t) - } else if (n > a && n > h) { - const t = 2 * Math.sqrt(1 + n - a - h) - ;(this._w = (c - o) / t), - (this._x = 0.25 * t), - (this._y = (i + s) / t), - (this._z = (r + l) / t) - } else if (a > h) { - const t = 2 * Math.sqrt(1 + a - n - h) - ;(this._w = (r - l) / t), - (this._x = (i + s) / t), - (this._y = 0.25 * t), - (this._z = (o + c) / t) - } else { - const t = 2 * Math.sqrt(1 + h - n - a) - ;(this._w = (s - i) / t), - (this._x = (r + l) / t), - (this._y = (o + c) / t), - (this._z = 0.25 * t) - } - return this._onChangeCallback(), this - } - setFromUnitVectors(t, e) { - let n = t.dot(e) + 1 - return ( - n < Number.EPSILON - ? ((n = 0), - Math.abs(t.x) > Math.abs(t.z) - ? ((this._x = -t.y), (this._y = t.x), (this._z = 0), (this._w = n)) - : ((this._x = 0), (this._y = -t.z), (this._z = t.y), (this._w = n))) - : ((this._x = t.y * e.z - t.z * e.y), - (this._y = t.z * e.x - t.x * e.z), - (this._z = t.x * e.y - t.y * e.x), - (this._w = n)), - this.normalize() - ) - } - angleTo(t) { - return 2 * Math.acos(Math.abs(J(this.dot(t), -1, 1))) - } - rotateTowards(t, e) { - const n = this.angleTo(t) - if (0 === n) return this - const i = Math.min(1, e / n) - return this.slerp(t, i), this - } - identity() { - return this.set(0, 0, 0, 1) - } - invert() { - return this.conjugate() - } - conjugate() { - return (this._x *= -1), (this._y *= -1), (this._z *= -1), this._onChangeCallback(), this - } - dot(t) { - return this._x * t._x + this._y * t._y + this._z * t._z + this._w * t._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 t = this.length() - return ( - 0 === t - ? ((this._x = 0), (this._y = 0), (this._z = 0), (this._w = 1)) - : ((t = 1 / t), - (this._x = this._x * t), - (this._y = this._y * t), - (this._z = this._z * t), - (this._w = this._w * t)), - this._onChangeCallback(), - this - ) - } - multiply(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead.', - ), - this.multiplyQuaternions(t, e)) - : this.multiplyQuaternions(this, t) - } - premultiply(t) { - return this.multiplyQuaternions(t, this) - } - multiplyQuaternions(t, e) { - const n = t._x, - i = t._y, - r = t._z, - s = t._w, - a = e._x, - o = e._y, - l = e._z, - c = e._w - return ( - (this._x = n * c + s * a + i * l - r * o), - (this._y = i * c + s * o + r * a - n * l), - (this._z = r * c + s * l + n * o - i * a), - (this._w = s * c - n * a - i * o - r * l), - this._onChangeCallback(), - this - ) - } - slerp(t, e) { - if (0 === e) return this - if (1 === e) return this.copy(t) - const n = this._x, - i = this._y, - r = this._z, - s = this._w - let a = s * t._w + n * t._x + i * t._y + r * t._z - if ( - (a < 0 - ? ((this._w = -t._w), - (this._x = -t._x), - (this._y = -t._y), - (this._z = -t._z), - (a = -a)) - : this.copy(t), - a >= 1) - ) - return (this._w = s), (this._x = n), (this._y = i), (this._z = r), this - const o = 1 - a * a - if (o <= Number.EPSILON) { - const t = 1 - e - return ( - (this._w = t * s + e * this._w), - (this._x = t * n + e * this._x), - (this._y = t * i + e * this._y), - (this._z = t * r + e * this._z), - this.normalize(), - this._onChangeCallback(), - this - ) - } - const l = Math.sqrt(o), - c = Math.atan2(l, a), - h = Math.sin((1 - e) * c) / l, - u = Math.sin(e * c) / l - return ( - (this._w = s * h + this._w * u), - (this._x = n * h + this._x * u), - (this._y = i * h + this._y * u), - (this._z = r * h + this._z * u), - this._onChangeCallback(), - this - ) - } - slerpQuaternions(t, e, n) { - this.copy(t).slerp(e, n) - } - equals(t) { - return t._x === this._x && t._y === this._y && t._z === this._z && t._w === this._w - } - fromArray(t, e = 0) { - return ( - (this._x = t[e]), - (this._y = t[e + 1]), - (this._z = t[e + 2]), - (this._w = t[e + 3]), - this._onChangeCallback(), - this - ) - } - toArray(t = [], e = 0) { - return ( - (t[e] = this._x), (t[e + 1] = this._y), (t[e + 2] = this._z), (t[e + 3] = this._w), t - ) - } - fromBufferAttribute(t, e) { - return ( - (this._x = t.getX(e)), - (this._y = t.getY(e)), - (this._z = t.getZ(e)), - (this._w = t.getW(e)), - this - ) - } - _onChange(t) { - return (this._onChangeCallback = t), this - } - _onChangeCallback() {} - } - ht.prototype.isQuaternion = !0 - class ut { - constructor(t = 0, e = 0, n = 0) { - ;(this.x = t), (this.y = e), (this.z = n) - } - set(t, e, n) { - return void 0 === n && (n = this.z), (this.x = t), (this.y = e), (this.z = n), this - } - setScalar(t) { - return (this.x = t), (this.y = t), (this.z = t), this - } - setX(t) { - return (this.x = t), this - } - setY(t) { - return (this.y = t), this - } - setZ(t) { - return (this.z = t), this - } - setComponent(t, e) { - switch (t) { - case 0: - this.x = e - break - case 1: - this.y = e - break - case 2: - this.z = e - break - default: - throw new Error('index is out of range: ' + t) - } - return this - } - getComponent(t) { - switch (t) { - case 0: - return this.x - case 1: - return this.y - case 2: - return this.z - default: - throw new Error('index is out of range: ' + t) - } - } - clone() { - return new this.constructor(this.x, this.y, this.z) - } - copy(t) { - return (this.x = t.x), (this.y = t.y), (this.z = t.z), this - } - add(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.', - ), - this.addVectors(t, e)) - : ((this.x += t.x), (this.y += t.y), (this.z += t.z), this) - } - addScalar(t) { - return (this.x += t), (this.y += t), (this.z += t), this - } - addVectors(t, e) { - return (this.x = t.x + e.x), (this.y = t.y + e.y), (this.z = t.z + e.z), this - } - addScaledVector(t, e) { - return (this.x += t.x * e), (this.y += t.y * e), (this.z += t.z * e), this - } - sub(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead.', - ), - this.subVectors(t, e)) - : ((this.x -= t.x), (this.y -= t.y), (this.z -= t.z), this) - } - subScalar(t) { - return (this.x -= t), (this.y -= t), (this.z -= t), this - } - subVectors(t, e) { - return (this.x = t.x - e.x), (this.y = t.y - e.y), (this.z = t.z - e.z), this - } - multiply(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead.', - ), - this.multiplyVectors(t, e)) - : ((this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this) - } - multiplyScalar(t) { - return (this.x *= t), (this.y *= t), (this.z *= t), this - } - multiplyVectors(t, e) { - return (this.x = t.x * e.x), (this.y = t.y * e.y), (this.z = t.z * e.z), this - } - applyEuler(t) { - return ( - (t && t.isEuler) || - console.error( - 'THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.', - ), - this.applyQuaternion(pt.setFromEuler(t)) - ) - } - applyAxisAngle(t, e) { - return this.applyQuaternion(pt.setFromAxisAngle(t, e)) - } - applyMatrix3(t) { - const e = this.x, - n = this.y, - i = this.z, - r = t.elements - return ( - (this.x = r[0] * e + r[3] * n + r[6] * i), - (this.y = r[1] * e + r[4] * n + r[7] * i), - (this.z = r[2] * e + r[5] * n + r[8] * i), - this - ) - } - applyNormalMatrix(t) { - return this.applyMatrix3(t).normalize() - } - applyMatrix4(t) { - const e = this.x, - n = this.y, - i = this.z, - r = t.elements, - s = 1 / (r[3] * e + r[7] * n + r[11] * i + r[15]) - return ( - (this.x = (r[0] * e + r[4] * n + r[8] * i + r[12]) * s), - (this.y = (r[1] * e + r[5] * n + r[9] * i + r[13]) * s), - (this.z = (r[2] * e + r[6] * n + r[10] * i + r[14]) * s), - this - ) - } - applyQuaternion(t) { - const e = this.x, - n = this.y, - i = this.z, - r = t.x, - s = t.y, - a = t.z, - o = t.w, - l = o * e + s * i - a * n, - c = o * n + a * e - r * i, - h = o * i + r * n - s * e, - u = -r * e - s * n - a * i - return ( - (this.x = l * o + u * -r + c * -a - h * -s), - (this.y = c * o + u * -s + h * -r - l * -a), - (this.z = h * o + u * -a + l * -s - c * -r), - this - ) - } - project(t) { - return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix) - } - unproject(t) { - return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld) - } - transformDirection(t) { - const e = this.x, - n = this.y, - i = this.z, - r = t.elements - return ( - (this.x = r[0] * e + r[4] * n + r[8] * i), - (this.y = r[1] * e + r[5] * n + r[9] * i), - (this.z = r[2] * e + r[6] * n + r[10] * i), - this.normalize() - ) - } - divide(t) { - return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this - } - divideScalar(t) { - return this.multiplyScalar(1 / t) - } - min(t) { - return ( - (this.x = Math.min(this.x, t.x)), - (this.y = Math.min(this.y, t.y)), - (this.z = Math.min(this.z, t.z)), - this - ) - } - max(t) { - return ( - (this.x = Math.max(this.x, t.x)), - (this.y = Math.max(this.y, t.y)), - (this.z = Math.max(this.z, t.z)), - this - ) - } - clamp(t, e) { - return ( - (this.x = Math.max(t.x, Math.min(e.x, this.x))), - (this.y = Math.max(t.y, Math.min(e.y, this.y))), - (this.z = Math.max(t.z, Math.min(e.z, this.z))), - this - ) - } - clampScalar(t, e) { - return ( - (this.x = Math.max(t, Math.min(e, this.x))), - (this.y = Math.max(t, Math.min(e, this.y))), - (this.z = Math.max(t, Math.min(e, this.z))), - this - ) - } - clampLength(t, e) { - const n = this.length() - return this.divideScalar(n || 1).multiplyScalar(Math.max(t, Math.min(e, n))) - } - floor() { - return ( - (this.x = Math.floor(this.x)), - (this.y = Math.floor(this.y)), - (this.z = Math.floor(this.z)), - this - ) - } - ceil() { - return ( - (this.x = Math.ceil(this.x)), - (this.y = Math.ceil(this.y)), - (this.z = Math.ceil(this.z)), - this - ) - } - round() { - return ( - (this.x = Math.round(this.x)), - (this.y = Math.round(this.y)), - (this.z = Math.round(this.z)), - this - ) - } - roundToZero() { - return ( - (this.x = this.x < 0 ? Math.ceil(this.x) : Math.floor(this.x)), - (this.y = this.y < 0 ? Math.ceil(this.y) : Math.floor(this.y)), - (this.z = this.z < 0 ? Math.ceil(this.z) : Math.floor(this.z)), - this - ) - } - negate() { - return (this.x = -this.x), (this.y = -this.y), (this.z = -this.z), this - } - dot(t) { - return this.x * t.x + this.y * t.y + this.z * t.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(t) { - return this.normalize().multiplyScalar(t) - } - lerp(t, e) { - return ( - (this.x += (t.x - this.x) * e), - (this.y += (t.y - this.y) * e), - (this.z += (t.z - this.z) * e), - this - ) - } - lerpVectors(t, e, n) { - return ( - (this.x = t.x + (e.x - t.x) * n), - (this.y = t.y + (e.y - t.y) * n), - (this.z = t.z + (e.z - t.z) * n), - this - ) - } - cross(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead.', - ), - this.crossVectors(t, e)) - : this.crossVectors(this, t) - } - crossVectors(t, e) { - const n = t.x, - i = t.y, - r = t.z, - s = e.x, - a = e.y, - o = e.z - return (this.x = i * o - r * a), (this.y = r * s - n * o), (this.z = n * a - i * s), this - } - projectOnVector(t) { - const e = t.lengthSq() - if (0 === e) return this.set(0, 0, 0) - const n = t.dot(this) / e - return this.copy(t).multiplyScalar(n) - } - projectOnPlane(t) { - return dt.copy(this).projectOnVector(t), this.sub(dt) - } - reflect(t) { - return this.sub(dt.copy(t).multiplyScalar(2 * this.dot(t))) - } - angleTo(t) { - const e = Math.sqrt(this.lengthSq() * t.lengthSq()) - if (0 === e) return Math.PI / 2 - const n = this.dot(t) / e - return Math.acos(J(n, -1, 1)) - } - distanceTo(t) { - return Math.sqrt(this.distanceToSquared(t)) - } - distanceToSquared(t) { - const e = this.x - t.x, - n = this.y - t.y, - i = this.z - t.z - return e * e + n * n + i * i - } - manhattanDistanceTo(t) { - return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z) - } - setFromSpherical(t) { - return this.setFromSphericalCoords(t.radius, t.phi, t.theta) - } - setFromSphericalCoords(t, e, n) { - const i = Math.sin(e) * t - return ( - (this.x = i * Math.sin(n)), (this.y = Math.cos(e) * t), (this.z = i * Math.cos(n)), this - ) - } - setFromCylindrical(t) { - return this.setFromCylindricalCoords(t.radius, t.theta, t.y) - } - setFromCylindricalCoords(t, e, n) { - return (this.x = t * Math.sin(e)), (this.y = n), (this.z = t * Math.cos(e)), this - } - setFromMatrixPosition(t) { - const e = t.elements - return (this.x = e[12]), (this.y = e[13]), (this.z = e[14]), this - } - setFromMatrixScale(t) { - const e = this.setFromMatrixColumn(t, 0).length(), - n = this.setFromMatrixColumn(t, 1).length(), - i = this.setFromMatrixColumn(t, 2).length() - return (this.x = e), (this.y = n), (this.z = i), this - } - setFromMatrixColumn(t, e) { - return this.fromArray(t.elements, 4 * e) - } - setFromMatrix3Column(t, e) { - return this.fromArray(t.elements, 3 * e) - } - equals(t) { - return t.x === this.x && t.y === this.y && t.z === this.z - } - fromArray(t, e = 0) { - return (this.x = t[e]), (this.y = t[e + 1]), (this.z = t[e + 2]), this - } - toArray(t = [], e = 0) { - return (t[e] = this.x), (t[e + 1] = this.y), (t[e + 2] = this.z), t - } - fromBufferAttribute(t, e, n) { - return ( - void 0 !== n && - console.warn('THREE.Vector3: offset has been removed from .fromBufferAttribute().'), - (this.x = t.getX(e)), - (this.y = t.getY(e)), - (this.z = t.getZ(e)), - this - ) - } - random() { - return (this.x = Math.random()), (this.y = Math.random()), (this.z = Math.random()), this - } - } - ut.prototype.isVector3 = !0 - const dt = new ut(), - pt = new ht() - class mt { - constructor(t = new ut(1 / 0, 1 / 0, 1 / 0), e = new ut(-1 / 0, -1 / 0, -1 / 0)) { - ;(this.min = t), (this.max = e) - } - set(t, e) { - return this.min.copy(t), this.max.copy(e), this - } - setFromArray(t) { - let e = 1 / 0, - n = 1 / 0, - i = 1 / 0, - r = -1 / 0, - s = -1 / 0, - a = -1 / 0 - for (let o = 0, l = t.length; o < l; o += 3) { - const l = t[o], - c = t[o + 1], - h = t[o + 2] - l < e && (e = l), - c < n && (n = c), - h < i && (i = h), - l > r && (r = l), - c > s && (s = c), - h > a && (a = h) - } - return this.min.set(e, n, i), this.max.set(r, s, a), this - } - setFromBufferAttribute(t) { - let e = 1 / 0, - n = 1 / 0, - i = 1 / 0, - r = -1 / 0, - s = -1 / 0, - a = -1 / 0 - for (let o = 0, l = t.count; o < l; o++) { - const l = t.getX(o), - c = t.getY(o), - h = t.getZ(o) - l < e && (e = l), - c < n && (n = c), - h < i && (i = h), - l > r && (r = l), - c > s && (s = c), - h > a && (a = h) - } - return this.min.set(e, n, i), this.max.set(r, s, a), this - } - setFromPoints(t) { - this.makeEmpty() - for (let e = 0, n = t.length; e < n; e++) this.expandByPoint(t[e]) - return this - } - setFromCenterAndSize(t, e) { - const n = gt.copy(e).multiplyScalar(0.5) - return this.min.copy(t).sub(n), this.max.copy(t).add(n), this - } - setFromObject(t) { - return this.makeEmpty(), this.expandByObject(t) - } - clone() { - return new this.constructor().copy(this) - } - copy(t) { - return this.min.copy(t.min), this.max.copy(t.max), this - } - makeEmpty() { - return ( - (this.min.x = this.min.y = this.min.z = 1 / 0), - (this.max.x = this.max.y = this.max.z = -1 / 0), - this - ) - } - isEmpty() { - return this.max.x < this.min.x || this.max.y < this.min.y || this.max.z < this.min.z - } - getCenter(t) { - return this.isEmpty() - ? t.set(0, 0, 0) - : t.addVectors(this.min, this.max).multiplyScalar(0.5) - } - getSize(t) { - return this.isEmpty() ? t.set(0, 0, 0) : t.subVectors(this.max, this.min) - } - expandByPoint(t) { - return this.min.min(t), this.max.max(t), this - } - expandByVector(t) { - return this.min.sub(t), this.max.add(t), this - } - expandByScalar(t) { - return this.min.addScalar(-t), this.max.addScalar(t), this - } - expandByObject(t) { - t.updateWorldMatrix(!1, !1) - const e = t.geometry - void 0 !== e && - (null === e.boundingBox && e.computeBoundingBox(), - vt.copy(e.boundingBox), - vt.applyMatrix4(t.matrixWorld), - this.union(vt)) - const n = t.children - for (let i = 0, r = n.length; i < r; i++) this.expandByObject(n[i]) - return this - } - containsPoint(t) { - return !( - t.x < this.min.x || - t.x > this.max.x || - t.y < this.min.y || - t.y > this.max.y || - t.z < this.min.z || - t.z > this.max.z - ) - } - containsBox(t) { - return ( - this.min.x <= t.min.x && - t.max.x <= this.max.x && - this.min.y <= t.min.y && - t.max.y <= this.max.y && - this.min.z <= t.min.z && - t.max.z <= this.max.z - ) - } - getParameter(t, e) { - return e.set( - (t.x - this.min.x) / (this.max.x - this.min.x), - (t.y - this.min.y) / (this.max.y - this.min.y), - (t.z - this.min.z) / (this.max.z - this.min.z), - ) - } - intersectsBox(t) { - return !( - t.max.x < this.min.x || - t.min.x > this.max.x || - t.max.y < this.min.y || - t.min.y > this.max.y || - t.max.z < this.min.z || - t.min.z > this.max.z - ) - } - intersectsSphere(t) { - return ( - this.clampPoint(t.center, gt), gt.distanceToSquared(t.center) <= t.radius * t.radius - ) - } - intersectsPlane(t) { - let e, n - return ( - t.normal.x > 0 - ? ((e = t.normal.x * this.min.x), (n = t.normal.x * this.max.x)) - : ((e = t.normal.x * this.max.x), (n = t.normal.x * this.min.x)), - t.normal.y > 0 - ? ((e += t.normal.y * this.min.y), (n += t.normal.y * this.max.y)) - : ((e += t.normal.y * this.max.y), (n += t.normal.y * this.min.y)), - t.normal.z > 0 - ? ((e += t.normal.z * this.min.z), (n += t.normal.z * this.max.z)) - : ((e += t.normal.z * this.max.z), (n += t.normal.z * this.min.z)), - e <= -t.constant && n >= -t.constant - ) - } - intersectsTriangle(t) { - if (this.isEmpty()) return !1 - this.getCenter(St), - Tt.subVectors(this.max, St), - yt.subVectors(t.a, St), - xt.subVectors(t.b, St), - _t.subVectors(t.c, St), - bt.subVectors(xt, yt), - Mt.subVectors(_t, xt), - wt.subVectors(yt, _t) - let e = [ - 0, - -bt.z, - bt.y, - 0, - -Mt.z, - Mt.y, - 0, - -wt.z, - wt.y, - bt.z, - 0, - -bt.x, - Mt.z, - 0, - -Mt.x, - wt.z, - 0, - -wt.x, - -bt.y, - bt.x, - 0, - -Mt.y, - Mt.x, - 0, - -wt.y, - wt.x, - 0, - ] - return ( - !!At(e, yt, xt, _t, Tt) && - ((e = [1, 0, 0, 0, 1, 0, 0, 0, 1]), - !!At(e, yt, xt, _t, Tt) && - (Et.crossVectors(bt, Mt), (e = [Et.x, Et.y, Et.z]), At(e, yt, xt, _t, Tt))) - ) - } - clampPoint(t, e) { - return e.copy(t).clamp(this.min, this.max) - } - distanceToPoint(t) { - return gt.copy(t).clamp(this.min, this.max).sub(t).length() - } - getBoundingSphere(t) { - return this.getCenter(t.center), (t.radius = 0.5 * this.getSize(gt).length()), t - } - intersect(t) { - return this.min.max(t.min), this.max.min(t.max), this.isEmpty() && this.makeEmpty(), this - } - union(t) { - return this.min.min(t.min), this.max.max(t.max), this - } - applyMatrix4(t) { - return ( - this.isEmpty() || - (ft[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(t), - ft[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(t), - ft[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(t), - ft[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(t), - ft[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(t), - ft[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(t), - ft[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(t), - ft[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(t), - this.setFromPoints(ft)), - this - ) - } - translate(t) { - return this.min.add(t), this.max.add(t), this - } - equals(t) { - return t.min.equals(this.min) && t.max.equals(this.max) - } - } - mt.prototype.isBox3 = !0 - const ft = [new ut(), new ut(), new ut(), new ut(), new ut(), new ut(), new ut(), new ut()], - gt = new ut(), - vt = new mt(), - yt = new ut(), - xt = new ut(), - _t = new ut(), - bt = new ut(), - Mt = new ut(), - wt = new ut(), - St = new ut(), - Tt = new ut(), - Et = new ut(), - Lt = new ut() - function At(t, e, n, i, r) { - for (let s = 0, a = t.length - 3; s <= a; s += 3) { - Lt.fromArray(t, s) - const a = r.x * Math.abs(Lt.x) + r.y * Math.abs(Lt.y) + r.z * Math.abs(Lt.z), - o = e.dot(Lt), - l = n.dot(Lt), - c = i.dot(Lt) - if (Math.max(-Math.max(o, l, c), Math.min(o, l, c)) > a) return !1 - } - return !0 - } - const Rt = new mt(), - Ct = new ut(), - Pt = new ut(), - Dt = new ut() - class It { - constructor(t = new ut(), e = -1) { - ;(this.center = t), (this.radius = e) - } - set(t, e) { - return this.center.copy(t), (this.radius = e), this - } - setFromPoints(t, e) { - const n = this.center - void 0 !== e ? n.copy(e) : Rt.setFromPoints(t).getCenter(n) - let i = 0 - for (let r = 0, s = t.length; r < s; r++) i = Math.max(i, n.distanceToSquared(t[r])) - return (this.radius = Math.sqrt(i)), this - } - copy(t) { - return this.center.copy(t.center), (this.radius = t.radius), this - } - isEmpty() { - return this.radius < 0 - } - makeEmpty() { - return this.center.set(0, 0, 0), (this.radius = -1), this - } - containsPoint(t) { - return t.distanceToSquared(this.center) <= this.radius * this.radius - } - distanceToPoint(t) { - return t.distanceTo(this.center) - this.radius - } - intersectsSphere(t) { - const e = this.radius + t.radius - return t.center.distanceToSquared(this.center) <= e * e - } - intersectsBox(t) { - return t.intersectsSphere(this) - } - intersectsPlane(t) { - return Math.abs(t.distanceToPoint(this.center)) <= this.radius - } - clampPoint(t, e) { - const n = this.center.distanceToSquared(t) - return ( - e.copy(t), - n > this.radius * this.radius && - (e.sub(this.center).normalize(), e.multiplyScalar(this.radius).add(this.center)), - e - ) - } - getBoundingBox(t) { - return this.isEmpty() - ? (t.makeEmpty(), t) - : (t.set(this.center, this.center), t.expandByScalar(this.radius), t) - } - applyMatrix4(t) { - return ( - this.center.applyMatrix4(t), (this.radius = this.radius * t.getMaxScaleOnAxis()), this - ) - } - translate(t) { - return this.center.add(t), this - } - expandByPoint(t) { - Dt.subVectors(t, this.center) - const e = Dt.lengthSq() - if (e > this.radius * this.radius) { - const t = Math.sqrt(e), - n = 0.5 * (t - this.radius) - this.center.add(Dt.multiplyScalar(n / t)), (this.radius += n) - } - return this - } - union(t) { - return ( - Pt.subVectors(t.center, this.center).normalize().multiplyScalar(t.radius), - this.expandByPoint(Ct.copy(t.center).add(Pt)), - this.expandByPoint(Ct.copy(t.center).sub(Pt)), - this - ) - } - equals(t) { - return t.center.equals(this.center) && t.radius === this.radius - } - clone() { - return new this.constructor().copy(this) - } - } - const Nt = new ut(), - zt = new ut(), - Ot = new ut(), - Bt = new ut(), - Ft = new ut(), - Ut = new ut(), - Ht = new ut() - class Gt { - constructor(t = new ut(), e = new ut(0, 0, -1)) { - ;(this.origin = t), (this.direction = e) - } - set(t, e) { - return this.origin.copy(t), this.direction.copy(e), this - } - copy(t) { - return this.origin.copy(t.origin), this.direction.copy(t.direction), this - } - at(t, e) { - return e.copy(this.direction).multiplyScalar(t).add(this.origin) - } - lookAt(t) { - return this.direction.copy(t).sub(this.origin).normalize(), this - } - recast(t) { - return this.origin.copy(this.at(t, Nt)), this - } - closestPointToPoint(t, e) { - e.subVectors(t, this.origin) - const n = e.dot(this.direction) - return n < 0 - ? e.copy(this.origin) - : e.copy(this.direction).multiplyScalar(n).add(this.origin) - } - distanceToPoint(t) { - return Math.sqrt(this.distanceSqToPoint(t)) - } - distanceSqToPoint(t) { - const e = Nt.subVectors(t, this.origin).dot(this.direction) - return e < 0 - ? this.origin.distanceToSquared(t) - : (Nt.copy(this.direction).multiplyScalar(e).add(this.origin), Nt.distanceToSquared(t)) - } - distanceSqToSegment(t, e, n, i) { - zt.copy(t).add(e).multiplyScalar(0.5), - Ot.copy(e).sub(t).normalize(), - Bt.copy(this.origin).sub(zt) - const r = 0.5 * t.distanceTo(e), - s = -this.direction.dot(Ot), - a = Bt.dot(this.direction), - o = -Bt.dot(Ot), - l = Bt.lengthSq(), - c = Math.abs(1 - s * s) - let h, u, d, p - if (c > 0) - if (((h = s * o - a), (u = s * a - o), (p = r * c), h >= 0)) - if (u >= -p) - if (u <= p) { - const t = 1 / c - ;(h *= t), (u *= t), (d = h * (h + s * u + 2 * a) + u * (s * h + u + 2 * o) + l) - } else (u = r), (h = Math.max(0, -(s * u + a))), (d = -h * h + u * (u + 2 * o) + l) - else (u = -r), (h = Math.max(0, -(s * u + a))), (d = -h * h + u * (u + 2 * o) + l) - else - u <= -p - ? ((h = Math.max(0, -(-s * r + a))), - (u = h > 0 ? -r : Math.min(Math.max(-r, -o), r)), - (d = -h * h + u * (u + 2 * o) + l)) - : u <= p - ? ((h = 0), (u = Math.min(Math.max(-r, -o), r)), (d = u * (u + 2 * o) + l)) - : ((h = Math.max(0, -(s * r + a))), - (u = h > 0 ? r : Math.min(Math.max(-r, -o), r)), - (d = -h * h + u * (u + 2 * o) + l)) - else - (u = s > 0 ? -r : r), - (h = Math.max(0, -(s * u + a))), - (d = -h * h + u * (u + 2 * o) + l) - return ( - n && n.copy(this.direction).multiplyScalar(h).add(this.origin), - i && i.copy(Ot).multiplyScalar(u).add(zt), - d - ) - } - intersectSphere(t, e) { - Nt.subVectors(t.center, this.origin) - const n = Nt.dot(this.direction), - i = Nt.dot(Nt) - n * n, - r = t.radius * t.radius - if (i > r) return null - const s = Math.sqrt(r - i), - a = n - s, - o = n + s - return a < 0 && o < 0 ? null : a < 0 ? this.at(o, e) : this.at(a, e) - } - intersectsSphere(t) { - return this.distanceSqToPoint(t.center) <= t.radius * t.radius - } - distanceToPlane(t) { - const e = t.normal.dot(this.direction) - if (0 === e) return 0 === t.distanceToPoint(this.origin) ? 0 : null - const n = -(this.origin.dot(t.normal) + t.constant) / e - return n >= 0 ? n : null - } - intersectPlane(t, e) { - const n = this.distanceToPlane(t) - return null === n ? null : this.at(n, e) - } - intersectsPlane(t) { - const e = t.distanceToPoint(this.origin) - if (0 === e) return !0 - return t.normal.dot(this.direction) * e < 0 - } - intersectBox(t, e) { - let n, i, r, s, a, o - const l = 1 / this.direction.x, - c = 1 / this.direction.y, - h = 1 / this.direction.z, - u = this.origin - return ( - l >= 0 - ? ((n = (t.min.x - u.x) * l), (i = (t.max.x - u.x) * l)) - : ((n = (t.max.x - u.x) * l), (i = (t.min.x - u.x) * l)), - c >= 0 - ? ((r = (t.min.y - u.y) * c), (s = (t.max.y - u.y) * c)) - : ((r = (t.max.y - u.y) * c), (s = (t.min.y - u.y) * c)), - n > s || r > i - ? null - : ((r > n || n !== n) && (n = r), - (s < i || i !== i) && (i = s), - h >= 0 - ? ((a = (t.min.z - u.z) * h), (o = (t.max.z - u.z) * h)) - : ((a = (t.max.z - u.z) * h), (o = (t.min.z - u.z) * h)), - n > o || a > i - ? null - : ((a > n || n !== n) && (n = a), - (o < i || i !== i) && (i = o), - i < 0 ? null : this.at(n >= 0 ? n : i, e))) - ) - } - intersectsBox(t) { - return null !== this.intersectBox(t, Nt) - } - intersectTriangle(t, e, n, i, r) { - Ft.subVectors(e, t), Ut.subVectors(n, t), Ht.crossVectors(Ft, Ut) - let s, - a = this.direction.dot(Ht) - if (a > 0) { - if (i) return null - s = 1 - } else { - if (!(a < 0)) return null - ;(s = -1), (a = -a) - } - Bt.subVectors(this.origin, t) - const o = s * this.direction.dot(Ut.crossVectors(Bt, Ut)) - if (o < 0) return null - const l = s * this.direction.dot(Ft.cross(Bt)) - if (l < 0) return null - if (o + l > a) return null - const c = -s * Bt.dot(Ht) - return c < 0 ? null : this.at(c / a, r) - } - applyMatrix4(t) { - return this.origin.applyMatrix4(t), this.direction.transformDirection(t), this - } - equals(t) { - return t.origin.equals(this.origin) && t.direction.equals(this.direction) - } - clone() { - return new this.constructor().copy(this) - } - } - class Vt { - 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(t, e, n, i, r, s, a, o, l, c, h, u, d, p, m, f) { - const g = this.elements - return ( - (g[0] = t), - (g[4] = e), - (g[8] = n), - (g[12] = i), - (g[1] = r), - (g[5] = s), - (g[9] = a), - (g[13] = o), - (g[2] = l), - (g[6] = c), - (g[10] = h), - (g[14] = u), - (g[3] = d), - (g[7] = p), - (g[11] = m), - (g[15] = f), - 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 Vt().fromArray(this.elements) - } - copy(t) { - const e = this.elements, - n = t.elements - return ( - (e[0] = n[0]), - (e[1] = n[1]), - (e[2] = n[2]), - (e[3] = n[3]), - (e[4] = n[4]), - (e[5] = n[5]), - (e[6] = n[6]), - (e[7] = n[7]), - (e[8] = n[8]), - (e[9] = n[9]), - (e[10] = n[10]), - (e[11] = n[11]), - (e[12] = n[12]), - (e[13] = n[13]), - (e[14] = n[14]), - (e[15] = n[15]), - this - ) - } - copyPosition(t) { - const e = this.elements, - n = t.elements - return (e[12] = n[12]), (e[13] = n[13]), (e[14] = n[14]), this - } - setFromMatrix3(t) { - const e = t.elements - return ( - this.set(e[0], e[3], e[6], 0, e[1], e[4], e[7], 0, e[2], e[5], e[8], 0, 0, 0, 0, 1), - this - ) - } - extractBasis(t, e, n) { - return ( - t.setFromMatrixColumn(this, 0), - e.setFromMatrixColumn(this, 1), - n.setFromMatrixColumn(this, 2), - this - ) - } - makeBasis(t, e, n) { - return this.set(t.x, e.x, n.x, 0, t.y, e.y, n.y, 0, t.z, e.z, n.z, 0, 0, 0, 0, 1), this - } - extractRotation(t) { - const e = this.elements, - n = t.elements, - i = 1 / kt.setFromMatrixColumn(t, 0).length(), - r = 1 / kt.setFromMatrixColumn(t, 1).length(), - s = 1 / kt.setFromMatrixColumn(t, 2).length() - return ( - (e[0] = n[0] * i), - (e[1] = n[1] * i), - (e[2] = n[2] * i), - (e[3] = 0), - (e[4] = n[4] * r), - (e[5] = n[5] * r), - (e[6] = n[6] * r), - (e[7] = 0), - (e[8] = n[8] * s), - (e[9] = n[9] * s), - (e[10] = n[10] * s), - (e[11] = 0), - (e[12] = 0), - (e[13] = 0), - (e[14] = 0), - (e[15] = 1), - this - ) - } - makeRotationFromEuler(t) { - ;(t && t.isEuler) || - console.error( - 'THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.', - ) - const e = this.elements, - n = t.x, - i = t.y, - r = t.z, - s = Math.cos(n), - a = Math.sin(n), - o = Math.cos(i), - l = Math.sin(i), - c = Math.cos(r), - h = Math.sin(r) - if ('XYZ' === t.order) { - const t = s * c, - n = s * h, - i = a * c, - r = a * h - ;(e[0] = o * c), - (e[4] = -o * h), - (e[8] = l), - (e[1] = n + i * l), - (e[5] = t - r * l), - (e[9] = -a * o), - (e[2] = r - t * l), - (e[6] = i + n * l), - (e[10] = s * o) - } else if ('YXZ' === t.order) { - const t = o * c, - n = o * h, - i = l * c, - r = l * h - ;(e[0] = t + r * a), - (e[4] = i * a - n), - (e[8] = s * l), - (e[1] = s * h), - (e[5] = s * c), - (e[9] = -a), - (e[2] = n * a - i), - (e[6] = r + t * a), - (e[10] = s * o) - } else if ('ZXY' === t.order) { - const t = o * c, - n = o * h, - i = l * c, - r = l * h - ;(e[0] = t - r * a), - (e[4] = -s * h), - (e[8] = i + n * a), - (e[1] = n + i * a), - (e[5] = s * c), - (e[9] = r - t * a), - (e[2] = -s * l), - (e[6] = a), - (e[10] = s * o) - } else if ('ZYX' === t.order) { - const t = s * c, - n = s * h, - i = a * c, - r = a * h - ;(e[0] = o * c), - (e[4] = i * l - n), - (e[8] = t * l + r), - (e[1] = o * h), - (e[5] = r * l + t), - (e[9] = n * l - i), - (e[2] = -l), - (e[6] = a * o), - (e[10] = s * o) - } else if ('YZX' === t.order) { - const t = s * o, - n = s * l, - i = a * o, - r = a * l - ;(e[0] = o * c), - (e[4] = r - t * h), - (e[8] = i * h + n), - (e[1] = h), - (e[5] = s * c), - (e[9] = -a * c), - (e[2] = -l * c), - (e[6] = n * h + i), - (e[10] = t - r * h) - } else if ('XZY' === t.order) { - const t = s * o, - n = s * l, - i = a * o, - r = a * l - ;(e[0] = o * c), - (e[4] = -h), - (e[8] = l * c), - (e[1] = t * h + r), - (e[5] = s * c), - (e[9] = n * h - i), - (e[2] = i * h - n), - (e[6] = a * c), - (e[10] = r * h + t) - } - return ( - (e[3] = 0), - (e[7] = 0), - (e[11] = 0), - (e[12] = 0), - (e[13] = 0), - (e[14] = 0), - (e[15] = 1), - this - ) - } - makeRotationFromQuaternion(t) { - return this.compose(jt, t, qt) - } - lookAt(t, e, n) { - const i = this.elements - return ( - Jt.subVectors(t, e), - 0 === Jt.lengthSq() && (Jt.z = 1), - Jt.normalize(), - Xt.crossVectors(n, Jt), - 0 === Xt.lengthSq() && - (1 === Math.abs(n.z) ? (Jt.x += 1e-4) : (Jt.z += 1e-4), - Jt.normalize(), - Xt.crossVectors(n, Jt)), - Xt.normalize(), - Yt.crossVectors(Jt, Xt), - (i[0] = Xt.x), - (i[4] = Yt.x), - (i[8] = Jt.x), - (i[1] = Xt.y), - (i[5] = Yt.y), - (i[9] = Jt.y), - (i[2] = Xt.z), - (i[6] = Yt.z), - (i[10] = Jt.z), - this - ) - } - multiply(t, e) { - return void 0 !== e - ? (console.warn( - 'THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead.', - ), - this.multiplyMatrices(t, e)) - : this.multiplyMatrices(this, t) - } - premultiply(t) { - return this.multiplyMatrices(t, this) - } - multiplyMatrices(t, e) { - const n = t.elements, - i = e.elements, - r = this.elements, - s = n[0], - a = n[4], - o = n[8], - l = n[12], - c = n[1], - h = n[5], - u = n[9], - d = n[13], - p = n[2], - m = n[6], - f = n[10], - g = n[14], - v = n[3], - y = n[7], - x = n[11], - _ = n[15], - b = i[0], - M = i[4], - w = i[8], - S = i[12], - T = i[1], - E = i[5], - L = i[9], - A = i[13], - R = i[2], - C = i[6], - P = i[10], - D = i[14], - I = i[3], - N = i[7], - z = i[11], - O = i[15] - return ( - (r[0] = s * b + a * T + o * R + l * I), - (r[4] = s * M + a * E + o * C + l * N), - (r[8] = s * w + a * L + o * P + l * z), - (r[12] = s * S + a * A + o * D + l * O), - (r[1] = c * b + h * T + u * R + d * I), - (r[5] = c * M + h * E + u * C + d * N), - (r[9] = c * w + h * L + u * P + d * z), - (r[13] = c * S + h * A + u * D + d * O), - (r[2] = p * b + m * T + f * R + g * I), - (r[6] = p * M + m * E + f * C + g * N), - (r[10] = p * w + m * L + f * P + g * z), - (r[14] = p * S + m * A + f * D + g * O), - (r[3] = v * b + y * T + x * R + _ * I), - (r[7] = v * M + y * E + x * C + _ * N), - (r[11] = v * w + y * L + x * P + _ * z), - (r[15] = v * S + y * A + x * D + _ * O), - this - ) - } - multiplyScalar(t) { - const e = this.elements - return ( - (e[0] *= t), - (e[4] *= t), - (e[8] *= t), - (e[12] *= t), - (e[1] *= t), - (e[5] *= t), - (e[9] *= t), - (e[13] *= t), - (e[2] *= t), - (e[6] *= t), - (e[10] *= t), - (e[14] *= t), - (e[3] *= t), - (e[7] *= t), - (e[11] *= t), - (e[15] *= t), - this - ) - } - determinant() { - const t = this.elements, - e = t[0], - n = t[4], - i = t[8], - r = t[12], - s = t[1], - a = t[5], - o = t[9], - l = t[13], - c = t[2], - h = t[6], - u = t[10], - d = t[14] - return ( - t[3] * (+r * o * h - i * l * h - r * a * u + n * l * u + i * a * d - n * o * d) + - t[7] * (+e * o * d - e * l * u + r * s * u - i * s * d + i * l * c - r * o * c) + - t[11] * (+e * l * h - e * a * d - r * s * h + n * s * d + r * a * c - n * l * c) + - t[15] * (-i * a * c - e * o * h + e * a * u + i * s * h - n * s * u + n * o * c) - ) - } - transpose() { - const t = this.elements - let e - return ( - (e = t[1]), - (t[1] = t[4]), - (t[4] = e), - (e = t[2]), - (t[2] = t[8]), - (t[8] = e), - (e = t[6]), - (t[6] = t[9]), - (t[9] = e), - (e = t[3]), - (t[3] = t[12]), - (t[12] = e), - (e = t[7]), - (t[7] = t[13]), - (t[13] = e), - (e = t[11]), - (t[11] = t[14]), - (t[14] = e), - this - ) - } - setPosition(t, e, n) { - const i = this.elements - return ( - t.isVector3 - ? ((i[12] = t.x), (i[13] = t.y), (i[14] = t.z)) - : ((i[12] = t), (i[13] = e), (i[14] = n)), - this - ) - } - invert() { - const t = this.elements, - e = t[0], - n = t[1], - i = t[2], - r = t[3], - s = t[4], - a = t[5], - o = t[6], - l = t[7], - c = t[8], - h = t[9], - u = t[10], - d = t[11], - p = t[12], - m = t[13], - f = t[14], - g = t[15], - v = h * f * l - m * u * l + m * o * d - a * f * d - h * o * g + a * u * g, - y = p * u * l - c * f * l - p * o * d + s * f * d + c * o * g - s * u * g, - x = c * m * l - p * h * l + p * a * d - s * m * d - c * a * g + s * h * g, - _ = p * h * o - c * m * o - p * a * u + s * m * u + c * a * f - s * h * f, - b = e * v + n * y + i * x + r * _ - if (0 === b) return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) - const M = 1 / b - return ( - (t[0] = v * M), - (t[1] = (m * u * r - h * f * r - m * i * d + n * f * d + h * i * g - n * u * g) * M), - (t[2] = (a * f * r - m * o * r + m * i * l - n * f * l - a * i * g + n * o * g) * M), - (t[3] = (h * o * r - a * u * r - h * i * l + n * u * l + a * i * d - n * o * d) * M), - (t[4] = y * M), - (t[5] = (c * f * r - p * u * r + p * i * d - e * f * d - c * i * g + e * u * g) * M), - (t[6] = (p * o * r - s * f * r - p * i * l + e * f * l + s * i * g - e * o * g) * M), - (t[7] = (s * u * r - c * o * r + c * i * l - e * u * l - s * i * d + e * o * d) * M), - (t[8] = x * M), - (t[9] = (p * h * r - c * m * r - p * n * d + e * m * d + c * n * g - e * h * g) * M), - (t[10] = (s * m * r - p * a * r + p * n * l - e * m * l - s * n * g + e * a * g) * M), - (t[11] = (c * a * r - s * h * r - c * n * l + e * h * l + s * n * d - e * a * d) * M), - (t[12] = _ * M), - (t[13] = (c * m * i - p * h * i + p * n * u - e * m * u - c * n * f + e * h * f) * M), - (t[14] = (p * a * i - s * m * i - p * n * o + e * m * o + s * n * f - e * a * f) * M), - (t[15] = (s * h * i - c * a * i + c * n * o - e * h * o - s * n * u + e * a * u) * M), - this - ) - } - scale(t) { - const e = this.elements, - n = t.x, - i = t.y, - r = t.z - return ( - (e[0] *= n), - (e[4] *= i), - (e[8] *= r), - (e[1] *= n), - (e[5] *= i), - (e[9] *= r), - (e[2] *= n), - (e[6] *= i), - (e[10] *= r), - (e[3] *= n), - (e[7] *= i), - (e[11] *= r), - this - ) - } - getMaxScaleOnAxis() { - const t = this.elements, - e = t[0] * t[0] + t[1] * t[1] + t[2] * t[2], - n = t[4] * t[4] + t[5] * t[5] + t[6] * t[6], - i = t[8] * t[8] + t[9] * t[9] + t[10] * t[10] - return Math.sqrt(Math.max(e, n, i)) - } - makeTranslation(t, e, n) { - return this.set(1, 0, 0, t, 0, 1, 0, e, 0, 0, 1, n, 0, 0, 0, 1), this - } - makeRotationX(t) { - const e = Math.cos(t), - n = Math.sin(t) - return this.set(1, 0, 0, 0, 0, e, -n, 0, 0, n, e, 0, 0, 0, 0, 1), this - } - makeRotationY(t) { - const e = Math.cos(t), - n = Math.sin(t) - return this.set(e, 0, n, 0, 0, 1, 0, 0, -n, 0, e, 0, 0, 0, 0, 1), this - } - makeRotationZ(t) { - const e = Math.cos(t), - n = Math.sin(t) - return this.set(e, -n, 0, 0, n, e, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), this - } - makeRotationAxis(t, e) { - const n = Math.cos(e), - i = Math.sin(e), - r = 1 - n, - s = t.x, - a = t.y, - o = t.z, - l = r * s, - c = r * a - return ( - this.set( - l * s + n, - l * a - i * o, - l * o + i * a, - 0, - l * a + i * o, - c * a + n, - c * o - i * s, - 0, - l * o - i * a, - c * o + i * s, - r * o * o + n, - 0, - 0, - 0, - 0, - 1, - ), - this - ) - } - makeScale(t, e, n) { - return this.set(t, 0, 0, 0, 0, e, 0, 0, 0, 0, n, 0, 0, 0, 0, 1), this - } - makeShear(t, e, n, i, r, s) { - return this.set(1, n, r, 0, t, 1, s, 0, e, i, 1, 0, 0, 0, 0, 1), this - } - compose(t, e, n) { - const i = this.elements, - r = e._x, - s = e._y, - a = e._z, - o = e._w, - l = r + r, - c = s + s, - h = a + a, - u = r * l, - d = r * c, - p = r * h, - m = s * c, - f = s * h, - g = a * h, - v = o * l, - y = o * c, - x = o * h, - _ = n.x, - b = n.y, - M = n.z - return ( - (i[0] = (1 - (m + g)) * _), - (i[1] = (d + x) * _), - (i[2] = (p - y) * _), - (i[3] = 0), - (i[4] = (d - x) * b), - (i[5] = (1 - (u + g)) * b), - (i[6] = (f + v) * b), - (i[7] = 0), - (i[8] = (p + y) * M), - (i[9] = (f - v) * M), - (i[10] = (1 - (u + m)) * M), - (i[11] = 0), - (i[12] = t.x), - (i[13] = t.y), - (i[14] = t.z), - (i[15] = 1), - this - ) - } - decompose(t, e, n) { - const i = this.elements - let r = kt.set(i[0], i[1], i[2]).length() - const s = kt.set(i[4], i[5], i[6]).length(), - a = kt.set(i[8], i[9], i[10]).length() - this.determinant() < 0 && (r = -r), - (t.x = i[12]), - (t.y = i[13]), - (t.z = i[14]), - Wt.copy(this) - const o = 1 / r, - l = 1 / s, - c = 1 / a - return ( - (Wt.elements[0] *= o), - (Wt.elements[1] *= o), - (Wt.elements[2] *= o), - (Wt.elements[4] *= l), - (Wt.elements[5] *= l), - (Wt.elements[6] *= l), - (Wt.elements[8] *= c), - (Wt.elements[9] *= c), - (Wt.elements[10] *= c), - e.setFromRotationMatrix(Wt), - (n.x = r), - (n.y = s), - (n.z = a), - this - ) - } - makePerspective(t, e, n, i, r, s) { - void 0 === s && - console.warn( - 'THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.', - ) - const a = this.elements, - o = (2 * r) / (e - t), - l = (2 * r) / (n - i), - c = (e + t) / (e - t), - h = (n + i) / (n - i), - u = -(s + r) / (s - r), - d = (-2 * s * r) / (s - r) - return ( - (a[0] = o), - (a[4] = 0), - (a[8] = c), - (a[12] = 0), - (a[1] = 0), - (a[5] = l), - (a[9] = h), - (a[13] = 0), - (a[2] = 0), - (a[6] = 0), - (a[10] = u), - (a[14] = d), - (a[3] = 0), - (a[7] = 0), - (a[11] = -1), - (a[15] = 0), - this - ) - } - makeOrthographic(t, e, n, i, r, s) { - const a = this.elements, - o = 1 / (e - t), - l = 1 / (n - i), - c = 1 / (s - r), - h = (e + t) * o, - u = (n + i) * l, - d = (s + r) * c - return ( - (a[0] = 2 * o), - (a[4] = 0), - (a[8] = 0), - (a[12] = -h), - (a[1] = 0), - (a[5] = 2 * l), - (a[9] = 0), - (a[13] = -u), - (a[2] = 0), - (a[6] = 0), - (a[10] = -2 * c), - (a[14] = -d), - (a[3] = 0), - (a[7] = 0), - (a[11] = 0), - (a[15] = 1), - this - ) - } - equals(t) { - const e = this.elements, - n = t.elements - for (let i = 0; i < 16; i++) if (e[i] !== n[i]) return !1 - return !0 - } - fromArray(t, e = 0) { - for (let n = 0; n < 16; n++) this.elements[n] = t[n + e] - return this - } - toArray(t = [], e = 0) { - const n = this.elements - return ( - (t[e] = n[0]), - (t[e + 1] = n[1]), - (t[e + 2] = n[2]), - (t[e + 3] = n[3]), - (t[e + 4] = n[4]), - (t[e + 5] = n[5]), - (t[e + 6] = n[6]), - (t[e + 7] = n[7]), - (t[e + 8] = n[8]), - (t[e + 9] = n[9]), - (t[e + 10] = n[10]), - (t[e + 11] = n[11]), - (t[e + 12] = n[12]), - (t[e + 13] = n[13]), - (t[e + 14] = n[14]), - (t[e + 15] = n[15]), - t - ) - } - } - Vt.prototype.isMatrix4 = !0 - const kt = new ut(), - Wt = new Vt(), - jt = new ut(0, 0, 0), - qt = new ut(1, 1, 1), - Xt = new ut(), - Yt = new ut(), - Jt = new ut(), - Zt = new Vt(), - Qt = new ht() - class Kt { - constructor(t = 0, e = 0, n = 0, i = Kt.DefaultOrder) { - ;(this._x = t), (this._y = e), (this._z = n), (this._order = i) - } - get x() { - return this._x - } - set x(t) { - ;(this._x = t), this._onChangeCallback() - } - get y() { - return this._y - } - set y(t) { - ;(this._y = t), this._onChangeCallback() - } - get z() { - return this._z - } - set z(t) { - ;(this._z = t), this._onChangeCallback() - } - get order() { - return this._order - } - set order(t) { - ;(this._order = t), this._onChangeCallback() - } - set(t, e, n, i = this._order) { - return ( - (this._x = t), - (this._y = e), - (this._z = n), - (this._order = i), - this._onChangeCallback(), - this - ) - } - clone() { - return new this.constructor(this._x, this._y, this._z, this._order) - } - copy(t) { - return ( - (this._x = t._x), - (this._y = t._y), - (this._z = t._z), - (this._order = t._order), - this._onChangeCallback(), - this - ) - } - setFromRotationMatrix(t, e = this._order, n = !0) { - const i = t.elements, - r = i[0], - s = i[4], - a = i[8], - o = i[1], - l = i[5], - c = i[9], - h = i[2], - u = i[6], - d = i[10] - switch (e) { - case 'XYZ': - ;(this._y = Math.asin(J(a, -1, 1))), - Math.abs(a) < 0.9999999 - ? ((this._x = Math.atan2(-c, d)), (this._z = Math.atan2(-s, r))) - : ((this._x = Math.atan2(u, l)), (this._z = 0)) - break - case 'YXZ': - ;(this._x = Math.asin(-J(c, -1, 1))), - Math.abs(c) < 0.9999999 - ? ((this._y = Math.atan2(a, d)), (this._z = Math.atan2(o, l))) - : ((this._y = Math.atan2(-h, r)), (this._z = 0)) - break - case 'ZXY': - ;(this._x = Math.asin(J(u, -1, 1))), - Math.abs(u) < 0.9999999 - ? ((this._y = Math.atan2(-h, d)), (this._z = Math.atan2(-s, l))) - : ((this._y = 0), (this._z = Math.atan2(o, r))) - break - case 'ZYX': - ;(this._y = Math.asin(-J(h, -1, 1))), - Math.abs(h) < 0.9999999 - ? ((this._x = Math.atan2(u, d)), (this._z = Math.atan2(o, r))) - : ((this._x = 0), (this._z = Math.atan2(-s, l))) - break - case 'YZX': - ;(this._z = Math.asin(J(o, -1, 1))), - Math.abs(o) < 0.9999999 - ? ((this._x = Math.atan2(-c, l)), (this._y = Math.atan2(-h, r))) - : ((this._x = 0), (this._y = Math.atan2(a, d))) - break - case 'XZY': - ;(this._z = Math.asin(-J(s, -1, 1))), - Math.abs(s) < 0.9999999 - ? ((this._x = Math.atan2(u, l)), (this._y = Math.atan2(a, r))) - : ((this._x = Math.atan2(-c, d)), (this._y = 0)) - break - default: - console.warn( - 'THREE.Euler: .setFromRotationMatrix() encountered an unknown order: ' + e, - ) - } - return (this._order = e), !0 === n && this._onChangeCallback(), this - } - setFromQuaternion(t, e, n) { - return Zt.makeRotationFromQuaternion(t), this.setFromRotationMatrix(Zt, e, n) - } - setFromVector3(t, e = this._order) { - return this.set(t.x, t.y, t.z, e) - } - reorder(t) { - return Qt.setFromEuler(this), this.setFromQuaternion(Qt, t) - } - equals(t) { - return ( - t._x === this._x && t._y === this._y && t._z === this._z && t._order === this._order - ) - } - fromArray(t) { - return ( - (this._x = t[0]), - (this._y = t[1]), - (this._z = t[2]), - void 0 !== t[3] && (this._order = t[3]), - this._onChangeCallback(), - this - ) - } - toArray(t = [], e = 0) { - return ( - (t[e] = this._x), - (t[e + 1] = this._y), - (t[e + 2] = this._z), - (t[e + 3] = this._order), - t - ) - } - toVector3(t) { - return t ? t.set(this._x, this._y, this._z) : new ut(this._x, this._y, this._z) - } - _onChange(t) { - return (this._onChangeCallback = t), this - } - _onChangeCallback() {} - } - ;(Kt.prototype.isEuler = !0), - (Kt.DefaultOrder = 'XYZ'), - (Kt.RotationOrders = ['XYZ', 'YZX', 'ZXY', 'XZY', 'YXZ', 'ZYX']) - class $t { - constructor() { - this.mask = 1 - } - set(t) { - this.mask = (1 << t) | 0 - } - enable(t) { - this.mask |= (1 << t) | 0 - } - enableAll() { - this.mask = -1 - } - toggle(t) { - this.mask ^= (1 << t) | 0 - } - disable(t) { - this.mask &= ~((1 << t) | 0) - } - disableAll() { - this.mask = 0 - } - test(t) { - return 0 !== (this.mask & t.mask) - } - } - let te = 0 - const ee = new ut(), - ne = new ht(), - ie = new Vt(), - re = new ut(), - se = new ut(), - ae = new ut(), - oe = new ht(), - le = new ut(1, 0, 0), - ce = new ut(0, 1, 0), - he = new ut(0, 0, 1), - ue = { type: 'added' }, - de = { type: 'removed' } - class pe extends W { - constructor() { - super(), - Object.defineProperty(this, 'id', { value: te++ }), - (this.uuid = Y()), - (this.name = ''), - (this.type = 'Object3D'), - (this.parent = null), - (this.children = []), - (this.up = pe.DefaultUp.clone()) - const t = new ut(), - e = new Kt(), - n = new ht(), - i = new ut(1, 1, 1) - e._onChange(function () { - n.setFromEuler(e, !1) - }), - n._onChange(function () { - e.setFromQuaternion(n, void 0, !1) - }), - Object.defineProperties(this, { - position: { configurable: !0, enumerable: !0, value: t }, - rotation: { configurable: !0, enumerable: !0, value: e }, - quaternion: { configurable: !0, enumerable: !0, value: n }, - scale: { configurable: !0, enumerable: !0, value: i }, - modelViewMatrix: { value: new Vt() }, - normalMatrix: { value: new et() }, - }), - (this.matrix = new Vt()), - (this.matrixWorld = new Vt()), - (this.matrixAutoUpdate = pe.DefaultMatrixAutoUpdate), - (this.matrixWorldNeedsUpdate = !1), - (this.layers = new $t()), - (this.visible = !0), - (this.castShadow = !1), - (this.receiveShadow = !1), - (this.frustumCulled = !0), - (this.renderOrder = 0), - (this.animations = []), - (this.userData = {}) - } - onBeforeRender() {} - onAfterRender() {} - applyMatrix4(t) { - this.matrixAutoUpdate && this.updateMatrix(), - this.matrix.premultiply(t), - this.matrix.decompose(this.position, this.quaternion, this.scale) - } - applyQuaternion(t) { - return this.quaternion.premultiply(t), this - } - setRotationFromAxisAngle(t, e) { - this.quaternion.setFromAxisAngle(t, e) - } - setRotationFromEuler(t) { - this.quaternion.setFromEuler(t, !0) - } - setRotationFromMatrix(t) { - this.quaternion.setFromRotationMatrix(t) - } - setRotationFromQuaternion(t) { - this.quaternion.copy(t) - } - rotateOnAxis(t, e) { - return ne.setFromAxisAngle(t, e), this.quaternion.multiply(ne), this - } - rotateOnWorldAxis(t, e) { - return ne.setFromAxisAngle(t, e), this.quaternion.premultiply(ne), this - } - rotateX(t) { - return this.rotateOnAxis(le, t) - } - rotateY(t) { - return this.rotateOnAxis(ce, t) - } - rotateZ(t) { - return this.rotateOnAxis(he, t) - } - translateOnAxis(t, e) { - return ( - ee.copy(t).applyQuaternion(this.quaternion), - this.position.add(ee.multiplyScalar(e)), - this - ) - } - translateX(t) { - return this.translateOnAxis(le, t) - } - translateY(t) { - return this.translateOnAxis(ce, t) - } - translateZ(t) { - return this.translateOnAxis(he, t) - } - localToWorld(t) { - return t.applyMatrix4(this.matrixWorld) - } - worldToLocal(t) { - return t.applyMatrix4(ie.copy(this.matrixWorld).invert()) - } - lookAt(t, e, n) { - t.isVector3 ? re.copy(t) : re.set(t, e, n) - const i = this.parent - this.updateWorldMatrix(!0, !1), - se.setFromMatrixPosition(this.matrixWorld), - this.isCamera || this.isLight ? ie.lookAt(se, re, this.up) : ie.lookAt(re, se, this.up), - this.quaternion.setFromRotationMatrix(ie), - i && - (ie.extractRotation(i.matrixWorld), - ne.setFromRotationMatrix(ie), - this.quaternion.premultiply(ne.invert())) - } - add(t) { - if (arguments.length > 1) { - for (let t = 0; t < arguments.length; t++) this.add(arguments[t]) - return this - } - return t === this - ? (console.error("THREE.Object3D.add: object can't be added as a child of itself.", t), - this) - : (t && t.isObject3D - ? (null !== t.parent && t.parent.remove(t), - (t.parent = this), - this.children.push(t), - t.dispatchEvent(ue)) - : console.error('THREE.Object3D.add: object not an instance of THREE.Object3D.', t), - this) - } - remove(t) { - if (arguments.length > 1) { - for (let t = 0; t < arguments.length; t++) this.remove(arguments[t]) - return this - } - const e = this.children.indexOf(t) - return ( - -1 !== e && ((t.parent = null), this.children.splice(e, 1), t.dispatchEvent(de)), this - ) - } - removeFromParent() { - const t = this.parent - return null !== t && t.remove(this), this - } - clear() { - for (let t = 0; t < this.children.length; t++) { - const e = this.children[t] - ;(e.parent = null), e.dispatchEvent(de) - } - return (this.children.length = 0), this - } - attach(t) { - return ( - this.updateWorldMatrix(!0, !1), - ie.copy(this.matrixWorld).invert(), - null !== t.parent && - (t.parent.updateWorldMatrix(!0, !1), ie.multiply(t.parent.matrixWorld)), - t.applyMatrix4(ie), - this.add(t), - t.updateWorldMatrix(!1, !0), - this - ) - } - getObjectById(t) { - return this.getObjectByProperty('id', t) - } - getObjectByName(t) { - return this.getObjectByProperty('name', t) - } - getObjectByProperty(t, e) { - if (this[t] === e) return this - for (let n = 0, i = this.children.length; n < i; n++) { - const i = this.children[n].getObjectByProperty(t, e) - if (void 0 !== i) return i - } - } - getWorldPosition(t) { - return this.updateWorldMatrix(!0, !1), t.setFromMatrixPosition(this.matrixWorld) - } - getWorldQuaternion(t) { - return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(se, t, ae), t - } - getWorldScale(t) { - return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(se, oe, t), t - } - getWorldDirection(t) { - this.updateWorldMatrix(!0, !1) - const e = this.matrixWorld.elements - return t.set(e[8], e[9], e[10]).normalize() - } - raycast() {} - traverse(t) { - t(this) - const e = this.children - for (let n = 0, i = e.length; n < i; n++) e[n].traverse(t) - } - traverseVisible(t) { - if (!1 === this.visible) return - t(this) - const e = this.children - for (let n = 0, i = e.length; n < i; n++) e[n].traverseVisible(t) - } - traverseAncestors(t) { - const e = this.parent - null !== e && (t(e), e.traverseAncestors(t)) - } - updateMatrix() { - this.matrix.compose(this.position, this.quaternion, this.scale), - (this.matrixWorldNeedsUpdate = !0) - } - updateMatrixWorld(t) { - this.matrixAutoUpdate && this.updateMatrix(), - (this.matrixWorldNeedsUpdate || t) && - (null === this.parent - ? this.matrixWorld.copy(this.matrix) - : this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix), - (this.matrixWorldNeedsUpdate = !1), - (t = !0)) - const e = this.children - for (let n = 0, i = e.length; n < i; n++) e[n].updateMatrixWorld(t) - } - updateWorldMatrix(t, e) { - const n = this.parent - if ( - (!0 === t && null !== n && n.updateWorldMatrix(!0, !1), - this.matrixAutoUpdate && this.updateMatrix(), - null === this.parent - ? this.matrixWorld.copy(this.matrix) - : this.matrixWorld.multiplyMatrices(this.parent.matrixWorld, this.matrix), - !0 === e) - ) { - const t = this.children - for (let e = 0, n = t.length; e < n; e++) t[e].updateWorldMatrix(!1, !0) - } - } - toJSON(t) { - const e = void 0 === t || 'string' === typeof t, - n = {} - e && - ((t = { - geometries: {}, - materials: {}, - textures: {}, - images: {}, - shapes: {}, - skeletons: {}, - animations: {}, - }), - (n.metadata = { version: 4.5, type: 'Object', generator: 'Object3D.toJSON' })) - const i = {} - function r(e, n) { - return void 0 === e[n.uuid] && (e[n.uuid] = n.toJSON(t)), n.uuid - } - if ( - ((i.uuid = this.uuid), - (i.type = this.type), - '' !== this.name && (i.name = this.name), - !0 === this.castShadow && (i.castShadow = !0), - !0 === this.receiveShadow && (i.receiveShadow = !0), - !1 === this.visible && (i.visible = !1), - !1 === this.frustumCulled && (i.frustumCulled = !1), - 0 !== this.renderOrder && (i.renderOrder = this.renderOrder), - '{}' !== JSON.stringify(this.userData) && (i.userData = this.userData), - (i.layers = this.layers.mask), - (i.matrix = this.matrix.toArray()), - !1 === this.matrixAutoUpdate && (i.matrixAutoUpdate = !1), - this.isInstancedMesh && - ((i.type = 'InstancedMesh'), - (i.count = this.count), - (i.instanceMatrix = this.instanceMatrix.toJSON()), - null !== this.instanceColor && (i.instanceColor = this.instanceColor.toJSON())), - this.isScene) - ) - this.background && - (this.background.isColor - ? (i.background = this.background.toJSON()) - : this.background.isTexture && (i.background = this.background.toJSON(t).uuid)), - this.environment && - this.environment.isTexture && - (i.environment = this.environment.toJSON(t).uuid) - else if (this.isMesh || this.isLine || this.isPoints) { - i.geometry = r(t.geometries, this.geometry) - const e = this.geometry.parameters - if (void 0 !== e && void 0 !== e.shapes) { - const n = e.shapes - if (Array.isArray(n)) - for (let e = 0, i = n.length; e < i; e++) { - const i = n[e] - r(t.shapes, i) - } - else r(t.shapes, n) - } - } - if ( - (this.isSkinnedMesh && - ((i.bindMode = this.bindMode), - (i.bindMatrix = this.bindMatrix.toArray()), - void 0 !== this.skeleton && - (r(t.skeletons, this.skeleton), (i.skeleton = this.skeleton.uuid))), - void 0 !== this.material) - ) - if (Array.isArray(this.material)) { - const e = [] - for (let n = 0, i = this.material.length; n < i; n++) - e.push(r(t.materials, this.material[n])) - i.material = e - } else i.material = r(t.materials, this.material) - if (this.children.length > 0) { - i.children = [] - for (let e = 0; e < this.children.length; e++) - i.children.push(this.children[e].toJSON(t).object) - } - if (this.animations.length > 0) { - i.animations = [] - for (let e = 0; e < this.animations.length; e++) { - const n = this.animations[e] - i.animations.push(r(t.animations, n)) - } - } - if (e) { - const e = s(t.geometries), - i = s(t.materials), - r = s(t.textures), - a = s(t.images), - o = s(t.shapes), - l = s(t.skeletons), - c = s(t.animations) - e.length > 0 && (n.geometries = e), - i.length > 0 && (n.materials = i), - r.length > 0 && (n.textures = r), - a.length > 0 && (n.images = a), - o.length > 0 && (n.shapes = o), - l.length > 0 && (n.skeletons = l), - c.length > 0 && (n.animations = c) - } - return (n.object = i), n - function s(t) { - const e = [] - for (const n in t) { - const i = t[n] - delete i.metadata, e.push(i) - } - return e - } - } - clone(t) { - return new this.constructor().copy(this, t) - } - copy(t, e = !0) { - if ( - ((this.name = t.name), - this.up.copy(t.up), - this.position.copy(t.position), - (this.rotation.order = t.rotation.order), - this.quaternion.copy(t.quaternion), - this.scale.copy(t.scale), - this.matrix.copy(t.matrix), - this.matrixWorld.copy(t.matrixWorld), - (this.matrixAutoUpdate = t.matrixAutoUpdate), - (this.matrixWorldNeedsUpdate = t.matrixWorldNeedsUpdate), - (this.layers.mask = t.layers.mask), - (this.visible = t.visible), - (this.castShadow = t.castShadow), - (this.receiveShadow = t.receiveShadow), - (this.frustumCulled = t.frustumCulled), - (this.renderOrder = t.renderOrder), - (this.userData = JSON.parse(JSON.stringify(t.userData))), - !0 === e) - ) - for (let n = 0; n < t.children.length; n++) { - const e = t.children[n] - this.add(e.clone()) - } - return this - } - } - ;(pe.DefaultUp = new ut(0, 1, 0)), - (pe.DefaultMatrixAutoUpdate = !0), - (pe.prototype.isObject3D = !0) - const me = new ut(), - fe = new ut(), - ge = new ut(), - ve = new ut(), - ye = new ut(), - xe = new ut(), - _e = new ut(), - be = new ut(), - Me = new ut(), - we = new ut() - class Se { - constructor(t = new ut(), e = new ut(), n = new ut()) { - ;(this.a = t), (this.b = e), (this.c = n) - } - static getNormal(t, e, n, i) { - i.subVectors(n, e), me.subVectors(t, e), i.cross(me) - const r = i.lengthSq() - return r > 0 ? i.multiplyScalar(1 / Math.sqrt(r)) : i.set(0, 0, 0) - } - static getBarycoord(t, e, n, i, r) { - me.subVectors(i, e), fe.subVectors(n, e), ge.subVectors(t, e) - const s = me.dot(me), - a = me.dot(fe), - o = me.dot(ge), - l = fe.dot(fe), - c = fe.dot(ge), - h = s * l - a * a - if (0 === h) return r.set(-2, -1, -1) - const u = 1 / h, - d = (l * o - a * c) * u, - p = (s * c - a * o) * u - return r.set(1 - d - p, p, d) - } - static containsPoint(t, e, n, i) { - return this.getBarycoord(t, e, n, i, ve), ve.x >= 0 && ve.y >= 0 && ve.x + ve.y <= 1 - } - static getUV(t, e, n, i, r, s, a, o) { - return ( - this.getBarycoord(t, e, n, i, ve), - o.set(0, 0), - o.addScaledVector(r, ve.x), - o.addScaledVector(s, ve.y), - o.addScaledVector(a, ve.z), - o - ) - } - static isFrontFacing(t, e, n, i) { - return me.subVectors(n, e), fe.subVectors(t, e), me.cross(fe).dot(i) < 0 - } - set(t, e, n) { - return this.a.copy(t), this.b.copy(e), this.c.copy(n), this - } - setFromPointsAndIndices(t, e, n, i) { - return this.a.copy(t[e]), this.b.copy(t[n]), this.c.copy(t[i]), this - } - clone() { - return new this.constructor().copy(this) - } - copy(t) { - return this.a.copy(t.a), this.b.copy(t.b), this.c.copy(t.c), this - } - getArea() { - return ( - me.subVectors(this.c, this.b), - fe.subVectors(this.a, this.b), - 0.5 * me.cross(fe).length() - ) - } - getMidpoint(t) { - return t - .addVectors(this.a, this.b) - .add(this.c) - .multiplyScalar(1 / 3) - } - getNormal(t) { - return Se.getNormal(this.a, this.b, this.c, t) - } - getPlane(t) { - return t.setFromCoplanarPoints(this.a, this.b, this.c) - } - getBarycoord(t, e) { - return Se.getBarycoord(t, this.a, this.b, this.c, e) - } - getUV(t, e, n, i, r) { - return Se.getUV(t, this.a, this.b, this.c, e, n, i, r) - } - containsPoint(t) { - return Se.containsPoint(t, this.a, this.b, this.c) - } - isFrontFacing(t) { - return Se.isFrontFacing(this.a, this.b, this.c, t) - } - intersectsBox(t) { - return t.intersectsTriangle(this) - } - closestPointToPoint(t, e) { - const n = this.a, - i = this.b, - r = this.c - let s, a - ye.subVectors(i, n), xe.subVectors(r, n), be.subVectors(t, n) - const o = ye.dot(be), - l = xe.dot(be) - if (o <= 0 && l <= 0) return e.copy(n) - Me.subVectors(t, i) - const c = ye.dot(Me), - h = xe.dot(Me) - if (c >= 0 && h <= c) return e.copy(i) - const u = o * h - c * l - if (u <= 0 && o >= 0 && c <= 0) return (s = o / (o - c)), e.copy(n).addScaledVector(ye, s) - we.subVectors(t, r) - const d = ye.dot(we), - p = xe.dot(we) - if (p >= 0 && d <= p) return e.copy(r) - const m = d * l - o * p - if (m <= 0 && l >= 0 && p <= 0) return (a = l / (l - p)), e.copy(n).addScaledVector(xe, a) - const f = c * p - d * h - if (f <= 0 && h - c >= 0 && d - p >= 0) - return ( - _e.subVectors(r, i), - (a = (h - c) / (h - c + (d - p))), - e.copy(i).addScaledVector(_e, a) - ) - const g = 1 / (f + m + u) - return (s = m * g), (a = u * g), e.copy(n).addScaledVector(ye, s).addScaledVector(xe, a) - } - equals(t) { - return t.a.equals(this.a) && t.b.equals(this.b) && t.c.equals(this.c) - } - } - let Te = 0 - class Ee extends W { - constructor() { - super(), - Object.defineProperty(this, 'id', { value: Te++ }), - (this.uuid = Y()), - (this.name = ''), - (this.type = 'Material'), - (this.fog = !0), - (this.blending = 1), - (this.side = 0), - (this.vertexColors = !1), - (this.opacity = 1), - (this.transparent = !1), - (this.blendSrc = 204), - (this.blendDst = 205), - (this.blendEquation = a), - (this.blendSrcAlpha = null), - (this.blendDstAlpha = null), - (this.blendEquationAlpha = null), - (this.depthFunc = 3), - (this.depthTest = !0), - (this.depthWrite = !0), - (this.stencilWriteMask = 255), - (this.stencilFunc = 519), - (this.stencilRef = 0), - (this.stencilFuncMask = 255), - (this.stencilFail = H), - (this.stencilZFail = H), - (this.stencilZPass = H), - (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(t) { - if (void 0 !== t) - for (const e in t) { - const n = t[e] - if (void 0 === n) { - console.warn("THREE.Material: '" + e + "' parameter is undefined.") - continue - } - if ('shading' === e) { - console.warn( - 'THREE.' + - this.type + - ': .shading has been removed. Use the boolean .flatShading instead.', - ), - (this.flatShading = 1 === n) - continue - } - const i = this[e] - void 0 !== i - ? i && i.isColor - ? i.set(n) - : i && i.isVector3 && n && n.isVector3 - ? i.copy(n) - : (this[e] = n) - : console.warn( - 'THREE.' + this.type + ": '" + e + "' is not a property of this material.", - ) - } - } - toJSON(t) { - const e = void 0 === t || 'string' === typeof t - e && (t = { textures: {}, images: {} }) - const n = { metadata: { version: 4.5, type: 'Material', generator: 'Material.toJSON' } } - function i(t) { - const e = [] - for (const n in t) { - const i = t[n] - delete i.metadata, e.push(i) - } - return e - } - if ( - ((n.uuid = this.uuid), - (n.type = this.type), - '' !== this.name && (n.name = this.name), - this.color && this.color.isColor && (n.color = this.color.getHex()), - void 0 !== this.roughness && (n.roughness = this.roughness), - void 0 !== this.metalness && (n.metalness = this.metalness), - this.sheen && this.sheen.isColor && (n.sheen = this.sheen.getHex()), - this.emissive && this.emissive.isColor && (n.emissive = this.emissive.getHex()), - this.emissiveIntensity && - 1 !== this.emissiveIntensity && - (n.emissiveIntensity = this.emissiveIntensity), - this.specular && this.specular.isColor && (n.specular = this.specular.getHex()), - void 0 !== this.shininess && (n.shininess = this.shininess), - void 0 !== this.clearcoat && (n.clearcoat = this.clearcoat), - void 0 !== this.clearcoatRoughness && (n.clearcoatRoughness = this.clearcoatRoughness), - this.clearcoatMap && - this.clearcoatMap.isTexture && - (n.clearcoatMap = this.clearcoatMap.toJSON(t).uuid), - this.clearcoatRoughnessMap && - this.clearcoatRoughnessMap.isTexture && - (n.clearcoatRoughnessMap = this.clearcoatRoughnessMap.toJSON(t).uuid), - this.clearcoatNormalMap && - this.clearcoatNormalMap.isTexture && - ((n.clearcoatNormalMap = this.clearcoatNormalMap.toJSON(t).uuid), - (n.clearcoatNormalScale = this.clearcoatNormalScale.toArray())), - this.map && this.map.isTexture && (n.map = this.map.toJSON(t).uuid), - this.matcap && this.matcap.isTexture && (n.matcap = this.matcap.toJSON(t).uuid), - this.alphaMap && this.alphaMap.isTexture && (n.alphaMap = this.alphaMap.toJSON(t).uuid), - this.lightMap && - this.lightMap.isTexture && - ((n.lightMap = this.lightMap.toJSON(t).uuid), - (n.lightMapIntensity = this.lightMapIntensity)), - this.aoMap && - this.aoMap.isTexture && - ((n.aoMap = this.aoMap.toJSON(t).uuid), (n.aoMapIntensity = this.aoMapIntensity)), - this.bumpMap && - this.bumpMap.isTexture && - ((n.bumpMap = this.bumpMap.toJSON(t).uuid), (n.bumpScale = this.bumpScale)), - this.normalMap && - this.normalMap.isTexture && - ((n.normalMap = this.normalMap.toJSON(t).uuid), - (n.normalMapType = this.normalMapType), - (n.normalScale = this.normalScale.toArray())), - this.displacementMap && - this.displacementMap.isTexture && - ((n.displacementMap = this.displacementMap.toJSON(t).uuid), - (n.displacementScale = this.displacementScale), - (n.displacementBias = this.displacementBias)), - this.roughnessMap && - this.roughnessMap.isTexture && - (n.roughnessMap = this.roughnessMap.toJSON(t).uuid), - this.metalnessMap && - this.metalnessMap.isTexture && - (n.metalnessMap = this.metalnessMap.toJSON(t).uuid), - this.emissiveMap && - this.emissiveMap.isTexture && - (n.emissiveMap = this.emissiveMap.toJSON(t).uuid), - this.specularMap && - this.specularMap.isTexture && - (n.specularMap = this.specularMap.toJSON(t).uuid), - this.envMap && - this.envMap.isTexture && - ((n.envMap = this.envMap.toJSON(t).uuid), - void 0 !== this.combine && (n.combine = this.combine)), - void 0 !== this.envMapIntensity && (n.envMapIntensity = this.envMapIntensity), - void 0 !== this.reflectivity && (n.reflectivity = this.reflectivity), - void 0 !== this.refractionRatio && (n.refractionRatio = this.refractionRatio), - this.gradientMap && - this.gradientMap.isTexture && - (n.gradientMap = this.gradientMap.toJSON(t).uuid), - void 0 !== this.transmission && (n.transmission = this.transmission), - this.transmissionMap && - this.transmissionMap.isTexture && - (n.transmissionMap = this.transmissionMap.toJSON(t).uuid), - void 0 !== this.thickness && (n.thickness = this.thickness), - this.thicknessMap && - this.thicknessMap.isTexture && - (n.thicknessMap = this.thicknessMap.toJSON(t).uuid), - void 0 !== this.attenuationDistance && - (n.attenuationDistance = this.attenuationDistance), - void 0 !== this.attenuationColor && - (n.attenuationColor = this.attenuationColor.getHex()), - void 0 !== this.size && (n.size = this.size), - null !== this.shadowSide && (n.shadowSide = this.shadowSide), - void 0 !== this.sizeAttenuation && (n.sizeAttenuation = this.sizeAttenuation), - 1 !== this.blending && (n.blending = this.blending), - 0 !== this.side && (n.side = this.side), - this.vertexColors && (n.vertexColors = !0), - this.opacity < 1 && (n.opacity = this.opacity), - !0 === this.transparent && (n.transparent = this.transparent), - (n.depthFunc = this.depthFunc), - (n.depthTest = this.depthTest), - (n.depthWrite = this.depthWrite), - (n.colorWrite = this.colorWrite), - (n.stencilWrite = this.stencilWrite), - (n.stencilWriteMask = this.stencilWriteMask), - (n.stencilFunc = this.stencilFunc), - (n.stencilRef = this.stencilRef), - (n.stencilFuncMask = this.stencilFuncMask), - (n.stencilFail = this.stencilFail), - (n.stencilZFail = this.stencilZFail), - (n.stencilZPass = this.stencilZPass), - this.rotation && 0 !== this.rotation && (n.rotation = this.rotation), - !0 === this.polygonOffset && (n.polygonOffset = !0), - 0 !== this.polygonOffsetFactor && (n.polygonOffsetFactor = this.polygonOffsetFactor), - 0 !== this.polygonOffsetUnits && (n.polygonOffsetUnits = this.polygonOffsetUnits), - this.linewidth && 1 !== this.linewidth && (n.linewidth = this.linewidth), - void 0 !== this.dashSize && (n.dashSize = this.dashSize), - void 0 !== this.gapSize && (n.gapSize = this.gapSize), - void 0 !== this.scale && (n.scale = this.scale), - !0 === this.dithering && (n.dithering = !0), - this.alphaTest > 0 && (n.alphaTest = this.alphaTest), - !0 === this.alphaToCoverage && (n.alphaToCoverage = this.alphaToCoverage), - !0 === this.premultipliedAlpha && (n.premultipliedAlpha = this.premultipliedAlpha), - !0 === this.wireframe && (n.wireframe = this.wireframe), - this.wireframeLinewidth > 1 && (n.wireframeLinewidth = this.wireframeLinewidth), - 'round' !== this.wireframeLinecap && (n.wireframeLinecap = this.wireframeLinecap), - 'round' !== this.wireframeLinejoin && (n.wireframeLinejoin = this.wireframeLinejoin), - !0 === this.morphTargets && (n.morphTargets = !0), - !0 === this.morphNormals && (n.morphNormals = !0), - !0 === this.flatShading && (n.flatShading = this.flatShading), - !1 === this.visible && (n.visible = !1), - !1 === this.toneMapped && (n.toneMapped = !1), - '{}' !== JSON.stringify(this.userData) && (n.userData = this.userData), - e) - ) { - const e = i(t.textures), - r = i(t.images) - e.length > 0 && (n.textures = e), r.length > 0 && (n.images = r) - } - return n - } - clone() { - return new this.constructor().copy(this) - } - copy(t) { - ;(this.name = t.name), - (this.fog = t.fog), - (this.blending = t.blending), - (this.side = t.side), - (this.vertexColors = t.vertexColors), - (this.opacity = t.opacity), - (this.transparent = t.transparent), - (this.blendSrc = t.blendSrc), - (this.blendDst = t.blendDst), - (this.blendEquation = t.blendEquation), - (this.blendSrcAlpha = t.blendSrcAlpha), - (this.blendDstAlpha = t.blendDstAlpha), - (this.blendEquationAlpha = t.blendEquationAlpha), - (this.depthFunc = t.depthFunc), - (this.depthTest = t.depthTest), - (this.depthWrite = t.depthWrite), - (this.stencilWriteMask = t.stencilWriteMask), - (this.stencilFunc = t.stencilFunc), - (this.stencilRef = t.stencilRef), - (this.stencilFuncMask = t.stencilFuncMask), - (this.stencilFail = t.stencilFail), - (this.stencilZFail = t.stencilZFail), - (this.stencilZPass = t.stencilZPass), - (this.stencilWrite = t.stencilWrite) - const e = t.clippingPlanes - let n = null - if (null !== e) { - const t = e.length - n = new Array(t) - for (let i = 0; i !== t; ++i) n[i] = e[i].clone() - } - return ( - (this.clippingPlanes = n), - (this.clipIntersection = t.clipIntersection), - (this.clipShadows = t.clipShadows), - (this.shadowSide = t.shadowSide), - (this.colorWrite = t.colorWrite), - (this.precision = t.precision), - (this.polygonOffset = t.polygonOffset), - (this.polygonOffsetFactor = t.polygonOffsetFactor), - (this.polygonOffsetUnits = t.polygonOffsetUnits), - (this.dithering = t.dithering), - (this.alphaTest = t.alphaTest), - (this.alphaToCoverage = t.alphaToCoverage), - (this.premultipliedAlpha = t.premultipliedAlpha), - (this.visible = t.visible), - (this.toneMapped = t.toneMapped), - (this.userData = JSON.parse(JSON.stringify(t.userData))), - this - ) - } - dispose() { - this.dispatchEvent({ type: 'dispose' }) - } - set needsUpdate(t) { - !0 === t && this.version++ - } - } - Ee.prototype.isMaterial = !0 - const Le = { - 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, - }, - Ae = { h: 0, s: 0, l: 0 }, - Re = { h: 0, s: 0, l: 0 } - function Ce(t, e, n) { - return ( - n < 0 && (n += 1), - n > 1 && (n -= 1), - n < 1 / 6 - ? t + 6 * (e - t) * n - : n < 0.5 - ? e - : n < 2 / 3 - ? t + 6 * (e - t) * (2 / 3 - n) - : t - ) - } - function Pe(t) { - return t < 0.04045 ? 0.0773993808 * t : Math.pow(0.9478672986 * t + 0.0521327014, 2.4) - } - function De(t) { - return t < 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 0.41666) - 0.055 - } - class Ie { - constructor(t, e, n) { - return void 0 === e && void 0 === n ? this.set(t) : this.setRGB(t, e, n) - } - set(t) { - return ( - t && t.isColor - ? this.copy(t) - : 'number' === typeof t - ? this.setHex(t) - : 'string' === typeof t && this.setStyle(t), - this - ) - } - setScalar(t) { - return (this.r = t), (this.g = t), (this.b = t), this - } - setHex(t) { - return ( - (t = Math.floor(t)), - (this.r = ((t >> 16) & 255) / 255), - (this.g = ((t >> 8) & 255) / 255), - (this.b = (255 & t) / 255), - this - ) - } - setRGB(t, e, n) { - return (this.r = t), (this.g = e), (this.b = n), this - } - setHSL(t, e, n) { - if (((t = Z(t, 1)), (e = J(e, 0, 1)), (n = J(n, 0, 1)), 0 === e)) - this.r = this.g = this.b = n - else { - const i = n <= 0.5 ? n * (1 + e) : n + e - n * e, - r = 2 * n - i - ;(this.r = Ce(r, i, t + 1 / 3)), (this.g = Ce(r, i, t)), (this.b = Ce(r, i, t - 1 / 3)) - } - return this - } - setStyle(t) { - function e(e) { - void 0 !== e && - parseFloat(e) < 1 && - console.warn('THREE.Color: Alpha component of ' + t + ' will be ignored.') - } - let n - if ((n = /^((?:rgb|hsl)a?)\(([^\)]*)\)/.exec(t))) { - let t - const i = n[1], - r = n[2] - switch (i) { - case 'rgb': - case 'rgba': - if ((t = /^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r))) - return ( - (this.r = Math.min(255, parseInt(t[1], 10)) / 255), - (this.g = Math.min(255, parseInt(t[2], 10)) / 255), - (this.b = Math.min(255, parseInt(t[3], 10)) / 255), - e(t[4]), - this - ) - if ( - (t = /^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(r)) - ) - return ( - (this.r = Math.min(100, parseInt(t[1], 10)) / 100), - (this.g = Math.min(100, parseInt(t[2], 10)) / 100), - (this.b = Math.min(100, parseInt(t[3], 10)) / 100), - e(t[4]), - this - ) - break - case 'hsl': - case 'hsla': - if ( - (t = - /^\s*(\d*\.?\d+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec( - r, - )) - ) { - const n = parseFloat(t[1]) / 360, - i = parseInt(t[2], 10) / 100, - r = parseInt(t[3], 10) / 100 - return e(t[4]), this.setHSL(n, i, r) - } - } - } else if ((n = /^\#([A-Fa-f\d]+)$/.exec(t))) { - const t = n[1], - e = t.length - if (3 === e) - return ( - (this.r = parseInt(t.charAt(0) + t.charAt(0), 16) / 255), - (this.g = parseInt(t.charAt(1) + t.charAt(1), 16) / 255), - (this.b = parseInt(t.charAt(2) + t.charAt(2), 16) / 255), - this - ) - if (6 === e) - return ( - (this.r = parseInt(t.charAt(0) + t.charAt(1), 16) / 255), - (this.g = parseInt(t.charAt(2) + t.charAt(3), 16) / 255), - (this.b = parseInt(t.charAt(4) + t.charAt(5), 16) / 255), - this - ) - } - return t && t.length > 0 ? this.setColorName(t) : this - } - setColorName(t) { - const e = Le[t.toLowerCase()] - return ( - void 0 !== e ? this.setHex(e) : console.warn('THREE.Color: Unknown color ' + t), this - ) - } - clone() { - return new this.constructor(this.r, this.g, this.b) - } - copy(t) { - return (this.r = t.r), (this.g = t.g), (this.b = t.b), this - } - copyGammaToLinear(t, e = 2) { - return ( - (this.r = Math.pow(t.r, e)), - (this.g = Math.pow(t.g, e)), - (this.b = Math.pow(t.b, e)), - this - ) - } - copyLinearToGamma(t, e = 2) { - const n = e > 0 ? 1 / e : 1 - return ( - (this.r = Math.pow(t.r, n)), - (this.g = Math.pow(t.g, n)), - (this.b = Math.pow(t.b, n)), - this - ) - } - convertGammaToLinear(t) { - return this.copyGammaToLinear(this, t), this - } - convertLinearToGamma(t) { - return this.copyLinearToGamma(this, t), this - } - copySRGBToLinear(t) { - return (this.r = Pe(t.r)), (this.g = Pe(t.g)), (this.b = Pe(t.b)), this - } - copyLinearToSRGB(t) { - return (this.r = De(t.r)), (this.g = De(t.g)), (this.b = De(t.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(t) { - const e = this.r, - n = this.g, - i = this.b, - r = Math.max(e, n, i), - s = Math.min(e, n, i) - let a, o - const l = (s + r) / 2 - if (s === r) (a = 0), (o = 0) - else { - const t = r - s - switch (((o = l <= 0.5 ? t / (r + s) : t / (2 - r - s)), r)) { - case e: - a = (n - i) / t + (n < i ? 6 : 0) - break - case n: - a = (i - e) / t + 2 - break - case i: - a = (e - n) / t + 4 - } - a /= 6 - } - return (t.h = a), (t.s = o), (t.l = l), t - } - getStyle() { - return ( - 'rgb(' + - ((255 * this.r) | 0) + - ',' + - ((255 * this.g) | 0) + - ',' + - ((255 * this.b) | 0) + - ')' - ) - } - offsetHSL(t, e, n) { - return ( - this.getHSL(Ae), - (Ae.h += t), - (Ae.s += e), - (Ae.l += n), - this.setHSL(Ae.h, Ae.s, Ae.l), - this - ) - } - add(t) { - return (this.r += t.r), (this.g += t.g), (this.b += t.b), this - } - addColors(t, e) { - return (this.r = t.r + e.r), (this.g = t.g + e.g), (this.b = t.b + e.b), this - } - addScalar(t) { - return (this.r += t), (this.g += t), (this.b += t), this - } - sub(t) { - return ( - (this.r = Math.max(0, this.r - t.r)), - (this.g = Math.max(0, this.g - t.g)), - (this.b = Math.max(0, this.b - t.b)), - this - ) - } - multiply(t) { - return (this.r *= t.r), (this.g *= t.g), (this.b *= t.b), this - } - multiplyScalar(t) { - return (this.r *= t), (this.g *= t), (this.b *= t), this - } - lerp(t, e) { - return ( - (this.r += (t.r - this.r) * e), - (this.g += (t.g - this.g) * e), - (this.b += (t.b - this.b) * e), - this - ) - } - lerpColors(t, e, n) { - return ( - (this.r = t.r + (e.r - t.r) * n), - (this.g = t.g + (e.g - t.g) * n), - (this.b = t.b + (e.b - t.b) * n), - this - ) - } - lerpHSL(t, e) { - this.getHSL(Ae), t.getHSL(Re) - const n = Q(Ae.h, Re.h, e), - i = Q(Ae.s, Re.s, e), - r = Q(Ae.l, Re.l, e) - return this.setHSL(n, i, r), this - } - equals(t) { - return t.r === this.r && t.g === this.g && t.b === this.b - } - fromArray(t, e = 0) { - return (this.r = t[e]), (this.g = t[e + 1]), (this.b = t[e + 2]), this - } - toArray(t = [], e = 0) { - return (t[e] = this.r), (t[e + 1] = this.g), (t[e + 2] = this.b), t - } - fromBufferAttribute(t, e) { - return ( - (this.r = t.getX(e)), - (this.g = t.getY(e)), - (this.b = t.getZ(e)), - !0 === t.normalized && ((this.r /= 255), (this.g /= 255), (this.b /= 255)), - this - ) - } - toJSON() { - return this.getHex() - } - } - ;(Ie.NAMES = Le), - (Ie.prototype.isColor = !0), - (Ie.prototype.r = 1), - (Ie.prototype.g = 1), - (Ie.prototype.b = 1) - class Ne extends Ee { - constructor(t) { - super(), - (this.type = 'MeshBasicMaterial'), - (this.color = new Ie(16777215)), - (this.map = null), - (this.lightMap = null), - (this.lightMapIntensity = 1), - (this.aoMap = null), - (this.aoMapIntensity = 1), - (this.specularMap = null), - (this.alphaMap = null), - (this.envMap = null), - (this.combine = 0), - (this.reflectivity = 1), - (this.refractionRatio = 0.98), - (this.wireframe = !1), - (this.wireframeLinewidth = 1), - (this.wireframeLinecap = 'round'), - (this.wireframeLinejoin = 'round'), - (this.morphTargets = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - this.color.copy(t.color), - (this.map = t.map), - (this.lightMap = t.lightMap), - (this.lightMapIntensity = t.lightMapIntensity), - (this.aoMap = t.aoMap), - (this.aoMapIntensity = t.aoMapIntensity), - (this.specularMap = t.specularMap), - (this.alphaMap = t.alphaMap), - (this.envMap = t.envMap), - (this.combine = t.combine), - (this.reflectivity = t.reflectivity), - (this.refractionRatio = t.refractionRatio), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - (this.wireframeLinecap = t.wireframeLinecap), - (this.wireframeLinejoin = t.wireframeLinejoin), - (this.morphTargets = t.morphTargets), - this - ) - } - } - Ne.prototype.isMeshBasicMaterial = !0 - const ze = new ut(), - Oe = new tt() - class Be { - constructor(t, e, n) { - if (Array.isArray(t)) - throw new TypeError('THREE.BufferAttribute: array should be a Typed Array.') - ;(this.name = ''), - (this.array = t), - (this.itemSize = e), - (this.count = void 0 !== t ? t.length / e : 0), - (this.normalized = !0 === n), - (this.usage = G), - (this.updateRange = { offset: 0, count: -1 }), - (this.version = 0) - } - onUploadCallback() {} - set needsUpdate(t) { - !0 === t && this.version++ - } - setUsage(t) { - return (this.usage = t), this - } - copy(t) { - return ( - (this.name = t.name), - (this.array = new t.array.constructor(t.array)), - (this.itemSize = t.itemSize), - (this.count = t.count), - (this.normalized = t.normalized), - (this.usage = t.usage), - this - ) - } - copyAt(t, e, n) { - ;(t *= this.itemSize), (n *= e.itemSize) - for (let i = 0, r = this.itemSize; i < r; i++) this.array[t + i] = e.array[n + i] - return this - } - copyArray(t) { - return this.array.set(t), this - } - copyColorsArray(t) { - const e = this.array - let n = 0 - for (let i = 0, r = t.length; i < r; i++) { - let r = t[i] - void 0 === r && - (console.warn('THREE.BufferAttribute.copyColorsArray(): color is undefined', i), - (r = new Ie())), - (e[n++] = r.r), - (e[n++] = r.g), - (e[n++] = r.b) - } - return this - } - copyVector2sArray(t) { - const e = this.array - let n = 0 - for (let i = 0, r = t.length; i < r; i++) { - let r = t[i] - void 0 === r && - (console.warn('THREE.BufferAttribute.copyVector2sArray(): vector is undefined', i), - (r = new tt())), - (e[n++] = r.x), - (e[n++] = r.y) - } - return this - } - copyVector3sArray(t) { - const e = this.array - let n = 0 - for (let i = 0, r = t.length; i < r; i++) { - let r = t[i] - void 0 === r && - (console.warn('THREE.BufferAttribute.copyVector3sArray(): vector is undefined', i), - (r = new ut())), - (e[n++] = r.x), - (e[n++] = r.y), - (e[n++] = r.z) - } - return this - } - copyVector4sArray(t) { - const e = this.array - let n = 0 - for (let i = 0, r = t.length; i < r; i++) { - let r = t[i] - void 0 === r && - (console.warn('THREE.BufferAttribute.copyVector4sArray(): vector is undefined', i), - (r = new ot())), - (e[n++] = r.x), - (e[n++] = r.y), - (e[n++] = r.z), - (e[n++] = r.w) - } - return this - } - applyMatrix3(t) { - if (2 === this.itemSize) - for (let e = 0, n = this.count; e < n; e++) - Oe.fromBufferAttribute(this, e), Oe.applyMatrix3(t), this.setXY(e, Oe.x, Oe.y) - else if (3 === this.itemSize) - for (let e = 0, n = this.count; e < n; e++) - ze.fromBufferAttribute(this, e), ze.applyMatrix3(t), this.setXYZ(e, ze.x, ze.y, ze.z) - return this - } - applyMatrix4(t) { - for (let e = 0, n = this.count; e < n; e++) - (ze.x = this.getX(e)), - (ze.y = this.getY(e)), - (ze.z = this.getZ(e)), - ze.applyMatrix4(t), - this.setXYZ(e, ze.x, ze.y, ze.z) - return this - } - applyNormalMatrix(t) { - for (let e = 0, n = this.count; e < n; e++) - (ze.x = this.getX(e)), - (ze.y = this.getY(e)), - (ze.z = this.getZ(e)), - ze.applyNormalMatrix(t), - this.setXYZ(e, ze.x, ze.y, ze.z) - return this - } - transformDirection(t) { - for (let e = 0, n = this.count; e < n; e++) - (ze.x = this.getX(e)), - (ze.y = this.getY(e)), - (ze.z = this.getZ(e)), - ze.transformDirection(t), - this.setXYZ(e, ze.x, ze.y, ze.z) - return this - } - set(t, e = 0) { - return this.array.set(t, e), this - } - getX(t) { - return this.array[t * this.itemSize] - } - setX(t, e) { - return (this.array[t * this.itemSize] = e), this - } - getY(t) { - return this.array[t * this.itemSize + 1] - } - setY(t, e) { - return (this.array[t * this.itemSize + 1] = e), this - } - getZ(t) { - return this.array[t * this.itemSize + 2] - } - setZ(t, e) { - return (this.array[t * this.itemSize + 2] = e), this - } - getW(t) { - return this.array[t * this.itemSize + 3] - } - setW(t, e) { - return (this.array[t * this.itemSize + 3] = e), this - } - setXY(t, e, n) { - return (t *= this.itemSize), (this.array[t + 0] = e), (this.array[t + 1] = n), this - } - setXYZ(t, e, n, i) { - return ( - (t *= this.itemSize), - (this.array[t + 0] = e), - (this.array[t + 1] = n), - (this.array[t + 2] = i), - this - ) - } - setXYZW(t, e, n, i, r) { - return ( - (t *= this.itemSize), - (this.array[t + 0] = e), - (this.array[t + 1] = n), - (this.array[t + 2] = i), - (this.array[t + 3] = r), - this - ) - } - onUpload(t) { - return (this.onUploadCallback = t), this - } - clone() { - return new this.constructor(this.array, this.itemSize).copy(this) - } - toJSON() { - const t = { - itemSize: this.itemSize, - type: this.array.constructor.name, - array: Array.prototype.slice.call(this.array), - normalized: this.normalized, - } - return ( - '' !== this.name && (t.name = this.name), - this.usage !== G && (t.usage = this.usage), - (0 === this.updateRange.offset && -1 === this.updateRange.count) || - (t.updateRange = this.updateRange), - t - ) - } - } - Be.prototype.isBufferAttribute = !0 - class Fe extends Be { - constructor(t, e, n) { - super(new Uint16Array(t), e, n) - } - } - class Ue extends Be { - constructor(t, e, n) { - super(new Uint32Array(t), e, n) - } - } - ;(class extends Be { - constructor(t, e, n) { - super(new Uint16Array(t), e, n) - } - }.prototype.isFloat16BufferAttribute = !0) - class He extends Be { - constructor(t, e, n) { - super(new Float32Array(t), e, n) - } - } - function Ge(t) { - if (0 === t.length) return -1 / 0 - let e = t[0] - for (let n = 1, i = t.length; n < i; ++n) t[n] > e && (e = t[n]) - return e - } - Int8Array, - Uint8Array, - Uint8ClampedArray, - Int16Array, - Uint16Array, - Int32Array, - Uint32Array, - Float32Array, - Float64Array - let Ve = 0 - const ke = new Vt(), - We = new pe(), - je = new ut(), - qe = new mt(), - Xe = new mt(), - Ye = new ut() - class Je extends W { - constructor() { - super(), - Object.defineProperty(this, 'id', { value: Ve++ }), - (this.uuid = Y()), - (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(t) { - return ( - Array.isArray(t) - ? (this.index = new (Ge(t) > 65535 ? Ue : Fe)(t, 1)) - : (this.index = t), - this - ) - } - getAttribute(t) { - return this.attributes[t] - } - setAttribute(t, e) { - return (this.attributes[t] = e), this - } - deleteAttribute(t) { - return delete this.attributes[t], this - } - hasAttribute(t) { - return void 0 !== this.attributes[t] - } - addGroup(t, e, n = 0) { - this.groups.push({ start: t, count: e, materialIndex: n }) - } - clearGroups() { - this.groups = [] - } - setDrawRange(t, e) { - ;(this.drawRange.start = t), (this.drawRange.count = e) - } - applyMatrix4(t) { - const e = this.attributes.position - void 0 !== e && (e.applyMatrix4(t), (e.needsUpdate = !0)) - const n = this.attributes.normal - if (void 0 !== n) { - const e = new et().getNormalMatrix(t) - n.applyNormalMatrix(e), (n.needsUpdate = !0) - } - const i = this.attributes.tangent - return ( - void 0 !== i && (i.transformDirection(t), (i.needsUpdate = !0)), - null !== this.boundingBox && this.computeBoundingBox(), - null !== this.boundingSphere && this.computeBoundingSphere(), - this - ) - } - applyQuaternion(t) { - return ke.makeRotationFromQuaternion(t), this.applyMatrix4(ke), this - } - rotateX(t) { - return ke.makeRotationX(t), this.applyMatrix4(ke), this - } - rotateY(t) { - return ke.makeRotationY(t), this.applyMatrix4(ke), this - } - rotateZ(t) { - return ke.makeRotationZ(t), this.applyMatrix4(ke), this - } - translate(t, e, n) { - return ke.makeTranslation(t, e, n), this.applyMatrix4(ke), this - } - scale(t, e, n) { - return ke.makeScale(t, e, n), this.applyMatrix4(ke), this - } - lookAt(t) { - return We.lookAt(t), We.updateMatrix(), this.applyMatrix4(We.matrix), this - } - center() { - return ( - this.computeBoundingBox(), - this.boundingBox.getCenter(je).negate(), - this.translate(je.x, je.y, je.z), - this - ) - } - setFromPoints(t) { - const e = [] - for (let n = 0, i = t.length; n < i; n++) { - const i = t[n] - e.push(i.x, i.y, i.z || 0) - } - return this.setAttribute('position', new He(e, 3)), this - } - computeBoundingBox() { - null === this.boundingBox && (this.boundingBox = new mt()) - const t = this.attributes.position, - e = this.morphAttributes.position - if (t && t.isGLBufferAttribute) - return ( - console.error( - 'THREE.BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box. Alternatively set "mesh.frustumCulled" to "false".', - this, - ), - void this.boundingBox.set(new ut(-1 / 0, -1 / 0, -1 / 0), new ut(1 / 0, 1 / 0, 1 / 0)) - ) - if (void 0 !== t) { - if ((this.boundingBox.setFromBufferAttribute(t), e)) - for (let n = 0, i = e.length; n < i; n++) { - const t = e[n] - qe.setFromBufferAttribute(t), - this.morphTargetsRelative - ? (Ye.addVectors(this.boundingBox.min, qe.min), - this.boundingBox.expandByPoint(Ye), - Ye.addVectors(this.boundingBox.max, qe.max), - this.boundingBox.expandByPoint(Ye)) - : (this.boundingBox.expandByPoint(qe.min), - this.boundingBox.expandByPoint(qe.max)) - } - } else this.boundingBox.makeEmpty() - ;(isNaN(this.boundingBox.min.x) || - isNaN(this.boundingBox.min.y) || - isNaN(this.boundingBox.min.z)) && - console.error( - 'THREE.BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', - this, - ) - } - computeBoundingSphere() { - null === this.boundingSphere && (this.boundingSphere = new It()) - const t = this.attributes.position, - e = this.morphAttributes.position - if (t && t.isGLBufferAttribute) - return ( - console.error( - 'THREE.BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere. Alternatively set "mesh.frustumCulled" to "false".', - this, - ), - void this.boundingSphere.set(new ut(), 1 / 0) - ) - if (t) { - const n = this.boundingSphere.center - if ((qe.setFromBufferAttribute(t), e)) - for (let t = 0, r = e.length; t < r; t++) { - const n = e[t] - Xe.setFromBufferAttribute(n), - this.morphTargetsRelative - ? (Ye.addVectors(qe.min, Xe.min), - qe.expandByPoint(Ye), - Ye.addVectors(qe.max, Xe.max), - qe.expandByPoint(Ye)) - : (qe.expandByPoint(Xe.min), qe.expandByPoint(Xe.max)) - } - qe.getCenter(n) - let i = 0 - for (let e = 0, r = t.count; e < r; e++) - Ye.fromBufferAttribute(t, e), (i = Math.max(i, n.distanceToSquared(Ye))) - if (e) - for (let r = 0, s = e.length; r < s; r++) { - const s = e[r], - a = this.morphTargetsRelative - for (let e = 0, r = s.count; e < r; e++) - Ye.fromBufferAttribute(s, e), - a && (je.fromBufferAttribute(t, e), Ye.add(je)), - (i = Math.max(i, n.distanceToSquared(Ye))) - } - ;(this.boundingSphere.radius = Math.sqrt(i)), - isNaN(this.boundingSphere.radius) && - console.error( - 'THREE.BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', - this, - ) - } - } - computeFaceNormals() {} - computeTangents() { - const t = this.index, - e = this.attributes - if (null === t || void 0 === e.position || void 0 === e.normal || void 0 === e.uv) - return void console.error( - 'THREE.BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)', - ) - const n = t.array, - i = e.position.array, - r = e.normal.array, - s = e.uv.array, - a = i.length / 3 - void 0 === e.tangent && this.setAttribute('tangent', new Be(new Float32Array(4 * a), 4)) - const o = e.tangent.array, - l = [], - c = [] - for (let T = 0; T < a; T++) (l[T] = new ut()), (c[T] = new ut()) - const h = new ut(), - u = new ut(), - d = new ut(), - p = new tt(), - m = new tt(), - f = new tt(), - g = new ut(), - v = new ut() - function y(t, e, n) { - h.fromArray(i, 3 * t), - u.fromArray(i, 3 * e), - d.fromArray(i, 3 * n), - p.fromArray(s, 2 * t), - m.fromArray(s, 2 * e), - f.fromArray(s, 2 * n), - u.sub(h), - d.sub(h), - m.sub(p), - f.sub(p) - const r = 1 / (m.x * f.y - f.x * m.y) - isFinite(r) && - (g.copy(u).multiplyScalar(f.y).addScaledVector(d, -m.y).multiplyScalar(r), - v.copy(d).multiplyScalar(m.x).addScaledVector(u, -f.x).multiplyScalar(r), - l[t].add(g), - l[e].add(g), - l[n].add(g), - c[t].add(v), - c[e].add(v), - c[n].add(v)) - } - let x = this.groups - 0 === x.length && (x = [{ start: 0, count: n.length }]) - for (let T = 0, E = x.length; T < E; ++T) { - const t = x[T], - e = t.start - for (let i = e, r = e + t.count; i < r; i += 3) y(n[i + 0], n[i + 1], n[i + 2]) - } - const _ = new ut(), - b = new ut(), - M = new ut(), - w = new ut() - function S(t) { - M.fromArray(r, 3 * t), w.copy(M) - const e = l[t] - _.copy(e), _.sub(M.multiplyScalar(M.dot(e))).normalize(), b.crossVectors(w, e) - const n = b.dot(c[t]) < 0 ? -1 : 1 - ;(o[4 * t] = _.x), (o[4 * t + 1] = _.y), (o[4 * t + 2] = _.z), (o[4 * t + 3] = n) - } - for (let T = 0, E = x.length; T < E; ++T) { - const t = x[T], - e = t.start - for (let i = e, r = e + t.count; i < r; i += 3) S(n[i + 0]), S(n[i + 1]), S(n[i + 2]) - } - } - computeVertexNormals() { - const t = this.index, - e = this.getAttribute('position') - if (void 0 !== e) { - let n = this.getAttribute('normal') - if (void 0 === n) - (n = new Be(new Float32Array(3 * e.count), 3)), this.setAttribute('normal', n) - else for (let t = 0, e = n.count; t < e; t++) n.setXYZ(t, 0, 0, 0) - const i = new ut(), - r = new ut(), - s = new ut(), - a = new ut(), - o = new ut(), - l = new ut(), - c = new ut(), - h = new ut() - if (t) - for (let u = 0, d = t.count; u < d; u += 3) { - const d = t.getX(u + 0), - p = t.getX(u + 1), - m = t.getX(u + 2) - i.fromBufferAttribute(e, d), - r.fromBufferAttribute(e, p), - s.fromBufferAttribute(e, m), - c.subVectors(s, r), - h.subVectors(i, r), - c.cross(h), - a.fromBufferAttribute(n, d), - o.fromBufferAttribute(n, p), - l.fromBufferAttribute(n, m), - a.add(c), - o.add(c), - l.add(c), - n.setXYZ(d, a.x, a.y, a.z), - n.setXYZ(p, o.x, o.y, o.z), - n.setXYZ(m, l.x, l.y, l.z) - } - else - for (let t = 0, u = e.count; t < u; t += 3) - i.fromBufferAttribute(e, t + 0), - r.fromBufferAttribute(e, t + 1), - s.fromBufferAttribute(e, t + 2), - c.subVectors(s, r), - h.subVectors(i, r), - c.cross(h), - n.setXYZ(t + 0, c.x, c.y, c.z), - n.setXYZ(t + 1, c.x, c.y, c.z), - n.setXYZ(t + 2, c.x, c.y, c.z) - this.normalizeNormals(), (n.needsUpdate = !0) - } - } - merge(t, e) { - if (!t || !t.isBufferGeometry) - return void console.error( - 'THREE.BufferGeometry.merge(): geometry not an instance of THREE.BufferGeometry.', - t, - ) - void 0 === e && - ((e = 0), - console.warn( - 'THREE.BufferGeometry.merge(): Overwriting original geometry, starting at offset=0. Use BufferGeometryUtils.mergeBufferGeometries() for lossless merge.', - )) - const n = this.attributes - for (const i in n) { - if (void 0 === t.attributes[i]) continue - const r = n[i].array, - s = t.attributes[i], - a = s.array, - o = s.itemSize * e, - l = Math.min(a.length, r.length - o) - for (let t = 0, e = o; t < l; t++, e++) r[e] = a[t] - } - return this - } - normalizeNormals() { - const t = this.attributes.normal - for (let e = 0, n = t.count; e < n; e++) - Ye.fromBufferAttribute(t, e), Ye.normalize(), t.setXYZ(e, Ye.x, Ye.y, Ye.z) - } - toNonIndexed() { - function t(t, e) { - const n = t.array, - i = t.itemSize, - r = t.normalized, - s = new n.constructor(e.length * i) - let a = 0, - o = 0 - for (let l = 0, c = e.length; l < c; l++) { - a = t.isInterleavedBufferAttribute ? e[l] * t.data.stride + t.offset : e[l] * i - for (let t = 0; t < i; t++) s[o++] = n[a++] - } - return new Be(s, i, r) - } - if (null === this.index) - return ( - console.warn( - 'THREE.BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.', - ), - this - ) - const e = new Je(), - n = this.index.array, - i = this.attributes - for (const a in i) { - const r = t(i[a], n) - e.setAttribute(a, r) - } - const r = this.morphAttributes - for (const a in r) { - const i = [], - s = r[a] - for (let e = 0, r = s.length; e < r; e++) { - const r = t(s[e], n) - i.push(r) - } - e.morphAttributes[a] = i - } - e.morphTargetsRelative = this.morphTargetsRelative - const s = this.groups - for (let a = 0, o = s.length; a < o; a++) { - const t = s[a] - e.addGroup(t.start, t.count, t.materialIndex) - } - return e - } - toJSON() { - const t = { - metadata: { version: 4.5, type: 'BufferGeometry', generator: 'BufferGeometry.toJSON' }, - } - if ( - ((t.uuid = this.uuid), - (t.type = this.type), - '' !== this.name && (t.name = this.name), - Object.keys(this.userData).length > 0 && (t.userData = this.userData), - void 0 !== this.parameters) - ) { - const e = this.parameters - for (const n in e) void 0 !== e[n] && (t[n] = e[n]) - return t - } - t.data = { attributes: {} } - const e = this.index - null !== e && - (t.data.index = { - type: e.array.constructor.name, - array: Array.prototype.slice.call(e.array), - }) - const n = this.attributes - for (const o in n) { - const e = n[o] - t.data.attributes[o] = e.toJSON(t.data) - } - const i = {} - let r = !1 - for (const o in this.morphAttributes) { - const e = this.morphAttributes[o], - n = [] - for (let i = 0, r = e.length; i < r; i++) { - const r = e[i] - n.push(r.toJSON(t.data)) - } - n.length > 0 && ((i[o] = n), (r = !0)) - } - r && - ((t.data.morphAttributes = i), - (t.data.morphTargetsRelative = this.morphTargetsRelative)) - const s = this.groups - s.length > 0 && (t.data.groups = JSON.parse(JSON.stringify(s))) - const a = this.boundingSphere - return ( - null !== a && - (t.data.boundingSphere = { center: a.center.toArray(), radius: a.radius }), - t - ) - } - clone() { - return new Je().copy(this) - } - copy(t) { - ;(this.index = null), - (this.attributes = {}), - (this.morphAttributes = {}), - (this.groups = []), - (this.boundingBox = null), - (this.boundingSphere = null) - const e = {} - this.name = t.name - const n = t.index - null !== n && this.setIndex(n.clone(e)) - const i = t.attributes - for (const l in i) { - const t = i[l] - this.setAttribute(l, t.clone(e)) - } - const r = t.morphAttributes - for (const l in r) { - const t = [], - n = r[l] - for (let i = 0, r = n.length; i < r; i++) t.push(n[i].clone(e)) - this.morphAttributes[l] = t - } - this.morphTargetsRelative = t.morphTargetsRelative - const s = t.groups - for (let l = 0, c = s.length; l < c; l++) { - const t = s[l] - this.addGroup(t.start, t.count, t.materialIndex) - } - const a = t.boundingBox - null !== a && (this.boundingBox = a.clone()) - const o = t.boundingSphere - return ( - null !== o && (this.boundingSphere = o.clone()), - (this.drawRange.start = t.drawRange.start), - (this.drawRange.count = t.drawRange.count), - (this.userData = t.userData), - this - ) - } - dispose() { - this.dispatchEvent({ type: 'dispose' }) - } - } - Je.prototype.isBufferGeometry = !0 - const Ze = new Vt(), - Qe = new Gt(), - Ke = new It(), - $e = new ut(), - tn = new ut(), - en = new ut(), - nn = new ut(), - rn = new ut(), - sn = new ut(), - an = new ut(), - on = new ut(), - ln = new ut(), - cn = new tt(), - hn = new tt(), - un = new tt(), - dn = new ut(), - pn = new ut() - class mn extends pe { - constructor(t = new Je(), e = new Ne()) { - super(), - (this.type = 'Mesh'), - (this.geometry = t), - (this.material = e), - this.updateMorphTargets() - } - copy(t) { - return ( - super.copy(t), - void 0 !== t.morphTargetInfluences && - (this.morphTargetInfluences = t.morphTargetInfluences.slice()), - void 0 !== t.morphTargetDictionary && - (this.morphTargetDictionary = Object.assign({}, t.morphTargetDictionary)), - (this.material = t.material), - (this.geometry = t.geometry), - this - ) - } - updateMorphTargets() { - const t = this.geometry - if (t.isBufferGeometry) { - const e = t.morphAttributes, - n = Object.keys(e) - if (n.length > 0) { - const t = e[n[0]] - if (void 0 !== t) { - ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {}) - for (let e = 0, n = t.length; e < n; e++) { - const n = t[e].name || String(e) - this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = e) - } - } - } - } else { - const e = t.morphTargets - void 0 !== e && - e.length > 0 && - console.error( - 'THREE.Mesh.updateMorphTargets() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - } - } - raycast(t, e) { - const n = this.geometry, - i = this.material, - r = this.matrixWorld - if (void 0 === i) return - if ( - (null === n.boundingSphere && n.computeBoundingSphere(), - Ke.copy(n.boundingSphere), - Ke.applyMatrix4(r), - !1 === t.ray.intersectsSphere(Ke)) - ) - return - if ( - (Ze.copy(r).invert(), - Qe.copy(t.ray).applyMatrix4(Ze), - null !== n.boundingBox && !1 === Qe.intersectsBox(n.boundingBox)) - ) - return - let s - if (n.isBufferGeometry) { - const r = n.index, - a = n.attributes.position, - o = n.morphAttributes.position, - l = n.morphTargetsRelative, - c = n.attributes.uv, - h = n.attributes.uv2, - u = n.groups, - d = n.drawRange - if (null !== r) - if (Array.isArray(i)) - for (let n = 0, p = u.length; n < p; n++) { - const p = u[n], - m = i[p.materialIndex] - for ( - let n = Math.max(p.start, d.start), - i = Math.min(p.start + p.count, d.start + d.count); - n < i; - n += 3 - ) { - const i = r.getX(n), - u = r.getX(n + 1), - d = r.getX(n + 2) - ;(s = fn(this, m, t, Qe, a, o, l, c, h, i, u, d)), - s && - ((s.faceIndex = Math.floor(n / 3)), - (s.face.materialIndex = p.materialIndex), - e.push(s)) - } - } - else { - for ( - let n = Math.max(0, d.start), u = Math.min(r.count, d.start + d.count); - n < u; - n += 3 - ) { - const u = r.getX(n), - d = r.getX(n + 1), - p = r.getX(n + 2) - ;(s = fn(this, i, t, Qe, a, o, l, c, h, u, d, p)), - s && ((s.faceIndex = Math.floor(n / 3)), e.push(s)) - } - } - else if (void 0 !== a) - if (Array.isArray(i)) - for (let n = 0, p = u.length; n < p; n++) { - const r = u[n], - p = i[r.materialIndex] - for ( - let n = Math.max(r.start, d.start), - i = Math.min(r.start + r.count, d.start + d.count); - n < i; - n += 3 - ) { - ;(s = fn(this, p, t, Qe, a, o, l, c, h, n, n + 1, n + 2)), - s && - ((s.faceIndex = Math.floor(n / 3)), - (s.face.materialIndex = r.materialIndex), - e.push(s)) - } - } - else { - for ( - let n = Math.max(0, d.start), r = Math.min(a.count, d.start + d.count); - n < r; - n += 3 - ) { - ;(s = fn(this, i, t, Qe, a, o, l, c, h, n, n + 1, n + 2)), - s && ((s.faceIndex = Math.floor(n / 3)), e.push(s)) - } - } - } else - n.isGeometry && - console.error( - 'THREE.Mesh.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - } - } - function fn(t, e, n, i, r, a, o, l, c, h, u, d) { - $e.fromBufferAttribute(r, h), tn.fromBufferAttribute(r, u), en.fromBufferAttribute(r, d) - const p = t.morphTargetInfluences - if (e.morphTargets && a && p) { - an.set(0, 0, 0), on.set(0, 0, 0), ln.set(0, 0, 0) - for (let t = 0, e = a.length; t < e; t++) { - const e = p[t], - n = a[t] - 0 !== e && - (nn.fromBufferAttribute(n, h), - rn.fromBufferAttribute(n, u), - sn.fromBufferAttribute(n, d), - o - ? (an.addScaledVector(nn, e), on.addScaledVector(rn, e), ln.addScaledVector(sn, e)) - : (an.addScaledVector(nn.sub($e), e), - on.addScaledVector(rn.sub(tn), e), - ln.addScaledVector(sn.sub(en), e))) - } - $e.add(an), tn.add(on), en.add(ln) - } - t.isSkinnedMesh && (t.boneTransform(h, $e), t.boneTransform(u, tn), t.boneTransform(d, en)) - const m = (function (t, e, n, i, r, a, o, l) { - let c - if ( - ((c = - e.side === s - ? i.intersectTriangle(o, a, r, !0, l) - : i.intersectTriangle(r, a, o, 2 !== e.side, l)), - null === c) - ) - return null - pn.copy(l), pn.applyMatrix4(t.matrixWorld) - const h = n.ray.origin.distanceTo(pn) - return h < n.near || h > n.far ? null : { distance: h, point: pn.clone(), object: t } - })(t, e, n, i, $e, tn, en, dn) - if (m) { - l && - (cn.fromBufferAttribute(l, h), - hn.fromBufferAttribute(l, u), - un.fromBufferAttribute(l, d), - (m.uv = Se.getUV(dn, $e, tn, en, cn, hn, un, new tt()))), - c && - (cn.fromBufferAttribute(c, h), - hn.fromBufferAttribute(c, u), - un.fromBufferAttribute(c, d), - (m.uv2 = Se.getUV(dn, $e, tn, en, cn, hn, un, new tt()))) - const t = { a: h, b: u, c: d, normal: new ut(), materialIndex: 0 } - Se.getNormal($e, tn, en, t.normal), (m.face = t) - } - return m - } - mn.prototype.isMesh = !0 - class gn extends Je { - constructor(t = 1, e = 1, n = 1, i = 1, r = 1, s = 1) { - super(), - (this.type = 'BoxGeometry'), - (this.parameters = { - width: t, - height: e, - depth: n, - widthSegments: i, - heightSegments: r, - depthSegments: s, - }) - const a = this - ;(i = Math.floor(i)), (r = Math.floor(r)), (s = Math.floor(s)) - const o = [], - l = [], - c = [], - h = [] - let u = 0, - d = 0 - function p(t, e, n, i, r, s, p, m, f, g, v) { - const y = s / f, - x = p / g, - _ = s / 2, - b = p / 2, - M = m / 2, - w = f + 1, - S = g + 1 - let T = 0, - E = 0 - const L = new ut() - for (let a = 0; a < S; a++) { - const s = a * x - b - for (let o = 0; o < w; o++) { - const u = o * y - _ - ;(L[t] = u * i), - (L[e] = s * r), - (L[n] = M), - l.push(L.x, L.y, L.z), - (L[t] = 0), - (L[e] = 0), - (L[n] = m > 0 ? 1 : -1), - c.push(L.x, L.y, L.z), - h.push(o / f), - h.push(1 - a / g), - (T += 1) - } - } - for (let a = 0; a < g; a++) - for (let t = 0; t < f; t++) { - const e = u + t + w * a, - n = u + t + w * (a + 1), - i = u + (t + 1) + w * (a + 1), - r = u + (t + 1) + w * a - o.push(e, n, r), o.push(n, i, r), (E += 6) - } - a.addGroup(d, E, v), (d += E), (u += T) - } - p('z', 'y', 'x', -1, -1, n, e, t, s, r, 0), - p('z', 'y', 'x', 1, -1, n, e, -t, s, r, 1), - p('x', 'z', 'y', 1, 1, t, n, e, i, s, 2), - p('x', 'z', 'y', 1, -1, t, n, -e, i, s, 3), - p('x', 'y', 'z', 1, -1, t, e, n, i, r, 4), - p('x', 'y', 'z', -1, -1, t, e, -n, i, r, 5), - this.setIndex(o), - this.setAttribute('position', new He(l, 3)), - this.setAttribute('normal', new He(c, 3)), - this.setAttribute('uv', new He(h, 2)) - } - static fromJSON(t) { - return new gn( - t.width, - t.height, - t.depth, - t.widthSegments, - t.heightSegments, - t.depthSegments, - ) - } - } - function vn(t) { - const e = {} - for (const n in t) { - e[n] = {} - for (const i in t[n]) { - const r = t[n][i] - r && - (r.isColor || - r.isMatrix3 || - r.isMatrix4 || - r.isVector2 || - r.isVector3 || - r.isVector4 || - r.isTexture || - r.isQuaternion) - ? (e[n][i] = r.clone()) - : Array.isArray(r) - ? (e[n][i] = r.slice()) - : (e[n][i] = r) - } - } - return e - } - function yn(t) { - const e = {} - for (let n = 0; n < t.length; n++) { - const i = vn(t[n]) - for (const t in i) e[t] = i[t] - } - return e - } - const xn = { clone: vn, merge: yn } - class _n extends Ee { - constructor(t) { - super(), - (this.type = 'ShaderMaterial'), - (this.defines = {}), - (this.uniforms = {}), - (this.vertexShader = - 'void main() {\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}'), - (this.fragmentShader = - 'void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );\n}'), - (this.linewidth = 1), - (this.wireframe = !1), - (this.wireframeLinewidth = 1), - (this.fog = !1), - (this.lights = !1), - (this.clipping = !1), - (this.morphTargets = !1), - (this.morphNormals = !1), - (this.extensions = { - derivatives: !1, - fragDepth: !1, - drawBuffers: !1, - shaderTextureLOD: !1, - }), - (this.defaultAttributeValues = { color: [1, 1, 1], uv: [0, 0], uv2: [0, 0] }), - (this.index0AttributeName = void 0), - (this.uniformsNeedUpdate = !1), - (this.glslVersion = null), - void 0 !== t && - (void 0 !== t.attributes && - console.error( - 'THREE.ShaderMaterial: attributes should now be defined in THREE.BufferGeometry instead.', - ), - this.setValues(t)) - } - copy(t) { - return ( - super.copy(t), - (this.fragmentShader = t.fragmentShader), - (this.vertexShader = t.vertexShader), - (this.uniforms = vn(t.uniforms)), - (this.defines = Object.assign({}, t.defines)), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - (this.lights = t.lights), - (this.clipping = t.clipping), - (this.morphTargets = t.morphTargets), - (this.morphNormals = t.morphNormals), - (this.extensions = Object.assign({}, t.extensions)), - (this.glslVersion = t.glslVersion), - this - ) - } - toJSON(t) { - const e = super.toJSON(t) - ;(e.glslVersion = this.glslVersion), (e.uniforms = {}) - for (const i in this.uniforms) { - const n = this.uniforms[i].value - n && n.isTexture - ? (e.uniforms[i] = { type: 't', value: n.toJSON(t).uuid }) - : n && n.isColor - ? (e.uniforms[i] = { type: 'c', value: n.getHex() }) - : n && n.isVector2 - ? (e.uniforms[i] = { type: 'v2', value: n.toArray() }) - : n && n.isVector3 - ? (e.uniforms[i] = { type: 'v3', value: n.toArray() }) - : n && n.isVector4 - ? (e.uniforms[i] = { type: 'v4', value: n.toArray() }) - : n && n.isMatrix3 - ? (e.uniforms[i] = { type: 'm3', value: n.toArray() }) - : n && n.isMatrix4 - ? (e.uniforms[i] = { type: 'm4', value: n.toArray() }) - : (e.uniforms[i] = { value: n }) - } - Object.keys(this.defines).length > 0 && (e.defines = this.defines), - (e.vertexShader = this.vertexShader), - (e.fragmentShader = this.fragmentShader) - const n = {} - for (const i in this.extensions) !0 === this.extensions[i] && (n[i] = !0) - return Object.keys(n).length > 0 && (e.extensions = n), e - } - } - _n.prototype.isShaderMaterial = !0 - class bn extends pe { - constructor() { - super(), - (this.type = 'Camera'), - (this.matrixWorldInverse = new Vt()), - (this.projectionMatrix = new Vt()), - (this.projectionMatrixInverse = new Vt()) - } - copy(t, e) { - return ( - super.copy(t, e), - this.matrixWorldInverse.copy(t.matrixWorldInverse), - this.projectionMatrix.copy(t.projectionMatrix), - this.projectionMatrixInverse.copy(t.projectionMatrixInverse), - this - ) - } - getWorldDirection(t) { - this.updateWorldMatrix(!0, !1) - const e = this.matrixWorld.elements - return t.set(-e[8], -e[9], -e[10]).normalize() - } - updateMatrixWorld(t) { - super.updateMatrixWorld(t), this.matrixWorldInverse.copy(this.matrixWorld).invert() - } - updateWorldMatrix(t, e) { - super.updateWorldMatrix(t, e), this.matrixWorldInverse.copy(this.matrixWorld).invert() - } - clone() { - return new this.constructor().copy(this) - } - } - bn.prototype.isCamera = !0 - class Mn extends bn { - constructor(t = 50, e = 1, n = 0.1, i = 2e3) { - super(), - (this.type = 'PerspectiveCamera'), - (this.fov = t), - (this.zoom = 1), - (this.near = n), - (this.far = i), - (this.focus = 10), - (this.aspect = e), - (this.view = null), - (this.filmGauge = 35), - (this.filmOffset = 0), - this.updateProjectionMatrix() - } - copy(t, e) { - return ( - super.copy(t, e), - (this.fov = t.fov), - (this.zoom = t.zoom), - (this.near = t.near), - (this.far = t.far), - (this.focus = t.focus), - (this.aspect = t.aspect), - (this.view = null === t.view ? null : Object.assign({}, t.view)), - (this.filmGauge = t.filmGauge), - (this.filmOffset = t.filmOffset), - this - ) - } - setFocalLength(t) { - const e = (0.5 * this.getFilmHeight()) / t - ;(this.fov = 2 * X * Math.atan(e)), this.updateProjectionMatrix() - } - getFocalLength() { - const t = Math.tan(0.5 * q * this.fov) - return (0.5 * this.getFilmHeight()) / t - } - getEffectiveFOV() { - return 2 * X * Math.atan(Math.tan(0.5 * q * this.fov) / this.zoom) - } - getFilmWidth() { - return this.filmGauge * Math.min(this.aspect, 1) - } - getFilmHeight() { - return this.filmGauge / Math.max(this.aspect, 1) - } - setViewOffset(t, e, n, i, r, s) { - ;(this.aspect = t / e), - 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 = t), - (this.view.fullHeight = e), - (this.view.offsetX = n), - (this.view.offsetY = i), - (this.view.width = r), - (this.view.height = s), - this.updateProjectionMatrix() - } - clearViewOffset() { - null !== this.view && (this.view.enabled = !1), this.updateProjectionMatrix() - } - updateProjectionMatrix() { - const t = this.near - let e = (t * Math.tan(0.5 * q * this.fov)) / this.zoom, - n = 2 * e, - i = this.aspect * n, - r = -0.5 * i - const s = this.view - if (null !== this.view && this.view.enabled) { - const t = s.fullWidth, - a = s.fullHeight - ;(r += (s.offsetX * i) / t), - (e -= (s.offsetY * n) / a), - (i *= s.width / t), - (n *= s.height / a) - } - const a = this.filmOffset - 0 !== a && (r += (t * a) / this.getFilmWidth()), - this.projectionMatrix.makePerspective(r, r + i, e, e - n, t, this.far), - this.projectionMatrixInverse.copy(this.projectionMatrix).invert() - } - toJSON(t) { - const e = super.toJSON(t) - return ( - (e.object.fov = this.fov), - (e.object.zoom = this.zoom), - (e.object.near = this.near), - (e.object.far = this.far), - (e.object.focus = this.focus), - (e.object.aspect = this.aspect), - null !== this.view && (e.object.view = Object.assign({}, this.view)), - (e.object.filmGauge = this.filmGauge), - (e.object.filmOffset = this.filmOffset), - e - ) - } - } - Mn.prototype.isPerspectiveCamera = !0 - const wn = 90 - class Sn extends pe { - constructor(t, e, n) { - if ((super(), (this.type = 'CubeCamera'), !0 !== n.isWebGLCubeRenderTarget)) - return void console.error( - 'THREE.CubeCamera: The constructor now expects an instance of WebGLCubeRenderTarget as third parameter.', - ) - this.renderTarget = n - const i = new Mn(wn, 1, t, e) - ;(i.layers = this.layers), i.up.set(0, -1, 0), i.lookAt(new ut(1, 0, 0)), this.add(i) - const r = new Mn(wn, 1, t, e) - ;(r.layers = this.layers), r.up.set(0, -1, 0), r.lookAt(new ut(-1, 0, 0)), this.add(r) - const s = new Mn(wn, 1, t, e) - ;(s.layers = this.layers), s.up.set(0, 0, 1), s.lookAt(new ut(0, 1, 0)), this.add(s) - const a = new Mn(wn, 1, t, e) - ;(a.layers = this.layers), a.up.set(0, 0, -1), a.lookAt(new ut(0, -1, 0)), this.add(a) - const o = new Mn(wn, 1, t, e) - ;(o.layers = this.layers), o.up.set(0, -1, 0), o.lookAt(new ut(0, 0, 1)), this.add(o) - const l = new Mn(wn, 1, t, e) - ;(l.layers = this.layers), l.up.set(0, -1, 0), l.lookAt(new ut(0, 0, -1)), this.add(l) - } - update(t, e) { - null === this.parent && this.updateMatrixWorld() - const n = this.renderTarget, - [i, r, s, a, o, l] = this.children, - c = t.xr.enabled, - h = t.getRenderTarget() - t.xr.enabled = !1 - const u = n.texture.generateMipmaps - ;(n.texture.generateMipmaps = !1), - t.setRenderTarget(n, 0), - t.render(e, i), - t.setRenderTarget(n, 1), - t.render(e, r), - t.setRenderTarget(n, 2), - t.render(e, s), - t.setRenderTarget(n, 3), - t.render(e, a), - t.setRenderTarget(n, 4), - t.render(e, o), - (n.texture.generateMipmaps = u), - t.setRenderTarget(n, 5), - t.render(e, l), - t.setRenderTarget(h), - (t.xr.enabled = c) - } - } - class Tn extends st { - constructor(t, e, n, i, r, s, a, l, c, h) { - super( - (t = void 0 !== t ? t : []), - (e = void 0 !== e ? e : o), - n, - i, - r, - s, - (a = void 0 !== a ? a : T), - l, - c, - h, - ), - (this._needsFlipEnvMap = !0), - (this.flipY = !1) - } - get images() { - return this.image - } - set images(t) { - this.image = t - } - } - Tn.prototype.isCubeTexture = !0 - class En extends lt { - constructor(t, e, n) { - Number.isInteger(e) && - (console.warn( - 'THREE.WebGLCubeRenderTarget: constructor signature is now WebGLCubeRenderTarget( size, options )', - ), - (e = n)), - super(t, t, e), - (e = e || {}), - (this.texture = new Tn( - void 0, - e.mapping, - e.wrapS, - e.wrapT, - e.magFilter, - e.minFilter, - e.format, - e.type, - e.anisotropy, - e.encoding, - )), - (this.texture.generateMipmaps = void 0 !== e.generateMipmaps && e.generateMipmaps), - (this.texture.minFilter = void 0 !== e.minFilter ? e.minFilter : v), - (this.texture._needsFlipEnvMap = !1) - } - fromEquirectangularTexture(t, e) { - ;(this.texture.type = e.type), - (this.texture.format = E), - (this.texture.encoding = e.encoding), - (this.texture.generateMipmaps = e.generateMipmaps), - (this.texture.minFilter = e.minFilter), - (this.texture.magFilter = e.magFilter) - const n = { - uniforms: { tEquirect: { value: null } }, - vertexShader: - '\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\tvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\n\t\t\t\t\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n\n\t\t\t\t}\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvWorldDirection = transformDirection( position, modelMatrix );\n\n\t\t\t\t\t#include <begin_vertex>\n\t\t\t\t\t#include <project_vertex>\n\n\t\t\t\t}\n\t\t\t', - fragmentShader: - '\n\n\t\t\t\tuniform sampler2D tEquirect;\n\n\t\t\t\tvarying vec3 vWorldDirection;\n\n\t\t\t\t#include <common>\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvec3 direction = normalize( vWorldDirection );\n\n\t\t\t\t\tvec2 sampleUV = equirectUv( direction );\n\n\t\t\t\t\tgl_FragColor = texture2D( tEquirect, sampleUV );\n\n\t\t\t\t}\n\t\t\t', - }, - i = new gn(5, 5, 5), - r = new _n({ - name: 'CubemapFromEquirect', - uniforms: vn(n.uniforms), - vertexShader: n.vertexShader, - fragmentShader: n.fragmentShader, - side: s, - blending: 0, - }) - r.uniforms.tEquirect.value = e - const a = new mn(i, r), - o = e.minFilter - e.minFilter === y && (e.minFilter = v) - return ( - new Sn(1, 10, this).update(t, a), - (e.minFilter = o), - a.geometry.dispose(), - a.material.dispose(), - this - ) - } - clear(t, e, n, i) { - const r = t.getRenderTarget() - for (let s = 0; s < 6; s++) t.setRenderTarget(this, s), t.clear(e, n, i) - t.setRenderTarget(r) - } - } - En.prototype.isWebGLCubeRenderTarget = !0 - const Ln = new ut(), - An = new ut(), - Rn = new et() - class Cn { - constructor(t = new ut(1, 0, 0), e = 0) { - ;(this.normal = t), (this.constant = e) - } - set(t, e) { - return this.normal.copy(t), (this.constant = e), this - } - setComponents(t, e, n, i) { - return this.normal.set(t, e, n), (this.constant = i), this - } - setFromNormalAndCoplanarPoint(t, e) { - return this.normal.copy(t), (this.constant = -e.dot(this.normal)), this - } - setFromCoplanarPoints(t, e, n) { - const i = Ln.subVectors(n, e).cross(An.subVectors(t, e)).normalize() - return this.setFromNormalAndCoplanarPoint(i, t), this - } - copy(t) { - return this.normal.copy(t.normal), (this.constant = t.constant), this - } - normalize() { - const t = 1 / this.normal.length() - return this.normal.multiplyScalar(t), (this.constant *= t), this - } - negate() { - return (this.constant *= -1), this.normal.negate(), this - } - distanceToPoint(t) { - return this.normal.dot(t) + this.constant - } - distanceToSphere(t) { - return this.distanceToPoint(t.center) - t.radius - } - projectPoint(t, e) { - return e.copy(this.normal).multiplyScalar(-this.distanceToPoint(t)).add(t) - } - intersectLine(t, e) { - const n = t.delta(Ln), - i = this.normal.dot(n) - if (0 === i) return 0 === this.distanceToPoint(t.start) ? e.copy(t.start) : null - const r = -(t.start.dot(this.normal) + this.constant) / i - return r < 0 || r > 1 ? null : e.copy(n).multiplyScalar(r).add(t.start) - } - intersectsLine(t) { - const e = this.distanceToPoint(t.start), - n = this.distanceToPoint(t.end) - return (e < 0 && n > 0) || (n < 0 && e > 0) - } - intersectsBox(t) { - return t.intersectsPlane(this) - } - intersectsSphere(t) { - return t.intersectsPlane(this) - } - coplanarPoint(t) { - return t.copy(this.normal).multiplyScalar(-this.constant) - } - applyMatrix4(t, e) { - const n = e || Rn.getNormalMatrix(t), - i = this.coplanarPoint(Ln).applyMatrix4(t), - r = this.normal.applyMatrix3(n).normalize() - return (this.constant = -i.dot(r)), this - } - translate(t) { - return (this.constant -= t.dot(this.normal)), this - } - equals(t) { - return t.normal.equals(this.normal) && t.constant === this.constant - } - clone() { - return new this.constructor().copy(this) - } - } - Cn.prototype.isPlane = !0 - const Pn = new It(), - Dn = new ut() - class In { - constructor( - t = new Cn(), - e = new Cn(), - n = new Cn(), - i = new Cn(), - r = new Cn(), - s = new Cn(), - ) { - this.planes = [t, e, n, i, r, s] - } - set(t, e, n, i, r, s) { - const a = this.planes - return ( - a[0].copy(t), a[1].copy(e), a[2].copy(n), a[3].copy(i), a[4].copy(r), a[5].copy(s), this - ) - } - copy(t) { - const e = this.planes - for (let n = 0; n < 6; n++) e[n].copy(t.planes[n]) - return this - } - setFromProjectionMatrix(t) { - const e = this.planes, - n = t.elements, - i = n[0], - r = n[1], - s = n[2], - a = n[3], - o = n[4], - l = n[5], - c = n[6], - h = n[7], - u = n[8], - d = n[9], - p = n[10], - m = n[11], - f = n[12], - g = n[13], - v = n[14], - y = n[15] - return ( - e[0].setComponents(a - i, h - o, m - u, y - f).normalize(), - e[1].setComponents(a + i, h + o, m + u, y + f).normalize(), - e[2].setComponents(a + r, h + l, m + d, y + g).normalize(), - e[3].setComponents(a - r, h - l, m - d, y - g).normalize(), - e[4].setComponents(a - s, h - c, m - p, y - v).normalize(), - e[5].setComponents(a + s, h + c, m + p, y + v).normalize(), - this - ) - } - intersectsObject(t) { - const e = t.geometry - return ( - null === e.boundingSphere && e.computeBoundingSphere(), - Pn.copy(e.boundingSphere).applyMatrix4(t.matrixWorld), - this.intersectsSphere(Pn) - ) - } - intersectsSprite(t) { - return ( - Pn.center.set(0, 0, 0), - (Pn.radius = 0.7071067811865476), - Pn.applyMatrix4(t.matrixWorld), - this.intersectsSphere(Pn) - ) - } - intersectsSphere(t) { - const e = this.planes, - n = t.center, - i = -t.radius - for (let r = 0; r < 6; r++) { - if (e[r].distanceToPoint(n) < i) return !1 - } - return !0 - } - intersectsBox(t) { - const e = this.planes - for (let n = 0; n < 6; n++) { - const i = e[n] - if ( - ((Dn.x = i.normal.x > 0 ? t.max.x : t.min.x), - (Dn.y = i.normal.y > 0 ? t.max.y : t.min.y), - (Dn.z = i.normal.z > 0 ? t.max.z : t.min.z), - i.distanceToPoint(Dn) < 0) - ) - return !1 - } - return !0 - } - containsPoint(t) { - const e = this.planes - for (let n = 0; n < 6; n++) if (e[n].distanceToPoint(t) < 0) return !1 - return !0 - } - clone() { - return new this.constructor().copy(this) - } - } - function Nn() { - let t = null, - e = !1, - n = null, - i = null - function r(e, s) { - n(e, s), (i = t.requestAnimationFrame(r)) - } - return { - start: function () { - !0 !== e && null !== n && ((i = t.requestAnimationFrame(r)), (e = !0)) - }, - stop: function () { - t.cancelAnimationFrame(i), (e = !1) - }, - setAnimationLoop: function (t) { - n = t - }, - setContext: function (e) { - t = e - }, - } - } - function zn(t, e) { - const n = e.isWebGL2, - i = new WeakMap() - return { - get: function (t) { - return t.isInterleavedBufferAttribute && (t = t.data), i.get(t) - }, - remove: function (e) { - e.isInterleavedBufferAttribute && (e = e.data) - const n = i.get(e) - n && (t.deleteBuffer(n.buffer), i.delete(e)) - }, - update: function (e, r) { - if (e.isGLBufferAttribute) { - const t = i.get(e) - return void ( - (!t || t.version < e.version) && - i.set(e, { - buffer: e.buffer, - type: e.type, - bytesPerElement: e.elementSize, - version: e.version, - }) - ) - } - e.isInterleavedBufferAttribute && (e = e.data) - const s = i.get(e) - void 0 === s - ? i.set( - e, - (function (e, i) { - const r = e.array, - s = e.usage, - a = t.createBuffer() - t.bindBuffer(i, a), t.bufferData(i, r, s), e.onUploadCallback() - let o = 5126 - return ( - r instanceof Float32Array - ? (o = 5126) - : r instanceof Float64Array - ? console.warn( - 'THREE.WebGLAttributes: Unsupported data buffer format: Float64Array.', - ) - : r instanceof Uint16Array - ? e.isFloat16BufferAttribute - ? n - ? (o = 5131) - : console.warn( - 'THREE.WebGLAttributes: Usage of Float16BufferAttribute requires WebGL2.', - ) - : (o = 5123) - : r instanceof Int16Array - ? (o = 5122) - : r instanceof Uint32Array - ? (o = 5125) - : r instanceof Int32Array - ? (o = 5124) - : r instanceof Int8Array - ? (o = 5120) - : (r instanceof Uint8Array || r instanceof Uint8ClampedArray) && (o = 5121), - { - buffer: a, - type: o, - bytesPerElement: r.BYTES_PER_ELEMENT, - version: e.version, - } - ) - })(e, r), - ) - : s.version < e.version && - (!(function (e, i, r) { - const s = i.array, - a = i.updateRange - t.bindBuffer(r, e), - -1 === a.count - ? t.bufferSubData(r, 0, s) - : (n - ? t.bufferSubData(r, a.offset * s.BYTES_PER_ELEMENT, s, a.offset, a.count) - : t.bufferSubData( - r, - a.offset * s.BYTES_PER_ELEMENT, - s.subarray(a.offset, a.offset + a.count), - ), - (a.count = -1)) - })(s.buffer, e, r), - (s.version = e.version)) - }, - } - } - class On extends Je { - constructor(t = 1, e = 1, n = 1, i = 1) { - super(), - (this.type = 'PlaneGeometry'), - (this.parameters = { width: t, height: e, widthSegments: n, heightSegments: i }) - const r = t / 2, - s = e / 2, - a = Math.floor(n), - o = Math.floor(i), - l = a + 1, - c = o + 1, - h = t / a, - u = e / o, - d = [], - p = [], - m = [], - f = [] - for (let g = 0; g < c; g++) { - const t = g * u - s - for (let e = 0; e < l; e++) { - const n = e * h - r - p.push(n, -t, 0), m.push(0, 0, 1), f.push(e / a), f.push(1 - g / o) - } - } - for (let g = 0; g < o; g++) - for (let t = 0; t < a; t++) { - const e = t + l * g, - n = t + l * (g + 1), - i = t + 1 + l * (g + 1), - r = t + 1 + l * g - d.push(e, n, r), d.push(n, i, r) - } - this.setIndex(d), - this.setAttribute('position', new He(p, 3)), - this.setAttribute('normal', new He(m, 3)), - this.setAttribute('uv', new He(f, 2)) - } - static fromJSON(t) { - return new On(t.width, t.height, t.widthSegments, t.heightSegments) - } - } - const Bn = { - alphamap_fragment: - '#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif', - alphamap_pars_fragment: '#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif', - alphatest_fragment: - '#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif', - aomap_fragment: - '#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( STANDARD )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif', - aomap_pars_fragment: - '#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif', - begin_vertex: 'vec3 transformed = vec3( position );', - beginnormal_vertex: - 'vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif', - bsdfs: - 'vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 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 <tonemapping_fragment>\n\t#include <encodings_fragment>\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 <envmap_common_pars_fragment>\nuniform float opacity;\nvarying vec3 vWorldDirection;\n#include <cube_uv_reflection_fragment>\nvoid main() {\n\tvec3 vReflect = vWorldDirection;\n\t#include <envmap_fragment>\n\tgl_FragColor = envColor;\n\tgl_FragColor.a *= opacity;\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}', - cube_vert: - 'varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\tgl_Position.z = gl_Position.w;\n}', - depth_frag: - '#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <logdepthbuf_fragment>\n\tfloat fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;\n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - fragCoordZ ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( fragCoordZ );\n\t#endif\n}', - depth_vert: - '#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvarying vec2 vHighPrecisionZW;\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvHighPrecisionZW = gl_Position.zw;\n}', - distanceRGBA_frag: - '#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include <common>\n#include <packing>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main () {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}', - distanceRGBA_vert: - '#define DISTANCE\nvarying vec3 vWorldPosition;\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include <beginnormal_vertex>\n\t\t#include <morphnormal_vertex>\n\t\t#include <skinnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\tvWorldPosition = worldPosition.xyz;\n}', - equirect_frag: - 'uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV = equirectUv( direction );\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n}', - equirect_vert: - 'varying vec3 vWorldDirection;\n#include <common>\nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include <begin_vertex>\n\t#include <project_vertex>\n}', - linedashed_frag: - 'uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <color_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}', - linedashed_vert: - 'uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\tvLineDistance = scale * lineDistance;\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}', - meshbasic_frag: - 'uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\n\t\tvec4 lightMapTexel= texture2D( lightMap, vUv2 );\n\t\treflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include <aomap_fragment>\n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}', - meshbasic_vert: - '#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <skinbase_vertex>\n\t#ifdef USE_ENVMAP\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <worldpos_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <envmap_vertex>\n\t#include <fog_vertex>\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 <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <fog_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <emissivemap_fragment>\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include <lightmap_fragment>\n\treflectedLight.indirectDiffuse *= BRDF_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 <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}', - meshlambert_vert: - '#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <envmap_pars_vertex>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <lights_lambert_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}', - 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 <common>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}', - meshmatcap_vert: - '#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <color_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n\tvViewPosition = - mvPosition.xyz;\n}', - meshtoon_frag: - '#define TOON\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <gradientmap_pars_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_toon_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_toon_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}', - meshtoon_vert: - '#define TOON\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}', - meshphong_frag: - '#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <lights_phong_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <specularmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <specularmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_phong_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include <envmap_fragment>\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}', - meshphong_vert: - '#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <envmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <envmap_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\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 <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <uv2_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <bsdfs>\n#include <transmission_pars_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <lights_physical_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\t#include <aomap_fragment>\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\t#include <transmission_fragment>\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n}', - meshphysical_vert: - '#define STANDARD\nvarying vec3 vViewPosition;\n#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 <common>\n#include <uv_pars_vertex>\n#include <uv2_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <uv2_vertex>\n\t#include <color_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#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 <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\tvViewPosition = - mvPosition.xyz;\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n#ifdef USE_TRANSMISSION\n\tvWorldPosition = worldPosition;\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 <packing>\n#include <uv_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\t#include <logdepthbuf_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}', - 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 <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n#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 <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( TANGENTSPACE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}', - points_frag: - 'uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <color_pars_fragment>\n#include <map_particle_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_particle_fragment>\n\t#include <color_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n}', - points_vert: - 'uniform float size;\nuniform float scale;\n#include <common>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <color_vertex>\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <project_vertex>\n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <worldpos_vertex>\n\t#include <fog_vertex>\n}', - shadow_frag: - 'uniform vec3 color;\nuniform float opacity;\n#include <common>\n#include <packing>\n#include <fog_pars_fragment>\n#include <bsdfs>\n#include <lights_pars_begin>\n#include <shadowmap_pars_fragment>\n#include <shadowmask_pars_fragment>\nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}', - shadow_vert: - '#include <common>\n#include <fog_pars_vertex>\n#include <shadowmap_pars_vertex>\nvoid main() {\n\t#include <begin_vertex>\n\t#include <project_vertex>\n\t#include <worldpos_vertex>\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n}', - sprite_frag: - 'uniform vec3 diffuse;\nuniform float opacity;\n#include <common>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <fog_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\nvoid main() {\n\t#include <clipping_planes_fragment>\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include <tonemapping_fragment>\n\t#include <encodings_fragment>\n\t#include <fog_fragment>\n}', - sprite_vert: - 'uniform float rotation;\nuniform vec2 center;\n#include <common>\n#include <uv_pars_vertex>\n#include <fog_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\nvoid main() {\n\t#include <uv_vertex>\n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = isPerspectiveMatrix( projectionMatrix );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\t#include <fog_vertex>\n}', - }, - Fn = { - common: { - diffuse: { value: new Ie(16777215) }, - opacity: { value: 1 }, - map: { value: null }, - uvTransform: { value: new et() }, - uv2Transform: { value: new et() }, - alphaMap: { value: null }, - }, - specularmap: { specularMap: { value: null } }, - envmap: { - envMap: { value: null }, - flipEnvMap: { value: -1 }, - reflectivity: { value: 1 }, - refractionRatio: { value: 0.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 tt(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 Ie(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 Ie(16777215) }, - opacity: { value: 1 }, - size: { value: 1 }, - scale: { value: 1 }, - map: { value: null }, - alphaMap: { value: null }, - uvTransform: { value: new et() }, - }, - sprite: { - diffuse: { value: new Ie(16777215) }, - opacity: { value: 1 }, - center: { value: new tt(0.5, 0.5) }, - rotation: { value: 0 }, - map: { value: null }, - alphaMap: { value: null }, - uvTransform: { value: new et() }, - }, - }, - Un = { - basic: { - uniforms: yn([Fn.common, Fn.specularmap, Fn.envmap, Fn.aomap, Fn.lightmap, Fn.fog]), - vertexShader: Bn.meshbasic_vert, - fragmentShader: Bn.meshbasic_frag, - }, - lambert: { - uniforms: yn([ - Fn.common, - Fn.specularmap, - Fn.envmap, - Fn.aomap, - Fn.lightmap, - Fn.emissivemap, - Fn.fog, - Fn.lights, - { emissive: { value: new Ie(0) } }, - ]), - vertexShader: Bn.meshlambert_vert, - fragmentShader: Bn.meshlambert_frag, - }, - phong: { - uniforms: yn([ - Fn.common, - Fn.specularmap, - Fn.envmap, - Fn.aomap, - Fn.lightmap, - Fn.emissivemap, - Fn.bumpmap, - Fn.normalmap, - Fn.displacementmap, - Fn.fog, - Fn.lights, - { - emissive: { value: new Ie(0) }, - specular: { value: new Ie(1118481) }, - shininess: { value: 30 }, - }, - ]), - vertexShader: Bn.meshphong_vert, - fragmentShader: Bn.meshphong_frag, - }, - standard: { - uniforms: yn([ - Fn.common, - Fn.envmap, - Fn.aomap, - Fn.lightmap, - Fn.emissivemap, - Fn.bumpmap, - Fn.normalmap, - Fn.displacementmap, - Fn.roughnessmap, - Fn.metalnessmap, - Fn.fog, - Fn.lights, - { - emissive: { value: new Ie(0) }, - roughness: { value: 1 }, - metalness: { value: 0 }, - envMapIntensity: { value: 1 }, - }, - ]), - vertexShader: Bn.meshphysical_vert, - fragmentShader: Bn.meshphysical_frag, - }, - toon: { - uniforms: yn([ - Fn.common, - Fn.aomap, - Fn.lightmap, - Fn.emissivemap, - Fn.bumpmap, - Fn.normalmap, - Fn.displacementmap, - Fn.gradientmap, - Fn.fog, - Fn.lights, - { emissive: { value: new Ie(0) } }, - ]), - vertexShader: Bn.meshtoon_vert, - fragmentShader: Bn.meshtoon_frag, - }, - matcap: { - uniforms: yn([ - Fn.common, - Fn.bumpmap, - Fn.normalmap, - Fn.displacementmap, - Fn.fog, - { matcap: { value: null } }, - ]), - vertexShader: Bn.meshmatcap_vert, - fragmentShader: Bn.meshmatcap_frag, - }, - points: { - uniforms: yn([Fn.points, Fn.fog]), - vertexShader: Bn.points_vert, - fragmentShader: Bn.points_frag, - }, - dashed: { - uniforms: yn([ - Fn.common, - Fn.fog, - { scale: { value: 1 }, dashSize: { value: 1 }, totalSize: { value: 2 } }, - ]), - vertexShader: Bn.linedashed_vert, - fragmentShader: Bn.linedashed_frag, - }, - depth: { - uniforms: yn([Fn.common, Fn.displacementmap]), - vertexShader: Bn.depth_vert, - fragmentShader: Bn.depth_frag, - }, - normal: { - uniforms: yn([ - Fn.common, - Fn.bumpmap, - Fn.normalmap, - Fn.displacementmap, - { opacity: { value: 1 } }, - ]), - vertexShader: Bn.normal_vert, - fragmentShader: Bn.normal_frag, - }, - sprite: { - uniforms: yn([Fn.sprite, Fn.fog]), - vertexShader: Bn.sprite_vert, - fragmentShader: Bn.sprite_frag, - }, - background: { - uniforms: { uvTransform: { value: new et() }, t2D: { value: null } }, - vertexShader: Bn.background_vert, - fragmentShader: Bn.background_frag, - }, - cube: { - uniforms: yn([Fn.envmap, { opacity: { value: 1 } }]), - vertexShader: Bn.cube_vert, - fragmentShader: Bn.cube_frag, - }, - equirect: { - uniforms: { tEquirect: { value: null } }, - vertexShader: Bn.equirect_vert, - fragmentShader: Bn.equirect_frag, - }, - distanceRGBA: { - uniforms: yn([ - Fn.common, - Fn.displacementmap, - { - referencePosition: { value: new ut() }, - nearDistance: { value: 1 }, - farDistance: { value: 1e3 }, - }, - ]), - vertexShader: Bn.distanceRGBA_vert, - fragmentShader: Bn.distanceRGBA_frag, - }, - shadow: { - uniforms: yn([ - Fn.lights, - Fn.fog, - { color: { value: new Ie(0) }, opacity: { value: 1 } }, - ]), - vertexShader: Bn.shadow_vert, - fragmentShader: Bn.shadow_frag, - }, - } - function Hn(t, e, n, i, r) { - const a = new Ie(0) - let o, - l, - h = 0, - u = null, - d = 0, - p = null - function m(t, e) { - n.buffers.color.setClear(t.r, t.g, t.b, e, r) - } - return { - getClearColor: function () { - return a - }, - setClearColor: function (t, e = 1) { - a.set(t), (h = e), m(a, h) - }, - getClearAlpha: function () { - return h - }, - setClearAlpha: function (t) { - ;(h = t), m(a, h) - }, - render: function (n, r) { - let f = !1, - g = !0 === r.isScene ? r.background : null - g && g.isTexture && (g = e.get(g)) - const v = t.xr, - y = v.getSession && v.getSession() - y && 'additive' === y.environmentBlendMode && (g = null), - null === g ? m(a, h) : g && g.isColor && (m(g, 1), (f = !0)), - (t.autoClear || f) && t.clear(t.autoClearColor, t.autoClearDepth, t.autoClearStencil), - g && (g.isCubeTexture || g.mapping === c) - ? (void 0 === l && - ((l = new mn( - new gn(1, 1, 1), - new _n({ - name: 'BackgroundCubeMaterial', - uniforms: vn(Un.cube.uniforms), - vertexShader: Un.cube.vertexShader, - fragmentShader: Un.cube.fragmentShader, - side: s, - depthTest: !1, - depthWrite: !1, - fog: !1, - }), - )), - l.geometry.deleteAttribute('normal'), - l.geometry.deleteAttribute('uv'), - (l.onBeforeRender = function (t, e, n) { - this.matrixWorld.copyPosition(n.matrixWorld) - }), - Object.defineProperty(l.material, 'envMap', { - get: function () { - return this.uniforms.envMap.value - }, - }), - i.update(l)), - (l.material.uniforms.envMap.value = g), - (l.material.uniforms.flipEnvMap.value = - g.isCubeTexture && g._needsFlipEnvMap ? -1 : 1), - (u === g && d === g.version && p === t.toneMapping) || - ((l.material.needsUpdate = !0), (u = g), (d = g.version), (p = t.toneMapping)), - n.unshift(l, l.geometry, l.material, 0, 0, null)) - : g && - g.isTexture && - (void 0 === o && - ((o = new mn( - new On(2, 2), - new _n({ - name: 'BackgroundMaterial', - uniforms: vn(Un.background.uniforms), - vertexShader: Un.background.vertexShader, - fragmentShader: Un.background.fragmentShader, - side: 0, - depthTest: !1, - depthWrite: !1, - fog: !1, - }), - )), - o.geometry.deleteAttribute('normal'), - Object.defineProperty(o.material, 'map', { - get: function () { - return this.uniforms.t2D.value - }, - }), - i.update(o)), - (o.material.uniforms.t2D.value = g), - !0 === g.matrixAutoUpdate && g.updateMatrix(), - o.material.uniforms.uvTransform.value.copy(g.matrix), - (u === g && d === g.version && p === t.toneMapping) || - ((o.material.needsUpdate = !0), (u = g), (d = g.version), (p = t.toneMapping)), - n.unshift(o, o.geometry, o.material, 0, 0, null)) - }, - } - } - function Gn(t, e, n, i) { - const r = t.getParameter(34921), - s = i.isWebGL2 ? null : e.get('OES_vertex_array_object'), - a = i.isWebGL2 || null !== s, - o = {}, - l = d(null) - let c = l - function h(e) { - return i.isWebGL2 ? t.bindVertexArray(e) : s.bindVertexArrayOES(e) - } - function u(e) { - return i.isWebGL2 ? t.deleteVertexArray(e) : s.deleteVertexArrayOES(e) - } - function d(t) { - const e = [], - n = [], - i = [] - for (let s = 0; s < r; s++) (e[s] = 0), (n[s] = 0), (i[s] = 0) - return { - geometry: null, - program: null, - wireframe: !1, - newAttributes: e, - enabledAttributes: n, - attributeDivisors: i, - object: t, - attributes: {}, - index: null, - } - } - function p() { - const t = c.newAttributes - for (let e = 0, n = t.length; e < n; e++) t[e] = 0 - } - function m(t) { - f(t, 0) - } - function f(n, r) { - const s = c.newAttributes, - a = c.enabledAttributes, - o = c.attributeDivisors - if (((s[n] = 1), 0 === a[n] && (t.enableVertexAttribArray(n), (a[n] = 1)), o[n] !== r)) { - ;(i.isWebGL2 ? t : e.get('ANGLE_instanced_arrays'))[ - i.isWebGL2 ? 'vertexAttribDivisor' : 'vertexAttribDivisorANGLE' - ](n, r), - (o[n] = r) - } - } - function g() { - const e = c.newAttributes, - n = c.enabledAttributes - for (let i = 0, r = n.length; i < r; i++) - n[i] !== e[i] && (t.disableVertexAttribArray(i), (n[i] = 0)) - } - function v(e, n, r, s, a, o) { - !0 !== i.isWebGL2 || (5124 !== r && 5125 !== r) - ? t.vertexAttribPointer(e, n, r, s, a, o) - : t.vertexAttribIPointer(e, n, r, a, o) - } - function y() { - x(), c !== l && ((c = l), h(c.object)) - } - function x() { - ;(l.geometry = null), (l.program = null), (l.wireframe = !1) - } - return { - setup: function (r, l, u, y, x) { - let _ = !1 - if (a) { - const e = (function (e, n, r) { - const a = !0 === r.wireframe - let l = o[e.id] - void 0 === l && ((l = {}), (o[e.id] = l)) - let c = l[n.id] - void 0 === c && ((c = {}), (l[n.id] = c)) - let h = c[a] - void 0 === h && - ((h = d(i.isWebGL2 ? t.createVertexArray() : s.createVertexArrayOES())), - (c[a] = h)) - return h - })(y, u, l) - c !== e && ((c = e), h(c.object)), - (_ = (function (t, e) { - const n = c.attributes, - i = t.attributes - let r = 0 - for (const s in i) { - const t = n[s], - e = i[s] - if (void 0 === t) return !0 - if (t.attribute !== e) return !0 - if (t.data !== e.data) return !0 - r++ - } - return c.attributesNum !== r || c.index !== e - })(y, x)), - _ && - (function (t, e) { - const n = {}, - i = t.attributes - let r = 0 - for (const s in i) { - const t = i[s], - e = {} - ;(e.attribute = t), t.data && (e.data = t.data), (n[s] = e), r++ - } - ;(c.attributes = n), (c.attributesNum = r), (c.index = e) - })(y, x) - } else { - const t = !0 === l.wireframe - ;(c.geometry === y.id && c.program === u.id && c.wireframe === t) || - ((c.geometry = y.id), (c.program = u.id), (c.wireframe = t), (_ = !0)) - } - !0 === r.isInstancedMesh && (_ = !0), - null !== x && n.update(x, 34963), - _ && - (!(function (r, s, a, o) { - if ( - !1 === i.isWebGL2 && - (r.isInstancedMesh || o.isInstancedBufferGeometry) && - null === e.get('ANGLE_instanced_arrays') - ) - return - p() - const l = o.attributes, - c = a.getAttributes(), - h = s.defaultAttributeValues - for (const e in c) { - const i = c[e] - if (i >= 0) { - const s = l[e] - if (void 0 !== s) { - const e = s.normalized, - r = s.itemSize, - a = n.get(s) - if (void 0 === a) continue - const l = a.buffer, - c = a.type, - h = a.bytesPerElement - if (s.isInterleavedBufferAttribute) { - const n = s.data, - a = n.stride, - u = s.offset - n && n.isInstancedInterleavedBuffer - ? (f(i, n.meshPerAttribute), - void 0 === o._maxInstanceCount && - (o._maxInstanceCount = n.meshPerAttribute * n.count)) - : m(i), - t.bindBuffer(34962, l), - v(i, r, c, e, a * h, u * h) - } else - s.isInstancedBufferAttribute - ? (f(i, s.meshPerAttribute), - void 0 === o._maxInstanceCount && - (o._maxInstanceCount = s.meshPerAttribute * s.count)) - : m(i), - t.bindBuffer(34962, l), - v(i, r, c, e, 0, 0) - } else if ('instanceMatrix' === e) { - const e = n.get(r.instanceMatrix) - if (void 0 === e) continue - const s = e.buffer, - a = e.type - f(i + 0, 1), - f(i + 1, 1), - f(i + 2, 1), - f(i + 3, 1), - t.bindBuffer(34962, s), - t.vertexAttribPointer(i + 0, 4, a, !1, 64, 0), - t.vertexAttribPointer(i + 1, 4, a, !1, 64, 16), - t.vertexAttribPointer(i + 2, 4, a, !1, 64, 32), - t.vertexAttribPointer(i + 3, 4, a, !1, 64, 48) - } else if ('instanceColor' === e) { - const e = n.get(r.instanceColor) - if (void 0 === e) continue - const s = e.buffer, - a = e.type - f(i, 1), t.bindBuffer(34962, s), t.vertexAttribPointer(i, 3, a, !1, 12, 0) - } else if (void 0 !== h) { - const n = h[e] - if (void 0 !== n) - switch (n.length) { - case 2: - t.vertexAttrib2fv(i, n) - break - case 3: - t.vertexAttrib3fv(i, n) - break - case 4: - t.vertexAttrib4fv(i, n) - break - default: - t.vertexAttrib1fv(i, n) - } - } - } - } - g() - })(r, l, u, y), - null !== x && t.bindBuffer(34963, n.get(x).buffer)) - }, - reset: y, - resetDefaultState: x, - dispose: function () { - y() - for (const t in o) { - const e = o[t] - for (const t in e) { - const n = e[t] - for (const t in n) u(n[t].object), delete n[t] - delete e[t] - } - delete o[t] - } - }, - releaseStatesOfGeometry: function (t) { - if (void 0 === o[t.id]) return - const e = o[t.id] - for (const n in e) { - const t = e[n] - for (const e in t) u(t[e].object), delete t[e] - delete e[n] - } - delete o[t.id] - }, - releaseStatesOfProgram: function (t) { - for (const e in o) { - const n = o[e] - if (void 0 === n[t.id]) continue - const i = n[t.id] - for (const t in i) u(i[t].object), delete i[t] - delete n[t.id] - } - }, - initAttributes: p, - enableAttribute: m, - disableUnusedAttributes: g, - } - } - function Vn(t, e, n, i) { - const r = i.isWebGL2 - let s - ;(this.setMode = function (t) { - s = t - }), - (this.render = function (e, i) { - t.drawArrays(s, e, i), n.update(i, s, 1) - }), - (this.renderInstances = function (i, a, o) { - if (0 === o) return - let l, c - if (r) (l = t), (c = 'drawArraysInstanced') - else if ( - ((l = e.get('ANGLE_instanced_arrays')), (c = 'drawArraysInstancedANGLE'), null === l) - ) - return void console.error( - 'THREE.WebGLBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.', - ) - l[c](s, i, a, o), n.update(a, s, o) - }) - } - function kn(t, e, n) { - let i - function r(e) { - if ('highp' === e) { - if ( - t.getShaderPrecisionFormat(35633, 36338).precision > 0 && - t.getShaderPrecisionFormat(35632, 36338).precision > 0 - ) - return 'highp' - e = 'mediump' - } - return 'mediump' === e && - t.getShaderPrecisionFormat(35633, 36337).precision > 0 && - t.getShaderPrecisionFormat(35632, 36337).precision > 0 - ? 'mediump' - : 'lowp' - } - const s = - ('undefined' !== typeof WebGL2RenderingContext && t instanceof WebGL2RenderingContext) || - ('undefined' !== typeof WebGL2ComputeRenderingContext && - t instanceof WebGL2ComputeRenderingContext) - let a = void 0 !== n.precision ? n.precision : 'highp' - const o = r(a) - o !== a && - (console.warn('THREE.WebGLRenderer:', a, 'not supported, using', o, 'instead.'), (a = o)) - const l = s || e.has('WEBGL_draw_buffers'), - c = !0 === n.logarithmicDepthBuffer, - h = t.getParameter(34930), - u = t.getParameter(35660), - d = t.getParameter(3379), - p = t.getParameter(34076), - m = t.getParameter(34921), - f = t.getParameter(36347), - g = t.getParameter(36348), - v = t.getParameter(36349), - y = u > 0, - x = s || e.has('OES_texture_float') - return { - isWebGL2: s, - drawBuffers: l, - getMaxAnisotropy: function () { - if (void 0 !== i) return i - if (!0 === e.has('EXT_texture_filter_anisotropic')) { - const n = e.get('EXT_texture_filter_anisotropic') - i = t.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT) - } else i = 0 - return i - }, - getMaxPrecision: r, - precision: a, - logarithmicDepthBuffer: c, - maxTextures: h, - maxVertexTextures: u, - maxTextureSize: d, - maxCubemapSize: p, - maxAttributes: m, - maxVertexUniforms: f, - maxVaryings: g, - maxFragmentUniforms: v, - vertexTextures: y, - floatFragmentTextures: x, - floatVertexTextures: y && x, - maxSamples: s ? t.getParameter(36183) : 0, - } - } - function Wn(t) { - const e = this - let n = null, - i = 0, - r = !1, - s = !1 - const a = new Cn(), - o = new et(), - l = { value: null, needsUpdate: !1 } - function c() { - l.value !== n && ((l.value = n), (l.needsUpdate = i > 0)), - (e.numPlanes = i), - (e.numIntersection = 0) - } - function h(t, n, i, r) { - const s = null !== t ? t.length : 0 - let c = null - if (0 !== s) { - if (((c = l.value), !0 !== r || null === c)) { - const e = i + 4 * s, - r = n.matrixWorldInverse - o.getNormalMatrix(r), (null === c || c.length < e) && (c = new Float32Array(e)) - for (let n = 0, l = i; n !== s; ++n, l += 4) - a.copy(t[n]).applyMatrix4(r, o), a.normal.toArray(c, l), (c[l + 3] = a.constant) - } - ;(l.value = c), (l.needsUpdate = !0) - } - return (e.numPlanes = s), (e.numIntersection = 0), c - } - ;(this.uniform = l), - (this.numPlanes = 0), - (this.numIntersection = 0), - (this.init = function (t, e, s) { - const a = 0 !== t.length || e || 0 !== i || r - return (r = e), (n = h(t, s, 0)), (i = t.length), a - }), - (this.beginShadows = function () { - ;(s = !0), h(null) - }), - (this.endShadows = function () { - ;(s = !1), c() - }), - (this.setState = function (e, a, o) { - const u = e.clippingPlanes, - d = e.clipIntersection, - p = e.clipShadows, - m = t.get(e) - if (!r || null === u || 0 === u.length || (s && !p)) s ? h(null) : c() - else { - const t = s ? 0 : i, - e = 4 * t - let r = m.clippingState || null - ;(l.value = r), (r = h(u, a, e, o)) - for (let i = 0; i !== e; ++i) r[i] = n[i] - ;(m.clippingState = r), - (this.numIntersection = d ? this.numPlanes : 0), - (this.numPlanes += t) - } - }) - } - function jn(t) { - let e = new WeakMap() - function n(t, e) { - return 303 === e ? (t.mapping = o) : 304 === e && (t.mapping = l), t - } - function i(t) { - const n = t.target - n.removeEventListener('dispose', i) - const r = e.get(n) - void 0 !== r && (e.delete(n), r.dispose()) - } - return { - get: function (r) { - if (r && r.isTexture) { - const s = r.mapping - if (303 === s || 304 === s) { - if (e.has(r)) { - return n(e.get(r).texture, r.mapping) - } - { - const s = r.image - if (s && s.height > 0) { - const a = t.getRenderTarget(), - o = new En(s.height / 2) - return ( - o.fromEquirectangularTexture(t, r), - e.set(r, o), - t.setRenderTarget(a), - r.addEventListener('dispose', i), - n(o.texture, r.mapping) - ) - } - return null - } - } - } - return r - }, - dispose: function () { - e = new WeakMap() - }, - } - } - function qn(t) { - const e = {} - function n(n) { - if (void 0 !== e[n]) return e[n] - let i - switch (n) { - case 'WEBGL_depth_texture': - i = - t.getExtension('WEBGL_depth_texture') || - t.getExtension('MOZ_WEBGL_depth_texture') || - t.getExtension('WEBKIT_WEBGL_depth_texture') - break - case 'EXT_texture_filter_anisotropic': - i = - t.getExtension('EXT_texture_filter_anisotropic') || - t.getExtension('MOZ_EXT_texture_filter_anisotropic') || - t.getExtension('WEBKIT_EXT_texture_filter_anisotropic') - break - case 'WEBGL_compressed_texture_s3tc': - i = - t.getExtension('WEBGL_compressed_texture_s3tc') || - t.getExtension('MOZ_WEBGL_compressed_texture_s3tc') || - t.getExtension('WEBKIT_WEBGL_compressed_texture_s3tc') - break - case 'WEBGL_compressed_texture_pvrtc': - i = - t.getExtension('WEBGL_compressed_texture_pvrtc') || - t.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc') - break - default: - i = t.getExtension(n) - } - return (e[n] = i), i - } - return { - has: function (t) { - return null !== n(t) - }, - init: function (t) { - t.isWebGL2 - ? n('EXT_color_buffer_float') - : (n('WEBGL_depth_texture'), - n('OES_texture_float'), - n('OES_texture_half_float'), - n('OES_texture_half_float_linear'), - n('OES_standard_derivatives'), - n('OES_element_index_uint'), - n('OES_vertex_array_object'), - n('ANGLE_instanced_arrays')), - n('OES_texture_float_linear'), - n('EXT_color_buffer_half_float') - }, - get: function (t) { - const e = n(t) - return ( - null === e && console.warn('THREE.WebGLRenderer: ' + t + ' extension not supported.'), - e - ) - }, - } - } - function Xn(t, e, n, i) { - const r = {}, - s = new WeakMap() - function a(t) { - const o = t.target - null !== o.index && e.remove(o.index) - for (const n in o.attributes) e.remove(o.attributes[n]) - o.removeEventListener('dispose', a), delete r[o.id] - const l = s.get(o) - l && (e.remove(l), s.delete(o)), - i.releaseStatesOfGeometry(o), - !0 === o.isInstancedBufferGeometry && delete o._maxInstanceCount, - n.memory.geometries-- - } - function o(t) { - const n = [], - i = t.index, - r = t.attributes.position - let a = 0 - if (null !== i) { - const t = i.array - a = i.version - for (let e = 0, i = t.length; e < i; e += 3) { - const i = t[e + 0], - r = t[e + 1], - s = t[e + 2] - n.push(i, r, r, s, s, i) - } - } else { - const t = r.array - a = r.version - for (let e = 0, i = t.length / 3 - 1; e < i; e += 3) { - const t = e + 0, - i = e + 1, - r = e + 2 - n.push(t, i, i, r, r, t) - } - } - const o = new (Ge(n) > 65535 ? Ue : Fe)(n, 1) - o.version = a - const l = s.get(t) - l && e.remove(l), s.set(t, o) - } - return { - get: function (t, e) { - return ( - !0 === r[e.id] || - (e.addEventListener('dispose', a), (r[e.id] = !0), n.memory.geometries++), - e - ) - }, - update: function (t) { - const n = t.attributes - for (const r in n) e.update(n[r], 34962) - const i = t.morphAttributes - for (const r in i) { - const t = i[r] - for (let n = 0, i = t.length; n < i; n++) e.update(t[n], 34962) - } - }, - getWireframeAttribute: function (t) { - const e = s.get(t) - if (e) { - const n = t.index - null !== n && e.version < n.version && o(t) - } else o(t) - return s.get(t) - }, - } - } - function Yn(t, e, n, i) { - const r = i.isWebGL2 - let s, a, o - ;(this.setMode = function (t) { - s = t - }), - (this.setIndex = function (t) { - ;(a = t.type), (o = t.bytesPerElement) - }), - (this.render = function (e, i) { - t.drawElements(s, i, a, e * o), n.update(i, s, 1) - }), - (this.renderInstances = function (i, l, c) { - if (0 === c) return - let h, u - if (r) (h = t), (u = 'drawElementsInstanced') - else if ( - ((h = e.get('ANGLE_instanced_arrays')), - (u = 'drawElementsInstancedANGLE'), - null === h) - ) - return void console.error( - 'THREE.WebGLIndexedBufferRenderer: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.', - ) - h[u](s, l, a, i * o, c), n.update(l, s, c) - }) - } - function Jn(t) { - const e = { frame: 0, calls: 0, triangles: 0, points: 0, lines: 0 } - return { - memory: { geometries: 0, textures: 0 }, - render: e, - programs: null, - autoReset: !0, - reset: function () { - e.frame++, (e.calls = 0), (e.triangles = 0), (e.points = 0), (e.lines = 0) - }, - update: function (t, n, i) { - switch ((e.calls++, n)) { - case 4: - e.triangles += i * (t / 3) - break - case 1: - e.lines += i * (t / 2) - break - case 3: - e.lines += i * (t - 1) - break - case 2: - e.lines += i * t - break - case 0: - e.points += i * t - break - default: - console.error('THREE.WebGLInfo: Unknown draw mode:', n) - } - }, - } - } - function Zn(t, e) { - return t[0] - e[0] - } - function Qn(t, e) { - return Math.abs(e[1]) - Math.abs(t[1]) - } - function Kn(t) { - const e = {}, - n = new Float32Array(8), - i = [] - for (let r = 0; r < 8; r++) i[r] = [r, 0] - return { - update: function (r, s, a, o) { - const l = r.morphTargetInfluences, - c = void 0 === l ? 0 : l.length - let h = e[s.id] - if (void 0 === h || h.length !== c) { - h = [] - for (let t = 0; t < c; t++) h[t] = [t, 0] - e[s.id] = h - } - for (let t = 0; t < c; t++) { - const e = h[t] - ;(e[0] = t), (e[1] = l[t]) - } - h.sort(Qn) - for (let t = 0; t < 8; t++) - t < c && h[t][1] - ? ((i[t][0] = h[t][0]), (i[t][1] = h[t][1])) - : ((i[t][0] = Number.MAX_SAFE_INTEGER), (i[t][1] = 0)) - i.sort(Zn) - const u = a.morphTargets && s.morphAttributes.position, - d = a.morphNormals && s.morphAttributes.normal - let p = 0 - for (let t = 0; t < 8; t++) { - const e = i[t], - r = e[0], - a = e[1] - r !== Number.MAX_SAFE_INTEGER && a - ? (u && - s.getAttribute('morphTarget' + t) !== u[r] && - s.setAttribute('morphTarget' + t, u[r]), - d && - s.getAttribute('morphNormal' + t) !== d[r] && - s.setAttribute('morphNormal' + t, d[r]), - (n[t] = a), - (p += a)) - : (u && - !0 === s.hasAttribute('morphTarget' + t) && - s.deleteAttribute('morphTarget' + t), - d && - !0 === s.hasAttribute('morphNormal' + t) && - s.deleteAttribute('morphNormal' + t), - (n[t] = 0)) - } - const m = s.morphTargetsRelative ? 1 : 1 - p - o.getUniforms().setValue(t, 'morphTargetBaseInfluence', m), - o.getUniforms().setValue(t, 'morphTargetInfluences', n) - }, - } - } - function $n(t, e, n, i) { - let r = new WeakMap() - function s(t) { - const e = t.target - e.removeEventListener('dispose', s), - n.remove(e.instanceMatrix), - null !== e.instanceColor && n.remove(e.instanceColor) - } - return { - update: function (t) { - const a = i.render.frame, - o = t.geometry, - l = e.get(t, o) - return ( - r.get(l) !== a && (e.update(l), r.set(l, a)), - t.isInstancedMesh && - (!1 === t.hasEventListener('dispose', s) && t.addEventListener('dispose', s), - n.update(t.instanceMatrix, 34962), - null !== t.instanceColor && n.update(t.instanceColor, 34962)), - l - ) - }, - dispose: function () { - r = new WeakMap() - }, - } - } - Un.physical = { - uniforms: yn([ - Un.standard.uniforms, - { - clearcoat: { value: 0 }, - clearcoatMap: { value: null }, - clearcoatRoughness: { value: 0 }, - clearcoatRoughnessMap: { value: null }, - clearcoatNormalScale: { value: new tt(1, 1) }, - clearcoatNormalMap: { value: null }, - sheen: { value: new Ie(0) }, - transmission: { value: 0 }, - transmissionMap: { value: null }, - transmissionSamplerSize: { value: new tt() }, - transmissionSamplerMap: { value: null }, - thickness: { value: 0 }, - thicknessMap: { value: null }, - attenuationDistance: { value: 0 }, - attenuationColor: { value: new Ie(0) }, - }, - ]), - vertexShader: Bn.meshphysical_vert, - fragmentShader: Bn.meshphysical_frag, - } - class ti extends st { - constructor(t = null, e = 1, n = 1, i = 1) { - super(null), - (this.image = { data: t, width: e, height: n, depth: i }), - (this.magFilter = m), - (this.minFilter = m), - (this.wrapR = d), - (this.generateMipmaps = !1), - (this.flipY = !1), - (this.unpackAlignment = 1), - (this.needsUpdate = !0) - } - } - ti.prototype.isDataTexture2DArray = !0 - class ei extends st { - constructor(t = null, e = 1, n = 1, i = 1) { - super(null), - (this.image = { data: t, width: e, height: n, depth: i }), - (this.magFilter = m), - (this.minFilter = m), - (this.wrapR = d), - (this.generateMipmaps = !1), - (this.flipY = !1), - (this.unpackAlignment = 1), - (this.needsUpdate = !0) - } - } - ei.prototype.isDataTexture3D = !0 - const ni = new st(), - ii = new ti(), - ri = new ei(), - si = new Tn(), - ai = [], - oi = [], - li = new Float32Array(16), - ci = new Float32Array(9), - hi = new Float32Array(4) - function ui(t, e, n) { - const i = t[0] - if (i <= 0 || i > 0) return t - const r = e * n - let s = ai[r] - if ((void 0 === s && ((s = new Float32Array(r)), (ai[r] = s)), 0 !== e)) { - i.toArray(s, 0) - for (let i = 1, r = 0; i !== e; ++i) (r += n), t[i].toArray(s, r) - } - return s - } - function di(t, e) { - if (t.length !== e.length) return !1 - for (let n = 0, i = t.length; n < i; n++) if (t[n] !== e[n]) return !1 - return !0 - } - function pi(t, e) { - for (let n = 0, i = e.length; n < i; n++) t[n] = e[n] - } - function mi(t, e) { - let n = oi[e] - void 0 === n && ((n = new Int32Array(e)), (oi[e] = n)) - for (let i = 0; i !== e; ++i) n[i] = t.allocateTextureUnit() - return n - } - function fi(t, e) { - const n = this.cache - n[0] !== e && (t.uniform1f(this.addr, e), (n[0] = e)) - } - function gi(t, e) { - const n = this.cache - if (void 0 !== e.x) - (n[0] === e.x && n[1] === e.y) || - (t.uniform2f(this.addr, e.x, e.y), (n[0] = e.x), (n[1] = e.y)) - else { - if (di(n, e)) return - t.uniform2fv(this.addr, e), pi(n, e) - } - } - function vi(t, e) { - const n = this.cache - if (void 0 !== e.x) - (n[0] === e.x && n[1] === e.y && n[2] === e.z) || - (t.uniform3f(this.addr, e.x, e.y, e.z), (n[0] = e.x), (n[1] = e.y), (n[2] = e.z)) - else if (void 0 !== e.r) - (n[0] === e.r && n[1] === e.g && n[2] === e.b) || - (t.uniform3f(this.addr, e.r, e.g, e.b), (n[0] = e.r), (n[1] = e.g), (n[2] = e.b)) - else { - if (di(n, e)) return - t.uniform3fv(this.addr, e), pi(n, e) - } - } - function yi(t, e) { - const n = this.cache - if (void 0 !== e.x) - (n[0] === e.x && n[1] === e.y && n[2] === e.z && n[3] === e.w) || - (t.uniform4f(this.addr, e.x, e.y, e.z, e.w), - (n[0] = e.x), - (n[1] = e.y), - (n[2] = e.z), - (n[3] = e.w)) - else { - if (di(n, e)) return - t.uniform4fv(this.addr, e), pi(n, e) - } - } - function xi(t, e) { - const n = this.cache, - i = e.elements - if (void 0 === i) { - if (di(n, e)) return - t.uniformMatrix2fv(this.addr, !1, e), pi(n, e) - } else { - if (di(n, i)) return - hi.set(i), t.uniformMatrix2fv(this.addr, !1, hi), pi(n, i) - } - } - function _i(t, e) { - const n = this.cache, - i = e.elements - if (void 0 === i) { - if (di(n, e)) return - t.uniformMatrix3fv(this.addr, !1, e), pi(n, e) - } else { - if (di(n, i)) return - ci.set(i), t.uniformMatrix3fv(this.addr, !1, ci), pi(n, i) - } - } - function bi(t, e) { - const n = this.cache, - i = e.elements - if (void 0 === i) { - if (di(n, e)) return - t.uniformMatrix4fv(this.addr, !1, e), pi(n, e) - } else { - if (di(n, i)) return - li.set(i), t.uniformMatrix4fv(this.addr, !1, li), pi(n, i) - } - } - function Mi(t, e) { - const n = this.cache - n[0] !== e && (t.uniform1i(this.addr, e), (n[0] = e)) - } - function wi(t, e) { - const n = this.cache - di(n, e) || (t.uniform2iv(this.addr, e), pi(n, e)) - } - function Si(t, e) { - const n = this.cache - di(n, e) || (t.uniform3iv(this.addr, e), pi(n, e)) - } - function Ti(t, e) { - const n = this.cache - di(n, e) || (t.uniform4iv(this.addr, e), pi(n, e)) - } - function Ei(t, e) { - const n = this.cache - n[0] !== e && (t.uniform1ui(this.addr, e), (n[0] = e)) - } - function Li(t, e) { - const n = this.cache - di(n, e) || (t.uniform2uiv(this.addr, e), pi(n, e)) - } - function Ai(t, e) { - const n = this.cache - di(n, e) || (t.uniform3uiv(this.addr, e), pi(n, e)) - } - function Ri(t, e) { - const n = this.cache - di(n, e) || (t.uniform4uiv(this.addr, e), pi(n, e)) - } - function Ci(t, e, n) { - const i = this.cache, - r = n.allocateTextureUnit() - i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.safeSetTexture2D(e || ni, r) - } - function Pi(t, e, n) { - const i = this.cache, - r = n.allocateTextureUnit() - i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.setTexture3D(e || ri, r) - } - function Di(t, e, n) { - const i = this.cache, - r = n.allocateTextureUnit() - i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.safeSetTextureCube(e || si, r) - } - function Ii(t, e, n) { - const i = this.cache, - r = n.allocateTextureUnit() - i[0] !== r && (t.uniform1i(this.addr, r), (i[0] = r)), n.setTexture2DArray(e || ii, r) - } - function Ni(t, e) { - t.uniform1fv(this.addr, e) - } - function zi(t, e) { - const n = ui(e, this.size, 2) - t.uniform2fv(this.addr, n) - } - function Oi(t, e) { - const n = ui(e, this.size, 3) - t.uniform3fv(this.addr, n) - } - function Bi(t, e) { - const n = ui(e, this.size, 4) - t.uniform4fv(this.addr, n) - } - function Fi(t, e) { - const n = ui(e, this.size, 4) - t.uniformMatrix2fv(this.addr, !1, n) - } - function Ui(t, e) { - const n = ui(e, this.size, 9) - t.uniformMatrix3fv(this.addr, !1, n) - } - function Hi(t, e) { - const n = ui(e, this.size, 16) - t.uniformMatrix4fv(this.addr, !1, n) - } - function Gi(t, e) { - t.uniform1iv(this.addr, e) - } - function Vi(t, e) { - t.uniform2iv(this.addr, e) - } - function ki(t, e) { - t.uniform3iv(this.addr, e) - } - function Wi(t, e) { - t.uniform4iv(this.addr, e) - } - function ji(t, e) { - t.uniform1uiv(this.addr, e) - } - function qi(t, e) { - t.uniform2uiv(this.addr, e) - } - function Xi(t, e) { - t.uniform3uiv(this.addr, e) - } - function Yi(t, e) { - t.uniform4uiv(this.addr, e) - } - function Ji(t, e, n) { - const i = e.length, - r = mi(n, i) - t.uniform1iv(this.addr, r) - for (let s = 0; s !== i; ++s) n.safeSetTexture2D(e[s] || ni, r[s]) - } - function Zi(t, e, n) { - const i = e.length, - r = mi(n, i) - t.uniform1iv(this.addr, r) - for (let s = 0; s !== i; ++s) n.safeSetTextureCube(e[s] || si, r[s]) - } - function Qi(t, e, n) { - ;(this.id = t), - (this.addr = n), - (this.cache = []), - (this.setValue = (function (t) { - switch (t) { - case 5126: - return fi - case 35664: - return gi - case 35665: - return vi - case 35666: - return yi - case 35674: - return xi - case 35675: - return _i - case 35676: - return bi - case 5124: - case 35670: - return Mi - case 35667: - case 35671: - return wi - case 35668: - case 35672: - return Si - case 35669: - case 35673: - return Ti - case 5125: - return Ei - case 36294: - return Li - case 36295: - return Ai - case 36296: - return Ri - case 35678: - case 36198: - case 36298: - case 36306: - case 35682: - return Ci - case 35679: - case 36299: - case 36307: - return Pi - case 35680: - case 36300: - case 36308: - case 36293: - return Di - case 36289: - case 36303: - case 36311: - case 36292: - return Ii - } - })(e.type)) - } - function Ki(t, e, n) { - ;(this.id = t), - (this.addr = n), - (this.cache = []), - (this.size = e.size), - (this.setValue = (function (t) { - switch (t) { - case 5126: - return Ni - case 35664: - return zi - case 35665: - return Oi - case 35666: - return Bi - case 35674: - return Fi - case 35675: - return Ui - case 35676: - return Hi - case 5124: - case 35670: - return Gi - case 35667: - case 35671: - return Vi - case 35668: - case 35672: - return ki - case 35669: - case 35673: - return Wi - case 5125: - return ji - case 36294: - return qi - case 36295: - return Xi - case 36296: - return Yi - case 35678: - case 36198: - case 36298: - case 36306: - case 35682: - return Ji - case 35680: - case 36300: - case 36308: - case 36293: - return Zi - } - })(e.type)) - } - function $i(t) { - ;(this.id = t), (this.seq = []), (this.map = {}) - } - ;(Ki.prototype.updateCache = function (t) { - const e = this.cache - t instanceof Float32Array && - e.length !== t.length && - (this.cache = new Float32Array(t.length)), - pi(e, t) - }), - ($i.prototype.setValue = function (t, e, n) { - const i = this.seq - for (let r = 0, s = i.length; r !== s; ++r) { - const s = i[r] - s.setValue(t, e[s.id], n) - } - }) - const tr = /(\w+)(\])?(\[|\.)?/g - function er(t, e) { - t.seq.push(e), (t.map[e.id] = e) - } - function nr(t, e, n) { - const i = t.name, - r = i.length - for (tr.lastIndex = 0; ; ) { - const s = tr.exec(i), - a = tr.lastIndex - let o = s[1] - const l = ']' === s[2], - c = s[3] - if ((l && (o |= 0), void 0 === c || ('[' === c && a + 2 === r))) { - er(n, void 0 === c ? new Qi(o, t, e) : new Ki(o, t, e)) - break - } - { - let t = n.map[o] - void 0 === t && ((t = new $i(o)), er(n, t)), (n = t) - } - } - } - function ir(t, e) { - ;(this.seq = []), (this.map = {}) - const n = t.getProgramParameter(e, 35718) - for (let i = 0; i < n; ++i) { - const n = t.getActiveUniform(e, i) - nr(n, t.getUniformLocation(e, n.name), this) - } - } - function rr(t, e, n) { - const i = t.createShader(e) - return t.shaderSource(i, n), t.compileShader(i), i - } - ;(ir.prototype.setValue = function (t, e, n, i) { - const r = this.map[e] - void 0 !== r && r.setValue(t, n, i) - }), - (ir.prototype.setOptional = function (t, e, n) { - const i = e[n] - void 0 !== i && this.setValue(t, n, i) - }), - (ir.upload = function (t, e, n, i) { - for (let r = 0, s = e.length; r !== s; ++r) { - const s = e[r], - a = n[s.id] - !1 !== a.needsUpdate && s.setValue(t, a.value, i) - } - }), - (ir.seqWithValue = function (t, e) { - const n = [] - for (let i = 0, r = t.length; i !== r; ++i) { - const r = t[i] - r.id in e && n.push(r) - } - return n - }) - let sr = 0 - function ar(t) { - switch (t) { - case O: - return ['Linear', '( value )'] - case B: - return ['sRGB', '( value )'] - case U: - return ['RGBE', '( value )'] - case 3004: - return ['RGBM', '( value, 7.0 )'] - case 3005: - return ['RGBM', '( value, 16.0 )'] - case 3006: - return ['RGBD', '( value, 256.0 )'] - case F: - return ['Gamma', '( value, float( GAMMA_FACTOR ) )'] - case 3003: - return ['LogLuv', '( value )'] - default: - return ( - console.warn('THREE.WebGLProgram: Unsupported encoding:', t), ['Linear', '( value )'] - ) - } - } - function or(t, e, n) { - const i = t.getShaderParameter(e, 35713), - r = t.getShaderInfoLog(e).trim() - if (i && '' === r) return '' - return ( - 'THREE.WebGLShader: gl.getShaderInfoLog() ' + - n + - '\n' + - r + - (function (t) { - const e = t.split('\n') - for (let n = 0; n < e.length; n++) e[n] = n + 1 + ': ' + e[n] - return e.join('\n') - })(t.getShaderSource(e)) - ) - } - function lr(t, e) { - const n = ar(e) - return 'vec4 ' + t + '( vec4 value ) { return ' + n[0] + 'ToLinear' + n[1] + '; }' - } - function cr(t, e) { - const n = ar(e) - return 'vec4 ' + t + '( vec4 value ) { return LinearTo' + n[0] + n[1] + '; }' - } - function hr(t, e) { - let n - switch (e) { - case 1: - n = 'Linear' - break - case 2: - n = 'Reinhard' - break - case 3: - n = 'OptimizedCineon' - break - case 4: - n = 'ACESFilmic' - break - case 5: - n = 'Custom' - break - default: - console.warn('THREE.WebGLProgram: Unsupported toneMapping:', e), (n = 'Linear') - } - return 'vec3 ' + t + '( vec3 color ) { return ' + n + 'ToneMapping( color ); }' - } - function ur(t) { - return '' !== t - } - function dr(t, e) { - return t - .replace(/NUM_DIR_LIGHTS/g, e.numDirLights) - .replace(/NUM_SPOT_LIGHTS/g, e.numSpotLights) - .replace(/NUM_RECT_AREA_LIGHTS/g, e.numRectAreaLights) - .replace(/NUM_POINT_LIGHTS/g, e.numPointLights) - .replace(/NUM_HEMI_LIGHTS/g, e.numHemiLights) - .replace(/NUM_DIR_LIGHT_SHADOWS/g, e.numDirLightShadows) - .replace(/NUM_SPOT_LIGHT_SHADOWS/g, e.numSpotLightShadows) - .replace(/NUM_POINT_LIGHT_SHADOWS/g, e.numPointLightShadows) - } - function pr(t, e) { - return t - .replace(/NUM_CLIPPING_PLANES/g, e.numClippingPlanes) - .replace(/UNION_CLIPPING_PLANES/g, e.numClippingPlanes - e.numClipIntersection) - } - const mr = /^[ \t]*#include +<([\w\d./]+)>/gm - function fr(t) { - return t.replace(mr, gr) - } - function gr(t, e) { - const n = Bn[e] - if (void 0 === n) throw new Error('Can not resolve #include <' + e + '>') - return fr(n) - } - const vr = - /#pragma unroll_loop[\s]+?for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g, - yr = - /#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 xr(t) { - return t.replace(yr, br).replace(vr, _r) - } - function _r(t, e, n, i) { - return ( - console.warn( - 'WebGLProgram: #pragma unroll_loop shader syntax is deprecated. Please use #pragma unroll_loop_start syntax instead.', - ), - br(t, e, n, i) - ) - } - function br(t, e, n, i) { - let r = '' - for (let s = parseInt(e); s < parseInt(n); s++) - r += i.replace(/\[\s*i\s*\]/g, '[ ' + s + ' ]').replace(/UNROLLED_LOOP_INDEX/g, s) - return r - } - function Mr(t) { - let e = 'precision ' + t.precision + ' float;\nprecision ' + t.precision + ' int;' - return ( - 'highp' === t.precision - ? (e += '\n#define HIGH_PRECISION') - : 'mediump' === t.precision - ? (e += '\n#define MEDIUM_PRECISION') - : 'lowp' === t.precision && (e += '\n#define LOW_PRECISION'), - e - ) - } - function wr(t, e, n, i) { - const r = t.getContext(), - s = n.defines - let a = n.vertexShader, - u = n.fragmentShader - const d = (function (t) { - let e = 'SHADOWMAP_TYPE_BASIC' - return ( - 1 === t.shadowMapType - ? (e = 'SHADOWMAP_TYPE_PCF') - : 2 === t.shadowMapType - ? (e = 'SHADOWMAP_TYPE_PCF_SOFT') - : 3 === t.shadowMapType && (e = 'SHADOWMAP_TYPE_VSM'), - e - ) - })(n), - p = (function (t) { - let e = 'ENVMAP_TYPE_CUBE' - if (t.envMap) - switch (t.envMapMode) { - case o: - case l: - e = 'ENVMAP_TYPE_CUBE' - break - case c: - case h: - e = 'ENVMAP_TYPE_CUBE_UV' - } - return e - })(n), - m = (function (t) { - let e = 'ENVMAP_MODE_REFLECTION' - if (t.envMap) - switch (t.envMapMode) { - case l: - case h: - e = 'ENVMAP_MODE_REFRACTION' - } - return e - })(n), - f = (function (t) { - let e = 'ENVMAP_BLENDING_NONE' - if (t.envMap) - switch (t.combine) { - case 0: - e = 'ENVMAP_BLENDING_MULTIPLY' - break - case 1: - e = 'ENVMAP_BLENDING_MIX' - break - case 2: - e = 'ENVMAP_BLENDING_ADD' - } - return e - })(n), - g = t.gammaFactor > 0 ? t.gammaFactor : 1, - v = n.isWebGL2 - ? '' - : (function (t) { - return [ - t.extensionDerivatives || - t.envMapCubeUV || - t.bumpMap || - t.tangentSpaceNormalMap || - t.clearcoatNormalMap || - t.flatShading || - 'physical' === t.shaderID - ? '#extension GL_OES_standard_derivatives : enable' - : '', - (t.extensionFragDepth || t.logarithmicDepthBuffer) && t.rendererExtensionFragDepth - ? '#extension GL_EXT_frag_depth : enable' - : '', - t.extensionDrawBuffers && t.rendererExtensionDrawBuffers - ? '#extension GL_EXT_draw_buffers : require' - : '', - (t.extensionShaderTextureLOD || t.envMap || t.transmission > 0) && - t.rendererExtensionShaderTextureLod - ? '#extension GL_EXT_shader_texture_lod : enable' - : '', - ] - .filter(ur) - .join('\n') - })(n), - y = (function (t) { - const e = [] - for (const n in t) { - const i = t[n] - !1 !== i && e.push('#define ' + n + ' ' + i) - } - return e.join('\n') - })(s), - x = r.createProgram() - let _, - b, - M = n.glslVersion ? '#version ' + n.glslVersion + '\n' : '' - n.isRawShaderMaterial - ? ((_ = [y].filter(ur).join('\n')), - _.length > 0 && (_ += '\n'), - (b = [v, y].filter(ur).join('\n')), - b.length > 0 && (b += '\n')) - : ((_ = [ - Mr(n), - '#define SHADER_NAME ' + n.shaderName, - y, - n.instancing ? '#define USE_INSTANCING' : '', - n.instancingColor ? '#define USE_INSTANCING_COLOR' : '', - n.supportsVertexTextures ? '#define VERTEX_TEXTURES' : '', - '#define GAMMA_FACTOR ' + g, - '#define MAX_BONES ' + n.maxBones, - n.useFog && n.fog ? '#define USE_FOG' : '', - n.useFog && n.fogExp2 ? '#define FOG_EXP2' : '', - n.map ? '#define USE_MAP' : '', - n.envMap ? '#define USE_ENVMAP' : '', - n.envMap ? '#define ' + m : '', - n.lightMap ? '#define USE_LIGHTMAP' : '', - n.aoMap ? '#define USE_AOMAP' : '', - n.emissiveMap ? '#define USE_EMISSIVEMAP' : '', - n.bumpMap ? '#define USE_BUMPMAP' : '', - n.normalMap ? '#define USE_NORMALMAP' : '', - n.normalMap && n.objectSpaceNormalMap ? '#define OBJECTSPACE_NORMALMAP' : '', - n.normalMap && n.tangentSpaceNormalMap ? '#define TANGENTSPACE_NORMALMAP' : '', - n.clearcoatMap ? '#define USE_CLEARCOATMAP' : '', - n.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '', - n.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '', - n.displacementMap && n.supportsVertexTextures ? '#define USE_DISPLACEMENTMAP' : '', - n.specularMap ? '#define USE_SPECULARMAP' : '', - n.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', - n.metalnessMap ? '#define USE_METALNESSMAP' : '', - n.alphaMap ? '#define USE_ALPHAMAP' : '', - n.transmission ? '#define USE_TRANSMISSION' : '', - n.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '', - n.thicknessMap ? '#define USE_THICKNESSMAP' : '', - n.vertexTangents ? '#define USE_TANGENT' : '', - n.vertexColors ? '#define USE_COLOR' : '', - n.vertexAlphas ? '#define USE_COLOR_ALPHA' : '', - n.vertexUvs ? '#define USE_UV' : '', - n.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '', - n.flatShading ? '#define FLAT_SHADED' : '', - n.skinning ? '#define USE_SKINNING' : '', - n.useVertexTexture ? '#define BONE_TEXTURE' : '', - n.morphTargets ? '#define USE_MORPHTARGETS' : '', - n.morphNormals && !1 === n.flatShading ? '#define USE_MORPHNORMALS' : '', - n.doubleSided ? '#define DOUBLE_SIDED' : '', - n.flipSided ? '#define FLIP_SIDED' : '', - n.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', - n.shadowMapEnabled ? '#define ' + d : '', - n.sizeAttenuation ? '#define USE_SIZEATTENUATION' : '', - n.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', - n.logarithmicDepthBuffer && n.rendererExtensionFragDepth - ? '#define USE_LOGDEPTHBUF_EXT' - : '', - 'uniform mat4 modelMatrix;', - 'uniform mat4 modelViewMatrix;', - 'uniform mat4 projectionMatrix;', - 'uniform mat4 viewMatrix;', - 'uniform mat3 normalMatrix;', - 'uniform vec3 cameraPosition;', - 'uniform bool isOrthographic;', - '#ifdef USE_INSTANCING', - '\tattribute mat4 instanceMatrix;', - '#endif', - '#ifdef USE_INSTANCING_COLOR', - '\tattribute vec3 instanceColor;', - '#endif', - 'attribute vec3 position;', - 'attribute vec3 normal;', - 'attribute vec2 uv;', - '#ifdef USE_TANGENT', - '\tattribute vec4 tangent;', - '#endif', - '#if defined( USE_COLOR_ALPHA )', - '\tattribute vec4 color;', - '#elif defined( USE_COLOR )', - '\tattribute vec3 color;', - '#endif', - '#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(ur) - .join('\n')), - (b = [ - v, - Mr(n), - '#define SHADER_NAME ' + n.shaderName, - y, - n.alphaTest ? '#define ALPHATEST ' + n.alphaTest + (n.alphaTest % 1 ? '' : '.0') : '', - '#define GAMMA_FACTOR ' + g, - n.useFog && n.fog ? '#define USE_FOG' : '', - n.useFog && n.fogExp2 ? '#define FOG_EXP2' : '', - n.map ? '#define USE_MAP' : '', - n.matcap ? '#define USE_MATCAP' : '', - n.envMap ? '#define USE_ENVMAP' : '', - n.envMap ? '#define ' + p : '', - n.envMap ? '#define ' + m : '', - n.envMap ? '#define ' + f : '', - n.lightMap ? '#define USE_LIGHTMAP' : '', - n.aoMap ? '#define USE_AOMAP' : '', - n.emissiveMap ? '#define USE_EMISSIVEMAP' : '', - n.bumpMap ? '#define USE_BUMPMAP' : '', - n.normalMap ? '#define USE_NORMALMAP' : '', - n.normalMap && n.objectSpaceNormalMap ? '#define OBJECTSPACE_NORMALMAP' : '', - n.normalMap && n.tangentSpaceNormalMap ? '#define TANGENTSPACE_NORMALMAP' : '', - n.clearcoatMap ? '#define USE_CLEARCOATMAP' : '', - n.clearcoatRoughnessMap ? '#define USE_CLEARCOAT_ROUGHNESSMAP' : '', - n.clearcoatNormalMap ? '#define USE_CLEARCOAT_NORMALMAP' : '', - n.specularMap ? '#define USE_SPECULARMAP' : '', - n.roughnessMap ? '#define USE_ROUGHNESSMAP' : '', - n.metalnessMap ? '#define USE_METALNESSMAP' : '', - n.alphaMap ? '#define USE_ALPHAMAP' : '', - n.sheen ? '#define USE_SHEEN' : '', - n.transmission ? '#define USE_TRANSMISSION' : '', - n.transmissionMap ? '#define USE_TRANSMISSIONMAP' : '', - n.thicknessMap ? '#define USE_THICKNESSMAP' : '', - n.vertexTangents ? '#define USE_TANGENT' : '', - n.vertexColors || n.instancingColor ? '#define USE_COLOR' : '', - n.vertexAlphas ? '#define USE_COLOR_ALPHA' : '', - n.vertexUvs ? '#define USE_UV' : '', - n.uvsVertexOnly ? '#define UVS_VERTEX_ONLY' : '', - n.gradientMap ? '#define USE_GRADIENTMAP' : '', - n.flatShading ? '#define FLAT_SHADED' : '', - n.doubleSided ? '#define DOUBLE_SIDED' : '', - n.flipSided ? '#define FLIP_SIDED' : '', - n.shadowMapEnabled ? '#define USE_SHADOWMAP' : '', - n.shadowMapEnabled ? '#define ' + d : '', - n.premultipliedAlpha ? '#define PREMULTIPLIED_ALPHA' : '', - n.physicallyCorrectLights ? '#define PHYSICALLY_CORRECT_LIGHTS' : '', - n.logarithmicDepthBuffer ? '#define USE_LOGDEPTHBUF' : '', - n.logarithmicDepthBuffer && n.rendererExtensionFragDepth - ? '#define USE_LOGDEPTHBUF_EXT' - : '', - (n.extensionShaderTextureLOD || n.envMap) && n.rendererExtensionShaderTextureLod - ? '#define TEXTURE_LOD_EXT' - : '', - 'uniform mat4 viewMatrix;', - 'uniform vec3 cameraPosition;', - 'uniform bool isOrthographic;', - 0 !== n.toneMapping ? '#define TONE_MAPPING' : '', - 0 !== n.toneMapping ? Bn.tonemapping_pars_fragment : '', - 0 !== n.toneMapping ? hr('toneMapping', n.toneMapping) : '', - n.dithering ? '#define DITHERING' : '', - Bn.encodings_pars_fragment, - n.map ? lr('mapTexelToLinear', n.mapEncoding) : '', - n.matcap ? lr('matcapTexelToLinear', n.matcapEncoding) : '', - n.envMap ? lr('envMapTexelToLinear', n.envMapEncoding) : '', - n.emissiveMap ? lr('emissiveMapTexelToLinear', n.emissiveMapEncoding) : '', - n.lightMap ? lr('lightMapTexelToLinear', n.lightMapEncoding) : '', - cr('linearToOutputTexel', n.outputEncoding), - n.depthPacking ? '#define DEPTH_PACKING ' + n.depthPacking : '', - '\n', - ] - .filter(ur) - .join('\n'))), - (a = fr(a)), - (a = dr(a, n)), - (a = pr(a, n)), - (u = fr(u)), - (u = dr(u, n)), - (u = pr(u, n)), - (a = xr(a)), - (u = xr(u)), - n.isWebGL2 && - !0 !== n.isRawShaderMaterial && - ((M = '#version 300 es\n'), - (_ = - ['#define attribute in', '#define varying out', '#define texture2D texture'].join( - '\n', - ) + - '\n' + - _), - (b = - [ - '#define varying in', - n.glslVersion === k ? '' : 'out highp vec4 pc_fragColor;', - n.glslVersion === k ? '' : '#define gl_FragColor pc_fragColor', - '#define gl_FragDepthEXT gl_FragDepth', - '#define texture2D texture', - '#define textureCube texture', - '#define texture2DProj textureProj', - '#define texture2DLodEXT textureLod', - '#define texture2DProjLodEXT textureProjLod', - '#define textureCubeLodEXT textureLod', - '#define texture2DGradEXT textureGrad', - '#define texture2DProjGradEXT textureProjGrad', - '#define textureCubeGradEXT textureGrad', - ].join('\n') + - '\n' + - b)) - const w = M + b + u, - S = rr(r, 35633, M + _ + a), - T = rr(r, 35632, w) - if ( - (r.attachShader(x, S), - r.attachShader(x, T), - void 0 !== n.index0AttributeName - ? r.bindAttribLocation(x, 0, n.index0AttributeName) - : !0 === n.morphTargets && r.bindAttribLocation(x, 0, 'position'), - r.linkProgram(x), - t.debug.checkShaderErrors) - ) { - const t = r.getProgramInfoLog(x).trim(), - e = r.getShaderInfoLog(S).trim(), - n = r.getShaderInfoLog(T).trim() - let i = !0, - s = !0 - if (!1 === r.getProgramParameter(x, 35714)) { - i = !1 - const e = or(r, S, 'vertex'), - n = or(r, T, 'fragment') - console.error( - 'THREE.WebGLProgram: shader error: ', - r.getError(), - '35715', - r.getProgramParameter(x, 35715), - 'gl.getProgramInfoLog', - t, - e, - n, - ) - } else - '' !== t - ? console.warn('THREE.WebGLProgram: gl.getProgramInfoLog()', t) - : ('' !== e && '' !== n) || (s = !1) - s && - (this.diagnostics = { - runnable: i, - programLog: t, - vertexShader: { log: e, prefix: _ }, - fragmentShader: { log: n, prefix: b }, - }) - } - let E, L - return ( - r.deleteShader(S), - r.deleteShader(T), - (this.getUniforms = function () { - return void 0 === E && (E = new ir(r, x)), E - }), - (this.getAttributes = function () { - return ( - void 0 === L && - (L = (function (t, e) { - const n = {}, - i = t.getProgramParameter(e, 35721) - for (let r = 0; r < i; r++) { - const i = t.getActiveAttrib(e, r).name - n[i] = t.getAttribLocation(e, i) - } - return n - })(r, x)), - L - ) - }), - (this.destroy = function () { - i.releaseStatesOfProgram(this), r.deleteProgram(x), (this.program = void 0) - }), - (this.name = n.shaderName), - (this.id = sr++), - (this.cacheKey = e), - (this.usedTimes = 1), - (this.program = x), - (this.vertexShader = S), - (this.fragmentShader = T), - this - ) - } - function Sr(t, e, n, i, r, a) { - const o = [], - l = i.isWebGL2, - u = i.logarithmicDepthBuffer, - d = i.floatVertexTextures, - p = i.maxVertexUniforms, - m = i.vertexTextures - let f = i.precision - const g = { - MeshDepthMaterial: 'depth', - MeshDistanceMaterial: 'distanceRGBA', - MeshNormalMaterial: 'normal', - MeshBasicMaterial: 'basic', - MeshLambertMaterial: 'lambert', - MeshPhongMaterial: 'phong', - MeshToonMaterial: 'toon', - MeshStandardMaterial: 'physical', - MeshPhysicalMaterial: 'physical', - MeshMatcapMaterial: 'matcap', - LineBasicMaterial: 'basic', - LineDashedMaterial: 'dashed', - PointsMaterial: 'points', - ShadowMaterial: 'shadow', - SpriteMaterial: 'sprite', - }, - v = [ - 'precision', - 'isWebGL2', - 'supportsVertexTextures', - 'outputEncoding', - 'instancing', - 'instancingColor', - 'map', - 'mapEncoding', - 'matcap', - 'matcapEncoding', - 'envMap', - 'envMapMode', - 'envMapEncoding', - 'envMapCubeUV', - 'lightMap', - 'lightMapEncoding', - 'aoMap', - 'emissiveMap', - 'emissiveMapEncoding', - 'bumpMap', - 'normalMap', - 'objectSpaceNormalMap', - 'tangentSpaceNormalMap', - 'clearcoatMap', - 'clearcoatRoughnessMap', - 'clearcoatNormalMap', - 'displacementMap', - 'specularMap', - 'roughnessMap', - 'metalnessMap', - 'gradientMap', - 'alphaMap', - 'combine', - 'vertexColors', - 'vertexAlphas', - 'vertexTangents', - 'vertexUvs', - 'uvsVertexOnly', - 'fog', - 'useFog', - 'fogExp2', - 'flatShading', - 'sizeAttenuation', - 'logarithmicDepthBuffer', - 'skinning', - 'maxBones', - 'useVertexTexture', - 'morphTargets', - 'morphNormals', - 'premultipliedAlpha', - 'numDirLights', - 'numPointLights', - 'numSpotLights', - 'numHemiLights', - 'numRectAreaLights', - 'numDirLightShadows', - 'numPointLightShadows', - 'numSpotLightShadows', - 'shadowMapEnabled', - 'shadowMapType', - 'toneMapping', - 'physicallyCorrectLights', - 'alphaTest', - 'doubleSided', - 'flipSided', - 'numClippingPlanes', - 'numClipIntersection', - 'depthPacking', - 'dithering', - 'sheen', - 'transmission', - 'transmissionMap', - 'thicknessMap', - ] - function y(t) { - let e - return ( - t && t.isTexture - ? (e = t.encoding) - : t && t.isWebGLRenderTarget - ? (console.warn( - "THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead.", - ), - (e = t.texture.encoding)) - : (e = O), - e - ) - } - return { - getParameters: function (r, o, v, x, _) { - const b = x.fog, - M = r.isMeshStandardMaterial ? x.environment : null, - w = e.get(r.envMap || M), - S = g[r.type], - T = _.isSkinnedMesh - ? (function (t) { - const e = t.skeleton.bones - if (d) return 1024 - { - const t = p, - n = Math.floor((t - 20) / 4), - i = Math.min(n, e.length) - return i < e.length - ? (console.warn( - 'THREE.WebGLRenderer: Skeleton has ' + - e.length + - ' bones. This GPU supports ' + - i + - '.', - ), - 0) - : i - } - })(_) - : 0 - let E, L - if ( - (null !== r.precision && - ((f = i.getMaxPrecision(r.precision)), - f !== r.precision && - console.warn( - 'THREE.WebGLProgram.getParameters:', - r.precision, - 'not supported, using', - f, - 'instead.', - )), - S) - ) { - const t = Un[S] - ;(E = t.vertexShader), (L = t.fragmentShader) - } else (E = r.vertexShader), (L = r.fragmentShader) - const A = t.getRenderTarget() - return { - isWebGL2: l, - shaderID: S, - shaderName: r.type, - vertexShader: E, - fragmentShader: L, - defines: r.defines, - isRawShaderMaterial: !0 === r.isRawShaderMaterial, - glslVersion: r.glslVersion, - precision: f, - instancing: !0 === _.isInstancedMesh, - instancingColor: !0 === _.isInstancedMesh && null !== _.instanceColor, - supportsVertexTextures: m, - outputEncoding: null !== A ? y(A.texture) : t.outputEncoding, - map: !!r.map, - mapEncoding: y(r.map), - matcap: !!r.matcap, - matcapEncoding: y(r.matcap), - envMap: !!w, - envMapMode: w && w.mapping, - envMapEncoding: y(w), - envMapCubeUV: !!w && (w.mapping === c || w.mapping === h), - lightMap: !!r.lightMap, - lightMapEncoding: y(r.lightMap), - aoMap: !!r.aoMap, - emissiveMap: !!r.emissiveMap, - emissiveMapEncoding: y(r.emissiveMap), - bumpMap: !!r.bumpMap, - normalMap: !!r.normalMap, - objectSpaceNormalMap: 1 === r.normalMapType, - tangentSpaceNormalMap: 0 === r.normalMapType, - clearcoatMap: !!r.clearcoatMap, - clearcoatRoughnessMap: !!r.clearcoatRoughnessMap, - clearcoatNormalMap: !!r.clearcoatNormalMap, - displacementMap: !!r.displacementMap, - roughnessMap: !!r.roughnessMap, - metalnessMap: !!r.metalnessMap, - specularMap: !!r.specularMap, - alphaMap: !!r.alphaMap, - gradientMap: !!r.gradientMap, - sheen: !!r.sheen, - transmission: !!r.transmission, - transmissionMap: !!r.transmissionMap, - thicknessMap: !!r.thicknessMap, - combine: r.combine, - vertexTangents: r.normalMap && r.vertexTangents, - vertexColors: r.vertexColors, - vertexAlphas: - !0 === r.vertexColors && - _.geometry && - _.geometry.attributes.color && - 4 === _.geometry.attributes.color.itemSize, - vertexUvs: - !!r.map || - !!r.bumpMap || - !!r.normalMap || - !!r.specularMap || - !!r.alphaMap || - !!r.emissiveMap || - !!r.roughnessMap || - !!r.metalnessMap || - !!r.clearcoatMap || - !!r.clearcoatRoughnessMap || - !!r.clearcoatNormalMap || - !!r.displacementMap || - !!r.transmissionMap || - !!r.thicknessMap, - uvsVertexOnly: - !( - r.map || - r.bumpMap || - r.normalMap || - r.specularMap || - r.alphaMap || - r.emissiveMap || - r.roughnessMap || - r.metalnessMap || - r.clearcoatNormalMap || - r.transmission || - r.transmissionMap || - r.thicknessMap - ) && !!r.displacementMap, - fog: !!b, - useFog: r.fog, - fogExp2: b && b.isFogExp2, - flatShading: !!r.flatShading, - sizeAttenuation: r.sizeAttenuation, - logarithmicDepthBuffer: u, - skinning: !0 === _.isSkinnedMesh && T > 0, - maxBones: T, - useVertexTexture: d, - morphTargets: r.morphTargets, - morphNormals: r.morphNormals, - numDirLights: o.directional.length, - numPointLights: o.point.length, - numSpotLights: o.spot.length, - numRectAreaLights: o.rectArea.length, - numHemiLights: o.hemi.length, - numDirLightShadows: o.directionalShadowMap.length, - numPointLightShadows: o.pointShadowMap.length, - numSpotLightShadows: o.spotShadowMap.length, - numClippingPlanes: a.numPlanes, - numClipIntersection: a.numIntersection, - dithering: r.dithering, - shadowMapEnabled: t.shadowMap.enabled && v.length > 0, - shadowMapType: t.shadowMap.type, - toneMapping: r.toneMapped ? t.toneMapping : 0, - physicallyCorrectLights: t.physicallyCorrectLights, - premultipliedAlpha: r.premultipliedAlpha, - alphaTest: r.alphaTest, - doubleSided: 2 === r.side, - flipSided: r.side === s, - depthPacking: void 0 !== r.depthPacking && r.depthPacking, - index0AttributeName: r.index0AttributeName, - extensionDerivatives: r.extensions && r.extensions.derivatives, - extensionFragDepth: r.extensions && r.extensions.fragDepth, - extensionDrawBuffers: r.extensions && r.extensions.drawBuffers, - extensionShaderTextureLOD: r.extensions && r.extensions.shaderTextureLOD, - rendererExtensionFragDepth: l || n.has('EXT_frag_depth'), - rendererExtensionDrawBuffers: l || n.has('WEBGL_draw_buffers'), - rendererExtensionShaderTextureLod: l || n.has('EXT_shader_texture_lod'), - customProgramCacheKey: r.customProgramCacheKey(), - } - }, - getProgramCacheKey: function (e) { - const n = [] - if ( - (e.shaderID ? n.push(e.shaderID) : (n.push(e.fragmentShader), n.push(e.vertexShader)), - void 0 !== e.defines) - ) - for (const t in e.defines) n.push(t), n.push(e.defines[t]) - if (!1 === e.isRawShaderMaterial) { - for (let t = 0; t < v.length; t++) n.push(e[v[t]]) - n.push(t.outputEncoding), n.push(t.gammaFactor) - } - return n.push(e.customProgramCacheKey), n.join() - }, - getUniforms: function (t) { - const e = g[t.type] - let n - if (e) { - const t = Un[e] - n = xn.clone(t.uniforms) - } else n = t.uniforms - return n - }, - acquireProgram: function (e, n) { - let i - for (let t = 0, r = o.length; t < r; t++) { - const e = o[t] - if (e.cacheKey === n) { - ;(i = e), ++i.usedTimes - break - } - } - return void 0 === i && ((i = new wr(t, n, e, r)), o.push(i)), i - }, - releaseProgram: function (t) { - if (0 === --t.usedTimes) { - const e = o.indexOf(t) - ;(o[e] = o[o.length - 1]), o.pop(), t.destroy() - } - }, - programs: o, - } - } - function Tr() { - let t = new WeakMap() - return { - get: function (e) { - let n = t.get(e) - return void 0 === n && ((n = {}), t.set(e, n)), n - }, - remove: function (e) { - t.delete(e) - }, - update: function (e, n, i) { - t.get(e)[n] = i - }, - dispose: function () { - t = new WeakMap() - }, - } - } - function Er(t, e) { - return t.groupOrder !== e.groupOrder - ? t.groupOrder - e.groupOrder - : t.renderOrder !== e.renderOrder - ? t.renderOrder - e.renderOrder - : t.program !== e.program - ? t.program.id - e.program.id - : t.material.id !== e.material.id - ? t.material.id - e.material.id - : t.z !== e.z - ? t.z - e.z - : t.id - e.id - } - function Lr(t, e) { - return t.groupOrder !== e.groupOrder - ? t.groupOrder - e.groupOrder - : t.renderOrder !== e.renderOrder - ? t.renderOrder - e.renderOrder - : t.z !== e.z - ? e.z - t.z - : t.id - e.id - } - function Ar(t) { - const e = [] - let n = 0 - const i = [], - r = [], - s = [], - a = { id: -1 } - function o(i, r, s, o, l, c) { - let h = e[n] - const u = t.get(s) - return ( - void 0 === h - ? ((h = { - id: i.id, - object: i, - geometry: r, - material: s, - program: u.program || a, - groupOrder: o, - renderOrder: i.renderOrder, - z: l, - group: c, - }), - (e[n] = h)) - : ((h.id = i.id), - (h.object = i), - (h.geometry = r), - (h.material = s), - (h.program = u.program || a), - (h.groupOrder = o), - (h.renderOrder = i.renderOrder), - (h.z = l), - (h.group = c)), - n++, - h - ) - } - return { - opaque: i, - transmissive: r, - transparent: s, - init: function () { - ;(n = 0), (i.length = 0), (r.length = 0), (s.length = 0) - }, - push: function (t, e, n, a, l, c) { - const h = o(t, e, n, a, l, c) - n.transmission > 0 ? r.push(h) : !0 === n.transparent ? s.push(h) : i.push(h) - }, - unshift: function (t, e, n, a, l, c) { - const h = o(t, e, n, a, l, c) - n.transmission > 0 ? r.unshift(h) : !0 === n.transparent ? s.unshift(h) : i.unshift(h) - }, - finish: function () { - for (let t = n, i = e.length; t < i; t++) { - const n = e[t] - if (null === n.id) break - ;(n.id = null), - (n.object = null), - (n.geometry = null), - (n.material = null), - (n.program = null), - (n.group = null) - } - }, - sort: function (t, e) { - i.length > 1 && i.sort(t || Er), - r.length > 1 && r.sort(e || Lr), - s.length > 1 && s.sort(e || Lr) - }, - } - } - function Rr(t) { - let e = new WeakMap() - return { - get: function (n, i) { - let r - return ( - !1 === e.has(n) - ? ((r = new Ar(t)), e.set(n, [r])) - : i >= e.get(n).length - ? ((r = new Ar(t)), e.get(n).push(r)) - : (r = e.get(n)[i]), - r - ) - }, - dispose: function () { - e = new WeakMap() - }, - } - } - function Cr() { - const t = {} - return { - get: function (e) { - if (void 0 !== t[e.id]) return t[e.id] - let n - switch (e.type) { - case 'DirectionalLight': - n = { direction: new ut(), color: new Ie() } - break - case 'SpotLight': - n = { - position: new ut(), - direction: new ut(), - color: new Ie(), - distance: 0, - coneCos: 0, - penumbraCos: 0, - decay: 0, - } - break - case 'PointLight': - n = { position: new ut(), color: new Ie(), distance: 0, decay: 0 } - break - case 'HemisphereLight': - n = { direction: new ut(), skyColor: new Ie(), groundColor: new Ie() } - break - case 'RectAreaLight': - n = { - color: new Ie(), - position: new ut(), - halfWidth: new ut(), - halfHeight: new ut(), - } - } - return (t[e.id] = n), n - }, - } - } - let Pr = 0 - function Dr(t, e) { - return (e.castShadow ? 1 : 0) - (t.castShadow ? 1 : 0) - } - function Ir(t, e) { - const n = new Cr(), - i = (function () { - const t = {} - return { - get: function (e) { - if (void 0 !== t[e.id]) return t[e.id] - let n - switch (e.type) { - case 'DirectionalLight': - case 'SpotLight': - n = { - shadowBias: 0, - shadowNormalBias: 0, - shadowRadius: 1, - shadowMapSize: new tt(), - } - break - case 'PointLight': - n = { - shadowBias: 0, - shadowNormalBias: 0, - shadowRadius: 1, - shadowMapSize: new tt(), - shadowCameraNear: 1, - shadowCameraFar: 1e3, - } - } - return (t[e.id] = n), n - }, - } - })(), - r = { - 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 l = 0; l < 9; l++) r.probe.push(new ut()) - const s = new ut(), - a = new Vt(), - o = new Vt() - return { - setup: function (s) { - let a = 0, - o = 0, - l = 0 - for (let t = 0; t < 9; t++) r.probe[t].set(0, 0, 0) - let c = 0, - h = 0, - u = 0, - d = 0, - p = 0, - m = 0, - f = 0, - g = 0 - s.sort(Dr) - for (let t = 0, e = s.length; t < e; t++) { - const e = s[t], - v = e.color, - y = e.intensity, - x = e.distance, - _ = e.shadow && e.shadow.map ? e.shadow.map.texture : null - if (e.isAmbientLight) (a += v.r * y), (o += v.g * y), (l += v.b * y) - else if (e.isLightProbe) - for (let t = 0; t < 9; t++) r.probe[t].addScaledVector(e.sh.coefficients[t], y) - else if (e.isDirectionalLight) { - const t = n.get(e) - if ((t.color.copy(e.color).multiplyScalar(e.intensity), e.castShadow)) { - const t = e.shadow, - n = i.get(e) - ;(n.shadowBias = t.bias), - (n.shadowNormalBias = t.normalBias), - (n.shadowRadius = t.radius), - (n.shadowMapSize = t.mapSize), - (r.directionalShadow[c] = n), - (r.directionalShadowMap[c] = _), - (r.directionalShadowMatrix[c] = e.shadow.matrix), - m++ - } - ;(r.directional[c] = t), c++ - } else if (e.isSpotLight) { - const t = n.get(e) - if ( - (t.position.setFromMatrixPosition(e.matrixWorld), - t.color.copy(v).multiplyScalar(y), - (t.distance = x), - (t.coneCos = Math.cos(e.angle)), - (t.penumbraCos = Math.cos(e.angle * (1 - e.penumbra))), - (t.decay = e.decay), - e.castShadow) - ) { - const t = e.shadow, - n = i.get(e) - ;(n.shadowBias = t.bias), - (n.shadowNormalBias = t.normalBias), - (n.shadowRadius = t.radius), - (n.shadowMapSize = t.mapSize), - (r.spotShadow[u] = n), - (r.spotShadowMap[u] = _), - (r.spotShadowMatrix[u] = e.shadow.matrix), - g++ - } - ;(r.spot[u] = t), u++ - } else if (e.isRectAreaLight) { - const t = n.get(e) - t.color.copy(v).multiplyScalar(y), - t.halfWidth.set(0.5 * e.width, 0, 0), - t.halfHeight.set(0, 0.5 * e.height, 0), - (r.rectArea[d] = t), - d++ - } else if (e.isPointLight) { - const t = n.get(e) - if ( - (t.color.copy(e.color).multiplyScalar(e.intensity), - (t.distance = e.distance), - (t.decay = e.decay), - e.castShadow) - ) { - const t = e.shadow, - n = i.get(e) - ;(n.shadowBias = t.bias), - (n.shadowNormalBias = t.normalBias), - (n.shadowRadius = t.radius), - (n.shadowMapSize = t.mapSize), - (n.shadowCameraNear = t.camera.near), - (n.shadowCameraFar = t.camera.far), - (r.pointShadow[h] = n), - (r.pointShadowMap[h] = _), - (r.pointShadowMatrix[h] = e.shadow.matrix), - f++ - } - ;(r.point[h] = t), h++ - } else if (e.isHemisphereLight) { - const t = n.get(e) - t.skyColor.copy(e.color).multiplyScalar(y), - t.groundColor.copy(e.groundColor).multiplyScalar(y), - (r.hemi[p] = t), - p++ - } - } - d > 0 && - (e.isWebGL2 || !0 === t.has('OES_texture_float_linear') - ? ((r.rectAreaLTC1 = Fn.LTC_FLOAT_1), (r.rectAreaLTC2 = Fn.LTC_FLOAT_2)) - : !0 === t.has('OES_texture_half_float_linear') - ? ((r.rectAreaLTC1 = Fn.LTC_HALF_1), (r.rectAreaLTC2 = Fn.LTC_HALF_2)) - : console.error( - 'THREE.WebGLRenderer: Unable to use RectAreaLight. Missing WebGL extensions.', - )), - (r.ambient[0] = a), - (r.ambient[1] = o), - (r.ambient[2] = l) - const v = r.hash - ;(v.directionalLength === c && - v.pointLength === h && - v.spotLength === u && - v.rectAreaLength === d && - v.hemiLength === p && - v.numDirectionalShadows === m && - v.numPointShadows === f && - v.numSpotShadows === g) || - ((r.directional.length = c), - (r.spot.length = u), - (r.rectArea.length = d), - (r.point.length = h), - (r.hemi.length = p), - (r.directionalShadow.length = m), - (r.directionalShadowMap.length = m), - (r.pointShadow.length = f), - (r.pointShadowMap.length = f), - (r.spotShadow.length = g), - (r.spotShadowMap.length = g), - (r.directionalShadowMatrix.length = m), - (r.pointShadowMatrix.length = f), - (r.spotShadowMatrix.length = g), - (v.directionalLength = c), - (v.pointLength = h), - (v.spotLength = u), - (v.rectAreaLength = d), - (v.hemiLength = p), - (v.numDirectionalShadows = m), - (v.numPointShadows = f), - (v.numSpotShadows = g), - (r.version = Pr++)) - }, - setupView: function (t, e) { - let n = 0, - i = 0, - l = 0, - c = 0, - h = 0 - const u = e.matrixWorldInverse - for (let d = 0, p = t.length; d < p; d++) { - const e = t[d] - if (e.isDirectionalLight) { - const t = r.directional[n] - t.direction.setFromMatrixPosition(e.matrixWorld), - s.setFromMatrixPosition(e.target.matrixWorld), - t.direction.sub(s), - t.direction.transformDirection(u), - n++ - } else if (e.isSpotLight) { - const t = r.spot[l] - t.position.setFromMatrixPosition(e.matrixWorld), - t.position.applyMatrix4(u), - t.direction.setFromMatrixPosition(e.matrixWorld), - s.setFromMatrixPosition(e.target.matrixWorld), - t.direction.sub(s), - t.direction.transformDirection(u), - l++ - } else if (e.isRectAreaLight) { - const t = r.rectArea[c] - t.position.setFromMatrixPosition(e.matrixWorld), - t.position.applyMatrix4(u), - o.identity(), - a.copy(e.matrixWorld), - a.premultiply(u), - o.extractRotation(a), - t.halfWidth.set(0.5 * e.width, 0, 0), - t.halfHeight.set(0, 0.5 * e.height, 0), - t.halfWidth.applyMatrix4(o), - t.halfHeight.applyMatrix4(o), - c++ - } else if (e.isPointLight) { - const t = r.point[i] - t.position.setFromMatrixPosition(e.matrixWorld), t.position.applyMatrix4(u), i++ - } else if (e.isHemisphereLight) { - const t = r.hemi[h] - t.direction.setFromMatrixPosition(e.matrixWorld), - t.direction.transformDirection(u), - t.direction.normalize(), - h++ - } - } - }, - state: r, - } - } - function Nr(t, e) { - const n = new Ir(t, e), - i = [], - r = [] - return { - init: function () { - ;(i.length = 0), (r.length = 0) - }, - state: { lightsArray: i, shadowsArray: r, lights: n }, - setupLights: function () { - n.setup(i) - }, - setupLightsView: function (t) { - n.setupView(i, t) - }, - pushLight: function (t) { - i.push(t) - }, - pushShadow: function (t) { - r.push(t) - }, - } - } - function zr(t, e) { - let n = new WeakMap() - return { - get: function (i, r = 0) { - let s - return ( - !1 === n.has(i) - ? ((s = new Nr(t, e)), n.set(i, [s])) - : r >= n.get(i).length - ? ((s = new Nr(t, e)), n.get(i).push(s)) - : (s = n.get(i)[r]), - s - ) - }, - dispose: function () { - n = new WeakMap() - }, - } - } - class Or extends Ee { - constructor(t) { - super(), - (this.type = 'MeshDepthMaterial'), - (this.depthPacking = 3200), - (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(t) - } - copy(t) { - return ( - super.copy(t), - (this.depthPacking = t.depthPacking), - (this.morphTargets = t.morphTargets), - (this.map = t.map), - (this.alphaMap = t.alphaMap), - (this.displacementMap = t.displacementMap), - (this.displacementScale = t.displacementScale), - (this.displacementBias = t.displacementBias), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - this - ) - } - } - Or.prototype.isMeshDepthMaterial = !0 - class Br extends Ee { - constructor(t) { - super(), - (this.type = 'MeshDistanceMaterial'), - (this.referencePosition = new ut()), - (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(t) - } - copy(t) { - return ( - super.copy(t), - this.referencePosition.copy(t.referencePosition), - (this.nearDistance = t.nearDistance), - (this.farDistance = t.farDistance), - (this.morphTargets = t.morphTargets), - (this.map = t.map), - (this.alphaMap = t.alphaMap), - (this.displacementMap = t.displacementMap), - (this.displacementScale = t.displacementScale), - (this.displacementBias = t.displacementBias), - this - ) - } - } - Br.prototype.isMeshDistanceMaterial = !0 - function Fr(t, e, n) { - let i = new In() - const r = new tt(), - a = new tt(), - o = new ot(), - l = [], - c = [], - h = {}, - u = n.maxTextureSize, - d = { 0: s, 1: 0, 2: 2 }, - p = new _n({ - defines: { SAMPLE_RATE: 2 / 8, HALF_SAMPLE_RATE: 1 / 8 }, - uniforms: { - shadow_pass: { value: null }, - resolution: { value: new tt() }, - 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 <packing>\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}', - }), - f = p.clone() - f.defines.HORIZONTAL_PASS = 1 - const g = new Je() - g.setAttribute( - 'position', - new Be(new Float32Array([-1, -1, 0.5, 3, -1, 0.5, -1, 3, 0.5]), 3), - ) - const y = new mn(g, p), - x = this - function _(n, i) { - const r = e.update(y) - ;(p.uniforms.shadow_pass.value = n.map.texture), - (p.uniforms.resolution.value = n.mapSize), - (p.uniforms.radius.value = n.radius), - t.setRenderTarget(n.mapPass), - t.clear(), - t.renderBufferDirect(i, null, r, p, y, null), - (f.uniforms.shadow_pass.value = n.mapPass.texture), - (f.uniforms.resolution.value = n.mapSize), - (f.uniforms.radius.value = n.radius), - t.setRenderTarget(n.map), - t.clear(), - t.renderBufferDirect(i, null, r, f, y, null) - } - function b(t) { - const e = t << 0 - let n = l[e] - return ( - void 0 === n && ((n = new Or({ depthPacking: 3201, morphTargets: t })), (l[e] = n)), n - ) - } - function M(t) { - const e = t << 0 - let n = c[e] - return void 0 === n && ((n = new Br({ morphTargets: t })), (c[e] = n)), n - } - function w(e, n, i, r, s, a, o) { - let l = null, - c = b, - u = e.customDepthMaterial - if ((!0 === r.isPointLight && ((c = M), (u = e.customDistanceMaterial)), void 0 === u)) { - let t = !1 - !0 === i.morphTargets && - (t = - n.morphAttributes && - n.morphAttributes.position && - n.morphAttributes.position.length > 0), - (l = c(t)) - } else l = u - if (t.localClippingEnabled && !0 === i.clipShadows && 0 !== i.clippingPlanes.length) { - const t = l.uuid, - e = i.uuid - let n = h[t] - void 0 === n && ((n = {}), (h[t] = n)) - let r = n[e] - void 0 === r && ((r = l.clone()), (n[e] = r)), (l = r) - } - return ( - (l.visible = i.visible), - (l.wireframe = i.wireframe), - (l.side = - 3 === o - ? null !== i.shadowSide - ? i.shadowSide - : i.side - : null !== i.shadowSide - ? i.shadowSide - : d[i.side]), - (l.clipShadows = i.clipShadows), - (l.clippingPlanes = i.clippingPlanes), - (l.clipIntersection = i.clipIntersection), - (l.wireframeLinewidth = i.wireframeLinewidth), - (l.linewidth = i.linewidth), - !0 === r.isPointLight && - !0 === l.isMeshDistanceMaterial && - (l.referencePosition.setFromMatrixPosition(r.matrixWorld), - (l.nearDistance = s), - (l.farDistance = a)), - l - ) - } - function S(n, r, s, a, o) { - if (!1 === n.visible) return - if ( - n.layers.test(r.layers) && - (n.isMesh || n.isLine || n.isPoints) && - (n.castShadow || (n.receiveShadow && 3 === o)) && - (!n.frustumCulled || i.intersectsObject(n)) - ) { - n.modelViewMatrix.multiplyMatrices(s.matrixWorldInverse, n.matrixWorld) - const i = e.update(n), - r = n.material - if (Array.isArray(r)) { - const e = i.groups - for (let l = 0, c = e.length; l < c; l++) { - const c = e[l], - h = r[c.materialIndex] - if (h && h.visible) { - const e = w(n, i, h, a, s.near, s.far, o) - t.renderBufferDirect(s, null, i, e, n, c) - } - } - } else if (r.visible) { - const e = w(n, i, r, a, s.near, s.far, o) - t.renderBufferDirect(s, null, i, e, n, null) - } - } - const l = n.children - for (let t = 0, e = l.length; t < e; t++) S(l[t], r, s, a, o) - } - ;(this.enabled = !1), - (this.autoUpdate = !0), - (this.needsUpdate = !1), - (this.type = 1), - (this.render = function (e, n, s) { - if (!1 === x.enabled) return - if (!1 === x.autoUpdate && !1 === x.needsUpdate) return - if (0 === e.length) return - const l = t.getRenderTarget(), - c = t.getActiveCubeFace(), - h = t.getActiveMipmapLevel(), - d = t.state - d.setBlending(0), - d.buffers.color.setClear(1, 1, 1, 1), - d.buffers.depth.setTest(!0), - d.setScissorTest(!1) - for (let p = 0, f = e.length; p < f; p++) { - const l = e[p], - c = l.shadow - if (void 0 === c) { - console.warn('THREE.WebGLShadowMap:', l, 'has no shadow.') - continue - } - if (!1 === c.autoUpdate && !1 === c.needsUpdate) continue - r.copy(c.mapSize) - const h = c.getFrameExtents() - if ( - (r.multiply(h), - a.copy(c.mapSize), - (r.x > u || r.y > u) && - (r.x > u && ((a.x = Math.floor(u / h.x)), (r.x = a.x * h.x), (c.mapSize.x = a.x)), - r.y > u && ((a.y = Math.floor(u / h.y)), (r.y = a.y * h.y), (c.mapSize.y = a.y))), - null === c.map && !c.isPointLightShadow && 3 === this.type) - ) { - const t = { minFilter: v, magFilter: v, format: E } - ;(c.map = new lt(r.x, r.y, t)), - (c.map.texture.name = l.name + '.shadowMap'), - (c.mapPass = new lt(r.x, r.y, t)), - c.camera.updateProjectionMatrix() - } - if (null === c.map) { - const t = { minFilter: m, magFilter: m, format: E } - ;(c.map = new lt(r.x, r.y, t)), - (c.map.texture.name = l.name + '.shadowMap'), - c.camera.updateProjectionMatrix() - } - t.setRenderTarget(c.map), t.clear() - const f = c.getViewportCount() - for (let t = 0; t < f; t++) { - const e = c.getViewport(t) - o.set(a.x * e.x, a.y * e.y, a.x * e.z, a.y * e.w), - d.viewport(o), - c.updateMatrices(l, t), - (i = c.getFrustum()), - S(n, s, c.camera, l, this.type) - } - c.isPointLightShadow || 3 !== this.type || _(c, s), (c.needsUpdate = !1) - } - ;(x.needsUpdate = !1), t.setRenderTarget(l, c, h) - }) - } - function Ur(t, e, n) { - const i = n.isWebGL2 - const r = new (function () { - let e = !1 - const n = new ot() - let i = null - const r = new ot(0, 0, 0, 0) - return { - setMask: function (n) { - i === n || e || (t.colorMask(n, n, n, n), (i = n)) - }, - setLocked: function (t) { - e = t - }, - setClear: function (e, i, s, a, o) { - !0 === o && ((e *= a), (i *= a), (s *= a)), - n.set(e, i, s, a), - !1 === r.equals(n) && (t.clearColor(e, i, s, a), r.copy(n)) - }, - reset: function () { - ;(e = !1), (i = null), r.set(-1, 0, 0, 0) - }, - } - })(), - o = new (function () { - let e = !1, - n = null, - i = null, - r = null - return { - setTest: function (t) { - t ? U(2929) : H(2929) - }, - setMask: function (i) { - n === i || e || (t.depthMask(i), (n = i)) - }, - setFunc: function (e) { - if (i !== e) { - if (e) - switch (e) { - case 0: - t.depthFunc(512) - break - case 1: - t.depthFunc(519) - break - case 2: - t.depthFunc(513) - break - case 3: - t.depthFunc(515) - break - case 4: - t.depthFunc(514) - break - case 5: - t.depthFunc(518) - break - case 6: - t.depthFunc(516) - break - case 7: - t.depthFunc(517) - break - default: - t.depthFunc(515) - } - else t.depthFunc(515) - i = e - } - }, - setLocked: function (t) { - e = t - }, - setClear: function (e) { - r !== e && (t.clearDepth(e), (r = e)) - }, - reset: function () { - ;(e = !1), (n = null), (i = null), (r = null) - }, - } - })(), - l = new (function () { - let e = !1, - n = null, - i = null, - r = null, - s = null, - a = null, - o = null, - l = null, - c = null - return { - setTest: function (t) { - e || (t ? U(2960) : H(2960)) - }, - setMask: function (i) { - n === i || e || (t.stencilMask(i), (n = i)) - }, - setFunc: function (e, n, a) { - ;(i === e && r === n && s === a) || - (t.stencilFunc(e, n, a), (i = e), (r = n), (s = a)) - }, - setOp: function (e, n, i) { - ;(a === e && o === n && l === i) || - (t.stencilOp(e, n, i), (a = e), (o = n), (l = i)) - }, - setLocked: function (t) { - e = t - }, - setClear: function (e) { - c !== e && (t.clearStencil(e), (c = e)) - }, - reset: function () { - ;(e = !1), - (n = null), - (i = null), - (r = null), - (s = null), - (a = null), - (o = null), - (l = null), - (c = null) - }, - } - })() - let c = {}, - h = null, - u = {}, - d = null, - p = !1, - m = null, - f = null, - g = null, - v = null, - y = null, - x = null, - _ = null, - b = !1, - M = null, - w = null, - S = null, - T = null, - E = null - const L = t.getParameter(35661) - let A = !1, - R = 0 - const C = t.getParameter(7938) - ;-1 !== C.indexOf('WebGL') - ? ((R = parseFloat(/^WebGL (\d)/.exec(C)[1])), (A = R >= 1)) - : -1 !== C.indexOf('OpenGL ES') && - ((R = parseFloat(/^OpenGL ES (\d)/.exec(C)[1])), (A = R >= 2)) - let P = null, - D = {} - const I = t.getParameter(3088), - N = t.getParameter(2978), - z = new ot().fromArray(I), - O = new ot().fromArray(N) - function B(e, n, i) { - const r = new Uint8Array(4), - s = t.createTexture() - t.bindTexture(e, s), t.texParameteri(e, 10241, 9728), t.texParameteri(e, 10240, 9728) - for (let a = 0; a < i; a++) t.texImage2D(n + a, 0, 6408, 1, 1, 0, 6408, 5121, r) - return s - } - const F = {} - function U(e) { - !0 !== c[e] && (t.enable(e), (c[e] = !0)) - } - function H(e) { - !1 !== c[e] && (t.disable(e), (c[e] = !1)) - } - ;(F[3553] = B(3553, 3553, 1)), - (F[34067] = B(34067, 34069, 6)), - r.setClear(0, 0, 0, 1), - o.setClear(1), - l.setClear(0), - U(2929), - o.setFunc(3), - W(!1), - j(1), - U(2884), - k(0) - const G = { [a]: 32774, 101: 32778, 102: 32779 } - if (i) (G[103] = 32775), (G[104] = 32776) - else { - const t = e.get('EXT_blend_minmax') - null !== t && ((G[103] = t.MIN_EXT), (G[104] = t.MAX_EXT)) - } - const V = { - 200: 0, - 201: 1, - 202: 768, - 204: 770, - 210: 776, - 208: 774, - 206: 772, - 203: 769, - 205: 771, - 209: 775, - 207: 773, - } - function k(e, n, i, r, s, o, l, c) { - if (0 !== e) { - if ((!1 === p && (U(3042), (p = !0)), 5 === e)) - (s = s || n), - (o = o || i), - (l = l || r), - (n === f && s === y) || (t.blendEquationSeparate(G[n], G[s]), (f = n), (y = s)), - (i === g && r === v && o === x && l === _) || - (t.blendFuncSeparate(V[i], V[r], V[o], V[l]), (g = i), (v = r), (x = o), (_ = l)), - (m = e), - (b = null) - else if (e !== m || c !== b) { - if (((f === a && y === a) || (t.blendEquation(32774), (f = a), (y = a)), c)) - switch (e) { - case 1: - t.blendFuncSeparate(1, 771, 1, 771) - break - case 2: - t.blendFunc(1, 1) - break - case 3: - t.blendFuncSeparate(0, 0, 769, 771) - break - case 4: - t.blendFuncSeparate(0, 768, 0, 770) - break - default: - console.error('THREE.WebGLState: Invalid blending: ', e) - } - else - switch (e) { - case 1: - t.blendFuncSeparate(770, 771, 1, 771) - break - case 2: - t.blendFunc(770, 1) - break - case 3: - t.blendFunc(0, 769) - break - case 4: - t.blendFunc(0, 768) - break - default: - console.error('THREE.WebGLState: Invalid blending: ', e) - } - ;(g = null), (v = null), (x = null), (_ = null), (m = e), (b = c) - } - } else !0 === p && (H(3042), (p = !1)) - } - function W(e) { - M !== e && (e ? t.frontFace(2304) : t.frontFace(2305), (M = e)) - } - function j(e) { - 0 !== e - ? (U(2884), - e !== w && - (1 === e ? t.cullFace(1029) : 2 === e ? t.cullFace(1028) : t.cullFace(1032))) - : H(2884), - (w = e) - } - function q(e, n, i) { - e - ? (U(32823), (T === n && E === i) || (t.polygonOffset(n, i), (T = n), (E = i))) - : H(32823) - } - function X(e) { - void 0 === e && (e = 33984 + L - 1), P !== e && (t.activeTexture(e), (P = e)) - } - return { - buffers: { color: r, depth: o, stencil: l }, - enable: U, - disable: H, - bindFramebuffer: function (e, n) { - return ( - null === n && null !== h && (n = h), - u[e] !== n && - (t.bindFramebuffer(e, n), - (u[e] = n), - i && (36009 === e && (u[36160] = n), 36160 === e && (u[36009] = n)), - !0) - ) - }, - bindXRFramebuffer: function (e) { - e !== h && (t.bindFramebuffer(36160, e), (h = e)) - }, - useProgram: function (e) { - return d !== e && (t.useProgram(e), (d = e), !0) - }, - setBlending: k, - setMaterial: function (t, e) { - 2 === t.side ? H(2884) : U(2884) - let n = t.side === s - e && (n = !n), - W(n), - 1 === t.blending && !1 === t.transparent - ? k(0) - : k( - t.blending, - t.blendEquation, - t.blendSrc, - t.blendDst, - t.blendEquationAlpha, - t.blendSrcAlpha, - t.blendDstAlpha, - t.premultipliedAlpha, - ), - o.setFunc(t.depthFunc), - o.setTest(t.depthTest), - o.setMask(t.depthWrite), - r.setMask(t.colorWrite) - const i = t.stencilWrite - l.setTest(i), - i && - (l.setMask(t.stencilWriteMask), - l.setFunc(t.stencilFunc, t.stencilRef, t.stencilFuncMask), - l.setOp(t.stencilFail, t.stencilZFail, t.stencilZPass)), - q(t.polygonOffset, t.polygonOffsetFactor, t.polygonOffsetUnits), - !0 === t.alphaToCoverage ? U(32926) : H(32926) - }, - setFlipSided: W, - setCullFace: j, - setLineWidth: function (e) { - e !== S && (A && t.lineWidth(e), (S = e)) - }, - setPolygonOffset: q, - setScissorTest: function (t) { - t ? U(3089) : H(3089) - }, - activeTexture: X, - bindTexture: function (e, n) { - null === P && X() - let i = D[P] - void 0 === i && ((i = { type: void 0, texture: void 0 }), (D[P] = i)), - (i.type === e && i.texture === n) || - (t.bindTexture(e, n || F[e]), (i.type = e), (i.texture = n)) - }, - unbindTexture: function () { - const e = D[P] - void 0 !== e && - void 0 !== e.type && - (t.bindTexture(e.type, null), (e.type = void 0), (e.texture = void 0)) - }, - compressedTexImage2D: function () { - try { - t.compressedTexImage2D.apply(t, arguments) - } catch (e) { - console.error('THREE.WebGLState:', e) - } - }, - texImage2D: function () { - try { - t.texImage2D.apply(t, arguments) - } catch (e) { - console.error('THREE.WebGLState:', e) - } - }, - texImage3D: function () { - try { - t.texImage3D.apply(t, arguments) - } catch (e) { - console.error('THREE.WebGLState:', e) - } - }, - scissor: function (e) { - !1 === z.equals(e) && (t.scissor(e.x, e.y, e.z, e.w), z.copy(e)) - }, - viewport: function (e) { - !1 === O.equals(e) && (t.viewport(e.x, e.y, e.z, e.w), O.copy(e)) - }, - reset: function () { - t.disable(3042), - t.disable(2884), - t.disable(2929), - t.disable(32823), - t.disable(3089), - t.disable(2960), - t.disable(32926), - t.blendEquation(32774), - t.blendFunc(1, 0), - t.blendFuncSeparate(1, 0, 1, 0), - t.colorMask(!0, !0, !0, !0), - t.clearColor(0, 0, 0, 0), - t.depthMask(!0), - t.depthFunc(513), - t.clearDepth(1), - t.stencilMask(4294967295), - t.stencilFunc(519, 0, 4294967295), - t.stencilOp(7680, 7680, 7680), - t.clearStencil(0), - t.cullFace(1029), - t.frontFace(2305), - t.polygonOffset(0, 0), - t.activeTexture(33984), - t.bindFramebuffer(36160, null), - !0 === i && (t.bindFramebuffer(36009, null), t.bindFramebuffer(36008, null)), - t.useProgram(null), - t.lineWidth(1), - t.scissor(0, 0, t.canvas.width, t.canvas.height), - t.viewport(0, 0, t.canvas.width, t.canvas.height), - (c = {}), - (P = null), - (D = {}), - (h = null), - (u = {}), - (d = null), - (p = !1), - (m = null), - (f = null), - (g = null), - (v = null), - (y = null), - (x = null), - (_ = null), - (b = !1), - (M = null), - (w = null), - (S = null), - (T = null), - (E = null), - z.set(0, 0, t.canvas.width, t.canvas.height), - O.set(0, 0, t.canvas.width, t.canvas.height), - r.reset(), - o.reset(), - l.reset() - }, - } - } - function Hr(t, e, n, i, r, s, a) { - const o = r.isWebGL2, - l = r.maxTextures, - c = r.maxCubemapSize, - h = r.maxTextureSize, - x = r.maxSamples, - R = new WeakMap() - let C, - P = !1 - try { - P = - 'undefined' !== typeof OffscreenCanvas && - null !== new OffscreenCanvas(1, 1).getContext('2d') - } catch (it) {} - function D(t, e) { - return P - ? new OffscreenCanvas(t, e) - : document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas') - } - function I(t, e, n, i) { - let r = 1 - if ( - ((t.width > i || t.height > i) && (r = i / Math.max(t.width, t.height)), - r < 1 || !0 === e) - ) { - if ( - ('undefined' !== typeof HTMLImageElement && t instanceof HTMLImageElement) || - ('undefined' !== typeof HTMLCanvasElement && t instanceof HTMLCanvasElement) || - ('undefined' !== typeof ImageBitmap && t instanceof ImageBitmap) - ) { - const i = e ? $ : Math.floor, - s = i(r * t.width), - a = i(r * t.height) - void 0 === C && (C = D(s, a)) - const o = n ? D(s, a) : C - ;(o.width = s), (o.height = a) - return ( - o.getContext('2d').drawImage(t, 0, 0, s, a), - console.warn( - 'THREE.WebGLRenderer: Texture has been resized from (' + - t.width + - 'x' + - t.height + - ') to (' + - s + - 'x' + - a + - ').', - ), - o - ) - } - return ( - 'data' in t && - console.warn( - 'THREE.WebGLRenderer: Image in DataTexture is too big (' + - t.width + - 'x' + - t.height + - ').', - ), - t - ) - } - return t - } - function N(t) { - return K(t.width) && K(t.height) - } - function z(t, e) { - return t.generateMipmaps && e && t.minFilter !== m && t.minFilter !== v - } - function O(e, n, r, s, a = 1) { - t.generateMipmap(e) - i.get(n).__maxMipLevel = Math.log2(Math.max(r, s, a)) - } - function B(n, i, r) { - if (!1 === o) return i - if (null !== n) { - if (void 0 !== t[n]) return t[n] - console.warn( - "THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '" + n + "'", - ) - } - let s = i - return ( - 6403 === i && - (5126 === r && (s = 33326), 5131 === r && (s = 33325), 5121 === r && (s = 33321)), - 6407 === i && - (5126 === r && (s = 34837), 5131 === r && (s = 34843), 5121 === r && (s = 32849)), - 6408 === i && - (5126 === r && (s = 34836), 5131 === r && (s = 34842), 5121 === r && (s = 32856)), - (33325 !== s && 33326 !== s && 34842 !== s && 34836 !== s) || - e.get('EXT_color_buffer_float'), - s - ) - } - function F(t) { - return t === m || t === f || t === g ? 9728 : 9729 - } - function U(e) { - const n = e.target - n.removeEventListener('dispose', U), - (function (e) { - const n = i.get(e) - if (void 0 === n.__webglInit) return - t.deleteTexture(n.__webglTexture), i.remove(e) - })(n), - n.isVideoTexture && R.delete(n), - a.memory.textures-- - } - function H(e) { - const n = e.target - n.removeEventListener('dispose', H), - (function (e) { - const n = e.texture, - r = i.get(e), - s = i.get(n) - if (!e) return - void 0 !== s.__webglTexture && - (t.deleteTexture(s.__webglTexture), a.memory.textures--) - e.depthTexture && e.depthTexture.dispose() - if (e.isWebGLCubeRenderTarget) - for (let i = 0; i < 6; i++) - t.deleteFramebuffer(r.__webglFramebuffer[i]), - r.__webglDepthbuffer && t.deleteRenderbuffer(r.__webglDepthbuffer[i]) - else - t.deleteFramebuffer(r.__webglFramebuffer), - r.__webglDepthbuffer && t.deleteRenderbuffer(r.__webglDepthbuffer), - r.__webglMultisampledFramebuffer && - t.deleteFramebuffer(r.__webglMultisampledFramebuffer), - r.__webglColorRenderbuffer && t.deleteRenderbuffer(r.__webglColorRenderbuffer), - r.__webglDepthRenderbuffer && t.deleteRenderbuffer(r.__webglDepthRenderbuffer) - if (e.isWebGLMultipleRenderTargets) - for (let o = 0, l = n.length; o < l; o++) { - const e = i.get(n[o]) - e.__webglTexture && (t.deleteTexture(e.__webglTexture), a.memory.textures--), - i.remove(n[o]) - } - i.remove(n), i.remove(e) - })(n) - } - let G = 0 - function V(t, e) { - const r = i.get(t) - if ( - (t.isVideoTexture && - (function (t) { - const e = a.render.frame - R.get(t) !== e && (R.set(t, e), t.update()) - })(t), - t.version > 0 && r.__version !== t.version) - ) { - const n = t.image - if (void 0 === n) - console.warn('THREE.WebGLRenderer: Texture marked for update but image is undefined') - else { - if (!1 !== n.complete) return void Y(r, t, e) - console.warn('THREE.WebGLRenderer: Texture marked for update but image is incomplete') - } - } - n.activeTexture(33984 + e), n.bindTexture(3553, r.__webglTexture) - } - function k(e, r) { - const a = i.get(e) - e.version > 0 && a.__version !== e.version - ? (function (e, i, r) { - if (6 !== i.image.length) return - X(e, i), - n.activeTexture(33984 + r), - n.bindTexture(34067, e.__webglTexture), - t.pixelStorei(37440, i.flipY), - t.pixelStorei(37441, i.premultiplyAlpha), - t.pixelStorei(3317, i.unpackAlignment), - t.pixelStorei(37443, 0) - const a = i && (i.isCompressedTexture || i.image[0].isCompressedTexture), - l = i.image[0] && i.image[0].isDataTexture, - h = [] - for (let t = 0; t < 6; t++) - h[t] = a || l ? (l ? i.image[t].image : i.image[t]) : I(i.image[t], !1, !0, c) - const u = h[0], - d = N(u) || o, - p = s.convert(i.format), - m = s.convert(i.type), - f = B(i.internalFormat, p, m) - let g - if ((q(34067, i, d), a)) { - for (let t = 0; t < 6; t++) { - g = h[t].mipmaps - for (let e = 0; e < g.length; e++) { - const r = g[e] - i.format !== E && i.format !== T - ? null !== p - ? n.compressedTexImage2D(34069 + t, e, f, r.width, r.height, 0, r.data) - : console.warn( - 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .setTextureCube()', - ) - : n.texImage2D(34069 + t, e, f, r.width, r.height, 0, p, m, r.data) - } - } - e.__maxMipLevel = g.length - 1 - } else { - g = i.mipmaps - for (let t = 0; t < 6; t++) - if (l) { - n.texImage2D(34069 + t, 0, f, h[t].width, h[t].height, 0, p, m, h[t].data) - for (let e = 0; e < g.length; e++) { - const i = g[e].image[t].image - n.texImage2D(34069 + t, e + 1, f, i.width, i.height, 0, p, m, i.data) - } - } else { - n.texImage2D(34069 + t, 0, f, p, m, h[t]) - for (let e = 0; e < g.length; e++) { - const i = g[e] - n.texImage2D(34069 + t, e + 1, f, p, m, i.image[t]) - } - } - e.__maxMipLevel = g.length - } - z(i, d) && O(34067, i, u.width, u.height) - ;(e.__version = i.version), i.onUpdate && i.onUpdate(i) - })(a, e, r) - : (n.activeTexture(33984 + r), n.bindTexture(34067, a.__webglTexture)) - } - const W = { [u]: 10497, [d]: 33071, [p]: 33648 }, - j = { [m]: 9728, [f]: 9984, [g]: 9986, [v]: 9729, 1007: 9985, [y]: 9987 } - function q(n, s, a) { - if ( - (a - ? (t.texParameteri(n, 10242, W[s.wrapS]), - t.texParameteri(n, 10243, W[s.wrapT]), - (32879 !== n && 35866 !== n) || t.texParameteri(n, 32882, W[s.wrapR]), - t.texParameteri(n, 10240, j[s.magFilter]), - t.texParameteri(n, 10241, j[s.minFilter])) - : (t.texParameteri(n, 10242, 33071), - t.texParameteri(n, 10243, 33071), - (32879 !== n && 35866 !== n) || t.texParameteri(n, 32882, 33071), - (s.wrapS === d && s.wrapT === d) || - console.warn( - 'THREE.WebGLRenderer: Texture is not power of two. Texture.wrapS and Texture.wrapT should be set to THREE.ClampToEdgeWrapping.', - ), - t.texParameteri(n, 10240, F(s.magFilter)), - t.texParameteri(n, 10241, F(s.minFilter)), - s.minFilter !== m && - s.minFilter !== v && - console.warn( - 'THREE.WebGLRenderer: Texture is not power of two. Texture.minFilter should be set to THREE.NearestFilter or THREE.LinearFilter.', - )), - !0 === e.has('EXT_texture_filter_anisotropic')) - ) { - const a = e.get('EXT_texture_filter_anisotropic') - if (s.type === M && !1 === e.has('OES_texture_float_linear')) return - if (!1 === o && s.type === w && !1 === e.has('OES_texture_half_float_linear')) return - ;(s.anisotropy > 1 || i.get(s).__currentAnisotropy) && - (t.texParameterf( - n, - a.TEXTURE_MAX_ANISOTROPY_EXT, - Math.min(s.anisotropy, r.getMaxAnisotropy()), - ), - (i.get(s).__currentAnisotropy = s.anisotropy)) - } - } - function X(e, n) { - void 0 === e.__webglInit && - ((e.__webglInit = !0), - n.addEventListener('dispose', U), - (e.__webglTexture = t.createTexture()), - a.memory.textures++) - } - function Y(e, i, r) { - let a = 3553 - i.isDataTexture2DArray && (a = 35866), - i.isDataTexture3D && (a = 32879), - X(e, i), - n.activeTexture(33984 + r), - n.bindTexture(a, e.__webglTexture), - t.pixelStorei(37440, i.flipY), - t.pixelStorei(37441, i.premultiplyAlpha), - t.pixelStorei(3317, i.unpackAlignment), - t.pixelStorei(37443, 0) - const l = - (function (t) { - return ( - !o && (t.wrapS !== d || t.wrapT !== d || (t.minFilter !== m && t.minFilter !== v)) - ) - })(i) && !1 === N(i.image), - c = I(i.image, l, !1, h), - u = N(c) || o, - p = s.convert(i.format) - let f, - g = s.convert(i.type), - y = B(i.internalFormat, p, g) - q(a, i, u) - const x = i.mipmaps - if (i.isDepthTexture) - (y = 6402), - o - ? (y = i.type === M ? 36012 : i.type === b ? 33190 : i.type === S ? 35056 : 33189) - : i.type === M && - console.error('WebGLRenderer: Floating point depth texture requires WebGL2.'), - i.format === L && - 6402 === y && - i.type !== _ && - i.type !== b && - (console.warn( - 'THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture.', - ), - (i.type = _), - (g = s.convert(i.type))), - i.format === A && - 6402 === y && - ((y = 34041), - i.type !== S && - (console.warn( - 'THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture.', - ), - (i.type = S), - (g = s.convert(i.type)))), - n.texImage2D(3553, 0, y, c.width, c.height, 0, p, g, null) - else if (i.isDataTexture) - if (x.length > 0 && u) { - for (let t = 0, e = x.length; t < e; t++) - (f = x[t]), n.texImage2D(3553, t, y, f.width, f.height, 0, p, g, f.data) - ;(i.generateMipmaps = !1), (e.__maxMipLevel = x.length - 1) - } else - n.texImage2D(3553, 0, y, c.width, c.height, 0, p, g, c.data), (e.__maxMipLevel = 0) - else if (i.isCompressedTexture) { - for (let t = 0, e = x.length; t < e; t++) - (f = x[t]), - i.format !== E && i.format !== T - ? null !== p - ? n.compressedTexImage2D(3553, t, y, f.width, f.height, 0, f.data) - : console.warn( - 'THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()', - ) - : n.texImage2D(3553, t, y, f.width, f.height, 0, p, g, f.data) - e.__maxMipLevel = x.length - 1 - } else if (i.isDataTexture2DArray) - n.texImage3D(35866, 0, y, c.width, c.height, c.depth, 0, p, g, c.data), - (e.__maxMipLevel = 0) - else if (i.isDataTexture3D) - n.texImage3D(32879, 0, y, c.width, c.height, c.depth, 0, p, g, c.data), - (e.__maxMipLevel = 0) - else if (x.length > 0 && u) { - for (let t = 0, e = x.length; t < e; t++) (f = x[t]), n.texImage2D(3553, t, y, p, g, f) - ;(i.generateMipmaps = !1), (e.__maxMipLevel = x.length - 1) - } else n.texImage2D(3553, 0, y, p, g, c), (e.__maxMipLevel = 0) - z(i, u) && O(a, i, c.width, c.height), - (e.__version = i.version), - i.onUpdate && i.onUpdate(i) - } - function J(e, r, a, o, l) { - const c = s.convert(a.format), - h = s.convert(a.type), - u = B(a.internalFormat, c, h) - 32879 === l || 35866 === l - ? n.texImage3D(l, 0, u, r.width, r.height, r.depth, 0, c, h, null) - : n.texImage2D(l, 0, u, r.width, r.height, 0, c, h, null), - n.bindFramebuffer(36160, e), - t.framebufferTexture2D(36160, o, l, i.get(a).__webglTexture, 0), - n.bindFramebuffer(36160, null) - } - function Z(e, n, i) { - if ((t.bindRenderbuffer(36161, e), n.depthBuffer && !n.stencilBuffer)) { - let r = 33189 - if (i) { - const e = n.depthTexture - e && e.isDepthTexture && (e.type === M ? (r = 36012) : e.type === b && (r = 33190)) - const i = tt(n) - t.renderbufferStorageMultisample(36161, i, r, n.width, n.height) - } else t.renderbufferStorage(36161, r, n.width, n.height) - t.framebufferRenderbuffer(36160, 36096, 36161, e) - } else if (n.depthBuffer && n.stencilBuffer) { - if (i) { - const e = tt(n) - t.renderbufferStorageMultisample(36161, e, 35056, n.width, n.height) - } else t.renderbufferStorage(36161, 34041, n.width, n.height) - t.framebufferRenderbuffer(36160, 33306, 36161, e) - } else { - const e = !0 === n.isWebGLMultipleRenderTargets ? n.texture[0] : n.texture, - r = s.convert(e.format), - a = s.convert(e.type), - o = B(e.internalFormat, r, a) - if (i) { - const e = tt(n) - t.renderbufferStorageMultisample(36161, e, o, n.width, n.height) - } else t.renderbufferStorage(36161, o, n.width, n.height) - } - t.bindRenderbuffer(36161, null) - } - function Q(e) { - const r = i.get(e), - s = !0 === e.isWebGLCubeRenderTarget - if (e.depthTexture) { - if (s) throw new Error('target.depthTexture not supported in Cube render targets') - !(function (e, r) { - if (r && r.isWebGLCubeRenderTarget) - throw new Error('Depth Texture with cube render targets is not supported') - if ((n.bindFramebuffer(36160, e), !r.depthTexture || !r.depthTexture.isDepthTexture)) - throw new Error( - 'renderTarget.depthTexture must be an instance of THREE.DepthTexture', - ) - ;(i.get(r.depthTexture).__webglTexture && - r.depthTexture.image.width === r.width && - r.depthTexture.image.height === r.height) || - ((r.depthTexture.image.width = r.width), - (r.depthTexture.image.height = r.height), - (r.depthTexture.needsUpdate = !0)), - V(r.depthTexture, 0) - const s = i.get(r.depthTexture).__webglTexture - if (r.depthTexture.format === L) t.framebufferTexture2D(36160, 36096, 3553, s, 0) - else { - if (r.depthTexture.format !== A) throw new Error('Unknown depthTexture format') - t.framebufferTexture2D(36160, 33306, 3553, s, 0) - } - })(r.__webglFramebuffer, e) - } else if (s) { - r.__webglDepthbuffer = [] - for (let i = 0; i < 6; i++) - n.bindFramebuffer(36160, r.__webglFramebuffer[i]), - (r.__webglDepthbuffer[i] = t.createRenderbuffer()), - Z(r.__webglDepthbuffer[i], e, !1) - } else - n.bindFramebuffer(36160, r.__webglFramebuffer), - (r.__webglDepthbuffer = t.createRenderbuffer()), - Z(r.__webglDepthbuffer, e, !1) - n.bindFramebuffer(36160, null) - } - function tt(t) { - return o && t.isWebGLMultisampleRenderTarget ? Math.min(x, t.samples) : 0 - } - let et = !1, - nt = !1 - ;(this.allocateTextureUnit = function () { - const t = G - return ( - t >= l && - console.warn( - 'THREE.WebGLTextures: Trying to use ' + - t + - ' texture units while this GPU supports only ' + - l, - ), - (G += 1), - t - ) - }), - (this.resetTextureUnits = function () { - G = 0 - }), - (this.setTexture2D = V), - (this.setTexture2DArray = function (t, e) { - const r = i.get(t) - t.version > 0 && r.__version !== t.version - ? Y(r, t, e) - : (n.activeTexture(33984 + e), n.bindTexture(35866, r.__webglTexture)) - }), - (this.setTexture3D = function (t, e) { - const r = i.get(t) - t.version > 0 && r.__version !== t.version - ? Y(r, t, e) - : (n.activeTexture(33984 + e), n.bindTexture(32879, r.__webglTexture)) - }), - (this.setTextureCube = k), - (this.setupRenderTarget = function (e) { - const l = e.texture, - c = i.get(e), - h = i.get(l) - e.addEventListener('dispose', H), - !0 !== e.isWebGLMultipleRenderTargets && - ((h.__webglTexture = t.createTexture()), - (h.__version = l.version), - a.memory.textures++) - const u = !0 === e.isWebGLCubeRenderTarget, - d = !0 === e.isWebGLMultipleRenderTargets, - p = !0 === e.isWebGLMultisampleRenderTarget, - m = l.isDataTexture3D || l.isDataTexture2DArray, - f = N(e) || o - if ( - (!o || - l.format !== T || - (l.type !== M && l.type !== w) || - ((l.format = E), - console.warn( - 'THREE.WebGLRenderer: Rendering to textures with RGB format is not supported. Using RGBA format instead.', - )), - u) - ) { - c.__webglFramebuffer = [] - for (let e = 0; e < 6; e++) c.__webglFramebuffer[e] = t.createFramebuffer() - } else if (((c.__webglFramebuffer = t.createFramebuffer()), d)) - if (r.drawBuffers) { - const n = e.texture - for (let e = 0, r = n.length; e < r; e++) { - const r = i.get(n[e]) - void 0 === r.__webglTexture && - ((r.__webglTexture = t.createTexture()), a.memory.textures++) - } - } else - console.warn( - 'THREE.WebGLRenderer: WebGLMultipleRenderTargets can only be used with WebGL2 or WEBGL_draw_buffers extension.', - ) - else if (p) - if (o) { - ;(c.__webglMultisampledFramebuffer = t.createFramebuffer()), - (c.__webglColorRenderbuffer = t.createRenderbuffer()), - t.bindRenderbuffer(36161, c.__webglColorRenderbuffer) - const i = s.convert(l.format), - r = s.convert(l.type), - a = B(l.internalFormat, i, r), - o = tt(e) - t.renderbufferStorageMultisample(36161, o, a, e.width, e.height), - n.bindFramebuffer(36160, c.__webglMultisampledFramebuffer), - t.framebufferRenderbuffer(36160, 36064, 36161, c.__webglColorRenderbuffer), - t.bindRenderbuffer(36161, null), - e.depthBuffer && - ((c.__webglDepthRenderbuffer = t.createRenderbuffer()), - Z(c.__webglDepthRenderbuffer, e, !0)), - n.bindFramebuffer(36160, null) - } else - console.warn( - 'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.', - ) - if (u) { - n.bindTexture(34067, h.__webglTexture), q(34067, l, f) - for (let t = 0; t < 6; t++) J(c.__webglFramebuffer[t], e, l, 36064, 34069 + t) - z(l, f) && O(34067, l, e.width, e.height), n.bindTexture(34067, null) - } else if (d) { - const t = e.texture - for (let r = 0, s = t.length; r < s; r++) { - const s = t[r], - a = i.get(s) - n.bindTexture(3553, a.__webglTexture), - q(3553, s, f), - J(c.__webglFramebuffer, e, s, 36064 + r, 3553), - z(s, f) && O(3553, s, e.width, e.height) - } - n.bindTexture(3553, null) - } else { - let t = 3553 - if (m) - if (o) { - t = l.isDataTexture3D ? 32879 : 35866 - } else - console.warn( - 'THREE.DataTexture3D and THREE.DataTexture2DArray only supported with WebGL2.', - ) - n.bindTexture(t, h.__webglTexture), - q(t, l, f), - J(c.__webglFramebuffer, e, l, 36064, t), - z(l, f) && O(t, l, e.width, e.height, e.depth), - n.bindTexture(t, null) - } - e.depthBuffer && Q(e) - }), - (this.updateRenderTargetMipmap = function (t) { - const e = N(t) || o, - r = !0 === t.isWebGLMultipleRenderTargets ? t.texture : [t.texture] - for (let s = 0, a = r.length; s < a; s++) { - const a = r[s] - if (z(a, e)) { - const e = t.isWebGLCubeRenderTarget ? 34067 : 3553, - r = i.get(a).__webglTexture - n.bindTexture(e, r), O(e, a, t.width, t.height), n.bindTexture(e, null) - } - } - }), - (this.updateMultisampleRenderTarget = function (e) { - if (e.isWebGLMultisampleRenderTarget) - if (o) { - const r = e.width, - s = e.height - let a = 16384 - e.depthBuffer && (a |= 256), e.stencilBuffer && (a |= 1024) - const o = i.get(e) - n.bindFramebuffer(36008, o.__webglMultisampledFramebuffer), - n.bindFramebuffer(36009, o.__webglFramebuffer), - t.blitFramebuffer(0, 0, r, s, 0, 0, r, s, a, 9728), - n.bindFramebuffer(36008, null), - n.bindFramebuffer(36009, o.__webglMultisampledFramebuffer) - } else - console.warn( - 'THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.', - ) - }), - (this.safeSetTexture2D = function (t, e) { - t && - t.isWebGLRenderTarget && - (!1 === et && - (console.warn( - "THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead.", - ), - (et = !0)), - (t = t.texture)), - V(t, e) - }), - (this.safeSetTextureCube = function (t, e) { - t && - t.isWebGLCubeRenderTarget && - (!1 === nt && - (console.warn( - "THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead.", - ), - (nt = !0)), - (t = t.texture)), - k(t, e) - }) - } - function Gr(t, e, n) { - const i = n.isWebGL2 - return { - convert: function (t) { - let n - if (t === x) return 5121 - if (1017 === t) return 32819 - if (1018 === t) return 32820 - if (1019 === t) return 33635 - if (1010 === t) return 5120 - if (1011 === t) return 5122 - if (t === _) return 5123 - if (1013 === t) return 5124 - if (t === b) return 5125 - if (t === M) return 5126 - if (t === w) - return i - ? 5131 - : ((n = e.get('OES_texture_half_float')), null !== n ? n.HALF_FLOAT_OES : null) - if (1021 === t) return 6406 - if (t === T) return 6407 - if (t === E) return 6408 - if (1024 === t) return 6409 - if (1025 === t) return 6410 - if (t === L) return 6402 - if (t === A) return 34041 - if (1028 === t) return 6403 - if (1029 === t) return 36244 - if (1030 === t) return 33319 - if (1031 === t) return 33320 - if (1032 === t) return 36248 - if (1033 === t) return 36249 - if (33776 === t || 33777 === t || 33778 === t || 33779 === t) { - if (((n = e.get('WEBGL_compressed_texture_s3tc')), null === n)) return null - if (33776 === t) return n.COMPRESSED_RGB_S3TC_DXT1_EXT - if (33777 === t) return n.COMPRESSED_RGBA_S3TC_DXT1_EXT - if (33778 === t) return n.COMPRESSED_RGBA_S3TC_DXT3_EXT - if (33779 === t) return n.COMPRESSED_RGBA_S3TC_DXT5_EXT - } - if (35840 === t || 35841 === t || 35842 === t || 35843 === t) { - if (((n = e.get('WEBGL_compressed_texture_pvrtc')), null === n)) return null - if (35840 === t) return n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG - if (35841 === t) return n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG - if (35842 === t) return n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG - if (35843 === t) return n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG - } - if (36196 === t) - return ( - (n = e.get('WEBGL_compressed_texture_etc1')), - null !== n ? n.COMPRESSED_RGB_ETC1_WEBGL : null - ) - if ( - (37492 === t || 37496 === t) && - ((n = e.get('WEBGL_compressed_texture_etc')), null !== n) - ) { - if (37492 === t) return n.COMPRESSED_RGB8_ETC2 - if (37496 === t) return n.COMPRESSED_RGBA8_ETC2_EAC - } - return 37808 === t || - 37809 === t || - 37810 === t || - 37811 === t || - 37812 === t || - 37813 === t || - 37814 === t || - 37815 === t || - 37816 === t || - 37817 === t || - 37818 === t || - 37819 === t || - 37820 === t || - 37821 === t || - 37840 === t || - 37841 === t || - 37842 === t || - 37843 === t || - 37844 === t || - 37845 === t || - 37846 === t || - 37847 === t || - 37848 === t || - 37849 === t || - 37850 === t || - 37851 === t || - 37852 === t || - 37853 === t - ? ((n = e.get('WEBGL_compressed_texture_astc')), null !== n ? t : null) - : 36492 === t - ? ((n = e.get('EXT_texture_compression_bptc')), null !== n ? t : null) - : t === S - ? i - ? 34042 - : ((n = e.get('WEBGL_depth_texture')), - null !== n ? n.UNSIGNED_INT_24_8_WEBGL : null) - : void 0 - }, - } - } - class Vr extends Mn { - constructor(t = []) { - super(), (this.cameras = t) - } - } - Vr.prototype.isArrayCamera = !0 - class kr extends pe { - constructor() { - super(), (this.type = 'Group') - } - } - kr.prototype.isGroup = !0 - const Wr = { type: 'move' } - class jr { - constructor() { - ;(this._targetRay = null), (this._grip = null), (this._hand = null) - } - getHandSpace() { - return ( - null === this._hand && - ((this._hand = new kr()), - (this._hand.matrixAutoUpdate = !1), - (this._hand.visible = !1), - (this._hand.joints = {}), - (this._hand.inputState = { pinching: !1 })), - this._hand - ) - } - getTargetRaySpace() { - return ( - null === this._targetRay && - ((this._targetRay = new kr()), - (this._targetRay.matrixAutoUpdate = !1), - (this._targetRay.visible = !1), - (this._targetRay.hasLinearVelocity = !1), - (this._targetRay.linearVelocity = new ut()), - (this._targetRay.hasAngularVelocity = !1), - (this._targetRay.angularVelocity = new ut())), - this._targetRay - ) - } - getGripSpace() { - return ( - null === this._grip && - ((this._grip = new kr()), - (this._grip.matrixAutoUpdate = !1), - (this._grip.visible = !1), - (this._grip.hasLinearVelocity = !1), - (this._grip.linearVelocity = new ut()), - (this._grip.hasAngularVelocity = !1), - (this._grip.angularVelocity = new ut())), - this._grip - ) - } - dispatchEvent(t) { - return ( - null !== this._targetRay && this._targetRay.dispatchEvent(t), - null !== this._grip && this._grip.dispatchEvent(t), - null !== this._hand && this._hand.dispatchEvent(t), - this - ) - } - disconnect(t) { - return ( - this.dispatchEvent({ type: 'disconnected', data: t }), - null !== this._targetRay && (this._targetRay.visible = !1), - null !== this._grip && (this._grip.visible = !1), - null !== this._hand && (this._hand.visible = !1), - this - ) - } - update(t, e, n) { - let i = null, - r = null, - s = null - const a = this._targetRay, - o = this._grip, - l = this._hand - if (t && 'visible-blurred' !== e.session.visibilityState) - if ( - (null !== a && - ((i = e.getPose(t.targetRaySpace, n)), - null !== i && - (a.matrix.fromArray(i.transform.matrix), - a.matrix.decompose(a.position, a.rotation, a.scale), - i.linearVelocity - ? ((a.hasLinearVelocity = !0), a.linearVelocity.copy(i.linearVelocity)) - : (a.hasLinearVelocity = !1), - i.angularVelocity - ? ((a.hasAngularVelocity = !0), a.angularVelocity.copy(i.angularVelocity)) - : (a.hasAngularVelocity = !1), - this.dispatchEvent(Wr))), - l && t.hand) - ) { - s = !0 - for (const s of t.hand.values()) { - const t = e.getJointPose(s, n) - if (void 0 === l.joints[s.jointName]) { - const t = new kr() - ;(t.matrixAutoUpdate = !1), - (t.visible = !1), - (l.joints[s.jointName] = t), - l.add(t) - } - const i = l.joints[s.jointName] - null !== t && - (i.matrix.fromArray(t.transform.matrix), - i.matrix.decompose(i.position, i.rotation, i.scale), - (i.jointRadius = t.radius)), - (i.visible = null !== t) - } - const i = l.joints['index-finger-tip'], - r = l.joints['thumb-tip'], - a = i.position.distanceTo(r.position), - o = 0.02, - c = 0.005 - l.inputState.pinching && a > o + c - ? ((l.inputState.pinching = !1), - this.dispatchEvent({ type: 'pinchend', handedness: t.handedness, target: this })) - : !l.inputState.pinching && - a <= o - c && - ((l.inputState.pinching = !0), - this.dispatchEvent({ - type: 'pinchstart', - handedness: t.handedness, - target: this, - })) - } else - null !== o && - t.gripSpace && - ((r = e.getPose(t.gripSpace, n)), - null !== r && - (o.matrix.fromArray(r.transform.matrix), - o.matrix.decompose(o.position, o.rotation, o.scale), - r.linearVelocity - ? ((o.hasLinearVelocity = !0), o.linearVelocity.copy(r.linearVelocity)) - : (o.hasLinearVelocity = !1), - r.angularVelocity - ? ((o.hasAngularVelocity = !0), o.angularVelocity.copy(r.angularVelocity)) - : (o.hasAngularVelocity = !1))) - return ( - null !== a && (a.visible = null !== i), - null !== o && (o.visible = null !== r), - null !== l && (l.visible = null !== s), - this - ) - } - } - class qr extends W { - constructor(t, e) { - super() - const n = this, - i = t.state - let r = null, - s = 1, - a = null, - o = 'local-floor', - l = null, - c = null, - h = null, - u = null - const d = [], - p = new Map(), - m = new Mn() - m.layers.enable(1), (m.viewport = new ot()) - const f = new Mn() - f.layers.enable(2), (f.viewport = new ot()) - const g = [m, f], - v = new Vr() - v.layers.enable(1), v.layers.enable(2) - let y = null, - x = null - function _(t) { - const e = p.get(t.inputSource) - e && e.dispatchEvent({ type: t.type, data: t.inputSource }) - } - function b() { - p.forEach(function (t, e) { - t.disconnect(e) - }), - p.clear(), - (y = null), - (x = null), - i.bindXRFramebuffer(null), - t.setRenderTarget(t.getRenderTarget()), - L.stop(), - (n.isPresenting = !1), - n.dispatchEvent({ type: 'sessionend' }) - } - function M(t) { - const e = r.inputSources - for (let n = 0; n < d.length; n++) p.set(e[n], d[n]) - for (let n = 0; n < t.removed.length; n++) { - const e = t.removed[n], - i = p.get(e) - i && (i.dispatchEvent({ type: 'disconnected', data: e }), p.delete(e)) - } - for (let n = 0; n < t.added.length; n++) { - const e = t.added[n], - i = p.get(e) - i && i.dispatchEvent({ type: 'connected', data: e }) - } - } - ;(this.cameraAutoUpdate = !0), - (this.enabled = !1), - (this.isPresenting = !1), - (this.getController = function (t) { - let e = d[t] - return void 0 === e && ((e = new jr()), (d[t] = e)), e.getTargetRaySpace() - }), - (this.getControllerGrip = function (t) { - let e = d[t] - return void 0 === e && ((e = new jr()), (d[t] = e)), e.getGripSpace() - }), - (this.getHand = function (t) { - let e = d[t] - return void 0 === e && ((e = new jr()), (d[t] = e)), e.getHandSpace() - }), - (this.setFramebufferScaleFactor = function (t) { - ;(s = t), - !0 === n.isPresenting && - console.warn( - 'THREE.WebXRManager: Cannot change framebuffer scale while presenting.', - ) - }), - (this.setReferenceSpaceType = function (t) { - ;(o = t), - !0 === n.isPresenting && - console.warn( - 'THREE.WebXRManager: Cannot change reference space type while presenting.', - ) - }), - (this.getReferenceSpace = function () { - return a - }), - (this.getSession = function () { - return r - }), - (this.setSession = async function (t) { - if (((r = t), null !== r)) { - r.addEventListener('select', _), - r.addEventListener('selectstart', _), - r.addEventListener('selectend', _), - r.addEventListener('squeeze', _), - r.addEventListener('squeezestart', _), - r.addEventListener('squeezeend', _), - r.addEventListener('end', b), - r.addEventListener('inputsourceschange', M) - const t = e.getContextAttributes() - if ( - (!0 !== t.xrCompatible && (await e.makeXRCompatible()), - void 0 === r.renderState.layers) - ) { - const n = { - antialias: t.antialias, - alpha: t.alpha, - depth: t.depth, - stencil: t.stencil, - framebufferScaleFactor: s, - }, - i = new XRWebGLLayer(r, e, n) - r.updateRenderState({ baseLayer: i }) - } else { - let n = 0 - t.depth && (n = t.stencil ? 34041 : 6402) - const i = { colorFormat: t.alpha ? 6408 : 6407, depthFormat: n, scaleFactor: s } - ;(c = new XRWebGLBinding(r, e)), - (u = c.createProjectionLayer(i)), - (h = e.createFramebuffer()), - r.updateRenderState({ layers: [u] }) - } - ;(a = await r.requestReferenceSpace(o)), - L.setContext(r), - L.start(), - (n.isPresenting = !0), - n.dispatchEvent({ type: 'sessionstart' }) - } - }) - const w = new ut(), - S = new ut() - function T(t, e) { - null === e - ? t.matrixWorld.copy(t.matrix) - : t.matrixWorld.multiplyMatrices(e.matrixWorld, t.matrix), - t.matrixWorldInverse.copy(t.matrixWorld).invert() - } - ;(this.updateCamera = function (t) { - if (null === r) return - ;(v.near = f.near = m.near = t.near), - (v.far = f.far = m.far = t.far), - (y === v.near && x === v.far) || - (r.updateRenderState({ depthNear: v.near, depthFar: v.far }), - (y = v.near), - (x = v.far)) - const e = t.parent, - n = v.cameras - T(v, e) - for (let r = 0; r < n.length; r++) T(n[r], e) - v.matrixWorld.decompose(v.position, v.quaternion, v.scale), - t.position.copy(v.position), - t.quaternion.copy(v.quaternion), - t.scale.copy(v.scale), - t.matrix.copy(v.matrix), - t.matrixWorld.copy(v.matrixWorld) - const i = t.children - for (let r = 0, s = i.length; r < s; r++) i[r].updateMatrixWorld(!0) - 2 === n.length - ? (function (t, e, n) { - w.setFromMatrixPosition(e.matrixWorld), S.setFromMatrixPosition(n.matrixWorld) - const i = w.distanceTo(S), - r = e.projectionMatrix.elements, - s = n.projectionMatrix.elements, - a = r[14] / (r[10] - 1), - o = r[14] / (r[10] + 1), - l = (r[9] + 1) / r[5], - c = (r[9] - 1) / r[5], - h = (r[8] - 1) / r[0], - u = (s[8] + 1) / s[0], - d = a * h, - p = a * u, - m = i / (-h + u), - f = m * -h - e.matrixWorld.decompose(t.position, t.quaternion, t.scale), - t.translateX(f), - t.translateZ(m), - t.matrixWorld.compose(t.position, t.quaternion, t.scale), - t.matrixWorldInverse.copy(t.matrixWorld).invert() - const g = a + m, - v = o + m, - y = d - f, - x = p + (i - f), - _ = ((l * o) / v) * g, - b = ((c * o) / v) * g - t.projectionMatrix.makePerspective(y, x, _, b, g, v) - })(v, m, f) - : v.projectionMatrix.copy(m.projectionMatrix) - }), - (this.getCamera = function () { - return v - }) - let E = null - const L = new Nn() - L.setAnimationLoop(function (t, n) { - if (((l = n.getViewerPose(a)), null !== l)) { - const t = l.views, - n = r.renderState.baseLayer - void 0 === r.renderState.layers && i.bindXRFramebuffer(n.framebuffer) - let s = !1 - t.length !== v.cameras.length && ((v.cameras.length = 0), (s = !0)) - for (let a = 0; a < t.length; a++) { - const o = t[a] - let l = null - if (void 0 === r.renderState.layers) l = n.getViewport(o) - else { - const t = c.getViewSubImage(u, o) - i.bindXRFramebuffer(h), - e.framebufferTexture2D(36160, 36064, 3553, t.colorTexture, 0), - void 0 !== t.depthStencilTexture && - e.framebufferTexture2D(36160, 36096, 3553, t.depthStencilTexture, 0), - (l = t.viewport) - } - const d = g[a] - d.matrix.fromArray(o.transform.matrix), - d.projectionMatrix.fromArray(o.projectionMatrix), - d.viewport.set(l.x, l.y, l.width, l.height), - 0 === a && v.matrix.copy(d.matrix), - !0 === s && v.cameras.push(d) - } - } - const s = r.inputSources - for (let e = 0; e < d.length; e++) { - const t = d[e], - i = s[e] - t.update(i, n, a) - } - E && E(t, n) - }), - (this.setAnimationLoop = function (t) { - E = t - }), - (this.dispose = function () {}) - } - } - function Xr(t) { - function e(e, n) { - ;(e.opacity.value = n.opacity), - n.color && e.diffuse.value.copy(n.color), - n.emissive && e.emissive.value.copy(n.emissive).multiplyScalar(n.emissiveIntensity), - n.map && (e.map.value = n.map), - n.alphaMap && (e.alphaMap.value = n.alphaMap), - n.specularMap && (e.specularMap.value = n.specularMap) - const i = t.get(n).envMap - if (i) { - ;(e.envMap.value = i), - (e.flipEnvMap.value = i.isCubeTexture && i._needsFlipEnvMap ? -1 : 1), - (e.reflectivity.value = n.reflectivity), - (e.refractionRatio.value = n.refractionRatio) - const r = t.get(i).__maxMipLevel - void 0 !== r && (e.maxMipLevel.value = r) - } - let r, s - n.lightMap && - ((e.lightMap.value = n.lightMap), (e.lightMapIntensity.value = n.lightMapIntensity)), - n.aoMap && ((e.aoMap.value = n.aoMap), (e.aoMapIntensity.value = n.aoMapIntensity)), - n.map - ? (r = n.map) - : n.specularMap - ? (r = n.specularMap) - : n.displacementMap - ? (r = n.displacementMap) - : n.normalMap - ? (r = n.normalMap) - : n.bumpMap - ? (r = n.bumpMap) - : n.roughnessMap - ? (r = n.roughnessMap) - : n.metalnessMap - ? (r = n.metalnessMap) - : n.alphaMap - ? (r = n.alphaMap) - : n.emissiveMap - ? (r = n.emissiveMap) - : n.clearcoatMap - ? (r = n.clearcoatMap) - : n.clearcoatNormalMap - ? (r = n.clearcoatNormalMap) - : n.clearcoatRoughnessMap && (r = n.clearcoatRoughnessMap), - void 0 !== r && - (r.isWebGLRenderTarget && (r = r.texture), - !0 === r.matrixAutoUpdate && r.updateMatrix(), - e.uvTransform.value.copy(r.matrix)), - n.aoMap ? (s = n.aoMap) : n.lightMap && (s = n.lightMap), - void 0 !== s && - (s.isWebGLRenderTarget && (s = s.texture), - !0 === s.matrixAutoUpdate && s.updateMatrix(), - e.uv2Transform.value.copy(s.matrix)) - } - function n(e, n) { - ;(e.roughness.value = n.roughness), - (e.metalness.value = n.metalness), - n.roughnessMap && (e.roughnessMap.value = n.roughnessMap), - n.metalnessMap && (e.metalnessMap.value = n.metalnessMap), - n.emissiveMap && (e.emissiveMap.value = n.emissiveMap), - n.bumpMap && - ((e.bumpMap.value = n.bumpMap), - (e.bumpScale.value = n.bumpScale), - n.side === s && (e.bumpScale.value *= -1)), - n.normalMap && - ((e.normalMap.value = n.normalMap), - e.normalScale.value.copy(n.normalScale), - n.side === s && e.normalScale.value.negate()), - n.displacementMap && - ((e.displacementMap.value = n.displacementMap), - (e.displacementScale.value = n.displacementScale), - (e.displacementBias.value = n.displacementBias)) - t.get(n).envMap && (e.envMapIntensity.value = n.envMapIntensity) - } - return { - refreshFogUniforms: function (t, e) { - t.fogColor.value.copy(e.color), - e.isFog - ? ((t.fogNear.value = e.near), (t.fogFar.value = e.far)) - : e.isFogExp2 && (t.fogDensity.value = e.density) - }, - refreshMaterialUniforms: function (t, i, r, a, o) { - i.isMeshBasicMaterial - ? e(t, i) - : i.isMeshLambertMaterial - ? (e(t, i), - (function (t, e) { - e.emissiveMap && (t.emissiveMap.value = e.emissiveMap) - })(t, i)) - : i.isMeshToonMaterial - ? (e(t, i), - (function (t, e) { - e.gradientMap && (t.gradientMap.value = e.gradientMap) - e.emissiveMap && (t.emissiveMap.value = e.emissiveMap) - e.bumpMap && - ((t.bumpMap.value = e.bumpMap), - (t.bumpScale.value = e.bumpScale), - e.side === s && (t.bumpScale.value *= -1)) - e.normalMap && - ((t.normalMap.value = e.normalMap), - t.normalScale.value.copy(e.normalScale), - e.side === s && t.normalScale.value.negate()) - e.displacementMap && - ((t.displacementMap.value = e.displacementMap), - (t.displacementScale.value = e.displacementScale), - (t.displacementBias.value = e.displacementBias)) - })(t, i)) - : i.isMeshPhongMaterial - ? (e(t, i), - (function (t, e) { - t.specular.value.copy(e.specular), - (t.shininess.value = Math.max(e.shininess, 1e-4)), - e.emissiveMap && (t.emissiveMap.value = e.emissiveMap) - e.bumpMap && - ((t.bumpMap.value = e.bumpMap), - (t.bumpScale.value = e.bumpScale), - e.side === s && (t.bumpScale.value *= -1)) - e.normalMap && - ((t.normalMap.value = e.normalMap), - t.normalScale.value.copy(e.normalScale), - e.side === s && t.normalScale.value.negate()) - e.displacementMap && - ((t.displacementMap.value = e.displacementMap), - (t.displacementScale.value = e.displacementScale), - (t.displacementBias.value = e.displacementBias)) - })(t, i)) - : i.isMeshStandardMaterial - ? (e(t, i), - i.isMeshPhysicalMaterial - ? (function (t, e, i) { - n(t, e), - (t.reflectivity.value = e.reflectivity), - (t.clearcoat.value = e.clearcoat), - (t.clearcoatRoughness.value = e.clearcoatRoughness), - e.sheen && t.sheen.value.copy(e.sheen) - e.clearcoatMap && (t.clearcoatMap.value = e.clearcoatMap) - e.clearcoatRoughnessMap && - (t.clearcoatRoughnessMap.value = e.clearcoatRoughnessMap) - e.clearcoatNormalMap && - (t.clearcoatNormalScale.value.copy(e.clearcoatNormalScale), - (t.clearcoatNormalMap.value = e.clearcoatNormalMap), - e.side === s && t.clearcoatNormalScale.value.negate()) - ;(t.transmission.value = e.transmission), - e.transmissionMap && (t.transmissionMap.value = e.transmissionMap) - e.transmission > 0 && - ((t.transmissionSamplerMap.value = i.texture), - t.transmissionSamplerSize.value.set(i.width, i.height)) - ;(t.thickness.value = e.thickness), - e.thicknessMap && (t.thicknessMap.value = e.thicknessMap) - ;(t.attenuationDistance.value = e.attenuationDistance), - t.attenuationColor.value.copy(e.attenuationColor) - })(t, i, o) - : n(t, i)) - : i.isMeshMatcapMaterial - ? (e(t, i), - (function (t, e) { - e.matcap && (t.matcap.value = e.matcap) - e.bumpMap && - ((t.bumpMap.value = e.bumpMap), - (t.bumpScale.value = e.bumpScale), - e.side === s && (t.bumpScale.value *= -1)) - e.normalMap && - ((t.normalMap.value = e.normalMap), - t.normalScale.value.copy(e.normalScale), - e.side === s && t.normalScale.value.negate()) - e.displacementMap && - ((t.displacementMap.value = e.displacementMap), - (t.displacementScale.value = e.displacementScale), - (t.displacementBias.value = e.displacementBias)) - })(t, i)) - : i.isMeshDepthMaterial - ? (e(t, i), - (function (t, e) { - e.displacementMap && - ((t.displacementMap.value = e.displacementMap), - (t.displacementScale.value = e.displacementScale), - (t.displacementBias.value = e.displacementBias)) - })(t, i)) - : i.isMeshDistanceMaterial - ? (e(t, i), - (function (t, e) { - e.displacementMap && - ((t.displacementMap.value = e.displacementMap), - (t.displacementScale.value = e.displacementScale), - (t.displacementBias.value = e.displacementBias)) - t.referencePosition.value.copy(e.referencePosition), - (t.nearDistance.value = e.nearDistance), - (t.farDistance.value = e.farDistance) - })(t, i)) - : i.isMeshNormalMaterial - ? (e(t, i), - (function (t, e) { - e.bumpMap && - ((t.bumpMap.value = e.bumpMap), - (t.bumpScale.value = e.bumpScale), - e.side === s && (t.bumpScale.value *= -1)) - e.normalMap && - ((t.normalMap.value = e.normalMap), - t.normalScale.value.copy(e.normalScale), - e.side === s && t.normalScale.value.negate()) - e.displacementMap && - ((t.displacementMap.value = e.displacementMap), - (t.displacementScale.value = e.displacementScale), - (t.displacementBias.value = e.displacementBias)) - })(t, i)) - : i.isLineBasicMaterial - ? ((function (t, e) { - t.diffuse.value.copy(e.color), (t.opacity.value = e.opacity) - })(t, i), - i.isLineDashedMaterial && - (function (t, e) { - ;(t.dashSize.value = e.dashSize), - (t.totalSize.value = e.dashSize + e.gapSize), - (t.scale.value = e.scale) - })(t, i)) - : i.isPointsMaterial - ? (function (t, e, n, i) { - t.diffuse.value.copy(e.color), - (t.opacity.value = e.opacity), - (t.size.value = e.size * n), - (t.scale.value = 0.5 * i), - e.map && (t.map.value = e.map) - e.alphaMap && (t.alphaMap.value = e.alphaMap) - let r - e.map ? (r = e.map) : e.alphaMap && (r = e.alphaMap) - void 0 !== r && - (!0 === r.matrixAutoUpdate && r.updateMatrix(), - t.uvTransform.value.copy(r.matrix)) - })(t, i, r, a) - : i.isSpriteMaterial - ? (function (t, e) { - t.diffuse.value.copy(e.color), - (t.opacity.value = e.opacity), - (t.rotation.value = e.rotation), - e.map && (t.map.value = e.map) - e.alphaMap && (t.alphaMap.value = e.alphaMap) - let n - e.map ? (n = e.map) : e.alphaMap && (n = e.alphaMap) - void 0 !== n && - (!0 === n.matrixAutoUpdate && n.updateMatrix(), - t.uvTransform.value.copy(n.matrix)) - })(t, i) - : i.isShadowMaterial - ? (t.color.value.copy(i.color), (t.opacity.value = i.opacity)) - : i.isShaderMaterial && (i.uniformsNeedUpdate = !1) - }, - } - } - function Yr(t = {}) { - const e = - void 0 !== t.canvas - ? t.canvas - : (function () { - const t = document.createElementNS('http://www.w3.org/1999/xhtml', 'canvas') - return (t.style.display = 'block'), t - })(), - n = void 0 !== t.context ? t.context : null, - i = void 0 !== t.alpha && t.alpha, - r = void 0 === t.depth || t.depth, - a = void 0 === t.stencil || t.stencil, - o = void 0 !== t.antialias && t.antialias, - l = void 0 === t.premultipliedAlpha || t.premultipliedAlpha, - c = void 0 !== t.preserveDrawingBuffer && t.preserveDrawingBuffer, - h = void 0 !== t.powerPreference ? t.powerPreference : 'default', - u = void 0 !== t.failIfMajorPerformanceCaveat && t.failIfMajorPerformanceCaveat - let p = null, - f = null - const g = [], - v = [] - ;(this.domElement = e), - (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 = O), - (this.physicallyCorrectLights = !1), - (this.toneMapping = 0), - (this.toneMappingExposure = 1) - const _ = this - let b = !1, - S = 0, - T = 0, - L = null, - A = -1, - R = null - const C = new ot(), - P = new ot() - let D = null, - I = e.width, - N = e.height, - z = 1, - B = null, - F = null - const U = new ot(0, 0, I, N), - H = new ot(0, 0, I, N) - let G = !1 - const V = [], - k = new In() - let W = !1, - j = !1, - q = null - const X = new Vt(), - Y = new ut(), - J = { - background: null, - fog: null, - environment: null, - overrideMaterial: null, - isScene: !0, - } - function Z() { - return null === L ? z : 1 - } - let Q, - K, - $, - tt, - et, - nt, - it, - rt, - st, - at, - ht, - dt, - pt, - mt, - ft, - gt, - vt, - yt, - xt, - _t, - bt, - Mt, - wt = n - function St(t, n) { - for (let i = 0; i < t.length; i++) { - const r = t[i], - s = e.getContext(r, n) - if (null !== s) return s - } - return null - } - try { - const t = { - alpha: i, - depth: r, - stencil: a, - antialias: o, - premultipliedAlpha: l, - preserveDrawingBuffer: c, - powerPreference: h, - failIfMajorPerformanceCaveat: u, - } - if ( - (e.addEventListener('webglcontextlost', Lt, !1), - e.addEventListener('webglcontextrestored', At, !1), - null === wt) - ) { - const e = ['webgl2', 'webgl', 'experimental-webgl'] - if ((!0 === _.isWebGL1Renderer && e.shift(), (wt = St(e, t)), null === wt)) - throw St(e) - ? new Error('Error creating WebGL context with your selected attributes.') - : new Error('Error creating WebGL context.') - } - void 0 === wt.getShaderPrecisionFormat && - (wt.getShaderPrecisionFormat = function () { - return { rangeMin: 1, rangeMax: 1, precision: 1 } - }) - } catch (Ht) { - throw (console.error('THREE.WebGLRenderer: ' + Ht.message), Ht) - } - function Tt() { - ;(Q = new qn(wt)), - (K = new kn(wt, Q, t)), - Q.init(K), - (bt = new Gr(wt, Q, K)), - ($ = new Ur(wt, Q, K)), - (V[0] = 1029), - (tt = new Jn(wt)), - (et = new Tr()), - (nt = new Hr(wt, Q, $, et, K, bt, tt)), - (it = new jn(_)), - (rt = new zn(wt, K)), - (Mt = new Gn(wt, Q, rt, K)), - (st = new Xn(wt, rt, tt, Mt)), - (at = new $n(wt, st, rt, tt)), - (yt = new Kn(wt)), - (ft = new Wn(et)), - (ht = new Sr(_, it, Q, K, Mt, ft)), - (dt = new Xr(et)), - (pt = new Rr(et)), - (mt = new zr(Q, K)), - (vt = new Hn(_, it, $, at, l)), - (gt = new Fr(_, at, K)), - (xt = new Vn(wt, Q, tt, K)), - (_t = new Yn(wt, Q, tt, K)), - (tt.programs = ht.programs), - (_.capabilities = K), - (_.extensions = Q), - (_.properties = et), - (_.renderLists = pt), - (_.shadowMap = gt), - (_.state = $), - (_.info = tt) - } - Tt() - const Et = new qr(_, wt) - function Lt(t) { - t.preventDefault(), console.log('THREE.WebGLRenderer: Context Lost.'), (b = !0) - } - function At() { - console.log('THREE.WebGLRenderer: Context Restored.'), (b = !1) - const t = tt.autoReset, - e = gt.enabled, - n = gt.autoUpdate, - i = gt.needsUpdate, - r = gt.type - Tt(), - (tt.autoReset = t), - (gt.enabled = e), - (gt.autoUpdate = n), - (gt.needsUpdate = i), - (gt.type = r) - } - function Rt(t) { - const e = t.target - e.removeEventListener('dispose', Rt), - (function (t) { - ;(function (t) { - const e = et.get(t).programs - void 0 !== e && - e.forEach(function (t) { - ht.releaseProgram(t) - }) - })(t), - et.remove(t) - })(e) - } - ;(this.xr = Et), - (this.getContext = function () { - return wt - }), - (this.getContextAttributes = function () { - return wt.getContextAttributes() - }), - (this.forceContextLoss = function () { - const t = Q.get('WEBGL_lose_context') - t && t.loseContext() - }), - (this.forceContextRestore = function () { - const t = Q.get('WEBGL_lose_context') - t && t.restoreContext() - }), - (this.getPixelRatio = function () { - return z - }), - (this.setPixelRatio = function (t) { - void 0 !== t && ((z = t), this.setSize(I, N, !1)) - }), - (this.getSize = function (t) { - return t.set(I, N) - }), - (this.setSize = function (t, n, i) { - Et.isPresenting - ? console.warn( - "THREE.WebGLRenderer: Can't change size while VR device is presenting.", - ) - : ((I = t), - (N = n), - (e.width = Math.floor(t * z)), - (e.height = Math.floor(n * z)), - !1 !== i && ((e.style.width = t + 'px'), (e.style.height = n + 'px')), - this.setViewport(0, 0, t, n)) - }), - (this.getDrawingBufferSize = function (t) { - return t.set(I * z, N * z).floor() - }), - (this.setDrawingBufferSize = function (t, n, i) { - ;(I = t), - (N = n), - (z = i), - (e.width = Math.floor(t * i)), - (e.height = Math.floor(n * i)), - this.setViewport(0, 0, t, n) - }), - (this.getCurrentViewport = function (t) { - return t.copy(C) - }), - (this.getViewport = function (t) { - return t.copy(U) - }), - (this.setViewport = function (t, e, n, i) { - t.isVector4 ? U.set(t.x, t.y, t.z, t.w) : U.set(t, e, n, i), - $.viewport(C.copy(U).multiplyScalar(z).floor()) - }), - (this.getScissor = function (t) { - return t.copy(H) - }), - (this.setScissor = function (t, e, n, i) { - t.isVector4 ? H.set(t.x, t.y, t.z, t.w) : H.set(t, e, n, i), - $.scissor(P.copy(H).multiplyScalar(z).floor()) - }), - (this.getScissorTest = function () { - return G - }), - (this.setScissorTest = function (t) { - $.setScissorTest((G = t)) - }), - (this.setOpaqueSort = function (t) { - B = t - }), - (this.setTransparentSort = function (t) { - F = t - }), - (this.getClearColor = function (t) { - return t.copy(vt.getClearColor()) - }), - (this.setClearColor = function () { - vt.setClearColor.apply(vt, arguments) - }), - (this.getClearAlpha = function () { - return vt.getClearAlpha() - }), - (this.setClearAlpha = function () { - vt.setClearAlpha.apply(vt, arguments) - }), - (this.clear = function (t, e, n) { - let i = 0 - ;(void 0 === t || t) && (i |= 16384), - (void 0 === e || e) && (i |= 256), - (void 0 === n || n) && (i |= 1024), - wt.clear(i) - }), - (this.clearColor = function () { - this.clear(!0, !1, !1) - }), - (this.clearDepth = function () { - this.clear(!1, !0, !1) - }), - (this.clearStencil = function () { - this.clear(!1, !1, !0) - }), - (this.dispose = function () { - e.removeEventListener('webglcontextlost', Lt, !1), - e.removeEventListener('webglcontextrestored', At, !1), - pt.dispose(), - mt.dispose(), - et.dispose(), - it.dispose(), - at.dispose(), - Mt.dispose(), - Et.dispose(), - Et.removeEventListener('sessionstart', Pt), - Et.removeEventListener('sessionend', Dt), - q && (q.dispose(), (q = null)), - It.stop() - }), - (this.renderBufferImmediate = function (t, e) { - Mt.initAttributes() - const n = et.get(t) - t.hasPositions && !n.position && (n.position = wt.createBuffer()), - t.hasNormals && !n.normal && (n.normal = wt.createBuffer()), - t.hasUvs && !n.uv && (n.uv = wt.createBuffer()), - t.hasColors && !n.color && (n.color = wt.createBuffer()) - const i = e.getAttributes() - t.hasPositions && - (wt.bindBuffer(34962, n.position), - wt.bufferData(34962, t.positionArray, 35048), - Mt.enableAttribute(i.position), - wt.vertexAttribPointer(i.position, 3, 5126, !1, 0, 0)), - t.hasNormals && - (wt.bindBuffer(34962, n.normal), - wt.bufferData(34962, t.normalArray, 35048), - Mt.enableAttribute(i.normal), - wt.vertexAttribPointer(i.normal, 3, 5126, !1, 0, 0)), - t.hasUvs && - (wt.bindBuffer(34962, n.uv), - wt.bufferData(34962, t.uvArray, 35048), - Mt.enableAttribute(i.uv), - wt.vertexAttribPointer(i.uv, 2, 5126, !1, 0, 0)), - t.hasColors && - (wt.bindBuffer(34962, n.color), - wt.bufferData(34962, t.colorArray, 35048), - Mt.enableAttribute(i.color), - wt.vertexAttribPointer(i.color, 3, 5126, !1, 0, 0)), - Mt.disableUnusedAttributes(), - wt.drawArrays(4, 0, t.count), - (t.count = 0) - }), - (this.renderBufferDirect = function (t, e, n, i, r, s) { - null === e && (e = J) - const a = r.isMesh && r.matrixWorld.determinant() < 0, - o = Ut(t, e, i, r) - $.setMaterial(i, a) - let l = n.index - const c = n.attributes.position - if (null === l) { - if (void 0 === c || 0 === c.count) return - } else if (0 === l.count) return - let h, - u = 1 - !0 === i.wireframe && ((l = st.getWireframeAttribute(n)), (u = 2)), - (i.morphTargets || i.morphNormals) && yt.update(r, n, i, o), - Mt.setup(r, i, o, n, l) - let d = xt - null !== l && ((h = rt.get(l)), (d = _t), d.setIndex(h)) - const p = null !== l ? l.count : c.count, - m = n.drawRange.start * u, - f = n.drawRange.count * u, - g = null !== s ? s.start * u : 0, - v = null !== s ? s.count * u : 1 / 0, - y = Math.max(m, g), - x = Math.min(p, m + f, g + v) - 1, - _ = Math.max(0, x - y + 1) - if (0 !== _) { - if (r.isMesh) - !0 === i.wireframe - ? ($.setLineWidth(i.wireframeLinewidth * Z()), d.setMode(1)) - : d.setMode(4) - else if (r.isLine) { - let t = i.linewidth - void 0 === t && (t = 1), - $.setLineWidth(t * Z()), - r.isLineSegments ? d.setMode(1) : r.isLineLoop ? d.setMode(2) : d.setMode(3) - } else r.isPoints ? d.setMode(0) : r.isSprite && d.setMode(4) - if (r.isInstancedMesh) d.renderInstances(y, _, r.count) - else if (n.isInstancedBufferGeometry) { - const t = Math.min(n.instanceCount, n._maxInstanceCount) - d.renderInstances(y, _, t) - } else d.render(y, _) - } - }), - (this.compile = function (t, e) { - ;(f = mt.get(t)), - f.init(), - t.traverseVisible(function (t) { - t.isLight && - t.layers.test(e.layers) && - (f.pushLight(t), t.castShadow && f.pushShadow(t)) - }), - f.setupLights(), - t.traverse(function (e) { - const n = e.material - if (n) - if (Array.isArray(n)) - for (let i = 0; i < n.length; i++) { - Bt(n[i], t, e) - } - else Bt(n, t, e) - }) - }) - let Ct = null - function Pt() { - It.stop() - } - function Dt() { - It.start() - } - const It = new Nn() - function Nt(t, e, n, i) { - if (!1 === t.visible) return - if (t.layers.test(e.layers)) - if (t.isGroup) n = t.renderOrder - else if (t.isLOD) !0 === t.autoUpdate && t.update(e) - else if (t.isLight) f.pushLight(t), t.castShadow && f.pushShadow(t) - else if (t.isSprite) { - if (!t.frustumCulled || k.intersectsSprite(t)) { - i && Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X) - const e = at.update(t), - r = t.material - r.visible && p.push(t, e, r, n, Y.z, null) - } - } else if (t.isImmediateRenderObject) - i && Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X), - p.push(t, null, t.material, n, Y.z, null) - else if ( - (t.isMesh || t.isLine || t.isPoints) && - (t.isSkinnedMesh && - t.skeleton.frame !== tt.render.frame && - (t.skeleton.update(), (t.skeleton.frame = tt.render.frame)), - !t.frustumCulled || k.intersectsObject(t)) - ) { - i && Y.setFromMatrixPosition(t.matrixWorld).applyMatrix4(X) - const e = at.update(t), - r = t.material - if (Array.isArray(r)) { - const i = e.groups - for (let s = 0, a = i.length; s < a; s++) { - const a = i[s], - o = r[a.materialIndex] - o && o.visible && p.push(t, e, o, n, Y.z, a) - } - } else r.visible && p.push(t, e, r, n, Y.z, null) - } - const r = t.children - for (let s = 0, a = r.length; s < a; s++) Nt(r[s], e, n, i) - } - function zt(t, e, n) { - const i = !0 === e.isScene ? e.overrideMaterial : null - for (let r = 0, s = t.length; r < s; r++) { - const s = t[r], - a = s.object, - o = s.geometry, - l = null === i ? s.material : i, - c = s.group - if (n.isArrayCamera) { - const t = n.cameras - for (let n = 0, i = t.length; n < i; n++) { - const i = t[n] - a.layers.test(i.layers) && - ($.viewport(C.copy(i.viewport)), f.setupLightsView(i), Ot(a, e, i, o, l, c)) - } - } else Ot(a, e, n, o, l, c) - } - } - function Ot(t, e, n, i, r, a) { - if ( - (t.onBeforeRender(_, e, n, i, r, a), - t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse, t.matrixWorld), - t.normalMatrix.getNormalMatrix(t.modelViewMatrix), - t.isImmediateRenderObject) - ) { - const i = Ut(n, e, r, t) - $.setMaterial(r), - Mt.reset(), - (function (t, e) { - t.render(function (t) { - _.renderBufferImmediate(t, e) - }) - })(t, i) - } else - !0 === r.transparent && 2 === r.side - ? ((r.side = s), - (r.needsUpdate = !0), - _.renderBufferDirect(n, e, i, r, t, a), - (r.side = 0), - (r.needsUpdate = !0), - _.renderBufferDirect(n, e, i, r, t, a), - (r.side = 2)) - : _.renderBufferDirect(n, e, i, r, t, a) - t.onAfterRender(_, e, n, i, r, a) - } - function Bt(t, e, n) { - !0 !== e.isScene && (e = J) - const i = et.get(t), - r = f.state.lights, - s = f.state.shadowsArray, - a = r.state.version, - o = ht.getParameters(t, r.state, s, e, n), - l = ht.getProgramCacheKey(o) - let c = i.programs - ;(i.environment = t.isMeshStandardMaterial ? e.environment : null), - (i.fog = e.fog), - (i.envMap = it.get(t.envMap || i.environment)), - void 0 === c && (t.addEventListener('dispose', Rt), (c = new Map()), (i.programs = c)) - let h = c.get(l) - if (void 0 !== h) { - if (i.currentProgram === h && i.lightsStateVersion === a) return Ft(t, o), h - } else - (o.uniforms = ht.getUniforms(t)), - t.onBuild(o, _), - t.onBeforeCompile(o, _), - (h = ht.acquireProgram(o, l)), - c.set(l, h), - (i.uniforms = o.uniforms) - const u = i.uniforms - ;((t.isShaderMaterial || t.isRawShaderMaterial) && !0 !== t.clipping) || - (u.clippingPlanes = ft.uniform), - Ft(t, o), - (i.needsLights = (function (t) { - return ( - t.isMeshLambertMaterial || - t.isMeshToonMaterial || - t.isMeshPhongMaterial || - t.isMeshStandardMaterial || - t.isShadowMaterial || - (t.isShaderMaterial && !0 === t.lights) - ) - })(t)), - (i.lightsStateVersion = a), - i.needsLights && - ((u.ambientLightColor.value = r.state.ambient), - (u.lightProbe.value = r.state.probe), - (u.directionalLights.value = r.state.directional), - (u.directionalLightShadows.value = r.state.directionalShadow), - (u.spotLights.value = r.state.spot), - (u.spotLightShadows.value = r.state.spotShadow), - (u.rectAreaLights.value = r.state.rectArea), - (u.ltc_1.value = r.state.rectAreaLTC1), - (u.ltc_2.value = r.state.rectAreaLTC2), - (u.pointLights.value = r.state.point), - (u.pointLightShadows.value = r.state.pointShadow), - (u.hemisphereLights.value = r.state.hemi), - (u.directionalShadowMap.value = r.state.directionalShadowMap), - (u.directionalShadowMatrix.value = r.state.directionalShadowMatrix), - (u.spotShadowMap.value = r.state.spotShadowMap), - (u.spotShadowMatrix.value = r.state.spotShadowMatrix), - (u.pointShadowMap.value = r.state.pointShadowMap), - (u.pointShadowMatrix.value = r.state.pointShadowMatrix)) - const d = h.getUniforms(), - p = ir.seqWithValue(d.seq, u) - return (i.currentProgram = h), (i.uniformsList = p), h - } - function Ft(t, e) { - const n = et.get(t) - ;(n.outputEncoding = e.outputEncoding), - (n.instancing = e.instancing), - (n.skinning = e.skinning), - (n.numClippingPlanes = e.numClippingPlanes), - (n.numIntersection = e.numClipIntersection), - (n.vertexAlphas = e.vertexAlphas) - } - function Ut(t, e, n, i) { - !0 !== e.isScene && (e = J), nt.resetTextureUnits() - const r = e.fog, - s = n.isMeshStandardMaterial ? e.environment : null, - a = null === L ? _.outputEncoding : L.texture.encoding, - o = it.get(n.envMap || s), - l = - !0 === n.vertexColors && - i.geometry && - i.geometry.attributes.color && - 4 === i.geometry.attributes.color.itemSize, - c = et.get(n), - h = f.state.lights - if (!0 === W && (!0 === j || t !== R)) { - const e = t === R && n.id === A - ft.setState(n, t, e) - } - let u = !1 - n.version === c.__version - ? (c.needsLights && c.lightsStateVersion !== h.state.version) || - c.outputEncoding !== a || - (i.isInstancedMesh && !1 === c.instancing) - ? (u = !0) - : i.isInstancedMesh || !0 !== c.instancing - ? i.isSkinnedMesh && !1 === c.skinning - ? (u = !0) - : i.isSkinnedMesh || !0 !== c.skinning - ? c.envMap !== o || (n.fog && c.fog !== r) - ? (u = !0) - : void 0 === c.numClippingPlanes || - (c.numClippingPlanes === ft.numPlanes && - c.numIntersection === ft.numIntersection) - ? c.vertexAlphas !== l && (u = !0) - : (u = !0) - : (u = !0) - : (u = !0) - : ((u = !0), (c.__version = n.version)) - let d = c.currentProgram - !0 === u && (d = Bt(n, e, i)) - let p = !1, - m = !1, - g = !1 - const v = d.getUniforms(), - y = c.uniforms - if ( - ($.useProgram(d.program) && ((p = !0), (m = !0), (g = !0)), - n.id !== A && ((A = n.id), (m = !0)), - p || R !== t) - ) { - if ( - (v.setValue(wt, 'projectionMatrix', t.projectionMatrix), - K.logarithmicDepthBuffer && - v.setValue(wt, 'logDepthBufFC', 2 / (Math.log(t.far + 1) / Math.LN2)), - R !== t && ((R = t), (m = !0), (g = !0)), - n.isShaderMaterial || - n.isMeshPhongMaterial || - n.isMeshToonMaterial || - n.isMeshStandardMaterial || - n.envMap) - ) { - const e = v.map.cameraPosition - void 0 !== e && e.setValue(wt, Y.setFromMatrixPosition(t.matrixWorld)) - } - ;(n.isMeshPhongMaterial || - n.isMeshToonMaterial || - n.isMeshLambertMaterial || - n.isMeshBasicMaterial || - n.isMeshStandardMaterial || - n.isShaderMaterial) && - v.setValue(wt, 'isOrthographic', !0 === t.isOrthographicCamera), - (n.isMeshPhongMaterial || - n.isMeshToonMaterial || - n.isMeshLambertMaterial || - n.isMeshBasicMaterial || - n.isMeshStandardMaterial || - n.isShaderMaterial || - n.isShadowMaterial || - i.isSkinnedMesh) && - v.setValue(wt, 'viewMatrix', t.matrixWorldInverse) - } - if (i.isSkinnedMesh) { - v.setOptional(wt, i, 'bindMatrix'), v.setOptional(wt, i, 'bindMatrixInverse') - const t = i.skeleton - t && - (K.floatVertexTextures - ? (null === t.boneTexture && t.computeBoneTexture(), - v.setValue(wt, 'boneTexture', t.boneTexture, nt), - v.setValue(wt, 'boneTextureSize', t.boneTextureSize)) - : v.setOptional(wt, t, 'boneMatrices')) - } - var x, b - return ( - (m || c.receiveShadow !== i.receiveShadow) && - ((c.receiveShadow = i.receiveShadow), - v.setValue(wt, 'receiveShadow', i.receiveShadow)), - m && - (v.setValue(wt, 'toneMappingExposure', _.toneMappingExposure), - c.needsLights && - ((b = g), - ((x = y).ambientLightColor.needsUpdate = b), - (x.lightProbe.needsUpdate = b), - (x.directionalLights.needsUpdate = b), - (x.directionalLightShadows.needsUpdate = b), - (x.pointLights.needsUpdate = b), - (x.pointLightShadows.needsUpdate = b), - (x.spotLights.needsUpdate = b), - (x.spotLightShadows.needsUpdate = b), - (x.rectAreaLights.needsUpdate = b), - (x.hemisphereLights.needsUpdate = b)), - r && n.fog && dt.refreshFogUniforms(y, r), - dt.refreshMaterialUniforms(y, n, z, N, q), - ir.upload(wt, c.uniformsList, y, nt)), - n.isShaderMaterial && - !0 === n.uniformsNeedUpdate && - (ir.upload(wt, c.uniformsList, y, nt), (n.uniformsNeedUpdate = !1)), - n.isSpriteMaterial && v.setValue(wt, 'center', i.center), - v.setValue(wt, 'modelViewMatrix', i.modelViewMatrix), - v.setValue(wt, 'normalMatrix', i.normalMatrix), - v.setValue(wt, 'modelMatrix', i.matrixWorld), - d - ) - } - It.setAnimationLoop(function (t) { - Ct && Ct(t) - }), - 'undefined' !== typeof window && It.setContext(window), - (this.setAnimationLoop = function (t) { - ;(Ct = t), Et.setAnimationLoop(t), null === t ? It.stop() : It.start() - }), - Et.addEventListener('sessionstart', Pt), - Et.addEventListener('sessionend', Dt), - (this.render = function (t, e) { - if (void 0 !== e && !0 !== e.isCamera) - return void console.error( - 'THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.', - ) - if (!0 === b) return - !0 === t.autoUpdate && t.updateMatrixWorld(), - null === e.parent && e.updateMatrixWorld(), - !0 === Et.enabled && - !0 === Et.isPresenting && - (!0 === Et.cameraAutoUpdate && Et.updateCamera(e), (e = Et.getCamera())), - !0 === t.isScene && t.onBeforeRender(_, t, e, L), - (f = mt.get(t, v.length)), - f.init(), - v.push(f), - X.multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse), - k.setFromProjectionMatrix(X), - (j = this.localClippingEnabled), - (W = ft.init(this.clippingPlanes, j, e)), - (p = pt.get(t, g.length)), - p.init(), - g.push(p), - Nt(t, e, 0, _.sortObjects), - p.finish(), - !0 === _.sortObjects && p.sort(B, F), - !0 === W && ft.beginShadows() - const n = f.state.shadowsArray - gt.render(n, t, e), - f.setupLights(), - f.setupLightsView(e), - !0 === W && ft.endShadows(), - !0 === this.info.autoReset && this.info.reset(), - vt.render(p, t) - const i = p.opaque, - r = p.transmissive, - s = p.transparent - i.length > 0 && zt(i, t, e), - r.length > 0 && - (function (t, e, n, i) { - if (null === q) { - const t = !0 === o && !0 === K.isWebGL2 - q = new (t ? ct : lt)(1024, 1024, { - generateMipmaps: !0, - type: null !== bt.convert(w) ? w : x, - minFilter: y, - magFilter: m, - wrapS: d, - wrapT: d, - }) - } - const r = _.getRenderTarget() - _.setRenderTarget(q), _.clear() - const s = _.toneMapping - ;(_.toneMapping = 0), - zt(t, n, i), - (_.toneMapping = s), - nt.updateMultisampleRenderTarget(q), - nt.updateRenderTargetMipmap(q), - _.setRenderTarget(r), - zt(e, n, i) - })(i, r, t, e), - s.length > 0 && zt(s, t, e), - null !== L && (nt.updateMultisampleRenderTarget(L), nt.updateRenderTargetMipmap(L)), - !0 === t.isScene && t.onAfterRender(_, t, e), - $.buffers.depth.setTest(!0), - $.buffers.depth.setMask(!0), - $.buffers.color.setMask(!0), - $.setPolygonOffset(!1), - Mt.resetDefaultState(), - (A = -1), - (R = null), - v.pop(), - (f = v.length > 0 ? v[v.length - 1] : null), - g.pop(), - (p = g.length > 0 ? g[g.length - 1] : null) - }), - (this.getActiveCubeFace = function () { - return S - }), - (this.getActiveMipmapLevel = function () { - return T - }), - (this.getRenderTarget = function () { - return L - }), - (this.setRenderTarget = function (t, e = 0, n = 0) { - ;(L = t), - (S = e), - (T = n), - t && void 0 === et.get(t).__webglFramebuffer && nt.setupRenderTarget(t) - let i = null, - r = !1, - s = !1 - if (t) { - const n = t.texture - ;(n.isDataTexture3D || n.isDataTexture2DArray) && (s = !0) - const a = et.get(t).__webglFramebuffer - t.isWebGLCubeRenderTarget - ? ((i = a[e]), (r = !0)) - : (i = t.isWebGLMultisampleRenderTarget - ? et.get(t).__webglMultisampledFramebuffer - : a), - C.copy(t.viewport), - P.copy(t.scissor), - (D = t.scissorTest) - } else C.copy(U).multiplyScalar(z).floor(), P.copy(H).multiplyScalar(z).floor(), (D = G) - if ($.bindFramebuffer(36160, i) && K.drawBuffers) { - let e = !1 - if (t) - if (t.isWebGLMultipleRenderTargets) { - const n = t.texture - if (V.length !== n.length || 36064 !== V[0]) { - for (let t = 0, e = n.length; t < e; t++) V[t] = 36064 + t - ;(V.length = n.length), (e = !0) - } - } else - (1 === V.length && 36064 === V[0]) || ((V[0] = 36064), (V.length = 1), (e = !0)) - else (1 === V.length && 1029 === V[0]) || ((V[0] = 1029), (V.length = 1), (e = !0)) - e && - (K.isWebGL2 ? wt.drawBuffers(V) : Q.get('WEBGL_draw_buffers').drawBuffersWEBGL(V)) - } - if (($.viewport(C), $.scissor(P), $.setScissorTest(D), r)) { - const i = et.get(t.texture) - wt.framebufferTexture2D(36160, 36064, 34069 + e, i.__webglTexture, n) - } else if (s) { - const i = et.get(t.texture), - r = e || 0 - wt.framebufferTextureLayer(36160, 36064, i.__webglTexture, n || 0, r) - } - }), - (this.readRenderTargetPixels = function (t, e, n, i, r, s, a) { - if (!t || !t.isWebGLRenderTarget) - return void console.error( - 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.', - ) - let o = et.get(t).__webglFramebuffer - if ((t.isWebGLCubeRenderTarget && void 0 !== a && (o = o[a]), o)) { - $.bindFramebuffer(36160, o) - try { - const a = t.texture, - o = a.format, - l = a.type - if (o !== E && bt.convert(o) !== wt.getParameter(35739)) - return void console.error( - 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.', - ) - const c = - l === w && - (Q.has('EXT_color_buffer_half_float') || - (K.isWebGL2 && Q.has('EXT_color_buffer_float'))) - if ( - l !== x && - bt.convert(l) !== wt.getParameter(35738) && - (l !== M || - !( - K.isWebGL2 || - Q.has('OES_texture_float') || - Q.has('WEBGL_color_buffer_float') - )) && - !c - ) - return void console.error( - 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.', - ) - 36053 === wt.checkFramebufferStatus(36160) - ? e >= 0 && - e <= t.width - i && - n >= 0 && - n <= t.height - r && - wt.readPixels(e, n, i, r, bt.convert(o), bt.convert(l), s) - : console.error( - 'THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete.', - ) - } finally { - const t = null !== L ? et.get(L).__webglFramebuffer : null - $.bindFramebuffer(36160, t) - } - } - }), - (this.copyFramebufferToTexture = function (t, e, n = 0) { - const i = Math.pow(2, -n), - r = Math.floor(e.image.width * i), - s = Math.floor(e.image.height * i) - let a = bt.convert(e.format) - K.isWebGL2 && (6407 === a && (a = 32849), 6408 === a && (a = 32856)), - nt.setTexture2D(e, 0), - wt.copyTexImage2D(3553, n, a, t.x, t.y, r, s, 0), - $.unbindTexture() - }), - (this.copyTextureToTexture = function (t, e, n, i = 0) { - const r = e.image.width, - s = e.image.height, - a = bt.convert(n.format), - o = bt.convert(n.type) - nt.setTexture2D(n, 0), - wt.pixelStorei(37440, n.flipY), - wt.pixelStorei(37441, n.premultiplyAlpha), - wt.pixelStorei(3317, n.unpackAlignment), - e.isDataTexture - ? wt.texSubImage2D(3553, i, t.x, t.y, r, s, a, o, e.image.data) - : e.isCompressedTexture - ? wt.compressedTexSubImage2D( - 3553, - i, - t.x, - t.y, - e.mipmaps[0].width, - e.mipmaps[0].height, - a, - e.mipmaps[0].data, - ) - : wt.texSubImage2D(3553, i, t.x, t.y, a, o, e.image), - 0 === i && n.generateMipmaps && wt.generateMipmap(3553), - $.unbindTexture() - }), - (this.copyTextureToTexture3D = function (t, e, n, i, r = 0) { - if (_.isWebGL1Renderer) - return void console.warn( - 'THREE.WebGLRenderer.copyTextureToTexture3D: can only be used with WebGL2.', - ) - const s = t.max.x - t.min.x + 1, - a = t.max.y - t.min.y + 1, - o = t.max.z - t.min.z + 1, - l = bt.convert(i.format), - c = bt.convert(i.type) - let h - if (i.isDataTexture3D) nt.setTexture3D(i, 0), (h = 32879) - else { - if (!i.isDataTexture2DArray) - return void console.warn( - 'THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.', - ) - nt.setTexture2DArray(i, 0), (h = 35866) - } - wt.pixelStorei(37440, i.flipY), - wt.pixelStorei(37441, i.premultiplyAlpha), - wt.pixelStorei(3317, i.unpackAlignment) - const u = wt.getParameter(3314), - d = wt.getParameter(32878), - p = wt.getParameter(3316), - m = wt.getParameter(3315), - f = wt.getParameter(32877), - g = n.isCompressedTexture ? n.mipmaps[0] : n.image - wt.pixelStorei(3314, g.width), - wt.pixelStorei(32878, g.height), - wt.pixelStorei(3316, t.min.x), - wt.pixelStorei(3315, t.min.y), - wt.pixelStorei(32877, t.min.z), - n.isDataTexture || n.isDataTexture3D - ? wt.texSubImage3D(h, r, e.x, e.y, e.z, s, a, o, l, c, g.data) - : n.isCompressedTexture - ? (console.warn( - 'THREE.WebGLRenderer.copyTextureToTexture3D: untested support for compressed srcTexture.', - ), - wt.compressedTexSubImage3D(h, r, e.x, e.y, e.z, s, a, o, l, g.data)) - : wt.texSubImage3D(h, r, e.x, e.y, e.z, s, a, o, l, c, g), - wt.pixelStorei(3314, u), - wt.pixelStorei(32878, d), - wt.pixelStorei(3316, p), - wt.pixelStorei(3315, m), - wt.pixelStorei(32877, f), - 0 === r && i.generateMipmaps && wt.generateMipmap(h), - $.unbindTexture() - }), - (this.initTexture = function (t) { - nt.setTexture2D(t, 0), $.unbindTexture() - }), - (this.resetState = function () { - ;(S = 0), (T = 0), (L = null), $.reset(), Mt.reset() - }), - 'undefined' !== typeof __THREE_DEVTOOLS__ && - __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent('observe', { detail: this })) - } - ;(class extends Yr {}.prototype.isWebGL1Renderer = !0) - class Jr { - constructor(t, e = 25e-5) { - ;(this.name = ''), (this.color = new Ie(t)), (this.density = e) - } - clone() { - return new Jr(this.color, this.density) - } - toJSON() { - return { type: 'FogExp2', color: this.color.getHex(), density: this.density } - } - } - Jr.prototype.isFogExp2 = !0 - class Zr { - constructor(t, e = 1, n = 1e3) { - ;(this.name = ''), (this.color = new Ie(t)), (this.near = e), (this.far = n) - } - clone() { - return new Zr(this.color, this.near, this.far) - } - toJSON() { - return { type: 'Fog', color: this.color.getHex(), near: this.near, far: this.far } - } - } - Zr.prototype.isFog = !0 - class Qr extends pe { - 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(t, e) { - return ( - super.copy(t, e), - null !== t.background && (this.background = t.background.clone()), - null !== t.environment && (this.environment = t.environment.clone()), - null !== t.fog && (this.fog = t.fog.clone()), - null !== t.overrideMaterial && (this.overrideMaterial = t.overrideMaterial.clone()), - (this.autoUpdate = t.autoUpdate), - (this.matrixAutoUpdate = t.matrixAutoUpdate), - this - ) - } - toJSON(t) { - const e = super.toJSON(t) - return null !== this.fog && (e.object.fog = this.fog.toJSON()), e - } - } - Qr.prototype.isScene = !0 - class Kr { - constructor(t, e) { - ;(this.array = t), - (this.stride = e), - (this.count = void 0 !== t ? t.length / e : 0), - (this.usage = G), - (this.updateRange = { offset: 0, count: -1 }), - (this.version = 0), - (this.uuid = Y()) - } - onUploadCallback() {} - set needsUpdate(t) { - !0 === t && this.version++ - } - setUsage(t) { - return (this.usage = t), this - } - copy(t) { - return ( - (this.array = new t.array.constructor(t.array)), - (this.count = t.count), - (this.stride = t.stride), - (this.usage = t.usage), - this - ) - } - copyAt(t, e, n) { - ;(t *= this.stride), (n *= e.stride) - for (let i = 0, r = this.stride; i < r; i++) this.array[t + i] = e.array[n + i] - return this - } - set(t, e = 0) { - return this.array.set(t, e), this - } - clone(t) { - void 0 === t.arrayBuffers && (t.arrayBuffers = {}), - void 0 === this.array.buffer._uuid && (this.array.buffer._uuid = Y()), - void 0 === t.arrayBuffers[this.array.buffer._uuid] && - (t.arrayBuffers[this.array.buffer._uuid] = this.array.slice(0).buffer) - const e = new this.array.constructor(t.arrayBuffers[this.array.buffer._uuid]), - n = new this.constructor(e, this.stride) - return n.setUsage(this.usage), n - } - onUpload(t) { - return (this.onUploadCallback = t), this - } - toJSON(t) { - return ( - void 0 === t.arrayBuffers && (t.arrayBuffers = {}), - void 0 === this.array.buffer._uuid && (this.array.buffer._uuid = Y()), - void 0 === t.arrayBuffers[this.array.buffer._uuid] && - (t.arrayBuffers[this.array.buffer._uuid] = Array.prototype.slice.call( - new Uint32Array(this.array.buffer), - )), - { - uuid: this.uuid, - buffer: this.array.buffer._uuid, - type: this.array.constructor.name, - stride: this.stride, - } - ) - } - } - Kr.prototype.isInterleavedBuffer = !0 - const $r = new ut() - class ts { - constructor(t, e, n, i = !1) { - ;(this.name = ''), - (this.data = t), - (this.itemSize = e), - (this.offset = n), - (this.normalized = !0 === i) - } - get count() { - return this.data.count - } - get array() { - return this.data.array - } - set needsUpdate(t) { - this.data.needsUpdate = t - } - applyMatrix4(t) { - for (let e = 0, n = this.data.count; e < n; e++) - ($r.x = this.getX(e)), - ($r.y = this.getY(e)), - ($r.z = this.getZ(e)), - $r.applyMatrix4(t), - this.setXYZ(e, $r.x, $r.y, $r.z) - return this - } - applyNormalMatrix(t) { - for (let e = 0, n = this.count; e < n; e++) - ($r.x = this.getX(e)), - ($r.y = this.getY(e)), - ($r.z = this.getZ(e)), - $r.applyNormalMatrix(t), - this.setXYZ(e, $r.x, $r.y, $r.z) - return this - } - transformDirection(t) { - for (let e = 0, n = this.count; e < n; e++) - ($r.x = this.getX(e)), - ($r.y = this.getY(e)), - ($r.z = this.getZ(e)), - $r.transformDirection(t), - this.setXYZ(e, $r.x, $r.y, $r.z) - return this - } - setX(t, e) { - return (this.data.array[t * this.data.stride + this.offset] = e), this - } - setY(t, e) { - return (this.data.array[t * this.data.stride + this.offset + 1] = e), this - } - setZ(t, e) { - return (this.data.array[t * this.data.stride + this.offset + 2] = e), this - } - setW(t, e) { - return (this.data.array[t * this.data.stride + this.offset + 3] = e), this - } - getX(t) { - return this.data.array[t * this.data.stride + this.offset] - } - getY(t) { - return this.data.array[t * this.data.stride + this.offset + 1] - } - getZ(t) { - return this.data.array[t * this.data.stride + this.offset + 2] - } - getW(t) { - return this.data.array[t * this.data.stride + this.offset + 3] - } - setXY(t, e, n) { - return ( - (t = t * this.data.stride + this.offset), - (this.data.array[t + 0] = e), - (this.data.array[t + 1] = n), - this - ) - } - setXYZ(t, e, n, i) { - return ( - (t = t * this.data.stride + this.offset), - (this.data.array[t + 0] = e), - (this.data.array[t + 1] = n), - (this.data.array[t + 2] = i), - this - ) - } - setXYZW(t, e, n, i, r) { - return ( - (t = t * this.data.stride + this.offset), - (this.data.array[t + 0] = e), - (this.data.array[t + 1] = n), - (this.data.array[t + 2] = i), - (this.data.array[t + 3] = r), - this - ) - } - clone(t) { - if (void 0 === t) { - console.log( - 'THREE.InterleavedBufferAttribute.clone(): Cloning an interlaved buffer attribute will deinterleave buffer data.', - ) - const t = [] - for (let e = 0; e < this.count; e++) { - const n = e * this.data.stride + this.offset - for (let e = 0; e < this.itemSize; e++) t.push(this.data.array[n + e]) - } - return new Be(new this.array.constructor(t), this.itemSize, this.normalized) - } - return ( - void 0 === t.interleavedBuffers && (t.interleavedBuffers = {}), - void 0 === t.interleavedBuffers[this.data.uuid] && - (t.interleavedBuffers[this.data.uuid] = this.data.clone(t)), - new ts( - t.interleavedBuffers[this.data.uuid], - this.itemSize, - this.offset, - this.normalized, - ) - ) - } - toJSON(t) { - if (void 0 === t) { - console.log( - 'THREE.InterleavedBufferAttribute.toJSON(): Serializing an interlaved buffer attribute will deinterleave buffer data.', - ) - const t = [] - for (let e = 0; e < this.count; e++) { - const n = e * this.data.stride + this.offset - for (let e = 0; e < this.itemSize; e++) t.push(this.data.array[n + e]) - } - return { - itemSize: this.itemSize, - type: this.array.constructor.name, - array: t, - normalized: this.normalized, - } - } - return ( - void 0 === t.interleavedBuffers && (t.interleavedBuffers = {}), - void 0 === t.interleavedBuffers[this.data.uuid] && - (t.interleavedBuffers[this.data.uuid] = this.data.toJSON(t)), - { - isInterleavedBufferAttribute: !0, - itemSize: this.itemSize, - data: this.data.uuid, - offset: this.offset, - normalized: this.normalized, - } - ) - } - } - ts.prototype.isInterleavedBufferAttribute = !0 - class es extends Ee { - constructor(t) { - super(), - (this.type = 'SpriteMaterial'), - (this.color = new Ie(16777215)), - (this.map = null), - (this.alphaMap = null), - (this.rotation = 0), - (this.sizeAttenuation = !0), - (this.transparent = !0), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - this.color.copy(t.color), - (this.map = t.map), - (this.alphaMap = t.alphaMap), - (this.rotation = t.rotation), - (this.sizeAttenuation = t.sizeAttenuation), - this - ) - } - } - let ns - es.prototype.isSpriteMaterial = !0 - const is = new ut(), - rs = new ut(), - ss = new ut(), - as = new tt(), - os = new tt(), - ls = new Vt(), - cs = new ut(), - hs = new ut(), - us = new ut(), - ds = new tt(), - ps = new tt(), - ms = new tt() - class fs extends pe { - constructor(t) { - if ((super(), (this.type = 'Sprite'), void 0 === ns)) { - ns = new Je() - const t = new Float32Array([ - -0.5, -0.5, 0, 0, 0, 0.5, -0.5, 0, 1, 0, 0.5, 0.5, 0, 1, 1, -0.5, 0.5, 0, 0, 1, - ]), - e = new Kr(t, 5) - ns.setIndex([0, 1, 2, 0, 2, 3]), - ns.setAttribute('position', new ts(e, 3, 0, !1)), - ns.setAttribute('uv', new ts(e, 2, 3, !1)) - } - ;(this.geometry = ns), - (this.material = void 0 !== t ? t : new es()), - (this.center = new tt(0.5, 0.5)) - } - raycast(t, e) { - null === t.camera && - console.error( - 'THREE.Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.', - ), - rs.setFromMatrixScale(this.matrixWorld), - ls.copy(t.camera.matrixWorld), - this.modelViewMatrix.multiplyMatrices(t.camera.matrixWorldInverse, this.matrixWorld), - ss.setFromMatrixPosition(this.modelViewMatrix), - t.camera.isPerspectiveCamera && - !1 === this.material.sizeAttenuation && - rs.multiplyScalar(-ss.z) - const n = this.material.rotation - let i, r - 0 !== n && ((r = Math.cos(n)), (i = Math.sin(n))) - const s = this.center - gs(cs.set(-0.5, -0.5, 0), ss, s, rs, i, r), - gs(hs.set(0.5, -0.5, 0), ss, s, rs, i, r), - gs(us.set(0.5, 0.5, 0), ss, s, rs, i, r), - ds.set(0, 0), - ps.set(1, 0), - ms.set(1, 1) - let a = t.ray.intersectTriangle(cs, hs, us, !1, is) - if ( - null === a && - (gs(hs.set(-0.5, 0.5, 0), ss, s, rs, i, r), - ps.set(0, 1), - (a = t.ray.intersectTriangle(cs, us, hs, !1, is)), - null === a) - ) - return - const o = t.ray.origin.distanceTo(is) - o < t.near || - o > t.far || - e.push({ - distance: o, - point: is.clone(), - uv: Se.getUV(is, cs, hs, us, ds, ps, ms, new tt()), - face: null, - object: this, - }) - } - copy(t) { - return ( - super.copy(t), - void 0 !== t.center && this.center.copy(t.center), - (this.material = t.material), - this - ) - } - } - function gs(t, e, n, i, r, s) { - as.subVectors(t, n).addScalar(0.5).multiply(i), - void 0 !== r ? ((os.x = s * as.x - r * as.y), (os.y = r * as.x + s * as.y)) : os.copy(as), - t.copy(e), - (t.x += os.x), - (t.y += os.y), - t.applyMatrix4(ls) - } - fs.prototype.isSprite = !0 - const vs = new ut(), - ys = new ot(), - xs = new ot(), - _s = new ut(), - bs = new Vt() - class Ms extends mn { - constructor(t, e) { - super(t, e), - (this.type = 'SkinnedMesh'), - (this.bindMode = 'attached'), - (this.bindMatrix = new Vt()), - (this.bindMatrixInverse = new Vt()) - } - copy(t) { - return ( - super.copy(t), - (this.bindMode = t.bindMode), - this.bindMatrix.copy(t.bindMatrix), - this.bindMatrixInverse.copy(t.bindMatrixInverse), - (this.skeleton = t.skeleton), - this - ) - } - bind(t, e) { - ;(this.skeleton = t), - void 0 === e && - (this.updateMatrixWorld(!0), - this.skeleton.calculateInverses(), - (e = this.matrixWorld)), - this.bindMatrix.copy(e), - this.bindMatrixInverse.copy(e).invert() - } - pose() { - this.skeleton.pose() - } - normalizeSkinWeights() { - const t = new ot(), - e = this.geometry.attributes.skinWeight - for (let n = 0, i = e.count; n < i; n++) { - ;(t.x = e.getX(n)), (t.y = e.getY(n)), (t.z = e.getZ(n)), (t.w = e.getW(n)) - const i = 1 / t.manhattanLength() - i !== 1 / 0 ? t.multiplyScalar(i) : t.set(1, 0, 0, 0), e.setXYZW(n, t.x, t.y, t.z, t.w) - } - } - updateMatrixWorld(t) { - super.updateMatrixWorld(t), - 'attached' === this.bindMode - ? this.bindMatrixInverse.copy(this.matrixWorld).invert() - : 'detached' === this.bindMode - ? this.bindMatrixInverse.copy(this.bindMatrix).invert() - : console.warn('THREE.SkinnedMesh: Unrecognized bindMode: ' + this.bindMode) - } - boneTransform(t, e) { - const n = this.skeleton, - i = this.geometry - ys.fromBufferAttribute(i.attributes.skinIndex, t), - xs.fromBufferAttribute(i.attributes.skinWeight, t), - vs.fromBufferAttribute(i.attributes.position, t).applyMatrix4(this.bindMatrix), - e.set(0, 0, 0) - for (let r = 0; r < 4; r++) { - const t = xs.getComponent(r) - if (0 !== t) { - const i = ys.getComponent(r) - bs.multiplyMatrices(n.bones[i].matrixWorld, n.boneInverses[i]), - e.addScaledVector(_s.copy(vs).applyMatrix4(bs), t) - } - } - return e.applyMatrix4(this.bindMatrixInverse) - } - } - Ms.prototype.isSkinnedMesh = !0 - class ws extends pe { - constructor() { - super(), (this.type = 'Bone') - } - } - ws.prototype.isBone = !0 - class Ss extends st { - constructor(t = null, e = 1, n = 1, i, r, s, a, o, l = 1003, c = 1003, h, u) { - super(null, s, a, o, l, c, i, r, h, u), - (this.image = { data: t, width: e, height: n }), - (this.magFilter = l), - (this.minFilter = c), - (this.generateMipmaps = !1), - (this.flipY = !1), - (this.unpackAlignment = 1), - (this.needsUpdate = !0) - } - } - Ss.prototype.isDataTexture = !0 - const Ts = new Vt(), - Es = new Vt(), - Ls = [], - As = new mn() - class Rs extends mn { - constructor(t, e, n) { - super(t, e), - (this.instanceMatrix = new Be(new Float32Array(16 * n), 16)), - (this.instanceColor = null), - (this.count = n), - (this.frustumCulled = !1) - } - copy(t) { - return ( - super.copy(t), - this.instanceMatrix.copy(t.instanceMatrix), - null !== t.instanceColor && (this.instanceColor = t.instanceColor.clone()), - (this.count = t.count), - this - ) - } - getColorAt(t, e) { - e.fromArray(this.instanceColor.array, 3 * t) - } - getMatrixAt(t, e) { - e.fromArray(this.instanceMatrix.array, 16 * t) - } - raycast(t, e) { - const n = this.matrixWorld, - i = this.count - if ( - ((As.geometry = this.geometry), (As.material = this.material), void 0 !== As.material) - ) - for (let r = 0; r < i; r++) { - this.getMatrixAt(r, Ts), - Es.multiplyMatrices(n, Ts), - (As.matrixWorld = Es), - As.raycast(t, Ls) - for (let t = 0, n = Ls.length; t < n; t++) { - const n = Ls[t] - ;(n.instanceId = r), (n.object = this), e.push(n) - } - Ls.length = 0 - } - } - setColorAt(t, e) { - null === this.instanceColor && - (this.instanceColor = new Be(new Float32Array(3 * this.count), 3)), - e.toArray(this.instanceColor.array, 3 * t) - } - setMatrixAt(t, e) { - e.toArray(this.instanceMatrix.array, 16 * t) - } - updateMorphTargets() {} - dispose() { - this.dispatchEvent({ type: 'dispose' }) - } - } - Rs.prototype.isInstancedMesh = !0 - class Cs extends Ee { - constructor(t) { - super(), - (this.type = 'LineBasicMaterial'), - (this.color = new Ie(16777215)), - (this.linewidth = 1), - (this.linecap = 'round'), - (this.linejoin = 'round'), - (this.morphTargets = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - this.color.copy(t.color), - (this.linewidth = t.linewidth), - (this.linecap = t.linecap), - (this.linejoin = t.linejoin), - (this.morphTargets = t.morphTargets), - this - ) - } - } - Cs.prototype.isLineBasicMaterial = !0 - const Ps = new ut(), - Ds = new ut(), - Is = new Vt(), - Ns = new Gt(), - zs = new It() - class Os extends pe { - constructor(t = new Je(), e = new Cs()) { - super(), - (this.type = 'Line'), - (this.geometry = t), - (this.material = e), - this.updateMorphTargets() - } - copy(t) { - return super.copy(t), (this.material = t.material), (this.geometry = t.geometry), this - } - computeLineDistances() { - const t = this.geometry - if (t.isBufferGeometry) - if (null === t.index) { - const e = t.attributes.position, - n = [0] - for (let t = 1, i = e.count; t < i; t++) - Ps.fromBufferAttribute(e, t - 1), - Ds.fromBufferAttribute(e, t), - (n[t] = n[t - 1]), - (n[t] += Ps.distanceTo(Ds)) - t.setAttribute('lineDistance', new He(n, 1)) - } else - console.warn( - 'THREE.Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.', - ) - else - t.isGeometry && - console.error( - 'THREE.Line.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - return this - } - raycast(t, e) { - const n = this.geometry, - i = this.matrixWorld, - r = t.params.Line.threshold, - s = n.drawRange - if ( - (null === n.boundingSphere && n.computeBoundingSphere(), - zs.copy(n.boundingSphere), - zs.applyMatrix4(i), - (zs.radius += r), - !1 === t.ray.intersectsSphere(zs)) - ) - return - Is.copy(i).invert(), Ns.copy(t.ray).applyMatrix4(Is) - const a = r / ((this.scale.x + this.scale.y + this.scale.z) / 3), - o = a * a, - l = new ut(), - c = new ut(), - h = new ut(), - u = new ut(), - d = this.isLineSegments ? 2 : 1 - if (n.isBufferGeometry) { - const i = n.index, - r = n.attributes.position - if (null !== i) { - for ( - let n = Math.max(0, s.start), a = Math.min(i.count, s.start + s.count) - 1; - n < a; - n += d - ) { - const s = i.getX(n), - a = i.getX(n + 1) - l.fromBufferAttribute(r, s), c.fromBufferAttribute(r, a) - if (Ns.distanceSqToSegment(l, c, u, h) > o) continue - u.applyMatrix4(this.matrixWorld) - const d = t.ray.origin.distanceTo(u) - d < t.near || - d > t.far || - e.push({ - distance: d, - point: h.clone().applyMatrix4(this.matrixWorld), - index: n, - face: null, - faceIndex: null, - object: this, - }) - } - } else { - for ( - let n = Math.max(0, s.start), i = Math.min(r.count, s.start + s.count) - 1; - n < i; - n += d - ) { - l.fromBufferAttribute(r, n), c.fromBufferAttribute(r, n + 1) - if (Ns.distanceSqToSegment(l, c, u, h) > o) continue - u.applyMatrix4(this.matrixWorld) - const i = t.ray.origin.distanceTo(u) - i < t.near || - i > t.far || - e.push({ - distance: i, - point: h.clone().applyMatrix4(this.matrixWorld), - index: n, - face: null, - faceIndex: null, - object: this, - }) - } - } - } else - n.isGeometry && - console.error( - 'THREE.Line.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - } - updateMorphTargets() { - const t = this.geometry - if (t.isBufferGeometry) { - const e = t.morphAttributes, - n = Object.keys(e) - if (n.length > 0) { - const t = e[n[0]] - if (void 0 !== t) { - ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {}) - for (let e = 0, n = t.length; e < n; e++) { - const n = t[e].name || String(e) - this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = e) - } - } - } - } else { - const e = t.morphTargets - void 0 !== e && - e.length > 0 && - console.error( - 'THREE.Line.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - } - } - } - Os.prototype.isLine = !0 - const Bs = new ut(), - Fs = new ut() - class Us extends Os { - constructor(t, e) { - super(t, e), (this.type = 'LineSegments') - } - computeLineDistances() { - const t = this.geometry - if (t.isBufferGeometry) - if (null === t.index) { - const e = t.attributes.position, - n = [] - for (let t = 0, i = e.count; t < i; t += 2) - Bs.fromBufferAttribute(e, t), - Fs.fromBufferAttribute(e, t + 1), - (n[t] = 0 === t ? 0 : n[t - 1]), - (n[t + 1] = n[t] + Bs.distanceTo(Fs)) - t.setAttribute('lineDistance', new He(n, 1)) - } else - console.warn( - 'THREE.LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.', - ) - else - t.isGeometry && - console.error( - 'THREE.LineSegments.computeLineDistances() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - return this - } - } - Us.prototype.isLineSegments = !0 - class Hs extends Os { - constructor(t, e) { - super(t, e), (this.type = 'LineLoop') - } - } - Hs.prototype.isLineLoop = !0 - class Gs extends Ee { - constructor(t) { - super(), - (this.type = 'PointsMaterial'), - (this.color = new Ie(16777215)), - (this.map = null), - (this.alphaMap = null), - (this.size = 1), - (this.sizeAttenuation = !0), - (this.morphTargets = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - this.color.copy(t.color), - (this.map = t.map), - (this.alphaMap = t.alphaMap), - (this.size = t.size), - (this.sizeAttenuation = t.sizeAttenuation), - (this.morphTargets = t.morphTargets), - this - ) - } - } - Gs.prototype.isPointsMaterial = !0 - const Vs = new Vt(), - ks = new Gt(), - Ws = new It(), - js = new ut() - class qs extends pe { - constructor(t = new Je(), e = new Gs()) { - super(), - (this.type = 'Points'), - (this.geometry = t), - (this.material = e), - this.updateMorphTargets() - } - copy(t) { - return super.copy(t), (this.material = t.material), (this.geometry = t.geometry), this - } - raycast(t, e) { - const n = this.geometry, - i = this.matrixWorld, - r = t.params.Points.threshold, - s = n.drawRange - if ( - (null === n.boundingSphere && n.computeBoundingSphere(), - Ws.copy(n.boundingSphere), - Ws.applyMatrix4(i), - (Ws.radius += r), - !1 === t.ray.intersectsSphere(Ws)) - ) - return - Vs.copy(i).invert(), ks.copy(t.ray).applyMatrix4(Vs) - const a = r / ((this.scale.x + this.scale.y + this.scale.z) / 3), - o = a * a - if (n.isBufferGeometry) { - const r = n.index, - a = n.attributes.position - if (null !== r) { - for ( - let n = Math.max(0, s.start), l = Math.min(r.count, s.start + s.count); - n < l; - n++ - ) { - const s = r.getX(n) - js.fromBufferAttribute(a, s), Xs(js, s, o, i, t, e, this) - } - } else { - for ( - let n = Math.max(0, s.start), r = Math.min(a.count, s.start + s.count); - n < r; - n++ - ) - js.fromBufferAttribute(a, n), Xs(js, n, o, i, t, e, this) - } - } else - console.error( - 'THREE.Points.raycast() no longer supports THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - } - updateMorphTargets() { - const t = this.geometry - if (t.isBufferGeometry) { - const e = t.morphAttributes, - n = Object.keys(e) - if (n.length > 0) { - const t = e[n[0]] - if (void 0 !== t) { - ;(this.morphTargetInfluences = []), (this.morphTargetDictionary = {}) - for (let e = 0, n = t.length; e < n; e++) { - const n = t[e].name || String(e) - this.morphTargetInfluences.push(0), (this.morphTargetDictionary[n] = e) - } - } - } - } else { - const e = t.morphTargets - void 0 !== e && - e.length > 0 && - console.error( - 'THREE.Points.updateMorphTargets() does not support THREE.Geometry. Use THREE.BufferGeometry instead.', - ) - } - } - } - function Xs(t, e, n, i, r, s, a) { - const o = ks.distanceSqToPoint(t) - if (o < n) { - const n = new ut() - ks.closestPointToPoint(t, n), n.applyMatrix4(i) - const l = r.ray.origin.distanceTo(n) - if (l < r.near || l > r.far) return - s.push({ - distance: l, - distanceToRay: Math.sqrt(o), - point: n, - index: e, - face: null, - object: a, - }) - } - } - qs.prototype.isPoints = !0 - ;(class extends st { - constructor(t, e, n, i, r, s, a, o, l) { - super(t, e, n, i, r, s, a, o, l), - (this.format = void 0 !== a ? a : T), - (this.minFilter = void 0 !== s ? s : v), - (this.magFilter = void 0 !== r ? r : v), - (this.generateMipmaps = !1) - const c = this - 'requestVideoFrameCallback' in t && - t.requestVideoFrameCallback(function e() { - ;(c.needsUpdate = !0), t.requestVideoFrameCallback(e) - }) - } - clone() { - return new this.constructor(this.image).copy(this) - } - update() { - const t = this.image - !1 === 'requestVideoFrameCallback' in t && - t.readyState >= t.HAVE_CURRENT_DATA && - (this.needsUpdate = !0) - } - }.prototype.isVideoTexture = !0) - class Ys extends st { - constructor(t, e, n, i, r, s, a, o, l, c, h, u) { - super(null, s, a, o, l, c, i, r, h, u), - (this.image = { width: e, height: n }), - (this.mipmaps = t), - (this.flipY = !1), - (this.generateMipmaps = !1) - } - } - Ys.prototype.isCompressedTexture = !0 - ;(class extends st { - constructor(t, e, n, i, r, s, a, o, l) { - super(t, e, n, i, r, s, a, o, l), (this.needsUpdate = !0) - } - }.prototype.isCanvasTexture = !0) - ;(class extends st { - constructor(t, e, n, i, r, s, a, o, l, c) { - if ((c = void 0 !== c ? c : L) !== L && c !== A) - throw new Error( - 'DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat', - ) - void 0 === n && c === L && (n = _), - void 0 === n && c === A && (n = S), - super(null, i, r, s, a, o, c, n, l), - (this.image = { width: t, height: e }), - (this.magFilter = void 0 !== a ? a : m), - (this.minFilter = void 0 !== o ? o : m), - (this.flipY = !1), - (this.generateMipmaps = !1) - } - }.prototype.isDepthTexture = !0) - class Js extends Je { - constructor(t = 1, e = 1, n = 1, i = 8, r = 1, s = !1, a = 0, o = 2 * Math.PI) { - super(), - (this.type = 'CylinderGeometry'), - (this.parameters = { - radiusTop: t, - radiusBottom: e, - height: n, - radialSegments: i, - heightSegments: r, - openEnded: s, - thetaStart: a, - thetaLength: o, - }) - const l = this - ;(i = Math.floor(i)), (r = Math.floor(r)) - const c = [], - h = [], - u = [], - d = [] - let p = 0 - const m = [], - f = n / 2 - let g = 0 - function v(n) { - const r = p, - s = new tt(), - m = new ut() - let v = 0 - const y = !0 === n ? t : e, - x = !0 === n ? 1 : -1 - for (let t = 1; t <= i; t++) h.push(0, f * x, 0), u.push(0, x, 0), d.push(0.5, 0.5), p++ - const _ = p - for (let t = 0; t <= i; t++) { - const e = (t / i) * o + a, - n = Math.cos(e), - r = Math.sin(e) - ;(m.x = y * r), - (m.y = f * x), - (m.z = y * n), - h.push(m.x, m.y, m.z), - u.push(0, x, 0), - (s.x = 0.5 * n + 0.5), - (s.y = 0.5 * r * x + 0.5), - d.push(s.x, s.y), - p++ - } - for (let t = 0; t < i; t++) { - const e = r + t, - i = _ + t - !0 === n ? c.push(i, i + 1, e) : c.push(i + 1, i, e), (v += 3) - } - l.addGroup(g, v, !0 === n ? 1 : 2), (g += v) - } - !(function () { - const s = new ut(), - v = new ut() - let y = 0 - const x = (e - t) / n - for (let l = 0; l <= r; l++) { - const c = [], - g = l / r, - y = g * (e - t) + t - for (let t = 0; t <= i; t++) { - const e = t / i, - r = e * o + a, - l = Math.sin(r), - m = Math.cos(r) - ;(v.x = y * l), - (v.y = -g * n + f), - (v.z = y * m), - h.push(v.x, v.y, v.z), - s.set(l, x, m).normalize(), - u.push(s.x, s.y, s.z), - d.push(e, 1 - g), - c.push(p++) - } - m.push(c) - } - for (let t = 0; t < i; t++) - for (let e = 0; e < r; e++) { - const n = m[e][t], - i = m[e + 1][t], - r = m[e + 1][t + 1], - s = m[e][t + 1] - c.push(n, i, s), c.push(i, r, s), (y += 6) - } - l.addGroup(g, y, 0), (g += y) - })(), - !1 === s && (t > 0 && v(!0), e > 0 && v(!1)), - this.setIndex(c), - this.setAttribute('position', new He(h, 3)), - this.setAttribute('normal', new He(u, 3)), - this.setAttribute('uv', new He(d, 2)) - } - static fromJSON(t) { - return new Js( - t.radiusTop, - t.radiusBottom, - t.height, - t.radialSegments, - t.heightSegments, - t.openEnded, - t.thetaStart, - t.thetaLength, - ) - } - } - class Zs extends Js { - constructor(t = 1, e = 1, n = 8, i = 1, r = !1, s = 0, a = 2 * Math.PI) { - super(0, t, e, n, i, r, s, a), - (this.type = 'ConeGeometry'), - (this.parameters = { - radius: t, - height: e, - radialSegments: n, - heightSegments: i, - openEnded: r, - thetaStart: s, - thetaLength: a, - }) - } - static fromJSON(t) { - return new Zs( - t.radius, - t.height, - t.radialSegments, - t.heightSegments, - t.openEnded, - t.thetaStart, - t.thetaLength, - ) - } - } - new ut(), new ut(), new ut(), new Se() - class Qs { - constructor() { - ;(this.type = 'Curve'), (this.arcLengthDivisions = 200) - } - getPoint() { - return console.warn('THREE.Curve: .getPoint() not implemented.'), null - } - getPointAt(t, e) { - const n = this.getUtoTmapping(t) - return this.getPoint(n, e) - } - getPoints(t = 5) { - const e = [] - for (let n = 0; n <= t; n++) e.push(this.getPoint(n / t)) - return e - } - getSpacedPoints(t = 5) { - const e = [] - for (let n = 0; n <= t; n++) e.push(this.getPointAt(n / t)) - return e - } - getLength() { - const t = this.getLengths() - return t[t.length - 1] - } - getLengths(t = this.arcLengthDivisions) { - if (this.cacheArcLengths && this.cacheArcLengths.length === t + 1 && !this.needsUpdate) - return this.cacheArcLengths - this.needsUpdate = !1 - const e = [] - let n, - i = this.getPoint(0), - r = 0 - e.push(0) - for (let s = 1; s <= t; s++) - (n = this.getPoint(s / t)), (r += n.distanceTo(i)), e.push(r), (i = n) - return (this.cacheArcLengths = e), e - } - updateArcLengths() { - ;(this.needsUpdate = !0), this.getLengths() - } - getUtoTmapping(t, e) { - const n = this.getLengths() - let i = 0 - const r = n.length - let s - s = e || t * n[r - 1] - let a, - o = 0, - l = r - 1 - for (; o <= l; ) - if (((i = Math.floor(o + (l - o) / 2)), (a = n[i] - s), a < 0)) o = i + 1 - else { - if (!(a > 0)) { - l = i - break - } - l = i - 1 - } - if (((i = l), n[i] === s)) return i / (r - 1) - const c = n[i] - return (i + (s - c) / (n[i + 1] - c)) / (r - 1) - } - getTangent(t, e) { - const n = 1e-4 - let i = t - n, - r = t + n - i < 0 && (i = 0), r > 1 && (r = 1) - const s = this.getPoint(i), - a = this.getPoint(r), - o = e || (s.isVector2 ? new tt() : new ut()) - return o.copy(a).sub(s).normalize(), o - } - getTangentAt(t, e) { - const n = this.getUtoTmapping(t) - return this.getTangent(n, e) - } - computeFrenetFrames(t, e) { - const n = new ut(), - i = [], - r = [], - s = [], - a = new ut(), - o = new Vt() - for (let d = 0; d <= t; d++) { - const e = d / t - ;(i[d] = this.getTangentAt(e, new ut())), i[d].normalize() - } - ;(r[0] = new ut()), (s[0] = new ut()) - let l = Number.MAX_VALUE - const c = Math.abs(i[0].x), - h = Math.abs(i[0].y), - u = Math.abs(i[0].z) - c <= l && ((l = c), n.set(1, 0, 0)), - h <= l && ((l = h), n.set(0, 1, 0)), - u <= l && n.set(0, 0, 1), - a.crossVectors(i[0], n).normalize(), - r[0].crossVectors(i[0], a), - s[0].crossVectors(i[0], r[0]) - for (let d = 1; d <= t; d++) { - if ( - ((r[d] = r[d - 1].clone()), - (s[d] = s[d - 1].clone()), - a.crossVectors(i[d - 1], i[d]), - a.length() > Number.EPSILON) - ) { - a.normalize() - const t = Math.acos(J(i[d - 1].dot(i[d]), -1, 1)) - r[d].applyMatrix4(o.makeRotationAxis(a, t)) - } - s[d].crossVectors(i[d], r[d]) - } - if (!0 === e) { - let e = Math.acos(J(r[0].dot(r[t]), -1, 1)) - ;(e /= t), i[0].dot(a.crossVectors(r[0], r[t])) > 0 && (e = -e) - for (let n = 1; n <= t; n++) - r[n].applyMatrix4(o.makeRotationAxis(i[n], e * n)), s[n].crossVectors(i[n], r[n]) - } - return { tangents: i, normals: r, binormals: s } - } - clone() { - return new this.constructor().copy(this) - } - copy(t) { - return (this.arcLengthDivisions = t.arcLengthDivisions), this - } - toJSON() { - const t = { metadata: { version: 4.5, type: 'Curve', generator: 'Curve.toJSON' } } - return (t.arcLengthDivisions = this.arcLengthDivisions), (t.type = this.type), t - } - fromJSON(t) { - return (this.arcLengthDivisions = t.arcLengthDivisions), this - } - } - class Ks extends Qs { - constructor(t = 0, e = 0, n = 1, i = 1, r = 0, s = 2 * Math.PI, a = !1, o = 0) { - super(), - (this.type = 'EllipseCurve'), - (this.aX = t), - (this.aY = e), - (this.xRadius = n), - (this.yRadius = i), - (this.aStartAngle = r), - (this.aEndAngle = s), - (this.aClockwise = a), - (this.aRotation = o) - } - getPoint(t, e) { - const n = e || new tt(), - i = 2 * Math.PI - let r = this.aEndAngle - this.aStartAngle - const s = Math.abs(r) < Number.EPSILON - for (; r < 0; ) r += i - for (; r > i; ) r -= i - r < Number.EPSILON && (r = s ? 0 : i), - !0 !== this.aClockwise || s || (r === i ? (r = -i) : (r -= i)) - const a = this.aStartAngle + t * r - let o = this.aX + this.xRadius * Math.cos(a), - l = this.aY + this.yRadius * Math.sin(a) - if (0 !== this.aRotation) { - const t = Math.cos(this.aRotation), - e = Math.sin(this.aRotation), - n = o - this.aX, - i = l - this.aY - ;(o = n * t - i * e + this.aX), (l = n * e + i * t + this.aY) - } - return n.set(o, l) - } - copy(t) { - return ( - super.copy(t), - (this.aX = t.aX), - (this.aY = t.aY), - (this.xRadius = t.xRadius), - (this.yRadius = t.yRadius), - (this.aStartAngle = t.aStartAngle), - (this.aEndAngle = t.aEndAngle), - (this.aClockwise = t.aClockwise), - (this.aRotation = t.aRotation), - this - ) - } - toJSON() { - const t = super.toJSON() - return ( - (t.aX = this.aX), - (t.aY = this.aY), - (t.xRadius = this.xRadius), - (t.yRadius = this.yRadius), - (t.aStartAngle = this.aStartAngle), - (t.aEndAngle = this.aEndAngle), - (t.aClockwise = this.aClockwise), - (t.aRotation = this.aRotation), - t - ) - } - fromJSON(t) { - return ( - super.fromJSON(t), - (this.aX = t.aX), - (this.aY = t.aY), - (this.xRadius = t.xRadius), - (this.yRadius = t.yRadius), - (this.aStartAngle = t.aStartAngle), - (this.aEndAngle = t.aEndAngle), - (this.aClockwise = t.aClockwise), - (this.aRotation = t.aRotation), - this - ) - } - } - Ks.prototype.isEllipseCurve = !0 - class $s extends Ks { - constructor(t, e, n, i, r, s) { - super(t, e, n, n, i, r, s), (this.type = 'ArcCurve') - } - } - function ta() { - let t = 0, - e = 0, - n = 0, - i = 0 - function r(r, s, a, o) { - ;(t = r), (e = a), (n = -3 * r + 3 * s - 2 * a - o), (i = 2 * r - 2 * s + a + o) - } - return { - initCatmullRom: function (t, e, n, i, s) { - r(e, n, s * (n - t), s * (i - e)) - }, - initNonuniformCatmullRom: function (t, e, n, i, s, a, o) { - let l = (e - t) / s - (n - t) / (s + a) + (n - e) / a, - c = (n - e) / a - (i - e) / (a + o) + (i - n) / o - ;(l *= a), (c *= a), r(e, n, l, c) - }, - calc: function (r) { - const s = r * r - return t + e * r + n * s + i * (s * r) - }, - } - } - $s.prototype.isArcCurve = !0 - const ea = new ut(), - na = new ta(), - ia = new ta(), - ra = new ta() - class sa extends Qs { - constructor(t = [], e = !1, n = 'centripetal', i = 0.5) { - super(), - (this.type = 'CatmullRomCurve3'), - (this.points = t), - (this.closed = e), - (this.curveType = n), - (this.tension = i) - } - getPoint(t, e = new ut()) { - const n = e, - i = this.points, - r = i.length, - s = (r - (this.closed ? 0 : 1)) * t - let a, - o, - l = Math.floor(s), - c = s - l - this.closed - ? (l += l > 0 ? 0 : (Math.floor(Math.abs(l) / r) + 1) * r) - : 0 === c && l === r - 1 && ((l = r - 2), (c = 1)), - this.closed || l > 0 - ? (a = i[(l - 1) % r]) - : (ea.subVectors(i[0], i[1]).add(i[0]), (a = ea)) - const h = i[l % r], - u = i[(l + 1) % r] - if ( - (this.closed || l + 2 < r - ? (o = i[(l + 2) % r]) - : (ea.subVectors(i[r - 1], i[r - 2]).add(i[r - 1]), (o = ea)), - 'centripetal' === this.curveType || 'chordal' === this.curveType) - ) { - const t = 'chordal' === this.curveType ? 0.5 : 0.25 - let e = Math.pow(a.distanceToSquared(h), t), - n = Math.pow(h.distanceToSquared(u), t), - i = Math.pow(u.distanceToSquared(o), t) - n < 1e-4 && (n = 1), - e < 1e-4 && (e = n), - i < 1e-4 && (i = n), - na.initNonuniformCatmullRom(a.x, h.x, u.x, o.x, e, n, i), - ia.initNonuniformCatmullRom(a.y, h.y, u.y, o.y, e, n, i), - ra.initNonuniformCatmullRom(a.z, h.z, u.z, o.z, e, n, i) - } else - 'catmullrom' === this.curveType && - (na.initCatmullRom(a.x, h.x, u.x, o.x, this.tension), - ia.initCatmullRom(a.y, h.y, u.y, o.y, this.tension), - ra.initCatmullRom(a.z, h.z, u.z, o.z, this.tension)) - return n.set(na.calc(c), ia.calc(c), ra.calc(c)), n - } - copy(t) { - super.copy(t), (this.points = []) - for (let e = 0, n = t.points.length; e < n; e++) { - const n = t.points[e] - this.points.push(n.clone()) - } - return ( - (this.closed = t.closed), - (this.curveType = t.curveType), - (this.tension = t.tension), - this - ) - } - toJSON() { - const t = super.toJSON() - t.points = [] - for (let e = 0, n = this.points.length; e < n; e++) { - const n = this.points[e] - t.points.push(n.toArray()) - } - return ( - (t.closed = this.closed), (t.curveType = this.curveType), (t.tension = this.tension), t - ) - } - fromJSON(t) { - super.fromJSON(t), (this.points = []) - for (let e = 0, n = t.points.length; e < n; e++) { - const n = t.points[e] - this.points.push(new ut().fromArray(n)) - } - return ( - (this.closed = t.closed), - (this.curveType = t.curveType), - (this.tension = t.tension), - this - ) - } - } - function aa(t, e, n, i, r) { - const s = 0.5 * (i - e), - a = 0.5 * (r - n), - o = t * t - return (2 * n - 2 * i + s + a) * (t * o) + (-3 * n + 3 * i - 2 * s - a) * o + s * t + n - } - function oa(t, e, n, i) { - return ( - (function (t, e) { - const n = 1 - t - return n * n * e - })(t, e) + - (function (t, e) { - return 2 * (1 - t) * t * e - })(t, n) + - (function (t, e) { - return t * t * e - })(t, i) - ) - } - function la(t, e, n, i, r) { - return ( - (function (t, e) { - const n = 1 - t - return n * n * n * e - })(t, e) + - (function (t, e) { - const n = 1 - t - return 3 * n * n * t * e - })(t, n) + - (function (t, e) { - return 3 * (1 - t) * t * t * e - })(t, i) + - (function (t, e) { - return t * t * t * e - })(t, r) - ) - } - sa.prototype.isCatmullRomCurve3 = !0 - class ca extends Qs { - constructor(t = new tt(), e = new tt(), n = new tt(), i = new tt()) { - super(), - (this.type = 'CubicBezierCurve'), - (this.v0 = t), - (this.v1 = e), - (this.v2 = n), - (this.v3 = i) - } - getPoint(t, e = new tt()) { - const n = e, - i = this.v0, - r = this.v1, - s = this.v2, - a = this.v3 - return n.set(la(t, i.x, r.x, s.x, a.x), la(t, i.y, r.y, s.y, a.y)), n - } - copy(t) { - return ( - super.copy(t), - this.v0.copy(t.v0), - this.v1.copy(t.v1), - this.v2.copy(t.v2), - this.v3.copy(t.v3), - this - ) - } - toJSON() { - const t = super.toJSON() - return ( - (t.v0 = this.v0.toArray()), - (t.v1 = this.v1.toArray()), - (t.v2 = this.v2.toArray()), - (t.v3 = this.v3.toArray()), - t - ) - } - fromJSON(t) { - return ( - super.fromJSON(t), - this.v0.fromArray(t.v0), - this.v1.fromArray(t.v1), - this.v2.fromArray(t.v2), - this.v3.fromArray(t.v3), - this - ) - } - } - ca.prototype.isCubicBezierCurve = !0 - class ha extends Qs { - constructor(t = new ut(), e = new ut(), n = new ut(), i = new ut()) { - super(), - (this.type = 'CubicBezierCurve3'), - (this.v0 = t), - (this.v1 = e), - (this.v2 = n), - (this.v3 = i) - } - getPoint(t, e = new ut()) { - const n = e, - i = this.v0, - r = this.v1, - s = this.v2, - a = this.v3 - return ( - n.set(la(t, i.x, r.x, s.x, a.x), la(t, i.y, r.y, s.y, a.y), la(t, i.z, r.z, s.z, a.z)), - n - ) - } - copy(t) { - return ( - super.copy(t), - this.v0.copy(t.v0), - this.v1.copy(t.v1), - this.v2.copy(t.v2), - this.v3.copy(t.v3), - this - ) - } - toJSON() { - const t = super.toJSON() - return ( - (t.v0 = this.v0.toArray()), - (t.v1 = this.v1.toArray()), - (t.v2 = this.v2.toArray()), - (t.v3 = this.v3.toArray()), - t - ) - } - fromJSON(t) { - return ( - super.fromJSON(t), - this.v0.fromArray(t.v0), - this.v1.fromArray(t.v1), - this.v2.fromArray(t.v2), - this.v3.fromArray(t.v3), - this - ) - } - } - ha.prototype.isCubicBezierCurve3 = !0 - class ua extends Qs { - constructor(t = new tt(), e = new tt()) { - super(), (this.type = 'LineCurve'), (this.v1 = t), (this.v2 = e) - } - getPoint(t, e = new tt()) { - const n = e - return ( - 1 === t - ? n.copy(this.v2) - : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(t).add(this.v1)), - n - ) - } - getPointAt(t, e) { - return this.getPoint(t, e) - } - getTangent(t, e) { - const n = e || new tt() - return n.copy(this.v2).sub(this.v1).normalize(), n - } - copy(t) { - return super.copy(t), this.v1.copy(t.v1), this.v2.copy(t.v2), this - } - toJSON() { - const t = super.toJSON() - return (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t - } - fromJSON(t) { - return super.fromJSON(t), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this - } - } - ua.prototype.isLineCurve = !0 - class da extends Qs { - constructor(t = new tt(), e = new tt(), n = new tt()) { - super(), (this.type = 'QuadraticBezierCurve'), (this.v0 = t), (this.v1 = e), (this.v2 = n) - } - getPoint(t, e = new tt()) { - const n = e, - i = this.v0, - r = this.v1, - s = this.v2 - return n.set(oa(t, i.x, r.x, s.x), oa(t, i.y, r.y, s.y)), n - } - copy(t) { - return super.copy(t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this - } - toJSON() { - const t = super.toJSON() - return ( - (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t - ) - } - fromJSON(t) { - return ( - super.fromJSON(t), - this.v0.fromArray(t.v0), - this.v1.fromArray(t.v1), - this.v2.fromArray(t.v2), - this - ) - } - } - da.prototype.isQuadraticBezierCurve = !0 - class pa extends Qs { - constructor(t = new ut(), e = new ut(), n = new ut()) { - super(), - (this.type = 'QuadraticBezierCurve3'), - (this.v0 = t), - (this.v1 = e), - (this.v2 = n) - } - getPoint(t, e = new ut()) { - const n = e, - i = this.v0, - r = this.v1, - s = this.v2 - return n.set(oa(t, i.x, r.x, s.x), oa(t, i.y, r.y, s.y), oa(t, i.z, r.z, s.z)), n - } - copy(t) { - return super.copy(t), this.v0.copy(t.v0), this.v1.copy(t.v1), this.v2.copy(t.v2), this - } - toJSON() { - const t = super.toJSON() - return ( - (t.v0 = this.v0.toArray()), (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t - ) - } - fromJSON(t) { - return ( - super.fromJSON(t), - this.v0.fromArray(t.v0), - this.v1.fromArray(t.v1), - this.v2.fromArray(t.v2), - this - ) - } - } - pa.prototype.isQuadraticBezierCurve3 = !0 - class ma extends Qs { - constructor(t = []) { - super(), (this.type = 'SplineCurve'), (this.points = t) - } - getPoint(t, e = new tt()) { - const n = e, - i = this.points, - r = (i.length - 1) * t, - s = Math.floor(r), - a = r - s, - o = i[0 === s ? s : s - 1], - l = i[s], - c = i[s > i.length - 2 ? i.length - 1 : s + 1], - h = i[s > i.length - 3 ? i.length - 1 : s + 2] - return n.set(aa(a, o.x, l.x, c.x, h.x), aa(a, o.y, l.y, c.y, h.y)), n - } - copy(t) { - super.copy(t), (this.points = []) - for (let e = 0, n = t.points.length; e < n; e++) { - const n = t.points[e] - this.points.push(n.clone()) - } - return this - } - toJSON() { - const t = super.toJSON() - t.points = [] - for (let e = 0, n = this.points.length; e < n; e++) { - const n = this.points[e] - t.points.push(n.toArray()) - } - return t - } - fromJSON(t) { - super.fromJSON(t), (this.points = []) - for (let e = 0, n = t.points.length; e < n; e++) { - const n = t.points[e] - this.points.push(new tt().fromArray(n)) - } - return this - } - } - ma.prototype.isSplineCurve = !0 - var fa = Object.freeze({ - __proto__: null, - ArcCurve: $s, - CatmullRomCurve3: sa, - CubicBezierCurve: ca, - CubicBezierCurve3: ha, - EllipseCurve: Ks, - LineCurve: ua, - LineCurve3: class extends Qs { - constructor(t = new ut(), e = new ut()) { - super(), - (this.type = 'LineCurve3'), - (this.isLineCurve3 = !0), - (this.v1 = t), - (this.v2 = e) - } - getPoint(t, e = new ut()) { - const n = e - return ( - 1 === t - ? n.copy(this.v2) - : (n.copy(this.v2).sub(this.v1), n.multiplyScalar(t).add(this.v1)), - n - ) - } - getPointAt(t, e) { - return this.getPoint(t, e) - } - copy(t) { - return super.copy(t), this.v1.copy(t.v1), this.v2.copy(t.v2), this - } - toJSON() { - const t = super.toJSON() - return (t.v1 = this.v1.toArray()), (t.v2 = this.v2.toArray()), t - } - fromJSON(t) { - return super.fromJSON(t), this.v1.fromArray(t.v1), this.v2.fromArray(t.v2), this - } - }, - QuadraticBezierCurve: da, - QuadraticBezierCurve3: pa, - SplineCurve: ma, - }) - const ga = function (t, e, n = 2) { - const i = e && e.length, - r = i ? e[0] * n : t.length - let s = va(t, 0, r, n, !0) - const a = [] - if (!s || s.next === s.prev) return a - let o, l, c, h, u, d, p - if ( - (i && - (s = (function (t, e, n, i) { - const r = [] - let s, a, o, l, c - for (s = 0, a = e.length; s < a; s++) - (o = e[s] * i), - (l = s < a - 1 ? e[s + 1] * i : t.length), - (c = va(t, o, l, i, !1)), - c === c.next && (c.steiner = !0), - r.push(Aa(c)) - for (r.sort(Sa), s = 0; s < r.length; s++) Ta(r[s], n), (n = ya(n, n.next)) - return n - })(t, e, s, n)), - t.length > 80 * n) - ) { - ;(o = c = t[0]), (l = h = t[1]) - for (let e = n; e < r; e += n) - (u = t[e]), - (d = t[e + 1]), - u < o && (o = u), - d < l && (l = d), - u > c && (c = u), - d > h && (h = d) - ;(p = Math.max(c - o, h - l)), (p = 0 !== p ? 1 / p : 0) - } - return xa(s, a, n, o, l, p), a - } - function va(t, e, n, i, r) { - let s, a - if ( - r === - (function (t, e, n, i) { - let r = 0 - for (let s = e, a = n - i; s < n; s += i) - (r += (t[a] - t[s]) * (t[s + 1] + t[a + 1])), (a = s) - return r - })(t, e, n, i) > - 0 - ) - for (s = e; s < n; s += i) a = Fa(s, t[s], t[s + 1], a) - else for (s = n - i; s >= e; s -= i) a = Fa(s, t[s], t[s + 1], a) - return a && Da(a, a.next) && (Ua(a), (a = a.next)), a - } - function ya(t, e) { - if (!t) return t - e || (e = t) - let n, - i = t - do { - if (((n = !1), i.steiner || (!Da(i, i.next) && 0 !== Pa(i.prev, i, i.next)))) i = i.next - else { - if ((Ua(i), (i = e = i.prev), i === i.next)) break - n = !0 - } - } while (n || i !== e) - return e - } - function xa(t, e, n, i, r, s, a) { - if (!t) return - !a && - s && - (function (t, e, n, i) { - let r = t - do { - null === r.z && (r.z = La(r.x, r.y, e, n, i)), - (r.prevZ = r.prev), - (r.nextZ = r.next), - (r = r.next) - } while (r !== t) - ;(r.prevZ.nextZ = null), - (r.prevZ = null), - (function (t) { - let e, - n, - i, - r, - s, - a, - o, - l, - c = 1 - do { - for (n = t, t = null, s = null, a = 0; n; ) { - for (a++, i = n, o = 0, e = 0; e < c && (o++, (i = i.nextZ), i); e++); - for (l = c; o > 0 || (l > 0 && i); ) - 0 !== o && (0 === l || !i || n.z <= i.z) - ? ((r = n), (n = n.nextZ), o--) - : ((r = i), (i = i.nextZ), l--), - s ? (s.nextZ = r) : (t = r), - (r.prevZ = s), - (s = r) - n = i - } - ;(s.nextZ = null), (c *= 2) - } while (a > 1) - })(r) - })(t, i, r, s) - let o, - l, - c = t - for (; t.prev !== t.next; ) - if (((o = t.prev), (l = t.next), s ? ba(t, i, r, s) : _a(t))) - e.push(o.i / n), e.push(t.i / n), e.push(l.i / n), Ua(t), (t = l.next), (c = l.next) - else if ((t = l) === c) { - a - ? 1 === a - ? xa((t = Ma(ya(t), e, n)), e, n, i, r, s, 2) - : 2 === a && wa(t, e, n, i, r, s) - : xa(ya(t), e, n, i, r, s, 1) - break - } - } - function _a(t) { - const e = t.prev, - n = t, - i = t.next - if (Pa(e, n, i) >= 0) return !1 - let r = t.next.next - for (; r !== t.prev; ) { - if (Ra(e.x, e.y, n.x, n.y, i.x, i.y, r.x, r.y) && Pa(r.prev, r, r.next) >= 0) return !1 - r = r.next - } - return !0 - } - function ba(t, e, n, i) { - const r = t.prev, - s = t, - a = t.next - if (Pa(r, s, a) >= 0) return !1 - const o = r.x < s.x ? (r.x < a.x ? r.x : a.x) : s.x < a.x ? s.x : a.x, - l = r.y < s.y ? (r.y < a.y ? r.y : a.y) : s.y < a.y ? s.y : a.y, - c = r.x > s.x ? (r.x > a.x ? r.x : a.x) : s.x > a.x ? s.x : a.x, - h = r.y > s.y ? (r.y > a.y ? r.y : a.y) : s.y > a.y ? s.y : a.y, - u = La(o, l, e, n, i), - d = La(c, h, e, n, i) - let p = t.prevZ, - m = t.nextZ - for (; p && p.z >= u && m && m.z <= d; ) { - if ( - p !== t.prev && - p !== t.next && - Ra(r.x, r.y, s.x, s.y, a.x, a.y, p.x, p.y) && - Pa(p.prev, p, p.next) >= 0 - ) - return !1 - if ( - ((p = p.prevZ), - m !== t.prev && - m !== t.next && - Ra(r.x, r.y, s.x, s.y, a.x, a.y, m.x, m.y) && - Pa(m.prev, m, m.next) >= 0) - ) - return !1 - m = m.nextZ - } - for (; p && p.z >= u; ) { - if ( - p !== t.prev && - p !== t.next && - Ra(r.x, r.y, s.x, s.y, a.x, a.y, p.x, p.y) && - Pa(p.prev, p, p.next) >= 0 - ) - return !1 - p = p.prevZ - } - for (; m && m.z <= d; ) { - if ( - m !== t.prev && - m !== t.next && - Ra(r.x, r.y, s.x, s.y, a.x, a.y, m.x, m.y) && - Pa(m.prev, m, m.next) >= 0 - ) - return !1 - m = m.nextZ - } - return !0 - } - function Ma(t, e, n) { - let i = t - do { - const r = i.prev, - s = i.next.next - !Da(r, s) && - Ia(r, i, i.next, s) && - Oa(r, s) && - Oa(s, r) && - (e.push(r.i / n), e.push(i.i / n), e.push(s.i / n), Ua(i), Ua(i.next), (i = t = s)), - (i = i.next) - } while (i !== t) - return ya(i) - } - function wa(t, e, n, i, r, s) { - let a = t - do { - let t = a.next.next - for (; t !== a.prev; ) { - if (a.i !== t.i && Ca(a, t)) { - let o = Ba(a, t) - return ( - (a = ya(a, a.next)), - (o = ya(o, o.next)), - xa(a, e, n, i, r, s), - void xa(o, e, n, i, r, s) - ) - } - t = t.next - } - a = a.next - } while (a !== t) - } - function Sa(t, e) { - return t.x - e.x - } - function Ta(t, e) { - if ( - (e = (function (t, e) { - let n = e - const i = t.x, - r = t.y - let s, - a = -1 / 0 - do { - if (r <= n.y && r >= n.next.y && n.next.y !== n.y) { - const t = n.x + ((r - n.y) * (n.next.x - n.x)) / (n.next.y - n.y) - if (t <= i && t > a) { - if (((a = t), t === i)) { - if (r === n.y) return n - if (r === n.next.y) return n.next - } - s = n.x < n.next.x ? n : n.next - } - } - n = n.next - } while (n !== e) - if (!s) return null - if (i === a) return s - const o = s, - l = s.x, - c = s.y - let h, - u = 1 / 0 - n = s - do { - i >= n.x && - n.x >= l && - i !== n.x && - Ra(r < c ? i : a, r, l, c, r < c ? a : i, r, n.x, n.y) && - ((h = Math.abs(r - n.y) / (i - n.x)), - Oa(n, t) && - (h < u || (h === u && (n.x > s.x || (n.x === s.x && Ea(s, n))))) && - ((s = n), (u = h))), - (n = n.next) - } while (n !== o) - return s - })(t, e)) - ) { - const n = Ba(e, t) - ya(e, e.next), ya(n, n.next) - } - } - function Ea(t, e) { - return Pa(t.prev, t, e.prev) < 0 && Pa(e.next, t, t.next) < 0 - } - function La(t, e, n, i, r) { - return ( - (t = - 1431655765 & - ((t = - 858993459 & - ((t = - 252645135 & ((t = 16711935 & ((t = 32767 * (t - n) * r) | (t << 8))) | (t << 4))) | - (t << 2))) | - (t << 1))) | - ((e = - 1431655765 & - ((e = - 858993459 & - ((e = - 252645135 & ((e = 16711935 & ((e = 32767 * (e - i) * r) | (e << 8))) | (e << 4))) | - (e << 2))) | - (e << 1))) << - 1) - ) - } - function Aa(t) { - let e = t, - n = t - do { - ;(e.x < n.x || (e.x === n.x && e.y < n.y)) && (n = e), (e = e.next) - } while (e !== t) - return n - } - function Ra(t, e, n, i, r, s, a, o) { - return ( - (r - a) * (e - o) - (t - a) * (s - o) >= 0 && - (t - a) * (i - o) - (n - a) * (e - o) >= 0 && - (n - a) * (s - o) - (r - a) * (i - o) >= 0 - ) - } - function Ca(t, e) { - return ( - t.next.i !== e.i && - t.prev.i !== e.i && - !(function (t, e) { - let n = t - do { - if ( - n.i !== t.i && - n.next.i !== t.i && - n.i !== e.i && - n.next.i !== e.i && - Ia(n, n.next, t, e) - ) - return !0 - n = n.next - } while (n !== t) - return !1 - })(t, e) && - ((Oa(t, e) && - Oa(e, t) && - (function (t, e) { - let n = t, - i = !1 - const r = (t.x + e.x) / 2, - s = (t.y + e.y) / 2 - do { - n.y > s !== n.next.y > s && - n.next.y !== n.y && - r < ((n.next.x - n.x) * (s - n.y)) / (n.next.y - n.y) + n.x && - (i = !i), - (n = n.next) - } while (n !== t) - return i - })(t, e) && - (Pa(t.prev, t, e.prev) || Pa(t, e.prev, e))) || - (Da(t, e) && Pa(t.prev, t, t.next) > 0 && Pa(e.prev, e, e.next) > 0)) - ) - } - function Pa(t, e, n) { - return (e.y - t.y) * (n.x - e.x) - (e.x - t.x) * (n.y - e.y) - } - function Da(t, e) { - return t.x === e.x && t.y === e.y - } - function Ia(t, e, n, i) { - const r = za(Pa(t, e, n)), - s = za(Pa(t, e, i)), - a = za(Pa(n, i, t)), - o = za(Pa(n, i, e)) - return ( - (r !== s && a !== o) || - !(0 !== r || !Na(t, n, e)) || - !(0 !== s || !Na(t, i, e)) || - !(0 !== a || !Na(n, t, i)) || - !(0 !== o || !Na(n, e, i)) - ) - } - function Na(t, e, n) { - return ( - e.x <= Math.max(t.x, n.x) && - e.x >= Math.min(t.x, n.x) && - e.y <= Math.max(t.y, n.y) && - e.y >= Math.min(t.y, n.y) - ) - } - function za(t) { - return t > 0 ? 1 : t < 0 ? -1 : 0 - } - function Oa(t, e) { - return Pa(t.prev, t, t.next) < 0 - ? Pa(t, e, t.next) >= 0 && Pa(t, t.prev, e) >= 0 - : Pa(t, e, t.prev) < 0 || Pa(t, t.next, e) < 0 - } - function Ba(t, e) { - const n = new Ha(t.i, t.x, t.y), - i = new Ha(e.i, e.x, e.y), - r = t.next, - s = e.prev - return ( - (t.next = e), - (e.prev = t), - (n.next = r), - (r.prev = n), - (i.next = n), - (n.prev = i), - (s.next = i), - (i.prev = s), - i - ) - } - function Fa(t, e, n, i) { - const r = new Ha(t, e, n) - return ( - i - ? ((r.next = i.next), (r.prev = i), (i.next.prev = r), (i.next = r)) - : ((r.prev = r), (r.next = r)), - r - ) - } - function Ua(t) { - ;(t.next.prev = t.prev), - (t.prev.next = t.next), - t.prevZ && (t.prevZ.nextZ = t.nextZ), - t.nextZ && (t.nextZ.prevZ = t.prevZ) - } - function Ha(t, e, n) { - ;(this.i = t), - (this.x = e), - (this.y = n), - (this.prev = null), - (this.next = null), - (this.z = null), - (this.prevZ = null), - (this.nextZ = null), - (this.steiner = !1) - } - class Ga { - static area(t) { - const e = t.length - let n = 0 - for (let i = e - 1, r = 0; r < e; i = r++) n += t[i].x * t[r].y - t[r].x * t[i].y - return 0.5 * n - } - static isClockWise(t) { - return Ga.area(t) < 0 - } - static triangulateShape(t, e) { - const n = [], - i = [], - r = [] - Va(t), ka(n, t) - let s = t.length - e.forEach(Va) - for (let o = 0; o < e.length; o++) i.push(s), (s += e[o].length), ka(n, e[o]) - const a = ga(n, i) - for (let o = 0; o < a.length; o += 3) r.push(a.slice(o, o + 3)) - return r - } - } - function Va(t) { - const e = t.length - e > 2 && t[e - 1].equals(t[0]) && t.pop() - } - function ka(t, e) { - for (let n = 0; n < e.length; n++) t.push(e[n].x), t.push(e[n].y) - } - class Wa extends Je { - constructor(t, e) { - super(), - (this.type = 'ExtrudeGeometry'), - (this.parameters = { shapes: t, options: e }), - (t = Array.isArray(t) ? t : [t]) - const n = this, - i = [], - r = [] - for (let a = 0, o = t.length; a < o; a++) { - s(t[a]) - } - function s(t) { - const s = [], - a = void 0 !== e.curveSegments ? e.curveSegments : 12, - o = void 0 !== e.steps ? e.steps : 1 - let l = void 0 !== e.depth ? e.depth : 100, - c = void 0 === e.bevelEnabled || e.bevelEnabled, - h = void 0 !== e.bevelThickness ? e.bevelThickness : 6, - u = void 0 !== e.bevelSize ? e.bevelSize : h - 2, - d = void 0 !== e.bevelOffset ? e.bevelOffset : 0, - p = void 0 !== e.bevelSegments ? e.bevelSegments : 3 - const m = e.extrudePath, - f = void 0 !== e.UVGenerator ? e.UVGenerator : ja - void 0 !== e.amount && - (console.warn('THREE.ExtrudeBufferGeometry: amount has been renamed to depth.'), - (l = e.amount)) - let g, - v, - y, - x, - _, - b = !1 - m && - ((g = m.getSpacedPoints(o)), - (b = !0), - (c = !1), - (v = m.computeFrenetFrames(o, !1)), - (y = new ut()), - (x = new ut()), - (_ = new ut())), - c || ((p = 0), (h = 0), (u = 0), (d = 0)) - const M = t.extractPoints(a) - let w = M.shape - const S = M.holes - if (!Ga.isClockWise(w)) { - w = w.reverse() - for (let t = 0, e = S.length; t < e; t++) { - const e = S[t] - Ga.isClockWise(e) && (S[t] = e.reverse()) - } - } - const T = Ga.triangulateShape(w, S), - E = w - for (let e = 0, n = S.length; e < n; e++) { - const t = S[e] - w = w.concat(t) - } - function L(t, e, n) { - return ( - e || console.error('THREE.ExtrudeGeometry: vec does not exist'), - e.clone().multiplyScalar(n).add(t) - ) - } - const A = w.length, - R = T.length - function C(t, e, n) { - let i, r, s - const a = t.x - e.x, - o = t.y - e.y, - l = n.x - t.x, - c = n.y - t.y, - h = a * a + o * o, - u = a * c - o * l - if (Math.abs(u) > Number.EPSILON) { - const u = Math.sqrt(h), - d = Math.sqrt(l * l + c * c), - p = e.x - o / u, - m = e.y + a / u, - f = ((n.x - c / d - p) * c - (n.y + l / d - m) * l) / (a * c - o * l) - ;(i = p + a * f - t.x), (r = m + o * f - t.y) - const g = i * i + r * r - if (g <= 2) return new tt(i, r) - s = Math.sqrt(g / 2) - } else { - let t = !1 - a > Number.EPSILON - ? l > Number.EPSILON && (t = !0) - : a < -Number.EPSILON - ? l < -Number.EPSILON && (t = !0) - : Math.sign(o) === Math.sign(c) && (t = !0), - t - ? ((i = -o), (r = a), (s = Math.sqrt(h))) - : ((i = a), (r = o), (s = Math.sqrt(h / 2))) - } - return new tt(i / s, r / s) - } - const P = [] - for (let e = 0, n = E.length, i = n - 1, r = e + 1; e < n; e++, i++, r++) - i === n && (i = 0), r === n && (r = 0), (P[e] = C(E[e], E[i], E[r])) - const D = [] - let I, - N = P.concat() - for (let e = 0, n = S.length; e < n; e++) { - const t = S[e] - I = [] - for (let e = 0, n = t.length, i = n - 1, r = e + 1; e < n; e++, i++, r++) - i === n && (i = 0), r === n && (r = 0), (I[e] = C(t[e], t[i], t[r])) - D.push(I), (N = N.concat(I)) - } - for (let e = 0; e < p; e++) { - const t = e / p, - n = h * Math.cos((t * Math.PI) / 2), - i = u * Math.sin((t * Math.PI) / 2) + d - for (let e = 0, r = E.length; e < r; e++) { - const t = L(E[e], P[e], i) - B(t.x, t.y, -n) - } - for (let e = 0, r = S.length; e < r; e++) { - const t = S[e] - I = D[e] - for (let e = 0, r = t.length; e < r; e++) { - const r = L(t[e], I[e], i) - B(r.x, r.y, -n) - } - } - } - const z = u + d - for (let e = 0; e < A; e++) { - const t = c ? L(w[e], N[e], z) : w[e] - b - ? (x.copy(v.normals[0]).multiplyScalar(t.x), - y.copy(v.binormals[0]).multiplyScalar(t.y), - _.copy(g[0]).add(x).add(y), - B(_.x, _.y, _.z)) - : B(t.x, t.y, 0) - } - for (let e = 1; e <= o; e++) - for (let t = 0; t < A; t++) { - const n = c ? L(w[t], N[t], z) : w[t] - b - ? (x.copy(v.normals[e]).multiplyScalar(n.x), - y.copy(v.binormals[e]).multiplyScalar(n.y), - _.copy(g[e]).add(x).add(y), - B(_.x, _.y, _.z)) - : B(n.x, n.y, (l / o) * e) - } - for (let e = p - 1; e >= 0; e--) { - const t = e / p, - n = h * Math.cos((t * Math.PI) / 2), - i = u * Math.sin((t * Math.PI) / 2) + d - for (let e = 0, r = E.length; e < r; e++) { - const t = L(E[e], P[e], i) - B(t.x, t.y, l + n) - } - for (let e = 0, r = S.length; e < r; e++) { - const t = S[e] - I = D[e] - for (let e = 0, r = t.length; e < r; e++) { - const r = L(t[e], I[e], i) - b ? B(r.x, r.y + g[o - 1].y, g[o - 1].x + n) : B(r.x, r.y, l + n) - } - } - } - function O(t, e) { - let n = t.length - for (; --n >= 0; ) { - const i = n - let r = n - 1 - r < 0 && (r = t.length - 1) - for (let t = 0, n = o + 2 * p; t < n; t++) { - const n = A * t, - s = A * (t + 1) - U(e + i + n, e + r + n, e + r + s, e + i + s) - } - } - } - function B(t, e, n) { - s.push(t), s.push(e), s.push(n) - } - function F(t, e, r) { - H(t), H(e), H(r) - const s = i.length / 3, - a = f.generateTopUV(n, i, s - 3, s - 2, s - 1) - G(a[0]), G(a[1]), G(a[2]) - } - function U(t, e, r, s) { - H(t), H(e), H(s), H(e), H(r), H(s) - const a = i.length / 3, - o = f.generateSideWallUV(n, i, a - 6, a - 3, a - 2, a - 1) - G(o[0]), G(o[1]), G(o[3]), G(o[1]), G(o[2]), G(o[3]) - } - function H(t) { - i.push(s[3 * t + 0]), i.push(s[3 * t + 1]), i.push(s[3 * t + 2]) - } - function G(t) { - r.push(t.x), r.push(t.y) - } - !(function () { - const t = i.length / 3 - if (c) { - let t = 0, - e = A * t - for (let n = 0; n < R; n++) { - const t = T[n] - F(t[2] + e, t[1] + e, t[0] + e) - } - ;(t = o + 2 * p), (e = A * t) - for (let n = 0; n < R; n++) { - const t = T[n] - F(t[0] + e, t[1] + e, t[2] + e) - } - } else { - for (let t = 0; t < R; t++) { - const e = T[t] - F(e[2], e[1], e[0]) - } - for (let t = 0; t < R; t++) { - const e = T[t] - F(e[0] + A * o, e[1] + A * o, e[2] + A * o) - } - } - n.addGroup(t, i.length / 3 - t, 0) - })(), - (function () { - const t = i.length / 3 - let e = 0 - O(E, e), (e += E.length) - for (let n = 0, i = S.length; n < i; n++) { - const t = S[n] - O(t, e), (e += t.length) - } - n.addGroup(t, i.length / 3 - t, 1) - })() - } - this.setAttribute('position', new He(i, 3)), - this.setAttribute('uv', new He(r, 2)), - this.computeVertexNormals() - } - toJSON() { - const t = super.toJSON() - return (function (t, e, n) { - if (((n.shapes = []), Array.isArray(t))) - for (let i = 0, r = t.length; i < r; i++) { - const e = t[i] - n.shapes.push(e.uuid) - } - else n.shapes.push(t.uuid) - void 0 !== e.extrudePath && (n.options.extrudePath = e.extrudePath.toJSON()) - return n - })(this.parameters.shapes, this.parameters.options, t) - } - static fromJSON(t, e) { - const n = [] - for (let r = 0, s = t.shapes.length; r < s; r++) { - const i = e[t.shapes[r]] - n.push(i) - } - const i = t.options.extrudePath - return ( - void 0 !== i && (t.options.extrudePath = new fa[i.type]().fromJSON(i)), - new Wa(n, t.options) - ) - } - } - const ja = { - generateTopUV: function (t, e, n, i, r) { - const s = e[3 * n], - a = e[3 * n + 1], - o = e[3 * i], - l = e[3 * i + 1], - c = e[3 * r], - h = e[3 * r + 1] - return [new tt(s, a), new tt(o, l), new tt(c, h)] - }, - generateSideWallUV: function (t, e, n, i, r, s) { - const a = e[3 * n], - o = e[3 * n + 1], - l = e[3 * n + 2], - c = e[3 * i], - h = e[3 * i + 1], - u = e[3 * i + 2], - d = e[3 * r], - p = e[3 * r + 1], - m = e[3 * r + 2], - f = e[3 * s], - g = e[3 * s + 1], - v = e[3 * s + 2] - return Math.abs(o - h) < Math.abs(a - c) - ? [new tt(a, 1 - l), new tt(c, 1 - u), new tt(d, 1 - m), new tt(f, 1 - v)] - : [new tt(o, 1 - l), new tt(h, 1 - u), new tt(p, 1 - m), new tt(g, 1 - v)] - }, - } - class qa extends Je { - constructor(t, e = 12) { - super(), - (this.type = 'ShapeGeometry'), - (this.parameters = { shapes: t, curveSegments: e }) - const n = [], - i = [], - r = [], - s = [] - let a = 0, - o = 0 - if (!1 === Array.isArray(t)) l(t) - else for (let c = 0; c < t.length; c++) l(t[c]), this.addGroup(a, o, c), (a += o), (o = 0) - function l(t) { - const a = i.length / 3, - l = t.extractPoints(e) - let c = l.shape - const h = l.holes - !1 === Ga.isClockWise(c) && (c = c.reverse()) - for (let e = 0, n = h.length; e < n; e++) { - const t = h[e] - !0 === Ga.isClockWise(t) && (h[e] = t.reverse()) - } - const u = Ga.triangulateShape(c, h) - for (let e = 0, n = h.length; e < n; e++) { - const t = h[e] - c = c.concat(t) - } - for (let e = 0, n = c.length; e < n; e++) { - const t = c[e] - i.push(t.x, t.y, 0), r.push(0, 0, 1), s.push(t.x, t.y) - } - for (let e = 0, i = u.length; e < i; e++) { - const t = u[e], - i = t[0] + a, - r = t[1] + a, - s = t[2] + a - n.push(i, r, s), (o += 3) - } - } - this.setIndex(n), - this.setAttribute('position', new He(i, 3)), - this.setAttribute('normal', new He(r, 3)), - this.setAttribute('uv', new He(s, 2)) - } - toJSON() { - const t = super.toJSON() - return (function (t, e) { - if (((e.shapes = []), Array.isArray(t))) - for (let n = 0, i = t.length; n < i; n++) { - const i = t[n] - e.shapes.push(i.uuid) - } - else e.shapes.push(t.uuid) - return e - })(this.parameters.shapes, t) - } - static fromJSON(t, e) { - const n = [] - for (let i = 0, r = t.shapes.length; i < r; i++) { - const r = e[t.shapes[i]] - n.push(r) - } - return new qa(n, t.curveSegments) - } - } - class Xa extends Je { - constructor(t = 1, e = 8, n = 6, i = 0, r = 2 * Math.PI, s = 0, a = Math.PI) { - super(), - (this.type = 'SphereGeometry'), - (this.parameters = { - radius: t, - widthSegments: e, - heightSegments: n, - phiStart: i, - phiLength: r, - thetaStart: s, - thetaLength: a, - }), - (e = Math.max(3, Math.floor(e))), - (n = Math.max(2, Math.floor(n))) - const o = Math.min(s + a, Math.PI) - let l = 0 - const c = [], - h = new ut(), - u = new ut(), - d = [], - p = [], - m = [], - f = [] - for (let g = 0; g <= n; g++) { - const d = [], - v = g / n - let y = 0 - 0 == g && 0 == s ? (y = 0.5 / e) : g == n && o == Math.PI && (y = -0.5 / e) - for (let n = 0; n <= e; n++) { - const o = n / e - ;(h.x = -t * Math.cos(i + o * r) * Math.sin(s + v * a)), - (h.y = t * Math.cos(s + v * a)), - (h.z = t * Math.sin(i + o * r) * Math.sin(s + v * a)), - p.push(h.x, h.y, h.z), - u.copy(h).normalize(), - m.push(u.x, u.y, u.z), - f.push(o + y, 1 - v), - d.push(l++) - } - c.push(d) - } - for (let g = 0; g < n; g++) - for (let t = 0; t < e; t++) { - const e = c[g][t + 1], - i = c[g][t], - r = c[g + 1][t], - a = c[g + 1][t + 1] - ;(0 !== g || s > 0) && d.push(e, i, a), - (g !== n - 1 || o < Math.PI) && d.push(i, r, a) - } - this.setIndex(d), - this.setAttribute('position', new He(p, 3)), - this.setAttribute('normal', new He(m, 3)), - this.setAttribute('uv', new He(f, 2)) - } - static fromJSON(t) { - return new Xa( - t.radius, - t.widthSegments, - t.heightSegments, - t.phiStart, - t.phiLength, - t.thetaStart, - t.thetaLength, - ) - } - } - class Ya extends Je { - constructor(t, e = 64, n = 1, i = 8, r = !1) { - super(), - (this.type = 'TubeGeometry'), - (this.parameters = { - path: t, - tubularSegments: e, - radius: n, - radialSegments: i, - closed: r, - }) - const s = t.computeFrenetFrames(e, r) - ;(this.tangents = s.tangents), (this.normals = s.normals), (this.binormals = s.binormals) - const a = new ut(), - o = new ut(), - l = new tt() - let c = new ut() - const h = [], - u = [], - d = [], - p = [] - function m(r) { - c = t.getPointAt(r / e, c) - const l = s.normals[r], - d = s.binormals[r] - for (let t = 0; t <= i; t++) { - const e = (t / i) * Math.PI * 2, - r = Math.sin(e), - s = -Math.cos(e) - ;(o.x = s * l.x + r * d.x), - (o.y = s * l.y + r * d.y), - (o.z = s * l.z + r * d.z), - o.normalize(), - u.push(o.x, o.y, o.z), - (a.x = c.x + n * o.x), - (a.y = c.y + n * o.y), - (a.z = c.z + n * o.z), - h.push(a.x, a.y, a.z) - } - } - !(function () { - for (let t = 0; t < e; t++) m(t) - m(!1 === r ? e : 0), - (function () { - for (let t = 0; t <= e; t++) - for (let n = 0; n <= i; n++) (l.x = t / e), (l.y = n / i), d.push(l.x, l.y) - })(), - (function () { - for (let t = 1; t <= e; t++) - for (let e = 1; e <= i; e++) { - const n = (i + 1) * (t - 1) + (e - 1), - r = (i + 1) * t + (e - 1), - s = (i + 1) * t + e, - a = (i + 1) * (t - 1) + e - p.push(n, r, a), p.push(r, s, a) - } - })() - })(), - this.setIndex(p), - this.setAttribute('position', new He(h, 3)), - this.setAttribute('normal', new He(u, 3)), - this.setAttribute('uv', new He(d, 2)) - } - toJSON() { - const t = super.toJSON() - return (t.path = this.parameters.path.toJSON()), t - } - static fromJSON(t) { - return new Ya( - new fa[t.path.type]().fromJSON(t.path), - t.tubularSegments, - t.radius, - t.radialSegments, - t.closed, - ) - } - } - class Ja extends Ee { - constructor(t) { - super(), - (this.type = 'ShadowMaterial'), - (this.color = new Ie(0)), - (this.transparent = !0), - this.setValues(t) - } - copy(t) { - return super.copy(t), this.color.copy(t.color), this - } - } - Ja.prototype.isShadowMaterial = !0 - class Za extends _n { - constructor(t) { - super(t), (this.type = 'RawShaderMaterial') - } - } - Za.prototype.isRawShaderMaterial = !0 - class Qa extends Ee { - constructor(t) { - super(), - (this.defines = { STANDARD: '' }), - (this.type = 'MeshStandardMaterial'), - (this.color = new Ie(16777215)), - (this.roughness = 1), - (this.metalness = 0), - (this.map = null), - (this.lightMap = null), - (this.lightMapIntensity = 1), - (this.aoMap = null), - (this.aoMapIntensity = 1), - (this.emissive = new Ie(0)), - (this.emissiveIntensity = 1), - (this.emissiveMap = null), - (this.bumpMap = null), - (this.bumpScale = 1), - (this.normalMap = null), - (this.normalMapType = 0), - (this.normalScale = new tt(1, 1)), - (this.displacementMap = null), - (this.displacementScale = 1), - (this.displacementBias = 0), - (this.roughnessMap = null), - (this.metalnessMap = null), - (this.alphaMap = null), - (this.envMap = null), - (this.envMapIntensity = 1), - (this.refractionRatio = 0.98), - (this.wireframe = !1), - (this.wireframeLinewidth = 1), - (this.wireframeLinecap = 'round'), - (this.wireframeLinejoin = 'round'), - (this.morphTargets = !1), - (this.morphNormals = !1), - (this.flatShading = !1), - (this.vertexTangents = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - (this.defines = { STANDARD: '' }), - this.color.copy(t.color), - (this.roughness = t.roughness), - (this.metalness = t.metalness), - (this.map = t.map), - (this.lightMap = t.lightMap), - (this.lightMapIntensity = t.lightMapIntensity), - (this.aoMap = t.aoMap), - (this.aoMapIntensity = t.aoMapIntensity), - this.emissive.copy(t.emissive), - (this.emissiveMap = t.emissiveMap), - (this.emissiveIntensity = t.emissiveIntensity), - (this.bumpMap = t.bumpMap), - (this.bumpScale = t.bumpScale), - (this.normalMap = t.normalMap), - (this.normalMapType = t.normalMapType), - this.normalScale.copy(t.normalScale), - (this.displacementMap = t.displacementMap), - (this.displacementScale = t.displacementScale), - (this.displacementBias = t.displacementBias), - (this.roughnessMap = t.roughnessMap), - (this.metalnessMap = t.metalnessMap), - (this.alphaMap = t.alphaMap), - (this.envMap = t.envMap), - (this.envMapIntensity = t.envMapIntensity), - (this.refractionRatio = t.refractionRatio), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - (this.wireframeLinecap = t.wireframeLinecap), - (this.wireframeLinejoin = t.wireframeLinejoin), - (this.morphTargets = t.morphTargets), - (this.morphNormals = t.morphNormals), - (this.flatShading = t.flatShading), - (this.vertexTangents = t.vertexTangents), - this - ) - } - } - Qa.prototype.isMeshStandardMaterial = !0 - class Ka extends Qa { - constructor(t) { - super(), - (this.defines = { STANDARD: '', PHYSICAL: '' }), - (this.type = 'MeshPhysicalMaterial'), - (this.clearcoat = 0), - (this.clearcoatMap = null), - (this.clearcoatRoughness = 0), - (this.clearcoatRoughnessMap = null), - (this.clearcoatNormalScale = new tt(1, 1)), - (this.clearcoatNormalMap = null), - (this.reflectivity = 0.5), - Object.defineProperty(this, 'ior', { - get: function () { - return (1 + 0.4 * this.reflectivity) / (1 - 0.4 * this.reflectivity) - }, - set: function (t) { - this.reflectivity = J((2.5 * (t - 1)) / (t + 1), 0, 1) - }, - }), - (this.sheen = null), - (this.transmission = 0), - (this.transmissionMap = null), - (this.thickness = 0.01), - (this.thicknessMap = null), - (this.attenuationDistance = 0), - (this.attenuationColor = new Ie(1, 1, 1)), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - (this.defines = { STANDARD: '', PHYSICAL: '' }), - (this.clearcoat = t.clearcoat), - (this.clearcoatMap = t.clearcoatMap), - (this.clearcoatRoughness = t.clearcoatRoughness), - (this.clearcoatRoughnessMap = t.clearcoatRoughnessMap), - (this.clearcoatNormalMap = t.clearcoatNormalMap), - this.clearcoatNormalScale.copy(t.clearcoatNormalScale), - (this.reflectivity = t.reflectivity), - t.sheen ? (this.sheen = (this.sheen || new Ie()).copy(t.sheen)) : (this.sheen = null), - (this.transmission = t.transmission), - (this.transmissionMap = t.transmissionMap), - (this.thickness = t.thickness), - (this.thicknessMap = t.thicknessMap), - (this.attenuationDistance = t.attenuationDistance), - this.attenuationColor.copy(t.attenuationColor), - this - ) - } - } - Ka.prototype.isMeshPhysicalMaterial = !0 - class $a extends Ee { - constructor(t) { - super(), - (this.type = 'MeshPhongMaterial'), - (this.color = new Ie(16777215)), - (this.specular = new Ie(1118481)), - (this.shininess = 30), - (this.map = null), - (this.lightMap = null), - (this.lightMapIntensity = 1), - (this.aoMap = null), - (this.aoMapIntensity = 1), - (this.emissive = new Ie(0)), - (this.emissiveIntensity = 1), - (this.emissiveMap = null), - (this.bumpMap = null), - (this.bumpScale = 1), - (this.normalMap = null), - (this.normalMapType = 0), - (this.normalScale = new tt(1, 1)), - (this.displacementMap = null), - (this.displacementScale = 1), - (this.displacementBias = 0), - (this.specularMap = null), - (this.alphaMap = null), - (this.envMap = null), - (this.combine = 0), - (this.reflectivity = 1), - (this.refractionRatio = 0.98), - (this.wireframe = !1), - (this.wireframeLinewidth = 1), - (this.wireframeLinecap = 'round'), - (this.wireframeLinejoin = 'round'), - (this.morphTargets = !1), - (this.morphNormals = !1), - (this.flatShading = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - this.color.copy(t.color), - this.specular.copy(t.specular), - (this.shininess = t.shininess), - (this.map = t.map), - (this.lightMap = t.lightMap), - (this.lightMapIntensity = t.lightMapIntensity), - (this.aoMap = t.aoMap), - (this.aoMapIntensity = t.aoMapIntensity), - this.emissive.copy(t.emissive), - (this.emissiveMap = t.emissiveMap), - (this.emissiveIntensity = t.emissiveIntensity), - (this.bumpMap = t.bumpMap), - (this.bumpScale = t.bumpScale), - (this.normalMap = t.normalMap), - (this.normalMapType = t.normalMapType), - this.normalScale.copy(t.normalScale), - (this.displacementMap = t.displacementMap), - (this.displacementScale = t.displacementScale), - (this.displacementBias = t.displacementBias), - (this.specularMap = t.specularMap), - (this.alphaMap = t.alphaMap), - (this.envMap = t.envMap), - (this.combine = t.combine), - (this.reflectivity = t.reflectivity), - (this.refractionRatio = t.refractionRatio), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - (this.wireframeLinecap = t.wireframeLinecap), - (this.wireframeLinejoin = t.wireframeLinejoin), - (this.morphTargets = t.morphTargets), - (this.morphNormals = t.morphNormals), - (this.flatShading = t.flatShading), - this - ) - } - } - $a.prototype.isMeshPhongMaterial = !0 - class to extends Ee { - constructor(t) { - super(), - (this.defines = { TOON: '' }), - (this.type = 'MeshToonMaterial'), - (this.color = new Ie(16777215)), - (this.map = null), - (this.gradientMap = null), - (this.lightMap = null), - (this.lightMapIntensity = 1), - (this.aoMap = null), - (this.aoMapIntensity = 1), - (this.emissive = new Ie(0)), - (this.emissiveIntensity = 1), - (this.emissiveMap = null), - (this.bumpMap = null), - (this.bumpScale = 1), - (this.normalMap = null), - (this.normalMapType = 0), - (this.normalScale = new tt(1, 1)), - (this.displacementMap = null), - (this.displacementScale = 1), - (this.displacementBias = 0), - (this.alphaMap = null), - (this.wireframe = !1), - (this.wireframeLinewidth = 1), - (this.wireframeLinecap = 'round'), - (this.wireframeLinejoin = 'round'), - (this.morphTargets = !1), - (this.morphNormals = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - this.color.copy(t.color), - (this.map = t.map), - (this.gradientMap = t.gradientMap), - (this.lightMap = t.lightMap), - (this.lightMapIntensity = t.lightMapIntensity), - (this.aoMap = t.aoMap), - (this.aoMapIntensity = t.aoMapIntensity), - this.emissive.copy(t.emissive), - (this.emissiveMap = t.emissiveMap), - (this.emissiveIntensity = t.emissiveIntensity), - (this.bumpMap = t.bumpMap), - (this.bumpScale = t.bumpScale), - (this.normalMap = t.normalMap), - (this.normalMapType = t.normalMapType), - this.normalScale.copy(t.normalScale), - (this.displacementMap = t.displacementMap), - (this.displacementScale = t.displacementScale), - (this.displacementBias = t.displacementBias), - (this.alphaMap = t.alphaMap), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - (this.wireframeLinecap = t.wireframeLinecap), - (this.wireframeLinejoin = t.wireframeLinejoin), - (this.morphTargets = t.morphTargets), - (this.morphNormals = t.morphNormals), - this - ) - } - } - to.prototype.isMeshToonMaterial = !0 - class eo extends Ee { - constructor(t) { - super(), - (this.type = 'MeshNormalMaterial'), - (this.bumpMap = null), - (this.bumpScale = 1), - (this.normalMap = null), - (this.normalMapType = 0), - (this.normalScale = new tt(1, 1)), - (this.displacementMap = null), - (this.displacementScale = 1), - (this.displacementBias = 0), - (this.wireframe = !1), - (this.wireframeLinewidth = 1), - (this.fog = !1), - (this.morphTargets = !1), - (this.morphNormals = !1), - (this.flatShading = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - (this.bumpMap = t.bumpMap), - (this.bumpScale = t.bumpScale), - (this.normalMap = t.normalMap), - (this.normalMapType = t.normalMapType), - this.normalScale.copy(t.normalScale), - (this.displacementMap = t.displacementMap), - (this.displacementScale = t.displacementScale), - (this.displacementBias = t.displacementBias), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - (this.morphTargets = t.morphTargets), - (this.morphNormals = t.morphNormals), - (this.flatShading = t.flatShading), - this - ) - } - } - eo.prototype.isMeshNormalMaterial = !0 - class no extends Ee { - constructor(t) { - super(), - (this.type = 'MeshLambertMaterial'), - (this.color = new Ie(16777215)), - (this.map = null), - (this.lightMap = null), - (this.lightMapIntensity = 1), - (this.aoMap = null), - (this.aoMapIntensity = 1), - (this.emissive = new Ie(0)), - (this.emissiveIntensity = 1), - (this.emissiveMap = null), - (this.specularMap = null), - (this.alphaMap = null), - (this.envMap = null), - (this.combine = 0), - (this.reflectivity = 1), - (this.refractionRatio = 0.98), - (this.wireframe = !1), - (this.wireframeLinewidth = 1), - (this.wireframeLinecap = 'round'), - (this.wireframeLinejoin = 'round'), - (this.morphTargets = !1), - (this.morphNormals = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - this.color.copy(t.color), - (this.map = t.map), - (this.lightMap = t.lightMap), - (this.lightMapIntensity = t.lightMapIntensity), - (this.aoMap = t.aoMap), - (this.aoMapIntensity = t.aoMapIntensity), - this.emissive.copy(t.emissive), - (this.emissiveMap = t.emissiveMap), - (this.emissiveIntensity = t.emissiveIntensity), - (this.specularMap = t.specularMap), - (this.alphaMap = t.alphaMap), - (this.envMap = t.envMap), - (this.combine = t.combine), - (this.reflectivity = t.reflectivity), - (this.refractionRatio = t.refractionRatio), - (this.wireframe = t.wireframe), - (this.wireframeLinewidth = t.wireframeLinewidth), - (this.wireframeLinecap = t.wireframeLinecap), - (this.wireframeLinejoin = t.wireframeLinejoin), - (this.morphTargets = t.morphTargets), - (this.morphNormals = t.morphNormals), - this - ) - } - } - no.prototype.isMeshLambertMaterial = !0 - class io extends Ee { - constructor(t) { - super(), - (this.defines = { MATCAP: '' }), - (this.type = 'MeshMatcapMaterial'), - (this.color = new Ie(16777215)), - (this.matcap = null), - (this.map = null), - (this.bumpMap = null), - (this.bumpScale = 1), - (this.normalMap = null), - (this.normalMapType = 0), - (this.normalScale = new tt(1, 1)), - (this.displacementMap = null), - (this.displacementScale = 1), - (this.displacementBias = 0), - (this.alphaMap = null), - (this.morphTargets = !1), - (this.morphNormals = !1), - (this.flatShading = !1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - (this.defines = { MATCAP: '' }), - this.color.copy(t.color), - (this.matcap = t.matcap), - (this.map = t.map), - (this.bumpMap = t.bumpMap), - (this.bumpScale = t.bumpScale), - (this.normalMap = t.normalMap), - (this.normalMapType = t.normalMapType), - this.normalScale.copy(t.normalScale), - (this.displacementMap = t.displacementMap), - (this.displacementScale = t.displacementScale), - (this.displacementBias = t.displacementBias), - (this.alphaMap = t.alphaMap), - (this.morphTargets = t.morphTargets), - (this.morphNormals = t.morphNormals), - (this.flatShading = t.flatShading), - this - ) - } - } - io.prototype.isMeshMatcapMaterial = !0 - class ro extends Cs { - constructor(t) { - super(), - (this.type = 'LineDashedMaterial'), - (this.scale = 1), - (this.dashSize = 3), - (this.gapSize = 1), - this.setValues(t) - } - copy(t) { - return ( - super.copy(t), - (this.scale = t.scale), - (this.dashSize = t.dashSize), - (this.gapSize = t.gapSize), - this - ) - } - } - ro.prototype.isLineDashedMaterial = !0 - const so = { - arraySlice: function (t, e, n) { - return so.isTypedArray(t) - ? new t.constructor(t.subarray(e, void 0 !== n ? n : t.length)) - : t.slice(e, n) - }, - convertArray: function (t, e, n) { - return !t || (!n && t.constructor === e) - ? t - : 'number' === typeof e.BYTES_PER_ELEMENT - ? new e(t) - : Array.prototype.slice.call(t) - }, - isTypedArray: function (t) { - return ArrayBuffer.isView(t) && !(t instanceof DataView) - }, - getKeyframeOrder: function (t) { - const e = t.length, - n = new Array(e) - for (let i = 0; i !== e; ++i) n[i] = i - return ( - n.sort(function (e, n) { - return t[e] - t[n] - }), - n - ) - }, - sortedArray: function (t, e, n) { - const i = t.length, - r = new t.constructor(i) - for (let s = 0, a = 0; a !== i; ++s) { - const i = n[s] * e - for (let n = 0; n !== e; ++n) r[a++] = t[i + n] - } - return r - }, - flattenJSON: function (t, e, n, i) { - let r = 1, - s = t[0] - for (; void 0 !== s && void 0 === s[i]; ) s = t[r++] - if (void 0 === s) return - let a = s[i] - if (void 0 !== a) - if (Array.isArray(a)) - do { - ;(a = s[i]), void 0 !== a && (e.push(s.time), n.push.apply(n, a)), (s = t[r++]) - } while (void 0 !== s) - else if (void 0 !== a.toArray) - do { - ;(a = s[i]), void 0 !== a && (e.push(s.time), a.toArray(n, n.length)), (s = t[r++]) - } while (void 0 !== s) - else - do { - ;(a = s[i]), void 0 !== a && (e.push(s.time), n.push(a)), (s = t[r++]) - } while (void 0 !== s) - }, - subclip: function (t, e, n, i, r = 30) { - const s = t.clone() - s.name = e - const a = [] - for (let l = 0; l < s.tracks.length; ++l) { - const t = s.tracks[l], - e = t.getValueSize(), - o = [], - c = [] - for (let s = 0; s < t.times.length; ++s) { - const a = t.times[s] * r - if (!(a < n || a >= i)) { - o.push(t.times[s]) - for (let n = 0; n < e; ++n) c.push(t.values[s * e + n]) - } - } - 0 !== o.length && - ((t.times = so.convertArray(o, t.times.constructor)), - (t.values = so.convertArray(c, t.values.constructor)), - a.push(t)) - } - s.tracks = a - let o = 1 / 0 - for (let l = 0; l < s.tracks.length; ++l) - o > s.tracks[l].times[0] && (o = s.tracks[l].times[0]) - for (let l = 0; l < s.tracks.length; ++l) s.tracks[l].shift(-1 * o) - return s.resetDuration(), s - }, - makeClipAdditive: function (t, e = 0, n = t, i = 30) { - i <= 0 && (i = 30) - const r = n.tracks.length, - s = e / i - for (let a = 0; a < r; ++a) { - const e = n.tracks[a], - i = e.ValueTypeName - if ('bool' === i || 'string' === i) continue - const r = t.tracks.find(function (t) { - return t.name === e.name && t.ValueTypeName === i - }) - if (void 0 === r) continue - let o = 0 - const l = e.getValueSize() - e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline && (o = l / 3) - let c = 0 - const h = r.getValueSize() - r.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline && (c = h / 3) - const u = e.times.length - 1 - let d - if (s <= e.times[0]) { - const t = o, - n = l - o - d = so.arraySlice(e.values, t, n) - } else if (s >= e.times[u]) { - const t = u * l + o, - n = t + l - o - d = so.arraySlice(e.values, t, n) - } else { - const t = e.createInterpolant(), - n = o, - i = l - o - t.evaluate(s), (d = so.arraySlice(t.resultBuffer, n, i)) - } - if ('quaternion' === i) { - new ht().fromArray(d).normalize().conjugate().toArray(d) - } - const p = r.times.length - for (let t = 0; t < p; ++t) { - const e = t * h + c - if ('quaternion' === i) ht.multiplyQuaternionsFlat(r.values, e, d, 0, r.values, e) - else { - const t = h - 2 * c - for (let n = 0; n < t; ++n) r.values[e + n] -= d[n] - } - } - } - return (t.blendMode = 2501), t - }, - } - class ao { - constructor(t, e, n, i) { - ;(this.parameterPositions = t), - (this._cachedIndex = 0), - (this.resultBuffer = void 0 !== i ? i : new e.constructor(n)), - (this.sampleValues = e), - (this.valueSize = n), - (this.settings = null), - (this.DefaultSettings_ = {}) - } - evaluate(t) { - const e = this.parameterPositions - let n = this._cachedIndex, - i = e[n], - r = e[n - 1] - t: { - e: { - let s - n: { - i: if (!(t < i)) { - for (let s = n + 2; ; ) { - if (void 0 === i) { - if (t < r) break i - return (n = e.length), (this._cachedIndex = n), this.afterEnd_(n - 1, t, r) - } - if (n === s) break - if (((r = i), (i = e[++n]), t < i)) break e - } - s = e.length - break n - } - if (t >= r) break t - { - const a = e[1] - t < a && ((n = 2), (r = a)) - for (let s = n - 2; ; ) { - if (void 0 === r) return (this._cachedIndex = 0), this.beforeStart_(0, t, i) - if (n === s) break - if (((i = r), (r = e[--n - 1]), t >= r)) break e - } - ;(s = n), (n = 0) - } - } - for (; n < s; ) { - const i = (n + s) >>> 1 - t < e[i] ? (s = i) : (n = i + 1) - } - if (((i = e[n]), (r = e[n - 1]), void 0 === r)) - return (this._cachedIndex = 0), this.beforeStart_(0, t, i) - if (void 0 === i) - return (n = e.length), (this._cachedIndex = n), this.afterEnd_(n - 1, r, t) - } - ;(this._cachedIndex = n), this.intervalChanged_(n, r, i) - } - return this.interpolate_(n, r, t, i) - } - getSettings_() { - return this.settings || this.DefaultSettings_ - } - copySampleValue_(t) { - const e = this.resultBuffer, - n = this.sampleValues, - i = this.valueSize, - r = t * i - for (let s = 0; s !== i; ++s) e[s] = n[r + s] - return e - } - interpolate_() { - throw new Error('call to abstract method') - } - intervalChanged_() {} - } - ;(ao.prototype.beforeStart_ = ao.prototype.copySampleValue_), - (ao.prototype.afterEnd_ = ao.prototype.copySampleValue_) - class oo extends ao { - constructor(t, e, n, i) { - super(t, e, n, i), - (this._weightPrev = -0), - (this._offsetPrev = -0), - (this._weightNext = -0), - (this._offsetNext = -0), - (this.DefaultSettings_ = { endingStart: D, endingEnd: D }) - } - intervalChanged_(t, e, n) { - const i = this.parameterPositions - let r = t - 2, - s = t + 1, - a = i[r], - o = i[s] - if (void 0 === a) - switch (this.getSettings_().endingStart) { - case I: - ;(r = t), (a = 2 * e - n) - break - case N: - ;(r = i.length - 2), (a = e + i[r] - i[r + 1]) - break - default: - ;(r = t), (a = n) - } - if (void 0 === o) - switch (this.getSettings_().endingEnd) { - case I: - ;(s = t), (o = 2 * n - e) - break - case N: - ;(s = 1), (o = n + i[1] - i[0]) - break - default: - ;(s = t - 1), (o = e) - } - const l = 0.5 * (n - e), - c = this.valueSize - ;(this._weightPrev = l / (e - a)), - (this._weightNext = l / (o - n)), - (this._offsetPrev = r * c), - (this._offsetNext = s * c) - } - interpolate_(t, e, n, i) { - const r = this.resultBuffer, - s = this.sampleValues, - a = this.valueSize, - o = t * a, - l = o - a, - c = this._offsetPrev, - h = this._offsetNext, - u = this._weightPrev, - d = this._weightNext, - p = (n - e) / (i - e), - m = p * p, - f = m * p, - g = -u * f + 2 * u * m - u * p, - v = (1 + u) * f + (-1.5 - 2 * u) * m + (-0.5 + u) * p + 1, - y = (-1 - d) * f + (1.5 + d) * m + 0.5 * p, - x = d * f - d * m - for (let _ = 0; _ !== a; ++_) - r[_] = g * s[c + _] + v * s[l + _] + y * s[o + _] + x * s[h + _] - return r - } - } - class lo extends ao { - constructor(t, e, n, i) { - super(t, e, n, i) - } - interpolate_(t, e, n, i) { - const r = this.resultBuffer, - s = this.sampleValues, - a = this.valueSize, - o = t * a, - l = o - a, - c = (n - e) / (i - e), - h = 1 - c - for (let u = 0; u !== a; ++u) r[u] = s[l + u] * h + s[o + u] * c - return r - } - } - class co extends ao { - constructor(t, e, n, i) { - super(t, e, n, i) - } - interpolate_(t) { - return this.copySampleValue_(t - 1) - } - } - class ho { - constructor(t, e, n, i) { - if (void 0 === t) throw new Error('THREE.KeyframeTrack: track name is undefined') - if (void 0 === e || 0 === e.length) - throw new Error('THREE.KeyframeTrack: no keyframes in track named ' + t) - ;(this.name = t), - (this.times = so.convertArray(e, this.TimeBufferType)), - (this.values = so.convertArray(n, this.ValueBufferType)), - this.setInterpolation(i || this.DefaultInterpolation) - } - static toJSON(t) { - const e = t.constructor - let n - if (e.toJSON !== this.toJSON) n = e.toJSON(t) - else { - n = { - name: t.name, - times: so.convertArray(t.times, Array), - values: so.convertArray(t.values, Array), - } - const e = t.getInterpolation() - e !== t.DefaultInterpolation && (n.interpolation = e) - } - return (n.type = t.ValueTypeName), n - } - InterpolantFactoryMethodDiscrete(t) { - return new co(this.times, this.values, this.getValueSize(), t) - } - InterpolantFactoryMethodLinear(t) { - return new lo(this.times, this.values, this.getValueSize(), t) - } - InterpolantFactoryMethodSmooth(t) { - return new oo(this.times, this.values, this.getValueSize(), t) - } - setInterpolation(t) { - let e - switch (t) { - case R: - e = this.InterpolantFactoryMethodDiscrete - break - case C: - e = this.InterpolantFactoryMethodLinear - break - case P: - e = this.InterpolantFactoryMethodSmooth - } - if (void 0 === e) { - const e = - 'unsupported interpolation for ' + - this.ValueTypeName + - ' keyframe track named ' + - this.name - if (void 0 === this.createInterpolant) { - if (t === this.DefaultInterpolation) throw new Error(e) - this.setInterpolation(this.DefaultInterpolation) - } - return console.warn('THREE.KeyframeTrack:', e), this - } - return (this.createInterpolant = e), this - } - getInterpolation() { - switch (this.createInterpolant) { - case this.InterpolantFactoryMethodDiscrete: - return R - case this.InterpolantFactoryMethodLinear: - return C - case this.InterpolantFactoryMethodSmooth: - return P - } - } - getValueSize() { - return this.values.length / this.times.length - } - shift(t) { - if (0 !== t) { - const e = this.times - for (let n = 0, i = e.length; n !== i; ++n) e[n] += t - } - return this - } - scale(t) { - if (1 !== t) { - const e = this.times - for (let n = 0, i = e.length; n !== i; ++n) e[n] *= t - } - return this - } - trim(t, e) { - const n = this.times, - i = n.length - let r = 0, - s = i - 1 - for (; r !== i && n[r] < t; ) ++r - for (; -1 !== s && n[s] > e; ) --s - if ((++s, 0 !== r || s !== i)) { - r >= s && ((s = Math.max(s, 1)), (r = s - 1)) - const t = this.getValueSize() - ;(this.times = so.arraySlice(n, r, s)), - (this.values = so.arraySlice(this.values, r * t, s * t)) - } - return this - } - validate() { - let t = !0 - const e = this.getValueSize() - e - Math.floor(e) !== 0 && - (console.error('THREE.KeyframeTrack: Invalid value size in track.', this), (t = !1)) - const n = this.times, - i = this.values, - r = n.length - 0 === r && (console.error('THREE.KeyframeTrack: Track is empty.', this), (t = !1)) - let s = null - for (let a = 0; a !== r; a++) { - const e = n[a] - if ('number' === typeof e && isNaN(e)) { - console.error('THREE.KeyframeTrack: Time is not a valid number.', this, a, e), - (t = !1) - break - } - if (null !== s && s > e) { - console.error('THREE.KeyframeTrack: Out of order keys.', this, a, e, s), (t = !1) - break - } - s = e - } - if (void 0 !== i && so.isTypedArray(i)) - for (let a = 0, o = i.length; a !== o; ++a) { - const e = i[a] - if (isNaN(e)) { - console.error('THREE.KeyframeTrack: Value is not a valid number.', this, a, e), - (t = !1) - break - } - } - return t - } - optimize() { - const t = so.arraySlice(this.times), - e = so.arraySlice(this.values), - n = this.getValueSize(), - i = this.getInterpolation() === P, - r = t.length - 1 - let s = 1 - for (let a = 1; a < r; ++a) { - let r = !1 - const o = t[a] - if (o !== t[a + 1] && (1 !== a || o !== t[0])) - if (i) r = !0 - else { - const t = a * n, - i = t - n, - s = t + n - for (let a = 0; a !== n; ++a) { - const n = e[t + a] - if (n !== e[i + a] || n !== e[s + a]) { - r = !0 - break - } - } - } - if (r) { - if (a !== s) { - t[s] = t[a] - const i = a * n, - r = s * n - for (let t = 0; t !== n; ++t) e[r + t] = e[i + t] - } - ++s - } - } - if (r > 0) { - t[s] = t[r] - for (let t = r * n, i = s * n, a = 0; a !== n; ++a) e[i + a] = e[t + a] - ++s - } - return ( - s !== t.length - ? ((this.times = so.arraySlice(t, 0, s)), (this.values = so.arraySlice(e, 0, s * n))) - : ((this.times = t), (this.values = e)), - this - ) - } - clone() { - const t = so.arraySlice(this.times, 0), - e = so.arraySlice(this.values, 0), - n = new (0, this.constructor)(this.name, t, e) - return (n.createInterpolant = this.createInterpolant), n - } - } - ;(ho.prototype.TimeBufferType = Float32Array), - (ho.prototype.ValueBufferType = Float32Array), - (ho.prototype.DefaultInterpolation = C) - class uo extends ho {} - ;(uo.prototype.ValueTypeName = 'bool'), - (uo.prototype.ValueBufferType = Array), - (uo.prototype.DefaultInterpolation = R), - (uo.prototype.InterpolantFactoryMethodLinear = void 0), - (uo.prototype.InterpolantFactoryMethodSmooth = void 0) - class po extends ho {} - po.prototype.ValueTypeName = 'color' - class mo extends ho {} - mo.prototype.ValueTypeName = 'number' - class fo extends ao { - constructor(t, e, n, i) { - super(t, e, n, i) - } - interpolate_(t, e, n, i) { - const r = this.resultBuffer, - s = this.sampleValues, - a = this.valueSize, - o = (n - e) / (i - e) - let l = t * a - for (let c = l + a; l !== c; l += 4) ht.slerpFlat(r, 0, s, l - a, s, l, o) - return r - } - } - class go extends ho { - InterpolantFactoryMethodLinear(t) { - return new fo(this.times, this.values, this.getValueSize(), t) - } - } - ;(go.prototype.ValueTypeName = 'quaternion'), - (go.prototype.DefaultInterpolation = C), - (go.prototype.InterpolantFactoryMethodSmooth = void 0) - class vo extends ho {} - ;(vo.prototype.ValueTypeName = 'string'), - (vo.prototype.ValueBufferType = Array), - (vo.prototype.DefaultInterpolation = R), - (vo.prototype.InterpolantFactoryMethodLinear = void 0), - (vo.prototype.InterpolantFactoryMethodSmooth = void 0) - class yo extends ho {} - yo.prototype.ValueTypeName = 'vector' - class xo { - constructor(t, e = -1, n, i = 2500) { - ;(this.name = t), - (this.tracks = n), - (this.duration = e), - (this.blendMode = i), - (this.uuid = Y()), - this.duration < 0 && this.resetDuration() - } - static parse(t) { - const e = [], - n = t.tracks, - i = 1 / (t.fps || 1) - for (let s = 0, a = n.length; s !== a; ++s) e.push(_o(n[s]).scale(i)) - const r = new this(t.name, t.duration, e, t.blendMode) - return (r.uuid = t.uuid), r - } - static toJSON(t) { - const e = [], - n = t.tracks, - i = { - name: t.name, - duration: t.duration, - tracks: e, - uuid: t.uuid, - blendMode: t.blendMode, - } - for (let r = 0, s = n.length; r !== s; ++r) e.push(ho.toJSON(n[r])) - return i - } - static CreateFromMorphTargetSequence(t, e, n, i) { - const r = e.length, - s = [] - for (let a = 0; a < r; a++) { - let t = [], - o = [] - t.push((a + r - 1) % r, a, (a + 1) % r), o.push(0, 1, 0) - const l = so.getKeyframeOrder(t) - ;(t = so.sortedArray(t, 1, l)), - (o = so.sortedArray(o, 1, l)), - i || 0 !== t[0] || (t.push(r), o.push(o[0])), - s.push(new mo('.morphTargetInfluences[' + e[a].name + ']', t, o).scale(1 / n)) - } - return new this(t, -1, s) - } - static findByName(t, e) { - let n = t - if (!Array.isArray(t)) { - const e = t - n = (e.geometry && e.geometry.animations) || e.animations - } - for (let i = 0; i < n.length; i++) if (n[i].name === e) return n[i] - return null - } - static CreateClipsFromMorphTargetSequences(t, e, n) { - const i = {}, - r = /^([\w-]*?)([\d]+)$/ - for (let a = 0, o = t.length; a < o; a++) { - const e = t[a], - n = e.name.match(r) - if (n && n.length > 1) { - const t = n[1] - let r = i[t] - r || (i[t] = r = []), r.push(e) - } - } - const s = [] - for (const a in i) s.push(this.CreateFromMorphTargetSequence(a, i[a], e, n)) - return s - } - static parseAnimation(t, e) { - if (!t) - return console.error('THREE.AnimationClip: No animation in JSONLoader data.'), null - const n = function (t, e, n, i, r) { - if (0 !== n.length) { - const s = [], - a = [] - so.flattenJSON(n, s, a, i), 0 !== s.length && r.push(new t(e, s, a)) - } - }, - i = [], - r = t.name || 'default', - s = t.fps || 30, - a = t.blendMode - let o = t.length || -1 - const l = t.hierarchy || [] - for (let c = 0; c < l.length; c++) { - const t = l[c].keys - if (t && 0 !== t.length) - if (t[0].morphTargets) { - const e = {} - let n - for (n = 0; n < t.length; n++) - if (t[n].morphTargets) - for (let i = 0; i < t[n].morphTargets.length; i++) e[t[n].morphTargets[i]] = -1 - for (const r in e) { - const e = [], - s = [] - for (let i = 0; i !== t[n].morphTargets.length; ++i) { - const i = t[n] - e.push(i.time), s.push(i.morphTarget === r ? 1 : 0) - } - i.push(new mo('.morphTargetInfluence[' + r + ']', e, s)) - } - o = e.length * (s || 1) - } else { - const r = '.bones[' + e[c].name + ']' - n(yo, r + '.position', t, 'pos', i), - n(go, r + '.quaternion', t, 'rot', i), - n(yo, r + '.scale', t, 'scl', i) - } - } - if (0 === i.length) return null - return new this(r, o, i, a) - } - resetDuration() { - let t = 0 - for (let e = 0, n = this.tracks.length; e !== n; ++e) { - const n = this.tracks[e] - t = Math.max(t, n.times[n.times.length - 1]) - } - return (this.duration = t), this - } - trim() { - for (let t = 0; t < this.tracks.length; t++) this.tracks[t].trim(0, this.duration) - return this - } - validate() { - let t = !0 - for (let e = 0; e < this.tracks.length; e++) t = t && this.tracks[e].validate() - return t - } - optimize() { - for (let t = 0; t < this.tracks.length; t++) this.tracks[t].optimize() - return this - } - clone() { - const t = [] - for (let e = 0; e < this.tracks.length; e++) t.push(this.tracks[e].clone()) - return new this.constructor(this.name, this.duration, t, this.blendMode) - } - toJSON() { - return this.constructor.toJSON(this) - } - } - function _o(t) { - if (void 0 === t.type) - throw new Error('THREE.KeyframeTrack: track type undefined, can not parse') - const e = (function (t) { - switch (t.toLowerCase()) { - case 'scalar': - case 'double': - case 'float': - case 'number': - case 'integer': - return mo - case 'vector': - case 'vector2': - case 'vector3': - case 'vector4': - return yo - case 'color': - return po - case 'quaternion': - return go - case 'bool': - case 'boolean': - return uo - case 'string': - return vo - } - throw new Error('THREE.KeyframeTrack: Unsupported typeName: ' + t) - })(t.type) - if (void 0 === t.times) { - const e = [], - n = [] - so.flattenJSON(t.keys, e, n, 'value'), (t.times = e), (t.values = n) - } - return void 0 !== e.parse ? e.parse(t) : new e(t.name, t.times, t.values, t.interpolation) - } - const bo = { - enabled: !1, - files: {}, - add: function (t, e) { - !1 !== this.enabled && (this.files[t] = e) - }, - get: function (t) { - if (!1 !== this.enabled) return this.files[t] - }, - remove: function (t) { - delete this.files[t] - }, - clear: function () { - this.files = {} - }, - } - class Mo { - constructor(t, e, n) { - const i = this - let r, - s = !1, - a = 0, - o = 0 - const l = [] - ;(this.onStart = void 0), - (this.onLoad = t), - (this.onProgress = e), - (this.onError = n), - (this.itemStart = function (t) { - o++, !1 === s && void 0 !== i.onStart && i.onStart(t, a, o), (s = !0) - }), - (this.itemEnd = function (t) { - a++, - void 0 !== i.onProgress && i.onProgress(t, a, o), - a === o && ((s = !1), void 0 !== i.onLoad && i.onLoad()) - }), - (this.itemError = function (t) { - void 0 !== i.onError && i.onError(t) - }), - (this.resolveURL = function (t) { - return r ? r(t) : t - }), - (this.setURLModifier = function (t) { - return (r = t), this - }), - (this.addHandler = function (t, e) { - return l.push(t, e), this - }), - (this.removeHandler = function (t) { - const e = l.indexOf(t) - return -1 !== e && l.splice(e, 2), this - }), - (this.getHandler = function (t) { - for (let e = 0, n = l.length; e < n; e += 2) { - const n = l[e], - i = l[e + 1] - if ((n.global && (n.lastIndex = 0), n.test(t))) return i - } - return null - }) - } - } - const wo = new Mo() - class So { - constructor(t) { - ;(this.manager = void 0 !== t ? t : wo), - (this.crossOrigin = 'anonymous'), - (this.withCredentials = !1), - (this.path = ''), - (this.resourcePath = ''), - (this.requestHeader = {}) - } - load() {} - loadAsync(t, e) { - const n = this - return new Promise(function (i, r) { - n.load(t, i, e, r) - }) - } - parse() {} - setCrossOrigin(t) { - return (this.crossOrigin = t), this - } - setWithCredentials(t) { - return (this.withCredentials = t), this - } - setPath(t) { - return (this.path = t), this - } - setResourcePath(t) { - return (this.resourcePath = t), this - } - setRequestHeader(t) { - return (this.requestHeader = t), this - } - } - const To = {} - class Eo extends So { - constructor(t) { - super(t) - } - load(t, e, n, i) { - void 0 === t && (t = ''), - void 0 !== this.path && (t = this.path + t), - (t = this.manager.resolveURL(t)) - const r = this, - s = bo.get(t) - if (void 0 !== s) - return ( - r.manager.itemStart(t), - setTimeout(function () { - e && e(s), r.manager.itemEnd(t) - }, 0), - s - ) - if (void 0 !== To[t]) return void To[t].push({ onLoad: e, onProgress: n, onError: i }) - const a = t.match(/^data:(.*?)(;base64)?,(.*)$/) - let o - if (a) { - const n = a[1], - s = !!a[2] - let o = a[3] - ;(o = decodeURIComponent(o)), s && (o = atob(o)) - try { - let i - const s = (this.responseType || '').toLowerCase() - switch (s) { - case 'arraybuffer': - case 'blob': - const t = new Uint8Array(o.length) - for (let n = 0; n < o.length; n++) t[n] = o.charCodeAt(n) - i = 'blob' === s ? new Blob([t.buffer], { type: n }) : t.buffer - break - case 'document': - const e = new DOMParser() - i = e.parseFromString(o, n) - break - case 'json': - i = JSON.parse(o) - break - default: - i = o - } - setTimeout(function () { - e && e(i), r.manager.itemEnd(t) - }, 0) - } catch (l) { - setTimeout(function () { - i && i(l), r.manager.itemError(t), r.manager.itemEnd(t) - }, 0) - } - } else { - ;(To[t] = []), - To[t].push({ onLoad: e, onProgress: n, onError: i }), - (o = new XMLHttpRequest()), - o.open('GET', t, !0), - o.addEventListener( - 'load', - function (e) { - const n = this.response, - i = To[t] - if ((delete To[t], 200 === this.status || 0 === this.status)) { - 0 === this.status && console.warn('THREE.FileLoader: HTTP Status 0 received.'), - bo.add(t, n) - for (let t = 0, e = i.length; t < e; t++) { - const e = i[t] - e.onLoad && e.onLoad(n) - } - r.manager.itemEnd(t) - } else { - for (let t = 0, n = i.length; t < n; t++) { - const n = i[t] - n.onError && n.onError(e) - } - r.manager.itemError(t), r.manager.itemEnd(t) - } - }, - !1, - ), - o.addEventListener( - 'progress', - function (e) { - const n = To[t] - for (let t = 0, i = n.length; t < i; t++) { - const i = n[t] - i.onProgress && i.onProgress(e) - } - }, - !1, - ), - o.addEventListener( - 'error', - function (e) { - const n = To[t] - delete To[t] - for (let t = 0, i = n.length; t < i; t++) { - const i = n[t] - i.onError && i.onError(e) - } - r.manager.itemError(t), r.manager.itemEnd(t) - }, - !1, - ), - o.addEventListener( - 'abort', - function (e) { - const n = To[t] - delete To[t] - for (let t = 0, i = n.length; t < i; t++) { - const i = n[t] - i.onError && i.onError(e) - } - r.manager.itemError(t), r.manager.itemEnd(t) - }, - !1, - ), - void 0 !== this.responseType && (o.responseType = this.responseType), - void 0 !== this.withCredentials && (o.withCredentials = this.withCredentials), - o.overrideMimeType && - o.overrideMimeType(void 0 !== this.mimeType ? this.mimeType : 'text/plain') - for (const t in this.requestHeader) o.setRequestHeader(t, this.requestHeader[t]) - o.send(null) - } - return r.manager.itemStart(t), o - } - setResponseType(t) { - return (this.responseType = t), this - } - setMimeType(t) { - return (this.mimeType = t), this - } - } - class Lo extends So { - constructor(t) { - super(t) - } - load(t, e, n, i) { - void 0 !== this.path && (t = this.path + t), (t = this.manager.resolveURL(t)) - const r = this, - s = bo.get(t) - if (void 0 !== s) - return ( - r.manager.itemStart(t), - setTimeout(function () { - e && e(s), r.manager.itemEnd(t) - }, 0), - s - ) - const a = document.createElementNS('http://www.w3.org/1999/xhtml', 'img') - function o() { - a.removeEventListener('load', o, !1), - a.removeEventListener('error', l, !1), - bo.add(t, this), - e && e(this), - r.manager.itemEnd(t) - } - function l(e) { - a.removeEventListener('load', o, !1), - a.removeEventListener('error', l, !1), - i && i(e), - r.manager.itemError(t), - r.manager.itemEnd(t) - } - return ( - a.addEventListener('load', o, !1), - a.addEventListener('error', l, !1), - 'data:' !== t.substr(0, 5) && - void 0 !== this.crossOrigin && - (a.crossOrigin = this.crossOrigin), - r.manager.itemStart(t), - (a.src = t), - a - ) - } - } - class Ao extends So { - constructor(t) { - super(t) - } - load(t, e, n, i) { - const r = new Tn(), - s = new Lo(this.manager) - s.setCrossOrigin(this.crossOrigin), s.setPath(this.path) - let a = 0 - function o(n) { - s.load( - t[n], - function (t) { - ;(r.images[n] = t), a++, 6 === a && ((r.needsUpdate = !0), e && e(r)) - }, - void 0, - i, - ) - } - for (let l = 0; l < t.length; ++l) o(l) - return r - } - } - class Ro extends So { - constructor(t) { - super(t) - } - load(t, e, n, i) { - const r = new st(), - s = new Lo(this.manager) - return ( - s.setCrossOrigin(this.crossOrigin), - s.setPath(this.path), - s.load( - t, - function (n) { - r.image = n - const i = t.search(/\.jpe?g($|\?)/i) > 0 || 0 === t.search(/^data\:image\/jpeg/) - ;(r.format = i ? T : E), (r.needsUpdate = !0), void 0 !== e && e(r) - }, - n, - i, - ), - r - ) - } - } - class Co extends Qs { - constructor() { - super(), (this.type = 'CurvePath'), (this.curves = []), (this.autoClose = !1) - } - add(t) { - this.curves.push(t) - } - closePath() { - const t = this.curves[0].getPoint(0), - e = this.curves[this.curves.length - 1].getPoint(1) - t.equals(e) || this.curves.push(new ua(e, t)) - } - getPoint(t) { - const e = t * this.getLength(), - n = this.getCurveLengths() - let i = 0 - for (; i < n.length; ) { - if (n[i] >= e) { - const t = n[i] - e, - r = this.curves[i], - s = r.getLength(), - a = 0 === s ? 0 : 1 - t / s - return r.getPointAt(a) - } - i++ - } - return null - } - getLength() { - const t = this.getCurveLengths() - return t[t.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 t = [] - let e = 0 - for (let n = 0, i = this.curves.length; n < i; n++) - (e += this.curves[n].getLength()), t.push(e) - return (this.cacheLengths = t), t - } - getSpacedPoints(t = 40) { - const e = [] - for (let n = 0; n <= t; n++) e.push(this.getPoint(n / t)) - return this.autoClose && e.push(e[0]), e - } - getPoints(t = 12) { - const e = [] - let n - for (let i = 0, r = this.curves; i < r.length; i++) { - const s = r[i], - a = - s && s.isEllipseCurve - ? 2 * t - : s && (s.isLineCurve || s.isLineCurve3) - ? 1 - : s && s.isSplineCurve - ? t * s.points.length - : t, - o = s.getPoints(a) - for (let t = 0; t < o.length; t++) { - const i = o[t] - ;(n && n.equals(i)) || (e.push(i), (n = i)) - } - } - return this.autoClose && e.length > 1 && !e[e.length - 1].equals(e[0]) && e.push(e[0]), e - } - copy(t) { - super.copy(t), (this.curves = []) - for (let e = 0, n = t.curves.length; e < n; e++) { - const n = t.curves[e] - this.curves.push(n.clone()) - } - return (this.autoClose = t.autoClose), this - } - toJSON() { - const t = super.toJSON() - ;(t.autoClose = this.autoClose), (t.curves = []) - for (let e = 0, n = this.curves.length; e < n; e++) { - const n = this.curves[e] - t.curves.push(n.toJSON()) - } - return t - } - fromJSON(t) { - super.fromJSON(t), (this.autoClose = t.autoClose), (this.curves = []) - for (let e = 0, n = t.curves.length; e < n; e++) { - const n = t.curves[e] - this.curves.push(new fa[n.type]().fromJSON(n)) - } - return this - } - } - class Po extends Co { - constructor(t) { - super(), (this.type = 'Path'), (this.currentPoint = new tt()), t && this.setFromPoints(t) - } - setFromPoints(t) { - this.moveTo(t[0].x, t[0].y) - for (let e = 1, n = t.length; e < n; e++) this.lineTo(t[e].x, t[e].y) - return this - } - moveTo(t, e) { - return this.currentPoint.set(t, e), this - } - lineTo(t, e) { - const n = new ua(this.currentPoint.clone(), new tt(t, e)) - return this.curves.push(n), this.currentPoint.set(t, e), this - } - quadraticCurveTo(t, e, n, i) { - const r = new da(this.currentPoint.clone(), new tt(t, e), new tt(n, i)) - return this.curves.push(r), this.currentPoint.set(n, i), this - } - bezierCurveTo(t, e, n, i, r, s) { - const a = new ca(this.currentPoint.clone(), new tt(t, e), new tt(n, i), new tt(r, s)) - return this.curves.push(a), this.currentPoint.set(r, s), this - } - splineThru(t) { - const e = [this.currentPoint.clone()].concat(t), - n = new ma(e) - return this.curves.push(n), this.currentPoint.copy(t[t.length - 1]), this - } - arc(t, e, n, i, r, s) { - const a = this.currentPoint.x, - o = this.currentPoint.y - return this.absarc(t + a, e + o, n, i, r, s), this - } - absarc(t, e, n, i, r, s) { - return this.absellipse(t, e, n, n, i, r, s), this - } - ellipse(t, e, n, i, r, s, a, o) { - const l = this.currentPoint.x, - c = this.currentPoint.y - return this.absellipse(t + l, e + c, n, i, r, s, a, o), this - } - absellipse(t, e, n, i, r, s, a, o) { - const l = new Ks(t, e, n, i, r, s, a, o) - if (this.curves.length > 0) { - const t = l.getPoint(0) - t.equals(this.currentPoint) || this.lineTo(t.x, t.y) - } - this.curves.push(l) - const c = l.getPoint(1) - return this.currentPoint.copy(c), this - } - copy(t) { - return super.copy(t), this.currentPoint.copy(t.currentPoint), this - } - toJSON() { - const t = super.toJSON() - return (t.currentPoint = this.currentPoint.toArray()), t - } - fromJSON(t) { - return super.fromJSON(t), this.currentPoint.fromArray(t.currentPoint), this - } - } - class Do extends Po { - constructor(t) { - super(t), (this.uuid = Y()), (this.type = 'Shape'), (this.holes = []) - } - getPointsHoles(t) { - const e = [] - for (let n = 0, i = this.holes.length; n < i; n++) e[n] = this.holes[n].getPoints(t) - return e - } - extractPoints(t) { - return { shape: this.getPoints(t), holes: this.getPointsHoles(t) } - } - copy(t) { - super.copy(t), (this.holes = []) - for (let e = 0, n = t.holes.length; e < n; e++) { - const n = t.holes[e] - this.holes.push(n.clone()) - } - return this - } - toJSON() { - const t = super.toJSON() - ;(t.uuid = this.uuid), (t.holes = []) - for (let e = 0, n = this.holes.length; e < n; e++) { - const n = this.holes[e] - t.holes.push(n.toJSON()) - } - return t - } - fromJSON(t) { - super.fromJSON(t), (this.uuid = t.uuid), (this.holes = []) - for (let e = 0, n = t.holes.length; e < n; e++) { - const n = t.holes[e] - this.holes.push(new Po().fromJSON(n)) - } - return this - } - } - class Io extends pe { - constructor(t, e = 1) { - super(), (this.type = 'Light'), (this.color = new Ie(t)), (this.intensity = e) - } - dispose() {} - copy(t) { - return super.copy(t), this.color.copy(t.color), (this.intensity = t.intensity), this - } - toJSON(t) { - const e = super.toJSON(t) - return ( - (e.object.color = this.color.getHex()), - (e.object.intensity = this.intensity), - void 0 !== this.groundColor && (e.object.groundColor = this.groundColor.getHex()), - void 0 !== this.distance && (e.object.distance = this.distance), - void 0 !== this.angle && (e.object.angle = this.angle), - void 0 !== this.decay && (e.object.decay = this.decay), - void 0 !== this.penumbra && (e.object.penumbra = this.penumbra), - void 0 !== this.shadow && (e.object.shadow = this.shadow.toJSON()), - e - ) - } - } - Io.prototype.isLight = !0 - class No extends Io { - constructor(t, e, n) { - super(t, n), - (this.type = 'HemisphereLight'), - this.position.copy(pe.DefaultUp), - this.updateMatrix(), - (this.groundColor = new Ie(e)) - } - copy(t) { - return Io.prototype.copy.call(this, t), this.groundColor.copy(t.groundColor), this - } - } - No.prototype.isHemisphereLight = !0 - const zo = new Vt(), - Oo = new ut(), - Bo = new ut() - class Fo { - constructor(t) { - ;(this.camera = t), - (this.bias = 0), - (this.normalBias = 0), - (this.radius = 1), - (this.mapSize = new tt(512, 512)), - (this.map = null), - (this.mapPass = null), - (this.matrix = new Vt()), - (this.autoUpdate = !0), - (this.needsUpdate = !1), - (this._frustum = new In()), - (this._frameExtents = new tt(1, 1)), - (this._viewportCount = 1), - (this._viewports = [new ot(0, 0, 1, 1)]) - } - getViewportCount() { - return this._viewportCount - } - getFrustum() { - return this._frustum - } - updateMatrices(t) { - const e = this.camera, - n = this.matrix - Oo.setFromMatrixPosition(t.matrixWorld), - e.position.copy(Oo), - Bo.setFromMatrixPosition(t.target.matrixWorld), - e.lookAt(Bo), - e.updateMatrixWorld(), - zo.multiplyMatrices(e.projectionMatrix, e.matrixWorldInverse), - this._frustum.setFromProjectionMatrix(zo), - n.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1), - n.multiply(e.projectionMatrix), - n.multiply(e.matrixWorldInverse) - } - getViewport(t) { - return this._viewports[t] - } - getFrameExtents() { - return this._frameExtents - } - dispose() { - this.map && this.map.dispose(), this.mapPass && this.mapPass.dispose() - } - copy(t) { - return ( - (this.camera = t.camera.clone()), - (this.bias = t.bias), - (this.radius = t.radius), - this.mapSize.copy(t.mapSize), - this - ) - } - clone() { - return new this.constructor().copy(this) - } - toJSON() { - const t = {} - return ( - 0 !== this.bias && (t.bias = this.bias), - 0 !== this.normalBias && (t.normalBias = this.normalBias), - 1 !== this.radius && (t.radius = this.radius), - (512 === this.mapSize.x && 512 === this.mapSize.y) || - (t.mapSize = this.mapSize.toArray()), - (t.camera = this.camera.toJSON(!1).object), - delete t.camera.matrix, - t - ) - } - } - class Uo extends Fo { - constructor() { - super(new Mn(50, 1, 0.5, 500)), (this.focus = 1) - } - updateMatrices(t) { - const e = this.camera, - n = 2 * X * t.angle * this.focus, - i = this.mapSize.width / this.mapSize.height, - r = t.distance || e.far - ;(n === e.fov && i === e.aspect && r === e.far) || - ((e.fov = n), (e.aspect = i), (e.far = r), e.updateProjectionMatrix()), - super.updateMatrices(t) - } - copy(t) { - return super.copy(t), (this.focus = t.focus), this - } - } - Uo.prototype.isSpotLightShadow = !0 - class Ho extends Io { - constructor(t, e, n = 0, i = Math.PI / 3, r = 0, s = 1) { - super(t, e), - (this.type = 'SpotLight'), - this.position.copy(pe.DefaultUp), - this.updateMatrix(), - (this.target = new pe()), - (this.distance = n), - (this.angle = i), - (this.penumbra = r), - (this.decay = s), - (this.shadow = new Uo()) - } - get power() { - return this.intensity * Math.PI - } - set power(t) { - this.intensity = t / Math.PI - } - dispose() { - this.shadow.dispose() - } - copy(t) { - return ( - super.copy(t), - (this.distance = t.distance), - (this.angle = t.angle), - (this.penumbra = t.penumbra), - (this.decay = t.decay), - (this.target = t.target.clone()), - (this.shadow = t.shadow.clone()), - this - ) - } - } - Ho.prototype.isSpotLight = !0 - const Go = new Vt(), - Vo = new ut(), - ko = new ut() - class Wo extends Fo { - constructor() { - super(new Mn(90, 1, 0.5, 500)), - (this._frameExtents = new tt(4, 2)), - (this._viewportCount = 6), - (this._viewports = [ - new ot(2, 1, 1, 1), - new ot(0, 1, 1, 1), - new ot(3, 1, 1, 1), - new ot(1, 1, 1, 1), - new ot(3, 0, 1, 1), - new ot(1, 0, 1, 1), - ]), - (this._cubeDirections = [ - new ut(1, 0, 0), - new ut(-1, 0, 0), - new ut(0, 0, 1), - new ut(0, 0, -1), - new ut(0, 1, 0), - new ut(0, -1, 0), - ]), - (this._cubeUps = [ - new ut(0, 1, 0), - new ut(0, 1, 0), - new ut(0, 1, 0), - new ut(0, 1, 0), - new ut(0, 0, 1), - new ut(0, 0, -1), - ]) - } - updateMatrices(t, e = 0) { - const n = this.camera, - i = this.matrix, - r = t.distance || n.far - r !== n.far && ((n.far = r), n.updateProjectionMatrix()), - Vo.setFromMatrixPosition(t.matrixWorld), - n.position.copy(Vo), - ko.copy(n.position), - ko.add(this._cubeDirections[e]), - n.up.copy(this._cubeUps[e]), - n.lookAt(ko), - n.updateMatrixWorld(), - i.makeTranslation(-Vo.x, -Vo.y, -Vo.z), - Go.multiplyMatrices(n.projectionMatrix, n.matrixWorldInverse), - this._frustum.setFromProjectionMatrix(Go) - } - } - Wo.prototype.isPointLightShadow = !0 - class jo extends Io { - constructor(t, e, n = 0, i = 1) { - super(t, e), - (this.type = 'PointLight'), - (this.distance = n), - (this.decay = i), - (this.shadow = new Wo()) - } - get power() { - return 4 * this.intensity * Math.PI - } - set power(t) { - this.intensity = t / (4 * Math.PI) - } - dispose() { - this.shadow.dispose() - } - copy(t) { - return ( - super.copy(t), - (this.distance = t.distance), - (this.decay = t.decay), - (this.shadow = t.shadow.clone()), - this - ) - } - } - jo.prototype.isPointLight = !0 - class qo extends bn { - constructor(t = -1, e = 1, n = 1, i = -1, r = 0.1, s = 2e3) { - super(), - (this.type = 'OrthographicCamera'), - (this.zoom = 1), - (this.view = null), - (this.left = t), - (this.right = e), - (this.top = n), - (this.bottom = i), - (this.near = r), - (this.far = s), - this.updateProjectionMatrix() - } - copy(t, e) { - return ( - super.copy(t, e), - (this.left = t.left), - (this.right = t.right), - (this.top = t.top), - (this.bottom = t.bottom), - (this.near = t.near), - (this.far = t.far), - (this.zoom = t.zoom), - (this.view = null === t.view ? null : Object.assign({}, t.view)), - this - ) - } - setViewOffset(t, e, n, i, r, s) { - 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 = t), - (this.view.fullHeight = e), - (this.view.offsetX = n), - (this.view.offsetY = i), - (this.view.width = r), - (this.view.height = s), - this.updateProjectionMatrix() - } - clearViewOffset() { - null !== this.view && (this.view.enabled = !1), this.updateProjectionMatrix() - } - updateProjectionMatrix() { - const t = (this.right - this.left) / (2 * this.zoom), - e = (this.top - this.bottom) / (2 * this.zoom), - n = (this.right + this.left) / 2, - i = (this.top + this.bottom) / 2 - let r = n - t, - s = n + t, - a = i + e, - o = i - e - if (null !== this.view && this.view.enabled) { - const t = (this.right - this.left) / this.view.fullWidth / this.zoom, - e = (this.top - this.bottom) / this.view.fullHeight / this.zoom - ;(r += t * this.view.offsetX), - (s = r + t * this.view.width), - (a -= e * this.view.offsetY), - (o = a - e * this.view.height) - } - this.projectionMatrix.makeOrthographic(r, s, a, o, this.near, this.far), - this.projectionMatrixInverse.copy(this.projectionMatrix).invert() - } - toJSON(t) { - const e = super.toJSON(t) - return ( - (e.object.zoom = this.zoom), - (e.object.left = this.left), - (e.object.right = this.right), - (e.object.top = this.top), - (e.object.bottom = this.bottom), - (e.object.near = this.near), - (e.object.far = this.far), - null !== this.view && (e.object.view = Object.assign({}, this.view)), - e - ) - } - } - qo.prototype.isOrthographicCamera = !0 - class Xo extends Fo { - constructor() { - super(new qo(-5, 5, 5, -5, 0.5, 500)) - } - } - Xo.prototype.isDirectionalLightShadow = !0 - class Yo extends Io { - constructor(t, e) { - super(t, e), - (this.type = 'DirectionalLight'), - this.position.copy(pe.DefaultUp), - this.updateMatrix(), - (this.target = new pe()), - (this.shadow = new Xo()) - } - dispose() { - this.shadow.dispose() - } - copy(t) { - return ( - super.copy(t), (this.target = t.target.clone()), (this.shadow = t.shadow.clone()), this - ) - } - } - Yo.prototype.isDirectionalLight = !0 - class Jo extends Io { - constructor(t, e) { - super(t, e), (this.type = 'AmbientLight') - } - } - Jo.prototype.isAmbientLight = !0 - class Zo extends Io { - constructor(t, e, n = 10, i = 10) { - super(t, e), (this.type = 'RectAreaLight'), (this.width = n), (this.height = i) - } - copy(t) { - return super.copy(t), (this.width = t.width), (this.height = t.height), this - } - toJSON(t) { - const e = super.toJSON(t) - return (e.object.width = this.width), (e.object.height = this.height), e - } - } - Zo.prototype.isRectAreaLight = !0 - class Qo { - constructor() { - this.coefficients = [] - for (let t = 0; t < 9; t++) this.coefficients.push(new ut()) - } - set(t) { - for (let e = 0; e < 9; e++) this.coefficients[e].copy(t[e]) - return this - } - zero() { - for (let t = 0; t < 9; t++) this.coefficients[t].set(0, 0, 0) - return this - } - getAt(t, e) { - const n = t.x, - i = t.y, - r = t.z, - s = this.coefficients - return ( - e.copy(s[0]).multiplyScalar(0.282095), - e.addScaledVector(s[1], 0.488603 * i), - e.addScaledVector(s[2], 0.488603 * r), - e.addScaledVector(s[3], 0.488603 * n), - e.addScaledVector(s[4], n * i * 1.092548), - e.addScaledVector(s[5], i * r * 1.092548), - e.addScaledVector(s[6], 0.315392 * (3 * r * r - 1)), - e.addScaledVector(s[7], n * r * 1.092548), - e.addScaledVector(s[8], 0.546274 * (n * n - i * i)), - e - ) - } - getIrradianceAt(t, e) { - const n = t.x, - i = t.y, - r = t.z, - s = this.coefficients - return ( - e.copy(s[0]).multiplyScalar(0.886227), - e.addScaledVector(s[1], 1.023328 * i), - e.addScaledVector(s[2], 1.023328 * r), - e.addScaledVector(s[3], 1.023328 * n), - e.addScaledVector(s[4], 0.858086 * n * i), - e.addScaledVector(s[5], 0.858086 * i * r), - e.addScaledVector(s[6], 0.743125 * r * r - 0.247708), - e.addScaledVector(s[7], 0.858086 * n * r), - e.addScaledVector(s[8], 0.429043 * (n * n - i * i)), - e - ) - } - add(t) { - for (let e = 0; e < 9; e++) this.coefficients[e].add(t.coefficients[e]) - return this - } - addScaledSH(t, e) { - for (let n = 0; n < 9; n++) this.coefficients[n].addScaledVector(t.coefficients[n], e) - return this - } - scale(t) { - for (let e = 0; e < 9; e++) this.coefficients[e].multiplyScalar(t) - return this - } - lerp(t, e) { - for (let n = 0; n < 9; n++) this.coefficients[n].lerp(t.coefficients[n], e) - return this - } - equals(t) { - for (let e = 0; e < 9; e++) if (!this.coefficients[e].equals(t.coefficients[e])) return !1 - return !0 - } - copy(t) { - return this.set(t.coefficients) - } - clone() { - return new this.constructor().copy(this) - } - fromArray(t, e = 0) { - const n = this.coefficients - for (let i = 0; i < 9; i++) n[i].fromArray(t, e + 3 * i) - return this - } - toArray(t = [], e = 0) { - const n = this.coefficients - for (let i = 0; i < 9; i++) n[i].toArray(t, e + 3 * i) - return t - } - static getBasisAt(t, e) { - const n = t.x, - i = t.y, - r = t.z - ;(e[0] = 0.282095), - (e[1] = 0.488603 * i), - (e[2] = 0.488603 * r), - (e[3] = 0.488603 * n), - (e[4] = 1.092548 * n * i), - (e[5] = 1.092548 * i * r), - (e[6] = 0.315392 * (3 * r * r - 1)), - (e[7] = 1.092548 * n * r), - (e[8] = 0.546274 * (n * n - i * i)) - } - } - Qo.prototype.isSphericalHarmonics3 = !0 - class Ko extends Io { - constructor(t = new Qo(), e = 1) { - super(void 0, e), (this.sh = t) - } - copy(t) { - return super.copy(t), this.sh.copy(t.sh), this - } - fromJSON(t) { - return (this.intensity = t.intensity), this.sh.fromArray(t.sh), this - } - toJSON(t) { - const e = super.toJSON(t) - return (e.object.sh = this.sh.toArray()), e - } - } - Ko.prototype.isLightProbe = !0 - class $o { - static decodeText(t) { - if ('undefined' !== typeof TextDecoder) return new TextDecoder().decode(t) - let e = '' - for (let i = 0, r = t.length; i < r; i++) e += String.fromCharCode(t[i]) - try { - return decodeURIComponent(escape(e)) - } catch (n) { - return e - } - } - static extractUrlBase(t) { - const e = t.lastIndexOf('/') - return -1 === e ? './' : t.substr(0, e + 1) - } - } - class tl extends Je { - constructor() { - super(), (this.type = 'InstancedBufferGeometry'), (this.instanceCount = 1 / 0) - } - copy(t) { - return super.copy(t), (this.instanceCount = t.instanceCount), this - } - clone() { - return new this.constructor().copy(this) - } - toJSON() { - const t = super.toJSON(this) - return (t.instanceCount = this.instanceCount), (t.isInstancedBufferGeometry = !0), t - } - } - tl.prototype.isInstancedBufferGeometry = !0 - class el extends Be { - constructor(t, e, n, i = 1) { - 'number' === typeof n && - ((i = n), - (n = !1), - console.error( - 'THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.', - )), - super(t, e, n), - (this.meshPerAttribute = i) - } - copy(t) { - return super.copy(t), (this.meshPerAttribute = t.meshPerAttribute), this - } - toJSON() { - const t = super.toJSON() - return ( - (t.meshPerAttribute = this.meshPerAttribute), (t.isInstancedBufferAttribute = !0), t - ) - } - } - el.prototype.isInstancedBufferAttribute = !0 - ;(class extends So { - constructor(t) { - super(t), - 'undefined' === typeof createImageBitmap && - console.warn('THREE.ImageBitmapLoader: createImageBitmap() not supported.'), - 'undefined' === typeof fetch && - console.warn('THREE.ImageBitmapLoader: fetch() not supported.'), - (this.options = { premultiplyAlpha: 'none' }) - } - setOptions(t) { - return (this.options = t), this - } - load(t, e, n, i) { - void 0 === t && (t = ''), - void 0 !== this.path && (t = this.path + t), - (t = this.manager.resolveURL(t)) - const r = this, - s = bo.get(t) - if (void 0 !== s) - return ( - r.manager.itemStart(t), - setTimeout(function () { - e && e(s), r.manager.itemEnd(t) - }, 0), - s - ) - const a = {} - ;(a.credentials = 'anonymous' === this.crossOrigin ? 'same-origin' : 'include'), - (a.headers = this.requestHeader), - fetch(t, a) - .then(function (t) { - return t.blob() - }) - .then(function (t) { - return createImageBitmap( - t, - Object.assign(r.options, { colorSpaceConversion: 'none' }), - ) - }) - .then(function (n) { - bo.add(t, n), e && e(n), r.manager.itemEnd(t) - }) - .catch(function (e) { - i && i(e), r.manager.itemError(t), r.manager.itemEnd(t) - }), - r.manager.itemStart(t) - } - }.prototype.isImageBitmapLoader = !0) - class nl { - constructor() { - ;(this.type = 'ShapePath'), - (this.color = new Ie()), - (this.subPaths = []), - (this.currentPath = null) - } - moveTo(t, e) { - return ( - (this.currentPath = new Po()), - this.subPaths.push(this.currentPath), - this.currentPath.moveTo(t, e), - this - ) - } - lineTo(t, e) { - return this.currentPath.lineTo(t, e), this - } - quadraticCurveTo(t, e, n, i) { - return this.currentPath.quadraticCurveTo(t, e, n, i), this - } - bezierCurveTo(t, e, n, i, r, s) { - return this.currentPath.bezierCurveTo(t, e, n, i, r, s), this - } - splineThru(t) { - return this.currentPath.splineThru(t), this - } - toShapes(t, e) { - function n(t) { - const e = [] - for (let n = 0, i = t.length; n < i; n++) { - const i = t[n], - r = new Do() - ;(r.curves = i.curves), e.push(r) - } - return e - } - function i(t, e) { - const n = e.length - let i = !1 - for (let r = n - 1, s = 0; s < n; r = s++) { - let n = e[r], - a = e[s], - o = a.x - n.x, - l = a.y - n.y - if (Math.abs(l) > Number.EPSILON) { - if ((l < 0 && ((n = e[s]), (o = -o), (a = e[r]), (l = -l)), t.y < n.y || t.y > a.y)) - continue - if (t.y === n.y) { - if (t.x === n.x) return !0 - } else { - const e = l * (t.x - n.x) - o * (t.y - n.y) - if (0 === e) return !0 - if (e < 0) continue - i = !i - } - } else { - if (t.y !== n.y) continue - if ((a.x <= t.x && t.x <= n.x) || (n.x <= t.x && t.x <= a.x)) return !0 - } - } - return i - } - const r = Ga.isClockWise, - s = this.subPaths - if (0 === s.length) return [] - if (!0 === e) return n(s) - let a, o, l - const c = [] - if (1 === s.length) return (o = s[0]), (l = new Do()), (l.curves = o.curves), c.push(l), c - let h = !r(s[0].getPoints()) - h = t ? !h : h - const u = [], - d = [] - let p, - m, - f = [], - g = 0 - ;(d[g] = void 0), (f[g] = []) - for (let v = 0, y = s.length; v < y; v++) - (o = s[v]), - (p = o.getPoints()), - (a = r(p)), - (a = t ? !a : a), - a - ? (!h && d[g] && g++, - (d[g] = { s: new Do(), p: p }), - (d[g].s.curves = o.curves), - h && g++, - (f[g] = [])) - : f[g].push({ h: o, p: p[0] }) - if (!d[0]) return n(s) - if (d.length > 1) { - let t = !1 - const e = [] - for (let n = 0, i = d.length; n < i; n++) u[n] = [] - for (let n = 0, r = d.length; n < r; n++) { - const r = f[n] - for (let s = 0; s < r.length; s++) { - const a = r[s] - let o = !0 - for (let r = 0; r < d.length; r++) - i(a.p, d[r].p) && - (n !== r && e.push({ froms: n, tos: r, hole: s }), - o ? ((o = !1), u[r].push(a)) : (t = !0)) - o && u[n].push(a) - } - } - e.length > 0 && (t || (f = u)) - } - for (let v = 0, y = d.length; v < y; v++) { - ;(l = d[v].s), c.push(l), (m = f[v]) - for (let t = 0, e = m.length; t < e; t++) l.holes.push(m[t].h) - } - return c - } - } - class il { - constructor(t) { - ;(this.type = 'Font'), (this.data = t) - } - generateShapes(t, e = 100) { - const n = [], - i = (function (t, e, n) { - const i = Array.from(t), - r = e / n.resolution, - s = (n.boundingBox.yMax - n.boundingBox.yMin + n.underlineThickness) * r, - a = [] - let o = 0, - l = 0 - for (let c = 0; c < i.length; c++) { - const t = i[c] - if ('\n' === t) (o = 0), (l -= s) - else { - const e = rl(t, r, o, l, n) - ;(o += e.offsetX), a.push(e.path) - } - } - return a - })(t, e, this.data) - for (let r = 0, s = i.length; r < s; r++) Array.prototype.push.apply(n, i[r].toShapes()) - return n - } - } - function rl(t, e, n, i, r) { - const s = r.glyphs[t] || r.glyphs['?'] - if (!s) - return void console.error( - 'THREE.Font: character "' + - t + - '" does not exists in font family ' + - r.familyName + - '.', - ) - const a = new nl() - let o, l, c, h, u, d, p, m - if (s.o) { - const t = s._cachedOutline || (s._cachedOutline = s.o.split(' ')) - for (let r = 0, s = t.length; r < s; ) { - switch (t[r++]) { - case 'm': - ;(o = t[r++] * e + n), (l = t[r++] * e + i), a.moveTo(o, l) - break - case 'l': - ;(o = t[r++] * e + n), (l = t[r++] * e + i), a.lineTo(o, l) - break - case 'q': - ;(c = t[r++] * e + n), - (h = t[r++] * e + i), - (u = t[r++] * e + n), - (d = t[r++] * e + i), - a.quadraticCurveTo(u, d, c, h) - break - case 'b': - ;(c = t[r++] * e + n), - (h = t[r++] * e + i), - (u = t[r++] * e + n), - (d = t[r++] * e + i), - (p = t[r++] * e + n), - (m = t[r++] * e + i), - a.bezierCurveTo(u, d, p, m, c, h) - } - } - } - return { offsetX: s.ha * e, path: a } - } - il.prototype.isFont = !0 - let sl - const al = function () { - return void 0 === sl && (sl = new (window.AudioContext || window.webkitAudioContext)()), sl - } - class ol extends So { - constructor(t) { - super(t) - } - load(t, e, n, i) { - const r = this, - s = new Eo(this.manager) - s.setResponseType('arraybuffer'), - s.setPath(this.path), - s.setRequestHeader(this.requestHeader), - s.setWithCredentials(this.withCredentials), - s.load( - t, - function (n) { - try { - const t = n.slice(0) - al().decodeAudioData(t, function (t) { - e(t) - }) - } catch (s) { - i ? i(s) : console.error(s), r.manager.itemError(t) - } - }, - n, - i, - ) - } - } - ;(class extends Ko { - constructor(t, e, n = 1) { - super(void 0, n) - const i = new Ie().set(t), - r = new Ie().set(e), - s = new ut(i.r, i.g, i.b), - a = new ut(r.r, r.g, r.b), - o = Math.sqrt(Math.PI), - l = o * Math.sqrt(0.75) - this.sh.coefficients[0].copy(s).add(a).multiplyScalar(o), - this.sh.coefficients[1].copy(s).sub(a).multiplyScalar(l) - } - }.prototype.isHemisphereLightProbe = !0) - ;(class extends Ko { - constructor(t, e = 1) { - super(void 0, e) - const n = new Ie().set(t) - this.sh.coefficients[0].set(n.r, n.g, n.b).multiplyScalar(2 * Math.sqrt(Math.PI)) - } - }.prototype.isAmbientLightProbe = !0) - class ll { - constructor(t = !0) { - ;(this.autoStart = t), - (this.startTime = 0), - (this.oldTime = 0), - (this.elapsedTime = 0), - (this.running = !1) - } - start() { - ;(this.startTime = cl()), - (this.oldTime = this.startTime), - (this.elapsedTime = 0), - (this.running = !0) - } - stop() { - this.getElapsedTime(), (this.running = !1), (this.autoStart = !1) - } - getElapsedTime() { - return this.getDelta(), this.elapsedTime - } - getDelta() { - let t = 0 - if (this.autoStart && !this.running) return this.start(), 0 - if (this.running) { - const e = cl() - ;(t = (e - this.oldTime) / 1e3), (this.oldTime = e), (this.elapsedTime += t) - } - return t - } - } - function cl() { - return ('undefined' === typeof performance ? Date : performance).now() - } - class hl extends pe { - constructor(t) { - super(), - (this.type = 'Audio'), - (this.listener = t), - (this.context = t.context), - (this.gain = this.context.createGain()), - this.gain.connect(t.getInput()), - (this.autoplay = !1), - (this.buffer = null), - (this.detune = 0), - (this.loop = !1), - (this.loopStart = 0), - (this.loopEnd = 0), - (this.offset = 0), - (this.duration = void 0), - (this.playbackRate = 1), - (this.isPlaying = !1), - (this.hasPlaybackControl = !0), - (this.source = null), - (this.sourceType = 'empty'), - (this._startedAt = 0), - (this._progress = 0), - (this._connected = !1), - (this.filters = []) - } - getOutput() { - return this.gain - } - setNodeSource(t) { - return ( - (this.hasPlaybackControl = !1), - (this.sourceType = 'audioNode'), - (this.source = t), - this.connect(), - this - ) - } - setMediaElementSource(t) { - return ( - (this.hasPlaybackControl = !1), - (this.sourceType = 'mediaNode'), - (this.source = this.context.createMediaElementSource(t)), - this.connect(), - this - ) - } - setMediaStreamSource(t) { - return ( - (this.hasPlaybackControl = !1), - (this.sourceType = 'mediaStreamNode'), - (this.source = this.context.createMediaStreamSource(t)), - this.connect(), - this - ) - } - setBuffer(t) { - return (this.buffer = t), (this.sourceType = 'buffer'), this.autoplay && this.play(), this - } - play(t = 0) { - if (!0 === this.isPlaying) - return void console.warn('THREE.Audio: Audio is already playing.') - if (!1 === this.hasPlaybackControl) - return void console.warn('THREE.Audio: this Audio has no playback control.') - this._startedAt = this.context.currentTime + t - const e = this.context.createBufferSource() - return ( - (e.buffer = this.buffer), - (e.loop = this.loop), - (e.loopStart = this.loopStart), - (e.loopEnd = this.loopEnd), - (e.onended = this.onEnded.bind(this)), - e.start(this._startedAt, this._progress + this.offset, this.duration), - (this.isPlaying = !0), - (this.source = e), - this.setDetune(this.detune), - this.setPlaybackRate(this.playbackRate), - this.connect() - ) - } - pause() { - if (!1 !== this.hasPlaybackControl) - return ( - !0 === this.isPlaying && - ((this._progress += - Math.max(this.context.currentTime - this._startedAt, 0) * this.playbackRate), - !0 === this.loop && - (this._progress = this._progress % (this.duration || this.buffer.duration)), - this.source.stop(), - (this.source.onended = null), - (this.isPlaying = !1)), - this - ) - console.warn('THREE.Audio: this Audio has no playback control.') - } - stop() { - if (!1 !== this.hasPlaybackControl) - return ( - (this._progress = 0), - this.source.stop(), - (this.source.onended = null), - (this.isPlaying = !1), - this - ) - console.warn('THREE.Audio: this Audio has no playback control.') - } - connect() { - if (this.filters.length > 0) { - this.source.connect(this.filters[0]) - for (let t = 1, e = this.filters.length; t < e; t++) - this.filters[t - 1].connect(this.filters[t]) - this.filters[this.filters.length - 1].connect(this.getOutput()) - } else this.source.connect(this.getOutput()) - return (this._connected = !0), this - } - disconnect() { - if (this.filters.length > 0) { - this.source.disconnect(this.filters[0]) - for (let t = 1, e = this.filters.length; t < e; t++) - this.filters[t - 1].disconnect(this.filters[t]) - this.filters[this.filters.length - 1].disconnect(this.getOutput()) - } else this.source.disconnect(this.getOutput()) - return (this._connected = !1), this - } - getFilters() { - return this.filters - } - setFilters(t) { - return ( - t || (t = []), - !0 === this._connected - ? (this.disconnect(), (this.filters = t.slice()), this.connect()) - : (this.filters = t.slice()), - this - ) - } - setDetune(t) { - if (((this.detune = t), void 0 !== this.source.detune)) - return ( - !0 === this.isPlaying && - this.source.detune.setTargetAtTime(this.detune, this.context.currentTime, 0.01), - this - ) - } - getDetune() { - return this.detune - } - getFilter() { - return this.getFilters()[0] - } - setFilter(t) { - return this.setFilters(t ? [t] : []) - } - setPlaybackRate(t) { - if (!1 !== this.hasPlaybackControl) - return ( - (this.playbackRate = t), - !0 === this.isPlaying && - this.source.playbackRate.setTargetAtTime( - this.playbackRate, - this.context.currentTime, - 0.01, - ), - this - ) - console.warn('THREE.Audio: this Audio has no playback control.') - } - getPlaybackRate() { - return this.playbackRate - } - onEnded() { - this.isPlaying = !1 - } - getLoop() { - return !1 === this.hasPlaybackControl - ? (console.warn('THREE.Audio: this Audio has no playback control.'), !1) - : this.loop - } - setLoop(t) { - if (!1 !== this.hasPlaybackControl) - return (this.loop = t), !0 === this.isPlaying && (this.source.loop = this.loop), this - console.warn('THREE.Audio: this Audio has no playback control.') - } - setLoopStart(t) { - return (this.loopStart = t), this - } - setLoopEnd(t) { - return (this.loopEnd = t), this - } - getVolume() { - return this.gain.gain.value - } - setVolume(t) { - return this.gain.gain.setTargetAtTime(t, this.context.currentTime, 0.01), this - } - } - class ul { - constructor(t, e, n) { - let i, r, s - switch (((this.binding = t), (this.valueSize = n), e)) { - case 'quaternion': - ;(i = this._slerp), - (r = this._slerpAdditive), - (s = this._setAdditiveIdentityQuaternion), - (this.buffer = new Float64Array(6 * n)), - (this._workIndex = 5) - break - case 'string': - case 'bool': - ;(i = this._select), - (r = this._select), - (s = this._setAdditiveIdentityOther), - (this.buffer = new Array(5 * n)) - break - default: - ;(i = this._lerp), - (r = this._lerpAdditive), - (s = this._setAdditiveIdentityNumeric), - (this.buffer = new Float64Array(5 * n)) - } - ;(this._mixBufferRegion = i), - (this._mixBufferRegionAdditive = r), - (this._setIdentity = s), - (this._origIndex = 3), - (this._addIndex = 4), - (this.cumulativeWeight = 0), - (this.cumulativeWeightAdditive = 0), - (this.useCount = 0), - (this.referenceCount = 0) - } - accumulate(t, e) { - const n = this.buffer, - i = this.valueSize, - r = t * i + i - let s = this.cumulativeWeight - if (0 === s) { - for (let t = 0; t !== i; ++t) n[r + t] = n[t] - s = e - } else { - s += e - const t = e / s - this._mixBufferRegion(n, r, 0, t, i) - } - this.cumulativeWeight = s - } - accumulateAdditive(t) { - const e = this.buffer, - n = this.valueSize, - i = n * this._addIndex - 0 === this.cumulativeWeightAdditive && this._setIdentity(), - this._mixBufferRegionAdditive(e, i, 0, t, n), - (this.cumulativeWeightAdditive += t) - } - apply(t) { - const e = this.valueSize, - n = this.buffer, - i = t * e + e, - r = this.cumulativeWeight, - s = this.cumulativeWeightAdditive, - a = this.binding - if (((this.cumulativeWeight = 0), (this.cumulativeWeightAdditive = 0), r < 1)) { - const t = e * this._origIndex - this._mixBufferRegion(n, i, t, 1 - r, e) - } - s > 0 && this._mixBufferRegionAdditive(n, i, this._addIndex * e, 1, e) - for (let o = e, l = e + e; o !== l; ++o) - if (n[o] !== n[o + e]) { - a.setValue(n, i) - break - } - } - saveOriginalState() { - const t = this.binding, - e = this.buffer, - n = this.valueSize, - i = n * this._origIndex - t.getValue(e, i) - for (let r = n, s = i; r !== s; ++r) e[r] = e[i + (r % n)] - this._setIdentity(), (this.cumulativeWeight = 0), (this.cumulativeWeightAdditive = 0) - } - restoreOriginalState() { - const t = 3 * this.valueSize - this.binding.setValue(this.buffer, t) - } - _setAdditiveIdentityNumeric() { - const t = this._addIndex * this.valueSize, - e = t + this.valueSize - for (let n = t; n < e; n++) this.buffer[n] = 0 - } - _setAdditiveIdentityQuaternion() { - this._setAdditiveIdentityNumeric(), (this.buffer[this._addIndex * this.valueSize + 3] = 1) - } - _setAdditiveIdentityOther() { - const t = this._origIndex * this.valueSize, - e = this._addIndex * this.valueSize - for (let n = 0; n < this.valueSize; n++) this.buffer[e + n] = this.buffer[t + n] - } - _select(t, e, n, i, r) { - if (i >= 0.5) for (let s = 0; s !== r; ++s) t[e + s] = t[n + s] - } - _slerp(t, e, n, i) { - ht.slerpFlat(t, e, t, e, t, n, i) - } - _slerpAdditive(t, e, n, i, r) { - const s = this._workIndex * r - ht.multiplyQuaternionsFlat(t, s, t, e, t, n), ht.slerpFlat(t, e, t, e, t, s, i) - } - _lerp(t, e, n, i, r) { - const s = 1 - i - for (let a = 0; a !== r; ++a) { - const r = e + a - t[r] = t[r] * s + t[n + a] * i - } - } - _lerpAdditive(t, e, n, i, r) { - for (let s = 0; s !== r; ++s) { - const r = e + s - t[r] = t[r] + t[n + s] * i - } - } - } - const dl = '\\[\\]\\.:\\/', - pl = new RegExp('[\\[\\]\\.:\\/]', 'g'), - ml = '[^\\[\\]\\.:\\/]', - fl = '[^' + dl.replace('\\.', '') + ']', - gl = /((?:WC+[\/:])*)/.source.replace('WC', ml), - vl = /(WCOD+)?/.source.replace('WCOD', fl), - yl = /(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace('WC', ml), - xl = /\.(WC+)(?:\[(.+)\])?/.source.replace('WC', ml), - _l = new RegExp('^' + gl + vl + yl + xl + '$'), - bl = ['material', 'materials', 'bones'] - class Ml { - constructor(t, e, n) { - ;(this.path = e), - (this.parsedPath = n || Ml.parseTrackName(e)), - (this.node = Ml.findNode(t, this.parsedPath.nodeName) || t), - (this.rootNode = t), - (this.getValue = this._getValue_unbound), - (this.setValue = this._setValue_unbound) - } - static create(t, e, n) { - return t && t.isAnimationObjectGroup ? new Ml.Composite(t, e, n) : new Ml(t, e, n) - } - static sanitizeNodeName(t) { - return t.replace(/\s/g, '_').replace(pl, '') - } - static parseTrackName(t) { - const e = _l.exec(t) - if (!e) throw new Error('PropertyBinding: Cannot parse trackName: ' + t) - const n = { - nodeName: e[2], - objectName: e[3], - objectIndex: e[4], - propertyName: e[5], - propertyIndex: e[6], - }, - i = n.nodeName && n.nodeName.lastIndexOf('.') - if (void 0 !== i && -1 !== i) { - const t = n.nodeName.substring(i + 1) - ;-1 !== bl.indexOf(t) && ((n.nodeName = n.nodeName.substring(0, i)), (n.objectName = t)) - } - if (null === n.propertyName || 0 === n.propertyName.length) - throw new Error('PropertyBinding: can not parse propertyName from trackName: ' + t) - return n - } - static findNode(t, e) { - if (!e || '' === e || '.' === e || -1 === e || e === t.name || e === t.uuid) return t - if (t.skeleton) { - const n = t.skeleton.getBoneByName(e) - if (void 0 !== n) return n - } - if (t.children) { - const n = function (t) { - for (let i = 0; i < t.length; i++) { - const r = t[i] - if (r.name === e || r.uuid === e) return r - const s = n(r.children) - if (s) return s - } - return null - }, - i = n(t.children) - if (i) return i - } - return null - } - _getValue_unavailable() {} - _setValue_unavailable() {} - _getValue_direct(t, e) { - t[e] = this.node[this.propertyName] - } - _getValue_array(t, e) { - const n = this.resolvedProperty - for (let i = 0, r = n.length; i !== r; ++i) t[e++] = n[i] - } - _getValue_arrayElement(t, e) { - t[e] = this.resolvedProperty[this.propertyIndex] - } - _getValue_toArray(t, e) { - this.resolvedProperty.toArray(t, e) - } - _setValue_direct(t, e) { - this.targetObject[this.propertyName] = t[e] - } - _setValue_direct_setNeedsUpdate(t, e) { - ;(this.targetObject[this.propertyName] = t[e]), (this.targetObject.needsUpdate = !0) - } - _setValue_direct_setMatrixWorldNeedsUpdate(t, e) { - ;(this.targetObject[this.propertyName] = t[e]), - (this.targetObject.matrixWorldNeedsUpdate = !0) - } - _setValue_array(t, e) { - const n = this.resolvedProperty - for (let i = 0, r = n.length; i !== r; ++i) n[i] = t[e++] - } - _setValue_array_setNeedsUpdate(t, e) { - const n = this.resolvedProperty - for (let i = 0, r = n.length; i !== r; ++i) n[i] = t[e++] - this.targetObject.needsUpdate = !0 - } - _setValue_array_setMatrixWorldNeedsUpdate(t, e) { - const n = this.resolvedProperty - for (let i = 0, r = n.length; i !== r; ++i) n[i] = t[e++] - this.targetObject.matrixWorldNeedsUpdate = !0 - } - _setValue_arrayElement(t, e) { - this.resolvedProperty[this.propertyIndex] = t[e] - } - _setValue_arrayElement_setNeedsUpdate(t, e) { - ;(this.resolvedProperty[this.propertyIndex] = t[e]), (this.targetObject.needsUpdate = !0) - } - _setValue_arrayElement_setMatrixWorldNeedsUpdate(t, e) { - ;(this.resolvedProperty[this.propertyIndex] = t[e]), - (this.targetObject.matrixWorldNeedsUpdate = !0) - } - _setValue_fromArray(t, e) { - this.resolvedProperty.fromArray(t, e) - } - _setValue_fromArray_setNeedsUpdate(t, e) { - this.resolvedProperty.fromArray(t, e), (this.targetObject.needsUpdate = !0) - } - _setValue_fromArray_setMatrixWorldNeedsUpdate(t, e) { - this.resolvedProperty.fromArray(t, e), (this.targetObject.matrixWorldNeedsUpdate = !0) - } - _getValue_unbound(t, e) { - this.bind(), this.getValue(t, e) - } - _setValue_unbound(t, e) { - this.bind(), this.setValue(t, e) - } - bind() { - let t = this.node - const e = this.parsedPath, - n = e.objectName, - i = e.propertyName - let r = e.propertyIndex - if ( - (t || ((t = Ml.findNode(this.rootNode, e.nodeName) || this.rootNode), (this.node = t)), - (this.getValue = this._getValue_unavailable), - (this.setValue = this._setValue_unavailable), - !t) - ) - return void console.error( - 'THREE.PropertyBinding: Trying to update node for track: ' + - this.path + - " but it wasn't found.", - ) - if (n) { - let i = e.objectIndex - switch (n) { - case 'materials': - if (!t.material) - return void console.error( - 'THREE.PropertyBinding: Can not bind to material as node does not have a material.', - this, - ) - if (!t.material.materials) - return void console.error( - 'THREE.PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', - this, - ) - t = t.material.materials - break - case 'bones': - if (!t.skeleton) - return void console.error( - 'THREE.PropertyBinding: Can not bind to bones as node does not have a skeleton.', - this, - ) - t = t.skeleton.bones - for (let e = 0; e < t.length; e++) - if (t[e].name === i) { - i = e - break - } - break - default: - if (void 0 === t[n]) - return void console.error( - 'THREE.PropertyBinding: Can not bind to objectName of node undefined.', - this, - ) - t = t[n] - } - if (void 0 !== i) { - if (void 0 === t[i]) - return void console.error( - 'THREE.PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', - this, - t, - ) - t = t[i] - } - } - const s = t[i] - if (void 0 === s) { - const n = e.nodeName - return void console.error( - 'THREE.PropertyBinding: Trying to update property for track: ' + - n + - '.' + - i + - " but it wasn't found.", - t, - ) - } - let a = this.Versioning.None - ;(this.targetObject = t), - void 0 !== t.needsUpdate - ? (a = this.Versioning.NeedsUpdate) - : void 0 !== t.matrixWorldNeedsUpdate && (a = this.Versioning.MatrixWorldNeedsUpdate) - let o = this.BindingType.Direct - if (void 0 !== r) { - if ('morphTargetInfluences' === i) { - if (!t.geometry) - return void console.error( - 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', - this, - ) - if (!t.geometry.isBufferGeometry) - return void console.error( - 'THREE.PropertyBinding: Can not bind to morphTargetInfluences on THREE.Geometry. Use THREE.BufferGeometry instead.', - this, - ) - if (!t.geometry.morphAttributes) - return void console.error( - 'THREE.PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', - this, - ) - void 0 !== t.morphTargetDictionary[r] && (r = t.morphTargetDictionary[r]) - } - ;(o = this.BindingType.ArrayElement), - (this.resolvedProperty = s), - (this.propertyIndex = r) - } else - void 0 !== s.fromArray && void 0 !== s.toArray - ? ((o = this.BindingType.HasFromToArray), (this.resolvedProperty = s)) - : Array.isArray(s) - ? ((o = this.BindingType.EntireArray), (this.resolvedProperty = s)) - : (this.propertyName = i) - ;(this.getValue = this.GetterByBindingType[o]), - (this.setValue = this.SetterByBindingTypeAndVersioning[o][a]) - } - unbind() { - ;(this.node = null), - (this.getValue = this._getValue_unbound), - (this.setValue = this._setValue_unbound) - } - } - ;(Ml.Composite = class { - constructor(t, e, n) { - const i = n || Ml.parseTrackName(e) - ;(this._targetGroup = t), (this._bindings = t.subscribe_(e, i)) - } - getValue(t, e) { - this.bind() - const n = this._targetGroup.nCachedObjects_, - i = this._bindings[n] - void 0 !== i && i.getValue(t, e) - } - setValue(t, e) { - const n = this._bindings - for (let i = this._targetGroup.nCachedObjects_, r = n.length; i !== r; ++i) - n[i].setValue(t, e) - } - bind() { - const t = this._bindings - for (let e = this._targetGroup.nCachedObjects_, n = t.length; e !== n; ++e) t[e].bind() - } - unbind() { - const t = this._bindings - for (let e = this._targetGroup.nCachedObjects_, n = t.length; e !== n; ++e) t[e].unbind() - } - }), - (Ml.prototype.BindingType = { - Direct: 0, - EntireArray: 1, - ArrayElement: 2, - HasFromToArray: 3, - }), - (Ml.prototype.Versioning = { None: 0, NeedsUpdate: 1, MatrixWorldNeedsUpdate: 2 }), - (Ml.prototype.GetterByBindingType = [ - Ml.prototype._getValue_direct, - Ml.prototype._getValue_array, - Ml.prototype._getValue_arrayElement, - Ml.prototype._getValue_toArray, - ]), - (Ml.prototype.SetterByBindingTypeAndVersioning = [ - [ - Ml.prototype._setValue_direct, - Ml.prototype._setValue_direct_setNeedsUpdate, - Ml.prototype._setValue_direct_setMatrixWorldNeedsUpdate, - ], - [ - Ml.prototype._setValue_array, - Ml.prototype._setValue_array_setNeedsUpdate, - Ml.prototype._setValue_array_setMatrixWorldNeedsUpdate, - ], - [ - Ml.prototype._setValue_arrayElement, - Ml.prototype._setValue_arrayElement_setNeedsUpdate, - Ml.prototype._setValue_arrayElement_setMatrixWorldNeedsUpdate, - ], - [ - Ml.prototype._setValue_fromArray, - Ml.prototype._setValue_fromArray_setNeedsUpdate, - Ml.prototype._setValue_fromArray_setMatrixWorldNeedsUpdate, - ], - ]) - ;(class { - constructor() { - ;(this.uuid = Y()), - (this._objects = Array.prototype.slice.call(arguments)), - (this.nCachedObjects_ = 0) - const t = {} - this._indicesByUUID = t - for (let n = 0, i = arguments.length; n !== i; ++n) t[arguments[n].uuid] = n - ;(this._paths = []), - (this._parsedPaths = []), - (this._bindings = []), - (this._bindingsIndicesByPath = {}) - const e = this - this.stats = { - objects: { - get total() { - return e._objects.length - }, - get inUse() { - return this.total - e.nCachedObjects_ - }, - }, - get bindingsPerObject() { - return e._bindings.length - }, - } - } - add() { - const t = this._objects, - e = this._indicesByUUID, - n = this._paths, - i = this._parsedPaths, - r = this._bindings, - s = r.length - let a, - o = t.length, - l = this.nCachedObjects_ - for (let c = 0, h = arguments.length; c !== h; ++c) { - const h = arguments[c], - u = h.uuid - let d = e[u] - if (void 0 === d) { - ;(d = o++), (e[u] = d), t.push(h) - for (let t = 0, e = s; t !== e; ++t) r[t].push(new Ml(h, n[t], i[t])) - } else if (d < l) { - a = t[d] - const o = --l, - c = t[o] - ;(e[c.uuid] = d), (t[d] = c), (e[u] = o), (t[o] = h) - for (let t = 0, e = s; t !== e; ++t) { - const e = r[t], - s = e[o] - let a = e[d] - ;(e[d] = s), void 0 === a && (a = new Ml(h, n[t], i[t])), (e[o] = a) - } - } else - t[d] !== a && - console.error( - 'THREE.AnimationObjectGroup: Different objects with the same UUID detected. Clean the caches or recreate your infrastructure when reloading scenes.', - ) - } - this.nCachedObjects_ = l - } - remove() { - const t = this._objects, - e = this._indicesByUUID, - n = this._bindings, - i = n.length - let r = this.nCachedObjects_ - for (let s = 0, a = arguments.length; s !== a; ++s) { - const a = arguments[s], - o = a.uuid, - l = e[o] - if (void 0 !== l && l >= r) { - const s = r++, - c = t[s] - ;(e[c.uuid] = l), (t[l] = c), (e[o] = s), (t[s] = a) - for (let t = 0, e = i; t !== e; ++t) { - const e = n[t], - i = e[s], - r = e[l] - ;(e[l] = i), (e[s] = r) - } - } - } - this.nCachedObjects_ = r - } - uncache() { - const t = this._objects, - e = this._indicesByUUID, - n = this._bindings, - i = n.length - let r = this.nCachedObjects_, - s = t.length - for (let a = 0, o = arguments.length; a !== o; ++a) { - const o = arguments[a].uuid, - l = e[o] - if (void 0 !== l) - if ((delete e[o], l < r)) { - const a = --r, - o = t[a], - c = --s, - h = t[c] - ;(e[o.uuid] = l), (t[l] = o), (e[h.uuid] = a), (t[a] = h), t.pop() - for (let t = 0, e = i; t !== e; ++t) { - const e = n[t], - i = e[a], - r = e[c] - ;(e[l] = i), (e[a] = r), e.pop() - } - } else { - const r = --s, - a = t[r] - r > 0 && (e[a.uuid] = l), (t[l] = a), t.pop() - for (let t = 0, e = i; t !== e; ++t) { - const e = n[t] - ;(e[l] = e[r]), e.pop() - } - } - } - this.nCachedObjects_ = r - } - subscribe_(t, e) { - const n = this._bindingsIndicesByPath - let i = n[t] - const r = this._bindings - if (void 0 !== i) return r[i] - const s = this._paths, - a = this._parsedPaths, - o = this._objects, - l = o.length, - c = this.nCachedObjects_, - h = new Array(l) - ;(i = r.length), (n[t] = i), s.push(t), a.push(e), r.push(h) - for (let u = c, d = o.length; u !== d; ++u) { - const n = o[u] - h[u] = new Ml(n, t, e) - } - return h - } - unsubscribe_(t) { - const e = this._bindingsIndicesByPath, - n = e[t] - if (void 0 !== n) { - const i = this._paths, - r = this._parsedPaths, - s = this._bindings, - a = s.length - 1, - o = s[a] - ;(e[t[a]] = n), (s[n] = o), s.pop(), (r[n] = r[a]), r.pop(), (i[n] = i[a]), i.pop() - } - } - }.prototype.isAnimationObjectGroup = !0) - class wl { - constructor(t, e, n = null, i = e.blendMode) { - ;(this._mixer = t), (this._clip = e), (this._localRoot = n), (this.blendMode = i) - const r = e.tracks, - s = r.length, - a = new Array(s), - o = { endingStart: D, endingEnd: D } - for (let l = 0; l !== s; ++l) { - const t = r[l].createInterpolant(null) - ;(a[l] = t), (t.settings = o) - } - ;(this._interpolantSettings = o), - (this._interpolants = a), - (this._propertyBindings = new Array(s)), - (this._cacheIndex = null), - (this._byClipCacheIndex = null), - (this._timeScaleInterpolant = null), - (this._weightInterpolant = null), - (this.loop = 2201), - (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(t) { - return (this._startTime = t), this - } - setLoop(t, e) { - return (this.loop = t), (this.repetitions = e), this - } - setEffectiveWeight(t) { - return ( - (this.weight = t), (this._effectiveWeight = this.enabled ? t : 0), this.stopFading() - ) - } - getEffectiveWeight() { - return this._effectiveWeight - } - fadeIn(t) { - return this._scheduleFading(t, 0, 1) - } - fadeOut(t) { - return this._scheduleFading(t, 1, 0) - } - crossFadeFrom(t, e, n) { - if ((t.fadeOut(e), this.fadeIn(e), n)) { - const n = this._clip.duration, - i = t._clip.duration, - r = i / n, - s = n / i - t.warp(1, r, e), this.warp(s, 1, e) - } - return this - } - crossFadeTo(t, e, n) { - return t.crossFadeFrom(this, e, n) - } - stopFading() { - const t = this._weightInterpolant - return ( - null !== t && - ((this._weightInterpolant = null), this._mixer._takeBackControlInterpolant(t)), - this - ) - } - setEffectiveTimeScale(t) { - return ( - (this.timeScale = t), - (this._effectiveTimeScale = this.paused ? 0 : t), - this.stopWarping() - ) - } - getEffectiveTimeScale() { - return this._effectiveTimeScale - } - setDuration(t) { - return (this.timeScale = this._clip.duration / t), this.stopWarping() - } - syncWith(t) { - return (this.time = t.time), (this.timeScale = t.timeScale), this.stopWarping() - } - halt(t) { - return this.warp(this._effectiveTimeScale, 0, t) - } - warp(t, e, n) { - const i = this._mixer, - r = i.time, - s = this.timeScale - let a = this._timeScaleInterpolant - null === a && ((a = i._lendControlInterpolant()), (this._timeScaleInterpolant = a)) - const o = a.parameterPositions, - l = a.sampleValues - return (o[0] = r), (o[1] = r + n), (l[0] = t / s), (l[1] = e / s), this - } - stopWarping() { - const t = this._timeScaleInterpolant - return ( - null !== t && - ((this._timeScaleInterpolant = null), this._mixer._takeBackControlInterpolant(t)), - this - ) - } - getMixer() { - return this._mixer - } - getClip() { - return this._clip - } - getRoot() { - return this._localRoot || this._mixer._root - } - _update(t, e, n, i) { - if (!this.enabled) return void this._updateWeight(t) - const r = this._startTime - if (null !== r) { - const i = (t - r) * n - if (i < 0 || 0 === n) return - ;(this._startTime = null), (e = n * i) - } - e *= this._updateTimeScale(t) - const s = this._updateTime(e), - a = this._updateWeight(t) - if (a > 0) { - const t = this._interpolants, - e = this._propertyBindings - switch (this.blendMode) { - case 2501: - for (let n = 0, i = t.length; n !== i; ++n) - t[n].evaluate(s), e[n].accumulateAdditive(a) - break - case z: - default: - for (let n = 0, r = t.length; n !== r; ++n) t[n].evaluate(s), e[n].accumulate(i, a) - } - } - } - _updateWeight(t) { - let e = 0 - if (this.enabled) { - e = this.weight - const n = this._weightInterpolant - if (null !== n) { - const i = n.evaluate(t)[0] - ;(e *= i), - t > n.parameterPositions[1] && (this.stopFading(), 0 === i && (this.enabled = !1)) - } - } - return (this._effectiveWeight = e), e - } - _updateTimeScale(t) { - let e = 0 - if (!this.paused) { - e = this.timeScale - const n = this._timeScaleInterpolant - if (null !== n) { - ;(e *= n.evaluate(t)[0]), - t > n.parameterPositions[1] && - (this.stopWarping(), 0 === e ? (this.paused = !0) : (this.timeScale = e)) - } - } - return (this._effectiveTimeScale = e), e - } - _updateTime(t) { - const e = this._clip.duration, - n = this.loop - let i = this.time + t, - r = this._loopCount - const s = 2202 === n - if (0 === t) return -1 === r ? i : s && 1 === (1 & r) ? e - i : i - if (2200 === n) { - ;-1 === r && ((this._loopCount = 0), this._setEndings(!0, !0, !1)) - t: { - if (i >= e) i = e - else { - if (!(i < 0)) { - this.time = i - break t - } - i = 0 - } - this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1), - (this.time = i), - this._mixer.dispatchEvent({ - type: 'finished', - action: this, - direction: t < 0 ? -1 : 1, - }) - } - } else { - if ( - (-1 === r && - (t >= 0 - ? ((r = 0), this._setEndings(!0, 0 === this.repetitions, s)) - : this._setEndings(0 === this.repetitions, !0, s)), - i >= e || i < 0) - ) { - const n = Math.floor(i / e) - ;(i -= e * n), (r += Math.abs(n)) - const a = this.repetitions - r - if (a <= 0) - this.clampWhenFinished ? (this.paused = !0) : (this.enabled = !1), - (i = t > 0 ? e : 0), - (this.time = i), - this._mixer.dispatchEvent({ - type: 'finished', - action: this, - direction: t > 0 ? 1 : -1, - }) - else { - if (1 === a) { - const e = t < 0 - this._setEndings(e, !e, s) - } else this._setEndings(!1, !1, s) - ;(this._loopCount = r), - (this.time = i), - this._mixer.dispatchEvent({ type: 'loop', action: this, loopDelta: n }) - } - } else this.time = i - if (s && 1 === (1 & r)) return e - i - } - return i - } - _setEndings(t, e, n) { - const i = this._interpolantSettings - n - ? ((i.endingStart = I), (i.endingEnd = I)) - : ((i.endingStart = t ? (this.zeroSlopeAtStart ? I : D) : N), - (i.endingEnd = e ? (this.zeroSlopeAtEnd ? I : D) : N)) - } - _scheduleFading(t, e, n) { - const i = this._mixer, - r = i.time - let s = this._weightInterpolant - null === s && ((s = i._lendControlInterpolant()), (this._weightInterpolant = s)) - const a = s.parameterPositions, - o = s.sampleValues - return (a[0] = r), (o[0] = e), (a[1] = r + t), (o[1] = n), this - } - } - ;(class extends W { - constructor(t) { - super(), - (this._root = t), - this._initMemoryManager(), - (this._accuIndex = 0), - (this.time = 0), - (this.timeScale = 1) - } - _bindAction(t, e) { - const n = t._localRoot || this._root, - i = t._clip.tracks, - r = i.length, - s = t._propertyBindings, - a = t._interpolants, - o = n.uuid, - l = this._bindingsByRootAndName - let c = l[o] - void 0 === c && ((c = {}), (l[o] = c)) - for (let h = 0; h !== r; ++h) { - const t = i[h], - r = t.name - let l = c[r] - if (void 0 !== l) s[h] = l - else { - if (((l = s[h]), void 0 !== l)) { - null === l._cacheIndex && (++l.referenceCount, this._addInactiveBinding(l, o, r)) - continue - } - const i = e && e._propertyBindings[h].binding.parsedPath - ;(l = new ul(Ml.create(n, r, i), t.ValueTypeName, t.getValueSize())), - ++l.referenceCount, - this._addInactiveBinding(l, o, r), - (s[h] = l) - } - a[h].resultBuffer = l.buffer - } - } - _activateAction(t) { - if (!this._isActiveAction(t)) { - if (null === t._cacheIndex) { - const e = (t._localRoot || this._root).uuid, - n = t._clip.uuid, - i = this._actionsByClip[n] - this._bindAction(t, i && i.knownActions[0]), this._addInactiveAction(t, n, e) - } - const e = t._propertyBindings - for (let t = 0, n = e.length; t !== n; ++t) { - const n = e[t] - 0 === n.useCount++ && (this._lendBinding(n), n.saveOriginalState()) - } - this._lendAction(t) - } - } - _deactivateAction(t) { - if (this._isActiveAction(t)) { - const e = t._propertyBindings - for (let t = 0, n = e.length; t !== n; ++t) { - const n = e[t] - 0 === --n.useCount && (n.restoreOriginalState(), this._takeBackBinding(n)) - } - this._takeBackAction(t) - } - } - _initMemoryManager() { - ;(this._actions = []), - (this._nActiveActions = 0), - (this._actionsByClip = {}), - (this._bindings = []), - (this._nActiveBindings = 0), - (this._bindingsByRootAndName = {}), - (this._controlInterpolants = []), - (this._nActiveControlInterpolants = 0) - const t = this - this.stats = { - actions: { - get total() { - return t._actions.length - }, - get inUse() { - return t._nActiveActions - }, - }, - bindings: { - get total() { - return t._bindings.length - }, - get inUse() { - return t._nActiveBindings - }, - }, - controlInterpolants: { - get total() { - return t._controlInterpolants.length - }, - get inUse() { - return t._nActiveControlInterpolants - }, - }, - } - } - _isActiveAction(t) { - const e = t._cacheIndex - return null !== e && e < this._nActiveActions - } - _addInactiveAction(t, e, n) { - const i = this._actions, - r = this._actionsByClip - let s = r[e] - if (void 0 === s) - (s = { knownActions: [t], actionByRoot: {} }), (t._byClipCacheIndex = 0), (r[e] = s) - else { - const e = s.knownActions - ;(t._byClipCacheIndex = e.length), e.push(t) - } - ;(t._cacheIndex = i.length), i.push(t), (s.actionByRoot[n] = t) - } - _removeInactiveAction(t) { - const e = this._actions, - n = e[e.length - 1], - i = t._cacheIndex - ;(n._cacheIndex = i), (e[i] = n), e.pop(), (t._cacheIndex = null) - const r = t._clip.uuid, - s = this._actionsByClip, - a = s[r], - o = a.knownActions, - l = o[o.length - 1], - c = t._byClipCacheIndex - ;(l._byClipCacheIndex = c), (o[c] = l), o.pop(), (t._byClipCacheIndex = null) - delete a.actionByRoot[(t._localRoot || this._root).uuid], - 0 === o.length && delete s[r], - this._removeInactiveBindingsForAction(t) - } - _removeInactiveBindingsForAction(t) { - const e = t._propertyBindings - for (let n = 0, i = e.length; n !== i; ++n) { - const t = e[n] - 0 === --t.referenceCount && this._removeInactiveBinding(t) - } - } - _lendAction(t) { - const e = this._actions, - n = t._cacheIndex, - i = this._nActiveActions++, - r = e[i] - ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r) - } - _takeBackAction(t) { - const e = this._actions, - n = t._cacheIndex, - i = --this._nActiveActions, - r = e[i] - ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r) - } - _addInactiveBinding(t, e, n) { - const i = this._bindingsByRootAndName, - r = this._bindings - let s = i[e] - void 0 === s && ((s = {}), (i[e] = s)), (s[n] = t), (t._cacheIndex = r.length), r.push(t) - } - _removeInactiveBinding(t) { - const e = this._bindings, - n = t.binding, - i = n.rootNode.uuid, - r = n.path, - s = this._bindingsByRootAndName, - a = s[i], - o = e[e.length - 1], - l = t._cacheIndex - ;(o._cacheIndex = l), - (e[l] = o), - e.pop(), - delete a[r], - 0 === Object.keys(a).length && delete s[i] - } - _lendBinding(t) { - const e = this._bindings, - n = t._cacheIndex, - i = this._nActiveBindings++, - r = e[i] - ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r) - } - _takeBackBinding(t) { - const e = this._bindings, - n = t._cacheIndex, - i = --this._nActiveBindings, - r = e[i] - ;(t._cacheIndex = i), (e[i] = t), (r._cacheIndex = n), (e[n] = r) - } - _lendControlInterpolant() { - const t = this._controlInterpolants, - e = this._nActiveControlInterpolants++ - let n = t[e] - return ( - void 0 === n && - ((n = new lo( - new Float32Array(2), - new Float32Array(2), - 1, - this._controlInterpolantsResultBuffer, - )), - (n.__cacheIndex = e), - (t[e] = n)), - n - ) - } - _takeBackControlInterpolant(t) { - const e = this._controlInterpolants, - n = t.__cacheIndex, - i = --this._nActiveControlInterpolants, - r = e[i] - ;(t.__cacheIndex = i), (e[i] = t), (r.__cacheIndex = n), (e[n] = r) - } - clipAction(t, e, n) { - const i = e || this._root, - r = i.uuid - let s = 'string' === typeof t ? xo.findByName(i, t) : t - const a = null !== s ? s.uuid : t, - o = this._actionsByClip[a] - let l = null - if ((void 0 === n && (n = null !== s ? s.blendMode : z), void 0 !== o)) { - const t = o.actionByRoot[r] - if (void 0 !== t && t.blendMode === n) return t - ;(l = o.knownActions[0]), null === s && (s = l._clip) - } - if (null === s) return null - const c = new wl(this, s, e, n) - return this._bindAction(c, l), this._addInactiveAction(c, a, r), c - } - existingAction(t, e) { - const n = e || this._root, - i = n.uuid, - r = 'string' === typeof t ? xo.findByName(n, t) : t, - s = r ? r.uuid : t, - a = this._actionsByClip[s] - return (void 0 !== a && a.actionByRoot[i]) || null - } - stopAllAction() { - const t = this._actions - for (let e = this._nActiveActions - 1; e >= 0; --e) t[e].stop() - return this - } - update(t) { - t *= this.timeScale - const e = this._actions, - n = this._nActiveActions, - i = (this.time += t), - r = Math.sign(t), - s = (this._accuIndex ^= 1) - for (let l = 0; l !== n; ++l) { - e[l]._update(i, t, r, s) - } - const a = this._bindings, - o = this._nActiveBindings - for (let l = 0; l !== o; ++l) a[l].apply(s) - return this - } - setTime(t) { - this.time = 0 - for (let e = 0; e < this._actions.length; e++) this._actions[e].time = 0 - return this.update(t) - } - getRoot() { - return this._root - } - uncacheClip(t) { - const e = this._actions, - n = t.uuid, - i = this._actionsByClip, - r = i[n] - if (void 0 !== r) { - const t = r.knownActions - for (let n = 0, i = t.length; n !== i; ++n) { - const i = t[n] - this._deactivateAction(i) - const r = i._cacheIndex, - s = e[e.length - 1] - ;(i._cacheIndex = null), - (i._byClipCacheIndex = null), - (s._cacheIndex = r), - (e[r] = s), - e.pop(), - this._removeInactiveBindingsForAction(i) - } - delete i[n] - } - } - uncacheRoot(t) { - const e = t.uuid, - n = this._actionsByClip - for (const r in n) { - const t = n[r].actionByRoot[e] - void 0 !== t && (this._deactivateAction(t), this._removeInactiveAction(t)) - } - const i = this._bindingsByRootAndName[e] - if (void 0 !== i) - for (const r in i) { - const t = i[r] - t.restoreOriginalState(), this._removeInactiveBinding(t) - } - } - uncacheAction(t, e) { - const n = this.existingAction(t, e) - null !== n && (this._deactivateAction(n), this._removeInactiveAction(n)) - } - }.prototype._controlInterpolantsResultBuffer = new Float32Array(1)) - class Sl { - constructor(t) { - 'string' === typeof t && - (console.warn('THREE.Uniform: Type parameter is no longer needed.'), - (t = arguments[1])), - (this.value = t) - } - clone() { - return new Sl(void 0 === this.value.clone ? this.value : this.value.clone()) - } - } - ;(class extends Kr { - constructor(t, e, n = 1) { - super(t, e), (this.meshPerAttribute = n) - } - copy(t) { - return super.copy(t), (this.meshPerAttribute = t.meshPerAttribute), this - } - clone(t) { - const e = super.clone(t) - return (e.meshPerAttribute = this.meshPerAttribute), e - } - toJSON(t) { - const e = super.toJSON(t) - return ( - (e.isInstancedInterleavedBuffer = !0), (e.meshPerAttribute = this.meshPerAttribute), e - ) - } - }.prototype.isInstancedInterleavedBuffer = !0) - ;(class { - constructor(t, e, n, i, r) { - ;(this.buffer = t), - (this.type = e), - (this.itemSize = n), - (this.elementSize = i), - (this.count = r), - (this.version = 0) - } - set needsUpdate(t) { - !0 === t && this.version++ - } - setBuffer(t) { - return (this.buffer = t), this - } - setType(t, e) { - return (this.type = t), (this.elementSize = e), this - } - setItemSize(t) { - return (this.itemSize = t), this - } - setCount(t) { - return (this.count = t), this - } - }.prototype.isGLBufferAttribute = !0) - class Tl { - constructor(t, e, n = 0, i = 1 / 0) { - ;(this.ray = new Gt(t, e)), - (this.near = n), - (this.far = i), - (this.camera = null), - (this.layers = new $t()), - (this.params = { - Mesh: {}, - Line: { threshold: 1 }, - LOD: {}, - Points: { threshold: 1 }, - Sprite: {}, - }) - } - set(t, e) { - this.ray.set(t, e) - } - setFromCamera(t, e) { - e && e.isPerspectiveCamera - ? (this.ray.origin.setFromMatrixPosition(e.matrixWorld), - this.ray.direction.set(t.x, t.y, 0.5).unproject(e).sub(this.ray.origin).normalize(), - (this.camera = e)) - : e && e.isOrthographicCamera - ? (this.ray.origin.set(t.x, t.y, (e.near + e.far) / (e.near - e.far)).unproject(e), - this.ray.direction.set(0, 0, -1).transformDirection(e.matrixWorld), - (this.camera = e)) - : console.error('THREE.Raycaster: Unsupported camera type: ' + e.type) - } - intersectObject(t, e = !1, n = []) { - return Ll(t, this, n, e), n.sort(El), n - } - intersectObjects(t, e = !1, n = []) { - for (let i = 0, r = t.length; i < r; i++) Ll(t[i], this, n, e) - return n.sort(El), n - } - } - function El(t, e) { - return t.distance - e.distance - } - function Ll(t, e, n, i) { - if ((t.layers.test(e.layers) && t.raycast(e, n), !0 === i)) { - const i = t.children - for (let t = 0, r = i.length; t < r; t++) Ll(i[t], e, n, !0) - } - } - class Al { - constructor(t = 1, e = 0, n = 0) { - return (this.radius = t), (this.phi = e), (this.theta = n), this - } - set(t, e, n) { - return (this.radius = t), (this.phi = e), (this.theta = n), this - } - copy(t) { - return (this.radius = t.radius), (this.phi = t.phi), (this.theta = t.theta), this - } - makeSafe() { - const t = 1e-6 - return (this.phi = Math.max(t, Math.min(Math.PI - t, this.phi))), this - } - setFromVector3(t) { - return this.setFromCartesianCoords(t.x, t.y, t.z) - } - setFromCartesianCoords(t, e, n) { - return ( - (this.radius = Math.sqrt(t * t + e * e + n * n)), - 0 === this.radius - ? ((this.theta = 0), (this.phi = 0)) - : ((this.theta = Math.atan2(t, n)), - (this.phi = Math.acos(J(e / this.radius, -1, 1)))), - this - ) - } - clone() { - return new this.constructor().copy(this) - } - } - const Rl = new tt() - class Cl { - constructor(t = new tt(1 / 0, 1 / 0), e = new tt(-1 / 0, -1 / 0)) { - ;(this.min = t), (this.max = e) - } - set(t, e) { - return this.min.copy(t), this.max.copy(e), this - } - setFromPoints(t) { - this.makeEmpty() - for (let e = 0, n = t.length; e < n; e++) this.expandByPoint(t[e]) - return this - } - setFromCenterAndSize(t, e) { - const n = Rl.copy(e).multiplyScalar(0.5) - return this.min.copy(t).sub(n), this.max.copy(t).add(n), this - } - clone() { - return new this.constructor().copy(this) - } - copy(t) { - return this.min.copy(t.min), this.max.copy(t.max), this - } - makeEmpty() { - return (this.min.x = this.min.y = 1 / 0), (this.max.x = this.max.y = -1 / 0), this - } - isEmpty() { - return this.max.x < this.min.x || this.max.y < this.min.y - } - getCenter(t) { - return this.isEmpty() ? t.set(0, 0) : t.addVectors(this.min, this.max).multiplyScalar(0.5) - } - getSize(t) { - return this.isEmpty() ? t.set(0, 0) : t.subVectors(this.max, this.min) - } - expandByPoint(t) { - return this.min.min(t), this.max.max(t), this - } - expandByVector(t) { - return this.min.sub(t), this.max.add(t), this - } - expandByScalar(t) { - return this.min.addScalar(-t), this.max.addScalar(t), this - } - containsPoint(t) { - return !(t.x < this.min.x || t.x > this.max.x || t.y < this.min.y || t.y > this.max.y) - } - containsBox(t) { - return ( - this.min.x <= t.min.x && - t.max.x <= this.max.x && - this.min.y <= t.min.y && - t.max.y <= this.max.y - ) - } - getParameter(t, e) { - return e.set( - (t.x - this.min.x) / (this.max.x - this.min.x), - (t.y - this.min.y) / (this.max.y - this.min.y), - ) - } - intersectsBox(t) { - return !( - t.max.x < this.min.x || - t.min.x > this.max.x || - t.max.y < this.min.y || - t.min.y > this.max.y - ) - } - clampPoint(t, e) { - return e.copy(t).clamp(this.min, this.max) - } - distanceToPoint(t) { - return Rl.copy(t).clamp(this.min, this.max).sub(t).length() - } - intersect(t) { - return this.min.max(t.min), this.max.min(t.max), this - } - union(t) { - return this.min.min(t.min), this.max.max(t.max), this - } - translate(t) { - return this.min.add(t), this.max.add(t), this - } - equals(t) { - return t.min.equals(this.min) && t.max.equals(this.max) - } - } - Cl.prototype.isBox2 = !0 - const Pl = new ut(), - Dl = new ut() - ;(class extends pe { - constructor(t) { - super(), - (this.material = t), - (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) - } - }.prototype.isImmediateRenderObject = !0) - const Il = new ut(), - Nl = new Vt(), - zl = new Vt() - function Ol(t) { - const e = [] - t && t.isBone && e.push(t) - for (let n = 0; n < t.children.length; n++) e.push.apply(e, Ol(t.children[n])) - return e - } - const Bl = new Float32Array(1) - new Int32Array(Bl.buffer) - Math.pow(2, 8) - const Fl = [0.125, 0.215, 0.35, 0.446, 0.526, 0.582], - Ul = 5 + Fl.length, - Hl = new Ne({ side: s, depthWrite: !1, depthTest: !1 }), - { _lodPlanes: Gl, _sizeLods: Vl, _sigmas: kl } = (new mn(new gn(), Hl), Wl()) - Math.sqrt(5) - function Wl() { - const t = [], - e = [], - n = [] - let i = 8 - for (let r = 0; r < Ul; r++) { - const s = Math.pow(2, i) - e.push(s) - let a = 1 / s - r > 4 ? (a = Fl[r - 8 + 4 - 1]) : 0 == r && (a = 0), n.push(a) - const o = 1 / (s - 1), - l = -o / 2, - c = 1 + o / 2, - h = [l, l, c, l, c, c, l, l, c, c, l, c], - u = 6, - d = 6, - p = 3, - m = 2, - f = 1, - g = new Float32Array(p * d * u), - v = new Float32Array(m * d * u), - y = new Float32Array(f * d * u) - for (let t = 0; t < u; t++) { - const e = ((t % 3) * 2) / 3 - 1, - n = t > 2 ? 0 : -1, - i = [ - e, - n, - 0, - e + 2 / 3, - n, - 0, - e + 2 / 3, - n + 1, - 0, - e, - n, - 0, - e + 2 / 3, - n + 1, - 0, - e, - n + 1, - 0, - ] - g.set(i, p * d * t), v.set(h, m * d * t) - const r = [t, t, t, t, t, t] - y.set(r, f * d * t) - } - const x = new Je() - x.setAttribute('position', new Be(g, p)), - x.setAttribute('uv', new Be(v, m)), - x.setAttribute('faceIndex', new Be(y, f)), - t.push(x), - i > 4 && i-- - } - return { _lodPlanes: t, _sizeLods: e, _sigmas: n } - } - ;(Qs.create = function (t, e) { - return ( - console.log('THREE.Curve.create() has been deprecated'), - (t.prototype = Object.create(Qs.prototype)), - (t.prototype.constructor = t), - (t.prototype.getPoint = e), - t - ) - }), - (Po.prototype.fromPoints = function (t) { - return ( - console.warn('THREE.Path: .fromPoints() has been renamed to .setFromPoints().'), - this.setFromPoints(t) - ) - }), - (class extends Us { - constructor(t = 10, e = 10, n = 4473924, i = 8947848) { - ;(n = new Ie(n)), (i = new Ie(i)) - const r = e / 2, - s = t / e, - a = t / 2, - o = [], - l = [] - for (let h = 0, u = 0, d = -a; h <= e; h++, d += s) { - o.push(-a, 0, d, a, 0, d), o.push(d, 0, -a, d, 0, a) - const t = h === r ? n : i - t.toArray(l, u), - (u += 3), - t.toArray(l, u), - (u += 3), - t.toArray(l, u), - (u += 3), - t.toArray(l, u), - (u += 3) - } - const c = new Je() - c.setAttribute('position', new He(o, 3)), c.setAttribute('color', new He(l, 3)) - super(c, new Cs({ vertexColors: !0, toneMapped: !1 })), (this.type = 'GridHelper') - } - }.prototype.setColors = function () { - console.error( - 'THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.', - ) - }), - (class extends Us { - constructor(t) { - const e = Ol(t), - n = new Je(), - i = [], - r = [], - s = new Ie(0, 0, 1), - a = new Ie(0, 1, 0) - for (let o = 0; o < e.length; o++) { - const t = e[o] - t.parent && - t.parent.isBone && - (i.push(0, 0, 0), i.push(0, 0, 0), r.push(s.r, s.g, s.b), r.push(a.r, a.g, a.b)) - } - n.setAttribute('position', new He(i, 3)), n.setAttribute('color', new He(r, 3)) - super( - n, - new Cs({ - vertexColors: !0, - depthTest: !1, - depthWrite: !1, - toneMapped: !1, - transparent: !0, - }), - ), - (this.type = 'SkeletonHelper'), - (this.isSkeletonHelper = !0), - (this.root = t), - (this.bones = e), - (this.matrix = t.matrixWorld), - (this.matrixAutoUpdate = !1) - } - updateMatrixWorld(t) { - const e = this.bones, - n = this.geometry, - i = n.getAttribute('position') - zl.copy(this.root.matrixWorld).invert() - for (let r = 0, s = 0; r < e.length; r++) { - const t = e[r] - t.parent && - t.parent.isBone && - (Nl.multiplyMatrices(zl, t.matrixWorld), - Il.setFromMatrixPosition(Nl), - i.setXYZ(s, Il.x, Il.y, Il.z), - Nl.multiplyMatrices(zl, t.parent.matrixWorld), - Il.setFromMatrixPosition(Nl), - i.setXYZ(s + 1, Il.x, Il.y, Il.z), - (s += 2)) - } - ;(n.getAttribute('position').needsUpdate = !0), super.updateMatrixWorld(t) - } - }.prototype.update = function () { - console.error('THREE.SkeletonHelper: update() no longer needs to be called.') - }), - (So.prototype.extractUrlBase = function (t) { - return ( - console.warn( - 'THREE.Loader: .extractUrlBase() has been deprecated. Use THREE.LoaderUtils.extractUrlBase() instead.', - ), - $o.extractUrlBase(t) - ) - }), - (So.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.', - ) - }, - }), - (Cl.prototype.center = function (t) { - return ( - console.warn('THREE.Box2: .center() has been renamed to .getCenter().'), - this.getCenter(t) - ) - }), - (Cl.prototype.empty = function () { - return ( - console.warn('THREE.Box2: .empty() has been renamed to .isEmpty().'), this.isEmpty() - ) - }), - (Cl.prototype.isIntersectionBox = function (t) { - return ( - console.warn('THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox().'), - this.intersectsBox(t) - ) - }), - (Cl.prototype.size = function (t) { - return ( - console.warn('THREE.Box2: .size() has been renamed to .getSize().'), this.getSize(t) - ) - }), - (mt.prototype.center = function (t) { - return ( - console.warn('THREE.Box3: .center() has been renamed to .getCenter().'), - this.getCenter(t) - ) - }), - (mt.prototype.empty = function () { - return ( - console.warn('THREE.Box3: .empty() has been renamed to .isEmpty().'), this.isEmpty() - ) - }), - (mt.prototype.isIntersectionBox = function (t) { - return ( - console.warn('THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox().'), - this.intersectsBox(t) - ) - }), - (mt.prototype.isIntersectionSphere = function (t) { - return ( - console.warn( - 'THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().', - ), - this.intersectsSphere(t) - ) - }), - (mt.prototype.size = function (t) { - return ( - console.warn('THREE.Box3: .size() has been renamed to .getSize().'), this.getSize(t) - ) - }), - (It.prototype.empty = function () { - return ( - console.warn('THREE.Sphere: .empty() has been renamed to .isEmpty().'), this.isEmpty() - ) - }), - (In.prototype.setFromMatrix = function (t) { - return ( - console.warn( - 'THREE.Frustum: .setFromMatrix() has been renamed to .setFromProjectionMatrix().', - ), - this.setFromProjectionMatrix(t) - ) - }), - (class { - constructor(t = new ut(), e = new ut()) { - ;(this.start = t), (this.end = e) - } - set(t, e) { - return this.start.copy(t), this.end.copy(e), this - } - copy(t) { - return this.start.copy(t.start), this.end.copy(t.end), this - } - getCenter(t) { - return t.addVectors(this.start, this.end).multiplyScalar(0.5) - } - delta(t) { - return t.subVectors(this.end, this.start) - } - distanceSq() { - return this.start.distanceToSquared(this.end) - } - distance() { - return this.start.distanceTo(this.end) - } - at(t, e) { - return this.delta(e).multiplyScalar(t).add(this.start) - } - closestPointToPointParameter(t, e) { - Pl.subVectors(t, this.start), Dl.subVectors(this.end, this.start) - const n = Dl.dot(Dl) - let i = Dl.dot(Pl) / n - return e && (i = J(i, 0, 1)), i - } - closestPointToPoint(t, e, n) { - const i = this.closestPointToPointParameter(t, e) - return this.delta(n).multiplyScalar(i).add(this.start) - } - applyMatrix4(t) { - return this.start.applyMatrix4(t), this.end.applyMatrix4(t), this - } - equals(t) { - return t.start.equals(this.start) && t.end.equals(this.end) - } - clone() { - return new this.constructor().copy(this) - } - }.prototype.center = function (t) { - return ( - console.warn('THREE.Line3: .center() has been renamed to .getCenter().'), - this.getCenter(t) - ) - }), - (et.prototype.flattenToArrayOffset = function (t, e) { - return ( - console.warn( - 'THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.', - ), - this.toArray(t, e) - ) - }), - (et.prototype.multiplyVector3 = function (t) { - return ( - console.warn( - 'THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.', - ), - t.applyMatrix3(this) - ) - }), - (et.prototype.multiplyVector3Array = function () { - console.error('THREE.Matrix3: .multiplyVector3Array() has been removed.') - }), - (et.prototype.applyToBufferAttribute = function (t) { - return ( - console.warn( - 'THREE.Matrix3: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix3( matrix ) instead.', - ), - t.applyMatrix3(this) - ) - }), - (et.prototype.applyToVector3Array = function () { - console.error('THREE.Matrix3: .applyToVector3Array() has been removed.') - }), - (et.prototype.getInverse = function (t) { - return ( - console.warn( - 'THREE.Matrix3: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.', - ), - this.copy(t).invert() - ) - }), - (Vt.prototype.extractPosition = function (t) { - return ( - console.warn('THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().'), - this.copyPosition(t) - ) - }), - (Vt.prototype.flattenToArrayOffset = function (t, e) { - return ( - console.warn( - 'THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.', - ), - this.toArray(t, e) - ) - }), - (Vt.prototype.getPosition = function () { - return ( - console.warn( - 'THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.', - ), - new ut().setFromMatrixColumn(this, 3) - ) - }), - (Vt.prototype.setRotationFromQuaternion = function (t) { - return ( - console.warn( - 'THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion().', - ), - this.makeRotationFromQuaternion(t) - ) - }), - (Vt.prototype.multiplyToArray = function () { - console.warn('THREE.Matrix4: .multiplyToArray() has been removed.') - }), - (Vt.prototype.multiplyVector3 = function (t) { - return ( - console.warn( - 'THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.', - ), - t.applyMatrix4(this) - ) - }), - (Vt.prototype.multiplyVector4 = function (t) { - return ( - console.warn( - 'THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.', - ), - t.applyMatrix4(this) - ) - }), - (Vt.prototype.multiplyVector3Array = function () { - console.error('THREE.Matrix4: .multiplyVector3Array() has been removed.') - }), - (Vt.prototype.rotateAxis = function (t) { - console.warn( - 'THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.', - ), - t.transformDirection(this) - }), - (Vt.prototype.crossVector = function (t) { - return ( - console.warn( - 'THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.', - ), - t.applyMatrix4(this) - ) - }), - (Vt.prototype.translate = function () { - console.error('THREE.Matrix4: .translate() has been removed.') - }), - (Vt.prototype.rotateX = function () { - console.error('THREE.Matrix4: .rotateX() has been removed.') - }), - (Vt.prototype.rotateY = function () { - console.error('THREE.Matrix4: .rotateY() has been removed.') - }), - (Vt.prototype.rotateZ = function () { - console.error('THREE.Matrix4: .rotateZ() has been removed.') - }), - (Vt.prototype.rotateByAxis = function () { - console.error('THREE.Matrix4: .rotateByAxis() has been removed.') - }), - (Vt.prototype.applyToBufferAttribute = function (t) { - return ( - console.warn( - 'THREE.Matrix4: .applyToBufferAttribute() has been removed. Use attribute.applyMatrix4( matrix ) instead.', - ), - t.applyMatrix4(this) - ) - }), - (Vt.prototype.applyToVector3Array = function () { - console.error('THREE.Matrix4: .applyToVector3Array() has been removed.') - }), - (Vt.prototype.makeFrustum = function (t, e, n, i, r, s) { - return ( - console.warn( - 'THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.', - ), - this.makePerspective(t, e, i, n, r, s) - ) - }), - (Vt.prototype.getInverse = function (t) { - return ( - console.warn( - 'THREE.Matrix4: .getInverse() has been removed. Use matrixInv.copy( matrix ).invert(); instead.', - ), - this.copy(t).invert() - ) - }), - (Cn.prototype.isIntersectionLine = function (t) { - return ( - console.warn( - 'THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().', - ), - this.intersectsLine(t) - ) - }), - (ht.prototype.multiplyVector3 = function (t) { - return ( - console.warn( - 'THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead.', - ), - t.applyQuaternion(this) - ) - }), - (ht.prototype.inverse = function () { - return ( - console.warn('THREE.Quaternion: .inverse() has been renamed to invert().'), - this.invert() - ) - }), - (Gt.prototype.isIntersectionBox = function (t) { - return ( - console.warn('THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().'), - this.intersectsBox(t) - ) - }), - (Gt.prototype.isIntersectionPlane = function (t) { - return ( - console.warn( - 'THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().', - ), - this.intersectsPlane(t) - ) - }), - (Gt.prototype.isIntersectionSphere = function (t) { - return ( - console.warn( - 'THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().', - ), - this.intersectsSphere(t) - ) - }), - (Se.prototype.area = function () { - return ( - console.warn('THREE.Triangle: .area() has been renamed to .getArea().'), this.getArea() - ) - }), - (Se.prototype.barycoordFromPoint = function (t, e) { - return ( - console.warn( - 'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().', - ), - this.getBarycoord(t, e) - ) - }), - (Se.prototype.midpoint = function (t) { - return ( - console.warn('THREE.Triangle: .midpoint() has been renamed to .getMidpoint().'), - this.getMidpoint(t) - ) - }), - (Se.prototypenormal = function (t) { - return ( - console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'), - this.getNormal(t) - ) - }), - (Se.prototype.plane = function (t) { - return ( - console.warn('THREE.Triangle: .plane() has been renamed to .getPlane().'), - this.getPlane(t) - ) - }), - (Se.barycoordFromPoint = function (t, e, n, i, r) { - return ( - console.warn( - 'THREE.Triangle: .barycoordFromPoint() has been renamed to .getBarycoord().', - ), - Se.getBarycoord(t, e, n, i, r) - ) - }), - (Se.normal = function (t, e, n, i) { - return ( - console.warn('THREE.Triangle: .normal() has been renamed to .getNormal().'), - Se.getNormal(t, e, n, i) - ) - }), - (Do.prototype.extractAllPoints = function (t) { - return ( - console.warn( - 'THREE.Shape: .extractAllPoints() has been removed. Use .extractPoints() instead.', - ), - this.extractPoints(t) - ) - }), - (Do.prototype.extrude = function (t) { - return ( - console.warn( - 'THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.', - ), - new Wa(this, t) - ) - }), - (Do.prototype.makeGeometry = function (t) { - return ( - console.warn( - 'THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.', - ), - new qa(this, t) - ) - }), - (tt.prototype.fromAttribute = function (t, e, n) { - return ( - console.warn( - 'THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().', - ), - this.fromBufferAttribute(t, e, n) - ) - }), - (tt.prototype.distanceToManhattan = function (t) { - return ( - console.warn( - 'THREE.Vector2: .distanceToManhattan() has been renamed to .manhattanDistanceTo().', - ), - this.manhattanDistanceTo(t) - ) - }), - (tt.prototype.lengthManhattan = function () { - return ( - console.warn( - 'THREE.Vector2: .lengthManhattan() has been renamed to .manhattanLength().', - ), - this.manhattanLength() - ) - }), - (ut.prototype.setEulerFromRotationMatrix = function () { - console.error( - 'THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.', - ) - }), - (ut.prototype.setEulerFromQuaternion = function () { - console.error( - 'THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.', - ) - }), - (ut.prototype.getPositionFromMatrix = function (t) { - return ( - console.warn( - 'THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().', - ), - this.setFromMatrixPosition(t) - ) - }), - (ut.prototype.getScaleFromMatrix = function (t) { - return ( - console.warn( - 'THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale().', - ), - this.setFromMatrixScale(t) - ) - }), - (ut.prototype.getColumnFromMatrix = function (t, e) { - return ( - console.warn( - 'THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().', - ), - this.setFromMatrixColumn(e, t) - ) - }), - (ut.prototype.applyProjection = function (t) { - return ( - console.warn( - 'THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.', - ), - this.applyMatrix4(t) - ) - }), - (ut.prototype.fromAttribute = function (t, e, n) { - return ( - console.warn( - 'THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().', - ), - this.fromBufferAttribute(t, e, n) - ) - }), - (ut.prototype.distanceToManhattan = function (t) { - return ( - console.warn( - 'THREE.Vector3: .distanceToManhattan() has been renamed to .manhattanDistanceTo().', - ), - this.manhattanDistanceTo(t) - ) - }), - (ut.prototype.lengthManhattan = function () { - return ( - console.warn( - 'THREE.Vector3: .lengthManhattan() has been renamed to .manhattanLength().', - ), - this.manhattanLength() - ) - }), - (ot.prototype.fromAttribute = function (t, e, n) { - return ( - console.warn( - 'THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().', - ), - this.fromBufferAttribute(t, e, n) - ) - }), - (ot.prototype.lengthManhattan = function () { - return ( - console.warn( - 'THREE.Vector4: .lengthManhattan() has been renamed to .manhattanLength().', - ), - this.manhattanLength() - ) - }), - (pe.prototype.getChildByName = function (t) { - return ( - console.warn( - 'THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().', - ), - this.getObjectByName(t) - ) - }), - (pe.prototype.renderDepth = function () { - console.warn('THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.') - }), - (pe.prototype.translate = function (t, e) { - return ( - console.warn( - 'THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.', - ), - this.translateOnAxis(e, t) - ) - }), - (pe.prototype.getWorldRotation = function () { - console.error( - 'THREE.Object3D: .getWorldRotation() has been removed. Use THREE.Object3D.getWorldQuaternion( target ) instead.', - ) - }), - (pe.prototype.applyMatrix = function (t) { - return ( - console.warn('THREE.Object3D: .applyMatrix() has been renamed to .applyMatrix4().'), - this.applyMatrix4(t) - ) - }), - Object.defineProperties(pe.prototype, { - eulerOrder: { - get: function () { - return ( - console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'), - this.rotation.order - ) - }, - set: function (t) { - console.warn('THREE.Object3D: .eulerOrder is now .rotation.order.'), - (this.rotation.order = t) - }, - }, - 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.', - ) - }, - }, - }), - (mn.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(mn.prototype, { - drawMode: { - get: function () { - return ( - console.error( - 'THREE.Mesh: .drawMode has been removed. The renderer now always assumes THREE.TrianglesDrawMode.', - ), - 0 - ) - }, - 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.', - ) - }, - }, - }), - (Ms.prototype.initBones = function () { - console.error('THREE.SkinnedMesh: initBones() has been removed.') - }), - (Mn.prototype.setLens = function (t, e) { - console.warn( - 'THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.', - ), - void 0 !== e && (this.filmGauge = e), - this.setFocalLength(t) - }), - Object.defineProperties(Io.prototype, { - onlyShadow: { - set: function () { - console.warn('THREE.Light: .onlyShadow has been removed.') - }, - }, - shadowCameraFov: { - set: function (t) { - console.warn('THREE.Light: .shadowCameraFov is now .shadow.camera.fov.'), - (this.shadow.camera.fov = t) - }, - }, - shadowCameraLeft: { - set: function (t) { - console.warn('THREE.Light: .shadowCameraLeft is now .shadow.camera.left.'), - (this.shadow.camera.left = t) - }, - }, - shadowCameraRight: { - set: function (t) { - console.warn('THREE.Light: .shadowCameraRight is now .shadow.camera.right.'), - (this.shadow.camera.right = t) - }, - }, - shadowCameraTop: { - set: function (t) { - console.warn('THREE.Light: .shadowCameraTop is now .shadow.camera.top.'), - (this.shadow.camera.top = t) - }, - }, - shadowCameraBottom: { - set: function (t) { - console.warn('THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.'), - (this.shadow.camera.bottom = t) - }, - }, - shadowCameraNear: { - set: function (t) { - console.warn('THREE.Light: .shadowCameraNear is now .shadow.camera.near.'), - (this.shadow.camera.near = t) - }, - }, - shadowCameraFar: { - set: function (t) { - console.warn('THREE.Light: .shadowCameraFar is now .shadow.camera.far.'), - (this.shadow.camera.far = t) - }, - }, - shadowCameraVisible: { - set: function () { - console.warn( - 'THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.', - ) - }, - }, - shadowBias: { - set: function (t) { - console.warn('THREE.Light: .shadowBias is now .shadow.bias.'), (this.shadow.bias = t) - }, - }, - shadowDarkness: { - set: function () { - console.warn('THREE.Light: .shadowDarkness has been removed.') - }, - }, - shadowMapWidth: { - set: function (t) { - console.warn('THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.'), - (this.shadow.mapSize.width = t) - }, - }, - shadowMapHeight: { - set: function (t) { - console.warn('THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.'), - (this.shadow.mapSize.height = t) - }, - }, - }), - Object.defineProperties(Be.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 === V - ) - }, - set: function () { - console.warn( - 'THREE.BufferAttribute: .dynamic has been deprecated. Use .usage instead.', - ), - this.setUsage(V) - }, - }, - }), - (Be.prototype.setDynamic = function (t) { - return ( - console.warn( - 'THREE.BufferAttribute: .setDynamic() has been deprecated. Use .setUsage() instead.', - ), - this.setUsage(!0 === t ? V : G), - this - ) - }), - (Be.prototype.copyIndicesArray = function () { - console.error('THREE.BufferAttribute: .copyIndicesArray() has been removed.') - }), - (Be.prototype.setArray = function () { - console.error( - 'THREE.BufferAttribute: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers', - ) - }), - (Je.prototype.addIndex = function (t) { - console.warn('THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().'), - this.setIndex(t) - }), - (Je.prototype.addAttribute = function (t, e) { - return ( - console.warn( - 'THREE.BufferGeometry: .addAttribute() has been renamed to .setAttribute().', - ), - (e && e.isBufferAttribute) || (e && e.isInterleavedBufferAttribute) - ? 'index' === t - ? (console.warn( - 'THREE.BufferGeometry.addAttribute: Use .setIndex() for index attribute.', - ), - this.setIndex(e), - this) - : this.setAttribute(t, e) - : (console.warn( - 'THREE.BufferGeometry: .addAttribute() now expects ( name, attribute ).', - ), - this.setAttribute(t, new Be(arguments[1], arguments[2]))) - ) - }), - (Je.prototype.addDrawCall = function (t, e, n) { - void 0 !== n && - console.warn('THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.'), - console.warn('THREE.BufferGeometry: .addDrawCall() is now .addGroup().'), - this.addGroup(t, e) - }), - (Je.prototype.clearDrawCalls = function () { - console.warn('THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().'), - this.clearGroups() - }), - (Je.prototype.computeOffsets = function () { - console.warn('THREE.BufferGeometry: .computeOffsets() has been removed.') - }), - (Je.prototype.removeAttribute = function (t) { - return ( - console.warn( - 'THREE.BufferGeometry: .removeAttribute() has been renamed to .deleteAttribute().', - ), - this.deleteAttribute(t) - ) - }), - (Je.prototype.applyMatrix = function (t) { - return ( - console.warn( - 'THREE.BufferGeometry: .applyMatrix() has been renamed to .applyMatrix4().', - ), - this.applyMatrix4(t) - ) - }), - Object.defineProperties(Je.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 - ) - }, - }, - }), - (Kr.prototype.setDynamic = function (t) { - return ( - console.warn( - 'THREE.InterleavedBuffer: .setDynamic() has been deprecated. Use .setUsage() instead.', - ), - this.setUsage(!0 === t ? V : G), - this - ) - }), - (Kr.prototype.setArray = function () { - console.error( - 'THREE.InterleavedBuffer: .setArray has been removed. Use BufferGeometry .setAttribute to replace/resize attribute buffers', - ) - }), - (Wa.prototype.getArrays = function () { - console.error('THREE.ExtrudeGeometry: .getArrays() has been removed.') - }), - (Wa.prototype.addShapeList = function () { - console.error('THREE.ExtrudeGeometry: .addShapeList() has been removed.') - }), - (Wa.prototype.addShape = function () { - console.error('THREE.ExtrudeGeometry: .addShape() has been removed.') - }), - (Qr.prototype.dispose = function () { - console.error('THREE.Scene: .dispose() has been removed.') - }), - (Sl.prototype.onUpdate = function () { - return ( - console.warn( - 'THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.', - ), - this - ) - }), - Object.defineProperties(Ee.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 Ie() - }, - }, - shading: { - get: function () { - console.error( - 'THREE.' + - this.type + - ': .shading has been removed. Use the boolean .flatShading instead.', - ) - }, - set: function (t) { - console.warn( - 'THREE.' + - this.type + - ': .shading has been removed. Use the boolean .flatShading instead.', - ), - (this.flatShading = 1 === t) - }, - }, - stencilMask: { - get: function () { - return ( - console.warn( - 'THREE.' + - this.type + - ': .stencilMask has been removed. Use .stencilFuncMask instead.', - ), - this.stencilFuncMask - ) - }, - set: function (t) { - console.warn( - 'THREE.' + - this.type + - ': .stencilMask has been removed. Use .stencilFuncMask instead.', - ), - (this.stencilFuncMask = t) - }, - }, - }), - Object.defineProperties(_n.prototype, { - derivatives: { - get: function () { - return ( - console.warn( - 'THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives.', - ), - this.extensions.derivatives - ) - }, - set: function (t) { - console.warn( - 'THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.', - ), - (this.extensions.derivatives = t) - }, - }, - }), - (Yr.prototype.clearTarget = function (t, e, n, i) { - console.warn( - 'THREE.WebGLRenderer: .clearTarget() has been deprecated. Use .setRenderTarget() and .clear() instead.', - ), - this.setRenderTarget(t), - this.clear(e, n, i) - }), - (Yr.prototype.animate = function (t) { - console.warn('THREE.WebGLRenderer: .animate() is now .setAnimationLoop().'), - this.setAnimationLoop(t) - }), - (Yr.prototype.getCurrentRenderTarget = function () { - return ( - console.warn( - 'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().', - ), - this.getRenderTarget() - ) - }), - (Yr.prototype.getMaxAnisotropy = function () { - return ( - console.warn( - 'THREE.WebGLRenderer: .getMaxAnisotropy() is now .capabilities.getMaxAnisotropy().', - ), - this.capabilities.getMaxAnisotropy() - ) - }), - (Yr.prototype.getPrecision = function () { - return ( - console.warn('THREE.WebGLRenderer: .getPrecision() is now .capabilities.precision.'), - this.capabilities.precision - ) - }), - (Yr.prototype.resetGLState = function () { - return ( - console.warn('THREE.WebGLRenderer: .resetGLState() is now .state.reset().'), - this.state.reset() - ) - }), - (Yr.prototype.supportsFloatTextures = function () { - return ( - console.warn( - "THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).", - ), - this.extensions.get('OES_texture_float') - ) - }), - (Yr.prototype.supportsHalfFloatTextures = function () { - return ( - console.warn( - "THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' ).", - ), - this.extensions.get('OES_texture_half_float') - ) - }), - (Yr.prototype.supportsStandardDerivatives = function () { - return ( - console.warn( - "THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).", - ), - this.extensions.get('OES_standard_derivatives') - ) - }), - (Yr.prototype.supportsCompressedTextureS3TC = function () { - return ( - console.warn( - "THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).", - ), - this.extensions.get('WEBGL_compressed_texture_s3tc') - ) - }), - (Yr.prototype.supportsCompressedTexturePVRTC = function () { - return ( - console.warn( - "THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).", - ), - this.extensions.get('WEBGL_compressed_texture_pvrtc') - ) - }), - (Yr.prototype.supportsBlendMinMax = function () { - return ( - console.warn( - "THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).", - ), - this.extensions.get('EXT_blend_minmax') - ) - }), - (Yr.prototype.supportsVertexTextures = function () { - return ( - console.warn( - 'THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures.', - ), - this.capabilities.vertexTextures - ) - }), - (Yr.prototype.supportsInstancedArrays = function () { - return ( - console.warn( - "THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).", - ), - this.extensions.get('ANGLE_instanced_arrays') - ) - }), - (Yr.prototype.enableScissorTest = function (t) { - console.warn('THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().'), - this.setScissorTest(t) - }), - (Yr.prototype.initMaterial = function () { - console.warn('THREE.WebGLRenderer: .initMaterial() has been removed.') - }), - (Yr.prototype.addPrePlugin = function () { - console.warn('THREE.WebGLRenderer: .addPrePlugin() has been removed.') - }), - (Yr.prototype.addPostPlugin = function () { - console.warn('THREE.WebGLRenderer: .addPostPlugin() has been removed.') - }), - (Yr.prototype.updateShadowMap = function () { - console.warn('THREE.WebGLRenderer: .updateShadowMap() has been removed.') - }), - (Yr.prototype.setFaceCulling = function () { - console.warn('THREE.WebGLRenderer: .setFaceCulling() has been removed.') - }), - (Yr.prototype.allocTextureUnit = function () { - console.warn('THREE.WebGLRenderer: .allocTextureUnit() has been removed.') - }), - (Yr.prototype.setTexture = function () { - console.warn('THREE.WebGLRenderer: .setTexture() has been removed.') - }), - (Yr.prototype.setTexture2D = function () { - console.warn('THREE.WebGLRenderer: .setTexture2D() has been removed.') - }), - (Yr.prototype.setTextureCube = function () { - console.warn('THREE.WebGLRenderer: .setTextureCube() has been removed.') - }), - (Yr.prototype.getActiveMipMapLevel = function () { - return ( - console.warn( - 'THREE.WebGLRenderer: .getActiveMipMapLevel() is now .getActiveMipmapLevel().', - ), - this.getActiveMipmapLevel() - ) - }), - Object.defineProperties(Yr.prototype, { - shadowMapEnabled: { - get: function () { - return this.shadowMap.enabled - }, - set: function (t) { - console.warn('THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.'), - (this.shadowMap.enabled = t) - }, - }, - shadowMapType: { - get: function () { - return this.shadowMap.type - }, - set: function (t) { - console.warn('THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type.'), - (this.shadowMap.type = t) - }, - }, - 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 (t) { - console.warn( - 'THREE.WebGLRenderer: .gammaOutput has been removed. Set WebGLRenderer.outputEncoding instead.', - ), - (this.outputEncoding = !0 === t ? B : O) - }, - }, - 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(Fr.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(lt.prototype, { - wrapS: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'), - this.texture.wrapS - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.'), - (this.texture.wrapS = t) - }, - }, - wrapT: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'), - this.texture.wrapT - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.'), - (this.texture.wrapT = t) - }, - }, - magFilter: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'), - this.texture.magFilter - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.'), - (this.texture.magFilter = t) - }, - }, - minFilter: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'), - this.texture.minFilter - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.'), - (this.texture.minFilter = t) - }, - }, - anisotropy: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'), - this.texture.anisotropy - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.'), - (this.texture.anisotropy = t) - }, - }, - offset: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'), - this.texture.offset - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .offset is now .texture.offset.'), - (this.texture.offset = t) - }, - }, - repeat: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'), - this.texture.repeat - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .repeat is now .texture.repeat.'), - (this.texture.repeat = t) - }, - }, - format: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'), - this.texture.format - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .format is now .texture.format.'), - (this.texture.format = t) - }, - }, - type: { - get: function () { - return ( - console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'), - this.texture.type - ) - }, - set: function (t) { - console.warn('THREE.WebGLRenderTarget: .type is now .texture.type.'), - (this.texture.type = t) - }, - }, - generateMipmaps: { - get: function () { - return ( - console.warn( - 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.', - ), - this.texture.generateMipmaps - ) - }, - set: function (t) { - console.warn( - 'THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.', - ), - (this.texture.generateMipmaps = t) - }, - }, - }), - (hl.prototype.load = function (t) { - console.warn('THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.') - const e = this - return ( - new ol().load(t, function (t) { - e.setBuffer(t) - }), - this - ) - }), - (class { - constructor(t, e = 2048) { - ;(this.analyser = t.context.createAnalyser()), - (this.analyser.fftSize = e), - (this.data = new Uint8Array(this.analyser.frequencyBinCount)), - t.getOutput().connect(this.analyser) - } - getFrequencyData() { - return this.analyser.getByteFrequencyData(this.data), this.data - } - getAverageFrequency() { - let t = 0 - const e = this.getFrequencyData() - for (let n = 0; n < e.length; n++) t += e[n] - return t / e.length - } - }.prototype.getData = function () { - return ( - console.warn('THREE.AudioAnalyser: .getData() is now .getFrequencyData().'), - this.getFrequencyData() - ) - }), - (Sn.prototype.updateCubeMap = function (t, e) { - return ( - console.warn('THREE.CubeCamera: .updateCubeMap() is now .update().'), this.update(t, e) - ) - }), - (Sn.prototype.clear = function (t, e, n, i) { - return ( - console.warn('THREE.CubeCamera: .clear() is now .renderTarget.clear().'), - this.renderTarget.clear(t, e, n, i) - ) - }), - (it.crossOrigin = void 0), - (it.loadTexture = function (t, e, n, i) { - console.warn( - 'THREE.ImageUtils.loadTexture has been deprecated. Use THREE.TextureLoader() instead.', - ) - const r = new Ro() - r.setCrossOrigin(this.crossOrigin) - const s = r.load(t, n, void 0, i) - return e && (s.mapping = e), s - }), - (it.loadTextureCube = function (t, e, n, i) { - console.warn( - 'THREE.ImageUtils.loadTextureCube has been deprecated. Use THREE.CubeTextureLoader() instead.', - ) - const r = new Ao() - r.setCrossOrigin(this.crossOrigin) - const s = r.load(t, n, void 0, i) - return e && (s.mapping = e), s - }), - (it.loadCompressedTexture = function () { - console.error( - 'THREE.ImageUtils.loadCompressedTexture has been removed. Use THREE.DDSLoader instead.', - ) - }), - (it.loadCompressedTextureCube = function () { - console.error( - 'THREE.ImageUtils.loadCompressedTextureCube has been removed. Use THREE.DDSLoader instead.', - ) - }) - 'undefined' !== typeof __THREE_DEVTOOLS__ && - __THREE_DEVTOOLS__.dispatchEvent( - new CustomEvent('register', { detail: { revision: '130' } }), - ), - 'undefined' !== typeof window && - (window.__THREE__ - ? console.warn('WARNING: Multiple instances of Three.js being imported.') - : (window.__THREE__ = '130')) - }, - }, -]) diff --git a/out/_next/static/chunks/pages/_app-dfc6475e55af57905c35.js b/out/_next/static/chunks/pages/_app-dfc6475e55af57905c35.js deleted file mode 100644 index 55b65f0..0000000 --- a/out/_next/static/chunks/pages/_app-dfc6475e55af57905c35.js +++ /dev/null @@ -1,8000 +0,0 @@ -;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ - [888], - { - 6156: function (r, e, t) { - 'use strict' - function n(r, e, t) { - return ( - e in r - ? Object.defineProperty(r, e, { - value: t, - enumerable: !0, - configurable: !0, - writable: !0, - }) - : (r[e] = t), - r - ) - } - t.d(e, { - Z: function () { - return n - }, - }) - }, - 4738: function (r, e, t) { - 'use strict' - t.d(e, { - SG: function () { - return x - }, - If: function () { - return y - }, - }) - var n = t(3808), - o = t(4461), - a = t(658), - i = t(7294), - s = 'chakra-ui-light', - l = 'chakra-ui-dark', - c = { classList: { add: a.ZT, remove: a.ZT } } - function u(r) { - var e = o.jU ? document.body : c - e.classList.add(r ? l : s), e.classList.remove(r ? s : l) - } - var d = '(prefers-color-scheme: dark)' - function f(r) { - var e - return ( - null != - (e = (function (r) { - var e = null == window.matchMedia ? void 0 : window.matchMedia(r) - if (e) return !!e.media === e.matches - })(d)) - ? e - : 'dark' === r - ) - ? 'dark' - : 'light' - } - var p = () => document.documentElement.style.getPropertyValue('--chakra-ui-color-mode'), - h = (r) => { - o.jU && document.documentElement.style.setProperty('--chakra-ui-color-mode', r) - }, - b = () => 'undefined' !== typeof Storage, - g = 'chakra-ui-color-mode', - m = { - get(r) { - if (!b()) return r - try { - var e = localStorage.getItem(g) - return null != e ? e : r - } catch (t) { - return n.Ts && console.log(t), r - } - }, - set(r) { - if (b()) - try { - localStorage.setItem(g, r) - } catch (e) { - n.Ts && console.log(e) - } - }, - type: 'localStorage', - } - var v = i.createContext({}) - n.Ts && (v.displayName = 'ColorModeContext') - var y = () => { - var r = i.useContext(v) - if (void 0 === r) throw new Error('useColorMode must be used within a ColorModeProvider') - return r - } - function x(r) { - var { - value: e, - children: t, - options: { useSystemColorMode: n, initialColorMode: s }, - colorModeManager: l = m, - } = r, - [c, b] = i.useState('cookie' === l.type ? l.get(s) : s) - i.useEffect(() => { - if (o.jU && 'localStorage' === l.type) { - var r = n ? f(s) : p() || l.get() - r && b(r) - } - }, [l, n, s]), - i.useEffect(() => { - var r = 'dark' === c - u(r), h(r ? 'dark' : 'light') - }, [c]) - var g = i.useCallback( - (r) => { - l.set(r), b(r) - }, - [l], - ), - y = i.useCallback(() => { - g('light' === c ? 'dark' : 'light') - }, [c, g]) - i.useEffect(() => { - var r - return ( - n && - (r = (function (r) { - if (!('matchMedia' in window)) return a.ZT - var e = window.matchMedia(d), - t = () => { - r(e.matches ? 'dark' : 'light') - } - return ( - t(), - e.addListener(t), - () => { - e.removeListener(t) - } - ) - })(g)), - () => { - r && n && r() - } - ) - }, [g, n]) - var x = i.useMemo( - () => ({ - colorMode: null != e ? e : c, - toggleColorMode: e ? a.ZT : y, - setColorMode: e ? a.ZT : g, - }), - [c, g, y, e], - ) - return i.createElement(v.Provider, { value: x }, t) - } - n.Ts && (x.displayName = 'ColorModeProvider') - n.Ts - n.Ts - }, - 4577: function (r, e, t) { - 'use strict' - t.d(e, { - vc: function () { - return i - }, - Me: function () { - return s - }, - ZS: function () { - return l - }, - }) - var n = t(7294), - o = { prefix: Math.round(1e10 * Math.random()), current: 0 }, - a = n.createContext(o), - i = n.memo((r) => { - var { children: e } = r, - t = n.useContext(a), - i = t === o, - s = n.useMemo(() => ({ prefix: i ? 0 : ++t.prefix, current: 0 }), [i, t]) - return n.createElement(a.Provider, { value: s }, e) - }) - function s(r, e) { - var t = n.useContext(a) - return n.useMemo(() => r || [e, t.prefix, ++t.current].filter(Boolean).join('-'), [r, e]) - } - function l(r) { - for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++) - t[o - 1] = arguments[o] - var a = s(r) - return n.useMemo(() => t.map((r) => r + '-' + a), [a, t]) - } - }, - 4288: function (r, e, t) { - 'use strict' - t.d(e, { - L: function () { - return s - }, - h: function () { - return l - }, - }) - var n = t(3808), - o = t(8500), - a = t(7294), - [i, s] = (0, o.k)({ strict: !1, name: 'PortalManagerContext' }) - function l(r) { - var { children: e, zIndex: t } = r - return a.createElement(i, { value: { zIndex: t } }, e) - } - n.Ts && (l.displayName = 'PortalManager') - }, - 8500: function (r, e, t) { - 'use strict' - t.d(e, { - k: function () { - return o - }, - }) - var n = t(7294) - function o(r) { - void 0 === r && (r = {}) - var { - strict: e = !0, - errorMessage: - t = 'useContext: `context` is undefined. Seems you forgot to wrap component within the Provider', - name: o, - } = r, - a = n.createContext(void 0) - return ( - (a.displayName = o), - [ - a.Provider, - function r() { - var o = n.useContext(a) - if (!o && e) { - var i = new Error(t) - throw ( - ((i.name = 'ContextError'), - null == Error.captureStackTrace || Error.captureStackTrace(i, r), - i) - ) - } - return o - }, - a, - ] - ) - } - }, - 3205: function (r, e, t) { - 'use strict' - t.d(e, { - Oq: function () { - return B - }, - Cg: function () { - return j - }, - $_: function () { - return O - }, - cE: function () { - return T - }, - hX: function () { - return F - }, - GQ: function () { - return P - }, - eC: function () { - return I - }, - Mw: function () { - return M - }, - bK: function () { - return D - }, - pb: function () { - return W - }, - o_: function () { - return $ - }, - FK: function () { - return Z - }, - v_: function () { - return V - }, - Dh: function () { - return q - }, - QX: function () { - return X - }, - vs: function () { - return Y - }, - eR: function () { - return G - }, - cp: function () { - return U - }, - }) - var n = t(3808) - function o(r) { - var { scale: e, transform: t, compose: o } = r - return (r, a) => { - var i, - s = ((r, e) => (t) => { - var o = String(e), - a = r ? r + '.' + o : o - return (0, n.Kn)(t.__cssMap) && a in t.__cssMap ? t.__cssMap[a].varRef : e - })( - e, - r, - )(a), - l = null != (i = null == t ? void 0 : t(s, a)) ? i : s - return o && (l = o(l, a)), l - } - } - function a(r, e) { - return (t) => { - var n = { property: t, scale: r } - return (n.transform = o({ scale: r, transform: e })), n - } - } - var i = (r) => { - var { rtl: e, ltr: t } = r - return (r) => ('rtl' === r.direction ? e : t) - } - var s = [ - 'rotate(var(--chakra-rotate, 0))', - 'scaleX(var(--chakra-scale-x, 1))', - 'scaleY(var(--chakra-scale-y, 1))', - 'skewX(var(--chakra-skew-x, 0))', - 'skewY(var(--chakra-skew-y, 0))', - ] - var l = { - '--chakra-blur': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-brightness': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-contrast': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-grayscale': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-invert': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-saturate': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-sepia': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-drop-shadow': 'var(--chakra-empty,/*!*/ /*!*/)', - filter: [ - 'var(--chakra-blur)', - 'var(--chakra-brightness)', - 'var(--chakra-contrast)', - 'var(--chakra-grayscale)', - 'var(--chakra-hue-rotate)', - 'var(--chakra-invert)', - 'var(--chakra-saturate)', - 'var(--chakra-sepia)', - 'var(--chakra-drop-shadow)', - ].join(' '), - }, - c = { - backdropFilter: [ - 'var(--chakra-backdrop-blur)', - 'var(--chakra-backdrop-brightness)', - 'var(--chakra-backdrop-contrast)', - 'var(--chakra-backdrop-grayscale)', - 'var(--chakra-backdrop-hue-rotate)', - 'var(--chakra-backdrop-invert)', - 'var(--chakra-backdrop-opacity)', - 'var(--chakra-backdrop-saturate)', - 'var(--chakra-backdrop-sepia)', - ].join(' '), - '--chakra-backdrop-blur': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-brightness': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-contrast': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-grayscale': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-hue-rotate': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-invert': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-opacity': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-saturate': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-backdrop-sepia': 'var(--chakra-empty,/*!*/ /*!*/)', - } - var u = { - 'row-reverse': { space: '--chakra-space-x-reverse', divide: '--chakra-divide-x-reverse' }, - 'column-reverse': { - space: '--chakra-space-y-reverse', - divide: '--chakra-divide-y-reverse', - }, - }, - d = '& > :not(style) ~ :not(style)', - f = { - [d]: { - marginInlineStart: - 'calc(var(--chakra-space-x) * calc(1 - var(--chakra-space-x-reverse)))', - marginInlineEnd: 'calc(var(--chakra-space-x) * var(--chakra-space-x-reverse))', - }, - }, - p = { - [d]: { - marginTop: 'calc(var(--chakra-space-y) * calc(1 - var(--chakra-space-y-reverse)))', - marginBottom: 'calc(var(--chakra-space-y) * var(--chakra-space-y-reverse))', - }, - } - function h(r, e) { - h = function (r, e) { - return new a(r, void 0, e) - } - var t = g(RegExp), - n = RegExp.prototype, - o = new WeakMap() - function a(r, e, n) { - var a = t.call(this, r, e) - return o.set(a, n || o.get(r)), a - } - function i(r, e) { - var t = o.get(e) - return Object.keys(t).reduce(function (e, n) { - return (e[n] = r[t[n]]), e - }, Object.create(null)) - } - return ( - b(a, t), - (a.prototype.exec = function (r) { - var e = n.exec.call(this, r) - return e && (e.groups = i(e, this)), e - }), - (a.prototype[Symbol.replace] = function (r, e) { - if ('string' === typeof e) { - var t = o.get(this) - return n[Symbol.replace].call( - this, - r, - e.replace(/\$<([^>]+)>/g, function (r, e) { - return '$' + t[e] - }), - ) - } - if ('function' === typeof e) { - var a = this - return n[Symbol.replace].call(this, r, function () { - var r = [] - return ( - r.push.apply(r, arguments), - 'object' !== typeof r[r.length - 1] && r.push(i(r, a)), - e.apply(this, r) - ) - }) - } - return n[Symbol.replace].call(this, r, e) - }), - h.apply(this, arguments) - ) - } - function b(r, e) { - if ('function' !== typeof e && null !== e) - throw new TypeError('Super expression must either be null or a function') - ;(r.prototype = Object.create(e && e.prototype, { - constructor: { value: r, writable: !0, configurable: !0 }, - })), - e && y(r, e) - } - function g(r) { - var e = 'function' === typeof Map ? new Map() : void 0 - return (g = function (r) { - if (null === r || ((t = r), -1 === Function.toString.call(t).indexOf('[native code]'))) - return r - var t - if ('function' !== typeof r) - throw new TypeError('Super expression must either be null or a function') - if ('undefined' !== typeof e) { - if (e.has(r)) return e.get(r) - e.set(r, n) - } - function n() { - return m(r, arguments, x(this).constructor) - } - return ( - (n.prototype = Object.create(r.prototype, { - constructor: { value: n, enumerable: !1, writable: !0, configurable: !0 }, - })), - y(n, r) - ) - })(r) - } - function m(r, e, t) { - return (m = v() - ? Reflect.construct - : function (r, e, t) { - var n = [null] - n.push.apply(n, e) - var o = new (Function.bind.apply(r, n))() - return t && y(o, t.prototype), o - }).apply(null, arguments) - } - function v() { - if ('undefined' === typeof Reflect || !Reflect.construct) return !1 - if (Reflect.construct.sham) return !1 - if ('function' === typeof Proxy) return !0 - try { - return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), !0 - } catch (r) { - return !1 - } - } - function y(r, e) { - return (y = - Object.setPrototypeOf || - function (r, e) { - return (r.__proto__ = e), r - })(r, e) - } - function x(r) { - return (x = Object.setPrototypeOf - ? Object.getPrototypeOf - : function (r) { - return r.__proto__ || Object.getPrototypeOf(r) - })(r) - } - var w = { - 'to-t': 'to top', - 'to-tr': 'to top right', - 'to-r': 'to right', - 'to-br': 'to bottom right', - 'to-b': 'to bottom', - 'to-bl': 'to bottom left', - 'to-l': 'to left', - 'to-tl': 'to top left', - }, - k = new Set(Object.values(w)), - S = new Set(['none', '-moz-initial', 'inherit', 'initial', 'revert', 'unset']), - _ = (r) => r.trim() - var C = (r) => (e) => r + '(' + e + ')', - A = { - filter: (r) => ('auto' !== r ? r : l), - backdropFilter: (r) => ('auto' !== r ? r : c), - ring: (r) => - (function (r) { - return { - '--chakra-ring-offset-shadow': - 'var(--chakra-ring-inset) 0 0 0 var(--chakra-ring-offset-width) var(--chakra-ring-offset-color)', - '--chakra-ring-shadow': - 'var(--chakra-ring-inset) 0 0 0 calc(var(--chakra-ring-width) + var(--chakra-ring-offset-width)) var(--chakra-ring-color)', - '--chakra-ring-width': r, - boxShadow: [ - 'var(--chakra-ring-offset-shadow)', - 'var(--chakra-ring-shadow)', - 'var(--chakra-shadow, 0 0 #0000)', - ].join(', '), - } - })(A.px(r)), - bgClip: (r) => - 'text' === r ? { color: 'transparent', backgroundClip: 'text' } : { backgroundClip: r }, - transform: (r) => - 'auto' === r - ? [ - 'translateX(var(--chakra-translate-x, 0))', - 'translateY(var(--chakra-translate-y, 0))', - ...s, - ].join(' ') - : 'auto-gpu' === r - ? [ - 'translate3d(var(--chakra-translate-x, 0), var(--chakra-translate-y, 0), 0)', - ...s, - ].join(' ') - : r, - px(r) { - if (null == r) return r - var { unitless: e } = ((r) => { - var e = parseFloat(r.toString()), - t = r.toString().replace(String(e), '') - return { unitless: !t, value: e, unit: t } - })(r) - return e || (0, n.hj)(r) ? r + 'px' : r - }, - fraction: (r) => (!(0, n.hj)(r) || r > 1 ? r : 100 * r + '%'), - float: (r, e) => ('rtl' === e.direction ? { left: 'right', right: 'left' }[r] : r), - degree(r) { - if ((0, n.FS)(r) || null == r) return r - var e = (0, n.HD)(r) && !r.endsWith('deg') - return (0, n.hj)(r) || e ? r + 'deg' : r - }, - gradient: (r, e) => - (function (r, e) { - var t, n - if (null == r || S.has(r)) return r - var o = h(/(^[\x2DA-Za-z]+)\(((.*))\)/g, { type: 1, values: 2 }), - { type: a, values: i } = - null != (t = null == (n = o.exec(r)) ? void 0 : n.groups) ? t : {} - if (!a || !i) return r - var s = a.includes('-gradient') ? a : a + '-gradient', - [l, ...c] = i.split(',').map(_).filter(Boolean) - if (0 === (null == c ? void 0 : c.length)) return r - var u = l in w ? w[l] : l - return ( - c.unshift(u), - s + - '(' + - c - .map((r) => { - if (k.has(r)) return r - var [t, n] = r.split(' '), - o = 'colors.' + t, - a = o in e.__cssMap ? e.__cssMap[o].varRef : t - return n ? [a, n].join(' ') : a - }) - .join(', ') + - ')' - ) - })(r, null != e ? e : {}), - blur: C('blur'), - opacity: C('opacity'), - brightness: C('brightness'), - contrast: C('contrast'), - dropShadow: C('drop-shadow'), - grayscale: C('grayscale'), - hueRotate: C('hue-rotate'), - invert: C('invert'), - saturate: C('saturate'), - sepia: C('sepia'), - bgImage: (r) => (null == r || E(r) || S.has(r) ? r : 'url(' + r + ')'), - outline(r) { - var e = '0' === String(r) || 'none' === String(r) - return null !== r && e - ? { outline: '2px solid transparent', outlineOffset: '2px' } - : { outline: r } - }, - flexDirection(r) { - var e, - { space: t, divide: n } = null != (e = u[r]) ? e : {}, - o = { flexDirection: r } - return t && (o[t] = 1), n && (o[n] = 1), o - }, - }, - E = (r) => (0, n.HD)(r) && r.includes('(') && r.includes(')') - function z() { - return (z = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var R = { - borderWidths: a('borderWidths'), - borderStyles: a('borderStyles'), - colors: a('colors'), - borders: a('borders'), - radii: a('radii', A.px), - space: a('space', A.px), - spaceT: a('space', A.px), - degreeT: (r) => ({ property: r, transform: A.degree }), - prop: (r, e, t) => - z({ property: r, scale: e }, e && { transform: o({ scale: e, transform: t }) }), - propT: (r, e) => ({ property: r, transform: e }), - sizes: a('sizes', A.px), - sizesT: a('sizes', A.fraction), - shadows: a('shadows'), - logical: function (r) { - var { property: e, scale: t, transform: n } = r - return { scale: t, property: i(e), transform: t ? o({ scale: t, compose: n }) : n } - }, - blur: a('blur', A.blur), - }, - B = { - background: R.colors('background'), - backgroundColor: R.colors('backgroundColor'), - backgroundImage: R.propT('backgroundImage', A.bgImage), - backgroundSize: !0, - backgroundPosition: !0, - backgroundRepeat: !0, - backgroundAttachment: !0, - backgroundClip: { transform: A.bgClip }, - bgSize: R.prop('backgroundSize'), - bgPosition: R.prop('backgroundPosition'), - bg: R.colors('background'), - bgColor: R.colors('backgroundColor'), - bgPos: R.prop('backgroundPosition'), - bgRepeat: R.prop('backgroundRepeat'), - bgAttachment: R.prop('backgroundAttachment'), - bgGradient: R.propT('backgroundImage', A.gradient), - bgClip: { transform: A.bgClip }, - } - Object.assign(B, { bgImage: B.backgroundImage, bgImg: B.backgroundImage }) - var j = { - border: R.borders('border'), - borderWidth: R.borderWidths('borderWidth'), - borderStyle: R.borderStyles('borderStyle'), - borderColor: R.colors('borderColor'), - borderRadius: R.radii('borderRadius'), - borderTop: R.borders('borderTop'), - borderBlockStart: R.borders('borderBlockStart'), - borderTopLeftRadius: R.radii('borderTopLeftRadius'), - borderStartStartRadius: R.logical({ - scale: 'radii', - property: { ltr: 'borderTopLeftRadius', rtl: 'borderTopRightRadius' }, - }), - borderEndStartRadius: R.logical({ - scale: 'radii', - property: { ltr: 'borderBottomLeftRadius', rtl: 'borderBottomRightRadius' }, - }), - borderTopRightRadius: R.radii('borderTopRightRadius'), - borderStartEndRadius: R.logical({ - scale: 'radii', - property: { ltr: 'borderTopRightRadius', rtl: 'borderTopLeftRadius' }, - }), - borderEndEndRadius: R.logical({ - scale: 'radii', - property: { ltr: 'borderBottomRightRadius', rtl: 'borderBottomLeftRadius' }, - }), - borderRight: R.borders('borderRight'), - borderInlineEnd: R.borders('borderInlineEnd'), - borderBottom: R.borders('borderBottom'), - borderBlockEnd: R.borders('borderBlockEnd'), - borderBottomLeftRadius: R.radii('borderBottomLeftRadius'), - borderBottomRightRadius: R.radii('borderBottomRightRadius'), - borderLeft: R.borders('borderLeft'), - borderInlineStart: { property: 'borderInlineStart', scale: 'borders' }, - borderInlineStartRadius: R.logical({ - scale: 'radii', - property: { - ltr: ['borderTopLeftRadius', 'borderBottomLeftRadius'], - rtl: ['borderTopRightRadius', 'borderBottomRightRadius'], - }, - }), - borderInlineEndRadius: R.logical({ - scale: 'radii', - property: { - ltr: ['borderTopRightRadius', 'borderBottomRightRadius'], - rtl: ['borderTopLeftRadius', 'borderBottomLeftRadius'], - }, - }), - borderX: R.borders(['borderLeft', 'borderRight']), - borderInline: R.borders('borderInline'), - borderY: R.borders(['borderTop', 'borderBottom']), - borderBlock: R.borders('borderBlock'), - borderTopWidth: R.borderWidths('borderTopWidth'), - borderBlockStartWidth: R.borderWidths('borderBlockStartWidth'), - borderTopColor: R.colors('borderTopColor'), - borderBlockStartColor: R.colors('borderBlockStartColor'), - borderTopStyle: R.borderStyles('borderTopStyle'), - borderBlockStartStyle: R.borderStyles('borderBlockStartStyle'), - borderBottomWidth: R.borderWidths('borderBottomWidth'), - borderBlockEndWidth: R.borderWidths('borderBlockEndWidth'), - borderBottomColor: R.colors('borderBottomColor'), - borderBlockEndColor: R.colors('borderBlockEndColor'), - borderBottomStyle: R.borderStyles('borderBottomStyle'), - borderBlockEndStyle: R.borderStyles('borderBlockEndStyle'), - borderLeftWidth: R.borderWidths('borderLeftWidth'), - borderInlineStartWidth: R.borderWidths('borderInlineStartWidth'), - borderLeftColor: R.colors('borderLeftColor'), - borderInlineStartColor: R.colors('borderInlineStartColor'), - borderLeftStyle: R.borderStyles('borderLeftStyle'), - borderInlineStartStyle: R.borderStyles('borderInlineStartStyle'), - borderRightWidth: R.borderWidths('borderRightWidth'), - borderInlineEndWidth: R.borderWidths('borderInlineEndWidth'), - borderRightColor: R.colors('borderRightColor'), - borderInlineEndColor: R.colors('borderInlineEndColor'), - borderRightStyle: R.borderStyles('borderRightStyle'), - borderInlineEndStyle: R.borderStyles('borderInlineEndStyle'), - borderTopRadius: R.radii(['borderTopLeftRadius', 'borderTopRightRadius']), - borderBottomRadius: R.radii(['borderBottomLeftRadius', 'borderBottomRightRadius']), - borderLeftRadius: R.radii(['borderTopLeftRadius', 'borderBottomLeftRadius']), - borderRightRadius: R.radii(['borderTopRightRadius', 'borderBottomRightRadius']), - } - Object.assign(j, { - rounded: j.borderRadius, - roundedTop: j.borderTopRadius, - roundedTopLeft: j.borderTopLeftRadius, - roundedTopRight: j.borderTopRightRadius, - roundedTopStart: j.borderStartStartRadius, - roundedTopEnd: j.borderStartEndRadius, - roundedBottom: j.borderBottomRadius, - roundedBottomLeft: j.borderBottomLeftRadius, - roundedBottomRight: j.borderBottomRightRadius, - roundedBottomStart: j.borderEndStartRadius, - roundedBottomEnd: j.borderEndEndRadius, - roundedLeft: j.borderLeftRadius, - roundedRight: j.borderRightRadius, - roundedStart: j.borderInlineStartRadius, - roundedEnd: j.borderInlineEndRadius, - borderStart: j.borderInlineStart, - borderEnd: j.borderInlineEnd, - borderTopStartRadius: j.borderStartStartRadius, - borderTopEndRadius: j.borderStartEndRadius, - borderBottomStartRadius: j.borderEndStartRadius, - borderBottomEndRadius: j.borderEndEndRadius, - borderStartRadius: j.borderInlineStartRadius, - borderEndRadius: j.borderInlineEndRadius, - borderStartWidth: j.borderInlineStartWidth, - borderEndWidth: j.borderInlineEndWidth, - borderStartColor: j.borderInlineStartColor, - borderEndColor: j.borderInlineEndColor, - borderStartStyle: j.borderInlineStartStyle, - borderEndStyle: j.borderInlineEndStyle, - }) - var O = { - color: R.colors('color'), - textColor: R.colors('color'), - fill: R.colors('fill'), - stroke: R.colors('stroke'), - }, - T = { - boxShadow: R.shadows('boxShadow'), - mixBlendMode: !0, - blendMode: R.prop('mixBlendMode'), - backgroundBlendMode: !0, - bgBlendMode: R.prop('backgroundBlendMode'), - opacity: !0, - } - Object.assign(T, { shadow: T.boxShadow }) - var F = { - filter: { transform: A.filter }, - blur: R.blur('--chakra-blur'), - brightness: R.propT('--chakra-brightness', A.brightness), - contrast: R.propT('--chakra-contrast', A.contrast), - hueRotate: R.degreeT('--chakra-hue-rotate'), - invert: R.propT('--chakra-invert', A.invert), - saturate: R.propT('--chakra-saturate', A.saturate), - dropShadow: R.propT('--chakra-drop-shadow', A.dropShadow), - backdropFilter: { transform: A.backdropFilter }, - backdropBlur: R.blur('--chakra-backdrop-blur'), - backdropBrightness: R.propT('--chakra-backdrop-brightness', A.brightness), - backdropContrast: R.propT('--chakra-backdrop-contrast', A.contrast), - backdropHueRotate: R.degreeT('--chakra-backdrop-hue-rotate'), - backdropInvert: R.propT('--chakra-backdrop-invert', A.invert), - backdropSaturate: R.propT('--chakra-backdrop-saturate', A.saturate), - }, - P = { - alignItems: !0, - alignContent: !0, - justifyItems: !0, - justifyContent: !0, - flexWrap: !0, - flexDirection: { transform: A.flexDirection }, - experimental_spaceX: { - static: f, - transform: o({ - scale: 'space', - transform: (r) => (null !== r ? { '--chakra-space-x': r } : null), - }), - }, - experimental_spaceY: { - static: p, - transform: o({ - scale: 'space', - transform: (r) => (null != r ? { '--chakra-space-y': r } : null), - }), - }, - flex: !0, - flexFlow: !0, - flexGrow: !0, - flexShrink: !0, - flexBasis: R.sizes('flexBasis'), - justifySelf: !0, - alignSelf: !0, - order: !0, - placeItems: !0, - placeContent: !0, - placeSelf: !0, - } - Object.assign(P, { flexDir: P.flexDirection }) - var I = { - gridGap: R.space('gridGap'), - gridColumnGap: R.space('gridColumnGap'), - gridRowGap: R.space('gridRowGap'), - gridColumn: !0, - gridRow: !0, - gridAutoFlow: !0, - gridAutoColumns: !0, - gridColumnStart: !0, - gridColumnEnd: !0, - gridRowStart: !0, - gridRowEnd: !0, - gridAutoRows: !0, - gridTemplate: !0, - gridTemplateColumns: !0, - gridTemplateRows: !0, - gridTemplateAreas: !0, - gridArea: !0, - }, - M = { - appearance: !0, - cursor: !0, - resize: !0, - userSelect: !0, - pointerEvents: !0, - outline: { transform: A.outline }, - outlineOffset: !0, - outlineColor: R.colors('outlineColor'), - }, - D = { - width: R.sizesT('width'), - inlineSize: R.sizesT('inlineSize'), - height: R.sizes('height'), - blockSize: R.sizes('blockSize'), - boxSize: R.sizes(['width', 'height']), - minWidth: R.sizes('minWidth'), - minInlineSize: R.sizes('minInlineSize'), - minHeight: R.sizes('minHeight'), - minBlockSize: R.sizes('minBlockSize'), - maxWidth: R.sizes('maxWidth'), - maxInlineSize: R.sizes('maxInlineSize'), - maxHeight: R.sizes('maxHeight'), - maxBlockSize: R.sizes('maxBlockSize'), - d: R.prop('display'), - overflow: !0, - overflowX: !0, - overflowY: !0, - overscrollBehavior: !0, - overscrollBehaviorX: !0, - overscrollBehaviorY: !0, - display: !0, - verticalAlign: !0, - boxSizing: !0, - boxDecorationBreak: !0, - float: R.propT('float', A.float), - objectFit: !0, - objectPosition: !0, - visibility: !0, - isolation: !0, - } - Object.assign(D, { - w: D.width, - h: D.height, - minW: D.minWidth, - maxW: D.maxWidth, - minH: D.minHeight, - maxH: D.maxHeight, - overscroll: D.overscrollBehavior, - overscrollX: D.overscrollBehaviorX, - overscrollY: D.overscrollBehaviorY, - }) - var W = { - listStyleType: !0, - listStylePosition: !0, - listStylePos: R.prop('listStylePosition'), - listStyleImage: !0, - listStyleImg: R.prop('listStyleImage'), - }, - J = t(5505), - L = { - border: '0px', - clip: 'rect(0, 0, 0, 0)', - width: '1px', - height: '1px', - margin: '-1px', - padding: '0px', - overflow: 'hidden', - whiteSpace: 'nowrap', - position: 'absolute', - }, - H = { - position: 'static', - width: 'auto', - height: 'auto', - clip: 'auto', - padding: '0', - margin: '0', - overflow: 'visible', - whiteSpace: 'normal', - }, - N = (r, e, t) => { - var n = {}, - o = (0, J.Wf)(r, e, {}) - for (var a in o) { - ;(a in t && null != t[a]) || (n[a] = o[a]) - } - return n - }, - $ = { - srOnly: { transform: (r) => (!0 === r ? L : 'focusable' === r ? H : {}) }, - layerStyle: { processResult: !0, transform: (r, e, t) => N(e, 'layerStyles.' + r, t) }, - textStyle: { processResult: !0, transform: (r, e, t) => N(e, 'textStyles.' + r, t) }, - apply: { processResult: !0, transform: (r, e, t) => N(e, r, t) }, - }, - Z = { - position: !0, - pos: R.prop('position'), - zIndex: R.prop('zIndex', 'zIndices'), - inset: R.spaceT(['top', 'right', 'bottom', 'left']), - insetX: R.spaceT(['left', 'right']), - insetInline: R.spaceT('insetInline'), - insetY: R.spaceT(['top', 'bottom']), - insetBlock: R.spaceT('insetBlock'), - top: R.spaceT('top'), - insetBlockStart: R.spaceT('insetBlockStart'), - bottom: R.spaceT('bottom'), - insetBlockEnd: R.spaceT('insetBlockEnd'), - left: R.spaceT('left'), - insetInlineStart: R.logical({ scale: 'space', property: { ltr: 'left', rtl: 'right' } }), - right: R.spaceT('right'), - insetInlineEnd: R.logical({ scale: 'space', property: { ltr: 'right', rtl: 'left' } }), - } - Object.assign(Z, { insetStart: Z.insetInlineStart, insetEnd: Z.insetInlineEnd }) - var V = { - ring: { transform: A.ring }, - ringColor: R.colors('--chakra-ring-color'), - ringOffset: R.prop('--chakra-ring-offset-width'), - ringOffsetColor: R.colors('--chakra-ring-offset-color'), - ringInset: R.prop('--chakra-ring-inset'), - }, - q = { - margin: R.spaceT('margin'), - marginTop: R.spaceT('marginTop'), - marginBlockStart: R.spaceT('marginBlockStart'), - marginRight: R.spaceT('marginRight'), - marginInlineEnd: R.spaceT('marginInlineEnd'), - marginBottom: R.spaceT('marginBottom'), - marginBlockEnd: R.spaceT('marginBlockEnd'), - marginLeft: R.spaceT('marginLeft'), - marginInlineStart: R.spaceT('marginInlineStart'), - marginX: R.spaceT(['marginInlineStart', 'marginInlineEnd']), - marginInline: R.spaceT('marginInline'), - marginY: R.spaceT(['marginTop', 'marginBottom']), - marginBlock: R.spaceT('marginBlock'), - padding: R.space('padding'), - paddingTop: R.space('paddingTop'), - paddingBlockStart: R.space('paddingBlockStart'), - paddingRight: R.space('paddingRight'), - paddingBottom: R.space('paddingBottom'), - paddingBlockEnd: R.space('paddingBlockEnd'), - paddingLeft: R.space('paddingLeft'), - paddingInlineStart: R.space('paddingInlineStart'), - paddingInlineEnd: R.space('paddingInlineEnd'), - paddingX: R.space(['paddingInlineStart', 'paddingInlineEnd']), - paddingInline: R.space('paddingInline'), - paddingY: R.space(['paddingTop', 'paddingBottom']), - paddingBlock: R.space('paddingBlock'), - } - Object.assign(q, { - m: q.margin, - mt: q.marginTop, - mr: q.marginRight, - me: q.marginInlineEnd, - marginEnd: q.marginInlineEnd, - mb: q.marginBottom, - ml: q.marginLeft, - ms: q.marginInlineStart, - marginStart: q.marginInlineStart, - mx: q.marginX, - my: q.marginY, - p: q.padding, - pt: q.paddingTop, - py: q.paddingY, - px: q.paddingX, - pb: q.paddingBottom, - pl: q.paddingLeft, - ps: q.paddingInlineStart, - paddingStart: q.paddingInlineStart, - pr: q.paddingRight, - pe: q.paddingInlineEnd, - paddingEnd: q.paddingInlineEnd, - }) - var X = { - textDecorationColor: R.colors('textDecorationColor'), - textDecoration: !0, - textDecor: { property: 'textDecoration' }, - textDecorationLine: !0, - textDecorationStyle: !0, - textDecorationThickness: !0, - textUnderlineOffset: !0, - textShadow: R.shadows('textShadow'), - }, - Y = { - clipPath: !0, - transform: R.propT('transform', A.transform), - transformOrigin: !0, - translateX: R.spaceT('--chakra-translate-x'), - translateY: R.spaceT('--chakra-translate-y'), - skewX: R.degreeT('--chakra-skew-x'), - skewY: R.degreeT('--chakra-skew-y'), - scaleX: R.prop('--chakra-scale-x'), - scaleY: R.prop('--chakra-scale-y'), - scale: R.prop(['--chakra-scale-x', '--chakra-scale-y']), - rotate: R.degreeT('--chakra-rotate'), - }, - G = { - transition: !0, - transitionDelay: !0, - animation: !0, - willChange: !0, - transitionDuration: R.prop('transitionDuration', 'transition.duration'), - transitionProperty: R.prop('transitionProperty', 'transition.property'), - transitionTimingFunction: R.prop('transitionTimingFunction', 'transition.easing'), - }, - U = { - fontFamily: R.prop('fontFamily', 'fonts'), - fontSize: R.prop('fontSize', 'fontSizes', A.px), - fontWeight: R.prop('fontWeight', 'fontWeights'), - lineHeight: R.prop('lineHeight', 'lineHeights'), - letterSpacing: R.prop('letterSpacing', 'letterSpacings'), - textAlign: !0, - fontStyle: !0, - wordBreak: !0, - overflowWrap: !0, - textOverflow: !0, - textTransform: !0, - whiteSpace: !0, - noOfLines: { - static: { - overflow: 'hidden', - textOverflow: 'ellipsis', - display: '-webkit-box', - WebkitBoxOrient: 'vertical', - WebkitLineClamp: 'var(--chakra-line-clamp)', - }, - property: '--chakra-line-clamp', - }, - isTruncated: { - transform(r) { - if (!0 === r) - return { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' } - }, - }, - } - }, - 5608: function (r, e, t) { - 'use strict' - t.d(e, { - c0: function () { - return C - }, - }) - var n = t(3808) - function o(r) { - return (0, n.Kn)(r) && r.reference ? r.reference : String(r) - } - var a = function (r) { - for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++) - t[n - 1] = arguments[n] - return t - .map(o) - .join(' ' + r + ' ') - .replace(/calc/g, '') - }, - i = function () { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return 'calc(' + a('+', ...e) + ')' - }, - s = function () { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return 'calc(' + a('-', ...e) + ')' - }, - l = function () { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return 'calc(' + a('*', ...e) + ')' - }, - c = function () { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return 'calc(' + a('/', ...e) + ')' - }, - u = (r) => { - var e = o(r) - return null == e || Number.isNaN(parseFloat(e)) - ? l(e, -1) - : String(e).startsWith('-') - ? String(e).slice(1) - : '-' + e - }, - d = Object.assign( - (r) => ({ - add: function () { - for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) - t[n] = arguments[n] - return d(i(r, ...t)) - }, - subtract: function () { - for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) - t[n] = arguments[n] - return d(s(r, ...t)) - }, - multiply: function () { - for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) - t[n] = arguments[n] - return d(l(r, ...t)) - }, - divide: function () { - for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) - t[n] = arguments[n] - return d(c(r, ...t)) - }, - negate: () => d(u(r)), - toString: () => r.toString(), - }), - { add: i, subtract: s, multiply: l, divide: c, negate: u }, - ), - f = t(8456) - function p(r) { - var e = (function (r, e) { - return void 0 === e && (e = '-'), r.replace(/\s+/g, e) - })(r.toString()) - return e.includes('\\.') - ? r - : !Number.isInteger(parseFloat(r.toString())) - ? e.replace('.', '\\.') - : r - } - function h(r, e) { - return 'var(' + p(r) + (e ? ', ' + e : '') + ')' - } - function b(r, e) { - return ( - void 0 === e && (e = ''), - '--' + - (function (r, e) { - return void 0 === e && (e = ''), [e, p(r)].filter(Boolean).join('-') - })(r, e) - ) - } - function g(r, e, t) { - var n = b(r, t) - return { variable: n, reference: h(n, e) } - } - function m() { - return (m = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - function v(r, e) { - var t = { cssMap: {}, cssVars: {} } - return ( - (function (r, e) { - ;(function r(t, o) { - return ( - void 0 === o && (o = []), - (0, n.kJ)(t) - ? t.map((e, t) => r(e, [...o, String(t)])) - : (0, n.Kn)(t) - ? Object.fromEntries( - Object.entries(t).map((e) => { - var [t, n] = e - return [t, r(n, [...o, t])] - }), - ) - : e(t, o) - ) - })(r) - })(r, (r, n) => { - var o, - [a] = n, - i = null != (o = y[a]) ? o : y.defaultHandler, - { cssVars: s, cssMap: l } = i(n, r, e) - Object.assign(t.cssVars, s), Object.assign(t.cssMap, l) - }), - t - ) - } - var y = { - space: (r, e, t) => { - var n = y.defaultHandler(r, e, t), - [o, ...a] = r, - i = o + '.-' + a.join('.'), - s = r.join('-'), - { variable: l, reference: c } = g(s, void 0, t.cssVarPrefix), - u = d.negate(e), - f = d.negate(c) - return { - cssVars: n.cssVars, - cssMap: m({}, n.cssMap, { [i]: { value: '' + u, var: '' + l, varRef: f } }), - } - }, - defaultHandler: (r, e, t) => { - var n = r.join('.'), - o = r.join('-'), - { variable: a, reference: i } = g(o, void 0, t.cssVarPrefix) - return { cssVars: { [a]: e }, cssMap: { [n]: { value: e, var: a, varRef: i } } } - }, - }, - x = t(5505) - var w = [ - 'colors', - 'borders', - 'borderWidths', - 'borderStyles', - 'fonts', - 'fontSizes', - 'fontWeights', - 'letterSpacings', - 'lineHeights', - 'radii', - 'space', - 'shadows', - 'sizes', - 'zIndices', - 'transition', - 'blur', - ] - function k(r) { - var e = w - return (0, x.ei)(r, e) - } - function S(r) { - return (function (r, e) { - if (null == r) return {} - var t, - n, - o = {}, - a = Object.keys(r) - for (n = 0; n < a.length; n++) (t = a[n]), e.indexOf(t) >= 0 || (o[t] = r[t]) - return o - })(r, ['__cssMap', '__cssVars', '__breakpoints']) - } - function _() { - return (_ = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - function C(r) { - var e, - t = S(r), - n = k(t), - o = null == (e = t.config) ? void 0 : e.cssVarPrefix, - { cssMap: a, cssVars: i } = v(n, { cssVarPrefix: o }) - return ( - Object.assign(t, { - __cssVars: _( - {}, - { - '--chakra-ring-inset': 'var(--chakra-empty,/*!*/ /*!*/)', - '--chakra-ring-offset-width': '0px', - '--chakra-ring-offset-color': '#fff', - '--chakra-ring-color': 'rgba(66, 153, 225, 0.6)', - '--chakra-ring-offset-shadow': '0 0 #0000', - '--chakra-ring-shadow': '0 0 #0000', - '--chakra-space-x-reverse': '0', - '--chakra-space-y-reverse': '0', - }, - i, - ), - __cssMap: a, - __breakpoints: (0, f.y)(t.breakpoints), - }), - t - ) - } - }, - 3565: function (r, e, t) { - 'use strict' - t.d(e, { - i: function () { - return f - }, - }) - var n = t(3808), - o = t(658), - a = t(8554), - i = t.n(a), - s = t(8680), - l = t(5503), - c = (r, e) => r.startsWith('--') && (0, n.HD)(e) && !(0, n.FS)(e), - u = (r, e) => { - var t, n - if (null == e) return e - var o = (e) => { - var t, n - return null == (t = r.__cssMap) || null == (n = t[e]) ? void 0 : n.varRef - }, - a = (r) => { - var e - return null != (e = o(r)) ? e : r - }, - i = e.split(',').map((r) => r.trim()), - [s, l] = i - return (e = null != (t = null != (n = o(s)) ? n : a(l)) ? t : a(e)) - } - function d(r) { - var { configs: e = {}, pseudos: t = {}, theme: a } = r - return function r(s, l) { - void 0 === l && (l = !1) - var d = (0, o.Pu)(s, a), - f = ((r) => (e) => { - if (!e.__breakpoints) return r - var { isResponsive: t, toArrayValue: a, media: i } = e.__breakpoints, - s = {} - for (var l in r) { - var c = (0, o.Pu)(r[l], e) - if (null != c) - if (((c = (0, n.Kn)(c) && t(c) ? a(c) : c), Array.isArray(c))) - for (var u = c.slice(0, i.length).length, d = 0; d < u; d += 1) { - var f = null == i ? void 0 : i[d] - f ? ((s[f] = s[f] || {}), null != c[d] && (s[f][l] = c[d])) : (s[l] = c[d]) - } - else s[l] = c - } - return s - })(d)(a), - p = {} - for (var h in f) { - var b, - g, - m, - v, - y, - x = f[h], - w = (0, o.Pu)(x, a) - h in t && (h = t[h]), c(h, w) && (w = u(a, w)) - var k = e[h] - if ((!0 === k && (k = { property: h }), (0, n.Kn)(w))) { - var S - ;(p[h] = null != (S = p[h]) ? S : {}), (p[h] = i()({}, p[h], r(w, !0))) - } else { - var _ = - null != (b = null == (g = k) || null == g.transform ? void 0 : g.transform(w, a, d)) - ? b - : w - _ = null != (m = k) && m.processResult ? r(_, !0) : _ - var C = (0, o.Pu)(null == (v = k) ? void 0 : v.property, a) - if (!l && null != (y = k) && y.static) { - var A = (0, o.Pu)(k.static, a) - p = i()({}, p, A) - } - if (C && Array.isArray(C)) for (var E of C) p[E] = _ - else - C - ? '&' === C && (0, n.Kn)(_) - ? (p = i()({}, p, _)) - : (p[C] = _) - : (0, n.Kn)(_) - ? (p = i()({}, p, _)) - : (p[h] = _) - } - } - return p - } - } - var f = (r) => (e) => d({ theme: e, pseudos: s.v, configs: l.Ul })(r) - }, - 9421: function (r, e, t) { - 'use strict' - t.d(e, { - iv: function () { - return n.i - }, - isStyleProp: function () { - return i.ZR - }, - layoutPropNames: function () { - return i.oE - }, - propNames: function () { - return i.cC - }, - toCSSVar: function () { - return s.c0 - }, - }) - t(3205) - var n = t(3565), - o = t(1664) - t.o(o, 'isStyleProp') && - t.d(e, { - isStyleProp: function () { - return o.isStyleProp - }, - }), - t.o(o, 'layoutPropNames') && - t.d(e, { - layoutPropNames: function () { - return o.layoutPropNames - }, - }), - t.o(o, 'propNames') && - t.d(e, { - propNames: function () { - return o.propNames - }, - }), - t.o(o, 'toCSSVar') && - t.d(e, { - toCSSVar: function () { - return o.toCSSVar - }, - }), - t.o(o, 'useTheme') && - t.d(e, { - useTheme: function () { - return o.useTheme - }, - }) - var a = t(7759) - t.o(a, 'isStyleProp') && - t.d(e, { - isStyleProp: function () { - return a.isStyleProp - }, - }), - t.o(a, 'layoutPropNames') && - t.d(e, { - layoutPropNames: function () { - return a.layoutPropNames - }, - }), - t.o(a, 'propNames') && - t.d(e, { - propNames: function () { - return a.propNames - }, - }), - t.o(a, 'toCSSVar') && - t.d(e, { - toCSSVar: function () { - return a.toCSSVar - }, - }), - t.o(a, 'useTheme') && - t.d(e, { - useTheme: function () { - return a.useTheme - }, - }) - var i = t(5503), - s = t(5608) - }, - 8680: function (r, e, t) { - 'use strict' - t.d(e, { - v: function () { - return d - }, - _: function () { - return f - }, - }) - var n = t(5505), - o = (r) => r + ':focus &, ' + r + '[data-focus] &', - a = (r) => r + ':active &, ' + r + '[data-active] &', - i = (r) => r + ':disabled &, ' + r + '[data-disabled] &', - s = (r) => r + ':invalid &, ' + r + '[data-invalid] &', - l = (r) => r + ':checked &, ' + r + '[data-checked] &', - c = (r) => u(r, '[role=group]', '[data-group]', '.group'), - u = function (r) { - for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), n = 1; n < e; n++) - t[n - 1] = arguments[n] - return t.map(r).join(', ') - }, - d = { - _hover: '&:hover, &[data-hover]', - _active: '&:active, &[data-active]', - _focus: '&:focus, &[data-focus]', - _highlighted: '&[data-highlighted]', - _focusWithin: '&:focus-within', - _focusVisible: '&:focus-visible', - _disabled: '&[disabled], &[aria-disabled=true], &[data-disabled]', - _readOnly: '&[aria-readonly=true], &[readonly], &[data-readonly]', - _before: '&::before', - _after: '&::after', - _empty: '&:empty', - _expanded: '&[aria-expanded=true], &[data-expanded]', - _checked: '&[aria-checked=true], &[data-checked]', - _grabbed: '&[aria-grabbed=true], &[data-grabbed]', - _pressed: '&[aria-pressed=true], &[data-pressed]', - _invalid: '&[aria-invalid=true], &[data-invalid]', - _valid: '&[data-valid], &[data-state=valid]', - _loading: '&[data-loading], &[aria-busy=true]', - _selected: '&[aria-selected=true], &[data-selected]', - _hidden: '&[hidden], &[data-hidden]', - _autofill: '&:-webkit-autofill', - _even: '&:nth-of-type(even)', - _odd: '&:nth-of-type(odd)', - _first: '&:first-of-type', - _last: '&:last-of-type', - _notFirst: '&:not(:first-of-type)', - _notLast: '&:not(:last-of-type)', - _visited: '&:visited', - _activeLink: '&[aria-current=page]', - _activeStep: '&[aria-current=step]', - _indeterminate: '&:indeterminate, &[aria-checked=mixed], &[data-indeterminate]', - _groupHover: c((r) => r + ':hover &, ' + r + '[data-hover] &'), - _groupFocus: c(o), - _groupActive: c(a), - _groupDisabled: c(i), - _groupInvalid: c(s), - _groupChecked: c(l), - _placeholder: '&::placeholder', - _fullScreen: '&:fullscreen', - _selection: '&::selection', - _rtl: '[dir=rtl] &', - _mediaDark: '@media (prefers-color-scheme: dark)', - _dark: '.chakra-ui-dark &, [data-theme=dark] &, &[data-theme=dark]', - _light: '.chakra-ui-light &, [data-theme=light] &, &[data-theme=light]', - }, - f = (0, n.Yd)(d) - }, - 5503: function (r, e, t) { - 'use strict' - t.d(e, { - Ul: function () { - return c - }, - oE: function () { - return d - }, - cC: function () { - return f - }, - ZR: function () { - return h - }, - }) - var n = t(8554), - o = t.n(n), - a = t(5505), - i = t(3205), - s = t(8680) - function l() { - return (l = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var c = o()( - {}, - i.Oq, - i.Cg, - i.$_, - i.GQ, - i.bK, - i.hX, - i.v_, - i.Mw, - i.eC, - i.o_, - i.FK, - i.cE, - i.Dh, - i.cp, - i.QX, - i.vs, - i.pb, - i.eR, - ), - u = Object.assign({}, i.Dh, i.bK, i.GQ, i.eC, i.FK), - d = (0, a.Yd)(u), - f = [...(0, a.Yd)(c), ...s._], - p = l({}, c, s.v), - h = (r) => r in p - }, - 1664: function () {}, - 7759: function () {}, - 9676: function (r, e, t) { - 'use strict' - t.d(e, { - f6: function () { - return d - }, - Fg: function () { - return f - }, - Fo: function () { - return p - }, - yK: function () { - return h - }, - ZL: function () { - return b - }, - }) - var n = t(4738), - o = t(9421), - a = t(5505), - i = t(658), - s = t(8500), - l = t(2544), - c = t(917), - u = t(7294), - d = (r) => { - var { cssVarsRoot: e = ':host, :root', theme: t, children: n } = r, - a = u.useMemo(() => (0, o.toCSSVar)(t), [t]) - return u.createElement( - l.a, - { theme: a }, - u.createElement(c.xB, { styles: (r) => ({ [e]: r.__cssVars }) }), - n, - ) - } - function f() { - var r = u.useContext(l.T) - if (!r) - throw Error( - 'useTheme: `theme` is undefined. Seems you forgot to wrap your app in `<ChakraProvider />` or `<ThemeProvider />`', - ) - return r - } - var [p, h] = (0, s.k)({ - name: 'StylesContext', - errorMessage: - 'useStyles: `styles` is undefined. Seems you forgot to wrap the components in `<StylesProvider />` ', - }), - b = () => { - var { colorMode: r } = (0, n.If)() - return u.createElement(c.xB, { - styles: (e) => { - var t = (0, a.Wf)(e, 'styles.global'), - n = (0, i.Pu)(t, { theme: e, colorMode: r }) - if (n) return (0, o.iv)(n)(e) - }, - }) - } - }, - 3108: function (r, e, t) { - 'use strict' - function n(r, e) { - return (t) => ('dark' === t.colorMode ? e : r) - } - function o(r) { - var { orientation: e, vertical: t, horizontal: n } = r - return e ? ('vertical' === e ? t : n) : {} - } - t.d(e, { - xJ: function () { - return n - }, - fL: function () { - return o - }, - }) - }, - 3035: function (r, e, t) { - 'use strict' - t.d(e, { - Z: function () { - return Be - }, - }) - var n = { - parts: ['container', 'button', 'panel', 'icon'], - baseStyle: { - container: { - borderTopWidth: '1px', - borderColor: 'inherit', - _last: { borderBottomWidth: '1px' }, - }, - button: { - transitionProperty: 'common', - transitionDuration: 'normal', - fontSize: '1rem', - _focus: { boxShadow: 'outline' }, - _hover: { bg: 'blackAlpha.50' }, - _disabled: { opacity: 0.4, cursor: 'not-allowed' }, - px: 4, - py: 2, - }, - panel: { pt: 2, px: 4, pb: 5 }, - icon: { fontSize: '1.25em' }, - }, - }, - o = t(7621), - a = t.n(o), - i = t(5505), - s = t(3808), - l = (r, e, t) => { - var n = (0, i.Wf)(r, 'colors.' + e, e) - return a()(n).isValid() ? n : t - }, - c = (r) => (e) => { - var t = l(e, r) - return a()(t).isDark() ? 'dark' : 'light' - }, - u = (r, e) => (t) => { - var n = l(t, r) - return a()(n).setAlpha(e).toRgbString() - } - function d(r, e) { - return ( - void 0 === r && (r = '1rem'), - void 0 === e && (e = 'rgba(255, 255, 255, 0.15)'), - { - backgroundImage: - 'linear-gradient(\n 45deg,\n ' + - e + - ' 25%,\n transparent 25%,\n transparent 50%,\n ' + - e + - ' 50%,\n ' + - e + - ' 75%,\n transparent 75%,\n transparent\n )', - backgroundSize: r + ' ' + r, - } - ) - } - function f(r) { - var e = a().random().toHexString() - return !r || (0, s.Qr)(r) - ? e - : r.string && r.colors - ? (function (r, e) { - var t = 0 - if (0 === r.length) return e[0] - for (var n = 0; n < r.length; n += 1) (t = r.charCodeAt(n) + ((t << 5) - t)), (t &= t) - return (t = ((t % e.length) + e.length) % e.length), e[t] - })(r.string, r.colors) - : r.string && !r.colors - ? (function (r) { - var e = 0 - if (0 === r.length) return e.toString() - for (var t = 0; t < r.length; t += 1) (e = r.charCodeAt(t) + ((e << 5) - e)), (e &= e) - for (var n = '#', o = 0; o < 3; o += 1) { - n += ('00' + ((e >> (8 * o)) & 255).toString(16)).substr(-2) - } - return n - })(r.string) - : r.colors && !r.string - ? (function (r) { - return r[Math.floor(Math.random() * r.length)] - })(r.colors) - : e - } - var p = t(3108) - function h(r) { - var { theme: e, colorScheme: t } = r, - n = l(e, t + '.100', t), - o = u(t + '.200', 0.16)(e) - return (0, p.xJ)(n, o)(r) - } - var b = { - parts: ['container', 'title', 'description', 'icon'], - baseStyle: { - container: { px: 4, py: 3 }, - title: { fontWeight: 'bold', lineHeight: 6, marginEnd: 2 }, - description: { lineHeight: 6 }, - icon: { flexShrink: 0, marginEnd: 3, w: 5, h: 6 }, - }, - variants: { - subtle: function (r) { - var { colorScheme: e } = r - return { - container: { bg: h(r) }, - icon: { color: (0, p.xJ)(e + '.500', e + '.200')(r) }, - } - }, - 'left-accent': function (r) { - var { colorScheme: e } = r - return { - container: { - paddingStart: 3, - borderStartWidth: '4px', - borderStartColor: (0, p.xJ)(e + '.500', e + '.200')(r), - bg: h(r), - }, - icon: { color: (0, p.xJ)(e + '.500', e + '.200')(r) }, - } - }, - 'top-accent': function (r) { - var { colorScheme: e } = r - return { - container: { - pt: 2, - borderTopWidth: '4px', - borderTopColor: (0, p.xJ)(e + '.500', e + '.200')(r), - bg: h(r), - }, - icon: { color: (0, p.xJ)(e + '.500', e + '.200')(r) }, - } - }, - solid: function (r) { - var { colorScheme: e } = r - return { - container: { - bg: (0, p.xJ)(e + '.500', e + '.200')(r), - color: (0, p.xJ)('white', 'gray.900')(r), - }, - } - }, - }, - defaultProps: { variant: 'subtle', colorScheme: 'blue' }, - }, - g = t(4681) - function m(r) { - return { - transform: 'translate(25%, 25%)', - borderRadius: 'full', - border: '0.2em solid', - borderColor: (0, p.xJ)('white', 'gray.800')(r), - } - } - function v(r) { - return { bg: (0, p.xJ)('gray.200', 'whiteAlpha.400')(r) } - } - function y(r) { - var { name: e, theme: t } = r, - n = e ? f({ string: e }) : 'gray.400', - o = ( - (r) => (e) => - 'dark' === c(r)(e) - )(n)(t), - a = 'white' - return ( - o || (a = 'gray.800'), - { bg: n, color: a, borderColor: (0, p.xJ)('white', 'gray.800')(r), verticalAlign: 'top' } - ) - } - function x(r) { - var e = g.Z[r] - return { - container: { width: r, height: r, fontSize: 'calc(' + (null != e ? e : r) + ' / 2.5)' }, - excessLabel: { width: r, height: r }, - label: { - fontSize: 'calc(' + (null != e ? e : r) + ' / 2.5)', - lineHeight: '100%' !== r ? (null != e ? e : r) : void 0, - }, - } - } - var w = { - parts: ['container', 'excessLabel', 'badge', 'label'], - baseStyle: (r) => ({ badge: m(r), excessLabel: v(r), container: y(r) }), - sizes: { - '2xs': x('4'), - xs: x('6'), - sm: x('8'), - md: x('12'), - lg: x('16'), - xl: x('24'), - '2xl': x('32'), - full: x('100%'), - }, - defaultProps: { size: 'md' }, - } - var k = { - baseStyle: { - px: 1, - textTransform: 'uppercase', - fontSize: 'xs', - borderRadius: 'sm', - fontWeight: 'bold', - }, - variants: { - solid: function (r) { - var { colorScheme: e, theme: t } = r, - n = u(e + '.500', 0.6)(t) - return { - bg: (0, p.xJ)(e + '.500', n)(r), - color: (0, p.xJ)('white', 'whiteAlpha.800')(r), - } - }, - subtle: function (r) { - var { colorScheme: e, theme: t } = r, - n = u(e + '.200', 0.16)(t) - return { - bg: (0, p.xJ)(e + '.100', n)(r), - color: (0, p.xJ)(e + '.800', e + '.200')(r), - } - }, - outline: function (r) { - var { colorScheme: e, theme: t } = r, - n = u(e + '.200', 0.8)(t), - o = l(t, e + '.500'), - a = (0, p.xJ)(o, n)(r) - return { color: a, boxShadow: 'inset 0 0 0px 1px ' + a } - }, - }, - defaultProps: { variant: 'subtle', colorScheme: 'gray' }, - }, - S = { - parts: ['container', 'item', 'link', 'separator'], - baseStyle: { - link: { - transitionProperty: 'common', - transitionDuration: 'fast', - transitionTimingFunction: 'ease-out', - cursor: 'pointer', - textDecoration: 'none', - outline: 'none', - color: 'inherit', - _hover: { textDecoration: 'underline' }, - _focus: { boxShadow: 'outline' }, - }, - }, - } - function _() { - return (_ = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - function C(r) { - var { colorScheme: e, theme: t } = r - if ('gray' === e) - return { - color: (0, p.xJ)('inherit', 'whiteAlpha.900')(r), - _hover: { bg: (0, p.xJ)('gray.100', 'whiteAlpha.200')(r) }, - _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r) }, - } - var n = u(e + '.200', 0.12)(t), - o = u(e + '.200', 0.24)(t) - return { - color: (0, p.xJ)(e + '.600', e + '.200')(r), - bg: 'transparent', - _hover: { bg: (0, p.xJ)(e + '.50', n)(r) }, - _active: { bg: (0, p.xJ)(e + '.100', o)(r) }, - } - } - var A = { - yellow: { bg: 'yellow.400', color: 'black', hoverBg: 'yellow.500', activeBg: 'yellow.600' }, - cyan: { bg: 'cyan.400', color: 'black', hoverBg: 'cyan.500', activeBg: 'cyan.600' }, - } - var E = { - baseStyle: { - lineHeight: '1.2', - borderRadius: 'md', - fontWeight: 'semibold', - transitionProperty: 'common', - transitionDuration: 'normal', - _focus: { boxShadow: 'outline' }, - _disabled: { opacity: 0.4, cursor: 'not-allowed', boxShadow: 'none' }, - _hover: { _disabled: { bg: 'initial' } }, - }, - variants: { - ghost: C, - outline: function (r) { - var { colorScheme: e } = r, - t = (0, p.xJ)('gray.200', 'whiteAlpha.300')(r) - return _({ border: '1px solid', borderColor: 'gray' === e ? t : 'currentColor' }, C(r)) - }, - solid: function (r) { - var { colorScheme: e } = r - if ('gray' === e) { - var t = (0, p.xJ)('gray.100', 'whiteAlpha.200')(r) - return { - bg: t, - _hover: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r), _disabled: { bg: t } }, - _active: { bg: (0, p.xJ)('gray.300', 'whiteAlpha.400')(r) }, - } - } - var { - bg: n = e + '.500', - color: o = 'white', - hoverBg: a = e + '.600', - activeBg: i = e + '.700', - } = A[e] || {}, - s = (0, p.xJ)(n, e + '.200')(r) - return { - bg: s, - color: (0, p.xJ)(o, 'gray.800')(r), - _hover: { bg: (0, p.xJ)(a, e + '.300')(r), _disabled: { bg: s } }, - _active: { bg: (0, p.xJ)(i, e + '.400')(r) }, - } - }, - link: function (r) { - var { colorScheme: e } = r - return { - padding: 0, - height: 'auto', - lineHeight: 'normal', - verticalAlign: 'baseline', - color: (0, p.xJ)(e + '.500', e + '.200')(r), - _hover: { textDecoration: 'underline', _disabled: { textDecoration: 'none' } }, - _active: { color: (0, p.xJ)(e + '.700', e + '.500')(r) }, - } - }, - unstyled: { - bg: 'none', - color: 'inherit', - display: 'inline', - lineHeight: 'inherit', - m: 0, - p: 0, - }, - }, - sizes: { - lg: { h: 12, minW: 12, fontSize: 'lg', px: 6 }, - md: { h: 10, minW: 10, fontSize: 'md', px: 4 }, - sm: { h: 8, minW: 8, fontSize: 'sm', px: 3 }, - xs: { h: 6, minW: 6, fontSize: 'xs', px: 2 }, - }, - defaultProps: { variant: 'solid', size: 'md', colorScheme: 'gray' }, - } - function z(r) { - var { colorScheme: e } = r - return { - w: '100%', - transitionProperty: 'box-shadow', - transitionDuration: 'normal', - border: '2px solid', - borderRadius: 'sm', - borderColor: 'inherit', - color: 'white', - _checked: { - bg: (0, p.xJ)(e + '.500', e + '.200')(r), - borderColor: (0, p.xJ)(e + '.500', e + '.200')(r), - color: (0, p.xJ)('white', 'gray.900')(r), - _hover: { - bg: (0, p.xJ)(e + '.600', e + '.300')(r), - borderColor: (0, p.xJ)(e + '.600', e + '.300')(r), - }, - _disabled: { - borderColor: (0, p.xJ)('gray.200', 'transparent')(r), - bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r), - color: (0, p.xJ)('gray.500', 'whiteAlpha.500')(r), - }, - }, - _indeterminate: { - bg: (0, p.xJ)(e + '.500', e + '.200')(r), - borderColor: (0, p.xJ)(e + '.500', e + '.200')(r), - color: (0, p.xJ)('white', 'gray.900')(r), - }, - _disabled: { - bg: (0, p.xJ)('gray.100', 'whiteAlpha.100')(r), - borderColor: (0, p.xJ)('gray.100', 'transparent')(r), - }, - _focus: { boxShadow: 'outline' }, - _invalid: { borderColor: (0, p.xJ)('red.500', 'red.300')(r) }, - } - } - var R = { userSelect: 'none', _disabled: { opacity: 0.4 } }, - B = { transitionProperty: 'transform', transitionDuration: 'normal' }, - j = { - parts: ['container', 'control', 'label', 'icon'], - baseStyle: (r) => ({ icon: B, control: z(r), label: R }), - sizes: { - sm: { - control: { h: 3, w: 3 }, - label: { fontSize: 'sm' }, - icon: { fontSize: '0.45rem' }, - }, - md: { - control: { w: 4, h: 4 }, - label: { fontSize: 'md' }, - icon: { fontSize: '0.625rem' }, - }, - lg: { - control: { w: 5, h: 5 }, - label: { fontSize: 'lg' }, - icon: { fontSize: '0.625rem' }, - }, - }, - defaultProps: { size: 'md', colorScheme: 'blue' }, - } - var O = { - baseStyle: function (r) { - return { - borderRadius: 'md', - transitionProperty: 'common', - transitionDuration: 'normal', - _disabled: { opacity: 0.4, cursor: 'not-allowed', boxShadow: 'none' }, - _hover: { bg: (0, p.xJ)('blackAlpha.100', 'whiteAlpha.100')(r) }, - _active: { bg: (0, p.xJ)('blackAlpha.200', 'whiteAlpha.200')(r) }, - _focus: { boxShadow: 'outline' }, - } - }, - sizes: { - lg: { w: '40px', h: '40px', fontSize: '16px' }, - md: { w: '32px', h: '32px', fontSize: '12px' }, - sm: { w: '24px', h: '24px', fontSize: '10px' }, - }, - defaultProps: { size: 'md' }, - }, - { variants: T, defaultProps: F } = k, - P = { - baseStyle: { fontFamily: 'mono', fontSize: 'sm', px: '0.2em', borderRadius: 'sm' }, - variants: T, - defaultProps: F, - }, - I = { baseStyle: { w: '100%', mx: 'auto', maxW: '60ch', px: '1rem' } }, - M = { - baseStyle: { opacity: 0.6, borderColor: 'inherit' }, - variants: { solid: { borderStyle: 'solid' }, dashed: { borderStyle: 'dashed' } }, - defaultProps: { variant: 'solid' }, - }, - D = { bg: 'blackAlpha.600', zIndex: 'modal' } - function W(r) { - var { isCentered: e, scrollBehavior: t } = r - return { - display: 'flex', - zIndex: 'modal', - justifyContent: 'center', - alignItems: e ? 'center' : 'flex-start', - overflow: 'inside' === t ? 'hidden' : 'auto', - } - } - function J(r) { - var { scrollBehavior: e } = r - return { - borderRadius: 'md', - bg: (0, p.xJ)('white', 'gray.700')(r), - color: 'inherit', - my: '3.75rem', - zIndex: 'modal', - maxH: 'inside' === e ? 'calc(100% - 7.5rem)' : void 0, - boxShadow: (0, p.xJ)('lg', 'dark-lg')(r), - } - } - var L = { px: 6, py: 4, fontSize: 'xl', fontWeight: 'semibold' }, - H = { position: 'absolute', top: 2, insetEnd: 3 } - function N(r) { - var { scrollBehavior: e } = r - return { px: 6, py: 2, flex: 1, overflow: 'inside' === e ? 'auto' : void 0 } - } - var $ = { px: 6, py: 4 } - function Z(r) { - return 'full' === r ? { dialog: { maxW: '100vw', minH: '100vh' } } : { dialog: { maxW: r } } - } - var V = { - parts: ['overlay', 'dialogContainer', 'dialog', 'header', 'closeButton', 'body', 'footer'], - baseStyle: (r) => ({ - overlay: D, - dialogContainer: W(r), - dialog: J(r), - header: L, - closeButton: H, - body: N(r), - footer: $, - }), - sizes: { - xs: Z('xs'), - sm: Z('sm'), - md: Z('md'), - lg: Z('lg'), - xl: Z('xl'), - '2xl': Z('2xl'), - '3xl': Z('3xl'), - '4xl': Z('4xl'), - '5xl': Z('5xl'), - '6xl': Z('6xl'), - full: Z('full'), - }, - defaultProps: { size: 'md' }, - } - function q() { - return (q = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - function X(r) { - return 'full' === r ? { dialog: { maxW: '100vw', h: '100vh' } } : { dialog: { maxW: r } } - } - var Y = { bg: 'blackAlpha.600', zIndex: 'overlay' }, - G = { display: 'flex', zIndex: 'modal', justifyContent: 'center' } - function U(r) { - var { isFullHeight: e } = r - return q({}, e && { height: '100vh' }, { - zIndex: 'modal', - maxH: '100vh', - bg: (0, p.xJ)('white', 'gray.700')(r), - color: 'inherit', - boxShadow: (0, p.xJ)('lg', 'dark-lg')(r), - }) - } - var K = { px: 6, py: 4, fontSize: 'xl', fontWeight: 'semibold' }, - Q = { position: 'absolute', top: 2, insetEnd: 3 }, - rr = { px: 6, py: 2, flex: 1, overflow: 'auto' }, - er = { px: 6, py: 4 }, - tr = { - parts: V.parts, - baseStyle: (r) => ({ - overlay: Y, - dialogContainer: G, - dialog: U(r), - header: K, - closeButton: Q, - body: rr, - footer: er, - }), - sizes: { - xs: X('xs'), - sm: X('md'), - md: X('lg'), - lg: X('2xl'), - xl: X('4xl'), - full: X('full'), - }, - defaultProps: { size: 'xs' }, - }, - nr = { - parts: ['preview', 'input'], - baseStyle: { - preview: { - borderRadius: 'md', - py: '3px', - transitionProperty: 'common', - transitionDuration: 'normal', - }, - input: { - borderRadius: 'md', - py: '3px', - transitionProperty: 'common', - transitionDuration: 'normal', - width: 'full', - _focus: { boxShadow: 'outline' }, - _placeholder: { opacity: 0.6 }, - }, - }, - } - function or(r) { - return { marginStart: 1, color: (0, p.xJ)('red.500', 'red.300')(r) } - } - function ar(r) { - return { - mt: 2, - color: (0, p.xJ)('gray.500', 'whiteAlpha.600')(r), - lineHeight: 'normal', - fontSize: 'sm', - } - } - var ir = { - parts: ['requiredIndicator', 'helperText'], - baseStyle: (r) => ({ requiredIndicator: or(r), helperText: ar(r) }), - }, - sr = { - baseStyle: { - fontSize: 'md', - marginEnd: 3, - mb: 2, - fontWeight: 'medium', - transitionProperty: 'common', - transitionDuration: 'normal', - opacity: 1, - _disabled: { opacity: 0.4 }, - }, - }, - lr = { - baseStyle: { fontFamily: 'heading', fontWeight: 'bold' }, - sizes: { - '4xl': { fontSize: ['6xl', null, '7xl'], lineHeight: 1 }, - '3xl': { fontSize: ['5xl', null, '6xl'], lineHeight: 1 }, - '2xl': { fontSize: ['4xl', null, '5xl'], lineHeight: [1.2, null, 1] }, - xl: { fontSize: ['3xl', null, '4xl'], lineHeight: [1.33, null, 1.2] }, - lg: { fontSize: ['2xl', null, '3xl'], lineHeight: [1.33, null, 1.2] }, - md: { fontSize: 'xl', lineHeight: 1.2 }, - sm: { fontSize: 'md', lineHeight: 1.2 }, - xs: { fontSize: 'sm', lineHeight: 1.2 }, - }, - defaultProps: { size: 'xl' }, - }, - cr = { - lg: { fontSize: 'lg', px: 4, h: 12, borderRadius: 'md' }, - md: { fontSize: 'md', px: 4, h: 10, borderRadius: 'md' }, - sm: { fontSize: 'sm', px: 3, h: 8, borderRadius: 'sm' }, - xs: { fontSize: 'xs', px: 2, h: 6, borderRadius: 'sm' }, - } - function ur(r) { - var { focusBorderColor: e, errorBorderColor: t } = r - return { - focusBorderColor: e || (0, p.xJ)('blue.500', 'blue.300')(r), - errorBorderColor: t || (0, p.xJ)('red.500', 'red.300')(r), - } - } - var dr = { - parts: ['field', 'addon'], - baseStyle: { - field: { - width: '100%', - minWidth: 0, - outline: 0, - position: 'relative', - appearance: 'none', - transitionProperty: 'common', - transitionDuration: 'normal', - }, - }, - sizes: { - lg: { field: cr.lg, addon: cr.lg }, - md: { field: cr.md, addon: cr.md }, - sm: { field: cr.sm, addon: cr.sm }, - xs: { field: cr.xs, addon: cr.xs }, - }, - variants: { - outline: function (r) { - var { theme: e } = r, - { focusBorderColor: t, errorBorderColor: n } = ur(r) - return { - field: { - border: '1px solid', - borderColor: 'inherit', - bg: 'inherit', - _hover: { borderColor: (0, p.xJ)('gray.300', 'whiteAlpha.400')(r) }, - _readOnly: { boxShadow: 'none !important', userSelect: 'all' }, - _disabled: { opacity: 0.4, cursor: 'not-allowed' }, - _invalid: { borderColor: l(e, n), boxShadow: '0 0 0 1px ' + l(e, n) }, - _focus: { zIndex: 1, borderColor: l(e, t), boxShadow: '0 0 0 1px ' + l(e, t) }, - }, - addon: { - border: '1px solid', - borderColor: (0, p.xJ)('inherit', 'whiteAlpha.50')(r), - bg: (0, p.xJ)('gray.100', 'whiteAlpha.300')(r), - }, - } - }, - filled: function (r) { - var { theme: e } = r, - { focusBorderColor: t, errorBorderColor: n } = ur(r) - return { - field: { - border: '2px solid', - borderColor: 'transparent', - bg: (0, p.xJ)('gray.100', 'whiteAlpha.50')(r), - _hover: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.100')(r) }, - _readOnly: { boxShadow: 'none !important', userSelect: 'all' }, - _disabled: { opacity: 0.4, cursor: 'not-allowed' }, - _invalid: { borderColor: l(e, n) }, - _focus: { bg: 'transparent', borderColor: l(e, t) }, - }, - addon: { - border: '2px solid', - borderColor: 'transparent', - bg: (0, p.xJ)('gray.100', 'whiteAlpha.50')(r), - }, - } - }, - flushed: function (r) { - var { theme: e } = r, - { focusBorderColor: t, errorBorderColor: n } = ur(r) - return { - field: { - borderBottom: '1px solid', - borderColor: 'inherit', - borderRadius: 0, - px: 0, - bg: 'transparent', - _readOnly: { boxShadow: 'none !important', userSelect: 'all' }, - _invalid: { borderColor: l(e, n), boxShadow: '0px 1px 0px 0px ' + l(e, n) }, - _focus: { borderColor: l(e, t), boxShadow: '0px 1px 0px 0px ' + l(e, t) }, - }, - addon: { - borderBottom: '2px solid', - borderColor: 'inherit', - borderRadius: 0, - px: 0, - bg: 'transparent', - }, - } - }, - unstyled: { - field: { bg: 'transparent', px: 0, height: 'auto' }, - addon: { bg: 'transparent', px: 0, height: 'auto' }, - }, - }, - defaultProps: { size: 'md', variant: 'outline' }, - } - var fr = { - baseStyle: function (r) { - return { - bg: (0, p.xJ)('gray.100', 'whiteAlpha')(r), - borderRadius: 'md', - borderWidth: '1px', - borderBottomWidth: '3px', - fontSize: '0.8em', - fontWeight: 'bold', - lineHeight: 'normal', - px: '0.4em', - whiteSpace: 'nowrap', - } - }, - }, - pr = { - baseStyle: { - transitionProperty: 'common', - transitionDuration: 'fast', - transitionTimingFunction: 'ease-out', - cursor: 'pointer', - textDecoration: 'none', - outline: 'none', - color: 'inherit', - _hover: { textDecoration: 'underline' }, - _focus: { boxShadow: 'outline' }, - }, - }, - hr = { - parts: ['container', 'item', 'icon'], - baseStyle: { - container: {}, - item: {}, - icon: { marginEnd: '0.5rem', display: 'inline', verticalAlign: 'text-bottom' }, - }, - } - function br(r) { - return { - bg: (0, p.xJ)('#fff', 'gray.700')(r), - boxShadow: (0, p.xJ)('sm', 'dark-lg')(r), - color: 'inherit', - minW: '3xs', - py: '2', - zIndex: 1, - borderRadius: 'md', - borderWidth: '1px', - } - } - function gr(r) { - return { - py: '0.4rem', - px: '0.8rem', - transitionProperty: 'background', - transitionDuration: 'ultra-fast', - transitionTimingFunction: 'ease-in', - _focus: { bg: (0, p.xJ)('gray.100', 'whiteAlpha.100')(r) }, - _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.200')(r) }, - _expanded: { bg: (0, p.xJ)('gray.100', 'whiteAlpha.100')(r) }, - _disabled: { opacity: 0.4, cursor: 'not-allowed' }, - } - } - var mr, - vr = { mx: 4, my: 2, fontWeight: 'semibold', fontSize: 'sm' }, - yr = { opacity: 0.6 }, - xr = { - border: 0, - borderBottom: '1px solid', - borderColor: 'inherit', - my: '0.5rem', - opacity: 0.6, - }, - wr = { transitionProperty: 'common', transitionDuration: 'normal' }, - kr = { - parts: ['item', 'command', 'list', 'button', 'groupTitle', 'divider'], - baseStyle: (r) => ({ - button: wr, - list: br(r), - item: gr(r), - groupTitle: vr, - command: yr, - divider: xr, - }), - }, - Sr = t(5268) - function _r() { - return (_r = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var { variants: Cr, defaultProps: Ar } = dr, - Er = { - '--number-input-stepper-width': '24px', - '--number-input-field-padding': 'calc(var(--number-input-stepper-width) + 0.5rem)', - }, - zr = null == (mr = dr.baseStyle) ? void 0 : mr.field, - Rr = { width: 'var(--number-input-stepper-width)' } - function Br(r) { - return { - borderStart: '1px solid', - borderStartColor: (0, p.xJ)('inherit', 'whiteAlpha.300')(r), - color: (0, p.xJ)('inherit', 'whiteAlpha.800')(r), - _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r) }, - _disabled: { opacity: 0.4, cursor: 'not-allowed' }, - } - } - function jr(r) { - var e = dr.sizes[r], - t = { lg: 'md', md: 'md', sm: 'sm', xs: 'sm' }, - n = Sr.Z.fontSizes[e.field.fontSize] - return { - field: _r({}, e.field, { - paddingInlineEnd: 'var(--number-input-field-padding)', - verticalAlign: 'top', - }), - stepper: { - fontSize: 'calc(' + n + ' * 0.75)', - _first: { borderTopEndRadius: t[r] }, - _last: { borderBottomEndRadius: t[r], mt: '-1px', borderTopWidth: 1 }, - }, - } - } - var Or = { - parts: ['root', 'field', 'stepper', 'stepperGroup'], - baseStyle: (r) => ({ root: Er, field: zr, stepperGroup: Rr, stepper: Br(r) }), - sizes: { xs: jr('xs'), sm: jr('sm'), md: jr('md'), lg: jr('lg') }, - variants: Cr, - defaultProps: Ar, - } - function Tr() { - return (Tr = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var Fr = { - baseStyle: Tr({}, dr.baseStyle.field, { textAlign: 'center' }), - sizes: { - lg: { fontSize: 'lg', w: 12, h: 12, borderRadius: 'md' }, - md: { fontSize: 'md', w: 10, h: 10, borderRadius: 'md' }, - sm: { fontSize: 'sm', w: 8, h: 8, borderRadius: 'sm' }, - xs: { fontSize: 'xs', w: 6, h: 6, borderRadius: 'sm' }, - }, - variants: { - outline: (r) => dr.variants.outline(r).field, - flushed: (r) => dr.variants.flushed(r).field, - filled: (r) => dr.variants.filled(r).field, - unstyled: dr.variants.unstyled.field, - }, - defaultProps: dr.defaultProps, - }, - Pr = { zIndex: 10 } - function Ir(r) { - return { - '--popover-bg': 'colors.' + (0, p.xJ)('white', 'gray.700')(r), - bg: 'var(--popover-bg)', - '--popper-arrow-bg': 'var(--popover-bg)', - '--popper-arrow-shadow-color': 'colors.' + (0, p.xJ)('gray.200', 'whiteAlpha.300')(r), - width: 'xs', - border: '1px solid', - borderColor: 'inherit', - borderRadius: 'md', - boxShadow: 'sm', - zIndex: 'inherit', - _focus: { outline: 0, boxShadow: 'outline' }, - } - } - var Mr = { px: 3, py: 2, borderBottomWidth: '1px' }, - Dr = { px: 3, py: 2 }, - Wr = { px: 3, py: 2, borderTopWidth: '1px' }, - Jr = { - parts: ['popper', 'content', 'header', 'body', 'footer', 'arrow'], - baseStyle: (r) => ({ - popper: Pr, - content: Ir(r), - header: Mr, - body: Dr, - footer: Wr, - arrow: {}, - }), - } - function Lr() { - return (Lr = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var Hr = { lineHeight: '1', fontSize: '0.25em', fontWeight: 'bold', color: 'white' } - function Nr(r) { - return { bg: (0, p.xJ)('gray.100', 'whiteAlpha.300')(r) } - } - function $r(r) { - return Lr( - { transitionProperty: 'common', transitionDuration: 'slow' }, - (function (r) { - var { colorScheme: e, theme: t, isIndeterminate: n, hasStripe: o } = r, - a = (0, p.xJ)(d(), d('1rem', 'rgba(0,0,0,0.1)'))(r), - i = (0, p.xJ)(e + '.500', e + '.200')(r), - s = - 'linear-gradient(\n to right,\n transparent 0%,\n ' + - l(t, i) + - ' 50%,\n transparent 100%\n )' - return Lr({}, !n && o && a, n ? { bgImage: s } : { bgColor: i }) - })(r), - ) - } - var Zr = { - parts: ['track', 'filledTrack', 'label'], - sizes: { - xs: { track: { h: '0.25rem' } }, - sm: { track: { h: '0.5rem' } }, - md: { track: { h: '0.75rem' } }, - lg: { track: { h: '1rem' } }, - }, - baseStyle: (r) => ({ label: Hr, filledTrack: $r(r), track: Nr(r) }), - defaultProps: { size: 'md', colorScheme: 'blue' }, - } - function Vr() { - return (Vr = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - function qr(r) { - var { control: e } = j.baseStyle(r) - return Vr({}, e, { - borderRadius: 'full', - _checked: Vr({}, e._checked, { - _before: { - content: '""', - display: 'inline-block', - pos: 'relative', - w: '50%', - h: '50%', - borderRadius: '50%', - bg: 'currentColor', - }, - }), - }) - } - var Xr = { - parts: ['container', 'control', 'label'], - baseStyle: (r) => ({ label: j.baseStyle(r).label, control: qr(r) }), - sizes: { - md: { control: { w: 4, h: 4 }, label: { fontSize: 'md' } }, - lg: { control: { w: 5, h: 5 }, label: { fontSize: 'lg' } }, - sm: { control: { width: 3, height: 3 }, label: { fontSize: 'sm' } }, - }, - defaultProps: { size: 'md', colorScheme: 'blue' }, - }, - Yr = t(8554) - function Gr() { - return (Gr = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - function Ur(r) { - return Gr({}, dr.baseStyle.field, { - appearance: 'none', - paddingBottom: '1px', - lineHeight: 'normal', - '> option, > optgroup': { bg: (0, p.xJ)('white', 'gray.700')(r) }, - }) - } - var Kr = { - width: '1.5rem', - height: '100%', - insetEnd: '0.5rem', - position: 'relative', - color: 'currentColor', - fontSize: '1.25rem', - _disabled: { opacity: 0.5 }, - }, - Qr = { - parts: ['field', 'icon'], - baseStyle: (r) => ({ field: Ur(r), icon: Kr }), - sizes: t.n(Yr)()({}, dr.sizes, { xs: { icon: { insetEnd: '0.25rem' } } }), - variants: dr.variants, - defaultProps: dr.defaultProps, - }, - re = t(917), - ee = (r, e) => - (0, re.F4)({ - from: { borderColor: r, background: r }, - to: { borderColor: e, background: e }, - }), - te = { - baseStyle: (r) => { - var e = (0, p.xJ)('gray.100', 'gray.800')(r), - t = (0, p.xJ)('gray.400', 'gray.600')(r), - { startColor: n = e, endColor: o = t, speed: a, theme: i } = r, - s = l(i, n), - c = l(i, o) - return { - opacity: 0.7, - borderRadius: '2px', - borderColor: s, - background: c, - animation: a + 's linear infinite alternate ' + ee(s, c), - } - }, - }, - ne = { - baseStyle: (r) => ({ - borderRadius: 'md', - fontWeight: 'semibold', - _focus: { - boxShadow: 'outline', - padding: '1rem', - position: 'fixed', - top: '1.5rem', - insetStart: '1.5rem', - bg: (0, p.xJ)('white', 'gray.700')(r), - }, - }), - } - function oe() { - return (oe = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var ae = (r) => { - var { orientation: e } = r - return oe( - { _disabled: { opacity: 0.6, cursor: 'default', pointerEvents: 'none' } }, - (0, p.fL)({ orientation: e, vertical: { h: '100%' }, horizontal: { w: '100%' } }), - ) - } - function ie(r) { - return { - borderRadius: 'sm', - bg: (0, p.xJ)('gray.200', 'whiteAlpha.200')(r), - _disabled: { bg: (0, p.xJ)('gray.300', 'whiteAlpha.300')(r) }, - } - } - function se(r) { - return oe( - { - zIndex: 1, - borderRadius: 'full', - bg: 'white', - boxShadow: 'base', - border: '1px solid', - borderColor: 'transparent', - transitionProperty: 'transform', - transitionDuration: 'normal', - _focus: { boxShadow: 'outline' }, - _disabled: { bg: 'gray.300' }, - }, - (function (r) { - return (0, p.fL)({ - orientation: r.orientation, - vertical: { - left: '50%', - transform: 'translateX(-50%)', - _active: { transform: 'translateX(-50%) scale(1.15)' }, - }, - horizontal: { - top: '50%', - transform: 'translateY(-50%)', - _active: { transform: 'translateY(-50%) scale(1.15)' }, - }, - }) - })(r), - ) - } - function le(r) { - var { colorScheme: e } = r - return { bg: (0, p.xJ)(e + '.500', e + '.200')(r) } - } - var ce = { - parts: ['container', 'thumb', 'track', 'filledTrack'], - sizes: { - lg: function (r) { - return { - thumb: { w: '16px', h: '16px' }, - track: (0, p.fL)({ - orientation: r.orientation, - horizontal: { h: '4px' }, - vertical: { w: '4px' }, - }), - } - }, - md: function (r) { - return { - thumb: { w: '14px', h: '14px' }, - track: (0, p.fL)({ - orientation: r.orientation, - horizontal: { h: '4px' }, - vertical: { w: '4px' }, - }), - } - }, - sm: function (r) { - return { - thumb: { w: '10px', h: '10px' }, - track: (0, p.fL)({ - orientation: r.orientation, - horizontal: { h: '2px' }, - vertical: { w: '2px' }, - }), - } - }, - }, - baseStyle: (r) => ({ container: ae(r), track: ie(r), thumb: se(r), filledTrack: le(r) }), - defaultProps: { size: 'md', colorScheme: 'blue' }, - }, - ue = { - baseStyle: { width: 'var(--spinner-size)', height: 'var(--spinner-size)' }, - sizes: { - xs: { '--spinner-size': '0.75rem' }, - sm: { '--spinner-size': '1rem' }, - md: { '--spinner-size': '1.5rem' }, - lg: { '--spinner-size': '2rem' }, - xl: { '--spinner-size': '3rem' }, - }, - defaultProps: { size: 'md' }, - }, - de = { - parts: ['label', 'number', 'icon', 'helpText'], - baseStyle: { - label: { fontWeight: 'medium' }, - helpText: { opacity: 0.8, marginBottom: 2 }, - number: { verticalAlign: 'baseline', fontWeight: 'semibold' }, - icon: { marginEnd: 1, w: '14px', h: '14px', verticalAlign: 'middle' }, - }, - sizes: { - md: { - label: { fontSize: 'sm' }, - helpText: { fontSize: 'sm' }, - number: { fontSize: '2xl' }, - }, - }, - defaultProps: { size: 'md' }, - } - function fe(r) { - var { colorScheme: e } = r - return { - borderRadius: 'full', - p: '2px', - width: 'var(--slider-track-width)', - height: 'var(--slider-track-height)', - transitionProperty: 'common', - transitionDuration: 'fast', - bg: (0, p.xJ)('gray.300', 'whiteAlpha.400')(r), - _focus: { boxShadow: 'outline' }, - _disabled: { opacity: 0.4, cursor: 'not-allowed' }, - _checked: { bg: (0, p.xJ)(e + '.500', e + '.200')(r) }, - } - } - var pe = { - bg: 'white', - transitionProperty: 'transform', - transitionDuration: 'normal', - borderRadius: 'inherit', - width: 'var(--slider-track-height)', - height: 'var(--slider-track-height)', - _checked: { transform: 'translateX(var(--slider-thumb-x))' }, - }, - he = { - parts: ['container', 'track', 'thumb'], - baseStyle: (r) => ({ - container: { - '--slider-track-diff': 'calc(var(--slider-track-width) - var(--slider-track-height))', - '--slider-thumb-x': 'var(--slider-track-diff)', - _rtl: { '--slider-thumb-x': 'calc(-1 * var(--slider-track-diff))' }, - }, - track: fe(r), - thumb: pe, - }), - sizes: { - sm: { - container: { '--slider-track-width': '1.375rem', '--slider-track-height': '0.75rem' }, - }, - md: { - container: { '--slider-track-width': '1.875rem', '--slider-track-height': '1rem' }, - }, - lg: { - container: { '--slider-track-width': '2.875rem', '--slider-track-height': '1.5rem' }, - }, - }, - defaultProps: { size: 'md', colorScheme: 'blue' }, - } - function be() { - return (be = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var ge = { '&[data-is-numeric=true]': { textAlign: 'end' } }, - me = { - parts: ['table', 'thead', 'tbody', 'tr', 'th', 'td', 'caption'], - baseStyle: { - table: { - fontVariantNumeric: 'lining-nums tabular-nums', - borderCollapse: 'collapse', - width: 'full', - }, - th: { - fontFamily: 'heading', - fontWeight: 'bold', - textTransform: 'uppercase', - letterSpacing: 'wider', - textAlign: 'start', - }, - td: { textAlign: 'start' }, - caption: { mt: 4, fontFamily: 'heading', textAlign: 'center', fontWeight: 'medium' }, - }, - variants: { - simple: (r) => { - var { colorScheme: e } = r - return { - th: be( - { - color: (0, p.xJ)('gray.600', 'gray.400')(r), - borderBottom: '1px', - borderColor: (0, p.xJ)(e + '.100', e + '.700')(r), - }, - ge, - ), - td: be( - { borderBottom: '1px', borderColor: (0, p.xJ)(e + '.100', e + '.700')(r) }, - ge, - ), - caption: { color: (0, p.xJ)('gray.600', 'gray.100')(r) }, - tfoot: { tr: { '&:last-of-type': { th: { borderBottomWidth: 0 } } } }, - } - }, - striped: (r) => { - var { colorScheme: e } = r - return { - th: be( - { - color: (0, p.xJ)('gray.600', 'gray.400')(r), - borderBottom: '1px', - borderColor: (0, p.xJ)(e + '.100', e + '.700')(r), - }, - ge, - ), - td: be( - { borderBottom: '1px', borderColor: (0, p.xJ)(e + '.100', e + '.700')(r) }, - ge, - ), - caption: { color: (0, p.xJ)('gray.600', 'gray.100')(r) }, - tbody: { - tr: { - '&:nth-of-type(odd)': { - 'th, td': { - borderBottomWidth: '1px', - borderColor: (0, p.xJ)(e + '.100', e + '.700')(r), - }, - td: { background: (0, p.xJ)(e + '.100', e + '.700')(r) }, - }, - }, - }, - tfoot: { tr: { '&:last-of-type': { th: { borderBottomWidth: 0 } } } }, - } - }, - unstyled: {}, - }, - sizes: { - sm: { - th: { px: '4', py: '1', lineHeight: '4', fontSize: 'xs' }, - td: { px: '4', py: '2', fontSize: 'sm', lineHeight: '4' }, - caption: { px: '4', py: '2', fontSize: 'xs' }, - }, - md: { - th: { px: '6', py: '3', lineHeight: '4', fontSize: 'xs' }, - td: { px: '6', py: '4', lineHeight: '5' }, - caption: { px: '6', py: '2', fontSize: 'sm' }, - }, - lg: { - th: { px: '8', py: '4', lineHeight: '5', fontSize: 'sm' }, - td: { px: '8', py: '5', lineHeight: '6' }, - caption: { px: '6', py: '2', fontSize: 'md' }, - }, - }, - defaultProps: { variant: 'simple', size: 'md', colorScheme: 'gray' }, - } - function ve(r) { - var { orientation: e } = r - return { display: 'vertical' === e ? 'flex' : 'block' } - } - function ye(r) { - var { isFitted: e } = r - return { - flex: e ? 1 : void 0, - transitionProperty: 'common', - transitionDuration: 'normal', - _focus: { zIndex: 1, boxShadow: 'outline' }, - } - } - function xe(r) { - var { align: e = 'start', orientation: t } = r - return { - justifyContent: { end: 'flex-end', center: 'center', start: 'flex-start' }[e], - flexDirection: 'vertical' === t ? 'column' : 'row', - } - } - var we = { p: 4 } - var ke = { - parts: ['root', 'tablist', 'tab', 'tabpanels', 'tabpanel', 'indicator'], - baseStyle: (r) => ({ root: ve(r), tab: ye(r), tablist: xe(r), tabpanel: we }), - sizes: { - sm: { tab: { py: 1, px: 4, fontSize: 'sm' } }, - md: { tab: { fontSize: 'md', py: 2, px: 4 } }, - lg: { tab: { fontSize: 'lg', py: 3, px: 4 } }, - }, - variants: { - line: function (r) { - var { colorScheme: e, orientation: t } = r, - n = 'vertical' === t ? 'borderStart' : 'borderBottom' - return { - tablist: { [n]: '2px solid', borderColor: 'inherit' }, - tab: { - [n]: '2px solid', - borderColor: 'transparent', - ['vertical' === t ? 'marginStart' : 'marginBottom']: '-2px', - _selected: { - color: (0, p.xJ)(e + '.600', e + '.300')(r), - borderColor: 'currentColor', - }, - _active: { bg: (0, p.xJ)('gray.200', 'whiteAlpha.300')(r) }, - _disabled: { opacity: 0.4, cursor: 'not-allowed' }, - }, - } - }, - enclosed: function (r) { - var { colorScheme: e } = r - return { - tab: { - borderTopRadius: 'md', - border: '1px solid', - borderColor: 'transparent', - mb: '-1px', - _selected: { - color: (0, p.xJ)(e + '.600', e + '.300')(r), - borderColor: 'inherit', - borderBottomColor: (0, p.xJ)('white', 'gray.800')(r), - }, - }, - tablist: { mb: '-1px', borderBottom: '1px solid', borderColor: 'inherit' }, - } - }, - 'enclosed-colored': function (r) { - var { colorScheme: e } = r - return { - tab: { - border: '1px solid', - borderColor: 'inherit', - bg: (0, p.xJ)('gray.50', 'whiteAlpha.50')(r), - mb: '-1px', - _notLast: { marginEnd: '-1px' }, - _selected: { - bg: (0, p.xJ)('#fff', 'gray.800')(r), - color: (0, p.xJ)(e + '.600', e + '.300')(r), - borderColor: 'inherit', - borderTopColor: 'currentColor', - borderBottomColor: 'transparent', - }, - }, - tablist: { mb: '-1px', borderBottom: '1px solid', borderColor: 'inherit' }, - } - }, - 'soft-rounded': function (r) { - var { colorScheme: e, theme: t } = r - return { - tab: { - borderRadius: 'full', - fontWeight: 'semibold', - color: 'gray.600', - _selected: { color: l(t, e + '.700'), bg: l(t, e + '.100') }, - }, - } - }, - 'solid-rounded': function (r) { - var { colorScheme: e } = r - return { - tab: { - borderRadius: 'full', - fontWeight: 'semibold', - color: (0, p.xJ)('gray.600', 'inherit')(r), - _selected: { - color: (0, p.xJ)('#fff', 'gray.800')(r), - bg: (0, p.xJ)(e + '.600', e + '.300')(r), - }, - }, - } - }, - unstyled: {}, - }, - defaultProps: { size: 'md', variant: 'line', colorScheme: 'blue' }, - }, - Se = { - parts: ['container', 'label', 'closeButton'], - variants: { - subtle: (r) => ({ container: k.variants.subtle(r) }), - solid: (r) => ({ container: k.variants.solid(r) }), - outline: (r) => ({ container: k.variants.outline(r) }), - }, - baseStyle: { - container: { - fontWeight: 'medium', - lineHeight: 1.2, - outline: 0, - _focus: { boxShadow: 'outline' }, - }, - label: { lineHeight: 1.2 }, - closeButton: { - fontSize: '18px', - w: '1.25rem', - h: '1.25rem', - transitionProperty: 'common', - transitionDuration: 'normal', - borderRadius: 'full', - marginStart: '0.375rem', - marginEnd: '-1', - opacity: 0.5, - _disabled: { opacity: 0.4 }, - _focus: { boxShadow: 'outline', bg: 'rgba(0, 0, 0, 0.14)' }, - _hover: { opacity: 0.8 }, - _active: { opacity: 1 }, - }, - }, - sizes: { - sm: { - container: { - minH: '1.25rem', - minW: '1.25rem', - fontSize: 'xs', - px: 2, - borderRadius: 'md', - }, - closeButton: { marginEnd: '-2px', marginStart: '0.35rem' }, - }, - md: { - container: { - minH: '1.5rem', - minW: '1.5rem', - fontSize: 'sm', - borderRadius: 'md', - px: 2, - }, - }, - lg: { container: { minH: 8, minW: 8, fontSize: 'md', borderRadius: 'md', px: 3 } }, - }, - defaultProps: { size: 'md', variant: 'subtle', colorScheme: 'gray' }, - } - function _e() { - return (_e = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var Ce = _e({}, dr.baseStyle.field, { - paddingY: '8px', - minHeight: '80px', - lineHeight: 'short', - verticalAlign: 'top', - }), - Ae = { - outline: (r) => dr.variants.outline(r).field, - flushed: (r) => dr.variants.flushed(r).field, - filled: (r) => dr.variants.filled(r).field, - unstyled: dr.variants.unstyled.field, - }, - Ee = { - xs: dr.sizes.xs.field, - sm: dr.sizes.sm.field, - md: dr.sizes.md.field, - lg: dr.sizes.lg.field, - } - function ze(r) { - return { color: (0, p.xJ)('red.500', 'red.300')(r), mt: 2, fontSize: 'sm' } - } - function Re(r) { - return { marginEnd: '0.5em', color: (0, p.xJ)('red.500', 'red.300')(r) } - } - var Be = { - Accordion: n, - Alert: b, - Avatar: w, - Badge: k, - Breadcrumb: S, - Button: E, - Checkbox: j, - CloseButton: O, - Code: P, - Container: I, - Divider: M, - Drawer: tr, - Editable: nr, - Form: ir, - FormLabel: sr, - Heading: lr, - Input: dr, - Kbd: fr, - Link: pr, - List: hr, - Menu: kr, - Modal: V, - NumberInput: Or, - PinInput: Fr, - Popover: Jr, - Progress: Zr, - Radio: Xr, - Select: Qr, - Skeleton: te, - SkipLink: ne, - Slider: ce, - Spinner: ue, - Stat: de, - Switch: he, - Table: me, - Tabs: ke, - Tag: Se, - Textarea: { - baseStyle: Ce, - sizes: Ee, - variants: Ae, - defaultProps: { size: 'md', variant: 'outline' }, - }, - Tooltip: { - baseStyle: function (r) { - return { - '--tooltip-bg': 'colors.' + (0, p.xJ)('gray.700', 'gray.300')(r), - px: '8px', - py: '2px', - bg: 'var(--tooltip-bg)', - '--popper-arrow-bg': 'var(--tooltip-bg)', - color: (0, p.xJ)('whiteAlpha.900', 'gray.900')(r), - borderRadius: 'sm', - fontWeight: 'medium', - fontSize: 'sm', - boxShadow: 'md', - maxW: '320px', - zIndex: 'tooltip', - } - }, - }, - FormError: { parts: ['text', 'icon'], baseStyle: (r) => ({ text: ze(r), icon: Re(r) }) }, - } - }, - 2009: function (r, e, t) { - 'use strict' - t.d(e, { - Z: function () { - return b - }, - }) - var n = { - none: 0, - '1px': '1px solid', - '2px': '2px solid', - '4px': '4px solid', - '8px': '8px solid', - }, - o = t(658) - function a() { - return (a = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var i, - s = - ((i = { sm: '30em', md: '48em', lg: '62em', xl: '80em', '2xl': '96em' }), - (0, o.ZK)({ - condition: !0, - message: [ - '[chakra-ui]: createBreakpoints(...) will be deprecated pretty soon', - 'simply pass the breakpoints as an object. Remove the createBreakpoint(..) call', - ].join(''), - }), - a({ base: '0em' }, i)), - l = { - transparent: 'transparent', - current: 'currentColor', - black: '#000000', - white: '#FFFFFF', - whiteAlpha: { - 50: 'rgba(255, 255, 255, 0.04)', - 100: 'rgba(255, 255, 255, 0.06)', - 200: 'rgba(255, 255, 255, 0.08)', - 300: 'rgba(255, 255, 255, 0.16)', - 400: 'rgba(255, 255, 255, 0.24)', - 500: 'rgba(255, 255, 255, 0.36)', - 600: 'rgba(255, 255, 255, 0.48)', - 700: 'rgba(255, 255, 255, 0.64)', - 800: 'rgba(255, 255, 255, 0.80)', - 900: 'rgba(255, 255, 255, 0.92)', - }, - blackAlpha: { - 50: 'rgba(0, 0, 0, 0.04)', - 100: 'rgba(0, 0, 0, 0.06)', - 200: 'rgba(0, 0, 0, 0.08)', - 300: 'rgba(0, 0, 0, 0.16)', - 400: 'rgba(0, 0, 0, 0.24)', - 500: 'rgba(0, 0, 0, 0.36)', - 600: 'rgba(0, 0, 0, 0.48)', - 700: 'rgba(0, 0, 0, 0.64)', - 800: 'rgba(0, 0, 0, 0.80)', - 900: 'rgba(0, 0, 0, 0.92)', - }, - gray: { - 50: '#F7FAFC', - 100: '#EDF2F7', - 200: '#E2E8F0', - 300: '#CBD5E0', - 400: '#A0AEC0', - 500: '#718096', - 600: '#4A5568', - 700: '#2D3748', - 800: '#1A202C', - 900: '#171923', - }, - red: { - 50: '#FFF5F5', - 100: '#FED7D7', - 200: '#FEB2B2', - 300: '#FC8181', - 400: '#F56565', - 500: '#E53E3E', - 600: '#C53030', - 700: '#9B2C2C', - 800: '#822727', - 900: '#63171B', - }, - orange: { - 50: '#FFFAF0', - 100: '#FEEBC8', - 200: '#FBD38D', - 300: '#F6AD55', - 400: '#ED8936', - 500: '#DD6B20', - 600: '#C05621', - 700: '#9C4221', - 800: '#7B341E', - 900: '#652B19', - }, - yellow: { - 50: '#FFFFF0', - 100: '#FEFCBF', - 200: '#FAF089', - 300: '#F6E05E', - 400: '#ECC94B', - 500: '#D69E2E', - 600: '#B7791F', - 700: '#975A16', - 800: '#744210', - 900: '#5F370E', - }, - green: { - 50: '#F0FFF4', - 100: '#C6F6D5', - 200: '#9AE6B4', - 300: '#68D391', - 400: '#48BB78', - 500: '#38A169', - 600: '#2F855A', - 700: '#276749', - 800: '#22543D', - 900: '#1C4532', - }, - teal: { - 50: '#E6FFFA', - 100: '#B2F5EA', - 200: '#81E6D9', - 300: '#4FD1C5', - 400: '#38B2AC', - 500: '#319795', - 600: '#2C7A7B', - 700: '#285E61', - 800: '#234E52', - 900: '#1D4044', - }, - blue: { - 50: '#ebf8ff', - 100: '#bee3f8', - 200: '#90cdf4', - 300: '#63b3ed', - 400: '#4299e1', - 500: '#3182ce', - 600: '#2b6cb0', - 700: '#2c5282', - 800: '#2a4365', - 900: '#1A365D', - }, - cyan: { - 50: '#EDFDFD', - 100: '#C4F1F9', - 200: '#9DECF9', - 300: '#76E4F7', - 400: '#0BC5EA', - 500: '#00B5D8', - 600: '#00A3C4', - 700: '#0987A0', - 800: '#086F83', - 900: '#065666', - }, - purple: { - 50: '#FAF5FF', - 100: '#E9D8FD', - 200: '#D6BCFA', - 300: '#B794F4', - 400: '#9F7AEA', - 500: '#805AD5', - 600: '#6B46C1', - 700: '#553C9A', - 800: '#44337A', - 900: '#322659', - }, - pink: { - 50: '#FFF5F7', - 100: '#FED7E2', - 200: '#FBB6CE', - 300: '#F687B3', - 400: '#ED64A6', - 500: '#D53F8C', - 600: '#B83280', - 700: '#97266D', - 800: '#702459', - 900: '#521B41', - }, - linkedin: { - 50: '#E8F4F9', - 100: '#CFEDFB', - 200: '#9BDAF3', - 300: '#68C7EC', - 400: '#34B3E4', - 500: '#00A0DC', - 600: '#008CC9', - 700: '#0077B5', - 800: '#005E93', - 900: '#004471', - }, - facebook: { - 50: '#E8F4F9', - 100: '#D9DEE9', - 200: '#B7C2DA', - 300: '#6482C0', - 400: '#4267B2', - 500: '#385898', - 600: '#314E89', - 700: '#29487D', - 800: '#223B67', - 900: '#1E355B', - }, - messenger: { - 50: '#D0E6FF', - 100: '#B9DAFF', - 200: '#A2CDFF', - 300: '#7AB8FF', - 400: '#2E90FF', - 500: '#0078FF', - 600: '#0063D1', - 700: '#0052AC', - 800: '#003C7E', - 900: '#002C5C', - }, - whatsapp: { - 50: '#dffeec', - 100: '#b9f5d0', - 200: '#90edb3', - 300: '#65e495', - 400: '#3cdd78', - 500: '#22c35e', - 600: '#179848', - 700: '#0c6c33', - 800: '#01421c', - 900: '#001803', - }, - twitter: { - 50: '#E5F4FD', - 100: '#C8E9FB', - 200: '#A8DCFA', - 300: '#83CDF7', - 400: '#57BBF5', - 500: '#1DA1F2', - 600: '#1A94DA', - 700: '#1681BF', - 800: '#136B9E', - 900: '#0D4D71', - }, - telegram: { - 50: '#E3F2F9', - 100: '#C5E4F3', - 200: '#A2D4EC', - 300: '#7AC1E4', - 400: '#47A9DA', - 500: '#0088CC', - 600: '#007AB8', - 700: '#006BA1', - 800: '#005885', - 900: '#003F5E', - }, - }, - c = { - none: '0', - sm: '0.125rem', - base: '0.25rem', - md: '0.375rem', - lg: '0.5rem', - xl: '0.75rem', - '2xl': '1rem', - '3xl': '1.5rem', - full: '9999px', - }, - u = { - xs: '0 0 0 1px rgba(0, 0, 0, 0.05)', - sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)', - base: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)', - md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)', - lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)', - xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)', - '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)', - outline: '0 0 0 3px rgba(66, 153, 225, 0.6)', - inner: 'inset 0 2px 4px 0 rgba(0,0,0,0.06)', - none: 'none', - 'dark-lg': - 'rgba(0, 0, 0, 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.2) 0px 5px 10px, rgba(0, 0, 0, 0.4) 0px 15px 40px', - }, - d = t(4681), - f = t(4514), - p = { - property: { - common: - 'background-color, border-color, color, fill, stroke, opacity, box-shadow, transform', - colors: 'background-color, border-color, color, fill, stroke', - dimensions: 'width, height', - position: 'left, right, top, bottom', - background: 'background-color, background-image, background-position', - }, - easing: { - 'ease-in': 'cubic-bezier(0.4, 0, 1, 1)', - 'ease-out': 'cubic-bezier(0, 0, 0.2, 1)', - 'ease-in-out': 'cubic-bezier(0.4, 0, 0.2, 1)', - }, - duration: { - 'ultra-fast': '50ms', - faster: '100ms', - fast: '150ms', - normal: '200ms', - slow: '300ms', - slower: '400ms', - 'ultra-slow': '500ms', - }, - } - function h() { - return (h = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var b = h( - { - breakpoints: s, - zIndices: { - hide: -1, - auto: 'auto', - base: 0, - docked: 10, - dropdown: 1e3, - sticky: 1100, - banner: 1200, - overlay: 1300, - modal: 1400, - popover: 1500, - skipLink: 1600, - toast: 1700, - tooltip: 1800, - }, - radii: c, - blur: { - none: 0, - sm: '4px', - base: '8px', - md: '12px', - lg: '16px', - xl: '24px', - '2xl': '40px', - '3xl': '64px', - }, - colors: l, - }, - t(5268).Z, - { sizes: d.Z, shadows: u, space: f.W, borders: n, transition: p }, - ) - }, - 4681: function (r, e, t) { - 'use strict' - function n() { - return (n = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var o = n( - {}, - t(4514).W, - { - max: 'max-content', - min: 'min-content', - full: '100%', - '3xs': '14rem', - '2xs': '16rem', - xs: '20rem', - sm: '24rem', - md: '28rem', - lg: '32rem', - xl: '36rem', - '2xl': '42rem', - '3xl': '48rem', - '4xl': '56rem', - '5xl': '64rem', - '6xl': '72rem', - '7xl': '80rem', - '8xl': '90rem', - }, - { container: { sm: '640px', md: '768px', lg: '1024px', xl: '1280px' } }, - ) - e.Z = o - }, - 4514: function (r, e, t) { - 'use strict' - t.d(e, { - W: function () { - return n - }, - }) - var n = { - px: '1px', - 0.5: '0.125rem', - 1: '0.25rem', - 1.5: '0.375rem', - 2: '0.5rem', - 2.5: '0.625rem', - 3: '0.75rem', - 3.5: '0.875rem', - 4: '1rem', - 5: '1.25rem', - 6: '1.5rem', - 7: '1.75rem', - 8: '2rem', - 9: '2.25rem', - 10: '2.5rem', - 12: '3rem', - 14: '3.5rem', - 16: '4rem', - 20: '5rem', - 24: '6rem', - 28: '7rem', - 32: '8rem', - 36: '9rem', - 40: '10rem', - 44: '11rem', - 48: '12rem', - 52: '13rem', - 56: '14rem', - 60: '15rem', - 64: '16rem', - 72: '18rem', - 80: '20rem', - 96: '24rem', - } - }, - 5268: function (r, e) { - 'use strict' - e.Z = { - letterSpacings: { - tighter: '-0.05em', - tight: '-0.025em', - normal: '0', - wide: '0.025em', - wider: '0.05em', - widest: '0.1em', - }, - lineHeights: { - normal: 'normal', - none: 1, - shorter: 1.25, - short: 1.375, - base: 1.5, - tall: 1.625, - taller: '2', - 3: '.75rem', - 4: '1rem', - 5: '1.25rem', - 6: '1.5rem', - 7: '1.75rem', - 8: '2rem', - 9: '2.25rem', - 10: '2.5rem', - }, - fontWeights: { - hairline: 100, - thin: 200, - light: 300, - normal: 400, - medium: 500, - semibold: 600, - bold: 700, - extrabold: 800, - black: 900, - }, - fonts: { - heading: - '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"', - body: '-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"', - mono: 'SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace', - }, - fontSizes: { - xs: '0.75rem', - sm: '0.875rem', - md: '1rem', - lg: '1.125rem', - xl: '1.25rem', - '2xl': '1.5rem', - '3xl': '1.875rem', - '4xl': '2.25rem', - '5xl': '3rem', - '6xl': '3.75rem', - '7xl': '4.5rem', - '8xl': '6rem', - '9xl': '8rem', - }, - } - }, - 4806: function (r, e, t) { - 'use strict' - var n = t(3035), - o = t(2009), - a = t(1926), - i = t(3025) - function s() { - return (s = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - t.o(i, 'useTheme') && - t.d(e, { - useTheme: function () { - return i.useTheme - }, - }) - var l = s({ direction: 'ltr' }, o.Z, { - components: n.Z, - styles: a.Z, - config: { useSystemColorMode: !1, initialColorMode: 'light', cssVarPrefix: 'chakra' }, - }) - e.Z = l - }, - 1926: function (r, e, t) { - 'use strict' - var n = t(3108), - o = { - global: (r) => ({ - body: { - fontFamily: 'body', - color: (0, n.xJ)('gray.800', 'whiteAlpha.900')(r), - bg: (0, n.xJ)('white', 'gray.800')(r), - transitionProperty: 'background-color', - transitionDuration: 'normal', - lineHeight: 'base', - }, - '*::placeholder': { color: (0, n.xJ)('gray.400', 'whiteAlpha.400')(r) }, - '*, *::before, &::after': { - borderColor: (0, n.xJ)('gray.200', 'whiteAlpha.300')(r), - wordWrap: 'break-word', - }, - }), - } - e.Z = o - }, - 3025: function () {}, - 7277: function (r, e, t) { - 'use strict' - function n(r) { - var e = null == r ? 0 : r.length - return e ? r[e - 1] : void 0 - } - function o(r, e) { - return [...r, e] - } - function a(r, e) { - return r.filter((r) => r !== e) - } - function i(r, e, t, n) { - if (null == e) return n - if (!n) return r.find((r) => t(r).toLowerCase().startsWith(e.toLowerCase())) - var o, - a = r.filter((r) => t(r).toLowerCase().startsWith(e.toLowerCase())) - return a.length > 0 - ? a.includes(n) - ? ((o = a.indexOf(n) + 1) === a.length && (o = 0), a[o]) - : ((o = r.indexOf(a[0])), r[o]) - : n - } - t.d(e, { - s: function () { - return n - }, - jX: function () { - return o - }, - cl: function () { - return a - }, - LP: function () { - return i - }, - }) - }, - 3808: function (r, e, t) { - 'use strict' - function n(r) { - return 'number' === typeof r - } - function o(r) { - return 'number' !== typeof r || Number.isNaN(r) || !Number.isFinite(r) - } - function a(r) { - return Array.isArray(r) - } - function i(r) { - return 'function' === typeof r - } - function s(r) { - return 'undefined' === typeof r || void 0 === r - } - function l(r) { - var e = typeof r - return null != r && ('object' === e || 'function' === e) && !a(r) - } - function c(r) { - return l(r) && 0 === Object.keys(r).length - } - function u(r) { - return '[object String]' === Object.prototype.toString.call(r) - } - function d(r) { - return /^var\(--.+\)$/.test(r) - } - t.d(e, { - hj: function () { - return n - }, - iy: function () { - return o - }, - kJ: function () { - return a - }, - mf: function () { - return i - }, - o8: function () { - return s - }, - Kn: function () { - return l - }, - Qr: function () { - return c - }, - HD: function () { - return u - }, - FS: function () { - return d - }, - Ts: function () { - return f - }, - Ys: function () { - return p - }, - }) - var f = !1, - p = !1 - }, - 8456: function (r, e, t) { - 'use strict' - t.d(e, { - px: function () { - return i - }, - y: function () { - return d - }, - }) - var n = t(7277), - o = t(3808), - a = t(5505) - function i(r) { - if (null == r) return r - var { unitless: e } = (function (r) { - var e = parseFloat(r.toString()), - t = r.toString().replace(String(e), '') - return { unitless: !t, value: e, unit: t } - })(r) - return e || (0, o.hj)(r) ? r + 'px' : r - } - var s = (r, e) => (parseInt(r[1], 10) > parseInt(e[1], 10) ? 1 : -1), - l = (r) => (0, a.sq)(Object.entries(r).sort(s)) - function c(r) { - var e = l(r) - return Object.assign(Object.values(e), e) - } - function u(r, e) { - var t = [] - return ( - r && t.push('@media screen and (min-width: ' + i(r) + ')'), - t.length > 0 && e && t.push('and'), - e && t.push('@media screen and (max-width: ' + i(e) + ')'), - t.join(' ') - ) - } - function d(r) { - var e - if (!r) return null - r.base = null != (e = r.base) ? e : '0px' - var t = c(r), - a = Object.entries(r) - .sort(s) - .map((r, e, t) => { - var n, - [a, s] = r, - [, l] = null != (n = t[e + 1]) ? n : [] - return { - breakpoint: a, - minW: s, - maxW: (l = - parseFloat(l) > 0 - ? (function (r) { - var e - if (!r) return r - var t = (r = null != (e = i(r)) ? e : r).endsWith('px') ? -1 : -0.0635 - return (0, o.hj)(r) - ? '' + (r + t) - : r.replace(/([0-9]+\.?[0-9]*)/, (r) => '' + (parseFloat(r) + t)) - })(l) - : void 0), - maxWQuery: u(null, l), - minWQuery: u(s), - minMaxQuery: u(s, l), - } - }), - d = (function (r) { - var e = Object.keys(l(r)) - return new Set(e) - })(r), - f = Array.from(d.values()) - return { - keys: d, - normalized: t, - isResponsive(r) { - var e = Object.keys(r) - return e.length > 0 && e.every((r) => d.has(r)) - }, - asObject: l(r), - asArray: c(r), - details: a, - media: [null, ...t.map((r) => u(r)).slice(1)], - toArrayValue(r) { - if (!(0, o.Kn)(r)) throw new Error('toArrayValue: value must be an object') - for ( - var e = f.map((e) => { - var t - return null != (t = r[e]) ? t : null - }); - null === (0, n.s)(e); - - ) - e.pop() - return e - }, - toObjectValue(r) { - if (!Array.isArray(r)) throw new Error('toObjectValue: value must be an array') - return r.reduce((r, e, t) => { - var n = f[t] - return null != n && null != e && (r[n] = e), r - }, {}) - }, - } - } - }, - 4461: function (r, e, t) { - 'use strict' - function n(r) { - var e - return r instanceof Element && null != (e = r.ownerDocument) ? e : document - } - t.d(e, { - lZ: function () { - return n - }, - jU: function () { - return o - }, - PB: function () { - return a - }, - Qm: function () { - return i - }, - cx: function () { - return s - }, - vY: function () { - return l - }, - r3: function () { - return c - }, - EV: function () { - return u - }, - uh: function () { - return d - }, - dO: function () { - return f - }, - }) - var o = !( - 'undefined' === typeof window || - !window.document || - !window.document.createElement - ), - a = (r) => (r ? '' : void 0), - i = (r) => !!r || void 0, - s = function () { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return e.filter(Boolean).join(' ') - } - function l(r) { - var e = n(r) - return null == e ? void 0 : e.activeElement - } - function c(r, e) { - return !!r && (r === e || r.contains(e)) - } - function u(r, e, t, n) { - return ( - r.addEventListener(e, t, n), - () => { - r.removeEventListener(e, t, n) - } - ) - } - function d(r) { - var { key: e, keyCode: t } = r - return t >= 37 && t <= 40 && 0 !== e.indexOf('Arrow') ? 'Arrow' + e : e - } - function f(r) { - return 0 !== r.button - } - }, - 658: function (r, e, t) { - 'use strict' - t.d(e, { - Pu: function () { - return o - }, - v0: function () { - return a - }, - ZT: function () { - return s - }, - ZK: function () { - return l - }, - A4: function () { - return c - }, - zG: function () { - return u - }, - TE: function () { - return p - }, - }) - var n = t(3808) - function o(r) { - for (var e = arguments.length, t = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++) - t[o - 1] = arguments[o] - return (0, n.mf)(r) ? r(...t) : r - } - function a() { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return function (r) { - e.some((e) => (null == e || e(r), null == r ? void 0 : r.defaultPrevented)) - } - } - function i(r) { - var e - return function () { - if (r) { - for (var t = arguments.length, n = new Array(t), o = 0; o < t; o++) n[o] = arguments[o] - ;(e = r.apply(this, n)), (r = null) - } - return e - } - } - var s = () => {}, - l = i((r) => () => { - var { condition: e, message: t } = r - e && n.Ts && console.warn(t) - }), - c = - (i((r) => () => { - var { condition: e, message: t } = r - e && n.Ts && console.error(t) - }), - n.Ys - ? (r) => r() - : 'function' === typeof queueMicrotask - ? queueMicrotask - : (r) => { - Promise.resolve().then(r) - }), - u = function () { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return (r) => e.reduce((r, e) => e(r), r) - }, - d = (r, e) => Math.abs(r - e), - f = (r) => 'x' in r && 'y' in r - function p(r, e) { - if ((0, n.hj)(r) && (0, n.hj)(e)) return d(r, e) - if (f(r) && f(e)) { - var t = d(r.x, e.x), - o = d(r.y, e.y) - return Math.sqrt(t ** 2 + o ** 2) - } - return 0 - } - }, - 5505: function (r, e, t) { - 'use strict' - t.d(e, { - CE: function () { - return n - }, - ei: function () { - return o - }, - Vl: function () { - return a - }, - Wf: function () { - return i - }, - lw: function () { - return s - }, - YU: function () { - return l - }, - Yd: function () { - return c - }, - sq: function () { - return u - }, - K1: function () { - return d - }, - }) - t(8554) - function n(r, e) { - var t = {} - return ( - Object.keys(r).forEach((n) => { - e.includes(n) || (t[n] = r[n]) - }), - t - ) - } - function o(r, e) { - var t = {} - return ( - e.forEach((e) => { - e in r && (t[e] = r[e]) - }), - t - ) - } - function a(r, e) { - var t = {}, - n = {} - return ( - Object.keys(r).forEach((o) => { - e.includes(o) ? (t[o] = r[o]) : (n[o] = r[o]) - }), - [t, n] - ) - } - var i = ((r) => { - var e = new WeakMap() - return (t, n, o, a) => { - if ('undefined' === typeof t) return r(t, n, o) - e.has(t) || e.set(t, new Map()) - var i = e.get(t) - if (i.has(n)) return i.get(n) - var s = r(t, n, o, a) - return i.set(n, s), s - } - })(function (r, e, t, n) { - var o = 'string' === typeof e ? e.split('.') : [e] - for (n = 0; n < o.length && r; n += 1) r = r[o[n]] - return void 0 === r ? t : r - }) - function s(r, e) { - var t = {} - return ( - Object.keys(r).forEach((n) => { - var o = r[n] - e(o, n, r) && (t[n] = o) - }), - t - ) - } - var l = (r) => s(r, (r) => null !== r && void 0 !== r), - c = (r) => Object.keys(r), - u = (r) => - r.reduce((r, e) => { - var [t, n] = e - return (r[t] = n), r - }, {}), - d = (r, e, t) => { - var n, o - return null != (n = null == (o = r.__cssMap[e + '.' + t]) ? void 0 : o.varRef) ? n : t - } - }, - 9152: function (r, e, t) { - 'use strict' - t.d(e, { - Z: function () { - return er - }, - }) - var n = t(1526), - o = Math.abs, - a = String.fromCharCode - function i(r) { - return r.trim() - } - function s(r, e, t) { - return r.replace(e, t) - } - function l(r, e) { - return r.indexOf(e) - } - function c(r, e) { - return 0 | r.charCodeAt(e) - } - function u(r, e, t) { - return r.slice(e, t) - } - function d(r) { - return r.length - } - function f(r) { - return r.length - } - function p(r, e) { - return e.push(r), r - } - var h = 1, - b = 1, - g = 0, - m = 0, - v = 0, - y = '' - function x(r, e, t, n, o, a, i) { - return { - value: r, - root: e, - parent: t, - type: n, - props: o, - children: a, - line: h, - column: b, - length: i, - return: '', - } - } - function w(r, e, t) { - return x(r, e.root, e.parent, t, e.props, e.children, 0) - } - function k() { - return (v = m > 0 ? c(y, --m) : 0), b--, 10 === v && ((b = 1), h--), v - } - function S() { - return (v = m < g ? c(y, m++) : 0), b++, 10 === v && ((b = 1), h++), v - } - function _() { - return c(y, m) - } - function C() { - return m - } - function A(r, e) { - return u(y, r, e) - } - function E(r) { - switch (r) { - case 0: - case 9: - case 10: - case 13: - case 32: - return 5 - case 33: - case 43: - case 44: - case 47: - case 62: - case 64: - case 126: - case 59: - case 123: - case 125: - return 4 - case 58: - return 3 - case 34: - case 39: - case 40: - case 91: - return 2 - case 41: - case 93: - return 1 - } - return 0 - } - function z(r) { - return (h = b = 1), (g = d((y = r))), (m = 0), [] - } - function R(r) { - return (y = ''), r - } - function B(r) { - return i(A(m - 1, T(91 === r ? r + 2 : 40 === r ? r + 1 : r))) - } - function j(r) { - for (; (v = _()) && v < 33; ) S() - return E(r) > 2 || E(v) > 3 ? '' : ' ' - } - function O(r, e) { - for (; --e && S() && !(v < 48 || v > 102 || (v > 57 && v < 65) || (v > 70 && v < 97)); ); - return A(r, C() + (e < 6 && 32 == _() && 32 == S())) - } - function T(r) { - for (; S(); ) - switch (v) { - case r: - return m - case 34: - case 39: - return T(34 === r || 39 === r ? r : v) - case 40: - 41 === r && T(r) - break - case 92: - S() - } - return m - } - function F(r, e) { - for (; S() && r + v !== 57 && (r + v !== 84 || 47 !== _()); ); - return '/*' + A(e, m - 1) + '*' + a(47 === r ? r : S()) - } - function P(r) { - for (; !E(_()); ) S() - return A(r, m) - } - var I = '-ms-', - M = '-moz-', - D = '-webkit-', - W = 'comm', - J = 'rule', - L = 'decl' - function H(r, e) { - for (var t = '', n = f(r), o = 0; o < n; o++) t += e(r[o], o, r, e) || '' - return t - } - function N(r, e, t, n) { - switch (r.type) { - case '@import': - case L: - return (r.return = r.return || r.value) - case W: - return '' - case J: - r.value = r.props.join(',') - } - return d((t = H(r.children, n))) ? (r.return = r.value + '{' + t + '}') : '' - } - function $(r, e) { - switch ( - (function (r, e) { - return (((((((e << 2) ^ c(r, 0)) << 2) ^ c(r, 1)) << 2) ^ c(r, 2)) << 2) ^ c(r, 3) - })(r, e) - ) { - case 5103: - return D + 'print-' + r + r - case 5737: - case 4201: - case 3177: - case 3433: - case 1641: - case 4457: - case 2921: - case 5572: - case 6356: - case 5844: - case 3191: - case 6645: - case 3005: - case 6391: - case 5879: - case 5623: - case 6135: - case 4599: - case 4855: - case 4215: - case 6389: - case 5109: - case 5365: - case 5621: - case 3829: - return D + r + r - case 5349: - case 4246: - case 4810: - case 6968: - case 2756: - return D + r + M + r + I + r + r - case 6828: - case 4268: - return D + r + I + r + r - case 6165: - return D + r + I + 'flex-' + r + r - case 5187: - return D + r + s(r, /(\w+).+(:[^]+)/, '-webkit-box-$1$2-ms-flex-$1$2') + r - case 5443: - return D + r + I + 'flex-item-' + s(r, /flex-|-self/, '') + r - case 4675: - return D + r + I + 'flex-line-pack' + s(r, /align-content|flex-|-self/, '') + r - case 5548: - return D + r + I + s(r, 'shrink', 'negative') + r - case 5292: - return D + r + I + s(r, 'basis', 'preferred-size') + r - case 6060: - return D + 'box-' + s(r, '-grow', '') + D + r + I + s(r, 'grow', 'positive') + r - case 4554: - return D + s(r, /([^-])(transform)/g, '$1-webkit-$2') + r - case 6187: - return s(s(s(r, /(zoom-|grab)/, D + '$1'), /(image-set)/, D + '$1'), r, '') + r - case 5495: - case 3959: - return s(r, /(image-set\([^]*)/, D + '$1$`$1') - case 4968: - return ( - s( - s(r, /(.+:)(flex-)?(.*)/, '-webkit-box-pack:$3-ms-flex-pack:$3'), - /s.+-b[^;]+/, - 'justify', - ) + - D + - r + - r - ) - case 4095: - case 3583: - case 4068: - case 2532: - return s(r, /(.+)-inline(.+)/, D + '$1$2') + r - case 8116: - case 7059: - case 5753: - case 5535: - case 5445: - case 5701: - case 4933: - case 4677: - case 5533: - case 5789: - case 5021: - case 4765: - if (d(r) - 1 - e > 6) - switch (c(r, e + 1)) { - case 109: - if (45 !== c(r, e + 4)) break - case 102: - return ( - s( - r, - /(.+:)(.+)-([^]+)/, - '$1-webkit-$2-$3$1' + M + (108 == c(r, e + 3) ? '$3' : '$2-$3'), - ) + r - ) - case 115: - return ~l(r, 'stretch') ? $(s(r, 'stretch', 'fill-available'), e) + r : r - } - break - case 4949: - if (115 !== c(r, e + 1)) break - case 6444: - switch (c(r, d(r) - 3 - (~l(r, '!important') && 10))) { - case 107: - return s(r, ':', ':' + D) + r - case 101: - return ( - s( - r, - /(.+:)([^;!]+)(;|!.+)?/, - '$1' + - D + - (45 === c(r, 14) ? 'inline-' : '') + - 'box$3$1' + - D + - '$2$3$1' + - I + - '$2box$3', - ) + r - ) - } - break - case 5936: - switch (c(r, e + 11)) { - case 114: - return D + r + I + s(r, /[svh]\w+-[tblr]{2}/, 'tb') + r - case 108: - return D + r + I + s(r, /[svh]\w+-[tblr]{2}/, 'tb-rl') + r - case 45: - return D + r + I + s(r, /[svh]\w+-[tblr]{2}/, 'lr') + r - } - return D + r + I + r + r - } - return r - } - function Z(r) { - return R(V('', null, null, null, [''], (r = z(r)), 0, [0], r)) - } - function V(r, e, t, n, o, i, l, c, u) { - for ( - var f = 0, - h = 0, - b = l, - g = 0, - m = 0, - v = 0, - y = 1, - x = 1, - w = 1, - A = 0, - E = '', - z = o, - R = i, - T = n, - I = E; - x; - - ) - switch (((v = A), (A = S()))) { - case 34: - case 39: - case 91: - case 40: - I += B(A) - break - case 9: - case 10: - case 13: - case 32: - I += j(v) - break - case 92: - I += O(C() - 1, 7) - continue - case 47: - switch (_()) { - case 42: - case 47: - p(X(F(S(), C()), e, t), u) - break - default: - I += '/' - } - break - case 123 * y: - c[f++] = d(I) * w - case 125 * y: - case 59: - case 0: - switch (A) { - case 0: - case 125: - x = 0 - case 59 + h: - m > 0 && - d(I) - b && - p(m > 32 ? Y(I + ';', n, t, b - 1) : Y(s(I, ' ', '') + ';', n, t, b - 2), u) - break - case 59: - I += ';' - default: - if ((p((T = q(I, e, t, f, h, o, c, E, (z = []), (R = []), b)), i), 123 === A)) - if (0 === h) V(I, e, T, T, z, i, b, c, R) - else - switch (g) { - case 100: - case 109: - case 115: - V( - r, - T, - T, - n && p(q(r, T, T, 0, 0, o, c, E, o, (z = []), b), R), - o, - R, - b, - c, - n ? z : R, - ) - break - default: - V(I, T, T, T, [''], R, b, c, R) - } - } - ;(f = h = m = 0), (y = w = 1), (E = I = ''), (b = l) - break - case 58: - ;(b = 1 + d(I)), (m = v) - default: - if (y < 1) - if (123 == A) --y - else if (125 == A && 0 == y++ && 125 == k()) continue - switch (((I += a(A)), A * y)) { - case 38: - w = h > 0 ? 1 : ((I += '\f'), -1) - break - case 44: - ;(c[f++] = (d(I) - 1) * w), (w = 1) - break - case 64: - 45 === _() && (I += B(S())), (g = _()), (h = d((E = I += P(C())))), A++ - break - case 45: - 45 === v && 2 == d(I) && (y = 0) - } - } - return i - } - function q(r, e, t, n, a, l, c, d, p, h, b) { - for (var g = a - 1, m = 0 === a ? l : [''], v = f(m), y = 0, w = 0, k = 0; y < n; ++y) - for (var S = 0, _ = u(r, g + 1, (g = o((w = c[y])))), C = r; S < v; ++S) - (C = i(w > 0 ? m[S] + ' ' + _ : s(_, /&\f/g, m[S]))) && (p[k++] = C) - return x(r, e, t, 0 === a ? J : d, p, h, b) - } - function X(r, e, t) { - return x(r, e, t, W, a(v), u(r, 2, -2), 0) - } - function Y(r, e, t, n) { - return x(r, e, t, L, u(r, 0, n), u(r, n + 1, -1), n) - } - var G = function (r, e) { - return R( - (function (r, e) { - var t = -1, - n = 44 - do { - switch (E(n)) { - case 0: - 38 === n && 12 === _() && (e[t] = 1), (r[t] += P(m - 1)) - break - case 2: - r[t] += B(n) - break - case 4: - if (44 === n) { - ;(r[++t] = 58 === _() ? '&\f' : ''), (e[t] = r[t].length) - break - } - default: - r[t] += a(n) - } - } while ((n = S())) - return r - })(z(r), e), - ) - }, - U = new WeakMap(), - K = function (r) { - if ('rule' === r.type && r.parent && r.length) { - for ( - var e = r.value, t = r.parent, n = r.column === t.column && r.line === t.line; - 'rule' !== t.type; - - ) - if (!(t = t.parent)) return - if ((1 !== r.props.length || 58 === e.charCodeAt(0) || U.get(t)) && !n) { - U.set(r, !0) - for (var o = [], a = G(e, o), i = t.props, s = 0, l = 0; s < a.length; s++) - for (var c = 0; c < i.length; c++, l++) - r.props[l] = o[s] ? a[s].replace(/&\f/g, i[c]) : i[c] + ' ' + a[s] - } - } - }, - Q = function (r) { - if ('decl' === r.type) { - var e = r.value - 108 === e.charCodeAt(0) && 98 === e.charCodeAt(2) && ((r.return = ''), (r.value = '')) - } - }, - rr = [ - function (r, e, t, n) { - if (!r.return) - switch (r.type) { - case L: - r.return = $(r.value, r.length) - break - case '@keyframes': - return H([w(s(r.value, '@', '@' + D), r, '')], n) - case J: - if (r.length) - return (function (r, e) { - return r.map(e).join('') - })(r.props, function (e) { - switch ( - (function (r, e) { - return (r = e.exec(r)) ? r[0] : r - })(e, /(::plac\w+|:read-\w+)/) - ) { - case ':read-only': - case ':read-write': - return H([w(s(e, /:(read-\w+)/, ':-moz-$1'), r, '')], n) - case '::placeholder': - return H( - [ - w(s(e, /:(plac\w+)/, ':-webkit-input-$1'), r, ''), - w(s(e, /:(plac\w+)/, ':-moz-$1'), r, ''), - w(s(e, /:(plac\w+)/, I + 'input-$1'), r, ''), - ], - n, - ) - } - return '' - }) - } - }, - ], - er = function (r) { - var e = r.key - if ('css' === e) { - var t = document.querySelectorAll('style[data-emotion]:not([data-s])') - Array.prototype.forEach.call(t, function (r) { - ;-1 !== r.getAttribute('data-emotion').indexOf(' ') && - (document.head.appendChild(r), r.setAttribute('data-s', '')) - }) - } - var o = r.stylisPlugins || rr - var a, - i, - s = {}, - l = [] - ;(a = r.container || document.head), - Array.prototype.forEach.call( - document.querySelectorAll('style[data-emotion^="' + e + ' "]'), - function (r) { - for (var e = r.getAttribute('data-emotion').split(' '), t = 1; t < e.length; t++) - s[e[t]] = !0 - l.push(r) - }, - ) - var c, - u, - d = [ - N, - ((u = function (r) { - c.insert(r) - }), - function (r) { - r.root || ((r = r.return) && u(r)) - }), - ], - p = (function (r) { - var e = f(r) - return function (t, n, o, a) { - for (var i = '', s = 0; s < e; s++) i += r[s](t, n, o, a) || '' - return i - } - })([K, Q].concat(o, d)) - i = function (r, e, t, n) { - ;(c = t), - H(Z(r ? r + '{' + e.styles + '}' : e.styles), p), - n && (h.inserted[e.name] = !0) - } - var h = { - key: e, - sheet: new n.m({ - key: e, - container: a, - nonce: r.nonce, - speedy: r.speedy, - prepend: r.prepend, - }), - nonce: r.nonce, - inserted: s, - registered: {}, - insert: i, - } - return h.sheet.hydrate(l), h - } - }, - 7866: function (r, e) { - 'use strict' - e.Z = function (r) { - var e = Object.create(null) - return function (t) { - return void 0 === e[t] && (e[t] = r(t)), e[t] - } - } - }, - 2544: function (r, e, t) { - 'use strict' - t.d(e, { - T: function () { - return c - }, - a: function () { - return d - }, - w: function () { - return l - }, - }) - var n = t(7294), - o = t(9152) - function a() { - return (a = - Object.assign || - function (r) { - for (var e = 1; e < arguments.length; e++) { - var t = arguments[e] - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]) - } - return r - }).apply(this, arguments) - } - var i = function (r) { - var e = new WeakMap() - return function (t) { - if (e.has(t)) return e.get(t) - var n = r(t) - return e.set(t, n), n - } - }, - s = - (t(4199), - Object.prototype.hasOwnProperty, - (0, n.createContext)( - 'undefined' !== typeof HTMLElement ? (0, o.Z)({ key: 'css' }) : null, - )), - l = - (s.Provider, - function (r) { - return (0, n.forwardRef)(function (e, t) { - var o = (0, n.useContext)(s) - return r(e, o, t) - }) - }), - c = (0, n.createContext)({}), - u = i(function (r) { - return i(function (e) { - return (function (r, e) { - return 'function' === typeof e ? e(r) : a({}, r, e) - })(r, e) - }) - }), - d = function (r) { - var e = (0, n.useContext)(c) - return ( - r.theme !== e && (e = u(e)(r.theme)), - (0, n.createElement)(c.Provider, { value: e }, r.children) - ) - } - }, - 917: function (r, e, t) { - 'use strict' - t.d(e, { - xB: function () { - return l - }, - F4: function () { - return u - }, - }) - var n = t(7294), - o = (t(9152), t(2544)), - a = (t(8679), t(444)), - i = t(4199), - s = t(1526), - l = (0, o.w)(function (r, e) { - var t = r.styles, - l = (0, i.O)( - [t], - void 0, - 'function' === typeof t || Array.isArray(t) ? (0, n.useContext)(o.T) : void 0, - ), - c = (0, n.useRef)() - return ( - (0, n.useLayoutEffect)( - function () { - var r = e.key + '-global', - t = new s.m({ - key: r, - nonce: e.sheet.nonce, - container: e.sheet.container, - speedy: e.sheet.isSpeedy, - }), - n = !1, - o = document.querySelector('style[data-emotion="' + r + ' ' + l.name + '"]') - return ( - e.sheet.tags.length && (t.before = e.sheet.tags[0]), - null !== o && ((n = !0), o.setAttribute('data-emotion', r), t.hydrate([o])), - (c.current = [t, n]), - function () { - t.flush() - } - ) - }, - [e], - ), - (0, n.useLayoutEffect)( - function () { - var r = c.current, - t = r[0] - if (r[1]) r[1] = !1 - else { - if ((void 0 !== l.next && (0, a.M)(e, l.next, !0), t.tags.length)) { - var n = t.tags[t.tags.length - 1].nextElementSibling - ;(t.before = n), t.flush() - } - e.insert('', l, t, !1) - } - }, - [e, l.name], - ), - null - ) - }) - function c() { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return (0, i.O)(e) - } - var u = function () { - var r = c.apply(void 0, arguments), - e = 'animation-' + r.name - return { - name: e, - styles: '@keyframes ' + e + '{' + r.styles + '}', - anim: 1, - toString: function () { - return '_EMO_' + this.name + '_' + this.styles + '_EMO_' - }, - } - } - }, - 4199: function (r, e, t) { - 'use strict' - t.d(e, { - O: function () { - return b - }, - }) - var n = function (r) { - for (var e, t = 0, n = 0, o = r.length; o >= 4; ++n, o -= 4) - (e = - 1540483477 * - (65535 & - (e = - (255 & r.charCodeAt(n)) | - ((255 & r.charCodeAt(++n)) << 8) | - ((255 & r.charCodeAt(++n)) << 16) | - ((255 & r.charCodeAt(++n)) << 24))) + - ((59797 * (e >>> 16)) << 16)), - (t = - (1540483477 * (65535 & (e ^= e >>> 24)) + ((59797 * (e >>> 16)) << 16)) ^ - (1540483477 * (65535 & t) + ((59797 * (t >>> 16)) << 16))) - switch (o) { - case 3: - t ^= (255 & r.charCodeAt(n + 2)) << 16 - case 2: - t ^= (255 & r.charCodeAt(n + 1)) << 8 - case 1: - t = 1540483477 * (65535 & (t ^= 255 & r.charCodeAt(n))) + ((59797 * (t >>> 16)) << 16) - } - return ( - ((t = 1540483477 * (65535 & (t ^= t >>> 13)) + ((59797 * (t >>> 16)) << 16)) ^ - (t >>> 15)) >>> - 0 - ).toString(36) - }, - o = { - 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, - }, - a = t(7866), - i = /[A-Z]|^ms/g, - s = /_EMO_([^_]+?)_([^]*?)_EMO_/g, - l = function (r) { - return 45 === r.charCodeAt(1) - }, - c = function (r) { - return null != r && 'boolean' !== typeof r - }, - u = (0, a.Z)(function (r) { - return l(r) ? r : r.replace(i, '-$&').toLowerCase() - }), - d = function (r, e) { - switch (r) { - case 'animation': - case 'animationName': - if ('string' === typeof e) - return e.replace(s, function (r, e, t) { - return (p = { name: e, styles: t, next: p }), e - }) - } - return 1 === o[r] || l(r) || 'number' !== typeof e || 0 === e ? e : e + 'px' - } - function f(r, e, t) { - if (null == t) return '' - if (void 0 !== t.__emotion_styles) return t - switch (typeof t) { - case 'boolean': - return '' - case 'object': - if (1 === t.anim) return (p = { name: t.name, styles: t.styles, next: p }), t.name - if (void 0 !== t.styles) { - var n = t.next - if (void 0 !== n) - for (; void 0 !== n; ) - (p = { name: n.name, styles: n.styles, next: p }), (n = n.next) - return t.styles + ';' - } - return (function (r, e, t) { - var n = '' - if (Array.isArray(t)) for (var o = 0; o < t.length; o++) n += f(r, e, t[o]) + ';' - else - for (var a in t) { - var i = t[a] - if ('object' !== typeof i) - null != e && void 0 !== e[i] - ? (n += a + '{' + e[i] + '}') - : c(i) && (n += u(a) + ':' + d(a, i) + ';') - else if ( - !Array.isArray(i) || - 'string' !== typeof i[0] || - (null != e && void 0 !== e[i[0]]) - ) { - var s = f(r, e, i) - switch (a) { - case 'animation': - case 'animationName': - n += u(a) + ':' + s + ';' - break - default: - n += a + '{' + s + '}' - } - } else - for (var l = 0; l < i.length; l++) - c(i[l]) && (n += u(a) + ':' + d(a, i[l]) + ';') - } - return n - })(r, e, t) - case 'function': - if (void 0 !== r) { - var o = p, - a = t(r) - return (p = o), f(r, e, a) - } - break - case 'string': - } - if (null == e) return t - var i = e[t] - return void 0 !== i ? i : t - } - var p, - h = /label:\s*([^\s;\n{]+)\s*(;|$)/g - var b = function (r, e, t) { - if (1 === r.length && 'object' === typeof r[0] && null !== r[0] && void 0 !== r[0].styles) - return r[0] - var o = !0, - a = '' - p = void 0 - var i = r[0] - null == i || void 0 === i.raw ? ((o = !1), (a += f(t, e, i))) : (a += i[0]) - for (var s = 1; s < r.length; s++) (a += f(t, e, r[s])), o && (a += i[s]) - h.lastIndex = 0 - for (var l, c = ''; null !== (l = h.exec(a)); ) c += '-' + l[1] - return { name: n(a) + c, styles: a, next: p } - } - }, - 1526: function (r, e, t) { - 'use strict' - t.d(e, { - m: function () { - return n - }, - }) - var n = (function () { - function r(r) { - var e = this - ;(this._insertTag = function (r) { - var t - ;(t = - 0 === e.tags.length - ? e.prepend - ? e.container.firstChild - : e.before - : e.tags[e.tags.length - 1].nextSibling), - e.container.insertBefore(r, t), - e.tags.push(r) - }), - (this.isSpeedy = void 0 === r.speedy || r.speedy), - (this.tags = []), - (this.ctr = 0), - (this.nonce = r.nonce), - (this.key = r.key), - (this.container = r.container), - (this.prepend = r.prepend), - (this.before = null) - } - var e = r.prototype - return ( - (e.hydrate = function (r) { - r.forEach(this._insertTag) - }), - (e.insert = function (r) { - this.ctr % (this.isSpeedy ? 65e3 : 1) === 0 && - this._insertTag( - (function (r) { - var e = document.createElement('style') - return ( - e.setAttribute('data-emotion', r.key), - void 0 !== r.nonce && e.setAttribute('nonce', r.nonce), - e.appendChild(document.createTextNode('')), - e.setAttribute('data-s', ''), - e - ) - })(this), - ) - var e = this.tags[this.tags.length - 1] - if (this.isSpeedy) { - var t = (function (r) { - if (r.sheet) return r.sheet - for (var e = 0; e < document.styleSheets.length; e++) - if (document.styleSheets[e].ownerNode === r) return document.styleSheets[e] - })(e) - try { - t.insertRule(r, t.cssRules.length) - } catch (n) { - 0 - } - } else e.appendChild(document.createTextNode(r)) - this.ctr++ - }), - (e.flush = function () { - this.tags.forEach(function (r) { - return r.parentNode.removeChild(r) - }), - (this.tags = []), - (this.ctr = 0) - }), - r - ) - })() - }, - 444: function (r, e, t) { - 'use strict' - t.d(e, { - f: function () { - return n - }, - M: function () { - return o - }, - }) - function n(r, e, t) { - var n = '' - return ( - t.split(' ').forEach(function (t) { - void 0 !== r[t] ? e.push(r[t] + ';') : (n += t + ' ') - }), - n - ) - } - var o = function (r, e, t) { - var n = r.key + '-' + e.name - if ( - (!1 === t && void 0 === r.registered[n] && (r.registered[n] = e.styles), - void 0 === r.inserted[e.name]) - ) { - var o = e - do { - r.insert(e === o ? '.' + n : '', o, r.sheet, !0) - o = o.next - } while (void 0 !== o) - } - } - }, - 8679: function (r, e, t) { - 'use strict' - var n = t(9864), - o = { - childContextTypes: !0, - contextType: !0, - contextTypes: !0, - defaultProps: !0, - displayName: !0, - getDefaultProps: !0, - getDerivedStateFromError: !0, - getDerivedStateFromProps: !0, - mixins: !0, - propTypes: !0, - type: !0, - }, - a = { - name: !0, - length: !0, - prototype: !0, - caller: !0, - callee: !0, - arguments: !0, - arity: !0, - }, - i = { - $$typeof: !0, - compare: !0, - defaultProps: !0, - displayName: !0, - propTypes: !0, - type: !0, - }, - s = {} - function l(r) { - return n.isMemo(r) ? i : s[r.$$typeof] || o - } - ;(s[n.ForwardRef] = { - $$typeof: !0, - render: !0, - defaultProps: !0, - displayName: !0, - propTypes: !0, - }), - (s[n.Memo] = i) - var c = Object.defineProperty, - u = Object.getOwnPropertyNames, - d = Object.getOwnPropertySymbols, - f = Object.getOwnPropertyDescriptor, - p = Object.getPrototypeOf, - h = Object.prototype - r.exports = function r(e, t, n) { - if ('string' !== typeof t) { - if (h) { - var o = p(t) - o && o !== h && r(e, o, n) - } - var i = u(t) - d && (i = i.concat(d(t))) - for (var s = l(e), b = l(t), g = 0; g < i.length; ++g) { - var m = i[g] - if (!a[m] && (!n || !n[m]) && (!b || !b[m]) && (!s || !s[m])) { - var v = f(t, m) - try { - c(e, m, v) - } catch (y) {} - } - } - } - return e - } - }, - 8554: function (r, e, t) { - r = t.nmd(r) - var n = '__lodash_hash_undefined__', - o = 9007199254740991, - a = '[object Arguments]', - i = '[object Function]', - s = '[object Object]', - l = /^\[object .+?Constructor\]$/, - c = /^(?:0|[1-9]\d*)$/, - u = {} - ;(u['[object Float32Array]'] = - u['[object Float64Array]'] = - u['[object Int8Array]'] = - u['[object Int16Array]'] = - u['[object Int32Array]'] = - u['[object Uint8Array]'] = - u['[object Uint8ClampedArray]'] = - u['[object Uint16Array]'] = - u['[object Uint32Array]'] = - !0), - (u[a] = - u['[object Array]'] = - u['[object ArrayBuffer]'] = - u['[object Boolean]'] = - u['[object DataView]'] = - u['[object Date]'] = - u['[object Error]'] = - u[i] = - u['[object Map]'] = - u['[object Number]'] = - u[s] = - u['[object RegExp]'] = - u['[object Set]'] = - u['[object String]'] = - u['[object WeakMap]'] = - !1) - var d = 'object' == typeof t.g && t.g && t.g.Object === Object && t.g, - f = 'object' == typeof self && self && self.Object === Object && self, - p = d || f || Function('return this')(), - h = e && !e.nodeType && e, - b = h && r && !r.nodeType && r, - g = b && b.exports === h, - m = g && d.process, - v = (function () { - try { - var r = b && b.require && b.require('util').types - return r || (m && m.binding && m.binding('util')) - } catch (e) {} - })(), - y = v && v.isTypedArray - function x(r, e, t) { - switch (t.length) { - case 0: - return r.call(e) - case 1: - return r.call(e, t[0]) - case 2: - return r.call(e, t[0], t[1]) - case 3: - return r.call(e, t[0], t[1], t[2]) - } - return r.apply(e, t) - } - var w, - k, - S = Array.prototype, - _ = Function.prototype, - C = Object.prototype, - A = p['__core-js_shared__'], - E = _.toString, - z = C.hasOwnProperty, - R = (function () { - var r = /[^.]+$/.exec((A && A.keys && A.keys.IE_PROTO) || '') - return r ? 'Symbol(src)_1.' + r : '' - })(), - B = C.toString, - j = E.call(Object), - O = RegExp( - '^' + - E.call(z) - .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + - '$', - ), - T = g ? p.Buffer : void 0, - F = p.Symbol, - P = p.Uint8Array, - I = T ? T.allocUnsafe : void 0, - M = - ((w = Object.getPrototypeOf), - (k = Object), - function (r) { - return w(k(r)) - }), - D = Object.create, - W = C.propertyIsEnumerable, - J = S.splice, - L = F ? F.toStringTag : void 0, - H = (function () { - try { - var r = pr(Object, 'defineProperty') - return r({}, '', {}), r - } catch (e) {} - })(), - N = T ? T.isBuffer : void 0, - $ = Math.max, - Z = Date.now, - V = pr(p, 'Map'), - q = pr(Object, 'create'), - X = (function () { - function r() {} - return function (e) { - if (!Cr(e)) return {} - if (D) return D(e) - r.prototype = e - var t = new r() - return (r.prototype = void 0), t - } - })() - function Y(r) { - var e = -1, - t = null == r ? 0 : r.length - for (this.clear(); ++e < t; ) { - var n = r[e] - this.set(n[0], n[1]) - } - } - function G(r) { - var e = -1, - t = null == r ? 0 : r.length - for (this.clear(); ++e < t; ) { - var n = r[e] - this.set(n[0], n[1]) - } - } - function U(r) { - var e = -1, - t = null == r ? 0 : r.length - for (this.clear(); ++e < t; ) { - var n = r[e] - this.set(n[0], n[1]) - } - } - function K(r) { - var e = (this.__data__ = new G(r)) - this.size = e.size - } - function Q(r, e) { - var t = xr(r), - n = !t && yr(r), - o = !t && !n && kr(r), - a = !t && !n && !o && Er(r), - i = t || n || o || a, - s = i - ? (function (r, e) { - for (var t = -1, n = Array(r); ++t < r; ) n[t] = e(t) - return n - })(r.length, String) - : [], - l = s.length - for (var c in r) - (!e && !z.call(r, c)) || - (i && - ('length' == c || - (o && ('offset' == c || 'parent' == c)) || - (a && ('buffer' == c || 'byteLength' == c || 'byteOffset' == c)) || - hr(c, l))) || - s.push(c) - return s - } - function rr(r, e, t) { - ;((void 0 !== t && !vr(r[e], t)) || (void 0 === t && !(e in r))) && nr(r, e, t) - } - function er(r, e, t) { - var n = r[e] - ;(z.call(r, e) && vr(n, t) && (void 0 !== t || e in r)) || nr(r, e, t) - } - function tr(r, e) { - for (var t = r.length; t--; ) if (vr(r[t][0], e)) return t - return -1 - } - function nr(r, e, t) { - '__proto__' == e && H - ? H(r, e, { configurable: !0, enumerable: !0, value: t, writable: !0 }) - : (r[e] = t) - } - ;(Y.prototype.clear = function () { - ;(this.__data__ = q ? q(null) : {}), (this.size = 0) - }), - (Y.prototype.delete = function (r) { - var e = this.has(r) && delete this.__data__[r] - return (this.size -= e ? 1 : 0), e - }), - (Y.prototype.get = function (r) { - var e = this.__data__ - if (q) { - var t = e[r] - return t === n ? void 0 : t - } - return z.call(e, r) ? e[r] : void 0 - }), - (Y.prototype.has = function (r) { - var e = this.__data__ - return q ? void 0 !== e[r] : z.call(e, r) - }), - (Y.prototype.set = function (r, e) { - var t = this.__data__ - return (this.size += this.has(r) ? 0 : 1), (t[r] = q && void 0 === e ? n : e), this - }), - (G.prototype.clear = function () { - ;(this.__data__ = []), (this.size = 0) - }), - (G.prototype.delete = function (r) { - var e = this.__data__, - t = tr(e, r) - return !(t < 0) && (t == e.length - 1 ? e.pop() : J.call(e, t, 1), --this.size, !0) - }), - (G.prototype.get = function (r) { - var e = this.__data__, - t = tr(e, r) - return t < 0 ? void 0 : e[t][1] - }), - (G.prototype.has = function (r) { - return tr(this.__data__, r) > -1 - }), - (G.prototype.set = function (r, e) { - var t = this.__data__, - n = tr(t, r) - return n < 0 ? (++this.size, t.push([r, e])) : (t[n][1] = e), this - }), - (U.prototype.clear = function () { - ;(this.size = 0), - (this.__data__ = { hash: new Y(), map: new (V || G)(), string: new Y() }) - }), - (U.prototype.delete = function (r) { - var e = fr(this, r).delete(r) - return (this.size -= e ? 1 : 0), e - }), - (U.prototype.get = function (r) { - return fr(this, r).get(r) - }), - (U.prototype.has = function (r) { - return fr(this, r).has(r) - }), - (U.prototype.set = function (r, e) { - var t = fr(this, r), - n = t.size - return t.set(r, e), (this.size += t.size == n ? 0 : 1), this - }), - (K.prototype.clear = function () { - ;(this.__data__ = new G()), (this.size = 0) - }), - (K.prototype.delete = function (r) { - var e = this.__data__, - t = e.delete(r) - return (this.size = e.size), t - }), - (K.prototype.get = function (r) { - return this.__data__.get(r) - }), - (K.prototype.has = function (r) { - return this.__data__.has(r) - }), - (K.prototype.set = function (r, e) { - var t = this.__data__ - if (t instanceof G) { - var n = t.__data__ - if (!V || n.length < 199) return n.push([r, e]), (this.size = ++t.size), this - t = this.__data__ = new U(n) - } - return t.set(r, e), (this.size = t.size), this - }) - var or, - ar = function (r, e, t) { - for (var n = -1, o = Object(r), a = t(r), i = a.length; i--; ) { - var s = a[or ? i : ++n] - if (!1 === e(o[s], s, o)) break - } - return r - } - function ir(r) { - return null == r - ? void 0 === r - ? '[object Undefined]' - : '[object Null]' - : L && L in Object(r) - ? (function (r) { - var e = z.call(r, L), - t = r[L] - try { - r[L] = void 0 - var n = !0 - } catch (a) {} - var o = B.call(r) - n && (e ? (r[L] = t) : delete r[L]) - return o - })(r) - : (function (r) { - return B.call(r) - })(r) - } - function sr(r) { - return Ar(r) && ir(r) == a - } - function lr(r) { - return ( - !( - !Cr(r) || - (function (r) { - return !!R && R in r - })(r) - ) && - (Sr(r) ? O : l).test( - (function (r) { - if (null != r) { - try { - return E.call(r) - } catch (e) {} - try { - return r + '' - } catch (e) {} - } - return '' - })(r), - ) - ) - } - function cr(r) { - if (!Cr(r)) - return (function (r) { - var e = [] - if (null != r) for (var t in Object(r)) e.push(t) - return e - })(r) - var e = br(r), - t = [] - for (var n in r) ('constructor' != n || (!e && z.call(r, n))) && t.push(n) - return t - } - function ur(r, e, t, n, o) { - r !== e && - ar( - e, - function (a, i) { - if ((o || (o = new K()), Cr(a))) - !(function (r, e, t, n, o, a, i) { - var l = gr(r, t), - c = gr(e, t), - u = i.get(c) - if (u) return void rr(r, t, u) - var d = a ? a(l, c, t + '', r, e, i) : void 0, - f = void 0 === d - if (f) { - var p = xr(c), - h = !p && kr(c), - b = !p && !h && Er(c) - ;(d = c), - p || h || b - ? xr(l) - ? (d = l) - : Ar((g = l)) && wr(g) - ? (d = (function (r, e) { - var t = -1, - n = r.length - e || (e = Array(n)) - for (; ++t < n; ) e[t] = r[t] - return e - })(l)) - : h - ? ((f = !1), - (d = (function (r, e) { - if (e) return r.slice() - var t = r.length, - n = I ? I(t) : new r.constructor(t) - return r.copy(n), n - })(c, !0))) - : b - ? ((f = !1), - (d = (function (r, e) { - var t = e - ? (function (r) { - var e = new r.constructor(r.byteLength) - return new P(e).set(new P(r)), e - })(r.buffer) - : r.buffer - return new r.constructor(t, r.byteOffset, r.length) - })(c, !0))) - : (d = []) - : (function (r) { - if (!Ar(r) || ir(r) != s) return !1 - var e = M(r) - if (null === e) return !0 - var t = z.call(e, 'constructor') && e.constructor - return 'function' == typeof t && t instanceof t && E.call(t) == j - })(c) || yr(c) - ? ((d = l), - yr(l) - ? (d = (function (r) { - return (function (r, e, t, n) { - var o = !t - t || (t = {}) - var a = -1, - i = e.length - for (; ++a < i; ) { - var s = e[a], - l = n ? n(t[s], r[s], s, t, r) : void 0 - void 0 === l && (l = r[s]), o ? nr(t, s, l) : er(t, s, l) - } - return t - })(r, zr(r)) - })(l)) - : (Cr(l) && !Sr(l)) || - (d = (function (r) { - return 'function' != typeof r.constructor || br(r) ? {} : X(M(r)) - })(c))) - : (f = !1) - } - var g - f && (i.set(c, d), o(d, c, n, a, i), i.delete(c)) - rr(r, t, d) - })(r, e, i, t, ur, n, o) - else { - var l = n ? n(gr(r, i), a, i + '', r, e, o) : void 0 - void 0 === l && (l = a), rr(r, i, l) - } - }, - zr, - ) - } - function dr(r, e) { - return mr( - (function (r, e, t) { - return ( - (e = $(void 0 === e ? r.length - 1 : e, 0)), - function () { - for (var n = arguments, o = -1, a = $(n.length - e, 0), i = Array(a); ++o < a; ) - i[o] = n[e + o] - o = -1 - for (var s = Array(e + 1); ++o < e; ) s[o] = n[o] - return (s[e] = t(i)), x(r, this, s) - } - ) - })(r, e, jr), - r + '', - ) - } - function fr(r, e) { - var t = r.__data__ - return (function (r) { - var e = typeof r - return 'string' == e || 'number' == e || 'symbol' == e || 'boolean' == e - ? '__proto__' !== r - : null === r - })(e) - ? t['string' == typeof e ? 'string' : 'hash'] - : t.map - } - function pr(r, e) { - var t = (function (r, e) { - return null == r ? void 0 : r[e] - })(r, e) - return lr(t) ? t : void 0 - } - function hr(r, e) { - var t = typeof r - return ( - !!(e = null == e ? o : e) && - ('number' == t || ('symbol' != t && c.test(r))) && - r > -1 && - r % 1 == 0 && - r < e - ) - } - function br(r) { - var e = r && r.constructor - return r === (('function' == typeof e && e.prototype) || C) - } - function gr(r, e) { - if (('constructor' !== e || 'function' !== typeof r[e]) && '__proto__' != e) return r[e] - } - var mr = (function (r) { - var e = 0, - t = 0 - return function () { - var n = Z(), - o = 16 - (n - t) - if (((t = n), o > 0)) { - if (++e >= 800) return arguments[0] - } else e = 0 - return r.apply(void 0, arguments) - } - })( - H - ? function (r, e) { - return H(r, 'toString', { - configurable: !0, - enumerable: !1, - value: - ((t = e), - function () { - return t - }), - writable: !0, - }) - var t - } - : jr, - ) - function vr(r, e) { - return r === e || (r !== r && e !== e) - } - var yr = sr( - (function () { - return arguments - })(), - ) - ? sr - : function (r) { - return Ar(r) && z.call(r, 'callee') && !W.call(r, 'callee') - }, - xr = Array.isArray - function wr(r) { - return null != r && _r(r.length) && !Sr(r) - } - var kr = - N || - function () { - return !1 - } - function Sr(r) { - if (!Cr(r)) return !1 - var e = ir(r) - return ( - e == i || - '[object GeneratorFunction]' == e || - '[object AsyncFunction]' == e || - '[object Proxy]' == e - ) - } - function _r(r) { - return 'number' == typeof r && r > -1 && r % 1 == 0 && r <= o - } - function Cr(r) { - var e = typeof r - return null != r && ('object' == e || 'function' == e) - } - function Ar(r) { - return null != r && 'object' == typeof r - } - var Er = y - ? (function (r) { - return function (e) { - return r(e) - } - })(y) - : function (r) { - return Ar(r) && _r(r.length) && !!u[ir(r)] - } - function zr(r) { - return wr(r) ? Q(r, !0) : cr(r) - } - var Rr, - Br = - ((Rr = function (r, e, t, n) { - ur(r, e, t, n) - }), - dr(function (r, e) { - var t = -1, - n = e.length, - o = n > 1 ? e[n - 1] : void 0, - a = n > 2 ? e[2] : void 0 - for ( - o = Rr.length > 3 && 'function' == typeof o ? (n--, o) : void 0, - a && - (function (r, e, t) { - if (!Cr(t)) return !1 - var n = typeof e - return ( - !!('number' == n ? wr(t) && hr(e, t.length) : 'string' == n && (e in t)) && - vr(t[e], r) - ) - })(e[0], e[1], a) && - ((o = n < 3 ? void 0 : o), (n = 1)), - r = Object(r); - ++t < n; - - ) { - var i = e[t] - i && Rr(r, i, t, o) - } - return r - })) - function jr(r) { - return r - } - r.exports = Br - }, - 9781: function (r, e, t) { - 'use strict' - t.r(e), - t.d(e, { - default: function () { - return O - }, - }) - var n = t(6156), - o = t(5893), - a = (t(2702), t(4806)), - i = t(3808), - s = [ - 'borders', - 'breakpoints', - 'colors', - 'components', - 'config', - 'direction', - 'fonts', - 'fontSizes', - 'fontWeights', - 'letterSpacings', - 'lineHeights', - 'radii', - 'shadows', - 'sizes', - 'space', - 'styles', - 'transition', - 'zIndices', - ] - function l(r) { - return !!(0, i.Kn)(r) && s.every((e) => Object.prototype.hasOwnProperty.call(r, e)) - } - var c = t(658), - u = t(8554), - d = t.n(u) - function f() { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - return d()({}, ...e, p) - } - function p(r, e, t, n) { - if (((0, i.mf)(r) || (0, i.mf)(e)) && Object.prototype.hasOwnProperty.call(n, t)) - return function () { - var t = (0, i.mf)(r) ? r(...arguments) : r, - n = (0, i.mf)(e) ? e(...arguments) : e - return d()({}, t, n, p) - } - } - var h = t(917), - b = t(7294), - g = () => - b.createElement(h.xB, { - styles: - '\n html {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n font-family: system-ui, sans-serif;\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility; \n -moz-osx-font-smoothing: grayscale; \n touch-action: manipulation; \n }\n\n body {\n position: relative;\n min-height: 100%;\n font-feature-settings: \'kern\';\n }\n\n *,\n *::before,\n *::after {\n border-width: 0;\n border-style: solid;\n box-sizing: border-box;\n }\n\n main {\n display: block;\n }\n\n hr {\n border-top-width: 1px;\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n }\n\n pre,\n code,\n kbd,\n samp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, monospace;\n font-size: 1em;\n }\n\n a {\n background-color: transparent;\n color: inherit;\n text-decoration: inherit;\n }\n\n abbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n\n b,\n strong {\n font-weight: bold;\n }\n\n small {\n font-size: 80%;\n }\n\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n\n sub {\n bottom: -0.25em;\n }\n\n sup {\n top: -0.5em;\n }\n\n img {\n border-style: none;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n progress {\n vertical-align: baseline;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n -webkit-appearance: none !important;\n }\n\n input[type="number"] {\n -moz-appearance: textfield;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none !important;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n details {\n display: block;\n }\n\n summary {\n display: list-item;\n }\n\n template {\n display: none;\n }\n\n [hidden] {\n display: none !important;\n }\n\n body,\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n\n button {\n background: transparent;\n padding: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n }\n\n ol,\n ul {\n margin: 0;\n padding: 0;\n }\n\n textarea {\n resize: vertical;\n }\n\n button,\n [role="button"] {\n cursor: pointer;\n }\n\n button::-moz-focus-inner {\n border: 0 !important;\n }\n\n table {\n border-collapse: collapse;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n }\n\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n\n [data-js-focus-visible] :focus:not([data-focus-visible-added]) {\n outline: none;\n box-shadow: none;\n }\n\n select::-ms-expand {\n display: none;\n }\n ', - }), - m = t(4288), - v = t(9676), - y = t(4738), - x = t(4461), - w = { - body: { classList: { add() {}, remove() {} } }, - addEventListener() {}, - removeEventListener() {}, - activeElement: { blur() {}, nodeName: '' }, - querySelector: () => null, - querySelectorAll: () => [], - getElementById: () => null, - createEvent: () => ({ initEvent() {} }), - createElement: () => ({ - children: [], - childNodes: [], - style: {}, - setAttribute() {}, - getElementsByTagName: () => [], - }), - }, - k = () => {}, - S = { - window: { - document: w, - navigator: { userAgent: '' }, - CustomEvent: function () { - return this - }, - addEventListener: k, - removeEventListener: k, - getComputedStyle: () => ({ getPropertyValue: () => '' }), - matchMedia: () => ({ matches: !1, addListener: k, removeListener: k }), - requestAnimationFrame: (r) => - 'undefined' === typeof setTimeout ? (r(), null) : setTimeout(r, 0), - cancelAnimationFrame(r) { - 'undefined' !== typeof setTimeout && clearTimeout(r) - }, - setTimeout: () => 0, - clearTimeout: k, - setInterval: () => 0, - clearInterval: k, - }, - document: w, - }, - _ = x.jU ? { window: window, document: document } : S, - C = (0, b.createContext)(_) - function A(r) { - var { children: e, environment: t } = r, - [n, o] = (0, b.useState)(null), - a = (0, b.useMemo)(() => { - var r, - e = null == n ? void 0 : n.ownerDocument, - o = null == n ? void 0 : n.ownerDocument.defaultView - return null != (r = null != t ? t : e ? { document: e, window: o } : void 0) ? r : _ - }, [n, t]), - i = !n && !t - return b.createElement( - C.Provider, - { value: a }, - e, - i && - b.createElement('span', { - ref: (r) => { - r && o(r) - }, - }), - ) - } - i.Ts && (C.displayName = 'EnvironmentContext'), - i.Ts && (A.displayName = 'EnvironmentProvider') - var E = t(4577), - z = (r) => { - var { - children: e, - colorModeManager: t, - portalZIndex: n, - resetCSS: o = !0, - theme: i = a.Z, - environment: s, - cssVarsRoot: l, - } = r, - c = b.createElement(A, { environment: s }, e) - return b.createElement( - E.vc, - null, - b.createElement( - v.f6, - { theme: i, cssVarsRoot: l }, - b.createElement( - y.SG, - { colorModeManager: t, options: i.config }, - o && b.createElement(g, null), - b.createElement(v.ZL, null), - n ? b.createElement(m.h, { zIndex: n }, c) : c, - ), - ), - ) - }, - R = t(4533) - function B(r, e) { - var t = Object.keys(r) - if (Object.getOwnPropertySymbols) { - var n = Object.getOwnPropertySymbols(r) - e && - (n = n.filter(function (e) { - return Object.getOwnPropertyDescriptor(r, e).enumerable - })), - t.push.apply(t, n) - } - return t - } - function j(r) { - for (var e = 1; e < arguments.length; e++) { - var t = null != arguments[e] ? arguments[e] : {} - e % 2 - ? B(Object(t), !0).forEach(function (e) { - ;(0, n.Z)(r, e, t[e]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(t)) - : B(Object(t)).forEach(function (e) { - Object.defineProperty(r, e, Object.getOwnPropertyDescriptor(t, e)) - }) - } - return r - } - var O = function (r) { - var e = r.Component, - t = r.pageProps, - n = (0, b.useState)({ - base1: '#1c1f24', - base2: '#21272d', - base3: '#23272e', - base4: '#484854', - base5: '#62686E', - base6: '#757B80', - base7: '#9ca0a4', - base8: '#DFDFDF', - bg: '#242730', - 'bg-alt': '#2a2e38', - blue: '#51afef', - cyan: '#5cEfFF', - 'dark-blue': '#1f5582', - 'dark-cyan': '#6A8FBF', - fg: '#bbc2cf', - 'fg-alt': '#5D656B', - green: '#7bc275', - grey: '#484854', - magenta: '#C57BDB', - orange: '#e69055', - red: '#ff665c', - teal: '#4db5bd', - violet: '#a991f1', - yellow: '#FCCE7B', - }), - s = n[0], - u = n[1] - ;(0, b.useEffect)(function () { - new EventSource('http://127.0.0.1:35901/theme').addEventListener('message', function (r) { - var e = JSON.parse(r.data) - if (!e.base4) { - var t = R.Z(s.bg, s.fg) - ;(e.base1 = t(0.1)), - (e.base2 = t(0.2)), - (e.base3 = t(0.3)), - (e.base4 = t(0.4)), - (e.base5 = t(0.5)), - (e.base6 = t(0.6)), - (e.base7 = t(0.7)), - (e.base8 = t(0.8)) - } - u(e) - }) - }, []) - var d = s.violet + 'aa', - p = R.Z(s.base1, s.base2)(0.2), - h = (function () { - for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t] - var n = [...e], - o = e[e.length - 1] - return ( - l(o) && n.length > 1 ? (n = n.slice(0, n.length - 1)) : (o = a.Z), - (0, c.zG)(...n.map((r) => (e) => (0, i.mf)(r) ? r(e) : f(e, r)))(o) - ) - })( - (0, b.useMemo)( - function () { - return { - colors: { - white: s.bg, - black: s.fg, - gray: { - 100: s.base1, - 200: p, - 300: s.base2, - 400: s.base3, - 500: s.base4, - 600: s.base5, - 700: s.base6, - 800: s.base7, - 900: s.base8, - }, - blue: { 500: s.blue }, - teal: { 500: s.blue }, - yellow: { 500: s.yellow }, - orange: { 500: s.orange }, - red: { 500: s.red }, - green: { 500: s.green }, - purple: { 500: s.violet }, - pink: { 500: s.magenta }, - cyan: { 500: s.cyan }, - alt: { 100: s['bg-alt'], 900: s['fg-alt'] }, - }, - shadows: { outline: '0 0 0 3px ' + d }, - } - }, - [JSON.stringify(s)], - ), - ) - return (0, o.jsx)(z, { theme: h, children: (0, o.jsx)(e, j({}, t)) }) - } - }, - 6374: function (r, e, t) { - 'use strict' - function n(r, e, t) { - ;(r.prototype = e.prototype = t), (t.constructor = r) - } - function o(r, e) { - var t = Object.create(r.prototype) - for (var n in e) t[n] = e[n] - return t - } - function a() {} - t.d(e, { - ZP: function () { - return w - }, - B8: function () { - return C - }, - }) - var i = 0.7, - s = 1 / i, - l = '\\s*([+-]?\\d+)\\s*', - c = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*', - u = '\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*', - d = /^#([0-9a-f]{3,8})$/, - f = new RegExp('^rgb\\(' + [l, l, l] + '\\)$'), - p = new RegExp('^rgb\\(' + [u, u, u] + '\\)$'), - h = new RegExp('^rgba\\(' + [l, l, l, c] + '\\)$'), - b = new RegExp('^rgba\\(' + [u, u, u, c] + '\\)$'), - g = new RegExp('^hsl\\(' + [c, u, u] + '\\)$'), - m = new RegExp('^hsla\\(' + [c, u, u, c] + '\\)$'), - v = { - 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, - } - function y() { - return this.rgb().formatHex() - } - function x() { - return this.rgb().formatRgb() - } - function w(r) { - var e, t - return ( - (r = (r + '').trim().toLowerCase()), - (e = d.exec(r)) - ? ((t = e[1].length), - (e = parseInt(e[1], 16)), - 6 === t - ? k(e) - : 3 === t - ? new A( - ((e >> 8) & 15) | ((e >> 4) & 240), - ((e >> 4) & 15) | (240 & e), - ((15 & e) << 4) | (15 & e), - 1, - ) - : 8 === t - ? S((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, (255 & e) / 255) - : 4 === t - ? S( - ((e >> 12) & 15) | ((e >> 8) & 240), - ((e >> 8) & 15) | ((e >> 4) & 240), - ((e >> 4) & 15) | (240 & e), - (((15 & e) << 4) | (15 & e)) / 255, - ) - : null) - : (e = f.exec(r)) - ? new A(e[1], e[2], e[3], 1) - : (e = p.exec(r)) - ? new A((255 * e[1]) / 100, (255 * e[2]) / 100, (255 * e[3]) / 100, 1) - : (e = h.exec(r)) - ? S(e[1], e[2], e[3], e[4]) - : (e = b.exec(r)) - ? S((255 * e[1]) / 100, (255 * e[2]) / 100, (255 * e[3]) / 100, e[4]) - : (e = g.exec(r)) - ? B(e[1], e[2] / 100, e[3] / 100, 1) - : (e = m.exec(r)) - ? B(e[1], e[2] / 100, e[3] / 100, e[4]) - : v.hasOwnProperty(r) - ? k(v[r]) - : 'transparent' === r - ? new A(NaN, NaN, NaN, 0) - : null - ) - } - function k(r) { - return new A((r >> 16) & 255, (r >> 8) & 255, 255 & r, 1) - } - function S(r, e, t, n) { - return n <= 0 && (r = e = t = NaN), new A(r, e, t, n) - } - function _(r) { - return ( - r instanceof a || (r = w(r)), r ? new A((r = r.rgb()).r, r.g, r.b, r.opacity) : new A() - ) - } - function C(r, e, t, n) { - return 1 === arguments.length ? _(r) : new A(r, e, t, null == n ? 1 : n) - } - function A(r, e, t, n) { - ;(this.r = +r), (this.g = +e), (this.b = +t), (this.opacity = +n) - } - function E() { - return '#' + R(this.r) + R(this.g) + R(this.b) - } - function z() { - var r = this.opacity - return ( - (1 === (r = isNaN(r) ? 1 : Math.max(0, Math.min(1, r))) ? 'rgb(' : 'rgba(') + - Math.max(0, Math.min(255, Math.round(this.r) || 0)) + - ', ' + - Math.max(0, Math.min(255, Math.round(this.g) || 0)) + - ', ' + - Math.max(0, Math.min(255, Math.round(this.b) || 0)) + - (1 === r ? ')' : ', ' + r + ')') - ) - } - function R(r) { - return ( - ((r = Math.max(0, Math.min(255, Math.round(r) || 0))) < 16 ? '0' : '') + r.toString(16) - ) - } - function B(r, e, t, n) { - return ( - n <= 0 ? (r = e = t = NaN) : t <= 0 || t >= 1 ? (r = e = NaN) : e <= 0 && (r = NaN), - new O(r, e, t, n) - ) - } - function j(r) { - if (r instanceof O) return new O(r.h, r.s, r.l, r.opacity) - if ((r instanceof a || (r = w(r)), !r)) return new O() - if (r instanceof O) return r - var e = (r = r.rgb()).r / 255, - t = r.g / 255, - n = r.b / 255, - o = Math.min(e, t, n), - i = Math.max(e, t, n), - s = NaN, - l = i - o, - c = (i + o) / 2 - return ( - l - ? ((s = - e === i ? (t - n) / l + 6 * (t < n) : t === i ? (n - e) / l + 2 : (e - t) / l + 4), - (l /= c < 0.5 ? i + o : 2 - i - o), - (s *= 60)) - : (l = c > 0 && c < 1 ? 0 : s), - new O(s, l, c, r.opacity) - ) - } - function O(r, e, t, n) { - ;(this.h = +r), (this.s = +e), (this.l = +t), (this.opacity = +n) - } - function T(r, e, t) { - return ( - 255 * - (r < 60 - ? e + ((t - e) * r) / 60 - : r < 180 - ? t - : r < 240 - ? e + ((t - e) * (240 - r)) / 60 - : e) - ) - } - n(a, w, { - copy: function (r) { - return Object.assign(new this.constructor(), this, r) - }, - displayable: function () { - return this.rgb().displayable() - }, - hex: y, - formatHex: y, - formatHsl: function () { - return j(this).formatHsl() - }, - formatRgb: x, - toString: x, - }), - n( - A, - C, - o(a, { - brighter: function (r) { - return ( - (r = null == r ? s : Math.pow(s, r)), - new A(this.r * r, this.g * r, this.b * r, this.opacity) - ) - }, - darker: function (r) { - return ( - (r = null == r ? i : Math.pow(i, r)), - new A(this.r * r, this.g * r, this.b * r, this.opacity) - ) - }, - rgb: function () { - return this - }, - displayable: function () { - return ( - -0.5 <= this.r && - this.r < 255.5 && - -0.5 <= this.g && - this.g < 255.5 && - -0.5 <= this.b && - this.b < 255.5 && - 0 <= this.opacity && - this.opacity <= 1 - ) - }, - hex: E, - formatHex: E, - formatRgb: z, - toString: z, - }), - ), - n( - O, - function (r, e, t, n) { - return 1 === arguments.length ? j(r) : new O(r, e, t, null == n ? 1 : n) - }, - o(a, { - brighter: function (r) { - return ( - (r = null == r ? s : Math.pow(s, r)), - new O(this.h, this.s, this.l * r, this.opacity) - ) - }, - darker: function (r) { - return ( - (r = null == r ? i : Math.pow(i, r)), - new O(this.h, this.s, this.l * r, this.opacity) - ) - }, - rgb: function () { - var r = (this.h % 360) + 360 * (this.h < 0), - e = isNaN(r) || isNaN(this.s) ? 0 : this.s, - t = this.l, - n = t + (t < 0.5 ? t : 1 - t) * e, - o = 2 * t - n - return new A( - T(r >= 240 ? r - 240 : r + 120, o, n), - T(r, o, n), - T(r < 120 ? r + 240 : r - 120, o, n), - this.opacity, - ) - }, - displayable: function () { - return ( - ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && - 0 <= this.l && - this.l <= 1 && - 0 <= this.opacity && - this.opacity <= 1 - ) - }, - formatHsl: function () { - var r = this.opacity - return ( - (1 === (r = isNaN(r) ? 1 : Math.max(0, Math.min(1, r))) ? 'hsl(' : 'hsla(') + - (this.h || 0) + - ', ' + - 100 * (this.s || 0) + - '%, ' + - 100 * (this.l || 0) + - '%' + - (1 === r ? ')' : ', ' + r + ')') - ) - }, - }), - ) - }, - 2210: function (r, e) { - 'use strict' - e.Z = function (r) { - return function () { - return r - } - } - }, - 6033: function (r, e, t) { - 'use strict' - function n(r, e) { - return ( - (r = +r), - (e = +e), - function (t) { - return r * (1 - t) + e * t - } - ) - } - t.d(e, { - Z: function () { - return n - }, - }) - }, - 3028: function (r, e, t) { - 'use strict' - t.d(e, { - ZP: function () { - return c - }, - }) - var n = t(6374) - function o(r, e, t, n, o) { - var a = r * r, - i = a * r - return ( - ((1 - 3 * r + 3 * a - i) * e + - (4 - 6 * a + 3 * i) * t + - (1 + 3 * r + 3 * a - 3 * i) * n + - i * o) / - 6 - ) - } - var a = t(2210) - function i(r, e) { - return function (t) { - return r + t * e - } - } - function s(r) { - return 1 === (r = +r) - ? l - : function (e, t) { - return t - e - ? (function (r, e, t) { - return ( - (r = Math.pow(r, t)), - (e = Math.pow(e, t) - r), - (t = 1 / t), - function (n) { - return Math.pow(r + n * e, t) - } - ) - })(e, t, r) - : (0, a.Z)(isNaN(e) ? t : e) - } - } - function l(r, e) { - var t = e - r - return t ? i(r, t) : (0, a.Z)(isNaN(r) ? e : r) - } - var c = (function r(e) { - var t = s(e) - function o(r, e) { - var o = t((r = (0, n.B8)(r)).r, (e = (0, n.B8)(e)).r), - a = t(r.g, e.g), - i = t(r.b, e.b), - s = l(r.opacity, e.opacity) - return function (e) { - return (r.r = o(e)), (r.g = a(e)), (r.b = i(e)), (r.opacity = s(e)), r + '' - } - } - return (o.gamma = r), o - })(1) - function u(r) { - return function (e) { - var t, - o, - a = e.length, - i = new Array(a), - s = new Array(a), - l = new Array(a) - for (t = 0; t < a; ++t) - (o = (0, n.B8)(e[t])), (i[t] = o.r || 0), (s[t] = o.g || 0), (l[t] = o.b || 0) - return ( - (i = r(i)), - (s = r(s)), - (l = r(l)), - (o.opacity = 1), - function (r) { - return (o.r = i(r)), (o.g = s(r)), (o.b = l(r)), o + '' - } - ) - } - } - u(function (r) { - var e = r.length - 1 - return function (t) { - var n = t <= 0 ? (t = 0) : t >= 1 ? ((t = 1), e - 1) : Math.floor(t * e), - a = r[n], - i = r[n + 1], - s = n > 0 ? r[n - 1] : 2 * a - i, - l = n < e - 1 ? r[n + 2] : 2 * i - a - return o((t - n / e) * e, s, a, i, l) - } - }), - u(function (r) { - var e = r.length - return function (t) { - var n = Math.floor(((t %= 1) < 0 ? ++t : t) * e), - a = r[(n + e - 1) % e], - i = r[n % e], - s = r[(n + 1) % e], - l = r[(n + 2) % e] - return o((t - n / e) * e, a, i, s, l) - } - }) - }, - 370: function (r, e, t) { - 'use strict' - t.d(e, { - Z: function () { - return i - }, - }) - var n = t(6033), - o = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, - a = new RegExp(o.source, 'g') - function i(r, e) { - var t, - i, - s, - l = (o.lastIndex = a.lastIndex = 0), - c = -1, - u = [], - d = [] - for (r += '', e += ''; (t = o.exec(r)) && (i = a.exec(e)); ) - (s = i.index) > l && ((s = e.slice(l, s)), u[c] ? (u[c] += s) : (u[++c] = s)), - (t = t[0]) === (i = i[0]) - ? u[c] - ? (u[c] += i) - : (u[++c] = i) - : ((u[++c] = null), d.push({ i: c, x: (0, n.Z)(t, i) })), - (l = a.lastIndex) - return ( - l < e.length && ((s = e.slice(l)), u[c] ? (u[c] += s) : (u[++c] = s)), - u.length < 2 - ? d[0] - ? (function (r) { - return function (e) { - return r(e) + '' - } - })(d[0].x) - : (function (r) { - return function () { - return r - } - })(e) - : ((e = d.length), - function (r) { - for (var t, n = 0; n < e; ++n) u[(t = d[n]).i] = t.x(r) - return u.join('') - }) - ) - } - }, - 4533: function (r, e, t) { - 'use strict' - t.d(e, { - Z: function () { - return f - }, - }) - var n = t(6374), - o = t(3028) - function a(r, e) { - var t, - n = e ? e.length : 0, - o = r ? Math.min(n, r.length) : 0, - a = new Array(o), - i = new Array(n) - for (t = 0; t < o; ++t) a[t] = f(r[t], e[t]) - for (; t < n; ++t) i[t] = e[t] - return function (r) { - for (t = 0; t < o; ++t) i[t] = a[t](r) - return i - } - } - function i(r, e) { - var t = new Date() - return ( - (r = +r), - (e = +e), - function (n) { - return t.setTime(r * (1 - n) + e * n), t - } - ) - } - var s = t(6033) - function l(r, e) { - var t, - n = {}, - o = {} - for (t in ((null !== r && 'object' === typeof r) || (r = {}), - (null !== e && 'object' === typeof e) || (e = {}), - e)) - t in r ? (n[t] = f(r[t], e[t])) : (o[t] = e[t]) - return function (r) { - for (t in n) o[t] = n[t](r) - return o - } - } - var c = t(370), - u = t(2210) - function d(r, e) { - e || (e = []) - var t, - n = r ? Math.min(e.length, r.length) : 0, - o = e.slice() - return function (a) { - for (t = 0; t < n; ++t) o[t] = r[t] * (1 - a) + e[t] * a - return o - } - } - function f(r, e) { - var t, - f, - p = typeof e - return null == e || 'boolean' === p - ? (0, u.Z)(e) - : ('number' === p - ? s.Z - : 'string' === p - ? (t = (0, n.ZP)(e)) - ? ((e = t), o.ZP) - : c.Z - : e instanceof n.ZP - ? o.ZP - : e instanceof Date - ? i - : ((f = e), - !ArrayBuffer.isView(f) || f instanceof DataView - ? Array.isArray(e) - ? a - : ('function' !== typeof e.valueOf && 'function' !== typeof e.toString) || - isNaN(e) - ? l - : s.Z - : d))(r, e) - } - }, - 6363: function (r, e, t) { - ;(window.__NEXT_P = window.__NEXT_P || []).push([ - '/_app', - function () { - return t(9781) - }, - ]) - }, - 2702: function () {}, - 9921: function (r, e) { - 'use strict' - var t = 'function' === typeof Symbol && Symbol.for, - n = t ? Symbol.for('react.element') : 60103, - o = t ? Symbol.for('react.portal') : 60106, - a = t ? Symbol.for('react.fragment') : 60107, - i = t ? Symbol.for('react.strict_mode') : 60108, - s = t ? Symbol.for('react.profiler') : 60114, - l = t ? Symbol.for('react.provider') : 60109, - c = t ? Symbol.for('react.context') : 60110, - u = t ? Symbol.for('react.async_mode') : 60111, - d = t ? Symbol.for('react.concurrent_mode') : 60111, - f = t ? Symbol.for('react.forward_ref') : 60112, - p = t ? Symbol.for('react.suspense') : 60113, - h = t ? Symbol.for('react.suspense_list') : 60120, - b = t ? Symbol.for('react.memo') : 60115, - g = t ? Symbol.for('react.lazy') : 60116, - m = t ? Symbol.for('react.block') : 60121, - v = t ? Symbol.for('react.fundamental') : 60117, - y = t ? Symbol.for('react.responder') : 60118, - x = t ? Symbol.for('react.scope') : 60119 - function w(r) { - if ('object' === typeof r && null !== r) { - var e = r.$$typeof - switch (e) { - case n: - switch ((r = r.type)) { - case u: - case d: - case a: - case s: - case i: - case p: - return r - default: - switch ((r = r && r.$$typeof)) { - case c: - case f: - case g: - case b: - case l: - return r - default: - return e - } - } - case o: - return e - } - } - } - function k(r) { - return w(r) === d - } - ;(e.AsyncMode = u), - (e.ConcurrentMode = d), - (e.ContextConsumer = c), - (e.ContextProvider = l), - (e.Element = n), - (e.ForwardRef = f), - (e.Fragment = a), - (e.Lazy = g), - (e.Memo = b), - (e.Portal = o), - (e.Profiler = s), - (e.StrictMode = i), - (e.Suspense = p), - (e.isAsyncMode = function (r) { - return k(r) || w(r) === u - }), - (e.isConcurrentMode = k), - (e.isContextConsumer = function (r) { - return w(r) === c - }), - (e.isContextProvider = function (r) { - return w(r) === l - }), - (e.isElement = function (r) { - return 'object' === typeof r && null !== r && r.$$typeof === n - }), - (e.isForwardRef = function (r) { - return w(r) === f - }), - (e.isFragment = function (r) { - return w(r) === a - }), - (e.isLazy = function (r) { - return w(r) === g - }), - (e.isMemo = function (r) { - return w(r) === b - }), - (e.isPortal = function (r) { - return w(r) === o - }), - (e.isProfiler = function (r) { - return w(r) === s - }), - (e.isStrictMode = function (r) { - return w(r) === i - }), - (e.isSuspense = function (r) { - return w(r) === p - }), - (e.isValidElementType = function (r) { - return ( - 'string' === typeof r || - 'function' === typeof r || - r === a || - r === d || - r === s || - r === i || - r === p || - r === h || - ('object' === typeof r && - null !== r && - (r.$$typeof === g || - r.$$typeof === b || - r.$$typeof === l || - r.$$typeof === c || - r.$$typeof === f || - r.$$typeof === v || - r.$$typeof === y || - r.$$typeof === x || - r.$$typeof === m)) - ) - }), - (e.typeOf = w) - }, - 9864: function (r, e, t) { - 'use strict' - r.exports = t(9921) - }, - 7621: function (r, e, t) { - var n - !(function (o) { - var a = /^\s+/, - i = /\s+$/, - s = 0, - l = o.round, - c = o.min, - u = o.max, - d = o.random - function f(r, e) { - if (((e = e || {}), (r = r || '') instanceof f)) return r - if (!(this instanceof f)) return new f(r, e) - var t = (function (r) { - var e = { r: 0, g: 0, b: 0 }, - t = 1, - n = null, - s = null, - l = null, - d = !1, - f = !1 - 'string' == typeof r && - (r = (function (r) { - r = r.replace(a, '').replace(i, '').toLowerCase() - var e, - t = !1 - if (B[r]) (r = B[r]), (t = !0) - else if ('transparent' == r) return { r: 0, g: 0, b: 0, a: 0, format: 'name' } - if ((e = J.rgb.exec(r))) return { r: e[1], g: e[2], b: e[3] } - if ((e = J.rgba.exec(r))) return { r: e[1], g: e[2], b: e[3], a: e[4] } - if ((e = J.hsl.exec(r))) return { h: e[1], s: e[2], l: e[3] } - if ((e = J.hsla.exec(r))) return { h: e[1], s: e[2], l: e[3], a: e[4] } - if ((e = J.hsv.exec(r))) return { h: e[1], s: e[2], v: e[3] } - if ((e = J.hsva.exec(r))) return { h: e[1], s: e[2], v: e[3], a: e[4] } - if ((e = J.hex8.exec(r))) - return { - r: P(e[1]), - g: P(e[2]), - b: P(e[3]), - a: W(e[4]), - format: t ? 'name' : 'hex8', - } - if ((e = J.hex6.exec(r))) - return { r: P(e[1]), g: P(e[2]), b: P(e[3]), format: t ? 'name' : 'hex' } - if ((e = J.hex4.exec(r))) - return { - r: P(e[1] + '' + e[1]), - g: P(e[2] + '' + e[2]), - b: P(e[3] + '' + e[3]), - a: W(e[4] + '' + e[4]), - format: t ? 'name' : 'hex8', - } - if ((e = J.hex3.exec(r))) - return { - r: P(e[1] + '' + e[1]), - g: P(e[2] + '' + e[2]), - b: P(e[3] + '' + e[3]), - format: t ? 'name' : 'hex', - } - return !1 - })(r)) - 'object' == typeof r && - (L(r.r) && L(r.g) && L(r.b) - ? ((p = r.r), - (h = r.g), - (b = r.b), - (e = { r: 255 * T(p, 255), g: 255 * T(h, 255), b: 255 * T(b, 255) }), - (d = !0), - (f = '%' === String(r.r).substr(-1) ? 'prgb' : 'rgb')) - : L(r.h) && L(r.s) && L(r.v) - ? ((n = M(r.s)), - (s = M(r.v)), - (e = (function (r, e, t) { - ;(r = 6 * T(r, 360)), (e = T(e, 100)), (t = T(t, 100)) - var n = o.floor(r), - a = r - n, - i = t * (1 - e), - s = t * (1 - a * e), - l = t * (1 - (1 - a) * e), - c = n % 6 - return { - r: 255 * [t, s, i, i, l, t][c], - g: 255 * [l, t, t, s, i, i][c], - b: 255 * [i, i, l, t, t, s][c], - } - })(r.h, n, s)), - (d = !0), - (f = 'hsv')) - : L(r.h) && - L(r.s) && - L(r.l) && - ((n = M(r.s)), - (l = M(r.l)), - (e = (function (r, e, t) { - var n, o, a - function i(r, e, t) { - return ( - t < 0 && (t += 1), - t > 1 && (t -= 1), - t < 1 / 6 - ? r + 6 * (e - r) * t - : t < 0.5 - ? e - : t < 2 / 3 - ? r + (e - r) * (2 / 3 - t) * 6 - : r - ) - } - if (((r = T(r, 360)), (e = T(e, 100)), (t = T(t, 100)), 0 === e)) n = o = a = t - else { - var s = t < 0.5 ? t * (1 + e) : t + e - t * e, - l = 2 * t - s - ;(n = i(l, s, r + 1 / 3)), (o = i(l, s, r)), (a = i(l, s, r - 1 / 3)) - } - return { r: 255 * n, g: 255 * o, b: 255 * a } - })(r.h, n, l)), - (d = !0), - (f = 'hsl')), - r.hasOwnProperty('a') && (t = r.a)) - var p, h, b - return ( - (t = O(t)), - { - ok: d, - format: r.format || f, - r: c(255, u(e.r, 0)), - g: c(255, u(e.g, 0)), - b: c(255, u(e.b, 0)), - a: t, - } - ) - })(r) - ;(this._originalInput = r), - (this._r = t.r), - (this._g = t.g), - (this._b = t.b), - (this._a = t.a), - (this._roundA = l(100 * this._a) / 100), - (this._format = e.format || t.format), - (this._gradientType = e.gradientType), - this._r < 1 && (this._r = l(this._r)), - this._g < 1 && (this._g = l(this._g)), - this._b < 1 && (this._b = l(this._b)), - (this._ok = t.ok), - (this._tc_id = s++) - } - function p(r, e, t) { - ;(r = T(r, 255)), (e = T(e, 255)), (t = T(t, 255)) - var n, - o, - a = u(r, e, t), - i = c(r, e, t), - s = (a + i) / 2 - if (a == i) n = o = 0 - else { - var l = a - i - switch (((o = s > 0.5 ? l / (2 - a - i) : l / (a + i)), a)) { - case r: - n = (e - t) / l + (e < t ? 6 : 0) - break - case e: - n = (t - r) / l + 2 - break - case t: - n = (r - e) / l + 4 - } - n /= 6 - } - return { h: n, s: o, l: s } - } - function h(r, e, t) { - ;(r = T(r, 255)), (e = T(e, 255)), (t = T(t, 255)) - var n, - o, - a = u(r, e, t), - i = c(r, e, t), - s = a, - l = a - i - if (((o = 0 === a ? 0 : l / a), a == i)) n = 0 - else { - switch (a) { - case r: - n = (e - t) / l + (e < t ? 6 : 0) - break - case e: - n = (t - r) / l + 2 - break - case t: - n = (r - e) / l + 4 - } - n /= 6 - } - return { h: n, s: o, v: s } - } - function b(r, e, t, n) { - var o = [I(l(r).toString(16)), I(l(e).toString(16)), I(l(t).toString(16))] - return n && - o[0].charAt(0) == o[0].charAt(1) && - o[1].charAt(0) == o[1].charAt(1) && - o[2].charAt(0) == o[2].charAt(1) - ? o[0].charAt(0) + o[1].charAt(0) + o[2].charAt(0) - : o.join('') - } - function g(r, e, t, n) { - return [I(D(n)), I(l(r).toString(16)), I(l(e).toString(16)), I(l(t).toString(16))].join( - '', - ) - } - function m(r, e) { - e = 0 === e ? 0 : e || 10 - var t = f(r).toHsl() - return (t.s -= e / 100), (t.s = F(t.s)), f(t) - } - function v(r, e) { - e = 0 === e ? 0 : e || 10 - var t = f(r).toHsl() - return (t.s += e / 100), (t.s = F(t.s)), f(t) - } - function y(r) { - return f(r).desaturate(100) - } - function x(r, e) { - e = 0 === e ? 0 : e || 10 - var t = f(r).toHsl() - return (t.l += e / 100), (t.l = F(t.l)), f(t) - } - function w(r, e) { - e = 0 === e ? 0 : e || 10 - var t = f(r).toRgb() - return ( - (t.r = u(0, c(255, t.r - l((-e / 100) * 255)))), - (t.g = u(0, c(255, t.g - l((-e / 100) * 255)))), - (t.b = u(0, c(255, t.b - l((-e / 100) * 255)))), - f(t) - ) - } - function k(r, e) { - e = 0 === e ? 0 : e || 10 - var t = f(r).toHsl() - return (t.l -= e / 100), (t.l = F(t.l)), f(t) - } - function S(r, e) { - var t = f(r).toHsl(), - n = (t.h + e) % 360 - return (t.h = n < 0 ? 360 + n : n), f(t) - } - function _(r) { - var e = f(r).toHsl() - return (e.h = (e.h + 180) % 360), f(e) - } - function C(r) { - var e = f(r).toHsl(), - t = e.h - return [ - f(r), - f({ h: (t + 120) % 360, s: e.s, l: e.l }), - f({ h: (t + 240) % 360, s: e.s, l: e.l }), - ] - } - function A(r) { - var e = f(r).toHsl(), - t = e.h - return [ - f(r), - f({ h: (t + 90) % 360, s: e.s, l: e.l }), - f({ h: (t + 180) % 360, s: e.s, l: e.l }), - f({ h: (t + 270) % 360, s: e.s, l: e.l }), - ] - } - function E(r) { - var e = f(r).toHsl(), - t = e.h - return [ - f(r), - f({ h: (t + 72) % 360, s: e.s, l: e.l }), - f({ h: (t + 216) % 360, s: e.s, l: e.l }), - ] - } - function z(r, e, t) { - ;(e = e || 6), (t = t || 30) - var n = f(r).toHsl(), - o = 360 / t, - a = [f(r)] - for (n.h = (n.h - ((o * e) >> 1) + 720) % 360; --e; ) - (n.h = (n.h + o) % 360), a.push(f(n)) - return a - } - function R(r, e) { - e = e || 6 - for (var t = f(r).toHsv(), n = t.h, o = t.s, a = t.v, i = [], s = 1 / e; e--; ) - i.push(f({ h: n, s: o, v: a })), (a = (a + s) % 1) - return i - } - ;(f.prototype = { - isDark: function () { - return this.getBrightness() < 128 - }, - isLight: function () { - return !this.isDark() - }, - isValid: function () { - return this._ok - }, - getOriginalInput: function () { - return this._originalInput - }, - getFormat: function () { - return this._format - }, - getAlpha: function () { - return this._a - }, - getBrightness: function () { - var r = this.toRgb() - return (299 * r.r + 587 * r.g + 114 * r.b) / 1e3 - }, - getLuminance: function () { - var r, - e, - t, - n = this.toRgb() - return ( - (r = n.r / 255), - (e = n.g / 255), - (t = n.b / 255), - 0.2126 * (r <= 0.03928 ? r / 12.92 : o.pow((r + 0.055) / 1.055, 2.4)) + - 0.7152 * (e <= 0.03928 ? e / 12.92 : o.pow((e + 0.055) / 1.055, 2.4)) + - 0.0722 * (t <= 0.03928 ? t / 12.92 : o.pow((t + 0.055) / 1.055, 2.4)) - ) - }, - setAlpha: function (r) { - return (this._a = O(r)), (this._roundA = l(100 * this._a) / 100), this - }, - toHsv: function () { - var r = h(this._r, this._g, this._b) - return { h: 360 * r.h, s: r.s, v: r.v, a: this._a } - }, - toHsvString: function () { - var r = h(this._r, this._g, this._b), - e = l(360 * r.h), - t = l(100 * r.s), - n = l(100 * r.v) - return 1 == this._a - ? 'hsv(' + e + ', ' + t + '%, ' + n + '%)' - : 'hsva(' + e + ', ' + t + '%, ' + n + '%, ' + this._roundA + ')' - }, - toHsl: function () { - var r = p(this._r, this._g, this._b) - return { h: 360 * r.h, s: r.s, l: r.l, a: this._a } - }, - toHslString: function () { - var r = p(this._r, this._g, this._b), - e = l(360 * r.h), - t = l(100 * r.s), - n = l(100 * r.l) - return 1 == this._a - ? 'hsl(' + e + ', ' + t + '%, ' + n + '%)' - : 'hsla(' + e + ', ' + t + '%, ' + n + '%, ' + this._roundA + ')' - }, - toHex: function (r) { - return b(this._r, this._g, this._b, r) - }, - toHexString: function (r) { - return '#' + this.toHex(r) - }, - toHex8: function (r) { - return (function (r, e, t, n, o) { - var a = [I(l(r).toString(16)), I(l(e).toString(16)), I(l(t).toString(16)), I(D(n))] - if ( - o && - a[0].charAt(0) == a[0].charAt(1) && - a[1].charAt(0) == a[1].charAt(1) && - a[2].charAt(0) == a[2].charAt(1) && - a[3].charAt(0) == a[3].charAt(1) - ) - return a[0].charAt(0) + a[1].charAt(0) + a[2].charAt(0) + a[3].charAt(0) - return a.join('') - })(this._r, this._g, this._b, this._a, r) - }, - toHex8String: function (r) { - return '#' + this.toHex8(r) - }, - toRgb: function () { - return { r: l(this._r), g: l(this._g), b: l(this._b), a: this._a } - }, - toRgbString: function () { - return 1 == this._a - ? 'rgb(' + l(this._r) + ', ' + l(this._g) + ', ' + l(this._b) + ')' - : 'rgba(' + - l(this._r) + - ', ' + - l(this._g) + - ', ' + - l(this._b) + - ', ' + - this._roundA + - ')' - }, - toPercentageRgb: function () { - return { - r: l(100 * T(this._r, 255)) + '%', - g: l(100 * T(this._g, 255)) + '%', - b: l(100 * T(this._b, 255)) + '%', - a: this._a, - } - }, - toPercentageRgbString: function () { - return 1 == this._a - ? 'rgb(' + - l(100 * T(this._r, 255)) + - '%, ' + - l(100 * T(this._g, 255)) + - '%, ' + - l(100 * T(this._b, 255)) + - '%)' - : 'rgba(' + - l(100 * T(this._r, 255)) + - '%, ' + - l(100 * T(this._g, 255)) + - '%, ' + - l(100 * T(this._b, 255)) + - '%, ' + - this._roundA + - ')' - }, - toName: function () { - return 0 === this._a - ? 'transparent' - : !(this._a < 1) && (j[b(this._r, this._g, this._b, !0)] || !1) - }, - toFilter: function (r) { - var e = '#' + g(this._r, this._g, this._b, this._a), - t = e, - n = this._gradientType ? 'GradientType = 1, ' : '' - if (r) { - var o = f(r) - t = '#' + g(o._r, o._g, o._b, o._a) - } - return ( - 'progid:DXImageTransform.Microsoft.gradient(' + - n + - 'startColorstr=' + - e + - ',endColorstr=' + - t + - ')' - ) - }, - toString: function (r) { - var e = !!r - r = r || this._format - var t = !1, - n = this._a < 1 && this._a >= 0 - return e || - !n || - ('hex' !== r && - 'hex6' !== r && - 'hex3' !== r && - 'hex4' !== r && - 'hex8' !== r && - 'name' !== r) - ? ('rgb' === r && (t = this.toRgbString()), - 'prgb' === r && (t = this.toPercentageRgbString()), - ('hex' !== r && 'hex6' !== r) || (t = this.toHexString()), - 'hex3' === r && (t = this.toHexString(!0)), - 'hex4' === r && (t = this.toHex8String(!0)), - 'hex8' === r && (t = this.toHex8String()), - 'name' === r && (t = this.toName()), - 'hsl' === r && (t = this.toHslString()), - 'hsv' === r && (t = this.toHsvString()), - t || this.toHexString()) - : 'name' === r && 0 === this._a - ? this.toName() - : this.toRgbString() - }, - clone: function () { - return f(this.toString()) - }, - _applyModification: function (r, e) { - var t = r.apply(null, [this].concat([].slice.call(e))) - return (this._r = t._r), (this._g = t._g), (this._b = t._b), this.setAlpha(t._a), this - }, - lighten: function () { - return this._applyModification(x, arguments) - }, - brighten: function () { - return this._applyModification(w, arguments) - }, - darken: function () { - return this._applyModification(k, arguments) - }, - desaturate: function () { - return this._applyModification(m, arguments) - }, - saturate: function () { - return this._applyModification(v, arguments) - }, - greyscale: function () { - return this._applyModification(y, arguments) - }, - spin: function () { - return this._applyModification(S, arguments) - }, - _applyCombination: function (r, e) { - return r.apply(null, [this].concat([].slice.call(e))) - }, - analogous: function () { - return this._applyCombination(z, arguments) - }, - complement: function () { - return this._applyCombination(_, arguments) - }, - monochromatic: function () { - return this._applyCombination(R, arguments) - }, - splitcomplement: function () { - return this._applyCombination(E, arguments) - }, - triad: function () { - return this._applyCombination(C, arguments) - }, - tetrad: function () { - return this._applyCombination(A, arguments) - }, - }), - (f.fromRatio = function (r, e) { - if ('object' == typeof r) { - var t = {} - for (var n in r) r.hasOwnProperty(n) && (t[n] = 'a' === n ? r[n] : M(r[n])) - r = t - } - return f(r, e) - }), - (f.equals = function (r, e) { - return !(!r || !e) && f(r).toRgbString() == f(e).toRgbString() - }), - (f.random = function () { - return f.fromRatio({ r: d(), g: d(), b: d() }) - }), - (f.mix = function (r, e, t) { - t = 0 === t ? 0 : t || 50 - var n = f(r).toRgb(), - o = f(e).toRgb(), - a = t / 100 - return f({ - r: (o.r - n.r) * a + n.r, - g: (o.g - n.g) * a + n.g, - b: (o.b - n.b) * a + n.b, - a: (o.a - n.a) * a + n.a, - }) - }), - (f.readability = function (r, e) { - var t = f(r), - n = f(e) - return ( - (o.max(t.getLuminance(), n.getLuminance()) + 0.05) / - (o.min(t.getLuminance(), n.getLuminance()) + 0.05) - ) - }), - (f.isReadable = function (r, e, t) { - var n, - o, - a = f.readability(r, e) - switch ( - ((o = !1), - (n = (function (r) { - var e, t - ;(e = ((r = r || { level: 'AA', size: 'small' }).level || 'AA').toUpperCase()), - (t = (r.size || 'small').toLowerCase()), - 'AA' !== e && 'AAA' !== e && (e = 'AA') - 'small' !== t && 'large' !== t && (t = 'small') - return { level: e, size: t } - })(t)).level + n.size) - ) { - case 'AAsmall': - case 'AAAlarge': - o = a >= 4.5 - break - case 'AAlarge': - o = a >= 3 - break - case 'AAAsmall': - o = a >= 7 - } - return o - }), - (f.mostReadable = function (r, e, t) { - var n, - o, - a, - i, - s = null, - l = 0 - ;(o = (t = t || {}).includeFallbackColors), (a = t.level), (i = t.size) - for (var c = 0; c < e.length; c++) - (n = f.readability(r, e[c])) > l && ((l = n), (s = f(e[c]))) - return f.isReadable(r, s, { level: a, size: i }) || !o - ? s - : ((t.includeFallbackColors = !1), f.mostReadable(r, ['#fff', '#000'], t)) - }) - var B = (f.names = { - aliceblue: 'f0f8ff', - antiquewhite: 'faebd7', - aqua: '0ff', - aquamarine: '7fffd4', - azure: 'f0ffff', - beige: 'f5f5dc', - bisque: 'ffe4c4', - black: '000', - blanchedalmond: 'ffebcd', - blue: '00f', - blueviolet: '8a2be2', - brown: 'a52a2a', - burlywood: 'deb887', - burntsienna: 'ea7e5d', - cadetblue: '5f9ea0', - chartreuse: '7fff00', - chocolate: 'd2691e', - coral: 'ff7f50', - cornflowerblue: '6495ed', - cornsilk: 'fff8dc', - crimson: 'dc143c', - cyan: '0ff', - 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: 'f0f', - 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: '663399', - 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', - }), - j = (f.hexNames = (function (r) { - var e = {} - for (var t in r) r.hasOwnProperty(t) && (e[r[t]] = t) - return e - })(B)) - function O(r) { - return (r = parseFloat(r)), (isNaN(r) || r < 0 || r > 1) && (r = 1), r - } - function T(r, e) { - ;(function (r) { - return 'string' == typeof r && -1 != r.indexOf('.') && 1 === parseFloat(r) - })(r) && (r = '100%') - var t = (function (r) { - return 'string' === typeof r && -1 != r.indexOf('%') - })(r) - return ( - (r = c(e, u(0, parseFloat(r)))), - t && (r = parseInt(r * e, 10) / 100), - o.abs(r - e) < 1e-6 ? 1 : (r % e) / parseFloat(e) - ) - } - function F(r) { - return c(1, u(0, r)) - } - function P(r) { - return parseInt(r, 16) - } - function I(r) { - return 1 == r.length ? '0' + r : '' + r - } - function M(r) { - return r <= 1 && (r = 100 * r + '%'), r - } - function D(r) { - return o.round(255 * parseFloat(r)).toString(16) - } - function W(r) { - return P(r) / 255 - } - var J = (function () { - var r = '(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)', - e = '[\\s|\\(]+(' + r + ')[,|\\s]+(' + r + ')[,|\\s]+(' + r + ')\\s*\\)?', - t = - '[\\s|\\(]+(' + - r + - ')[,|\\s]+(' + - r + - ')[,|\\s]+(' + - r + - ')[,|\\s]+(' + - r + - ')\\s*\\)?' - return { - CSS_UNIT: new RegExp(r), - rgb: new RegExp('rgb' + e), - rgba: new RegExp('rgba' + t), - hsl: new RegExp('hsl' + e), - hsla: new RegExp('hsla' + t), - hsv: new RegExp('hsv' + e), - hsva: new RegExp('hsva' + t), - hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, - hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, - hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, - } - })() - function L(r) { - return !!J.CSS_UNIT.exec(r) - } - r.exports - ? (r.exports = f) - : void 0 === - (n = function () { - return f - }.call(e, t, e, r)) || (r.exports = n) - })(Math) - }, - }, - function (r) { - var e = function (e) { - return r((r.s = e)) - } - r.O(0, [774, 179], function () { - return e(6363), e(4651) - }) - var t = r.O() - _N_E = t - }, -]) diff --git a/out/_next/static/chunks/pages/index-aca5544598c1009a8282.js b/out/_next/static/chunks/pages/index-aca5544598c1009a8282.js deleted file mode 100644 index 6bcd56f..0000000 --- a/out/_next/static/chunks/pages/index-aca5544598c1009a8282.js +++ /dev/null @@ -1,1386 +0,0 @@ -;(self.webpackChunk_N_E = self.webpackChunk_N_E || []).push([ - [405], - { - 374: function (e, n, t) { - 'use strict' - t.r(n), - t.d(n, { - Graph: function () { - return le - }, - GraphPage: function () { - return ie - }, - default: function () { - return re - }, - }) - var r = t(7757), - i = t.n(r), - l = t(2137), - o = t(5893), - a = t(7329), - s = t(6156), - c = t(4699), - u = t(7294) - function d(e, n) { - var t, - r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, - i = h(e, null !== (t = r.storage) && void 0 !== t ? t : localStorage), - l = i.get(), - o = void 0 !== l ? l : n - o !== l && i.update(o) - var a = (0, u.useState)(o), - s = a[0], - c = a[1] - ;(0, u.useEffect)( - function () { - s !== o && c(o) - }, - [e], - ) - var d = function (e) { - e instanceof Function - ? c(function (n) { - var t = e(n) - return i.update(t), t - }) - : (c(e), i.update(e)) - } - return [s, d] - } - function h(e, n) { - return { - get: function () { - var t = n.getItem(e) - if (t && 'undefined' !== t) return JSON.parse(t) - }, - update: function (t) { - n.setItem(e, JSON.stringify(t)) - }, - remove: function () { - n.removeItem(e) - }, - } - } - var f = t(4533), - g = t(4309), - p = t(2351), - x = t(980), - v = t(8017), - j = t(6194), - m = [], - y = {} - for (var b in j.oY) - for (var k in j.oY[b]) { - var C = b + k - 'LinearNone' === C && (C = 'Linear'), m.push(C), (y[C] = j.oY[b][k]) - } - var S = { - enabled: !0, - charge: -350, - collision: !0, - collisionStrength: 0, - linkStrength: 0.1, - linkIts: 1, - particles: !1, - particlesNumber: 0, - particlesWidth: 4, - linkOpacity: 0.4, - linkWidth: 1, - nodeRel: 4, - labels: 2, - labelScale: 1.5, - alphaDecay: 0.02, - alphaTarget: 0, - alphaMin: 0, - velocityDecay: 0.25, - gravity: 0.5, - gravityOn: !0, - colorful: !0, - galaxy: !0, - ticks: 1, - hover: 'highlight', - click: 'select', - doubleClick: 'local', - iterations: 0, - highlight: !0, - highlightNodeSize: 2, - highlightLinkSize: 2, - highlightAnim: !1, - animationSpeed: 250, - algorithms: y, - algorithmOptions: m, - algorithmName: 'CubicOut', - orphans: !1, - follow: 'Local', - }, - O = { orphans: !1, parents: !0, tags: [], nodes: [], links: [], date: [] }, - w = t(7375), - N = t(3924), - I = t(3986), - D = t(9641), - P = t(6569), - T = t(4189), - z = t(8420), - E = t(8841), - F = t(5684), - L = t(155), - M = t(6769), - Z = t(336), - R = t(2026), - X = t(4096), - H = t(4115), - A = t(8134), - _ = t(8235), - W = t(6049), - B = t(3014), - J = t(6658) - function Q(e, n) { - var t = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - n && - (r = r.filter(function (n) { - return Object.getOwnPropertyDescriptor(e, n).enumerable - })), - t.push.apply(t, r) - } - return t - } - function U(e) { - for (var n = 1; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? Q(Object(t), !0).forEach(function (n) { - ;(0, s.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : Q(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var K = function (e) { - var n = e.physics, - t = e.setPhysics, - r = e.threeDim, - i = e.setThreeDim, - l = e.filter, - a = e.setFilter, - s = (0, u.useState)(!0), - c = s[0], - d = s[1] - return (0, o.jsxs)(o.Fragment, { - children: [ - (0, o.jsx)(v.xu, { - position: 'relative', - zIndex: 'overlay', - marginTop: 10, - marginLeft: 10, - display: c ? 'none' : 'block', - children: (0, o.jsx)(z.h, { - 'aria-label': 'Settings', - icon: (0, o.jsx)(N.e, {}), - onClick: function () { - return d(!0) - }, - }), - }), - (0, o.jsx)(E.U, { - in: c, - animateOpacity: !0, - children: (0, o.jsxs)(v.xu, { - bg: 'alt.100', - w: 'xs', - marginTop: 10, - marginLeft: 10, - borderRadius: 'xl', - maxH: 650, - paddingBottom: 5, - zIndex: 'overlay', - position: 'relative', - boxShadow: 'xl', - children: [ - (0, o.jsxs)(v.xu, { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - children: [ - (0, o.jsx)(F.u, { - label: '2D', - children: (0, o.jsx)(L.z, { - onClick: function () { - return i(!r) - }, - colorScheme: 'purple', - variant: r ? 'solid' : 'outline', - zIndex: 'overlay', - children: r ? '2D' : '3D', - }), - }), - (0, o.jsxs)(v.xu, { - display: 'flex', - alignItems: 'center', - children: [ - (0, o.jsx)(F.u, { - label: 'Reset settings to defaults', - children: (0, o.jsx)(z.h, { - 'aria-label': 'Reset Defaults', - icon: (0, o.jsx)(I.A, {}), - onClick: function () { - return t(S) - }, - colorScheme: 'purple', - variant: 'none', - size: 'sm', - }), - }), - (0, o.jsx)(z.h, { - size: 'sm', - colorScheme: 'purple', - icon: (0, o.jsx)(D.T, {}), - 'aria-label': 'Close Tweak Panel', - variant: 'ghost', - onClick: function () { - return d(!1) - }, - }), - ], - }), - ], - }), - (0, o.jsx)(J.ZP, { - autoHeight: !0, - autoHeightMax: 600, - autoHide: !0, - renderThumbVertical: function (e) { - var n = e.style, - t = (0, w.Z)(e, ['style']) - return (0, o.jsx)( - v.xu, - U( - U({}, t), - {}, - { style: U(U({}, n), {}, { borderRadius: 10 }), bg: 'purple.500' }, - ), - ) - }, - children: (0, o.jsxs)(M.UQ, { - allowMultiple: !0, - allowToggle: !0, - color: 'black', - paddingRight: 2, - children: [ - (0, o.jsxs)(M.Qd, { - children: [ - (0, o.jsxs)(M.KF, { - children: [ - (0, o.jsx)(M.XE, { marginRight: 2 }), - (0, o.jsx)(Z.X, { size: 'sm', children: 'Filter' }), - ], - }), - (0, o.jsx)(M.Hk, { - children: (0, o.jsxs)(R.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, o.jsx)(R.cX, { borderColor: 'gray.500' }), - align: 'stretch', - paddingLeft: 7, - color: 'gray.800', - children: [ - (0, o.jsxs)(X.k, { - justifyContent: 'space-between', - children: [ - (0, o.jsx)(H.x, { children: 'Orphans' }), - (0, o.jsx)(A.r, { - colorScheme: 'purple', - onChange: function () { - a(U(U({}, l), {}, { orphans: !l.orphans })) - }, - isChecked: l.orphans, - }), - ], - }), - (0, o.jsxs)(X.k, { - justifyContent: 'space-between', - children: [ - (0, o.jsx)(H.x, { - children: 'Link nodes with parent file', - }), - (0, o.jsx)(A.r, { - colorScheme: 'purple', - onChange: function () { - a(U(U({}, l), {}, { parents: !l.parents })) - }, - isChecked: l.parents, - }), - ], - }), - ], - }), - }), - ], - }), - (0, o.jsxs)(M.Qd, { - children: [ - (0, o.jsxs)(M.KF, { - display: 'flex', - justifyContent: 'space-between', - children: [ - (0, o.jsxs)(v.xu, { - display: 'flex', - children: [ - (0, o.jsx)(M.XE, { marginRight: 2 }), - (0, o.jsx)(Z.X, { size: 'sm', children: 'Physics' }), - ], - }), - (0, o.jsx)(A.r, { - id: 'physicsOn', - onChange: function () { - return t(U(U({}, n), {}, { enabled: !n.enabled })) - }, - isChecked: n.enabled, - colorScheme: 'purple', - }), - ], - }), - (0, o.jsxs)(M.Hk, { - children: [ - (0, o.jsxs)(R.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, o.jsx)(R.cX, { borderColor: 'gray.500' }), - align: 'stretch', - paddingLeft: 7, - color: 'gray.800', - children: [ - (0, o.jsx)(G, { - label: 'Gravity', - value: n.gravityOn, - onChange: function () { - return t(U(U({}, n), {}, { gravityOn: !n.gravityOn })) - }, - children: (0, o.jsx)(Y, { - label: 'Strength', - value: 10 * n.gravity, - onChange: function (e) { - return t(U(U({}, n), {}, { gravity: e / 10 })) - }, - }), - }), - (0, o.jsx)(Y, { - value: -n.charge / 100, - onChange: function (e) { - return t(U(U({}, n), {}, { charge: -100 * e })) - }, - label: 'Repulsive Force', - }), - (0, o.jsx)(G, { - label: 'Collision', - infoText: 'Perfomance sap, disable if slow', - value: n.collision, - onChange: function () { - return t(U(U({}, n), {}, { collision: !n.collision })) - }, - children: (0, o.jsx)(Y, { - value: 10 * n.collisionStrength, - onChange: function (e) { - return t(U(U({}, n), {}, { collisionStrength: e / 10 })) - }, - label: 'Strength', - }), - }), - (0, o.jsx)(Y, { - value: 5 * n.linkStrength, - onChange: function (e) { - return t(U(U({}, n), {}, { linkStrength: e / 5 })) - }, - label: 'Link Force', - }), - (0, o.jsx)(Y, { - label: 'Link Iterations', - value: n.linkIts, - onChange: function (e) { - return t(U(U({}, n), {}, { linkIts: e })) - }, - min: 0, - max: 6, - step: 1, - infoText: - 'How many links down the line the physics of a single node affects (Slow)', - }), - (0, o.jsx)(Y, { - label: 'Viscosity', - value: 10 * n.velocityDecay, - onChange: function (e) { - return t(U(U({}, n), {}, { velocityDecay: e / 10 })) - }, - }), - ], - }), - (0, o.jsx)(v.xu, { - children: (0, o.jsx)(M.UQ, { - allowToggle: !0, - children: (0, o.jsxs)(M.Qd, { - children: [ - (0, o.jsxs)(M.KF, { - children: [ - (0, o.jsx)(H.x, { children: 'Advanced' }), - (0, o.jsx)(M.XE, { marginRight: 2 }), - ], - }), - (0, o.jsx)(M.Hk, { - children: (0, o.jsxs)(R.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, o.jsx)(R.cX, { - borderColor: 'gray.500', - }), - align: 'stretch', - paddingLeft: 3, - color: 'gray.800', - children: [ - (0, o.jsx)(Y, { - label: 'Iterations per tick', - min: 1, - max: 10, - step: 1, - value: n.iterations, - onChange: function (e) { - return t(U(U({}, n), {}, { iterations: e })) - }, - infoText: - 'Number of times the physics simulation iterates per simulation step', - }), - (0, o.jsx)(Y, { - label: 'Stabilization rate', - value: 50 * n.alphaDecay, - onChange: function (e) { - return t( - U(U({}, n), {}, { alphaDecay: e / 50 }), - ) - }, - }), - ], - }), - }), - ], - }), - }), - }), - ], - }), - ], - }), - (0, o.jsxs)(M.Qd, { - children: [ - (0, o.jsxs)(M.KF, { - children: [ - (0, o.jsx)(M.XE, { marginRight: 2 }), - (0, o.jsx)(Z.X, { size: 'sm', children: 'Visual' }), - ], - }), - (0, o.jsx)(M.Hk, { - children: (0, o.jsxs)(R.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, o.jsx)(R.cX, { borderColor: 'gray.500' }), - align: 'stretch', - paddingLeft: 7, - color: 'gray.800', - children: [ - (0, o.jsx)(G, { - label: 'Colors', - onChange: function () { - return t(U(U({}, n), {}, { colorful: !n.colorful })) - }, - value: n.colorful, - children: (0, o.jsx)(H.x, { children: 'Child' }), - }), - (0, o.jsx)(Y, { - label: 'Node size', - value: n.nodeRel, - onChange: function (e) { - return t(U(U({}, n), {}, { nodeRel: e })) - }, - }), - (0, o.jsx)(Y, { - label: 'Link width', - value: n.linkWidth, - onChange: function (e) { - return t(U(U({}, n), {}, { linkWidth: e })) - }, - }), - (0, o.jsxs)(v.xu, { - children: [ - (0, o.jsxs)(X.k, { - alignItems: 'center', - justifyContent: 'space-between', - children: [ - (0, o.jsx)(H.x, { children: 'Labels' }), - (0, o.jsxs)(_.v2, { - children: [ - (0, o.jsx)(_.j2, { - as: L.z, - rightIcon: (0, o.jsx)(P.v, {}), - children: n.labels - ? n.labels < 2 - ? 'On Highlight' - : 'Always' - : 'Never', - }), - (0, o.jsxs)(_.qy, { - bgColor: 'gray.200', - children: [ - (0, o.jsx)(_.sN, { - onClick: function () { - return t(U(U({}, n), {}, { labels: 0 })) - }, - children: 'Never', - }), - (0, o.jsx)(_.sN, { - onClick: function () { - return t(U(U({}, n), {}, { labels: 1 })) - }, - children: 'On Highlight', - }), - (0, o.jsx)(_.sN, { - onClick: function () { - return t(U(U({}, n), {}, { labels: 2 })) - }, - children: 'Always', - }), - ], - }), - ], - }), - ], - }), - (0, o.jsx)(E.U, { - in: n.labels > 1, - animateOpacity: !0, - children: (0, o.jsx)(v.xu, { - paddingLeft: 4, - paddingTop: 2, - children: (0, o.jsx)(Y, { - label: 'Label Appearance Scale', - value: 5 * n.labelScale, - onChange: function (e) { - return t(U(U({}, n), {}, { labelScale: e / 5 })) - }, - }), - }), - }), - ], - }), - (0, o.jsxs)(G, { - label: 'Directional Particles', - value: n.particles, - onChange: function () { - return t(U(U({}, n), {}, { particles: !n.particles })) - }, - children: [ - (0, o.jsx)(Y, { - label: 'Particle Number', - value: n.particlesNumber, - max: 5, - step: 1, - onChange: function (e) { - return t(U(U({}, n), {}, { particlesNumber: e })) - }, - }), - (0, o.jsx)(Y, { - label: 'Particle Size', - value: n.particlesWidth, - onChange: function (e) { - return t(U(U({}, n), {}, { particlesWidth: e })) - }, - }), - ], - }), - (0, o.jsx)(G, { - label: 'Highlight', - onChange: function () { - return t(U(U({}, n), {}, { highlight: !n.highlight })) - }, - value: n.highlight, - children: (0, o.jsxs)(R.gC, { - spacing: 1, - justifyContent: 'flex-start', - divider: (0, o.jsx)(R.cX, { borderColor: 'gray.400' }), - align: 'stretch', - paddingLeft: 0, - children: [ - (0, o.jsx)(Y, { - label: 'Highlight Link Thickness', - value: n.highlightLinkSize, - onChange: function (e) { - return t(U(U({}, n), {}, { highlightLinkSize: e })) - }, - }), - (0, o.jsx)(Y, { - label: 'Highlight Node Size', - value: n.highlightNodeSize, - onChange: function (e) { - return t(U(U({}, n), {}, { highlightNodeSize: e })) - }, - }), - (0, o.jsxs)(G, { - label: 'Highlight Animation', - onChange: function () { - t( - U( - U({}, n), - {}, - { highlightAnim: !n.highlightAnim }, - ), - ) - }, - value: n.highlightAnim, - children: [ - (0, o.jsx)(Y, { - label: 'Animation speed', - onChange: function (e) { - return t(U(U({}, n), {}, { animationSpeed: e })) - }, - value: n.animationSpeed, - infoText: - 'Slower speed has a chance of being buggy', - min: 50, - max: 1e3, - step: 10, - }), - (0, o.jsx)(W.Ph, { - placeholder: n.algorithmName, - onChange: function (e) { - t( - U( - U({}, n), - {}, - { algorithmName: e.target.value }, - ), - ) - }, - children: n.algorithmOptions.map(function (e) { - return (0, - o.jsx)('option', { value: e, children: e }, e) - }), - }), - ], - }), - ], - }), - }), - ], - }), - }), - ], - }), - (0, o.jsxs)(M.Qd, { - children: [ - (0, o.jsxs)(M.KF, { - children: [ - (0, o.jsx)(M.XE, { marginRight: 2 }), - (0, o.jsx)(Z.X, { size: 'sm', children: 'Behavior' }), - ], - }), - (0, o.jsx)(M.Hk, { - children: (0, o.jsx)(R.gC, { - spacing: 2, - justifyContent: 'flex-start', - divider: (0, o.jsx)(R.cX, { borderColor: 'gray.500' }), - align: 'stretch', - paddingLeft: 7, - color: 'gray.800', - }), - }), - ], - }), - ], - }), - }), - ], - }), - }), - ], - }) - }, - V = function (e) { - var n = e.infoText - return (0, o.jsx)(v.xu, { - paddingLeft: '1', - children: (0, o.jsx)(F.u, { - label: n, - placement: 'top', - color: 'gray.100', - bg: 'gray.800', - hasArrow: !0, - children: (0, o.jsx)(T.h, {}), - }), - }) - }, - Y = function (e) { - var n = e.min, - t = void 0 === n ? 0 : n, - r = e.max, - i = void 0 === r ? 10 : r, - l = e.step, - a = void 0 === l ? 0.1 : l, - s = e.value, - c = void 0 === s ? 1 : s, - u = (0, w.Z)(e, ['min', 'max', 'step', 'value']), - d = u.onChange, - h = u.label, - f = u.infoText - return (0, o.jsxs)(v.xu, { - children: [ - (0, o.jsxs)(v.xu, { - display: 'flex', - alignItems: 'flex-end', - children: [(0, o.jsx)(H.x, { children: h }), f && (0, o.jsx)(V, { infoText: f })], - }), - (0, o.jsxs)(B.iR, { - value: c, - onChange: d, - min: t, - max: i, - step: a, - colorScheme: 'purple', - children: [ - (0, o.jsx)(B.Uj, { children: (0, o.jsx)(B.Ms, {}) }), - (0, o.jsx)(F.u, { - bg: 'purple.500', - label: c.toFixed(1), - children: (0, o.jsx)(B.gs, { bg: 'white' }), - }), - ], - }), - ], - }) - }, - G = function (e) { - var n = e.value, - t = e.onChange, - r = e.label, - i = e.infoText, - l = e.children - return (0, o.jsxs)(v.xu, { - children: [ - (0, o.jsxs)(v.xu, { - display: 'flex', - justifyContent: 'space-between', - children: [ - (0, o.jsxs)(v.xu, { - display: 'flex', - alignItems: 'center', - children: [ - (0, o.jsx)(H.x, { children: r }), - i && (0, o.jsx)(V, { infoText: i }), - ], - }), - (0, o.jsx)(A.r, { isChecked: !!n, onChange: t, colorScheme: 'purple' }), - ], - }), - (0, o.jsx)(E.U, { - in: !!n, - animateOpacity: !0, - children: (0, o.jsx)(v.xu, { paddingLeft: 4, paddingTop: 2, children: l }), - }), - ], - }) - } - function q(e, n) { - var t = Object.keys(e) - if (Object.getOwnPropertySymbols) { - var r = Object.getOwnPropertySymbols(e) - n && - (r = r.filter(function (n) { - return Object.getOwnPropertyDescriptor(e, n).enumerable - })), - t.push.apply(t, r) - } - return t - } - function $(e) { - for (var n = 1; n < arguments.length; n++) { - var t = null != arguments[n] ? arguments[n] : {} - n % 2 - ? q(Object(t), !0).forEach(function (n) { - ;(0, s.Z)(e, n, t[n]) - }) - : Object.getOwnPropertyDescriptors - ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) - : q(Object(t)).forEach(function (n) { - Object.defineProperty(e, n, Object.getOwnPropertyDescriptor(t, n)) - }) - } - return e - } - var ee = t.e(4).then(t.bind(t, 7004)), - ne = t.g.window ? t(1957).f$ : null, - te = t.g.window ? t(1957).s6 : null - function re() { - var e = (0, u.useState)(!1), - n = e[0], - t = e[1] - return ( - (0, u.useEffect)(function () { - t(!0) - }, []), - n ? (0, o.jsx)(ie, {}) : null - ) - } - function ie() { - var e = d('physics', S), - n = (0, c.Z)(e, 2), - t = n[0], - r = n[1], - i = d('filter', O), - l = (0, c.Z)(i, 2), - h = l[0], - f = l[1], - g = (0, u.useState)(null), - p = g[0], - x = g[1], - j = (0, u.useState)(null), - m = j[0], - y = j[1], - b = (0, u.useRef)({}), - k = (0, u.useRef)({}), - C = function () { - return fetch('http://localhost:35901/graph') - .then(function (e) { - return e.json() - }) - .then(function (e) { - var n = e.nodes.reduce(function (e, n) { - var t - return $( - $({}, e), - {}, - (0, s.Z)( - {}, - n.file, - [].concat((0, a.Z)(null !== (t = e[n.file]) && void 0 !== t ? t : []), [n]), - ), - ) - }, {}), - t = Object.keys(n).flatMap(function (e) { - var t, - r = null !== (t = n[e]) && void 0 !== t ? t : [], - i = r.find(function (e) { - return 0 === e.level - }), - l = r.filter(function (e) { - return 0 !== e.level - }) - return i - ? l.map(function (e) { - return { source: e.id, target: i.id, type: 'parent' } - }) - : [] - }) - b.current = Object.fromEntries( - e.nodes.map(function (e) { - return [e.id, e] - }), - ) - var r = [].concat((0, a.Z)(e.links), (0, a.Z)(t)) - k.current = r.reduce(function (e, n) { - var t, r, i - return $( - $({}, e), - {}, - ((i = {}), - (0, s.Z)( - i, - n.source, - [].concat((0, a.Z)(null !== (t = e[n.source]) && void 0 !== t ? t : []), [n]), - ), - (0, s.Z)( - i, - n.target, - [].concat((0, a.Z)(null !== (r = e[n.target]) && void 0 !== r ? r : []), [n]), - ), - i), - ) - }, {}) - var i = $($({}, e), {}, { links: r }), - l = JSON.parse(JSON.stringify(i)) - x(l) - }) - } - ;(0, u.useEffect)(function () { - new EventSource('http://127.0.0.1:35901/current-node-id').addEventListener( - 'message', - function (e) { - var n = e.data - y(n) - }, - ), - C() - }, []), - (0, u.useEffect)( - function () { - m && C() - }, - [m], - ) - var w = (0, u.useState)(!1), - N = w[0], - I = w[1] - return p - ? (0, o.jsxs)(v.xu, { - display: 'flex', - alignItems: 'flex-start', - flexDirection: 'row', - height: '100%', - children: [ - (0, o.jsx)( - K, - $( - {}, - { - physics: t, - setPhysics: r, - threeDim: N, - setThreeDim: I, - filter: h, - setFilter: f, - }, - ), - ), - (0, o.jsx)(v.xu, { - position: 'absolute', - alignItems: 'top', - children: (0, o.jsx)( - le, - $( - { nodeById: b.current, linksByNodeId: k.current }, - { physics: t, graphData: p, threeDim: N, emacsNodeId: m, filter: h }, - ), - ), - }), - ], - }) - : null - } - var le = function (e) { - var n = e.physics, - t = e.graphData, - r = e.threeDim, - s = e.linksByNodeId, - d = e.filter, - h = e.emacsNodeId, - v = e.nodeById, - j = (0, u.useRef)(null), - m = (0, u.useRef)(null), - y = (0, g.iP)(), - b = (0, c.Z)(y, 2), - k = b[0], - C = b[1], - S = (0, u.useState)(null), - O = S[0], - w = S[1], - N = (0, u.useState)({ nodeIds: [] }), - I = N[0], - D = N[1] - ;(0, u.useEffect)( - function () { - if (h) - switch (n.follow) { - case 'Local': - D({ nodeIds: [h] }) - } - }, - [h], - ) - var P = O, - T = (0, u.useMemo)( - function () { - if (!P) return {} - var e = s[P.id] - return e - ? Object.fromEntries( - [P.id] - .concat( - (0, a.Z)( - e.flatMap(function (e) { - return [e.source, e.target] - }), - ), - ) - .map(function (e) { - return [e, {}] - }), - ) - : {} - }, - [P, s], - ), - z = (0, u.useMemo)( - function () { - return t.nodes.filter(function (e) { - var n, - t = null !== (n = s[e.id]) && void 0 !== n ? n : [], - r = !0 - return ( - d.orphans && - (d.parents - ? (r = 0 !== t.length) - : (0 === t.length || - t.length - - t.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length === - 0) && - (r = !1)), - r - ) - }) - }, - [d, t.nodes, s], - ), - E = (0, u.useMemo)( - function () { - return t.links.filter(function (e) { - var n = e - return 'cite' !== n.type && (d.parents || 'parent' !== n.type) - }) - }, - [d, JSON.stringify(t.links)], - ), - F = (0, u.useMemo)( - function () { - return z.filter(function (e) { - var n, - t = null !== (n = s[e.id]) && void 0 !== n ? n : [] - return ( - I.nodeIds.includes(e.id) || - t.some(function (e) { - return I.nodeIds.includes(e.source) || I.nodeIds.includes(e.target) - }) - ) - }) - }, - [z, s, I.nodeIds], - ), - L = F.map(function (e) { - return e.id - }), - M = (0, u.useMemo)( - function () { - return E.filter(function (e) { - var n = 'object' === typeof e.source ? e.source.id : e.source, - t = 'object' === typeof e.target ? e.target.id : e.target - return L.includes(n) && L.includes(t) - }) - }, - [E, F], - ), - Z = (0, u.useMemo)( - function () { - return 0 === I.nodeIds.length ? { nodes: z, links: E } : { nodes: F, links: M } - }, - [d, I, JSON.stringify(Object.keys(v))], - ) - ;(0, u.useEffect)( - function () { - setTimeout(function () { - var e = r ? m.current : j.current - null === e || void 0 === e || e.zoomToFit(0, ae(20, 200, k / 8)) - }, 1) - }, - [JSON.stringify(L)], - ), - (0, u.useEffect)(function () { - ;(0, l.Z)( - i().mark(function e() { - var t, l - return i().wrap(function (e) { - for (;;) - switch ((e.prev = e.next)) { - case 0: - return (t = r ? m.current : j.current), (e.next = 3), ee - case 3: - ;(l = e.sent), - n.gravityOn - ? (t.d3Force('x', l.forceX().strength(n.gravity)), - t.d3Force('y', l.forceY().strength(n.gravity)), - r - ? n.galaxy - ? (t.d3Force('x', l.forceX().strength(n.gravity / 5)), - t.d3Force('z', l.forceZ().strength(n.gravity / 5))) - : (t.d3Force('x', l.forceX().strength(n.gravity)), - t.d3Force('z', l.forceZ().strength(n.gravity))) - : t.d3Force('z', null)) - : (t.d3Force('x', null), - t.d3Force('y', null), - r && t.d3Force('z', null)), - n.linkStrength && t.d3Force('link').strength(n.linkStrength), - n.linkIts && t.d3Force('link').iterations(n.linkIts), - n.charge && t.d3Force('charge').strength(n.charge), - t.d3Force('collide', n.collision ? l.forceCollide().radius(20) : null) - case 9: - case 'end': - return e.stop() - } - }, e) - }), - )() - }), - (0, u.useEffect)( - function () { - var e - null === (e = j.current) || void 0 === e || e.d3ReheatSimulation() - }, - [n], - ) - var R = (0, u.useRef)(0), - X = (0, u.useState)(1), - H = X[0], - A = X[1], - _ = (0, p._7)( - function (e) { - return A(e) - }, - { duration: n.animationSpeed, algorithm: n.algorithms[n.algorithmName] }, - ), - W = (0, c.Z)(_, 2), - B = W[0], - J = W[1], - Q = (0, p._7)( - function (e) { - return A(Math.min(H, -1 * (e - 1))) - }, - { duration: n.animationSpeed, algorithm: n.algorithms[n.algorithmName] }, - ), - U = (0, c.Z)(Q, 1)[0], - K = (0, u.useRef)(null) - ;(0, u.useEffect)( - function () { - if ((O && (K.current = O), !n.highlightAnim)) return A(O ? 1 : 0) - O ? B() : (J(), H > 0.5 ? U() : A(0)) - }, - [O], - ) - var V = (0, x.useTheme)(), - Y = (0, u.useMemo)( - function () { - return f.Z(V.colors.gray[500], V.colors.purple[500]) - }, - [V], - ), - G = (0, u.useMemo)( - function () { - return f.Z(V.colors.gray[500], V.colors.gray[400]) - }, - [V], - ), - q = - ((0, u.useMemo)( - function () { - var e - return null !== (e = s[null === O || void 0 === O ? void 0 : O.id]) && void 0 !== e - ? e - : [] - }, - [O], - ), - (0, u.useMemo)( - function () { - var e, n - return null !== (e = s[null === (n = K.current) || void 0 === n ? void 0 : n.id]) && - void 0 !== e - ? e - : [] - }, - [O], - )), - re = (0, u.useMemo)( - function () { - var e - return Object.fromEntries( - [null === (e = K.current) || void 0 === e ? void 0 : e.id] - .concat( - (0, a.Z)( - q.flatMap(function (e) { - return [e.source, e.target] - }), - ), - ) - .map(function (e) { - return [e, {}] - }), - ) - }, - [O, q, K], - ), - ie = { - graphData: Z, - width: k, - height: C, - backgroundColor: V.white, - nodeLabel: function (e) { - return e.title - }, - nodeColor: function (e) { - var t, r, i - if (!n.colorful) return re[e.id] || T[e.id] ? Y(H) : G(H) - if (e.id === h) return V.colors.red[500] - var l = [ - 'pink', - 'purple', - 'blue', - 'cyan', - 'teal', - 'green', - 'yellow', - 'orange', - 'red', - ].filter(function (e) { - return !['red'].includes(e) - }), - o = - null !== (t = null === (r = s[e.id]) || void 0 === r ? void 0 : r.length) && - void 0 !== t - ? t - : 0, - a = o - ? null === (i = s[e.id]) || void 0 === i - ? void 0 - : i.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0, - c = d.parents ? o : o - a - return V.colors[l[ae(c, 0, l.length - 1)]][500] - }, - nodeRelSize: n.nodeRel, - nodeVal: function (e) { - var t, - r = null !== (t = s[e.id]) && void 0 !== t ? t : [], - i = r.length - ? r.filter(function (e) { - return 'parent' === e.type || 'cite' === e.type - }).length - : 0 - return ( - (3 + r.length - (d.parents ? 0 : i)) * - (T[e.id] || re[e.id] ? 1 + H * (n.highlightNodeSize - 1) : 1) - ) - }, - nodeCanvasObject: function (e, t, r) { - var i - if (e && n.labels) { - i = s[e.id] - var l = re[e.id] - if (!(r <= n.labelScale || 1 === n.labels) || T[e.id] || l) { - var o = e.title, - c = o.substring(0, Math.min(o.length, 30)), - u = 12 / r, - d = [1.1 * t.measureText(c).width, u].map(function (e) { - return e + 0.5 * u - }), - h = Math.min((3 * (r - n.labelScale)) / n.labelScale, 1), - f = function () { - return 1 === n.labels || r <= n.labelScale - ? H - : T[e.id] || re[e.id] - ? Math.max(h, H) - : 1 * h * (-1 * (0.5 * H - 1)) - } - if (2 === n.labels && (l || T[e.id])) { - var g = 0.5 * f() - ;(t.fillStyle = 'rgba(20, 20, 20, '.concat(g, ')')), - t.fillRect.apply(t, [e.x - d[0] / 2, e.y - d[1] / 2].concat((0, a.Z)(d))) - } - var p = f() - ;(t.textAlign = 'center'), - (t.textBaseline = 'middle'), - (t.fillStyle = 'rgb(255, 255, 255, '.concat(p, ')')), - (t.font = ''.concat(u, 'px Sans-Serif')), - t.fillText(c, e.x, e.y) - } - } - }, - nodeCanvasObjectMode: function () { - return 'after' - }, - linkDirectionalParticles: n.particles ? n.particlesNumber : void 0, - linkColor: function (e) { - var n = oe(e, P), - t = oe(e, K.current) - return n || t ? Y(H) : V.colors.gray[500] - }, - linkWidth: function (e) { - var t = oe(e, P), - r = oe(e, K.current) - return t || r ? n.linkWidth * (1 + H * (n.highlightLinkSize - 1)) : n.linkWidth - }, - linkDirectionalParticleWidth: n.particlesWidth, - d3AlphaDecay: n.alphaDecay, - d3AlphaMin: n.alphaMin, - d3VelocityDecay: n.velocityDecay, - onNodeClick: function (e, n) { - var t = n.timeStamp - R.current < 400 - ;(R.current = n.timeStamp), - t - ? window.open('org-protocol://roam-node?node=' + e.id, '_self') - : D(function (n) { - return $($({}, n), {}, { nodeIds: [].concat((0, a.Z)(n.nodeIds), [e.id]) }) - }) - }, - onBackgroundClick: function () { - D(function (e) { - return $($({}, e), {}, { nodeIds: [] }) - }) - }, - onNodeHover: function (e) { - n.hover && w(e) - }, - } - return (0, o.jsx)('div', { - children: r - ? (0, o.jsx)( - te, - $( - $({ ref: m }, ie), - {}, - { nodeThreeObjectExtend: !0, backgroundColor: V.colors.white }, - ), - ) - : (0, o.jsx)(ne, $({ ref: j }, ie)), - }) - } - function oe(e, n) { - return ( - e.source.id === (null === n || void 0 === n ? void 0 : n.id) || - e.target.id === (null === n || void 0 === n ? void 0 : n.id) - ) - } - function ae(e, n, t) { - return Math.min(Math.max(e, n), t) - } - }, - 5301: function (e, n, t) { - ;(window.__NEXT_P = window.__NEXT_P || []).push([ - '/', - function () { - return t(374) - }, - ]) - }, - }, - function (e) { - e.O(0, [774, 737, 446, 611, 888, 179], function () { - return (n = 5301), e((e.s = n)) - var n - }) - var n = e.O() - _N_E = n - }, -]) diff --git a/out/index.html b/out/index.html index 0813a05..6d7742d 100644 --- a/out/index.html +++ b/out/index.html @@ -15,13 +15,13 @@ <script src="/_next/static/chunks/webpack-a1ea085630ce50807058.js" defer=""></script> <script src="/_next/static/chunks/framework-2191d16384373197bc0a.js" defer=""></script> <script src="/_next/static/chunks/main-a3a79aff3ff232b41814.js" defer=""></script> - <script src="/_next/static/chunks/pages/_app-dfc6475e55af57905c35.js" defer=""></script> - <script src="/_next/static/chunks/fb7d5399-a8c606efbc9e7c0edf90.js" defer=""></script> + <script src="/_next/static/chunks/pages/_app-6ba3a11e93bdf6a85175.js" defer=""></script> + <script src="/_next/static/chunks/fb7d5399-0d6001c72a29ebec41eb.js" defer=""></script> <script src="/_next/static/chunks/d25bd147-65fcc4c92edba8b370fb.js" defer=""></script> - <script src="/_next/static/chunks/611-5fb26b79804963e4f537.js" defer=""></script> - <script src="/_next/static/chunks/pages/index-aca5544598c1009a8282.js" defer=""></script> - <script src="/_next/static/E9JvO6gTJnvut1BKCp8Kp/_buildManifest.js" defer=""></script> - <script src="/_next/static/E9JvO6gTJnvut1BKCp8Kp/_ssgManifest.js" defer=""></script> + <script src="/_next/static/chunks/906-7b9696c9b17c64b94384.js" defer=""></script> + <script src="/_next/static/chunks/pages/index-e63523b4f2b01b501b4a.js" defer=""></script> + <script src="/_next/static/VTjCLWjEHj_0nxCCzjXkV/_buildManifest.js" defer=""></script> + <script src="/_next/static/VTjCLWjEHj_0nxCCzjXkV/_ssgManifest.js" defer=""></script> </head> <body> <div id="__next"> @@ -697,7 +697,7 @@ "props": { "pageProps": {} }, "page": "/", "query": {}, - "buildId": "E9JvO6gTJnvut1BKCp8Kp", + "buildId": "VTjCLWjEHj_0nxCCzjXkV", "nextExport": true, "autoExport": true, "isFallback": false, diff --git a/pages/_app.tsx b/pages/_app.tsx index ab05e26..f623786 100644 --- a/pages/_app.tsx +++ b/pages/_app.tsx @@ -4,7 +4,7 @@ import { ChakraProvider, extendTheme, withDefaultColorScheme } from '@chakra-ui/ import { useEffect, useState, useMemo, useContext, useReducer } from 'react' import * as d3int from 'd3-interpolate' -import { ThemeContext } from './themecontext' +import { ThemeContext } from '../util/themecontext' import { usePersistantState } from '../util/persistant-state' function MyApp({ Component, pageProps }: AppProps) { diff --git a/pages/index.tsx b/pages/index.tsx index da308c7..d72128b 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -33,7 +33,7 @@ import { } from '../components/config' import { Tweaks } from '../components/tweaks' -import { ThemeContext, ThemeContextProps } from './themecontext' +import { ThemeContext, ThemeContextProps } from '../util/themecontext' import SpriteText from 'three-spritetext' import ReconnectingWebSocket from 'reconnecting-websocket' diff --git a/pages/themecontext.tsx b/pages/themecontext.tsx deleted file mode 100644 index fdea9d6..0000000 --- a/pages/themecontext.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { createContext } from 'react' - -const initialTheme = { - base1: '#1c1f24', - base2: '#21272d', - base3: '#23272e', - base4: '#484854', - base5: '#62686E', - base6: '#757B80', - base7: '#9ca0a4', - base8: '#DFDFDF', - bg: '#242730', - 'bg-alt': '#2a2e38', - blue: '#51afef', - cyan: '#5cEfFF', - 'dark-blue': '#1f5582', - 'dark-cyan': '#6A8FBF', - fg: '#bbc2cf', - 'fg-alt': '#5D656B', - green: '#7bc275', - grey: '#484854', - magenta: '#C57BDB', - orange: '#e69055', - red: '#ff665c', - teal: '#4db5bd', - violet: '#a991f1', - yellow: '#FCCE7B', -} - -export interface ThemeContextProps { - emacsTheme: typeof initialTheme - setEmacsTheme: any - highlightColor: string - setHighlightColor: any -} - -const ThemeContext = createContext<ThemeContextProps>({ - emacsTheme: initialTheme, - setEmacsTheme: null, - highlightColor: 'purple', - setHighlightColor: null, -}) -export { ThemeContext } |