{"version":3,"file":"js/797.3c56598f.js","mappings":"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","sources":["webpack://nologo-studios-website.vue.webclient/./node_modules/lottie-web-vue/dist/lottie-web-vue.js"],"sourcesContent":["import { defineComponent, ref, onMounted, onBeforeUnmount, openBlock, createElementBlock } from \"vue\";\nvar commonjsGlobal = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction getDefaultExportFromCjs(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar lottie = { exports: {} };\n(function(module, exports) {\n typeof navigator < \"u\" && function(t, e) {\n module.exports = e();\n }(commonjsGlobal, function() {\n var svgNS = \"http://www.w3.org/2000/svg\", locationHref = \"\", _useWebWorker = !1, initialDefaultFrame = -999999, setWebWorker = function(e) {\n _useWebWorker = !!e;\n }, getWebWorker = function() {\n return _useWebWorker;\n }, setLocationHref = function(e) {\n locationHref = e;\n }, getLocationHref = function() {\n return locationHref;\n };\n function createTag(t) {\n return document.createElement(t);\n }\n function extendPrototype(t, e) {\n var r, i = t.length, s;\n for (r = 0; r < i; r += 1) {\n s = t[r].prototype;\n for (var a in s)\n Object.prototype.hasOwnProperty.call(s, a) && (e.prototype[a] = s[a]);\n }\n }\n function getDescriptor(t, e) {\n return Object.getOwnPropertyDescriptor(t, e);\n }\n function createProxyFunction(t) {\n function e() {\n }\n return e.prototype = t, e;\n }\n var audioControllerFactory = function() {\n function t(e) {\n this.audios = [], this.audioFactory = e, this._volume = 1, this._isMuted = !1;\n }\n return t.prototype = {\n addAudio: function(r) {\n this.audios.push(r);\n },\n pause: function() {\n var r, i = this.audios.length;\n for (r = 0; r < i; r += 1)\n this.audios[r].pause();\n },\n resume: function() {\n var r, i = this.audios.length;\n for (r = 0; r < i; r += 1)\n this.audios[r].resume();\n },\n setRate: function(r) {\n var i, s = this.audios.length;\n for (i = 0; i < s; i += 1)\n this.audios[i].setRate(r);\n },\n createAudio: function(r) {\n return this.audioFactory ? this.audioFactory(r) : window.Howl ? new window.Howl({\n src: [r]\n }) : {\n isPlaying: !1,\n play: function() {\n this.isPlaying = !0;\n },\n seek: function() {\n this.isPlaying = !1;\n },\n playing: function() {\n },\n rate: function() {\n },\n setVolume: function() {\n }\n };\n },\n setAudioFactory: function(r) {\n this.audioFactory = r;\n },\n setVolume: function(r) {\n this._volume = r, this._updateVolume();\n },\n mute: function() {\n this._isMuted = !0, this._updateVolume();\n },\n unmute: function() {\n this._isMuted = !1, this._updateVolume();\n },\n getVolume: function() {\n return this._volume;\n },\n _updateVolume: function() {\n var r, i = this.audios.length;\n for (r = 0; r < i; r += 1)\n this.audios[r].volume(this._volume * (this._isMuted ? 0 : 1));\n }\n }, function() {\n return new t();\n };\n }(), createTypedArray = function() {\n function t(r, i) {\n var s = 0, a = [], n;\n switch (r) {\n case \"int16\":\n case \"uint8c\":\n n = 1;\n break;\n default:\n n = 1.1;\n break;\n }\n for (s = 0; s < i; s += 1)\n a.push(n);\n return a;\n }\n function e(r, i) {\n return r === \"float32\" ? new Float32Array(i) : r === \"int16\" ? new Int16Array(i) : r === \"uint8c\" ? new Uint8ClampedArray(i) : t(r, i);\n }\n return typeof Uint8ClampedArray == \"function\" && typeof Float32Array == \"function\" ? e : t;\n }();\n function createSizedArray(t) {\n return Array.apply(null, {\n length: t\n });\n }\n function _typeof$6(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? _typeof$6 = function(r) {\n return typeof r;\n } : _typeof$6 = function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n }, _typeof$6(t);\n }\n var subframeEnabled = !0, expressionsPlugin = null, expressionsInterfaces = null, idPrefix$1 = \"\", isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), bmPow = Math.pow, bmSqrt = Math.sqrt, bmFloor = Math.floor, bmMax = Math.max, bmMin = Math.min, BMMath = {};\n (function() {\n var t = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"], e, r = t.length;\n for (e = 0; e < r; e += 1)\n BMMath[t[e]] = Math[t[e]];\n })(), BMMath.random = Math.random, BMMath.abs = function(t) {\n var e = _typeof$6(t);\n if (e === \"object\" && t.length) {\n var r = createSizedArray(t.length), i, s = t.length;\n for (i = 0; i < s; i += 1)\n r[i] = Math.abs(t[i]);\n return r;\n }\n return Math.abs(t);\n };\n var defaultCurveSegments = 150, degToRads = Math.PI / 180, roundCorner = 0.5519;\n function styleDiv(t) {\n t.style.position = \"absolute\", t.style.top = 0, t.style.left = 0, t.style.display = \"block\", t.style.transformOrigin = \"0 0\", t.style.webkitTransformOrigin = \"0 0\", t.style.backfaceVisibility = \"visible\", t.style.webkitBackfaceVisibility = \"visible\", t.style.transformStyle = \"preserve-3d\", t.style.webkitTransformStyle = \"preserve-3d\", t.style.mozTransformStyle = \"preserve-3d\";\n }\n function BMEnterFrameEvent(t, e, r, i) {\n this.type = t, this.currentTime = e, this.totalTime = r, this.direction = i < 0 ? -1 : 1;\n }\n function BMCompleteEvent(t, e) {\n this.type = t, this.direction = e < 0 ? -1 : 1;\n }\n function BMCompleteLoopEvent(t, e, r, i) {\n this.type = t, this.currentLoop = r, this.totalLoops = e, this.direction = i < 0 ? -1 : 1;\n }\n function BMSegmentStartEvent(t, e, r) {\n this.type = t, this.firstFrame = e, this.totalFrames = r;\n }\n function BMDestroyEvent(t, e) {\n this.type = t, this.target = e;\n }\n function BMRenderFrameErrorEvent(t, e) {\n this.type = \"renderFrameError\", this.nativeError = t, this.currentTime = e;\n }\n function BMConfigErrorEvent(t) {\n this.type = \"configError\", this.nativeError = t;\n }\n var createElementID = function() {\n var t = 0;\n return function() {\n return t += 1, idPrefix$1 + \"__lottie_element_\" + t;\n };\n }();\n function HSVtoRGB(t, e, r) {\n var i, s, a, n, h, o, f, v;\n switch (n = Math.floor(t * 6), h = t * 6 - n, o = r * (1 - e), f = r * (1 - h * e), v = r * (1 - (1 - h) * e), n % 6) {\n case 0:\n i = r, s = v, a = o;\n break;\n case 1:\n i = f, s = r, a = o;\n break;\n case 2:\n i = o, s = r, a = v;\n break;\n case 3:\n i = o, s = f, a = r;\n break;\n case 4:\n i = v, s = o, a = r;\n break;\n case 5:\n i = r, s = o, a = f;\n break;\n }\n return [i, s, a];\n }\n function RGBtoHSV(t, e, r) {\n var i = Math.max(t, e, r), s = Math.min(t, e, r), a = i - s, n, h = i === 0 ? 0 : a / i, o = i / 255;\n switch (i) {\n case s:\n n = 0;\n break;\n case t:\n n = e - r + a * (e < r ? 6 : 0), n /= 6 * a;\n break;\n case e:\n n = r - t + a * 2, n /= 6 * a;\n break;\n case r:\n n = t - e + a * 4, n /= 6 * a;\n break;\n }\n return [n, h, o];\n }\n function addSaturationToRGB(t, e) {\n var r = RGBtoHSV(t[0] * 255, t[1] * 255, t[2] * 255);\n return r[1] += e, r[1] > 1 ? r[1] = 1 : r[1] <= 0 && (r[1] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n function addBrightnessToRGB(t, e) {\n var r = RGBtoHSV(t[0] * 255, t[1] * 255, t[2] * 255);\n return r[2] += e, r[2] > 1 ? r[2] = 1 : r[2] < 0 && (r[2] = 0), HSVtoRGB(r[0], r[1], r[2]);\n }\n function addHueToRGB(t, e) {\n var r = RGBtoHSV(t[0] * 255, t[1] * 255, t[2] * 255);\n return r[0] += e / 360, r[0] > 1 ? r[0] -= 1 : r[0] < 0 && (r[0] += 1), HSVtoRGB(r[0], r[1], r[2]);\n }\n var rgbToHex = function() {\n var t = [], e, r;\n for (e = 0; e < 256; e += 1)\n r = e.toString(16), t[e] = r.length === 1 ? \"0\" + r : r;\n return function(i, s, a) {\n return i < 0 && (i = 0), s < 0 && (s = 0), a < 0 && (a = 0), \"#\" + t[i] + t[s] + t[a];\n };\n }(), setSubframeEnabled = function(e) {\n subframeEnabled = !!e;\n }, getSubframeEnabled = function() {\n return subframeEnabled;\n }, setExpressionsPlugin = function(e) {\n expressionsPlugin = e;\n }, getExpressionsPlugin = function() {\n return expressionsPlugin;\n }, setExpressionInterfaces = function(e) {\n expressionsInterfaces = e;\n }, getExpressionInterfaces = function() {\n return expressionsInterfaces;\n }, setDefaultCurveSegments = function(e) {\n defaultCurveSegments = e;\n }, getDefaultCurveSegments = function() {\n return defaultCurveSegments;\n }, setIdPrefix = function(e) {\n idPrefix$1 = e;\n };\n function createNS(t) {\n return document.createElementNS(svgNS, t);\n }\n function _typeof$5(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? _typeof$5 = function(r) {\n return typeof r;\n } : _typeof$5 = function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n }, _typeof$5(t);\n }\n var dataManager = function() {\n var t = 1, e = [], r, i, s = {\n onmessage: function() {\n },\n postMessage: function(b) {\n r({\n data: b\n });\n }\n }, a = {\n postMessage: function(b) {\n s.onmessage({\n data: b\n });\n }\n };\n function n(p) {\n if (window.Worker && window.Blob && getWebWorker()) {\n var b = new Blob([\"var _workerSelf = self; self.onmessage = \", p.toString()], {\n type: \"text/javascript\"\n }), g = URL.createObjectURL(b);\n return new Worker(g);\n }\n return r = p, s;\n }\n function h() {\n i || (i = n(function(b) {\n function g() {\n function x(I, C) {\n var A, y, P = I.length, k, F, R, z;\n for (y = 0; y < P; y += 1)\n if (A = I[y], \"ks\" in A && !A.completed) {\n if (A.completed = !0, A.hasMask) {\n var N = A.masksProperties;\n for (F = N.length, k = 0; k < F; k += 1)\n if (N[k].pt.k.i)\n E(N[k].pt.k);\n else\n for (z = N[k].pt.k.length, R = 0; R < z; R += 1)\n N[k].pt.k[R].s && E(N[k].pt.k[R].s[0]), N[k].pt.k[R].e && E(N[k].pt.k[R].e[0]);\n }\n A.ty === 0 ? (A.layers = l(A.refId, C), x(A.layers, C)) : A.ty === 4 ? d(A.shapes) : A.ty === 5 && D(A);\n }\n }\n function c(I, C) {\n if (I) {\n var A = 0, y = I.length;\n for (A = 0; A < y; A += 1)\n I[A].t === 1 && (I[A].data.layers = l(I[A].data.refId, C), x(I[A].data.layers, C));\n }\n }\n function u(I, C) {\n for (var A = 0, y = C.length; A < y; ) {\n if (C[A].id === I)\n return C[A];\n A += 1;\n }\n return null;\n }\n function l(I, C) {\n var A = u(I, C);\n return A ? A.layers.__used ? JSON.parse(JSON.stringify(A.layers)) : (A.layers.__used = !0, A.layers) : null;\n }\n function d(I) {\n var C, A = I.length, y, P;\n for (C = A - 1; C >= 0; C -= 1)\n if (I[C].ty === \"sh\")\n if (I[C].ks.k.i)\n E(I[C].ks.k);\n else\n for (P = I[C].ks.k.length, y = 0; y < P; y += 1)\n I[C].ks.k[y].s && E(I[C].ks.k[y].s[0]), I[C].ks.k[y].e && E(I[C].ks.k[y].e[0]);\n else\n I[C].ty === \"gr\" && d(I[C].it);\n }\n function E(I) {\n var C, A = I.i.length;\n for (C = 0; C < A; C += 1)\n I.i[C][0] += I.v[C][0], I.i[C][1] += I.v[C][1], I.o[C][0] += I.v[C][0], I.o[C][1] += I.v[C][1];\n }\n function _(I, C) {\n var A = C ? C.split(\".\") : [100, 100, 100];\n return I[0] > A[0] ? !0 : A[0] > I[0] ? !1 : I[1] > A[1] ? !0 : A[1] > I[1] ? !1 : I[2] > A[2] ? !0 : A[2] > I[2] ? !1 : null;\n }\n var T = function() {\n var I = [4, 4, 14];\n function C(y) {\n var P = y.t.d;\n y.t.d = {\n k: [{\n s: P,\n t: 0\n }]\n };\n }\n function A(y) {\n var P, k = y.length;\n for (P = 0; P < k; P += 1)\n y[P].ty === 5 && C(y[P]);\n }\n return function(y) {\n if (_(I, y.v) && (A(y.layers), y.assets)) {\n var P, k = y.assets.length;\n for (P = 0; P < k; P += 1)\n y.assets[P].layers && A(y.assets[P].layers);\n }\n };\n }(), M = function() {\n var I = [4, 7, 99];\n return function(C) {\n if (C.chars && !_(I, C.v)) {\n var A, y = C.chars.length;\n for (A = 0; A < y; A += 1) {\n var P = C.chars[A];\n P.data && P.data.shapes && (d(P.data.shapes), P.data.ip = 0, P.data.op = 99999, P.data.st = 0, P.data.sr = 1, P.data.ks = {\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n }\n }, C.chars[A].t || (P.data.shapes.push({\n ty: \"no\"\n }), P.data.shapes[0].it.push({\n p: {\n k: [0, 0],\n a: 0\n },\n s: {\n k: [100, 100],\n a: 0\n },\n a: {\n k: [0, 0],\n a: 0\n },\n r: {\n k: 0,\n a: 0\n },\n o: {\n k: 100,\n a: 0\n },\n sk: {\n k: 0,\n a: 0\n },\n sa: {\n k: 0,\n a: 0\n },\n ty: \"tr\"\n })));\n }\n }\n };\n }(), w = function() {\n var I = [5, 7, 15];\n function C(y) {\n var P = y.t.p;\n typeof P.a == \"number\" && (P.a = {\n a: 0,\n k: P.a\n }), typeof P.p == \"number\" && (P.p = {\n a: 0,\n k: P.p\n }), typeof P.r == \"number\" && (P.r = {\n a: 0,\n k: P.r\n });\n }\n function A(y) {\n var P, k = y.length;\n for (P = 0; P < k; P += 1)\n y[P].ty === 5 && C(y[P]);\n }\n return function(y) {\n if (_(I, y.v) && (A(y.layers), y.assets)) {\n var P, k = y.assets.length;\n for (P = 0; P < k; P += 1)\n y.assets[P].layers && A(y.assets[P].layers);\n }\n };\n }(), G = function() {\n var I = [4, 1, 9];\n function C(y) {\n var P, k = y.length, F, R;\n for (P = 0; P < k; P += 1)\n if (y[P].ty === \"gr\")\n C(y[P].it);\n else if (y[P].ty === \"fl\" || y[P].ty === \"st\")\n if (y[P].c.k && y[P].c.k[0].i)\n for (R = y[P].c.k.length, F = 0; F < R; F += 1)\n y[P].c.k[F].s && (y[P].c.k[F].s[0] /= 255, y[P].c.k[F].s[1] /= 255, y[P].c.k[F].s[2] /= 255, y[P].c.k[F].s[3] /= 255), y[P].c.k[F].e && (y[P].c.k[F].e[0] /= 255, y[P].c.k[F].e[1] /= 255, y[P].c.k[F].e[2] /= 255, y[P].c.k[F].e[3] /= 255);\n else\n y[P].c.k[0] /= 255, y[P].c.k[1] /= 255, y[P].c.k[2] /= 255, y[P].c.k[3] /= 255;\n }\n function A(y) {\n var P, k = y.length;\n for (P = 0; P < k; P += 1)\n y[P].ty === 4 && C(y[P].shapes);\n }\n return function(y) {\n if (_(I, y.v) && (A(y.layers), y.assets)) {\n var P, k = y.assets.length;\n for (P = 0; P < k; P += 1)\n y.assets[P].layers && A(y.assets[P].layers);\n }\n };\n }(), L = function() {\n var I = [4, 4, 18];\n function C(y) {\n var P, k = y.length, F, R;\n for (P = k - 1; P >= 0; P -= 1)\n if (y[P].ty === \"sh\")\n if (y[P].ks.k.i)\n y[P].ks.k.c = y[P].closed;\n else\n for (R = y[P].ks.k.length, F = 0; F < R; F += 1)\n y[P].ks.k[F].s && (y[P].ks.k[F].s[0].c = y[P].closed), y[P].ks.k[F].e && (y[P].ks.k[F].e[0].c = y[P].closed);\n else\n y[P].ty === \"gr\" && C(y[P].it);\n }\n function A(y) {\n var P, k, F = y.length, R, z, N, H;\n for (k = 0; k < F; k += 1) {\n if (P = y[k], P.hasMask) {\n var W = P.masksProperties;\n for (z = W.length, R = 0; R < z; R += 1)\n if (W[R].pt.k.i)\n W[R].pt.k.c = W[R].cl;\n else\n for (H = W[R].pt.k.length, N = 0; N < H; N += 1)\n W[R].pt.k[N].s && (W[R].pt.k[N].s[0].c = W[R].cl), W[R].pt.k[N].e && (W[R].pt.k[N].e[0].c = W[R].cl);\n }\n P.ty === 4 && C(P.shapes);\n }\n }\n return function(y) {\n if (_(I, y.v) && (A(y.layers), y.assets)) {\n var P, k = y.assets.length;\n for (P = 0; P < k; P += 1)\n y.assets[P].layers && A(y.assets[P].layers);\n }\n };\n }();\n function V(I) {\n I.__complete || (G(I), T(I), M(I), w(I), L(I), x(I.layers, I.assets), c(I.chars, I.assets), I.__complete = !0);\n }\n function D(I) {\n I.t.a.length === 0 && \"m\" in I.t.p;\n }\n var B = {};\n return B.completeData = V, B.checkColors = G, B.checkChars = M, B.checkPathProperties = w, B.checkShapes = L, B.completeLayers = x, B;\n }\n if (a.dataManager || (a.dataManager = g()), a.assetLoader || (a.assetLoader = function() {\n function x(u) {\n var l = u.getResponseHeader(\"content-type\");\n return l && u.responseType === \"json\" && l.indexOf(\"json\") !== -1 || u.response && _typeof$5(u.response) === \"object\" ? u.response : u.response && typeof u.response == \"string\" ? JSON.parse(u.response) : u.responseText ? JSON.parse(u.responseText) : null;\n }\n function c(u, l, d, E) {\n var _, T = new XMLHttpRequest();\n try {\n T.responseType = \"json\";\n } catch {\n }\n T.onreadystatechange = function() {\n if (T.readyState === 4)\n if (T.status === 200)\n _ = x(T), d(_);\n else\n try {\n _ = x(T), d(_);\n } catch (M) {\n E && E(M);\n }\n };\n try {\n T.open([\"G\", \"E\", \"T\"].join(\"\"), u, !0);\n } catch {\n T.open([\"G\", \"E\", \"T\"].join(\"\"), l + \"/\" + u, !0);\n }\n T.send();\n }\n return {\n load: c\n };\n }()), b.data.type === \"loadAnimation\")\n a.assetLoader.load(b.data.path, b.data.fullPath, function(x) {\n a.dataManager.completeData(x), a.postMessage({\n id: b.data.id,\n payload: x,\n status: \"success\"\n });\n }, function() {\n a.postMessage({\n id: b.data.id,\n status: \"error\"\n });\n });\n else if (b.data.type === \"complete\") {\n var m = b.data.animation;\n a.dataManager.completeData(m), a.postMessage({\n id: b.data.id,\n payload: m,\n status: \"success\"\n });\n } else\n b.data.type === \"loadData\" && a.assetLoader.load(b.data.path, b.data.fullPath, function(x) {\n a.postMessage({\n id: b.data.id,\n payload: x,\n status: \"success\"\n });\n }, function() {\n a.postMessage({\n id: b.data.id,\n status: \"error\"\n });\n });\n }), i.onmessage = function(p) {\n var b = p.data, g = b.id, m = e[g];\n e[g] = null, b.status === \"success\" ? m.onComplete(b.payload) : m.onError && m.onError();\n });\n }\n function o(p, b) {\n t += 1;\n var g = \"processId_\" + t;\n return e[g] = {\n onComplete: p,\n onError: b\n }, g;\n }\n function f(p, b, g) {\n h();\n var m = o(b, g);\n i.postMessage({\n type: \"loadAnimation\",\n path: p,\n fullPath: window.location.origin + window.location.pathname,\n id: m\n });\n }\n function v(p, b, g) {\n h();\n var m = o(b, g);\n i.postMessage({\n type: \"loadData\",\n path: p,\n fullPath: window.location.origin + window.location.pathname,\n id: m\n });\n }\n function S(p, b, g) {\n h();\n var m = o(b, g);\n i.postMessage({\n type: \"complete\",\n animation: p,\n id: m\n });\n }\n return {\n loadAnimation: f,\n loadData: v,\n completeAnimation: S\n };\n }(), ImagePreloader = function() {\n var t = function() {\n var c = createTag(\"canvas\");\n c.width = 1, c.height = 1;\n var u = c.getContext(\"2d\");\n return u.fillStyle = \"rgba(0,0,0,0)\", u.fillRect(0, 0, 1, 1), c;\n }();\n function e() {\n this.loadedAssets += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n function r() {\n this.loadedFootagesCount += 1, this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages && this.imagesLoadedCb && this.imagesLoadedCb(null);\n }\n function i(c, u, l) {\n var d = \"\";\n if (c.e)\n d = c.p;\n else if (u) {\n var E = c.p;\n E.indexOf(\"images/\") !== -1 && (E = E.split(\"/\")[1]), d = u + E;\n } else\n d = l, d += c.u ? c.u : \"\", d += c.p;\n return d;\n }\n function s(c) {\n var u = 0, l = setInterval(function() {\n var d = c.getBBox();\n (d.width || u > 500) && (this._imageLoaded(), clearInterval(l)), u += 1;\n }.bind(this), 50);\n }\n function a(c) {\n var u = i(c, this.assetsPath, this.path), l = createNS(\"image\");\n isSafari ? this.testImageLoaded(l) : l.addEventListener(\"load\", this._imageLoaded, !1), l.addEventListener(\"error\", function() {\n d.img = t, this._imageLoaded();\n }.bind(this), !1), l.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", u), this._elementHelper.append ? this._elementHelper.append(l) : this._elementHelper.appendChild(l);\n var d = {\n img: l,\n assetData: c\n };\n return d;\n }\n function n(c) {\n var u = i(c, this.assetsPath, this.path), l = createTag(\"img\");\n l.crossOrigin = \"anonymous\", l.addEventListener(\"load\", this._imageLoaded, !1), l.addEventListener(\"error\", function() {\n d.img = t, this._imageLoaded();\n }.bind(this), !1), l.src = u;\n var d = {\n img: l,\n assetData: c\n };\n return d;\n }\n function h(c) {\n var u = {\n assetData: c\n }, l = i(c, this.assetsPath, this.path);\n return dataManager.loadData(l, function(d) {\n u.img = d, this._footageLoaded();\n }.bind(this), function() {\n u.img = {}, this._footageLoaded();\n }.bind(this)), u;\n }\n function o(c, u) {\n this.imagesLoadedCb = u;\n var l, d = c.length;\n for (l = 0; l < d; l += 1)\n c[l].layers || (!c[l].t || c[l].t === \"seq\" ? (this.totalImages += 1, this.images.push(this._createImageData(c[l]))) : c[l].t === 3 && (this.totalFootages += 1, this.images.push(this.createFootageData(c[l]))));\n }\n function f(c) {\n this.path = c || \"\";\n }\n function v(c) {\n this.assetsPath = c || \"\";\n }\n function S(c) {\n for (var u = 0, l = this.images.length; u < l; ) {\n if (this.images[u].assetData === c)\n return this.images[u].img;\n u += 1;\n }\n return null;\n }\n function p() {\n this.imagesLoadedCb = null, this.images.length = 0;\n }\n function b() {\n return this.totalImages === this.loadedAssets;\n }\n function g() {\n return this.totalFootages === this.loadedFootagesCount;\n }\n function m(c, u) {\n c === \"svg\" ? (this._elementHelper = u, this._createImageData = this.createImageData.bind(this)) : this._createImageData = this.createImgData.bind(this);\n }\n function x() {\n this._imageLoaded = e.bind(this), this._footageLoaded = r.bind(this), this.testImageLoaded = s.bind(this), this.createFootageData = h.bind(this), this.assetsPath = \"\", this.path = \"\", this.totalImages = 0, this.totalFootages = 0, this.loadedAssets = 0, this.loadedFootagesCount = 0, this.imagesLoadedCb = null, this.images = [];\n }\n return x.prototype = {\n loadAssets: o,\n setAssetsPath: v,\n setPath: f,\n loadedImages: b,\n loadedFootages: g,\n destroy: p,\n getAsset: S,\n createImgData: n,\n createImageData: a,\n imageLoaded: e,\n footageLoaded: r,\n setCacheType: m\n }, x;\n }();\n function BaseEvent() {\n }\n BaseEvent.prototype = {\n triggerEvent: function(e, r) {\n if (this._cbs[e])\n for (var i = this._cbs[e], s = 0; s < i.length; s += 1)\n i[s](r);\n },\n addEventListener: function(e, r) {\n return this._cbs[e] || (this._cbs[e] = []), this._cbs[e].push(r), function() {\n this.removeEventListener(e, r);\n }.bind(this);\n },\n removeEventListener: function(e, r) {\n if (!r)\n this._cbs[e] = null;\n else if (this._cbs[e]) {\n for (var i = 0, s = this._cbs[e].length; i < s; )\n this._cbs[e][i] === r && (this._cbs[e].splice(i, 1), i -= 1, s -= 1), i += 1;\n this._cbs[e].length || (this._cbs[e] = null);\n }\n }\n };\n var markerParser = function() {\n function t(e) {\n for (var r = e.split(`\\r\n`), i = {}, s, a = 0, n = 0; n < r.length; n += 1)\n s = r[n].split(\":\"), s.length === 2 && (i[s[0]] = s[1].trim(), a += 1);\n if (a === 0)\n throw new Error();\n return i;\n }\n return function(e) {\n for (var r = [], i = 0; i < e.length; i += 1) {\n var s = e[i], a = {\n time: s.tm,\n duration: s.dr\n };\n try {\n a.payload = JSON.parse(e[i].cm);\n } catch {\n try {\n a.payload = t(e[i].cm);\n } catch {\n a.payload = {\n name: e[i].cm\n };\n }\n }\n r.push(a);\n }\n return r;\n };\n }(), ProjectInterface = function() {\n function t(e) {\n this.compositions.push(e);\n }\n return function() {\n function e(r) {\n for (var i = 0, s = this.compositions.length; i < s; ) {\n if (this.compositions[i].data && this.compositions[i].data.nm === r)\n return this.compositions[i].prepareFrame && this.compositions[i].data.xt && this.compositions[i].prepareFrame(this.currentFrame), this.compositions[i].compInterface;\n i += 1;\n }\n return null;\n }\n return e.compositions = [], e.currentFrame = 0, e.registerComposition = t, e;\n };\n }(), renderers = {}, registerRenderer = function(e, r) {\n renderers[e] = r;\n };\n function getRenderer(t) {\n return renderers[t];\n }\n function getRegisteredRenderer() {\n if (renderers.canvas)\n return \"canvas\";\n for (var t in renderers)\n if (renderers[t])\n return t;\n return \"\";\n }\n function _typeof$4(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? _typeof$4 = function(r) {\n return typeof r;\n } : _typeof$4 = function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n }, _typeof$4(t);\n }\n var AnimationItem = function() {\n this._cbs = [], this.name = \"\", this.path = \"\", this.isLoaded = !1, this.currentFrame = 0, this.currentRawFrame = 0, this.firstFrame = 0, this.totalFrames = 0, this.frameRate = 0, this.frameMult = 0, this.playSpeed = 1, this.playDirection = 1, this.playCount = 0, this.animationData = {}, this.assets = [], this.isPaused = !0, this.autoplay = !1, this.loop = !0, this.renderer = null, this.animationID = createElementID(), this.assetsPath = \"\", this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = getSubframeEnabled(), this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = ProjectInterface(), this.imagePreloader = new ImagePreloader(), this.audioController = audioControllerFactory(), this.markers = [], this.configAnimation = this.configAnimation.bind(this), this.onSetupError = this.onSetupError.bind(this), this.onSegmentComplete = this.onSegmentComplete.bind(this), this.drawnFrameEvent = new BMEnterFrameEvent(\"drawnFrame\", 0, 0, 0), this.expressionsPlugin = getExpressionsPlugin();\n };\n extendPrototype([BaseEvent], AnimationItem), AnimationItem.prototype.setParams = function(t) {\n (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container);\n var e = \"svg\";\n t.animType ? e = t.animType : t.renderer && (e = t.renderer);\n var r = getRenderer(e);\n this.renderer = new r(this, t.rendererSettings), this.imagePreloader.setCacheType(e, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = e, t.loop === \"\" || t.loop === null || t.loop === void 0 || t.loop === !0 ? this.loop = !0 : t.loop === !1 ? this.loop = !1 : this.loop = parseInt(t.loop, 10), this.autoplay = \"autoplay\" in t ? t.autoplay : !0, this.name = t.name ? t.name : \"\", this.autoloadSegments = Object.prototype.hasOwnProperty.call(t, \"autoloadSegments\") ? t.autoloadSegments : !0, this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment, t.audioFactory && this.audioController.setAudioFactory(t.audioFactory), t.animationData ? this.setupAnimation(t.animationData) : t.path && (t.path.lastIndexOf(\"\\\\\") !== -1 ? this.path = t.path.substr(0, t.path.lastIndexOf(\"\\\\\") + 1) : this.path = t.path.substr(0, t.path.lastIndexOf(\"/\") + 1), this.fileName = t.path.substr(t.path.lastIndexOf(\"/\") + 1), this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(\".json\")), dataManager.loadAnimation(t.path, this.configAnimation, this.onSetupError));\n }, AnimationItem.prototype.onSetupError = function() {\n this.trigger(\"data_failed\");\n }, AnimationItem.prototype.setupAnimation = function(t) {\n dataManager.completeAnimation(t, this.configAnimation);\n }, AnimationItem.prototype.setData = function(t, e) {\n e && _typeof$4(e) !== \"object\" && (e = JSON.parse(e));\n var r = {\n wrapper: t,\n animationData: e\n }, i = t.attributes;\n r.path = i.getNamedItem(\"data-animation-path\") ? i.getNamedItem(\"data-animation-path\").value : i.getNamedItem(\"data-bm-path\") ? i.getNamedItem(\"data-bm-path\").value : i.getNamedItem(\"bm-path\") ? i.getNamedItem(\"bm-path\").value : \"\", r.animType = i.getNamedItem(\"data-anim-type\") ? i.getNamedItem(\"data-anim-type\").value : i.getNamedItem(\"data-bm-type\") ? i.getNamedItem(\"data-bm-type\").value : i.getNamedItem(\"bm-type\") ? i.getNamedItem(\"bm-type\").value : i.getNamedItem(\"data-bm-renderer\") ? i.getNamedItem(\"data-bm-renderer\").value : i.getNamedItem(\"bm-renderer\") ? i.getNamedItem(\"bm-renderer\").value : getRegisteredRenderer() || \"canvas\";\n var s = i.getNamedItem(\"data-anim-loop\") ? i.getNamedItem(\"data-anim-loop\").value : i.getNamedItem(\"data-bm-loop\") ? i.getNamedItem(\"data-bm-loop\").value : i.getNamedItem(\"bm-loop\") ? i.getNamedItem(\"bm-loop\").value : \"\";\n s === \"false\" ? r.loop = !1 : s === \"true\" ? r.loop = !0 : s !== \"\" && (r.loop = parseInt(s, 10));\n var a = i.getNamedItem(\"data-anim-autoplay\") ? i.getNamedItem(\"data-anim-autoplay\").value : i.getNamedItem(\"data-bm-autoplay\") ? i.getNamedItem(\"data-bm-autoplay\").value : i.getNamedItem(\"bm-autoplay\") ? i.getNamedItem(\"bm-autoplay\").value : !0;\n r.autoplay = a !== \"false\", r.name = i.getNamedItem(\"data-name\") ? i.getNamedItem(\"data-name\").value : i.getNamedItem(\"data-bm-name\") ? i.getNamedItem(\"data-bm-name\").value : i.getNamedItem(\"bm-name\") ? i.getNamedItem(\"bm-name\").value : \"\";\n var n = i.getNamedItem(\"data-anim-prerender\") ? i.getNamedItem(\"data-anim-prerender\").value : i.getNamedItem(\"data-bm-prerender\") ? i.getNamedItem(\"data-bm-prerender\").value : i.getNamedItem(\"bm-prerender\") ? i.getNamedItem(\"bm-prerender\").value : \"\";\n n === \"false\" && (r.prerender = !1), r.path ? this.setParams(r) : this.trigger(\"destroy\");\n }, AnimationItem.prototype.includeLayers = function(t) {\n t.op > this.animationData.op && (this.animationData.op = t.op, this.totalFrames = Math.floor(t.op - this.animationData.ip));\n var e = this.animationData.layers, r, i = e.length, s = t.layers, a, n = s.length;\n for (a = 0; a < n; a += 1)\n for (r = 0; r < i; ) {\n if (e[r].id === s[a].id) {\n e[r] = s[a];\n break;\n }\n r += 1;\n }\n if ((t.chars || t.fonts) && (this.renderer.globalData.fontManager.addChars(t.chars), this.renderer.globalData.fontManager.addFonts(t.fonts, this.renderer.globalData.defs)), t.assets)\n for (i = t.assets.length, r = 0; r < i; r += 1)\n this.animationData.assets.push(t.assets[r]);\n this.animationData.__complete = !1, dataManager.completeAnimation(this.animationData, this.onSegmentComplete);\n }, AnimationItem.prototype.onSegmentComplete = function(t) {\n this.animationData = t;\n var e = getExpressionsPlugin();\n e && e.initExpressions(this), this.loadNextSegment();\n }, AnimationItem.prototype.loadNextSegment = function() {\n var t = this.animationData.segments;\n if (!t || t.length === 0 || !this.autoloadSegments) {\n this.trigger(\"data_ready\"), this.timeCompleted = this.totalFrames;\n return;\n }\n var e = t.shift();\n this.timeCompleted = e.time * this.frameRate;\n var r = this.path + this.fileName + \"_\" + this.segmentPos + \".json\";\n this.segmentPos += 1, dataManager.loadData(r, this.includeLayers.bind(this), function() {\n this.trigger(\"data_failed\");\n }.bind(this));\n }, AnimationItem.prototype.loadSegments = function() {\n var t = this.animationData.segments;\n t || (this.timeCompleted = this.totalFrames), this.loadNextSegment();\n }, AnimationItem.prototype.imagesLoaded = function() {\n this.trigger(\"loaded_images\"), this.checkLoaded();\n }, AnimationItem.prototype.preloadImages = function() {\n this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));\n }, AnimationItem.prototype.configAnimation = function(t) {\n if (this.renderer)\n try {\n this.animationData = t, this.initialSegment ? (this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]), this.firstFrame = Math.round(this.initialSegment[0])) : (this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip), this.firstFrame = Math.round(this.animationData.ip)), this.renderer.configAnimation(t), t.assets || (t.assets = []), this.assets = this.animationData.assets, this.frameRate = this.animationData.fr, this.frameMult = this.animationData.fr / 1e3, this.renderer.searchExtraCompositions(t.assets), this.markers = markerParser(t.markers || []), this.trigger(\"config_ready\"), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause();\n } catch (e) {\n this.triggerConfigError(e);\n }\n }, AnimationItem.prototype.waitForFontsLoaded = function() {\n this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20));\n }, AnimationItem.prototype.checkLoaded = function() {\n if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== \"canvas\") && this.imagePreloader.loadedFootages()) {\n this.isLoaded = !0;\n var t = getExpressionsPlugin();\n t && t.initExpressions(this), this.renderer.initItems(), setTimeout(function() {\n this.trigger(\"DOMLoaded\");\n }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play();\n }\n }, AnimationItem.prototype.resize = function(t, e) {\n var r = typeof t == \"number\" ? t : void 0, i = typeof e == \"number\" ? e : void 0;\n this.renderer.updateContainerSize(r, i);\n }, AnimationItem.prototype.setSubframe = function(t) {\n this.isSubframeEnabled = !!t;\n }, AnimationItem.prototype.gotoFrame = function() {\n this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame, this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted && (this.currentFrame = this.timeCompleted), this.trigger(\"enterFrame\"), this.renderFrame(), this.trigger(\"drawnFrame\");\n }, AnimationItem.prototype.renderFrame = function() {\n if (!(this.isLoaded === !1 || !this.renderer))\n try {\n this.expressionsPlugin && this.expressionsPlugin.resetFrame(), this.renderer.renderFrame(this.currentFrame + this.firstFrame);\n } catch (t) {\n this.triggerRenderFrameError(t);\n }\n }, AnimationItem.prototype.play = function(t) {\n t && this.name !== t || this.isPaused === !0 && (this.isPaused = !1, this.trigger(\"_play\"), this.audioController.resume(), this._idle && (this._idle = !1, this.trigger(\"_active\")));\n }, AnimationItem.prototype.pause = function(t) {\n t && this.name !== t || this.isPaused === !1 && (this.isPaused = !0, this.trigger(\"_pause\"), this._idle = !0, this.trigger(\"_idle\"), this.audioController.pause());\n }, AnimationItem.prototype.togglePause = function(t) {\n t && this.name !== t || (this.isPaused === !0 ? this.play() : this.pause());\n }, AnimationItem.prototype.stop = function(t) {\n t && this.name !== t || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0));\n }, AnimationItem.prototype.getMarkerData = function(t) {\n for (var e, r = 0; r < this.markers.length; r += 1)\n if (e = this.markers[r], e.payload && e.payload.name === t)\n return e;\n return null;\n }, AnimationItem.prototype.goToAndStop = function(t, e, r) {\n if (!(r && this.name !== r)) {\n var i = Number(t);\n if (isNaN(i)) {\n var s = this.getMarkerData(t);\n s && this.goToAndStop(s.time, !0);\n } else\n e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier);\n this.pause();\n }\n }, AnimationItem.prototype.goToAndPlay = function(t, e, r) {\n if (!(r && this.name !== r)) {\n var i = Number(t);\n if (isNaN(i)) {\n var s = this.getMarkerData(t);\n s && (s.duration ? this.playSegments([s.time, s.time + s.duration], !0) : this.goToAndStop(s.time, !0));\n } else\n this.goToAndStop(i, e, r);\n this.play();\n }\n }, AnimationItem.prototype.advanceTime = function(t) {\n if (!(this.isPaused === !0 || this.isLoaded === !1)) {\n var e = this.currentRawFrame + t * this.frameModifier, r = !1;\n e >= this.totalFrames - 1 && this.frameModifier > 0 ? !this.loop || this.playCount === this.loop ? this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) || (r = !0, e = this.totalFrames - 1) : e >= this.totalFrames ? (this.playCount += 1, this.checkSegments(e % this.totalFrames) || (this.setCurrentRawFrameValue(e % this.totalFrames), this._completedLoop = !0, this.trigger(\"loopComplete\"))) : this.setCurrentRawFrameValue(e) : e < 0 ? this.checkSegments(e % this.totalFrames) || (this.loop && !(this.playCount-- <= 0 && this.loop !== !0) ? (this.setCurrentRawFrameValue(this.totalFrames + e % this.totalFrames), this._completedLoop ? this.trigger(\"loopComplete\") : this._completedLoop = !0) : (r = !0, e = 0)) : this.setCurrentRawFrameValue(e), r && (this.setCurrentRawFrameValue(e), this.pause(), this.trigger(\"complete\"));\n }\n }, AnimationItem.prototype.adjustSegment = function(t, e) {\n this.playCount = 0, t[1] < t[0] ? (this.frameModifier > 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(-1)), this.totalFrames = t[0] - t[1], this.timeCompleted = this.totalFrames, this.firstFrame = t[1], this.setCurrentRawFrameValue(this.totalFrames - 1e-3 - e)) : t[1] > t[0] && (this.frameModifier < 0 && (this.playSpeed < 0 ? this.setSpeed(-this.playSpeed) : this.setDirection(1)), this.totalFrames = t[1] - t[0], this.timeCompleted = this.totalFrames, this.firstFrame = t[0], this.setCurrentRawFrameValue(1e-3 + e)), this.trigger(\"segmentStart\");\n }, AnimationItem.prototype.setSegment = function(t, e) {\n var r = -1;\n this.isPaused && (this.currentRawFrame + this.firstFrame < t ? r = t : this.currentRawFrame + this.firstFrame > e && (r = e - t)), this.firstFrame = t, this.totalFrames = e - t, this.timeCompleted = this.totalFrames, r !== -1 && this.goToAndStop(r, !0);\n }, AnimationItem.prototype.playSegments = function(t, e) {\n if (e && (this.segments.length = 0), _typeof$4(t[0]) === \"object\") {\n var r, i = t.length;\n for (r = 0; r < i; r += 1)\n this.segments.push(t[r]);\n } else\n this.segments.push(t);\n this.segments.length && e && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play();\n }, AnimationItem.prototype.resetSegments = function(t) {\n this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), t && this.checkSegments(0);\n }, AnimationItem.prototype.checkSegments = function(t) {\n return this.segments.length ? (this.adjustSegment(this.segments.shift(), t), !0) : !1;\n }, AnimationItem.prototype.destroy = function(t) {\n t && this.name !== t || !this.renderer || (this.renderer.destroy(), this.imagePreloader.destroy(), this.trigger(\"destroy\"), this._cbs = null, this.onEnterFrame = null, this.onLoopComplete = null, this.onComplete = null, this.onSegmentStart = null, this.onDestroy = null, this.renderer = null, this.expressionsPlugin = null, this.imagePreloader = null, this.projectInterface = null);\n }, AnimationItem.prototype.setCurrentRawFrameValue = function(t) {\n this.currentRawFrame = t, this.gotoFrame();\n }, AnimationItem.prototype.setSpeed = function(t) {\n this.playSpeed = t, this.updaFrameModifier();\n }, AnimationItem.prototype.setDirection = function(t) {\n this.playDirection = t < 0 ? -1 : 1, this.updaFrameModifier();\n }, AnimationItem.prototype.setLoop = function(t) {\n this.loop = t;\n }, AnimationItem.prototype.setVolume = function(t, e) {\n e && this.name !== e || this.audioController.setVolume(t);\n }, AnimationItem.prototype.getVolume = function() {\n return this.audioController.getVolume();\n }, AnimationItem.prototype.mute = function(t) {\n t && this.name !== t || this.audioController.mute();\n }, AnimationItem.prototype.unmute = function(t) {\n t && this.name !== t || this.audioController.unmute();\n }, AnimationItem.prototype.updaFrameModifier = function() {\n this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection);\n }, AnimationItem.prototype.getPath = function() {\n return this.path;\n }, AnimationItem.prototype.getAssetsPath = function(t) {\n var e = \"\";\n if (t.e)\n e = t.p;\n else if (this.assetsPath) {\n var r = t.p;\n r.indexOf(\"images/\") !== -1 && (r = r.split(\"/\")[1]), e = this.assetsPath + r;\n } else\n e = this.path, e += t.u ? t.u : \"\", e += t.p;\n return e;\n }, AnimationItem.prototype.getAssetData = function(t) {\n for (var e = 0, r = this.assets.length; e < r; ) {\n if (t === this.assets[e].id)\n return this.assets[e];\n e += 1;\n }\n return null;\n }, AnimationItem.prototype.hide = function() {\n this.renderer.hide();\n }, AnimationItem.prototype.show = function() {\n this.renderer.show();\n }, AnimationItem.prototype.getDuration = function(t) {\n return t ? this.totalFrames : this.totalFrames / this.frameRate;\n }, AnimationItem.prototype.updateDocumentData = function(t, e, r) {\n try {\n var i = this.renderer.getElementByPath(t);\n i.updateDocumentData(e, r);\n } catch {\n }\n }, AnimationItem.prototype.trigger = function(t) {\n if (this._cbs && this._cbs[t])\n switch (t) {\n case \"enterFrame\":\n this.triggerEvent(t, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameModifier));\n break;\n case \"drawnFrame\":\n this.drawnFrameEvent.currentTime = this.currentFrame, this.drawnFrameEvent.totalTime = this.totalFrames, this.drawnFrameEvent.direction = this.frameModifier, this.triggerEvent(t, this.drawnFrameEvent);\n break;\n case \"loopComplete\":\n this.triggerEvent(t, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult));\n break;\n case \"complete\":\n this.triggerEvent(t, new BMCompleteEvent(t, this.frameMult));\n break;\n case \"segmentStart\":\n this.triggerEvent(t, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames));\n break;\n case \"destroy\":\n this.triggerEvent(t, new BMDestroyEvent(t, this));\n break;\n default:\n this.triggerEvent(t);\n }\n t === \"enterFrame\" && this.onEnterFrame && this.onEnterFrame.call(this, new BMEnterFrameEvent(t, this.currentFrame, this.totalFrames, this.frameMult)), t === \"loopComplete\" && this.onLoopComplete && this.onLoopComplete.call(this, new BMCompleteLoopEvent(t, this.loop, this.playCount, this.frameMult)), t === \"complete\" && this.onComplete && this.onComplete.call(this, new BMCompleteEvent(t, this.frameMult)), t === \"segmentStart\" && this.onSegmentStart && this.onSegmentStart.call(this, new BMSegmentStartEvent(t, this.firstFrame, this.totalFrames)), t === \"destroy\" && this.onDestroy && this.onDestroy.call(this, new BMDestroyEvent(t, this));\n }, AnimationItem.prototype.triggerRenderFrameError = function(t) {\n var e = new BMRenderFrameErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n }, AnimationItem.prototype.triggerConfigError = function(t) {\n var e = new BMConfigErrorEvent(t, this.currentFrame);\n this.triggerEvent(\"error\", e), this.onError && this.onError.call(this, e);\n };\n var animationManager = function() {\n var t = {}, e = [], r = 0, i = 0, s = 0, a = !0, n = !1;\n function h(C) {\n for (var A = 0, y = C.target; A < i; )\n e[A].animation === y && (e.splice(A, 1), A -= 1, i -= 1, y.isPaused || S()), A += 1;\n }\n function o(C, A) {\n if (!C)\n return null;\n for (var y = 0; y < i; ) {\n if (e[y].elem === C && e[y].elem !== null)\n return e[y].animation;\n y += 1;\n }\n var P = new AnimationItem();\n return p(P, C), P.setData(C, A), P;\n }\n function f() {\n var C, A = e.length, y = [];\n for (C = 0; C < A; C += 1)\n y.push(e[C].animation);\n return y;\n }\n function v() {\n s += 1, G();\n }\n function S() {\n s -= 1;\n }\n function p(C, A) {\n C.addEventListener(\"destroy\", h), C.addEventListener(\"_active\", v), C.addEventListener(\"_idle\", S), e.push({\n elem: A,\n animation: C\n }), i += 1;\n }\n function b(C) {\n var A = new AnimationItem();\n return p(A, null), A.setParams(C), A;\n }\n function g(C, A) {\n var y;\n for (y = 0; y < i; y += 1)\n e[y].animation.setSpeed(C, A);\n }\n function m(C, A) {\n var y;\n for (y = 0; y < i; y += 1)\n e[y].animation.setDirection(C, A);\n }\n function x(C) {\n var A;\n for (A = 0; A < i; A += 1)\n e[A].animation.play(C);\n }\n function c(C) {\n var A = C - r, y;\n for (y = 0; y < i; y += 1)\n e[y].animation.advanceTime(A);\n r = C, s && !n ? window.requestAnimationFrame(c) : a = !0;\n }\n function u(C) {\n r = C, window.requestAnimationFrame(c);\n }\n function l(C) {\n var A;\n for (A = 0; A < i; A += 1)\n e[A].animation.pause(C);\n }\n function d(C, A, y) {\n var P;\n for (P = 0; P < i; P += 1)\n e[P].animation.goToAndStop(C, A, y);\n }\n function E(C) {\n var A;\n for (A = 0; A < i; A += 1)\n e[A].animation.stop(C);\n }\n function _(C) {\n var A;\n for (A = 0; A < i; A += 1)\n e[A].animation.togglePause(C);\n }\n function T(C) {\n var A;\n for (A = i - 1; A >= 0; A -= 1)\n e[A].animation.destroy(C);\n }\n function M(C, A, y) {\n var P = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\"))), k, F = P.length;\n for (k = 0; k < F; k += 1)\n y && P[k].setAttribute(\"data-bm-type\", y), o(P[k], C);\n if (A && F === 0) {\n y || (y = \"svg\");\n var R = document.getElementsByTagName(\"body\")[0];\n R.innerText = \"\";\n var z = createTag(\"div\");\n z.style.width = \"100%\", z.style.height = \"100%\", z.setAttribute(\"data-bm-type\", y), R.appendChild(z), o(z, C);\n }\n }\n function w() {\n var C;\n for (C = 0; C < i; C += 1)\n e[C].animation.resize();\n }\n function G() {\n !n && s && a && (window.requestAnimationFrame(u), a = !1);\n }\n function L() {\n n = !0;\n }\n function V() {\n n = !1, G();\n }\n function D(C, A) {\n var y;\n for (y = 0; y < i; y += 1)\n e[y].animation.setVolume(C, A);\n }\n function B(C) {\n var A;\n for (A = 0; A < i; A += 1)\n e[A].animation.mute(C);\n }\n function I(C) {\n var A;\n for (A = 0; A < i; A += 1)\n e[A].animation.unmute(C);\n }\n return t.registerAnimation = o, t.loadAnimation = b, t.setSpeed = g, t.setDirection = m, t.play = x, t.pause = l, t.stop = E, t.togglePause = _, t.searchAnimations = M, t.resize = w, t.goToAndStop = d, t.destroy = T, t.freeze = L, t.unfreeze = V, t.setVolume = D, t.mute = B, t.unmute = I, t.getRegisteredAnimations = f, t;\n }(), BezierFactory = function() {\n var t = {};\n t.getBezierEasing = r;\n var e = {};\n function r(u, l, d, E, _) {\n var T = _ || (\"bez_\" + u + \"_\" + l + \"_\" + d + \"_\" + E).replace(/\\./g, \"p\");\n if (e[T])\n return e[T];\n var M = new c([u, l, d, E]);\n return e[T] = M, M;\n }\n var i = 4, s = 1e-3, a = 1e-7, n = 10, h = 11, o = 1 / (h - 1), f = typeof Float32Array == \"function\";\n function v(u, l) {\n return 1 - 3 * l + 3 * u;\n }\n function S(u, l) {\n return 3 * l - 6 * u;\n }\n function p(u) {\n return 3 * u;\n }\n function b(u, l, d) {\n return ((v(l, d) * u + S(l, d)) * u + p(l)) * u;\n }\n function g(u, l, d) {\n return 3 * v(l, d) * u * u + 2 * S(l, d) * u + p(l);\n }\n function m(u, l, d, E, _) {\n var T, M, w = 0;\n do\n M = l + (d - l) / 2, T = b(M, E, _) - u, T > 0 ? d = M : l = M;\n while (Math.abs(T) > a && ++w < n);\n return M;\n }\n function x(u, l, d, E) {\n for (var _ = 0; _ < i; ++_) {\n var T = g(l, d, E);\n if (T === 0)\n return l;\n var M = b(l, d, E) - u;\n l -= M / T;\n }\n return l;\n }\n function c(u) {\n this._p = u, this._mSampleValues = f ? new Float32Array(h) : new Array(h), this._precomputed = !1, this.get = this.get.bind(this);\n }\n return c.prototype = {\n get: function(l) {\n var d = this._p[0], E = this._p[1], _ = this._p[2], T = this._p[3];\n return this._precomputed || this._precompute(), d === E && _ === T ? l : l === 0 ? 0 : l === 1 ? 1 : b(this._getTForX(l), E, T);\n },\n // Private part\n _precompute: function() {\n var l = this._p[0], d = this._p[1], E = this._p[2], _ = this._p[3];\n this._precomputed = !0, (l !== d || E !== _) && this._calcSampleValues();\n },\n _calcSampleValues: function() {\n for (var l = this._p[0], d = this._p[2], E = 0; E < h; ++E)\n this._mSampleValues[E] = b(E * o, l, d);\n },\n /**\n * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\n */\n _getTForX: function(l) {\n for (var d = this._p[0], E = this._p[2], _ = this._mSampleValues, T = 0, M = 1, w = h - 1; M !== w && _[M] <= l; ++M)\n T += o;\n --M;\n var G = (l - _[M]) / (_[M + 1] - _[M]), L = T + G * o, V = g(L, d, E);\n return V >= s ? x(l, L, d, E) : V === 0 ? L : m(l, T, T + o, d, E);\n }\n }, t;\n }(), pooling = function() {\n function t(e) {\n return e.concat(createSizedArray(e.length));\n }\n return {\n double: t\n };\n }(), poolFactory = function() {\n return function(t, e, r) {\n var i = 0, s = t, a = createSizedArray(s), n = {\n newElement: h,\n release: o\n };\n function h() {\n var f;\n return i ? (i -= 1, f = a[i]) : f = e(), f;\n }\n function o(f) {\n i === s && (a = pooling.double(a), s *= 2), r && r(f), a[i] = f, i += 1;\n }\n return n;\n };\n }(), bezierLengthPool = function() {\n function t() {\n return {\n addedLength: 0,\n percents: createTypedArray(\"float32\", getDefaultCurveSegments()),\n lengths: createTypedArray(\"float32\", getDefaultCurveSegments())\n };\n }\n return poolFactory(8, t);\n }(), segmentsLengthPool = function() {\n function t() {\n return {\n lengths: [],\n totalLength: 0\n };\n }\n function e(r) {\n var i, s = r.lengths.length;\n for (i = 0; i < s; i += 1)\n bezierLengthPool.release(r.lengths[i]);\n r.lengths.length = 0;\n }\n return poolFactory(8, t, e);\n }();\n function bezFunction() {\n var t = Math;\n function e(p, b, g, m, x, c) {\n var u = p * m + b * x + g * c - x * m - c * p - g * b;\n return u > -1e-3 && u < 1e-3;\n }\n function r(p, b, g, m, x, c, u, l, d) {\n if (g === 0 && c === 0 && d === 0)\n return e(p, b, m, x, u, l);\n var E = t.sqrt(t.pow(m - p, 2) + t.pow(x - b, 2) + t.pow(c - g, 2)), _ = t.sqrt(t.pow(u - p, 2) + t.pow(l - b, 2) + t.pow(d - g, 2)), T = t.sqrt(t.pow(u - m, 2) + t.pow(l - x, 2) + t.pow(d - c, 2)), M;\n return E > _ ? E > T ? M = E - _ - T : M = T - _ - E : T > _ ? M = T - _ - E : M = _ - E - T, M > -1e-4 && M < 1e-4;\n }\n var i = function() {\n return function(p, b, g, m) {\n var x = getDefaultCurveSegments(), c, u, l, d, E, _ = 0, T, M = [], w = [], G = bezierLengthPool.newElement();\n for (l = g.length, c = 0; c < x; c += 1) {\n for (E = c / (x - 1), T = 0, u = 0; u < l; u += 1)\n d = bmPow(1 - E, 3) * p[u] + 3 * bmPow(1 - E, 2) * E * g[u] + 3 * (1 - E) * bmPow(E, 2) * m[u] + bmPow(E, 3) * b[u], M[u] = d, w[u] !== null && (T += bmPow(M[u] - w[u], 2)), w[u] = M[u];\n T && (T = bmSqrt(T), _ += T), G.percents[c] = E, G.lengths[c] = _;\n }\n return G.addedLength = _, G;\n };\n }();\n function s(p) {\n var b = segmentsLengthPool.newElement(), g = p.c, m = p.v, x = p.o, c = p.i, u, l = p._length, d = b.lengths, E = 0;\n for (u = 0; u < l - 1; u += 1)\n d[u] = i(m[u], m[u + 1], x[u], c[u + 1]), E += d[u].addedLength;\n return g && l && (d[u] = i(m[u], m[0], x[u], c[0]), E += d[u].addedLength), b.totalLength = E, b;\n }\n function a(p) {\n this.segmentLength = 0, this.points = new Array(p);\n }\n function n(p, b) {\n this.partialLength = p, this.point = b;\n }\n var h = function() {\n var p = {};\n return function(b, g, m, x) {\n var c = (b[0] + \"_\" + b[1] + \"_\" + g[0] + \"_\" + g[1] + \"_\" + m[0] + \"_\" + m[1] + \"_\" + x[0] + \"_\" + x[1]).replace(/\\./g, \"p\");\n if (!p[c]) {\n var u = getDefaultCurveSegments(), l, d, E, _, T, M = 0, w, G, L = null;\n b.length === 2 && (b[0] !== g[0] || b[1] !== g[1]) && e(b[0], b[1], g[0], g[1], b[0] + m[0], b[1] + m[1]) && e(b[0], b[1], g[0], g[1], g[0] + x[0], g[1] + x[1]) && (u = 2);\n var V = new a(u);\n for (E = m.length, l = 0; l < u; l += 1) {\n for (G = createSizedArray(E), T = l / (u - 1), w = 0, d = 0; d < E; d += 1)\n _ = bmPow(1 - T, 3) * b[d] + 3 * bmPow(1 - T, 2) * T * (b[d] + m[d]) + 3 * (1 - T) * bmPow(T, 2) * (g[d] + x[d]) + bmPow(T, 3) * g[d], G[d] = _, L !== null && (w += bmPow(G[d] - L[d], 2));\n w = bmSqrt(w), M += w, V.points[l] = new n(w, G), L = G;\n }\n V.segmentLength = M, p[c] = V;\n }\n return p[c];\n };\n }();\n function o(p, b) {\n var g = b.percents, m = b.lengths, x = g.length, c = bmFloor((x - 1) * p), u = p * b.addedLength, l = 0;\n if (c === x - 1 || c === 0 || u === m[c])\n return g[c];\n for (var d = m[c] > u ? -1 : 1, E = !0; E; )\n if (m[c] <= u && m[c + 1] > u ? (l = (u - m[c]) / (m[c + 1] - m[c]), E = !1) : c += d, c < 0 || c >= x - 1) {\n if (c === x - 1)\n return g[c];\n E = !1;\n }\n return g[c] + (g[c + 1] - g[c]) * l;\n }\n function f(p, b, g, m, x, c) {\n var u = o(x, c), l = 1 - u, d = t.round((l * l * l * p[0] + (u * l * l + l * u * l + l * l * u) * g[0] + (u * u * l + l * u * u + u * l * u) * m[0] + u * u * u * b[0]) * 1e3) / 1e3, E = t.round((l * l * l * p[1] + (u * l * l + l * u * l + l * l * u) * g[1] + (u * u * l + l * u * u + u * l * u) * m[1] + u * u * u * b[1]) * 1e3) / 1e3;\n return [d, E];\n }\n var v = createTypedArray(\"float32\", 8);\n function S(p, b, g, m, x, c, u) {\n x < 0 ? x = 0 : x > 1 && (x = 1);\n var l = o(x, u);\n c = c > 1 ? 1 : c;\n var d = o(c, u), E, _ = p.length, T = 1 - l, M = 1 - d, w = T * T * T, G = l * T * T * 3, L = l * l * T * 3, V = l * l * l, D = T * T * M, B = l * T * M + T * l * M + T * T * d, I = l * l * M + T * l * d + l * T * d, C = l * l * d, A = T * M * M, y = l * M * M + T * d * M + T * M * d, P = l * d * M + T * d * d + l * M * d, k = l * d * d, F = M * M * M, R = d * M * M + M * d * M + M * M * d, z = d * d * M + M * d * d + d * M * d, N = d * d * d;\n for (E = 0; E < _; E += 1)\n v[E * 4] = t.round((w * p[E] + G * g[E] + L * m[E] + V * b[E]) * 1e3) / 1e3, v[E * 4 + 1] = t.round((D * p[E] + B * g[E] + I * m[E] + C * b[E]) * 1e3) / 1e3, v[E * 4 + 2] = t.round((A * p[E] + y * g[E] + P * m[E] + k * b[E]) * 1e3) / 1e3, v[E * 4 + 3] = t.round((F * p[E] + R * g[E] + z * m[E] + N * b[E]) * 1e3) / 1e3;\n return v;\n }\n return {\n getSegmentsLength: s,\n getNewSegment: S,\n getPointInSegment: f,\n buildBezierData: h,\n pointOnLine2D: e,\n pointOnLine3D: r\n };\n }\n var bez = bezFunction(), initFrame = initialDefaultFrame, mathAbs = Math.abs;\n function interpolateValue(t, e) {\n var r = this.offsetTime, i;\n this.propType === \"multidimensional\" && (i = createTypedArray(\"float32\", this.pv.length));\n for (var s = e.lastIndex, a = s, n = this.keyframes.length - 1, h = !0, o, f, v; h; ) {\n if (o = this.keyframes[a], f = this.keyframes[a + 1], a === n - 1 && t >= f.t - r) {\n o.h && (o = f), s = 0;\n break;\n }\n if (f.t - r > t) {\n s = a;\n break;\n }\n a < n - 1 ? a += 1 : (s = 0, h = !1);\n }\n v = this.keyframesMetadata[a] || {};\n var S, p, b, g, m, x, c = f.t - r, u = o.t - r, l;\n if (o.to) {\n v.bezierData || (v.bezierData = bez.buildBezierData(o.s, f.s || o.e, o.to, o.ti));\n var d = v.bezierData;\n if (t >= c || t < u) {\n var E = t >= c ? d.points.length - 1 : 0;\n for (p = d.points[E].point.length, S = 0; S < p; S += 1)\n i[S] = d.points[E].point[S];\n } else {\n v.__fnct ? x = v.__fnct : (x = BezierFactory.getBezierEasing(o.o.x, o.o.y, o.i.x, o.i.y, o.n).get, v.__fnct = x), b = x((t - u) / (c - u));\n var _ = d.segmentLength * b, T, M = e.lastFrame < t && e._lastKeyframeIndex === a ? e._lastAddedLength : 0;\n for (m = e.lastFrame < t && e._lastKeyframeIndex === a ? e._lastPoint : 0, h = !0, g = d.points.length; h; ) {\n if (M += d.points[m].partialLength, _ === 0 || b === 0 || m === d.points.length - 1) {\n for (p = d.points[m].point.length, S = 0; S < p; S += 1)\n i[S] = d.points[m].point[S];\n break;\n } else if (_ >= M && _ < M + d.points[m + 1].partialLength) {\n for (T = (_ - M) / d.points[m + 1].partialLength, p = d.points[m].point.length, S = 0; S < p; S += 1)\n i[S] = d.points[m].point[S] + (d.points[m + 1].point[S] - d.points[m].point[S]) * T;\n break;\n }\n m < g - 1 ? m += 1 : h = !1;\n }\n e._lastPoint = m, e._lastAddedLength = M - d.points[m].partialLength, e._lastKeyframeIndex = a;\n }\n } else {\n var w, G, L, V, D;\n if (n = o.s.length, l = f.s || o.e, this.sh && o.h !== 1)\n if (t >= c)\n i[0] = l[0], i[1] = l[1], i[2] = l[2];\n else if (t <= u)\n i[0] = o.s[0], i[1] = o.s[1], i[2] = o.s[2];\n else {\n var B = createQuaternion(o.s), I = createQuaternion(l), C = (t - u) / (c - u);\n quaternionToEuler(i, slerp(B, I, C));\n }\n else\n for (a = 0; a < n; a += 1)\n o.h !== 1 && (t >= c ? b = 1 : t < u ? b = 0 : (o.o.x.constructor === Array ? (v.__fnct || (v.__fnct = []), v.__fnct[a] ? x = v.__fnct[a] : (w = o.o.x[a] === void 0 ? o.o.x[0] : o.o.x[a], G = o.o.y[a] === void 0 ? o.o.y[0] : o.o.y[a], L = o.i.x[a] === void 0 ? o.i.x[0] : o.i.x[a], V = o.i.y[a] === void 0 ? o.i.y[0] : o.i.y[a], x = BezierFactory.getBezierEasing(w, G, L, V).get, v.__fnct[a] = x)) : v.__fnct ? x = v.__fnct : (w = o.o.x, G = o.o.y, L = o.i.x, V = o.i.y, x = BezierFactory.getBezierEasing(w, G, L, V).get, o.keyframeMetadata = x), b = x((t - u) / (c - u)))), l = f.s || o.e, D = o.h === 1 ? o.s[a] : o.s[a] + (l[a] - o.s[a]) * b, this.propType === \"multidimensional\" ? i[a] = D : i = D;\n }\n return e.lastIndex = s, i;\n }\n function slerp(t, e, r) {\n var i = [], s = t[0], a = t[1], n = t[2], h = t[3], o = e[0], f = e[1], v = e[2], S = e[3], p, b, g, m, x;\n return b = s * o + a * f + n * v + h * S, b < 0 && (b = -b, o = -o, f = -f, v = -v, S = -S), 1 - b > 1e-6 ? (p = Math.acos(b), g = Math.sin(p), m = Math.sin((1 - r) * p) / g, x = Math.sin(r * p) / g) : (m = 1 - r, x = r), i[0] = m * s + x * o, i[1] = m * a + x * f, i[2] = m * n + x * v, i[3] = m * h + x * S, i;\n }\n function quaternionToEuler(t, e) {\n var r = e[0], i = e[1], s = e[2], a = e[3], n = Math.atan2(2 * i * a - 2 * r * s, 1 - 2 * i * i - 2 * s * s), h = Math.asin(2 * r * i + 2 * s * a), o = Math.atan2(2 * r * a - 2 * i * s, 1 - 2 * r * r - 2 * s * s);\n t[0] = n / degToRads, t[1] = h / degToRads, t[2] = o / degToRads;\n }\n function createQuaternion(t) {\n var e = t[0] * degToRads, r = t[1] * degToRads, i = t[2] * degToRads, s = Math.cos(e / 2), a = Math.cos(r / 2), n = Math.cos(i / 2), h = Math.sin(e / 2), o = Math.sin(r / 2), f = Math.sin(i / 2), v = s * a * n - h * o * f, S = h * o * n + s * a * f, p = h * a * n + s * o * f, b = s * o * n - h * a * f;\n return [S, p, b, v];\n }\n function getValueAtCurrentTime() {\n var t = this.comp.renderedFrame - this.offsetTime, e = this.keyframes[0].t - this.offsetTime, r = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;\n if (!(t === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= r && t >= r || this._caching.lastFrame < e && t < e))) {\n this._caching.lastFrame >= t && (this._caching._lastKeyframeIndex = -1, this._caching.lastIndex = 0);\n var i = this.interpolateValue(t, this._caching);\n this.pv = i;\n }\n return this._caching.lastFrame = t, this.pv;\n }\n function setVValue(t) {\n var e;\n if (this.propType === \"unidimensional\")\n e = t * this.mult, mathAbs(this.v - e) > 1e-5 && (this.v = e, this._mdf = !0);\n else\n for (var r = 0, i = this.v.length; r < i; )\n e = t[r] * this.mult, mathAbs(this.v[r] - e) > 1e-5 && (this.v[r] = e, this._mdf = !0), r += 1;\n }\n function processEffectsSequence() {\n if (!(this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length)) {\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n this.lock = !0, this._mdf = this._isFirstFrame;\n var t, e = this.effectsSequence.length, r = this.kf ? this.pv : this.data.k;\n for (t = 0; t < e; t += 1)\n r = this.effectsSequence[t](r);\n this.setVValue(r), this._isFirstFrame = !1, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n function addEffect(t) {\n this.effectsSequence.push(t), this.container.addDynamicProperty(this);\n }\n function ValueProperty(t, e, r, i) {\n this.propType = \"unidimensional\", this.mult = r || 1, this.data = e, this.v = r ? e.k * r : e.k, this.pv = e.k, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.vel = 0, this.effectsSequence = [], this._isFirstFrame = !0, this.getValue = processEffectsSequence, this.setVValue = setVValue, this.addEffect = addEffect;\n }\n function MultiDimensionalProperty(t, e, r, i) {\n this.propType = \"multidimensional\", this.mult = r || 1, this.data = e, this._mdf = !1, this.elem = t, this.container = i, this.comp = t.comp, this.k = !1, this.kf = !1, this.frameId = -1;\n var s, a = e.k.length;\n for (this.v = createTypedArray(\"float32\", a), this.pv = createTypedArray(\"float32\", a), this.vel = createTypedArray(\"float32\", a), s = 0; s < a; s += 1)\n this.v[s] = e.k[s] * this.mult, this.pv[s] = e.k[s];\n this._isFirstFrame = !0, this.effectsSequence = [], this.getValue = processEffectsSequence, this.setVValue = setVValue, this.addEffect = addEffect;\n }\n function KeyframedValueProperty(t, e, r, i) {\n this.propType = \"unidimensional\", this.keyframes = e.k, this.keyframesMetadata = [], this.offsetTime = t.data.st, this.frameId = -1, this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: 0,\n _lastKeyframeIndex: -1\n }, this.k = !0, this.kf = !0, this.data = e, this.mult = r || 1, this.elem = t, this.container = i, this.comp = t.comp, this.v = initFrame, this.pv = initFrame, this._isFirstFrame = !0, this.getValue = processEffectsSequence, this.setVValue = setVValue, this.interpolateValue = interpolateValue, this.effectsSequence = [getValueAtCurrentTime.bind(this)], this.addEffect = addEffect;\n }\n function KeyframedMultidimensionalProperty(t, e, r, i) {\n this.propType = \"multidimensional\";\n var s, a = e.k.length, n, h, o, f;\n for (s = 0; s < a - 1; s += 1)\n e.k[s].to && e.k[s].s && e.k[s + 1] && e.k[s + 1].s && (n = e.k[s].s, h = e.k[s + 1].s, o = e.k[s].to, f = e.k[s].ti, (n.length === 2 && !(n[0] === h[0] && n[1] === h[1]) && bez.pointOnLine2D(n[0], n[1], h[0], h[1], n[0] + o[0], n[1] + o[1]) && bez.pointOnLine2D(n[0], n[1], h[0], h[1], h[0] + f[0], h[1] + f[1]) || n.length === 3 && !(n[0] === h[0] && n[1] === h[1] && n[2] === h[2]) && bez.pointOnLine3D(n[0], n[1], n[2], h[0], h[1], h[2], n[0] + o[0], n[1] + o[1], n[2] + o[2]) && bez.pointOnLine3D(n[0], n[1], n[2], h[0], h[1], h[2], h[0] + f[0], h[1] + f[1], h[2] + f[2])) && (e.k[s].to = null, e.k[s].ti = null), n[0] === h[0] && n[1] === h[1] && o[0] === 0 && o[1] === 0 && f[0] === 0 && f[1] === 0 && (n.length === 2 || n[2] === h[2] && o[2] === 0 && f[2] === 0) && (e.k[s].to = null, e.k[s].ti = null));\n this.effectsSequence = [getValueAtCurrentTime.bind(this)], this.data = e, this.keyframes = e.k, this.keyframesMetadata = [], this.offsetTime = t.data.st, this.k = !0, this.kf = !0, this._isFirstFrame = !0, this.mult = r || 1, this.elem = t, this.container = i, this.comp = t.comp, this.getValue = processEffectsSequence, this.setVValue = setVValue, this.interpolateValue = interpolateValue, this.frameId = -1;\n var v = e.k[0].s.length;\n for (this.v = createTypedArray(\"float32\", v), this.pv = createTypedArray(\"float32\", v), s = 0; s < v; s += 1)\n this.v[s] = initFrame, this.pv[s] = initFrame;\n this._caching = {\n lastFrame: initFrame,\n lastIndex: 0,\n value: createTypedArray(\"float32\", v)\n }, this.addEffect = addEffect;\n }\n var PropertyFactory = function() {\n function t(r, i, s, a, n) {\n i.sid && (i = r.globalData.slotManager.getProp(i));\n var h;\n if (!i.k.length)\n h = new ValueProperty(r, i, a, n);\n else if (typeof i.k[0] == \"number\")\n h = new MultiDimensionalProperty(r, i, a, n);\n else\n switch (s) {\n case 0:\n h = new KeyframedValueProperty(r, i, a, n);\n break;\n case 1:\n h = new KeyframedMultidimensionalProperty(r, i, a, n);\n break;\n }\n return h.effectsSequence.length && n.addDynamicProperty(h), h;\n }\n var e = {\n getProp: t\n };\n return e;\n }();\n function DynamicPropertyContainer() {\n }\n DynamicPropertyContainer.prototype = {\n addDynamicProperty: function(e) {\n this.dynamicProperties.indexOf(e) === -1 && (this.dynamicProperties.push(e), this.container.addDynamicProperty(this), this._isAnimated = !0);\n },\n iterateDynamicProperties: function() {\n this._mdf = !1;\n var e, r = this.dynamicProperties.length;\n for (e = 0; e < r; e += 1)\n this.dynamicProperties[e].getValue(), this.dynamicProperties[e]._mdf && (this._mdf = !0);\n },\n initDynamicPropertyContainer: function(e) {\n this.container = e, this.dynamicProperties = [], this._mdf = !1, this._isAnimated = !1;\n }\n };\n var pointPool = function() {\n function t() {\n return createTypedArray(\"float32\", 2);\n }\n return poolFactory(8, t);\n }();\n function ShapePath() {\n this.c = !1, this._length = 0, this._maxLength = 8, this.v = createSizedArray(this._maxLength), this.o = createSizedArray(this._maxLength), this.i = createSizedArray(this._maxLength);\n }\n ShapePath.prototype.setPathData = function(t, e) {\n this.c = t, this.setLength(e);\n for (var r = 0; r < e; )\n this.v[r] = pointPool.newElement(), this.o[r] = pointPool.newElement(), this.i[r] = pointPool.newElement(), r += 1;\n }, ShapePath.prototype.setLength = function(t) {\n for (; this._maxLength < t; )\n this.doubleArrayLength();\n this._length = t;\n }, ShapePath.prototype.doubleArrayLength = function() {\n this.v = this.v.concat(createSizedArray(this._maxLength)), this.i = this.i.concat(createSizedArray(this._maxLength)), this.o = this.o.concat(createSizedArray(this._maxLength)), this._maxLength *= 2;\n }, ShapePath.prototype.setXYAt = function(t, e, r, i, s) {\n var a;\n switch (this._length = Math.max(this._length, i + 1), this._length >= this._maxLength && this.doubleArrayLength(), r) {\n case \"v\":\n a = this.v;\n break;\n case \"i\":\n a = this.i;\n break;\n case \"o\":\n a = this.o;\n break;\n default:\n a = [];\n break;\n }\n (!a[i] || a[i] && !s) && (a[i] = pointPool.newElement()), a[i][0] = t, a[i][1] = e;\n }, ShapePath.prototype.setTripleAt = function(t, e, r, i, s, a, n, h) {\n this.setXYAt(t, e, \"v\", n, h), this.setXYAt(r, i, \"o\", n, h), this.setXYAt(s, a, \"i\", n, h);\n }, ShapePath.prototype.reverse = function() {\n var t = new ShapePath();\n t.setPathData(this.c, this._length);\n var e = this.v, r = this.o, i = this.i, s = 0;\n this.c && (t.setTripleAt(e[0][0], e[0][1], i[0][0], i[0][1], r[0][0], r[0][1], 0, !1), s = 1);\n var a = this._length - 1, n = this._length, h;\n for (h = s; h < n; h += 1)\n t.setTripleAt(e[a][0], e[a][1], i[a][0], i[a][1], r[a][0], r[a][1], h, !1), a -= 1;\n return t;\n }, ShapePath.prototype.length = function() {\n return this._length;\n };\n var shapePool = function() {\n function t() {\n return new ShapePath();\n }\n function e(s) {\n var a = s._length, n;\n for (n = 0; n < a; n += 1)\n pointPool.release(s.v[n]), pointPool.release(s.i[n]), pointPool.release(s.o[n]), s.v[n] = null, s.i[n] = null, s.o[n] = null;\n s._length = 0, s.c = !1;\n }\n function r(s) {\n var a = i.newElement(), n, h = s._length === void 0 ? s.v.length : s._length;\n for (a.setLength(h), a.c = s.c, n = 0; n < h; n += 1)\n a.setTripleAt(s.v[n][0], s.v[n][1], s.o[n][0], s.o[n][1], s.i[n][0], s.i[n][1], n);\n return a;\n }\n var i = poolFactory(4, t, e);\n return i.clone = r, i;\n }();\n function ShapeCollection() {\n this._length = 0, this._maxLength = 4, this.shapes = createSizedArray(this._maxLength);\n }\n ShapeCollection.prototype.addShape = function(t) {\n this._length === this._maxLength && (this.shapes = this.shapes.concat(createSizedArray(this._maxLength)), this._maxLength *= 2), this.shapes[this._length] = t, this._length += 1;\n }, ShapeCollection.prototype.releaseShapes = function() {\n var t;\n for (t = 0; t < this._length; t += 1)\n shapePool.release(this.shapes[t]);\n this._length = 0;\n };\n var shapeCollectionPool = function() {\n var t = {\n newShapeCollection: s,\n release: a\n }, e = 0, r = 4, i = createSizedArray(r);\n function s() {\n var n;\n return e ? (e -= 1, n = i[e]) : n = new ShapeCollection(), n;\n }\n function a(n) {\n var h, o = n._length;\n for (h = 0; h < o; h += 1)\n shapePool.release(n.shapes[h]);\n n._length = 0, e === r && (i = pooling.double(i), r *= 2), i[e] = n, e += 1;\n }\n return t;\n }(), ShapePropertyFactory = function() {\n var t = -999999;\n function e(c, u, l) {\n var d = l.lastIndex, E, _, T, M, w, G, L, V, D, B = this.keyframes;\n if (c < B[0].t - this.offsetTime)\n E = B[0].s[0], T = !0, d = 0;\n else if (c >= B[B.length - 1].t - this.offsetTime)\n E = B[B.length - 1].s ? B[B.length - 1].s[0] : B[B.length - 2].e[0], T = !0;\n else {\n for (var I = d, C = B.length - 1, A = !0, y, P, k; A && (y = B[I], P = B[I + 1], !(P.t - this.offsetTime > c)); )\n I < C - 1 ? I += 1 : A = !1;\n if (k = this.keyframesMetadata[I] || {}, T = y.h === 1, d = I, !T) {\n if (c >= P.t - this.offsetTime)\n V = 1;\n else if (c < y.t - this.offsetTime)\n V = 0;\n else {\n var F;\n k.__fnct ? F = k.__fnct : (F = BezierFactory.getBezierEasing(y.o.x, y.o.y, y.i.x, y.i.y).get, k.__fnct = F), V = F((c - (y.t - this.offsetTime)) / (P.t - this.offsetTime - (y.t - this.offsetTime)));\n }\n _ = P.s ? P.s[0] : y.e[0];\n }\n E = y.s[0];\n }\n for (G = u._length, L = E.i[0].length, l.lastIndex = d, M = 0; M < G; M += 1)\n for (w = 0; w < L; w += 1)\n D = T ? E.i[M][w] : E.i[M][w] + (_.i[M][w] - E.i[M][w]) * V, u.i[M][w] = D, D = T ? E.o[M][w] : E.o[M][w] + (_.o[M][w] - E.o[M][w]) * V, u.o[M][w] = D, D = T ? E.v[M][w] : E.v[M][w] + (_.v[M][w] - E.v[M][w]) * V, u.v[M][w] = D;\n }\n function r() {\n var c = this.comp.renderedFrame - this.offsetTime, u = this.keyframes[0].t - this.offsetTime, l = this.keyframes[this.keyframes.length - 1].t - this.offsetTime, d = this._caching.lastFrame;\n return d !== t && (d < u && c < u || d > l && c > l) || (this._caching.lastIndex = d < c ? this._caching.lastIndex : 0, this.interpolateShape(c, this.pv, this._caching)), this._caching.lastFrame = c, this.pv;\n }\n function i() {\n this.paths = this.localShapeCollection;\n }\n function s(c, u) {\n if (c._length !== u._length || c.c !== u.c)\n return !1;\n var l, d = c._length;\n for (l = 0; l < d; l += 1)\n if (c.v[l][0] !== u.v[l][0] || c.v[l][1] !== u.v[l][1] || c.o[l][0] !== u.o[l][0] || c.o[l][1] !== u.o[l][1] || c.i[l][0] !== u.i[l][0] || c.i[l][1] !== u.i[l][1])\n return !1;\n return !0;\n }\n function a(c) {\n s(this.v, c) || (this.v = shapePool.clone(c), this.localShapeCollection.releaseShapes(), this.localShapeCollection.addShape(this.v), this._mdf = !0, this.paths = this.localShapeCollection);\n }\n function n() {\n if (this.elem.globalData.frameId !== this.frameId) {\n if (!this.effectsSequence.length) {\n this._mdf = !1;\n return;\n }\n if (this.lock) {\n this.setVValue(this.pv);\n return;\n }\n this.lock = !0, this._mdf = !1;\n var c;\n this.kf ? c = this.pv : this.data.ks ? c = this.data.ks.k : c = this.data.pt.k;\n var u, l = this.effectsSequence.length;\n for (u = 0; u < l; u += 1)\n c = this.effectsSequence[u](c);\n this.setVValue(c), this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }\n function h(c, u, l) {\n this.propType = \"shape\", this.comp = c.comp, this.container = c, this.elem = c, this.data = u, this.k = !1, this.kf = !1, this._mdf = !1;\n var d = l === 3 ? u.pt.k : u.ks.k;\n this.v = shapePool.clone(d), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.reset = i, this.effectsSequence = [];\n }\n function o(c) {\n this.effectsSequence.push(c), this.container.addDynamicProperty(this);\n }\n h.prototype.interpolateShape = e, h.prototype.getValue = n, h.prototype.setVValue = a, h.prototype.addEffect = o;\n function f(c, u, l) {\n this.propType = \"shape\", this.comp = c.comp, this.elem = c, this.container = c, this.offsetTime = c.data.st, this.keyframes = l === 3 ? u.pt.k : u.ks.k, this.keyframesMetadata = [], this.k = !0, this.kf = !0;\n var d = this.keyframes[0].s[0].i.length;\n this.v = shapePool.newElement(), this.v.setPathData(this.keyframes[0].s[0].c, d), this.pv = shapePool.clone(this.v), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.paths.addShape(this.v), this.lastFrame = t, this.reset = i, this._caching = {\n lastFrame: t,\n lastIndex: 0\n }, this.effectsSequence = [r.bind(this)];\n }\n f.prototype.getValue = n, f.prototype.interpolateShape = e, f.prototype.setVValue = a, f.prototype.addEffect = o;\n var v = function() {\n var c = roundCorner;\n function u(l, d) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 4), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.paths = this.localShapeCollection, this.localShapeCollection.addShape(this.v), this.d = d.d, this.elem = l, this.comp = l.comp, this.frameId = -1, this.initDynamicPropertyContainer(l), this.p = PropertyFactory.getProp(l, d.p, 1, 0, this), this.s = PropertyFactory.getProp(l, d.s, 1, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertEllToPath());\n }\n return u.prototype = {\n reset: i,\n getValue: function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertEllToPath());\n },\n convertEllToPath: function() {\n var d = this.p.v[0], E = this.p.v[1], _ = this.s.v[0] / 2, T = this.s.v[1] / 2, M = this.d !== 3, w = this.v;\n w.v[0][0] = d, w.v[0][1] = E - T, w.v[1][0] = M ? d + _ : d - _, w.v[1][1] = E, w.v[2][0] = d, w.v[2][1] = E + T, w.v[3][0] = M ? d - _ : d + _, w.v[3][1] = E, w.i[0][0] = M ? d - _ * c : d + _ * c, w.i[0][1] = E - T, w.i[1][0] = M ? d + _ : d - _, w.i[1][1] = E - T * c, w.i[2][0] = M ? d + _ * c : d - _ * c, w.i[2][1] = E + T, w.i[3][0] = M ? d - _ : d + _, w.i[3][1] = E + T * c, w.o[0][0] = M ? d + _ * c : d - _ * c, w.o[0][1] = E - T, w.o[1][0] = M ? d + _ : d - _, w.o[1][1] = E + T * c, w.o[2][0] = M ? d - _ * c : d + _ * c, w.o[2][1] = E + T, w.o[3][0] = M ? d - _ : d + _, w.o[3][1] = E - T * c;\n }\n }, extendPrototype([DynamicPropertyContainer], u), u;\n }(), S = function() {\n function c(u, l) {\n this.v = shapePool.newElement(), this.v.setPathData(!0, 0), this.elem = u, this.comp = u.comp, this.data = l, this.frameId = -1, this.d = l.d, this.initDynamicPropertyContainer(u), l.sy === 1 ? (this.ir = PropertyFactory.getProp(u, l.ir, 0, 0, this), this.is = PropertyFactory.getProp(u, l.is, 0, 0.01, this), this.convertToPath = this.convertStarToPath) : this.convertToPath = this.convertPolygonToPath, this.pt = PropertyFactory.getProp(u, l.pt, 0, 0, this), this.p = PropertyFactory.getProp(u, l.p, 1, 0, this), this.r = PropertyFactory.getProp(u, l.r, 0, degToRads, this), this.or = PropertyFactory.getProp(u, l.or, 0, 0, this), this.os = PropertyFactory.getProp(u, l.os, 0, 0.01, this), this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertToPath());\n }\n return c.prototype = {\n reset: i,\n getValue: function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertToPath());\n },\n convertStarToPath: function() {\n var l = Math.floor(this.pt.v) * 2, d = Math.PI * 2 / l, E = !0, _ = this.or.v, T = this.ir.v, M = this.os.v, w = this.is.v, G = 2 * Math.PI * _ / (l * 2), L = 2 * Math.PI * T / (l * 2), V, D, B, I, C = -Math.PI / 2;\n C += this.r.v;\n var A = this.data.d === 3 ? -1 : 1;\n for (this.v._length = 0, V = 0; V < l; V += 1) {\n D = E ? _ : T, B = E ? M : w, I = E ? G : L;\n var y = D * Math.cos(C), P = D * Math.sin(C), k = y === 0 && P === 0 ? 0 : P / Math.sqrt(y * y + P * P), F = y === 0 && P === 0 ? 0 : -y / Math.sqrt(y * y + P * P);\n y += +this.p.v[0], P += +this.p.v[1], this.v.setTripleAt(y, P, y - k * I * B * A, P - F * I * B * A, y + k * I * B * A, P + F * I * B * A, V, !0), E = !E, C += d * A;\n }\n },\n convertPolygonToPath: function() {\n var l = Math.floor(this.pt.v), d = Math.PI * 2 / l, E = this.or.v, _ = this.os.v, T = 2 * Math.PI * E / (l * 4), M, w = -Math.PI * 0.5, G = this.data.d === 3 ? -1 : 1;\n for (w += this.r.v, this.v._length = 0, M = 0; M < l; M += 1) {\n var L = E * Math.cos(w), V = E * Math.sin(w), D = L === 0 && V === 0 ? 0 : V / Math.sqrt(L * L + V * V), B = L === 0 && V === 0 ? 0 : -L / Math.sqrt(L * L + V * V);\n L += +this.p.v[0], V += +this.p.v[1], this.v.setTripleAt(L, V, L - D * T * _ * G, V - B * T * _ * G, L + D * T * _ * G, V + B * T * _ * G, M, !0), w += d * G;\n }\n this.paths.length = 0, this.paths[0] = this.v;\n }\n }, extendPrototype([DynamicPropertyContainer], c), c;\n }(), p = function() {\n function c(u, l) {\n this.v = shapePool.newElement(), this.v.c = !0, this.localShapeCollection = shapeCollectionPool.newShapeCollection(), this.localShapeCollection.addShape(this.v), this.paths = this.localShapeCollection, this.elem = u, this.comp = u.comp, this.frameId = -1, this.d = l.d, this.initDynamicPropertyContainer(u), this.p = PropertyFactory.getProp(u, l.p, 1, 0, this), this.s = PropertyFactory.getProp(u, l.s, 1, 0, this), this.r = PropertyFactory.getProp(u, l.r, 0, 0, this), this.dynamicProperties.length ? this.k = !0 : (this.k = !1, this.convertRectToPath());\n }\n return c.prototype = {\n convertRectToPath: function() {\n var l = this.p.v[0], d = this.p.v[1], E = this.s.v[0] / 2, _ = this.s.v[1] / 2, T = bmMin(E, _, this.r.v), M = T * (1 - roundCorner);\n this.v._length = 0, this.d === 2 || this.d === 1 ? (this.v.setTripleAt(l + E, d - _ + T, l + E, d - _ + T, l + E, d - _ + M, 0, !0), this.v.setTripleAt(l + E, d + _ - T, l + E, d + _ - M, l + E, d + _ - T, 1, !0), T !== 0 ? (this.v.setTripleAt(l + E - T, d + _, l + E - T, d + _, l + E - M, d + _, 2, !0), this.v.setTripleAt(l - E + T, d + _, l - E + M, d + _, l - E + T, d + _, 3, !0), this.v.setTripleAt(l - E, d + _ - T, l - E, d + _ - T, l - E, d + _ - M, 4, !0), this.v.setTripleAt(l - E, d - _ + T, l - E, d - _ + M, l - E, d - _ + T, 5, !0), this.v.setTripleAt(l - E + T, d - _, l - E + T, d - _, l - E + M, d - _, 6, !0), this.v.setTripleAt(l + E - T, d - _, l + E - M, d - _, l + E - T, d - _, 7, !0)) : (this.v.setTripleAt(l - E, d + _, l - E + M, d + _, l - E, d + _, 2), this.v.setTripleAt(l - E, d - _, l - E, d - _ + M, l - E, d - _, 3))) : (this.v.setTripleAt(l + E, d - _ + T, l + E, d - _ + M, l + E, d - _ + T, 0, !0), T !== 0 ? (this.v.setTripleAt(l + E - T, d - _, l + E - T, d - _, l + E - M, d - _, 1, !0), this.v.setTripleAt(l - E + T, d - _, l - E + M, d - _, l - E + T, d - _, 2, !0), this.v.setTripleAt(l - E, d - _ + T, l - E, d - _ + T, l - E, d - _ + M, 3, !0), this.v.setTripleAt(l - E, d + _ - T, l - E, d + _ - M, l - E, d + _ - T, 4, !0), this.v.setTripleAt(l - E + T, d + _, l - E + T, d + _, l - E + M, d + _, 5, !0), this.v.setTripleAt(l + E - T, d + _, l + E - M, d + _, l + E - T, d + _, 6, !0), this.v.setTripleAt(l + E, d + _ - T, l + E, d + _ - T, l + E, d + _ - M, 7, !0)) : (this.v.setTripleAt(l - E, d - _, l - E + M, d - _, l - E, d - _, 1, !0), this.v.setTripleAt(l - E, d + _, l - E, d + _ - M, l - E, d + _, 2, !0), this.v.setTripleAt(l + E, d + _, l + E - M, d + _, l + E, d + _, 3, !0)));\n },\n getValue: function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf && this.convertRectToPath());\n },\n reset: i\n }, extendPrototype([DynamicPropertyContainer], c), c;\n }();\n function b(c, u, l) {\n var d;\n if (l === 3 || l === 4) {\n var E = l === 3 ? u.pt : u.ks, _ = E.k;\n _.length ? d = new f(c, u, l) : d = new h(c, u, l);\n } else\n l === 5 ? d = new p(c, u) : l === 6 ? d = new v(c, u) : l === 7 && (d = new S(c, u));\n return d.k && c.addDynamicProperty(d), d;\n }\n function g() {\n return h;\n }\n function m() {\n return f;\n }\n var x = {};\n return x.getShapeProp = b, x.getConstructorFunction = g, x.getKeyframedConstructorFunction = m, x;\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 */\n var Matrix = function() {\n var t = Math.cos, e = Math.sin, r = Math.tan, i = Math.round;\n function s() {\n return this.props[0] = 1, this.props[1] = 0, this.props[2] = 0, this.props[3] = 0, this.props[4] = 0, this.props[5] = 1, this.props[6] = 0, this.props[7] = 0, this.props[8] = 0, this.props[9] = 0, this.props[10] = 1, this.props[11] = 0, this.props[12] = 0, this.props[13] = 0, this.props[14] = 0, this.props[15] = 1, this;\n }\n function a(y) {\n if (y === 0)\n return this;\n var P = t(y), k = e(y);\n return this._t(P, -k, 0, 0, k, P, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function n(y) {\n if (y === 0)\n return this;\n var P = t(y), k = e(y);\n return this._t(1, 0, 0, 0, 0, P, -k, 0, 0, k, P, 0, 0, 0, 0, 1);\n }\n function h(y) {\n if (y === 0)\n return this;\n var P = t(y), k = e(y);\n return this._t(P, 0, k, 0, 0, 1, 0, 0, -k, 0, P, 0, 0, 0, 0, 1);\n }\n function o(y) {\n if (y === 0)\n return this;\n var P = t(y), k = e(y);\n return this._t(P, -k, 0, 0, k, P, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function f(y, P) {\n return this._t(1, P, y, 1, 0, 0);\n }\n function v(y, P) {\n return this.shear(r(y), r(P));\n }\n function S(y, P) {\n var k = t(P), F = e(P);\n return this._t(k, F, 0, 0, -F, k, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, r(y), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(k, -F, 0, 0, F, k, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n }\n function p(y, P, k) {\n return !k && k !== 0 && (k = 1), y === 1 && P === 1 && k === 1 ? this : this._t(y, 0, 0, 0, 0, P, 0, 0, 0, 0, k, 0, 0, 0, 0, 1);\n }\n function b(y, P, k, F, R, z, N, H, W, q, Y, Q, X, $, J, j) {\n return this.props[0] = y, this.props[1] = P, this.props[2] = k, this.props[3] = F, this.props[4] = R, this.props[5] = z, this.props[6] = N, this.props[7] = H, this.props[8] = W, this.props[9] = q, this.props[10] = Y, this.props[11] = Q, this.props[12] = X, this.props[13] = $, this.props[14] = J, this.props[15] = j, this;\n }\n function g(y, P, k) {\n return k = k || 0, y !== 0 || P !== 0 || k !== 0 ? this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, y, P, k, 1) : this;\n }\n function m(y, P, k, F, R, z, N, H, W, q, Y, Q, X, $, J, j) {\n var O = this.props;\n if (y === 1 && P === 0 && k === 0 && F === 0 && R === 0 && z === 1 && N === 0 && H === 0 && W === 0 && q === 0 && Y === 1 && Q === 0)\n return O[12] = O[12] * y + O[15] * X, O[13] = O[13] * z + O[15] * $, O[14] = O[14] * Y + O[15] * J, O[15] *= j, this._identityCalculated = !1, this;\n var et = O[0], at = O[1], rt = O[2], tt = O[3], it = O[4], st = O[5], Z = O[6], nt = O[7], ot = O[8], K = O[9], ht = O[10], U = O[11], lt = O[12], ft = O[13], pt = O[14], ct = O[15];\n return O[0] = et * y + at * R + rt * W + tt * X, O[1] = et * P + at * z + rt * q + tt * $, O[2] = et * k + at * N + rt * Y + tt * J, O[3] = et * F + at * H + rt * Q + tt * j, O[4] = it * y + st * R + Z * W + nt * X, O[5] = it * P + st * z + Z * q + nt * $, O[6] = it * k + st * N + Z * Y + nt * J, O[7] = it * F + st * H + Z * Q + nt * j, O[8] = ot * y + K * R + ht * W + U * X, O[9] = ot * P + K * z + ht * q + U * $, O[10] = ot * k + K * N + ht * Y + U * J, O[11] = ot * F + K * H + ht * Q + U * j, O[12] = lt * y + ft * R + pt * W + ct * X, O[13] = lt * P + ft * z + pt * q + ct * $, O[14] = lt * k + ft * N + pt * Y + ct * J, O[15] = lt * F + ft * H + pt * Q + ct * j, this._identityCalculated = !1, this;\n }\n function x(y) {\n var P = y.props;\n return this.transform(P[0], P[1], P[2], P[3], P[4], P[5], P[6], P[7], P[8], P[9], P[10], P[11], P[12], P[13], P[14], P[15]);\n }\n function c() {\n return this._identityCalculated || (this._identity = !(this.props[0] !== 1 || this.props[1] !== 0 || this.props[2] !== 0 || this.props[3] !== 0 || this.props[4] !== 0 || this.props[5] !== 1 || this.props[6] !== 0 || this.props[7] !== 0 || this.props[8] !== 0 || this.props[9] !== 0 || this.props[10] !== 1 || this.props[11] !== 0 || this.props[12] !== 0 || this.props[13] !== 0 || this.props[14] !== 0 || this.props[15] !== 1), this._identityCalculated = !0), this._identity;\n }\n function u(y) {\n for (var P = 0; P < 16; ) {\n if (y.props[P] !== this.props[P])\n return !1;\n P += 1;\n }\n return !0;\n }\n function l(y) {\n var P;\n for (P = 0; P < 16; P += 1)\n y.props[P] = this.props[P];\n return y;\n }\n function d(y) {\n var P;\n for (P = 0; P < 16; P += 1)\n this.props[P] = y[P];\n }\n function E(y, P, k) {\n return {\n x: y * this.props[0] + P * this.props[4] + k * this.props[8] + this.props[12],\n y: y * this.props[1] + P * this.props[5] + k * this.props[9] + this.props[13],\n z: y * this.props[2] + P * this.props[6] + k * this.props[10] + this.props[14]\n };\n }\n function _(y, P, k) {\n return y * this.props[0] + P * this.props[4] + k * this.props[8] + this.props[12];\n }\n function T(y, P, k) {\n return y * this.props[1] + P * this.props[5] + k * this.props[9] + this.props[13];\n }\n function M(y, P, k) {\n return y * this.props[2] + P * this.props[6] + k * this.props[10] + this.props[14];\n }\n function w() {\n var y = this.props[0] * this.props[5] - this.props[1] * this.props[4], P = this.props[5] / y, k = -this.props[1] / y, F = -this.props[4] / y, R = this.props[0] / y, z = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / y, N = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / y, H = new Matrix();\n return H.props[0] = P, H.props[1] = k, H.props[4] = F, H.props[5] = R, H.props[12] = z, H.props[13] = N, H;\n }\n function G(y) {\n var P = this.getInverseMatrix();\n return P.applyToPointArray(y[0], y[1], y[2] || 0);\n }\n function L(y) {\n var P, k = y.length, F = [];\n for (P = 0; P < k; P += 1)\n F[P] = G(y[P]);\n return F;\n }\n function V(y, P, k) {\n var F = createTypedArray(\"float32\", 6);\n if (this.isIdentity())\n F[0] = y[0], F[1] = y[1], F[2] = P[0], F[3] = P[1], F[4] = k[0], F[5] = k[1];\n else {\n var R = this.props[0], z = this.props[1], N = this.props[4], H = this.props[5], W = this.props[12], q = this.props[13];\n F[0] = y[0] * R + y[1] * N + W, F[1] = y[0] * z + y[1] * H + q, F[2] = P[0] * R + P[1] * N + W, F[3] = P[0] * z + P[1] * H + q, F[4] = k[0] * R + k[1] * N + W, F[5] = k[0] * z + k[1] * H + q;\n }\n return F;\n }\n function D(y, P, k) {\n var F;\n return this.isIdentity() ? F = [y, P, k] : F = [y * this.props[0] + P * this.props[4] + k * this.props[8] + this.props[12], y * this.props[1] + P * this.props[5] + k * this.props[9] + this.props[13], y * this.props[2] + P * this.props[6] + k * this.props[10] + this.props[14]], F;\n }\n function B(y, P) {\n if (this.isIdentity())\n return y + \",\" + P;\n var k = this.props;\n return Math.round((y * k[0] + P * k[4] + k[12]) * 100) / 100 + \",\" + Math.round((y * k[1] + P * k[5] + k[13]) * 100) / 100;\n }\n function I() {\n for (var y = 0, P = this.props, k = \"matrix3d(\", F = 1e4; y < 16; )\n k += i(P[y] * F) / F, k += y === 15 ? \")\" : \",\", y += 1;\n return k;\n }\n function C(y) {\n var P = 1e4;\n return y < 1e-6 && y > 0 || y > -1e-6 && y < 0 ? i(y * P) / P : y;\n }\n function A() {\n var y = this.props, P = C(y[0]), k = C(y[1]), F = C(y[4]), R = C(y[5]), z = C(y[12]), N = C(y[13]);\n return \"matrix(\" + P + \",\" + k + \",\" + F + \",\" + R + \",\" + z + \",\" + N + \")\";\n }\n return function() {\n this.reset = s, this.rotate = a, this.rotateX = n, this.rotateY = h, this.rotateZ = o, this.skew = v, this.skewFromAxis = S, this.shear = f, this.scale = p, this.setTransform = b, this.translate = g, this.transform = m, this.multiply = x, this.applyToPoint = E, this.applyToX = _, this.applyToY = T, this.applyToZ = M, this.applyToPointArray = D, this.applyToTriplePoints = V, this.applyToPointStringified = B, this.toCSS = I, this.to2dCSS = A, this.clone = l, this.cloneFromProps = d, this.equals = u, this.inversePoints = L, this.inversePoint = G, this.getInverseMatrix = w, this._t = this.transform, this.isIdentity = c, this._identity = !0, this._identityCalculated = !1, this.props = createTypedArray(\"float32\", 16), this.reset();\n };\n }();\n function _typeof$3(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? _typeof$3 = function(r) {\n return typeof r;\n } : _typeof$3 = function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n }, _typeof$3(t);\n }\n var lottie = {};\n function setLocation(t) {\n setLocationHref(t);\n }\n function searchAnimations() {\n animationManager.searchAnimations();\n }\n function setSubframeRendering(t) {\n setSubframeEnabled(t);\n }\n function setPrefix(t) {\n setIdPrefix(t);\n }\n function loadAnimation(t) {\n return animationManager.loadAnimation(t);\n }\n function setQuality(t) {\n if (typeof t == \"string\")\n switch (t) {\n case \"high\":\n setDefaultCurveSegments(200);\n break;\n default:\n case \"medium\":\n setDefaultCurveSegments(50);\n break;\n case \"low\":\n setDefaultCurveSegments(10);\n break;\n }\n else\n !isNaN(t) && t > 1 && setDefaultCurveSegments(t);\n }\n function inBrowser() {\n return typeof navigator < \"u\";\n }\n function installPlugin(t, e) {\n t === \"expressions\" && setExpressionsPlugin(e);\n }\n function getFactory(t) {\n switch (t) {\n case \"propertyFactory\":\n return PropertyFactory;\n case \"shapePropertyFactory\":\n return ShapePropertyFactory;\n case \"matrix\":\n return Matrix;\n default:\n return null;\n }\n }\n lottie.play = animationManager.play, lottie.pause = animationManager.pause, lottie.setLocationHref = setLocation, lottie.togglePause = animationManager.togglePause, lottie.setSpeed = animationManager.setSpeed, lottie.setDirection = animationManager.setDirection, lottie.stop = animationManager.stop, lottie.searchAnimations = searchAnimations, lottie.registerAnimation = animationManager.registerAnimation, lottie.loadAnimation = loadAnimation, lottie.setSubframeRendering = setSubframeRendering, lottie.resize = animationManager.resize, lottie.goToAndStop = animationManager.goToAndStop, lottie.destroy = animationManager.destroy, lottie.setQuality = setQuality, lottie.inBrowser = inBrowser, lottie.installPlugin = installPlugin, lottie.freeze = animationManager.freeze, lottie.unfreeze = animationManager.unfreeze, lottie.setVolume = animationManager.setVolume, lottie.mute = animationManager.mute, lottie.unmute = animationManager.unmute, lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations, lottie.useWebWorker = setWebWorker, lottie.setIDPrefix = setPrefix, lottie.__getFactory = getFactory, lottie.version = \"5.12.2\";\n function checkReady() {\n document.readyState === \"complete\" && (clearInterval(readyStateCheckInterval), searchAnimations());\n }\n function getQueryVariable(t) {\n for (var e = queryString.split(\"&\"), r = 0; r < e.length; r += 1) {\n var i = e[r].split(\"=\");\n if (decodeURIComponent(i[0]) == t)\n return decodeURIComponent(i[1]);\n }\n return null;\n }\n var queryString = \"\";\n {\n var scripts = document.getElementsByTagName(\"script\"), index = scripts.length - 1, myScript = scripts[index] || {\n src: \"\"\n };\n queryString = myScript.src ? myScript.src.replace(/^[^\\?]+\\??/, \"\") : \"\", getQueryVariable(\"renderer\");\n }\n var readyStateCheckInterval = setInterval(checkReady, 100);\n try {\n _typeof$3(exports) !== \"object\" && (window.bodymovin = lottie);\n } catch (t) {\n }\n var ShapeModifiers = function() {\n var t = {}, e = {};\n t.registerModifier = r, t.getModifier = i;\n function r(s, a) {\n e[s] || (e[s] = a);\n }\n function i(s, a, n) {\n return new e[s](a, n);\n }\n return t;\n }();\n function ShapeModifier() {\n }\n ShapeModifier.prototype.initModifierProperties = function() {\n }, ShapeModifier.prototype.addShapeToModifier = function() {\n }, ShapeModifier.prototype.addShape = function(t) {\n if (!this.closed) {\n t.sh.container.addDynamicProperty(t.sh);\n var e = {\n shape: t.sh,\n data: t,\n localShapeCollection: shapeCollectionPool.newShapeCollection()\n };\n this.shapes.push(e), this.addShapeToModifier(e), this._isAnimated && t.setAsAnimated();\n }\n }, ShapeModifier.prototype.init = function(t, e) {\n this.shapes = [], this.elem = t, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e), this.frameId = initialDefaultFrame, this.closed = !1, this.k = !1, this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, ShapeModifier.prototype.processKeys = function() {\n this.elem.globalData.frameId !== this.frameId && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties());\n }, extendPrototype([DynamicPropertyContainer], ShapeModifier);\n function TrimModifier() {\n }\n extendPrototype([ShapeModifier], TrimModifier), TrimModifier.prototype.initModifierProperties = function(t, e) {\n this.s = PropertyFactory.getProp(t, e.s, 0, 0.01, this), this.e = PropertyFactory.getProp(t, e.e, 0, 0.01, this), this.o = PropertyFactory.getProp(t, e.o, 0, 0, this), this.sValue = 0, this.eValue = 0, this.getValue = this.processKeys, this.m = e.m, this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;\n }, TrimModifier.prototype.addShapeToModifier = function(t) {\n t.pathsData = [];\n }, TrimModifier.prototype.calculateShapeEdges = function(t, e, r, i, s) {\n var a = [];\n e <= 1 ? a.push({\n s: t,\n e\n }) : t >= 1 ? a.push({\n s: t - 1,\n e: e - 1\n }) : (a.push({\n s: t,\n e: 1\n }), a.push({\n s: 0,\n e: e - 1\n }));\n var n = [], h, o = a.length, f;\n for (h = 0; h < o; h += 1)\n if (f = a[h], !(f.e * s < i || f.s * s > i + r)) {\n var v, S;\n f.s * s <= i ? v = 0 : v = (f.s * s - i) / r, f.e * s >= i + r ? S = 1 : S = (f.e * s - i) / r, n.push([v, S]);\n }\n return n.length || n.push([0, 0]), n;\n }, TrimModifier.prototype.releasePathsData = function(t) {\n var e, r = t.length;\n for (e = 0; e < r; e += 1)\n segmentsLengthPool.release(t[e]);\n return t.length = 0, t;\n }, TrimModifier.prototype.processShapes = function(t) {\n var e, r;\n if (this._mdf || t) {\n var i = this.o.v % 360 / 360;\n if (i < 0 && (i += 1), this.s.v > 1 ? e = 1 + i : this.s.v < 0 ? e = 0 + i : e = this.s.v + i, this.e.v > 1 ? r = 1 + i : this.e.v < 0 ? r = 0 + i : r = this.e.v + i, e > r) {\n var s = e;\n e = r, r = s;\n }\n e = Math.round(e * 1e4) * 1e-4, r = Math.round(r * 1e4) * 1e-4, this.sValue = e, this.eValue = r;\n } else\n e = this.sValue, r = this.eValue;\n var a, n, h = this.shapes.length, o, f, v, S, p, b = 0;\n if (r === e)\n for (n = 0; n < h; n += 1)\n this.shapes[n].localShapeCollection.releaseShapes(), this.shapes[n].shape._mdf = !0, this.shapes[n].shape.paths = this.shapes[n].localShapeCollection, this._mdf && (this.shapes[n].pathsData.length = 0);\n else if (r === 1 && e === 0 || r === 0 && e === 1) {\n if (this._mdf)\n for (n = 0; n < h; n += 1)\n this.shapes[n].pathsData.length = 0, this.shapes[n].shape._mdf = !0;\n } else {\n var g = [], m, x;\n for (n = 0; n < h; n += 1)\n if (m = this.shapes[n], !m.shape._mdf && !this._mdf && !t && this.m !== 2)\n m.shape.paths = m.localShapeCollection;\n else {\n if (a = m.shape.paths, f = a._length, p = 0, !m.shape._mdf && m.pathsData.length)\n p = m.totalShapeLength;\n else {\n for (v = this.releasePathsData(m.pathsData), o = 0; o < f; o += 1)\n S = bez.getSegmentsLength(a.shapes[o]), v.push(S), p += S.totalLength;\n m.totalShapeLength = p, m.pathsData = v;\n }\n b += p, m.shape._mdf = !0;\n }\n var c = e, u = r, l = 0, d;\n for (n = h - 1; n >= 0; n -= 1)\n if (m = this.shapes[n], m.shape._mdf) {\n for (x = m.localShapeCollection, x.releaseShapes(), this.m === 2 && h > 1 ? (d = this.calculateShapeEdges(e, r, m.totalShapeLength, l, b), l += m.totalShapeLength) : d = [[c, u]], f = d.length, o = 0; o < f; o += 1) {\n c = d[o][0], u = d[o][1], g.length = 0, u <= 1 ? g.push({\n s: m.totalShapeLength * c,\n e: m.totalShapeLength * u\n }) : c >= 1 ? g.push({\n s: m.totalShapeLength * (c - 1),\n e: m.totalShapeLength * (u - 1)\n }) : (g.push({\n s: m.totalShapeLength * c,\n e: m.totalShapeLength\n }), g.push({\n s: 0,\n e: m.totalShapeLength * (u - 1)\n }));\n var E = this.addShapes(m, g[0]);\n if (g[0].s !== g[0].e) {\n if (g.length > 1) {\n var _ = m.shape.paths.shapes[m.shape.paths._length - 1];\n if (_.c) {\n var T = E.pop();\n this.addPaths(E, x), E = this.addShapes(m, g[1], T);\n } else\n this.addPaths(E, x), E = this.addShapes(m, g[1]);\n }\n this.addPaths(E, x);\n }\n }\n m.shape.paths = x;\n }\n }\n }, TrimModifier.prototype.addPaths = function(t, e) {\n var r, i = t.length;\n for (r = 0; r < i; r += 1)\n e.addShape(t[r]);\n }, TrimModifier.prototype.addSegment = function(t, e, r, i, s, a, n) {\n s.setXYAt(e[0], e[1], \"o\", a), s.setXYAt(r[0], r[1], \"i\", a + 1), n && s.setXYAt(t[0], t[1], \"v\", a), s.setXYAt(i[0], i[1], \"v\", a + 1);\n }, TrimModifier.prototype.addSegmentFromArray = function(t, e, r, i) {\n e.setXYAt(t[1], t[5], \"o\", r), e.setXYAt(t[2], t[6], \"i\", r + 1), i && e.setXYAt(t[0], t[4], \"v\", r), e.setXYAt(t[3], t[7], \"v\", r + 1);\n }, TrimModifier.prototype.addShapes = function(t, e, r) {\n var i = t.pathsData, s = t.shape.paths.shapes, a, n = t.shape.paths._length, h, o, f = 0, v, S, p, b, g = [], m, x = !0;\n for (r ? (S = r._length, m = r._length) : (r = shapePool.newElement(), S = 0, m = 0), g.push(r), a = 0; a < n; a += 1) {\n for (p = i[a].lengths, r.c = s[a].c, o = s[a].c ? p.length : p.length + 1, h = 1; h < o; h += 1)\n if (v = p[h - 1], f + v.addedLength < e.s)\n f += v.addedLength, r.c = !1;\n else if (f > e.e) {\n r.c = !1;\n break;\n } else\n e.s <= f && e.e >= f + v.addedLength ? (this.addSegment(s[a].v[h - 1], s[a].o[h - 1], s[a].i[h], s[a].v[h], r, S, x), x = !1) : (b = bez.getNewSegment(s[a].v[h - 1], s[a].v[h], s[a].o[h - 1], s[a].i[h], (e.s - f) / v.addedLength, (e.e - f) / v.addedLength, p[h - 1]), this.addSegmentFromArray(b, r, S, x), x = !1, r.c = !1), f += v.addedLength, S += 1;\n if (s[a].c && p.length) {\n if (v = p[h - 1], f <= e.e) {\n var c = p[h - 1].addedLength;\n e.s <= f && e.e >= f + c ? (this.addSegment(s[a].v[h - 1], s[a].o[h - 1], s[a].i[0], s[a].v[0], r, S, x), x = !1) : (b = bez.getNewSegment(s[a].v[h - 1], s[a].v[0], s[a].o[h - 1], s[a].i[0], (e.s - f) / c, (e.e - f) / c, p[h - 1]), this.addSegmentFromArray(b, r, S, x), x = !1, r.c = !1);\n } else\n r.c = !1;\n f += v.addedLength, S += 1;\n }\n if (r._length && (r.setXYAt(r.v[m][0], r.v[m][1], \"i\", m), r.setXYAt(r.v[r._length - 1][0], r.v[r._length - 1][1], \"o\", r._length - 1)), f > e.e)\n break;\n a < n - 1 && (r = shapePool.newElement(), x = !0, g.push(r), S = 0);\n }\n return g;\n };\n function PuckerAndBloatModifier() {\n }\n extendPrototype([ShapeModifier], PuckerAndBloatModifier), PuckerAndBloatModifier.prototype.initModifierProperties = function(t, e) {\n this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t, e.a, 0, null, this), this._isAnimated = !!this.amount.effectsSequence.length;\n }, PuckerAndBloatModifier.prototype.processPath = function(t, e) {\n var r = e / 100, i = [0, 0], s = t._length, a = 0;\n for (a = 0; a < s; a += 1)\n i[0] += t.v[a][0], i[1] += t.v[a][1];\n i[0] /= s, i[1] /= s;\n var n = shapePool.newElement();\n n.c = t.c;\n var h, o, f, v, S, p;\n for (a = 0; a < s; a += 1)\n h = t.v[a][0] + (i[0] - t.v[a][0]) * r, o = t.v[a][1] + (i[1] - t.v[a][1]) * r, f = t.o[a][0] + (i[0] - t.o[a][0]) * -r, v = t.o[a][1] + (i[1] - t.o[a][1]) * -r, S = t.i[a][0] + (i[0] - t.i[a][0]) * -r, p = t.i[a][1] + (i[1] - t.i[a][1]) * -r, n.setTripleAt(h, o, f, v, S, p, a);\n return n;\n }, PuckerAndBloatModifier.prototype.processShapes = function(t) {\n var e, r, i = this.shapes.length, s, a, n = this.amount.v;\n if (n !== 0) {\n var h, o;\n for (r = 0; r < i; r += 1) {\n if (h = this.shapes[r], o = h.localShapeCollection, !(!h.shape._mdf && !this._mdf && !t))\n for (o.releaseShapes(), h.shape._mdf = !0, e = h.shape.paths.shapes, a = h.shape.paths._length, s = 0; s < a; s += 1)\n o.addShape(this.processPath(e[s], n));\n h.shape.paths = h.localShapeCollection;\n }\n }\n this.dynamicProperties.length || (this._mdf = !1);\n };\n var TransformPropertyFactory = function() {\n var t = [0, 0];\n function e(o) {\n var f = this._mdf;\n this.iterateDynamicProperties(), this._mdf = this._mdf || f, this.a && o.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.s && o.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && o.skewFromAxis(-this.sk.v, this.sa.v), this.r ? o.rotate(-this.r.v) : o.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.data.p.s ? this.data.p.z ? o.translate(this.px.v, this.py.v, -this.pz.v) : o.translate(this.px.v, this.py.v, 0) : o.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n function r(o) {\n if (this.elem.globalData.frameId !== this.frameId) {\n if (this._isDirty && (this.precalculateMatrix(), this._isDirty = !1), this.iterateDynamicProperties(), this._mdf || o) {\n var f;\n if (this.v.cloneFromProps(this.pre.props), this.appliedTransformations < 1 && this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations < 2 && this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.sk && this.appliedTransformations < 3 && this.v.skewFromAxis(-this.sk.v, this.sa.v), this.r && this.appliedTransformations < 4 ? this.v.rotate(-this.r.v) : !this.r && this.appliedTransformations < 4 && this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.autoOriented) {\n var v, S;\n if (f = this.elem.globalData.frameRate, this.p && this.p.keyframes && this.p.getValueAtTime)\n this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t ? (v = this.p.getValueAtTime((this.p.keyframes[0].t + 0.01) / f, 0), S = this.p.getValueAtTime(this.p.keyframes[0].t / f, 0)) : this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t ? (v = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / f, 0), S = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - 0.05) / f, 0)) : (v = this.p.pv, S = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - 0.01) / f, this.p.offsetTime));\n else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {\n v = [], S = [];\n var p = this.px, b = this.py;\n p._caching.lastFrame + p.offsetTime <= p.keyframes[0].t ? (v[0] = p.getValueAtTime((p.keyframes[0].t + 0.01) / f, 0), v[1] = b.getValueAtTime((b.keyframes[0].t + 0.01) / f, 0), S[0] = p.getValueAtTime(p.keyframes[0].t / f, 0), S[1] = b.getValueAtTime(b.keyframes[0].t / f, 0)) : p._caching.lastFrame + p.offsetTime >= p.keyframes[p.keyframes.length - 1].t ? (v[0] = p.getValueAtTime(p.keyframes[p.keyframes.length - 1].t / f, 0), v[1] = b.getValueAtTime(b.keyframes[b.keyframes.length - 1].t / f, 0), S[0] = p.getValueAtTime((p.keyframes[p.keyframes.length - 1].t - 0.01) / f, 0), S[1] = b.getValueAtTime((b.keyframes[b.keyframes.length - 1].t - 0.01) / f, 0)) : (v = [p.pv, b.pv], S[0] = p.getValueAtTime((p._caching.lastFrame + p.offsetTime - 0.01) / f, p.offsetTime), S[1] = b.getValueAtTime((b._caching.lastFrame + b.offsetTime - 0.01) / f, b.offsetTime));\n } else\n S = t, v = S;\n this.v.rotate(-Math.atan2(v[1] - S[1], v[0] - S[0]));\n }\n this.data.p && this.data.p.s ? this.data.p.z ? this.v.translate(this.px.v, this.py.v, -this.pz.v) : this.v.translate(this.px.v, this.py.v, 0) : this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);\n }\n this.frameId = this.elem.globalData.frameId;\n }\n }\n function i() {\n if (this.appliedTransformations = 0, this.pre.reset(), !this.a.effectsSequence.length)\n this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]), this.appliedTransformations = 1;\n else\n return;\n if (!this.s.effectsSequence.length)\n this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]), this.appliedTransformations = 2;\n else\n return;\n if (this.sk)\n if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length)\n this.pre.skewFromAxis(-this.sk.v, this.sa.v), this.appliedTransformations = 3;\n else\n return;\n this.r ? this.r.effectsSequence.length || (this.pre.rotate(-this.r.v), this.appliedTransformations = 4) : !this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length && (this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]), this.appliedTransformations = 4);\n }\n function s() {\n }\n function a(o) {\n this._addDynamicProperty(o), this.elem.addDynamicProperty(o), this._isDirty = !0;\n }\n function n(o, f, v) {\n if (this.elem = o, this.frameId = -1, this.propType = \"transform\", this.data = f, this.v = new Matrix(), this.pre = new Matrix(), this.appliedTransformations = 0, this.initDynamicPropertyContainer(v || o), f.p && f.p.s ? (this.px = PropertyFactory.getProp(o, f.p.x, 0, 0, this), this.py = PropertyFactory.getProp(o, f.p.y, 0, 0, this), f.p.z && (this.pz = PropertyFactory.getProp(o, f.p.z, 0, 0, this))) : this.p = PropertyFactory.getProp(o, f.p || {\n k: [0, 0, 0]\n }, 1, 0, this), f.rx) {\n if (this.rx = PropertyFactory.getProp(o, f.rx, 0, degToRads, this), this.ry = PropertyFactory.getProp(o, f.ry, 0, degToRads, this), this.rz = PropertyFactory.getProp(o, f.rz, 0, degToRads, this), f.or.k[0].ti) {\n var S, p = f.or.k.length;\n for (S = 0; S < p; S += 1)\n f.or.k[S].to = null, f.or.k[S].ti = null;\n }\n this.or = PropertyFactory.getProp(o, f.or, 1, degToRads, this), this.or.sh = !0;\n } else\n this.r = PropertyFactory.getProp(o, f.r || {\n k: 0\n }, 0, degToRads, this);\n f.sk && (this.sk = PropertyFactory.getProp(o, f.sk, 0, degToRads, this), this.sa = PropertyFactory.getProp(o, f.sa, 0, degToRads, this)), this.a = PropertyFactory.getProp(o, f.a || {\n k: [0, 0, 0]\n }, 1, 0, this), this.s = PropertyFactory.getProp(o, f.s || {\n k: [100, 100, 100]\n }, 1, 0.01, this), f.o ? this.o = PropertyFactory.getProp(o, f.o, 0, 0.01, o) : this.o = {\n _mdf: !1,\n v: 1\n }, this._isDirty = !0, this.dynamicProperties.length || this.getValue(!0);\n }\n n.prototype = {\n applyToMatrix: e,\n getValue: r,\n precalculateMatrix: i,\n autoOrient: s\n }, extendPrototype([DynamicPropertyContainer], n), n.prototype.addDynamicProperty = a, n.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n function h(o, f, v) {\n return new n(o, f, v);\n }\n return {\n getTransformProperty: h\n };\n }();\n function RepeaterModifier() {\n }\n extendPrototype([ShapeModifier], RepeaterModifier), RepeaterModifier.prototype.initModifierProperties = function(t, e) {\n this.getValue = this.processKeys, this.c = PropertyFactory.getProp(t, e.c, 0, null, this), this.o = PropertyFactory.getProp(t, e.o, 0, null, this), this.tr = TransformPropertyFactory.getTransformProperty(t, e.tr, this), this.so = PropertyFactory.getProp(t, e.tr.so, 0, 0.01, this), this.eo = PropertyFactory.getProp(t, e.tr.eo, 0, 0.01, this), this.data = e, this.dynamicProperties.length || this.getValue(!0), this._isAnimated = !!this.dynamicProperties.length, this.pMatrix = new Matrix(), this.rMatrix = new Matrix(), this.sMatrix = new Matrix(), this.tMatrix = new Matrix(), this.matrix = new Matrix();\n }, RepeaterModifier.prototype.applyTransforms = function(t, e, r, i, s, a) {\n var n = a ? -1 : 1, h = i.s.v[0] + (1 - i.s.v[0]) * (1 - s), o = i.s.v[1] + (1 - i.s.v[1]) * (1 - s);\n t.translate(i.p.v[0] * n * s, i.p.v[1] * n * s, i.p.v[2]), e.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), e.rotate(-i.r.v * n * s), e.translate(i.a.v[0], i.a.v[1], i.a.v[2]), r.translate(-i.a.v[0], -i.a.v[1], i.a.v[2]), r.scale(a ? 1 / h : h, a ? 1 / o : o), r.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }, RepeaterModifier.prototype.init = function(t, e, r, i) {\n for (this.elem = t, this.arr = e, this.pos = r, this.elemsData = i, this._currentCopies = 0, this._elements = [], this._groups = [], this.frameId = -1, this.initDynamicPropertyContainer(t), this.initModifierProperties(t, e[r]); r > 0; )\n r -= 1, this._elements.unshift(e[r]);\n this.dynamicProperties.length ? this.k = !0 : this.getValue(!0);\n }, RepeaterModifier.prototype.resetElements = function(t) {\n var e, r = t.length;\n for (e = 0; e < r; e += 1)\n t[e]._processed = !1, t[e].ty === \"gr\" && this.resetElements(t[e].it);\n }, RepeaterModifier.prototype.cloneElements = function(t) {\n var e = JSON.parse(JSON.stringify(t));\n return this.resetElements(e), e;\n }, RepeaterModifier.prototype.changeGroupRender = function(t, e) {\n var r, i = t.length;\n for (r = 0; r < i; r += 1)\n t[r]._render = e, t[r].ty === \"gr\" && this.changeGroupRender(t[r].it, e);\n }, RepeaterModifier.prototype.processShapes = function(t) {\n var e, r, i, s, a, n = !1;\n if (this._mdf || t) {\n var h = Math.ceil(this.c.v);\n if (this._groups.length < h) {\n for (; this._groups.length < h; ) {\n var o = {\n it: this.cloneElements(this._elements),\n ty: \"gr\"\n };\n o.it.push({\n a: {\n a: 0,\n ix: 1,\n k: [0, 0]\n },\n nm: \"Transform\",\n o: {\n a: 0,\n ix: 7,\n k: 100\n },\n p: {\n a: 0,\n ix: 2,\n k: [0, 0]\n },\n r: {\n a: 1,\n ix: 6,\n k: [{\n s: 0,\n e: 0,\n t: 0\n }, {\n s: 0,\n e: 0,\n t: 1\n }]\n },\n s: {\n a: 0,\n ix: 3,\n k: [100, 100]\n },\n sa: {\n a: 0,\n ix: 5,\n k: 0\n },\n sk: {\n a: 0,\n ix: 4,\n k: 0\n },\n ty: \"tr\"\n }), this.arr.splice(0, 0, o), this._groups.splice(0, 0, o), this._currentCopies += 1;\n }\n this.elem.reloadShapes(), n = !0;\n }\n a = 0;\n var f;\n for (i = 0; i <= this._groups.length - 1; i += 1) {\n if (f = a < h, this._groups[i]._render = f, this.changeGroupRender(this._groups[i].it, f), !f) {\n var v = this.elemsData[i].it, S = v[v.length - 1];\n S.transform.op.v !== 0 ? (S.transform.op._mdf = !0, S.transform.op.v = 0) : S.transform.op._mdf = !1;\n }\n a += 1;\n }\n this._currentCopies = h;\n var p = this.o.v, b = p % 1, g = p > 0 ? Math.floor(p) : Math.ceil(p), m = this.pMatrix.props, x = this.rMatrix.props, c = this.sMatrix.props;\n this.pMatrix.reset(), this.rMatrix.reset(), this.sMatrix.reset(), this.tMatrix.reset(), this.matrix.reset();\n var u = 0;\n if (p > 0) {\n for (; u < g; )\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), u += 1;\n b && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, b, !1), u += b);\n } else if (p < 0) {\n for (; u > g; )\n this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !0), u -= 1;\n b && (this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -b, !0), u -= b);\n }\n i = this.data.m === 1 ? 0 : this._currentCopies - 1, s = this.data.m === 1 ? 1 : -1, a = this._currentCopies;\n for (var l, d; a; ) {\n if (e = this.elemsData[i].it, r = e[e.length - 1].transform.mProps.v.props, d = r.length, e[e.length - 1].transform.mProps._mdf = !0, e[e.length - 1].transform.op._mdf = !0, e[e.length - 1].transform.op.v = this._currentCopies === 1 ? this.so.v : this.so.v + (this.eo.v - this.so.v) * (i / (this._currentCopies - 1)), u !== 0) {\n for ((i !== 0 && s === 1 || i !== this._currentCopies - 1 && s === -1) && this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, !1), this.matrix.transform(x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15]), this.matrix.transform(c[0], c[1], c[2], c[3], c[4], c[5], c[6], c[7], c[8], c[9], c[10], c[11], c[12], c[13], c[14], c[15]), this.matrix.transform(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8], m[9], m[10], m[11], m[12], m[13], m[14], m[15]), l = 0; l < d; l += 1)\n r[l] = this.matrix.props[l];\n this.matrix.reset();\n } else\n for (this.matrix.reset(), l = 0; l < d; l += 1)\n r[l] = this.matrix.props[l];\n u += 1, a -= 1, i += s;\n }\n } else\n for (a = this._currentCopies, i = 0, s = 1; a; )\n e = this.elemsData[i].it, r = e[e.length - 1].transform.mProps.v.props, e[e.length - 1].transform.mProps._mdf = !1, e[e.length - 1].transform.op._mdf = !1, a -= 1, i += s;\n return n;\n }, RepeaterModifier.prototype.addShape = function() {\n };\n function RoundCornersModifier() {\n }\n extendPrototype([ShapeModifier], RoundCornersModifier), RoundCornersModifier.prototype.initModifierProperties = function(t, e) {\n this.getValue = this.processKeys, this.rd = PropertyFactory.getProp(t, e.r, 0, null, this), this._isAnimated = !!this.rd.effectsSequence.length;\n }, RoundCornersModifier.prototype.processPath = function(t, e) {\n var r = shapePool.newElement();\n r.c = t.c;\n var i, s = t._length, a, n, h, o, f, v, S = 0, p, b, g, m, x, c;\n for (i = 0; i < s; i += 1)\n a = t.v[i], h = t.o[i], n = t.i[i], a[0] === h[0] && a[1] === h[1] && a[0] === n[0] && a[1] === n[1] ? (i === 0 || i === s - 1) && !t.c ? (r.setTripleAt(a[0], a[1], h[0], h[1], n[0], n[1], S), S += 1) : (i === 0 ? o = t.v[s - 1] : o = t.v[i - 1], f = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2)), v = f ? Math.min(f / 2, e) / f : 0, x = a[0] + (o[0] - a[0]) * v, p = x, c = a[1] - (a[1] - o[1]) * v, b = c, g = p - (p - a[0]) * roundCorner, m = b - (b - a[1]) * roundCorner, r.setTripleAt(p, b, g, m, x, c, S), S += 1, i === s - 1 ? o = t.v[0] : o = t.v[i + 1], f = Math.sqrt(Math.pow(a[0] - o[0], 2) + Math.pow(a[1] - o[1], 2)), v = f ? Math.min(f / 2, e) / f : 0, g = a[0] + (o[0] - a[0]) * v, p = g, m = a[1] + (o[1] - a[1]) * v, b = m, x = p - (p - a[0]) * roundCorner, c = b - (b - a[1]) * roundCorner, r.setTripleAt(p, b, g, m, x, c, S), S += 1) : (r.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], S), S += 1);\n return r;\n }, RoundCornersModifier.prototype.processShapes = function(t) {\n var e, r, i = this.shapes.length, s, a, n = this.rd.v;\n if (n !== 0) {\n var h, o;\n for (r = 0; r < i; r += 1) {\n if (h = this.shapes[r], o = h.localShapeCollection, !(!h.shape._mdf && !this._mdf && !t))\n for (o.releaseShapes(), h.shape._mdf = !0, e = h.shape.paths.shapes, a = h.shape.paths._length, s = 0; s < a; s += 1)\n o.addShape(this.processPath(e[s], n));\n h.shape.paths = h.localShapeCollection;\n }\n }\n this.dynamicProperties.length || (this._mdf = !1);\n };\n function floatEqual(t, e) {\n return Math.abs(t - e) * 1e5 <= Math.min(Math.abs(t), Math.abs(e));\n }\n function floatZero(t) {\n return Math.abs(t) <= 1e-5;\n }\n function lerp(t, e, r) {\n return t * (1 - r) + e * r;\n }\n function lerpPoint(t, e, r) {\n return [lerp(t[0], e[0], r), lerp(t[1], e[1], r)];\n }\n function quadRoots(t, e, r) {\n if (t === 0)\n return [];\n var i = e * e - 4 * t * r;\n if (i < 0)\n return [];\n var s = -e / (2 * t);\n if (i === 0)\n return [s];\n var a = Math.sqrt(i) / (2 * t);\n return [s - a, s + a];\n }\n function polynomialCoefficients(t, e, r, i) {\n return [-t + 3 * e - 3 * r + i, 3 * t - 6 * e + 3 * r, -3 * t + 3 * e, t];\n }\n function singlePoint(t) {\n return new PolynomialBezier(t, t, t, t, !1);\n }\n function PolynomialBezier(t, e, r, i, s) {\n s && pointEqual(t, e) && (e = lerpPoint(t, i, 1 / 3)), s && pointEqual(r, i) && (r = lerpPoint(t, i, 2 / 3));\n var a = polynomialCoefficients(t[0], e[0], r[0], i[0]), n = polynomialCoefficients(t[1], e[1], r[1], i[1]);\n this.a = [a[0], n[0]], this.b = [a[1], n[1]], this.c = [a[2], n[2]], this.d = [a[3], n[3]], this.points = [t, e, r, i];\n }\n PolynomialBezier.prototype.point = function(t) {\n return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];\n }, PolynomialBezier.prototype.derivative = function(t) {\n return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];\n }, PolynomialBezier.prototype.tangentAngle = function(t) {\n var e = this.derivative(t);\n return Math.atan2(e[1], e[0]);\n }, PolynomialBezier.prototype.normalAngle = function(t) {\n var e = this.derivative(t);\n return Math.atan2(e[0], e[1]);\n }, PolynomialBezier.prototype.inflectionPoints = function() {\n var t = this.a[1] * this.b[0] - this.a[0] * this.b[1];\n if (floatZero(t))\n return [];\n var e = -0.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / t, r = e * e - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / t;\n if (r < 0)\n return [];\n var i = Math.sqrt(r);\n return floatZero(i) ? i > 0 && i < 1 ? [e] : [] : [e - i, e + i].filter(function(s) {\n return s > 0 && s < 1;\n });\n }, PolynomialBezier.prototype.split = function(t) {\n if (t <= 0)\n return [singlePoint(this.points[0]), this];\n if (t >= 1)\n return [this, singlePoint(this.points[this.points.length - 1])];\n var e = lerpPoint(this.points[0], this.points[1], t), r = lerpPoint(this.points[1], this.points[2], t), i = lerpPoint(this.points[2], this.points[3], t), s = lerpPoint(e, r, t), a = lerpPoint(r, i, t), n = lerpPoint(s, a, t);\n return [new PolynomialBezier(this.points[0], e, s, n, !0), new PolynomialBezier(n, a, i, this.points[3], !0)];\n };\n function extrema(t, e) {\n var r = t.points[0][e], i = t.points[t.points.length - 1][e];\n if (r > i) {\n var s = i;\n i = r, r = s;\n }\n for (var a = quadRoots(3 * t.a[e], 2 * t.b[e], t.c[e]), n = 0; n < a.length; n += 1)\n if (a[n] > 0 && a[n] < 1) {\n var h = t.point(a[n])[e];\n h < r ? r = h : h > i && (i = h);\n }\n return {\n min: r,\n max: i\n };\n }\n PolynomialBezier.prototype.bounds = function() {\n return {\n x: extrema(this, 0),\n y: extrema(this, 1)\n };\n }, PolynomialBezier.prototype.boundingBox = function() {\n var t = this.bounds();\n return {\n left: t.x.min,\n right: t.x.max,\n top: t.y.min,\n bottom: t.y.max,\n width: t.x.max - t.x.min,\n height: t.y.max - t.y.min,\n cx: (t.x.max + t.x.min) / 2,\n cy: (t.y.max + t.y.min) / 2\n };\n };\n function intersectData(t, e, r) {\n var i = t.boundingBox();\n return {\n cx: i.cx,\n cy: i.cy,\n width: i.width,\n height: i.height,\n bez: t,\n t: (e + r) / 2,\n t1: e,\n t2: r\n };\n }\n function splitData(t) {\n var e = t.bez.split(0.5);\n return [intersectData(e[0], t.t1, t.t), intersectData(e[1], t.t, t.t2)];\n }\n function boxIntersect(t, e) {\n return Math.abs(t.cx - e.cx) * 2 < t.width + e.width && Math.abs(t.cy - e.cy) * 2 < t.height + e.height;\n }\n function intersectsImpl(t, e, r, i, s, a) {\n if (boxIntersect(t, e)) {\n if (r >= a || t.width <= i && t.height <= i && e.width <= i && e.height <= i) {\n s.push([t.t, e.t]);\n return;\n }\n var n = splitData(t), h = splitData(e);\n intersectsImpl(n[0], h[0], r + 1, i, s, a), intersectsImpl(n[0], h[1], r + 1, i, s, a), intersectsImpl(n[1], h[0], r + 1, i, s, a), intersectsImpl(n[1], h[1], r + 1, i, s, a);\n }\n }\n PolynomialBezier.prototype.intersections = function(t, e, r) {\n e === void 0 && (e = 2), r === void 0 && (r = 7);\n var i = [];\n return intersectsImpl(intersectData(this, 0, 1), intersectData(t, 0, 1), 0, e, i, r), i;\n }, PolynomialBezier.shapeSegment = function(t, e) {\n var r = (e + 1) % t.length();\n return new PolynomialBezier(t.v[e], t.o[e], t.i[r], t.v[r], !0);\n }, PolynomialBezier.shapeSegmentInverted = function(t, e) {\n var r = (e + 1) % t.length();\n return new PolynomialBezier(t.v[r], t.i[r], t.o[e], t.v[e], !0);\n };\n function crossProduct(t, e) {\n return [t[1] * e[2] - t[2] * e[1], t[2] * e[0] - t[0] * e[2], t[0] * e[1] - t[1] * e[0]];\n }\n function lineIntersection(t, e, r, i) {\n var s = [t[0], t[1], 1], a = [e[0], e[1], 1], n = [r[0], r[1], 1], h = [i[0], i[1], 1], o = crossProduct(crossProduct(s, a), crossProduct(n, h));\n return floatZero(o[2]) ? null : [o[0] / o[2], o[1] / o[2]];\n }\n function polarOffset(t, e, r) {\n return [t[0] + Math.cos(e) * r, t[1] - Math.sin(e) * r];\n }\n function pointDistance(t, e) {\n return Math.hypot(t[0] - e[0], t[1] - e[1]);\n }\n function pointEqual(t, e) {\n return floatEqual(t[0], e[0]) && floatEqual(t[1], e[1]);\n }\n function ZigZagModifier() {\n }\n extendPrototype([ShapeModifier], ZigZagModifier), ZigZagModifier.prototype.initModifierProperties = function(t, e) {\n this.getValue = this.processKeys, this.amplitude = PropertyFactory.getProp(t, e.s, 0, null, this), this.frequency = PropertyFactory.getProp(t, e.r, 0, null, this), this.pointsType = PropertyFactory.getProp(t, e.pt, 0, null, this), this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;\n };\n function setPoint(t, e, r, i, s, a, n) {\n var h = r - Math.PI / 2, o = r + Math.PI / 2, f = e[0] + Math.cos(r) * i * s, v = e[1] - Math.sin(r) * i * s;\n t.setTripleAt(f, v, f + Math.cos(h) * a, v - Math.sin(h) * a, f + Math.cos(o) * n, v - Math.sin(o) * n, t.length());\n }\n function getPerpendicularVector(t, e) {\n var r = [e[0] - t[0], e[1] - t[1]], i = -Math.PI * 0.5, s = [Math.cos(i) * r[0] - Math.sin(i) * r[1], Math.sin(i) * r[0] + Math.cos(i) * r[1]];\n return s;\n }\n function getProjectingAngle(t, e) {\n var r = e === 0 ? t.length() - 1 : e - 1, i = (e + 1) % t.length(), s = t.v[r], a = t.v[i], n = getPerpendicularVector(s, a);\n return Math.atan2(0, 1) - Math.atan2(n[1], n[0]);\n }\n function zigZagCorner(t, e, r, i, s, a, n) {\n var h = getProjectingAngle(e, r), o = e.v[r % e._length], f = e.v[r === 0 ? e._length - 1 : r - 1], v = e.v[(r + 1) % e._length], S = a === 2 ? Math.sqrt(Math.pow(o[0] - f[0], 2) + Math.pow(o[1] - f[1], 2)) : 0, p = a === 2 ? Math.sqrt(Math.pow(o[0] - v[0], 2) + Math.pow(o[1] - v[1], 2)) : 0;\n setPoint(t, e.v[r % e._length], h, n, i, p / ((s + 1) * 2), S / ((s + 1) * 2));\n }\n function zigZagSegment(t, e, r, i, s, a) {\n for (var n = 0; n < i; n += 1) {\n var h = (n + 1) / (i + 1), o = s === 2 ? Math.sqrt(Math.pow(e.points[3][0] - e.points[0][0], 2) + Math.pow(e.points[3][1] - e.points[0][1], 2)) : 0, f = e.normalAngle(h), v = e.point(h);\n setPoint(t, v, f, a, r, o / ((i + 1) * 2), o / ((i + 1) * 2)), a = -a;\n }\n return a;\n }\n ZigZagModifier.prototype.processPath = function(t, e, r, i) {\n var s = t._length, a = shapePool.newElement();\n if (a.c = t.c, t.c || (s -= 1), s === 0)\n return a;\n var n = -1, h = PolynomialBezier.shapeSegment(t, 0);\n zigZagCorner(a, t, 0, e, r, i, n);\n for (var o = 0; o < s; o += 1)\n n = zigZagSegment(a, h, e, r, i, -n), o === s - 1 && !t.c ? h = null : h = PolynomialBezier.shapeSegment(t, (o + 1) % s), zigZagCorner(a, t, o + 1, e, r, i, n);\n return a;\n }, ZigZagModifier.prototype.processShapes = function(t) {\n var e, r, i = this.shapes.length, s, a, n = this.amplitude.v, h = Math.max(0, Math.round(this.frequency.v)), o = this.pointsType.v;\n if (n !== 0) {\n var f, v;\n for (r = 0; r < i; r += 1) {\n if (f = this.shapes[r], v = f.localShapeCollection, !(!f.shape._mdf && !this._mdf && !t))\n for (v.releaseShapes(), f.shape._mdf = !0, e = f.shape.paths.shapes, a = f.shape.paths._length, s = 0; s < a; s += 1)\n v.addShape(this.processPath(e[s], n, h, o));\n f.shape.paths = f.localShapeCollection;\n }\n }\n this.dynamicProperties.length || (this._mdf = !1);\n };\n function linearOffset(t, e, r) {\n var i = Math.atan2(e[0] - t[0], e[1] - t[1]);\n return [polarOffset(t, i, r), polarOffset(e, i, r)];\n }\n function offsetSegment(t, e) {\n var r, i, s, a, n, h, o;\n o = linearOffset(t.points[0], t.points[1], e), r = o[0], i = o[1], o = linearOffset(t.points[1], t.points[2], e), s = o[0], a = o[1], o = linearOffset(t.points[2], t.points[3], e), n = o[0], h = o[1];\n var f = lineIntersection(r, i, s, a);\n f === null && (f = i);\n var v = lineIntersection(n, h, s, a);\n return v === null && (v = n), new PolynomialBezier(r, f, v, h);\n }\n function joinLines(t, e, r, i, s) {\n var a = e.points[3], n = r.points[0];\n if (i === 3 || pointEqual(a, n))\n return a;\n if (i === 2) {\n var h = -e.tangentAngle(1), o = -r.tangentAngle(0) + Math.PI, f = lineIntersection(a, polarOffset(a, h + Math.PI / 2, 100), n, polarOffset(n, h + Math.PI / 2, 100)), v = f ? pointDistance(f, a) : pointDistance(a, n) / 2, S = polarOffset(a, h, 2 * v * roundCorner);\n return t.setXYAt(S[0], S[1], \"o\", t.length() - 1), S = polarOffset(n, o, 2 * v * roundCorner), t.setTripleAt(n[0], n[1], n[0], n[1], S[0], S[1], t.length()), n;\n }\n var p = pointEqual(a, e.points[2]) ? e.points[0] : e.points[2], b = pointEqual(n, r.points[1]) ? r.points[3] : r.points[1], g = lineIntersection(p, a, n, b);\n return g && pointDistance(g, a) < s ? (t.setTripleAt(g[0], g[1], g[0], g[1], g[0], g[1], t.length()), g) : a;\n }\n function getIntersection(t, e) {\n var r = t.intersections(e);\n return r.length && floatEqual(r[0][0], 1) && r.shift(), r.length ? r[0] : null;\n }\n function pruneSegmentIntersection(t, e) {\n var r = t.slice(), i = e.slice(), s = getIntersection(t[t.length - 1], e[0]);\n return s && (r[t.length - 1] = t[t.length - 1].split(s[0])[0], i[0] = e[0].split(s[1])[1]), t.length > 1 && e.length > 1 && (s = getIntersection(t[0], e[e.length - 1]), s) ? [[t[0].split(s[0])[0]], [e[e.length - 1].split(s[1])[1]]] : [r, i];\n }\n function pruneIntersections(t) {\n for (var e, r = 1; r < t.length; r += 1)\n e = pruneSegmentIntersection(t[r - 1], t[r]), t[r - 1] = e[0], t[r] = e[1];\n return t.length > 1 && (e = pruneSegmentIntersection(t[t.length - 1], t[0]), t[t.length - 1] = e[0], t[0] = e[1]), t;\n }\n function offsetSegmentSplit(t, e) {\n var r = t.inflectionPoints(), i, s, a, n;\n if (r.length === 0)\n return [offsetSegment(t, e)];\n if (r.length === 1 || floatEqual(r[1], 1))\n return a = t.split(r[0]), i = a[0], s = a[1], [offsetSegment(i, e), offsetSegment(s, e)];\n a = t.split(r[0]), i = a[0];\n var h = (r[1] - r[0]) / (1 - r[0]);\n return a = a[1].split(h), n = a[0], s = a[1], [offsetSegment(i, e), offsetSegment(n, e), offsetSegment(s, e)];\n }\n function OffsetPathModifier() {\n }\n extendPrototype([ShapeModifier], OffsetPathModifier), OffsetPathModifier.prototype.initModifierProperties = function(t, e) {\n this.getValue = this.processKeys, this.amount = PropertyFactory.getProp(t, e.a, 0, null, this), this.miterLimit = PropertyFactory.getProp(t, e.ml, 0, null, this), this.lineJoin = e.lj, this._isAnimated = this.amount.effectsSequence.length !== 0;\n }, OffsetPathModifier.prototype.processPath = function(t, e, r, i) {\n var s = shapePool.newElement();\n s.c = t.c;\n var a = t.length();\n t.c || (a -= 1);\n var n, h, o, f = [];\n for (n = 0; n < a; n += 1)\n o = PolynomialBezier.shapeSegment(t, n), f.push(offsetSegmentSplit(o, e));\n if (!t.c)\n for (n = a - 1; n >= 0; n -= 1)\n o = PolynomialBezier.shapeSegmentInverted(t, n), f.push(offsetSegmentSplit(o, e));\n f = pruneIntersections(f);\n var v = null, S = null;\n for (n = 0; n < f.length; n += 1) {\n var p = f[n];\n for (S && (v = joinLines(s, S, p[0], r, i)), S = p[p.length - 1], h = 0; h < p.length; h += 1)\n o = p[h], v && pointEqual(o.points[0], v) ? s.setXYAt(o.points[1][0], o.points[1][1], \"o\", s.length() - 1) : s.setTripleAt(o.points[0][0], o.points[0][1], o.points[1][0], o.points[1][1], o.points[0][0], o.points[0][1], s.length()), s.setTripleAt(o.points[3][0], o.points[3][1], o.points[3][0], o.points[3][1], o.points[2][0], o.points[2][1], s.length()), v = o.points[3];\n }\n return f.length && joinLines(s, S, f[0][0], r, i), s;\n }, OffsetPathModifier.prototype.processShapes = function(t) {\n var e, r, i = this.shapes.length, s, a, n = this.amount.v, h = this.miterLimit.v, o = this.lineJoin;\n if (n !== 0) {\n var f, v;\n for (r = 0; r < i; r += 1) {\n if (f = this.shapes[r], v = f.localShapeCollection, !(!f.shape._mdf && !this._mdf && !t))\n for (v.releaseShapes(), f.shape._mdf = !0, e = f.shape.paths.shapes, a = f.shape.paths._length, s = 0; s < a; s += 1)\n v.addShape(this.processPath(e[s], n, o, h));\n f.shape.paths = f.localShapeCollection;\n }\n }\n this.dynamicProperties.length || (this._mdf = !1);\n };\n function getFontProperties(t) {\n for (var e = t.fStyle ? t.fStyle.split(\" \") : [], r = \"normal\", i = \"normal\", s = e.length, a, n = 0; n < s; n += 1)\n switch (a = e[n].toLowerCase(), a) {\n case \"italic\":\n i = \"italic\";\n break;\n case \"bold\":\n r = \"700\";\n break;\n case \"black\":\n r = \"900\";\n break;\n case \"medium\":\n r = \"500\";\n break;\n case \"regular\":\n case \"normal\":\n r = \"400\";\n break;\n case \"light\":\n case \"thin\":\n r = \"200\";\n break;\n }\n return {\n style: i,\n weight: t.fWeight || r\n };\n }\n var FontManager = function() {\n var t = 5e3, e = {\n w: 0,\n size: 0,\n shapes: [],\n data: {\n shapes: []\n }\n }, r = [];\n r = r.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n var i = 127988, s = 917631, a = 917601, n = 917626, h = 65039, o = 8205, f = 127462, v = 127487, S = [\"d83cdffb\", \"d83cdffc\", \"d83cdffd\", \"d83cdffe\", \"d83cdfff\"];\n function p(C) {\n var A = C.split(\",\"), y, P = A.length, k = [];\n for (y = 0; y < P; y += 1)\n A[y] !== \"sans-serif\" && A[y] !== \"monospace\" && k.push(A[y]);\n return k.join(\",\");\n }\n function b(C, A) {\n var y = createTag(\"span\");\n y.setAttribute(\"aria-hidden\", !0), y.style.fontFamily = A;\n var P = createTag(\"span\");\n P.innerText = \"giItT1WQy@!-/#\", y.style.position = \"absolute\", y.style.left = \"-10000px\", y.style.top = \"-10000px\", y.style.fontSize = \"300px\", y.style.fontVariant = \"normal\", y.style.fontStyle = \"normal\", y.style.fontWeight = \"normal\", y.style.letterSpacing = \"0\", y.appendChild(P), document.body.appendChild(y);\n var k = P.offsetWidth;\n return P.style.fontFamily = p(C) + \", \" + A, {\n node: P,\n w: k,\n parent: y\n };\n }\n function g() {\n var C, A = this.fonts.length, y, P, k = A;\n for (C = 0; C < A; C += 1)\n this.fonts[C].loaded ? k -= 1 : this.fonts[C].fOrigin === \"n\" || this.fonts[C].origin === 0 ? this.fonts[C].loaded = !0 : (y = this.fonts[C].monoCase.node, P = this.fonts[C].monoCase.w, y.offsetWidth !== P ? (k -= 1, this.fonts[C].loaded = !0) : (y = this.fonts[C].sansCase.node, P = this.fonts[C].sansCase.w, y.offsetWidth !== P && (k -= 1, this.fonts[C].loaded = !0)), this.fonts[C].loaded && (this.fonts[C].sansCase.parent.parentNode.removeChild(this.fonts[C].sansCase.parent), this.fonts[C].monoCase.parent.parentNode.removeChild(this.fonts[C].monoCase.parent)));\n k !== 0 && Date.now() - this.initTime < t ? setTimeout(this.checkLoadedFontsBinded, 20) : setTimeout(this.setIsLoadedBinded, 10);\n }\n function m(C, A) {\n var y = document.body && A ? \"svg\" : \"canvas\", P, k = getFontProperties(C);\n if (y === \"svg\") {\n var F = createNS(\"text\");\n F.style.fontSize = \"100px\", F.setAttribute(\"font-family\", C.fFamily), F.setAttribute(\"font-style\", k.style), F.setAttribute(\"font-weight\", k.weight), F.textContent = \"1\", C.fClass ? (F.style.fontFamily = \"inherit\", F.setAttribute(\"class\", C.fClass)) : F.style.fontFamily = C.fFamily, A.appendChild(F), P = F;\n } else {\n var R = new OffscreenCanvas(500, 500).getContext(\"2d\");\n R.font = k.style + \" \" + k.weight + \" 100px \" + C.fFamily, P = R;\n }\n function z(N) {\n return y === \"svg\" ? (P.textContent = N, P.getComputedTextLength()) : P.measureText(N).width;\n }\n return {\n measureText: z\n };\n }\n function x(C, A) {\n if (!C) {\n this.isLoaded = !0;\n return;\n }\n if (this.chars) {\n this.isLoaded = !0, this.fonts = C.list;\n return;\n }\n if (!document.body) {\n this.isLoaded = !0, C.list.forEach(function(Y) {\n Y.helper = m(Y), Y.cache = {};\n }), this.fonts = C.list;\n return;\n }\n var y = C.list, P, k = y.length, F = k;\n for (P = 0; P < k; P += 1) {\n var R = !0, z, N;\n if (y[P].loaded = !1, y[P].monoCase = b(y[P].fFamily, \"monospace\"), y[P].sansCase = b(y[P].fFamily, \"sans-serif\"), !y[P].fPath)\n y[P].loaded = !0, F -= 1;\n else if (y[P].fOrigin === \"p\" || y[P].origin === 3) {\n if (z = document.querySelectorAll('style[f-forigin=\"p\"][f-family=\"' + y[P].fFamily + '\"], style[f-origin=\"3\"][f-family=\"' + y[P].fFamily + '\"]'), z.length > 0 && (R = !1), R) {\n var H = createTag(\"style\");\n H.setAttribute(\"f-forigin\", y[P].fOrigin), H.setAttribute(\"f-origin\", y[P].origin), H.setAttribute(\"f-family\", y[P].fFamily), H.type = \"text/css\", H.innerText = \"@font-face {font-family: \" + y[P].fFamily + \"; font-style: normal; src: url('\" + y[P].fPath + \"');}\", A.appendChild(H);\n }\n } else if (y[P].fOrigin === \"g\" || y[P].origin === 1) {\n for (z = document.querySelectorAll('link[f-forigin=\"g\"], link[f-origin=\"1\"]'), N = 0; N < z.length; N += 1)\n z[N].href.indexOf(y[P].fPath) !== -1 && (R = !1);\n if (R) {\n var W = createTag(\"link\");\n W.setAttribute(\"f-forigin\", y[P].fOrigin), W.setAttribute(\"f-origin\", y[P].origin), W.type = \"text/css\", W.rel = \"stylesheet\", W.href = y[P].fPath, document.body.appendChild(W);\n }\n } else if (y[P].fOrigin === \"t\" || y[P].origin === 2) {\n for (z = document.querySelectorAll('script[f-forigin=\"t\"], script[f-origin=\"2\"]'), N = 0; N < z.length; N += 1)\n y[P].fPath === z[N].src && (R = !1);\n if (R) {\n var q = createTag(\"link\");\n q.setAttribute(\"f-forigin\", y[P].fOrigin), q.setAttribute(\"f-origin\", y[P].origin), q.setAttribute(\"rel\", \"stylesheet\"), q.setAttribute(\"href\", y[P].fPath), A.appendChild(q);\n }\n }\n y[P].helper = m(y[P], A), y[P].cache = {}, this.fonts.push(y[P]);\n }\n F === 0 ? this.isLoaded = !0 : setTimeout(this.checkLoadedFonts.bind(this), 100);\n }\n function c(C) {\n if (C) {\n this.chars || (this.chars = []);\n var A, y = C.length, P, k = this.chars.length, F;\n for (A = 0; A < y; A += 1) {\n for (P = 0, F = !1; P < k; )\n this.chars[P].style === C[A].style && this.chars[P].fFamily === C[A].fFamily && this.chars[P].ch === C[A].ch && (F = !0), P += 1;\n F || (this.chars.push(C[A]), k += 1);\n }\n }\n }\n function u(C, A, y) {\n for (var P = 0, k = this.chars.length; P < k; ) {\n if (this.chars[P].ch === C && this.chars[P].style === A && this.chars[P].fFamily === y)\n return this.chars[P];\n P += 1;\n }\n return (typeof C == \"string\" && C.charCodeAt(0) !== 13 || !C) && console && console.warn && !this._warned && (this._warned = !0, console.warn(\"Missing character from exported characters list: \", C, A, y)), e;\n }\n function l(C, A, y) {\n var P = this.getFontByName(A), k = C;\n if (!P.cache[k]) {\n var F = P.helper;\n if (C === \" \") {\n var R = F.measureText(\"|\" + C + \"|\"), z = F.measureText(\"||\");\n P.cache[k] = (R - z) / 100;\n } else\n P.cache[k] = F.measureText(C) / 100;\n }\n return P.cache[k] * y;\n }\n function d(C) {\n for (var A = 0, y = this.fonts.length; A < y; ) {\n if (this.fonts[A].fName === C)\n return this.fonts[A];\n A += 1;\n }\n return this.fonts[0];\n }\n function E(C) {\n var A = 0, y = C.charCodeAt(0);\n if (y >= 55296 && y <= 56319) {\n var P = C.charCodeAt(1);\n P >= 56320 && P <= 57343 && (A = (y - 55296) * 1024 + P - 56320 + 65536);\n }\n return A;\n }\n function _(C, A) {\n var y = C.toString(16) + A.toString(16);\n return S.indexOf(y) !== -1;\n }\n function T(C) {\n return C === o;\n }\n function M(C) {\n return C === h;\n }\n function w(C) {\n var A = E(C);\n return A >= f && A <= v;\n }\n function G(C) {\n return w(C.substr(0, 2)) && w(C.substr(2, 2));\n }\n function L(C) {\n return r.indexOf(C) !== -1;\n }\n function V(C, A) {\n var y = E(C.substr(A, 2));\n if (y !== i)\n return !1;\n var P = 0;\n for (A += 2; P < 5; ) {\n if (y = E(C.substr(A, 2)), y < a || y > n)\n return !1;\n P += 1, A += 2;\n }\n return E(C.substr(A, 2)) === s;\n }\n function D() {\n this.isLoaded = !0;\n }\n var B = function() {\n this.fonts = [], this.chars = null, this.typekitLoaded = 0, this.isLoaded = !1, this._warned = !1, this.initTime = Date.now(), this.setIsLoadedBinded = this.setIsLoaded.bind(this), this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);\n };\n B.isModifier = _, B.isZeroWidthJoiner = T, B.isFlagEmoji = G, B.isRegionalCode = w, B.isCombinedCharacter = L, B.isRegionalFlag = V, B.isVariationSelector = M, B.BLACK_FLAG_CODE_POINT = i;\n var I = {\n addChars: c,\n addFonts: x,\n getCharData: u,\n getFontByName: d,\n measureText: l,\n checkLoadedFonts: g,\n setIsLoaded: D\n };\n return B.prototype = I, B;\n }();\n function SlotManager(t) {\n this.animationData = t;\n }\n SlotManager.prototype.getProp = function(t) {\n return this.animationData.slots && this.animationData.slots[t.sid] ? Object.assign(t, this.animationData.slots[t.sid].p) : t;\n };\n function slotFactory(t) {\n return new SlotManager(t);\n }\n function RenderableElement() {\n }\n RenderableElement.prototype = {\n initRenderable: function() {\n this.isInRange = !1, this.hidden = !1, this.isTransparent = !1, this.renderableComponents = [];\n },\n addRenderableComponent: function(e) {\n this.renderableComponents.indexOf(e) === -1 && this.renderableComponents.push(e);\n },\n removeRenderableComponent: function(e) {\n this.renderableComponents.indexOf(e) !== -1 && this.renderableComponents.splice(this.renderableComponents.indexOf(e), 1);\n },\n prepareRenderableFrame: function(e) {\n this.checkLayerLimits(e);\n },\n checkTransparency: function() {\n this.finalTransform.mProp.o.v <= 0 ? !this.isTransparent && this.globalData.renderConfig.hideOnTransparent && (this.isTransparent = !0, this.hide()) : this.isTransparent && (this.isTransparent = !1, this.show());\n },\n /**\n * @function\n * Initializes frame related properties.\n *\n * @param {number} num\n * current frame number in Layer's time\n *\n */\n checkLayerLimits: function(e) {\n this.data.ip - this.data.st <= e && this.data.op - this.data.st > e ? this.isInRange !== !0 && (this.globalData._mdf = !0, this._mdf = !0, this.isInRange = !0, this.show()) : this.isInRange !== !1 && (this.globalData._mdf = !0, this.isInRange = !1, this.hide());\n },\n renderRenderable: function() {\n var e, r = this.renderableComponents.length;\n for (e = 0; e < r; e += 1)\n this.renderableComponents[e].renderFrame(this._isFirstFrame);\n },\n sourceRectAtTime: function() {\n return {\n top: 0,\n left: 0,\n width: 100,\n height: 100\n };\n },\n getLayerSize: function() {\n return this.data.ty === 5 ? {\n w: this.data.textData.width,\n h: this.data.textData.height\n } : {\n w: this.data.width,\n h: this.data.height\n };\n }\n };\n var getBlendMode = function() {\n var t = {\n 0: \"source-over\",\n 1: \"multiply\",\n 2: \"screen\",\n 3: \"overlay\",\n 4: \"darken\",\n 5: \"lighten\",\n 6: \"color-dodge\",\n 7: \"color-burn\",\n 8: \"hard-light\",\n 9: \"soft-light\",\n 10: \"difference\",\n 11: \"exclusion\",\n 12: \"hue\",\n 13: \"saturation\",\n 14: \"color\",\n 15: \"luminosity\"\n };\n return function(e) {\n return t[e] || \"\";\n };\n }();\n function SliderEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n function AngleEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n function ColorEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n function PointEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 1, 0, r);\n }\n function LayerIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n function MaskIndexEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n function CheckboxEffect(t, e, r) {\n this.p = PropertyFactory.getProp(e, t.v, 0, 0, r);\n }\n function NoValueEffect() {\n this.p = {};\n }\n function EffectsManager(t, e) {\n var r = t.ef || [];\n this.effectElements = [];\n var i, s = r.length, a;\n for (i = 0; i < s; i += 1)\n a = new GroupEffect(r[i], e), this.effectElements.push(a);\n }\n function GroupEffect(t, e) {\n this.init(t, e);\n }\n extendPrototype([DynamicPropertyContainer], GroupEffect), GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties, GroupEffect.prototype.init = function(t, e) {\n this.data = t, this.effectElements = [], this.initDynamicPropertyContainer(e);\n var r, i = this.data.ef.length, s, a = this.data.ef;\n for (r = 0; r < i; r += 1) {\n switch (s = null, a[r].ty) {\n case 0:\n s = new SliderEffect(a[r], e, this);\n break;\n case 1:\n s = new AngleEffect(a[r], e, this);\n break;\n case 2:\n s = new ColorEffect(a[r], e, this);\n break;\n case 3:\n s = new PointEffect(a[r], e, this);\n break;\n case 4:\n case 7:\n s = new CheckboxEffect(a[r], e, this);\n break;\n case 10:\n s = new LayerIndexEffect(a[r], e, this);\n break;\n case 11:\n s = new MaskIndexEffect(a[r], e, this);\n break;\n case 5:\n s = new EffectsManager(a[r], e);\n break;\n default:\n s = new NoValueEffect(a[r]);\n break;\n }\n s && this.effectElements.push(s);\n }\n };\n function BaseElement() {\n }\n BaseElement.prototype = {\n checkMasks: function() {\n if (!this.data.hasMask)\n return !1;\n for (var e = 0, r = this.data.masksProperties.length; e < r; ) {\n if (this.data.masksProperties[e].mode !== \"n\" && this.data.masksProperties[e].cl !== !1)\n return !0;\n e += 1;\n }\n return !1;\n },\n initExpressions: function() {\n var e = getExpressionInterfaces();\n if (e) {\n var r = e(\"layer\"), i = e(\"effects\"), s = e(\"shape\"), a = e(\"text\"), n = e(\"comp\");\n this.layerInterface = r(this), this.data.hasMask && this.maskManager && this.layerInterface.registerMaskInterface(this.maskManager);\n var h = i.createEffectsInterface(this, this.layerInterface);\n this.layerInterface.registerEffectsInterface(h), this.data.ty === 0 || this.data.xt ? this.compInterface = n(this) : this.data.ty === 4 ? (this.layerInterface.shapeInterface = s(this.shapesData, this.itemsData, this.layerInterface), this.layerInterface.content = this.layerInterface.shapeInterface) : this.data.ty === 5 && (this.layerInterface.textInterface = a(this), this.layerInterface.text = this.layerInterface.textInterface);\n }\n },\n setBlendMode: function() {\n var e = getBlendMode(this.data.bm), r = this.baseElement || this.layerElement;\n r.style[\"mix-blend-mode\"] = e;\n },\n initBaseData: function(e, r, i) {\n this.globalData = r, this.comp = i, this.data = e, this.layerId = createElementID(), this.data.sr || (this.data.sr = 1), this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);\n },\n getType: function() {\n return this.type;\n },\n sourceRectAtTime: function() {\n }\n };\n function FrameElement() {\n }\n FrameElement.prototype = {\n /**\n * @function\n * Initializes frame related properties.\n *\n */\n initFrame: function() {\n this._isFirstFrame = !1, this.dynamicProperties = [], this._mdf = !1;\n },\n /**\n * @function\n * Calculates all dynamic values\n *\n * @param {number} num\n * current frame number in Layer's time\n * @param {boolean} isVisible\n * if layers is currently in range\n *\n */\n prepareProperties: function(e, r) {\n var i, s = this.dynamicProperties.length;\n for (i = 0; i < s; i += 1)\n (r || this._isParent && this.dynamicProperties[i].propType === \"transform\") && (this.dynamicProperties[i].getValue(), this.dynamicProperties[i]._mdf && (this.globalData._mdf = !0, this._mdf = !0));\n },\n addDynamicProperty: function(e) {\n this.dynamicProperties.indexOf(e) === -1 && this.dynamicProperties.push(e);\n }\n };\n function FootageElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.footageData = e.imageLoader.getAsset(this.assetData), this.initBaseData(t, e, r);\n }\n FootageElement.prototype.prepareFrame = function() {\n }, extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement), FootageElement.prototype.getBaseElement = function() {\n return null;\n }, FootageElement.prototype.renderFrame = function() {\n }, FootageElement.prototype.destroy = function() {\n }, FootageElement.prototype.initExpressions = function() {\n var t = getExpressionInterfaces();\n if (t) {\n var e = t(\"footage\");\n this.layerInterface = e(this);\n }\n }, FootageElement.prototype.getFootageData = function() {\n return this.footageData;\n };\n function AudioElement(t, e, r) {\n this.initFrame(), this.initRenderable(), this.assetData = e.getAssetData(t.refId), this.initBaseData(t, e, r), this._isPlaying = !1, this._canPlay = !1;\n var i = this.globalData.getAssetsPath(this.assetData);\n this.audio = this.globalData.audioController.createAudio(i), this._currentTime = 0, this.globalData.audioController.addAudio(this), this._volumeMultiplier = 1, this._volume = 1, this._previousVolume = null, this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n }, this.lv = PropertyFactory.getProp(this, t.au && t.au.lv ? t.au.lv : {\n k: [100]\n }, 1, 0.01, this);\n }\n AudioElement.prototype.prepareFrame = function(t) {\n if (this.prepareRenderableFrame(t, !0), this.prepareProperties(t, !0), this.tm._placeholder)\n this._currentTime = t / this.data.sr;\n else {\n var e = this.tm.v;\n this._currentTime = e;\n }\n this._volume = this.lv.v[0];\n var r = this._volume * this._volumeMultiplier;\n this._previousVolume !== r && (this._previousVolume = r, this.audio.volume(r));\n }, extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement), AudioElement.prototype.renderFrame = function() {\n this.isInRange && this._canPlay && (this._isPlaying ? (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > 0.1) && this.audio.seek(this._currentTime / this.globalData.frameRate) : (this.audio.play(), this.audio.seek(this._currentTime / this.globalData.frameRate), this._isPlaying = !0));\n }, AudioElement.prototype.show = function() {\n }, AudioElement.prototype.hide = function() {\n this.audio.pause(), this._isPlaying = !1;\n }, AudioElement.prototype.pause = function() {\n this.audio.pause(), this._isPlaying = !1, this._canPlay = !1;\n }, AudioElement.prototype.resume = function() {\n this._canPlay = !0;\n }, AudioElement.prototype.setRate = function(t) {\n this.audio.rate(t);\n }, AudioElement.prototype.volume = function(t) {\n this._volumeMultiplier = t, this._previousVolume = t * this._volume, this.audio.volume(this._previousVolume);\n }, AudioElement.prototype.getBaseElement = function() {\n return null;\n }, AudioElement.prototype.destroy = function() {\n }, AudioElement.prototype.sourceRectAtTime = function() {\n }, AudioElement.prototype.initExpressions = function() {\n };\n function BaseRenderer() {\n }\n BaseRenderer.prototype.checkLayers = function(t) {\n var e, r = this.layers.length, i;\n for (this.completeLayers = !0, e = r - 1; e >= 0; e -= 1)\n this.elements[e] || (i = this.layers[e], i.ip - i.st <= t - this.layers[e].st && i.op - i.st > t - this.layers[e].st && this.buildItem(e)), this.completeLayers = this.elements[e] ? this.completeLayers : !1;\n this.checkPendingElements();\n }, BaseRenderer.prototype.createItem = function(t) {\n switch (t.ty) {\n case 2:\n return this.createImage(t);\n case 0:\n return this.createComp(t);\n case 1:\n return this.createSolid(t);\n case 3:\n return this.createNull(t);\n case 4:\n return this.createShape(t);\n case 5:\n return this.createText(t);\n case 6:\n return this.createAudio(t);\n case 13:\n return this.createCamera(t);\n case 15:\n return this.createFootage(t);\n default:\n return this.createNull(t);\n }\n }, BaseRenderer.prototype.createCamera = function() {\n throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n }, BaseRenderer.prototype.createAudio = function(t) {\n return new AudioElement(t, this.globalData, this);\n }, BaseRenderer.prototype.createFootage = function(t) {\n return new FootageElement(t, this.globalData, this);\n }, BaseRenderer.prototype.buildAllItems = function() {\n var t, e = this.layers.length;\n for (t = 0; t < e; t += 1)\n this.buildItem(t);\n this.checkPendingElements();\n }, BaseRenderer.prototype.includeLayers = function(t) {\n this.completeLayers = !1;\n var e, r = t.length, i, s = this.layers.length;\n for (e = 0; e < r; e += 1)\n for (i = 0; i < s; ) {\n if (this.layers[i].id === t[e].id) {\n this.layers[i] = t[e];\n break;\n }\n i += 1;\n }\n }, BaseRenderer.prototype.setProjectInterface = function(t) {\n this.globalData.projectInterface = t;\n }, BaseRenderer.prototype.initItems = function() {\n this.globalData.progressiveLoad || this.buildAllItems();\n }, BaseRenderer.prototype.buildElementParenting = function(t, e, r) {\n for (var i = this.elements, s = this.layers, a = 0, n = s.length; a < n; )\n s[a].ind == e && (!i[a] || i[a] === !0 ? (this.buildItem(a), this.addPendingElement(t)) : (r.push(i[a]), i[a].setAsParent(), s[a].parent !== void 0 ? this.buildElementParenting(t, s[a].parent, r) : t.setHierarchy(r))), a += 1;\n }, BaseRenderer.prototype.addPendingElement = function(t) {\n this.pendingElements.push(t);\n }, BaseRenderer.prototype.searchExtraCompositions = function(t) {\n var e, r = t.length;\n for (e = 0; e < r; e += 1)\n if (t[e].xt) {\n var i = this.createComp(t[e]);\n i.initExpressions(), this.globalData.projectInterface.registerComposition(i);\n }\n }, BaseRenderer.prototype.getElementById = function(t) {\n var e, r = this.elements.length;\n for (e = 0; e < r; e += 1)\n if (this.elements[e].data.ind === t)\n return this.elements[e];\n return null;\n }, BaseRenderer.prototype.getElementByPath = function(t) {\n var e = t.shift(), r;\n if (typeof e == \"number\")\n r = this.elements[e];\n else {\n var i, s = this.elements.length;\n for (i = 0; i < s; i += 1)\n if (this.elements[i].data.nm === e) {\n r = this.elements[i];\n break;\n }\n }\n return t.length === 0 ? r : r.getElementByPath(t);\n }, BaseRenderer.prototype.setupGlobalData = function(t, e) {\n this.globalData.fontManager = new FontManager(), this.globalData.slotManager = slotFactory(t), this.globalData.fontManager.addChars(t.chars), this.globalData.fontManager.addFonts(t.fonts, e), this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem), this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem), this.globalData.imageLoader = this.animationItem.imagePreloader, this.globalData.audioController = this.animationItem.audioController, this.globalData.frameId = 0, this.globalData.frameRate = t.fr, this.globalData.nm = t.nm, this.globalData.compSize = {\n w: t.w,\n h: t.h\n };\n };\n var effectTypes = {\n TRANSFORM_EFFECT: \"transformEFfect\"\n };\n function TransformElement() {\n }\n TransformElement.prototype = {\n initTransform: function() {\n var e = new Matrix();\n this.finalTransform = {\n mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : {\n o: 0\n },\n _matMdf: !1,\n _localMatMdf: !1,\n _opMdf: !1,\n mat: e,\n localMat: e,\n localOpacity: 1\n }, this.data.ao && (this.finalTransform.mProp.autoOriented = !0), this.data.ty;\n },\n renderTransform: function() {\n if (this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame, this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame, this.hierarchy) {\n var e, r = this.finalTransform.mat, i = 0, s = this.hierarchy.length;\n if (!this.finalTransform._matMdf)\n for (; i < s; ) {\n if (this.hierarchy[i].finalTransform.mProp._mdf) {\n this.finalTransform._matMdf = !0;\n break;\n }\n i += 1;\n }\n if (this.finalTransform._matMdf)\n for (e = this.finalTransform.mProp.v.props, r.cloneFromProps(e), i = 0; i < s; i += 1)\n r.multiply(this.hierarchy[i].finalTransform.mProp.v);\n }\n this.finalTransform._matMdf && (this.finalTransform._localMatMdf = this.finalTransform._matMdf), this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v);\n },\n renderLocalTransform: function() {\n if (this.localTransforms) {\n var e = 0, r = this.localTransforms.length;\n if (this.finalTransform._localMatMdf = this.finalTransform._matMdf, !this.finalTransform._localMatMdf || !this.finalTransform._opMdf)\n for (; e < r; )\n this.localTransforms[e]._mdf && (this.finalTransform._localMatMdf = !0), this.localTransforms[e]._opMdf && !this.finalTransform._opMdf && (this.finalTransform.localOpacity = this.finalTransform.mProp.o.v, this.finalTransform._opMdf = !0), e += 1;\n if (this.finalTransform._localMatMdf) {\n var i = this.finalTransform.localMat;\n for (this.localTransforms[0].matrix.clone(i), e = 1; e < r; e += 1) {\n var s = this.localTransforms[e].matrix;\n i.multiply(s);\n }\n i.multiply(this.finalTransform.mat);\n }\n if (this.finalTransform._opMdf) {\n var a = this.finalTransform.localOpacity;\n for (e = 0; e < r; e += 1)\n a *= this.localTransforms[e].opacity * 0.01;\n this.finalTransform.localOpacity = a;\n }\n }\n },\n searchEffectTransforms: function() {\n if (this.renderableEffectsManager) {\n var e = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n if (e.length) {\n this.localTransforms = [], this.finalTransform.localMat = new Matrix();\n var r = 0, i = e.length;\n for (r = 0; r < i; r += 1)\n this.localTransforms.push(e[r]);\n }\n }\n },\n globalToLocal: function(e) {\n var r = [];\n r.push(this.finalTransform);\n for (var i = !0, s = this.comp; i; )\n s.finalTransform ? (s.data.hasMask && r.splice(0, 0, s.finalTransform), s = s.comp) : i = !1;\n var a, n = r.length, h;\n for (a = 0; a < n; a += 1)\n h = r[a].mat.applyToPointArray(0, 0, 0), e = [e[0] - h[0], e[1] - h[1], 0];\n return e;\n },\n mHelper: new Matrix()\n };\n function MaskElement(t, e, r) {\n this.data = t, this.element = e, this.globalData = r, this.storedData = [], this.masksProperties = this.data.masksProperties || [], this.maskElement = null;\n var i = this.globalData.defs, s, a = this.masksProperties ? this.masksProperties.length : 0;\n this.viewData = createSizedArray(a), this.solidPath = \"\";\n var n, h = this.masksProperties, o = 0, f = [], v, S, p = createElementID(), b, g, m, x, c = \"clipPath\", u = \"clip-path\";\n for (s = 0; s < a; s += 1)\n if ((h[s].mode !== \"a\" && h[s].mode !== \"n\" || h[s].inv || h[s].o.k !== 100 || h[s].o.x) && (c = \"mask\", u = \"mask\"), (h[s].mode === \"s\" || h[s].mode === \"i\") && o === 0 ? (b = createNS(\"rect\"), b.setAttribute(\"fill\", \"#ffffff\"), b.setAttribute(\"width\", this.element.comp.data.w || 0), b.setAttribute(\"height\", this.element.comp.data.h || 0), f.push(b)) : b = null, n = createNS(\"path\"), h[s].mode === \"n\")\n this.viewData[s] = {\n op: PropertyFactory.getProp(this.element, h[s].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, h[s], 3),\n elem: n,\n lastPath: \"\"\n }, i.appendChild(n);\n else {\n o += 1, n.setAttribute(\"fill\", h[s].mode === \"s\" ? \"#000000\" : \"#ffffff\"), n.setAttribute(\"clip-rule\", \"nonzero\");\n var l;\n if (h[s].x.k !== 0 ? (c = \"mask\", u = \"mask\", x = PropertyFactory.getProp(this.element, h[s].x, 0, null, this.element), l = createElementID(), g = createNS(\"filter\"), g.setAttribute(\"id\", l), m = createNS(\"feMorphology\"), m.setAttribute(\"operator\", \"erode\"), m.setAttribute(\"in\", \"SourceGraphic\"), m.setAttribute(\"radius\", \"0\"), g.appendChild(m), i.appendChild(g), n.setAttribute(\"stroke\", h[s].mode === \"s\" ? \"#000000\" : \"#ffffff\")) : (m = null, x = null), this.storedData[s] = {\n elem: n,\n x,\n expan: m,\n lastPath: \"\",\n lastOperator: \"\",\n filterId: l,\n lastRadius: 0\n }, h[s].mode === \"i\") {\n S = f.length;\n var d = createNS(\"g\");\n for (v = 0; v < S; v += 1)\n d.appendChild(f[v]);\n var E = createNS(\"mask\");\n E.setAttribute(\"mask-type\", \"alpha\"), E.setAttribute(\"id\", p + \"_\" + o), E.appendChild(n), i.appendChild(E), d.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + p + \"_\" + o + \")\"), f.length = 0, f.push(d);\n } else\n f.push(n);\n h[s].inv && !this.solidPath && (this.solidPath = this.createLayerSolidPath()), this.viewData[s] = {\n elem: n,\n lastPath: \"\",\n op: PropertyFactory.getProp(this.element, h[s].o, 0, 0.01, this.element),\n prop: ShapePropertyFactory.getShapeProp(this.element, h[s], 3),\n invRect: b\n }, this.viewData[s].prop.k || this.drawPath(h[s], this.viewData[s].prop.v, this.viewData[s]);\n }\n for (this.maskElement = createNS(c), a = f.length, s = 0; s < a; s += 1)\n this.maskElement.appendChild(f[s]);\n o > 0 && (this.maskElement.setAttribute(\"id\", p), this.element.maskedElement.setAttribute(u, \"url(\" + getLocationHref() + \"#\" + p + \")\"), i.appendChild(this.maskElement)), this.viewData.length && this.element.addRenderableComponent(this);\n }\n MaskElement.prototype.getMaskProperty = function(t) {\n return this.viewData[t].prop;\n }, MaskElement.prototype.renderFrame = function(t) {\n var e = this.element.finalTransform.mat, r, i = this.masksProperties.length;\n for (r = 0; r < i; r += 1)\n if ((this.viewData[r].prop._mdf || t) && this.drawPath(this.masksProperties[r], this.viewData[r].prop.v, this.viewData[r]), (this.viewData[r].op._mdf || t) && this.viewData[r].elem.setAttribute(\"fill-opacity\", this.viewData[r].op.v), this.masksProperties[r].mode !== \"n\" && (this.viewData[r].invRect && (this.element.finalTransform.mProp._mdf || t) && this.viewData[r].invRect.setAttribute(\"transform\", e.getInverseMatrix().to2dCSS()), this.storedData[r].x && (this.storedData[r].x._mdf || t))) {\n var s = this.storedData[r].expan;\n this.storedData[r].x.v < 0 ? (this.storedData[r].lastOperator !== \"erode\" && (this.storedData[r].lastOperator = \"erode\", this.storedData[r].elem.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + this.storedData[r].filterId + \")\")), s.setAttribute(\"radius\", -this.storedData[r].x.v)) : (this.storedData[r].lastOperator !== \"dilate\" && (this.storedData[r].lastOperator = \"dilate\", this.storedData[r].elem.setAttribute(\"filter\", null)), this.storedData[r].elem.setAttribute(\"stroke-width\", this.storedData[r].x.v * 2));\n }\n }, MaskElement.prototype.getMaskelement = function() {\n return this.maskElement;\n }, MaskElement.prototype.createLayerSolidPath = function() {\n var t = \"M0,0 \";\n return t += \" h\" + this.globalData.compSize.w, t += \" v\" + this.globalData.compSize.h, t += \" h-\" + this.globalData.compSize.w, t += \" v-\" + this.globalData.compSize.h + \" \", t;\n }, MaskElement.prototype.drawPath = function(t, e, r) {\n var i = \" M\" + e.v[0][0] + \",\" + e.v[0][1], s, a;\n for (a = e._length, s = 1; s < a; s += 1)\n i += \" C\" + e.o[s - 1][0] + \",\" + e.o[s - 1][1] + \" \" + e.i[s][0] + \",\" + e.i[s][1] + \" \" + e.v[s][0] + \",\" + e.v[s][1];\n if (e.c && a > 1 && (i += \" C\" + e.o[s - 1][0] + \",\" + e.o[s - 1][1] + \" \" + e.i[0][0] + \",\" + e.i[0][1] + \" \" + e.v[0][0] + \",\" + e.v[0][1]), r.lastPath !== i) {\n var n = \"\";\n r.elem && (e.c && (n = t.inv ? this.solidPath + i : i), r.elem.setAttribute(\"d\", n)), r.lastPath = i;\n }\n }, MaskElement.prototype.destroy = function() {\n this.element = null, this.globalData = null, this.maskElement = null, this.data = null, this.masksProperties = null;\n };\n var filtersFactory = function() {\n var t = {};\n t.createFilter = e, t.createAlphaToLuminanceFilter = r;\n function e(i, s) {\n var a = createNS(\"filter\");\n return a.setAttribute(\"id\", i), s !== !0 && (a.setAttribute(\"filterUnits\", \"objectBoundingBox\"), a.setAttribute(\"x\", \"0%\"), a.setAttribute(\"y\", \"0%\"), a.setAttribute(\"width\", \"100%\"), a.setAttribute(\"height\", \"100%\")), a;\n }\n function r() {\n var i = createNS(\"feColorMatrix\");\n return i.setAttribute(\"type\", \"matrix\"), i.setAttribute(\"color-interpolation-filters\", \"sRGB\"), i.setAttribute(\"values\", \"0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1\"), i;\n }\n return t;\n }(), featureSupport = function() {\n var t = {\n maskType: !0,\n svgLumaHidden: !0,\n offscreenCanvas: typeof OffscreenCanvas < \"u\"\n };\n return (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) && (t.maskType = !1), /firefox/i.test(navigator.userAgent) && (t.svgLumaHidden = !1), t;\n }(), registeredEffects$1 = {}, idPrefix = \"filter_result_\";\n function SVGEffects(t) {\n var e, r = \"SourceGraphic\", i = t.data.ef ? t.data.ef.length : 0, s = createElementID(), a = filtersFactory.createFilter(s, !0), n = 0;\n this.filters = [];\n var h;\n for (e = 0; e < i; e += 1) {\n h = null;\n var o = t.data.ef[e].ty;\n if (registeredEffects$1[o]) {\n var f = registeredEffects$1[o].effect;\n h = new f(a, t.effectsManager.effectElements[e], t, idPrefix + n, r), r = idPrefix + n, registeredEffects$1[o].countsAsEffect && (n += 1);\n }\n h && this.filters.push(h);\n }\n n && (t.globalData.defs.appendChild(a), t.layerElement.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + s + \")\")), this.filters.length && t.addRenderableComponent(this);\n }\n SVGEffects.prototype.renderFrame = function(t) {\n var e, r = this.filters.length;\n for (e = 0; e < r; e += 1)\n this.filters[e].renderFrame(t);\n }, SVGEffects.prototype.getEffects = function(t) {\n var e, r = this.filters.length, i = [];\n for (e = 0; e < r; e += 1)\n this.filters[e].type === t && i.push(this.filters[e]);\n return i;\n };\n function registerEffect$1(t, e, r) {\n registeredEffects$1[t] = {\n effect: e,\n countsAsEffect: r\n };\n }\n function SVGBaseElement() {\n }\n SVGBaseElement.prototype = {\n initRendererElement: function() {\n this.layerElement = createNS(\"g\");\n },\n createContainerElements: function() {\n this.matteElement = createNS(\"g\"), this.transformedElement = this.layerElement, this.maskedElement = this.layerElement, this._sizeChanged = !1;\n var e = null;\n if (this.data.td) {\n this.matteMasks = {};\n var r = createNS(\"g\");\n r.setAttribute(\"id\", this.layerId), r.appendChild(this.layerElement), e = r, this.globalData.defs.appendChild(r);\n } else\n this.data.tt ? (this.matteElement.appendChild(this.layerElement), e = this.matteElement, this.baseElement = this.matteElement) : this.baseElement = this.layerElement;\n if (this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), this.data.ty === 0 && !this.data.hd) {\n var i = createNS(\"clipPath\"), s = createNS(\"path\");\n s.setAttribute(\"d\", \"M0,0 L\" + this.data.w + \",0 L\" + this.data.w + \",\" + this.data.h + \" L0,\" + this.data.h + \"z\");\n var a = createElementID();\n if (i.setAttribute(\"id\", a), i.appendChild(s), this.globalData.defs.appendChild(i), this.checkMasks()) {\n var n = createNS(\"g\");\n n.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + a + \")\"), n.appendChild(this.layerElement), this.transformedElement = n, e ? e.appendChild(this.transformedElement) : this.baseElement = this.transformedElement;\n } else\n this.layerElement.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + a + \")\");\n }\n this.data.bm !== 0 && this.setBlendMode();\n },\n renderElement: function() {\n this.finalTransform._localMatMdf && this.transformedElement.setAttribute(\"transform\", this.finalTransform.localMat.to2dCSS()), this.finalTransform._opMdf && this.transformedElement.setAttribute(\"opacity\", this.finalTransform.localOpacity);\n },\n destroyBaseElement: function() {\n this.layerElement = null, this.matteElement = null, this.maskManager.destroy();\n },\n getBaseElement: function() {\n return this.data.hd ? null : this.baseElement;\n },\n createRenderableComponents: function() {\n this.maskManager = new MaskElement(this.data, this, this.globalData), this.renderableEffectsManager = new SVGEffects(this), this.searchEffectTransforms();\n },\n getMatte: function(e) {\n if (this.matteMasks || (this.matteMasks = {}), !this.matteMasks[e]) {\n var r = this.layerId + \"_\" + e, i, s, a, n;\n if (e === 1 || e === 3) {\n var h = createNS(\"mask\");\n h.setAttribute(\"id\", r), h.setAttribute(\"mask-type\", e === 3 ? \"luminance\" : \"alpha\"), a = createNS(\"use\"), a.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#\" + this.layerId), h.appendChild(a), this.globalData.defs.appendChild(h), !featureSupport.maskType && e === 1 && (h.setAttribute(\"mask-type\", \"luminance\"), i = createElementID(), s = filtersFactory.createFilter(i), this.globalData.defs.appendChild(s), s.appendChild(filtersFactory.createAlphaToLuminanceFilter()), n = createNS(\"g\"), n.appendChild(a), h.appendChild(n), n.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + i + \")\"));\n } else if (e === 2) {\n var o = createNS(\"mask\");\n o.setAttribute(\"id\", r), o.setAttribute(\"mask-type\", \"alpha\");\n var f = createNS(\"g\");\n o.appendChild(f), i = createElementID(), s = filtersFactory.createFilter(i);\n var v = createNS(\"feComponentTransfer\");\n v.setAttribute(\"in\", \"SourceGraphic\"), s.appendChild(v);\n var S = createNS(\"feFuncA\");\n S.setAttribute(\"type\", \"table\"), S.setAttribute(\"tableValues\", \"1.0 0.0\"), v.appendChild(S), this.globalData.defs.appendChild(s);\n var p = createNS(\"rect\");\n p.setAttribute(\"width\", this.comp.data.w), p.setAttribute(\"height\", this.comp.data.h), p.setAttribute(\"x\", \"0\"), p.setAttribute(\"y\", \"0\"), p.setAttribute(\"fill\", \"#ffffff\"), p.setAttribute(\"opacity\", \"0\"), f.setAttribute(\"filter\", \"url(\" + getLocationHref() + \"#\" + i + \")\"), f.appendChild(p), a = createNS(\"use\"), a.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#\" + this.layerId), f.appendChild(a), featureSupport.maskType || (o.setAttribute(\"mask-type\", \"luminance\"), s.appendChild(filtersFactory.createAlphaToLuminanceFilter()), n = createNS(\"g\"), f.appendChild(p), n.appendChild(this.layerElement), f.appendChild(n)), this.globalData.defs.appendChild(o);\n }\n this.matteMasks[e] = r;\n }\n return this.matteMasks[e];\n },\n setMatte: function(e) {\n this.matteElement && this.matteElement.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + e + \")\");\n }\n };\n function HierarchyElement() {\n }\n HierarchyElement.prototype = {\n /**\n * @function\n * Initializes hierarchy properties\n *\n */\n initHierarchy: function() {\n this.hierarchy = [], this._isParent = !1, this.checkParenting();\n },\n /**\n * @function\n * Sets layer's hierarchy.\n * @param {array} hierarch\n * layer's parent list\n *\n */\n setHierarchy: function(e) {\n this.hierarchy = e;\n },\n /**\n * @function\n * Sets layer as parent.\n *\n */\n setAsParent: function() {\n this._isParent = !0;\n },\n /**\n * @function\n * Searches layer's parenting chain\n *\n */\n checkParenting: function() {\n this.data.parent !== void 0 && this.comp.buildElementParenting(this, this.data.parent, []);\n }\n };\n function RenderableDOMElement() {\n }\n (function() {\n var t = {\n initElement: function(r, i, s) {\n this.initFrame(), this.initBaseData(r, i, s), this.initTransform(r, i, s), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide();\n },\n hide: function() {\n if (!this.hidden && (!this.isInRange || this.isTransparent)) {\n var r = this.baseElement || this.layerElement;\n r.style.display = \"none\", this.hidden = !0;\n }\n },\n show: function() {\n if (this.isInRange && !this.isTransparent) {\n if (!this.data.hd) {\n var r = this.baseElement || this.layerElement;\n r.style.display = \"block\";\n }\n this.hidden = !1, this._isFirstFrame = !0;\n }\n },\n renderFrame: function() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n renderInnerContent: function() {\n },\n prepareFrame: function(r) {\n this._mdf = !1, this.prepareRenderableFrame(r), this.prepareProperties(r, this.isInRange), this.checkTransparency();\n },\n destroy: function() {\n this.innerElem = null, this.destroyBaseElement();\n }\n };\n extendPrototype([RenderableElement, createProxyFunction(t)], RenderableDOMElement);\n })();\n function IImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.assetData && this.assetData.sid && (this.assetData = e.slotManager.getProp(this.assetData)), this.initElement(t, e, r), this.sourceRect = {\n top: 0,\n left: 0,\n width: this.assetData.w,\n height: this.assetData.h\n };\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement), IImageElement.prototype.createContent = function() {\n var t = this.globalData.getAssetsPath(this.assetData);\n this.innerElem = createNS(\"image\"), this.innerElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.innerElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.innerElem.setAttribute(\"preserveAspectRatio\", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio), this.innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.innerElem);\n }, IImageElement.prototype.sourceRectAtTime = function() {\n return this.sourceRect;\n };\n function ProcessedElement(t, e) {\n this.elem = t, this.pos = e;\n }\n function IShapeElement() {\n }\n IShapeElement.prototype = {\n addShapeToModifiers: function(e) {\n var r, i = this.shapeModifiers.length;\n for (r = 0; r < i; r += 1)\n this.shapeModifiers[r].addShape(e);\n },\n isShapeInAnimatedModifiers: function(e) {\n for (var r = 0, i = this.shapeModifiers.length; r < i; )\n if (this.shapeModifiers[r].isAnimatedWithShape(e))\n return !0;\n return !1;\n },\n renderModifiers: function() {\n if (this.shapeModifiers.length) {\n var e, r = this.shapes.length;\n for (e = 0; e < r; e += 1)\n this.shapes[e].sh.reset();\n r = this.shapeModifiers.length;\n var i;\n for (e = r - 1; e >= 0 && (i = this.shapeModifiers[e].processShapes(this._isFirstFrame), !i); e -= 1)\n ;\n }\n },\n searchProcessedElement: function(e) {\n for (var r = this.processedElements, i = 0, s = r.length; i < s; ) {\n if (r[i].elem === e)\n return r[i].pos;\n i += 1;\n }\n return 0;\n },\n addProcessedElement: function(e, r) {\n for (var i = this.processedElements, s = i.length; s; )\n if (s -= 1, i[s].elem === e) {\n i[s].pos = r;\n return;\n }\n i.push(new ProcessedElement(e, r));\n },\n prepareFrame: function(e) {\n this.prepareRenderableFrame(e), this.prepareProperties(e, this.isInRange);\n }\n };\n var lineCapEnum = {\n 1: \"butt\",\n 2: \"round\",\n 3: \"square\"\n }, lineJoinEnum = {\n 1: \"miter\",\n 2: \"round\",\n 3: \"bevel\"\n };\n function SVGShapeData(t, e, r) {\n this.caches = [], this.styles = [], this.transformers = t, this.lStr = \"\", this.sh = r, this.lvl = e, this._isAnimated = !!r.k;\n for (var i = 0, s = t.length; i < s; ) {\n if (t[i].mProps.dynamicProperties.length) {\n this._isAnimated = !0;\n break;\n }\n i += 1;\n }\n }\n SVGShapeData.prototype.setAsAnimated = function() {\n this._isAnimated = !0;\n };\n function SVGStyleData(t, e) {\n this.data = t, this.type = t.ty, this.d = \"\", this.lvl = e, this._mdf = !1, this.closed = t.hd === !0, this.pElem = createNS(\"path\"), this.msElem = null;\n }\n SVGStyleData.prototype.reset = function() {\n this.d = \"\", this._mdf = !1;\n };\n function DashProperty(t, e, r, i) {\n this.elem = t, this.frameId = -1, this.dataProps = createSizedArray(e.length), this.renderer = r, this.k = !1, this.dashStr = \"\", this.dashArray = createTypedArray(\"float32\", e.length ? e.length - 1 : 0), this.dashoffset = createTypedArray(\"float32\", 1), this.initDynamicPropertyContainer(i);\n var s, a = e.length || 0, n;\n for (s = 0; s < a; s += 1)\n n = PropertyFactory.getProp(t, e[s].v, 0, 0, this), this.k = n.k || this.k, this.dataProps[s] = {\n n: e[s].n,\n p: n\n };\n this.k || this.getValue(!0), this._isAnimated = this.k;\n }\n DashProperty.prototype.getValue = function(t) {\n if (!(this.elem.globalData.frameId === this.frameId && !t) && (this.frameId = this.elem.globalData.frameId, this.iterateDynamicProperties(), this._mdf = this._mdf || t, this._mdf)) {\n var e = 0, r = this.dataProps.length;\n for (this.renderer === \"svg\" && (this.dashStr = \"\"), e = 0; e < r; e += 1)\n this.dataProps[e].n !== \"o\" ? this.renderer === \"svg\" ? this.dashStr += \" \" + this.dataProps[e].p.v : this.dashArray[e] = this.dataProps[e].p.v : this.dashoffset[0] = this.dataProps[e].p.v;\n }\n }, extendPrototype([DynamicPropertyContainer], DashProperty);\n function SVGStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this), this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r, this._isAnimated = !!this._isAnimated;\n }\n extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n function SVGFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this), this.c = PropertyFactory.getProp(t, e.c, 1, 255, this), this.style = r;\n }\n extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n function SVGNoStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.style = r;\n }\n extendPrototype([DynamicPropertyContainer], SVGNoStyleData);\n function GradientProperty(t, e, r) {\n this.data = e, this.c = createTypedArray(\"uint8c\", e.p * 4);\n var i = e.k.k[0].s ? e.k.k[0].s.length - e.p * 4 : e.k.k.length - e.p * 4;\n this.o = createTypedArray(\"float32\", i), this._cmdf = !1, this._omdf = !1, this._collapsable = this.checkCollapsable(), this._hasOpacity = i, this.initDynamicPropertyContainer(r), this.prop = PropertyFactory.getProp(t, e.k, 1, null, this), this.k = this.prop.k, this.getValue(!0);\n }\n GradientProperty.prototype.comparePoints = function(t, e) {\n for (var r = 0, i = this.o.length / 2, s; r < i; ) {\n if (s = Math.abs(t[r * 4] - t[e * 4 + r * 2]), s > 0.01)\n return !1;\n r += 1;\n }\n return !0;\n }, GradientProperty.prototype.checkCollapsable = function() {\n if (this.o.length / 2 !== this.c.length / 4)\n return !1;\n if (this.data.k.k[0].s)\n for (var t = 0, e = this.data.k.k.length; t < e; ) {\n if (!this.comparePoints(this.data.k.k[t].s, this.data.p))\n return !1;\n t += 1;\n }\n else if (!this.comparePoints(this.data.k.k, this.data.p))\n return !1;\n return !0;\n }, GradientProperty.prototype.getValue = function(t) {\n if (this.prop.getValue(), this._mdf = !1, this._cmdf = !1, this._omdf = !1, this.prop._mdf || t) {\n var e, r = this.data.p * 4, i, s;\n for (e = 0; e < r; e += 1)\n i = e % 4 === 0 ? 100 : 255, s = Math.round(this.prop.v[e] * i), this.c[e] !== s && (this.c[e] = s, this._cmdf = !t);\n if (this.o.length)\n for (r = this.prop.v.length, e = this.data.p * 4; e < r; e += 1)\n i = e % 2 === 0 ? 100 : 1, s = e % 2 === 0 ? Math.round(this.prop.v[e] * 100) : this.prop.v[e], this.o[e - this.data.p * 4] !== s && (this.o[e - this.data.p * 4] = s, this._omdf = !t);\n this._mdf = !t;\n }\n }, extendPrototype([DynamicPropertyContainer], GradientProperty);\n function SVGGradientFillStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.initGradientData(t, e, r);\n }\n SVGGradientFillStyleData.prototype.initGradientData = function(t, e, r) {\n this.o = PropertyFactory.getProp(t, e.o, 0, 0.01, this), this.s = PropertyFactory.getProp(t, e.s, 1, null, this), this.e = PropertyFactory.getProp(t, e.e, 1, null, this), this.h = PropertyFactory.getProp(t, e.h || {\n k: 0\n }, 0, 0.01, this), this.a = PropertyFactory.getProp(t, e.a || {\n k: 0\n }, 0, degToRads, this), this.g = new GradientProperty(t, e.g, this), this.style = r, this.stops = [], this.setGradientData(r.pElem, e), this.setGradientOpacity(e, r), this._isAnimated = !!this._isAnimated;\n }, SVGGradientFillStyleData.prototype.setGradientData = function(t, e) {\n var r = createElementID(), i = createNS(e.t === 1 ? \"linearGradient\" : \"radialGradient\");\n i.setAttribute(\"id\", r), i.setAttribute(\"spreadMethod\", \"pad\"), i.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n var s = [], a, n, h;\n for (h = e.g.p * 4, n = 0; n < h; n += 4)\n a = createNS(\"stop\"), i.appendChild(a), s.push(a);\n t.setAttribute(e.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + getLocationHref() + \"#\" + r + \")\"), this.gf = i, this.cst = s;\n }, SVGGradientFillStyleData.prototype.setGradientOpacity = function(t, e) {\n if (this.g._hasOpacity && !this.g._collapsable) {\n var r, i, s, a = createNS(\"mask\"), n = createNS(\"path\");\n a.appendChild(n);\n var h = createElementID(), o = createElementID();\n a.setAttribute(\"id\", o);\n var f = createNS(t.t === 1 ? \"linearGradient\" : \"radialGradient\");\n f.setAttribute(\"id\", h), f.setAttribute(\"spreadMethod\", \"pad\"), f.setAttribute(\"gradientUnits\", \"userSpaceOnUse\"), s = t.g.k.k[0].s ? t.g.k.k[0].s.length : t.g.k.k.length;\n var v = this.stops;\n for (i = t.g.p * 4; i < s; i += 2)\n r = createNS(\"stop\"), r.setAttribute(\"stop-color\", \"rgb(255,255,255)\"), f.appendChild(r), v.push(r);\n n.setAttribute(t.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + getLocationHref() + \"#\" + h + \")\"), t.ty === \"gs\" && (n.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]), n.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]), t.lj === 1 && n.setAttribute(\"stroke-miterlimit\", t.ml)), this.of = f, this.ms = a, this.ost = v, this.maskId = o, e.msElem = n;\n }\n }, extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n function SVGGradientStrokeStyleData(t, e, r) {\n this.initDynamicPropertyContainer(t), this.getValue = this.iterateDynamicProperties, this.w = PropertyFactory.getProp(t, e.w, 0, null, this), this.d = new DashProperty(t, e.d || {}, \"svg\", this), this.initGradientData(t, e, r), this._isAnimated = !!this._isAnimated;\n }\n extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n function ShapeGroupData() {\n this.it = [], this.prevViewData = [], this.gr = createNS(\"g\");\n }\n function SVGTransformData(t, e, r) {\n this.transform = {\n mProps: t,\n op: e,\n container: r\n }, this.elements = [], this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;\n }\n var buildShapeString = function(e, r, i, s) {\n if (r === 0)\n return \"\";\n var a = e.o, n = e.i, h = e.v, o, f = \" M\" + s.applyToPointStringified(h[0][0], h[0][1]);\n for (o = 1; o < r; o += 1)\n f += \" C\" + s.applyToPointStringified(a[o - 1][0], a[o - 1][1]) + \" \" + s.applyToPointStringified(n[o][0], n[o][1]) + \" \" + s.applyToPointStringified(h[o][0], h[o][1]);\n return i && r && (f += \" C\" + s.applyToPointStringified(a[o - 1][0], a[o - 1][1]) + \" \" + s.applyToPointStringified(n[0][0], n[0][1]) + \" \" + s.applyToPointStringified(h[0][0], h[0][1]), f += \"z\"), f;\n }, SVGElementsRenderer = function() {\n var t = new Matrix(), e = new Matrix(), r = {\n createRenderFunction: i\n };\n function i(S) {\n switch (S.ty) {\n case \"fl\":\n return h;\n case \"gf\":\n return f;\n case \"gs\":\n return o;\n case \"st\":\n return v;\n case \"sh\":\n case \"el\":\n case \"rc\":\n case \"sr\":\n return n;\n case \"tr\":\n return s;\n case \"no\":\n return a;\n default:\n return null;\n }\n }\n function s(S, p, b) {\n (b || p.transform.op._mdf) && p.transform.container.setAttribute(\"opacity\", p.transform.op.v), (b || p.transform.mProps._mdf) && p.transform.container.setAttribute(\"transform\", p.transform.mProps.v.to2dCSS());\n }\n function a() {\n }\n function n(S, p, b) {\n var g, m, x, c, u, l, d = p.styles.length, E = p.lvl, _, T, M, w;\n for (l = 0; l < d; l += 1) {\n if (c = p.sh._mdf || b, p.styles[l].lvl < E) {\n for (T = e.reset(), M = E - p.styles[l].lvl, w = p.transformers.length - 1; !c && M > 0; )\n c = p.transformers[w].mProps._mdf || c, M -= 1, w -= 1;\n if (c)\n for (M = E - p.styles[l].lvl, w = p.transformers.length - 1; M > 0; )\n T.multiply(p.transformers[w].mProps.v), M -= 1, w -= 1;\n } else\n T = t;\n if (_ = p.sh.paths, m = _._length, c) {\n for (x = \"\", g = 0; g < m; g += 1)\n u = _.shapes[g], u && u._length && (x += buildShapeString(u, u._length, u.c, T));\n p.caches[l] = x;\n } else\n x = p.caches[l];\n p.styles[l].d += S.hd === !0 ? \"\" : x, p.styles[l]._mdf = c || p.styles[l]._mdf;\n }\n }\n function h(S, p, b) {\n var g = p.style;\n (p.c._mdf || b) && g.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(p.c.v[0]) + \",\" + bmFloor(p.c.v[1]) + \",\" + bmFloor(p.c.v[2]) + \")\"), (p.o._mdf || b) && g.pElem.setAttribute(\"fill-opacity\", p.o.v);\n }\n function o(S, p, b) {\n f(S, p, b), v(S, p, b);\n }\n function f(S, p, b) {\n var g = p.gf, m = p.g._hasOpacity, x = p.s.v, c = p.e.v;\n if (p.o._mdf || b) {\n var u = S.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n p.style.pElem.setAttribute(u, p.o.v);\n }\n if (p.s._mdf || b) {\n var l = S.t === 1 ? \"x1\" : \"cx\", d = l === \"x1\" ? \"y1\" : \"cy\";\n g.setAttribute(l, x[0]), g.setAttribute(d, x[1]), m && !p.g._collapsable && (p.of.setAttribute(l, x[0]), p.of.setAttribute(d, x[1]));\n }\n var E, _, T, M;\n if (p.g._cmdf || b) {\n E = p.cst;\n var w = p.g.c;\n for (T = E.length, _ = 0; _ < T; _ += 1)\n M = E[_], M.setAttribute(\"offset\", w[_ * 4] + \"%\"), M.setAttribute(\"stop-color\", \"rgb(\" + w[_ * 4 + 1] + \",\" + w[_ * 4 + 2] + \",\" + w[_ * 4 + 3] + \")\");\n }\n if (m && (p.g._omdf || b)) {\n var G = p.g.o;\n for (p.g._collapsable ? E = p.cst : E = p.ost, T = E.length, _ = 0; _ < T; _ += 1)\n M = E[_], p.g._collapsable || M.setAttribute(\"offset\", G[_ * 2] + \"%\"), M.setAttribute(\"stop-opacity\", G[_ * 2 + 1]);\n }\n if (S.t === 1)\n (p.e._mdf || b) && (g.setAttribute(\"x2\", c[0]), g.setAttribute(\"y2\", c[1]), m && !p.g._collapsable && (p.of.setAttribute(\"x2\", c[0]), p.of.setAttribute(\"y2\", c[1])));\n else {\n var L;\n if ((p.s._mdf || p.e._mdf || b) && (L = Math.sqrt(Math.pow(x[0] - c[0], 2) + Math.pow(x[1] - c[1], 2)), g.setAttribute(\"r\", L), m && !p.g._collapsable && p.of.setAttribute(\"r\", L)), p.e._mdf || p.h._mdf || p.a._mdf || b) {\n L || (L = Math.sqrt(Math.pow(x[0] - c[0], 2) + Math.pow(x[1] - c[1], 2)));\n var V = Math.atan2(c[1] - x[1], c[0] - x[0]), D = p.h.v;\n D >= 1 ? D = 0.99 : D <= -1 && (D = -0.99);\n var B = L * D, I = Math.cos(V + p.a.v) * B + x[0], C = Math.sin(V + p.a.v) * B + x[1];\n g.setAttribute(\"fx\", I), g.setAttribute(\"fy\", C), m && !p.g._collapsable && (p.of.setAttribute(\"fx\", I), p.of.setAttribute(\"fy\", C));\n }\n }\n }\n function v(S, p, b) {\n var g = p.style, m = p.d;\n m && (m._mdf || b) && m.dashStr && (g.pElem.setAttribute(\"stroke-dasharray\", m.dashStr), g.pElem.setAttribute(\"stroke-dashoffset\", m.dashoffset[0])), p.c && (p.c._mdf || b) && g.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(p.c.v[0]) + \",\" + bmFloor(p.c.v[1]) + \",\" + bmFloor(p.c.v[2]) + \")\"), (p.o._mdf || b) && g.pElem.setAttribute(\"stroke-opacity\", p.o.v), (p.w._mdf || b) && (g.pElem.setAttribute(\"stroke-width\", p.w.v), g.msElem && g.msElem.setAttribute(\"stroke-width\", p.w.v));\n }\n return r;\n }();\n function SVGShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.initElement(t, e, r), this.prevViewData = [];\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement), SVGShapeElement.prototype.initSecondaryElement = function() {\n }, SVGShapeElement.prototype.identityMatrix = new Matrix(), SVGShapeElement.prototype.buildExpressionInterface = function() {\n }, SVGShapeElement.prototype.createContent = function() {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes();\n }, SVGShapeElement.prototype.filterUniqueShapes = function() {\n var t, e = this.shapes.length, r, i, s = this.stylesList.length, a, n = [], h = !1;\n for (i = 0; i < s; i += 1) {\n for (a = this.stylesList[i], h = !1, n.length = 0, t = 0; t < e; t += 1)\n r = this.shapes[t], r.styles.indexOf(a) !== -1 && (n.push(r), h = r._isAnimated || h);\n n.length > 1 && h && this.setShapesAsAnimated(n);\n }\n }, SVGShapeElement.prototype.setShapesAsAnimated = function(t) {\n var e, r = t.length;\n for (e = 0; e < r; e += 1)\n t[e].setAsAnimated();\n }, SVGShapeElement.prototype.createStyleElement = function(t, e) {\n var r, i = new SVGStyleData(t, e), s = i.pElem;\n if (t.ty === \"st\")\n r = new SVGStrokeStyleData(this, t, i);\n else if (t.ty === \"fl\")\n r = new SVGFillStyleData(this, t, i);\n else if (t.ty === \"gf\" || t.ty === \"gs\") {\n var a = t.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n r = new a(this, t, i), this.globalData.defs.appendChild(r.gf), r.maskId && (this.globalData.defs.appendChild(r.ms), this.globalData.defs.appendChild(r.of), s.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + r.maskId + \")\"));\n } else\n t.ty === \"no\" && (r = new SVGNoStyleData(this, t, i));\n return (t.ty === \"st\" || t.ty === \"gs\") && (s.setAttribute(\"stroke-linecap\", lineCapEnum[t.lc || 2]), s.setAttribute(\"stroke-linejoin\", lineJoinEnum[t.lj || 2]), s.setAttribute(\"fill-opacity\", \"0\"), t.lj === 1 && s.setAttribute(\"stroke-miterlimit\", t.ml)), t.r === 2 && s.setAttribute(\"fill-rule\", \"evenodd\"), t.ln && s.setAttribute(\"id\", t.ln), t.cl && s.setAttribute(\"class\", t.cl), t.bm && (s.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), this.stylesList.push(i), this.addToAnimatedContents(t, r), r;\n }, SVGShapeElement.prototype.createGroupElement = function(t) {\n var e = new ShapeGroupData();\n return t.ln && e.gr.setAttribute(\"id\", t.ln), t.cl && e.gr.setAttribute(\"class\", t.cl), t.bm && (e.gr.style[\"mix-blend-mode\"] = getBlendMode(t.bm)), e;\n }, SVGShapeElement.prototype.createTransformElement = function(t, e) {\n var r = TransformPropertyFactory.getTransformProperty(this, t, this), i = new SVGTransformData(r, r.o, e);\n return this.addToAnimatedContents(t, i), i;\n }, SVGShapeElement.prototype.createShapeElement = function(t, e, r) {\n var i = 4;\n t.ty === \"rc\" ? i = 5 : t.ty === \"el\" ? i = 6 : t.ty === \"sr\" && (i = 7);\n var s = ShapePropertyFactory.getShapeProp(this, t, i, this), a = new SVGShapeData(e, r, s);\n return this.shapes.push(a), this.addShapeToModifiers(a), this.addToAnimatedContents(t, a), a;\n }, SVGShapeElement.prototype.addToAnimatedContents = function(t, e) {\n for (var r = 0, i = this.animatedContents.length; r < i; ) {\n if (this.animatedContents[r].element === e)\n return;\n r += 1;\n }\n this.animatedContents.push({\n fn: SVGElementsRenderer.createRenderFunction(t),\n element: e,\n data: t\n });\n }, SVGShapeElement.prototype.setElementStyles = function(t) {\n var e = t.styles, r, i = this.stylesList.length;\n for (r = 0; r < i; r += 1)\n this.stylesList[r].closed || e.push(this.stylesList[r]);\n }, SVGShapeElement.prototype.reloadShapes = function() {\n this._isFirstFrame = !0;\n var t, e = this.itemsData.length;\n for (t = 0; t < e; t += 1)\n this.prevViewData[t] = this.itemsData[t];\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes(), e = this.dynamicProperties.length, t = 0; t < e; t += 1)\n this.dynamicProperties[t].getValue();\n this.renderModifiers();\n }, SVGShapeElement.prototype.searchShapes = function(t, e, r, i, s, a, n) {\n var h = [].concat(a), o, f = t.length - 1, v, S, p = [], b = [], g, m, x;\n for (o = f; o >= 0; o -= 1) {\n if (x = this.searchProcessedElement(t[o]), x ? e[o] = r[x - 1] : t[o]._render = n, t[o].ty === \"fl\" || t[o].ty === \"st\" || t[o].ty === \"gf\" || t[o].ty === \"gs\" || t[o].ty === \"no\")\n x ? e[o].style.closed = !1 : e[o] = this.createStyleElement(t[o], s), t[o]._render && e[o].style.pElem.parentNode !== i && i.appendChild(e[o].style.pElem), p.push(e[o].style);\n else if (t[o].ty === \"gr\") {\n if (!x)\n e[o] = this.createGroupElement(t[o]);\n else\n for (S = e[o].it.length, v = 0; v < S; v += 1)\n e[o].prevViewData[v] = e[o].it[v];\n this.searchShapes(t[o].it, e[o].it, e[o].prevViewData, e[o].gr, s + 1, h, n), t[o]._render && e[o].gr.parentNode !== i && i.appendChild(e[o].gr);\n } else\n t[o].ty === \"tr\" ? (x || (e[o] = this.createTransformElement(t[o], i)), g = e[o].transform, h.push(g)) : t[o].ty === \"sh\" || t[o].ty === \"rc\" || t[o].ty === \"el\" || t[o].ty === \"sr\" ? (x || (e[o] = this.createShapeElement(t[o], h, s)), this.setElementStyles(e[o])) : t[o].ty === \"tm\" || t[o].ty === \"rd\" || t[o].ty === \"ms\" || t[o].ty === \"pb\" || t[o].ty === \"zz\" || t[o].ty === \"op\" ? (x ? (m = e[o], m.closed = !1) : (m = ShapeModifiers.getModifier(t[o].ty), m.init(this, t[o]), e[o] = m, this.shapeModifiers.push(m)), b.push(m)) : t[o].ty === \"rp\" && (x ? (m = e[o], m.closed = !0) : (m = ShapeModifiers.getModifier(t[o].ty), e[o] = m, m.init(this, t, o, e), this.shapeModifiers.push(m), n = !1), b.push(m));\n this.addProcessedElement(t[o], o + 1);\n }\n for (f = p.length, o = 0; o < f; o += 1)\n p[o].closed = !0;\n for (f = b.length, o = 0; o < f; o += 1)\n b[o].closed = !0;\n }, SVGShapeElement.prototype.renderInnerContent = function() {\n this.renderModifiers();\n var t, e = this.stylesList.length;\n for (t = 0; t < e; t += 1)\n this.stylesList[t].reset();\n for (this.renderShape(), t = 0; t < e; t += 1)\n (this.stylesList[t]._mdf || this._isFirstFrame) && (this.stylesList[t].msElem && (this.stylesList[t].msElem.setAttribute(\"d\", this.stylesList[t].d), this.stylesList[t].d = \"M0 0\" + this.stylesList[t].d), this.stylesList[t].pElem.setAttribute(\"d\", this.stylesList[t].d || \"M0 0\"));\n }, SVGShapeElement.prototype.renderShape = function() {\n var t, e = this.animatedContents.length, r;\n for (t = 0; t < e; t += 1)\n r = this.animatedContents[t], (this._isFirstFrame || r.element._isAnimated) && r.data !== !0 && r.fn(r.data, r.element, this._isFirstFrame);\n }, SVGShapeElement.prototype.destroy = function() {\n this.destroyBaseElement(), this.shapesData = null, this.itemsData = null;\n };\n function LetterProps(t, e, r, i, s, a) {\n this.o = t, this.sw = e, this.sc = r, this.fc = i, this.m = s, this.p = a, this._mdf = {\n o: !0,\n sw: !!e,\n sc: !!r,\n fc: !!i,\n m: !0,\n p: !0\n };\n }\n LetterProps.prototype.update = function(t, e, r, i, s, a) {\n this._mdf.o = !1, this._mdf.sw = !1, this._mdf.sc = !1, this._mdf.fc = !1, this._mdf.m = !1, this._mdf.p = !1;\n var n = !1;\n return this.o !== t && (this.o = t, this._mdf.o = !0, n = !0), this.sw !== e && (this.sw = e, this._mdf.sw = !0, n = !0), this.sc !== r && (this.sc = r, this._mdf.sc = !0, n = !0), this.fc !== i && (this.fc = i, this._mdf.fc = !0, n = !0), this.m !== s && (this.m = s, this._mdf.m = !0, n = !0), a.length && (this.p[0] !== a[0] || this.p[1] !== a[1] || this.p[4] !== a[4] || this.p[5] !== a[5] || this.p[12] !== a[12] || this.p[13] !== a[13]) && (this.p = a, this._mdf.p = !0, n = !0), n;\n };\n function TextProperty(t, e) {\n this._frameId = initialDefaultFrame, this.pv = \"\", this.v = \"\", this.kf = !1, this._isFirstFrame = !0, this._mdf = !1, e.d && e.d.sid && (e.d = t.globalData.slotManager.getProp(e.d)), this.data = e, this.elem = t, this.comp = this.elem.comp, this.keysIndex = 0, this.canResize = !1, this.minimumFontSize = 1, this.effectsSequence = [], this.currentData = {\n ascent: 0,\n boxWidth: this.defaultBoxWidth,\n f: \"\",\n fStyle: \"\",\n fWeight: \"\",\n fc: \"\",\n j: \"\",\n justifyOffset: \"\",\n l: [],\n lh: 0,\n lineWidths: [],\n ls: \"\",\n of: \"\",\n s: \"\",\n sc: \"\",\n sw: 0,\n t: 0,\n tr: 0,\n sz: 0,\n ps: null,\n fillColorAnim: !1,\n strokeColorAnim: !1,\n strokeWidthAnim: !1,\n yOffset: 0,\n finalSize: 0,\n finalText: [],\n finalLineHeight: 0,\n __complete: !1\n }, this.copyData(this.currentData, this.data.d.k[0].s), this.searchProperty() || this.completeTextData(this.currentData);\n }\n TextProperty.prototype.defaultBoxWidth = [0, 0], TextProperty.prototype.copyData = function(t, e) {\n for (var r in e)\n Object.prototype.hasOwnProperty.call(e, r) && (t[r] = e[r]);\n return t;\n }, TextProperty.prototype.setCurrentData = function(t) {\n t.__complete || this.completeTextData(t), this.currentData = t, this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth, this._mdf = !0;\n }, TextProperty.prototype.searchProperty = function() {\n return this.searchKeyframes();\n }, TextProperty.prototype.searchKeyframes = function() {\n return this.kf = this.data.d.k.length > 1, this.kf && this.addEffect(this.getKeyframeValue.bind(this)), this.kf;\n }, TextProperty.prototype.addEffect = function(t) {\n this.effectsSequence.push(t), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.getValue = function(t) {\n if (!((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !t)) {\n this.currentData.t = this.data.d.k[this.keysIndex].s.t;\n var e = this.currentData, r = this.keysIndex;\n if (this.lock) {\n this.setCurrentData(this.currentData);\n return;\n }\n this.lock = !0, this._mdf = !1;\n var i, s = this.effectsSequence.length, a = t || this.data.d.k[this.keysIndex].s;\n for (i = 0; i < s; i += 1)\n r !== this.keysIndex ? a = this.effectsSequence[i](a, a.t) : a = this.effectsSequence[i](this.currentData, a.t);\n e !== a && this.setCurrentData(a), this.v = this.currentData, this.pv = this.v, this.lock = !1, this.frameId = this.elem.globalData.frameId;\n }\n }, TextProperty.prototype.getKeyframeValue = function() {\n for (var t = this.data.d.k, e = this.elem.comp.renderedFrame, r = 0, i = t.length; r <= i - 1 && !(r === i - 1 || t[r + 1].t > e); )\n r += 1;\n return this.keysIndex !== r && (this.keysIndex = r), this.data.d.k[this.keysIndex].s;\n }, TextProperty.prototype.buildFinalText = function(t) {\n for (var e = [], r = 0, i = t.length, s, a, n = !1, h = !1, o = \"\"; r < i; )\n n = h, h = !1, s = t.charCodeAt(r), o = t.charAt(r), FontManager.isCombinedCharacter(s) ? n = !0 : s >= 55296 && s <= 56319 ? FontManager.isRegionalFlag(t, r) ? o = t.substr(r, 14) : (a = t.charCodeAt(r + 1), a >= 56320 && a <= 57343 && (FontManager.isModifier(s, a) ? (o = t.substr(r, 2), n = !0) : FontManager.isFlagEmoji(t.substr(r, 4)) ? o = t.substr(r, 4) : o = t.substr(r, 2))) : s > 56319 ? (a = t.charCodeAt(r + 1), FontManager.isVariationSelector(s) && (n = !0)) : FontManager.isZeroWidthJoiner(s) && (n = !0, h = !0), n ? (e[e.length - 1] += o, n = !1) : e.push(o), r += o.length;\n return e;\n }, TextProperty.prototype.completeTextData = function(t) {\n t.__complete = !0;\n var e = this.elem.globalData.fontManager, r = this.data, i = [], s, a, n, h = 0, o, f = r.m.g, v = 0, S = 0, p = 0, b = [], g = 0, m = 0, x, c, u = e.getFontByName(t.f), l, d = 0, E = getFontProperties(u);\n t.fWeight = E.weight, t.fStyle = E.style, t.finalSize = t.s, t.finalText = this.buildFinalText(t.t), a = t.finalText.length, t.finalLineHeight = t.lh;\n var _ = t.tr / 1e3 * t.finalSize, T;\n if (t.sz)\n for (var M = !0, w = t.sz[0], G = t.sz[1], L, V; M; ) {\n V = this.buildFinalText(t.t), L = 0, g = 0, a = V.length, _ = t.tr / 1e3 * t.finalSize;\n var D = -1;\n for (s = 0; s < a; s += 1)\n T = V[s].charCodeAt(0), n = !1, V[s] === \" \" ? D = s : (T === 13 || T === 3) && (g = 0, n = !0, L += t.finalLineHeight || t.finalSize * 1.2), e.chars ? (l = e.getCharData(V[s], u.fStyle, u.fFamily), d = n ? 0 : l.w * t.finalSize / 100) : d = e.measureText(V[s], t.f, t.finalSize), g + d > w && V[s] !== \" \" ? (D === -1 ? a += 1 : s = D, L += t.finalLineHeight || t.finalSize * 1.2, V.splice(s, D === s ? 1 : 0, \"\\r\"), D = -1, g = 0) : (g += d, g += _);\n L += u.ascent * t.finalSize / 100, this.canResize && t.finalSize > this.minimumFontSize && G < L ? (t.finalSize -= 1, t.finalLineHeight = t.finalSize * t.lh / t.s) : (t.finalText = V, a = t.finalText.length, M = !1);\n }\n g = -_, d = 0;\n var B = 0, I;\n for (s = 0; s < a; s += 1)\n if (n = !1, I = t.finalText[s], T = I.charCodeAt(0), T === 13 || T === 3 ? (B = 0, b.push(g), m = g > m ? g : m, g = -2 * _, o = \"\", n = !0, p += 1) : o = I, e.chars ? (l = e.getCharData(I, u.fStyle, e.getFontByName(t.f).fFamily), d = n ? 0 : l.w * t.finalSize / 100) : d = e.measureText(o, t.f, t.finalSize), I === \" \" ? B += d + _ : (g += d + _ + B, B = 0), i.push({\n l: d,\n an: d,\n add: v,\n n,\n anIndexes: [],\n val: o,\n line: p,\n animatorJustifyOffset: 0\n }), f == 2) {\n if (v += d, o === \"\" || o === \" \" || s === a - 1) {\n for ((o === \"\" || o === \" \") && (v -= d); S <= s; )\n i[S].an = v, i[S].ind = h, i[S].extra = d, S += 1;\n h += 1, v = 0;\n }\n } else if (f == 3) {\n if (v += d, o === \"\" || s === a - 1) {\n for (o === \"\" && (v -= d); S <= s; )\n i[S].an = v, i[S].ind = h, i[S].extra = d, S += 1;\n v = 0, h += 1;\n }\n } else\n i[h].ind = h, i[h].extra = 0, h += 1;\n if (t.l = i, m = g > m ? g : m, b.push(g), t.sz)\n t.boxWidth = t.sz[0], t.justifyOffset = 0;\n else\n switch (t.boxWidth = m, t.j) {\n case 1:\n t.justifyOffset = -t.boxWidth;\n break;\n case 2:\n t.justifyOffset = -t.boxWidth / 2;\n break;\n default:\n t.justifyOffset = 0;\n }\n t.lineWidths = b;\n var C = r.a, A, y;\n c = C.length;\n var P, k, F = [];\n for (x = 0; x < c; x += 1) {\n for (A = C[x], A.a.sc && (t.strokeColorAnim = !0), A.a.sw && (t.strokeWidthAnim = !0), (A.a.fc || A.a.fh || A.a.fs || A.a.fb) && (t.fillColorAnim = !0), k = 0, P = A.s.b, s = 0; s < a; s += 1)\n y = i[s], y.anIndexes[x] = k, (P == 1 && y.val !== \"\" || P == 2 && y.val !== \"\" && y.val !== \" \" || P == 3 && (y.n || y.val == \" \" || s == a - 1) || P == 4 && (y.n || s == a - 1)) && (A.s.rn === 1 && F.push(k), k += 1);\n r.a[x].s.totalChars = k;\n var R = -1, z;\n if (A.s.rn === 1)\n for (s = 0; s < a; s += 1)\n y = i[s], R != y.anIndexes[x] && (R = y.anIndexes[x], z = F.splice(Math.floor(Math.random() * F.length), 1)[0]), y.anIndexes[x] = z;\n }\n t.yOffset = t.finalLineHeight || t.finalSize * 1.2, t.ls = t.ls || 0, t.ascent = u.ascent * t.finalSize / 100;\n }, TextProperty.prototype.updateDocumentData = function(t, e) {\n e = e === void 0 ? this.keysIndex : e;\n var r = this.copyData({}, this.data.d.k[e].s);\n r = this.copyData(r, t), this.data.d.k[e].s = r, this.recalculate(e), this.setCurrentData(r), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.recalculate = function(t) {\n var e = this.data.d.k[t].s;\n e.__complete = !1, this.keysIndex = 0, this._isFirstFrame = !0, this.getValue(e);\n }, TextProperty.prototype.canResizeFont = function(t) {\n this.canResize = t, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n }, TextProperty.prototype.setMinimumFontSize = function(t) {\n this.minimumFontSize = Math.floor(t) || 1, this.recalculate(this.keysIndex), this.elem.addDynamicProperty(this);\n };\n var TextSelectorProp = function() {\n var t = Math.max, e = Math.min, r = Math.floor;\n function i(a, n) {\n this._currentTextLength = -1, this.k = !1, this.data = n, this.elem = a, this.comp = a.comp, this.finalS = 0, this.finalE = 0, this.initDynamicPropertyContainer(a), this.s = PropertyFactory.getProp(a, n.s || {\n k: 0\n }, 0, 0, this), \"e\" in n ? this.e = PropertyFactory.getProp(a, n.e, 0, 0, this) : this.e = {\n v: 100\n }, this.o = PropertyFactory.getProp(a, n.o || {\n k: 0\n }, 0, 0, this), this.xe = PropertyFactory.getProp(a, n.xe || {\n k: 0\n }, 0, 0, this), this.ne = PropertyFactory.getProp(a, n.ne || {\n k: 0\n }, 0, 0, this), this.sm = PropertyFactory.getProp(a, n.sm || {\n k: 100\n }, 0, 0, this), this.a = PropertyFactory.getProp(a, n.a, 0, 0.01, this), this.dynamicProperties.length || this.getValue();\n }\n i.prototype = {\n getMult: function(n) {\n this._currentTextLength !== this.elem.textProperty.currentData.l.length && this.getValue();\n var h = 0, o = 0, f = 1, v = 1;\n this.ne.v > 0 ? h = this.ne.v / 100 : o = -this.ne.v / 100, this.xe.v > 0 ? f = 1 - this.xe.v / 100 : v = 1 + this.xe.v / 100;\n var S = BezierFactory.getBezierEasing(h, o, f, v).get, p = 0, b = this.finalS, g = this.finalE, m = this.data.sh;\n if (m === 2)\n g === b ? p = n >= g ? 1 : 0 : p = t(0, e(0.5 / (g - b) + (n - b) / (g - b), 1)), p = S(p);\n else if (m === 3)\n g === b ? p = n >= g ? 0 : 1 : p = 1 - t(0, e(0.5 / (g - b) + (n - b) / (g - b), 1)), p = S(p);\n else if (m === 4)\n g === b ? p = 0 : (p = t(0, e(0.5 / (g - b) + (n - b) / (g - b), 1)), p < 0.5 ? p *= 2 : p = 1 - 2 * (p - 0.5)), p = S(p);\n else if (m === 5) {\n if (g === b)\n p = 0;\n else {\n var x = g - b;\n n = e(t(0, n + 0.5 - b), g - b);\n var c = -x / 2 + n, u = x / 2;\n p = Math.sqrt(1 - c * c / (u * u));\n }\n p = S(p);\n } else\n m === 6 ? (g === b ? p = 0 : (n = e(t(0, n + 0.5 - b), g - b), p = (1 + Math.cos(Math.PI + Math.PI * 2 * n / (g - b))) / 2), p = S(p)) : (n >= r(b) && (n - b < 0 ? p = t(0, e(e(g, 1) - (b - n), 1)) : p = t(0, e(g - n, 1))), p = S(p));\n if (this.sm.v !== 100) {\n var l = this.sm.v * 0.01;\n l === 0 && (l = 1e-8);\n var d = 0.5 - l * 0.5;\n p < d ? p = 0 : (p = (p - d) / l, p > 1 && (p = 1));\n }\n return p * this.a.v;\n },\n getValue: function(n) {\n this.iterateDynamicProperties(), this._mdf = n || this._mdf, this._currentTextLength = this.elem.textProperty.currentData.l.length || 0, n && this.data.r === 2 && (this.e.v = this._currentTextLength);\n var h = this.data.r === 2 ? 1 : 100 / this.data.totalChars, o = this.o.v / h, f = this.s.v / h + o, v = this.e.v / h + o;\n if (f > v) {\n var S = f;\n f = v, v = S;\n }\n this.finalS = f, this.finalE = v;\n }\n }, extendPrototype([DynamicPropertyContainer], i);\n function s(a, n, h) {\n return new i(a, n);\n }\n return {\n getTextSelectorProp: s\n };\n }();\n function TextAnimatorDataProperty(t, e, r) {\n var i = {\n propType: !1\n }, s = PropertyFactory.getProp, a = e.a;\n this.a = {\n r: a.r ? s(t, a.r, 0, degToRads, r) : i,\n rx: a.rx ? s(t, a.rx, 0, degToRads, r) : i,\n ry: a.ry ? s(t, a.ry, 0, degToRads, r) : i,\n sk: a.sk ? s(t, a.sk, 0, degToRads, r) : i,\n sa: a.sa ? s(t, a.sa, 0, degToRads, r) : i,\n s: a.s ? s(t, a.s, 1, 0.01, r) : i,\n a: a.a ? s(t, a.a, 1, 0, r) : i,\n o: a.o ? s(t, a.o, 0, 0.01, r) : i,\n p: a.p ? s(t, a.p, 1, 0, r) : i,\n sw: a.sw ? s(t, a.sw, 0, 0, r) : i,\n sc: a.sc ? s(t, a.sc, 1, 0, r) : i,\n fc: a.fc ? s(t, a.fc, 1, 0, r) : i,\n fh: a.fh ? s(t, a.fh, 0, 0, r) : i,\n fs: a.fs ? s(t, a.fs, 0, 0.01, r) : i,\n fb: a.fb ? s(t, a.fb, 0, 0.01, r) : i,\n t: a.t ? s(t, a.t, 0, 0, r) : i\n }, this.s = TextSelectorProp.getTextSelectorProp(t, e.s, r), this.s.t = e.s.t;\n }\n function TextAnimatorProperty(t, e, r) {\n this._isFirstFrame = !0, this._hasMaskedPath = !1, this._frameId = -1, this._textData = t, this._renderType = e, this._elem = r, this._animatorsData = createSizedArray(this._textData.a.length), this._pathData = {}, this._moreOptions = {\n alignment: {}\n }, this.renderedLetters = [], this.lettersChangedFlag = !1, this.initDynamicPropertyContainer(r);\n }\n TextAnimatorProperty.prototype.searchProperties = function() {\n var t, e = this._textData.a.length, r, i = PropertyFactory.getProp;\n for (t = 0; t < e; t += 1)\n r = this._textData.a[t], this._animatorsData[t] = new TextAnimatorDataProperty(this._elem, r, this);\n this._textData.p && \"m\" in this._textData.p ? (this._pathData = {\n a: i(this._elem, this._textData.p.a, 0, 0, this),\n f: i(this._elem, this._textData.p.f, 0, 0, this),\n l: i(this._elem, this._textData.p.l, 0, 0, this),\n r: i(this._elem, this._textData.p.r, 0, 0, this),\n p: i(this._elem, this._textData.p.p, 0, 0, this),\n m: this._elem.maskManager.getMaskProperty(this._textData.p.m)\n }, this._hasMaskedPath = !0) : this._hasMaskedPath = !1, this._moreOptions.alignment = i(this._elem, this._textData.m.a, 1, 0, this);\n }, TextAnimatorProperty.prototype.getMeasures = function(t, e) {\n if (this.lettersChangedFlag = e, !(!this._mdf && !this._isFirstFrame && !e && (!this._hasMaskedPath || !this._pathData.m._mdf))) {\n this._isFirstFrame = !1;\n var r = this._moreOptions.alignment.v, i = this._animatorsData, s = this._textData, a = this.mHelper, n = this._renderType, h = this.renderedLetters.length, o, f, v, S, p = t.l, b, g, m, x, c, u, l, d, E, _, T, M, w, G, L;\n if (this._hasMaskedPath) {\n if (L = this._pathData.m, !this._pathData.n || this._pathData._mdf) {\n var V = L.v;\n this._pathData.r.v && (V = V.reverse()), b = {\n tLength: 0,\n segments: []\n }, S = V._length - 1;\n var D;\n for (M = 0, v = 0; v < S; v += 1)\n D = bez.buildBezierData(V.v[v], V.v[v + 1], [V.o[v][0] - V.v[v][0], V.o[v][1] - V.v[v][1]], [V.i[v + 1][0] - V.v[v + 1][0], V.i[v + 1][1] - V.v[v + 1][1]]), b.tLength += D.segmentLength, b.segments.push(D), M += D.segmentLength;\n v = S, L.v.c && (D = bez.buildBezierData(V.v[v], V.v[0], [V.o[v][0] - V.v[v][0], V.o[v][1] - V.v[v][1]], [V.i[0][0] - V.v[0][0], V.i[0][1] - V.v[0][1]]), b.tLength += D.segmentLength, b.segments.push(D), M += D.segmentLength), this._pathData.pi = b;\n }\n if (b = this._pathData.pi, g = this._pathData.f.v, l = 0, u = 1, x = 0, c = !0, _ = b.segments, g < 0 && L.v.c)\n for (b.tLength < Math.abs(g) && (g = -Math.abs(g) % b.tLength), l = _.length - 1, E = _[l].points, u = E.length - 1; g < 0; )\n g += E[u].partialLength, u -= 1, u < 0 && (l -= 1, E = _[l].points, u = E.length - 1);\n E = _[l].points, d = E[u - 1], m = E[u], T = m.partialLength;\n }\n S = p.length, o = 0, f = 0;\n var B = t.finalSize * 1.2 * 0.714, I = !0, C, A, y, P, k;\n P = i.length;\n var F, R = -1, z, N, H, W = g, q = l, Y = u, Q = -1, X, $, J, j, O, et, at, rt, tt = \"\", it = this.defaultPropsArray, st;\n if (t.j === 2 || t.j === 1) {\n var Z = 0, nt = 0, ot = t.j === 2 ? -0.5 : -1, K = 0, ht = !0;\n for (v = 0; v < S; v += 1)\n if (p[v].n) {\n for (Z && (Z += nt); K < v; )\n p[K].animatorJustifyOffset = Z, K += 1;\n Z = 0, ht = !0;\n } else {\n for (y = 0; y < P; y += 1)\n C = i[y].a, C.t.propType && (ht && t.j === 2 && (nt += C.t.v * ot), A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), F.length ? Z += C.t.v * F[0] * ot : Z += C.t.v * F * ot);\n ht = !1;\n }\n for (Z && (Z += nt); K < v; )\n p[K].animatorJustifyOffset = Z, K += 1;\n }\n for (v = 0; v < S; v += 1) {\n if (a.reset(), X = 1, p[v].n)\n o = 0, f += t.yOffset, f += I ? 1 : 0, g = W, I = !1, this._hasMaskedPath && (l = q, u = Y, E = _[l].points, d = E[u - 1], m = E[u], T = m.partialLength, x = 0), tt = \"\", rt = \"\", et = \"\", st = \"\", it = this.defaultPropsArray;\n else {\n if (this._hasMaskedPath) {\n if (Q !== p[v].line) {\n switch (t.j) {\n case 1:\n g += M - t.lineWidths[p[v].line];\n break;\n case 2:\n g += (M - t.lineWidths[p[v].line]) / 2;\n break;\n }\n Q = p[v].line;\n }\n R !== p[v].ind && (p[R] && (g += p[R].extra), g += p[v].an / 2, R = p[v].ind), g += r[0] * p[v].an * 5e-3;\n var U = 0;\n for (y = 0; y < P; y += 1)\n C = i[y].a, C.p.propType && (A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), F.length ? U += C.p.v[0] * F[0] : U += C.p.v[0] * F), C.a.propType && (A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), F.length ? U += C.a.v[0] * F[0] : U += C.a.v[0] * F);\n for (c = !0, this._pathData.a.v && (g = p[0].an * 0.5 + (M - this._pathData.f.v - p[0].an * 0.5 - p[p.length - 1].an * 0.5) * R / (S - 1), g += this._pathData.f.v); c; )\n x + T >= g + U || !E ? (w = (g + U - x) / m.partialLength, N = d.point[0] + (m.point[0] - d.point[0]) * w, H = d.point[1] + (m.point[1] - d.point[1]) * w, a.translate(-r[0] * p[v].an * 5e-3, -(r[1] * B) * 0.01), c = !1) : E && (x += m.partialLength, u += 1, u >= E.length && (u = 0, l += 1, _[l] ? E = _[l].points : L.v.c ? (u = 0, l = 0, E = _[l].points) : (x -= m.partialLength, E = null)), E && (d = m, m = E[u], T = m.partialLength));\n z = p[v].an / 2 - p[v].add, a.translate(-z, 0, 0);\n } else\n z = p[v].an / 2 - p[v].add, a.translate(-z, 0, 0), a.translate(-r[0] * p[v].an * 5e-3, -r[1] * B * 0.01, 0);\n for (y = 0; y < P; y += 1)\n C = i[y].a, C.t.propType && (A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), (o !== 0 || t.j !== 0) && (this._hasMaskedPath ? F.length ? g += C.t.v * F[0] : g += C.t.v * F : F.length ? o += C.t.v * F[0] : o += C.t.v * F));\n for (t.strokeWidthAnim && (J = t.sw || 0), t.strokeColorAnim && (t.sc ? $ = [t.sc[0], t.sc[1], t.sc[2]] : $ = [0, 0, 0]), t.fillColorAnim && t.fc && (j = [t.fc[0], t.fc[1], t.fc[2]]), y = 0; y < P; y += 1)\n C = i[y].a, C.a.propType && (A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), F.length ? a.translate(-C.a.v[0] * F[0], -C.a.v[1] * F[1], C.a.v[2] * F[2]) : a.translate(-C.a.v[0] * F, -C.a.v[1] * F, C.a.v[2] * F));\n for (y = 0; y < P; y += 1)\n C = i[y].a, C.s.propType && (A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), F.length ? a.scale(1 + (C.s.v[0] - 1) * F[0], 1 + (C.s.v[1] - 1) * F[1], 1) : a.scale(1 + (C.s.v[0] - 1) * F, 1 + (C.s.v[1] - 1) * F, 1));\n for (y = 0; y < P; y += 1) {\n if (C = i[y].a, A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), C.sk.propType && (F.length ? a.skewFromAxis(-C.sk.v * F[0], C.sa.v * F[1]) : a.skewFromAxis(-C.sk.v * F, C.sa.v * F)), C.r.propType && (F.length ? a.rotateZ(-C.r.v * F[2]) : a.rotateZ(-C.r.v * F)), C.ry.propType && (F.length ? a.rotateY(C.ry.v * F[1]) : a.rotateY(C.ry.v * F)), C.rx.propType && (F.length ? a.rotateX(C.rx.v * F[0]) : a.rotateX(C.rx.v * F)), C.o.propType && (F.length ? X += (C.o.v * F[0] - X) * F[0] : X += (C.o.v * F - X) * F), t.strokeWidthAnim && C.sw.propType && (F.length ? J += C.sw.v * F[0] : J += C.sw.v * F), t.strokeColorAnim && C.sc.propType)\n for (O = 0; O < 3; O += 1)\n F.length ? $[O] += (C.sc.v[O] - $[O]) * F[0] : $[O] += (C.sc.v[O] - $[O]) * F;\n if (t.fillColorAnim && t.fc) {\n if (C.fc.propType)\n for (O = 0; O < 3; O += 1)\n F.length ? j[O] += (C.fc.v[O] - j[O]) * F[0] : j[O] += (C.fc.v[O] - j[O]) * F;\n C.fh.propType && (F.length ? j = addHueToRGB(j, C.fh.v * F[0]) : j = addHueToRGB(j, C.fh.v * F)), C.fs.propType && (F.length ? j = addSaturationToRGB(j, C.fs.v * F[0]) : j = addSaturationToRGB(j, C.fs.v * F)), C.fb.propType && (F.length ? j = addBrightnessToRGB(j, C.fb.v * F[0]) : j = addBrightnessToRGB(j, C.fb.v * F));\n }\n }\n for (y = 0; y < P; y += 1)\n C = i[y].a, C.p.propType && (A = i[y].s, F = A.getMult(p[v].anIndexes[y], s.a[y].s.totalChars), this._hasMaskedPath ? F.length ? a.translate(0, C.p.v[1] * F[0], -C.p.v[2] * F[1]) : a.translate(0, C.p.v[1] * F, -C.p.v[2] * F) : F.length ? a.translate(C.p.v[0] * F[0], C.p.v[1] * F[1], -C.p.v[2] * F[2]) : a.translate(C.p.v[0] * F, C.p.v[1] * F, -C.p.v[2] * F));\n if (t.strokeWidthAnim && (et = J < 0 ? 0 : J), t.strokeColorAnim && (at = \"rgb(\" + Math.round($[0] * 255) + \",\" + Math.round($[1] * 255) + \",\" + Math.round($[2] * 255) + \")\"), t.fillColorAnim && t.fc && (rt = \"rgb(\" + Math.round(j[0] * 255) + \",\" + Math.round(j[1] * 255) + \",\" + Math.round(j[2] * 255) + \")\"), this._hasMaskedPath) {\n if (a.translate(0, -t.ls), a.translate(0, r[1] * B * 0.01 + f, 0), this._pathData.p.v) {\n G = (m.point[1] - d.point[1]) / (m.point[0] - d.point[0]);\n var lt = Math.atan(G) * 180 / Math.PI;\n m.point[0] < d.point[0] && (lt += 180), a.rotate(-lt * Math.PI / 180);\n }\n a.translate(N, H, 0), g -= r[0] * p[v].an * 5e-3, p[v + 1] && R !== p[v + 1].ind && (g += p[v].an / 2, g += t.tr * 1e-3 * t.finalSize);\n } else {\n switch (a.translate(o, f, 0), t.ps && a.translate(t.ps[0], t.ps[1] + t.ascent, 0), t.j) {\n case 1:\n a.translate(p[v].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[p[v].line]), 0, 0);\n break;\n case 2:\n a.translate(p[v].animatorJustifyOffset + t.justifyOffset + (t.boxWidth - t.lineWidths[p[v].line]) / 2, 0, 0);\n break;\n }\n a.translate(0, -t.ls), a.translate(z, 0, 0), a.translate(r[0] * p[v].an * 5e-3, r[1] * B * 0.01, 0), o += p[v].l + t.tr * 1e-3 * t.finalSize;\n }\n n === \"html\" ? tt = a.toCSS() : n === \"svg\" ? tt = a.to2dCSS() : it = [a.props[0], a.props[1], a.props[2], a.props[3], a.props[4], a.props[5], a.props[6], a.props[7], a.props[8], a.props[9], a.props[10], a.props[11], a.props[12], a.props[13], a.props[14], a.props[15]], st = X;\n }\n h <= v ? (k = new LetterProps(st, et, at, rt, tt, it), this.renderedLetters.push(k), h += 1, this.lettersChangedFlag = !0) : (k = this.renderedLetters[v], this.lettersChangedFlag = k.update(st, et, at, rt, tt, it) || this.lettersChangedFlag);\n }\n }\n }, TextAnimatorProperty.prototype.getValue = function() {\n this._elem.globalData.frameId !== this._frameId && (this._frameId = this._elem.globalData.frameId, this.iterateDynamicProperties());\n }, TextAnimatorProperty.prototype.mHelper = new Matrix(), TextAnimatorProperty.prototype.defaultPropsArray = [], extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n function ITextElement() {\n }\n ITextElement.prototype.initElement = function(t, e, r) {\n this.lettersChangedFlag = !0, this.initFrame(), this.initBaseData(t, e, r), this.textProperty = new TextProperty(this, t.t, this.dynamicProperties), this.textAnimator = new TextAnimatorProperty(t.t, this.renderType, this), this.initTransform(t, e, r), this.initHierarchy(), this.initRenderable(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), this.createContent(), this.hide(), this.textAnimator.searchProperties(this.dynamicProperties);\n }, ITextElement.prototype.prepareFrame = function(t) {\n this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange);\n }, ITextElement.prototype.createPathShape = function(t, e) {\n var r, i = e.length, s, a = \"\";\n for (r = 0; r < i; r += 1)\n e[r].ty === \"sh\" && (s = e[r].ks.k, a += buildShapeString(s, s.i.length, !0, t));\n return a;\n }, ITextElement.prototype.updateDocumentData = function(t, e) {\n this.textProperty.updateDocumentData(t, e);\n }, ITextElement.prototype.canResizeFont = function(t) {\n this.textProperty.canResizeFont(t);\n }, ITextElement.prototype.setMinimumFontSize = function(t) {\n this.textProperty.setMinimumFontSize(t);\n }, ITextElement.prototype.applyTextPropertiesToMatrix = function(t, e, r, i, s) {\n switch (t.ps && e.translate(t.ps[0], t.ps[1] + t.ascent, 0), e.translate(0, -t.ls, 0), t.j) {\n case 1:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]), 0, 0);\n break;\n case 2:\n e.translate(t.justifyOffset + (t.boxWidth - t.lineWidths[r]) / 2, 0, 0);\n break;\n }\n e.translate(i, s, 0);\n }, ITextElement.prototype.buildColor = function(t) {\n return \"rgb(\" + Math.round(t[0] * 255) + \",\" + Math.round(t[1] * 255) + \",\" + Math.round(t[2] * 255) + \")\";\n }, ITextElement.prototype.emptyProp = new LetterProps(), ITextElement.prototype.destroy = function() {\n }, ITextElement.prototype.validateText = function() {\n (this.textProperty._mdf || this.textProperty._isFirstFrame) && (this.buildNewText(), this.textProperty._isFirstFrame = !1, this.textProperty._mdf = !1);\n };\n var emptyShapeData = {\n shapes: []\n };\n function SVGTextLottieElement(t, e, r) {\n this.textSpans = [], this.renderType = \"svg\", this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement), SVGTextLottieElement.prototype.createContent = function() {\n this.data.singleShape && !this.globalData.fontManager.chars && (this.textContainer = createNS(\"text\"));\n }, SVGTextLottieElement.prototype.buildTextContents = function(t) {\n for (var e = 0, r = t.length, i = [], s = \"\"; e < r; )\n t[e] === String.fromCharCode(13) || t[e] === String.fromCharCode(3) ? (i.push(s), s = \"\") : s += t[e], e += 1;\n return i.push(s), i;\n }, SVGTextLottieElement.prototype.buildShapeData = function(t, e) {\n if (t.shapes && t.shapes.length) {\n var r = t.shapes[0];\n if (r.it) {\n var i = r.it[r.it.length - 1];\n i.s && (i.s.k[0] = e, i.s.k[1] = e);\n }\n }\n return t;\n }, SVGTextLottieElement.prototype.buildNewText = function() {\n this.addDynamicProperty(this);\n var t, e, r = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(r ? r.l.length : 0), r.fc ? this.layerElement.setAttribute(\"fill\", this.buildColor(r.fc)) : this.layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\"), r.sc && (this.layerElement.setAttribute(\"stroke\", this.buildColor(r.sc)), this.layerElement.setAttribute(\"stroke-width\", r.sw)), this.layerElement.setAttribute(\"font-size\", r.finalSize);\n var i = this.globalData.fontManager.getFontByName(r.f);\n if (i.fClass)\n this.layerElement.setAttribute(\"class\", i.fClass);\n else {\n this.layerElement.setAttribute(\"font-family\", i.fFamily);\n var s = r.fWeight, a = r.fStyle;\n this.layerElement.setAttribute(\"font-style\", a), this.layerElement.setAttribute(\"font-weight\", s);\n }\n this.layerElement.setAttribute(\"aria-label\", r.t);\n var n = r.l || [], h = !!this.globalData.fontManager.chars;\n e = n.length;\n var o, f = this.mHelper, v = \"\", S = this.data.singleShape, p = 0, b = 0, g = !0, m = r.tr * 1e-3 * r.finalSize;\n if (S && !h && !r.sz) {\n var x = this.textContainer, c = \"start\";\n switch (r.j) {\n case 1:\n c = \"end\";\n break;\n case 2:\n c = \"middle\";\n break;\n default:\n c = \"start\";\n break;\n }\n x.setAttribute(\"text-anchor\", c), x.setAttribute(\"letter-spacing\", m);\n var u = this.buildTextContents(r.finalText);\n for (e = u.length, b = r.ps ? r.ps[1] + r.ascent : 0, t = 0; t < e; t += 1)\n o = this.textSpans[t].span || createNS(\"tspan\"), o.textContent = u[t], o.setAttribute(\"x\", 0), o.setAttribute(\"y\", b), o.style.display = \"inherit\", x.appendChild(o), this.textSpans[t] || (this.textSpans[t] = {\n span: null,\n glyph: null\n }), this.textSpans[t].span = o, b += r.finalLineHeight;\n this.layerElement.appendChild(x);\n } else {\n var l = this.textSpans.length, d;\n for (t = 0; t < e; t += 1) {\n if (this.textSpans[t] || (this.textSpans[t] = {\n span: null,\n childSpan: null,\n glyph: null\n }), !h || !S || t === 0) {\n if (o = l > t ? this.textSpans[t].span : createNS(h ? \"g\" : \"text\"), l <= t) {\n if (o.setAttribute(\"stroke-linecap\", \"butt\"), o.setAttribute(\"stroke-linejoin\", \"round\"), o.setAttribute(\"stroke-miterlimit\", \"4\"), this.textSpans[t].span = o, h) {\n var E = createNS(\"g\");\n o.appendChild(E), this.textSpans[t].childSpan = E;\n }\n this.textSpans[t].span = o, this.layerElement.appendChild(o);\n }\n o.style.display = \"inherit\";\n }\n if (f.reset(), S && (n[t].n && (p = -m, b += r.yOffset, b += g ? 1 : 0, g = !1), this.applyTextPropertiesToMatrix(r, f, n[t].line, p, b), p += n[t].l || 0, p += m), h) {\n d = this.globalData.fontManager.getCharData(r.finalText[t], i.fStyle, this.globalData.fontManager.getFontByName(r.f).fFamily);\n var _;\n if (d.t === 1)\n _ = new SVGCompElement(d.data, this.globalData, this);\n else {\n var T = emptyShapeData;\n d.data && d.data.shapes && (T = this.buildShapeData(d.data, r.finalSize)), _ = new SVGShapeElement(T, this.globalData, this);\n }\n if (this.textSpans[t].glyph) {\n var M = this.textSpans[t].glyph;\n this.textSpans[t].childSpan.removeChild(M.layerElement), M.destroy();\n }\n this.textSpans[t].glyph = _, _._debug = !0, _.prepareFrame(0), _.renderFrame(), this.textSpans[t].childSpan.appendChild(_.layerElement), d.t === 1 && this.textSpans[t].childSpan.setAttribute(\"transform\", \"scale(\" + r.finalSize / 100 + \",\" + r.finalSize / 100 + \")\");\n } else\n S && o.setAttribute(\"transform\", \"translate(\" + f.props[12] + \",\" + f.props[13] + \")\"), o.textContent = n[t].val, o.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n }\n S && o && o.setAttribute(\"d\", v);\n }\n for (; t < this.textSpans.length; )\n this.textSpans[t].span.style.display = \"none\", t += 1;\n this._sizeChanged = !0;\n }, SVGTextLottieElement.prototype.sourceRectAtTime = function() {\n if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) {\n this._sizeChanged = !1;\n var t = this.layerElement.getBBox();\n this.bbox = {\n top: t.y,\n left: t.x,\n width: t.width,\n height: t.height\n };\n }\n return this.bbox;\n }, SVGTextLottieElement.prototype.getValue = function() {\n var t, e = this.textSpans.length, r;\n for (this.renderedFrame = this.comp.renderedFrame, t = 0; t < e; t += 1)\n r = this.textSpans[t].glyph, r && (r.prepareFrame(this.comp.renderedFrame - this.data.st), r._mdf && (this._mdf = !0));\n }, SVGTextLottieElement.prototype.renderInnerContent = function() {\n if (this.validateText(), (!this.data.singleShape || this._mdf) && (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) {\n this._sizeChanged = !0;\n var t, e, r = this.textAnimator.renderedLetters, i = this.textProperty.currentData.l;\n e = i.length;\n var s, a, n;\n for (t = 0; t < e; t += 1)\n i[t].n || (s = r[t], a = this.textSpans[t].span, n = this.textSpans[t].glyph, n && n.renderFrame(), s._mdf.m && a.setAttribute(\"transform\", s.m), s._mdf.o && a.setAttribute(\"opacity\", s.o), s._mdf.sw && a.setAttribute(\"stroke-width\", s.sw), s._mdf.sc && a.setAttribute(\"stroke\", s.sc), s._mdf.fc && a.setAttribute(\"fill\", s.fc));\n }\n };\n function ISolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n extendPrototype([IImageElement], ISolidElement), ISolidElement.prototype.createContent = function() {\n var t = createNS(\"rect\");\n t.setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.layerElement.appendChild(t);\n };\n function NullElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initFrame(), this.initTransform(t, e, r), this.initHierarchy();\n }\n NullElement.prototype.prepareFrame = function(t) {\n this.prepareProperties(t, !0);\n }, NullElement.prototype.renderFrame = function() {\n }, NullElement.prototype.getBaseElement = function() {\n return null;\n }, NullElement.prototype.destroy = function() {\n }, NullElement.prototype.sourceRectAtTime = function() {\n }, NullElement.prototype.hide = function() {\n }, extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n function SVGRendererBase() {\n }\n extendPrototype([BaseRenderer], SVGRendererBase), SVGRendererBase.prototype.createNull = function(t) {\n return new NullElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createShape = function(t) {\n return new SVGShapeElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createText = function(t) {\n return new SVGTextLottieElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createImage = function(t) {\n return new IImageElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.createSolid = function(t) {\n return new ISolidElement(t, this.globalData, this);\n }, SVGRendererBase.prototype.configAnimation = function(t) {\n this.svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\"), this.svgElement.setAttribute(\"xmlns:xlink\", \"http://www.w3.org/1999/xlink\"), this.renderConfig.viewBoxSize ? this.svgElement.setAttribute(\"viewBox\", this.renderConfig.viewBoxSize) : this.svgElement.setAttribute(\"viewBox\", \"0 0 \" + t.w + \" \" + t.h), this.renderConfig.viewBoxOnly || (this.svgElement.setAttribute(\"width\", t.w), this.svgElement.setAttribute(\"height\", t.h), this.svgElement.style.width = \"100%\", this.svgElement.style.height = \"100%\", this.svgElement.style.transform = \"translate3d(0,0,0)\", this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility), this.renderConfig.width && this.svgElement.setAttribute(\"width\", this.renderConfig.width), this.renderConfig.height && this.svgElement.setAttribute(\"height\", this.renderConfig.height), this.renderConfig.className && this.svgElement.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.svgElement.setAttribute(\"id\", this.renderConfig.id), this.renderConfig.focusable !== void 0 && this.svgElement.setAttribute(\"focusable\", this.renderConfig.focusable), this.svgElement.setAttribute(\"preserveAspectRatio\", this.renderConfig.preserveAspectRatio), this.animationItem.wrapper.appendChild(this.svgElement);\n var e = this.globalData.defs;\n this.setupGlobalData(t, e), this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.data = t;\n var r = createNS(\"clipPath\"), i = createNS(\"rect\");\n i.setAttribute(\"width\", t.w), i.setAttribute(\"height\", t.h), i.setAttribute(\"x\", 0), i.setAttribute(\"y\", 0);\n var s = createElementID();\n r.setAttribute(\"id\", s), r.appendChild(i), this.layerElement.setAttribute(\"clip-path\", \"url(\" + getLocationHref() + \"#\" + s + \")\"), e.appendChild(r), this.layers = t.layers, this.elements = createSizedArray(t.layers.length);\n }, SVGRendererBase.prototype.destroy = function() {\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.layerElement = null, this.globalData.defs = null;\n var t, e = this.layers ? this.layers.length : 0;\n for (t = 0; t < e; t += 1)\n this.elements[t] && this.elements[t].destroy && this.elements[t].destroy();\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, SVGRendererBase.prototype.updateContainerSize = function() {\n }, SVGRendererBase.prototype.findIndexByInd = function(t) {\n var e = 0, r = this.layers.length;\n for (e = 0; e < r; e += 1)\n if (this.layers[e].ind === t)\n return e;\n return -1;\n }, SVGRendererBase.prototype.buildItem = function(t) {\n var e = this.elements;\n if (!(e[t] || this.layers[t].ty === 99)) {\n e[t] = !0;\n var r = this.createItem(this.layers[t]);\n if (e[t] = r, getExpressionsPlugin() && (this.layers[t].ty === 0 && this.globalData.projectInterface.registerComposition(r), r.initExpressions()), this.appendElementInPos(r, t), this.layers[t].tt) {\n var i = \"tp\" in this.layers[t] ? this.findIndexByInd(this.layers[t].tp) : t - 1;\n if (i === -1)\n return;\n if (!this.elements[i] || this.elements[i] === !0)\n this.buildItem(i), this.addPendingElement(r);\n else {\n var s = e[i], a = s.getMatte(this.layers[t].tt);\n r.setMatte(a);\n }\n }\n }\n }, SVGRendererBase.prototype.checkPendingElements = function() {\n for (; this.pendingElements.length; ) {\n var t = this.pendingElements.pop();\n if (t.checkParenting(), t.data.tt)\n for (var e = 0, r = this.elements.length; e < r; ) {\n if (this.elements[e] === t) {\n var i = \"tp\" in t.data ? this.findIndexByInd(t.data.tp) : e - 1, s = this.elements[i], a = s.getMatte(this.layers[e].tt);\n t.setMatte(a);\n break;\n }\n e += 1;\n }\n }\n }, SVGRendererBase.prototype.renderFrame = function(t) {\n if (!(this.renderedFrame === t || this.destroyed)) {\n t === null ? t = this.renderedFrame : this.renderedFrame = t, this.globalData.frameNum = t, this.globalData.frameId += 1, this.globalData.projectInterface.currentFrame = t, this.globalData._mdf = !1;\n var e, r = this.layers.length;\n for (this.completeLayers || this.checkLayers(t), e = r - 1; e >= 0; e -= 1)\n (this.completeLayers || this.elements[e]) && this.elements[e].prepareFrame(t - this.layers[e].st);\n if (this.globalData._mdf)\n for (e = 0; e < r; e += 1)\n (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame();\n }\n }, SVGRendererBase.prototype.appendElementInPos = function(t, e) {\n var r = t.getBaseElement();\n if (r) {\n for (var i = 0, s; i < e; )\n this.elements[i] && this.elements[i] !== !0 && this.elements[i].getBaseElement() && (s = this.elements[i].getBaseElement()), i += 1;\n s ? this.layerElement.insertBefore(r, s) : this.layerElement.appendChild(r);\n }\n }, SVGRendererBase.prototype.hide = function() {\n this.layerElement.style.display = \"none\";\n }, SVGRendererBase.prototype.show = function() {\n this.layerElement.style.display = \"block\";\n };\n function ICompElement() {\n }\n extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement), ICompElement.prototype.initElement = function(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initTransform(t, e, r), this.initRenderable(), this.initHierarchy(), this.initRendererElement(), this.createContainerElements(), this.createRenderableComponents(), (this.data.xt || !e.progressiveLoad) && this.buildAllItems(), this.hide();\n }, ICompElement.prototype.prepareFrame = function(t) {\n if (this._mdf = !1, this.prepareRenderableFrame(t), this.prepareProperties(t, this.isInRange), !(!this.isInRange && !this.data.xt)) {\n if (this.tm._placeholder)\n this.renderedFrame = t / this.data.sr;\n else {\n var e = this.tm.v;\n e === this.data.op && (e = this.data.op - 1), this.renderedFrame = e;\n }\n var r, i = this.elements.length;\n for (this.completeLayers || this.checkLayers(this.renderedFrame), r = i - 1; r >= 0; r -= 1)\n (this.completeLayers || this.elements[r]) && (this.elements[r].prepareFrame(this.renderedFrame - this.layers[r].st), this.elements[r]._mdf && (this._mdf = !0));\n }\n }, ICompElement.prototype.renderInnerContent = function() {\n var t, e = this.layers.length;\n for (t = 0; t < e; t += 1)\n (this.completeLayers || this.elements[t]) && this.elements[t].renderFrame();\n }, ICompElement.prototype.setElements = function(t) {\n this.elements = t;\n }, ICompElement.prototype.getElements = function() {\n return this.elements;\n }, ICompElement.prototype.destroyElements = function() {\n var t, e = this.layers.length;\n for (t = 0; t < e; t += 1)\n this.elements[t] && this.elements[t].destroy();\n }, ICompElement.prototype.destroy = function() {\n this.destroyElements(), this.destroyBaseElement();\n };\n function SVGCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !0, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n extendPrototype([SVGRendererBase, ICompElement, SVGBaseElement], SVGCompElement), SVGCompElement.prototype.createComp = function(t) {\n return new SVGCompElement(t, this.globalData, this);\n };\n function SVGRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.svgElement = createNS(\"svg\");\n var r = \"\";\n if (e && e.title) {\n var i = createNS(\"title\"), s = createElementID();\n i.setAttribute(\"id\", s), i.textContent = e.title, this.svgElement.appendChild(i), r += s;\n }\n if (e && e.description) {\n var a = createNS(\"desc\"), n = createElementID();\n a.setAttribute(\"id\", n), a.textContent = e.description, this.svgElement.appendChild(a), r += \" \" + n;\n }\n r && this.svgElement.setAttribute(\"aria-labelledby\", r);\n var h = createNS(\"defs\");\n this.svgElement.appendChild(h);\n var o = createNS(\"g\");\n this.svgElement.appendChild(o), this.layerElement = o, this.renderConfig = {\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n contentVisibility: e && e.contentVisibility || \"visible\",\n progressiveLoad: e && e.progressiveLoad || !1,\n hideOnTransparent: !(e && e.hideOnTransparent === !1),\n viewBoxOnly: e && e.viewBoxOnly || !1,\n viewBoxSize: e && e.viewBoxSize || !1,\n className: e && e.className || \"\",\n id: e && e.id || \"\",\n focusable: e && e.focusable,\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"100%\",\n height: e && e.filterSize && e.filterSize.height || \"100%\",\n x: e && e.filterSize && e.filterSize.x || \"0%\",\n y: e && e.filterSize && e.filterSize.y || \"0%\"\n },\n width: e && e.width,\n height: e && e.height,\n runExpressions: !e || e.runExpressions === void 0 || e.runExpressions\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n defs: h,\n renderConfig: this.renderConfig\n }, this.elements = [], this.pendingElements = [], this.destroyed = !1, this.rendererType = \"svg\";\n }\n extendPrototype([SVGRendererBase], SVGRenderer), SVGRenderer.prototype.createComp = function(t) {\n return new SVGCompElement(t, this.globalData, this);\n };\n function ShapeTransformManager() {\n this.sequences = {}, this.sequenceList = [], this.transform_key_count = 0;\n }\n ShapeTransformManager.prototype = {\n addTransformSequence: function(e) {\n var r, i = e.length, s = \"_\";\n for (r = 0; r < i; r += 1)\n s += e[r].transform.key + \"_\";\n var a = this.sequences[s];\n return a || (a = {\n transforms: [].concat(e),\n finalTransform: new Matrix(),\n _mdf: !1\n }, this.sequences[s] = a, this.sequenceList.push(a)), a;\n },\n processSequence: function(e, r) {\n for (var i = 0, s = e.transforms.length, a = r; i < s && !r; ) {\n if (e.transforms[i].transform.mProps._mdf) {\n a = !0;\n break;\n }\n i += 1;\n }\n if (a)\n for (e.finalTransform.reset(), i = s - 1; i >= 0; i -= 1)\n e.finalTransform.multiply(e.transforms[i].transform.mProps.v);\n e._mdf = a;\n },\n processSequences: function(e) {\n var r, i = this.sequenceList.length;\n for (r = 0; r < i; r += 1)\n this.processSequence(this.sequenceList[r], e);\n },\n getNewKey: function() {\n return this.transform_key_count += 1, \"_\" + this.transform_key_count;\n }\n };\n var lumaLoader = function() {\n var e = \"__lottie_element_luma_buffer\", r = null, i = null, s = null;\n function a() {\n var o = createNS(\"svg\"), f = createNS(\"filter\"), v = createNS(\"feColorMatrix\");\n return f.setAttribute(\"id\", e), v.setAttribute(\"type\", \"matrix\"), v.setAttribute(\"color-interpolation-filters\", \"sRGB\"), v.setAttribute(\"values\", \"0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0\"), f.appendChild(v), o.appendChild(f), o.setAttribute(\"id\", e + \"_svg\"), featureSupport.svgLumaHidden && (o.style.display = \"none\"), o;\n }\n function n() {\n r || (s = a(), document.body.appendChild(s), r = createTag(\"canvas\"), i = r.getContext(\"2d\"), i.filter = \"url(#\" + e + \")\", i.fillStyle = \"rgba(0,0,0,0)\", i.fillRect(0, 0, 1, 1));\n }\n function h(o) {\n return r || n(), r.width = o.width, r.height = o.height, i.filter = \"url(#\" + e + \")\", r;\n }\n return {\n load: n,\n get: h\n };\n };\n function createCanvas(t, e) {\n if (featureSupport.offscreenCanvas)\n return new OffscreenCanvas(t, e);\n var r = createTag(\"canvas\");\n return r.width = t, r.height = e, r;\n }\n var assetLoader = function() {\n return {\n loadLumaCanvas: lumaLoader.load,\n getLumaCanvas: lumaLoader.get,\n createCanvas\n };\n }(), registeredEffects = {};\n function CVEffects(t) {\n var e, r = t.data.ef ? t.data.ef.length : 0;\n this.filters = [];\n var i;\n for (e = 0; e < r; e += 1) {\n i = null;\n var s = t.data.ef[e].ty;\n if (registeredEffects[s]) {\n var a = registeredEffects[s].effect;\n i = new a(t.effectsManager.effectElements[e], t);\n }\n i && this.filters.push(i);\n }\n this.filters.length && t.addRenderableComponent(this);\n }\n CVEffects.prototype.renderFrame = function(t) {\n var e, r = this.filters.length;\n for (e = 0; e < r; e += 1)\n this.filters[e].renderFrame(t);\n }, CVEffects.prototype.getEffects = function(t) {\n var e, r = this.filters.length, i = [];\n for (e = 0; e < r; e += 1)\n this.filters[e].type === t && i.push(this.filters[e]);\n return i;\n };\n function registerEffect(t, e) {\n registeredEffects[t] = {\n effect: e\n };\n }\n function CVMaskElement(t, e) {\n this.data = t, this.element = e, this.masksProperties = this.data.masksProperties || [], this.viewData = createSizedArray(this.masksProperties.length);\n var r, i = this.masksProperties.length, s = !1;\n for (r = 0; r < i; r += 1)\n this.masksProperties[r].mode !== \"n\" && (s = !0), this.viewData[r] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[r], 3);\n this.hasMasks = s, s && this.element.addRenderableComponent(this);\n }\n CVMaskElement.prototype.renderFrame = function() {\n if (this.hasMasks) {\n var t = this.element.finalTransform.mat, e = this.element.canvasContext, r, i = this.masksProperties.length, s, a, n;\n for (e.beginPath(), r = 0; r < i; r += 1)\n if (this.masksProperties[r].mode !== \"n\") {\n this.masksProperties[r].inv && (e.moveTo(0, 0), e.lineTo(this.element.globalData.compSize.w, 0), e.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h), e.lineTo(0, this.element.globalData.compSize.h), e.lineTo(0, 0)), n = this.viewData[r].v, s = t.applyToPointArray(n.v[0][0], n.v[0][1], 0), e.moveTo(s[0], s[1]);\n var h, o = n._length;\n for (h = 1; h < o; h += 1)\n a = t.applyToTriplePoints(n.o[h - 1], n.i[h], n.v[h]), e.bezierCurveTo(a[0], a[1], a[2], a[3], a[4], a[5]);\n a = t.applyToTriplePoints(n.o[h - 1], n.i[0], n.v[0]), e.bezierCurveTo(a[0], a[1], a[2], a[3], a[4], a[5]);\n }\n this.element.globalData.renderer.save(!0), e.clip();\n }\n }, CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty, CVMaskElement.prototype.destroy = function() {\n this.element = null;\n };\n function CVBaseElement() {\n }\n var operationsMap = {\n 1: \"source-in\",\n 2: \"source-out\",\n 3: \"source-in\",\n 4: \"source-out\"\n };\n CVBaseElement.prototype = {\n createElements: function() {\n },\n initRendererElement: function() {\n },\n createContainerElements: function() {\n if (this.data.tt >= 1) {\n this.buffers = [];\n var e = this.globalData.canvasContext, r = assetLoader.createCanvas(e.canvas.width, e.canvas.height);\n this.buffers.push(r);\n var i = assetLoader.createCanvas(e.canvas.width, e.canvas.height);\n this.buffers.push(i), this.data.tt >= 3 && !document._isProxy && assetLoader.loadLumaCanvas();\n }\n this.canvasContext = this.globalData.canvasContext, this.transformCanvas = this.globalData.transformCanvas, this.renderableEffectsManager = new CVEffects(this), this.searchEffectTransforms();\n },\n createContent: function() {\n },\n setBlendMode: function() {\n var e = this.globalData;\n if (e.blendMode !== this.data.bm) {\n e.blendMode = this.data.bm;\n var r = getBlendMode(this.data.bm);\n e.canvasContext.globalCompositeOperation = r;\n }\n },\n createRenderableComponents: function() {\n this.maskManager = new CVMaskElement(this.data, this), this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);\n },\n hideElement: function() {\n !this.hidden && (!this.isInRange || this.isTransparent) && (this.hidden = !0);\n },\n showElement: function() {\n this.isInRange && !this.isTransparent && (this.hidden = !1, this._isFirstFrame = !0, this.maskManager._isFirstFrame = !0);\n },\n clearCanvas: function(e) {\n e.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);\n },\n prepareLayer: function() {\n if (this.data.tt >= 1) {\n var e = this.buffers[0], r = e.getContext(\"2d\");\n this.clearCanvas(r), r.drawImage(this.canvasContext.canvas, 0, 0), this.currentTransform = this.canvasContext.getTransform(), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform);\n }\n },\n exitLayer: function() {\n if (this.data.tt >= 1) {\n var e = this.buffers[1], r = e.getContext(\"2d\");\n this.clearCanvas(r), r.drawImage(this.canvasContext.canvas, 0, 0), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.setTransform(this.currentTransform);\n var i = this.comp.getElementById(\"tp\" in this.data ? this.data.tp : this.data.ind - 1);\n if (i.renderFrame(!0), this.canvasContext.setTransform(1, 0, 0, 1, 0, 0), this.data.tt >= 3 && !document._isProxy) {\n var s = assetLoader.getLumaCanvas(this.canvasContext.canvas), a = s.getContext(\"2d\");\n a.drawImage(this.canvasContext.canvas, 0, 0), this.clearCanvas(this.canvasContext), this.canvasContext.drawImage(s, 0, 0);\n }\n this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt], this.canvasContext.drawImage(e, 0, 0), this.canvasContext.globalCompositeOperation = \"destination-over\", this.canvasContext.drawImage(this.buffers[0], 0, 0), this.canvasContext.setTransform(this.currentTransform), this.canvasContext.globalCompositeOperation = \"source-over\";\n }\n },\n renderFrame: function(e) {\n if (!(this.hidden || this.data.hd) && !(this.data.td === 1 && !e)) {\n this.renderTransform(), this.renderRenderable(), this.renderLocalTransform(), this.setBlendMode();\n var r = this.data.ty === 0;\n this.prepareLayer(), this.globalData.renderer.save(r), this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props), this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity), this.renderInnerContent(), this.globalData.renderer.restore(r), this.exitLayer(), this.maskManager.hasMasks && this.globalData.renderer.restore(!0), this._isFirstFrame && (this._isFirstFrame = !1);\n }\n },\n destroy: function() {\n this.canvasContext = null, this.data = null, this.globalData = null, this.maskManager.destroy();\n },\n mHelper: new Matrix()\n }, CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement, CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n function CVShapeData(t, e, r, i) {\n this.styledShapes = [], this.tr = [0, 0, 0, 0, 0, 0];\n var s = 4;\n e.ty === \"rc\" ? s = 5 : e.ty === \"el\" ? s = 6 : e.ty === \"sr\" && (s = 7), this.sh = ShapePropertyFactory.getShapeProp(t, e, s, t);\n var a, n = r.length, h;\n for (a = 0; a < n; a += 1)\n r[a].closed || (h = {\n transforms: i.addTransformSequence(r[a].transforms),\n trNodes: []\n }, this.styledShapes.push(h), r[a].elements.push(h));\n }\n CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n function CVShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.itemsData = [], this.prevViewData = [], this.shapeModifiers = [], this.processedElements = [], this.transformsManager = new ShapeTransformManager(), this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement), CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement, CVShapeElement.prototype.transformHelper = {\n opacity: 1,\n _opMdf: !1\n }, CVShapeElement.prototype.dashResetter = [], CVShapeElement.prototype.createContent = function() {\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []);\n }, CVShapeElement.prototype.createStyleElement = function(t, e) {\n var r = {\n data: t,\n type: t.ty,\n preTransforms: this.transformsManager.addTransformSequence(e),\n transforms: [],\n elements: [],\n closed: t.hd === !0\n }, i = {};\n if (t.ty === \"fl\" || t.ty === \"st\" ? (i.c = PropertyFactory.getProp(this, t.c, 1, 255, this), i.c.k || (r.co = \"rgb(\" + bmFloor(i.c.v[0]) + \",\" + bmFloor(i.c.v[1]) + \",\" + bmFloor(i.c.v[2]) + \")\")) : (t.ty === \"gf\" || t.ty === \"gs\") && (i.s = PropertyFactory.getProp(this, t.s, 1, null, this), i.e = PropertyFactory.getProp(this, t.e, 1, null, this), i.h = PropertyFactory.getProp(this, t.h || {\n k: 0\n }, 0, 0.01, this), i.a = PropertyFactory.getProp(this, t.a || {\n k: 0\n }, 0, degToRads, this), i.g = new GradientProperty(this, t.g, this)), i.o = PropertyFactory.getProp(this, t.o, 0, 0.01, this), t.ty === \"st\" || t.ty === \"gs\") {\n if (r.lc = lineCapEnum[t.lc || 2], r.lj = lineJoinEnum[t.lj || 2], t.lj == 1 && (r.ml = t.ml), i.w = PropertyFactory.getProp(this, t.w, 0, null, this), i.w.k || (r.wi = i.w.v), t.d) {\n var s = new DashProperty(this, t.d, \"canvas\", this);\n i.d = s, i.d.k || (r.da = i.d.dashArray, r.do = i.d.dashoffset[0]);\n }\n } else\n r.r = t.r === 2 ? \"evenodd\" : \"nonzero\";\n return this.stylesList.push(r), i.style = r, i;\n }, CVShapeElement.prototype.createGroupElement = function() {\n var t = {\n it: [],\n prevViewData: []\n };\n return t;\n }, CVShapeElement.prototype.createTransformElement = function(t) {\n var e = {\n transform: {\n opacity: 1,\n _opMdf: !1,\n key: this.transformsManager.getNewKey(),\n op: PropertyFactory.getProp(this, t.o, 0, 0.01, this),\n mProps: TransformPropertyFactory.getTransformProperty(this, t, this)\n }\n };\n return e;\n }, CVShapeElement.prototype.createShapeElement = function(t) {\n var e = new CVShapeData(this, t, this.stylesList, this.transformsManager);\n return this.shapes.push(e), this.addShapeToModifiers(e), e;\n }, CVShapeElement.prototype.reloadShapes = function() {\n this._isFirstFrame = !0;\n var t, e = this.itemsData.length;\n for (t = 0; t < e; t += 1)\n this.prevViewData[t] = this.itemsData[t];\n for (this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, !0, []), e = this.dynamicProperties.length, t = 0; t < e; t += 1)\n this.dynamicProperties[t].getValue();\n this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame);\n }, CVShapeElement.prototype.addTransformToStyleList = function(t) {\n var e, r = this.stylesList.length;\n for (e = 0; e < r; e += 1)\n this.stylesList[e].closed || this.stylesList[e].transforms.push(t);\n }, CVShapeElement.prototype.removeTransformFromStyleList = function() {\n var t, e = this.stylesList.length;\n for (t = 0; t < e; t += 1)\n this.stylesList[t].closed || this.stylesList[t].transforms.pop();\n }, CVShapeElement.prototype.closeStyles = function(t) {\n var e, r = t.length;\n for (e = 0; e < r; e += 1)\n t[e].closed = !0;\n }, CVShapeElement.prototype.searchShapes = function(t, e, r, i, s) {\n var a, n = t.length - 1, h, o, f = [], v = [], S, p, b, g = [].concat(s);\n for (a = n; a >= 0; a -= 1) {\n if (S = this.searchProcessedElement(t[a]), S ? e[a] = r[S - 1] : t[a]._shouldRender = i, t[a].ty === \"fl\" || t[a].ty === \"st\" || t[a].ty === \"gf\" || t[a].ty === \"gs\")\n S ? e[a].style.closed = !1 : e[a] = this.createStyleElement(t[a], g), f.push(e[a].style);\n else if (t[a].ty === \"gr\") {\n if (!S)\n e[a] = this.createGroupElement(t[a]);\n else\n for (o = e[a].it.length, h = 0; h < o; h += 1)\n e[a].prevViewData[h] = e[a].it[h];\n this.searchShapes(t[a].it, e[a].it, e[a].prevViewData, i, g);\n } else\n t[a].ty === \"tr\" ? (S || (b = this.createTransformElement(t[a]), e[a] = b), g.push(e[a]), this.addTransformToStyleList(e[a])) : t[a].ty === \"sh\" || t[a].ty === \"rc\" || t[a].ty === \"el\" || t[a].ty === \"sr\" ? S || (e[a] = this.createShapeElement(t[a])) : t[a].ty === \"tm\" || t[a].ty === \"rd\" || t[a].ty === \"pb\" || t[a].ty === \"zz\" || t[a].ty === \"op\" ? (S ? (p = e[a], p.closed = !1) : (p = ShapeModifiers.getModifier(t[a].ty), p.init(this, t[a]), e[a] = p, this.shapeModifiers.push(p)), v.push(p)) : t[a].ty === \"rp\" && (S ? (p = e[a], p.closed = !0) : (p = ShapeModifiers.getModifier(t[a].ty), e[a] = p, p.init(this, t, a, e), this.shapeModifiers.push(p), i = !1), v.push(p));\n this.addProcessedElement(t[a], a + 1);\n }\n for (this.removeTransformFromStyleList(), this.closeStyles(f), n = v.length, a = 0; a < n; a += 1)\n v[a].closed = !0;\n }, CVShapeElement.prototype.renderInnerContent = function() {\n this.transformHelper.opacity = 1, this.transformHelper._opMdf = !1, this.renderModifiers(), this.transformsManager.processSequences(this._isFirstFrame), this.renderShape(this.transformHelper, this.shapesData, this.itemsData, !0);\n }, CVShapeElement.prototype.renderShapeTransform = function(t, e) {\n (t._opMdf || e.op._mdf || this._isFirstFrame) && (e.opacity = t.opacity, e.opacity *= e.op.v, e._opMdf = !0);\n }, CVShapeElement.prototype.drawLayer = function() {\n var t, e = this.stylesList.length, r, i, s, a, n, h, o = this.globalData.renderer, f = this.globalData.canvasContext, v, S;\n for (t = 0; t < e; t += 1)\n if (S = this.stylesList[t], v = S.type, !((v === \"st\" || v === \"gs\") && S.wi === 0 || !S.data._shouldRender || S.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {\n for (o.save(), n = S.elements, v === \"st\" || v === \"gs\" ? (o.ctxStrokeStyle(v === \"st\" ? S.co : S.grd), o.ctxLineWidth(S.wi), o.ctxLineCap(S.lc), o.ctxLineJoin(S.lj), o.ctxMiterLimit(S.ml || 0)) : o.ctxFillStyle(v === \"fl\" ? S.co : S.grd), o.ctxOpacity(S.coOp), v !== \"st\" && v !== \"gs\" && f.beginPath(), o.ctxTransform(S.preTransforms.finalTransform.props), i = n.length, r = 0; r < i; r += 1) {\n for ((v === \"st\" || v === \"gs\") && (f.beginPath(), S.da && (f.setLineDash(S.da), f.lineDashOffset = S.do)), h = n[r].trNodes, a = h.length, s = 0; s < a; s += 1)\n h[s].t === \"m\" ? f.moveTo(h[s].p[0], h[s].p[1]) : h[s].t === \"c\" ? f.bezierCurveTo(h[s].pts[0], h[s].pts[1], h[s].pts[2], h[s].pts[3], h[s].pts[4], h[s].pts[5]) : f.closePath();\n (v === \"st\" || v === \"gs\") && (o.ctxStroke(), S.da && f.setLineDash(this.dashResetter));\n }\n v !== \"st\" && v !== \"gs\" && this.globalData.renderer.ctxFill(S.r), o.restore();\n }\n }, CVShapeElement.prototype.renderShape = function(t, e, r, i) {\n var s, a = e.length - 1, n;\n for (n = t, s = a; s >= 0; s -= 1)\n e[s].ty === \"tr\" ? (n = r[s].transform, this.renderShapeTransform(t, n)) : e[s].ty === \"sh\" || e[s].ty === \"el\" || e[s].ty === \"rc\" || e[s].ty === \"sr\" ? this.renderPath(e[s], r[s]) : e[s].ty === \"fl\" ? this.renderFill(e[s], r[s], n) : e[s].ty === \"st\" ? this.renderStroke(e[s], r[s], n) : e[s].ty === \"gf\" || e[s].ty === \"gs\" ? this.renderGradientFill(e[s], r[s], n) : e[s].ty === \"gr\" ? this.renderShape(n, e[s].it, r[s].it) : e[s].ty;\n i && this.drawLayer();\n }, CVShapeElement.prototype.renderStyledShape = function(t, e) {\n if (this._isFirstFrame || e._mdf || t.transforms._mdf) {\n var r = t.trNodes, i = e.paths, s, a, n, h = i._length;\n r.length = 0;\n var o = t.transforms.finalTransform;\n for (n = 0; n < h; n += 1) {\n var f = i.shapes[n];\n if (f && f.v) {\n for (a = f._length, s = 1; s < a; s += 1)\n s === 1 && r.push({\n t: \"m\",\n p: o.applyToPointArray(f.v[0][0], f.v[0][1], 0)\n }), r.push({\n t: \"c\",\n pts: o.applyToTriplePoints(f.o[s - 1], f.i[s], f.v[s])\n });\n a === 1 && r.push({\n t: \"m\",\n p: o.applyToPointArray(f.v[0][0], f.v[0][1], 0)\n }), f.c && a && (r.push({\n t: \"c\",\n pts: o.applyToTriplePoints(f.o[s - 1], f.i[0], f.v[0])\n }), r.push({\n t: \"z\"\n }));\n }\n }\n t.trNodes = r;\n }\n }, CVShapeElement.prototype.renderPath = function(t, e) {\n if (t.hd !== !0 && t._shouldRender) {\n var r, i = e.styledShapes.length;\n for (r = 0; r < i; r += 1)\n this.renderStyledShape(e.styledShapes[r], e.sh);\n }\n }, CVShapeElement.prototype.renderFill = function(t, e, r) {\n var i = e.style;\n (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity);\n }, CVShapeElement.prototype.renderGradientFill = function(t, e, r) {\n var i = e.style, s;\n if (!i.grd || e.g._mdf || e.s._mdf || e.e._mdf || t.t !== 1 && (e.h._mdf || e.a._mdf)) {\n var a = this.globalData.canvasContext, n = e.s.v, h = e.e.v;\n if (t.t === 1)\n s = a.createLinearGradient(n[0], n[1], h[0], h[1]);\n else {\n var o = Math.sqrt(Math.pow(n[0] - h[0], 2) + Math.pow(n[1] - h[1], 2)), f = Math.atan2(h[1] - n[1], h[0] - n[0]), v = e.h.v;\n v >= 1 ? v = 0.99 : v <= -1 && (v = -0.99);\n var S = o * v, p = Math.cos(f + e.a.v) * S + n[0], b = Math.sin(f + e.a.v) * S + n[1];\n s = a.createRadialGradient(p, b, 0, n[0], n[1], o);\n }\n var g, m = t.g.p, x = e.g.c, c = 1;\n for (g = 0; g < m; g += 1)\n e.g._hasOpacity && e.g._collapsable && (c = e.g.o[g * 2 + 1]), s.addColorStop(x[g * 4] / 100, \"rgba(\" + x[g * 4 + 1] + \",\" + x[g * 4 + 2] + \",\" + x[g * 4 + 3] + \",\" + c + \")\");\n i.grd = s;\n }\n i.coOp = e.o.v * r.opacity;\n }, CVShapeElement.prototype.renderStroke = function(t, e, r) {\n var i = e.style, s = e.d;\n s && (s._mdf || this._isFirstFrame) && (i.da = s.dashArray, i.do = s.dashoffset[0]), (e.c._mdf || this._isFirstFrame) && (i.co = \"rgb(\" + bmFloor(e.c.v[0]) + \",\" + bmFloor(e.c.v[1]) + \",\" + bmFloor(e.c.v[2]) + \")\"), (e.o._mdf || r._opMdf || this._isFirstFrame) && (i.coOp = e.o.v * r.opacity), (e.w._mdf || this._isFirstFrame) && (i.wi = e.w.v);\n }, CVShapeElement.prototype.destroy = function() {\n this.shapesData = null, this.globalData = null, this.canvasContext = null, this.stylesList.length = 0, this.itemsData.length = 0;\n };\n function CVTextElement(t, e, r) {\n this.textSpans = [], this.yOffset = 0, this.fillColorAnim = !1, this.strokeColorAnim = !1, this.strokeWidthAnim = !1, this.stroke = !1, this.fill = !1, this.justifyOffset = 0, this.currentRender = null, this.renderType = \"canvas\", this.values = {\n fill: \"rgba(0,0,0,0)\",\n stroke: \"rgba(0,0,0,0)\",\n sWidth: 0,\n fValue: \"\"\n }, this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement), CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\"), CVTextElement.prototype.buildNewText = function() {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = !1;\n t.fc ? (e = !0, this.values.fill = this.buildColor(t.fc)) : this.values.fill = \"rgba(0,0,0,0)\", this.fill = e;\n var r = !1;\n t.sc && (r = !0, this.values.stroke = this.buildColor(t.sc), this.values.sWidth = t.sw);\n var i = this.globalData.fontManager.getFontByName(t.f), s, a, n = t.l, h = this.mHelper;\n this.stroke = r, this.values.fValue = t.finalSize + \"px \" + this.globalData.fontManager.getFontByName(t.f).fFamily, a = t.finalText.length;\n var o, f, v, S, p, b, g, m, x, c, u = this.data.singleShape, l = t.tr * 1e-3 * t.finalSize, d = 0, E = 0, _ = !0, T = 0;\n for (s = 0; s < a; s += 1) {\n o = this.globalData.fontManager.getCharData(t.finalText[s], i.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily), f = o && o.data || {}, h.reset(), u && n[s].n && (d = -l, E += t.yOffset, E += _ ? 1 : 0, _ = !1), p = f.shapes ? f.shapes[0].it : [], g = p.length, h.scale(t.finalSize / 100, t.finalSize / 100), u && this.applyTextPropertiesToMatrix(t, h, n[s].line, d, E), x = createSizedArray(g - 1);\n var M = 0;\n for (b = 0; b < g; b += 1)\n if (p[b].ty === \"sh\") {\n for (S = p[b].ks.k.i.length, m = p[b].ks.k, c = [], v = 1; v < S; v += 1)\n v === 1 && c.push(h.applyToX(m.v[0][0], m.v[0][1], 0), h.applyToY(m.v[0][0], m.v[0][1], 0)), c.push(h.applyToX(m.o[v - 1][0], m.o[v - 1][1], 0), h.applyToY(m.o[v - 1][0], m.o[v - 1][1], 0), h.applyToX(m.i[v][0], m.i[v][1], 0), h.applyToY(m.i[v][0], m.i[v][1], 0), h.applyToX(m.v[v][0], m.v[v][1], 0), h.applyToY(m.v[v][0], m.v[v][1], 0));\n c.push(h.applyToX(m.o[v - 1][0], m.o[v - 1][1], 0), h.applyToY(m.o[v - 1][0], m.o[v - 1][1], 0), h.applyToX(m.i[0][0], m.i[0][1], 0), h.applyToY(m.i[0][0], m.i[0][1], 0), h.applyToX(m.v[0][0], m.v[0][1], 0), h.applyToY(m.v[0][0], m.v[0][1], 0)), x[M] = c, M += 1;\n }\n u && (d += n[s].l, d += l), this.textSpans[T] ? this.textSpans[T].elem = x : this.textSpans[T] = {\n elem: x\n }, T += 1;\n }\n }, CVTextElement.prototype.renderInnerContent = function() {\n this.validateText();\n var t = this.canvasContext;\n t.font = this.values.fValue, this.globalData.renderer.ctxLineCap(\"butt\"), this.globalData.renderer.ctxLineJoin(\"miter\"), this.globalData.renderer.ctxMiterLimit(4), this.data.singleShape || this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);\n var e, r, i, s, a, n, h = this.textAnimator.renderedLetters, o = this.textProperty.currentData.l;\n r = o.length;\n var f, v = null, S = null, p = null, b, g, m = this.globalData.renderer;\n for (e = 0; e < r; e += 1)\n if (!o[e].n) {\n if (f = h[e], f && (m.save(), m.ctxTransform(f.p), m.ctxOpacity(f.o)), this.fill) {\n for (f && f.fc ? v !== f.fc && (m.ctxFillStyle(f.fc), v = f.fc) : v !== this.values.fill && (v = this.values.fill, m.ctxFillStyle(this.values.fill)), b = this.textSpans[e].elem, s = b.length, this.globalData.canvasContext.beginPath(), i = 0; i < s; i += 1)\n for (g = b[i], n = g.length, this.globalData.canvasContext.moveTo(g[0], g[1]), a = 2; a < n; a += 6)\n this.globalData.canvasContext.bezierCurveTo(g[a], g[a + 1], g[a + 2], g[a + 3], g[a + 4], g[a + 5]);\n this.globalData.canvasContext.closePath(), m.ctxFill();\n }\n if (this.stroke) {\n for (f && f.sw ? p !== f.sw && (p = f.sw, m.ctxLineWidth(f.sw)) : p !== this.values.sWidth && (p = this.values.sWidth, m.ctxLineWidth(this.values.sWidth)), f && f.sc ? S !== f.sc && (S = f.sc, m.ctxStrokeStyle(f.sc)) : S !== this.values.stroke && (S = this.values.stroke, m.ctxStrokeStyle(this.values.stroke)), b = this.textSpans[e].elem, s = b.length, this.globalData.canvasContext.beginPath(), i = 0; i < s; i += 1)\n for (g = b[i], n = g.length, this.globalData.canvasContext.moveTo(g[0], g[1]), a = 2; a < n; a += 6)\n this.globalData.canvasContext.bezierCurveTo(g[a], g[a + 1], g[a + 2], g[a + 3], g[a + 4], g[a + 5]);\n this.globalData.canvasContext.closePath(), m.ctxStroke();\n }\n f && this.globalData.renderer.restore();\n }\n };\n function CVImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.img = e.imageLoader.getAsset(this.assetData), this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement), CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVImageElement.prototype.createContent = function() {\n if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {\n var t = createTag(\"canvas\");\n t.width = this.assetData.w, t.height = this.assetData.h;\n var e = t.getContext(\"2d\"), r = this.img.width, i = this.img.height, s = r / i, a = this.assetData.w / this.assetData.h, n, h, o = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;\n s > a && o === \"xMidYMid slice\" || s < a && o !== \"xMidYMid slice\" ? (h = i, n = h * a) : (n = r, h = n / a), e.drawImage(this.img, (r - n) / 2, (i - h) / 2, n, h, 0, 0, this.assetData.w, this.assetData.h), this.img = t;\n }\n }, CVImageElement.prototype.renderInnerContent = function() {\n this.canvasContext.drawImage(this.img, 0, 0);\n }, CVImageElement.prototype.destroy = function() {\n this.img = null;\n };\n function CVSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement), CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement, CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame, CVSolidElement.prototype.renderInnerContent = function() {\n this.globalData.renderer.ctxFillStyle(this.data.sc), this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh);\n };\n function CanvasRendererBase() {\n }\n extendPrototype([BaseRenderer], CanvasRendererBase), CanvasRendererBase.prototype.createShape = function(t) {\n return new CVShapeElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createText = function(t) {\n return new CVTextElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createImage = function(t) {\n return new CVImageElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createSolid = function(t) {\n return new CVSolidElement(t, this.globalData, this);\n }, CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull, CanvasRendererBase.prototype.ctxTransform = function(t) {\n t[0] === 1 && t[1] === 0 && t[4] === 0 && t[5] === 1 && t[12] === 0 && t[13] === 0 || this.canvasContext.transform(t[0], t[1], t[4], t[5], t[12], t[13]);\n }, CanvasRendererBase.prototype.ctxOpacity = function(t) {\n this.canvasContext.globalAlpha *= t < 0 ? 0 : t;\n }, CanvasRendererBase.prototype.ctxFillStyle = function(t) {\n this.canvasContext.fillStyle = t;\n }, CanvasRendererBase.prototype.ctxStrokeStyle = function(t) {\n this.canvasContext.strokeStyle = t;\n }, CanvasRendererBase.prototype.ctxLineWidth = function(t) {\n this.canvasContext.lineWidth = t;\n }, CanvasRendererBase.prototype.ctxLineCap = function(t) {\n this.canvasContext.lineCap = t;\n }, CanvasRendererBase.prototype.ctxLineJoin = function(t) {\n this.canvasContext.lineJoin = t;\n }, CanvasRendererBase.prototype.ctxMiterLimit = function(t) {\n this.canvasContext.miterLimit = t;\n }, CanvasRendererBase.prototype.ctxFill = function(t) {\n this.canvasContext.fill(t);\n }, CanvasRendererBase.prototype.ctxFillRect = function(t, e, r, i) {\n this.canvasContext.fillRect(t, e, r, i);\n }, CanvasRendererBase.prototype.ctxStroke = function() {\n this.canvasContext.stroke();\n }, CanvasRendererBase.prototype.reset = function() {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n this.contextData.reset();\n }, CanvasRendererBase.prototype.save = function() {\n this.canvasContext.save();\n }, CanvasRendererBase.prototype.restore = function(t) {\n if (!this.renderConfig.clearCanvas) {\n this.canvasContext.restore();\n return;\n }\n t && (this.globalData.blendMode = \"source-over\"), this.contextData.restore(t);\n }, CanvasRendererBase.prototype.configAnimation = function(t) {\n if (this.animationItem.wrapper) {\n this.animationItem.container = createTag(\"canvas\");\n var e = this.animationItem.container.style;\n e.width = \"100%\", e.height = \"100%\";\n var r = \"0px 0px 0px\";\n e.transformOrigin = r, e.mozTransformOrigin = r, e.webkitTransformOrigin = r, e[\"-webkit-transform\"] = r, e.contentVisibility = this.renderConfig.contentVisibility, this.animationItem.wrapper.appendChild(this.animationItem.container), this.canvasContext = this.animationItem.container.getContext(\"2d\"), this.renderConfig.className && this.animationItem.container.setAttribute(\"class\", this.renderConfig.className), this.renderConfig.id && this.animationItem.container.setAttribute(\"id\", this.renderConfig.id);\n } else\n this.canvasContext = this.renderConfig.context;\n this.contextData.setContext(this.canvasContext), this.data = t, this.layers = t.layers, this.transformCanvas = {\n w: t.w,\n h: t.h,\n sx: 0,\n sy: 0,\n tx: 0,\n ty: 0\n }, this.setupGlobalData(t, document.body), this.globalData.canvasContext = this.canvasContext, this.globalData.renderer = this, this.globalData.isDashed = !1, this.globalData.progressiveLoad = this.renderConfig.progressiveLoad, this.globalData.transformCanvas = this.transformCanvas, this.elements = createSizedArray(t.layers.length), this.updateContainerSize();\n }, CanvasRendererBase.prototype.updateContainerSize = function(t, e) {\n this.reset();\n var r, i;\n t ? (r = t, i = e, this.canvasContext.canvas.width = r, this.canvasContext.canvas.height = i) : (this.animationItem.wrapper && this.animationItem.container ? (r = this.animationItem.wrapper.offsetWidth, i = this.animationItem.wrapper.offsetHeight) : (r = this.canvasContext.canvas.width, i = this.canvasContext.canvas.height), this.canvasContext.canvas.width = r * this.renderConfig.dpr, this.canvasContext.canvas.height = i * this.renderConfig.dpr);\n var s, a;\n if (this.renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || this.renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n var n = this.renderConfig.preserveAspectRatio.split(\" \"), h = n[1] || \"meet\", o = n[0] || \"xMidYMid\", f = o.substr(0, 4), v = o.substr(4);\n s = r / i, a = this.transformCanvas.w / this.transformCanvas.h, a > s && h === \"meet\" || a < s && h === \"slice\" ? (this.transformCanvas.sx = r / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = r / (this.transformCanvas.w / this.renderConfig.dpr)) : (this.transformCanvas.sx = i / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.sy = i / (this.transformCanvas.h / this.renderConfig.dpr)), f === \"xMid\" && (a < s && h === \"meet\" || a > s && h === \"slice\") ? this.transformCanvas.tx = (r - this.transformCanvas.w * (i / this.transformCanvas.h)) / 2 * this.renderConfig.dpr : f === \"xMax\" && (a < s && h === \"meet\" || a > s && h === \"slice\") ? this.transformCanvas.tx = (r - this.transformCanvas.w * (i / this.transformCanvas.h)) * this.renderConfig.dpr : this.transformCanvas.tx = 0, v === \"YMid\" && (a > s && h === \"meet\" || a < s && h === \"slice\") ? this.transformCanvas.ty = (i - this.transformCanvas.h * (r / this.transformCanvas.w)) / 2 * this.renderConfig.dpr : v === \"YMax\" && (a > s && h === \"meet\" || a < s && h === \"slice\") ? this.transformCanvas.ty = (i - this.transformCanvas.h * (r / this.transformCanvas.w)) * this.renderConfig.dpr : this.transformCanvas.ty = 0;\n } else\n this.renderConfig.preserveAspectRatio === \"none\" ? (this.transformCanvas.sx = r / (this.transformCanvas.w / this.renderConfig.dpr), this.transformCanvas.sy = i / (this.transformCanvas.h / this.renderConfig.dpr), this.transformCanvas.tx = 0, this.transformCanvas.ty = 0) : (this.transformCanvas.sx = this.renderConfig.dpr, this.transformCanvas.sy = this.renderConfig.dpr, this.transformCanvas.tx = 0, this.transformCanvas.ty = 0);\n this.transformCanvas.props = [this.transformCanvas.sx, 0, 0, 0, 0, this.transformCanvas.sy, 0, 0, 0, 0, 1, 0, this.transformCanvas.tx, this.transformCanvas.ty, 0, 1], this.ctxTransform(this.transformCanvas.props), this.canvasContext.beginPath(), this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h), this.canvasContext.closePath(), this.canvasContext.clip(), this.renderFrame(this.renderedFrame, !0);\n }, CanvasRendererBase.prototype.destroy = function() {\n this.renderConfig.clearCanvas && this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\");\n var t, e = this.layers ? this.layers.length : 0;\n for (t = e - 1; t >= 0; t -= 1)\n this.elements[t] && this.elements[t].destroy && this.elements[t].destroy();\n this.elements.length = 0, this.globalData.canvasContext = null, this.animationItem.container = null, this.destroyed = !0;\n }, CanvasRendererBase.prototype.renderFrame = function(t, e) {\n if (!(this.renderedFrame === t && this.renderConfig.clearCanvas === !0 && !e || this.destroyed || t === -1)) {\n this.renderedFrame = t, this.globalData.frameNum = t - this.animationItem._isFirstFrame, this.globalData.frameId += 1, this.globalData._mdf = !this.renderConfig.clearCanvas || e, this.globalData.projectInterface.currentFrame = t;\n var r, i = this.layers.length;\n for (this.completeLayers || this.checkLayers(t), r = i - 1; r >= 0; r -= 1)\n (this.completeLayers || this.elements[r]) && this.elements[r].prepareFrame(t - this.layers[r].st);\n if (this.globalData._mdf) {\n for (this.renderConfig.clearCanvas === !0 ? this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h) : this.save(), r = i - 1; r >= 0; r -= 1)\n (this.completeLayers || this.elements[r]) && this.elements[r].renderFrame();\n this.renderConfig.clearCanvas !== !0 && this.restore();\n }\n }\n }, CanvasRendererBase.prototype.buildItem = function(t) {\n var e = this.elements;\n if (!(e[t] || this.layers[t].ty === 99)) {\n var r = this.createItem(this.layers[t], this, this.globalData);\n e[t] = r, r.initExpressions();\n }\n }, CanvasRendererBase.prototype.checkPendingElements = function() {\n for (; this.pendingElements.length; ) {\n var t = this.pendingElements.pop();\n t.checkParenting();\n }\n }, CanvasRendererBase.prototype.hide = function() {\n this.animationItem.container.style.display = \"none\";\n }, CanvasRendererBase.prototype.show = function() {\n this.animationItem.container.style.display = \"block\";\n };\n function CanvasContext() {\n this.opacity = -1, this.transform = createTypedArray(\"float32\", 16), this.fillStyle = \"\", this.strokeStyle = \"\", this.lineWidth = \"\", this.lineCap = \"\", this.lineJoin = \"\", this.miterLimit = \"\", this.id = Math.random();\n }\n function CVContextData() {\n this.stack = [], this.cArrPos = 0, this.cTr = new Matrix();\n var t, e = 15;\n for (t = 0; t < e; t += 1) {\n var r = new CanvasContext();\n this.stack[t] = r;\n }\n this._length = e, this.nativeContext = null, this.transformMat = new Matrix(), this.currentOpacity = 1, this.currentFillStyle = \"\", this.appliedFillStyle = \"\", this.currentStrokeStyle = \"\", this.appliedStrokeStyle = \"\", this.currentLineWidth = \"\", this.appliedLineWidth = \"\", this.currentLineCap = \"\", this.appliedLineCap = \"\", this.currentLineJoin = \"\", this.appliedLineJoin = \"\", this.appliedMiterLimit = \"\", this.currentMiterLimit = \"\";\n }\n CVContextData.prototype.duplicate = function() {\n var t = this._length * 2, e = 0;\n for (e = this._length; e < t; e += 1)\n this.stack[e] = new CanvasContext();\n this._length = t;\n }, CVContextData.prototype.reset = function() {\n this.cArrPos = 0, this.cTr.reset(), this.stack[this.cArrPos].opacity = 1;\n }, CVContextData.prototype.restore = function(t) {\n this.cArrPos -= 1;\n var e = this.stack[this.cArrPos], r = e.transform, i, s = this.cTr.props;\n for (i = 0; i < 16; i += 1)\n s[i] = r[i];\n if (t) {\n this.nativeContext.restore();\n var a = this.stack[this.cArrPos + 1];\n this.appliedFillStyle = a.fillStyle, this.appliedStrokeStyle = a.strokeStyle, this.appliedLineWidth = a.lineWidth, this.appliedLineCap = a.lineCap, this.appliedLineJoin = a.lineJoin, this.appliedMiterLimit = a.miterLimit;\n }\n this.nativeContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]), (t || e.opacity !== -1 && this.currentOpacity !== e.opacity) && (this.nativeContext.globalAlpha = e.opacity, this.currentOpacity = e.opacity), this.currentFillStyle = e.fillStyle, this.currentStrokeStyle = e.strokeStyle, this.currentLineWidth = e.lineWidth, this.currentLineCap = e.lineCap, this.currentLineJoin = e.lineJoin, this.currentMiterLimit = e.miterLimit;\n }, CVContextData.prototype.save = function(t) {\n t && this.nativeContext.save();\n var e = this.cTr.props;\n this._length <= this.cArrPos && this.duplicate();\n var r = this.stack[this.cArrPos], i;\n for (i = 0; i < 16; i += 1)\n r.transform[i] = e[i];\n this.cArrPos += 1;\n var s = this.stack[this.cArrPos];\n s.opacity = r.opacity, s.fillStyle = r.fillStyle, s.strokeStyle = r.strokeStyle, s.lineWidth = r.lineWidth, s.lineCap = r.lineCap, s.lineJoin = r.lineJoin, s.miterLimit = r.miterLimit;\n }, CVContextData.prototype.setOpacity = function(t) {\n this.stack[this.cArrPos].opacity = t;\n }, CVContextData.prototype.setContext = function(t) {\n this.nativeContext = t;\n }, CVContextData.prototype.fillStyle = function(t) {\n this.stack[this.cArrPos].fillStyle !== t && (this.currentFillStyle = t, this.stack[this.cArrPos].fillStyle = t);\n }, CVContextData.prototype.strokeStyle = function(t) {\n this.stack[this.cArrPos].strokeStyle !== t && (this.currentStrokeStyle = t, this.stack[this.cArrPos].strokeStyle = t);\n }, CVContextData.prototype.lineWidth = function(t) {\n this.stack[this.cArrPos].lineWidth !== t && (this.currentLineWidth = t, this.stack[this.cArrPos].lineWidth = t);\n }, CVContextData.prototype.lineCap = function(t) {\n this.stack[this.cArrPos].lineCap !== t && (this.currentLineCap = t, this.stack[this.cArrPos].lineCap = t);\n }, CVContextData.prototype.lineJoin = function(t) {\n this.stack[this.cArrPos].lineJoin !== t && (this.currentLineJoin = t, this.stack[this.cArrPos].lineJoin = t);\n }, CVContextData.prototype.miterLimit = function(t) {\n this.stack[this.cArrPos].miterLimit !== t && (this.currentMiterLimit = t, this.stack[this.cArrPos].miterLimit = t);\n }, CVContextData.prototype.transform = function(t) {\n this.transformMat.cloneFromProps(t);\n var e = this.cTr;\n this.transformMat.multiply(e), e.cloneFromProps(this.transformMat.props);\n var r = e.props;\n this.nativeContext.setTransform(r[0], r[1], r[4], r[5], r[12], r[13]);\n }, CVContextData.prototype.opacity = function(t) {\n var e = this.stack[this.cArrPos].opacity;\n e *= t < 0 ? 0 : t, this.stack[this.cArrPos].opacity !== e && (this.currentOpacity !== t && (this.nativeContext.globalAlpha = t, this.currentOpacity = t), this.stack[this.cArrPos].opacity = e);\n }, CVContextData.prototype.fill = function(t) {\n this.appliedFillStyle !== this.currentFillStyle && (this.appliedFillStyle = this.currentFillStyle, this.nativeContext.fillStyle = this.appliedFillStyle), this.nativeContext.fill(t);\n }, CVContextData.prototype.fillRect = function(t, e, r, i) {\n this.appliedFillStyle !== this.currentFillStyle && (this.appliedFillStyle = this.currentFillStyle, this.nativeContext.fillStyle = this.appliedFillStyle), this.nativeContext.fillRect(t, e, r, i);\n }, CVContextData.prototype.stroke = function() {\n this.appliedStrokeStyle !== this.currentStrokeStyle && (this.appliedStrokeStyle = this.currentStrokeStyle, this.nativeContext.strokeStyle = this.appliedStrokeStyle), this.appliedLineWidth !== this.currentLineWidth && (this.appliedLineWidth = this.currentLineWidth, this.nativeContext.lineWidth = this.appliedLineWidth), this.appliedLineCap !== this.currentLineCap && (this.appliedLineCap = this.currentLineCap, this.nativeContext.lineCap = this.appliedLineCap), this.appliedLineJoin !== this.currentLineJoin && (this.appliedLineJoin = this.currentLineJoin, this.nativeContext.lineJoin = this.appliedLineJoin), this.appliedMiterLimit !== this.currentMiterLimit && (this.appliedMiterLimit = this.currentMiterLimit, this.nativeContext.miterLimit = this.appliedMiterLimit), this.nativeContext.stroke();\n };\n function CVCompElement(t, e, r) {\n this.completeLayers = !1, this.layers = t.layers, this.pendingElements = [], this.elements = createSizedArray(this.layers.length), this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n extendPrototype([CanvasRendererBase, ICompElement, CVBaseElement], CVCompElement), CVCompElement.prototype.renderInnerContent = function() {\n var t = this.canvasContext;\n t.beginPath(), t.moveTo(0, 0), t.lineTo(this.data.w, 0), t.lineTo(this.data.w, this.data.h), t.lineTo(0, this.data.h), t.lineTo(0, 0), t.clip();\n var e, r = this.layers.length;\n for (e = r - 1; e >= 0; e -= 1)\n (this.completeLayers || this.elements[e]) && this.elements[e].renderFrame();\n }, CVCompElement.prototype.destroy = function() {\n var t, e = this.layers.length;\n for (t = e - 1; t >= 0; t -= 1)\n this.elements[t] && this.elements[t].destroy();\n this.layers = null, this.elements = null;\n }, CVCompElement.prototype.createComp = function(t) {\n return new CVCompElement(t, this.globalData, this);\n };\n function CanvasRenderer(t, e) {\n this.animationItem = t, this.renderConfig = {\n clearCanvas: e && e.clearCanvas !== void 0 ? e.clearCanvas : !0,\n context: e && e.context || null,\n progressiveLoad: e && e.progressiveLoad || !1,\n preserveAspectRatio: e && e.preserveAspectRatio || \"xMidYMid meet\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n contentVisibility: e && e.contentVisibility || \"visible\",\n className: e && e.className || \"\",\n id: e && e.id || \"\",\n runExpressions: !e || e.runExpressions === void 0 || e.runExpressions\n }, this.renderConfig.dpr = e && e.dpr || 1, this.animationItem.wrapper && (this.renderConfig.dpr = e && e.dpr || window.devicePixelRatio || 1), this.renderedFrame = -1, this.globalData = {\n frameNum: -1,\n _mdf: !1,\n renderConfig: this.renderConfig,\n currentGlobalAlpha: -1\n }, this.contextData = new CVContextData(), this.elements = [], this.pendingElements = [], this.transformMat = new Matrix(), this.completeLayers = !1, this.rendererType = \"canvas\", this.renderConfig.clearCanvas && (this.ctxTransform = this.contextData.transform.bind(this.contextData), this.ctxOpacity = this.contextData.opacity.bind(this.contextData), this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData), this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData), this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData), this.ctxLineCap = this.contextData.lineCap.bind(this.contextData), this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData), this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData), this.ctxFill = this.contextData.fill.bind(this.contextData), this.ctxFillRect = this.contextData.fillRect.bind(this.contextData), this.ctxStroke = this.contextData.stroke.bind(this.contextData), this.save = this.contextData.save.bind(this.contextData));\n }\n extendPrototype([CanvasRendererBase], CanvasRenderer), CanvasRenderer.prototype.createComp = function(t) {\n return new CVCompElement(t, this.globalData, this);\n };\n function HBaseElement() {\n }\n HBaseElement.prototype = {\n checkBlendMode: function() {\n },\n initRendererElement: function() {\n this.baseElement = createTag(this.data.tg || \"div\"), this.data.hasMask ? (this.svgElement = createNS(\"svg\"), this.layerElement = createNS(\"g\"), this.maskedElement = this.layerElement, this.svgElement.appendChild(this.layerElement), this.baseElement.appendChild(this.svgElement)) : this.layerElement = this.baseElement, styleDiv(this.baseElement);\n },\n createContainerElements: function() {\n this.renderableEffectsManager = new CVEffects(this), this.transformedElement = this.baseElement, this.maskedElement = this.layerElement, this.data.ln && this.layerElement.setAttribute(\"id\", this.data.ln), this.data.cl && this.layerElement.setAttribute(\"class\", this.data.cl), this.data.bm !== 0 && this.setBlendMode();\n },\n renderElement: function() {\n var e = this.transformedElement ? this.transformedElement.style : {};\n if (this.finalTransform._matMdf) {\n var r = this.finalTransform.mat.toCSS();\n e.transform = r, e.webkitTransform = r;\n }\n this.finalTransform._opMdf && (e.opacity = this.finalTransform.mProp.o.v);\n },\n renderFrame: function() {\n this.data.hd || this.hidden || (this.renderTransform(), this.renderRenderable(), this.renderElement(), this.renderInnerContent(), this._isFirstFrame && (this._isFirstFrame = !1));\n },\n destroy: function() {\n this.layerElement = null, this.transformedElement = null, this.matteElement && (this.matteElement = null), this.maskManager && (this.maskManager.destroy(), this.maskManager = null);\n },\n createRenderableComponents: function() {\n this.maskManager = new MaskElement(this.data, this, this.globalData);\n },\n addEffects: function() {\n },\n setMatte: function() {\n }\n }, HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement, HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy, HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;\n function HSolidElement(t, e, r) {\n this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement), HSolidElement.prototype.createContent = function() {\n var t;\n this.data.hasMask ? (t = createNS(\"rect\"), t.setAttribute(\"width\", this.data.sw), t.setAttribute(\"height\", this.data.sh), t.setAttribute(\"fill\", this.data.sc), this.svgElement.setAttribute(\"width\", this.data.sw), this.svgElement.setAttribute(\"height\", this.data.sh)) : (t = createTag(\"div\"), t.style.width = this.data.sw + \"px\", t.style.height = this.data.sh + \"px\", t.style.backgroundColor = this.data.sc), this.layerElement.appendChild(t);\n };\n function HShapeElement(t, e, r) {\n this.shapes = [], this.shapesData = t.shapes, this.stylesList = [], this.shapeModifiers = [], this.itemsData = [], this.processedElements = [], this.animatedContents = [], this.shapesContainer = createNS(\"g\"), this.initElement(t, e, r), this.prevViewData = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n };\n }\n extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement), HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent, HShapeElement.prototype.createContent = function() {\n var t;\n if (this.baseElement.style.fontSize = 0, this.data.hasMask)\n this.layerElement.appendChild(this.shapesContainer), t = this.svgElement;\n else {\n t = createNS(\"svg\");\n var e = this.comp.data ? this.comp.data : this.globalData.compSize;\n t.setAttribute(\"width\", e.w), t.setAttribute(\"height\", e.h), t.appendChild(this.shapesContainer), this.layerElement.appendChild(t);\n }\n this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], !0), this.filterUniqueShapes(), this.shapeCont = t;\n }, HShapeElement.prototype.getTransformedPoint = function(t, e) {\n var r, i = t.length;\n for (r = 0; r < i; r += 1)\n e = t[r].mProps.v.applyToPointArray(e[0], e[1], 0);\n return e;\n }, HShapeElement.prototype.calculateShapeBoundingBox = function(t, e) {\n var r = t.sh.v, i = t.transformers, s, a = r._length, n, h, o, f;\n if (!(a <= 1)) {\n for (s = 0; s < a - 1; s += 1)\n n = this.getTransformedPoint(i, r.v[s]), h = this.getTransformedPoint(i, r.o[s]), o = this.getTransformedPoint(i, r.i[s + 1]), f = this.getTransformedPoint(i, r.v[s + 1]), this.checkBounds(n, h, o, f, e);\n r.c && (n = this.getTransformedPoint(i, r.v[s]), h = this.getTransformedPoint(i, r.o[s]), o = this.getTransformedPoint(i, r.i[0]), f = this.getTransformedPoint(i, r.v[0]), this.checkBounds(n, h, o, f, e));\n }\n }, HShapeElement.prototype.checkBounds = function(t, e, r, i, s) {\n this.getBoundsOfCurve(t, e, r, i);\n var a = this.shapeBoundingBox;\n s.x = bmMin(a.left, s.x), s.xMax = bmMax(a.right, s.xMax), s.y = bmMin(a.top, s.y), s.yMax = bmMax(a.bottom, s.yMax);\n }, HShapeElement.prototype.shapeBoundingBox = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, HShapeElement.prototype.tempBoundingBox = {\n x: 0,\n xMax: 0,\n y: 0,\n yMax: 0,\n width: 0,\n height: 0\n }, HShapeElement.prototype.getBoundsOfCurve = function(t, e, r, i) {\n for (var s = [[t[0], i[0]], [t[1], i[1]]], a, n, h, o, f, v, S, p = 0; p < 2; ++p)\n n = 6 * t[p] - 12 * e[p] + 6 * r[p], a = -3 * t[p] + 9 * e[p] - 9 * r[p] + 3 * i[p], h = 3 * e[p] - 3 * t[p], n |= 0, a |= 0, h |= 0, a === 0 && n === 0 || (a === 0 ? (o = -h / n, o > 0 && o < 1 && s[p].push(this.calculateF(o, t, e, r, i, p))) : (f = n * n - 4 * h * a, f >= 0 && (v = (-n + bmSqrt(f)) / (2 * a), v > 0 && v < 1 && s[p].push(this.calculateF(v, t, e, r, i, p)), S = (-n - bmSqrt(f)) / (2 * a), S > 0 && S < 1 && s[p].push(this.calculateF(S, t, e, r, i, p)))));\n this.shapeBoundingBox.left = bmMin.apply(null, s[0]), this.shapeBoundingBox.top = bmMin.apply(null, s[1]), this.shapeBoundingBox.right = bmMax.apply(null, s[0]), this.shapeBoundingBox.bottom = bmMax.apply(null, s[1]);\n }, HShapeElement.prototype.calculateF = function(t, e, r, i, s, a) {\n return bmPow(1 - t, 3) * e[a] + 3 * bmPow(1 - t, 2) * t * r[a] + 3 * (1 - t) * bmPow(t, 2) * i[a] + bmPow(t, 3) * s[a];\n }, HShapeElement.prototype.calculateBoundingBox = function(t, e) {\n var r, i = t.length;\n for (r = 0; r < i; r += 1)\n t[r] && t[r].sh ? this.calculateShapeBoundingBox(t[r], e) : t[r] && t[r].it ? this.calculateBoundingBox(t[r].it, e) : t[r] && t[r].style && t[r].w && this.expandStrokeBoundingBox(t[r].w, e);\n }, HShapeElement.prototype.expandStrokeBoundingBox = function(t, e) {\n var r = 0;\n if (t.keyframes) {\n for (var i = 0; i < t.keyframes.length; i += 1) {\n var s = t.keyframes[i].s;\n s > r && (r = s);\n }\n r *= t.mult;\n } else\n r = t.v * t.mult;\n e.x -= r, e.xMax += r, e.y -= r, e.yMax += r;\n }, HShapeElement.prototype.currentBoxContains = function(t) {\n return this.currentBBox.x <= t.x && this.currentBBox.y <= t.y && this.currentBBox.width + this.currentBBox.x >= t.x + t.width && this.currentBBox.height + this.currentBBox.y >= t.y + t.height;\n }, HShapeElement.prototype.renderInnerContent = function() {\n if (this._renderShapeFrame(), !this.hidden && (this._isFirstFrame || this._mdf)) {\n var t = this.tempBoundingBox, e = 999999;\n if (t.x = e, t.xMax = -e, t.y = e, t.yMax = -e, this.calculateBoundingBox(this.itemsData, t), t.width = t.xMax < t.x ? 0 : t.xMax - t.x, t.height = t.yMax < t.y ? 0 : t.yMax - t.y, this.currentBoxContains(t))\n return;\n var r = !1;\n if (this.currentBBox.w !== t.width && (this.currentBBox.w = t.width, this.shapeCont.setAttribute(\"width\", t.width), r = !0), this.currentBBox.h !== t.height && (this.currentBBox.h = t.height, this.shapeCont.setAttribute(\"height\", t.height), r = !0), r || this.currentBBox.x !== t.x || this.currentBBox.y !== t.y) {\n this.currentBBox.w = t.width, this.currentBBox.h = t.height, this.currentBBox.x = t.x, this.currentBBox.y = t.y, this.shapeCont.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h);\n var i = this.shapeCont.style, s = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n i.transform = s, i.webkitTransform = s;\n }\n }\n };\n function HTextElement(t, e, r) {\n this.textSpans = [], this.textPaths = [], this.currentBBox = {\n x: 999999,\n y: -999999,\n h: 0,\n w: 0\n }, this.renderType = \"svg\", this.isMasked = !1, this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement), HTextElement.prototype.createContent = function() {\n if (this.isMasked = this.checkMasks(), this.isMasked) {\n this.renderType = \"svg\", this.compW = this.comp.data.w, this.compH = this.comp.data.h, this.svgElement.setAttribute(\"width\", this.compW), this.svgElement.setAttribute(\"height\", this.compH);\n var t = createNS(\"g\");\n this.maskedElement.appendChild(t), this.innerElem = t;\n } else\n this.renderType = \"html\", this.innerElem = this.layerElement;\n this.checkParenting();\n }, HTextElement.prototype.buildNewText = function() {\n var t = this.textProperty.currentData;\n this.renderedLetters = createSizedArray(t.l ? t.l.length : 0);\n var e = this.innerElem.style, r = t.fc ? this.buildColor(t.fc) : \"rgba(0,0,0,0)\";\n e.fill = r, e.color = r, t.sc && (e.stroke = this.buildColor(t.sc), e.strokeWidth = t.sw + \"px\");\n var i = this.globalData.fontManager.getFontByName(t.f);\n if (!this.globalData.fontManager.chars)\n if (e.fontSize = t.finalSize + \"px\", e.lineHeight = t.finalSize + \"px\", i.fClass)\n this.innerElem.className = i.fClass;\n else {\n e.fontFamily = i.fFamily;\n var s = t.fWeight, a = t.fStyle;\n e.fontStyle = a, e.fontWeight = s;\n }\n var n, h, o = t.l;\n h = o.length;\n var f, v, S, p = this.mHelper, b, g = \"\", m = 0;\n for (n = 0; n < h; n += 1) {\n if (this.globalData.fontManager.chars ? (this.textPaths[m] ? f = this.textPaths[m] : (f = createNS(\"path\"), f.setAttribute(\"stroke-linecap\", lineCapEnum[1]), f.setAttribute(\"stroke-linejoin\", lineJoinEnum[2]), f.setAttribute(\"stroke-miterlimit\", \"4\")), this.isMasked || (this.textSpans[m] ? (v = this.textSpans[m], S = v.children[0]) : (v = createTag(\"div\"), v.style.lineHeight = 0, S = createNS(\"svg\"), S.appendChild(f), styleDiv(v)))) : this.isMasked ? f = this.textPaths[m] ? this.textPaths[m] : createNS(\"text\") : this.textSpans[m] ? (v = this.textSpans[m], f = this.textPaths[m]) : (v = createTag(\"span\"), styleDiv(v), f = createTag(\"span\"), styleDiv(f), v.appendChild(f)), this.globalData.fontManager.chars) {\n var x = this.globalData.fontManager.getCharData(t.finalText[n], i.fStyle, this.globalData.fontManager.getFontByName(t.f).fFamily), c;\n if (x ? c = x.data : c = null, p.reset(), c && c.shapes && c.shapes.length && (b = c.shapes[0].it, p.scale(t.finalSize / 100, t.finalSize / 100), g = this.createPathShape(p, b), f.setAttribute(\"d\", g)), this.isMasked)\n this.innerElem.appendChild(f);\n else {\n if (this.innerElem.appendChild(v), c && c.shapes) {\n document.body.appendChild(S);\n var u = S.getBBox();\n S.setAttribute(\"width\", u.width + 2), S.setAttribute(\"height\", u.height + 2), S.setAttribute(\"viewBox\", u.x - 1 + \" \" + (u.y - 1) + \" \" + (u.width + 2) + \" \" + (u.height + 2));\n var l = S.style, d = \"translate(\" + (u.x - 1) + \"px,\" + (u.y - 1) + \"px)\";\n l.transform = d, l.webkitTransform = d, o[n].yOffset = u.y - 1;\n } else\n S.setAttribute(\"width\", 1), S.setAttribute(\"height\", 1);\n v.appendChild(S);\n }\n } else if (f.textContent = o[n].val, f.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\"), this.isMasked)\n this.innerElem.appendChild(f);\n else {\n this.innerElem.appendChild(v);\n var E = f.style, _ = \"translate3d(0,\" + -t.finalSize / 1.2 + \"px,0)\";\n E.transform = _, E.webkitTransform = _;\n }\n this.isMasked ? this.textSpans[m] = f : this.textSpans[m] = v, this.textSpans[m].style.display = \"block\", this.textPaths[m] = f, m += 1;\n }\n for (; m < this.textSpans.length; )\n this.textSpans[m].style.display = \"none\", m += 1;\n }, HTextElement.prototype.renderInnerContent = function() {\n this.validateText();\n var t;\n if (this.data.singleShape) {\n if (!this._isFirstFrame && !this.lettersChangedFlag)\n return;\n if (this.isMasked && this.finalTransform._matMdf) {\n this.svgElement.setAttribute(\"viewBox\", -this.finalTransform.mProp.p.v[0] + \" \" + -this.finalTransform.mProp.p.v[1] + \" \" + this.compW + \" \" + this.compH), t = this.svgElement.style;\n var e = \"translate(\" + -this.finalTransform.mProp.p.v[0] + \"px,\" + -this.finalTransform.mProp.p.v[1] + \"px)\";\n t.transform = e, t.webkitTransform = e;\n }\n }\n if (this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag), !(!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag)) {\n var r, i, s = 0, a = this.textAnimator.renderedLetters, n = this.textProperty.currentData.l;\n i = n.length;\n var h, o, f;\n for (r = 0; r < i; r += 1)\n n[r].n ? s += 1 : (o = this.textSpans[r], f = this.textPaths[r], h = a[s], s += 1, h._mdf.m && (this.isMasked ? o.setAttribute(\"transform\", h.m) : (o.style.webkitTransform = h.m, o.style.transform = h.m)), o.style.opacity = h.o, h.sw && h._mdf.sw && f.setAttribute(\"stroke-width\", h.sw), h.sc && h._mdf.sc && f.setAttribute(\"stroke\", h.sc), h.fc && h._mdf.fc && (f.setAttribute(\"fill\", h.fc), f.style.color = h.fc));\n if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {\n var v = this.innerElem.getBBox();\n this.currentBBox.w !== v.width && (this.currentBBox.w = v.width, this.svgElement.setAttribute(\"width\", v.width)), this.currentBBox.h !== v.height && (this.currentBBox.h = v.height, this.svgElement.setAttribute(\"height\", v.height));\n var S = 1;\n if (this.currentBBox.w !== v.width + S * 2 || this.currentBBox.h !== v.height + S * 2 || this.currentBBox.x !== v.x - S || this.currentBBox.y !== v.y - S) {\n this.currentBBox.w = v.width + S * 2, this.currentBBox.h = v.height + S * 2, this.currentBBox.x = v.x - S, this.currentBBox.y = v.y - S, this.svgElement.setAttribute(\"viewBox\", this.currentBBox.x + \" \" + this.currentBBox.y + \" \" + this.currentBBox.w + \" \" + this.currentBBox.h), t = this.svgElement.style;\n var p = \"translate(\" + this.currentBBox.x + \"px,\" + this.currentBBox.y + \"px)\";\n t.transform = p, t.webkitTransform = p;\n }\n }\n }\n };\n function HCameraElement(t, e, r) {\n this.initFrame(), this.initBaseData(t, e, r), this.initHierarchy();\n var i = PropertyFactory.getProp;\n if (this.pe = i(this, t.pe, 0, 0, this), t.ks.p.s ? (this.px = i(this, t.ks.p.x, 1, 0, this), this.py = i(this, t.ks.p.y, 1, 0, this), this.pz = i(this, t.ks.p.z, 1, 0, this)) : this.p = i(this, t.ks.p, 1, 0, this), t.ks.a && (this.a = i(this, t.ks.a, 1, 0, this)), t.ks.or.k.length && t.ks.or.k[0].to) {\n var s, a = t.ks.or.k.length;\n for (s = 0; s < a; s += 1)\n t.ks.or.k[s].to = null, t.ks.or.k[s].ti = null;\n }\n this.or = i(this, t.ks.or, 1, degToRads, this), this.or.sh = !0, this.rx = i(this, t.ks.rx, 0, degToRads, this), this.ry = i(this, t.ks.ry, 0, degToRads, this), this.rz = i(this, t.ks.rz, 0, degToRads, this), this.mat = new Matrix(), this._prevMat = new Matrix(), this._isFirstFrame = !0, this.finalTransform = {\n mProp: this\n };\n }\n extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement), HCameraElement.prototype.setup = function() {\n var t, e = this.comp.threeDElements.length, r, i, s;\n for (t = 0; t < e; t += 1)\n if (r = this.comp.threeDElements[t], r.type === \"3d\") {\n i = r.perspectiveElem.style, s = r.container.style;\n var a = this.pe.v + \"px\", n = \"0px 0px 0px\", h = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n i.perspective = a, i.webkitPerspective = a, s.transformOrigin = n, s.mozTransformOrigin = n, s.webkitTransformOrigin = n, i.transform = h, i.webkitTransform = h;\n }\n }, HCameraElement.prototype.createElements = function() {\n }, HCameraElement.prototype.hide = function() {\n }, HCameraElement.prototype.renderFrame = function() {\n var t = this._isFirstFrame, e, r;\n if (this.hierarchy)\n for (r = this.hierarchy.length, e = 0; e < r; e += 1)\n t = this.hierarchy[e].finalTransform.mProp._mdf || t;\n if (t || this.pe._mdf || this.p && this.p._mdf || this.px && (this.px._mdf || this.py._mdf || this.pz._mdf) || this.rx._mdf || this.ry._mdf || this.rz._mdf || this.or._mdf || this.a && this.a._mdf) {\n if (this.mat.reset(), this.hierarchy)\n for (r = this.hierarchy.length - 1, e = r; e >= 0; e -= 1) {\n var i = this.hierarchy[e].finalTransform.mProp;\n this.mat.translate(-i.p.v[0], -i.p.v[1], i.p.v[2]), this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]), this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v), this.mat.scale(1 / i.s.v[0], 1 / i.s.v[1], 1 / i.s.v[2]), this.mat.translate(i.a.v[0], i.a.v[1], i.a.v[2]);\n }\n if (this.p ? this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]) : this.mat.translate(-this.px.v, -this.py.v, this.pz.v), this.a) {\n var s;\n this.p ? s = [this.p.v[0] - this.a.v[0], this.p.v[1] - this.a.v[1], this.p.v[2] - this.a.v[2]] : s = [this.px.v - this.a.v[0], this.py.v - this.a.v[1], this.pz.v - this.a.v[2]];\n var a = Math.sqrt(Math.pow(s[0], 2) + Math.pow(s[1], 2) + Math.pow(s[2], 2)), n = [s[0] / a, s[1] / a, s[2] / a], h = Math.sqrt(n[2] * n[2] + n[0] * n[0]), o = Math.atan2(n[1], h), f = Math.atan2(n[0], -n[2]);\n this.mat.rotateY(f).rotateX(-o);\n }\n this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v), this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]), this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0), this.mat.translate(0, 0, this.pe.v);\n var v = !this._prevMat.equals(this.mat);\n if ((v || this.pe._mdf) && this.comp.threeDElements) {\n r = this.comp.threeDElements.length;\n var S, p, b;\n for (e = 0; e < r; e += 1)\n if (S = this.comp.threeDElements[e], S.type === \"3d\") {\n if (v) {\n var g = this.mat.toCSS();\n b = S.container.style, b.transform = g, b.webkitTransform = g;\n }\n this.pe._mdf && (p = S.perspectiveElem.style, p.perspective = this.pe.v + \"px\", p.webkitPerspective = this.pe.v + \"px\");\n }\n this.mat.clone(this._prevMat);\n }\n }\n this._isFirstFrame = !1;\n }, HCameraElement.prototype.prepareFrame = function(t) {\n this.prepareProperties(t, !0);\n }, HCameraElement.prototype.destroy = function() {\n }, HCameraElement.prototype.getBaseElement = function() {\n return null;\n };\n function HImageElement(t, e, r) {\n this.assetData = e.getAssetData(t.refId), this.initElement(t, e, r);\n }\n extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement), HImageElement.prototype.createContent = function() {\n var t = this.globalData.getAssetsPath(this.assetData), e = new Image();\n this.data.hasMask ? (this.imageElem = createNS(\"image\"), this.imageElem.setAttribute(\"width\", this.assetData.w + \"px\"), this.imageElem.setAttribute(\"height\", this.assetData.h + \"px\"), this.imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", t), this.layerElement.appendChild(this.imageElem), this.baseElement.setAttribute(\"width\", this.assetData.w), this.baseElement.setAttribute(\"height\", this.assetData.h)) : this.layerElement.appendChild(e), e.crossOrigin = \"anonymous\", e.src = t, this.data.ln && this.baseElement.setAttribute(\"id\", this.data.ln);\n };\n function HybridRendererBase(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.renderConfig = {\n className: e && e.className || \"\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n hideOnTransparent: !(e && e.hideOnTransparent === !1),\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"400%\",\n height: e && e.filterSize && e.filterSize.height || \"400%\",\n x: e && e.filterSize && e.filterSize.x || \"-100%\",\n y: e && e.filterSize && e.filterSize.y || \"-100%\"\n }\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n renderConfig: this.renderConfig\n }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = !1, this.camera = null, this.supports3d = !0, this.rendererType = \"html\";\n }\n extendPrototype([BaseRenderer], HybridRendererBase), HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem, HybridRendererBase.prototype.checkPendingElements = function() {\n for (; this.pendingElements.length; ) {\n var t = this.pendingElements.pop();\n t.checkParenting();\n }\n }, HybridRendererBase.prototype.appendElementInPos = function(t, e) {\n var r = t.getBaseElement();\n if (r) {\n var i = this.layers[e];\n if (!i.ddd || !this.supports3d)\n if (this.threeDElements)\n this.addTo3dContainer(r, e);\n else {\n for (var s = 0, a, n, h; s < e; )\n this.elements[s] && this.elements[s] !== !0 && this.elements[s].getBaseElement && (n = this.elements[s], h = this.layers[s].ddd ? this.getThreeDContainerByPos(s) : n.getBaseElement(), a = h || a), s += 1;\n a ? (!i.ddd || !this.supports3d) && this.layerElement.insertBefore(r, a) : (!i.ddd || !this.supports3d) && this.layerElement.appendChild(r);\n }\n else\n this.addTo3dContainer(r, e);\n }\n }, HybridRendererBase.prototype.createShape = function(t) {\n return this.supports3d ? new HShapeElement(t, this.globalData, this) : new SVGShapeElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createText = function(t) {\n return this.supports3d ? new HTextElement(t, this.globalData, this) : new SVGTextLottieElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createCamera = function(t) {\n return this.camera = new HCameraElement(t, this.globalData, this), this.camera;\n }, HybridRendererBase.prototype.createImage = function(t) {\n return this.supports3d ? new HImageElement(t, this.globalData, this) : new IImageElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createSolid = function(t) {\n return this.supports3d ? new HSolidElement(t, this.globalData, this) : new ISolidElement(t, this.globalData, this);\n }, HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull, HybridRendererBase.prototype.getThreeDContainerByPos = function(t) {\n for (var e = 0, r = this.threeDElements.length; e < r; ) {\n if (this.threeDElements[e].startPos <= t && this.threeDElements[e].endPos >= t)\n return this.threeDElements[e].perspectiveElem;\n e += 1;\n }\n return null;\n }, HybridRendererBase.prototype.createThreeDContainer = function(t, e) {\n var r = createTag(\"div\"), i, s;\n styleDiv(r);\n var a = createTag(\"div\");\n if (styleDiv(a), e === \"3d\") {\n i = r.style, i.width = this.globalData.compSize.w + \"px\", i.height = this.globalData.compSize.h + \"px\";\n var n = \"50% 50%\";\n i.webkitTransformOrigin = n, i.mozTransformOrigin = n, i.transformOrigin = n, s = a.style;\n var h = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n s.transform = h, s.webkitTransform = h;\n }\n r.appendChild(a);\n var o = {\n container: a,\n perspectiveElem: r,\n startPos: t,\n endPos: t,\n type: e\n };\n return this.threeDElements.push(o), o;\n }, HybridRendererBase.prototype.build3dContainers = function() {\n var t, e = this.layers.length, r, i = \"\";\n for (t = 0; t < e; t += 1)\n this.layers[t].ddd && this.layers[t].ty !== 3 ? (i !== \"3d\" && (i = \"3d\", r = this.createThreeDContainer(t, \"3d\")), r.endPos = Math.max(r.endPos, t)) : (i !== \"2d\" && (i = \"2d\", r = this.createThreeDContainer(t, \"2d\")), r.endPos = Math.max(r.endPos, t));\n for (e = this.threeDElements.length, t = e - 1; t >= 0; t -= 1)\n this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem);\n }, HybridRendererBase.prototype.addTo3dContainer = function(t, e) {\n for (var r = 0, i = this.threeDElements.length; r < i; ) {\n if (e <= this.threeDElements[r].endPos) {\n for (var s = this.threeDElements[r].startPos, a; s < e; )\n this.elements[s] && this.elements[s].getBaseElement && (a = this.elements[s].getBaseElement()), s += 1;\n a ? this.threeDElements[r].container.insertBefore(t, a) : this.threeDElements[r].container.appendChild(t);\n break;\n }\n r += 1;\n }\n }, HybridRendererBase.prototype.configAnimation = function(t) {\n var e = createTag(\"div\"), r = this.animationItem.wrapper, i = e.style;\n i.width = t.w + \"px\", i.height = t.h + \"px\", this.resizerElem = e, styleDiv(e), i.transformStyle = \"flat\", i.mozTransformStyle = \"flat\", i.webkitTransformStyle = \"flat\", this.renderConfig.className && e.setAttribute(\"class\", this.renderConfig.className), r.appendChild(e), i.overflow = \"hidden\";\n var s = createNS(\"svg\");\n s.setAttribute(\"width\", \"1\"), s.setAttribute(\"height\", \"1\"), styleDiv(s), this.resizerElem.appendChild(s);\n var a = createNS(\"defs\");\n s.appendChild(a), this.data = t, this.setupGlobalData(t, s), this.globalData.defs = a, this.layers = t.layers, this.layerElement = this.resizerElem, this.build3dContainers(), this.updateContainerSize();\n }, HybridRendererBase.prototype.destroy = function() {\n this.animationItem.wrapper && (this.animationItem.wrapper.innerText = \"\"), this.animationItem.container = null, this.globalData.defs = null;\n var t, e = this.layers ? this.layers.length : 0;\n for (t = 0; t < e; t += 1)\n this.elements[t] && this.elements[t].destroy && this.elements[t].destroy();\n this.elements.length = 0, this.destroyed = !0, this.animationItem = null;\n }, HybridRendererBase.prototype.updateContainerSize = function() {\n var t = this.animationItem.wrapper.offsetWidth, e = this.animationItem.wrapper.offsetHeight, r = t / e, i = this.globalData.compSize.w / this.globalData.compSize.h, s, a, n, h;\n i > r ? (s = t / this.globalData.compSize.w, a = t / this.globalData.compSize.w, n = 0, h = (e - this.globalData.compSize.h * (t / this.globalData.compSize.w)) / 2) : (s = e / this.globalData.compSize.h, a = e / this.globalData.compSize.h, n = (t - this.globalData.compSize.w * (e / this.globalData.compSize.h)) / 2, h = 0);\n var o = this.resizerElem.style;\n o.webkitTransform = \"matrix3d(\" + s + \",0,0,0,0,\" + a + \",0,0,0,0,1,0,\" + n + \",\" + h + \",0,1)\", o.transform = o.webkitTransform;\n }, HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame, HybridRendererBase.prototype.hide = function() {\n this.resizerElem.style.display = \"none\";\n }, HybridRendererBase.prototype.show = function() {\n this.resizerElem.style.display = \"block\";\n }, HybridRendererBase.prototype.initItems = function() {\n if (this.buildAllItems(), this.camera)\n this.camera.setup();\n else {\n var t = this.globalData.compSize.w, e = this.globalData.compSize.h, r, i = this.threeDElements.length;\n for (r = 0; r < i; r += 1) {\n var s = this.threeDElements[r].perspectiveElem.style;\n s.webkitPerspective = Math.sqrt(Math.pow(t, 2) + Math.pow(e, 2)) + \"px\", s.perspective = s.webkitPerspective;\n }\n }\n }, HybridRendererBase.prototype.searchExtraCompositions = function(t) {\n var e, r = t.length, i = createTag(\"div\");\n for (e = 0; e < r; e += 1)\n if (t[e].xt) {\n var s = this.createComp(t[e], i, this.globalData.comp, null);\n s.initExpressions(), this.globalData.projectInterface.registerComposition(s);\n }\n };\n function HCompElement(t, e, r) {\n this.layers = t.layers, this.supports3d = !t.hasMask, this.completeLayers = !1, this.pendingElements = [], this.elements = this.layers ? createSizedArray(this.layers.length) : [], this.initElement(t, e, r), this.tm = t.tm ? PropertyFactory.getProp(this, t.tm, 0, e.frameRate, this) : {\n _placeholder: !0\n };\n }\n extendPrototype([HybridRendererBase, ICompElement, HBaseElement], HCompElement), HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements, HCompElement.prototype.createContainerElements = function() {\n this._createBaseContainerElements(), this.data.hasMask ? (this.svgElement.setAttribute(\"width\", this.data.w), this.svgElement.setAttribute(\"height\", this.data.h), this.transformedElement = this.baseElement) : this.transformedElement = this.layerElement;\n }, HCompElement.prototype.addTo3dContainer = function(t, e) {\n for (var r = 0, i; r < e; )\n this.elements[r] && this.elements[r].getBaseElement && (i = this.elements[r].getBaseElement()), r += 1;\n i ? this.layerElement.insertBefore(t, i) : this.layerElement.appendChild(t);\n }, HCompElement.prototype.createComp = function(t) {\n return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this);\n };\n function HybridRenderer(t, e) {\n this.animationItem = t, this.layers = null, this.renderedFrame = -1, this.renderConfig = {\n className: e && e.className || \"\",\n imagePreserveAspectRatio: e && e.imagePreserveAspectRatio || \"xMidYMid slice\",\n hideOnTransparent: !(e && e.hideOnTransparent === !1),\n filterSize: {\n width: e && e.filterSize && e.filterSize.width || \"400%\",\n height: e && e.filterSize && e.filterSize.height || \"400%\",\n x: e && e.filterSize && e.filterSize.x || \"-100%\",\n y: e && e.filterSize && e.filterSize.y || \"-100%\"\n },\n runExpressions: !e || e.runExpressions === void 0 || e.runExpressions\n }, this.globalData = {\n _mdf: !1,\n frameNum: -1,\n renderConfig: this.renderConfig\n }, this.pendingElements = [], this.elements = [], this.threeDElements = [], this.destroyed = !1, this.camera = null, this.supports3d = !0, this.rendererType = \"html\";\n }\n extendPrototype([HybridRendererBase], HybridRenderer), HybridRenderer.prototype.createComp = function(t) {\n return this.supports3d ? new HCompElement(t, this.globalData, this) : new SVGCompElement(t, this.globalData, this);\n };\n var CompExpressionInterface = function() {\n return function(t) {\n function e(r) {\n for (var i = 0, s = t.layers.length; i < s; ) {\n if (t.layers[i].nm === r || t.layers[i].ind === r)\n return t.elements[i].layerInterface;\n i += 1;\n }\n return null;\n }\n return Object.defineProperty(e, \"_name\", {\n value: t.data.nm\n }), e.layer = e, e.pixelAspect = 1, e.height = t.data.h || t.globalData.compSize.h, e.width = t.data.w || t.globalData.compSize.w, e.pixelAspect = 1, e.frameDuration = 1 / t.globalData.frameRate, e.displayStartTime = 0, e.numLayers = t.layers.length, e;\n };\n }();\n function _typeof$2(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? _typeof$2 = function(r) {\n return typeof r;\n } : _typeof$2 = function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n }, _typeof$2(t);\n }\n function seedRandom(t, e) {\n var r = this, i = 256, s = 6, a = 52, n = \"random\", h = e.pow(i, s), o = e.pow(2, a), f = o * 2, v = i - 1, S;\n function p(l, d, E) {\n var _ = [];\n d = d === !0 ? {\n entropy: !0\n } : d || {};\n var T = x(m(d.entropy ? [l, u(t)] : l === null ? c() : l, 3), _), M = new b(_), w = function() {\n for (var L = M.g(s), V = h, D = 0; L < o; )\n L = (L + D) * i, V *= i, D = M.g(1);\n for (; L >= f; )\n L /= 2, V /= 2, D >>>= 1;\n return (L + D) / V;\n };\n return w.int32 = function() {\n return M.g(4) | 0;\n }, w.quick = function() {\n return M.g(4) / 4294967296;\n }, w.double = w, x(u(M.S), t), (d.pass || E || function(G, L, V, D) {\n return D && (D.S && g(D, M), G.state = function() {\n return g(M, {});\n }), V ? (e[n] = G, L) : G;\n })(w, T, \"global\" in d ? d.global : this == e, d.state);\n }\n e[\"seed\" + n] = p;\n function b(l) {\n var d, E = l.length, _ = this, T = 0, M = _.i = _.j = 0, w = _.S = [];\n for (E || (l = [E++]); T < i; )\n w[T] = T++;\n for (T = 0; T < i; T++)\n w[T] = w[M = v & M + l[T % E] + (d = w[T])], w[M] = d;\n _.g = function(G) {\n for (var L, V = 0, D = _.i, B = _.j, I = _.S; G--; )\n L = I[D = v & D + 1], V = V * i + I[v & (I[D] = I[B = v & B + L]) + (I[B] = L)];\n return _.i = D, _.j = B, V;\n };\n }\n function g(l, d) {\n return d.i = l.i, d.j = l.j, d.S = l.S.slice(), d;\n }\n function m(l, d) {\n var E = [], _ = _typeof$2(l), T;\n if (d && _ == \"object\")\n for (T in l)\n try {\n E.push(m(l[T], d - 1));\n } catch {\n }\n return E.length ? E : _ == \"string\" ? l : l + \"\\0\";\n }\n function x(l, d) {\n for (var E = l + \"\", _, T = 0; T < E.length; )\n d[v & T] = v & (_ ^= d[v & T] * 19) + E.charCodeAt(T++);\n return u(d);\n }\n function c() {\n try {\n var l = new Uint8Array(i);\n return (r.crypto || r.msCrypto).getRandomValues(l), u(l);\n } catch {\n var d = r.navigator, E = d && d.plugins;\n return [+/* @__PURE__ */ new Date(), r, E, r.screen, u(t)];\n }\n }\n function u(l) {\n return String.fromCharCode.apply(0, l);\n }\n x(e.random(), t);\n }\n function initialize$2(t) {\n seedRandom([], t);\n }\n var propTypes = {\n SHAPE: \"shape\"\n };\n function _typeof$1(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? _typeof$1 = function(r) {\n return typeof r;\n } : _typeof$1 = function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n }, _typeof$1(t);\n }\n var ExpressionManager = function() {\n var ob = {}, Math = BMMath, window = null, document = null, XMLHttpRequest = null, fetch = null, frames = null, _lottieGlobal = {};\n initialize$2(BMMath);\n function resetFrame() {\n _lottieGlobal = {};\n }\n function $bm_isInstanceOfArray(t) {\n return t.constructor === Array || t.constructor === Float32Array;\n }\n function isNumerable(t, e) {\n return t === \"number\" || e instanceof Number || t === \"boolean\" || t === \"string\";\n }\n function $bm_neg(t) {\n var e = _typeof$1(t);\n if (e === \"number\" || t instanceof Number || e === \"boolean\")\n return -t;\n if ($bm_isInstanceOfArray(t)) {\n var r, i = t.length, s = [];\n for (r = 0; r < i; r += 1)\n s[r] = -t[r];\n return s;\n }\n return t.propType ? t.v : -t;\n }\n var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get, easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get, easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n function sum(t, e) {\n var r = _typeof$1(t), i = _typeof$1(e);\n if (isNumerable(r, t) && isNumerable(i, e) || r === \"string\" || i === \"string\")\n return t + e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e))\n return t = t.slice(0), t[0] += e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e))\n return e = e.slice(0), e[0] = t + e[0], e;\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var s = 0, a = t.length, n = e.length, h = []; s < a || s < n; )\n (typeof t[s] == \"number\" || t[s] instanceof Number) && (typeof e[s] == \"number\" || e[s] instanceof Number) ? h[s] = t[s] + e[s] : h[s] = e[s] === void 0 ? t[s] : t[s] || e[s], s += 1;\n return h;\n }\n return 0;\n }\n var add = sum;\n function sub(t, e) {\n var r = _typeof$1(t), i = _typeof$1(e);\n if (isNumerable(r, t) && isNumerable(i, e))\n return r === \"string\" && (t = parseInt(t, 10)), i === \"string\" && (e = parseInt(e, 10)), t - e;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e))\n return t = t.slice(0), t[0] -= e, t;\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e))\n return e = e.slice(0), e[0] = t - e[0], e;\n if ($bm_isInstanceOfArray(t) && $bm_isInstanceOfArray(e)) {\n for (var s = 0, a = t.length, n = e.length, h = []; s < a || s < n; )\n (typeof t[s] == \"number\" || t[s] instanceof Number) && (typeof e[s] == \"number\" || e[s] instanceof Number) ? h[s] = t[s] - e[s] : h[s] = e[s] === void 0 ? t[s] : t[s] || e[s], s += 1;\n return h;\n }\n return 0;\n }\n function mul(t, e) {\n var r = _typeof$1(t), i = _typeof$1(e), s;\n if (isNumerable(r, t) && isNumerable(i, e))\n return t * e;\n var a, n;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) {\n for (n = t.length, s = createTypedArray(\"float32\", n), a = 0; a < n; a += 1)\n s[a] = t[a] * e;\n return s;\n }\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) {\n for (n = e.length, s = createTypedArray(\"float32\", n), a = 0; a < n; a += 1)\n s[a] = t * e[a];\n return s;\n }\n return 0;\n }\n function div(t, e) {\n var r = _typeof$1(t), i = _typeof$1(e), s;\n if (isNumerable(r, t) && isNumerable(i, e))\n return t / e;\n var a, n;\n if ($bm_isInstanceOfArray(t) && isNumerable(i, e)) {\n for (n = t.length, s = createTypedArray(\"float32\", n), a = 0; a < n; a += 1)\n s[a] = t[a] / e;\n return s;\n }\n if (isNumerable(r, t) && $bm_isInstanceOfArray(e)) {\n for (n = e.length, s = createTypedArray(\"float32\", n), a = 0; a < n; a += 1)\n s[a] = t / e[a];\n return s;\n }\n return 0;\n }\n function mod(t, e) {\n return typeof t == \"string\" && (t = parseInt(t, 10)), typeof e == \"string\" && (e = parseInt(e, 10)), t % e;\n }\n var $bm_sum = sum, $bm_sub = sub, $bm_mul = mul, $bm_div = div, $bm_mod = mod;\n function clamp(t, e, r) {\n if (e > r) {\n var i = r;\n r = e, e = i;\n }\n return Math.min(Math.max(t, e), r);\n }\n function radiansToDegrees(t) {\n return t / degToRads;\n }\n var radians_to_degrees = radiansToDegrees;\n function degreesToRadians(t) {\n return t * degToRads;\n }\n var degrees_to_radians = radiansToDegrees, helperLengthArray = [0, 0, 0, 0, 0, 0];\n function length(t, e) {\n if (typeof t == \"number\" || t instanceof Number)\n return e = e || 0, Math.abs(t - e);\n e || (e = helperLengthArray);\n var r, i = Math.min(t.length, e.length), s = 0;\n for (r = 0; r < i; r += 1)\n s += Math.pow(e[r] - t[r], 2);\n return Math.sqrt(s);\n }\n function normalize(t) {\n return div(t, length(t));\n }\n function rgbToHsl(t) {\n var e = t[0], r = t[1], i = t[2], s = Math.max(e, r, i), a = Math.min(e, r, i), n, h, o = (s + a) / 2;\n if (s === a)\n n = 0, h = 0;\n else {\n var f = s - a;\n switch (h = o > 0.5 ? f / (2 - s - a) : f / (s + a), s) {\n case e:\n n = (r - i) / f + (r < i ? 6 : 0);\n break;\n case r:\n n = (i - e) / f + 2;\n break;\n case i:\n n = (e - r) / f + 4;\n break;\n }\n n /= 6;\n }\n return [n, h, o, t[3]];\n }\n function hue2rgb(t, e, r) {\n return r < 0 && (r += 1), r > 1 && (r -= 1), r < 1 / 6 ? t + (e - t) * 6 * r : r < 1 / 2 ? e : r < 2 / 3 ? t + (e - t) * (2 / 3 - r) * 6 : t;\n }\n function hslToRgb(t) {\n var e = t[0], r = t[1], i = t[2], s, a, n;\n if (r === 0)\n s = i, n = i, a = i;\n else {\n var h = i < 0.5 ? i * (1 + r) : i + r - i * r, o = 2 * i - h;\n s = hue2rgb(o, h, e + 1 / 3), a = hue2rgb(o, h, e), n = hue2rgb(o, h, e - 1 / 3);\n }\n return [s, a, n, t[3]];\n }\n function linear(t, e, r, i, s) {\n if ((i === void 0 || s === void 0) && (i = e, s = r, e = 0, r = 1), r < e) {\n var a = r;\n r = e, e = a;\n }\n if (t <= e)\n return i;\n if (t >= r)\n return s;\n var n = r === e ? 0 : (t - e) / (r - e);\n if (!i.length)\n return i + (s - i) * n;\n var h, o = i.length, f = createTypedArray(\"float32\", o);\n for (h = 0; h < o; h += 1)\n f[h] = i[h] + (s[h] - i[h]) * n;\n return f;\n }\n function random(t, e) {\n if (e === void 0 && (t === void 0 ? (t = 0, e = 1) : (e = t, t = void 0)), e.length) {\n var r, i = e.length;\n t || (t = createTypedArray(\"float32\", i));\n var s = createTypedArray(\"float32\", i), a = BMMath.random();\n for (r = 0; r < i; r += 1)\n s[r] = t[r] + a * (e[r] - t[r]);\n return s;\n }\n t === void 0 && (t = 0);\n var n = BMMath.random();\n return t + n * (e - t);\n }\n function createPath(t, e, r, i) {\n var s, a = t.length, n = shapePool.newElement();\n n.setPathData(!!i, a);\n var h = [0, 0], o, f;\n for (s = 0; s < a; s += 1)\n o = e && e[s] ? e[s] : h, f = r && r[s] ? r[s] : h, n.setTripleAt(t[s][0], t[s][1], f[0] + t[s][0], f[1] + t[s][1], o[0] + t[s][0], o[1] + t[s][1], s, !0);\n return n;\n }\n function initiateExpression(elem, data, property) {\n function noOp(t) {\n return t;\n }\n if (!elem.globalData.renderConfig.runExpressions)\n return noOp;\n var val = data.x, needsVelocity = /velocity(?![\\w\\d])/.test(val), _needsRandom = val.indexOf(\"random\") !== -1, elemType = elem.data.ty, transform, $bm_transform, content, effect, thisProperty = property;\n thisProperty.valueAtTime = thisProperty.getValueAtTime, Object.defineProperty(thisProperty, \"value\", {\n get: function() {\n return thisProperty.v;\n }\n }), elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate, elem.comp.displayStartTime = 0;\n var inPoint = elem.data.ip / elem.comp.globalData.frameRate, outPoint = elem.data.op / elem.comp.globalData.frameRate, width = elem.data.sw ? elem.data.sw : 0, height = elem.data.sh ? elem.data.sh : 0, name = elem.data.nm, loopIn, loop_in, loopOut, loop_out, smooth, toWorld, fromWorld, fromComp, toComp, fromCompToSurface, position, rotation, anchorPoint, scale, thisLayer, thisComp, mask, valueAtTime, velocityAtTime, scoped_bm_rt, expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0], numKeys = property.kf ? data.k.length : 0, active = !this.data || this.data.hd !== !0, wiggle = function t(e, r) {\n var i, s, a = this.pv.length ? this.pv.length : 1, n = createTypedArray(\"float32\", a);\n e = 5;\n var h = Math.floor(time * e);\n for (i = 0, s = 0; i < h; ) {\n for (s = 0; s < a; s += 1)\n n[s] += -r + r * 2 * BMMath.random();\n i += 1;\n }\n var o = time * e, f = o - Math.floor(o), v = createTypedArray(\"float32\", a);\n if (a > 1) {\n for (s = 0; s < a; s += 1)\n v[s] = this.pv[s] + n[s] + (-r + r * 2 * BMMath.random()) * f;\n return v;\n }\n return this.pv + n[0] + (-r + r * 2 * BMMath.random()) * f;\n }.bind(this);\n thisProperty.loopIn && (loopIn = thisProperty.loopIn.bind(thisProperty), loop_in = loopIn), thisProperty.loopOut && (loopOut = thisProperty.loopOut.bind(thisProperty), loop_out = loopOut), thisProperty.smooth && (smooth = thisProperty.smooth.bind(thisProperty));\n function loopInDuration(t, e) {\n return loopIn(t, e, !0);\n }\n function loopOutDuration(t, e) {\n return loopOut(t, e, !0);\n }\n this.getValueAtTime && (valueAtTime = this.getValueAtTime.bind(this)), this.getVelocityAtTime && (velocityAtTime = this.getVelocityAtTime.bind(this));\n var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n function lookAt(t, e) {\n var r = [e[0] - t[0], e[1] - t[1], e[2] - t[2]], i = Math.atan2(r[0], Math.sqrt(r[1] * r[1] + r[2] * r[2])) / degToRads, s = -Math.atan2(r[1], r[2]) / degToRads;\n return [s, i, 0];\n }\n function easeOut(t, e, r, i, s) {\n return applyEase(easeOutBez, t, e, r, i, s);\n }\n function easeIn(t, e, r, i, s) {\n return applyEase(easeInBez, t, e, r, i, s);\n }\n function ease(t, e, r, i, s) {\n return applyEase(easeInOutBez, t, e, r, i, s);\n }\n function applyEase(t, e, r, i, s, a) {\n s === void 0 ? (s = r, a = i) : e = (e - r) / (i - r), e > 1 ? e = 1 : e < 0 && (e = 0);\n var n = t(e);\n if ($bm_isInstanceOfArray(s)) {\n var h, o = s.length, f = createTypedArray(\"float32\", o);\n for (h = 0; h < o; h += 1)\n f[h] = (a[h] - s[h]) * n + s[h];\n return f;\n }\n return (a - s) * n + s;\n }\n function nearestKey(t) {\n var e, r = data.k.length, i, s;\n if (!data.k.length || typeof data.k[0] == \"number\")\n i = 0, s = 0;\n else if (i = -1, t *= elem.comp.globalData.frameRate, t < data.k[0].t)\n i = 1, s = data.k[0].t;\n else {\n for (e = 0; e < r - 1; e += 1)\n if (t === data.k[e].t) {\n i = e + 1, s = data.k[e].t;\n break;\n } else if (t > data.k[e].t && t < data.k[e + 1].t) {\n t - data.k[e].t > data.k[e + 1].t - t ? (i = e + 2, s = data.k[e + 1].t) : (i = e + 1, s = data.k[e].t);\n break;\n }\n i === -1 && (i = e + 1, s = data.k[e].t);\n }\n var a = {};\n return a.index = i, a.time = s / elem.comp.globalData.frameRate, a;\n }\n function key(t) {\n var e, r, i;\n if (!data.k.length || typeof data.k[0] == \"number\")\n throw new Error(\"The property has no keyframe at index \" + t);\n t -= 1, e = {\n time: data.k[t].t / elem.comp.globalData.frameRate,\n value: []\n };\n var s = Object.prototype.hasOwnProperty.call(data.k[t], \"s\") ? data.k[t].s : data.k[t - 1].e;\n for (i = s.length, r = 0; r < i; r += 1)\n e[r] = s[r], e.value[r] = s[r];\n return e;\n }\n function framesToTime(t, e) {\n return e || (e = elem.comp.globalData.frameRate), t / e;\n }\n function timeToFrames(t, e) {\n return !t && t !== 0 && (t = time), e || (e = elem.comp.globalData.frameRate), t * e;\n }\n function seedRandom(t) {\n BMMath.seedrandom(randSeed + t);\n }\n function sourceRectAtTime() {\n return elem.sourceRectAtTime();\n }\n function substring(t, e) {\n return typeof value == \"string\" ? e === void 0 ? value.substring(t) : value.substring(t, e) : \"\";\n }\n function substr(t, e) {\n return typeof value == \"string\" ? e === void 0 ? value.substr(t) : value.substr(t, e) : \"\";\n }\n function posterizeTime(t) {\n time = t === 0 ? 0 : Math.floor(time * t) / t, value = valueAtTime(time);\n }\n var time, velocity, value, text, textIndex, textTotal, selectorValue, index = elem.data.ind, hasParent = !!(elem.hierarchy && elem.hierarchy.length), parent, randSeed = Math.floor(Math.random() * 1e6), globalData = elem.globalData;\n function executeExpression(t) {\n return value = t, this.frameExpressionId === elem.globalData.frameId && this.propType !== \"textSelector\" ? value : (this.propType === \"textSelector\" && (textIndex = this.textIndex, textTotal = this.textTotal, selectorValue = this.selectorValue), thisLayer || (text = elem.layerInterface.text, thisLayer = elem.layerInterface, thisComp = elem.comp.compInterface, toWorld = thisLayer.toWorld.bind(thisLayer), fromWorld = thisLayer.fromWorld.bind(thisLayer), fromComp = thisLayer.fromComp.bind(thisLayer), toComp = thisLayer.toComp.bind(thisLayer), mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null, fromCompToSurface = fromComp), transform || (transform = elem.layerInterface(\"ADBE Transform Group\"), $bm_transform = transform, transform && (anchorPoint = transform.anchorPoint)), elemType === 4 && !content && (content = thisLayer(\"ADBE Root Vectors Group\")), effect || (effect = thisLayer(4)), hasParent = !!(elem.hierarchy && elem.hierarchy.length), hasParent && !parent && (parent = elem.hierarchy[0].layerInterface), time = this.comp.renderedFrame / this.comp.globalData.frameRate, _needsRandom && seedRandom(randSeed + time), needsVelocity && (velocity = velocityAtTime(time)), expression_function(), this.frameExpressionId = elem.globalData.frameId, scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt, scoped_bm_rt);\n }\n return executeExpression.__preventDeadCodeRemoval = [$bm_transform, anchorPoint, time, velocity, inPoint, outPoint, width, height, name, loop_in, loop_out, smooth, toComp, fromCompToSurface, toWorld, fromWorld, mask, position, rotation, scale, thisComp, numKeys, active, wiggle, loopInDuration, loopOutDuration, comp, lookAt, easeOut, easeIn, ease, nearestKey, key, text, textIndex, textTotal, selectorValue, framesToTime, timeToFrames, sourceRectAtTime, substring, substr, posterizeTime, index, globalData], executeExpression;\n }\n return ob.initiateExpression = initiateExpression, ob.__preventDeadCodeRemoval = [window, document, XMLHttpRequest, fetch, frames, $bm_neg, add, $bm_sum, $bm_sub, $bm_mul, $bm_div, $bm_mod, clamp, radians_to_degrees, degreesToRadians, degrees_to_radians, normalize, rgbToHsl, hslToRgb, linear, random, createPath, _lottieGlobal], ob.resetFrame = resetFrame, ob;\n }(), Expressions = function() {\n var t = {};\n t.initExpressions = e, t.resetFrame = ExpressionManager.resetFrame;\n function e(r) {\n var i = 0, s = [];\n function a() {\n i += 1;\n }\n function n() {\n i -= 1, i === 0 && o();\n }\n function h(f) {\n s.indexOf(f) === -1 && s.push(f);\n }\n function o() {\n var f, v = s.length;\n for (f = 0; f < v; f += 1)\n s[f].release();\n s.length = 0;\n }\n r.renderer.compInterface = CompExpressionInterface(r.renderer), r.renderer.globalData.projectInterface.registerComposition(r.renderer), r.renderer.globalData.pushExpression = a, r.renderer.globalData.popExpression = n, r.renderer.globalData.registerExpressionProperty = h;\n }\n return t;\n }(), MaskManagerInterface = function() {\n function t(r, i) {\n this._mask = r, this._data = i;\n }\n Object.defineProperty(t.prototype, \"maskPath\", {\n get: function() {\n return this._mask.prop.k && this._mask.prop.getValue(), this._mask.prop;\n }\n }), Object.defineProperty(t.prototype, \"maskOpacity\", {\n get: function() {\n return this._mask.op.k && this._mask.op.getValue(), this._mask.op.v * 100;\n }\n });\n var e = function(i) {\n var s = createSizedArray(i.viewData.length), a, n = i.viewData.length;\n for (a = 0; a < n; a += 1)\n s[a] = new t(i.viewData[a], i.masksProperties[a]);\n var h = function(f) {\n for (a = 0; a < n; ) {\n if (i.masksProperties[a].nm === f)\n return s[a];\n a += 1;\n }\n return null;\n };\n return h;\n };\n return e;\n }(), ExpressionPropertyInterface = function() {\n var t = {\n pv: 0,\n v: 0,\n mult: 1\n }, e = {\n pv: [0, 0, 0],\n v: [0, 0, 0],\n mult: 1\n };\n function r(n, h, o) {\n Object.defineProperty(n, \"velocity\", {\n get: function() {\n return h.getVelocityAtTime(h.comp.currentFrame);\n }\n }), n.numKeys = h.keyframes ? h.keyframes.length : 0, n.key = function(f) {\n if (!n.numKeys)\n return 0;\n var v = \"\";\n \"s\" in h.keyframes[f - 1] ? v = h.keyframes[f - 1].s : \"e\" in h.keyframes[f - 2] ? v = h.keyframes[f - 2].e : v = h.keyframes[f - 2].s;\n var S = o === \"unidimensional\" ? new Number(v) : Object.assign({}, v);\n return S.time = h.keyframes[f - 1].t / h.elem.comp.globalData.frameRate, S.value = o === \"unidimensional\" ? v[0] : v, S;\n }, n.valueAtTime = h.getValueAtTime, n.speedAtTime = h.getSpeedAtTime, n.velocityAtTime = h.getVelocityAtTime, n.propertyGroup = h.propertyGroup;\n }\n function i(n) {\n (!n || !(\"pv\" in n)) && (n = t);\n var h = 1 / n.mult, o = n.pv * h, f = new Number(o);\n return f.value = o, r(f, n, \"unidimensional\"), function() {\n return n.k && n.getValue(), o = n.v * h, f.value !== o && (f = new Number(o), f.value = o, r(f, n, \"unidimensional\")), f;\n };\n }\n function s(n) {\n (!n || !(\"pv\" in n)) && (n = e);\n var h = 1 / n.mult, o = n.data && n.data.l || n.pv.length, f = createTypedArray(\"float32\", o), v = createTypedArray(\"float32\", o);\n return f.value = v, r(f, n, \"multidimensional\"), function() {\n n.k && n.getValue();\n for (var S = 0; S < o; S += 1)\n v[S] = n.v[S] * h, f[S] = v[S];\n return f;\n };\n }\n function a() {\n return t;\n }\n return function(n) {\n return n ? n.propType === \"unidimensional\" ? i(n) : s(n) : a;\n };\n }(), TransformExpressionInterface = function() {\n return function(t) {\n function e(n) {\n switch (n) {\n case \"scale\":\n case \"Scale\":\n case \"ADBE Scale\":\n case 6:\n return e.scale;\n case \"rotation\":\n case \"Rotation\":\n case \"ADBE Rotation\":\n case \"ADBE Rotate Z\":\n case 10:\n return e.rotation;\n case \"ADBE Rotate X\":\n return e.xRotation;\n case \"ADBE Rotate Y\":\n return e.yRotation;\n case \"position\":\n case \"Position\":\n case \"ADBE Position\":\n case 2:\n return e.position;\n case \"ADBE Position_0\":\n return e.xPosition;\n case \"ADBE Position_1\":\n return e.yPosition;\n case \"ADBE Position_2\":\n return e.zPosition;\n case \"anchorPoint\":\n case \"AnchorPoint\":\n case \"Anchor Point\":\n case \"ADBE AnchorPoint\":\n case 1:\n return e.anchorPoint;\n case \"opacity\":\n case \"Opacity\":\n case 11:\n return e.opacity;\n default:\n return null;\n }\n }\n Object.defineProperty(e, \"rotation\", {\n get: ExpressionPropertyInterface(t.r || t.rz)\n }), Object.defineProperty(e, \"zRotation\", {\n get: ExpressionPropertyInterface(t.rz || t.r)\n }), Object.defineProperty(e, \"xRotation\", {\n get: ExpressionPropertyInterface(t.rx)\n }), Object.defineProperty(e, \"yRotation\", {\n get: ExpressionPropertyInterface(t.ry)\n }), Object.defineProperty(e, \"scale\", {\n get: ExpressionPropertyInterface(t.s)\n });\n var r, i, s, a;\n return t.p ? a = ExpressionPropertyInterface(t.p) : (r = ExpressionPropertyInterface(t.px), i = ExpressionPropertyInterface(t.py), t.pz && (s = ExpressionPropertyInterface(t.pz))), Object.defineProperty(e, \"position\", {\n get: function() {\n return t.p ? a() : [r(), i(), s ? s() : 0];\n }\n }), Object.defineProperty(e, \"xPosition\", {\n get: ExpressionPropertyInterface(t.px)\n }), Object.defineProperty(e, \"yPosition\", {\n get: ExpressionPropertyInterface(t.py)\n }), Object.defineProperty(e, \"zPosition\", {\n get: ExpressionPropertyInterface(t.pz)\n }), Object.defineProperty(e, \"anchorPoint\", {\n get: ExpressionPropertyInterface(t.a)\n }), Object.defineProperty(e, \"opacity\", {\n get: ExpressionPropertyInterface(t.o)\n }), Object.defineProperty(e, \"skew\", {\n get: ExpressionPropertyInterface(t.sk)\n }), Object.defineProperty(e, \"skewAxis\", {\n get: ExpressionPropertyInterface(t.sa)\n }), Object.defineProperty(e, \"orientation\", {\n get: ExpressionPropertyInterface(t.or)\n }), e;\n };\n }(), LayerExpressionInterface = function() {\n function t(f) {\n var v = new Matrix();\n if (f !== void 0) {\n var S = this._elem.finalTransform.mProp.getValueAtTime(f);\n S.clone(v);\n } else {\n var p = this._elem.finalTransform.mProp;\n p.applyToMatrix(v);\n }\n return v;\n }\n function e(f, v) {\n var S = this.getMatrix(v);\n return S.props[12] = 0, S.props[13] = 0, S.props[14] = 0, this.applyPoint(S, f);\n }\n function r(f, v) {\n var S = this.getMatrix(v);\n return this.applyPoint(S, f);\n }\n function i(f, v) {\n var S = this.getMatrix(v);\n return S.props[12] = 0, S.props[13] = 0, S.props[14] = 0, this.invertPoint(S, f);\n }\n function s(f, v) {\n var S = this.getMatrix(v);\n return this.invertPoint(S, f);\n }\n function a(f, v) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var S, p = this._elem.hierarchy.length;\n for (S = 0; S < p; S += 1)\n this._elem.hierarchy[S].finalTransform.mProp.applyToMatrix(f);\n }\n return f.applyToPointArray(v[0], v[1], v[2] || 0);\n }\n function n(f, v) {\n if (this._elem.hierarchy && this._elem.hierarchy.length) {\n var S, p = this._elem.hierarchy.length;\n for (S = 0; S < p; S += 1)\n this._elem.hierarchy[S].finalTransform.mProp.applyToMatrix(f);\n }\n return f.inversePoint(v);\n }\n function h(f) {\n var v = new Matrix();\n if (v.reset(), this._elem.finalTransform.mProp.applyToMatrix(v), this._elem.hierarchy && this._elem.hierarchy.length) {\n var S, p = this._elem.hierarchy.length;\n for (S = 0; S < p; S += 1)\n this._elem.hierarchy[S].finalTransform.mProp.applyToMatrix(v);\n return v.inversePoint(f);\n }\n return v.inversePoint(f);\n }\n function o() {\n return [1, 1, 1, 1];\n }\n return function(f) {\n var v;\n function S(m) {\n b.mask = new MaskManagerInterface(m, f);\n }\n function p(m) {\n b.effect = m;\n }\n function b(m) {\n switch (m) {\n case \"ADBE Root Vectors Group\":\n case \"Contents\":\n case 2:\n return b.shapeInterface;\n case 1:\n case 6:\n case \"Transform\":\n case \"transform\":\n case \"ADBE Transform Group\":\n return v;\n case 4:\n case \"ADBE Effect Parade\":\n case \"effects\":\n case \"Effects\":\n return b.effect;\n case \"ADBE Text Properties\":\n return b.textInterface;\n default:\n return null;\n }\n }\n b.getMatrix = t, b.invertPoint = n, b.applyPoint = a, b.toWorld = r, b.toWorldVec = e, b.fromWorld = s, b.fromWorldVec = i, b.toComp = r, b.fromComp = h, b.sampleImage = o, b.sourceRectAtTime = f.sourceRectAtTime.bind(f), b._elem = f, v = TransformExpressionInterface(f.finalTransform.mProp);\n var g = getDescriptor(v, \"anchorPoint\");\n return Object.defineProperties(b, {\n hasParent: {\n get: function() {\n return f.hierarchy.length;\n }\n },\n parent: {\n get: function() {\n return f.hierarchy[0].layerInterface;\n }\n },\n rotation: getDescriptor(v, \"rotation\"),\n scale: getDescriptor(v, \"scale\"),\n position: getDescriptor(v, \"position\"),\n opacity: getDescriptor(v, \"opacity\"),\n anchorPoint: g,\n anchor_point: g,\n transform: {\n get: function() {\n return v;\n }\n },\n active: {\n get: function() {\n return f.isInRange;\n }\n }\n }), b.startTime = f.data.st, b.index = f.data.ind, b.source = f.data.refId, b.height = f.data.ty === 0 ? f.data.h : 100, b.width = f.data.ty === 0 ? f.data.w : 100, b.inPoint = f.data.ip / f.comp.globalData.frameRate, b.outPoint = f.data.op / f.comp.globalData.frameRate, b._name = f.data.nm, b.registerMaskInterface = S, b.registerEffectsInterface = p, b;\n };\n }(), propertyGroupFactory = function() {\n return function(t, e) {\n return function(r) {\n return r = r === void 0 ? 1 : r, r <= 0 ? t : e(r - 1);\n };\n };\n }(), PropertyInterface = function() {\n return function(t, e) {\n var r = {\n _name: t\n };\n function i(s) {\n return s = s === void 0 ? 1 : s, s <= 0 ? r : e(s - 1);\n }\n return i;\n };\n }(), EffectsExpressionInterface = function() {\n var t = {\n createEffectsInterface: e\n };\n function e(s, a) {\n if (s.effectsManager) {\n var n = [], h = s.data.ef, o, f = s.effectsManager.effectElements.length;\n for (o = 0; o < f; o += 1)\n n.push(r(h[o], s.effectsManager.effectElements[o], a, s));\n var v = s.data.ef || [], S = function(b) {\n for (o = 0, f = v.length; o < f; ) {\n if (b === v[o].nm || b === v[o].mn || b === v[o].ix)\n return n[o];\n o += 1;\n }\n return null;\n };\n return Object.defineProperty(S, \"numProperties\", {\n get: function() {\n return v.length;\n }\n }), S;\n }\n return null;\n }\n function r(s, a, n, h) {\n function o(b) {\n for (var g = s.ef, m = 0, x = g.length; m < x; ) {\n if (b === g[m].nm || b === g[m].mn || b === g[m].ix)\n return g[m].ty === 5 ? v[m] : v[m]();\n m += 1;\n }\n throw new Error();\n }\n var f = propertyGroupFactory(o, n), v = [], S, p = s.ef.length;\n for (S = 0; S < p; S += 1)\n s.ef[S].ty === 5 ? v.push(r(s.ef[S], a.effectElements[S], a.effectElements[S].propertyGroup, h)) : v.push(i(a.effectElements[S], s.ef[S].ty, h, f));\n return s.mn === \"ADBE Color Control\" && Object.defineProperty(o, \"color\", {\n get: function() {\n return v[0]();\n }\n }), Object.defineProperties(o, {\n numProperties: {\n get: function() {\n return s.np;\n }\n },\n _name: {\n value: s.nm\n },\n propertyGroup: {\n value: f\n }\n }), o.enabled = s.en !== 0, o.active = o.enabled, o;\n }\n function i(s, a, n, h) {\n var o = ExpressionPropertyInterface(s.p);\n function f() {\n return a === 10 ? n.comp.compInterface(s.p.v) : o();\n }\n return s.p.setGroupProperty && s.p.setGroupProperty(PropertyInterface(\"\", h)), f;\n }\n return t;\n }(), ShapePathInterface = function() {\n return function(e, r, i) {\n var s = r.sh;\n function a(h) {\n return h === \"Shape\" || h === \"shape\" || h === \"Path\" || h === \"path\" || h === \"ADBE Vector Shape\" || h === 2 ? a.path : null;\n }\n var n = propertyGroupFactory(a, i);\n return s.setGroupProperty(PropertyInterface(\"Path\", n)), Object.defineProperties(a, {\n path: {\n get: function() {\n return s.k && s.getValue(), s;\n }\n },\n shape: {\n get: function() {\n return s.k && s.getValue(), s;\n }\n },\n _name: {\n value: e.nm\n },\n ix: {\n value: e.ix\n },\n propertyIndex: {\n value: e.ix\n },\n mn: {\n value: e.mn\n },\n propertyGroup: {\n value: i\n }\n }), a;\n };\n }(), ShapeExpressionInterface = function() {\n function t(g, m, x) {\n var c = [], u, l = g ? g.length : 0;\n for (u = 0; u < l; u += 1)\n g[u].ty === \"gr\" ? c.push(r(g[u], m[u], x)) : g[u].ty === \"fl\" ? c.push(i(g[u], m[u], x)) : g[u].ty === \"st\" ? c.push(n(g[u], m[u], x)) : g[u].ty === \"tm\" ? c.push(h(g[u], m[u], x)) : g[u].ty === \"tr\" || (g[u].ty === \"el\" ? c.push(f(g[u], m[u], x)) : g[u].ty === \"sr\" ? c.push(v(g[u], m[u], x)) : g[u].ty === \"sh\" ? c.push(ShapePathInterface(g[u], m[u], x)) : g[u].ty === \"rc\" ? c.push(S(g[u], m[u], x)) : g[u].ty === \"rd\" ? c.push(p(g[u], m[u], x)) : g[u].ty === \"rp\" ? c.push(b(g[u], m[u], x)) : g[u].ty === \"gf\" ? c.push(s(g[u], m[u], x)) : c.push(a(g[u], m[u])));\n return c;\n }\n function e(g, m, x) {\n var c, u = function(E) {\n for (var _ = 0, T = c.length; _ < T; ) {\n if (c[_]._name === E || c[_].mn === E || c[_].propertyIndex === E || c[_].ix === E || c[_].ind === E)\n return c[_];\n _ += 1;\n }\n return typeof E == \"number\" ? c[E - 1] : null;\n };\n u.propertyGroup = propertyGroupFactory(u, x), c = t(g.it, m.it, u.propertyGroup), u.numProperties = c.length;\n var l = o(g.it[g.it.length - 1], m.it[m.it.length - 1], u.propertyGroup);\n return u.transform = l, u.propertyIndex = g.cix, u._name = g.nm, u;\n }\n function r(g, m, x) {\n var c = function(E) {\n switch (E) {\n case \"ADBE Vectors Group\":\n case \"Contents\":\n case 2:\n return c.content;\n default:\n return c.transform;\n }\n };\n c.propertyGroup = propertyGroupFactory(c, x);\n var u = e(g, m, c.propertyGroup), l = o(g.it[g.it.length - 1], m.it[m.it.length - 1], c.propertyGroup);\n return c.content = u, c.transform = l, Object.defineProperty(c, \"_name\", {\n get: function() {\n return g.nm;\n }\n }), c.numProperties = g.np, c.propertyIndex = g.ix, c.nm = g.nm, c.mn = g.mn, c;\n }\n function i(g, m, x) {\n function c(u) {\n return u === \"Color\" || u === \"color\" ? c.color : u === \"Opacity\" || u === \"opacity\" ? c.opacity : null;\n }\n return Object.defineProperties(c, {\n color: {\n get: ExpressionPropertyInterface(m.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(m.o)\n },\n _name: {\n value: g.nm\n },\n mn: {\n value: g.mn\n }\n }), m.c.setGroupProperty(PropertyInterface(\"Color\", x)), m.o.setGroupProperty(PropertyInterface(\"Opacity\", x)), c;\n }\n function s(g, m, x) {\n function c(u) {\n return u === \"Start Point\" || u === \"start point\" ? c.startPoint : u === \"End Point\" || u === \"end point\" ? c.endPoint : u === \"Opacity\" || u === \"opacity\" ? c.opacity : null;\n }\n return Object.defineProperties(c, {\n startPoint: {\n get: ExpressionPropertyInterface(m.s)\n },\n endPoint: {\n get: ExpressionPropertyInterface(m.e)\n },\n opacity: {\n get: ExpressionPropertyInterface(m.o)\n },\n type: {\n get: function() {\n return \"a\";\n }\n },\n _name: {\n value: g.nm\n },\n mn: {\n value: g.mn\n }\n }), m.s.setGroupProperty(PropertyInterface(\"Start Point\", x)), m.e.setGroupProperty(PropertyInterface(\"End Point\", x)), m.o.setGroupProperty(PropertyInterface(\"Opacity\", x)), c;\n }\n function a() {\n function g() {\n return null;\n }\n return g;\n }\n function n(g, m, x) {\n var c = propertyGroupFactory(T, x), u = propertyGroupFactory(_, c);\n function l(M) {\n Object.defineProperty(_, g.d[M].nm, {\n get: ExpressionPropertyInterface(m.d.dataProps[M].p)\n });\n }\n var d, E = g.d ? g.d.length : 0, _ = {};\n for (d = 0; d < E; d += 1)\n l(d), m.d.dataProps[d].p.setGroupProperty(u);\n function T(M) {\n return M === \"Color\" || M === \"color\" ? T.color : M === \"Opacity\" || M === \"opacity\" ? T.opacity : M === \"Stroke Width\" || M === \"stroke width\" ? T.strokeWidth : null;\n }\n return Object.defineProperties(T, {\n color: {\n get: ExpressionPropertyInterface(m.c)\n },\n opacity: {\n get: ExpressionPropertyInterface(m.o)\n },\n strokeWidth: {\n get: ExpressionPropertyInterface(m.w)\n },\n dash: {\n get: function() {\n return _;\n }\n },\n _name: {\n value: g.nm\n },\n mn: {\n value: g.mn\n }\n }), m.c.setGroupProperty(PropertyInterface(\"Color\", c)), m.o.setGroupProperty(PropertyInterface(\"Opacity\", c)), m.w.setGroupProperty(PropertyInterface(\"Stroke Width\", c)), T;\n }\n function h(g, m, x) {\n function c(l) {\n return l === g.e.ix || l === \"End\" || l === \"end\" ? c.end : l === g.s.ix ? c.start : l === g.o.ix ? c.offset : null;\n }\n var u = propertyGroupFactory(c, x);\n return c.propertyIndex = g.ix, m.s.setGroupProperty(PropertyInterface(\"Start\", u)), m.e.setGroupProperty(PropertyInterface(\"End\", u)), m.o.setGroupProperty(PropertyInterface(\"Offset\", u)), c.propertyIndex = g.ix, c.propertyGroup = x, Object.defineProperties(c, {\n start: {\n get: ExpressionPropertyInterface(m.s)\n },\n end: {\n get: ExpressionPropertyInterface(m.e)\n },\n offset: {\n get: ExpressionPropertyInterface(m.o)\n },\n _name: {\n value: g.nm\n }\n }), c.mn = g.mn, c;\n }\n function o(g, m, x) {\n function c(l) {\n return g.a.ix === l || l === \"Anchor Point\" ? c.anchorPoint : g.o.ix === l || l === \"Opacity\" ? c.opacity : g.p.ix === l || l === \"Position\" ? c.position : g.r.ix === l || l === \"Rotation\" || l === \"ADBE Vector Rotation\" ? c.rotation : g.s.ix === l || l === \"Scale\" ? c.scale : g.sk && g.sk.ix === l || l === \"Skew\" ? c.skew : g.sa && g.sa.ix === l || l === \"Skew Axis\" ? c.skewAxis : null;\n }\n var u = propertyGroupFactory(c, x);\n return m.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", u)), m.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", u)), m.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", u)), m.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", u)), m.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", u)), m.transform.mProps.sk && (m.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", u)), m.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", u))), m.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", u)), Object.defineProperties(c, {\n opacity: {\n get: ExpressionPropertyInterface(m.transform.mProps.o)\n },\n position: {\n get: ExpressionPropertyInterface(m.transform.mProps.p)\n },\n anchorPoint: {\n get: ExpressionPropertyInterface(m.transform.mProps.a)\n },\n scale: {\n get: ExpressionPropertyInterface(m.transform.mProps.s)\n },\n rotation: {\n get: ExpressionPropertyInterface(m.transform.mProps.r)\n },\n skew: {\n get: ExpressionPropertyInterface(m.transform.mProps.sk)\n },\n skewAxis: {\n get: ExpressionPropertyInterface(m.transform.mProps.sa)\n },\n _name: {\n value: g.nm\n }\n }), c.ty = \"tr\", c.mn = g.mn, c.propertyGroup = x, c;\n }\n function f(g, m, x) {\n function c(d) {\n return g.p.ix === d ? c.position : g.s.ix === d ? c.size : null;\n }\n var u = propertyGroupFactory(c, x);\n c.propertyIndex = g.ix;\n var l = m.sh.ty === \"tm\" ? m.sh.prop : m.sh;\n return l.s.setGroupProperty(PropertyInterface(\"Size\", u)), l.p.setGroupProperty(PropertyInterface(\"Position\", u)), Object.defineProperties(c, {\n size: {\n get: ExpressionPropertyInterface(l.s)\n },\n position: {\n get: ExpressionPropertyInterface(l.p)\n },\n _name: {\n value: g.nm\n }\n }), c.mn = g.mn, c;\n }\n function v(g, m, x) {\n function c(d) {\n return g.p.ix === d ? c.position : g.r.ix === d ? c.rotation : g.pt.ix === d ? c.points : g.or.ix === d || d === \"ADBE Vector Star Outer Radius\" ? c.outerRadius : g.os.ix === d ? c.outerRoundness : g.ir && (g.ir.ix === d || d === \"ADBE Vector Star Inner Radius\") ? c.innerRadius : g.is && g.is.ix === d ? c.innerRoundness : null;\n }\n var u = propertyGroupFactory(c, x), l = m.sh.ty === \"tm\" ? m.sh.prop : m.sh;\n return c.propertyIndex = g.ix, l.or.setGroupProperty(PropertyInterface(\"Outer Radius\", u)), l.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", u)), l.pt.setGroupProperty(PropertyInterface(\"Points\", u)), l.p.setGroupProperty(PropertyInterface(\"Position\", u)), l.r.setGroupProperty(PropertyInterface(\"Rotation\", u)), g.ir && (l.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", u)), l.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", u))), Object.defineProperties(c, {\n position: {\n get: ExpressionPropertyInterface(l.p)\n },\n rotation: {\n get: ExpressionPropertyInterface(l.r)\n },\n points: {\n get: ExpressionPropertyInterface(l.pt)\n },\n outerRadius: {\n get: ExpressionPropertyInterface(l.or)\n },\n outerRoundness: {\n get: ExpressionPropertyInterface(l.os)\n },\n innerRadius: {\n get: ExpressionPropertyInterface(l.ir)\n },\n innerRoundness: {\n get: ExpressionPropertyInterface(l.is)\n },\n _name: {\n value: g.nm\n }\n }), c.mn = g.mn, c;\n }\n function S(g, m, x) {\n function c(d) {\n return g.p.ix === d ? c.position : g.r.ix === d ? c.roundness : g.s.ix === d || d === \"Size\" || d === \"ADBE Vector Rect Size\" ? c.size : null;\n }\n var u = propertyGroupFactory(c, x), l = m.sh.ty === \"tm\" ? m.sh.prop : m.sh;\n return c.propertyIndex = g.ix, l.p.setGroupProperty(PropertyInterface(\"Position\", u)), l.s.setGroupProperty(PropertyInterface(\"Size\", u)), l.r.setGroupProperty(PropertyInterface(\"Rotation\", u)), Object.defineProperties(c, {\n position: {\n get: ExpressionPropertyInterface(l.p)\n },\n roundness: {\n get: ExpressionPropertyInterface(l.r)\n },\n size: {\n get: ExpressionPropertyInterface(l.s)\n },\n _name: {\n value: g.nm\n }\n }), c.mn = g.mn, c;\n }\n function p(g, m, x) {\n function c(d) {\n return g.r.ix === d || d === \"Round Corners 1\" ? c.radius : null;\n }\n var u = propertyGroupFactory(c, x), l = m;\n return c.propertyIndex = g.ix, l.rd.setGroupProperty(PropertyInterface(\"Radius\", u)), Object.defineProperties(c, {\n radius: {\n get: ExpressionPropertyInterface(l.rd)\n },\n _name: {\n value: g.nm\n }\n }), c.mn = g.mn, c;\n }\n function b(g, m, x) {\n function c(d) {\n return g.c.ix === d || d === \"Copies\" ? c.copies : g.o.ix === d || d === \"Offset\" ? c.offset : null;\n }\n var u = propertyGroupFactory(c, x), l = m;\n return c.propertyIndex = g.ix, l.c.setGroupProperty(PropertyInterface(\"Copies\", u)), l.o.setGroupProperty(PropertyInterface(\"Offset\", u)), Object.defineProperties(c, {\n copies: {\n get: ExpressionPropertyInterface(l.c)\n },\n offset: {\n get: ExpressionPropertyInterface(l.o)\n },\n _name: {\n value: g.nm\n }\n }), c.mn = g.mn, c;\n }\n return function(g, m, x) {\n var c;\n function u(d) {\n if (typeof d == \"number\")\n return d = d === void 0 ? 1 : d, d === 0 ? x : c[d - 1];\n for (var E = 0, _ = c.length; E < _; ) {\n if (c[E]._name === d)\n return c[E];\n E += 1;\n }\n return null;\n }\n function l() {\n return x;\n }\n return u.propertyGroup = propertyGroupFactory(u, l), c = t(g, m, u.propertyGroup), u.numProperties = c.length, u._name = \"Contents\", u;\n };\n }(), TextExpressionInterface = function() {\n return function(t) {\n var e;\n function r(i) {\n switch (i) {\n case \"ADBE Text Document\":\n return r.sourceText;\n default:\n return null;\n }\n }\n return Object.defineProperty(r, \"sourceText\", {\n get: function() {\n t.textProperty.getValue();\n var s = t.textProperty.currentData.t;\n return (!e || s !== e.value) && (e = new String(s), e.value = s || new String(s), Object.defineProperty(e, \"style\", {\n get: function() {\n return {\n fillColor: t.textProperty.currentData.fc\n };\n }\n })), e;\n }\n }), r;\n };\n }();\n function _typeof(t) {\n \"@babel/helpers - typeof\";\n return typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? _typeof = function(r) {\n return typeof r;\n } : _typeof = function(r) {\n return r && typeof Symbol == \"function\" && r.constructor === Symbol && r !== Symbol.prototype ? \"symbol\" : typeof r;\n }, _typeof(t);\n }\n var FootageInterface = function() {\n var t = function(i) {\n var s = \"\", a = i.getFootageData();\n function n() {\n return s = \"\", a = i.getFootageData(), h;\n }\n function h(o) {\n if (a[o])\n return s = o, a = a[o], _typeof(a) === \"object\" ? h : a;\n var f = o.indexOf(s);\n if (f !== -1) {\n var v = parseInt(o.substr(f + s.length), 10);\n return a = a[v], _typeof(a) === \"object\" ? h : a;\n }\n return \"\";\n }\n return n;\n }, e = function(i) {\n function s(a) {\n return a === \"Outline\" ? s.outlineInterface() : null;\n }\n return s._name = \"Outline\", s.outlineInterface = t(i), s;\n };\n return function(r) {\n function i(s) {\n return s === \"Data\" ? i.dataInterface : null;\n }\n return i._name = \"Data\", i.dataInterface = e(r), i;\n };\n }(), interfaces = {\n layer: LayerExpressionInterface,\n effects: EffectsExpressionInterface,\n comp: CompExpressionInterface,\n shape: ShapeExpressionInterface,\n text: TextExpressionInterface,\n footage: FootageInterface\n };\n function getInterface(t) {\n return interfaces[t] || null;\n }\n var expressionHelpers = function() {\n function t(n, h, o) {\n h.x && (o.k = !0, o.x = !0, o.initiateExpression = ExpressionManager.initiateExpression, o.effectsSequence.push(o.initiateExpression(n, h, o).bind(o)));\n }\n function e(n) {\n return n *= this.elem.globalData.frameRate, n -= this.offsetTime, n !== this._cachingAtTime.lastFrame && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < n ? this._cachingAtTime.lastIndex : 0, this._cachingAtTime.value = this.interpolateValue(n, this._cachingAtTime), this._cachingAtTime.lastFrame = n), this._cachingAtTime.value;\n }\n function r(n) {\n var h = -0.01, o = this.getValueAtTime(n), f = this.getValueAtTime(n + h), v = 0;\n if (o.length) {\n var S;\n for (S = 0; S < o.length; S += 1)\n v += Math.pow(f[S] - o[S], 2);\n v = Math.sqrt(v) * 100;\n } else\n v = 0;\n return v;\n }\n function i(n) {\n if (this.vel !== void 0)\n return this.vel;\n var h = -1e-3, o = this.getValueAtTime(n), f = this.getValueAtTime(n + h), v;\n if (o.length) {\n v = createTypedArray(\"float32\", o.length);\n var S;\n for (S = 0; S < o.length; S += 1)\n v[S] = (f[S] - o[S]) / h;\n } else\n v = (f - o) / h;\n return v;\n }\n function s() {\n return this.pv;\n }\n function a(n) {\n this.propertyGroup = n;\n }\n return {\n searchExpressions: t,\n getSpeedAtTime: r,\n getVelocityAtTime: i,\n getValueAtTime: e,\n getStaticValueAtTime: s,\n setGroupProperty: a\n };\n }();\n function addPropertyDecorator() {\n function t(p, b, g) {\n if (!this.k || !this.keyframes)\n return this.pv;\n p = p ? p.toLowerCase() : \"\";\n var m = this.comp.renderedFrame, x = this.keyframes, c = x[x.length - 1].t;\n if (m <= c)\n return this.pv;\n var u, l;\n g ? (b ? u = Math.abs(c - this.elem.comp.globalData.frameRate * b) : u = Math.max(0, c - this.elem.data.ip), l = c - u) : ((!b || b > x.length - 1) && (b = x.length - 1), l = x[x.length - 1 - b].t, u = c - l);\n var d, E, _;\n if (p === \"pingpong\") {\n var T = Math.floor((m - l) / u);\n if (T % 2 !== 0)\n return this.getValueAtTime((u - (m - l) % u + l) / this.comp.globalData.frameRate, 0);\n } else if (p === \"offset\") {\n var M = this.getValueAtTime(l / this.comp.globalData.frameRate, 0), w = this.getValueAtTime(c / this.comp.globalData.frameRate, 0), G = this.getValueAtTime(((m - l) % u + l) / this.comp.globalData.frameRate, 0), L = Math.floor((m - l) / u);\n if (this.pv.length) {\n for (_ = new Array(M.length), E = _.length, d = 0; d < E; d += 1)\n _[d] = (w[d] - M[d]) * L + G[d];\n return _;\n }\n return (w - M) * L + G;\n } else if (p === \"continue\") {\n var V = this.getValueAtTime(c / this.comp.globalData.frameRate, 0), D = this.getValueAtTime((c - 1e-3) / this.comp.globalData.frameRate, 0);\n if (this.pv.length) {\n for (_ = new Array(V.length), E = _.length, d = 0; d < E; d += 1)\n _[d] = V[d] + (V[d] - D[d]) * ((m - c) / this.comp.globalData.frameRate) / 5e-4;\n return _;\n }\n return V + (V - D) * ((m - c) / 1e-3);\n }\n return this.getValueAtTime(((m - l) % u + l) / this.comp.globalData.frameRate, 0);\n }\n function e(p, b, g) {\n if (!this.k)\n return this.pv;\n p = p ? p.toLowerCase() : \"\";\n var m = this.comp.renderedFrame, x = this.keyframes, c = x[0].t;\n if (m >= c)\n return this.pv;\n var u, l;\n g ? (b ? u = Math.abs(this.elem.comp.globalData.frameRate * b) : u = Math.max(0, this.elem.data.op - c), l = c + u) : ((!b || b > x.length - 1) && (b = x.length - 1), l = x[b].t, u = l - c);\n var d, E, _;\n if (p === \"pingpong\") {\n var T = Math.floor((c - m) / u);\n if (T % 2 === 0)\n return this.getValueAtTime(((c - m) % u + c) / this.comp.globalData.frameRate, 0);\n } else if (p === \"offset\") {\n var M = this.getValueAtTime(c / this.comp.globalData.frameRate, 0), w = this.getValueAtTime(l / this.comp.globalData.frameRate, 0), G = this.getValueAtTime((u - (c - m) % u + c) / this.comp.globalData.frameRate, 0), L = Math.floor((c - m) / u) + 1;\n if (this.pv.length) {\n for (_ = new Array(M.length), E = _.length, d = 0; d < E; d += 1)\n _[d] = G[d] - (w[d] - M[d]) * L;\n return _;\n }\n return G - (w - M) * L;\n } else if (p === \"continue\") {\n var V = this.getValueAtTime(c / this.comp.globalData.frameRate, 0), D = this.getValueAtTime((c + 1e-3) / this.comp.globalData.frameRate, 0);\n if (this.pv.length) {\n for (_ = new Array(V.length), E = _.length, d = 0; d < E; d += 1)\n _[d] = V[d] + (V[d] - D[d]) * (c - m) / 1e-3;\n return _;\n }\n return V + (V - D) * (c - m) / 1e-3;\n }\n return this.getValueAtTime((u - ((c - m) % u + c)) / this.comp.globalData.frameRate, 0);\n }\n function r(p, b) {\n if (!this.k)\n return this.pv;\n if (p = (p || 0.4) * 0.5, b = Math.floor(b || 5), b <= 1)\n return this.pv;\n var g = this.comp.renderedFrame / this.comp.globalData.frameRate, m = g - p, x = g + p, c = b > 1 ? (x - m) / (b - 1) : 1, u = 0, l = 0, d;\n this.pv.length ? d = createTypedArray(\"float32\", this.pv.length) : d = 0;\n for (var E; u < b; ) {\n if (E = this.getValueAtTime(m + u * c), this.pv.length)\n for (l = 0; l < this.pv.length; l += 1)\n d[l] += E[l];\n else\n d += E;\n u += 1;\n }\n if (this.pv.length)\n for (l = 0; l < this.pv.length; l += 1)\n d[l] /= b;\n else\n d /= b;\n return d;\n }\n function i(p) {\n this._transformCachingAtTime || (this._transformCachingAtTime = {\n v: new Matrix()\n });\n var b = this._transformCachingAtTime.v;\n if (b.cloneFromProps(this.pre.props), this.appliedTransformations < 1) {\n var g = this.a.getValueAtTime(p);\n b.translate(-g[0] * this.a.mult, -g[1] * this.a.mult, g[2] * this.a.mult);\n }\n if (this.appliedTransformations < 2) {\n var m = this.s.getValueAtTime(p);\n b.scale(m[0] * this.s.mult, m[1] * this.s.mult, m[2] * this.s.mult);\n }\n if (this.sk && this.appliedTransformations < 3) {\n var x = this.sk.getValueAtTime(p), c = this.sa.getValueAtTime(p);\n b.skewFromAxis(-x * this.sk.mult, c * this.sa.mult);\n }\n if (this.r && this.appliedTransformations < 4) {\n var u = this.r.getValueAtTime(p);\n b.rotate(-u * this.r.mult);\n } else if (!this.r && this.appliedTransformations < 4) {\n var l = this.rz.getValueAtTime(p), d = this.ry.getValueAtTime(p), E = this.rx.getValueAtTime(p), _ = this.or.getValueAtTime(p);\n b.rotateZ(-l * this.rz.mult).rotateY(d * this.ry.mult).rotateX(E * this.rx.mult).rotateZ(-_[2] * this.or.mult).rotateY(_[1] * this.or.mult).rotateX(_[0] * this.or.mult);\n }\n if (this.data.p && this.data.p.s) {\n var T = this.px.getValueAtTime(p), M = this.py.getValueAtTime(p);\n if (this.data.p.z) {\n var w = this.pz.getValueAtTime(p);\n b.translate(T * this.px.mult, M * this.py.mult, -w * this.pz.mult);\n } else\n b.translate(T * this.px.mult, M * this.py.mult, 0);\n } else {\n var G = this.p.getValueAtTime(p);\n b.translate(G[0] * this.p.mult, G[1] * this.p.mult, -G[2] * this.p.mult);\n }\n return b;\n }\n function s() {\n return this.v.clone(new Matrix());\n }\n var a = TransformPropertyFactory.getTransformProperty;\n TransformPropertyFactory.getTransformProperty = function(p, b, g) {\n var m = a(p, b, g);\n return m.dynamicProperties.length ? m.getValueAtTime = i.bind(m) : m.getValueAtTime = s.bind(m), m.setGroupProperty = expressionHelpers.setGroupProperty, m;\n };\n var n = PropertyFactory.getProp;\n PropertyFactory.getProp = function(p, b, g, m, x) {\n var c = n(p, b, g, m, x);\n c.kf ? c.getValueAtTime = expressionHelpers.getValueAtTime.bind(c) : c.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(c), c.setGroupProperty = expressionHelpers.setGroupProperty, c.loopOut = t, c.loopIn = e, c.smooth = r, c.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(c), c.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(c), c.numKeys = b.a === 1 ? b.k.length : 0, c.propertyIndex = b.ix;\n var u = 0;\n return g !== 0 && (u = createTypedArray(\"float32\", b.a === 1 ? b.k[0].s.length : b.k.length)), c._cachingAtTime = {\n lastFrame: initialDefaultFrame,\n lastIndex: 0,\n value: u\n }, expressionHelpers.searchExpressions(p, b, c), c.k && x.addDynamicProperty(c), c;\n };\n function h(p) {\n return this._cachingAtTime || (this._cachingAtTime = {\n shapeValue: shapePool.clone(this.pv),\n lastIndex: 0,\n lastTime: initialDefaultFrame\n }), p *= this.elem.globalData.frameRate, p -= this.offsetTime, p !== this._cachingAtTime.lastTime && (this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < p ? this._caching.lastIndex : 0, this._cachingAtTime.lastTime = p, this.interpolateShape(p, this._cachingAtTime.shapeValue, this._cachingAtTime)), this._cachingAtTime.shapeValue;\n }\n var o = ShapePropertyFactory.getConstructorFunction(), f = ShapePropertyFactory.getKeyframedConstructorFunction();\n function v() {\n }\n v.prototype = {\n vertices: function(b, g) {\n this.k && this.getValue();\n var m = this.v;\n g !== void 0 && (m = this.getValueAtTime(g, 0));\n var x, c = m._length, u = m[b], l = m.v, d = createSizedArray(c);\n for (x = 0; x < c; x += 1)\n b === \"i\" || b === \"o\" ? d[x] = [u[x][0] - l[x][0], u[x][1] - l[x][1]] : d[x] = [u[x][0], u[x][1]];\n return d;\n },\n points: function(b) {\n return this.vertices(\"v\", b);\n },\n inTangents: function(b) {\n return this.vertices(\"i\", b);\n },\n outTangents: function(b) {\n return this.vertices(\"o\", b);\n },\n isClosed: function() {\n return this.v.c;\n },\n pointOnPath: function(b, g) {\n var m = this.v;\n g !== void 0 && (m = this.getValueAtTime(g, 0)), this._segmentsLength || (this._segmentsLength = bez.getSegmentsLength(m));\n for (var x = this._segmentsLength, c = x.lengths, u = x.totalLength * b, l = 0, d = c.length, E = 0, _; l < d; ) {\n if (E + c[l].addedLength > u) {\n var T = l, M = m.c && l === d - 1 ? 0 : l + 1, w = (u - E) / c[l].addedLength;\n _ = bez.getPointInSegment(m.v[T], m.v[M], m.o[T], m.i[M], w, c[l]);\n break;\n } else\n E += c[l].addedLength;\n l += 1;\n }\n return _ || (_ = m.c ? [m.v[0][0], m.v[0][1]] : [m.v[m._length - 1][0], m.v[m._length - 1][1]]), _;\n },\n vectorOnPath: function(b, g, m) {\n b == 1 ? b = this.v.c : b == 0 && (b = 0.999);\n var x = this.pointOnPath(b, g), c = this.pointOnPath(b + 1e-3, g), u = c[0] - x[0], l = c[1] - x[1], d = Math.sqrt(Math.pow(u, 2) + Math.pow(l, 2));\n if (d === 0)\n return [0, 0];\n var E = m === \"tangent\" ? [u / d, l / d] : [-l / d, u / d];\n return E;\n },\n tangentOnPath: function(b, g) {\n return this.vectorOnPath(b, g, \"tangent\");\n },\n normalOnPath: function(b, g) {\n return this.vectorOnPath(b, g, \"normal\");\n },\n setGroupProperty: expressionHelpers.setGroupProperty,\n getValueAtTime: expressionHelpers.getStaticValueAtTime\n }, extendPrototype([v], o), extendPrototype([v], f), f.prototype.getValueAtTime = h, f.prototype.initiateExpression = ExpressionManager.initiateExpression;\n var S = ShapePropertyFactory.getShapeProp;\n ShapePropertyFactory.getShapeProp = function(p, b, g, m, x) {\n var c = S(p, b, g, m, x);\n return c.propertyIndex = b.ix, c.lock = !1, g === 3 ? expressionHelpers.searchExpressions(p, b.pt, c) : g === 4 && expressionHelpers.searchExpressions(p, b.ks, c), c.k && p.addDynamicProperty(c), c;\n };\n }\n function initialize$1() {\n addPropertyDecorator();\n }\n function addDecorator() {\n function t() {\n return this.data.d.x ? (this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this), this.addEffect(this.getExpressionValue.bind(this)), !0) : null;\n }\n TextProperty.prototype.getExpressionValue = function(e, r) {\n var i = this.calculateExpression(r);\n if (e.t !== i) {\n var s = {};\n return this.copyData(s, e), s.t = i.toString(), s.__complete = !1, s;\n }\n return e;\n }, TextProperty.prototype.searchProperty = function() {\n var e = this.searchKeyframes(), r = this.searchExpressions();\n return this.kf = e || r, this.kf;\n }, TextProperty.prototype.searchExpressions = t;\n }\n function initialize() {\n addDecorator();\n }\n function SVGComposableEffect() {\n }\n SVGComposableEffect.prototype = {\n createMergeNode: function t(e, r) {\n var i = createNS(\"feMerge\");\n i.setAttribute(\"result\", e);\n var s, a;\n for (a = 0; a < r.length; a += 1)\n s = createNS(\"feMergeNode\"), s.setAttribute(\"in\", r[a]), i.appendChild(s), i.appendChild(s);\n return i;\n }\n };\n var linearFilterValue = \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0\";\n function SVGTintFilter(t, e, r, i, s) {\n this.filterManager = e;\n var a = createNS(\"feColorMatrix\");\n a.setAttribute(\"type\", \"matrix\"), a.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), a.setAttribute(\"values\", linearFilterValue + \" 1 0\"), this.linearFilter = a, a.setAttribute(\"result\", i + \"_tint_1\"), t.appendChild(a), a = createNS(\"feColorMatrix\"), a.setAttribute(\"type\", \"matrix\"), a.setAttribute(\"color-interpolation-filters\", \"sRGB\"), a.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), a.setAttribute(\"result\", i + \"_tint_2\"), t.appendChild(a), this.matrixFilter = a;\n var n = this.createMergeNode(i, [s, i + \"_tint_1\", i + \"_tint_2\"]);\n t.appendChild(n);\n }\n extendPrototype([SVGComposableEffect], SVGTintFilter), SVGTintFilter.prototype.renderFrame = function(t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, i = this.filterManager.effectElements[2].p.v / 100;\n this.linearFilter.setAttribute(\"values\", linearFilterValue + \" \" + i + \" 0\"), this.matrixFilter.setAttribute(\"values\", r[0] - e[0] + \" 0 0 0 \" + e[0] + \" \" + (r[1] - e[1]) + \" 0 0 0 \" + e[1] + \" \" + (r[2] - e[2]) + \" 0 0 0 \" + e[2] + \" 0 0 0 1 0\");\n }\n };\n function SVGFillFilter(t, e, r, i) {\n this.filterManager = e;\n var s = createNS(\"feColorMatrix\");\n s.setAttribute(\"type\", \"matrix\"), s.setAttribute(\"color-interpolation-filters\", \"sRGB\"), s.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\"), s.setAttribute(\"result\", i), t.appendChild(s), this.matrixFilter = s;\n }\n SVGFillFilter.prototype.renderFrame = function(t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[2].p.v, r = this.filterManager.effectElements[6].p.v;\n this.matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + e[0] + \" 0 0 0 0 \" + e[1] + \" 0 0 0 0 \" + e[2] + \" 0 0 0 \" + r + \" 0\");\n }\n };\n function SVGStrokeEffect(t, e, r) {\n this.initialized = !1, this.filterManager = e, this.elem = r, this.paths = [];\n }\n SVGStrokeEffect.prototype.initialize = function() {\n var t = this.elem.layerElement.children || this.elem.layerElement.childNodes, e, r, i, s;\n for (this.filterManager.effectElements[1].p.v === 1 ? (s = this.elem.maskManager.masksProperties.length, i = 0) : (i = this.filterManager.effectElements[0].p.v - 1, s = i + 1), r = createNS(\"g\"), r.setAttribute(\"fill\", \"none\"), r.setAttribute(\"stroke-linecap\", \"round\"), r.setAttribute(\"stroke-dashoffset\", 1), i; i < s; i += 1)\n e = createNS(\"path\"), r.appendChild(e), this.paths.push({\n p: e,\n m: i\n });\n if (this.filterManager.effectElements[10].p.v === 3) {\n var a = createNS(\"mask\"), n = createElementID();\n a.setAttribute(\"id\", n), a.setAttribute(\"mask-type\", \"alpha\"), a.appendChild(r), this.elem.globalData.defs.appendChild(a);\n var h = createNS(\"g\");\n for (h.setAttribute(\"mask\", \"url(\" + getLocationHref() + \"#\" + n + \")\"); t[0]; )\n h.appendChild(t[0]);\n this.elem.layerElement.appendChild(h), this.masker = a, r.setAttribute(\"stroke\", \"#fff\");\n } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {\n if (this.filterManager.effectElements[10].p.v === 2)\n for (t = this.elem.layerElement.children || this.elem.layerElement.childNodes; t.length; )\n this.elem.layerElement.removeChild(t[0]);\n this.elem.layerElement.appendChild(r), this.elem.layerElement.removeAttribute(\"mask\"), r.setAttribute(\"stroke\", \"#fff\");\n }\n this.initialized = !0, this.pathMasker = r;\n }, SVGStrokeEffect.prototype.renderFrame = function(t) {\n this.initialized || this.initialize();\n var e, r = this.paths.length, i, s;\n for (e = 0; e < r; e += 1)\n if (this.paths[e].m !== -1 && (i = this.elem.maskManager.viewData[this.paths[e].m], s = this.paths[e].p, (t || this.filterManager._mdf || i.prop._mdf) && s.setAttribute(\"d\", i.lastPath), t || this.filterManager.effectElements[9].p._mdf || this.filterManager.effectElements[4].p._mdf || this.filterManager.effectElements[7].p._mdf || this.filterManager.effectElements[8].p._mdf || i.prop._mdf)) {\n var a;\n if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {\n var n = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01, h = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * 0.01, o = s.getTotalLength();\n a = \"0 0 0 \" + o * n + \" \";\n var f = o * (h - n), v = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01, S = Math.floor(f / v), p;\n for (p = 0; p < S; p += 1)\n a += \"1 \" + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01 + \" \";\n a += \"0 \" + o * 10 + \" 0 0\";\n } else\n a = \"1 \" + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * 0.01;\n s.setAttribute(\"stroke-dasharray\", a);\n }\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.pathMasker.setAttribute(\"stroke-width\", this.filterManager.effectElements[4].p.v * 2), (t || this.filterManager.effectElements[6].p._mdf) && this.pathMasker.setAttribute(\"opacity\", this.filterManager.effectElements[6].p.v), (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) && (t || this.filterManager.effectElements[3].p._mdf)) {\n var b = this.filterManager.effectElements[3].p.v;\n this.pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(b[0] * 255) + \",\" + bmFloor(b[1] * 255) + \",\" + bmFloor(b[2] * 255) + \")\");\n }\n };\n function SVGTritoneFilter(t, e, r, i) {\n this.filterManager = e;\n var s = createNS(\"feColorMatrix\");\n s.setAttribute(\"type\", \"matrix\"), s.setAttribute(\"color-interpolation-filters\", \"linearRGB\"), s.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"), t.appendChild(s);\n var a = createNS(\"feComponentTransfer\");\n a.setAttribute(\"color-interpolation-filters\", \"sRGB\"), a.setAttribute(\"result\", i), this.matrixFilter = a;\n var n = createNS(\"feFuncR\");\n n.setAttribute(\"type\", \"table\"), a.appendChild(n), this.feFuncR = n;\n var h = createNS(\"feFuncG\");\n h.setAttribute(\"type\", \"table\"), a.appendChild(h), this.feFuncG = h;\n var o = createNS(\"feFuncB\");\n o.setAttribute(\"type\", \"table\"), a.appendChild(o), this.feFuncB = o, t.appendChild(a);\n }\n SVGTritoneFilter.prototype.renderFrame = function(t) {\n if (t || this.filterManager._mdf) {\n var e = this.filterManager.effectElements[0].p.v, r = this.filterManager.effectElements[1].p.v, i = this.filterManager.effectElements[2].p.v, s = i[0] + \" \" + r[0] + \" \" + e[0], a = i[1] + \" \" + r[1] + \" \" + e[1], n = i[2] + \" \" + r[2] + \" \" + e[2];\n this.feFuncR.setAttribute(\"tableValues\", s), this.feFuncG.setAttribute(\"tableValues\", a), this.feFuncB.setAttribute(\"tableValues\", n);\n }\n };\n function SVGProLevelsFilter(t, e, r, i) {\n this.filterManager = e;\n var s = this.filterManager.effectElements, a = createNS(\"feComponentTransfer\");\n (s[10].p.k || s[10].p.v !== 0 || s[11].p.k || s[11].p.v !== 1 || s[12].p.k || s[12].p.v !== 1 || s[13].p.k || s[13].p.v !== 0 || s[14].p.k || s[14].p.v !== 1) && (this.feFuncR = this.createFeFunc(\"feFuncR\", a)), (s[17].p.k || s[17].p.v !== 0 || s[18].p.k || s[18].p.v !== 1 || s[19].p.k || s[19].p.v !== 1 || s[20].p.k || s[20].p.v !== 0 || s[21].p.k || s[21].p.v !== 1) && (this.feFuncG = this.createFeFunc(\"feFuncG\", a)), (s[24].p.k || s[24].p.v !== 0 || s[25].p.k || s[25].p.v !== 1 || s[26].p.k || s[26].p.v !== 1 || s[27].p.k || s[27].p.v !== 0 || s[28].p.k || s[28].p.v !== 1) && (this.feFuncB = this.createFeFunc(\"feFuncB\", a)), (s[31].p.k || s[31].p.v !== 0 || s[32].p.k || s[32].p.v !== 1 || s[33].p.k || s[33].p.v !== 1 || s[34].p.k || s[34].p.v !== 0 || s[35].p.k || s[35].p.v !== 1) && (this.feFuncA = this.createFeFunc(\"feFuncA\", a)), (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) && (a.setAttribute(\"color-interpolation-filters\", \"sRGB\"), t.appendChild(a)), (s[3].p.k || s[3].p.v !== 0 || s[4].p.k || s[4].p.v !== 1 || s[5].p.k || s[5].p.v !== 1 || s[6].p.k || s[6].p.v !== 0 || s[7].p.k || s[7].p.v !== 1) && (a = createNS(\"feComponentTransfer\"), a.setAttribute(\"color-interpolation-filters\", \"sRGB\"), a.setAttribute(\"result\", i), t.appendChild(a), this.feFuncRComposed = this.createFeFunc(\"feFuncR\", a), this.feFuncGComposed = this.createFeFunc(\"feFuncG\", a), this.feFuncBComposed = this.createFeFunc(\"feFuncB\", a));\n }\n SVGProLevelsFilter.prototype.createFeFunc = function(t, e) {\n var r = createNS(t);\n return r.setAttribute(\"type\", \"table\"), e.appendChild(r), r;\n }, SVGProLevelsFilter.prototype.getTableValue = function(t, e, r, i, s) {\n for (var a = 0, n = 256, h, o = Math.min(t, e), f = Math.max(t, e), v = Array.call(null, {\n length: n\n }), S, p = 0, b = s - i, g = e - t; a <= 256; )\n h = a / 256, h <= o ? S = g < 0 ? s : i : h >= f ? S = g < 0 ? i : s : S = i + b * Math.pow((h - t) / g, 1 / r), v[p] = S, p += 1, a += 256 / (n - 1);\n return v.join(\" \");\n }, SVGProLevelsFilter.prototype.renderFrame = function(t) {\n if (t || this.filterManager._mdf) {\n var e, r = this.filterManager.effectElements;\n this.feFuncRComposed && (t || r[3].p._mdf || r[4].p._mdf || r[5].p._mdf || r[6].p._mdf || r[7].p._mdf) && (e = this.getTableValue(r[3].p.v, r[4].p.v, r[5].p.v, r[6].p.v, r[7].p.v), this.feFuncRComposed.setAttribute(\"tableValues\", e), this.feFuncGComposed.setAttribute(\"tableValues\", e), this.feFuncBComposed.setAttribute(\"tableValues\", e)), this.feFuncR && (t || r[10].p._mdf || r[11].p._mdf || r[12].p._mdf || r[13].p._mdf || r[14].p._mdf) && (e = this.getTableValue(r[10].p.v, r[11].p.v, r[12].p.v, r[13].p.v, r[14].p.v), this.feFuncR.setAttribute(\"tableValues\", e)), this.feFuncG && (t || r[17].p._mdf || r[18].p._mdf || r[19].p._mdf || r[20].p._mdf || r[21].p._mdf) && (e = this.getTableValue(r[17].p.v, r[18].p.v, r[19].p.v, r[20].p.v, r[21].p.v), this.feFuncG.setAttribute(\"tableValues\", e)), this.feFuncB && (t || r[24].p._mdf || r[25].p._mdf || r[26].p._mdf || r[27].p._mdf || r[28].p._mdf) && (e = this.getTableValue(r[24].p.v, r[25].p.v, r[26].p.v, r[27].p.v, r[28].p.v), this.feFuncB.setAttribute(\"tableValues\", e)), this.feFuncA && (t || r[31].p._mdf || r[32].p._mdf || r[33].p._mdf || r[34].p._mdf || r[35].p._mdf) && (e = this.getTableValue(r[31].p.v, r[32].p.v, r[33].p.v, r[34].p.v, r[35].p.v), this.feFuncA.setAttribute(\"tableValues\", e));\n }\n };\n function SVGDropShadowEffect(t, e, r, i, s) {\n var a = e.container.globalData.renderConfig.filterSize, n = e.data.fs || a;\n t.setAttribute(\"x\", n.x || a.x), t.setAttribute(\"y\", n.y || a.y), t.setAttribute(\"width\", n.width || a.width), t.setAttribute(\"height\", n.height || a.height), this.filterManager = e;\n var h = createNS(\"feGaussianBlur\");\n h.setAttribute(\"in\", \"SourceAlpha\"), h.setAttribute(\"result\", i + \"_drop_shadow_1\"), h.setAttribute(\"stdDeviation\", \"0\"), this.feGaussianBlur = h, t.appendChild(h);\n var o = createNS(\"feOffset\");\n o.setAttribute(\"dx\", \"25\"), o.setAttribute(\"dy\", \"0\"), o.setAttribute(\"in\", i + \"_drop_shadow_1\"), o.setAttribute(\"result\", i + \"_drop_shadow_2\"), this.feOffset = o, t.appendChild(o);\n var f = createNS(\"feFlood\");\n f.setAttribute(\"flood-color\", \"#00ff00\"), f.setAttribute(\"flood-opacity\", \"1\"), f.setAttribute(\"result\", i + \"_drop_shadow_3\"), this.feFlood = f, t.appendChild(f);\n var v = createNS(\"feComposite\");\n v.setAttribute(\"in\", i + \"_drop_shadow_3\"), v.setAttribute(\"in2\", i + \"_drop_shadow_2\"), v.setAttribute(\"operator\", \"in\"), v.setAttribute(\"result\", i + \"_drop_shadow_4\"), t.appendChild(v);\n var S = this.createMergeNode(i, [i + \"_drop_shadow_4\", s]);\n t.appendChild(S);\n }\n extendPrototype([SVGComposableEffect], SVGDropShadowEffect), SVGDropShadowEffect.prototype.renderFrame = function(t) {\n if (t || this.filterManager._mdf) {\n if ((t || this.filterManager.effectElements[4].p._mdf) && this.feGaussianBlur.setAttribute(\"stdDeviation\", this.filterManager.effectElements[4].p.v / 4), t || this.filterManager.effectElements[0].p._mdf) {\n var e = this.filterManager.effectElements[0].p.v;\n this.feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(e[0] * 255), Math.round(e[1] * 255), Math.round(e[2] * 255)));\n }\n if ((t || this.filterManager.effectElements[1].p._mdf) && this.feFlood.setAttribute(\"flood-opacity\", this.filterManager.effectElements[1].p.v / 255), t || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {\n var r = this.filterManager.effectElements[3].p.v, i = (this.filterManager.effectElements[2].p.v - 90) * degToRads, s = r * Math.cos(i), a = r * Math.sin(i);\n this.feOffset.setAttribute(\"dx\", s), this.feOffset.setAttribute(\"dy\", a);\n }\n }\n };\n var _svgMatteSymbols = [];\n function SVGMatte3Effect(t, e, r) {\n this.initialized = !1, this.filterManager = e, this.filterElem = t, this.elem = r, r.matteElement = createNS(\"g\"), r.matteElement.appendChild(r.layerElement), r.matteElement.appendChild(r.transformedElement), r.baseElement = r.matteElement;\n }\n SVGMatte3Effect.prototype.findSymbol = function(t) {\n for (var e = 0, r = _svgMatteSymbols.length; e < r; ) {\n if (_svgMatteSymbols[e] === t)\n return _svgMatteSymbols[e];\n e += 1;\n }\n return null;\n }, SVGMatte3Effect.prototype.replaceInParent = function(t, e) {\n var r = t.layerElement.parentNode;\n if (r) {\n for (var i = r.children, s = 0, a = i.length; s < a && i[s] !== t.layerElement; )\n s += 1;\n var n;\n s <= a - 2 && (n = i[s + 1]);\n var h = createNS(\"use\");\n h.setAttribute(\"href\", \"#\" + e), n ? r.insertBefore(h, n) : r.appendChild(h);\n }\n }, SVGMatte3Effect.prototype.setElementAsMask = function(t, e) {\n if (!this.findSymbol(e)) {\n var r = createElementID(), i = createNS(\"mask\");\n i.setAttribute(\"id\", e.layerId), i.setAttribute(\"mask-type\", \"alpha\"), _svgMatteSymbols.push(e);\n var s = t.globalData.defs;\n s.appendChild(i);\n var a = createNS(\"symbol\");\n a.setAttribute(\"id\", r), this.replaceInParent(e, r), a.appendChild(e.layerElement), s.appendChild(a);\n var n = createNS(\"use\");\n n.setAttribute(\"href\", \"#\" + r), i.appendChild(n), e.data.hd = !1, e.show();\n }\n t.setMatte(e.layerId);\n }, SVGMatte3Effect.prototype.initialize = function() {\n for (var t = this.filterManager.effectElements[0].p.v, e = this.elem.comp.elements, r = 0, i = e.length; r < i; )\n e[r] && e[r].data.ind === t && this.setElementAsMask(this.elem, e[r]), r += 1;\n this.initialized = !0;\n }, SVGMatte3Effect.prototype.renderFrame = function() {\n this.initialized || this.initialize();\n };\n function SVGGaussianBlurEffect(t, e, r, i) {\n t.setAttribute(\"x\", \"-100%\"), t.setAttribute(\"y\", \"-100%\"), t.setAttribute(\"width\", \"300%\"), t.setAttribute(\"height\", \"300%\"), this.filterManager = e;\n var s = createNS(\"feGaussianBlur\");\n s.setAttribute(\"result\", i), t.appendChild(s), this.feGaussianBlur = s;\n }\n SVGGaussianBlurEffect.prototype.renderFrame = function(t) {\n if (t || this.filterManager._mdf) {\n var e = 0.3, r = this.filterManager.effectElements[0].p.v * e, i = this.filterManager.effectElements[1].p.v, s = i == 3 ? 0 : r, a = i == 2 ? 0 : r;\n this.feGaussianBlur.setAttribute(\"stdDeviation\", s + \" \" + a);\n var n = this.filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\";\n this.feGaussianBlur.setAttribute(\"edgeMode\", n);\n }\n };\n function TransformEffect() {\n }\n TransformEffect.prototype.init = function(t) {\n this.effectsManager = t, this.type = effectTypes.TRANSFORM_EFFECT, this.matrix = new Matrix(), this.opacity = -1, this._mdf = !1, this._opMdf = !1;\n }, TransformEffect.prototype.renderFrame = function(t) {\n if (this._opMdf = !1, this._mdf = !1, t || this.effectsManager._mdf) {\n var e = this.effectsManager.effectElements, r = e[0].p.v, i = e[1].p.v, s = e[2].p.v === 1, a = e[3].p.v, n = s ? a : e[4].p.v, h = e[5].p.v, o = e[6].p.v, f = e[7].p.v;\n this.matrix.reset(), this.matrix.translate(-r[0], -r[1], r[2]), this.matrix.scale(n * 0.01, a * 0.01, 1), this.matrix.rotate(-f * degToRads), this.matrix.skewFromAxis(-h * degToRads, (o + 90) * degToRads), this.matrix.translate(i[0], i[1], 0), this._mdf = !0, this.opacity !== e[8].p.v && (this.opacity = e[8].p.v, this._opMdf = !0);\n }\n };\n function SVGTransformEffect(t, e) {\n this.init(e);\n }\n extendPrototype([TransformEffect], SVGTransformEffect);\n function CVTransformEffect(t) {\n this.init(t);\n }\n return extendPrototype([TransformEffect], CVTransformEffect), registerRenderer(\"canvas\", CanvasRenderer), registerRenderer(\"html\", HybridRenderer), registerRenderer(\"svg\", SVGRenderer), ShapeModifiers.registerModifier(\"tm\", TrimModifier), ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier), ShapeModifiers.registerModifier(\"rp\", RepeaterModifier), ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier), ShapeModifiers.registerModifier(\"zz\", ZigZagModifier), ShapeModifiers.registerModifier(\"op\", OffsetPathModifier), setExpressionsPlugin(Expressions), setExpressionInterfaces(getInterface), initialize$1(), initialize(), registerEffect$1(20, SVGTintFilter, !0), registerEffect$1(21, SVGFillFilter, !0), registerEffect$1(22, SVGStrokeEffect, !1), registerEffect$1(23, SVGTritoneFilter, !0), registerEffect$1(24, SVGProLevelsFilter, !0), registerEffect$1(25, SVGDropShadowEffect, !0), registerEffect$1(28, SVGMatte3Effect, !1), registerEffect$1(29, SVGGaussianBlurEffect, !0), registerEffect$1(35, SVGTransformEffect, !1), registerEffect(35, CVTransformEffect), lottie;\n });\n})(lottie, lottie.exports);\nvar lottieExports = lottie.exports;\nconst Lottie = /* @__PURE__ */ getDefaultExportFromCjs(lottieExports), _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"lottie-web-vue\",\n props: {\n animationData: { type: Object, required: !0 },\n loop: { type: [Number, Boolean], default: !1 },\n autoPlay: { type: Boolean, default: !0 },\n speed: { type: Number, default: 1 }\n },\n emits: [\"complete\", \"loopComplete\", \"enterFrame\", \"segmentStart\", \"stopped\"],\n setup(t, { expose: e, emit: r }) {\n const i = t, s = ref();\n let a = ref();\n onMounted(() => {\n s.value && n(s.value);\n }), onBeforeUnmount(() => {\n m();\n });\n function n(x) {\n a.value = Lottie.loadAnimation({\n container: x,\n renderer: \"svg\",\n loop: i.loop,\n autoplay: i.autoPlay,\n animationData: JSON.parse(JSON.stringify(i.animationData))\n }), a.value.setSpeed(i.speed), a.value.addEventListener(\"loopComplete\", () => {\n r(\"loopComplete\");\n }), a.value.addEventListener(\"complete\", () => {\n r(\"complete\");\n }), a.value.addEventListener(\"enterFrame\", () => {\n r(\"enterFrame\");\n }), a.value.addEventListener(\"segmentStart\", () => {\n r(\"segmentStart\");\n });\n }\n function h() {\n a.value && a.value.play();\n }\n function o() {\n a.value && a.value.stop();\n }\n function f() {\n a.value && a.value.pause();\n }\n function v(x) {\n a.value && a.value.setSpeed(x);\n }\n function S(x) {\n a.value && a.value.setDirection(x);\n }\n function p(x) {\n return a.value ? a.value.getDuration(x) : 0;\n }\n function b(x, c) {\n a.value && (a.value.goToAndStop(x, c), r(\"stopped\"));\n }\n function g(x, c) {\n a.value && a.value.goToAndPlay(x, c);\n }\n function m() {\n a.value && a.value.destroy();\n }\n return onBeforeUnmount(() => {\n a.value && a.value.destroy();\n }), e({\n play: h,\n pause: f,\n stop: o,\n setSpeed: v,\n setDirection: S,\n getDuration: p,\n goToAndStop: b,\n goToAndPlay: g,\n destroy: m\n }), (x, c) => (openBlock(), createElementBlock(\"div\", {\n ref_key: \"animation\",\n ref: s\n }, null, 512));\n }\n});\nexport {\n _sfc_main as LottieAnimation\n};\n"],"names":["commonjsGlobal","globalThis","window","global","self","getDefaultExportFromCjs","t","__esModule","Object","prototype","hasOwnProperty","call","default","lottie","exports","module","navigator","e","svgNS","locationHref","_useWebWorker","initialDefaultFrame","setWebWorker","getWebWorker","setLocationHref","getLocationHref","createTag","document","createElement","extendPrototype","r","s","i","length","a","getDescriptor","getOwnPropertyDescriptor","createProxyFunction","audioControllerFactory","this","audios","audioFactory","_volume","_isMuted","addAudio","push","pause","resume","setRate","createAudio","Howl","src","isPlaying","play","seek","playing","rate","setVolume","setAudioFactory","_updateVolume","mute","unmute","getVolume","volume","createTypedArray","n","Float32Array","Int16Array","Uint8ClampedArray","createSizedArray","Array","apply","_typeof$6","Symbol","iterator","constructor","subframeEnabled","expressionsPlugin","expressionsInterfaces","idPrefix$1","isSafari","test","userAgent","bmPow","Math","pow","bmSqrt","sqrt","bmFloor","floor","bmMax","max","bmMin","min","BMMath","random","abs","defaultCurveSegments","degToRads","PI","roundCorner","styleDiv","style","position","top","left","display","transformOrigin","webkitTransformOrigin","backfaceVisibility","webkitBackfaceVisibility","transformStyle","webkitTransformStyle","mozTransformStyle","BMEnterFrameEvent","type","currentTime","totalTime","direction","BMCompleteEvent","BMCompleteLoopEvent","currentLoop","totalLoops","BMSegmentStartEvent","firstFrame","totalFrames","BMDestroyEvent","target","BMRenderFrameErrorEvent","nativeError","BMConfigErrorEvent","createElementID","HSVtoRGB","h","o","f","v","RGBtoHSV","addSaturationToRGB","addBrightnessToRGB","addHueToRGB","rgbToHex","toString","setSubframeEnabled","getSubframeEnabled","setExpressionsPlugin","getExpressionsPlugin","setExpressionInterfaces","getExpressionInterfaces","setDefaultCurveSegments","getDefaultCurveSegments","setIdPrefix","createNS","createElementNS","_typeof$5","dataManager","onmessage","postMessage","b","data","p","Worker","Blob","g","URL","createObjectURL","x","I","C","A","y","k","F","R","z","P","completed","hasMask","N","masksProperties","pt","E","ty","layers","l","refId","d","shapes","D","c","u","id","__used","JSON","parse","stringify","ks","it","_","split","T","assets","M","chars","ip","op","st","sr","sk","sa","w","G","L","closed","H","W","cl","V","__complete","B","completeData","checkColors","checkChars","checkPathProperties","checkShapes","completeLayers","assetLoader","getResponseHeader","responseType","indexOf","response","responseText","XMLHttpRequest","onreadystatechange","readyState","status","open","join","send","load","path","fullPath","payload","m","animation","onComplete","onError","location","origin","pathname","S","loadAnimation","loadData","completeAnimation","ImagePreloader","width","height","getContext","fillStyle","fillRect","loadedAssets","totalImages","loadedFootagesCount","totalFootages","imagesLoadedCb","setInterval","getBBox","_imageLoaded","clearInterval","bind","assetsPath","testImageLoaded","addEventListener","img","setAttributeNS","_elementHelper","append","appendChild","assetData","crossOrigin","_footageLoaded","images","createFootageData","_createImageData","createImageData","createImgData","loadAssets","setAssetsPath","setPath","loadedImages","loadedFootages","destroy","getAsset","imageLoaded","footageLoaded","setCacheType","BaseEvent","triggerEvent","_cbs","removeEventListener","splice","markerParser","trim","Error","time","tm","duration","dr","cm","name","ProjectInterface","compositions","nm","prepareFrame","xt","currentFrame","compInterface","registerComposition","renderers","registerRenderer","getRenderer","getRegisteredRenderer","canvas","_typeof$4","AnimationItem","isLoaded","currentRawFrame","frameRate","frameMult","playSpeed","playDirection","playCount","animationData","isPaused","autoplay","loop","renderer","animationID","timeCompleted","segmentPos","isSubframeEnabled","segments","_idle","_completedLoop","projectInterface","imagePreloader","audioController","markers","configAnimation","onSetupError","onSegmentComplete","drawnFrameEvent","setParams","wrapper","container","animType","rendererSettings","globalData","defs","setProjectInterface","parseInt","autoloadSegments","initialSegment","setupAnimation","lastIndexOf","substr","fileName","trigger","setData","attributes","getNamedItem","value","prerender","includeLayers","fonts","fontManager","addChars","addFonts","initExpressions","loadNextSegment","shift","loadSegments","imagesLoaded","checkLoaded","preloadImages","round","fr","searchExtraCompositions","updaFrameModifier","waitForFontsLoaded","triggerConfigError","setTimeout","rendererType","initItems","gotoFrame","resize","updateContainerSize","setSubframe","renderFrame","resetFrame","triggerRenderFrameError","togglePause","stop","setCurrentRawFrameValue","getMarkerData","goToAndStop","Number","isNaN","frameModifier","goToAndPlay","playSegments","advanceTime","checkSegments","adjustSegment","setSpeed","setDirection","setSegment","resetSegments","onEnterFrame","onLoopComplete","onSegmentStart","onDestroy","setLoop","getPath","getAssetsPath","getAssetData","hide","show","getDuration","updateDocumentData","getElementByPath","animationManager","elem","requestAnimationFrame","concat","slice","getElementsByClassName","setAttribute","getElementsByTagName","innerText","registerAnimation","searchAnimations","freeze","unfreeze","getRegisteredAnimations","BezierFactory","getBezierEasing","replace","_p","_mSampleValues","_precomputed","get","_precompute","_getTForX","_calcSampleValues","pooling","double","poolFactory","newElement","release","bezierLengthPool","addedLength","percents","lengths","segmentsLengthPool","totalLength","bezFunction","_length","segmentLength","points","partialLength","point","getSegmentsLength","getNewSegment","getPointInSegment","buildBezierData","pointOnLine2D","pointOnLine3D","bez","initFrame","mathAbs","interpolateValue","offsetTime","propType","pv","lastIndex","keyframes","keyframesMetadata","to","bezierData","ti","__fnct","lastFrame","_lastKeyframeIndex","_lastAddedLength","_lastPoint","sh","createQuaternion","quaternionToEuler","slerp","keyframeMetadata","acos","sin","atan2","asin","cos","getValueAtCurrentTime","comp","renderedFrame","_caching","setVValue","mult","_mdf","processEffectsSequence","frameId","effectsSequence","lock","_isFirstFrame","kf","addEffect","addDynamicProperty","ValueProperty","vel","getValue","MultiDimensionalProperty","KeyframedValueProperty","KeyframedMultidimensionalProperty","PropertyFactory","sid","slotManager","getProp","DynamicPropertyContainer","dynamicProperties","_isAnimated","iterateDynamicProperties","initDynamicPropertyContainer","pointPool","ShapePath","_maxLength","setPathData","setLength","doubleArrayLength","setXYAt","setTripleAt","reverse","shapePool","clone","ShapeCollection","addShape","releaseShapes","shapeCollectionPool","newShapeCollection","ShapePropertyFactory","interpolateShape","paths","localShapeCollection","reset","convertEllToPath","sy","ir","is","convertToPath","convertStarToPath","convertPolygonToPath","or","os","convertRectToPath","getShapeProp","getConstructorFunction","getKeyframedConstructorFunction","Matrix","tan","props","_t","shear","q","Y","Q","X","$","J","j","O","_identityCalculated","et","at","rt","tt","Z","nt","ot","K","ht","U","lt","ft","ct","transform","_identity","getInverseMatrix","applyToPointArray","isIdentity","rotate","rotateX","rotateY","rotateZ","skew","skewFromAxis","scale","setTransform","translate","multiply","applyToPoint","applyToX","applyToY","applyToZ","applyToTriplePoints","applyToPointStringified","toCSS","to2dCSS","cloneFromProps","equals","inversePoints","inversePoint","_typeof$3","setLocation","setSubframeRendering","setPrefix","setQuality","inBrowser","installPlugin","getFactory","checkReady","readyStateCheckInterval","getQueryVariable","queryString","decodeURIComponent","useWebWorker","setIDPrefix","__getFactory","version","scripts","index","myScript","bodymovin","ShapeModifiers","registerModifier","getModifier","ShapeModifier","TrimModifier","PuckerAndBloatModifier","initModifierProperties","addShapeToModifier","shape","setAsAnimated","init","processKeys","sValue","eValue","pathsData","calculateShapeEdges","releasePathsData","processShapes","totalShapeLength","addShapes","pop","addPaths","addSegment","addSegmentFromArray","amount","processPath","TransformPropertyFactory","rz","ry","rx","px","py","pz","_isDirty","precalculateMatrix","pre","appliedTransformations","autoOriented","getValueAtTime","_addDynamicProperty","applyToMatrix","autoOrient","getTransformProperty","RepeaterModifier","RoundCornersModifier","floatEqual","floatZero","lerp","lerpPoint","quadRoots","polynomialCoefficients","singlePoint","PolynomialBezier","pointEqual","extrema","intersectData","boundingBox","cx","cy","t1","t2","splitData","boxIntersect","intersectsImpl","crossProduct","lineIntersection","polarOffset","pointDistance","hypot","ZigZagModifier","setPoint","getPerpendicularVector","getProjectingAngle","zigZagCorner","zigZagSegment","normalAngle","linearOffset","offsetSegment","joinLines","tangentAngle","getIntersection","intersections","pruneSegmentIntersection","pruneIntersections","offsetSegmentSplit","inflectionPoints","OffsetPathModifier","getFontProperties","fStyle","toLowerCase","weight","fWeight","tr","so","eo","pMatrix","rMatrix","sMatrix","tMatrix","matrix","applyTransforms","arr","pos","elemsData","_currentCopies","_elements","_groups","unshift","resetElements","_processed","cloneElements","changeGroupRender","_render","ceil","ix","reloadShapes","mProps","rd","derivative","filter","bounds","right","bottom","shapeSegment","shapeSegmentInverted","amplitude","frequency","pointsType","miterLimit","ml","lineJoin","lj","FontManager","size","fontFamily","fontSize","fontVariant","fontStyle","fontWeight","letterSpacing","body","offsetWidth","node","parent","loaded","fOrigin","monoCase","sansCase","parentNode","removeChild","Date","now","initTime","checkLoadedFontsBinded","setIsLoadedBinded","fFamily","textContent","fClass","OffscreenCanvas","font","getComputedTextLength","measureText","list","forEach","helper","cache","fPath","querySelectorAll","href","rel","checkLoadedFonts","ch","charCodeAt","console","warn","_warned","getFontByName","fName","typekitLoaded","setIsLoaded","isModifier","isZeroWidthJoiner","isFlagEmoji","isRegionalCode","isCombinedCharacter","isRegionalFlag","isVariationSelector","BLACK_FLAG_CODE_POINT","getCharData","SlotManager","slotFactory","RenderableElement","slots","assign","initRenderable","isInRange","hidden","isTransparent","renderableComponents","addRenderableComponent","removeRenderableComponent","prepareRenderableFrame","checkLayerLimits","checkTransparency","finalTransform","mProp","renderConfig","hideOnTransparent","renderRenderable","sourceRectAtTime","getLayerSize","textData","getBlendMode","SliderEffect","AngleEffect","ColorEffect","PointEffect","LayerIndexEffect","MaskIndexEffect","CheckboxEffect","NoValueEffect","EffectsManager","ef","effectElements","GroupEffect","BaseElement","FrameElement","FootageElement","footageData","imageLoader","initBaseData","AudioElement","_isPlaying","_canPlay","audio","_currentTime","_volumeMultiplier","_previousVolume","_placeholder","lv","au","BaseRenderer","checkMasks","mode","layerInterface","maskManager","registerMaskInterface","createEffectsInterface","registerEffectsInterface","shapeInterface","shapesData","itemsData","content","textInterface","text","setBlendMode","bm","baseElement","layerElement","layerId","effectsManager","getType","prepareProperties","_isParent","getBaseElement","getFootageData","checkLayers","elements","buildItem","checkPendingElements","createItem","createImage","createComp","createSolid","createNull","createShape","createText","createCamera","createFootage","buildAllItems","progressiveLoad","buildElementParenting","ind","setAsParent","setHierarchy","addPendingElement","pendingElements","getElementById","setupGlobalData","animationItem","compSize","effectTypes","TRANSFORM_EFFECT","TransformElement","MaskElement","element","storedData","maskElement","viewData","solidPath","inv","prop","lastPath","expan","lastOperator","filterId","lastRadius","createLayerSolidPath","invRect","drawPath","maskedElement","initTransform","_matMdf","_localMatMdf","_opMdf","mat","localMat","localOpacity","ao","renderTransform","hierarchy","renderLocalTransform","localTransforms","opacity","searchEffectTransforms","renderableEffectsManager","getEffects","globalToLocal","mHelper","getMaskProperty","getMaskelement","filtersFactory","createFilter","createAlphaToLuminanceFilter","featureSupport","maskType","svgLumaHidden","offscreenCanvas","registeredEffects$1","idPrefix","SVGEffects","filters","effect","countsAsEffect","registerEffect$1","SVGBaseElement","HierarchyElement","RenderableDOMElement","IImageElement","initElement","sourceRect","ProcessedElement","IShapeElement","initRendererElement","createContainerElements","matteElement","transformedElement","_sizeChanged","td","matteMasks","ln","hd","renderElement","destroyBaseElement","createRenderableComponents","getMatte","setMatte","initHierarchy","checkParenting","createContent","renderInnerContent","innerElem","pr","imagePreserveAspectRatio","addShapeToModifiers","shapeModifiers","isShapeInAnimatedModifiers","isAnimatedWithShape","renderModifiers","searchProcessedElement","processedElements","addProcessedElement","lineCapEnum","lineJoinEnum","SVGShapeData","caches","styles","transformers","lStr","lvl","SVGStyleData","pElem","msElem","DashProperty","dataProps","dashStr","dashArray","dashoffset","SVGStrokeStyleData","SVGFillStyleData","SVGNoStyleData","GradientProperty","_cmdf","_omdf","_collapsable","checkCollapsable","_hasOpacity","SVGGradientFillStyleData","initGradientData","SVGGradientStrokeStyleData","ShapeGroupData","prevViewData","gr","SVGTransformData","comparePoints","stops","setGradientData","setGradientOpacity","gf","cst","lc","of","ms","ost","maskId","buildShapeString","SVGElementsRenderer","createRenderFunction","SVGShapeElement","stylesList","animatedContents","LetterProps","sw","sc","fc","TextProperty","_frameId","keysIndex","canResize","minimumFontSize","currentData","ascent","boxWidth","defaultBoxWidth","justifyOffset","lh","lineWidths","ls","sz","ps","fillColorAnim","strokeColorAnim","strokeWidthAnim","yOffset","finalSize","finalText","finalLineHeight","copyData","searchProperty","completeTextData","initSecondaryElement","identityMatrix","buildExpressionInterface","searchShapes","filterUniqueShapes","setShapesAsAnimated","createStyleElement","addToAnimatedContents","createGroupElement","createTransformElement","createShapeElement","fn","setElementStyles","renderShape","update","setCurrentData","searchKeyframes","getKeyframeValue","buildFinalText","charAt","an","add","anIndexes","val","line","animatorJustifyOffset","extra","fh","fs","fb","rn","totalChars","recalculate","canResizeFont","setMinimumFontSize","TextSelectorProp","_currentTextLength","finalS","finalE","xe","ne","sm","getMult","textProperty","getTextSelectorProp","TextAnimatorDataProperty","TextAnimatorProperty","_hasMaskedPath","_textData","_renderType","_elem","_animatorsData","_pathData","_moreOptions","alignment","renderedLetters","lettersChangedFlag","ITextElement","searchProperties","getMeasures","tLength","pi","defaultPropsArray","atan","textAnimator","renderType","createPathShape","applyTextPropertiesToMatrix","buildColor","emptyProp","validateText","buildNewText","emptyShapeData","SVGTextLottieElement","textSpans","ISolidElement","NullElement","SVGRendererBase","ICompElement","SVGCompElement","supports3d","SVGRenderer","svgElement","title","description","preserveAspectRatio","contentVisibility","viewBoxOnly","viewBoxSize","className","focusable","filterSize","runExpressions","frameNum","destroyed","ShapeTransformManager","sequences","sequenceList","transform_key_count","singleShape","textContainer","buildTextContents","String","fromCharCode","buildShapeData","span","childSpan","glyph","_debug","bbox","findIndexByInd","appendElementInPos","tp","insertBefore","setElements","getElements","destroyElements","addTransformSequence","key","transforms","processSequence","processSequences","getNewKey","lumaLoader","createCanvas","loadLumaCanvas","getLumaCanvas","registeredEffects","CVEffects","registerEffect","CVMaskElement","hasMasks","CVBaseElement","canvasContext","beginPath","moveTo","lineTo","bezierCurveTo","save","clip","operationsMap","CVShapeData","styledShapes","trNodes","CVShapeElement","transformsManager","CVTextElement","stroke","fill","currentRender","values","sWidth","fValue","CVImageElement","CVSolidElement","CanvasRendererBase","CanvasContext","strokeStyle","lineWidth","lineCap","CVContextData","stack","cArrPos","cTr","nativeContext","transformMat","currentOpacity","currentFillStyle","appliedFillStyle","currentStrokeStyle","appliedStrokeStyle","currentLineWidth","appliedLineWidth","currentLineCap","appliedLineCap","currentLineJoin","appliedLineJoin","appliedMiterLimit","currentMiterLimit","CVCompElement","CanvasRenderer","clearCanvas","context","dpr","devicePixelRatio","currentGlobalAlpha","contextData","ctxTransform","ctxOpacity","ctxFillStyle","ctxStrokeStyle","ctxLineWidth","ctxLineCap","ctxLineJoin","ctxMiterLimit","ctxFill","ctxFillRect","ctxStroke","HBaseElement","HSolidElement","HShapeElement","shapesContainer","currentBBox","HTextElement","textPaths","isMasked","HCameraElement","pe","_prevMat","HImageElement","HybridRendererBase","threeDElements","camera","HCompElement","HybridRenderer","createElements","buffers","_isProxy","transformCanvas","blendMode","globalCompositeOperation","transformEffects","hideElement","showElement","clearRect","tx","sx","prepareLayer","drawImage","currentTransform","getTransform","exitLayer","restore","transformHelper","dashResetter","preTransforms","co","wi","da","do","addTransformToStyleList","removeTransformFromStyleList","closeStyles","_shouldRender","renderShapeTransform","drawLayer","coOp","grd","setLineDash","lineDashOffset","pts","closePath","renderPath","renderFill","renderStroke","renderGradientFill","renderStyledShape","createLinearGradient","createRadialGradient","addColorStop","tHelper","globalAlpha","mozTransformOrigin","setContext","isDashed","offsetHeight","rect","duplicate","setOpacity","checkBlendMode","tg","webkitTransform","addEffects","backgroundColor","_renderShapeFrame","shapeCont","getTransformedPoint","calculateShapeBoundingBox","checkBounds","getBoundsOfCurve","shapeBoundingBox","xMax","yMax","tempBoundingBox","calculateF","calculateBoundingBox","expandStrokeBoundingBox","currentBoxContains","compW","compH","color","strokeWidth","lineHeight","children","setup","perspectiveElem","perspective","webkitPerspective","Image","imageElem","ddd","addTo3dContainer","getThreeDContainerByPos","startPos","endPos","createThreeDContainer","build3dContainers","resizerElem","overflow","_createBaseContainerElements","CompExpressionInterface","defineProperty","layer","pixelAspect","frameDuration","displayStartTime","numLayers","_typeof$2","seedRandom","entropy","int32","quick","pass","state","Uint8Array","crypto","msCrypto","getRandomValues","plugins","screen","initialize$2","propTypes","SHAPE","_typeof$1","ExpressionManager","ob","fetch","frames","_lottieGlobal","$bm_isInstanceOfArray","isNumerable","$bm_neg","easeInBez","easeOutBez","easeInOutBez","sum","sub","mul","div","mod","$bm_sum","$bm_sub","$bm_mul","$bm_div","$bm_mod","clamp","radiansToDegrees","radians_to_degrees","degreesToRadians","degrees_to_radians","helperLengthArray","normalize","rgbToHsl","hue2rgb","hslToRgb","linear","createPath","initiateExpression","property","noOp","needsVelocity","_needsRandom","elemType","$bm_transform","thisProperty","valueAtTime","inPoint","outPoint","loopIn","loop_in","loopOut","loop_out","smooth","toWorld","fromWorld","fromComp","toComp","fromCompToSurface","rotation","anchorPoint","thisLayer","thisComp","mask","velocityAtTime","scoped_bm_rt","expression_function","eval","numKeys","active","wiggle","loopInDuration","loopOutDuration","getVelocityAtTime","lookAt","easeOut","applyEase","easeIn","ease","nearestKey","framesToTime","timeToFrames","seedrandom","randSeed","substring","posterizeTime","velocity","textIndex","textTotal","selectorValue","hasParent","executeExpression","frameExpressionId","__preventDeadCodeRemoval","Expressions","pushExpression","popExpression","registerExpressionProperty","MaskManagerInterface","_mask","_data","ExpressionPropertyInterface","speedAtTime","getSpeedAtTime","propertyGroup","TransformExpressionInterface","xRotation","yRotation","xPosition","yPosition","zPosition","LayerExpressionInterface","getMatrix","applyPoint","invertPoint","toWorldVec","fromWorldVec","sampleImage","defineProperties","anchor_point","startTime","source","_name","propertyGroupFactory","PropertyInterface","EffectsExpressionInterface","mn","numProperties","np","enabled","en","setGroupProperty","ShapePathInterface","propertyIndex","ShapeExpressionInterface","cix","startPoint","endPoint","dash","end","start","offset","skewAxis","outerRadius","outerRoundness","innerRoundness","innerRadius","roundness","radius","copies","TextExpressionInterface","sourceText","fillColor","_typeof","FootageInterface","outlineInterface","dataInterface","interfaces","effects","footage","getInterface","expressionHelpers","_cachingAtTime","searchExpressions","getStaticValueAtTime","addPropertyDecorator","_transformCachingAtTime","shapeValue","lastTime","vertices","inTangents","outTangents","isClosed","pointOnPath","_segmentsLength","vectorOnPath","tangentOnPath","normalOnPath","initialize$1","addDecorator","calculateExpression","getExpressionValue","initialize","SVGComposableEffect","createMergeNode","linearFilterValue","SVGTintFilter","filterManager","linearFilter","matrixFilter","SVGFillFilter","SVGStrokeEffect","initialized","SVGTritoneFilter","feFuncR","feFuncG","feFuncB","SVGProLevelsFilter","createFeFunc","feFuncA","feFuncRComposed","feFuncGComposed","feFuncBComposed","SVGDropShadowEffect","feGaussianBlur","feOffset","feFlood","childNodes","masker","removeAttribute","pathMasker","getTotalLength","getTableValue","_svgMatteSymbols","SVGMatte3Effect","filterElem","SVGGaussianBlurEffect","TransformEffect","SVGTransformEffect","CVTransformEffect","findSymbol","replaceInParent","setElementAsMask","lottieExports","Lottie","_sfc_main","__name","required","Boolean","autoPlay","speed","emits","expose","emit","ref_key","ref"],"sourceRoot":""}