summaryrefslogtreecommitdiff
path: root/out/_next/static
diff options
context:
space:
mode:
Diffstat (limited to 'out/_next/static')
-rw-r--r--out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_buildManifest.js12
-rw-r--r--out/_next/static/E9JvO6gTJnvut1BKCp8Kp/_ssgManifest.js1
-rw-r--r--out/_next/static/chunks/611-5fb26b79804963e4f537.js37935
-rw-r--r--out/_next/static/chunks/fb7d5399-a8c606efbc9e7c0edf90.js21137
-rw-r--r--out/_next/static/chunks/pages/_app-dfc6475e55af57905c35.js8000
-rw-r--r--out/_next/static/chunks/pages/index-aca5544598c1009a8282.js1386
6 files changed, 0 insertions, 68471 deletions
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
- },
-])