n.setAttribute( 'transform', 'translate(' + p.props[12] + ',' + p.props[13] + ')'), n.textContent = h[t].val, n.setAttributeNS( 'http://www.w3.org/XML/1998/namespace', 'xml:space', 'preserve')); d && n && n.setAttribute('d', f) } else { var _ = this.textContainer, k = 'start'; switch (s.j) { case 1: k = 'end'; break; case 2: k = 'middle'; break; default: k = 'start' } _.setAttribute('text-anchor', k), _.setAttribute('letter-spacing', g); var A = this.buildTextContents(s.finalText); for (e = A.length, c = s.ps ? s.ps[1] + s.ascent : 0, t = 0; t < e; t += 1) (n = this.textSpans[t] || x('tspan')).textContent = A[t], n.setAttribute('x', 0), n.setAttribute('y', c), n.style.display = 'inherit', _.appendChild(n), this.textSpans[t] = n, c += s.finalLineHeight; this.layerElement.appendChild(_) } for (; t < this.textSpans.length;) this.textSpans[t].style.display = 'none', t += 1; this._sizeChanged = !0 }, re.prototype.sourceRectAtTime = function() { if (this.prepareFrame(this.comp.renderedFrame - this.data.st), this.renderInnerContent(), this._sizeChanged) { this._sizeChanged = !1; var t = this.layerElement.getBBox(); this.bbox = {top: t.y, left: t.x, width: t.width, height: t.height} } return this.bbox }, re.prototype.renderInnerContent = function() { if (!this.data.singleShape && (this.textAnimator.getMeasures( this.textProperty.currentData, this.lettersChangedFlag), this.lettersChangedFlag || this.textAnimator.lettersChangedFlag)) { var t, e; this._sizeChanged = !0; var s, i, a = this.textAnimator.renderedLetters, r = this.textProperty.currentData.l; for (e = r.length, t = 0; t < e; t += 1) r[t].n || (s = a[t], i = this.textSpans[t], s._mdf.m && i.setAttribute('transform', s.m), s._mdf.o && i.setAttribute('opacity', s.o), s._mdf.sw && i.setAttribute('stroke-width', s.sw), s._mdf.sc && i.setAttribute('stroke', s.sc), s._mdf.fc && i.setAttribute('fill', s.fc)) } }, M([Jt, Rt, Zt, Qt, Lt, Vt, Nt], ne), ne.prototype.initSecondaryElement = function() {}, ne.prototype.identityMatrix = new I, ne.prototype.buildExpressionInterface = function() {}, ne.prototype.createContent = function() { this.searchShapes( this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], !0), this.filterUniqueShapes() }, ne.prototype.filterUniqueShapes = function() { var t, e, s, i, a = this.shapes.length, r = this.stylesList.length, n = [], h = !1; for (s = 0; s < r; s += 1) { for (i = this.stylesList[s], h = !1, t = n.length = 0; t < a; t += 1) -1 !== (e = this.shapes[t]).styles.indexOf(i) && (n.push(e), h = e._isAnimated || h); 1 < n.length && h && this.setShapesAsAnimated(n) } }, ne.prototype.setShapesAsAnimated = function(t) { var e, s = t.length; for (e = 0; e < s; e += 1) t[e].setAsAnimated() }, ne.prototype.createStyleElement = function(t, e) { var s, i = new qt(t, e), a = i.pElem; if ('st' === t.ty) s = new Wt(this, t, i); else if ('fl' === t.ty) s = new Xt(this, t, i); else if ('gf' === t.ty || 'gs' === t.ty) { s = new ('gf' === t.ty ? Ht : Yt)(this, t, i), this.globalData.defs.appendChild(s.gf), s.maskId && (this.globalData.defs.appendChild(s.ms), this.globalData.defs.appendChild(s.of), a.setAttribute('mask', 'url(' + A + '#' + s.maskId + ')')) } return 'st' !== t.ty && 'gs' !== t.ty || (a.setAttribute('stroke-linecap', this.lcEnum[t.lc] || 'round'), a.setAttribute('stroke-linejoin', this.ljEnum[t.lj] || 'round'), a.setAttribute('fill-opacity', '0'), 1 === t.lj && a.setAttribute('stroke-miterlimit', t.ml)), 2 === t.r && a.setAttribute('fill-rule', 'evenodd'), t.ln && a.setAttribute('id', t.ln), t.cl && a.setAttribute('class', t.cl), t.bm && (a.style['mix-blend-mode'] = E(t.bm)), this.stylesList.push(i), this.addToAnimatedContents(t, s), s }, ne.prototype.createGroupElement = function(t) { var e = new Gt; 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'] = E(t.bm)), e }, ne.prototype.createTransformElement = function(t, e) { var s = z.getTransformProperty(this, t, this), i = new jt(s, s.o, e); return this.addToAnimatedContents(t, i), i }, ne.prototype.createShapeElement = function(t, e, s) { var i = 4; 'rc' === t.ty ? i = 5 : 'el' === t.ty ? i = 6 : 'sr' === t.ty && (i = 7); var a = new Bt(e, s, H.getShapeProp(this, t, i, this)); return this.shapes.push(a), this.addShapeToModifiers(a), this.addToAnimatedContents(t, a), a }, ne.prototype.addToAnimatedContents = function(t, e) { for (var s = 0, i = this.animatedContents.length; s < i;) { if (this.animatedContents[s].element === e) return; s += 1 } this.animatedContents.push( {fn: Kt.createRenderFunction(t), element: e, data: t}) }, ne.prototype.setElementStyles = function(t) { var e, s = t.styles, i = this.stylesList.length; for (e = 0; e < i; e += 1) this.stylesList[e].closed || s.push(this.stylesList[e]) }, ne.prototype.reloadShapes = function() { var t; this._isFirstFrame = !0; var e = this.itemsData.length; for (t = 0; t < e; t += 1) this.prevViewData[t] = this.itemsData[t]; 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) this.dynamicProperties[t].getValue(); this.renderModifiers() }, ne.prototype.searchShapes = function(t, e, s, i, a, r, n) { var h, o, l, p, f, d, m = [].concat(r), c = t.length - 1, u = [], g = []; for (h = c; 0 <= h; h -= 1) { if ((d = this.searchProcessedElement(t[h])) ? e[h] = s[d - 1] : t[h]._render = n, 'fl' === t[h].ty || 'st' === t[h].ty || 'gf' === t[h].ty || 'gs' === t[h].ty) d ? e[h].style.closed = !1 : e[h] = this.createStyleElement(t[h], a), t[h]._render && i.appendChild(e[h].style.pElem), u.push(e[h].style); else if ('gr' === t[h].ty) { if (d) for (l = e[h].it.length, o = 0; o < l; o += 1) e[h].prevViewData[o] = e[h].it[o]; else e[h] = this.createGroupElement(t[h]); this.searchShapes( t[h].it, e[h].it, e[h].prevViewData, e[h].gr, a + 1, m, n), t[h]._render && i.appendChild(e[h].gr) } else 'tr' === t[h].ty ? (d || (e[h] = this.createTransformElement(t[h], i)), p = e[h].transform, m.push(p)) : 'sh' === t[h].ty || 'rc' === t[h].ty || 'el' === t[h].ty || 'sr' === t[h].ty ? (d || (e[h] = this.createShapeElement(t[h], m, a)), this.setElementStyles(e[h])) : 'tm' === t[h].ty || 'rd' === t[h].ty || 'ms' === t[h].ty || 'pb' === t[h].ty ? (d ? (f = e[h]).closed = !1 : ((f = Y.getModifier(t[h].ty)).init(this, t[h]), e[h] = f, this.shapeModifiers.push(f)), g.push(f)) : 'rp' === t[h].ty && (d ? (f = e[h]).closed = !0 : (f = Y.getModifier(t[h].ty), (e[h] = f).init(this, t, h, e), this.shapeModifiers.push(f), n = !1), g.push(f)); this.addProcessedElement(t[h], h + 1) } for (c = u.length, h = 0; h < c; h += 1) u[h].closed = !0; for (c = g.length, h = 0; h < c; h += 1) g[h].closed = !0 }, ne.prototype.renderInnerContent = function() { var t; this.renderModifiers(); var e = this.stylesList.length; for (t = 0; t < e; t += 1) this.stylesList[t].reset(); for (this.renderShape(), t = 0; t < e; t += 1) (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')) }, ne.prototype.renderShape = function() { var t, e, s = this.animatedContents.length; for (t = 0; t < s; t += 1) e = this.animatedContents[t], (this._isFirstFrame || e.element._isAnimated) && !0 !== e.data && e.fn(e.data, e.element, this._isFirstFrame) }, ne.prototype.destroy = function() { this.destroyBaseElement(), this.shapesData = null, this.itemsData = null }; var he = []; function oe() {} var le = function() { var t = {}, a = [], i = 0, r = 0, n = 0, h = !0, o = !1; function s(t) { for (var e = 0, s = t.target; e < r;) a[e].animation === s && (a.splice(e, 1), e -= 1, r -= 1, s.isPaused || f()), e += 1 } function l(t, e) { if (!t) return null; for (var s = 0; s < r;) { if (a[s].elem === t && null !== a[s].elem) return a[s].animation; s += 1 } var i = new pe; return d(i, t), i.setData(t, e), i } function p() { n += 1, c() } function f() { n -= 1 } function d(t, e) { t.addEventListener('destroy', s), t.addEventListener('_active', p), t.addEventListener('_idle', f), a.push({elem: e, animation: t}), r += 1 } function m(t) { var e, s = t - i; for (e = 0; e < r; e += 1) a[e].animation.advanceTime(s); i = t, n && !o ? window.requestAnimationFrame(m) : h = !0 } function e(t) { i = t, window.requestAnimationFrame(m) } function c() { !o && n && h && (window.requestAnimationFrame(e), h = !1) } return t.registerAnimation = l, t.loadAnimation = function(t) { var e = new pe; return d(e, null), e.setParams(t), e }, t.setSpeed = function(t, e) { var s; for (s = 0; s < r; s += 1) a[s].animation.setSpeed(t, e) }, t.setDirection = function(t, e) { var s; for (s = 0; s < r; s += 1) a[s].animation.setDirection(t, e) }, t.play = function(t) { var e; for (e = 0; e < r; e += 1) a[e].animation.play(t) }, t.pause = function(t) { var e; for (e = 0; e < r; e += 1) a[e].animation.pause(t) }, t.stop = function(t) { var e; for (e = 0; e < r; e += 1) a[e].animation.stop(t) }, t.togglePause = function(t) { var e; for (e = 0; e < r; e += 1) a[e].animation.togglePause(t) }, t.searchAnimations = function(t, e, s) { var i, a = [].concat( [].slice.call(document.getElementsByClassName('lottie')), [].slice.call(document.getElementsByClassName('bodymovin'))), r = a.length; for (i = 0; i < r; i += 1) s && a[i].setAttribute('data-bm-type', s), l(a[i], t); if (e && 0 === r) { s || (s = 'svg'); var n = document.getElementsByTagName('body')[0]; n.innerText = ''; var h = w('div'); h.style.width = '100%', h.style.height = '100%', h.setAttribute('data-bm-type', s), n.appendChild(h), l(h, t) } }, t.resize = function() { var t; for (t = 0; t < r; t += 1) a[t].animation.resize() }, t.goToAndStop = function(t, e, s) { var i; for (i = 0; i < r; i += 1) a[i].animation.goToAndStop(t, e, s) }, t.destroy = function(t) { var e; for (e = r - 1; 0 <= e; e -= 1) a[e].animation.destroy(t) }, t.freeze = function() { o = !0 }, t.unfreeze = function() { o = !1, c() }, t.setVolume = function(t, e) { var s; for (s = 0; s < r; s += 1) a[s].animation.setVolume(t, e) }, t.mute = function(t) { var e; for (e = 0; e < r; e += 1) a[e].animation.mute(t) }, t.unmute = function(t) { var e; for (e = 0; e < r; e += 1) a[e].animation.unmute(t) }, t.getRegisteredAnimations = function() { var t, e = a.length, s = []; for (t = 0; t < e; t += 1) s.push(a[t].animation); return s }, t }(), pe = function() { 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 = S(), this.assetsPath = '', this.timeCompleted = 0, this.segmentPos = 0, this.isSubframeEnabled = i, this.segments = [], this._idle = !0, this._completedLoop = !1, this.projectInterface = {}, this.imagePreloader = new rt, this.audioController = at(), this.markers = [] }; function fe() { this.effectElements = [] } M([C], pe), pe.prototype.setParams = function(t) { (t.wrapper || t.container) && (this.wrapper = t.wrapper || t.container); var e = 'svg'; switch (t.animType ? e = t.animType : t.renderer && (e = t.renderer), e) { case 'canvas': this.renderer = new CanvasRenderer(this, t.rendererSettings); break; case 'svg': this.renderer = new Mt(this, t.rendererSettings); break; default: this.renderer = new HybridRenderer(this, t.rendererSettings) } this.imagePreloader.setCacheType(e, this.renderer.globalData.defs), this.renderer.setProjectInterface(this.projectInterface), this.animType = e, '' === t.loop || null === t.loop || void 0 === t.loop || !0 === t.loop ? this.loop = !0 : !1 === t.loop ? this.loop = !1 : this.loop = parseInt(t.loop, 10), this.autoplay = !('autoplay' in t) || t.autoplay, this.name = t.name ? t.name : '', this.autoloadSegments = !Object.prototype.hasOwnProperty.call(t, 'autoloadSegments') || t.autoloadSegments, this.assetsPath = t.assetsPath, this.initialSegment = t.initialSegment, t.audioFactory && this.audioController.setAudioFactory(t.audioFactory), t.animationData ? this.configAnimation(t.animationData) : t.path && (-1 !== t.path.lastIndexOf('\\') ? 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')), ot.load(t.path, this.configAnimation.bind(this), function() { this.trigger('data_failed') }.bind(this))) }, pe.prototype.setData = function(t, e) { e && 'object' != typeof e && (e = JSON.parse(e)); var s = {wrapper: t, animationData: e}, i = t.attributes; s.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 : '', s.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 : 'canvas'; var a = 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 : ''; 'false' === a ? s.loop = !1 : 'true' === a ? s.loop = !0 : '' !== a && (s.loop = parseInt(a, 10)); var r = 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; s.autoplay = 'false' !== r, s.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 : '', 'false' === (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 : '') && (s.prerender = !1), this.setParams(s) }, pe.prototype.includeLayers = function(t) { t.op > this.animationData.op && (this.animationData.op = t.op, this.totalFrames = Math.floor(t.op - this.animationData.ip)); var e, s, i = this.animationData.layers, a = i.length, r = t.layers, n = r.length; for (s = 0; s < n; s += 1) for (e = 0; e < a;) { if (i[e].id === r[s].id) { i[e] = r[s]; break } e += 1 } 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) for (a = t.assets.length, e = 0; e < a; e += 1) this.animationData.assets.push(t.assets[e]); this.animationData.__complete = !1, L.completeData(this.animationData, this.renderer.globalData.fontManager), this.renderer.includeLayers(t.layers), h && h.initExpressions(this), this.loadNextSegment() }, pe.prototype.loadNextSegment = function() { var t = this.animationData.segments; if (!t || 0 === t.length || !this.autoloadSegments) return this.trigger('data_ready'), void (this.timeCompleted = this.totalFrames); var e = t.shift(); this.timeCompleted = e.time * this.frameRate; var s = this.path + this.fileName + '_' + this.segmentPos + '.json'; this.segmentPos += 1, ot.load(s, this.includeLayers.bind(this), function() { this.trigger('data_failed') }.bind(this)) }, pe.prototype.loadSegments = function() { this.animationData.segments || (this.timeCompleted = this.totalFrames), this.loadNextSegment() }, pe.prototype.imagesLoaded = function() { this.trigger('loaded_images'), this.checkLoaded() }, pe.prototype.preloadImages = function() { this.imagePreloader.setAssetsPath(this.assetsPath), this.imagePreloader.setPath(this.path), this.imagePreloader.loadAssets( this.animationData.assets, this.imagesLoaded.bind(this)) }, pe.prototype.configAnimation = function(t) { if (this.renderer) try { 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 = Tt(t.markers || []), this.trigger('config_ready'), this.preloadImages(), this.loadSegments(), this.updaFrameModifier(), this.waitForFontsLoaded(), this.isPaused && this.audioController.pause() } catch (t) { this.triggerConfigError(t) } }, pe.prototype.waitForFontsLoaded = function() { this.renderer && (this.renderer.globalData.fontManager.isLoaded ? this.checkLoaded() : setTimeout(this.waitForFontsLoaded.bind(this), 20)) }, pe.prototype.checkLoaded = function() { !this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || 'canvas' !== this.renderer.rendererType) && this.imagePreloader.loadedFootages() && (this.isLoaded = !0, L.completeData( this.animationData, this.renderer.globalData.fontManager), h && h.initExpressions(this), this.renderer.initItems(), setTimeout(function() { this.trigger('DOMLoaded') }.bind(this), 0), this.gotoFrame(), this.autoplay && this.play()) }, pe.prototype.resize = function() { this.renderer.updateContainerSize() }, pe.prototype.setSubframe = function(t) { this.isSubframeEnabled = !!t }, pe.prototype.gotoFrame = function() { 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() }, pe.prototype.renderFrame = function() { if (!1 !== this.isLoaded && this.renderer) try { this.renderer.renderFrame(this.currentFrame + this.firstFrame) } catch (t) { this.triggerRenderFrameError(t) } }, pe.prototype.play = function(t) { t && this.name !== t || !0 === this.isPaused && (this.isPaused = !1, this.audioController.resume(), this._idle && (this._idle = !1, this.trigger('_active'))) }, pe.prototype.pause = function(t) { t && this.name !== t || !1 === this.isPaused && (this.isPaused = !0, this._idle = !0, this.trigger('_idle'), this.audioController.pause()) }, pe.prototype.togglePause = function(t) { t && this.name !== t || (!0 === this.isPaused ? this.play() : this.pause()) }, pe.prototype.stop = function(t) { t && this.name !== t || (this.pause(), this.playCount = 0, this._completedLoop = !1, this.setCurrentRawFrameValue(0)) }, pe.prototype.getMarkerData = function(t) { for (var e, s = 0; s < this.markers.length; s += 1) if ((e = this.markers[s]).payload && e.payload.name === t) return e; return null }, pe.prototype.goToAndStop = function(t, e, s) { if (!s || this.name === s) { var i = Number(t); if (isNaN(i)) { var a = this.getMarkerData(t); a && this.goToAndStop(a.time, !0) } else e ? this.setCurrentRawFrameValue(t) : this.setCurrentRawFrameValue(t * this.frameModifier); this.pause() } }, pe.prototype.goToAndPlay = function(t, e, s) { if (!s || this.name === s) { var i = Number(t); if (isNaN(i)) { var a = this.getMarkerData(t); a && (a.duration ? this.playSegments([a.time, a.time + a.duration], !0) : this.goToAndStop(a.time, !0)) } else this.goToAndStop(i, e, s); this.play() } }, pe.prototype.advanceTime = function(t) { if (!0 !== this.isPaused && !1 !== this.isLoaded) { var e = this.currentRawFrame + t * this.frameModifier, s = !1; e >= this.totalFrames - 1 && 0 < this.frameModifier ? this.loop && this.playCount !== this.loop ? 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) : this.checkSegments(e > this.totalFrames ? e % this.totalFrames : 0) || (s = !0, e = this.totalFrames - 1) : e < 0 ? this.checkSegments(e % this.totalFrames) || (!this.loop || this.playCount-- <= 0 && !0 !== this.loop ? (s = !0, e = 0) : (this.setCurrentRawFrameValue( this.totalFrames + e % this.totalFrames), this._completedLoop ? this.trigger('loopComplete') : this._completedLoop = !0)) : this.setCurrentRawFrameValue(e), s && (this.setCurrentRawFrameValue(e), this.pause(), this.trigger('complete')) } }, pe.prototype.adjustSegment = function(t, e) { this.playCount = 0, t[1] < t[0] ? (0 < this.frameModifier && (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 - .001 - 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(.001 + e)), this.trigger('segmentStart') }, pe.prototype.setSegment = function(t, e) { var s = -1; this.isPaused && (this.currentRawFrame + this.firstFrame < t ? s = t : this.currentRawFrame + this.firstFrame > e && (s = e - t)), this.firstFrame = t, this.totalFrames = e - t, this.timeCompleted = this.totalFrames, -1 !== s && this.goToAndStop(s, !0) }, pe.prototype.playSegments = function(t, e) { if (e && (this.segments.length = 0), 'object' == typeof t[0]) { var s, i = t.length; for (s = 0; s < i; s += 1) this.segments.push(t[s]) } else this.segments.push(t); this.segments.length && e && this.adjustSegment(this.segments.shift(), 0), this.isPaused && this.play() }, pe.prototype.resetSegments = function(t) { this.segments.length = 0, this.segments.push([this.animationData.ip, this.animationData.op]), t && this.checkSegments(0) }, pe.prototype.checkSegments = function(t) { return !!this.segments.length && (this.adjustSegment(this.segments.shift(), t), !0) }, pe.prototype.destroy = function(t) { 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.renderer = null, this.imagePreloader = null, this.projectInterface = null) }, pe.prototype.setCurrentRawFrameValue = function(t) { this.currentRawFrame = t, this.gotoFrame() }, pe.prototype.setSpeed = function(t) { this.playSpeed = t, this.updaFrameModifier() }, pe.prototype.setDirection = function(t) { this.playDirection = t < 0 ? -1 : 1, this.updaFrameModifier() }, pe.prototype.setVolume = function(t, e) { e && this.name !== e || this.audioController.setVolume(t) }, pe.prototype.getVolume = function() { return this.audioController.getVolume() }, pe.prototype.mute = function(t) { t && this.name !== t || this.audioController.mute() }, pe.prototype.unmute = function(t) { t && this.name !== t || this.audioController.unmute() }, pe.prototype.updaFrameModifier = function() { this.frameModifier = this.frameMult * this.playSpeed * this.playDirection, this.audioController.setRate(this.playSpeed * this.playDirection) }, pe.prototype.getPath = function() { return this.path }, pe.prototype.getAssetsPath = function(t) { var e = ''; if (t.e) e = t.p; else if (this.assetsPath) { var s = t.p; -1 !== s.indexOf('images/') && (s = s.split('/')[1]), e = this.assetsPath + s } else e = this.path, e += t.u ? t.u : '', e += t.p; return e }, pe.prototype.getAssetData = function(t) { for (var e = 0, s = this.assets.length; e < s;) { if (t === this.assets[e].id) return this.assets[e]; e += 1 } return null }, pe.prototype.hide = function() { this.renderer.hide() }, pe.prototype.show = function() { this.renderer.show() }, pe.prototype.getDuration = function(t) { return t ? this.totalFrames : this.totalFrames / this.frameRate }, pe.prototype.trigger = function(t) { if (this._cbs && this._cbs[t]) switch (t) { case 'enterFrame': this.triggerEvent( t, new o( t, this.currentFrame, this.totalFrames, this.frameModifier)); break; case 'loopComplete': this.triggerEvent( t, new p(t, this.loop, this.playCount, this.frameMult)); break; case 'complete': this.triggerEvent(t, new l(t, this.frameMult)); break; case 'segmentStart': this.triggerEvent(t, new m(t, this.firstFrame, this.totalFrames)); break; case 'destroy': this.triggerEvent(t, new c(t, this)); break; default: this.triggerEvent(t) } 'enterFrame' === t && this.onEnterFrame && this.onEnterFrame.call( this, new o(t, this.currentFrame, this.totalFrames, this.frameMult)), 'loopComplete' === t && this.onLoopComplete && this.onLoopComplete.call( this, new p(t, this.loop, this.playCount, this.frameMult)), 'complete' === t && this.onComplete && this.onComplete.call(this, new l(t, this.frameMult)), 'segmentStart' === t && this.onSegmentStart && this.onSegmentStart.call( this, new m(t, this.firstFrame, this.totalFrames)), 'destroy' === t && this.onDestroy && this.onDestroy.call(this, new c(t, this)) }, pe.prototype.triggerRenderFrameError = function(t) { var e = new u(t, this.currentFrame); this.triggerEvent('error', e), this.onError && this.onError.call(this, e) }, pe.prototype.triggerConfigError = function(t) { var e = new g(t, this.currentFrame); this.triggerEvent('error', e), this.onError && this.onError.call(this, e) }; var lottie = {}; function de() { !0 === ce ? le.searchAnimations(ue, ce, ge) : le.searchAnimations() } lottie.play = le.play, lottie.pause = le.pause, lottie.setLocationHref = function(t) { A = t }, lottie.togglePause = le.togglePause, lottie.setSpeed = le.setSpeed, lottie.setDirection = le.setDirection, lottie.stop = le.stop, lottie.searchAnimations = de, lottie.registerAnimation = le.registerAnimation, lottie.loadAnimation = function(t) { return !0 === ce && (t.animationData = JSON.parse(ue)), le.loadAnimation(t) }, lottie.setSubframeRendering = function(t) { i = t }, lottie.resize = le.resize, lottie.goToAndStop = le.goToAndStop, lottie.destroy = le.destroy, lottie.setQuality = function(t) { if ('string' == typeof t) switch (t) { case 'high': P = 200; break; default: case 'medium': P = 50; break; case 'low': P = 10 } else !isNaN(t) && 1 < t && (P = t); r(!(50 <= P)) }, lottie.inBrowser = function() { return 'undefined' != typeof navigator }, lottie.installPlugin = function(t, e) { 'expressions' === t && (h = e) }, lottie.freeze = le.freeze, lottie.unfreeze = le.unfreeze, lottie.setVolume = le.setVolume, lottie.mute = le.mute, lottie.unmute = le.unmute, lottie.getRegisteredAnimations = le.getRegisteredAnimations, lottie.__getFactory = function(t) { switch (t) { case 'propertyFactory': return R; case 'shapePropertyFactory': return H; case 'matrix': return I; default: return null } }, lottie.version = '5.7.8'; var me, ce = '__[STANDALONE]__', ue = '__[ANIMATIONDATA]__', ge = ''; if (ce) { var ye = document.getElementsByTagName('script'), ve = ye[ye.length - 1] || {src: ''}; me = ve.src.replace(/^[^\?]+\??/, ''), ge = function(t) { for (var e = me.split('&'), s = 0; s < e.length; s += 1) { var i = e[s].split('='); if (decodeURIComponent(i[0]) == t) return decodeURIComponent(i[1]) } return null }('renderer') } var be = setInterval(function() { 'complete' === document.readyState && (clearInterval(be), de()) }, 100); return lottie; }));Ә