@eva/plugin-renderer-lottie 1.1.1-beta.0 → 1.1.1-fix.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EVA.plugin.renderer.lottie.js +5158 -4960
- package/dist/EVA.plugin.renderer.lottie.min.js +2 -1
- package/dist/EVA.plugin.renderer.lottie.min.js.map +1 -0
- package/dist/global.d.ts +6 -0
- package/dist/plugin-renderer-lottie.cjs.js +10 -9
- package/dist/plugin-renderer-lottie.cjs.prod.js +1 -0
- package/dist/plugin-renderer-lottie.cjs.prod.js.map +1 -0
- package/dist/plugin-renderer-lottie.esm.js +9 -8
- package/package.json +3 -3
- package/dist/vite-test/dist/assets/Graphics.f535ed8f.d.ts +0 -6
- package/dist/vite-test/dist/assets/Graphics.f535ed8f.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/Sprite.703a9f94.d.ts +0 -9
- package/dist/vite-test/dist/assets/Sprite.703a9f94.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/a11y.9b3ce839.d.ts +0 -4
- package/dist/vite-test/dist/assets/a11y.9b3ce839.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/component.caf56816.d.ts +0 -4
- package/dist/vite-test/dist/assets/component.caf56816.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/compressed-texture-animation.6dcf9ab4.d.ts +0 -4
- package/dist/vite-test/dist/assets/compressed-texture-animation.6dcf9ab4.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/compressed-texture-mipmap.cc4fada9.d.ts +0 -4
- package/dist/vite-test/dist/assets/compressed-texture-mipmap.cc4fada9.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/compressed-texture.07a67c9f.d.ts +0 -4
- package/dist/vite-test/dist/assets/compressed-texture.07a67c9f.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/dragonbone.bfd80a38.d.ts +0 -4
- package/dist/vite-test/dist/assets/dragonbone.bfd80a38.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/event.0de0fd28.d.ts +0 -4
- package/dist/vite-test/dist/assets/event.0de0fd28.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/graphics.df3659e9.d.ts +0 -4
- package/dist/vite-test/dist/assets/graphics.df3659e9.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/image.9d7f7b54.d.ts +0 -4
- package/dist/vite-test/dist/assets/image.9d7f7b54.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/index.cf7bfffd.d.ts +0 -2
- package/dist/vite-test/dist/assets/index.cf7bfffd.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/loader.03643d14.d.ts +0 -4
- package/dist/vite-test/dist/assets/loader.03643d14.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/lottie.8e29b509.d.ts +0 -4
- package/dist/vite-test/dist/assets/lottie.8e29b509.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/mask.c3592934.d.ts +0 -4
- package/dist/vite-test/dist/assets/mask.c3592934.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/matter.bcb02c9e.d.ts +0 -4
- package/dist/vite-test/dist/assets/matter.bcb02c9e.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/multi-canvas.a081d481.d.ts +0 -4
- package/dist/vite-test/dist/assets/multi-canvas.a081d481.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/ninePatch.ec5000f5.d.ts +0 -4
- package/dist/vite-test/dist/assets/ninePatch.ec5000f5.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/sound.81f19bb0.d.ts +0 -4
- package/dist/vite-test/dist/assets/sound.81f19bb0.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/spine.08037e2f.d.ts +0 -4
- package/dist/vite-test/dist/assets/spine.08037e2f.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/sprite.ab61ce04.d.ts +0 -4
- package/dist/vite-test/dist/assets/sprite.ab61ce04.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/spriteAnimation.fbd1b62d.d.ts +0 -4
- package/dist/vite-test/dist/assets/spriteAnimation.fbd1b62d.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/text.3e406bba.d.ts +0 -4
- package/dist/vite-test/dist/assets/text.3e406bba.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/tilingSprite.3f09d780.d.ts +0 -4
- package/dist/vite-test/dist/assets/tilingSprite.3f09d780.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/transition.f3d6a6eb.d.ts +0 -4
- package/dist/vite-test/dist/assets/transition.f3d6a6eb.d.ts.map +0 -1
- package/dist/vite-test/dist/assets/vendor.1f31f96e.d.ts +0 -5
- package/dist/vite-test/dist/assets/vendor.1f31f96e.d.ts.map +0 -1
- package/dist/vite-test/index.d.ts +0 -2
- package/dist/vite-test/index.d.ts.map +0 -1
- package/dist/vite-test/ts/a11y.d.ts +0 -3
- package/dist/vite-test/ts/a11y.d.ts.map +0 -1
- package/dist/vite-test/ts/component.d.ts +0 -3
- package/dist/vite-test/ts/component.d.ts.map +0 -1
- package/dist/vite-test/ts/compressed-texture-animation.d.ts +0 -3
- package/dist/vite-test/ts/compressed-texture-animation.d.ts.map +0 -1
- package/dist/vite-test/ts/compressed-texture-mipmap.d.ts +0 -3
- package/dist/vite-test/ts/compressed-texture-mipmap.d.ts.map +0 -1
- package/dist/vite-test/ts/compressed-texture.d.ts +0 -3
- package/dist/vite-test/ts/compressed-texture.d.ts.map +0 -1
- package/dist/vite-test/ts/dragonbone.d.ts +0 -3
- package/dist/vite-test/ts/dragonbone.d.ts.map +0 -1
- package/dist/vite-test/ts/event.d.ts +0 -3
- package/dist/vite-test/ts/event.d.ts.map +0 -1
- package/dist/vite-test/ts/graphics.d.ts +0 -3
- package/dist/vite-test/ts/graphics.d.ts.map +0 -1
- package/dist/vite-test/ts/image.d.ts +0 -3
- package/dist/vite-test/ts/image.d.ts.map +0 -1
- package/dist/vite-test/ts/loader.d.ts +0 -3
- package/dist/vite-test/ts/loader.d.ts.map +0 -1
- package/dist/vite-test/ts/lottie.d.ts +0 -3
- package/dist/vite-test/ts/lottie.d.ts.map +0 -1
- package/dist/vite-test/ts/mask.d.ts +0 -4
- package/dist/vite-test/ts/mask.d.ts.map +0 -1
- package/dist/vite-test/ts/matter.d.ts +0 -3
- package/dist/vite-test/ts/matter.d.ts.map +0 -1
- package/dist/vite-test/ts/multi-canvas.d.ts +0 -3
- package/dist/vite-test/ts/multi-canvas.d.ts.map +0 -1
- package/dist/vite-test/ts/ninePatch.d.ts +0 -3
- package/dist/vite-test/ts/ninePatch.d.ts.map +0 -1
- package/dist/vite-test/ts/sound.d.ts +0 -3
- package/dist/vite-test/ts/sound.d.ts.map +0 -1
- package/dist/vite-test/ts/spine.d.ts +0 -3
- package/dist/vite-test/ts/spine.d.ts.map +0 -1
- package/dist/vite-test/ts/sprite.d.ts +0 -3
- package/dist/vite-test/ts/sprite.d.ts.map +0 -1
- package/dist/vite-test/ts/spriteAnimation.d.ts +0 -3
- package/dist/vite-test/ts/spriteAnimation.d.ts.map +0 -1
- package/dist/vite-test/ts/text.d.ts +0 -3
- package/dist/vite-test/ts/text.d.ts.map +0 -1
- package/dist/vite-test/ts/tilingSprite.d.ts +0 -3
- package/dist/vite-test/ts/tilingSprite.d.ts.map +0 -1
- package/dist/vite-test/ts/transition.d.ts +0 -3
- package/dist/vite-test/ts/transition.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-renderer-lottie.cjs.prod.js","sources":["../lib/lottie-core.js","../lib/lottie-pixi.js","../lib/utils.js","../lib/LottieSystem.ts","../lib/Lottie.ts"],"sourcesContent":["function t(t) {\n return Object.prototype.toString.call(t);\n}\nconst s = {\n copyJSON: function (t) {\n return JSON.parse(JSON.stringify(t));\n },\n isArray: (function () {\n let s = t([]);\n return function (e) {\n return t(e) === s;\n };\n })(),\n isString: (function () {\n let s = t('s');\n return function (e) {\n return t(e) === s;\n };\n })(),\n isNumber: (function () {\n let s = t(1);\n return function (e) {\n return t(e) === s;\n };\n })(),\n isFunction: (function () {\n let s = t(function () {});\n return function (e) {\n return t(e) === s;\n };\n })(),\n isUndefined: function (t) {\n return void 0 === t;\n },\n isBoolean: (function () {\n let s = t(!0);\n return function (e) {\n return t(e) === s;\n };\n })(),\n isObject: (function () {\n let s = t({});\n return function (e) {\n return t(e) === s;\n };\n })(),\n random: function (t, s) {\n return this.isArray(t)\n ? t[~~(Math.random() * t.length)]\n : (this.isNumber(s) || ((s = t || 1), (t = 0)), t + Math.random() * (s - t));\n },\n euclideanModulo: function (t, s) {\n return ((t % s) + s) % s;\n },\n codomainBounce: function (t, s, e) {\n return t < s ? 2 * s - t : t > e ? 2 * e - t : t;\n },\n clamp: function (t, s, e) {\n return t < s ? s : t > e ? e : t;\n },\n inRange: (t, s, e) => t >= s && t <= e,\n getAssets(t, s) {\n for (let e = 0; e < s.length; e++) if (t === s[e].id) return s[e];\n return console.error('have not assets name as', t), {};\n },\n rgb2hex: t => (t[0] << 16) + (t[1] << 8) + (0 | t[2]),\n};\nclass e {\n constructor() {\n (this.listeners = {}), (this.addEventListener = this.on), (this.removeEventListener = this.off);\n }\n on(t, e) {\n return s.isFunction(e)\n ? (s.isUndefined(this.listeners[t]) && (this.listeners[t] = []), this.listeners[t].push(e), this)\n : this;\n }\n off(t, e) {\n if (s.isUndefined(this.listeners[t])) return this;\n const i = this.listeners[t];\n let h = i.length;\n if (h > 0)\n if (e) for (; h--; ) i[h] === e && i.splice(h, 1);\n else i.length = 0;\n return this;\n }\n once(t, e) {\n if (!s.isFunction(e)) return this;\n const i = s => {\n e(s), this.off(t, i);\n };\n return this.on(t, i), this;\n }\n emit(t, ...e) {\n if (s.isUndefined(this.listeners[t])) return this;\n const i = (this.listeners[t] || []).slice(0);\n for (let t = 0; t < i.length; t++) i[t].apply(this, e);\n return this;\n }\n}\nconst i = {},\n h = { Ajax: 'Ajax', Texture: 'Texture' };\nvar r = {\n Type: h,\n registerLoaderByType: function (t, s) {\n i[t] = s;\n },\n};\nfunction a(t, s, e) {\n let i,\n h,\n r,\n p,\n c,\n d,\n u = t.length;\n for (h = 0; h < u; h += 1)\n if (((i = t[h]), 'ks' in i && !i.completed)) {\n if (((i.completed = !0), i.tt && (t[h - 1].td = i.tt), i.hasMask)) {\n let t = i.masksProperties;\n for (p = t.length, r = 0; r < p; r += 1)\n if (t[r].pt.k.i) l(t[r].pt.k);\n else\n for (d = t[r].pt.k.length, c = 0; c < d; c += 1)\n t[r].pt.k[c].s && l(t[r].pt.k[c].s[0]), t[r].pt.k[c].e && l(t[r].pt.k[c].e[0]);\n }\n 0 === i.ty ? ((i.layers = n(i.refId, s)), a(i.layers, s)) : 4 === i.ty ? o(i.shapes) : 5 == i.ty && m(i);\n }\n}\nfunction n(t, s) {\n let e = 0,\n i = s.length;\n for (; e < i; ) {\n if (s[e].id === t)\n return s[e].layers.__used ? JSON.parse(JSON.stringify(s[e].layers)) : ((s[e].layers.__used = !0), s[e].layers);\n e += 1;\n }\n}\nfunction o(t) {\n let s, e, i;\n for (s = t.length - 1; s >= 0; s -= 1)\n if ('sh' == t[s].ty)\n if (t[s].ks.k.i) l(t[s].ks.k);\n else\n for (i = t[s].ks.k.length, e = 0; e < i; e += 1)\n t[s].ks.k[e].s && l(t[s].ks.k[e].s[0]), t[s].ks.k[e].e && l(t[s].ks.k[e].e[0]);\n else 'gr' == t[s].ty && o(t[s].it);\n}\nfunction l(t) {\n let s,\n e = t.i.length;\n for (s = 0; s < e; s += 1)\n (t.i[s][0] += t.v[s][0]), (t.i[s][1] += t.v[s][1]), (t.o[s][0] += t.v[s][0]), (t.o[s][1] += t.v[s][1]);\n}\nfunction p(t, s) {\n let e = s ? s.split('.') : [100, 100, 100];\n return (\n t[0] > e[0] || (!(e[0] > t[0]) && (t[1] > e[1] || (!(e[1] > t[1]) && (t[2] > e[2] || (!(e[2] > t[2]) && void 0)))))\n );\n}\nlet c = (function () {\n let t = [4, 4, 14];\n function s(t) {\n let s = t.t.d;\n t.t.d = { k: [{ s: s, t: 0 }] };\n }\n function e(t) {\n let e,\n i = t.length;\n for (e = 0; e < i; e += 1) 5 === t[e].ty && s(t[e]);\n }\n return function (s) {\n if (p(t, s.v) && (e(s.layers), s.assets)) {\n let t,\n i = s.assets.length;\n for (t = 0; t < i; t += 1) s.assets[t].layers && e(s.assets[t].layers);\n }\n };\n })(),\n d = (function () {\n let t = [4, 7, 99];\n return function (s) {\n if (s.chars && !p(t, s.v)) {\n let t,\n e,\n i,\n h,\n r,\n a = s.chars.length;\n for (t = 0; t < a; t += 1)\n if (s.chars[t].data && s.chars[t].data.shapes)\n for (r = s.chars[t].data.shapes[0].it, i = r.length, e = 0; e < i; e += 1)\n (h = r[e].ks.k), h.__converted || (l(r[e].ks.k), (h.__converted = !0));\n }\n };\n })(),\n u = (function () {\n let t = [4, 1, 9];\n function s(t) {\n let e,\n i,\n h,\n r = t.length;\n for (e = 0; e < r; e += 1)\n if ('gr' === t[e].ty) s(t[e].it);\n else if ('fl' === t[e].ty || 'st' === t[e].ty)\n if (t[e].c.k && t[e].c.k[0].i)\n for (h = t[e].c.k.length, i = 0; i < h; i += 1)\n t[e].c.k[i].s &&\n ((t[e].c.k[i].s[0] /= 255),\n (t[e].c.k[i].s[1] /= 255),\n (t[e].c.k[i].s[2] /= 255),\n (t[e].c.k[i].s[3] /= 255)),\n t[e].c.k[i].e &&\n ((t[e].c.k[i].e[0] /= 255),\n (t[e].c.k[i].e[1] /= 255),\n (t[e].c.k[i].e[2] /= 255),\n (t[e].c.k[i].e[3] /= 255));\n else (t[e].c.k[0] /= 255), (t[e].c.k[1] /= 255), (t[e].c.k[2] /= 255), (t[e].c.k[3] /= 255);\n }\n function e(t) {\n let e,\n i = t.length;\n for (e = 0; e < i; e += 1) 4 === t[e].ty && s(t[e].shapes);\n }\n return function (s) {\n if (p(t, s.v) && (e(s.layers), s.assets)) {\n let t,\n i = s.assets.length;\n for (t = 0; t < i; t += 1) s.assets[t].layers && e(s.assets[t].layers);\n }\n };\n })(),\n f = (function () {\n let t = [4, 4, 18];\n function s(t) {\n let e, i, h;\n for (e = t.length - 1; e >= 0; e -= 1)\n if ('sh' == t[e].ty)\n if (t[e].ks.k.i) t[e].ks.k.c = t[e].closed;\n else\n for (h = t[e].ks.k.length, i = 0; i < h; i += 1)\n t[e].ks.k[i].s && (t[e].ks.k[i].s[0].c = t[e].closed),\n t[e].ks.k[i].e && (t[e].ks.k[i].e[0].c = t[e].closed);\n else 'gr' == t[e].ty && s(t[e].it);\n }\n function e(t) {\n let e,\n i,\n h,\n r,\n a,\n n,\n o = t.length;\n for (i = 0; i < o; i += 1) {\n if (((e = t[i]), e.hasMask)) {\n let t = e.masksProperties;\n for (r = t.length, h = 0; h < r; h += 1)\n if (t[h].pt.k.i) t[h].pt.k.c = t[h].cl;\n else\n for (n = t[h].pt.k.length, a = 0; a < n; a += 1)\n t[h].pt.k[a].s && (t[h].pt.k[a].s[0].c = t[h].cl), t[h].pt.k[a].e && (t[h].pt.k[a].e[0].c = t[h].cl);\n }\n 4 === e.ty && s(e.shapes);\n }\n }\n return function (s) {\n if (p(t, s.v) && (e(s.layers), s.assets)) {\n let t,\n i = s.assets.length;\n for (t = 0; t < i; t += 1) s.assets[t].layers && e(s.assets[t].layers);\n }\n };\n })();\nfunction m(t, s) {\n 0 !== t.t.a.length || 'm' in t.t.p || (t.singleShape = !0);\n}\nvar g = {\n completeData: function (t, s) {\n t.__complete || (u(t), c(t), d(t), f(t), a(t.layers, t.assets), (t.__complete = !0));\n },\n checkColors: u,\n checkChars: d,\n checkShapes: f,\n completeLayers: a,\n};\nlet y = 'function' == typeof Float32Array;\nfunction v(t, s) {\n return 1 - 3 * s + 3 * t;\n}\nfunction _(t, s) {\n return 3 * s - 6 * t;\n}\nfunction k(t) {\n return 3 * t;\n}\nfunction S(t, s, e) {\n return ((v(s, e) * t + _(s, e)) * t + k(s)) * t;\n}\nfunction x(t, s, e) {\n return 3 * v(s, e) * t * t + 2 * _(s, e) * t + k(s);\n}\nfunction M(t, s, e, i) {\n if (!(0 <= t && t <= 1 && 0 <= e && e <= 1)) throw new Error('bezier x values must be in [0, 1] range');\n (this.mX1 = t),\n (this.mY1 = s),\n (this.mX2 = e),\n (this.mY2 = i),\n (this.sampleValues = y ? new Float32Array(11) : new Array(11)),\n this._preCompute(),\n (this.get = this.get.bind(this));\n}\n(M.prototype._preCompute = function () {\n if (this.mX1 !== this.mY1 || this.mX2 !== this.mY2)\n for (let t = 0; t < 11; ++t) this.sampleValues[t] = S(0.1 * t, this.mX1, this.mX2);\n}),\n (M.prototype._getTForX = function (t) {\n let s = 0,\n e = 1;\n for (; 10 !== e && this.sampleValues[e] <= t; ++e) s += 0.1;\n --e;\n let i = s + ((t - this.sampleValues[e]) / (this.sampleValues[e + 1] - this.sampleValues[e])) * 0.1,\n h = x(i, this.mX1, this.mX2);\n return h >= 0.001\n ? (function (t, s, e, i) {\n for (let h = 0; h < 4; ++h) {\n let h = x(s, e, i);\n if (0 === h) return s;\n s -= (S(s, e, i) - t) / h;\n }\n return s;\n })(t, i, this.mX1, this.mX2)\n : 0 === h\n ? i\n : (function (t, s, e, i, h) {\n let r,\n a,\n n = 0;\n do {\n (a = s + (e - s) / 2), (r = S(a, i, h) - t), r > 0 ? (e = a) : (s = a);\n } while (Math.abs(r) > 1e-7 && ++n < 10);\n return a;\n })(t, s, s + 0.1, this.mX1, this.mX2);\n }),\n (M.prototype.get = function (t) {\n return this.mX1 === this.mY1 && this.mX2 === this.mY2\n ? t\n : 0 === t\n ? 0\n : 1 === t\n ? 1\n : S(this._getTForX(t), this.mY1, this.mY2);\n });\nconst P = {};\nvar T = {\n getBezierEasing: function (t, s, e, i, h) {\n const r = h || ('bez_' + t + '_' + s + '_' + e + '_' + i).replace(/\\./g, 'p');\n if (P[r]) return P[r];\n const a = new M(t, s, e, i);\n return (P[r] = a), a;\n },\n};\nlet w;\nfunction D(t) {\n return new Array(t);\n}\nw =\n 'function' == typeof Uint8ClampedArray && 'function' == typeof Float32Array\n ? function (t, s) {\n return 'float32' === t\n ? new Float32Array(s)\n : 'int16' === t\n ? new Int16Array(s)\n : 'uint8c' === t\n ? new Uint8ClampedArray(s)\n : void 0;\n }\n : function (t, s) {\n let e = 0;\n const i = [];\n let h;\n switch (t) {\n case 'int16':\n case 'uint8c':\n h = 1;\n break;\n default:\n h = 1.1;\n }\n for (e = 0; e < s; e += 1) i.push(h);\n return i;\n };\nvar L = {\n double: function (t) {\n return t.concat(D(t.length));\n },\n};\nconst F = function (t, s, e) {\n let i = 0,\n h = t,\n r = D(h);\n return {\n newElement: function () {\n let t;\n return i ? ((i -= 1), (t = r[i])) : (t = s()), t;\n },\n release: function (t) {\n i === h && ((r = L.double(r)), (h *= 2)), e && e(t), (r[i] = t), (i += 1);\n },\n };\n};\nconst A = F(8, function () {\n return w('float32', 2);\n});\nclass C {\n constructor() {\n (this.c = !1),\n (this._length = 0),\n (this._maxLength = 8),\n (this.v = D(this._maxLength)),\n (this.o = D(this._maxLength)),\n (this.i = D(this._maxLength));\n }\n setPathData(t, s) {\n (this.c = t), this.setLength(s);\n let e = 0;\n for (; e < s; ) (this.v[e] = A.newElement()), (this.o[e] = A.newElement()), (this.i[e] = A.newElement()), (e += 1);\n }\n setLength(t) {\n for (; this._maxLength < t; ) this.doubleArrayLength();\n this._length = t;\n }\n doubleArrayLength() {\n (this.v = this.v.concat(D(this._maxLength))),\n (this.i = this.i.concat(D(this._maxLength))),\n (this.o = this.o.concat(D(this._maxLength))),\n (this._maxLength *= 2);\n }\n setXYAt(t, s, e, i, h) {\n let r;\n switch (\n ((this._length = Math.max(this._length, i + 1)), this._length >= this._maxLength && this.doubleArrayLength(), e)\n ) {\n case 'v':\n r = this.v;\n break;\n case 'i':\n r = this.i;\n break;\n case 'o':\n r = this.o;\n }\n (!r[i] || (r[i] && !h)) && (r[i] = A.newElement()), (r[i][0] = t), (r[i][1] = s);\n }\n setTripleAt(t, s, e, i, h, r, a, n) {\n this.setXYAt(t, s, 'v', a, n), this.setXYAt(e, i, 'o', a, n), this.setXYAt(h, r, 'i', a, n);\n }\n reverse() {\n const t = new C();\n t.setPathData(this.c, this._length);\n const s = this.v,\n e = this.o,\n i = this.i;\n let h = 0;\n this.c && (t.setTripleAt(s[0][0], s[0][1], i[0][0], i[0][1], e[0][0], e[0][1], 0, !1), (h = 1));\n let r = this._length - 1;\n const a = this._length;\n for (let n = h; n < a; n += 1) t.setTripleAt(s[r][0], s[r][1], i[r][0], i[r][1], e[r][0], e[r][1], n, !1), (r -= 1);\n return t;\n }\n}\nconst b = F(\n 4,\n function () {\n return new C();\n },\n function (t) {\n const s = t._length;\n for (let e = 0; e < s; e += 1)\n A.release(t.v[e]), A.release(t.i[e]), A.release(t.o[e]), (t.v[e] = null), (t.i[e] = null), (t.o[e] = null);\n (t._length = 0), (t.c = !1);\n },\n);\nb.clone = function (t) {\n const s = b.newElement(),\n e = void 0 === t._length ? t.v.length : t._length;\n s.setLength(e), (s.c = t.c);\n for (let i = 0; i < e; i += 1) s.setTripleAt(t.v[i][0], t.v[i][1], t.o[i][0], t.o[i][1], t.i[i][0], t.i[i][1], i);\n return s;\n};\nclass I {\n constructor() {\n (this._length = 0), (this._maxLength = 4), (this.shapes = D(this._maxLength));\n }\n addShape(t) {\n this._length === this._maxLength &&\n ((this.shapes = this.shapes.concat(D(this._maxLength))), (this._maxLength *= 2)),\n (this.shapes[this._length] = t),\n (this._length += 1);\n }\n releaseShapes() {\n for (let t = 0; t < this._length; t += 1) b.release(this.shapes[t]);\n this._length = 0;\n }\n}\nlet E = 0,\n V = 4,\n N = D(V);\nvar q = {\n newShapeCollection: function () {\n let t;\n return E ? ((E -= 1), (t = N[E])) : (t = new I()), t;\n },\n release: function (t) {\n const s = t._length;\n for (let e = 0; e < s; e += 1) b.release(t.shapes[e]);\n (t._length = 0), E === V && ((N = L.double(N)), (V *= 2)), (N[E] = t), (E += 1);\n },\n};\nclass O {\n outTypeExpressionMode() {\n (this._hasOutTypeExpression = !0), this.container && this.container.outTypeExpressionMode();\n }\n addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) &&\n (this.dynamicProperties.push(t),\n this.container.addDynamicProperty(this),\n (this._isAnimated = !0),\n t._hasOutTypeExpression && this.outTypeExpressionMode());\n }\n iterateDynamicProperties(t) {\n this._mdf = !1;\n const s = this.dynamicProperties.length;\n for (let e = 0; e < s; e += 1)\n this.dynamicProperties[e].getValue(t), this.dynamicProperties[e]._mdf && (this._mdf = !0);\n }\n initDynamicPropertyContainer(t) {\n (this.container = t),\n (this.dynamicProperties = []),\n (this._mdf = !1),\n (this._isAnimated = !1),\n (this._hasOutTypeExpression = !1);\n }\n}\nconst X = F(8, function () {\n return { addedLength: 0, percents: w('float32', 200), lengths: w('float32', 200) };\n});\nconst Y = F(\n 8,\n function () {\n return { lengths: [], totalLength: 0 };\n },\n function (t) {\n const s = t.lengths.length;\n for (let e = 0; e < s; e += 1) X.release(t.lengths[e]);\n t.lengths.length = 0;\n },\n);\nfunction j(t, s, e, i, h, r) {\n const a = t * i + s * h + e * r - h * i - r * t - e * s;\n return a > -0.001 && a < 0.001;\n}\nfunction z(t, s, e, i) {\n let h,\n r = 0;\n const a = [],\n n = [],\n o = X.newElement(),\n l = e.length;\n for (let p = 0; p < 200; p += 1) {\n const c = p / 199;\n h = 0;\n for (let r = 0; r < l; r += 1) {\n const o =\n Math.pow(1 - c, 3) * t[r] +\n 3 * Math.pow(1 - c, 2) * c * e[r] +\n 3 * (1 - c) * Math.pow(c, 2) * i[r] +\n Math.pow(c, 3) * s[r];\n (a[r] = o), null !== n[r] && (h += Math.pow(a[r] - n[r], 2)), (n[r] = a[r]);\n }\n h && ((h = Math.sqrt(h)), (r += h)), (o.percents[p] = c), (o.lengths[p] = r);\n }\n return (o.addedLength = r), o;\n}\nfunction B(t) {\n (this.segmentLength = 0), (this.points = new Array(t));\n}\nfunction R(t, s) {\n (this.partialLength = t), (this.point = s);\n}\nconst K = {};\nfunction G(t, s) {\n const e = s.percents,\n i = s.lengths,\n h = e.length;\n let r = Math.floor((h - 1) * t);\n const a = t * s.addedLength;\n let n = 0;\n if (r === h - 1 || 0 === r || a === i[r]) return e[r];\n {\n const t = i[r] > a ? -1 : 1;\n let s = !0;\n for (; s; )\n if (\n (i[r] <= a && i[r + 1] > a ? ((n = (a - i[r]) / (i[r + 1] - i[r])), (s = !1)) : (r += t), r < 0 || r >= h - 1)\n ) {\n if (r === h - 1) return e[r];\n s = !1;\n }\n return e[r] + (e[r + 1] - e[r]) * n;\n }\n}\nconst J = w('float32', 8);\nvar H = {\n getSegmentsLength: function (t) {\n const s = Y.newElement(),\n e = t.c,\n i = t.v,\n h = t.o,\n r = t.i,\n a = t._length,\n n = s.lengths;\n let o = 0,\n l = 0;\n for (; l < a - 1; l += 1) (n[l] = z(i[l], i[l + 1], h[l], r[l + 1])), (o += n[l].addedLength);\n return e && a && ((n[l] = z(i[l], i[0], h[l], r[0])), (o += n[l].addedLength)), (s.totalLength = o), s;\n },\n getNewSegment: function (t, s, e, i, h, r, a) {\n const n = G((h = h < 0 ? 0 : h > 1 ? 1 : h), a),\n o = G((r = r > 1 ? 1 : r), a),\n l = t.length,\n p = 1 - n,\n c = 1 - o,\n d = p * p * p,\n u = n * p * p * 3,\n f = n * n * p * 3,\n m = n * n * n,\n g = p * p * c,\n y = n * p * c + p * n * c + p * p * o,\n v = n * n * c + p * n * o + n * p * o,\n _ = n * n * o,\n k = p * c * c,\n S = n * c * c + p * o * c + p * c * o,\n x = n * o * c + p * o * o + n * c * o,\n M = n * o * o,\n P = c * c * c,\n T = o * c * c + c * o * c + c * c * o,\n w = o * o * c + c * o * o + o * c * o,\n D = o * o * o;\n for (let h = 0; h < l; h += 1)\n (J[4 * h] = Math.round(1e3 * (d * t[h] + u * e[h] + f * i[h] + m * s[h])) / 1e3),\n (J[4 * h + 1] = Math.round(1e3 * (g * t[h] + y * e[h] + v * i[h] + _ * s[h])) / 1e3),\n (J[4 * h + 2] = Math.round(1e3 * (k * t[h] + S * e[h] + x * i[h] + M * s[h])) / 1e3),\n (J[4 * h + 3] = Math.round(1e3 * (P * t[h] + T * e[h] + w * i[h] + D * s[h])) / 1e3);\n return J;\n },\n getPointInSegment: function (t, s, e, i, h, r) {\n const a = G(h, r),\n n = 1 - a;\n return [\n Math.round(\n 1e3 *\n (n * n * n * t[0] +\n (a * n * n + n * a * n + n * n * a) * e[0] +\n (a * a * n + n * a * a + a * n * a) * i[0] +\n a * a * a * s[0]),\n ) / 1e3,\n Math.round(\n 1e3 *\n (n * n * n * t[1] +\n (a * n * n + n * a * n + n * n * a) * e[1] +\n (a * a * n + n * a * a + a * n * a) * i[1] +\n a * a * a * s[1]),\n ) / 1e3,\n ];\n },\n buildBezierData: function (t, s, e, i) {\n const h = (t[0] + '_' + t[1] + '_' + s[0] + '_' + s[1] + '_' + e[0] + '_' + e[1] + '_' + i[0] + '_' + i[1]).replace(\n /\\./g,\n 'p',\n );\n if (!K[h]) {\n let r,\n a,\n n = 200,\n o = 0,\n l = null;\n 2 === t.length &&\n (t[0] != s[0] || t[1] != s[1]) &&\n j(t[0], t[1], s[0], s[1], t[0] + e[0], t[1] + e[1]) &&\n j(t[0], t[1], s[0], s[1], s[0] + i[0], s[1] + i[1]) &&\n (n = 2);\n const p = new B(n),\n c = e.length;\n for (let h = 0; h < n; h += 1) {\n a = D(c);\n const d = h / (n - 1);\n r = 0;\n for (let h = 0; h < c; h += 1) {\n const n =\n Math.pow(1 - d, 3) * t[h] +\n 3 * Math.pow(1 - d, 2) * d * (t[h] + e[h]) +\n 3 * (1 - d) * Math.pow(d, 2) * (s[h] + i[h]) +\n Math.pow(d, 3) * s[h];\n (a[h] = n), null !== l && (r += Math.pow(a[h] - l[h], 2));\n }\n (r = Math.sqrt(r)), (o += r), (p.points[h] = new R(r, a)), (l = a);\n }\n (p.segmentLength = o), (K[h] = p);\n }\n return K[h];\n },\n pointOnLine2D: j,\n pointOnLine3D: function (t, s, e, i, h, r, a, n, o) {\n if (0 === e && 0 === r && 0 === o) return j(t, s, i, h, a, n);\n const l = Math.sqrt(Math.pow(i - t, 2) + Math.pow(h - s, 2) + Math.pow(r - e, 2)),\n p = Math.sqrt(Math.pow(a - t, 2) + Math.pow(n - s, 2) + Math.pow(o - e, 2)),\n c = Math.sqrt(Math.pow(a - i, 2) + Math.pow(n - h, 2) + Math.pow(o - r, 2));\n let d;\n return (d = l > p ? (l > c ? l - p - c : c - p - l) : c > p ? c - p - l : p - l - c), d > -1e-4 && d < 1e-4;\n },\n};\nconst U = Math.PI / 180,\n Z = [0, 0],\n Q = /(loopIn|loopOut)\\(([^)]+)/,\n W = /[\"']\\w+[\"']/;\nclass $ {\n constructor(t, s, e) {\n (this.begin = s), (this.end = e), (this.total = this.end - this.begin), (this.type = t);\n }\n update(t) {\n return 'in' === this.type\n ? t >= this.begin\n ? t\n : this.end - s.euclideanModulo(this.begin - t, this.total)\n : 'out' === this.type\n ? t <= this.end\n ? t\n : this.begin + s.euclideanModulo(t - this.end, this.total)\n : void 0;\n }\n}\nclass tt {\n constructor(t, s, e) {\n (this.begin = s), (this.end = e), (this.total = this.end - this.begin), (this.type = t);\n }\n update(t) {\n if (('in' === this.type && t < this.begin) || ('out' === this.type && t > this.end)) {\n const s = t - this.end;\n return this.pingpong(s);\n }\n return t;\n }\n pingpong(t) {\n return Math.floor(t / this.total) % 2\n ? this.begin + s.euclideanModulo(t, this.total)\n : this.end - s.euclideanModulo(t, this.total);\n }\n}\nconst st = {\n loopIn(t, s, e) {\n const i = t[0].t,\n h = t.length - 1,\n r = t[Math.min(h, e)].t;\n switch (s) {\n case 'cycle':\n return new $('in', i, r);\n case 'pingpong':\n return new tt('in', i, r);\n }\n return null;\n },\n loopOut(t, s, e) {\n const i = t.length - 1,\n h = t[Math.max(0, i - e)].t,\n r = t[i].t;\n switch (s) {\n case 'cycle':\n return new $('out', h, r);\n case 'pingpong':\n return new tt('out', h, r);\n }\n return null;\n },\n};\nfunction et(t) {\n const s = t.match(Q),\n e = s[2].split(/\\s*,\\s*/).map(t => (W.test(t) ? t.replace(/\"|'/g, '') : parseInt(t)));\n return { name: s[1], mode: e[0], offset: e[1] };\n}\nvar it = {\n hasSupportExpression: function (t) {\n return t.x && Q.test(t.x);\n },\n getExpression: function (t) {\n const { name: s, mode: e, offset: i = 0 } = et(t.x),\n h = 0 === i ? t.k.length - 1 : i;\n return st[s] && st[s](t.k, e, h);\n },\n};\nfunction ht(t) {\n const s = t[0] * U,\n e = t[1] * U,\n i = t[2] * U,\n h = Math.cos(s / 2),\n r = Math.cos(e / 2),\n a = Math.cos(i / 2),\n n = Math.sin(s / 2),\n o = Math.sin(e / 2),\n l = Math.sin(i / 2);\n return [n * o * a + h * r * l, n * r * a + h * o * l, h * o * a - n * r * l, h * r * a - n * o * l];\n}\nclass rt {\n interpolateValue(t, s) {\n let e;\n 'multidimensional' === this.propType && (e = w('float32', this.pv.length));\n let i,\n h,\n r,\n a,\n n,\n o,\n l,\n p,\n c = s.lastIndex,\n d = c,\n u = this.keyframes.length - 1,\n f = !0;\n for (; f; ) {\n if (((i = this.keyframes[d]), (h = this.keyframes[d + 1]), d === u - 1 && t >= h.t)) {\n i.h && (i = h), (c = 0);\n break;\n }\n if (h.t > t) {\n c = d;\n break;\n }\n d < u - 1 ? (d += 1) : ((c = 0), (f = !1));\n }\n let m,\n g = h.t,\n y = i.t;\n if (i.to) {\n i.bezierData || (i.bezierData = H.buildBezierData(i.s, h.s || i.e, i.to, i.ti));\n let c = i.bezierData;\n if (t >= g || t < y) {\n let s = t >= g ? c.points.length - 1 : 0;\n for (a = c.points[s].point.length, r = 0; r < a; r += 1) e[r] = c.points[s].point[r];\n } else {\n i.__fnct ? (p = i.__fnct) : ((p = T.getBezierEasing(i.o.x, i.o.y, i.i.x, i.i.y, i.n).get), (i.__fnct = p)),\n (n = p((t - y) / (g - y)));\n let h,\n u = c.segmentLength * n,\n m = s.lastFrame < t && s._lastKeyframeIndex === d ? s._lastAddedLength : 0;\n for (l = s.lastFrame < t && s._lastKeyframeIndex === d ? s._lastPoint : 0, f = !0, o = c.points.length; f; ) {\n if (((m += c.points[l].partialLength), 0 === u || 0 === n || l === c.points.length - 1)) {\n for (a = c.points[l].point.length, r = 0; r < a; r += 1) e[r] = c.points[l].point[r];\n break;\n }\n if (u >= m && u < m + c.points[l + 1].partialLength) {\n for (h = (u - m) / c.points[l + 1].partialLength, a = c.points[l].point.length, r = 0; r < a; r += 1)\n e[r] = c.points[l].point[r] + (c.points[l + 1].point[r] - c.points[l].point[r]) * h;\n break;\n }\n l < o - 1 ? (l += 1) : (f = !1);\n }\n (s._lastPoint = l), (s._lastAddedLength = m - c.points[l].partialLength), (s._lastKeyframeIndex = d);\n }\n } else {\n let s, r, a, o, l;\n if (((u = i.s.length), (m = h.s || i.e), this.sh && 1 !== i.h))\n if (t >= g) (e[0] = m[0]), (e[1] = m[1]), (e[2] = m[2]);\n else if (t <= y) (e[0] = i.s[0]), (e[1] = i.s[1]), (e[2] = i.s[2]);\n else {\n !(function (t, s) {\n const e = s[0],\n i = s[1],\n h = s[2],\n r = s[3],\n a = Math.atan2(2 * i * r - 2 * e * h, 1 - 2 * i * i - 2 * h * h),\n n = Math.asin(2 * e * i + 2 * h * r),\n o = Math.atan2(2 * e * r - 2 * i * h, 1 - 2 * e * e - 2 * h * h);\n (t[0] = a / U), (t[1] = n / U), (t[2] = o / U);\n })(\n e,\n (function (t, s, e) {\n const i = [],\n h = t[0],\n r = t[1],\n a = t[2],\n n = t[3];\n let o,\n l,\n p,\n c,\n d,\n u = s[0],\n f = s[1],\n m = s[2],\n g = s[3];\n return (\n (l = h * u + r * f + a * m + n * g),\n l < 0 && ((l = -l), (u = -u), (f = -f), (m = -m), (g = -g)),\n 1 - l > 1e-6\n ? ((o = Math.acos(l)), (p = Math.sin(o)), (c = Math.sin((1 - e) * o) / p), (d = Math.sin(e * o) / p))\n : ((c = 1 - e), (d = e)),\n (i[0] = c * h + d * u),\n (i[1] = c * r + d * f),\n (i[2] = c * a + d * m),\n (i[3] = c * n + d * g),\n i\n );\n })(ht(i.s), ht(m), (t - y) / (g - y)),\n );\n }\n else\n for (d = 0; d < u; d += 1)\n 1 !== i.h &&\n (t >= g\n ? (n = 1)\n : t < y\n ? (n = 0)\n : (i.o.x.constructor === Array\n ? (i.__fnct || (i.__fnct = []),\n i.__fnct[d]\n ? (p = i.__fnct[d])\n : ((s = void 0 === i.o.x[d] ? i.o.x[0] : i.o.x[d]),\n (r = void 0 === i.o.y[d] ? i.o.y[0] : i.o.y[d]),\n (a = void 0 === i.i.x[d] ? i.i.x[0] : i.i.x[d]),\n (o = void 0 === i.i.y[d] ? i.i.y[0] : i.i.y[d]),\n (p = T.getBezierEasing(s, r, a, o).get),\n (i.__fnct[d] = p)))\n : i.__fnct\n ? (p = i.__fnct)\n : ((s = i.o.x),\n (r = i.o.y),\n (a = i.i.x),\n (o = i.i.y),\n (p = T.getBezierEasing(s, r, a, o).get),\n (i.__fnct = p)),\n (n = p((t - y) / (g - y))))),\n (m = h.s || i.e),\n (l = 1 === i.h ? i.s[d] : i.s[d] + (m[d] - i.s[d]) * n),\n 'multidimensional' === this.propType ? (e[d] = l) : (e = l);\n }\n return (s.lastIndex = c), e;\n }\n getValueAtCurrentTime(t) {\n let s = this.keyframes[0].t,\n e = this.keyframes[this.keyframes.length - 1].t;\n if (\n !(\n t === this._caching.lastFrame ||\n (-999999 !== this._caching.lastFrame &&\n ((this._caching.lastFrame >= e && t >= e) || (this._caching.lastFrame < s && t < s)))\n )\n ) {\n this._caching.lastFrame >= t && ((this._caching._lastKeyframeIndex = -1), (this._caching.lastIndex = 0));\n let s = this.interpolateValue(t, this._caching);\n this.pv = s;\n }\n return (this._caching.lastFrame = t), this.pv;\n }\n setVValue(t) {\n let s;\n if ('unidimensional' === this.propType)\n (s = t * this.mult), Math.abs(this.v - s) > 1e-5 && ((this.v = s), (this._mdf = !0));\n else {\n let e = 0;\n const i = this.v.length;\n for (; e < i; )\n (s = t[e] * this.mult), Math.abs(this.v[e] - s) > 1e-5 && ((this.v[e] = s), (this._mdf = !0)), (e += 1);\n }\n }\n processEffectsSequence(t) {\n if ((this.expression && (t = this.expression.update(t)), t === this.frameId || !this.effectsSequence.length))\n return;\n if (this.lock) return void this.setVValue(this.pv);\n let s;\n (this.lock = !0), (this._mdf = this._isFirstFrame);\n let e = this.effectsSequence.length,\n i = this.kf ? this.pv : this.data.k;\n for (s = 0; s < e; s += 1) i = this.effectsSequence[s](t);\n this.setVValue(i), (this._isFirstFrame = !1), (this.lock = !1), (this.frameId = t);\n }\n addEffect(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n}\nclass at extends rt {\n constructor(t, s, e, i) {\n super(),\n (this.propType = 'unidimensional'),\n (this.mult = e || 1),\n (this.data = s),\n (this.v = e ? s.k * e : s.k),\n (this.pv = s.k),\n (this._mdf = !1),\n (this.elem = t),\n (this.container = i),\n (this.k = !1),\n (this.kf = !1),\n (this.vel = 0),\n (this.effectsSequence = []),\n (this._isFirstFrame = !0),\n (this.getValue = this.processEffectsSequence);\n }\n}\nclass nt extends rt {\n constructor(t, s, e, i) {\n super(),\n (this.propType = 'multidimensional'),\n (this.mult = e || 1),\n (this.data = s),\n (this._mdf = !1),\n (this.elem = t),\n (this.container = i),\n (this.comp = t.comp),\n (this.k = !1),\n (this.kf = !1),\n (this.frameId = -1);\n const h = s.k.length;\n (this.v = w('float32', h)), (this.pv = w('float32', h)), (this.vel = w('float32', h));\n for (let t = 0; t < h; t += 1) (this.v[t] = s.k[t] * this.mult), (this.pv[t] = s.k[t]);\n (this._isFirstFrame = !0), (this.effectsSequence = []), (this.getValue = this.processEffectsSequence);\n }\n}\nclass ot extends rt {\n constructor(t, s, e, i) {\n super(),\n (this.propType = 'unidimensional'),\n (this.keyframes = s.k),\n (this.frameId = -1),\n (this._caching = { lastFrame: -999999, lastIndex: 0, value: 0, _lastKeyframeIndex: -1 }),\n (this.k = !0),\n (this.kf = !0),\n (this.data = s),\n (this.mult = e || 1),\n (this.elem = t),\n (this.container = i),\n (this.comp = t.comp),\n (this.v = -999999),\n (this.pv = -999999),\n (this._isFirstFrame = !0),\n (this.getValue = this.processEffectsSequence),\n (this.effectsSequence = [this.getValueAtCurrentTime.bind(this)]),\n (this._hasOutTypeExpression = !1),\n it.hasSupportExpression(s) &&\n ((this.expression = it.getExpression(s)), (this._hasOutTypeExpression = 'out' === this.expression.type));\n }\n}\nclass lt extends rt {\n constructor(t, s, e, i) {\n let h;\n super(), (this.propType = 'multidimensional');\n let r,\n a,\n n,\n o,\n l = s.k.length;\n for (h = 0; h < l - 1; h += 1)\n s.k[h].to &&\n s.k[h].s &&\n s.k[h + 1] &&\n s.k[h + 1].s &&\n ((r = s.k[h].s),\n (a = s.k[h + 1].s),\n (n = s.k[h].to),\n (o = s.k[h].ti),\n ((2 === r.length &&\n (r[0] !== a[0] || r[1] !== a[1]) &&\n H.pointOnLine2D(r[0], r[1], a[0], a[1], r[0] + n[0], r[1] + n[1]) &&\n H.pointOnLine2D(r[0], r[1], a[0], a[1], a[0] + o[0], a[1] + o[1])) ||\n (3 === r.length &&\n (r[0] !== a[0] || r[1] !== a[1] || r[2] !== a[2]) &&\n H.pointOnLine3D(r[0], r[1], r[2], a[0], a[1], a[2], r[0] + n[0], r[1] + n[1], r[2] + n[2]) &&\n H.pointOnLine3D(r[0], r[1], r[2], a[0], a[1], a[2], a[0] + o[0], a[1] + o[1], a[2] + o[2]))) &&\n ((s.k[h].to = null), (s.k[h].ti = null)),\n r[0] === a[0] &&\n r[1] === a[1] &&\n 0 === n[0] &&\n 0 === n[1] &&\n 0 === o[0] &&\n 0 === o[1] &&\n (2 === r.length || (r[2] === a[2] && 0 === n[2] && 0 === o[2])) &&\n ((s.k[h].to = null), (s.k[h].ti = null)));\n (this.effectsSequence = [this.getValueAtCurrentTime.bind(this)]),\n (this.keyframes = s.k),\n (this.k = !0),\n (this.kf = !0),\n (this._isFirstFrame = !0),\n (this.mult = e || 1),\n (this.elem = t),\n (this.container = i),\n (this.comp = t.comp),\n (this.getValue = this.processEffectsSequence),\n (this.frameId = -1);\n let p = s.k[0].s.length;\n for (this.v = w('float32', p), this.pv = w('float32', p), h = 0; h < p; h += 1)\n (this.v[h] = -999999), (this.pv[h] = -999999);\n (this._caching = { lastFrame: -999999, lastIndex: 0, value: w('float32', p) }),\n (this._hasOutTypeExpression = !1),\n it.hasSupportExpression(s) &&\n ((this.expression = it.getExpression(s)), (this._hasOutTypeExpression = 'out' === this.expression.type));\n }\n}\nvar pt = {\n getProp: function (t, s, e, i, h) {\n let r;\n if (s.k.length)\n if ('number' == typeof s.k[0]) r = new nt(t, s, i, h);\n else\n switch (e) {\n case 0:\n r = new ot(t, s, i, h);\n break;\n case 1:\n r = new lt(t, s, i, h);\n }\n else r = new at(t, s, i, h);\n return r.effectsSequence.length && h.addDynamicProperty(r), r;\n },\n};\nclass ct {\n interpolateShape(t, s, e) {\n let i,\n h,\n r,\n a,\n n,\n o,\n l,\n p,\n c,\n d = e.lastIndex,\n u = this.keyframes;\n if (t < u[0].t) (i = u[0].s[0]), (r = !0), (d = 0);\n else if (t >= u[u.length - 1].t) (i = u[u.length - 1].s ? u[u.length - 1].s[0] : u[u.length - 2].e[0]), (r = !0);\n else {\n let s,\n e,\n a = d,\n n = u.length - 1,\n o = !0;\n for (; o && ((s = u[a]), (e = u[a + 1]), !(e.t > t)); ) a < n - 1 ? (a += 1) : (o = !1);\n if (((r = 1 === s.h), (d = a), !r)) {\n if (t >= e.t) p = 1;\n else if (t < s.t) p = 0;\n else {\n let i;\n s.__fnct ? (i = s.__fnct) : ((i = T.getBezierEasing(s.o.x, s.o.y, s.i.x, s.i.y).get), (s.__fnct = i)),\n (p = i((t - s.t) / (e.t - s.t)));\n }\n h = e.s ? e.s[0] : s.e[0];\n }\n i = s.s[0];\n }\n for (o = s._length, l = i.i[0].length, e.lastIndex = d, a = 0; a < o; a += 1)\n for (n = 0; n < l; n += 1)\n (c = r ? i.i[a][n] : i.i[a][n] + (h.i[a][n] - i.i[a][n]) * p),\n (s.i[a][n] = c),\n (c = r ? i.o[a][n] : i.o[a][n] + (h.o[a][n] - i.o[a][n]) * p),\n (s.o[a][n] = c),\n (c = r ? i.v[a][n] : i.v[a][n] + (h.v[a][n] - i.v[a][n]) * p),\n (s.v[a][n] = c);\n }\n interpolateShapeCurrentTime(t) {\n let s = this.keyframes[0].t,\n e = this.keyframes[this.keyframes.length - 1].t,\n i = this._caching.lastFrame;\n return (\n (-999999 !== i && ((i < s && t < s) || (i > e && t > e))) ||\n ((this._caching.lastIndex = i < t ? this._caching.lastIndex : 0),\n this.interpolateShape(t, this.pv, this._caching)),\n (this._caching.lastFrame = t),\n this.pv\n );\n }\n resetShape() {\n this.paths = this.localShapeCollection;\n }\n shapesEqual(t, s) {\n if (t._length !== s._length || t.c !== s.c) return !1;\n let e,\n i = t._length;\n for (e = 0; e < i; e += 1)\n if (\n t.v[e][0] !== s.v[e][0] ||\n t.v[e][1] !== s.v[e][1] ||\n t.o[e][0] !== s.o[e][0] ||\n t.o[e][1] !== s.o[e][1] ||\n t.i[e][0] !== s.i[e][0] ||\n t.i[e][1] !== s.i[e][1]\n )\n return !1;\n return !0;\n }\n setVValue(t) {\n this.shapesEqual(this.v, t) ||\n ((this.v = b.clone(t)),\n this.localShapeCollection.releaseShapes(),\n this.localShapeCollection.addShape(this.v),\n (this._mdf = !0),\n (this.paths = this.localShapeCollection));\n }\n processEffectsSequence(t) {\n if (t === this.frameId) return;\n if (!this.effectsSequence.length) return void (this._mdf = !1);\n if (this.lock) return void this.setVValue(this.pv);\n (this.lock = !0), (this._mdf = !1);\n let s,\n e = this.kf ? this.pv : this.data.ks ? this.data.ks.k : this.data.pt.k,\n i = this.effectsSequence.length;\n for (s = 0; s < i; s += 1) e = this.effectsSequence[s](t);\n this.setVValue(e), (this.lock = !1), (this.frameId = t);\n }\n addEffect(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n}\nclass dt extends ct {\n constructor(t, s, e) {\n super(),\n (this.propType = 'shape'),\n (this.comp = t.comp),\n (this.container = t),\n (this.elem = t),\n (this.data = s),\n (this.k = !1),\n (this.kf = !1),\n (this._mdf = !1);\n let i = 3 === e ? s.pt.k : s.ks.k;\n (this.v = b.clone(i)),\n (this.pv = b.clone(this.v)),\n (this.localShapeCollection = q.newShapeCollection()),\n (this.paths = this.localShapeCollection),\n this.paths.addShape(this.v),\n (this.reset = this.resetShape),\n (this.effectsSequence = []),\n (this.getValue = this.processEffectsSequence);\n }\n}\nclass ut extends ct {\n constructor(t, s, e) {\n super(),\n (this.propType = 'shape'),\n (this.comp = t.comp),\n (this.elem = t),\n (this.container = t),\n (this.keyframes = 3 === e ? s.pt.k : s.ks.k),\n (this.k = !0),\n (this.kf = !0);\n let i = this.keyframes[0].s[0].i.length;\n (this.v = b.newElement()),\n this.v.setPathData(this.keyframes[0].s[0].c, i),\n (this.pv = b.clone(this.v)),\n (this.localShapeCollection = q.newShapeCollection()),\n (this.paths = this.localShapeCollection),\n this.paths.addShape(this.v),\n (this.lastFrame = -999999),\n (this.reset = this.resetShape),\n (this._caching = { lastFrame: -999999, lastIndex: 0 }),\n (this.effectsSequence = [this.interpolateShapeCurrentTime.bind(this)]),\n (this.getValue = this.processEffectsSequence),\n (this._hasOutTypeExpression = !1),\n it.hasSupportExpression(s) &&\n ((this.expression = it.getExpression(s)), (this._hasOutTypeExpression = 'out' === this.expression.type));\n }\n}\nclass ft extends O {\n constructor(t, s) {\n super(),\n (this.v = b.newElement()),\n this.v.setPathData(!0, 4),\n (this.localShapeCollection = q.newShapeCollection()),\n (this.paths = this.localShapeCollection),\n this.localShapeCollection.addShape(this.v),\n (this.d = s.d),\n (this.elem = t),\n (this.comp = t.comp),\n (this.frameId = -1),\n this.initDynamicPropertyContainer(t),\n (this.p = pt.getProp(t, s.p, 1, 0, this)),\n (this.s = pt.getProp(t, s.s, 1, 0, this)),\n this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertEllToPath());\n }\n reset() {\n this.paths = this.localShapeCollection;\n }\n getValue(t) {\n t !== this.frameId && (this.iterateDynamicProperties(t), (this.frameId = t), this._mdf && this.convertEllToPath());\n }\n convertEllToPath() {\n const t = this.p.v[0],\n s = this.p.v[1],\n e = this.s.v[0] / 2,\n i = this.s.v[1] / 2,\n h = 3 !== this.d,\n r = this.v;\n (r.v[0][0] = t),\n (r.v[0][1] = s - i),\n (r.v[1][0] = h ? t + e : t - e),\n (r.v[1][1] = s),\n (r.v[2][0] = t),\n (r.v[2][1] = s + i),\n (r.v[3][0] = h ? t - e : t + e),\n (r.v[3][1] = s),\n (r.i[0][0] = h ? t - e * gt : t + e * gt),\n (r.i[0][1] = s - i),\n (r.i[1][0] = h ? t + e : t - e),\n (r.i[1][1] = s - i * gt),\n (r.i[2][0] = h ? t + e * gt : t - e * gt),\n (r.i[2][1] = s + i),\n (r.i[3][0] = h ? t - e : t + e),\n (r.i[3][1] = s + i * gt),\n (r.o[0][0] = h ? t + e * gt : t - e * gt),\n (r.o[0][1] = s - i),\n (r.o[1][0] = h ? t + e : t - e),\n (r.o[1][1] = s + i * gt),\n (r.o[2][0] = h ? t - e * gt : t + e * gt),\n (r.o[2][1] = s + i),\n (r.o[3][0] = h ? t - e : t + e),\n (r.o[3][1] = s - i * gt);\n }\n}\nclass mt extends O {\n constructor(t, s) {\n super(),\n (this.v = b.newElement()),\n this.v.setPathData(!0, 0),\n (this.elem = t),\n (this.comp = t.comp),\n (this.data = s),\n (this.frameId = -1),\n (this.d = s.d),\n this.initDynamicPropertyContainer(t),\n 1 === s.sy\n ? ((this.ir = pt.getProp(t, s.ir, 0, 0, this)),\n (this.is = pt.getProp(t, s.is, 0, 0.01, this)),\n (this.convertToPath = this.convertStarToPath))\n : (this.convertToPath = this.convertPolygonToPath),\n (this.pt = pt.getProp(t, s.pt, 0, 0, this)),\n (this.p = pt.getProp(t, s.p, 1, 0, this)),\n (this.r = pt.getProp(t, s.r, 0, U, this)),\n (this.or = pt.getProp(t, s.or, 0, 0, this)),\n (this.os = pt.getProp(t, s.os, 0, 0.01, this)),\n (this.localShapeCollection = q.newShapeCollection()),\n this.localShapeCollection.addShape(this.v),\n (this.paths = this.localShapeCollection),\n this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertToPath());\n }\n reset() {\n this.paths = this.localShapeCollection;\n }\n getValue(t) {\n t !== this.frameId && ((this.frameId = t), this.iterateDynamicProperties(t), this._mdf && this.convertToPath());\n }\n convertStarToPath() {\n let t,\n s,\n e,\n i,\n h = 2 * Math.floor(this.pt.v),\n r = (2 * Math.PI) / h,\n a = !0,\n n = this.or.v,\n o = this.ir.v,\n l = this.os.v,\n p = this.is.v,\n c = (2 * Math.PI * n) / (2 * h),\n d = (2 * Math.PI * o) / (2 * h),\n u = -Math.PI / 2;\n u += this.r.v;\n let f = 3 === this.data.d ? -1 : 1;\n for (this.v._length = 0, t = 0; t < h; t += 1) {\n (s = a ? n : o), (e = a ? l : p), (i = a ? c : d);\n let h = s * Math.cos(u),\n m = s * Math.sin(u),\n g = 0 === h && 0 === m ? 0 : m / Math.sqrt(h * h + m * m),\n y = 0 === h && 0 === m ? 0 : -h / Math.sqrt(h * h + m * m);\n (h += +this.p.v[0]),\n (m += +this.p.v[1]),\n this.v.setTripleAt(h, m, h - g * i * e * f, m - y * i * e * f, h + g * i * e * f, m + y * i * e * f, t, !0),\n (a = !a),\n (u += r * f);\n }\n }\n convertPolygonToPath() {\n let t,\n s = Math.floor(this.pt.v),\n e = (2 * Math.PI) / s,\n i = this.or.v,\n h = this.os.v,\n r = (2 * Math.PI * i) / (4 * s),\n a = -Math.PI / 2,\n n = 3 === this.data.d ? -1 : 1;\n for (a += this.r.v, this.v._length = 0, t = 0; t < s; t += 1) {\n let s = i * Math.cos(a),\n o = i * Math.sin(a),\n l = 0 === s && 0 === o ? 0 : o / Math.sqrt(s * s + o * o),\n p = 0 === s && 0 === o ? 0 : -s / Math.sqrt(s * s + o * o);\n (s += +this.p.v[0]),\n (o += +this.p.v[1]),\n this.v.setTripleAt(s, o, s - l * r * h * n, o - p * r * h * n, s + l * r * h * n, o + p * r * h * n, t, !0),\n (a += e * n);\n }\n (this.paths.length = 0), (this.paths[0] = this.v);\n }\n}\nconst gt = 0.5519;\nclass yt extends O {\n constructor(t, s) {\n super(),\n (this.v = b.newElement()),\n (this.v.c = !0),\n (this.localShapeCollection = q.newShapeCollection()),\n this.localShapeCollection.addShape(this.v),\n (this.paths = this.localShapeCollection),\n (this.elem = t),\n (this.comp = t.comp),\n (this.frameId = -1),\n (this.d = s.d),\n this.initDynamicPropertyContainer(t),\n (this.p = pt.getProp(t, s.p, 1, 0, this)),\n (this.s = pt.getProp(t, s.s, 1, 0, this)),\n (this.r = pt.getProp(t, s.r, 0, 0, this)),\n this.dynamicProperties.length ? (this.k = !0) : ((this.k = !1), this.convertRectToPath());\n }\n reset() {\n this.paths = this.localShapeCollection;\n }\n getValue(t) {\n t !== this.frameId && ((this.frameId = t), this.iterateDynamicProperties(t), this._mdf && this.convertRectToPath());\n }\n convertRectToPath() {\n let t = this.p.v[0],\n s = this.p.v[1],\n e = this.s.v[0] / 2,\n i = this.s.v[1] / 2,\n h = Math.min(e, i, this.r.v),\n r = h * (1 - 0.5519);\n (this.v._length = 0),\n 2 === this.d || 1 === this.d\n ? (this.v.setTripleAt(t + e, s - i + h, t + e, s - i + h, t + e, s - i + r, 0, !0),\n this.v.setTripleAt(t + e, s + i - h, t + e, s + i - r, t + e, s + i - h, 1, !0),\n 0 !== h\n ? (this.v.setTripleAt(t + e - h, s + i, t + e - h, s + i, t + e - r, s + i, 2, !0),\n this.v.setTripleAt(t - e + h, s + i, t - e + r, s + i, t - e + h, s + i, 3, !0),\n this.v.setTripleAt(t - e, s + i - h, t - e, s + i - h, t - e, s + i - r, 4, !0),\n this.v.setTripleAt(t - e, s - i + h, t - e, s - i + r, t - e, s - i + h, 5, !0),\n this.v.setTripleAt(t - e + h, s - i, t - e + h, s - i, t - e + r, s - i, 6, !0),\n this.v.setTripleAt(t + e - h, s - i, t + e - r, s - i, t + e - h, s - i, 7, !0))\n : (this.v.setTripleAt(t - e, s + i, t - e + r, s + i, t - e, s + i, 2),\n this.v.setTripleAt(t - e, s - i, t - e, s - i + r, t - e, s - i, 3)))\n : (this.v.setTripleAt(t + e, s - i + h, t + e, s - i + r, t + e, s - i + h, 0, !0),\n 0 !== h\n ? (this.v.setTripleAt(t + e - h, s - i, t + e - h, s - i, t + e - r, s - i, 1, !0),\n this.v.setTripleAt(t - e + h, s - i, t - e + r, s - i, t - e + h, s - i, 2, !0),\n this.v.setTripleAt(t - e, s - i + h, t - e, s - i + h, t - e, s - i + r, 3, !0),\n this.v.setTripleAt(t - e, s + i - h, t - e, s + i - r, t - e, s + i - h, 4, !0),\n this.v.setTripleAt(t - e + h, s + i, t - e + h, s + i, t - e + r, s + i, 5, !0),\n this.v.setTripleAt(t + e - h, s + i, t + e - r, s + i, t + e - h, s + i, 6, !0),\n this.v.setTripleAt(t + e, s + i - h, t + e, s + i - h, t + e, s + i - r, 7, !0))\n : (this.v.setTripleAt(t - e, s - i, t - e + r, s - i, t - e, s - i, 1, !0),\n this.v.setTripleAt(t - e, s + i, t - e, s + i - r, t - e, s + i, 2, !0),\n this.v.setTripleAt(t + e, s + i, t + e - r, s + i, t + e, s + i, 3, !0)));\n }\n}\nvar vt = {\n getShapeProp: function (t, s, e) {\n let i;\n if (3 === e || 4 === e) {\n i = (3 === e ? s.pt : s.ks).k.length ? new ut(t, s, e) : new dt(t, s, e);\n } else 5 === e ? (i = new yt(t, s)) : 6 === e ? (i = new ft(t, s)) : 7 === e && (i = new mt(t, s));\n return i.k && t.addDynamicProperty(i), i;\n },\n getConstructorFunction: function () {\n return dt;\n },\n getKeyframedConstructorFunction: function () {\n return ut;\n },\n};\nclass _t extends O {\n constructor(t, s, e) {\n super(),\n (this.frameId = -1),\n (this.elem = t),\n (this.session = e),\n (this.masksProperties = s || []),\n this.initDynamicPropertyContainer(t),\n (this.viewData = D(this.masksProperties.length));\n const i = this.masksProperties.length;\n let h = !1;\n for (let t = 0; t < i; t++)\n 'n' !== this.masksProperties[t].mode && (h = !0),\n (this.viewData[t] = vt.getShapeProp(this, this.masksProperties[t], 3)),\n (this.viewData[t].inv = this.masksProperties[t].inv);\n this.hasMasks = h;\n }\n getValue(t) {\n t !== this.frameId && (this.iterateDynamicProperties(t), (this.frameId = t));\n }\n}\n/*!\n Transformation Matrix v2.0\n (c) Epistemex 2014-2015\n www.epistemex.com\n By Ken Fyrstenberg\n Contributions by leeoniya.\n License: MIT, header required.\n */ var kt = (function () {\n var t = Math.cos,\n s = Math.sin,\n e = Math.tan,\n i = Math.round;\n function h() {\n return (\n (this.props[0] = 1),\n (this.props[1] = 0),\n (this.props[2] = 0),\n (this.props[3] = 0),\n (this.props[4] = 0),\n (this.props[5] = 1),\n (this.props[6] = 0),\n (this.props[7] = 0),\n (this.props[8] = 0),\n (this.props[9] = 0),\n (this.props[10] = 1),\n (this.props[11] = 0),\n (this.props[12] = 0),\n (this.props[13] = 0),\n (this.props[14] = 0),\n (this.props[15] = 1),\n this\n );\n }\n function r(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(i, -h, 0, 0, h, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function a(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(1, 0, 0, 0, 0, i, -h, 0, 0, h, i, 0, 0, 0, 0, 1);\n }\n function n(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(i, 0, h, 0, 0, 1, 0, 0, -h, 0, i, 0, 0, 0, 0, 1);\n }\n function o(e) {\n if (0 === e) return this;\n var i = t(e),\n h = s(e);\n return this._t(i, -h, 0, 0, h, i, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function l(t, s) {\n return this._t(1, s, t, 1, 0, 0);\n }\n function p(t, s) {\n return this.shear(e(t), e(s));\n }\n function c(i, h) {\n var r = t(h),\n a = s(h);\n return this._t(r, a, 0, 0, -a, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\n ._t(1, 0, 0, 0, e(i), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)\n ._t(r, -a, 0, 0, a, r, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function d(t, s, e) {\n return (\n e || 0 === e || (e = 1),\n 1 === t && 1 === s && 1 === e ? this : this._t(t, 0, 0, 0, 0, s, 0, 0, 0, 0, e, 0, 0, 0, 0, 1)\n );\n }\n function u(t, s, e, i, h, r, a, n, o, l, p, c, d, u, f, m) {\n return (\n (this.props[0] = t),\n (this.props[1] = s),\n (this.props[2] = e),\n (this.props[3] = i),\n (this.props[4] = h),\n (this.props[5] = r),\n (this.props[6] = a),\n (this.props[7] = n),\n (this.props[8] = o),\n (this.props[9] = l),\n (this.props[10] = p),\n (this.props[11] = c),\n (this.props[12] = d),\n (this.props[13] = u),\n (this.props[14] = f),\n (this.props[15] = m),\n this\n );\n }\n function f(t, s, e) {\n return (e = e || 0), 0 !== t || 0 !== s || 0 !== e ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, t, s, e, 1) : this;\n }\n function m(t, s, e, i, h, r, a, n, o, l, p, c, d, u, f, m) {\n var g = this.props;\n if (\n 1 === t &&\n 0 === s &&\n 0 === e &&\n 0 === i &&\n 0 === h &&\n 1 === r &&\n 0 === a &&\n 0 === n &&\n 0 === o &&\n 0 === l &&\n 1 === p &&\n 0 === c\n )\n return (\n (g[12] = g[12] * t + g[15] * d),\n (g[13] = g[13] * r + g[15] * u),\n (g[14] = g[14] * p + g[15] * f),\n (g[15] = g[15] * m),\n (this._identityCalculated = !1),\n this\n );\n var y = g[0],\n v = g[1],\n _ = g[2],\n k = g[3],\n S = g[4],\n x = g[5],\n M = g[6],\n P = g[7],\n T = g[8],\n w = g[9],\n D = g[10],\n L = g[11],\n F = g[12],\n A = g[13],\n C = g[14],\n b = g[15];\n return (\n (g[0] = y * t + v * h + _ * o + k * d),\n (g[1] = y * s + v * r + _ * l + k * u),\n (g[2] = y * e + v * a + _ * p + k * f),\n (g[3] = y * i + v * n + _ * c + k * m),\n (g[4] = S * t + x * h + M * o + P * d),\n (g[5] = S * s + x * r + M * l + P * u),\n (g[6] = S * e + x * a + M * p + P * f),\n (g[7] = S * i + x * n + M * c + P * m),\n (g[8] = T * t + w * h + D * o + L * d),\n (g[9] = T * s + w * r + D * l + L * u),\n (g[10] = T * e + w * a + D * p + L * f),\n (g[11] = T * i + w * n + D * c + L * m),\n (g[12] = F * t + A * h + C * o + b * d),\n (g[13] = F * s + A * r + C * l + b * u),\n (g[14] = F * e + A * a + C * p + b * f),\n (g[15] = F * i + A * n + C * c + b * m),\n (this._identityCalculated = !1),\n this\n );\n }\n function g() {\n return (\n this._identityCalculated ||\n ((this._identity = !(\n 1 !== this.props[0] ||\n 0 !== this.props[1] ||\n 0 !== this.props[2] ||\n 0 !== this.props[3] ||\n 0 !== this.props[4] ||\n 1 !== this.props[5] ||\n 0 !== this.props[6] ||\n 0 !== this.props[7] ||\n 0 !== this.props[8] ||\n 0 !== this.props[9] ||\n 1 !== this.props[10] ||\n 0 !== this.props[11] ||\n 0 !== this.props[12] ||\n 0 !== this.props[13] ||\n 0 !== this.props[14] ||\n 1 !== this.props[15]\n )),\n (this._identityCalculated = !0)),\n this._identity\n );\n }\n function y(t) {\n for (var s = 0; s < 16; ) {\n if (t.props[s] !== this.props[s]) return !1;\n s += 1;\n }\n return !0;\n }\n function v(t) {\n var s;\n for (s = 0; s < 16; s += 1) t.props[s] = this.props[s];\n }\n function _(t) {\n var s;\n for (s = 0; s < 16; s += 1) this.props[s] = t[s];\n }\n function k(t, s, e) {\n return {\n x: t * this.props[0] + s * this.props[4] + e * this.props[8] + this.props[12],\n y: t * this.props[1] + s * this.props[5] + e * this.props[9] + this.props[13],\n z: t * this.props[2] + s * this.props[6] + e * this.props[10] + this.props[14],\n };\n }\n function S(t, s, e) {\n return t * this.props[0] + s * this.props[4] + e * this.props[8] + this.props[12];\n }\n function x(t, s, e) {\n return t * this.props[1] + s * this.props[5] + e * this.props[9] + this.props[13];\n }\n function M(t, s, e) {\n return t * this.props[2] + s * this.props[6] + e * this.props[10] + this.props[14];\n }\n function P(t) {\n var s = this.props[0] * this.props[5] - this.props[1] * this.props[4],\n e = this.props[5] / s,\n i = -this.props[1] / s,\n h = -this.props[4] / s,\n r = this.props[0] / s,\n a = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / s,\n n = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / s;\n return [t[0] * e + t[1] * h + a, t[0] * i + t[1] * r + n, 0];\n }\n function T(t) {\n var s,\n e = t.length,\n i = [];\n for (s = 0; s < e; s += 1) i[s] = P(t[s]);\n return i;\n }\n function D(t, s, e) {\n var i = w('float32', 6);\n if (this.isIdentity()) (i[0] = t[0]), (i[1] = t[1]), (i[2] = s[0]), (i[3] = s[1]), (i[4] = e[0]), (i[5] = e[1]);\n else {\n var h = this.props[0],\n r = this.props[1],\n a = this.props[4],\n n = this.props[5],\n o = this.props[12],\n l = this.props[13];\n (i[0] = t[0] * h + t[1] * a + o),\n (i[1] = t[0] * r + t[1] * n + l),\n (i[2] = s[0] * h + s[1] * a + o),\n (i[3] = s[0] * r + s[1] * n + l),\n (i[4] = e[0] * h + e[1] * a + o),\n (i[5] = e[0] * r + e[1] * n + l);\n }\n return i;\n }\n function L(t, s, e) {\n return this.isIdentity()\n ? [t, s, e]\n : [\n t * this.props[0] + s * this.props[4] + e * this.props[8] + this.props[12],\n t * this.props[1] + s * this.props[5] + e * this.props[9] + this.props[13],\n t * this.props[2] + s * this.props[6] + e * this.props[10] + this.props[14],\n ];\n }\n function F(t, s) {\n if (this.isIdentity()) return t + ',' + s;\n var e = this.props;\n return (\n Math.round(100 * (t * e[0] + s * e[4] + e[12])) / 100 +\n ',' +\n Math.round(100 * (t * e[1] + s * e[5] + e[13])) / 100\n );\n }\n function A() {\n for (var t = 0, s = this.props, e = 'matrix3d('; t < 16; )\n (e += i(1e4 * s[t]) / 1e4), (e += 15 === t ? ')' : ','), (t += 1);\n return e;\n }\n function C(t) {\n return (t < 1e-6 && t > 0) || (t > -1e-6 && t < 0) ? i(1e4 * t) / 1e4 : t;\n }\n function b() {\n var t = this.props;\n return 'matrix(' + C(t[0]) + ',' + C(t[1]) + ',' + C(t[4]) + ',' + C(t[5]) + ',' + C(t[12]) + ',' + C(t[13]) + ')';\n }\n return function () {\n (this.reset = h),\n (this.rotate = r),\n (this.rotateX = a),\n (this.rotateY = n),\n (this.rotateZ = o),\n (this.skew = p),\n (this.skewFromAxis = c),\n (this.shear = l),\n (this.scale = d),\n (this.setTransform = u),\n (this.translate = f),\n (this.transform = m),\n (this.applyToPoint = k),\n (this.applyToX = S),\n (this.applyToY = x),\n (this.applyToZ = M),\n (this.applyToPointArray = L),\n (this.applyToTriplePoints = D),\n (this.applyToPointStringified = F),\n (this.toCSS = A),\n (this.to2dCSS = b),\n (this.clone = v),\n (this.cloneFromProps = _),\n (this.equals = y),\n (this.inversePoints = T),\n (this.inversePoint = P),\n (this._t = this.transform),\n (this.isIdentity = g),\n (this._identity = !0),\n (this._identityCalculated = !1),\n (this.props = w('float32', 16)),\n this.reset();\n };\n})();\nclass St {\n constructor() {\n (this.sequences = {}), (this.sequenceList = []), (this.transform_key_count = 0);\n }\n addTransformSequence(t) {\n const s = t.length;\n let e = '_';\n for (let i = 0; i < s; i += 1) e += t[i].transform.key + '_';\n let i = this.sequences[e];\n return (\n i ||\n ((i = { transforms: [].concat(t), finalTransform: new kt(), _mdf: !1 }),\n (this.sequences[e] = i),\n this.sequenceList.push(i)),\n i\n );\n }\n processSequence(t, s) {\n let e = 0,\n i = s;\n const h = t.transforms.length;\n for (; e < h && !s; ) {\n if (t.transforms[e].transform.mProps._mdf) {\n i = !0;\n break;\n }\n e += 1;\n }\n if (i) {\n let s;\n for (t.finalTransform.reset(), e = h - 1; e >= 0; e -= 1)\n (s = t.transforms[e].transform.mProps.v.props),\n t.finalTransform.transform(\n s[0],\n s[1],\n s[2],\n s[3],\n s[4],\n s[5],\n s[6],\n s[7],\n s[8],\n s[9],\n s[10],\n s[11],\n s[12],\n s[13],\n s[14],\n s[15],\n );\n }\n t._mdf = i;\n }\n processSequences(t) {\n const s = this.sequenceList.length;\n for (let e = 0; e < s; e += 1) this.processSequence(this.sequenceList[e], t);\n }\n getNewKey() {\n return '_' + this.transform_key_count++;\n }\n}\nclass xt {\n constructor(t, s) {\n (this.elem = t), (this.pos = s);\n }\n}\nclass Mt {\n constructor(t, s, e, i) {\n (this.styledShapes = []), (this.tr = [0, 0, 0, 0, 0, 0]);\n let h = 4;\n 'rc' == s.ty ? (h = 5) : 'el' == s.ty ? (h = 6) : 'sr' == s.ty && (h = 7), (this.sh = vt.getShapeProp(t, s, h));\n const r = e.length;\n for (let t = 0; t < r; t += 1)\n if (!e[t].closed) {\n const s = { transforms: i.addTransformSequence(e[t].transforms), trNodes: [] };\n this.styledShapes.push(s), e[t].elements.push(s);\n }\n }\n setAsAnimated() {\n this._isAnimated = !0;\n }\n}\nconst Pt = {};\nfunction Tt(t) {\n return Pt[t];\n}\nvar wt = {\n Type: {\n Null: 'Null',\n Path: 'Path',\n Shape: 'Shape',\n Solid: 'Solid',\n Sprite: 'Sprite',\n Component: 'Component',\n Container: 'Container',\n },\n registerDisplayByType: function (t, s) {\n Pt[t] = s;\n },\n};\nclass Dt {\n constructor(t, s, e) {\n (this.elem = t),\n (this.data = s),\n (this.type = s.ty),\n (this.preTransforms = e),\n (this.transforms = []),\n (this.elements = []),\n (this.closed = !0 === s.hd),\n (this.displayType = wt.Type.Path);\n const i = Tt(this.displayType);\n (this.display = new i(this, s)),\n this.elem.innerDisplay ? this.elem.innerDisplay.addChild(this.display) : this.elem.display.addChild(this.display);\n }\n updateGrahpics() {\n this.display.updateLottieGrahpics(this);\n }\n}\nclass Lt extends O {\n constructor(t, s, e) {\n if (\n (super(),\n (this.elem = t),\n (this.frameId = -1),\n (this.propType = 'transform'),\n (this.data = s),\n (this.v = new kt()),\n (this.pre = new kt()),\n (this.appliedTransformations = 0),\n this.initDynamicPropertyContainer(e || t),\n s.p && s.p.s\n ? ((this.px = pt.getProp(t, s.p.x, 0, 0, this)),\n (this.py = pt.getProp(t, s.p.y, 0, 0, this)),\n s.p.z && (this.pz = pt.getProp(t, s.p.z, 0, 0, this)))\n : (this.p = pt.getProp(t, s.p || { k: [0, 0, 0] }, 1, 0, this)),\n s.rx)\n ) {\n if (\n ((this.rx = pt.getProp(t, s.rx, 0, U, this)),\n (this.ry = pt.getProp(t, s.ry, 0, U, this)),\n (this.rz = pt.getProp(t, s.rz, 0, U, this)),\n s.or.k[0].ti)\n ) {\n let t,\n e = s.or.k.length;\n for (t = 0; t < e; t += 1) s.or.k[t].to = s.or.k[t].ti = null;\n }\n (this.or = pt.getProp(t, s.or, 1, U, this)), (this.or.sh = !0);\n } else this.r = pt.getProp(t, s.r || { k: 0 }, 0, U, this);\n s.sk && ((this.sk = pt.getProp(t, s.sk, 0, U, this)), (this.sa = pt.getProp(t, s.sa, 0, U, this))),\n (this.a = pt.getProp(t, s.a || { k: [0, 0, 0] }, 1, 0, this)),\n (this.s = pt.getProp(t, s.s || { k: [100, 100, 100] }, 1, 0.01, this)),\n s.o ? (this.o = pt.getProp(t, s.o, 0, 0.01, t)) : (this.o = { _mdf: !1, v: 1 }),\n (this._isDirty = !0),\n this.dynamicProperties.length || this.getValue(-999999, !0);\n }\n getValue(t, s) {\n if (t !== this.frameId) {\n if (\n (this._isDirty && (this.precalculateMatrix(), (this._isDirty = !1)),\n this.iterateDynamicProperties(),\n this._mdf || s)\n ) {\n if (\n (this.v.cloneFromProps(this.pre.props),\n this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\n this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]),\n this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v),\n this.r && this.appliedTransformations < 4\n ? this.v.rotate(-this.r.v)\n : !this.r &&\n this.appliedTransformations < 4 &&\n this.v\n .rotateZ(-this.rz.v)\n .rotateY(this.ry.v)\n .rotateX(this.rx.v)\n .rotateZ(-this.or.v[2])\n .rotateY(this.or.v[1])\n .rotateX(this.or.v[0]),\n this.autoOriented)\n ) {\n let t, s;\n const e = this.elem.globalData.frameRate;\n if (this.p && this.p.keyframes && this.p.getValueAtTime)\n this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t\n ? ((t = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / e, 0)),\n (s = this.p.getValueAtTime(this.p.keyframes[0].t / e, 0)))\n : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t\n ? ((t = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / e, 0)),\n (s = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / e, 0)))\n : ((t = this.p.pv),\n (s = this.p.getValueAtTime(\n (this.p._caching.lastFrame + this.p.offsetTime - 0.01) / e,\n this.p.offsetTime,\n )));\n else if (\n this.px &&\n this.px.keyframes &&\n this.py.keyframes &&\n this.px.getValueAtTime &&\n this.py.getValueAtTime\n ) {\n (t = []), (s = []);\n let i = this.px,\n h = this.py;\n i._caching.lastFrame + i.offsetTime <= i.keyframes[0].t\n ? ((t[0] = i.getValueAtTime((i.keyframes[0].t + 0.01) / e, 0)),\n (t[1] = h.getValueAtTime((h.keyframes[0].t + 0.01) / e, 0)),\n (s[0] = i.getValueAtTime(i.keyframes[0].t / e, 0)),\n (s[1] = h.getValueAtTime(h.keyframes[0].t / e, 0)))\n : i._caching.lastFrame + i.offsetTime >= i.keyframes[i.keyframes.length - 1].t\n ? ((t[0] = i.getValueAtTime(i.keyframes[i.keyframes.length - 1].t / e, 0)),\n (t[1] = h.getValueAtTime(h.keyframes[h.keyframes.length - 1].t / e, 0)),\n (s[0] = i.getValueAtTime((i.keyframes[i.keyframes.length - 1].t - 0.01) / e, 0)),\n (s[1] = h.getValueAtTime((h.keyframes[h.keyframes.length - 1].t - 0.01) / e, 0)))\n : ((t = [i.pv, h.pv]),\n (s[0] = i.getValueAtTime((i._caching.lastFrame + i.offsetTime - 0.01) / e, i.offsetTime)),\n (s[1] = h.getValueAtTime((h._caching.lastFrame + h.offsetTime - 0.01) / e, h.offsetTime)));\n } else t = s = Z;\n this.v.rotate(-Math.atan2(t[1] - s[1], t[0] - s[0]));\n }\n this.data.p && this.data.p.s\n ? this.data.p.z\n ? this.v.translate(this.px.v, this.py.v, -this.pz.v)\n : this.v.translate(this.px.v, this.py.v, 0)\n : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n this.frameId = t;\n }\n }\n precalculateMatrix() {\n if (\n !this.a.k &&\n (this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\n (this.appliedTransformations = 1),\n !this.s.effectsSequence.length)\n ) {\n if ((this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), (this.appliedTransformations = 2), this.sk)) {\n if (this.sk.effectsSequence.length || this.sa.effectsSequence.length) return;\n this.pre.skewFromAxis(-this.sk.v, this.sa.v), (this.appliedTransformations = 3);\n }\n if (this.r) {\n if (this.r.effectsSequence.length) return;\n this.pre.rotate(-this.r.v), (this.appliedTransformations = 4);\n } else\n this.rz.effectsSequence.length ||\n this.ry.effectsSequence.length ||\n this.rx.effectsSequence.length ||\n this.or.effectsSequence.length ||\n (this.pre\n .rotateZ(-this.rz.v)\n .rotateY(this.ry.v)\n .rotateX(this.rx.v)\n .rotateZ(-this.or.v[2])\n .rotateY(this.or.v[1])\n .rotateX(this.or.v[0]),\n (this.appliedTransformations = 4));\n }\n }\n applyToMatrix(t) {\n let s = this._mdf;\n this.iterateDynamicProperties(),\n (this._mdf = this._mdf || s),\n this.a && t.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]),\n this.s && t.scale(this.s.v[0], this.s.v[1], this.s.v[2]),\n this.sk && t.skewFromAxis(-this.sk.v, this.sa.v),\n this.r\n ? t.rotate(-this.r.v)\n : t\n .rotateZ(-this.rz.v)\n .rotateY(this.ry.v)\n .rotateX(this.rx.v)\n .rotateZ(-this.or.v[2])\n .rotateY(this.or.v[1])\n .rotateX(this.or.v[0]),\n this.data.p.s\n ? this.data.p.z\n ? t.translate(this.px.v, this.py.v, -this.pz.v)\n : t.translate(this.px.v, this.py.v, 0)\n : t.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n}\nfunction Ft(t, s, e) {\n return new Lt(t, s, e);\n}\nclass At extends O {\n initModifierProperties() {}\n addShapeToModifier() {}\n addShape(t) {\n if (!this.closed) {\n t.sh.container.addDynamicProperty(t.sh);\n const s = { shape: t.sh, data: t, localShapeCollection: q.newShapeCollection() };\n this.shapes.push(s), this.addShapeToModifier(s), this._isAnimated && t.setAsAnimated();\n }\n }\n init(t, s) {\n (this.shapes = []),\n (this.elem = t),\n this.initDynamicPropertyContainer(t),\n this.initModifierProperties(t, s),\n (this.frameId = -999999),\n (this.closed = !1),\n (this.k = !1),\n this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0);\n }\n processKeys(t) {\n t !== this.frameId && ((this.frameId = t), this.iterateDynamicProperties(t));\n }\n}\nconst Ct = {};\nfunction bt(t, s) {\n Ct[t] || (Ct[t] = s);\n}\nbt(\n 'tm',\n class extends At {\n initModifierProperties(t, s) {\n (this.s = pt.getProp(t, s.s, 0, 0.01, this)),\n (this.e = pt.getProp(t, s.e, 0, 0.01, this)),\n (this.o = pt.getProp(t, s.o, 0, 0, this)),\n (this.sValue = 0),\n (this.eValue = 0),\n (this.getValue = this.processKeys),\n (this.m = s.m),\n (this._isAnimated =\n !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length);\n }\n addShapeToModifier(t) {\n t.pathsData = [];\n }\n calculateShapeEdges(t, s, e, i, h) {\n let r = [];\n s <= 1\n ? r.push({ s: t, e: s })\n : t >= 1\n ? r.push({ s: t - 1, e: s - 1 })\n : (r.push({ s: t, e: 1 }), r.push({ s: 0, e: s - 1 }));\n let a,\n n,\n o = [],\n l = r.length;\n for (a = 0; a < l; a += 1)\n if (((n = r[a]), n.e * h < i || n.s * h > i + e));\n else {\n let t, s;\n (t = n.s * h <= i ? 0 : (n.s * h - i) / e), (s = n.e * h >= i + e ? 1 : (n.e * h - i) / e), o.push([t, s]);\n }\n return o.length || o.push([0, 0]), o;\n }\n releasePathsData(t) {\n const s = t.length;\n for (let e = 0; e < s; e += 1) Y.release(t[e]);\n return (t.length = 0), t;\n }\n processShapes(t) {\n let s, e, i, h;\n if (this._mdf || t) {\n let t = (this.o.v % 360) / 360;\n if (\n (t < 0 && (t += 1),\n (s = (this.s.v > 1 ? 1 : this.s.v < 0 ? 0 : this.s.v) + t),\n (e = (this.e.v > 1 ? 1 : this.e.v < 0 ? 0 : this.e.v) + t),\n s > e)\n ) {\n let t = s;\n (s = e), (e = t);\n }\n (s = 1e-4 * Math.round(1e4 * s)), (e = 1e-4 * Math.round(1e4 * e)), (this.sValue = s), (this.eValue = e);\n } else (s = this.sValue), (e = this.eValue);\n let r,\n a,\n n,\n o,\n l,\n p = this.shapes.length,\n c = 0;\n if (e === s)\n for (h = 0; h < p; h += 1)\n this.shapes[h].localShapeCollection.releaseShapes(),\n (this.shapes[h].shape._mdf = !0),\n (this.shapes[h].shape.paths = this.shapes[h].localShapeCollection),\n this._mdf && (this.shapes[h].pathsData.length = 0);\n else if ((1 === e && 0 === s) || (0 === e && 1 === s)) {\n if (this._mdf)\n for (h = 0; h < p; h += 1) (this.shapes[h].pathsData.length = 0), (this.shapes[h].shape._mdf = !0);\n } else {\n let d,\n u,\n f = [];\n for (h = 0; h < p; h += 1)\n if (((d = this.shapes[h]), d.shape._mdf || this._mdf || t || 2 === this.m)) {\n if (((i = d.shape.paths), (a = i._length), (l = 0), !d.shape._mdf && d.pathsData.length))\n l = d.totalShapeLength;\n else {\n for (n = this.releasePathsData(d.pathsData), r = 0; r < a; r += 1)\n (o = H.getSegmentsLength(i.shapes[r])), n.push(o), (l += o.totalLength);\n (d.totalShapeLength = l), (d.pathsData = n);\n }\n (c += l), (d.shape._mdf = !0);\n } else d.shape.paths = d.localShapeCollection;\n let m,\n g = s,\n y = e,\n v = 0;\n for (h = p - 1; h >= 0; h -= 1)\n if (((d = this.shapes[h]), d.shape._mdf)) {\n for (\n u = d.localShapeCollection,\n u.releaseShapes(),\n 2 === this.m && p > 1\n ? ((m = this.calculateShapeEdges(s, e, d.totalShapeLength, v, c)), (v += d.totalShapeLength))\n : (m = [[g, y]]),\n a = m.length,\n r = 0;\n r < a;\n r += 1\n ) {\n (g = m[r][0]),\n (y = m[r][1]),\n (f.length = 0),\n y <= 1\n ? f.push({ s: d.totalShapeLength * g, e: d.totalShapeLength * y })\n : g >= 1\n ? f.push({ s: d.totalShapeLength * (g - 1), e: d.totalShapeLength * (y - 1) })\n : (f.push({ s: d.totalShapeLength * g, e: d.totalShapeLength }),\n f.push({ s: 0, e: d.totalShapeLength * (y - 1) }));\n let t = this.addShapes(d, f[0]);\n if (f[0].s !== f[0].e) {\n if (f.length > 1) {\n if (d.shape.paths.shapes[d.shape.paths._length - 1].c) {\n let s = t.pop();\n this.addPaths(t, u), (t = this.addShapes(d, f[1], s));\n } else this.addPaths(t, u), (t = this.addShapes(d, f[1]));\n }\n this.addPaths(t, u);\n }\n }\n d.shape.paths = u;\n }\n }\n }\n addPaths(t, s) {\n const e = t.length;\n for (let i = 0; i < e; i += 1) s.addShape(t[i]);\n }\n addSegment(t, s, e, i, h, r, a) {\n h.setXYAt(s[0], s[1], 'o', r),\n h.setXYAt(e[0], e[1], 'i', r + 1),\n a && h.setXYAt(t[0], t[1], 'v', r),\n h.setXYAt(i[0], i[1], 'v', r + 1);\n }\n addSegmentFromArray(t, s, e, i) {\n s.setXYAt(t[1], t[5], 'o', e),\n s.setXYAt(t[2], t[6], 'i', e + 1),\n i && s.setXYAt(t[0], t[4], 'v', e),\n s.setXYAt(t[3], t[7], 'v', e + 1);\n }\n addShapes(t, s, e) {\n let i,\n h,\n r,\n a,\n n,\n o,\n l,\n p,\n c = t.pathsData,\n d = t.shape.paths.shapes,\n u = t.shape.paths._length,\n f = 0,\n m = [],\n g = !0;\n for (\n e ? ((n = e._length), (p = e._length)) : ((e = b.newElement()), (n = 0), (p = 0)), m.push(e), i = 0;\n i < u;\n i += 1\n ) {\n for (o = c[i].lengths, e.c = d[i].c, r = d[i].c ? o.length : o.length + 1, h = 1; h < r; h += 1)\n if (((a = o[h - 1]), f + a.addedLength < s.s)) (f += a.addedLength), (e.c = !1);\n else {\n if (f > s.e) {\n e.c = !1;\n break;\n }\n s.s <= f && s.e >= f + a.addedLength\n ? (this.addSegment(d[i].v[h - 1], d[i].o[h - 1], d[i].i[h], d[i].v[h], e, n, g), (g = !1))\n : ((l = H.getNewSegment(\n d[i].v[h - 1],\n d[i].v[h],\n d[i].o[h - 1],\n d[i].i[h],\n (s.s - f) / a.addedLength,\n (s.e - f) / a.addedLength,\n o[h - 1],\n )),\n this.addSegmentFromArray(l, e, n, g),\n (g = !1),\n (e.c = !1)),\n (f += a.addedLength),\n (n += 1);\n }\n if (d[i].c && o.length) {\n if (((a = o[h - 1]), f <= s.e)) {\n let t = o[h - 1].addedLength;\n s.s <= f && s.e >= f + t\n ? (this.addSegment(d[i].v[h - 1], d[i].o[h - 1], d[i].i[0], d[i].v[0], e, n, g), (g = !1))\n : ((l = H.getNewSegment(\n d[i].v[h - 1],\n d[i].v[0],\n d[i].o[h - 1],\n d[i].i[0],\n (s.s - f) / t,\n (s.e - f) / t,\n o[h - 1],\n )),\n this.addSegmentFromArray(l, e, n, g),\n (g = !1),\n (e.c = !1));\n } else e.c = !1;\n (f += a.addedLength), (n += 1);\n }\n if (\n (e._length &&\n (e.setXYAt(e.v[p][0], e.v[p][1], 'i', p),\n e.setXYAt(e.v[e._length - 1][0], e.v[e._length - 1][1], 'o', e._length - 1)),\n f > s.e)\n )\n break;\n i < u - 1 && ((e = b.newElement()), (g = !0), m.push(e), (n = 0));\n }\n return m;\n }\n },\n),\n bt(\n 'rd',\n class extends At {\n initModifierProperties(t, s) {\n (this.getValue = this.processKeys),\n (this.rd = pt.getProp(t, s.r, 0, null, this)),\n (this._isAnimated = !!this.rd.effectsSequence.length);\n }\n processPath(t, s) {\n const e = b.newElement();\n let i;\n e.c = t.c;\n let h,\n r,\n a,\n n,\n o,\n l,\n p,\n c,\n d,\n u,\n f,\n m,\n g = t._length,\n y = 0;\n for (i = 0; i < g; i += 1)\n (h = t.v[i]),\n (a = t.o[i]),\n (r = t.i[i]),\n h[0] === a[0] && h[1] === a[1] && h[0] === r[0] && h[1] === r[1]\n ? (0 !== i && i !== g - 1) || t.c\n ? ((n = 0 === i ? t.v[g - 1] : t.v[i - 1]),\n (o = Math.sqrt(Math.pow(h[0] - n[0], 2) + Math.pow(h[1] - n[1], 2))),\n (l = o ? Math.min(o / 2, s) / o : 0),\n (p = f = h[0] + (n[0] - h[0]) * l),\n (c = m = h[1] - (h[1] - n[1]) * l),\n (d = p - 0.5519 * (p - h[0])),\n (u = c - 0.5519 * (c - h[1])),\n e.setTripleAt(p, c, d, u, f, m, y),\n (y += 1),\n (n = i === g - 1 ? t.v[0] : t.v[i + 1]),\n (o = Math.sqrt(Math.pow(h[0] - n[0], 2) + Math.pow(h[1] - n[1], 2))),\n (l = o ? Math.min(o / 2, s) / o : 0),\n (p = d = h[0] + (n[0] - h[0]) * l),\n (c = u = h[1] + (n[1] - h[1]) * l),\n (f = p - 0.5519 * (p - h[0])),\n (m = c - 0.5519 * (c - h[1])),\n e.setTripleAt(p, c, d, u, f, m, y),\n (y += 1))\n : (e.setTripleAt(h[0], h[1], a[0], a[1], r[0], r[1], y), (y += 1))\n : (e.setTripleAt(t.v[i][0], t.v[i][1], t.o[i][0], t.o[i][1], t.i[i][0], t.i[i][1], y), (y += 1));\n return e;\n }\n processShapes(t) {\n let s,\n e,\n i,\n h,\n r = this.shapes.length,\n a = this.rd.v;\n if (0 !== a) {\n let n, o;\n for (e = 0; e < r; e += 1) {\n if (((n = this.shapes[e]), (o = n.localShapeCollection), n.shape._mdf || this._mdf || t))\n for (\n o.releaseShapes(), n.shape._mdf = !0, s = n.shape.paths.shapes, h = n.shape.paths._length, i = 0;\n i < h;\n i += 1\n )\n o.addShape(this.processPath(s[i], a));\n n.shape.paths = n.localShapeCollection;\n }\n }\n this.dynamicProperties.length || (this._mdf = !1);\n }\n },\n ),\n bt(\n 'rp',\n class extends At {\n initModifierProperties(t, s) {\n (this.getValue = this.processKeys),\n (this.c = pt.getProp(t, s.c, 0, null, this)),\n (this.o = pt.getProp(t, s.o, 0, null, this)),\n (this.tr = Ft(t, s.tr, this)),\n (this.so = pt.getProp(t, s.tr.so, 0, 0.01, this)),\n (this.eo = pt.getProp(t, s.tr.eo, 0, 0.01, this)),\n (this.data = s),\n this.dynamicProperties.length || this.getValue(!0),\n (this._isAnimated = !!this.dynamicProperties.length),\n (this.pMatrix = new kt()),\n (this.rMatrix = new kt()),\n (this.sMatrix = new kt()),\n (this.tMatrix = new kt()),\n (this.matrix = new kt());\n }\n applyTransforms(t, s, e, i, h, r) {\n let a = r ? -1 : 1,\n n = i.s.v[0] + (1 - i.s.v[0]) * (1 - h),\n o = i.s.v[1] + (1 - i.s.v[1]) * (1 - h);\n t.translate(i.p.v[0] * a * h, i.p.v[1] * a * h, i.p.v[2]),\n s.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]),\n s.rotate(-i.r.v * a * h),\n s.translate(i.a.v[0], i.a.v[1], i.a.v[2]),\n e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]),\n e.scale(r ? 1 / n : n, r ? 1 / o : o),\n e.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }\n init(t, s, e, i) {\n for (\n this.elem = t,\n this.arr = s,\n this.pos = e,\n this.elemsData = i,\n this._currentCopies = 0,\n this._elements = [],\n this._groups = [],\n this.frameId = -1,\n this.initDynamicPropertyContainer(t),\n this.initModifierProperties(t, s[e]);\n e > 0;\n\n )\n (e -= 1), this._elements.unshift(s[e]);\n this.dynamicProperties.length ? (this.k = !0) : this.getValue(!0);\n }\n resetElements(t) {\n const s = t.length;\n for (let e = 0; e < s; e += 1) (t[e]._processed = !1), 'gr' === t[e].ty && this.resetElements(t[e].it);\n }\n cloneElements(t) {\n let s = JSON.parse(JSON.stringify(t));\n return this.resetElements(s), s;\n }\n changeGroupRender(t, s) {\n const e = t.length;\n for (let i = 0; i < e; i += 1) (t[i]._render = s), 'gr' === t[i].ty && this.changeGroupRender(t[i].it, s);\n }\n processShapes(t) {\n if (this._mdf || t) {\n let t = Math.ceil(this.c.v);\n if (this._groups.length < t) {\n for (; this._groups.length < t; ) {\n let t = { it: this.cloneElements(this._elements), ty: 'gr' };\n t.it.push({\n a: { a: 0, ix: 1, k: [0, 0] },\n nm: 'Transform',\n o: { a: 0, ix: 7, k: 100 },\n p: { a: 0, ix: 2, k: [0, 0] },\n r: {\n a: 1,\n ix: 6,\n k: [\n { s: 0, e: 0, t: 0 },\n { s: 0, e: 0, t: 1 },\n ],\n },\n s: { a: 0, ix: 3, k: [100, 100] },\n sa: { a: 0, ix: 5, k: 0 },\n sk: { a: 0, ix: 4, k: 0 },\n ty: 'tr',\n }),\n this.arr.splice(0, 0, t),\n this._groups.splice(0, 0, t),\n (this._currentCopies += 1);\n }\n this.elem.reloadShapes();\n }\n let s,\n e,\n i = 0;\n for (s = 0; s <= this._groups.length - 1; s += 1)\n (e = i < t), (this._groups[s]._render = e), this.changeGroupRender(this._groups[s].it, e), (i += 1);\n this._currentCopies = t;\n let h = this.o.v,\n r = h % 1,\n a = h > 0 ? Math.floor(h) : Math.ceil(h),\n n = this.pMatrix.props,\n o = this.rMatrix.props,\n l = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n let p = 0;\n if (h > 0) {\n for (; p < a; ) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), (p += 1);\n r && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, r, !1), (p += r));\n } else if (h < 0) {\n for (; p > a; ) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), (p -= 1);\n r && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -r, !0), (p -= r));\n }\n s = 1 === this.data.m ? 0 : this._currentCopies - 1;\n const c = 1 === this.data.m ? 1 : -1;\n for (i = this._currentCopies; i; ) {\n const t = this.elemsData[s].it,\n e = t[t.length - 1].transform.mProps.v.props,\n h = e.length;\n if (\n ((t[t.length - 1].transform.mProps._mdf = !0),\n (t[t.length - 1].transform.op._mdf = !0),\n (t[t.length - 1].transform.op.v = this.so.v + (this.eo.v - this.so.v) * (s / (this._currentCopies - 1))),\n 0 !== p)\n ) {\n ((0 !== s && 1 === c) || (s !== this._currentCopies - 1 && -1 === c)) &&\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1),\n this.matrix.transform(\n o[0],\n o[1],\n o[2],\n o[3],\n o[4],\n o[5],\n o[6],\n o[7],\n o[8],\n o[9],\n o[10],\n o[11],\n o[12],\n o[13],\n o[14],\n o[15],\n ),\n this.matrix.transform(\n l[0],\n l[1],\n l[2],\n l[3],\n l[4],\n l[5],\n l[6],\n l[7],\n l[8],\n l[9],\n l[10],\n l[11],\n l[12],\n l[13],\n l[14],\n l[15],\n ),\n this.matrix.transform(\n n[0],\n n[1],\n n[2],\n n[3],\n n[4],\n n[5],\n n[6],\n n[7],\n n[8],\n n[9],\n n[10],\n n[11],\n n[12],\n n[13],\n n[14],\n n[15],\n );\n for (let t = 0; t < h; t += 1) e[t] = this.matrix.props[t];\n this.matrix.reset();\n } else {\n this.matrix.reset();\n for (let t = 0; t < h; t += 1) e[t] = this.matrix.props[t];\n }\n (p += 1), (i -= 1), (s += c);\n }\n } else {\n let t = this._currentCopies,\n s = 0;\n const e = 1;\n for (; t; ) {\n const i = this.elemsData[s].it;\n (i[i.length - 1].transform.mProps._mdf = !1), (i[i.length - 1].transform.op._mdf = !1), (t -= 1), (s += e);\n }\n }\n }\n addShape() {}\n },\n ),\n bt(\n 'ms',\n class extends At {\n initModifierProperties(t, s) {\n (this.getValue = this.processKeys), (this.data = s), (this.positions = []);\n }\n processKeys(t, s) {\n (t !== this.frameId || s) && (this._mdf = !0);\n }\n addShapeToModifier() {\n this.positions.push([]);\n }\n processPath(t, s, e) {\n let i,\n h,\n r,\n a,\n n = t.v.length,\n o = [],\n l = [],\n p = [];\n for (i = 0; i < n; i += 1) {\n e.v[i] ||\n ((e.v[i] = [t.v[i][0], t.v[i][1]]),\n (e.o[i] = [t.o[i][0], t.o[i][1]]),\n (e.i[i] = [t.i[i][0], t.i[i][1]]),\n (e.distV[i] = 0),\n (e.distO[i] = 0),\n (e.distI[i] = 0)),\n (h = Math.atan2(t.v[i][1] - s[1], t.v[i][0] - s[0])),\n (r = s[0] - e.v[i][0]),\n (a = s[1] - e.v[i][1]);\n let n = Math.sqrt(r * r + a * a);\n (e.distV[i] += (n - e.distV[i]) * this.data.dc),\n (e.v[i][0] = (Math.cos(h) * Math.max(0, this.data.maxDist - e.distV[i])) / 2 + t.v[i][0]),\n (e.v[i][1] = (Math.sin(h) * Math.max(0, this.data.maxDist - e.distV[i])) / 2 + t.v[i][1]),\n (h = Math.atan2(t.o[i][1] - s[1], t.o[i][0] - s[0])),\n (r = s[0] - e.o[i][0]),\n (a = s[1] - e.o[i][1]),\n (n = Math.sqrt(r * r + a * a)),\n (e.distO[i] += (n - e.distO[i]) * this.data.dc),\n (e.o[i][0] = (Math.cos(h) * Math.max(0, this.data.maxDist - e.distO[i])) / 2 + t.o[i][0]),\n (e.o[i][1] = (Math.sin(h) * Math.max(0, this.data.maxDist - e.distO[i])) / 2 + t.o[i][1]),\n (h = Math.atan2(t.i[i][1] - s[1], t.i[i][0] - s[0])),\n (r = s[0] - e.i[i][0]),\n (a = s[1] - e.i[i][1]),\n (n = Math.sqrt(r * r + a * a)),\n (e.distI[i] += (n - e.distI[i]) * this.data.dc),\n (e.i[i][0] = (Math.cos(h) * Math.max(0, this.data.maxDist - e.distI[i])) / 2 + t.i[i][0]),\n (e.i[i][1] = (Math.sin(h) * Math.max(0, this.data.maxDist - e.distI[i])) / 2 + t.i[i][1]),\n o.push(e.v[i]),\n l.push(e.o[i]),\n p.push(e.i[i]);\n }\n return { v: o, o: l, i: p, c: t.c };\n }\n processShapes() {\n let t,\n s,\n e,\n i,\n h = this.elem.globalData.mouseX,\n r = this.elem.globalData.mouseY,\n a = this.shapes.length;\n if (h) {\n let n,\n o = this.elem.globalToLocal([h, r, 0]),\n l = [];\n for (s = 0; s < a; s += 1)\n if (((n = this.shapes[s]), n.shape._mdf || this._mdf)) {\n for (n.shape._mdf = !0, t = n.shape.paths, i = t.length, e = 0; e < i; e += 1)\n this.positions[s][e] ||\n (this.positions[s][e] = { v: [], o: [], i: [], distV: [], distO: [], distI: [] }),\n l.push(this.processPath(t[e], o, this.positions[s][e]));\n (n.shape.paths = l), (n.last = l);\n } else n.shape.paths = n.last;\n }\n }\n },\n );\nvar It = {\n getModifier: function (t, s, e) {\n return new Ct[t](s, e);\n },\n};\nclass Et extends O {\n constructor(t, s, e) {\n let i;\n super(),\n (this.elem = t),\n (this.frameId = -1),\n (this.dataProps = D(s.length)),\n (this.k = !1),\n (this.dashArray = w('float32', s.length ? s.length - 1 : 0)),\n (this.dashoffset = w('float32', 1)),\n this.initDynamicPropertyContainer(e);\n let h,\n r = s.length || 0;\n for (i = 0; i < r; i += 1)\n (h = pt.getProp(t, s[i].v, 0, 0, this)), (this.k = h.k || this.k), (this.dataProps[i] = { n: s[i].n, p: h });\n this.k || this.getValue(!0), (this._isAnimated = this.k);\n }\n getValue(t, s) {\n if (\n (t !== this.frameId || s) &&\n ((this.frameId = t), this.iterateDynamicProperties(), (this._mdf = this._mdf || s), this._mdf)\n ) {\n let t = 0,\n s = this.dataProps.length;\n for (t = 0; t < s; t += 1)\n 'o' != this.dataProps[t].n\n ? (this.dashArray[t] = this.dataProps[t].p.v)\n : (this.dashoffset[0] = this.dataProps[t].p.v);\n }\n }\n}\nclass Vt extends O {\n constructor(t, s, e) {\n super(), (this.data = s), (this.c = w('uint8c', 4 * s.p));\n let i = s.k.k[0].s ? s.k.k[0].s.length - 4 * s.p : s.k.k.length - 4 * s.p;\n (this.o = w('float32', i)),\n (this._cmdf = !1),\n (this._omdf = !1),\n (this._collapsable = this.checkCollapsable()),\n (this._hasOpacity = i),\n this.initDynamicPropertyContainer(e),\n (this.prop = pt.getProp(t, s.k, 1, null, this)),\n (this.k = this.prop.k),\n this.getValue(!0);\n }\n comparePoints(t, s) {\n let e,\n i = 0,\n h = this.o.length / 2;\n for (; i < h; ) {\n if (((e = Math.abs(t[4 * i] - t[4 * s + 2 * i])), e > 0.01)) return !1;\n i += 1;\n }\n return !0;\n }\n checkCollapsable() {\n if (this.o.length / 2 != this.c.length / 4) return !1;\n if (this.data.k.k[0].s) {\n let t = 0,\n s = this.data.k.k.length;\n for (; t < s; ) {\n if (!this.comparePoints(this.data.k.k[t].s, this.data.p)) return !1;\n t += 1;\n }\n } else if (!this.comparePoints(this.data.k.k, this.data.p)) return !1;\n return !0;\n }\n getValue(t) {\n if ((this.prop.getValue(), (this._mdf = !1), (this._cmdf = !1), (this._omdf = !1), this.prop._mdf || t)) {\n let s,\n e,\n i,\n h = 4 * this.data.p;\n for (s = 0; s < h; s += 1)\n (e = s % 4 == 0 ? 100 : 255),\n (i = Math.round(this.prop.v[s] * e)),\n this.c[s] !== i && ((this.c[s] = i), (this._cmdf = !t));\n if (this.o.length)\n for (h = this.prop.v.length, s = 4 * this.data.p; s < h; s += 1)\n (e = s % 2 == 0 ? 100 : 1),\n (i = s % 2 == 0 ? Math.round(100 * this.prop.v[s]) : this.prop.v[s]),\n this.o[s - 4 * this.data.p] !== i && ((this.o[s - 4 * this.data.p] = i), (this._omdf = !t));\n this._mdf = !t;\n }\n }\n}\nclass Nt extends O {\n constructor(t, s, e) {\n super(),\n (this.frameId = -1),\n (this.keyframesManager = t),\n (this.elem = t.elem),\n (this.session = e),\n (this.shapes = []),\n (this.shapesData = s),\n (this.stylesList = []),\n (this.itemsData = []),\n (this.prevViewData = []),\n (this.shapeModifiers = []),\n (this.processedElements = []),\n (this.transformsManager = new St()),\n this.initDynamicPropertyContainer(t),\n (this.lcEnum = { 1: 'butt', 2: 'round', 3: 'square' }),\n (this.ljEnum = { 1: 'miter', 2: 'round', 3: 'bevel' }),\n (this._isFirstFrame = !0),\n (this.transformHelper = { opacity: 1, _opMdf: !1 }),\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []),\n this._isAnimated ||\n ((this.transformHelper.opacity = 1),\n (this.transformHelper._opMdf = !1),\n this.updateModifiers(this.frameId),\n this.transformsManager.processSequences(this._isFirstFrame),\n this.updateShape(this.transformHelper, this.shapesData, this.itemsData),\n this.updateGrahpics());\n }\n createStyleElement(t, s) {\n const e = new Dt(this.elem, t, this.transformsManager.addTransformSequence(s)),\n i = {};\n if (\n ('fl' == t.ty || 'st' == t.ty\n ? ((i.c = pt.getProp(this, t.c, 1, 255, this)), i.c.k || (e.co = i.c.v))\n : ('gf' !== t.ty && 'gs' !== t.ty) ||\n ((i.s = pt.getProp(this, t.s, 1, null, this)),\n (i.e = pt.getProp(this, t.e, 1, null, this)),\n (i.h = pt.getProp(this, t.h || { k: 0 }, 0, 0.01, this)),\n (i.a = pt.getProp(this, t.a || { k: 0 }, 0, U, this)),\n (i.g = new Vt(this, t.g, this))),\n (i.o = pt.getProp(this, t.o, 0, 0.01, this)),\n 'st' == t.ty || 'gs' == t.ty)\n ) {\n if (\n ((e.lc = this.lcEnum[t.lc] || 'round'),\n (e.lj = this.ljEnum[t.lj] || 'round'),\n 1 == t.lj && (e.ml = t.ml),\n (i.w = pt.getProp(this, t.w, 0, null, this)),\n i.w.k || (e.wi = i.w.v),\n t.d)\n ) {\n let s = new Et(this, t.d, 'canvas', this);\n (i.d = s), i.d.k || ((e.da = i.d.dashArray), (e.do = i.d.dashoffset[0]));\n }\n } else e.r = 2 === t.r ? 'evenodd' : 'nonzero';\n return this.stylesList.push(e), (i.style = e), i;\n }\n addShapeToModifiers(t) {\n let s,\n e = this.shapeModifiers.length;\n for (s = 0; s < e; s += 1) this.shapeModifiers[s].addShape(t);\n }\n isShapeInAnimatedModifiers(t) {\n let s = this.shapeModifiers.length;\n for (; 0 < s; ) if (this.shapeModifiers[0].isAnimatedWithShape(t)) return !0;\n return !1;\n }\n updateModifiers(t) {\n if (!this.shapeModifiers.length) return;\n let s,\n e = this.shapes.length;\n for (s = 0; s < e; s += 1) this.shapes[s].sh.reset();\n for (e = this.shapeModifiers.length, s = e - 1; s >= 0; s -= 1)\n this.shapeModifiers[s].processShapes(t, this._isFirstFrame);\n }\n searchProcessedElement(t) {\n let s = this.processedElements,\n e = 0,\n i = s.length;\n for (; e < i; ) {\n if (s[e].elem === t) return s[e].pos;\n e += 1;\n }\n return 0;\n }\n addProcessedElement(t, s) {\n let e = this.processedElements,\n i = e.length;\n for (; i; ) if (((i -= 1), e[i].elem === t)) return void (e[i].pos = s);\n e.push(new xt(t, s));\n }\n createGroupElement() {\n return { it: [], prevViewData: [] };\n }\n createTransformElement(t) {\n return {\n transform: {\n opacity: 1,\n _opMdf: !1,\n key: this.transformsManager.getNewKey(),\n op: pt.getProp(this, t.o, 0, 0.01, this),\n mProps: Ft(this, t, this),\n },\n };\n }\n createShapeElement(t) {\n const s = new Mt(this, t, this.stylesList, this.transformsManager);\n return this.shapes.push(s), this.addShapeToModifiers(s), s;\n }\n reloadShapes() {\n let t;\n this._isFirstFrame = !0;\n let s = this.itemsData.length;\n for (t = 0; t < s; t += 1) this.prevViewData[t] = this.itemsData[t];\n for (\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []),\n s = this.dynamicProperties.length,\n t = 0;\n t < s;\n t += 1\n )\n this.dynamicProperties[t].getValue();\n this.updateModifiers(), this.transformsManager.processSequences(this._isFirstFrame);\n }\n addTransformToStyleList(t) {\n const s = this.stylesList.length;\n for (let e = 0; e < s; e += 1) this.stylesList[e].closed || this.stylesList[e].transforms.push(t);\n }\n removeTransformFromStyleList() {\n const t = this.stylesList.length;\n for (let s = 0; s < t; s += 1) this.stylesList[s].closed || this.stylesList[s].transforms.pop();\n }\n closeStyles(t) {\n const s = t.length;\n for (let e = 0; e < s; e += 1) t[e].closed = !0;\n }\n searchShapes(t, s, e, i, h) {\n let r,\n a,\n n,\n o,\n l,\n p,\n c = t.length - 1,\n d = [],\n u = [],\n f = [].concat(h);\n for (r = c; r >= 0; r -= 1) {\n if (\n ((o = this.searchProcessedElement(t[r])),\n o ? (s[r] = e[o - 1]) : (t[r]._shouldRender = i),\n 'fl' == t[r].ty || 'st' == t[r].ty || 'gf' == t[r].ty || 'gs' == t[r].ty)\n )\n o ? (s[r].style.closed = !1) : (s[r] = this.createStyleElement(t[r], f)), d.push(s[r].style);\n else if ('gr' == t[r].ty) {\n if (o) for (n = s[r].it.length, a = 0; a < n; a += 1) s[r].prevViewData[a] = s[r].it[a];\n else s[r] = this.createGroupElement(t[r]);\n this.searchShapes(t[r].it, s[r].it, s[r].prevViewData, i, f);\n } else\n 'tr' == t[r].ty\n ? (o || ((p = this.createTransformElement(t[r])), (s[r] = p)),\n f.push(s[r]),\n this.addTransformToStyleList(s[r]))\n : 'sh' == t[r].ty || 'rc' == t[r].ty || 'el' == t[r].ty || 'sr' == t[r].ty\n ? o || (s[r] = this.createShapeElement(t[r]))\n : 'tm' == t[r].ty || 'rd' == t[r].ty\n ? (o\n ? ((l = s[r]), (l.closed = !1))\n : ((l = It.getModifier(t[r].ty)), l.init(this, t[r]), (s[r] = l), this.shapeModifiers.push(l)),\n u.push(l))\n : 'rp' == t[r].ty &&\n (o\n ? ((l = s[r]), (l.closed = !0))\n : ((l = It.getModifier(t[r].ty)),\n (s[r] = l),\n l.init(this, t, r, s),\n this.shapeModifiers.push(l),\n (i = !1)),\n u.push(l));\n this.addProcessedElement(t[r], r + 1);\n }\n for (this.removeTransformFromStyleList(), this.closeStyles(d), c = u.length, r = 0; r < c; r += 1) u[r].closed = !0;\n }\n updateShapeTransform(t, s) {\n (t._opMdf || s.op._mdf || this._isFirstFrame) && ((s.opacity = t.opacity), (s.opacity *= s.op.v), (s._opMdf = !0));\n }\n updateStyledShape(t, s) {\n if (this._isFirstFrame || s._mdf || t.transforms._mdf) {\n let e,\n i,\n h,\n r = t.trNodes,\n a = s.paths,\n n = a._length;\n r.length = 0;\n let o = t.transforms.finalTransform;\n for (h = 0; h < n; h += 1) {\n let t = a.shapes[h];\n if (t && t.v) {\n for (i = t._length, e = 1; e < i; e += 1)\n 1 === e && r.push({ t: 'm', p: o.applyToPointArray(t.v[0][0], t.v[0][1], 0) }),\n r.push({ t: 'c', pts: o.applyToTriplePoints(t.o[e - 1], t.i[e], t.v[e]) });\n 1 === i && r.push({ t: 'm', p: o.applyToPointArray(t.v[0][0], t.v[0][1], 0) }),\n t.c &&\n i &&\n (r.push({ t: 'c', pts: o.applyToTriplePoints(t.o[e - 1], t.i[0], t.v[0]) }), r.push({ t: 'z' }));\n }\n }\n t.trNodes = r;\n }\n }\n updatePath(t, s) {\n if (!0 !== t.hd && t._shouldRender) {\n let t,\n e = s.styledShapes.length;\n for (t = 0; t < e; t += 1) this.updateStyledShape(s.styledShapes[t], s.sh);\n }\n }\n updateFill(t, s, e) {\n const i = s.style;\n (s.c._mdf || this._isFirstFrame) && (i.co = s.c.v),\n (s.o._mdf || e._opMdf || this._isFirstFrame) && (i.coOp = s.o.v * e.opacity);\n }\n updateStroke(t, s, e) {\n let i = s.style,\n h = s.d;\n h && (h._mdf || this._isFirstFrame) && ((i.da = h.dashArray), (i.do = h.dashoffset[0])),\n (s.c._mdf || this._isFirstFrame) && (i.co = s.c.v),\n (s.o._mdf || e._opMdf || this._isFirstFrame) && (i.coOp = s.o.v * e.opacity),\n (s.w._mdf || this._isFirstFrame) && (i.wi = s.w.v);\n }\n updateGradientFill(t, s, e) {\n let i = s.style;\n (i.grd = s.g.c), (i.coOp = s.o.v * e.opacity);\n }\n updateShape(t, s, e) {\n let i = t;\n for (let h = s.length - 1; h >= 0; h -= 1)\n 'tr' == s[h].ty\n ? ((i = e[h].transform), this.updateShapeTransform(t, i))\n : 'sh' == s[h].ty || 'el' == s[h].ty || 'rc' == s[h].ty || 'sr' == s[h].ty\n ? this.updatePath(s[h], e[h])\n : 'fl' == s[h].ty\n ? this.updateFill(s[h], e[h], i)\n : 'st' == s[h].ty\n ? this.updateStroke(s[h], e[h], i)\n : 'gf' == s[h].ty || 'gs' == s[h].ty\n ? this.updateGradientFill(s[h], e[h], i)\n : 'gr' == s[h].ty && this.updateShape(i, s[h].it, e[h].it);\n }\n updateGrahpics() {\n const t = this.stylesList.length;\n for (let s = 0; s < t; s += 1) {\n this.stylesList[s].updateGrahpics();\n }\n }\n getValue(t) {\n t !== this.frameId &&\n (this.iterateDynamicProperties(t),\n (this.transformHelper.opacity = 1),\n (this.transformHelper._opMdf = !1),\n this.updateModifiers(t),\n this.transformsManager.processSequences(this._isFirstFrame),\n this.updateShape(this.transformHelper, this.shapesData, this.itemsData),\n this.updateGrahpics(),\n (this.frameId = t));\n }\n}\nclass qt extends Lt {\n constructor(t, s, e) {\n super(t, s), (this.frameId = -1), (this.hs = s), (this.session = e);\n }\n getValue(t) {\n t !== this.frameId && (this.iterateDynamicProperties(t), (this.frameId = t));\n }\n get x() {\n return this.p ? this.p.v[0] : this.px.v;\n }\n get y() {\n return this.p ? this.p.v[1] : this.py.v;\n }\n get anchorX() {\n return this.a.v[0];\n }\n get anchorY() {\n return this.a.v[1];\n }\n get scaleX() {\n return this.s.v[0];\n }\n get scaleY() {\n return this.s.v[1];\n }\n get rotation() {\n return (this.r && this.r.v) || 0;\n }\n get alpha() {\n return this.o.v;\n }\n}\nclass Ot {\n constructor(t) {\n (this.elem = t),\n (this._isFirstFrame = !1),\n (this.dynamicProperties = []),\n (this._mdf = !1),\n (this.transform = null),\n (this.masks = null),\n (this.shapes = null),\n (this._hasOutTypeExpression = !1),\n (this.needUpdateOverlap = !1),\n (this.isOverlapMode = !1),\n (this.visible = !0),\n (this._isFirstFrame = !0);\n }\n initFrame(t, s) {\n this.layer = t;\n const { local: e, global: i } = s;\n (this.session = s),\n (this.isOverlapLayer = this.layer.op >= e.op - e.st),\n (this.isOverlapMode = i.overlapMode),\n this.parseLayer(t, s);\n }\n outTypeExpressionMode() {\n (this._hasOutTypeExpression = !0), this.isOverlapLayer && (this.needUpdateOverlap = !0);\n }\n prepareProperties(t, s) {\n let e,\n i = this.dynamicProperties.length;\n for (e = 0; e < i; e += 1)\n (s || this.needUpdateOverlap || (this.elem._isParent && 'transform' === this.dynamicProperties[e].propType)) &&\n (this.dynamicProperties[e].getValue(t), this.dynamicProperties[e]._mdf && (this._mdf = !0));\n }\n addDynamicProperty(t) {\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t);\n }\n parseLayer({ ks: t, hasMask: s, masksProperties: e, shapes: i, tm: h }, r) {\n if (\n (t && (this.transform = new qt(this, t, r)),\n s && (this.masks = new _t(this, e, r)),\n i && (this.shapes = new Nt(this, i, r)),\n h)\n ) {\n const { frameRate: t } = r.global;\n this.tm = pt.getProp(this, h, 0, t, this);\n }\n }\n updateFrame(t) {\n this._mdf = !1;\n const e = s.inRange(t, this.layer.ip, this.layer.op);\n this.isOverlapMode && this.isOverlapLayer ? (this.visible = t >= this.layer.ip) : (this.visible = e),\n this.prepareProperties(t, e);\n }\n updateDisplay() {\n const t = this.elem.display;\n this.elem._isRoot ||\n (this.visible ? t.show() : t.hide(),\n (this._mdf || this.transform._mdf || this._isFirstFrame) && t.updateLottieTransform(this.transform),\n this.masks && (this.masks._mdf || this._isFirstFrame) && t.updateLottieMasks(this.masks)),\n (this._isFirstFrame = !1);\n }\n}\nclass Xt {\n constructor(t) {\n (this.data = t),\n void 0 === this.data.sr && (this.data.sr = 1),\n (this.offsetTime = t.st || 0),\n (this.fullname = t.nm || ''),\n (this.idname = t.ln || ''),\n (this.classnames = t.cl ? t.cl.split(' ') : []),\n (this.bodymovin = new Ot(this)),\n (this.displayType = ''),\n (this.display = null),\n (this.hierarchy = null),\n (this.lottieTreeParent = null);\n }\n initBodymovin(t, s) {\n this.bodymovin.initFrame(t, s), this.display && this.display.onSetupLottie && this.display.onSetupLottie();\n }\n hasValidMasks() {\n return !(!this.bodymovin.masks || !this.bodymovin.masks.hasMasks);\n }\n setHierarchy(t) {\n (this.hierarchy = t), this.display.setHierarchy(t.display);\n }\n initDisplayInstance(t, s) {\n return new (Tt(t))(this, s);\n }\n updateFrame(t) {\n this.bodymovin.updateFrame(t), this.bodymovin.updateDisplay();\n }\n}\nclass Yt extends Xt {\n constructor(t, s) {\n super(t);\n const { global: e } = s;\n this.session = s;\n const i = { layer: t, session: s };\n if (e.maskComp) {\n i.maskComp = e.maskComp;\n const { w: s, h: h } = t;\n i.viewport = { w: s, h: h };\n }\n (this.config = i),\n (this.childNodes = []),\n (this.displayType = wt.Type.Component),\n (this.innerDisplay = null),\n (this.display = this.initDisplayInstance(this.displayType, i)),\n this.initBodymovin(t, s);\n }\n updateFrame(t) {\n if ((this.bodymovin.updateFrame(t), this.bodymovin.updateDisplay(), (t -= this.offsetTime), this.bodymovin.tm)) {\n let s = this.bodymovin.tm.v;\n s === this.data.op && (s = this.data.op - 1), (t = s);\n } else t /= this.data.sr;\n for (let s = 0; s < this.childNodes.length; s++) this.childNodes[s].updateFrame(t);\n }\n addChild(t) {\n (t.lottieTreeParent = this),\n this.childNodes.push(t),\n this.innerDisplay ? this.innerDisplay.addChild(t.display) : this.display.addChild(t.display);\n }\n}\nclass jt extends Xt {\n constructor(t, s) {\n super(t);\n const e = { layer: t, session: s, rect: { x: 0, y: 0, width: t.sw, height: t.sh }, color: t.sc };\n (this.config = e),\n (this.session = s),\n (this.displayType = wt.Type.Solid),\n (this.display = this.initDisplayInstance(this.displayType, e)),\n this.initBodymovin(t, s);\n }\n}\nclass zt extends Xt {\n constructor(t, e) {\n super(t);\n const {\n global: { textureLoader: i, assets: h },\n } = e,\n r = s.getAssets(t.refId, h),\n a = { layer: t, session: e, texture: i.getTextureById(r.id), asset: r };\n (this.config = a),\n (this.session = e),\n (this.displayType = wt.Type.Sprite),\n (this.display = this.initDisplayInstance(this.displayType, a)),\n this.initBodymovin(t, e);\n }\n}\nclass Bt extends Xt {\n constructor(t, s) {\n super(t);\n const e = { layer: t, session: s };\n (this.config = e),\n (this.session = s),\n (this.displayType = wt.Type.Shape),\n (this.display = this.initDisplayInstance(this.displayType, e)),\n this.initBodymovin(t, s);\n }\n}\nclass Rt extends Xt {\n constructor(t, s) {\n super(t);\n const e = { layer: t, session: s };\n (this.config = e),\n (this.session = s),\n (this.displayType = wt.Type.Null),\n (this.display = this.initDisplayInstance(this.displayType, e)),\n this.initBodymovin(t, s);\n }\n}\nclass Kt extends e {\n constructor(t) {\n super(),\n (this.living = !0),\n (this.infinite = t.infinite || !1),\n (this.repeats = t.repeats || 0),\n (this.alternate = t.alternate || !1),\n (this.wait = t.wait || 0),\n (this.delay = t.delay || 0),\n (this.overlapMode = t.overlapMode || !1),\n (this.timeScale = s.isNumber(t.timeScale) ? t.timeScale : 1),\n (this.frameNum = 0),\n (this.isPaused = !0),\n (this.direction = 1),\n (this._lastFrame = -1 / 0),\n (this._repeatsCut = this.repeats),\n (this._delayCut = this.delay),\n (this._waitCut = this.wait),\n (this.segments = t.segments || {}),\n (this._segmentName = t.initSegment || ''),\n (this._prefix = t.prefix || ''),\n (this._autoLoad = !s.isBoolean(t.autoLoad) || t.autoLoad),\n (this._autoStart = !s.isBoolean(t.autoStart) || t.autoStart),\n (this._justDisplayOnImagesLoaded = !s.isBoolean(t.justDisplayOnImagesLoaded) || t.justDisplayOnImagesLoaded),\n (this._maskComp = t.maskComp || !1),\n (this.textureLoader = null),\n (this.jsonLoader = null),\n (this.root = null),\n (this.parent = null);\n const e = Tt(wt.Type.Container);\n if (\n ((this.group = new e()),\n (this.display = null),\n (this.isDisplayLoaded = !1),\n (this.isImagesLoaded = !1),\n (this._copyJSON = t.copyJSON || !1),\n t.keyframes)\n )\n !this._prefix && t.keyframes.prefix && (this._prefix = t.keyframes.prefix), this._setupDate(t.keyframes);\n else if (t.path) {\n let s = '';\n (s =\n -1 !== t.path.lastIndexOf('\\\\')\n ? t.path.substr(0, t.path.lastIndexOf('\\\\') + 1)\n : t.path.substr(0, t.path.lastIndexOf('/') + 1)),\n !this._prefix && s && (this._prefix = s),\n (this.jsonLoader = (function (t) {\n const s = i[h.Ajax];\n return s || console.warn('must register an ajax loader, before you parse an animation from path'), s(t);\n })(t.path)),\n this.jsonLoader.once('success', t => {\n this._setupDate(t);\n }),\n this.jsonLoader.once('error', t => {\n this.emit('error', t);\n });\n }\n }\n _setupDate(t) {\n (this._sourceData = t), this._copyJSON && (t = s.copyJSON(t)), g.completeData(t), (this.keyframes = t);\n const { w: e, h: r, st: a = 0, fr: n, ip: o, op: l, assets: p } = t;\n (this.frameRate = n), (this.frameMult = n / 1e3), (this._defaultSegment = [o, l]);\n const c = (this._segmentName && this.segments[this._segmentName]) || this._defaultSegment;\n (this.beginFrame = c[0]),\n (this.endFrame = c[1]),\n (this._timePerFrame = 1e3 / n),\n (this.duration = Math.floor(this.endFrame - this.beginFrame));\n let d = null;\n const u = p.filter(t => t.u || t.p);\n u.length > 0\n ? ((this.textureLoader = d =\n (function (t, s) {\n const e = i[h.Texture];\n return (\n e || console.warn('must register an image loader, before you parse an animation some has image assets'),\n e(t, s)\n );\n })(u, { prefix: this._prefix, autoLoad: this._autoLoad })),\n d.loaded\n ? ((this.isImagesLoaded = !0), (this.isPaused = !this._autoStart), this.emit('ImageReady'))\n : (d.once('complete', () => {\n (this.isImagesLoaded = !0), this.emit('ImageReady');\n }),\n null !== this._pausedNeedSet &&\n ((this._pausedNeedSet = !0),\n d.once('complete', () => {\n this._pausedNeedSet && ((this._pausedNeedSet = !1), (this.isPaused = !this._autoStart));\n }))))\n : ((this.isImagesLoaded = !0), (this.isPaused = !this._autoStart));\n const f = {\n global: { assets: p, textureLoader: d, frameRate: n, maskComp: this._maskComp, overlapMode: this.overlapMode },\n local: { w: e, h: r, ip: o, op: l, st: a },\n };\n this._buildElements(f),\n null !== this.textureLoader &&\n this._justDisplayOnImagesLoaded &&\n !this.textureLoader.loaded &&\n null !== this._justDisplayNeedSet &&\n ((this.group.visible = !1),\n (this._justDisplayNeedSet = !0),\n this.textureLoader.once('complete', () => {\n this._justDisplayNeedSet && ((this._justDisplayNeedSet = !1), (this.group.visible = !0));\n })),\n (this.isDisplayLoaded = !0),\n this.update(0, !0);\n }\n _buildElements(t) {\n (this.root = this._extraCompositions(this.keyframes, t, !0)),\n (this.display = this.root.display),\n this.group.addChild(this.display),\n this.emit('DOMLoaded').emit('DisplayReady'),\n null === this.textureLoader\n ? this.emit('success')\n : this.textureLoader.loaded\n ? this.emit('success')\n : this.textureLoader.once('complete', () => this.emit('success'));\n }\n _extraCompositions(t, { global: e, local: i }, h = !1) {\n const { w: r, h: a, ip: n, op: o, st: l = 0 } = t,\n p = new Yt(t, { global: e, local: i });\n p._isRoot = h;\n const c = t.layers || s.getAssets(t.refId, e.assets).layers,\n d = { global: e, local: { w: r, h: a, ip: n, op: o, st: l } },\n u = this._createElements(c, d);\n for (let t = c.length - 1; t >= 0; t--) {\n const e = c[t],\n i = u[e.ind];\n if (i) {\n if (!s.isUndefined(e.parent)) {\n const t = u[e.parent];\n (t._isParent = !0), i.setHierarchy(t);\n }\n p.addChild(i);\n }\n }\n return p;\n }\n _createElements(t, s) {\n const e = {};\n for (let i = t.length - 1; i >= 0; i--) {\n const h = t[i];\n let r = null;\n if (void 0 === h.td) {\n switch (h.ty) {\n case 0:\n r = this._extraCompositions(h, s);\n break;\n case 1:\n r = new jt(h, s);\n break;\n case 2:\n r = new zt(h, s);\n break;\n case 3:\n r = new Rt(h, s);\n break;\n case 4:\n r = new Bt(h, s);\n break;\n default:\n continue;\n }\n r && (void 0 === h.ind && (h.ind = i), (e[h.ind] = r), (r.name = h.nm || null));\n }\n }\n return e;\n }\n getDisplayByQuerySelector(t) {\n const s = this.querySelector(t);\n return s && s.display ? s.display : (console.warn('can not find display which query with ', t), null);\n }\n _queryMatch(t, s, e) {\n const i = t.substr(0, 1),\n h = t.substr(1, t.length);\n let r = !1;\n return (\n (r = '#' === i ? s.idname === h : '.' === i ? -1 !== s.classnames.indexOf(h) : s.fullname === t),\n r && e.push(s),\n r\n );\n }\n _searchNodes(t, s, e, i = !1) {\n if (s.childNodes && s.childNodes.length > 0) {\n const h = [];\n for (let r = 0; r < s.childNodes.length; r++) {\n const a = s.childNodes[r];\n if (this._queryMatch(t, a, e) && i) return !0;\n a.childNodes && a.childNodes.length > 0 && h.push(a);\n }\n for (let s = 0; s < h.length; s++) if (this._searchNodes(t, h[s], e, i)) return !0;\n }\n return !1;\n }\n querySelector(t) {\n const s = [];\n return this._queryMatch(t, this.root, s) ? s[0] : (this._searchNodes(t, this.root, s, !0), s[0] || null);\n }\n querySelectorAll(t) {\n const s = [],\n e = '#' === t.substr(0, 1);\n return this._queryMatch(t, this.root, s) && e ? s : (this._searchNodes(t, this.root, s, e), s);\n }\n bindSlot(t, s) {\n return this.getDisplayByQuerySelector(t).addChild(s), this;\n }\n unbindSlot(t, s) {\n return this.getDisplayByQuerySelector(t).removeChild(s), this;\n }\n _emitFrame(t) {\n this.emit(`@${t}`);\n }\n update(t, s = !1) {\n if (!this.living || !this.isDisplayLoaded || (this.isPaused && !s)) return;\n const e = this._updateTime(t),\n i = this.beginFrame + this.frameNum;\n this.root.updateFrame(i);\n const h = i >> 0;\n this._lastFrame !== h && (this._emitFrame(this.direction > 0 ? h : this._lastFrame), (this._lastFrame = h)),\n !1 === e\n ? (this.emit('enterFrame', i), this.emit('update', this.frameNum / this.duration))\n : this.hadEnded !== e && !0 === e && this.emit('complete'),\n (this.hadEnded = e);\n }\n _updateTime(t) {\n const e = this.direction * this.timeScale * t;\n if (this._waitCut > 0) return (this._waitCut -= Math.abs(e)), null;\n if (this.isPaused || this._delayCut > 0) return this._delayCut > 0 && (this._delayCut -= Math.abs(e)), null;\n this.frameNum += e / this._timePerFrame;\n let i = !1;\n return (\n this._spill() &&\n (this._repeatsCut > 0 || this.infinite\n ? (this._repeatsCut > 0 && --this._repeatsCut,\n (this._delayCut = this.delay),\n this.alternate\n ? ((this.direction *= -1), (this.frameNum = s.codomainBounce(this.frameNum, 0, this.duration)))\n : ((this.direction = 1), (this.frameNum = s.euclideanModulo(this.frameNum, this.duration))),\n this.emit('loopComplete'))\n : (this.overlapMode || ((this.frameNum = s.clamp(this.frameNum, 0, this.duration)), (this.living = !1)),\n (i = !0))),\n i\n );\n }\n _spill() {\n const t = this.frameNum <= 0 && -1 === this.direction,\n s = this.frameNum >= this.duration && 1 === this.direction;\n return t || s;\n }\n frameToTime(t) {\n return t * this._timePerFrame;\n }\n setSpeed(t) {\n this.timeScale = t;\n }\n playSegment(t, e = {}) {\n if (!t) return;\n let i = null;\n s.isArray(t) ? (i = t) : s.isString(t) && ((i = this.segments[t]), s.isArray(i) && (this._segmentName = t)),\n s.isArray(i) &&\n ((this.beginFrame = s.isNumber(i[0]) ? i[0] : this._defaultSegment[0]),\n (this.endFrame = s.isNumber(i[1]) ? i[1] : this._defaultSegment[1]),\n s.isNumber(e.repeats) && (this.repeats = e.repeats),\n s.isBoolean(e.infinite) && (this.infinite = e.infinite),\n s.isBoolean(e.alternate) && (this.alternate = e.alternate),\n s.isNumber(e.wait) && (this.wait = e.wait),\n s.isNumber(e.delay) && (this.delay = e.delay),\n this.replay());\n }\n goToAndStop(t, s = !1) {\n (this.frameNum = s ? t : t * this.frameMult), this.update(0, !0), this.pause();\n }\n goToAndPlay(t, s = !1) {\n (this.frameNum = s ? t : t * this.frameMult), this.update(0, !0), this.resume();\n }\n getDuration(t) {\n const s = this.endFrame - this.beginFrame;\n return t ? s : s / this.frameRate;\n }\n setDirection(t) {\n return (this.direction = t < 0 ? -1 : 1), this;\n }\n pause() {\n return this._pausedNeedSet ? (this._pausedNeedSet = !1) : (this._pausedNeedSet = null), (this.isPaused = !0), this;\n }\n resume() {\n return this._pausedNeedSet ? (this._pausedNeedSet = !1) : (this._pausedNeedSet = null), (this.isPaused = !1), this;\n }\n play() {\n return this.resume();\n }\n replay() {\n return (\n this._pausedNeedSet ? (this._pausedNeedSet = !1) : (this._pausedNeedSet = null),\n (this.isPaused = !1),\n (this._repeatsCut = this.repeats),\n (this._delayCut = this.delay),\n (this.living = !0),\n (this.frameNum = 0),\n (this.duration = Math.floor(this.endFrame - this.beginFrame)),\n (this.direction = 1),\n this\n );\n }\n show() {\n this._justDisplayNeedSet ? (this._justDisplayNeedSet = !1) : (this._justDisplayNeedSet = null),\n (this.group.visible = !0);\n }\n hide() {\n this._justDisplayNeedSet ? (this._justDisplayNeedSet = !1) : (this._justDisplayNeedSet = null),\n (this.group.visible = !1);\n }\n destroy() {\n this.parent && this.parent.remove(this),\n this.group.parent && this.group.parent.removeChild(this.group),\n this.pause(),\n (this.root = null),\n (this.group = null),\n (this.display = null),\n this.textureLoader && (this.textureLoader.off('complete'), (this.textureLoader = null)),\n this.jsonLoader && (this.jsonLoader.off('success'), (this.jsonLoader = null)),\n (this.keyframes = null),\n (this.living = !1);\n }\n}\nclass Gt extends e {\n constructor(t) {\n super(),\n (this._lastTime = 0),\n (this._snippet = 0),\n (this.timeScale = 1),\n (this.isPaused = !1),\n (this.ticker = t.ticker ? t.ticker : t),\n (this.groups = []),\n (this.update = this.update.bind(this)),\n this.ticker && this.start();\n }\n add(t) {\n const s = arguments.length;\n if (s > 1) for (let t = 0; t < s; t++) this.add(arguments[t]);\n else null !== t.parent && t.parent.remove(t), (t.parent = this), this.groups.push(t);\n return t;\n }\n remove(t) {\n if (arguments.length > 1) for (let t = 0; t < arguments.length; t++) this.remove(arguments[t]);\n const s = this.groups.indexOf(t);\n -1 !== s && ((t.parent = null), this.groups.splice(s, 1));\n }\n parseAnimation(t) {\n const s = new Kt(t);\n return this.add(s);\n }\n setSpeed(t) {\n this.timeScale = t;\n }\n start() {\n return (this._lastTime = Date.now()), this.ticker.add(this.update), this;\n }\n stop() {\n return this.ticker.remove(this.update), this;\n }\n pause() {\n return (this.isPaused = !0), this;\n }\n resume() {\n return (this.isPaused = !1), this;\n }\n update() {\n if ((this.timeline(), this.isPaused)) return;\n const t = this.timeScale * this._snippet,\n s = this.groups.length;\n for (let e = 0; e < s; e++) {\n this.groups[e].update(t);\n }\n this.emit('update', this._snippet);\n }\n timeline() {\n let t = Date.now() - this._lastTime;\n (!this._lastTime || t > 200) && ((this._lastTime = Date.now()), (t = Date.now() - this._lastTime)),\n (this._lastTime += t),\n (this._snippet = t);\n }\n destroy() {\n for (let t = this.groups.length - 1; t >= 0; t--) this.groups[t].destroy();\n }\n}\nexport {\n Kt as AnimationGroup,\n Gt as AnimationManager,\n M as BezierEasing,\n wt as DisplayRegister,\n e as Eventer,\n r as LoaderRegister,\n pt as PropertyFactory,\n s as Tools,\n qt as TransformFrames,\n Lt as TransformProperty,\n};\n","import {\n Tools as t,\n Eventer as e,\n BezierEasing as s,\n TransformFrames as i,\n AnimationManager as n,\n} from './lottie-core';\nimport {\n Graphics as r,\n Container as h,\n Shader as o,\n glCore as a,\n WebGLRenderer as l,\n ObjectRenderer as p,\n utils as c,\n CanvasRenderer as u,\n BLEND_MODES as d,\n Matrix as f,\n Sprite as m,\n Rectangle as g,\n Texture as y,\n settings as w,\n UPDATE_PRIORITY as v,\n ticker as x,\n DisplayObject as b,\n Application as P,\n} from 'pixi.js';\nclass T extends r {\n constructor(t) {\n super(), (this.parentCompBox = t), this.lineStyle(0);\n }\n updateLayerMask(t) {\n for (let e = 0; e < t.viewData.length; e++) {\n if (t.viewData[e].inv) {\n const t = this.parentCompBox;\n this.moveTo(0, 0), this.lineTo(t.w, 0), this.lineTo(t.w, t.h), this.lineTo(0, t.h), this.lineTo(0, 0);\n }\n const s = t.viewData[e].v,\n i = s.v[0];\n this.moveTo(i[0], i[1]);\n const n = s._length;\n let r = 1;\n for (; r < n; r++) {\n const t = s.o[r - 1],\n e = s.i[r],\n i = s.v[r];\n this.bezierCurveTo(t[0], t[1], e[0], e[1], i[0], i[1]);\n }\n const h = s.o[r - 1],\n o = s.i[0],\n a = s.v[0];\n this.bezierCurveTo(h[0], h[1], o[0], o[1], a[0], a[1]), t.viewData[e].inv && this.addHole();\n }\n }\n updateMasks(t) {\n this.clear(), this.beginFill(0), this.updateLayerMask(t), this.endFill();\n }\n}\nclass M extends r {\n constructor(t) {\n super(), (this.viewport = t), this.lineStyle(0), this.initCompMask();\n }\n initCompMask() {\n this.clear(), this.beginFill(0);\n const t = this.viewport;\n this.moveTo(0, 0),\n this.lineTo(t.w, 0),\n this.lineTo(t.w, t.h),\n this.lineTo(0, t.h),\n this.lineTo(0, 0),\n this.endFill();\n }\n}\nclass k extends h {\n constructor(t, e) {\n super(), (this.lottieElement = t), (this.config = e);\n }\n onSetupLottie() {\n if (this.config.maskComp) {\n const t = this.config.viewport;\n (this.preCompMask = new M(t)), (this.mask = this.preCompMask), this.addChild(this.mask);\n }\n if (this.lottieElement.hasValidMasks()) {\n const t = this.config.session.local;\n if (((this.graphicsMasks = new T(t)), this.mask)) {\n const t = new h();\n (t.mask = this.graphicsMasks), t.addChild(this.mask), (this.lottieElement.innerDisplay = t), this.addChild(t);\n } else (this.mask = this.graphicsMasks), this.addChild(this.mask);\n }\n }\n setHierarchy(t) {\n this.hierarchy = t;\n }\n show() {\n this.visible = !0;\n }\n hide() {\n this.visible = !1;\n }\n updateLottieTransform(t) {\n (this.x = t.x),\n (this.y = t.y),\n (this.pivot.x = t.anchorX),\n (this.pivot.y = t.anchorY),\n (this.scale.x = t.scaleX),\n (this.scale.y = t.scaleY),\n (this.rotation = t.rotation),\n (this.alpha = t.alpha);\n }\n updateLottieMasks(t) {\n this.graphicsMasks && this.graphicsMasks.updateMasks(t);\n }\n}\nclass C extends o {\n constructor(t) {\n super(\n t,\n [\n 'attribute vec2 aVertexPosition;',\n 'uniform mat3 translationMatrix;',\n 'uniform mat3 projectionMatrix;',\n 'void main(void){',\n ' gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);',\n '}',\n ].join('\\n'),\n [\n 'uniform float alpha;',\n 'uniform vec3 color;',\n 'void main(void){',\n ' gl_FragColor = vec4(color * alpha, alpha);',\n '}',\n ].join('\\n'),\n );\n }\n}\nfunction S(t, e) {\n (this.buffer = new t(10)), (this.length = 0);\n}\nS.prototype = {\n reset() {\n this.length = 0;\n },\n destroy() {\n (this.buffer = null), (this.length = 0);\n },\n push(...t) {\n if (this.length + t.length > this.buffer.length) {\n const e = new this.buffer.constructor(Math.max(this.length + t.length, Math.round(2 * this.buffer.length)));\n e.set(this.buffer, 0), (this.buffer = e);\n }\n for (let e = 0; e < t.length; e++) this.buffer[this.length++] = t[e];\n return this.length;\n },\n setBuffer(t) {\n (this.buffer = t), (this.length = this.buffer.length);\n },\n};\nclass D {\n constructor(t, e, s) {\n (this.gl = t),\n (this.vertices = new S(Float32Array)),\n (this.indices = new S(Uint16Array)),\n (this.buffer = a.GLBuffer.createVertexBuffer(t)),\n (this.indexBuffer = a.GLBuffer.createIndexBuffer(t)),\n (this.dirty = !0),\n (this.shader = e),\n (this.vao = new a.VertexArrayObject(t, s)\n .addIndex(this.indexBuffer)\n .addAttribute(this.buffer, e.attributes.aVertexPosition, t.FLOAT, !1, 8, 0));\n }\n reset() {\n this.vertices.reset(), this.indices.reset();\n }\n upload() {\n this.buffer.upload(this.vertices.buffer), this.indexBuffer.upload(this.indices.buffer), (this.dirty = !1);\n }\n destroy() {\n this.vertices.destroy(),\n this.indices.destroy(),\n this.vao.destroy(),\n this.buffer.destroy(),\n this.indexBuffer.destroy(),\n (this.gl = null),\n (this.buffer = null),\n (this.indexBuffer = null);\n }\n}\nfunction _(t, e, s) {\n return t.push(e, s), t;\n}\nfunction O(t, e) {\n return Math.sqrt(t * t + e * e);\n}\nfunction L(t, e, s, i, n) {\n return (\n (function (t, e) {\n const s = 1 - t;\n return s * s * s * e;\n })(t, e) +\n (function (t, e) {\n const s = 1 - t;\n return 3 * s * s * t * e;\n })(t, s) +\n (function (t, e) {\n return 3 * (1 - t) * t * t * e;\n })(t, i) +\n (function (t, e) {\n return t * t * t * e;\n })(t, n)\n );\n}\nfunction A(t, e, s, i, n, r, h) {\n if (!(isFinite(e) && isFinite(s) && isFinite(i) && isFinite(n) && isFinite(r) && isFinite(h))) return t;\n const o = t[t.length - 2],\n a = t[t.length - 1],\n l = (function (t, e, s, i, n, r, h, o) {\n const a = n - s,\n l = r - i,\n p = s - t,\n c = i - e;\n return O(h - n, o - r) + O(a, l) + O(p, c);\n })(o, a, e, s, i, n, r, h),\n p = Math.min(10 / l, 0.5);\n for (let l = p; l < 1; l += p) {\n const p = L(l, o, e, i, r),\n c = L(l, a, s, n, h);\n t.push(p, c);\n }\n return t.push(r, h), t;\n}\nfunction I(t, e) {\n for (let s = 0; s < t.length; s++) {\n const { cmd: i, args: n } = t[s];\n switch (i) {\n case 'M':\n case 'L':\n _(e, n[0], n[1]);\n break;\n case 'C':\n A(e, n[0], n[1], n[2], n[3], n[4], n[5]);\n }\n }\n return e;\n}\nfunction E(t, e, s, i, n, r, h) {\n (n %= 2 * Math.PI),\n (r %= 2 * Math.PI),\n n < 0 && (n += 2 * Math.PI),\n r < 0 && (r += 2 * Math.PI),\n n >= r && (r += 2 * Math.PI);\n let o = r - n,\n a = 1;\n h && ((a = -1), (o = 2 * Math.PI - o), 0 == o && (o = 2 * Math.PI));\n const l = o * i;\n let p = Math.sqrt(l / 1) >> 0;\n p = p % 2 == 0 ? p + 1 : p;\n const c = o / p;\n let u = n;\n for (let n = 0; n < p + 1; n++) t.push(e, s, e + i * Math.cos(u), s + i * Math.sin(u)), (u += a * c);\n}\nfunction B(t, e, s) {\n const i = I(t.cmds, []),\n n = t.isClosed,\n r = e.lineDash.length >= 2,\n h = e.lineWidth / 2;\n let o,\n a = [i[0], i[1]];\n for (let t = 2; t < i.length; t += 2)\n (i[t] == a[a.length - 2] && i[t + 1] == a[a.length - 1]) || a.push(i[t], i[t + 1]);\n if ((!n || (a[a.length - 2] == a[0] && a[a.length - 1] == a[1]) || a.push(a[0], a[1]), r)) {\n const t = (function (t, e, s, i) {\n e && t.push(t[0], t[1]);\n let n = i,\n r = 0,\n h = 1;\n for (; n > s[r]; ) (n -= s[r]), r++, (h = h ? 0 : 1), r == s.length && (r = 0);\n let o = [t[0], t[1]],\n a = [h];\n for (let e = 2; e < t.length; e += 2) {\n let i = [t[e] - t[e - 2], t[e + 1] - t[e - 1]],\n l = O(i[0], i[1]);\n (i[0] /= l), (i[1] /= l);\n let p = 0;\n for (; l - p + n >= s[r]; )\n (p += s[r] - n),\n (n = 0),\n (h = h ? 0 : 1),\n r++,\n r == s.length && (r = 0),\n a.push(h),\n o.push(t[e - 2] + p * i[0], t[e - 1] + p * i[1]);\n l - p != 0 && (o.push(t[e], t[e + 1]), a.push(h)), (n += l - p);\n }\n return e && (t.pop(), t.pop(), o.pop(), o.pop(), a.pop()), { newPoints: o, toDrawOrNotToDraw: a };\n })(a, n, e.lineDash, e.lineDashOffset);\n (o = t.toDrawOrNotToDraw), (a = t.newPoints);\n }\n const l = s.length;\n let p = s.length;\n const c = [];\n if (n) a.push(a[2], a[3]);\n else {\n const t = [a[2] - a[0], a[3] - a[1]],\n i = O(t[0], t[1]);\n (t[0] /= i), (t[1] /= i);\n const n = [-t[1], t[0]],\n l = [a[0] + h * n[0], a[1] + h * n[1]],\n u = [a[0] - h * n[0], a[1] - h * n[1]];\n if ('butt' == e.lineCap) s.push(l[0], l[1], u[0], u[1]);\n else if ('square' == e.lineCap) s.push(l[0] - h * t[0], l[1] - h * t[1], u[0] - h * t[0], u[1] - h * t[1]);\n else {\n s.push(a[0], a[1], l[0], l[1]);\n const t = Math.atan2(l[1] - a[1], l[0] - a[0]),\n e = Math.atan2(u[1] - a[1], u[0] - a[0]);\n E(s, a[0], a[1], h, t, e), s.push(a[0], a[1], u[0], u[1]), s.push(l[0], l[1], u[0], u[1]);\n }\n if (r) {\n const t = o[0];\n for (let e = p; e < s.length; e += 2) c.push(t);\n p = s.length;\n }\n }\n for (let t = 2; t < a.length - 2; t += 2) {\n const i = [a[t] - a[t - 2], a[t + 1] - a[t - 1]],\n n = [-i[1], i[0]];\n let l = O(n[0], n[1]);\n (n[0] /= l), (n[1] /= l);\n let u = [a[t + 2] - a[t], a[t + 3] - a[t + 1]];\n (l = O(u[0], u[1])), (u[0] /= l), (u[1] /= l);\n let d = [a[t] - a[t - 2], a[t + 1] - a[t - 1]];\n (l = O(d[0], d[1])), (d[0] /= l), (d[1] /= l);\n let f = [d[0] + u[0], d[1] + u[1]];\n l = O(f[0], f[1]);\n let m,\n g,\n y = 0;\n l > 0\n ? ((f[0] /= l), (f[1] /= l), (g = [-f[1], f[0]]), (m = g[0] * n[0] + g[1] * n[1]), (y = h / m))\n : ((y = 0), (g = [-f[1], f[0]]));\n const w = [a[t] + y * g[0], a[t + 1] + y * g[1]],\n v = [a[t] - y * g[0], a[t + 1] - y * g[1]];\n if ('miter' == e.lineJoin && 1 / m <= e.miterLimit) s.push(w[0], w[1], v[0], v[1]);\n else {\n const i = d[1] * u[0] - d[0] * u[1];\n if ('round' == e.lineJoin)\n if (i < 0) {\n const e = [a[t] + d[1] * h, a[t + 1] - d[0] * h],\n i = [a[t] + u[1] * h, a[t + 1] - u[0] * h];\n s.push(w[0], w[1], e[0], e[1]);\n const n = Math.atan2(e[1] - a[t + 1], e[0] - a[t]),\n r = Math.atan2(i[1] - a[t + 1], i[0] - a[t]);\n E(s, a[t], a[t + 1], h, n, r), s.push(w[0], w[1], i[0], i[1]);\n } else {\n const e = [a[t] - d[1] * h, a[t + 1] + d[0] * h],\n i = [a[t] - u[1] * h, a[t + 1] + u[0] * h];\n s.push(e[0], e[1], v[0], v[1]);\n const n = Math.atan2(i[1] - a[t + 1], i[0] - a[t]),\n r = Math.atan2(e[1] - a[t + 1], e[0] - a[t]);\n E(s, a[t], a[t + 1], h, n, r), s.push(i[0], i[1], v[0], v[1]);\n }\n else if (i < 0) {\n const e = [a[t] + d[1] * h, a[t + 1] - d[0] * h],\n i = [a[t] + u[1] * h, a[t + 1] - u[0] * h];\n s.push(w[0], w[1], e[0], e[1], w[0], w[1], i[0], i[1]);\n } else {\n const e = [a[t] - d[1] * h, a[t + 1] + d[0] * h],\n i = [a[t] - u[1] * h, a[t + 1] + u[0] * h];\n s.push(e[0], e[1], v[0], v[1], i[0], i[1], v[0], v[1]);\n }\n }\n if (r) {\n const e = o[t / 2];\n for (let t = p; t < s.length; t += 2) c.push(e);\n p = s.length;\n }\n }\n if (n) s.push(s.buffer[l], s.buffer[l + 1], s.buffer[l + 2], s.buffer[l + 3]);\n else {\n const t = [a[a.length - 2] - a[a.length - 4], a[a.length - 1] - a[a.length - 3]],\n i = Math.sqrt(Math.pow(t[0], 2) + Math.pow(t[1], 2));\n (t[0] /= i), (t[1] /= i);\n const n = [-t[1], t[0]],\n r = [a[a.length - 2] + h * n[0], a[a.length - 1] + h * n[1]],\n o = [a[a.length - 2] - h * n[0], a[a.length - 1] - h * n[1]];\n if ('butt' == e.lineCap) s.push(r[0], r[1], o[0], o[1]);\n else if ('square' == e.lineCap) s.push(r[0] + h * t[0], r[1] + h * t[1], o[0] + h * t[0], o[1] + h * t[1]);\n else {\n s.push(r[0], r[1], o[0], o[1]), s.push(a[a.length - 2], a[a.length - 1], o[0], o[1]);\n const t = Math.atan2(o[1] - a[a.length - 1], o[0] - a[a.length - 2]),\n e = Math.atan2(r[1] - a[a.length - 1], r[0] - a[a.length - 2]);\n E(s, a[a.length - 2], a[a.length - 1], h, t, e), s.push(a[a.length - 2], a[a.length - 1], r[0], r[1]);\n }\n }\n if (r) {\n const t = o[o.length - 1];\n for (let e = p; e < s.length; e += 2) c.push(t);\n p = s.length;\n }\n return c;\n}\nfunction F(t, e) {\n const s = t.isClosed;\n let i = !0;\n const n = I(t.cmds, []);\n let r = [n[0], n[1]];\n for (let t = 2; t < n.length; t += 2)\n (n[t] == r[r.length - 2] && n[t + 1] == r[r.length - 1]) || r.push(n[t], n[t + 1]);\n if ((!s || (r[r.length - 2] == r[0] && r[r.length - 1] == r[1]) || r.push(r[0], r[1]), r.length >= 6)) {\n for (let t = 0; t < r.length; t++) e.push(r[t]);\n i = !1;\n }\n return i;\n}\nl.registerPlugin(\n 'lottiegraphics',\n class extends p {\n constructor(t) {\n super(t),\n (this.graphicsDataPool = []),\n (this.primitiveShader = null),\n (this.webGLData = null),\n (this.gl = t.gl),\n (this.CONTEXT_UID = 0);\n }\n onContextChange() {\n (this.gl = this.renderer.gl),\n (this.CONTEXT_UID = this.renderer.CONTEXT_UID),\n (this.primitiveShader = new C(this.gl));\n }\n destroy() {\n p.prototype.destroy.call(this);\n for (let t = 0; t < this.graphicsDataPool.length; ++t) this.graphicsDataPool[t].destroy();\n this.graphicsDataPool = null;\n }\n render(t) {\n const e = this.renderer,\n s = e.gl,\n i = this.getWebGLData(t);\n if ((t.isDirty && this.updateGraphics(t, i), 0 === i.indices.length)) return;\n const n = this.primitiveShader;\n e.bindShader(n),\n e.state.setBlendMode(t.blendMode),\n (n.uniforms.translationMatrix = t.transform.worldTransform.toArray(!0)),\n (n.uniforms.color = c.hex2rgb(t.color)),\n (n.uniforms.alpha = t.worldAlpha),\n e.bindVao(i.vao),\n i.vao.draw(s.TRIANGLES, i.indices.length);\n }\n updateGraphics(t, e) {\n e.reset(), 'stroke' === t.drawType ? this.buildStroke(t, e) : this.buildFill(t, e), (t.isDirty = !1);\n }\n buildStroke(t, e) {\n const { vertices: s, indices: i } = e,\n { paths: n, lineStyle: r } = t,\n h = r.lineDash.length >= 2;\n for (let t = 0; t < n.length; t++) {\n const e = n[t],\n o = s.length / 2,\n a = B(e, r, s);\n if (h) for (let t = o + 2; t < s.length / 2; t += 2) a[t - o - 1] && i.push(t - 2, t, t - 1, t, t + 1, t - 1);\n else for (let t = o + 2; t < s.length / 2; t += 2) i.push(t - 2, t, t - 1, t, t + 1, t - 1);\n }\n e.upload();\n }\n buildFill(t, e) {\n const { vertices: s, indices: i } = e,\n { paths: n } = t;\n let r = [];\n const h = [];\n for (let t = 0; t < n.length; t++) {\n const e = n[t],\n s = [];\n if (F(e, s)) break;\n const i = e.holes,\n o = [];\n for (let t = 0; t < i.length; t++) {\n const e = i[t],\n n = s.length;\n if (F(e, s)) break;\n o.push(n / 2);\n }\n const a = c.earcut(s, o, 2),\n l = r.length / 2;\n for (let t = 0; t < s.length; t += 2) r.push(s[t], s[t + 1]);\n for (let t = 0; t < a.length; t += 3) h.push(l + a[t], l + a[t + 1], l + a[t + 2]);\n }\n r.length < 6 || h < 3 || (s.setBuffer(new Float32Array(r)), i.setBuffer(new Uint16Array(h)), e.upload());\n }\n getWebGLData(t) {\n return (\n (t.webGLData && this.CONTEXT_UID === t.webGLData.CONTEXT_UID) ||\n ((t.webGLData = new D(this.renderer.gl, this.primitiveShader, this.renderer.state.attribState)),\n (t.webGLData.CONTEXT_UID = this.CONTEXT_UID)),\n t.webGLData\n );\n }\n },\n);\nu.registerPlugin(\n 'lottiegraphics',\n class {\n constructor(t) {\n this.renderer = t;\n }\n destroy() {\n this.renderer = null;\n }\n render(t) {\n const e = this.renderer,\n s = e.context,\n i = t.lineStyle,\n n = t.worldAlpha,\n r = t.transform.worldTransform,\n h = e.resolution;\n s.setTransform(r.a * h, r.b * h, r.c * h, r.d * h, r.tx * h, r.ty * h),\n e.setBlendMode(t.blendMode),\n (s.globalAlpha = n),\n 'stroke' === t.drawType\n ? ((s.lineWidth = i.lineWidth),\n (s.lineJoin = i.lineJoin),\n (s.miterLimit = i.miterLimit),\n (s.lineCap = i.lineCap),\n (s.lineDashOffset = i.lineDashOffset),\n s.setLineDash(i.lineDash || []),\n this.buildStroke(t))\n : this.buildFill(t);\n }\n buildStroke(t) {\n const e = this.renderer.context,\n s = `#${`00000${(0 | t.color).toString(16)}`.substr(-6)}`,\n { paths: i, lineStyle: n } = t;\n (e.lineWidth = n.lineWidth),\n (e.lineJoin = n.lineJoin),\n (e.miterLimit = n.miterLimit),\n (e.lineCap = n.lineCap),\n (e.lineDashOffset = n.lineDashOffset),\n e.setLineDash(n.lineDash || []),\n e.beginPath();\n for (let t = 0; t < i.length; t++) this.drawPath(e, i[t]);\n (e.strokeStyle = s), e.stroke();\n }\n buildFill(t) {\n const e = this.renderer.context,\n s = `#${`00000${(0 | t.color).toString(16)}`.substr(-6)}`,\n { paths: i } = t;\n e.beginPath();\n for (let t = 0; t < i.length; t++) {\n const s = i[t];\n this.drawPath(e, s);\n for (let t = 0; t < s.holes.length; t++) this.drawPath(e, s.holes[t]);\n }\n (e.fillStyle = s), e.fill();\n }\n drawPath(t, e) {\n for (let s = 0; s < e.cmds.length; s++) {\n const { cmd: i, args: n } = e.cmds[s];\n switch (i) {\n case 'M':\n t.moveTo(n[0], n[1]);\n break;\n case 'L':\n t.lineTo(n[0], n[1]);\n break;\n case 'C':\n t.bezierCurveTo(n[0], n[1], n[2], n[3], n[4], n[5]);\n }\n }\n }\n },\n);\nclass W {\n constructor() {\n (this.cmds = []), (this.holes = []), (this.isClosed = !1), (this.isClockWise = !1);\n }\n getLength() {\n return this.cmds.length;\n }\n add(t, e) {\n this.cmds.push({ cmd: t, args: e });\n }\n moveTo(t = 0, e = 0) {\n this.add('M', [t, e]);\n }\n lineTo(t, e) {\n this.add('L', [t, e]);\n }\n bezierCurveTo(t, e, s, i, n, r) {\n this.add('C', [t, e, s, i, n, r]);\n }\n closePath() {\n this.isClosed = !0;\n }\n}\nclass X extends h {\n constructor() {\n super(),\n (this.paths = []),\n (this._samplerPoints = []),\n (this.currentPath = null),\n (this.color = 0),\n (this.lineStyle = {\n lineWidth: 1,\n lineJoin: 'miter',\n miterLimit: 10,\n lineCap: 'butt',\n lineDash: [],\n lineDashOffset: 0,\n }),\n (this.isDirty = !0),\n (this.drawType = ''),\n (this.blendMode = d.NORMAL),\n (this.webGLData = null),\n (this.firstIsClockWise = !0),\n (this.preClockWiseStatus = null);\n }\n clear() {\n (this.paths.length = 0),\n (this.currentPath = null),\n (this.firstIsClockWise = !0),\n (this.preClockWiseStatus = null),\n (this.isDirty = !0);\n }\n moveTo(t = 0, e = 0) {\n this.endPath(), (this.currentPath = new W()), this.currentPath.moveTo(t, e), this._samplerPoints.push([t, e]);\n }\n lineTo(t, e) {\n this.currentPath.lineTo(t, e), this._samplerPoints.push([t, e]);\n }\n bezierCurveTo(t, e, s, i, n, r) {\n this.currentPath.bezierCurveTo(t, e, s, i, n, r), this._samplerPoints.push([n, r]);\n }\n endPath() {\n if (this.currentPath && this.currentPath.getLength() > 1) {\n const t = this.paths.length,\n e =\n (function (t) {\n const e = t.length;\n let s = 0;\n for (let i = e - 1, n = 0; n < e; i = n++) s += t[i][0] * t[n][1] - t[n][0] * t[i][1];\n return 0.5 * s;\n })(this._samplerPoints) > 0;\n if (\n ((this.currentPath.isClockWise = e),\n 0 === t && (this.firstIsClockWise = e),\n t > 0 && this.preClockWiseStatus === this.firstIsClockWise && this.preClockWiseStatus !== e)\n ) {\n (t > 0 ? this.paths[t - 1] : null).holes.push(this.currentPath);\n } else this.paths.push(this.currentPath), (this.preClockWiseStatus = e);\n (this.currentPath = null), (this.isDirty = !0);\n }\n this._samplerPoints.length = 0;\n }\n closePath() {\n this.currentPath.closePath();\n }\n stroke() {\n this.endPath(), (this.drawType = 'stroke');\n }\n fill() {\n null !== this.currentPath && (this.closePath(), this.endPath(), (this.drawType = 'fill'));\n }\n _renderWebGL(t) {\n t.setObjectRenderer(t.plugins.lottiegraphics), t.plugins.lottiegraphics.render(this);\n }\n _renderCanvas(t) {\n t.plugins.lottiegraphics.render(this);\n }\n}\nclass z extends X {\n constructor(t, e) {\n super(), (this.lottieElement = t), (this.config = e), (this.passMatrix = new f());\n }\n setShapeTransform() {\n const t = this.lottieElement.preTransforms.finalTransform.props;\n this.passMatrix.set(t[0], t[1], t[4], t[5], t[12], t[13]), this.transform.setFromMatrix(this.passMatrix);\n }\n updateTransform() {\n this.setShapeTransform(),\n this.transform.updateTransform(this.parent.transform),\n (this.worldAlpha = this.alpha * this.parent.worldAlpha),\n this._bounds.updateID++;\n }\n updateLottieGrahpics(e) {\n const s = e.type;\n if ((this.clear(), (('st' === s || 'gs' === s) && 0 === e.wi) || !e.data._shouldRender || 0 === e.coOp)) return;\n const i = e.elements,\n n = i.length;\n for (let t = 0; t < n; t += 1) {\n const e = i[t].trNodes,\n s = e.length;\n for (let t = 0; t < s; t++)\n 'm' == e[t].t\n ? this.moveTo(e[t].p[0], e[t].p[1])\n : 'c' == e[t].t\n ? this.bezierCurveTo(e[t].pts[0], e[t].pts[1], e[t].pts[2], e[t].pts[3], e[t].pts[4], e[t].pts[5])\n : this.closePath();\n }\n ('st' !== s && 'gs' !== s) ||\n (e.da\n ? ((this.lineStyle.lineDash = e.da), (this.lineStyle.lineDashOffset = e.do))\n : (this.lineStyle.lineDash = [])),\n 'st' === s || 'gs' === s\n ? ((this.lineStyle.lineWidth = e.wi),\n (this.lineStyle.lineCap = e.lc),\n (this.lineStyle.lineJoin = e.lj),\n (this.lineStyle.miterLimit = e.ml || 0),\n (this.color = t.rgb2hex(e.co || e.grd)),\n (this.alpha = e.coOp),\n this.stroke())\n : ((this.color = t.rgb2hex(e.co || e.grd)), (this.alpha = e.coOp), this.fill());\n }\n}\nclass G extends r {\n constructor(t, e) {\n super(), (this.lottieElement = t), (this.config = e);\n const s = parseInt(e.color.replace('#', ''), 16);\n this.beginFill(s), this.drawRect(0, 0, e.rect.width, e.rect.height), this.endFill();\n }\n onSetupLottie() {\n if (this.lottieElement.hasValidMasks()) {\n const t = this.config.session.local;\n (this.graphicsMasks = new T(t)), (this.mask = this.graphicsMasks), this.addChild(this.mask);\n }\n }\n setHierarchy(t) {\n this.hierarchy = t;\n }\n show() {\n this.visible = !0;\n }\n hide() {\n this.visible = !1;\n }\n updateLottieTransform(t) {\n (this.x = t.x),\n (this.y = t.y),\n (this.pivot.x = t.anchorX),\n (this.pivot.y = t.anchorY),\n (this.scale.x = t.scaleX),\n (this.scale.y = t.scaleY),\n (this.rotation = t.rotation),\n (this.alpha = t.alpha);\n }\n updateLottieMasks(t) {\n this.graphicsMasks && this.graphicsMasks.updateMasks(t);\n }\n}\nclass R extends m {\n constructor(t, e) {\n const { texture: s, asset: i } = e;\n super(s),\n s.baseTexture.hasLoaded\n ? ((s.orig = new g(0, 0, i.w, i.h)), s._updateUvs())\n : s.baseTexture.on('loaded', () => {\n (s.orig = new g(0, 0, i.w, i.h)), s._updateUvs();\n }),\n (this.lottieElement = t),\n (this.config = e);\n }\n onSetupLottie() {\n if (this.lottieElement.hasValidMasks()) {\n const t = this.config.session.local;\n (this.graphicsMasks = new T(t)), (this.mask = this.graphicsMasks), this.addChild(this.mask);\n }\n }\n setHierarchy(t) {\n this.hierarchy = t;\n }\n show() {\n this.visible = !0;\n }\n hide() {\n this.visible = !1;\n }\n updateLottieTransform(t) {\n (this.x = t.x),\n (this.y = t.y),\n (this.pivot.x = t.anchorX),\n (this.pivot.y = t.anchorY),\n (this.scale.x = t.scaleX),\n (this.scale.y = t.scaleY),\n (this.rotation = t.rotation),\n (this.alpha = t.alpha);\n }\n updateLottieMasks(t) {\n this.graphicsMasks && this.graphicsMasks.updateMasks(t);\n }\n}\nconst U = /^(https?:)?\\/\\//;\nclass N extends e {\n constructor(t, { prefix: e, autoLoad: s = !0 }) {\n super(),\n (this.assets = t),\n (this.prefix = e || ''),\n (this.textures = {}),\n (this._total = 0),\n (this._failed = 0),\n (this._received = 0),\n (this.loaded = !1),\n s && this.load();\n }\n load() {\n this.assets.forEach(t => {\n const e = t.id,\n s = (function (t, e) {\n if (1 === t.e) return t.p;\n e && (e = e.replace(/\\/?$/, '/'));\n const s = t.u + t.p;\n let i = '';\n return (i = t.up ? t.up : U.test(s) ? s : e + s), i;\n })(t, this.prefix),\n i = y.fromImage(s, '*');\n (this.textures[e] = i),\n this._total++,\n i.baseTexture.hasLoaded\n ? (this._received++, this.emit('update'), this._received + this._failed >= this._total && this._onComplete())\n : (i.baseTexture.once('loaded', () => {\n this._received++, this.emit('update'), this._received + this._failed >= this._total && this._onComplete();\n }),\n i.baseTexture.once('error', () => {\n this._failed++, this.emit('update'), this._received + this._failed >= this._total && this._onComplete();\n }));\n });\n }\n _onComplete() {\n (this.loaded = !0),\n this.emit('complete'),\n this._failed > 0 && (this._failed >= this._total ? this.emit('fail') : this.emit('partlyfail', this._failed));\n }\n getTextureById(t) {\n return this.textures[t];\n }\n}\nfunction j(t) {\n return t.response && 'object' == typeof t.response\n ? t.response\n : t.response && 'string' == typeof t.response\n ? JSON.parse(t.response)\n : t.responseText\n ? JSON.parse(t.responseText)\n : void 0;\n}\nclass q extends e {\n constructor(t) {\n super(),\n (this.path = t),\n (this.onSuccess = this.onSuccess.bind(this)),\n (this.onFail = this.onFail.bind(this)),\n (function (t, e, s) {\n let i,\n n = new XMLHttpRequest();\n n.open('GET', t, !0);\n try {\n n.responseType = 'json';\n } catch (t) {\n console.error('lottie-pixi loadAjax:', t);\n }\n n.send(),\n (n.onreadystatechange = function () {\n if (4 == n.readyState)\n if (200 == n.status) (i = j(n)), e(i);\n else\n try {\n (i = j(n)), e(i);\n } catch (t) {\n s && s(t);\n }\n });\n })(t, this.onSuccess, this.onFail);\n }\n onSuccess(t) {\n this.emit('success', t), this.emit('complete', t);\n }\n onFail(t) {\n this.emit('fail', t), this.emit('error', t);\n }\n}\nconst Y = {\n Linear: { None: t => t },\n Ease: {\n In: (function () {\n const t = new s(0.42, 0, 1, 1);\n return function (e) {\n return t.get(e);\n };\n })(),\n Out: (function () {\n const t = new s(0, 0, 0.58, 1);\n return function (e) {\n return t.get(e);\n };\n })(),\n InOut: (function () {\n const t = new s(0.42, 0, 0.58, 1);\n return function (e) {\n return t.get(e);\n };\n })(),\n Bezier(t, e, i, n) {\n const r = new s(t, e, i, n);\n return function (t) {\n return r.get(t);\n };\n },\n },\n Elastic: {\n In: t => (0 === t ? 0 : 1 === t ? 1 : -Math.pow(2, 10 * (t - 1)) * Math.sin(5 * (t - 1.1) * Math.PI)),\n Out: t => (0 === t ? 0 : 1 === t ? 1 : Math.pow(2, -10 * t) * Math.sin(5 * (t - 0.1) * Math.PI) + 1),\n InOut: t =>\n 0 === t\n ? 0\n : 1 === t\n ? 1\n : (t *= 2) < 1\n ? -0.5 * Math.pow(2, 10 * (t - 1)) * Math.sin(5 * (t - 1.1) * Math.PI)\n : 0.5 * Math.pow(2, -10 * (t - 1)) * Math.sin(5 * (t - 1.1) * Math.PI) + 1,\n },\n Back: {\n In(t) {\n const e = 1.70158;\n return t * t * ((e + 1) * t - e);\n },\n Out(t) {\n const e = 1.70158;\n return --t * t * ((e + 1) * t + e) + 1;\n },\n InOut(t) {\n const e = 2.5949095;\n return (t *= 2) < 1 ? t * t * ((e + 1) * t - e) * 0.5 : 0.5 * ((t -= 2) * t * ((e + 1) * t + e) + 2);\n },\n },\n Bounce: {\n In: t => 1 - Y.Bounce.Out(1 - t),\n Out: t =>\n t < 1 / 2.75\n ? 7.5625 * t * t\n : t < 2 / 2.75\n ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75\n : t < 2.5 / 2.75\n ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375\n : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375,\n InOut: t => (t < 0.5 ? 0.5 * Y.Bounce.In(2 * t) : 0.5 * Y.Bounce.Out(2 * t - 1) + 0.5),\n },\n};\nfunction J(s) {\n e.call(this),\n (this.element = s.element || {}),\n (this.duration = s.duration || 300),\n (this.living = !0),\n (this.resident = s.resident || !1),\n (this.infinite = s.infinite || !1),\n (this.alternate = s.alternate || !1),\n (this.repeats = s.repeats || 0),\n (this.delay = s.delay || 0),\n (this.wait = s.wait || 0),\n (this.timeScale = t.isNumber(s.timeScale) ? s.timeScale : 1),\n s.onComplete && this.on('complete', s.onComplete.bind(this)),\n s.onUpdate && this.on('update', s.onUpdate.bind(this)),\n this.init(),\n (this.paused = !1);\n}\nfunction V(e) {\n J.call(this, e), (e.from = e.from || {});\n for (const s in e.to) t.isUndefined(e.from[s]) && (e.from[s] = this.element[s]);\n (this.ease = e.ease || Y.Ease.InOut), (this.from = e.from), (this.to = e.to);\n}\nfunction H(e) {\n J.call(this, e),\n (this.dynamicProperties = []),\n (this._mdf = !1),\n (this.keyframes = t.copyJSON(e.keyframes)),\n (this.frameRate = e.frameRate || 30),\n (this.tpf = 1e3 / this.frameRate),\n (this.ip = t.isUndefined(e.ip) ? this.keyframes.ip : e.ip),\n (this.op = t.isUndefined(e.ip) ? this.keyframes.op : e.op),\n (this.tfs = this.op - this.ip),\n (this.duration = this.tfs * this.tpf),\n (this.ignoreProps = t.isArray(e.ignoreProps) ? e.ignoreProps : []),\n (this.transform = new i(this, this.keyframes.ks));\n}\nfunction $(t, e) {\n J.call(this, e),\n (this.runners = []),\n (this.queues = []),\n (this.cursor = 0),\n (this.total = 0),\n (this.alternate = !1),\n t && this.then(t);\n}\n(J.prototype = Object.create(e.prototype)),\n (J.prototype.update = function (e) {\n const s = this.direction * this.timeScale * e;\n if (this.waitCut > 0) return void (this.waitCut -= Math.abs(s));\n if (this.paused || !this.living || this.delayCut > 0)\n return void (this.delayCut > 0 && (this.delayCut -= Math.abs(s)));\n this.progress += s;\n let i = !1;\n const n = this.progress;\n let r;\n return (\n this.spill() &&\n (this.repeatsCut > 0 || this.infinite\n ? (this.repeatsCut > 0 && --this.repeatsCut,\n (this.delayCut = this.delay),\n this.alternate\n ? ((this.direction *= -1), (this.progress = t.codomainBounce(this.progress, 0, this.duration)))\n : ((this.direction = 1), (this.progress = t.euclideanModulo(this.progress, this.duration))))\n : (i = !0)),\n i\n ? (this.resident || (this.living = !1),\n (this.progress = t.clamp(n, 0, this.duration)),\n (r = this.nextPose()),\n this.emit('complete', r, n - this.progress))\n : ((r = this.nextPose()), this.emit('update', r, this.progress / this.duration)),\n r\n );\n }),\n (J.prototype.spill = function () {\n const t = this.progress <= 0 && -1 === this.direction,\n e = this.progress >= this.duration && 1 === this.direction;\n return t || e;\n }),\n (J.prototype.init = function () {\n (this.direction = 1),\n (this.progress = 0),\n (this.repeatsCut = this.repeats),\n (this.delayCut = this.delay),\n (this.waitCut = this.wait);\n }),\n (J.prototype.nextPose = function () {\n console.warn('should be overwrite');\n }),\n (J.prototype.linear = function (t, e, s) {\n return (e - t) * s + t;\n }),\n (J.prototype.setSpeed = function (t) {\n return (this.timeScale = t), this;\n }),\n (J.prototype.pause = function () {\n return (this.paused = !0), this;\n }),\n (J.prototype.resume = function () {\n return (this.paused = !1), this;\n }),\n (J.prototype.restart = J.prototype.resume),\n (J.prototype.stop = function () {\n return (this.repeats = 0), (this.infinite = !1), (this.progress = this.duration), this;\n }),\n (J.prototype.cancel = function () {\n return (this.living = !1), this;\n }),\n (V.prototype = Object.create(J.prototype)),\n (V.prototype.nextPose = function () {\n const t = {},\n e = this.ease(this.progress / this.duration);\n for (const s in this.to)\n void 0 !== this.element[s] && (this.element[s] = t[s] = this.linear(this.from[s], this.to[s], e));\n return t;\n }),\n (H.prototype = Object.create(J.prototype)),\n (H.prototype.prepareProperties = function (t) {\n const e = this.dynamicProperties.length;\n let s;\n for (s = 0; s < e; s += 1)\n this.dynamicProperties[s].getValue(t), this.dynamicProperties[s]._mdf && (this._mdf = !0);\n }),\n (H.prototype.addDynamicProperty = function (t) {\n -1 === this.dynamicProperties.indexOf(t) && this.dynamicProperties.push(t);\n }),\n (H.prototype.nextPose = function () {\n const t = {},\n e = this.ip + this.progress / this.tpf;\n return (\n this.prepareProperties(e),\n -1 === this.ignoreProps.indexOf('position') &&\n (-1 === this.ignoreProps.indexOf('x') && (t.x = this.element.x = this.transform.x),\n -1 === this.ignoreProps.indexOf('y') && (t.y = this.element.y = this.transform.y)),\n -1 === this.ignoreProps.indexOf('pivot') &&\n ((t.pivot = {}),\n -1 === this.ignoreProps.indexOf('pivotX') && (t.pivot.x = this.element.pivot.x = this.transform.anchorX),\n -1 === this.ignoreProps.indexOf('pivotY') && (t.pivot.y = this.element.pivot.y = this.transform.anchorY)),\n -1 === this.ignoreProps.indexOf('scale') &&\n ((t.scale = {}),\n -1 === this.ignoreProps.indexOf('scaleX') && (t.scale.x = this.element.scale.x = this.transform.scaleX),\n -1 === this.ignoreProps.indexOf('scaleY') && (t.scale.y = this.element.scale.y = this.transform.scaleY)),\n -1 === this.ignoreProps.indexOf('rotation') && (t.rotation = this.element.rotation = this.transform.rotation),\n -1 === this.ignoreProps.indexOf('alpha') && (t.alpha = this.element.alpha = this.transform.alpha),\n t\n );\n }),\n ($.prototype = Object.create(J.prototype)),\n ($.prototype.then = function (t) {\n return this.queues.push(t), (this.total = this.queues.length), this;\n }),\n ($.prototype.nextOne = function (t, e) {\n this.runners[this.cursor].init(), this.cursor++, (this._residueTime = Math.abs(e));\n }),\n ($.prototype.initOne = function () {\n const t = this.queues[this.cursor];\n (t.infinite = !1), (t.resident = !0), (t.element = this.element);\n let e = null;\n t.keyframes ? (e = new H(t)) : t.to && (e = new V(t)),\n null !== e && (e.on('complete', this.nextOne.bind(this)), this.runners.push(e));\n }),\n ($.prototype.nextPose = function (t) {\n return (\n !this.runners[this.cursor] && this.queues[this.cursor] && this.initOne(),\n this._residueTime > 0 && ((t += this._residueTime), (this._residueTime = 0)),\n this.runners[this.cursor].update(t)\n );\n }),\n ($.prototype.update = function (t) {\n if (this.wait > 0) return void (this.wait -= Math.abs(t));\n if (this.paused || !this.living || this.delayCut > 0)\n return void (this.delayCut > 0 && (this.delayCut -= Math.abs(t)));\n const e = this.cursor,\n s = this.nextPose(this.timeScale * t);\n return (\n this.emit('update', { index: e, pose: s }, this.progress / this.duration),\n this.spill() &&\n (this.repeats > 0 || this.infinite\n ? (this.repeats > 0 && --this.repeats, (this.delayCut = this.delay), (this.cursor = 0))\n : (this.resident || (this.living = !1), this.emit('complete', s))),\n s\n );\n }),\n ($.prototype.spill = function () {\n return this.cursor >= this.total;\n });\nconst K = { settings: w, UPDATE_PRIORITY: v, animationTicker: x.shared };\nfunction Q(t) {\n K.animationTicker = t;\n}\nfunction Z(t) {\n (this.element = t),\n (this.animates = []),\n (this.timeScale = 1),\n (this.paused = !1),\n (this.updateDeltaTime = this.updateDeltaTime.bind(this)),\n K.animationTicker.add(this.updateDeltaTime, K.UPDATE_PRIORITY.HIGH);\n}\n(Z.prototype.clearAnimators = function (t) {\n if (this.paused) return;\n const e = this.animates;\n for (let s = 0; s < t.length; s++) {\n const i = t[s];\n e[i].living || e[i].resident || this.animates.splice(i, 1);\n }\n}),\n (Z.prototype.updateDeltaTime = function (t) {\n if (this.animates.length <= 0) return;\n const e = t / K.settings.TARGET_FPMS;\n this.update(e);\n }),\n (Z.prototype.update = function (t) {\n if (this.paused) return;\n if (this.animates.length <= 0) return;\n t = this.timeScale * t;\n const e = [];\n for (let s = 0; s < this.animates.length; s++)\n this.animates[s].living || this.animates[s].resident ? this.animates[s].update(t) : e.push(s);\n e.length > 0 && this.clearAnimators(e);\n }),\n (Z.prototype.animate = function (t, e) {\n return (t.element = this.element), this._addMove(new V(t), e);\n }),\n (Z.prototype.queues = function (t, e, s) {\n return (e.element = this.element), this._addMove(new $(t, e), s);\n }),\n (Z.prototype.bodymovin = function (t, e) {\n return (t.element = this.element), this._addMove(new H(t), e);\n }),\n (Z.prototype._addMove = function (t, e) {\n return e && this.clearAll(), this.animates.push(t), t;\n }),\n (Z.prototype.pause = function () {\n this.paused = !0;\n }),\n (Z.prototype.resume = function () {\n this.paused = !1;\n }),\n (Z.prototype.restart = Z.prototype.resume),\n (Z.prototype.setSpeed = function (t) {\n this.timeScale = t;\n }),\n (Z.prototype.clearAll = function () {\n this.animates.length = 0;\n }),\n (b.prototype.setupAnimations = function () {\n this.animations || (this.animations = new Z(this));\n }),\n (b.prototype.animate = function (t, e) {\n return this.animations || this.setupAnimations(), this.animations.animate(t, e);\n }),\n (b.prototype.queues = function (t, e = {}, s) {\n return this.animations || this.setupAnimations(), this.animations.queues(t, e, s);\n }),\n (b.prototype.bodymovin = function (t, e) {\n return this.animations || this.setupAnimations(), this.animations.bodymovin(t, e);\n }),\n Object.defineProperties(b.prototype, {\n scaleXY: {\n get() {\n return this.scale.x;\n },\n set(t) {\n this.scale.set(t);\n },\n },\n scaleX: {\n get() {\n return this.scale.x;\n },\n set(t) {\n this.scale.x = t;\n },\n },\n scaleY: {\n get() {\n return this.scale.y;\n },\n set(t) {\n this.scale.y = t;\n },\n },\n pivotX: {\n get() {\n return this.pivot.x;\n },\n set(t) {\n this.pivot.x = t;\n },\n },\n pivotY: {\n get() {\n return this.pivot.y;\n },\n set(t) {\n this.pivot.y = t;\n },\n },\n }),\n (h.prototype.updateTransform = function () {\n this.emit('pretransform'),\n this._boundsID++,\n this.hierarchy && this.hierarchy.transform\n ? (this.hierarchy.updateTransform(), this.transform.updateTransform(this.hierarchy.transform))\n : this.transform.updateTransform(this.parent.transform),\n (this.worldAlpha = this.alpha * this.parent.worldAlpha);\n for (let t = 0, e = this.children.length; t < e; ++t) {\n const e = this.children[t];\n e.visible && e.updateTransform();\n }\n this.emit('posttransform');\n }),\n (h.prototype.containerUpdateTransform = h.prototype.updateTransform);\nclass tt extends e {\n constructor(t) {\n super(),\n (this.animate = null),\n t.keyframes &&\n t.useAESize &&\n (t.width !== t.keyframes.w || t.height !== t.keyframes.h) &&\n ((t.width = t.keyframes.w), (t.height = t.keyframes.h));\n const {\n view: e,\n width: s,\n height: i,\n transparent: r,\n antialias: h,\n preserveDrawingBuffer: o,\n resolution: a,\n forceCanvas: l,\n backgroundColor: p,\n clearBeforeRender: c,\n roundPixels: u,\n forceFXAA: d,\n legacy: f,\n powerPreference: m,\n sharedTicker: g,\n sharedLoader: y,\n } = t;\n (this.app = new P({\n view: e,\n width: s,\n height: i,\n transparent: r,\n antialias: h,\n preserveDrawingBuffer: o,\n resolution: a,\n forceCanvas: l,\n backgroundColor: p,\n clearBeforeRender: c,\n roundPixels: u,\n forceFXAA: d,\n legacy: f,\n powerPreference: m,\n sharedTicker: g,\n sharedLoader: y,\n })),\n (this.manager = new n(this.app)),\n (this.loaded = !1),\n this.parseData(t);\n }\n resizeWithAESize() {\n const { width: t, height: e } = this.app.renderer;\n (t === this.animate.keyframes.w && e === this.animate.keyframes.h) ||\n this.app.renderer.resize(this.animate.keyframes.w, this.animate.keyframes.h);\n }\n parseData(t) {\n (this.animate = this.manager.parseAnimation(t)),\n this.animate.isDisplayLoaded\n ? (t.useAESize && this.resizeWithAESize(), this.app.stage.addChild(this.animate.group))\n : this.animate.once('DisplayReady', () => {\n t.useAESize && this.resizeWithAESize(),\n this.app.stage.addChild(this.animate.group),\n this.emit('DisplayReady', this);\n }),\n this.animate.isImagesLoaded\n ? (this.loaded = !0)\n : (this.animate.once('success', () => {\n (this.loaded = !0), this.emit('success', this);\n }),\n this.animate.once('error', t => {\n this.emit('error', t);\n }));\n }\n}\nfunction et(e) {\n return (\n e.container && !e.view && (e.view = e.container),\n e.animationData && !e.keyframes && (e.keyframes = e.animationData),\n e.assetsPath && !e.prefix && (e.prefix = e.assetsPath.replace(/images\\/?$/, '')),\n e.initialSegment && !e.initSegment && (e.initSegment = e.initialSegment),\n t.isBoolean(e.autoplay) && !t.isBoolean(e.autoStart) && (e.autoStart = e.autoplay),\n t.isBoolean(e.loop) && !t.isBoolean(e.infinite) && (e.infinite = e.loop),\n (e.view = t.isString(e.view) ? document.querySelector(e.view) : e.view),\n (e.useAESize = !t.isBoolean(e.useAESize) || e.useAESize),\n new tt(e)\n );\n}\nexport {\n Y as Tween,\n et as loadAnimation,\n Q as useTicker,\n k as CompElement,\n z as PathLottie,\n G as SolidElement,\n R as SpriteElement,\n h as Container,\n q as LoadJson,\n N as LoadTexture,\n};\nexport {\n AnimationGroup,\n AnimationManager,\n BezierEasing,\n DisplayRegister,\n Eventer,\n LoaderRegister,\n PropertyFactory,\n Tools,\n TransformFrames,\n TransformProperty,\n} from './lottie-core';\n","import iOSVersion from 'ios-version';\n\nconst { major } = iOSVersion(window.navigator.userAgent) || {};\n\n/**\n * dataURL 转成 blob\n * @param dataURL\n * @return blob\n */\nfunction dataURL2blob(dataURL) {\n let binaryString = atob(dataURL.split(',')[1]);\n let arrayBuffer = new ArrayBuffer(binaryString.length);\n let intArray = new Uint8Array(arrayBuffer);\n let mime = dataURL.split(',')[0].match(/:(.*?);/)[1];\n for (let i = 0, j = binaryString.length; i < j; i++) {\n intArray[i] = binaryString.charCodeAt(i);\n }\n let data = [intArray];\n let result;\n try {\n result = new Blob(data, { type: mime });\n } catch (error) {\n console.log(error);\n }\n return result;\n}\n\n/**\n * 创建新的URL 对象表示指定的 File 对象或 Blob 对象。\n * @param {string} dataURL base64\n */\nfunction dataURL2ObjUrl(dataURL) {\n window.URL = window.URL || window.webkitURL;\n if (window.URL && URL.createObjectURL) {\n // dataURL2blob 此方法需额外定义\n const blob = dataURL2blob(dataURL);\n return URL.createObjectURL(blob);\n }\n return dataURL;\n}\n\nexport function imageHandle(source) {\n const isBase64Reg = /^data:image\\/png;base64/;\n if (major <= 8 && isBase64Reg.test(source)) {\n return dataURL2ObjUrl(source);\n }\n\n return source;\n}\n","import { OBSERVER_TYPE, decorators, ComponentChanged, resource } from '@eva/eva.js';\nimport { Renderer, RendererManager, ContainerManager } from '@eva/plugin-renderer';\nimport {\n AnimationManager,\n DisplayRegister,\n LoaderRegister,\n CompElement,\n PathLottie,\n SolidElement,\n SpriteElement,\n Container,\n LoadTexture,\n LoadJson,\n} from './lottie-pixi';\nimport { imageHandle } from './utils';\nimport Lottie from './Lottie';\n\nfunction loadTexture(assets, options) {\n return new LoadTexture(assets, options);\n}\n\nfunction loadJson(path) {\n return new LoadJson(path);\n}\n\nLoaderRegister.registerLoaderByType(LoaderRegister.Type.Texture, loadTexture);\nLoaderRegister.registerLoaderByType(LoaderRegister.Type.Ajax, loadJson);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Null, CompElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Path, PathLottie);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Shape, CompElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Solid, SolidElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Sprite, SpriteElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Component, CompElement);\nDisplayRegister.registerDisplayByType(DisplayRegister.Type.Container, Container);\n\n@decorators.componentObserver({\n Lottie: [],\n})\nexport default class LottieSystem extends Renderer {\n static systemName = 'LottieSystem';\n public manager: any;\n public app: any;\n public renderSystem;\n public rendererManager: RendererManager;\n public containerManager: ContainerManager;\n public managerLife = [\n 'DisplayReady',\n 'ImageReady',\n 'success',\n 'error',\n 'complete',\n 'loopComplete',\n 'enterFrame',\n 'update',\n ];\n\n /**\n * System 初始化用,可以配置参数,游戏未开始\n *\n * System init, set params, game is not begain\n * @param param init params\n */\n init() {\n this.renderSystem = this.game.systems.find((s: any) => s.application);\n this.app = this.renderSystem.application;\n }\n\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'Lottie') {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.add(changed);\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed);\n }\n }\n }\n\n async add(changed: ComponentChanged) {\n this.manager = new AnimationManager(this.app);\n const component = changed.component as Lottie;\n const container = this.renderSystem.containerManager.getContainer(changed.gameObject.id);\n if (!container) return;\n const { resource: rn, ...otherOpts } = component.options;\n const { data } = await resource.getResource(rn);\n const json = { ...(data.json || {}) };\n const assets = json.assets || [];\n assets.forEach(item => {\n if (item.p) item.p = imageHandle(item.p);\n });\n const anim = this.manager.parseAnimation({\n keyframes: json,\n ...otherOpts,\n });\n component.anim = anim;\n container.addChildAt(anim.group, 0);\n this.managerLife.forEach(eventName => {\n anim.on(eventName, e => component.emit(eventName, e));\n });\n if (anim.isImagesLoaded) component.emit('success', {});\n }\n\n remove(changed: ComponentChanged) {\n const component = changed.component as Lottie;\n const container = this.renderSystem.containerManager.getContainer(changed.gameObject.id);\n if (container) {\n container.removeChild(component.anim.group);\n component.anim.group.destory(true);\n }\n component.anim = null;\n }\n}\n","import { Component, decorators } from '@eva/eva.js';\nimport { IExpandOpts, IOptions } from './types';\nimport { Sprite, Text, TextStyle, Graphics } from 'pixi.js';\n\ninterface ExtendOptions extends IOptions {\n autoStart: boolean;\n}\n\nexport default class Lottie extends Component<IOptions> {\n @decorators.IDEProp\n slot: { [key: string]: string };\n\n static componentName: string = 'Lottie';\n public static application: any;\n public anim: any;\n public options: ExtendOptions;\n public loadStatus: boolean = false;\n public firstPlay: () => void | null = null;\n public slotCache: { [key: string]: any };\n public prevSlot: { [name: string]: any } = {};\n public currentSlot: { [name: string]: any } = {};\n\n constructor(options: IOptions) {\n super();\n this.options = {\n autoStart: false,\n ...options,\n };\n this.on('success', () => {\n this.loadStatus = true;\n const { ip, op } = this.anim.keyframes;\n for (let i = ip; i <= op; i++) {\n const event = `@${i}`;\n this.anim.on(event, e => this.emit(event, e));\n }\n this.firstPlay && this.firstPlay();\n });\n }\n\n play(\n params: number[] = [],\n expandOpts: IExpandOpts = {\n repeats: 0,\n },\n ) {\n if (!this.loadStatus) {\n this.firstPlay = () => {\n this.play(params, expandOpts);\n };\n return;\n }\n\n const { slot = [] } = expandOpts;\n slot.forEach(({ name, type, value, style = {} }) => {\n const { x, y, anchor = { x: 0, y: 0 }, pivot = { x: 0, y: 0 }, width, height } = style;\n if (type === 'IMAGE') {\n this.currentSlot[name] = Sprite.from(value);\n } else if (type === 'TEXT') {\n this.currentSlot[name] = new Text(value, new TextStyle(style));\n }\n if (x) this.currentSlot[name].x = x;\n if (y) this.currentSlot[name].y = y;\n if (width) this.currentSlot[name].width = width;\n if (height) this.currentSlot[name].height = height;\n this.currentSlot[name].anchor.set(anchor.x || 0, anchor.y || 0);\n this.currentSlot[name].pivot.set(\n this.currentSlot[name].width * (pivot.x || 0),\n this.currentSlot[name].height * (pivot.y || 0),\n );\n if (this.prevSlot[name]) this.anim.unbindSlot(name, this.prevSlot[name]);\n this.anim.bindSlot(name, this.currentSlot[name]);\n this.prevSlot[name] = this.currentSlot[name];\n });\n\n this.anim.playSegment(this.playParamsHandle(params), expandOpts);\n }\n\n playParamsHandle(params) {\n let p = [].concat(params);\n const { keyframes } = this.anim;\n if (!p.length || p.length > 2) {\n p = [keyframes.ip, keyframes.op];\n } else if (p.length === 1) {\n p = [p[0] % keyframes.op, keyframes.op];\n }\n return p;\n }\n\n onTap(name, callback) {\n const g = new Graphics();\n this.on('success', () => {\n const ele = this.anim.querySelector(name);\n const display = ele.display;\n g.beginFill(0xffffff);\n g.drawRect(0, 0, 100, 100);\n g.endFill();\n g.alpha = 0;\n display.addChild(g);\n ele.display.interactive = true;\n ele.display.on('pointertap', () => {\n callback();\n });\n });\n }\n}\n"],"names":["t","Object","prototype","toString","call","s","copyJSON","JSON","parse","stringify","isArray","e","isString","isNumber","isFunction","isUndefined","isBoolean","isObject","random","this","Math","length","euclideanModulo","codomainBounce","clamp","inRange","getAssets","id","console","error","rgb2hex","constructor","listeners","addEventListener","on","removeEventListener","off","push","i","h","splice","once","emit","slice","apply","Ajax","Texture","r","a","p","c","d","u","completed","tt","td","hasMask","masksProperties","pt","k","l","ty","layers","n","refId","o","shapes","m","__used","ks","it","v","split","assets","chars","data","__converted","f","closed","cl","singleShape","g","__complete","y","Float32Array","_","S","x","M","Error","mX1","mY1","mX2","mY2","sampleValues","Array","_preCompute","get","bind","_getTForX","abs","P","T","replace","w","D","Uint8ClampedArray","Int16Array","L","concat","F","newElement","release","A","C","_length","_maxLength","setPathData","setLength","doubleArrayLength","setXYAt","max","setTripleAt","reverse","b","clone","I","addShape","releaseShapes","E","V","N","q","O","outTypeExpressionMode","_hasOutTypeExpression","container","addDynamicProperty","dynamicProperties","indexOf","_isAnimated","iterateDynamicProperties","_mdf","getValue","initDynamicPropertyContainer","X","addedLength","percents","lengths","Y","totalLength","j","z","pow","sqrt","B","segmentLength","points","R","partialLength","point","K","G","floor","J","H","getSegmentsLength","getNewSegment","round","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","U","PI","Z","Q","W","$","begin","end","total","type","update","pingpong","st","loopIn","min","loopOut","test","name","mode","offset","match","map","parseInt","et","ht","cos","sin","rt","interpolateValue","propType","pv","lastIndex","keyframes","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","atan2","asin","acos","getValueAtCurrentTime","_caching","setVValue","mult","processEffectsSequence","expression","frameId","effectsSequence","lock","_isFirstFrame","kf","addEffect","at","super","elem","vel","nt","comp","ot","value","lt","ct","interpolateShape","interpolateShapeCurrentTime","resetShape","paths","localShapeCollection","shapesEqual","dt","reset","ut","ft","convertEllToPath","gt","mt","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","or","os","yt","convertRectToPath","vt","_t","session","viewData","inv","hasMasks","kt","tan","props","shear","_identityCalculated","_identity","isIdentity","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","transform","applyToPoint","applyToX","applyToY","applyToZ","applyToPointArray","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","cloneFromProps","equals","inversePoints","inversePoint","St","sequences","sequenceList","transform_key_count","addTransformSequence","key","transforms","finalTransform","processSequence","mProps","processSequences","getNewKey","xt","pos","Mt","styledShapes","tr","trNodes","elements","setAsAnimated","Pt","Tt","wt","Null","Path","Shape","Solid","Sprite","Component","Container","Dt","preTransforms","hd","displayType","display","innerDisplay","addChild","updateGrahpics","updateLottieGrahpics","Lt","pre","appliedTransformations","px","py","pz","rx","ry","rz","sk","sa","_isDirty","precalculateMatrix","autoOriented","globalData","frameRate","getValueAtTime","offsetTime","applyToMatrix","Ft","At","initModifierProperties","addShapeToModifier","shape","init","processKeys","Ct","bt","sValue","eValue","pathsData","calculateShapeEdges","releasePathsData","processShapes","totalShapeLength","addShapes","pop","addPaths","addSegment","addSegmentFromArray","rd","processPath","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","nm","reloadShapes","op","positions","distV","distO","distI","dc","maxDist","mouseX","mouseY","globalToLocal","last","It","Et","dataProps","dashArray","dashoffset","Vt","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","prop","comparePoints","Nt","keyframesManager","shapesData","stylesList","itemsData","prevViewData","shapeModifiers","processedElements","transformsManager","lcEnum","ljEnum","transformHelper","opacity","_opMdf","searchShapes","updateModifiers","updateShape","createStyleElement","co","lc","lj","ml","wi","da","do","style","addShapeToModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","searchProcessedElement","addProcessedElement","createGroupElement","createTransformElement","createShapeElement","addTransformToStyleList","removeTransformFromStyleList","closeStyles","_shouldRender","updateShapeTransform","updateStyledShape","pts","updatePath","updateFill","coOp","updateStroke","updateGradientFill","grd","qt","hs","anchorX","anchorY","scaleX","scaleY","rotation","alpha","Ot","masks","needUpdateOverlap","isOverlapMode","visible","initFrame","layer","local","global","isOverlapLayer","overlapMode","parseLayer","prepareProperties","_isParent","tm","updateFrame","ip","updateDisplay","_isRoot","show","hide","updateLottieTransform","updateLottieMasks","Xt","sr","fullname","idname","ln","classnames","bodymovin","hierarchy","lottieTreeParent","initBodymovin","onSetupLottie","hasValidMasks","setHierarchy","initDisplayInstance","Yt","maskComp","viewport","config","childNodes","jt","rect","width","sw","height","color","sc","zt","textureLoader","texture","getTextureById","asset","Bt","Rt","Kt","living","infinite","repeats","alternate","wait","delay","timeScale","frameNum","isPaused","direction","_lastFrame","_repeatsCut","_delayCut","_waitCut","segments","_segmentName","initSegment","_prefix","prefix","_autoLoad","autoLoad","_autoStart","autoStart","_justDisplayOnImagesLoaded","justDisplayOnImagesLoaded","_maskComp","jsonLoader","root","parent","group","isDisplayLoaded","isImagesLoaded","_copyJSON","_setupDate","path","lastIndexOf","substr","warn","_sourceData","fr","frameMult","_defaultSegment","beginFrame","endFrame","_timePerFrame","duration","filter","loaded","_pausedNeedSet","_buildElements","_justDisplayNeedSet","_extraCompositions","_createElements","ind","getDisplayByQuerySelector","querySelector","_queryMatch","_searchNodes","querySelectorAll","bindSlot","unbindSlot","removeChild","_emitFrame","_updateTime","hadEnded","_spill","frameToTime","setSpeed","playSegment","replay","goToAndStop","pause","goToAndPlay","resume","getDuration","setDirection","play","destroy","remove","Gt","_lastTime","_snippet","ticker","groups","start","add","arguments","parseAnimation","Date","now","stop","timeline","parentCompBox","lineStyle","updateLayerMask","moveTo","lineTo","bezierCurveTo","addHole","updateMasks","clear","beginFill","endFill","initCompMask","lottieElement","preCompMask","mask","graphicsMasks","pivot","join","buffer","set","setBuffer","gl","vertices","indices","Uint16Array","GLBuffer","createVertexBuffer","indexBuffer","createIndexBuffer","dirty","shader","vao","VertexArrayObject","addIndex","addAttribute","attributes","aVertexPosition","FLOAT","upload","isFinite","cmd","args","cmds","isClosed","lineDash","lineWidth","newPoints","toDrawOrNotToDraw","lineDashOffset","lineCap","lineJoin","miterLimit","registerPlugin","graphicsDataPool","primitiveShader","webGLData","CONTEXT_UID","onContextChange","renderer","render","getWebGLData","isDirty","updateGraphics","bindShader","state","setBlendMode","blendMode","uniforms","translationMatrix","worldTransform","toArray","hex2rgb","worldAlpha","bindVao","draw","TRIANGLES","drawType","buildStroke","buildFill","holes","earcut","attribState","context","resolution","tx","globalAlpha","setLineDash","beginPath","drawPath","strokeStyle","stroke","fillStyle","fill","isClockWise","getLength","closePath","_samplerPoints","currentPath","NORMAL","firstIsClockWise","preClockWiseStatus","endPath","_renderWebGL","setObjectRenderer","plugins","lottiegraphics","_renderCanvas","drawRect","baseTexture","hasLoaded","orig","_updateUvs","textures","_total","_failed","_received","load","forEach","up","fromImage","_onComplete","response","responseText","onSuccess","onFail","XMLHttpRequest","open","responseType","send","onreadystatechange","readyState","status","Linear","None","Ease","In","Out","InOut","Bezier","Elastic","Back","Bounce","element","resident","onComplete","onUpdate","paused","from","ease","tpf","tfs","ignoreProps","runners","queues","cursor","then","create","waitCut","delayCut","progress","spill","repeatsCut","nextPose","linear","restart","cancel","nextOne","_residueTime","initOne","index","pose","settings","UPDATE_PRIORITY","animationTicker","shared","animates","updateDeltaTime","HIGH","clearAnimators","TARGET_FPMS","animate","_addMove","clearAll","setupAnimations","animations","defineProperties","scaleXY","pivotX","pivotY","updateTransform","_boundsID","children","containerUpdateTransform","major","iOSVersion","window","navigator","userAgent","dataURL2ObjUrl","dataURL","URL","webkitURL","createObjectURL","blob","binaryString","atob","arrayBuffer","ArrayBuffer","intArray","Uint8Array","mime","charCodeAt","result","Blob","log","dataURL2blob","LoaderRegister","options","LoadTexture","LoadJson","DisplayRegister","CompElement","passMatrix","setShapeTransform","setFromMatrix","_bounds","updateID","SolidElement","SpriteElement","_this","__extends","LottieSystem","renderSystem","game","systems","find","application","app","changed","componentName","OBSERVER_TYPE","ADD","REMOVE","manager","AnimationManager","component","containerManager","getContainer","gameObject","_a","rn","otherOpts","resource","getResource","_b","json","item","source","anim","addChildAt","managerLife","eventName","destory","decorators","componentObserver","Lottie","Renderer","_super","loadStatus","event_1","firstPlay","params","expandOpts","_c","anchor","_d","currentSlot","Text","TextStyle","prevSlot","playParamsHandle","callback","Graphics","ele","interactive","__decorate","IDEProp"],"mappings":"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"}
|